Advertisement
Liusad

Noita beta update diff 20210218

Feb 18th, 2021
1,058
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 85.60 KB | None | 0 0
  1. HOW TO READ:
  2.  
  3. FILE CHANGED =>     +++ b/biome/rainforest_dark.xml
  4.                          @@ -7,7 +7,7 @@
  5.                          background_edge_right="data/weather_gfx/edges/background_rainforest_dark_right.png"
  6.                          background_edge_top="data/weather_gfx/edges/background_rainforest_dark_top.png"
  7.                          background_edge_bottom="data/weather_gfx/edges/background_rainforest_dark_bottom.png"
  8. REMOVED CODE        => -    background_edge_priority="10"  
  9. NEW OR CHANGED CODE => +    background_edge_priority="9"  
  10.                          limit_background_image="0"
  11.  
  12.                          wang_template_file="data/wang_tiles/rainforest_dark.png"
  13.  
  14. -------------------------------------------------------------------------------------------
  15.  
  16. Actual changes below:
  17.  
  18. diff --git a/biome/_pixel_scenes.xml b/biome/_pixel_scenes.xml
  19. index 41fba28..49fc44a 100644
  20. --- a/biome/_pixel_scenes.xml
  21. +++ b/biome/_pixel_scenes.xml
  22. @@ -123,6 +123,12 @@
  23.         <PixelScene DEBUG_RELOAD_ME="0" background_filename="" clean_area_before="0" colors_filename="data/biome_impl/overworld/snowy_ruins_eye_pillar_visual.png" material_filename="data/biome_impl/overworld/snowy_ruins_eye_pillar.png" pos_x="-2446" pos_y="-223" skip_biome_checks="1" skip_edge_textures="1" >
  24.         </PixelScene>
  25.  
  26. +       <PixelScene DEBUG_RELOAD_ME="0" background_filename="" clean_area_before="0" colors_filename="" material_filename="data/biome_impl/rainbow_cloud.png" pos_x="-14059" pos_y="-2851" skip_biome_checks="1" skip_edge_textures="0" >
  27. +       </PixelScene>
  28. +      
  29. +       <PixelScene DEBUG_RELOAD_ME="0" background_filename="" clean_area_before="0" colors_filename="data/biome_impl/overworld/cliff_visual.png" material_filename="data/biome_impl/overworld/cliff.png" pos_x="-12400" pos_y="-400" skip_biome_checks="1" skip_edge_textures="0" >
  30. +       </PixelScene>
  31. +
  32.         <!-- just load an entity -->
  33.        
  34.         <!-- music machines have copies on both directly adjacent parallel worlds -->
  35. @@ -150,7 +156,6 @@
  36.         <PixelScene pos_x="-1695" pos_y="-1205" just_load_an_entity="data/entities/props/physics_fungus_small.xml" />
  37.        
  38.         <PixelScene pos_x="3608" pos_y="934" just_load_an_entity="data/entities/props/physics/bridge_spawner.xml" />
  39. -      
  40.         <PixelScene pos_x="-9980" pos_y="-30" just_load_an_entity="data/entities/props/physics/bridge_spawner.xml" />
  41.        
  42.         <PixelScene pos_x="-6884" pos_y="-165" just_load_an_entity="data/entities/props/physics_protective_armour.xml" />
  43. @@ -160,28 +165,33 @@
  44.         <PixelScene pos_x="-12441" pos_y="190" just_load_an_entity="data/entities/buildings/hut_check.xml" />
  45.        
  46.         <PixelScene pos_x="9990" pos_y="-1320" just_load_an_entity="data/entities/misc/platform_wide.xml" />
  47. -      
  48.         <PixelScene pos_x="9990" pos_y="-1576" just_load_an_entity="data/entities/misc/platform_wide.xml" />
  49. -      
  50.         <PixelScene pos_x="9990" pos_y="-1832" just_load_an_entity="data/entities/misc/platform_wide.xml" />
  51. -      
  52.         <PixelScene pos_x="9990" pos_y="-2088" just_load_an_entity="data/entities/misc/platform_wide.xml" />
  53. -      
  54.         <PixelScene pos_x="9990" pos_y="-2344" just_load_an_entity="data/entities/misc/platform_wide.xml" />
  55. -      
  56.         <PixelScene pos_x="9990" pos_y="-2600" just_load_an_entity="data/entities/misc/platform_wide.xml" />
  57. -      
  58.         <PixelScene pos_x="9990" pos_y="-2856" just_load_an_entity="data/entities/misc/platform_wide.xml" />
  59. -      
  60.         <PixelScene pos_x="9990" pos_y="-3112" just_load_an_entity="data/entities/misc/platform_wide.xml" />
  61. -      
  62.         <PixelScene pos_x="9990" pos_y="-3368" just_load_an_entity="data/entities/misc/platform_wide.xml" />
  63. -      
  64.         <PixelScene pos_x="9990" pos_y="-3624" just_load_an_entity="data/entities/misc/platform_wide.xml" />
  65. -      
  66.         <PixelScene pos_x="9990" pos_y="-3880" just_load_an_entity="data/entities/misc/platform_wide.xml" />
  67. -      
  68.         <PixelScene pos_x="9990" pos_y="-4136" just_load_an_entity="data/entities/misc/platform_wide.xml" />
  69. +      
  70. +       <PixelScene pos_x="-12180" pos_y="-540" just_load_an_entity="data/entities/misc/platform_wide.xml" />
  71. +       <PixelScene pos_x="-12180" pos_y="-796" just_load_an_entity="data/entities/misc/platform_wide.xml" />
  72. +       <PixelScene pos_x="-12180" pos_y="-1052" just_load_an_entity="data/entities/misc/platform_wide.xml" />
  73. +       <PixelScene pos_x="-12180" pos_y="-1308" just_load_an_entity="data/entities/misc/platform_wide.xml" />
  74. +       <PixelScene pos_x="-12180" pos_y="-1564" just_load_an_entity="data/entities/misc/platform_wide.xml" />
  75. +       <PixelScene pos_x="-12180" pos_y="-1820" just_load_an_entity="data/entities/misc/platform_wide.xml" />
  76. +       <PixelScene pos_x="-12180" pos_y="-2076" just_load_an_entity="data/entities/misc/platform_wide.xml" />
  77. +       <PixelScene pos_x="-12180" pos_y="-2332" just_load_an_entity="data/entities/misc/platform_wide.xml" />
  78. +       <PixelScene pos_x="-12180" pos_y="-2588" just_load_an_entity="data/entities/misc/platform_wide.xml" />
  79. +       <PixelScene pos_x="-12180" pos_y="-2844" just_load_an_entity="data/entities/misc/platform_wide.xml" />
  80. +       <PixelScene pos_x="-12180" pos_y="-3100" just_load_an_entity="data/entities/misc/platform_wide.xml" />
  81. +       <PixelScene pos_x="-12180" pos_y="-3356" just_load_an_entity="data/entities/misc/platform_wide.xml" />
  82. +       <PixelScene pos_x="-12180" pos_y="-3612" just_load_an_entity="data/entities/misc/platform_wide.xml" />
  83. +       <PixelScene pos_x="-12180" pos_y="-3868" just_load_an_entity="data/entities/misc/platform_wide.xml" />
  84. +       <PixelScene pos_x="-12180" pos_y="-4124" just_load_an_entity="data/entities/misc/platform_wide.xml" />
  85.  
  86.     </mBufferedPixelScenes>
  87.  </PixelScenes>
  88. diff --git a/biome/winter_caves.xml b/biome/winter_caves.xml
  89. index 98e3d3a..599ca42 100644
  90. --- a/biome/winter_caves.xml
  91. +++ b/biome/winter_caves.xml
  92. @@ -1,6 +1,6 @@
  93.  <Biome>
  94.    <Topology
  95. -    name="$biome_coalmine"
  96. +    name="$biome_winter_caves"
  97.      type="BIOME_WANG_TILE"
  98.      background_image="data/weather_gfx/background_cave_04_alt.png"
  99.      background_edge_left="data/weather_gfx/edges/background_cave_04_alt_left.png"
  100. diff --git a/biome_impl/coalmine/wandtrap_h_02.png b/biome_impl/coalmine/wandtrap_h_02.png
  101. index e684f7f..362fb37 100644
  102. Binary files a/biome_impl/coalmine/wandtrap_h_02.png and b/biome_impl/coalmine/wandtrap_h_02.png differ
  103. diff --git a/biome_impl/coalmine/wandtrap_h_04.png b/biome_impl/coalmine/wandtrap_h_04.png
  104. index e32f821..2a333fe 100644
  105. Binary files a/biome_impl/coalmine/wandtrap_h_04.png and b/biome_impl/coalmine/wandtrap_h_04.png differ
  106. diff --git a/biome_impl/coalmine/wandtrap_h_07.png b/biome_impl/coalmine/wandtrap_h_07.png
  107. index d073a47..8588c89 100644
  108. Binary files a/biome_impl/coalmine/wandtrap_h_07.png and b/biome_impl/coalmine/wandtrap_h_07.png differ
  109. diff --git a/biome_impl/overworld/snowy_ruins_eye_pillar.png b/biome_impl/overworld/snowy_ruins_eye_pillar.png
  110. index b6ef1a2..6101520 100644
  111. Binary files a/biome_impl/overworld/snowy_ruins_eye_pillar.png and b/biome_impl/overworld/snowy_ruins_eye_pillar.png differ
  112. diff --git a/biome_impl/overworld/snowy_ruins_eye_pillar_visual.png b/biome_impl/overworld/snowy_ruins_eye_pillar_visual.png
  113. index f78a0ff..a5abc8d 100644
  114. Binary files a/biome_impl/overworld/snowy_ruins_eye_pillar_visual.png and b/biome_impl/overworld/snowy_ruins_eye_pillar_visual.png differ
  115. diff --git a/entities/_debug/debug_menu.lua b/entities/_debug/debug_menu.lua
  116. index 9322827..a296d40 100644
  117. --- a/entities/_debug/debug_menu.lua
  118. +++ b/entities/_debug/debug_menu.lua
  119. @@ -385,6 +385,14 @@ main_menu_items =
  120.             ConvertMaterialOnAreaInstantly( x-dim, y-dim, dim*2, dim*2, from, to, true, true )
  121.         end,
  122.     },
  123. +   {
  124. +       ui_name="Test GameShootProjectile bug",
  125. +       action = function()
  126. +           local x,y = GameGetCameraPos()
  127. +           local e = EntityLoad( "data/entities/items/pickup/goldnugget_200.xml" )
  128. +           GameShootProjectile( 0, x, y, 0, 0, e, false )
  129. +       end
  130. +   },
  131.     {
  132.         ui_name="Close",
  133.         action = function() destroy = true end,
  134. diff --git a/entities/animals/apparition/playerghost.xml b/entities/animals/apparition/playerghost.xml
  135. index 4d089a7..bca3e8f 100644
  136. --- a/entities/animals/apparition/playerghost.xml
  137. +++ b/entities/animals/apparition/playerghost.xml
  138. @@ -1,4 +1,4 @@
  139. -<Entity name="$animal_playerghost">
  140. +<Entity tags="glue_NOT" name="$animal_playerghost">
  141.     <!-- NOTE! This is the file for the spawned ghost that has an old wand -->
  142.     <!-- the other playerghost.xml is used as a polymorph target -->
  143.    
  144. diff --git a/entities/animals/bloodcrystal_physics.xml b/entities/animals/bloodcrystal_physics.xml
  145. index 7b64202..d4d6fe2 100644
  146. --- a/entities/animals/bloodcrystal_physics.xml
  147. +++ b/entities/animals/bloodcrystal_physics.xml
  148. @@ -1,4 +1,4 @@
  149. -<Entity name="$animal_bloodcrystal_physics" >
  150. +<Entity tags="glue_NOT" name="$animal_bloodcrystal_physics" >
  151.    
  152.    <PhysicsAIComponent
  153.         target_vec_max_len="20.0"
  154. diff --git a/entities/animals/boss_alchemist/boss_alchemist.xml b/entities/animals/boss_alchemist/boss_alchemist.xml
  155. index db1cb66..1ac6f02 100644
  156. --- a/entities/animals/boss_alchemist/boss_alchemist.xml
  157. +++ b/entities/animals/boss_alchemist/boss_alchemist.xml
  158. @@ -1,4 +1,4 @@
  159. -<Entity name="$animal_boss_alchemist" tags="touchmagic_immunity,polymorphable_NOT,boss,miniboss,music_energy_100,necrobot_NOT">
  160. +<Entity name="$animal_boss_alchemist" tags="touchmagic_immunity,polymorphable_NOT,boss,miniboss,music_energy_100,necrobot_NOT,glue_NOT">
  161.    
  162.     <Base file="data/entities/base_enemy_basic.xml" >
  163.         <ItemChestComponent level="2" > </ItemChestComponent>
  164. diff --git a/entities/animals/boss_book/book_physics.xml b/entities/animals/boss_book/book_physics.xml
  165. index 557cceb..473d997 100644
  166. --- a/entities/animals/boss_book/book_physics.xml
  167. +++ b/entities/animals/boss_book/book_physics.xml
  168. @@ -1,4 +1,4 @@
  169. -<Entity  >
  170. +<Entity tags="glue_NOT" >
  171.    
  172.     <PhysicsAIComponent
  173.         target_vec_max_len="15.0"
  174. diff --git a/entities/animals/boss_centipede/boss_centipede.xml b/entities/animals/boss_centipede/boss_centipede.xml
  175. index 8e2cc37..bc8325d 100644
  176. --- a/entities/animals/boss_centipede/boss_centipede.xml
  177. +++ b/entities/animals/boss_centipede/boss_centipede.xml
  178. @@ -1,4 +1,4 @@
  179. -<Entity tags="enemy,mortal,hittable,homing_target,teleportable_NOT,sampo_or_boss,boss_centipede,polymorphable_NOT,boss,necrobot_NOT" name="$animal_boss_centipede">   
  180. +<Entity tags="enemy,mortal,hittable,homing_target,teleportable_NOT,sampo_or_boss,boss_centipede,polymorphable_NOT,boss,necrobot_NOT,glue_NOT" name="$animal_boss_centipede">  
  181.     <ItemChestComponent level="4" enemy_drop="1" > </ItemChestComponent>
  182.  
  183.     <!-- keeps the streaming alive -->
  184. diff --git a/entities/animals/boss_centipede/boss_centipede_minion.xml b/entities/animals/boss_centipede/boss_centipede_minion.xml
  185. index 209674a..3bc1061 100644
  186. --- a/entities/animals/boss_centipede/boss_centipede_minion.xml
  187. +++ b/entities/animals/boss_centipede/boss_centipede_minion.xml
  188. @@ -1,4 +1,4 @@
  189. -<Entity tags="boss_centipede_minion" name="$animal_boss_centipede_minion" >
  190. +<Entity tags="boss_centipede_minion,glue_NOT" name="$animal_boss_centipede_minion" >
  191.  
  192.     <VariableStorageComponent
  193.         _tags="no_gold_drop">
  194. diff --git a/entities/animals/boss_centipede/ending/sampo_start_ending_sequence.lua b/entities/animals/boss_centipede/ending/sampo_start_ending_sequence.lua
  195. index a043697..744cd11 100644
  196. --- a/entities/animals/boss_centipede/ending/sampo_start_ending_sequence.lua
  197. +++ b/entities/animals/boss_centipede/ending/sampo_start_ending_sequence.lua
  198. @@ -46,7 +46,7 @@ if essence_1 and essence_2 and essence_3 and essence_4 then
  199.  end
  200.  
  201.  local newgame_orbs_required = 5 + newgame_n
  202. -if( orb_count ~= 33
  203. +if( orb_count < 33
  204.     and
  205.     ( ( orb_count > ORB_COUNT_IN_WORLD and newgame_orbs_required >= ORB_COUNT_IN_WORLD and orb_count >= newgame_orbs_required ) or
  206.      ( orb_count >= newgame_orbs_required and orb_count < ORB_COUNT_IN_WORLD ) ) ) then
  207. @@ -93,7 +93,7 @@ if( doing_newgame_plus == false ) then
  208.  
  209.     print(tostring(endpoint_underground))
  210.  
  211. -   if( orb_count == 33 ) then
  212. +   if( orb_count >= 33 ) then
  213.         -- ORBS >= 33 ENDINGs
  214.         -- on top -> new game+
  215.         AddFlagPersistent( "secret_amulet" )
  216. diff --git a/entities/animals/boss_centipede/sampo_init.lua b/entities/animals/boss_centipede/sampo_init.lua
  217. index 063410e..358661f 100644
  218. --- a/entities/animals/boss_centipede/sampo_init.lua
  219. +++ b/entities/animals/boss_centipede/sampo_init.lua
  220. @@ -10,7 +10,10 @@ if( orb_count > MAX_ORB_NAMES ) then orb_count = MAX_ORB_NAMES end
  221.  local orb_name = "$item_mcguffin_" .. tostring(orb_count)
  222.  local orb_desc = "$itemdesc_mcguffin_" .. tostring(orb_count)
  223.  
  224. -
  225. +if( GameGetOrbCountThisRun() > 33 ) then
  226. +   orb_name = "$item_mcguffin_33"
  227. +   orb_desc = "$itemdesc_mcguffin_33"
  228. +end
  229.  
  230.  local item_component = EntityGetFirstComponent( entity_id, "ItemComponent" )
  231.  if( item_component ~= nil ) then
  232. diff --git a/entities/animals/boss_dragon.xml b/entities/animals/boss_dragon.xml
  233. index e4be249..96a7db8 100644
  234. --- a/entities/animals/boss_dragon.xml
  235. +++ b/entities/animals/boss_dragon.xml
  236. @@ -1,5 +1,5 @@
  237.  <Entity
  238. -   tags="enemy,mortal,hittable,teleportable_NOT,boss_dragon,homing_target" name="$animal_boss_dragon">
  239. +   tags="enemy,mortal,hittable,teleportable_NOT,boss_dragon,homing_target,glue_NOT" name="$animal_boss_dragon">
  240.  
  241.     <_Transform
  242.         position.x="0"
  243. diff --git a/entities/animals/boss_gate/gate_monster_a.xml b/entities/animals/boss_gate/gate_monster_a.xml
  244. index 86046f3..a05984d 100644
  245. --- a/entities/animals/boss_gate/gate_monster_a.xml
  246. +++ b/entities/animals/boss_gate/gate_monster_a.xml
  247. @@ -1,4 +1,4 @@
  248. -<Entity name="$animal_gate_monster_a" tags="gate_monster,necrobot_NOT" >
  249. +<Entity name="$animal_gate_monster_a" tags="gate_monster,necrobot_NOT,glue_NOT" >
  250.  
  251.     <PhysicsAIComponent
  252.         target_vec_max_len="15.0"
  253. diff --git a/entities/animals/boss_ghost/boss_ghost.xml b/entities/animals/boss_ghost/boss_ghost.xml
  254. index 6309f60..2faabdd 100644
  255. --- a/entities/animals/boss_ghost/boss_ghost.xml
  256. +++ b/entities/animals/boss_ghost/boss_ghost.xml
  257. @@ -1,4 +1,4 @@
  258. -<Entity tags="enemy,teleportable_NOT,hittable,mortal,boss,touchmagic_immunity,music_energy_100,miniboss,polymorphable_NOT,necrobot_NOT" name="$animal_boss_ghost">
  259. +<Entity tags="enemy,teleportable_NOT,hittable,mortal,boss,touchmagic_immunity,music_energy_100,miniboss,polymorphable_NOT,necrobot_NOT,glue_NOT" name="$animal_boss_ghost">   
  260.     <ItemChestComponent level="4" enemy_drop="1" > </ItemChestComponent>
  261.  
  262.     <!-- art - main body ---------------------- -->
  263. @@ -102,6 +102,8 @@
  264.         blood_spray_material="plasma_fading"
  265.         blood_sprite_directional=""
  266.         blood_sprite_large=""
  267. +       air_needed="0"
  268. +       falling_damages="0"
  269.         >
  270.         <damage_multipliers
  271.             projectile="0.0"
  272. @@ -142,7 +144,7 @@
  273.     </PathFindingGridMarkerComponent>
  274.    
  275.     <GenomeDataComponent
  276. -       herd_id="ghost"
  277. +       herd_id="ghost_boss"
  278.         food_chain_rank="10"
  279.         is_predator="1" >
  280.     </GenomeDataComponent>
  281. @@ -162,7 +164,7 @@
  282.         target_vec_max_len="15.0"
  283.         force_coeff="14.0"
  284.         force_balancing_coeff="0.8"
  285. -       force_max="160"
  286. +       force_max="120"
  287.         torque_coeff="50"
  288.         torque_balancing_coeff="0.8"
  289.         torque_max="50.0"
  290. diff --git a/entities/animals/boss_limbs/boss_limbs.xml b/entities/animals/boss_limbs/boss_limbs.xml
  291. index 818bd3b..fc43dc8 100644
  292. --- a/entities/animals/boss_limbs/boss_limbs.xml
  293. +++ b/entities/animals/boss_limbs/boss_limbs.xml
  294. @@ -1,4 +1,4 @@
  295. -<Entity tags="enemy,mortal,human,hittable,homing_target,teleportable_NOT,boss,polymorphable_NOT,miniboss,music_energy_100,necrobot_NOT" name="$animal_boss_limbs">
  296. +<Entity tags="enemy,mortal,human,hittable,homing_target,teleportable_NOT,boss,polymorphable_NOT,miniboss,music_energy_100,necrobot_NOT,glue_NOT" name="$animal_boss_limbs">
  297.    
  298.     <!-- art - main body ---------------------- -->
  299.  
  300. diff --git a/entities/animals/boss_limbs/boss_limbs_physics.xml b/entities/animals/boss_limbs/boss_limbs_physics.xml
  301. index cc23e5f..5e229e5 100644
  302. --- a/entities/animals/boss_limbs/boss_limbs_physics.xml
  303. +++ b/entities/animals/boss_limbs/boss_limbs_physics.xml
  304. @@ -1,4 +1,4 @@
  305. -<Entity name="$animal_boss_limbs">
  306. +<Entity tags="glue_NOT" name="$animal_boss_limbs">
  307.    
  308.     <LightComponent
  309.         _enabled="1"
  310. diff --git a/entities/animals/boss_pit/boss_pit.xml b/entities/animals/boss_pit/boss_pit.xml
  311. index e93d005..8c053ed 100644
  312. --- a/entities/animals/boss_pit/boss_pit.xml
  313. +++ b/entities/animals/boss_pit/boss_pit.xml
  314. @@ -1,4 +1,4 @@
  315. -<Entity tags="enemy,mortal,human,hittable,homing_target,teleportable_NOT,boss,touchmagic_immunity,music_energy_100,miniboss,polymorphable_NOT,necrobot_NOT" name="$animal_boss_pit">
  316. +<Entity tags="enemy,mortal,human,hittable,homing_target,teleportable_NOT,boss,touchmagic_immunity,music_energy_100,miniboss,polymorphable_NOT,necrobot_NOT,glue_NOT" name="$animal_boss_pit">
  317.    
  318.     <!-- art - main body ---------------------- -->
  319.  
  320. diff --git a/entities/animals/boss_wizard/boss_wizard.xml b/entities/animals/boss_wizard/boss_wizard.xml
  321. index 2cd884c..af39edb 100644
  322. --- a/entities/animals/boss_wizard/boss_wizard.xml
  323. +++ b/entities/animals/boss_wizard/boss_wizard.xml
  324. @@ -1,4 +1,4 @@
  325. -<Entity name="$animal_boss_wizard" tags="touchmagic_immunity,polymorphable_NOT,boss,miniboss,music_energy_100,boss_wizard,necrobot_NOT">
  326. +<Entity name="$animal_boss_wizard" tags="touchmagic_immunity,polymorphable_NOT,boss,miniboss,music_energy_100,boss_wizard,necrobot_NOT,glue_NOT">
  327.    
  328.     <Base file="data/entities/base_enemy_basic.xml" >
  329.         <ItemChestComponent level="2" > </ItemChestComponent>
  330. diff --git a/entities/animals/chest_leggy.xml b/entities/animals/chest_leggy.xml
  331. index 41007d2..08dc9a8 100644
  332. --- a/entities/animals/chest_leggy.xml
  333. +++ b/entities/animals/chest_leggy.xml
  334. @@ -1,4 +1,4 @@
  335. -<Entity tags="enemy,mortal,hittable,homing_target,teleportable_NOT" name="$animal_lukki" >
  336. +<Entity tags="enemy,mortal,hittable,homing_target,teleportable_NOT,glue_NOT" name="$animal_lukki" >
  337.  
  338.    <AnimalAIComponent
  339.        _enabled="1"
  340. diff --git a/entities/animals/chest_mimic.xml b/entities/animals/chest_mimic.xml
  341. index 5b40b24..88affa1 100644
  342. --- a/entities/animals/chest_mimic.xml
  343. +++ b/entities/animals/chest_mimic.xml
  344. @@ -82,7 +82,23 @@
  345.             mass="2.2"
  346.             >
  347.         </CharacterDataComponent>
  348. +
  349.     </Base>
  350.  
  351. +   <VariableStorageComponent
  352. +       _enabled="1"
  353. +       name="mimic_poop_count"
  354. +       value_bool="0"
  355. +       value_int="0"
  356. +       value_string="" >
  357. +   </VariableStorageComponent>
  358. +
  359. +   <LuaComponent
  360. +       _enabled="1"
  361. +       script_source_file="data/scripts/animals/mimic_charm.lua"
  362. +       execute_every_n_frame="183"
  363. +       >
  364. +   </LuaComponent>
  365. +
  366.  </Entity>
  367.  
  368. diff --git a/entities/animals/crystal_physics.xml b/entities/animals/crystal_physics.xml
  369. index 7752396..ef8d81a 100644
  370. --- a/entities/animals/crystal_physics.xml
  371. +++ b/entities/animals/crystal_physics.xml
  372. @@ -1,4 +1,4 @@
  373. -<Entity name="$animal_crystal_physics" >
  374. +<Entity tags="glue_NOT" name="$animal_crystal_physics" >
  375.    
  376.    <PhysicsAIComponent
  377.         target_vec_max_len="15.0"
  378. diff --git a/entities/animals/darkghost.xml b/entities/animals/darkghost.xml
  379. index 05a6baf..4c0e80e 100644
  380. --- a/entities/animals/darkghost.xml
  381. +++ b/entities/animals/darkghost.xml
  382. @@ -1,6 +1,6 @@
  383.  <Entity
  384.    name="$animal_darkghost"
  385. -  tags="mortal,hittable,enemy"
  386. +  tags="mortal,hittable,enemy,glue_NOT"
  387.    serialize="0" >
  388.  
  389.    <_Transform
  390. diff --git a/entities/animals/drone_physics.xml b/entities/animals/drone_physics.xml
  391. index 4ec79f4..bb4fa65 100644
  392. --- a/entities/animals/drone_physics.xml
  393. +++ b/entities/animals/drone_physics.xml
  394. @@ -1,4 +1,4 @@
  395. -<Entity name="$animal_drone_physics">
  396. +<Entity tags="glue_NOT" name="$animal_drone_physics">
  397.    
  398.     <PhysicsAIComponent
  399.         target_vec_max_len="15.0"
  400. diff --git a/entities/animals/eel.xml b/entities/animals/eel.xml
  401. index 3da4eaf..8064742 100644
  402. --- a/entities/animals/eel.xml
  403. +++ b/entities/animals/eel.xml
  404. @@ -1,6 +1,6 @@
  405.  <Entity
  406.     name="$animal_eel"
  407. -   tags="mortal,hittable,homing_target,destruction_target,enemy" >
  408. +   tags="mortal,hittable,homing_target,destruction_target,enemy,glue_NOT" >
  409.     <_Transform
  410.         position.x="0"
  411.         position.y="0"
  412. diff --git a/entities/animals/ethereal_being.xml b/entities/animals/ethereal_being.xml
  413. index 046efc3..636a024 100644
  414. --- a/entities/animals/ethereal_being.xml
  415. +++ b/entities/animals/ethereal_being.xml
  416. @@ -1,4 +1,4 @@
  417. -<Entity tags="enemy,teleportable_NOT,polymorphable_NOT,hittable,mortal,boss_ghost_helper" name="$animal_ethereal_being">  
  418. +<Entity tags="enemy,teleportable_NOT,polymorphable_NOT,hittable,mortal,boss_ghost_helper,glue_NOT" name="$animal_ethereal_being"> 
  419.     <ItemChestComponent level="4" enemy_drop="1" > </ItemChestComponent>
  420.  
  421.     <!-- art - main body ---------------------- -->
  422. diff --git a/entities/animals/ghost.xml b/entities/animals/ghost.xml
  423. index 689e558..e4fd7fa 100644
  424. --- a/entities/animals/ghost.xml
  425. +++ b/entities/animals/ghost.xml
  426. @@ -1,6 +1,6 @@
  427.  <Entity
  428.    name="$animal_ghost"
  429. -  tags="mortal,hittable,music_energy_000_near,enemy"
  430. +  tags="mortal,hittable,music_energy_000_near,enemy,glue_NOT"
  431.    serialize="0" >
  432.  
  433.    <_Transform
  434. diff --git a/entities/animals/healerdrone_physics.xml b/entities/animals/healerdrone_physics.xml
  435. index 86da745..2626f8d 100644
  436. --- a/entities/animals/healerdrone_physics.xml
  437. +++ b/entities/animals/healerdrone_physics.xml
  438. @@ -1,4 +1,4 @@
  439. -<Entity name="$animal_healerdrone_physics" >
  440. +<Entity tags="glue_NOT" name="$animal_healerdrone_physics" >
  441.    
  442.     <PhysicsAIComponent
  443.         target_vec_max_len="15.0"
  444. diff --git a/entities/animals/illusions/acidshooter.xml b/entities/animals/illusions/acidshooter.xml
  445. index f77ad3a..e525b6d 100644
  446. --- a/entities/animals/illusions/acidshooter.xml
  447. +++ b/entities/animals/illusions/acidshooter.xml
  448. @@ -1,4 +1,4 @@
  449. -<Entity name="$animal_acidshooter">
  450. +<Entity tags="glue_NOT" name="$animal_acidshooter">
  451.    
  452.     <Base file="data/entities/base_enemy_flying.xml" >
  453.         <ItemChestComponent level="1" > </ItemChestComponent>
  454. diff --git a/entities/animals/illusions/enlightened_alchemist.xml b/entities/animals/illusions/enlightened_alchemist.xml
  455. index da0f126..77cf75b 100644
  456. --- a/entities/animals/illusions/enlightened_alchemist.xml
  457. +++ b/entities/animals/illusions/enlightened_alchemist.xml
  458. @@ -1,4 +1,4 @@
  459. -<Entity name="$animal_enlightened_alchemist" >
  460. +<Entity tags="glue_NOT" name="$animal_enlightened_alchemist" >
  461.    
  462.     <Base file="data/entities/base_enemy_basic.xml" >
  463.         <ItemChestComponent level="2" > </ItemChestComponent>
  464. diff --git a/entities/animals/illusions/scavenger_grenade.xml b/entities/animals/illusions/scavenger_grenade.xml
  465. index bebb782..bbf1b84 100644
  466. --- a/entities/animals/illusions/scavenger_grenade.xml
  467. +++ b/entities/animals/illusions/scavenger_grenade.xml
  468. @@ -1,4 +1,4 @@
  469. -<Entity name="$animal_scavenger_grenade" >
  470. +<Entity tags="glue_NOT" name="$animal_scavenger_grenade" >
  471.    
  472.     <Base file="data/entities/base_enemy_flying.xml" >
  473.         <ItemChestComponent level="2" > </ItemChestComponent>
  474. diff --git a/entities/animals/illusions/scavenger_mine.xml b/entities/animals/illusions/scavenger_mine.xml
  475. index 079f636..f9f8c02 100644
  476. --- a/entities/animals/illusions/scavenger_mine.xml
  477. +++ b/entities/animals/illusions/scavenger_mine.xml
  478. @@ -1,4 +1,4 @@
  479. -<Entity name="$animal_scavenger_mine" >
  480. +<Entity tags="glue_NOT" name="$animal_scavenger_mine" >
  481.    
  482.     <Base file="data/entities/base_enemy_flying.xml" >
  483.         <ItemChestComponent level="3" enemy_drop="1" > </ItemChestComponent>
  484. diff --git a/entities/animals/illusions/shaman.xml b/entities/animals/illusions/shaman.xml
  485. index 6835cdd..1b0ed4f 100644
  486. --- a/entities/animals/illusions/shaman.xml
  487. +++ b/entities/animals/illusions/shaman.xml
  488. @@ -1,4 +1,4 @@
  489. -<Entity tags="shaman" name="$animal_shaman">
  490. +<Entity tags="shaman,glue_NOT" name="$animal_shaman">
  491.     <Base file="data/entities/base_enemy_basic.xml" >
  492.         <ItemChestComponent level="1" > </ItemChestComponent>
  493.  
  494. diff --git a/entities/animals/illusions/tank.xml b/entities/animals/illusions/tank.xml
  495. index ab34ec3..795705d 100644
  496. --- a/entities/animals/illusions/tank.xml
  497. +++ b/entities/animals/illusions/tank.xml
  498. @@ -1,4 +1,4 @@
  499. -<Entity name="$animal_tank" >
  500. +<Entity tags="glue_NOT" name="$animal_tank" >
  501.    
  502.     <Base file="data/entities/base_enemy_robot.xml" >
  503.         <ItemChestComponent level="2" >
  504. diff --git a/entities/animals/illusions/tentacler.xml b/entities/animals/illusions/tentacler.xml
  505. index 2ec67d2..ffb1463 100644
  506. --- a/entities/animals/illusions/tentacler.xml
  507. +++ b/entities/animals/illusions/tentacler.xml
  508. @@ -1,4 +1,4 @@
  509. -<Entity name="$animal_tentacler" >
  510. +<Entity tags="glue_NOT" name="$animal_tentacler" >
  511.    
  512.     <Base file="data/entities/base_enemy_flying.xml" >
  513.         <ItemChestComponent level="2" > </ItemChestComponent>
  514. diff --git a/entities/animals/illusions/thundermage.xml b/entities/animals/illusions/thundermage.xml
  515. index 11a7e3f..0ffa088 100644
  516. --- a/entities/animals/illusions/thundermage.xml
  517. +++ b/entities/animals/illusions/thundermage.xml
  518. @@ -1,4 +1,4 @@
  519. -<Entity name="$animal_thundermage" tags="thundermage" >
  520. +<Entity tags="glue_NOT" name="$animal_thundermage" tags="thundermage" >
  521.    
  522.     <Base file="data/entities/base_enemy_basic.xml" >
  523.         <ItemChestComponent level="2" > </ItemChestComponent>
  524. diff --git a/entities/animals/illusions/wizard_swapper.xml b/entities/animals/illusions/wizard_swapper.xml
  525. index f85508d..9306375 100644
  526. --- a/entities/animals/illusions/wizard_swapper.xml
  527. +++ b/entities/animals/illusions/wizard_swapper.xml
  528. @@ -1,4 +1,4 @@
  529. -<Entity name="$animal_wizard_swapper" >
  530. +<Entity tags="glue_NOT" name="$animal_wizard_swapper" >
  531.    
  532.     <Base file="data/entities/base_enemy_basic.xml" >
  533.         <ItemChestComponent level="2" > </ItemChestComponent>
  534. diff --git a/entities/animals/illusions/worm_big.xml b/entities/animals/illusions/worm_big.xml
  535. index e031c45..032fd74 100644
  536. --- a/entities/animals/illusions/worm_big.xml
  537. +++ b/entities/animals/illusions/worm_big.xml
  538. @@ -1,5 +1,5 @@
  539.  <Entity
  540. -   tags="mortal,hittable,teleportable_NOT,homing_target,enemy,worm"
  541. +   tags="mortal,hittable,teleportable_NOT,homing_target,enemy,worm,glue_NOT"
  542.     name="$animal_worm_big"
  543.     >
  544.     <_Transform
  545. diff --git a/entities/animals/lukki/lukki.xml b/entities/animals/lukki/lukki.xml
  546. index 3d41677..75f0b34 100644
  547. --- a/entities/animals/lukki/lukki.xml
  548. +++ b/entities/animals/lukki/lukki.xml
  549. @@ -1,4 +1,4 @@
  550. -<Entity tags="enemy,mortal,hittable,homing_target,teleportable_NOT,music_energy_100,lukki" name="$animal_lukki" > 
  551. +<Entity tags="enemy,mortal,hittable,homing_target,teleportable_NOT,music_energy_100,lukki,glue_NOT" name="$animal_lukki" >
  552.     <ItemChestComponent level="4" enemy_drop="1" > </ItemChestComponent>
  553.  
  554.     <LuaComponent
  555. diff --git a/entities/animals/lukki/lukki_creepy.xml b/entities/animals/lukki/lukki_creepy.xml
  556. index 5dc5bd0..26b15e2 100644
  557. --- a/entities/animals/lukki/lukki_creepy.xml
  558. +++ b/entities/animals/lukki/lukki_creepy.xml
  559. @@ -1,4 +1,4 @@
  560. -<Entity tags="enemy,mortal,hittable,homing_target,teleportable_NOT,music_energy_100,lukki" name="$animal_lukki_creepy">
  561. +<Entity tags="enemy,mortal,hittable,homing_target,teleportable_NOT,music_energy_100,lukki,glue_NOT" name="$animal_lukki_creepy">
  562.     <ItemChestComponent level="4" enemy_drop="1" > </ItemChestComponent>
  563.  
  564.     <LuaComponent
  565. diff --git a/entities/animals/lukki/lukki_creepy_long.xml b/entities/animals/lukki/lukki_creepy_long.xml
  566. index 66d0a5e..fab8c52 100644
  567. --- a/entities/animals/lukki/lukki_creepy_long.xml
  568. +++ b/entities/animals/lukki/lukki_creepy_long.xml
  569. @@ -1,4 +1,4 @@
  570. -<Entity tags="enemy,mortal,hittable,homing_target,teleportable_NOT,music_energy_100,lukki" name="$animal_lukki_creepy_long">
  571. +<Entity tags="enemy,mortal,hittable,homing_target,teleportable_NOT,music_energy_100,lukki,glue_NOT" name="$animal_lukki_creepy_long">
  572.     <ItemChestComponent level="4" enemy_drop="1" > </ItemChestComponent>
  573.  
  574.     <LuaComponent
  575. diff --git a/entities/animals/lukki/lukki_dark.xml b/entities/animals/lukki/lukki_dark.xml
  576. index 585277d..c8055b9 100644
  577. --- a/entities/animals/lukki/lukki_dark.xml
  578. +++ b/entities/animals/lukki/lukki_dark.xml
  579. @@ -1,4 +1,4 @@
  580. -<Entity tags="enemy,mortal,hittable,homing_target,teleportable_NOT,music_energy_100,lukki" name="$animal_lukki_dark">
  581. +<Entity tags="enemy,mortal,hittable,homing_target,teleportable_NOT,music_energy_100,lukki,glue_NOT" name="$animal_lukki_dark">
  582.  
  583.     <ItemChestComponent level="4" enemy_drop="1" > </ItemChestComponent>
  584.  
  585. diff --git a/entities/animals/lukki/lukki_longleg.xml b/entities/animals/lukki/lukki_longleg.xml
  586. index 5c952e5..85c54dd 100644
  587. --- a/entities/animals/lukki/lukki_longleg.xml
  588. +++ b/entities/animals/lukki/lukki_longleg.xml
  589. @@ -1,4 +1,4 @@
  590. -<Entity tags="enemy,mortal,hittable,homing_target,teleportable_NOT,music_energy_100,lukki" name="$animal_lukki_longleg">
  591. +<Entity tags="enemy,mortal,hittable,homing_target,teleportable_NOT,music_energy_100,lukki,glue_NOT" name="$animal_lukki_longleg">
  592.  
  593.     <ItemChestComponent level="4" enemy_drop="1" > </ItemChestComponent>
  594.  
  595. diff --git a/entities/animals/lukki/lukki_tiny.xml b/entities/animals/lukki/lukki_tiny.xml
  596. index 86ede25..6e537f6 100644
  597. --- a/entities/animals/lukki/lukki_tiny.xml
  598. +++ b/entities/animals/lukki/lukki_tiny.xml
  599. @@ -1,4 +1,4 @@
  600. -<Entity tags="enemy,mortal,hittable,homing_target,teleportable_NOT,music_energy_100,lukki" name="$animal_lukki_tiny"> 
  601. +<Entity tags="enemy,mortal,hittable,homing_target,teleportable_NOT,music_energy_100,lukki,glue_NOT" name="$animal_lukki_tiny">
  602.     <ItemChestComponent level="4" enemy_drop="1" > </ItemChestComponent>
  603.    
  604.     <LuaComponent
  605. diff --git a/entities/animals/mimic_physics.xml b/entities/animals/mimic_physics.xml
  606. index 8da511d..43c45db 100644
  607. --- a/entities/animals/mimic_physics.xml
  608. +++ b/entities/animals/mimic_physics.xml
  609. @@ -1,4 +1,4 @@
  610. -<Entity name="$animal_mimic_physics" >
  611. +<Entity tags="glue_NOT" name="$animal_mimic_physics" >
  612.    
  613.    <PhysicsAIComponent
  614.         _enabled="0"
  615. diff --git a/entities/animals/parallel/tentacles/parallel_tentacles.xml b/entities/animals/parallel/tentacles/parallel_tentacles.xml
  616. index d595dba..b9627fb 100644
  617. --- a/entities/animals/parallel/tentacles/parallel_tentacles.xml
  618. +++ b/entities/animals/parallel/tentacles/parallel_tentacles.xml
  619. @@ -1,4 +1,4 @@
  620. -<Entity tags="enemy,mortal,human,hittable,homing_target,teleportable_NOT,touchmagic_immunity,polymorphable_NOT" name="$animal_parallel_tentacles">
  621. +<Entity tags="enemy,mortal,human,hittable,homing_target,teleportable_NOT,touchmagic_immunity,polymorphable_NOT,glue_NOT" name="$animal_parallel_tentacles">
  622.    
  623.     <!-- art - main body ---------------------- -->
  624.  
  625. diff --git a/entities/animals/pebble_physics.xml b/entities/animals/pebble_physics.xml
  626. index 4e4ba78..173dfd2 100644
  627. --- a/entities/animals/pebble_physics.xml
  628. +++ b/entities/animals/pebble_physics.xml
  629. @@ -1,4 +1,4 @@
  630. -<Entity name="$animal_pebble">
  631. +<Entity tags="glue_NOT" name="$animal_pebble">
  632.     <PhysicsAIComponent
  633.         target_vec_max_len="25.0"
  634.         force_coeff="28.0"
  635. diff --git a/entities/animals/phantom_a.xml b/entities/animals/phantom_a.xml
  636. index 6e76ce7..5789428 100644
  637. --- a/entities/animals/phantom_a.xml
  638. +++ b/entities/animals/phantom_a.xml
  639. @@ -1,4 +1,4 @@
  640. -<Entity name="$animal_phantom_a" >
  641. +<Entity tags="glue_NOT" name="$animal_phantom_a" >
  642.    
  643.     <Base file="data/entities/base_enemy_flying.xml" >
  644.         <ItemChestComponent level="5" enemy_drop="1" > </ItemChestComponent>
  645. diff --git a/entities/animals/phantom_b.xml b/entities/animals/phantom_b.xml
  646. index d13c004..e5fd6cf 100644
  647. --- a/entities/animals/phantom_b.xml
  648. +++ b/entities/animals/phantom_b.xml
  649. @@ -1,4 +1,4 @@
  650. -<Entity name="$animal_phantom_b" >
  651. +<Entity tags="glue_NOT" name="$animal_phantom_b" >
  652.    
  653.     <Base file="data/entities/base_enemy_flying.xml" >
  654.         <ItemChestComponent level="5" enemy_drop="1" > </ItemChestComponent>
  655. diff --git a/entities/animals/playerghost.xml b/entities/animals/playerghost.xml
  656. index c8aff23..417b83d 100644
  657. --- a/entities/animals/playerghost.xml
  658. +++ b/entities/animals/playerghost.xml
  659. @@ -1,4 +1,4 @@
  660. -<Entity name="$animal_playerghost">
  661. +<Entity tags="glue_NOT" name="$animal_playerghost">
  662.     <!-- NOTE! This file is used for polymorph purpouses only -->
  663.     <!-- the spawned player ghost (that has an old wand) is now at entities/animals/apparition/playerghost.xml -->
  664.    
  665. diff --git a/entities/animals/skycrystal_physics.xml b/entities/animals/skycrystal_physics.xml
  666. index e083d00..d16d47d 100644
  667. --- a/entities/animals/skycrystal_physics.xml
  668. +++ b/entities/animals/skycrystal_physics.xml
  669. @@ -1,4 +1,4 @@
  670. -<Entity name="$animal_skycrystal_physics" >
  671. +<Entity tags="glue_NOT" name="$animal_skycrystal_physics" >
  672.    
  673.    <PhysicsAIComponent
  674.         target_vec_max_len="18.0"
  675. diff --git a/entities/animals/special/minipit.xml b/entities/animals/special/minipit.xml
  676. index fc25a89..0f7bbb6 100644
  677. --- a/entities/animals/special/minipit.xml
  678. +++ b/entities/animals/special/minipit.xml
  679. @@ -1,4 +1,4 @@
  680. -<Entity name="$animal_minipit" >
  681. +<Entity tags="glue_NOT" name="$animal_minipit" >
  682.    
  683.    <PhysicsAIComponent
  684.         target_vec_max_len="15.0"
  685. diff --git a/entities/animals/statue_physics.xml b/entities/animals/statue_physics.xml
  686. index b355482..5f19d52 100644
  687. --- a/entities/animals/statue_physics.xml
  688. +++ b/entities/animals/statue_physics.xml
  689. @@ -1,4 +1,4 @@
  690. -<Entity name="$animal_statue_physics" >
  691. +<Entity tags="glue_NOT" name="$animal_statue_physics" >
  692.    
  693.    <PhysicsAIComponent
  694.         target_vec_max_len="15.0"
  695. diff --git a/entities/animals/worm.xml b/entities/animals/worm.xml
  696. index 8bc1210..87977d0 100644
  697. --- a/entities/animals/worm.xml
  698. +++ b/entities/animals/worm.xml
  699. @@ -1,5 +1,5 @@
  700.  <Entity
  701. -   tags="mortal,hittable,teleportable_NOT,homing_target,enemy,worm"
  702. +   tags="mortal,hittable,teleportable_NOT,homing_target,enemy,worm,glue_NOT"
  703.     name="$animal_worm"
  704.     >
  705.     <_Transform
  706. diff --git a/entities/animals/worm_big.xml b/entities/animals/worm_big.xml
  707. index 6096952..0888820 100644
  708. --- a/entities/animals/worm_big.xml
  709. +++ b/entities/animals/worm_big.xml
  710. @@ -1,5 +1,5 @@
  711.  <Entity
  712. -   tags="mortal,hittable,teleportable_NOT,homing_target,enemy,worm"
  713. +   tags="mortal,hittable,teleportable_NOT,homing_target,enemy,worm,glue_NOT"
  714.     name="$animal_worm_big"
  715.     >
  716.     <_Transform
  717. diff --git a/entities/animals/worm_end.xml b/entities/animals/worm_end.xml
  718. index 5cce086..89a0366 100644
  719. --- a/entities/animals/worm_end.xml
  720. +++ b/entities/animals/worm_end.xml
  721. @@ -1,5 +1,5 @@
  722.  <Entity
  723. -  tags="mortal,hittable,teleportable_NOT,homing_target,enemy,worm"
  724. +  tags="mortal,hittable,teleportable_NOT,homing_target,enemy,worm,glue_NOT"
  725.    name="$animal_worm_end"
  726.    >
  727.    <_Transform
  728. diff --git a/entities/animals/worm_skull.xml b/entities/animals/worm_skull.xml
  729. index ca9d79d..2bb43ad 100644
  730. --- a/entities/animals/worm_skull.xml
  731. +++ b/entities/animals/worm_skull.xml
  732. @@ -1,5 +1,5 @@
  733.  <Entity
  734. -  tags="mortal,hittable,teleportable_NOT,homing_target,enemy,worm,music_energy_000"
  735. +  tags="mortal,hittable,teleportable_NOT,homing_target,enemy,worm,music_energy_000,glue_NOT"
  736.    name="$animal_worm_skull"
  737.    >
  738.    <_Transform
  739. diff --git a/entities/animals/worm_tiny.xml b/entities/animals/worm_tiny.xml
  740. index abe40f0..f383e17 100644
  741. --- a/entities/animals/worm_tiny.xml
  742. +++ b/entities/animals/worm_tiny.xml
  743. @@ -1,5 +1,5 @@
  744.  <Entity
  745. -  tags="mortal,hittable,teleportable_NOT,homing_target,enemy,worm"
  746. +  tags="mortal,hittable,teleportable_NOT,homing_target,enemy,worm,glue_NOT"
  747.    name="$animal_worm_tiny"
  748.    >
  749.    <_Transform
  750. diff --git a/entities/base_apparition.xml b/entities/base_apparition.xml
  751. index 83165b0..3019c48 100644
  752. --- a/entities/base_apparition.xml
  753. +++ b/entities/base_apparition.xml
  754. @@ -41,7 +41,7 @@
  755.                 projectile="0.5"
  756.                 explosion="1.0"
  757.                 electricity="1.0"
  758. -               freeze="1.0"
  759. +               ice="1.0"
  760.                 fire="0.1" >
  761.             </damage_multipliers>
  762.         </DamageModelComponent>
  763. diff --git a/entities/base_shop_item.xml b/entities/base_shop_item.xml
  764. index 164c6b2..6479482 100644
  765. --- a/entities/base_shop_item.xml
  766. +++ b/entities/base_shop_item.xml
  767. @@ -1,4 +1,4 @@
  768. -<Entity tags="hittable,item,item_shop">
  769. +<Entity tags="hittable,item,item_shop,glue_NOT">
  770.  
  771.      <!-- these two are used to make these shop items -->
  772.      <ItemCostComponent cost="100" />
  773. diff --git a/entities/base_wand_ghost.xml b/entities/base_wand_ghost.xml
  774. index 8e77dc7..8031a44 100644
  775. --- a/entities/base_wand_ghost.xml
  776. +++ b/entities/base_wand_ghost.xml
  777. @@ -1,4 +1,4 @@
  778. -<Entity tags="mortal,hittable,homing_target,teleportable_NOT,enemy" >
  779. +<Entity tags="mortal,hittable,homing_target,teleportable_NOT,enemy,glue_NOT" >
  780.  
  781.     <PhysicsAIComponent
  782.         target_vec_max_len="15.0"
  783. diff --git a/entities/buildings/arrowtrap_left.xml b/entities/buildings/arrowtrap_left.xml
  784. index a67f640..9e74332 100644
  785. --- a/entities/buildings/arrowtrap_left.xml
  786. +++ b/entities/buildings/arrowtrap_left.xml
  787. @@ -1,4 +1,4 @@
  788. -<Entity tags="mortal,hittable" >
  789. +<Entity tags="mortal,hittable,glue_NOT" >
  790.    
  791.     <AnimalAIComponent
  792.         _enabled="1"
  793. diff --git a/entities/buildings/biome_modifiers/drain_pipe.xml b/entities/buildings/biome_modifiers/drain_pipe.xml
  794. index f3269e7..9415bc5 100644
  795. --- a/entities/buildings/biome_modifiers/drain_pipe.xml
  796. +++ b/entities/buildings/biome_modifiers/drain_pipe.xml
  797. @@ -1,4 +1,4 @@
  798. -<Entity tags="mortal,hittable,teleportable_NOT,destruction_target">
  799. +<Entity tags="mortal,hittable,teleportable_NOT,destruction_target,glue_NOT">
  800.     <Base file="data/entities/base_item_physics2.xml" >
  801.         <PhysicsBody2Component
  802.             is_static="1"
  803. diff --git a/entities/buildings/firebugnest.xml b/entities/buildings/firebugnest.xml
  804. index bbbc54b..36d6f90 100644
  805. --- a/entities/buildings/firebugnest.xml
  806. +++ b/entities/buildings/firebugnest.xml
  807. @@ -1,6 +1,6 @@
  808.  <Entity
  809.    name="unknown"
  810. -  tags="mortal,nest,predator,hittable" >
  811. +  tags="mortal,nest,predator,hittable,glue_NOT" >
  812.  
  813.    <DamageModelComponent
  814.      _enabled="1"
  815. diff --git a/entities/buildings/firetrap_left.xml b/entities/buildings/firetrap_left.xml
  816. index 98e6079..0c03236 100644
  817. --- a/entities/buildings/firetrap_left.xml
  818. +++ b/entities/buildings/firetrap_left.xml
  819. @@ -1,4 +1,4 @@
  820. -<Entity tags="mortal,hittable" >
  821. +<Entity tags="mortal,hittable,glue_NOT" >
  822.    
  823.     <AnimalAIComponent
  824.         _enabled="1"
  825. diff --git a/entities/buildings/flynest.xml b/entities/buildings/flynest.xml
  826. index c3b000e..7abb17a 100644
  827. --- a/entities/buildings/flynest.xml
  828. +++ b/entities/buildings/flynest.xml
  829. @@ -1,6 +1,6 @@
  830.  <Entity
  831.    name="unknown"
  832. -  tags="mortal,nest,predator,hittable" >
  833. +  tags="mortal,nest,predator,hittable,glue_NOT" >
  834.  
  835.    <DamageModelComponent
  836.      _enabled="1"
  837. diff --git a/entities/buildings/lasergun.xml b/entities/buildings/lasergun.xml
  838. index bb07ad7..e86f0d5 100644
  839. --- a/entities/buildings/lasergun.xml
  840. +++ b/entities/buildings/lasergun.xml
  841. @@ -1,4 +1,4 @@
  842. -<Entity tags="mortal,hittable,homing_target" >
  843. +<Entity tags="mortal,hittable,homing_target,glue_NOT" >   
  844.     <DamageModelComponent
  845.          hp="6.5"
  846.          ragdoll_material="steel"
  847. diff --git a/entities/buildings/lukki_eggs.xml b/entities/buildings/lukki_eggs.xml
  848. index 7e61362..f0deb58 100644
  849. --- a/entities/buildings/lukki_eggs.xml
  850. +++ b/entities/buildings/lukki_eggs.xml
  851. @@ -1,4 +1,4 @@
  852. -<Entity tags="mortal,hittable" >
  853. +<Entity tags="mortal,hittable,glue_NOT" >
  854.  
  855.  <!-- mortal is required so it can explode -->
  856.  
  857. diff --git a/entities/buildings/snowcrystal.xml b/entities/buildings/snowcrystal.xml
  858. index d9135f2..a561c0a 100644
  859. --- a/entities/buildings/snowcrystal.xml
  860. +++ b/entities/buildings/snowcrystal.xml
  861. @@ -1,6 +1,6 @@
  862.  <Entity
  863.    name="$animal_snowcrystal"
  864. -  tags="hittable,mortal" >
  865. +  tags="hittable,mortal,glue_NOT" >
  866.  
  867.    <DamageModelComponent
  868.      _enabled="1"
  869. diff --git a/entities/buildings/spidernest.xml b/entities/buildings/spidernest.xml
  870. index 6ddb831..e734abc 100644
  871. --- a/entities/buildings/spidernest.xml
  872. +++ b/entities/buildings/spidernest.xml
  873. @@ -1,6 +1,6 @@
  874.  <Entity
  875.    name="unknown"
  876. -  tags="mortal,nest,predator,hittable" >
  877. +  tags="mortal,nest,predator,hittable,glue_NOT" >
  878.  
  879.    <DamageModelComponent
  880.      _enabled="1"
  881. diff --git a/entities/buildings/spittrap_left.xml b/entities/buildings/spittrap_left.xml
  882. index 07b95d9..ed65c5d 100644
  883. --- a/entities/buildings/spittrap_left.xml
  884. +++ b/entities/buildings/spittrap_left.xml
  885. @@ -1,4 +1,4 @@
  886. -<Entity tags="mortal,hittable" >
  887. +<Entity tags="mortal,hittable,glue_NOT" >
  888.    
  889.     <AnimalAIComponent
  890.         _enabled="1"
  891. diff --git a/entities/buildings/statue_trap_left.xml b/entities/buildings/statue_trap_left.xml
  892. index 204731a..ed87c3f 100644
  893. --- a/entities/buildings/statue_trap_left.xml
  894. +++ b/entities/buildings/statue_trap_left.xml
  895. @@ -1,6 +1,6 @@
  896.  <Entity
  897.     name="unknown"
  898. -   tags="hittable,mortal" >
  899. +   tags="hittable,mortal,glue_NOT" >
  900.  
  901.     <Base file="data/entities/buildings/statue_trap_right.xml">
  902.         <SpriteComponent
  903. diff --git a/entities/buildings/teleport_ending.xml b/entities/buildings/teleport_ending.xml
  904. index f319256..8841add 100644
  905. --- a/entities/buildings/teleport_ending.xml
  906. +++ b/entities/buildings/teleport_ending.xml
  907. @@ -175,7 +175,9 @@
  908.         file="data/audio/Desktop/misc.bank"
  909.         event_name="misc/teleport_end_loop"
  910.         calculate_material_lowpass="0"
  911. -       auto_play="1" >
  912. +       auto_play="0"
  913. +       auto_play_if_enabled="1"
  914. +       play_on_component_enable="1" >
  915.     </AudioLoopComponent>
  916.  
  917.     <AudioLoopComponent
  918. @@ -183,6 +185,8 @@
  919.         file="data/audio/Desktop/misc.bank"
  920.         event_name="misc/teleport_end_emitter_loop"
  921.         calculate_material_lowpass="0"
  922. -       auto_play="1" >
  923. +       auto_play="0"
  924. +       auto_play_if_enabled="1"
  925. +       play_on_component_enable="1" >
  926.     </AudioLoopComponent>
  927.  </Entity>
  928. \ No newline at end of file
  929. diff --git a/entities/buildings/teleport_liquid_powered.xml b/entities/buildings/teleport_liquid_powered.xml
  930. index f7853a0..907621a 100644
  931. --- a/entities/buildings/teleport_liquid_powered.xml
  932. +++ b/entities/buildings/teleport_liquid_powered.xml
  933. @@ -119,7 +119,9 @@
  934.         file="data/audio/Desktop/misc.bank"
  935.         event_name="misc/teleport_loop"
  936.         calculate_material_lowpass="0"
  937. -       auto_play="1" >
  938. +       auto_play="0"
  939. +       auto_play_if_enabled="1"
  940. +       play_on_component_enable="1" >
  941.     </AudioLoopComponent>
  942.  
  943.     <AudioLoopComponent
  944. @@ -127,7 +129,9 @@
  945.         file="data/audio/Desktop/misc.bank"
  946.         event_name="misc/teleport_emitter_loop"
  947.         calculate_material_lowpass="0"
  948. -       auto_play="1" >
  949. +       auto_play="0"
  950. +       auto_play_if_enabled="1"
  951. +       play_on_component_enable="1" >
  952.     </AudioLoopComponent>
  953.  
  954.     <!-- teleporter powered by teleportium beneath -->
  955. diff --git a/entities/buildings/teleport_snowcave_buried_eye.xml b/entities/buildings/teleport_snowcave_buried_eye.xml
  956. index 35fd9d3..08bfe5a 100644
  957. --- a/entities/buildings/teleport_snowcave_buried_eye.xml
  958. +++ b/entities/buildings/teleport_snowcave_buried_eye.xml
  959. @@ -120,7 +120,9 @@
  960.         file="data/audio/Desktop/misc.bank"
  961.         event_name="misc/teleport_loop"
  962.         calculate_material_lowpass="0"
  963. -       auto_play="1" >
  964. +       auto_play="0"
  965. +       auto_play_if_enabled="1"
  966. +       play_on_component_enable="1" >
  967.     </AudioLoopComponent>
  968.  
  969.     <AudioLoopComponent
  970. @@ -128,7 +130,9 @@
  971.         file="data/audio/Desktop/misc.bank"
  972.         event_name="misc/teleport_emitter_loop"
  973.         calculate_material_lowpass="0"
  974. -       auto_play="1" >
  975. +       auto_play="0"
  976. +       auto_play_if_enabled="1"
  977. +       play_on_component_enable="1" >
  978.     </AudioLoopComponent>
  979.  
  980.     <!-- teleporter powered by teleportium beneath -->
  981. diff --git a/entities/buildings/thundertrap_left.xml b/entities/buildings/thundertrap_left.xml
  982. index 10f3833..0c5ba81 100644
  983. --- a/entities/buildings/thundertrap_left.xml
  984. +++ b/entities/buildings/thundertrap_left.xml
  985. @@ -1,4 +1,4 @@
  986. -<Entity tags="mortal,hittable" >
  987. +<Entity tags="mortal,hittable,glue_NOT" >
  988.    
  989.     <AnimalAIComponent
  990.         _enabled="1"
  991. diff --git a/entities/items/orbs/orb_particles_base.xml b/entities/items/orbs/orb_particles_base.xml
  992. index 4ea48d2..3b3341d 100644
  993. --- a/entities/items/orbs/orb_particles_base.xml
  994. +++ b/entities/items/orbs/orb_particles_base.xml
  995. @@ -1,4 +1,4 @@
  996. -<Entity tags="hittable,teleportable_NOT">
  997. +<Entity tags="hittable,teleportable_NOT,glue_NOT">
  998.     <ParticleEmitterComponent
  999.         emitted_material_name="spark_blue"
  1000.         gravity.y="0.0"
  1001. diff --git a/entities/items/pickup/powder_stash.xml b/entities/items/pickup/powder_stash.xml
  1002. index 4f309d0..57f2c53 100644
  1003. --- a/entities/items/pickup/powder_stash.xml
  1004. +++ b/entities/items/pickup/powder_stash.xml
  1005. @@ -208,7 +208,7 @@
  1006.    <AudioLoopComponent
  1007.      _tags="sound_spray,enabled_in_world,enabled_in_hand"
  1008.      file="data/audio/Desktop/materials.bank"
  1009. -    event_name="materials/spray_potion"
  1010. +    event_name="materials/spray_powder"
  1011.      volume_autofade_speed="0.1" >
  1012.    </AudioLoopComponent>
  1013.  
  1014. diff --git a/entities/items/pickup/sunseed.xml b/entities/items/pickup/sunseed.xml
  1015. index 2046554..c182afb 100644
  1016. --- a/entities/items/pickup/sunseed.xml
  1017. +++ b/entities/items/pickup/sunseed.xml
  1018. @@ -92,7 +92,7 @@
  1019.         from_material_tag="[sand_ground]"
  1020.         steps_per_frame="2"
  1021.         to_material="gunpowder_unstable"
  1022. -       clean_stains="1"
  1023. +       clean_stains="0"
  1024.         is_circle="1"
  1025.         radius="64"
  1026.         loop="1"
  1027. diff --git a/entities/misc/greed_curse/greed_ghost.xml b/entities/misc/greed_curse/greed_ghost.xml
  1028. index 82463c5..59f4547 100644
  1029. --- a/entities/misc/greed_curse/greed_ghost.xml
  1030. +++ b/entities/misc/greed_curse/greed_ghost.xml
  1031. @@ -1,4 +1,4 @@
  1032. -<Entity tags="enemy,teleportable_NOT,polymorphable_NOT,greed_curse_ghost" name="$animal_greed_ghost"> 
  1033. +<Entity tags="enemy,teleportable_NOT,polymorphable_NOT,greed_curse_ghost,glue_NOT" name="$animal_greed_ghost">
  1034.     <ItemChestComponent level="4" enemy_drop="1" > </ItemChestComponent>
  1035.  
  1036.     <!-- keeps the streaming alive -->
  1037. diff --git a/entities/misc/physics_poltergeist_ai.xml b/entities/misc/physics_poltergeist_ai.xml
  1038. index 8bef1fe..d9f2353 100644
  1039. --- a/entities/misc/physics_poltergeist_ai.xml
  1040. +++ b/entities/misc/physics_poltergeist_ai.xml
  1041. @@ -1,4 +1,4 @@
  1042. -<Entity>
  1043. +<Entity tags="glue_NOT">
  1044.  
  1045.    <PhysicsAIComponent
  1046.      target_vec_max_len="20.0"
  1047. diff --git a/entities/misc/physics_ragdoll_ai.xml b/entities/misc/physics_ragdoll_ai.xml
  1048. index 3c27d17..84e7ea9 100644
  1049. --- a/entities/misc/physics_ragdoll_ai.xml
  1050. +++ b/entities/misc/physics_ragdoll_ai.xml
  1051. @@ -1,4 +1,4 @@
  1052. -<Entity tags="prey">
  1053. +<Entity tags="prey,glue_NOT">
  1054.    
  1055.     <PhysicsAIComponent
  1056.         target_vec_max_len="14.0"
  1057. diff --git a/entities/misc/worm_big_worm_rain.xml b/entities/misc/worm_big_worm_rain.xml
  1058. index 3b301c1..4468b39 100644
  1059. --- a/entities/misc/worm_big_worm_rain.xml
  1060. +++ b/entities/misc/worm_big_worm_rain.xml
  1061. @@ -1,5 +1,5 @@
  1062.  <Entity
  1063. -   tags="mortal,hittable,teleportable_NOT,homing_target,enemy,worm"
  1064. +   tags="mortal,hittable,teleportable_NOT,homing_target,enemy,worm,glue_NOT"
  1065.     name="$animal_worm_big"
  1066.     >
  1067.     <_Transform
  1068. diff --git a/entities/projectiles/deck/pebble_player_physics.xml b/entities/projectiles/deck/pebble_player_physics.xml
  1069. index f1c986b..cc9d6a1 100644
  1070. --- a/entities/projectiles/deck/pebble_player_physics.xml
  1071. +++ b/entities/projectiles/deck/pebble_player_physics.xml
  1072. @@ -1,4 +1,4 @@
  1073. -<Entity name="$animal_pebble_player" >
  1074. +<Entity tags="glue_NOT" name="$animal_pebble_player" >
  1075.     <PhysicsAIComponent
  1076.         target_vec_max_len="25.0"
  1077.         force_coeff="28.0"
  1078. diff --git a/entities/projectiles/glue.xml b/entities/projectiles/glue.xml
  1079. index bfd1e06..20bb7e5 100644
  1080. --- a/entities/projectiles/glue.xml
  1081. +++ b/entities/projectiles/glue.xml
  1082. @@ -1,4 +1,4 @@
  1083. -<Entity>
  1084. +<Entity tags="glue">
  1085.     <VelocityComponent
  1086.         gravity_y="0"
  1087.         terminal_velocity="10"
  1088. @@ -35,7 +35,7 @@
  1089.     </LuaComponent>
  1090.  
  1091.     <LifetimeComponent
  1092. -       lifetime="600"
  1093. +       lifetime="500"
  1094.         >
  1095.     </LifetimeComponent>
  1096.     <!--
  1097. diff --git a/entities/projectiles/orb_expanding.xml b/entities/projectiles/orb_expanding.xml
  1098. index ab2068a..e57f737 100644
  1099. --- a/entities/projectiles/orb_expanding.xml
  1100. +++ b/entities/projectiles/orb_expanding.xml
  1101. @@ -66,12 +66,27 @@
  1102.         </config_explosion>
  1103.     </ProjectileComponent>
  1104.  
  1105. +   <!-- main sprite -->
  1106.     <SpriteComponent
  1107.         image_file="data/projectiles_gfx/orb_expanding.xml"
  1108. -       additive="1"
  1109. -       emissive="1" >
  1110. +       additive="0"
  1111. +       emissive="0" >
  1112.     </SpriteComponent>
  1113.  
  1114. +   <!-- glow sprite -->
  1115. +   <Entity>
  1116. +       <InheritTransformComponent
  1117. +           only_position="1" >
  1118. +       </InheritTransformComponent>
  1119. +       <SpriteComponent
  1120. +           image_file="data/projectiles_gfx/orb_expanding_glow.xml"
  1121. +           additive="1"
  1122. +           emissive="1"
  1123. +           update_transform_rotation="0" >
  1124. +       </SpriteComponent>
  1125. +   </Entity>
  1126. +
  1127. +   <!-- launch flash -->
  1128.     <SpriteComponent
  1129.         image_file="data/particles/explosion_016.xml"
  1130.         z_index="-1.1">
  1131. @@ -160,6 +175,7 @@
  1132.     <ParticleEmitterComponent
  1133.         emitted_material_name="spark_yellow"
  1134.         delay_frames="115"
  1135. +       emitter_lifetime_frames="2"
  1136.         fade_based_on_lifetime="1"
  1137.         render_on_grid="1"
  1138.         x_pos_offset_min="0"
  1139. diff --git a/entities/projectiles/polyorb.xml b/entities/projectiles/polyorb.xml
  1140. index 8c548c8..1ce997a 100644
  1141. --- a/entities/projectiles/polyorb.xml
  1142. +++ b/entities/projectiles/polyorb.xml
  1143. @@ -1,4 +1,4 @@
  1144. -<Entity tags="mortal,hittable,homing_target,polymorphable_NOT" name="$projectile_default">
  1145. +<Entity tags="mortal,hittable,homing_target,polymorphable_NOT,glue_NOT" name="$projectile_default">
  1146.  
  1147.     <PhysicsAIComponent
  1148.         target_vec_max_len="15.0"
  1149. diff --git a/entities/projectiles/polyshot.xml b/entities/projectiles/polyshot.xml
  1150. index 7d807be..092a201 100644
  1151. --- a/entities/projectiles/polyshot.xml
  1152. +++ b/entities/projectiles/polyshot.xml
  1153. @@ -1,4 +1,4 @@
  1154. -<Entity tags="hittable" name="$projectile_default">
  1155. +<Entity tags="hittable,glue_NOT" name="$projectile_default">
  1156.  
  1157.     <Base file="data/entities/base_projectile.xml" >
  1158.         <VelocityComponent
  1159. diff --git a/entities/props/root_grower.xml b/entities/props/root_grower.xml
  1160. index 5682e0a..7aef6b0 100644
  1161. --- a/entities/props/root_grower.xml
  1162. +++ b/entities/props/root_grower.xml
  1163. @@ -1,4 +1,4 @@
  1164. -<Entity tags="mortal,hittable,teleportable_NOT,destruction_target,root">
  1165. +<Entity tags="mortal,hittable,teleportable_NOT,destruction_target,root,glue_NOT">
  1166.     <HitboxComponent
  1167.         aabb_min_x="-3"
  1168.         aabb_max_x="3"
  1169. diff --git a/genome_relations.csv b/genome_relations.csv
  1170. index 1eb9e00..ff11f41 100644
  1171. --- a/genome_relations.csv
  1172. +++ b/genome_relations.csv
  1173. @@ -1,34 +1,35 @@
  1174. -HERD,player,-1,slimes,ant,robot,fly,boss_dragon,crawler,helpless,eel,fire,fungus,ghoul,giant,ice,spider,orcs,rat,electricity,wolf,worm,zombie,nest,mage,flower,ghost,boss_limbs,healer,apparition,bat,mage_swapper,curse,trap
  1175. -      player,100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  1176. --1,0,100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,0,100,0,0,0
  1177. -      slimes,0,0,100,80,95,90,0,0,0,90,90,90,90,90,90,95,95,30,90,90,90,90,100,90,90,90,0,100,50,100,90,100,100
  1178. -         ant,0,0,80,100,40,90,0,0,0,0,0,100,0,0,0,95,40,50,0,0,0,90,100,90,90,90,0,100,50,100,90,100,100
  1179. -       robot,0,0,95,90,100,80,0,90,0,90,95,95,90,90,0,95,95,0,90,0,90,95,100,95,90,90,0,100,50,100,95,100,100
  1180. -         fly,0,0,90,90,90,100,0,0,0,0,90,90,90,0,0,90,90,60,90,0,0,90,100,80,90,90,0,100,50,100,80,100,100
  1181. - boss_dragon,0,0,0,0,0,0,100,0,0,0,0,0,0,0,0,90,0,0,0,0,0,0,100,90,90,90,0,100,50,100,90,100,100
  1182. -     crawler,0,0,0,0,90,0,0,100,0,0,0,0,0,0,0,90,0,0,0,0,0,0,100,90,90,90,0,100,50,100,90,100,100
  1183. -    helpless,0,0,0,0,0,0,0,0,100,0,0,0,0,0,0,90,0,0,0,0,0,0,100,90,90,90,0,100,50,100,90,100,100
  1184. -         eel,0,0,0,0,0,0,0,0,0,100,0,0,0,0,0,90,0,0,0,0,0,0,100,90,90,90,0,100,50,100,90,100,100
  1185. -        fire,0,0,90,80,90,100,0,0,0,0,100,90,90,0,20,90,96,0,0,0,0,90,100,95,90,90,0,100,50,100,95,100,100
  1186. -      fungus,0,0,75,80,70,90,0,0,0,0,80,100,0,0,80,95,95,95,80,0,0,70,100,90,90,90,0,100,50,100,90,100,100
  1187. -       ghoul,0,0,0,0,90,50,0,0,0,0,0,0,100,0,0,90,0,0,0,0,0,0,100,90,90,90,0,100,50,100,90,100,100
  1188. -       giant,0,0,0,0,90,50,0,0,0,0,0,0,0,100,100,90,0,0,0,0,0,0,100,90,90,90,0,100,50,100,90,100,100
  1189. -         ice,0,0,0,0,0,0,0,0,0,0,20,80,0,100,100,90,50,0,0,0,0,90,100,99,90,90,0,100,50,100,99,100,100
  1190. -      spider,0,0,95,95,95,90,0,95,95,0,95,95,0,95,0,100,95,95,95,95,90,95,100,95,90,90,0,100,50,100,95,100,100
  1191. -        orcs,2,0,80,80,95,90,0,30,40,100,90,90,0,90,40,95,100,0,0,0,0,0,100,90,90,90,0,100,50,100,90,100,100
  1192. -         rat,0,0,50,50,50,0,0,0,0,0,0,90,0,0,0,95,50,100,0,0,0,50,100,90,90,90,0,100,50,0,90,100,100
  1193. - electricity,0,0,0,80,90,90,0,0,0,0,0,80,0,0,0,90,0,0,100,0,0,0,100,90,90,90,0,100,50,100,90,100,100
  1194. -        wolf,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,90,0,0,0,100,0,0,100,90,90,90,0,100,50,100,90,100,100
  1195. -        worm,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,90,0,0,0,0,100,0,100,90,90,90,0,100,50,100,90,100,100
  1196. -      zombie,0,0,90,80,90,90,0,0,10,100,90,90,0,0,90,95,95,70,0,0,0,100,100,90,90,90,0,100,50,100,90,100,100
  1197. -nest,0,0,100,100,100,100,0,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,0,100,50,100,100,100,100
  1198. -mage,0,0,90,80,90,90,0,0,0,0,90,90,90,0,95,95,90,0,0,0,0,90,100,100,90,90,0,100,50,100,100,100,100
  1199. -flower,0,0,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,100,90,100,90,0,100,50,100,90,100,100
  1200. -ghost,0,0,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,100,90,90,100,0,100,50,100,90,100,100
  1201. -boss_limbs,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,90,0,0,0,100,100,50,100,0,100,100
  1202. -healer,0,0,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,0,100,100,100,100,100,100,100,100,100,100,50,100,100,100,100
  1203. -apparition,0,0,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,100,100,50,100,100
  1204. -bat,0,0,100,80,95,90,0,0,0,90,90,90,90,90,90,95,95,30,90,90,90,90,100,90,90,90,0,100,50,100,90,100,100
  1205. -mage_swapper,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,100
  1206. -curse,0,0,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100
  1207. -trap,0,0,80,80,50,100,100,100,0,0,100,50,100,100,100,100,100,0,100,0,100,100,100,100,100,100,100,100,100,100,100,100,100
  1208. +HERD,player,-1,slimes,ant,robot,fly,boss_dragon,crawler,helpless,eel,fire,fungus,ghoul,giant,ice,spider,orcs,rat,electricity,wolf,worm,zombie,nest,mage,flower,ghost,boss_limbs,healer,apparition,bat,mage_swapper,curse,trap,ghost_boss
  1209. +      player,100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  1210. +-1,0,100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,0,100,0,0,0,0
  1211. +      slimes,0,0,100,80,95,90,0,0,0,90,90,90,90,90,90,95,95,30,90,90,90,90,100,90,90,90,0,100,50,100,90,100,100,100
  1212. +         ant,0,0,80,100,40,90,0,0,0,0,0,100,0,0,0,95,40,50,0,0,0,90,100,90,90,90,0,100,50,100,90,100,100,100
  1213. +       robot,0,0,95,90,100,80,0,90,0,90,95,95,90,90,0,95,95,0,90,0,90,95,100,95,90,90,0,100,50,100,95,100,100,100
  1214. +         fly,0,0,90,90,90,100,0,0,0,0,90,90,90,0,0,90,90,60,90,0,0,90,100,80,90,90,0,100,50,100,80,100,100,100
  1215. + boss_dragon,0,0,0,0,0,0,100,0,0,0,0,0,0,0,0,90,0,0,0,0,0,0,100,90,90,90,0,100,50,100,90,100,100,100
  1216. +     crawler,0,0,0,0,90,0,0,100,0,0,0,0,0,0,0,90,0,0,0,0,0,0,100,90,90,90,0,100,50,100,90,100,100,100
  1217. +    helpless,0,0,0,0,0,0,0,0,100,0,0,0,0,0,0,90,0,0,0,0,0,0,100,90,90,90,0,100,50,100,90,100,100,100
  1218. +         eel,0,0,0,0,0,0,0,0,0,100,0,0,0,0,0,90,0,0,0,0,0,0,100,90,90,90,0,100,50,100,90,100,100,100
  1219. +        fire,0,0,90,80,90,100,0,0,0,0,100,90,90,0,20,90,96,0,0,0,0,90,100,95,90,90,0,100,50,100,95,100,100,100
  1220. +      fungus,0,0,75,80,70,90,0,0,0,0,80,100,0,0,80,95,95,95,80,0,0,70,100,90,90,90,0,100,50,100,90,100,100,100
  1221. +       ghoul,0,0,0,0,90,50,0,0,0,0,0,0,100,0,0,90,0,0,0,0,0,0,100,90,90,90,0,100,50,100,90,100,100,100
  1222. +       giant,0,0,0,0,90,50,0,0,0,0,0,0,0,100,100,90,0,0,0,0,0,0,100,90,90,90,0,100,50,100,90,100,100,100
  1223. +         ice,0,0,0,0,0,0,0,0,0,0,20,80,0,100,100,90,50,0,0,0,0,90,100,99,90,90,0,100,50,100,99,100,100,100
  1224. +      spider,0,0,95,95,95,90,0,95,95,0,95,95,0,95,0,100,95,95,95,95,90,95,100,95,90,90,0,100,50,100,95,100,100,100
  1225. +        orcs,2,0,80,80,95,90,0,30,40,100,90,90,0,90,40,95,100,0,0,0,0,0,100,90,90,90,0,100,50,100,90,100,100,100
  1226. +         rat,0,0,50,50,50,0,0,0,0,0,0,90,0,0,0,95,50,100,0,0,0,50,100,90,90,90,0,100,50,0,90,100,100,100
  1227. + electricity,0,0,0,80,90,90,0,0,0,0,0,80,0,0,0,90,0,0,100,0,0,0,100,90,90,90,0,100,50,100,90,100,100,100
  1228. +        wolf,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,90,0,0,0,100,0,0,100,90,90,90,0,100,50,100,90,100,100,100
  1229. +        worm,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,90,0,0,0,0,100,0,100,90,90,90,0,100,50,100,90,100,100,100
  1230. +      zombie,0,0,90,80,90,90,0,0,10,100,90,90,0,0,90,95,95,70,0,0,0,100,100,90,90,90,0,100,50,100,90,100,100,100
  1231. +nest,0,0,100,100,100,100,0,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,0,100,50,100,100,100,100,100
  1232. +mage,0,0,90,80,90,90,0,0,0,0,90,90,90,0,95,95,90,0,0,0,0,90,100,100,90,90,0,100,50,100,100,100,100,100
  1233. +flower,0,0,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,100,90,100,90,0,100,50,100,90,100,100,100
  1234. +ghost,0,0,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,100,90,90,100,0,100,50,100,90,100,100,100
  1235. +boss_limbs,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,90,0,0,0,100,100,50,100,0,100,100,100
  1236. +healer,0,0,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,0,100,100,100,100,100,100,100,100,100,100,50,100,100,100,100,100
  1237. +apparition,0,0,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,100,100,50,100,100,100
  1238. +bat,0,0,100,80,95,90,0,0,0,90,90,90,90,90,90,95,95,30,90,90,90,90,100,90,90,90,0,100,50,100,90,100,100,100
  1239. +mage_swapper,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,100,100
  1240. +curse,0,0,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100
  1241. +trap,0,0,80,80,50,100,100,100,0,0,100,50,100,100,100,100,100,0,100,0,100,100,100,100,100,100,100,100,100,100,100,100,100,100
  1242. +ghost_boss,0,0,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100
  1243. diff --git a/magic_numbers.xml b/magic_numbers.xml
  1244. index d7df988..d1b846e 100644
  1245. --- a/magic_numbers.xml
  1246. +++ b/magic_numbers.xml
  1247. @@ -153,10 +153,10 @@
  1248.    INVENTORY_ICON_SIZE="20"
  1249.    INVENTORY_STASH_X="370"
  1250.    INVENTORY_STASH_Y="80"
  1251. -  INVENTORY_DEBUG_X="180"
  1252. -  INVENTORY_DEBUG_Y="55"
  1253. -  DEBUG_UI_ALL_THE_CARDS_HEIGHT="15"
  1254. -  DEBUG_UI_ALL_THE_CARDS_WIDTH="23"
  1255. +  INVENTORY_DEBUG_X="165"
  1256. +  INVENTORY_DEBUG_Y="45"
  1257. +  DEBUG_UI_ALL_THE_CARDS_HEIGHT="16"
  1258. +  DEBUG_UI_ALL_THE_CARDS_WIDTH="24"
  1259.    UI_BARS_POS_X="20"
  1260.    UI_BARS_POS_Y="20"
  1261.    UI_BARS2_OFFSET_X="-40"
  1262. diff --git a/materials.xml b/materials.xml
  1263. index c9f6e7f..314d445 100644
  1264. --- a/materials.xml
  1265. +++ b/materials.xml
  1266. @@ -1185,6 +1185,7 @@
  1267.     ui_name="$mat_wood"
  1268.     wang_color="ff005345"
  1269.     hp="200000"
  1270. +   durability="12"
  1271.     audio_physics_material_event="rock"
  1272.     audio_physics_material_wall="woodwall"
  1273.     audio_physics_material_solid="wood"
  1274. @@ -9695,6 +9696,66 @@
  1275.     </StatusEffects>
  1276.    </CellData>
  1277.    
  1278. +  <CellData
  1279. +   name="fungus_powder"
  1280. +   ui_name="$mat_fungisoil"
  1281. +   tags="[sand_other]"
  1282. +   burnable="1"
  1283. +   density="7"
  1284. +   durability="3"
  1285. +   cell_type="liquid"
  1286. +   wang_color="ffbecafe"
  1287. +   generates_smoke="0"
  1288. +   liquid_gravity="2"
  1289. +   liquid_sand="1"
  1290. +   on_fire="1"
  1291. +   requires_oxygen="0"
  1292. +   temperature_of_fire="10"
  1293. +   autoignition_temperature="0"
  1294. +   generates_flames="0"
  1295. +   on_fire_flame_material="swamp"
  1296. +   hp="1000"
  1297. +   fire_hp="20"
  1298. +   audio_physics_material_event="sand"
  1299. +   audio_physics_material_wall="sand"
  1300. +   audio_physics_material_solid="sand"
  1301. +   show_in_creative_mode="0"
  1302. +   lifetime="4.0"
  1303. +   >
  1304. +   <ExplosionConfig
  1305. +       damage="0"
  1306. +       cell_explosion_power="2"
  1307. +       cell_explosion_damage_required="1"
  1308. +       cell_explosion_radius_min="2"
  1309. +       explosion_sprite=""
  1310. +       load_this_entity="data/entities/misc/fungus_powder.xml"
  1311. +       ray_energy="0"
  1312. +       audio_enabled="0"
  1313. +       create_cell_probability="0"
  1314. +       sparks_enabled="0"
  1315. +       light_enabled="0"
  1316. +       hole_enabled="1"
  1317. +       crack_count="0"
  1318. +       stains_enabled="0"
  1319. +       damage_mortals="0"
  1320. +       particle_effect="0"
  1321. +       >
  1322. +   </ExplosionConfig>
  1323. +    <Graphics
  1324. +     texture_file="data/materials_gfx/meat_rotten.png"
  1325. +     color="ffb89e57" >
  1326. +    </Graphics>
  1327. +   <StatusEffects>
  1328. +       <Ingestion>
  1329. +           <StatusEffect type="POISONED" amount="0.15" />
  1330. +           <StatusEffect type="FOOD_POISONING" amount="0.05" />
  1331. +       </Ingestion>
  1332. +       <Stains>
  1333. +           <StatusEffect type="WET" />
  1334. +       </Stains>
  1335. +   </StatusEffects>
  1336. +  </CellData>
  1337. +  
  1338.    <CellData
  1339.     name="orb_powder"
  1340.     ui_name="$mat_orb_powder"
  1341. diff --git a/projectiles_gfx/orb_expanding.png b/projectiles_gfx/orb_expanding.png
  1342. index eef2c57..3de6371 100644
  1343. Binary files a/projectiles_gfx/orb_expanding.png and b/projectiles_gfx/orb_expanding.png differ
  1344. diff --git a/projectiles_gfx/orb_expanding.xml b/projectiles_gfx/orb_expanding.xml
  1345. index 585fe5f..42992c4 100644
  1346. --- a/projectiles_gfx/orb_expanding.xml
  1347. +++ b/projectiles_gfx/orb_expanding.xml
  1348. @@ -1,7 +1,7 @@
  1349.  <Sprite
  1350.   filename="data/projectiles_gfx/orb_expanding.png"
  1351. - offset_x="10"
  1352. - offset_y="10"
  1353. + offset_x="8"
  1354. + offset_y="8"
  1355.   default_animation="fireball" >
  1356.  
  1357.   <!-- animation -->
  1358. @@ -10,8 +10,8 @@
  1359.    pos_x="0"
  1360.    pos_y="0"
  1361.    frame_count="12"
  1362. -  frame_width="20"
  1363. -  frame_height="20"
  1364. +  frame_width="16"
  1365. +  frame_height="16"
  1366.    frame_wait="0.16"
  1367.    frames_per_row="12"
  1368.    loop="0"   >
  1369. diff --git a/scripts/biomes/alchemist_secret.lua b/scripts/biomes/alchemist_secret.lua
  1370. index 381491d..b884bff 100644
  1371. --- a/scripts/biomes/alchemist_secret.lua
  1372. +++ b/scripts/biomes/alchemist_secret.lua
  1373. @@ -24,7 +24,7 @@ function spawn_potions( x, y ) end
  1374.  function spawn_wands( x, y ) end
  1375.  
  1376.  function init( x, y, w, h )
  1377. -   LoadPixelScene( "data/biome_impl/alchemist_secret.png", "data/biome_impl/alchemist_secret_visual.png", x, y, "data/biome_impl/alchemist_secret_background.png", true )
  1378. +   LoadPixelScene( "data/biome_impl/alchemist_secret.png", "data/biome_impl/alchemist_secret_visual.png", x, y, "", true )
  1379.  end
  1380.  
  1381.  function spawn_orb(x, y)
  1382. diff --git a/scripts/biomes/coalmine.lua b/scripts/biomes/coalmine.lua
  1383. index 40237f3..1e0b886 100644
  1384. --- a/scripts/biomes/coalmine.lua
  1385. +++ b/scripts/biomes/coalmine.lua
  1386. @@ -1192,9 +1192,14 @@ end
  1387.  
  1388.  function spawn_chest(x, y)
  1389.     SetRandomSeed( x, y )
  1390. -   local rnd = Random(1,100)
  1391. +   local super_chest_spawn_rate = 2000
  1392. +   if GameHasFlagRun( "greed_curse" ) and ( GameHasFlagRun( "greed_curse_gone" ) == false ) then
  1393. +       super_chest_spawn_rate = 100
  1394. +   end
  1395. +
  1396. +   local rnd = Random(1,super_chest_spawn_rate)
  1397.    
  1398. -   if (rnd >= 99) then
  1399. +   if (rnd >= super_chest_spawn_rate-1) then
  1400.         EntityLoad( "data/entities/items/pickup/chest_random_super.xml", x, y)
  1401.     else
  1402.         EntityLoad( "data/entities/items/pickup/chest_random.xml", x, y)
  1403. diff --git a/scripts/biomes/lake.lua b/scripts/biomes/lake.lua
  1404. index 8c3ee70..227dec9 100644
  1405. --- a/scripts/biomes/lake.lua
  1406. +++ b/scripts/biomes/lake.lua
  1407. @@ -8,6 +8,7 @@ RegisterSpawnFunction( 0xffb2a700, "spawn_bunker2" )
  1408.  RegisterSpawnFunction( 0xffb27600, "spawn_bunker" )
  1409.  RegisterSpawnFunction( 0xff390000, "spawn_alchemist" )
  1410.  RegisterSpawnFunction( 0xffffeedd, "init" )
  1411. +RegisterSpawnFunction( 0xFF5078C8, "spawn_rainbow_card")
  1412.  
  1413.  ------------ SMALL ENEMIES ----------------------------------------------------
  1414.  
  1415. @@ -243,4 +244,8 @@ end
  1416.  
  1417.  function spawn_teleport_back( x, y )
  1418.     EntityLoad( "data/entities/buildings/teleport_bunker_back.xml", x, y )
  1419. +end
  1420. +
  1421. +function spawn_rainbow_card( x, y )
  1422. +   CreateItemActionEntity( "RAINBOW_TRAIL", x, y )
  1423.  end
  1424. \ No newline at end of file
  1425. diff --git a/scripts/biomes/snowcave.lua b/scripts/biomes/snowcave.lua
  1426. index 482f14b..e092964 100644
  1427. --- a/scripts/biomes/snowcave.lua
  1428. +++ b/scripts/biomes/snowcave.lua
  1429. @@ -298,7 +298,7 @@ g_big_enemies =
  1430.         entity  = "data/entities/animals/thunderskull.xml"
  1431.     },
  1432.     {
  1433. -       prob        = 0.01,
  1434. +       prob        = 0.1,
  1435.         min_count   = 2,
  1436.         max_count   = 4,    
  1437.         entity  = "data/entities/animals/scavenger_glue.xml",
  1438. diff --git a/scripts/biomes/vault.lua b/scripts/biomes/vault.lua
  1439. index 6f55e9f..01080e9 100644
  1440. --- a/scripts/biomes/vault.lua
  1441. +++ b/scripts/biomes/vault.lua
  1442. @@ -37,6 +37,7 @@ RegisterSpawnFunction( 0xffaa42ff, "spawn_electricity_trap" )
  1443.  RegisterSpawnFunction( 0xff33934c, "spawn_shopitem" )
  1444.  
  1445.  RegisterSpawnFunction( 0xffacf14b, "spawn_laser_trap" )
  1446. +RegisterSpawnFunction( 0xffa45aff, "spawn_lab_puzzle" )
  1447.  
  1448.  
  1449.  ------------ small enemies -------------------------------
  1450. @@ -173,10 +174,10 @@ g_small_enemies =
  1451.         }
  1452.     },
  1453.     {
  1454. -       prob        = 0.05,
  1455. +       prob        = 0.1,
  1456.         min_count   = 1,
  1457.         max_count   = 3,    
  1458. -       entity  = "data/entities/animals/scavenger_glue.xml",
  1459. +       entity  = "data/entities/animals/vault/scavenger_glue.xml",
  1460.     },
  1461.  }
  1462.  
  1463. @@ -549,6 +550,14 @@ g_pixel_scene_02 =
  1464.         background_file = "",
  1465.         is_unique       = 0,
  1466.     },
  1467. +   {
  1468. +       prob            = 0.5,
  1469. +       material_file   = "data/biome_impl/vault/lab_puzzle.png",
  1470. +       visual_file     = "data/biome_impl/vault/lab_puzzle_visual.png",
  1471. +       background_file = "data/biome_impl/vault/lab_puzzle_background.png",
  1472. +       is_unique       = 0,
  1473. +       background_z_index = 38,
  1474. +   },
  1475.  }
  1476.  
  1477.  g_pixel_scene_wide =
  1478. @@ -1190,6 +1199,25 @@ function spawn_shopitem( x, y )
  1479.     generate_shop_item( x, y, false, nil )
  1480.  end
  1481.  
  1482. +function spawn_lab_puzzle(x, y)
  1483. +   SetRandomSeed(x, y)
  1484. +   local type_a = random_from_array({
  1485. +       "poly",
  1486. +       "tele",
  1487. +       "charm",
  1488. +       "berserk",
  1489. +   })
  1490. +   local type_b = random_from_array({
  1491. +       "protect",
  1492. +       "worm",
  1493. +       "invis",
  1494. +       "speed",
  1495. +   })
  1496. +   EntityLoad("data/entities/buildings/vault_lab_puzzle_" .. type_a .. ".xml", x - 10, y)
  1497. +   EntityLoad("data/entities/buildings/vault_lab_puzzle_" .. type_b .. ".xml", x + 11, y)
  1498. +end
  1499. +
  1500. +
  1501.  -----------------------------------------
  1502.  -- PIPES
  1503.  -----------------------------------------
  1504. diff --git a/scripts/biomes/vault_frozen.lua b/scripts/biomes/vault_frozen.lua
  1505. index fba4988..b3fe087 100644
  1506. --- a/scripts/biomes/vault_frozen.lua
  1507. +++ b/scripts/biomes/vault_frozen.lua
  1508. @@ -126,6 +126,12 @@ g_small_enemies =
  1509.         max_count   = 1,    
  1510.         entity  = "data/entities/animals/drone_shield.xml"
  1511.     },
  1512. +   {
  1513. +       prob        = 0.1,
  1514. +       min_count   = 2,
  1515. +       max_count   = 4,    
  1516. +       entity  = "data/entities/animals/vault/scavenger_glue.xml",
  1517. +   },
  1518.     {
  1519.         prob        = 0.1,
  1520.         min_count   = 1,
  1521. diff --git a/scripts/buildings/orb_07_pitcheck_b.lua b/scripts/buildings/orb_07_pitcheck_b.lua
  1522. index fdf138b..cc1273b 100644
  1523. --- a/scripts/buildings/orb_07_pitcheck_b.lua
  1524. +++ b/scripts/buildings/orb_07_pitcheck_b.lua
  1525. @@ -1,9 +1,11 @@
  1526.  dofile_once("data/scripts/lib/utilities.lua")
  1527.  
  1528. -function collision_trigger()
  1529. +function collision_trigger( colliding_entity )
  1530.     local entity_id    = GetUpdatedEntityID()
  1531.     local x, y = EntityGetTransform( entity_id )
  1532.  
  1533. +   if( IsInvisible( colliding_entity ) ) then return end
  1534. +
  1535.     local pid = EntityLoad( "data/entities/animals/boss_pit/boss_pit.xml", x - 160, y + 256 )
  1536.     PhysicsApplyForce( pid, 0, -80 )
  1537.  end
  1538. \ No newline at end of file
  1539. diff --git a/scripts/gun/gun.lua b/scripts/gun/gun.lua
  1540. index f08d53d..dd700af 100644
  1541. --- a/scripts/gun/gun.lua
  1542. +++ b/scripts/gun/gun.lua
  1543. @@ -112,6 +112,7 @@ function clone_action( source, target )
  1544.     target.type              = source.type
  1545.     target.recursive         = source.recursive
  1546.     target.related_projectiles = source.related_projectiles
  1547. +   target.related_extra_entities = source.related_extra_entities
  1548.     target.action            = source.action
  1549.     target.deck_index        = source.deck_index
  1550.     target.custom_uses_logic = source.custom_uses_logic
  1551. diff --git a/scripts/gun/gun_actions.lua b/scripts/gun/gun_actions.lua
  1552. index 72a5a92..3ef1f90 100644
  1553. --- a/scripts/gun/gun_actions.lua
  1554. +++ b/scripts/gun/gun_actions.lua
  1555. @@ -1659,6 +1659,27 @@ actions =
  1556.             c.spread_degrees = c.spread_degrees + 4.0
  1557.         end,
  1558.     },
  1559. +   {
  1560. +       id          = "ICEBALL",
  1561. +       name        = "$action_iceball",
  1562. +       description = "$actiondesc_iceball",
  1563. +       sprite      = "data/ui_gfx/gun_actions/iceball.png",
  1564. +       sprite_unidentified = "data/ui_gfx/gun_actions/fireball_unidentified.png",
  1565. +       related_projectiles = {"data/entities/projectiles/deck/iceball.xml"},
  1566. +       type        = ACTION_TYPE_PROJECTILE,
  1567. +       spawn_level                       = "2,3,4,6", -- FIREBALL
  1568. +       spawn_probability                 = "1,1,1,1", -- FIREBALL
  1569. +       price = 260,
  1570. +       mana = 90,
  1571. +       max_uses = 15,
  1572. +       custom_xml_file = "data/entities/misc/custom_cards/iceball.xml",
  1573. +       action      = function()
  1574. +           add_projectile("data/entities/projectiles/deck/iceball.xml")
  1575. +           c.spread_degrees = c.spread_degrees + 8.0
  1576. +           c.fire_rate_wait = c.fire_rate_wait + 80
  1577. +           shot_effects.recoil_knockback = shot_effects.recoil_knockback + 20.0
  1578. +       end,
  1579. +   },
  1580.     --[[
  1581.     {
  1582.         id          = "ICETHROWER",
  1583. @@ -1905,6 +1926,24 @@ actions =
  1584.             shot_effects.recoil_knockback = shot_effects.recoil_knockback + 30.0
  1585.         end,
  1586.     },
  1587. +   {
  1588. +       id          = "GLUE_SHOT",
  1589. +       name        = "$action_glue_shot",
  1590. +       description = "$actiondesc_glue_shot",
  1591. +       sprite      = "data/ui_gfx/gun_actions/glue_shot.png",
  1592. +       sprite_unidentified = "data/ui_gfx/gun_actions/dynamite_unidentified.png",
  1593. +       related_projectiles = {"data/entities/projectiles/deck/glue_shot.xml"},
  1594. +       type        = ACTION_TYPE_PROJECTILE,
  1595. +       spawn_level                       = "2,3,4,5", -- GLUE_SHOT
  1596. +       spawn_probability                 = "0.6,0.2,0.2,0.6", -- GLUE_SHOT
  1597. +       price = 140,
  1598. +       mana = 25,
  1599. +       action      = function()
  1600. +           add_projectile("data/entities/projectiles/deck/glue_shot.xml")
  1601. +           c.fire_rate_wait = c.fire_rate_wait + 30
  1602. +           c.spread_degrees = c.spread_degrees + 5.0
  1603. +       end,
  1604. +   },
  1605.     {
  1606.         id          = "BOMB_HOLY",
  1607.         name        = "$action_bomb_holy",
  1608. @@ -4533,6 +4572,24 @@ actions =
  1609.             draw_actions( 1, true )
  1610.         end,
  1611.     },
  1612. +   {
  1613. +       id          = "HOMING_SHORT",
  1614. +       name        = "$action_homing_short",
  1615. +       description = "$actiondesc_homing_short",
  1616. +       sprite      = "data/ui_gfx/gun_actions/homing_short.png",
  1617. +       sprite_unidentified = "data/ui_gfx/gun_actions/homing_unidentified.png",
  1618. +       related_extra_entities = { "data/entities/misc/homing_short.xml", "data/entities/particles/tinyspark_white_weak.xml" },
  1619. +       type        = ACTION_TYPE_MODIFIER,
  1620. +       spawn_level                       = "1,2,3,4,5,6", -- HOMING
  1621. +       spawn_probability                 = "0.4,0.8,1,0.4,0.1,0.1", -- HOMING
  1622. +       price = 160,
  1623. +       mana = 40,
  1624. +       --max_uses = 100,
  1625. +       action      = function()
  1626. +           c.extra_entities = c.extra_entities .. "data/entities/misc/homing_short.xml,data/entities/particles/tinyspark_white_weak.xml,"
  1627. +           draw_actions( 1, true )
  1628. +       end,
  1629. +   },
  1630.     {
  1631.         id          = "HOMING_ROTATE",
  1632.         name        = "$action_homing_rotate",
  1633. @@ -7366,6 +7423,7 @@ actions =
  1634.         custom_xml_file = "data/entities/misc/custom_cards/energy_shield.xml",
  1635.         action      = function()
  1636.             -- does nothing to the projectiles
  1637. +           draw_actions( 1, true )
  1638.         end,
  1639.     },
  1640.     {
  1641. @@ -7381,6 +7439,7 @@ actions =
  1642.         custom_xml_file = "data/entities/misc/custom_cards/energy_shield_sector.xml",
  1643.         action      = function()
  1644.             -- does nothing to the projectiles
  1645. +           draw_actions( 1, true )
  1646.         end,
  1647.     },
  1648.     {
  1649. @@ -8212,7 +8271,6 @@ actions =
  1650.         description = "$actiondesc_summon_portal",
  1651.         sprite      = "data/ui_gfx/gun_actions/summon_portal.png",
  1652.         sprite_unidentified = "data/ui_gfx/gun_actions/spread_reduce_unidentified.png",
  1653. -       spawn_requires_flag = "card_unlocked_everything",
  1654.         type        = ACTION_TYPE_OTHER,
  1655.         spawn_level                       = "10", -- MANA_REDUCE
  1656.         spawn_probability                 = "0", -- MANA_REDUCE
  1657. diff --git a/scripts/items/chest_random_super.lua b/scripts/items/chest_random_super.lua
  1658. index 821b4a0..bb05805 100644
  1659. --- a/scripts/items/chest_random_super.lua
  1660. +++ b/scripts/items/chest_random_super.lua
  1661. @@ -20,8 +20,9 @@ function drop_random_reward( x, y, entity_id, rand_x, rand_y, set_rnd_  )
  1662.     local count = 1
  1663.  
  1664.     if( Random( 0, 100000) >= 100000 ) then
  1665. -       table.insert( entities, { "data/entities/animals/boss_centipede/sampo.xml" } )
  1666. +       EntityLoadEndGameItem( "data/entities/animals/boss_centipede/sampo.xml", x, y )
  1667.         count = 0
  1668. +       return
  1669.     end
  1670.  
  1671.  
  1672. diff --git a/scripts/items/gold_orb.lua b/scripts/items/gold_orb.lua
  1673. index f7277ca..beba6a2 100644
  1674. --- a/scripts/items/gold_orb.lua
  1675. +++ b/scripts/items/gold_orb.lua
  1676. @@ -13,7 +13,7 @@ function drop()
  1677.        
  1678.         SetRandomSeed( x + entity_id, y - GameGetFrameNum() )
  1679.        
  1680. -       local outcome = Random( 1, 20 )
  1681. +       local outcome = Random( 1, 26 )
  1682.        
  1683.         if ( count == 1 ) then
  1684.             outcome = 10
  1685. diff --git a/scripts/magic/kantele.lua b/scripts/magic/kantele.lua
  1686. index 5ab1378..83926b6 100644
  1687. --- a/scripts/magic/kantele.lua
  1688. +++ b/scripts/magic/kantele.lua
  1689. @@ -4,7 +4,7 @@ local kantele_songs = {
  1690.     portal = { "a", "dis", "e", "g" },
  1691.     bomb = { "g", "d", "e", "d" },
  1692.     worm = { "d", "e", "a", "e", "dis" },
  1693. -   alchemy = { "f", "g", "f", "a2", "c", "g", "f", "gsharp" },
  1694. +   alchemy = { "f", "g", "f", "a2", "c" },
  1695.  }
  1696.  
  1697.  local entity_id = GetUpdatedEntityID()
  1698. diff --git a/scripts/magic/ocarina.lua b/scripts/magic/ocarina.lua
  1699. index 1e4f66d..374212e 100644
  1700. --- a/scripts/magic/ocarina.lua
  1701. +++ b/scripts/magic/ocarina.lua
  1702. @@ -4,7 +4,7 @@ local ocarina_songs = {
  1703.     portal = { "a", "f", "d", "e", "a2" },
  1704.     bomb = { "f", "c", "d", "c" },
  1705.     worm = { "gsharp", "f", "e", "b", "d" },
  1706. -   alchemy = { "a2", "d", "dis", "e", "a", "b", "c", "gsharp" },
  1707. +   alchemy = { "a2", "d", "dis", "e", "a" },
  1708.  }
  1709.  
  1710.  local entity_id = GetUpdatedEntityID()
  1711. diff --git a/scripts/magic/orb_line.lua b/scripts/magic/orb_line.lua
  1712. index ffd4102..da63c84 100644
  1713. --- a/scripts/magic/orb_line.lua
  1714. +++ b/scripts/magic/orb_line.lua
  1715. @@ -7,14 +7,7 @@ SetRandomSeed( x * GameGetFrameNum(), y )
  1716.  
  1717.  local orbdata = orb_map_get()
  1718.  
  1719. -local mx = ( ( x + 17920 ) % 35840 ) - 17920
  1720. -local pw = x
  1721. -
  1722. -if ( x >= 0 ) then
  1723. -   pw = math.floor( ( x + 17920 ) / 35840 )
  1724. -else
  1725. -   pw = math.floor( ( x - 17920 ) / 35840 )
  1726. -end
  1727. +local pw,mx = check_parallel_pos( x )
  1728.  
  1729.  if ( Random( 1, 25 ) == 4 ) then
  1730.     local closest = -1
  1731. diff --git a/scripts/perks/attract_items.lua b/scripts/perks/attract_items.lua
  1732. index 11b86b8..7fe7cc3 100644
  1733. --- a/scripts/perks/attract_items.lua
  1734. +++ b/scripts/perks/attract_items.lua
  1735. @@ -4,13 +4,14 @@ local entity_id = GetUpdatedEntityID()
  1736.  local x, y = EntityGetTransform( entity_id )
  1737.  
  1738.  local items = EntityGetWithTag( "gold_nugget" )
  1739. +local distance_full = tonumber( GlobalsGetValue( "PERK_ATTRACT_ITEMS_RANGE", "72" ) )
  1740. +local power = math.min( distance_full / 8, 20 )
  1741.  
  1742.  if ( #items > 0 ) then
  1743.     for i,item_id in ipairs(items) do  
  1744.         local px, py = EntityGetTransform( item_id )
  1745.        
  1746.         local distance = math.abs( x - px ) + math.abs( y - py )
  1747. -       local distance_full = 72
  1748.        
  1749.         if ( distance < distance_full * 1.25 ) then
  1750.             distance = math.sqrt( ( x - px ) ^ 2 + ( y - py ) ^ 2 )
  1751. @@ -20,8 +21,8 @@ if ( #items > 0 ) then
  1752.                 local physicscomponents = EntityGetComponent( item_id, "PhysicsBodyComponent" )
  1753.                
  1754.                 if ( physicscomponents ~= nil ) then
  1755. -                   local vel_x = math.cos( direction ) * 9
  1756. -                   local vel_y = 0 - math.sin( direction ) * 9
  1757. +                   local vel_x = math.cos( direction ) * power
  1758. +                   local vel_y = 0 - math.sin( direction ) * power
  1759.                    
  1760.                     PhysicsApplyForce( item_id, vel_x, vel_y )
  1761.                 end
  1762. diff --git a/scripts/perks/mana_from_kills.lua b/scripts/perks/mana_from_kills.lua
  1763. index 2f3b8ee..d038919 100644
  1764. --- a/scripts/perks/mana_from_kills.lua
  1765. +++ b/scripts/perks/mana_from_kills.lua
  1766. @@ -3,35 +3,39 @@ dofile_once("data/scripts/lib/utilities.lua")
  1767.  local entity_id = GetUpdatedEntityID()
  1768.  local x, y = EntityGetTransform( entity_id )
  1769.  
  1770. -local targets = EntityGetInRadiusWithTag( x, y, 160, "homing_target" )
  1771. +local targets = EntityGetInRadiusWithTag( x, y, 240, "homing_target" )
  1772.  
  1773.  if ( #targets > 0 ) then
  1774.     for i,target_id in ipairs( targets ) do
  1775.         local variablestorages = EntityGetComponent( target_id, "VariableStorageComponent" )
  1776.         local found = false
  1777.        
  1778. -       if ( variablestorages ~= nil ) then
  1779. -           for j,storage_id in ipairs( variablestorages ) do
  1780. -               local var_name = ComponentGetValue( storage_id, "name" )
  1781. -               if ( var_name == "mana_from_kills" ) then
  1782. -                   found = true
  1783. -                   break
  1784. +       if ( EntityHasTag( target_id, "mana_from_kills" ) == false ) then
  1785. +           if ( variablestorages ~= nil ) then
  1786. +               for j,storage_id in ipairs( variablestorages ) do
  1787. +                   local var_name = ComponentGetValue( storage_id, "name" )
  1788. +                   if ( var_name == "mana_from_kills" ) then
  1789. +                       found = true
  1790. +                       break
  1791. +                   end
  1792.                 end
  1793.             end
  1794. -       end
  1795.  
  1796. -       if ( found == false and ( EntityHasTag( target_id, "polymorphed") == false) ) then
  1797. -           EntityAddComponent( target_id, "VariableStorageComponent",
  1798. -           {
  1799. -               name = "mana_from_kills",
  1800. -               value_int = entity_id,
  1801. -           } )
  1802. -          
  1803. -           EntityAddComponent( target_id, "LuaComponent",
  1804. -           {
  1805. -               script_death = "data/scripts/perks/mana_from_kills_death.lua",
  1806. -               execute_every_n_frame = "-1",
  1807. -           } )
  1808. +           if ( found == false and ( EntityHasTag( target_id, "polymorphed") == false) ) then
  1809. +               EntityAddTag( target_id, "mana_from_kills" )
  1810. +              
  1811. +               EntityAddComponent( target_id, "VariableStorageComponent",
  1812. +               {
  1813. +                   name = "mana_from_kills",
  1814. +                   value_int = entity_id,
  1815. +               } )
  1816. +              
  1817. +               EntityAddComponent( target_id, "LuaComponent",
  1818. +               {
  1819. +                   script_death = "data/scripts/perks/mana_from_kills_death.lua",
  1820. +                   execute_every_n_frame = "-1",
  1821. +               } )
  1822. +           end
  1823.         end
  1824.     end
  1825.  end
  1826. \ No newline at end of file
  1827. diff --git a/scripts/perks/perk_list.lua b/scripts/perks/perk_list.lua
  1828. index 088fbe3..ec53058 100644
  1829. --- a/scripts/perks/perk_list.lua
  1830. +++ b/scripts/perks/perk_list.lua
  1831. @@ -267,12 +267,14 @@ perk_list =
  1832.                     local kick_damage = tonumber( ComponentGetMetaCustom( model, "kick_damage" ) ) + 2.4
  1833.                     local kick_knockback = tonumber( ComponentGetMetaCustom( model, "kick_knockback" ) ) + 250
  1834.                     local telekinesis_throw_speed = tonumber( ComponentGetValue2( model, "telekinesis_throw_speed") ) + 25
  1835. +                   local kick_entities = tostring( ComponentGetValue2( model, "kick_entities" ) ) .. ",data/entities/misc/crack_ice.xml"
  1836.  
  1837.                     ComponentSetMetaCustom( model, "max_force", kick_force )
  1838.                     ComponentSetMetaCustom( model, "player_kickforce", player_kick_force )
  1839.                     ComponentSetMetaCustom( model, "kick_damage", kick_damage )
  1840.                     ComponentSetMetaCustom( model, "kick_knockback", kick_knockback )
  1841.                     ComponentSetValue2( model, "telekinesis_throw_speed", telekinesis_throw_speed )
  1842. +                   ComponentSetValue2( model, "kick_entities", kick_entities )
  1843.                 end
  1844.             end
  1845.  
  1846. @@ -1453,6 +1455,21 @@ perk_list =
  1847.             --GenomeSetHerdId( entity_who_picked, "rat" )
  1848.         end,
  1849.     },
  1850. +   {
  1851. +       id = "MOLD",
  1852. +       ui_name = "$perk_mold",
  1853. +       ui_description = "$perkdesc_mold",
  1854. +       ui_icon = "data/ui_gfx/perk_icons/mold.png",
  1855. +       perk_icon = "data/items_gfx/perks/mold.png",
  1856. +       stackable = STACKABLE_NO,
  1857. +       func = function( entity_perk_item, entity_who_picked, item_name )
  1858. +           local x,y = EntityGetTransform( entity_perk_item )
  1859. +           local child_id = EntityLoad( "data/entities/misc/perks/slime_fungus.xml", x, y )
  1860. +           EntityAddChild( entity_who_picked, child_id )
  1861. +          
  1862. +           EntityLoad( "data/entities/items/pickup/potion_slime.xml", x, y )
  1863. +       end,
  1864. +   },
  1865.     {
  1866.         id = "WORM_SMALLER_HOLES",
  1867.         ui_name = "$perk_worm_smaller_holes",
  1868. @@ -1763,12 +1780,28 @@ perk_list =
  1869.         perk_icon = "data/items_gfx/perks/attract_items.png",
  1870.         usable_by_enemies = true,
  1871.         stackable = STACKABLE_YES,
  1872. +       stackable_maximum = 6,
  1873.         func = function( entity_perk_item, entity_who_picked, item_name )
  1874. +           local distance_full = tonumber( GlobalsGetValue( "PERK_ATTRACT_ITEMS_RANGE", "0" ) )
  1875. +          
  1876. +           if ( distance_full == 0 ) then
  1877. +               GlobalsSetValue( "PERK_ATTRACT_ITEMS_RANGE", "72" )
  1878. +               EntityAddComponent( entity_who_picked, "LuaComponent",
  1879. +               {
  1880. +                   script_source_file = "data/scripts/perks/attract_items.lua",
  1881. +                   execute_every_n_frame = "2",
  1882. +               } )
  1883. +           else
  1884. +               distance_full = distance_full + 24
  1885. +               GlobalsSetValue( "PERK_ATTRACT_ITEMS_RANGE", tostring(distance_full) )
  1886. +           end
  1887. +       end,
  1888. +       func_enemy = function( entity_perk_item, entity_who_picked )
  1889.             EntityAddComponent( entity_who_picked, "LuaComponent",
  1890.             {
  1891. -               script_source_file = "data/scripts/perks/attract_items.lua",
  1892. +               script_source_file = "data/scripts/perks/attract_items_enemy.lua",
  1893.                 execute_every_n_frame = "2",
  1894. -           } )
  1895. +           } )
  1896.         end,
  1897.     },
  1898.     {
  1899. @@ -2316,6 +2349,18 @@ perk_list =
  1900.             GlobalsSetValue( "TEMPLE_PERK_DESTROY_CHANCE", tostring(perk_destroy_chance) )
  1901.         end,
  1902.     },
  1903. +   {
  1904. +       id = "GAMBLE",
  1905. +       ui_name = "$perk_gamble",
  1906. +       ui_description = "$perkdesc_gamble",
  1907. +       ui_icon = "data/ui_gfx/perk_icons/gamble.png", -- TODO
  1908. +       perk_icon = "data/items_gfx/perks/gamble.png", -- TODO
  1909. +       stackable = STACKABLE_YES,
  1910. +       func = function( entity_perk_item, entity_who_picked, item_name )
  1911. +           local pos_x, pos_y = EntityGetTransform(entity_who_picked)
  1912. +           EntityLoad("data/entities/misc/perk_gamble_spawner.xml", pos_x, pos_y)
  1913. +       end,
  1914. +   },
  1915.     {
  1916.         id = "EXTRA_SHOP_ITEM",
  1917.         ui_name = "$perk_extra_shop_item",
  1918. @@ -2412,6 +2457,22 @@ perk_list =
  1919.             } )
  1920.         end,
  1921.     },
  1922. +   {
  1923. +       id = "ANGRY_LEVITATION",
  1924. +       ui_name = "$perk_angry_levitation",
  1925. +       ui_description = "$perkdesc_angry_levitation",
  1926. +       ui_icon = "data/ui_gfx/perk_icons/angry_levitation.png",
  1927. +       perk_icon = "data/items_gfx/perks/angry_levitation.png",
  1928. +       stackable = STACKABLE_NO,
  1929. +       func = function( entity_perk_item, entity_who_picked, item_name )
  1930. +          
  1931. +           EntityAddComponent( entity_who_picked, "LuaComponent",
  1932. +           {
  1933. +               script_source_file = "data/scripts/perks/angry_levitation.lua",
  1934. +               execute_every_n_frame = "20",
  1935. +           } )
  1936. +       end,
  1937. +   },
  1938.     {
  1939.         id = "LASER_AIM",
  1940.         ui_name = "$perk_laser_aim",
  1941. diff --git a/scripts/projectiles/glue_anchor.lua b/scripts/projectiles/glue_anchor.lua
  1942. index ae9bd7e..18a6662 100644
  1943. --- a/scripts/projectiles/glue_anchor.lua
  1944. +++ b/scripts/projectiles/glue_anchor.lua
  1945. @@ -20,11 +20,10 @@ end)
  1946.  
  1947.  if target < 0 then
  1948.     -- no target entity. add physics to tie to a surface
  1949. -   local physics_comp = EntityGetFirstComponent(entity_id, "PhysicsBody2Component")
  1950. -   if physics_comp == nil then
  1951. +   if EntityGetFirstComponent(entity_id, "PhysicsBody2Component") == nil then
  1952.         EntityAddComponent2( entity_id, "PhysicsBody2Component",
  1953.         {
  1954. -           angular_damping = 0.2,
  1955. +           angular_damping = 1.2,
  1956.             destroy_body_if_entity_destroyed = true,
  1957.         })
  1958.         EntityAddComponent2( entity_id, "PhysicsImageShapeComponent",
  1959. @@ -62,38 +61,29 @@ if target_x ~= nil and target_x ~= 0 and target_y ~= 0 then
  1960.     -- snap anchor to target
  1961.     EntitySetTransform(entity_id, target_x, target_y - 2)
  1962.    
  1963. -   -- pull target closer to anchor
  1964. -   local center_x, center_y = EntityGetTransform(EntityGetParent(entity_id))
  1965. -  
  1966. -   local vx = center_x - target_x
  1967. -   local vy = center_y - target_y
  1968. +   -- if target is anchor, don't apply force to both
  1969. +   if target > entity_id and EntityHasTag(target, "glue_anchor") then return end
  1970.  
  1971. -   -- prevent pulling into a wall by checking if glue center (parent) is inside platform
  1972. -   local dist = get_magnitude(vx, vy)
  1973. -   if dist < 8 or RaytracePlatforms(center_x, center_y, center_x + 1, center_y) then
  1974. -       --print("abort pull")
  1975. -       return
  1976. -   end
  1977. +   -- don't apply force physics objects since it gets messy
  1978. +   local comp = EntityGetFirstComponent(target, "PhysicsBodyComponent") or EntityGetFirstComponent(target, "PhysicsBody2Component")
  1979. +   if comp == nil or comp == 0 then
  1980. +       -- pull target closer to anchor
  1981. +       local center_x, center_y = EntityGetTransform(EntityGetParent(entity_id))
  1982. +      
  1983. +       local vx = center_x - target_x
  1984. +       local vy = center_y - target_y
  1985.  
  1986. -   -- calculate force
  1987. -   local age_factor = map(t, 0, 300, 1, 0.25) -- glue pull gets weaker over time
  1988. -   vx, vy = vec_mult(vx, vy, force * age_factor)
  1989. +       -- prevent pulling into a wall by checking if glue center (parent) is inside platform
  1990. +       local dist = get_magnitude(vx, vy)
  1991. +       if dist < 8 or RaytracePlatforms(center_x, center_y, center_x + 1, center_y) then
  1992. +           --print("abort pull")
  1993. +           return
  1994. +       end
  1995. +
  1996. +       -- calculate force
  1997. +       local age_factor = map(t, 0, 300, 1, 0.25) -- glue pull gets weaker over time
  1998. +       vx, vy = vec_mult(vx, vy, force * age_factor)
  1999.  
  2000. -   -- use physics force if applicable
  2001. -   local comp = EntityGetFirstComponent(target, "PhysicsBodyComponent") or EntityGetFirstComponent(target, "PhysicsBody2Component")
  2002. -   if comp ~= nil and comp ~= 0 then
  2003. -       PhysicsApplyForce(target, target_x - vx, target_y - vy)
  2004. -   else
  2005.         EntityApplyTransform(target, target_x + vx, target_y + vy)
  2006. -       --[[
  2007. -       -- apply to velocity comp
  2008. -       local velocitycomp = EntityGetFirstComponent(target, "VelocityComponent")
  2009. -       if velocitycomp ~= nil and velocitycomp ~= 0 then
  2010. -           vx,vy = vec_add(vx, vy, ComponentGetValue2( velocitycomp, "mVelocity"))
  2011. -           ComponentSetValue2( velocitycomp, "mVelocity", vx, vy)
  2012. -       else
  2013. -           print("no velocity component found")
  2014. -       end
  2015. -       --]]
  2016.     end
  2017.  end
  2018. diff --git a/scripts/projectiles/glue_init.lua b/scripts/projectiles/glue_init.lua
  2019. index ce51612..1734054 100644
  2020. --- a/scripts/projectiles/glue_init.lua
  2021. +++ b/scripts/projectiles/glue_init.lua
  2022. @@ -14,13 +14,19 @@ for _,anchor in ipairs(children) do
  2023.     end
  2024.  end
  2025.  
  2026. --- identify target
  2027. +-- optimization: remove when it gets crowded
  2028. +if #EntityGetInRadiusWithTag( pos_x, pos_y, 80, "glue") > 10 then
  2029. +   EntityKill(entity_id)
  2030. +   return
  2031. +end
  2032. +
  2033. +-- identify target & check that it's valid
  2034.  local target = EntityGetClosestWithTag( pos_x, pos_y, tag)
  2035.  if target == nil or target == 0 then return end
  2036.  
  2037.  target = EntityGetRootEntity(target)
  2038.  local tx, ty = EntityGetTransform(target)
  2039. -if get_distance(pos_x, pos_y, tx, ty) > max_dist then return end
  2040. +if get_distance(pos_x, pos_y, tx, ty) > max_dist or EntityHasTag( target, "glue_NOT" ) then return end
  2041.  
  2042.  -- assign a target to glue anchor
  2043.  component_write( EntityGetFirstComponent( children[1], "VariableStorageComponent" ), { value_int = target } )
  2044. diff --git a/scripts/status_effects/effect_curse_cloud_thunder.lua b/scripts/status_effects/effect_curse_cloud_thunder.lua
  2045. index 4e410ba..1a6624c 100644
  2046. --- a/scripts/status_effects/effect_curse_cloud_thunder.lua
  2047. +++ b/scripts/status_effects/effect_curse_cloud_thunder.lua
  2048. @@ -7,5 +7,4 @@ SetRandomSeed( GameGetFrameNum(), pos_x + pos_y + entity_id )
  2049.  
  2050.  local offset_x = Random( -32, 32 )
  2051.  
  2052. -shoot_projectile( entity_id, "data/entities/projectiles/deck/lightning_extra_arcs.xml", pos_x + offset_x, pos_y - 42, 0, 4000 )
  2053. -
  2054. +shoot_projectile( entity_id, "data/entities/projectiles/deck/lightning_extra_arcs.xml", pos_x + offset_x, pos_y - 32, 0, 4000 )
  2055. diff --git a/ui_gfx/animal_icons/_list.txt b/ui_gfx/animal_icons/_list.txt
  2056. index a37617c..8e0b77f 100644
  2057. --- a/ui_gfx/animal_icons/_list.txt
  2058. +++ b/ui_gfx/animal_icons/_list.txt
  2059. @@ -8,6 +8,7 @@ duck
  2060.  wolf
  2061.  deer
  2062.  elk
  2063. +eel
  2064.  zombie_weak
  2065.  zombie
  2066.  miner_weak
  2067. @@ -34,8 +35,8 @@ coward
  2068.  flamer
  2069.  icer
  2070.  bigzombie
  2071. -bigzombie_torso
  2072. -bigzombie_head
  2073. +bigzombietorso
  2074. +bigzombiehead
  2075.  slimeshooter_weak
  2076.  slimeshooter
  2077.  acidshooter_weak
  2078. @@ -136,9 +137,9 @@ crystal_physics
  2079.  bloodcrystal_physics
  2080.  skycrystal_physics
  2081.  chest_mimic
  2082. -chest_leggt
  2083. +chest_leggy
  2084.  necromancer_shop
  2085. -necromander_super
  2086. +necromancer_super
  2087.  boss_dragon
  2088.  boss_limbs
  2089.  boss_alchemist
  2090.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement