Liusad

Noita beta update diff 20210222

Feb 22nd, 2021 (edited)
1,124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Diff 88.47 KB | None | 0 0
  1. HOW TO READ:
  2.  
  3. FILE CHANGED => +++ b/biome/rainforest_dark.xml
  4.  
  5. REMOVED CODE => - background_edge_priority="10"
  6.  
  7. NEW OR CHANGED CODE => + background_edge_priority="9"
  8.  
  9. ---
  10.  
  11. Actual changes below:
  12. diff --git a/biome/\_pixel_scenes.xml b/biome/\_pixel_scenes.xml
  13. index 49fc44a..5c53879 100644
  14. --- a/biome/\_pixel_scenes.xml
  15. +++ b/biome/\_pixel_scenes.xml
  16. @@ -128,6 +128,17 @@
  17. <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" >
  18. </PixelScene>
  19.  
  20. -
  21. -     <PixelScene DEBUG_RELOAD_ME="0" background_filename="" clean_area_before="0" colors_filename="data/biome_impl/eyespot_visual.png" material_filename="data/biome_impl/eyespot.png" pos_x="-3408" pos_y="1712" skip_biome_checks="1" skip_edge_textures="0" >
  22. -     </PixelScene>
  23. -     <PixelScene DEBUG_RELOAD_ME="0" background_filename="" clean_area_before="0" colors_filename="data/biome_impl/eyespot_visual.png" material_filename="data/biome_impl/eyespot.png" pos_x="5852" pos_y="-4944" skip_biome_checks="1" skip_edge_textures="0" >
  24. -     </PixelScene>
  25. -     <PixelScene DEBUG_RELOAD_ME="0" background_filename="" clean_area_before="0" colors_filename="data/biome_impl/eyespot_visual.png" material_filename="data/biome_impl/eyespot.png" pos_x="15024" pos_y="1712" skip_biome_checks="1" skip_edge_textures="0" >
  26. -     </PixelScene>
  27. -     <PixelScene DEBUG_RELOAD_ME="0" background_filename="" clean_area_before="0" colors_filename="data/biome_impl/eyespot_visual.png" material_filename="data/biome_impl/eyespot.png" pos_x="-1360" pos_y="9904" skip_biome_checks="1" skip_edge_textures="0" >
  28. -     </PixelScene>
  29. -     <PixelScene DEBUG_RELOAD_ME="0" background_filename="" clean_area_before="0" colors_filename="data/biome_impl/eyespot_visual.png" material_filename="data/biome_impl/eyespot.png" pos_x="12976" pos_y="9904" skip_biome_checks="1" skip_edge_textures="0" >
  30. -     </PixelScene>
  31.  
  32.       <!-- just load an entity -->
  33.  
  34. @@ -192,6 +203,13 @@
  35. <PixelScene pos_x="-12180" pos_y="-3612" just_load_an_entity="data/entities/misc/platform_wide.xml" />
  36. <PixelScene pos_x="-12180" pos_y="-3868" just_load_an_entity="data/entities/misc/platform_wide.xml" />
  37. <PixelScene pos_x="-12180" pos_y="-4124" just_load_an_entity="data/entities/misc/platform_wide.xml" />
  38.  
  39. -
  40. -     <PixelScene pos_x="-3328" pos_y="1792" just_load_an_entity="data/entities/items/books/book_hint.xml" />
  41. -     <PixelScene pos_x="-3328" pos_y="1792" just_load_an_entity="data/entities/buildings/eyespot_a.xml" />
  42. -     <PixelScene pos_x="5932" pos_y="-4864" just_load_an_entity="data/entities/buildings/eyespot_b.xml" />
  43. -     <PixelScene pos_x="15104" pos_y="1792" just_load_an_entity="data/entities/buildings/eyespot_c.xml" />
  44. -     <PixelScene pos_x="-1280" pos_y="9984" just_load_an_entity="data/entities/buildings/eyespot_d.xml" />
  45. -     <PixelScene pos_x="13056" pos_y="9984" just_load_an_entity="data/entities/buildings/eyespot_e.xml" />
  46.     </mBufferedPixelScenes>
  47.  </PixelScenes>
  48. diff --git a/biome_impl/spliced/gourd_room.png b/biome_impl/spliced/gourd_room.png
  49. index d018205..17bd46d 100644
  50. Binary files a/biome_impl/spliced/gourd_room.png and b/biome_impl/spliced/gourd_room.png differ
  51. diff --git a/biome_impl/spliced/gourd_room/4.plz b/biome_impl/spliced/gourd_room/4.plz
  52. index 0eacb04..abae6cd 100644
  53. Binary files a/biome_impl/spliced/gourd_room/4.plz and b/biome_impl/spliced/gourd_room/4.plz differ
  54. diff --git a/biome_impl/temple/altar_vault_capsule.png b/biome_impl/temple/altar_vault_capsule.png
  55. index 6a3e665..947f454 100644
  56. Binary files a/biome_impl/temple/altar_vault_capsule.png and b/biome_impl/temple/altar_vault_capsule.png differ
  57. diff --git a/entities/_debug/debug_menu.lua b/entities/_debug/debug_menu.lua
  58. index a296d40..917b2cb 100644
  59. --- a/entities/_debug/debug_menu.lua
  60. +++ b/entities/_debug/debug_menu.lua
  61. @@ -365,7 +365,7 @@ main_menu_items =
  62.         end,
  63.     },
  64.     {
  65.  
  66. *     ui_name="Convert material",
  67.  
  68. -     ui_name="Fungal shift",
  69.   action = function()
  70.   local x, y = GameGetCameraPos()
  71.   local player_entity = EntityGetClosestWithTag( x, y, "player_unit" )
  72.   @@ -375,6 +375,18 @@ main_menu_items =
  73.   fungal_shift( player_entity, x, y, true )
  74.   end,
  75.   },
  76. - {
  77. -     ui_name="Fungal shift lava->water",
  78. -     action = function()
  79. -       ConvertMaterialEverywhere( CellFactory_GetType( "lava" ), CellFactory_GetType( "water" ) )
  80. -     end
  81. - },
  82. - {
  83. -     ui_name="Fungal shift lava->radioactive_liquid",
  84. -     action = function()
  85. -       ConvertMaterialEverywhere( CellFactory_GetType( "lava" ), CellFactory_GetType( "radioactive_liquid" ) )
  86. -     end
  87. - },
  88.   {
  89.   ui_name="ConvertMaterialOnAreaInstantly() - test near camera",
  90.   action = function()
  91.   diff --git a/entities/animals/apparition/playerghost.xml b/entities/animals/apparition/playerghost.xml
  92.   index bca3e8f..00a50b8 100644
  93.   --- a/entities/animals/apparition/playerghost.xml
  94.   +++ b/entities/animals/apparition/playerghost.xml
  95.   @@ -22,6 +22,8 @@
  96.   </AudioLoopComponent>
  97.   <Entity>
  98. -     <InheritTransformComponent />
  99. - <GameEffectComponent
  100.   effect="PROTECTION_FREEZE"
  101.   frames="-1"
  102.   diff --git a/entities/animals/assassin.xml b/entities/animals/assassin.xml
  103.   index 15bcc70..b0d0c75 100644
  104.   --- a/entities/animals/assassin.xml
  105.   +++ b/entities/animals/assassin.xml
  106.   @@ -134,6 +134,8 @@
  107.   </AudioLoopComponent>
  108.   <Entity>
  109. -     <InheritTransformComponent />
  110. - <GameEffectComponent
  111.   effect="PROTECTION_FREEZE"
  112.   frames="-1"
  113.   diff --git a/entities/animals/boss_alchemist/boss_alchemist.xml b/entities/animals/boss_alchemist/boss_alchemist.xml
  114.   index 1ac6f02..21dca17 100644
  115.   --- a/entities/animals/boss_alchemist/boss_alchemist.xml
  116.   +++ b/entities/animals/boss_alchemist/boss_alchemist.xml
  117.   @@ -181,6 +181,8 @@
  118.   </VariableStorageComponent>
  119.   <Entity>
  120. -     <InheritTransformComponent />
  121. - <GameEffectComponent
  122.   effect="PROTECTION_FREEZE"
  123.   frames="-1"
  124.   @@ -189,6 +191,8 @@
  125.   </Entity>
  126.   <Entity>
  127. -     <InheritTransformComponent />
  128. - <GameEffectComponent
  129.   effect="PROTECTION*ELECTRICITY"
  130.   frames="-1"
  131.   diff --git a/entities/animals/boss_centipede/sampo_init.lua b/entities/animals/boss_centipede/sampo_init.lua
  132.   index 358661f..e84b99a 100644
  133.   --- a/entities/animals/boss_centipede/sampo_init.lua
  134.   +++ b/entities/animals/boss_centipede/sampo_init.lua
  135.   @@ -10,7 +10,7 @@ if( orb_count > MAX_ORB_NAMES ) then orb_count = MAX_ORB_NAMES end
  136.   local orb_name = "$item_mcguffin*" .. tostring(orb*count)
  137.   local orb_desc = "$itemdesc_mcguffin*" .. tostring(orb_count)
  138.  
  139. -if( GameGetOrbCountThisRun() > 33 ) then
  140. +if( GameGetOrbCountThisRun() >= 33 ) then
  141. orb_name = "$item_mcguffin_33"
  142.     orb_desc = "$itemdesc_mcguffin_33"
  143. end
  144. diff --git a/entities/animals/boss_ghost/boss_ghost.xml b/entities/animals/boss_ghost/boss_ghost.xml
  145. index 2faabdd..6f39de7 100644
  146. --- a/entities/animals/boss_ghost/boss_ghost.xml
  147. +++ b/entities/animals/boss_ghost/boss_ghost.xml
  148. @@ -390,6 +390,8 @@
  149. </HealthBarComponent>
  150. <Entity>
  151.  
  152. -     <InheritTransformComponent />
  153. - <GameEffectComponent
  154.   effect="PROTECTION_FREEZE"
  155.   frames="-1"
  156.   @@ -398,6 +400,8 @@
  157.   </Entity>
  158.   <Entity>
  159. -     <InheritTransformComponent />
  160. - <GameEffectComponent
  161.   effect="PROTECTION_ELECTRICITY"
  162.   frames="-1"
  163.   diff --git a/entities/animals/boss_ghost/polyp_shot.xml b/entities/animals/boss_ghost/polyp_shot.xml
  164.   index 4128a58..5b860ee 100644
  165.   --- a/entities/animals/boss_ghost/polyp_shot.xml
  166.   +++ b/entities/animals/boss_ghost/polyp_shot.xml
  167.   @@ -1,4 +1,4 @@ -<Entity tags="hittable,resist_repulsion" name="$boss_ghost_polyp" > +<Entity tags="hittable,resist_repulsion" name="$animal_boss_ghost_polyp" >
  168.     <Base file="data/entities/base_projectile.xml" >
  169.         <VelocityComponent
  170.   diff --git a/entities/animals/boss_pit/boss_pit.xml b/entities/animals/boss_pit/boss_pit.xml
  171.   index 8c053ed..6fa2c0e 100644
  172.   --- a/entities/animals/boss_pit/boss_pit.xml
  173.   +++ b/entities/animals/boss_pit/boss_pit.xml
  174.   @@ -292,6 +292,8 @@
  175.     <Entity><Base file="data/entities/animals/boss_pit/tentacle.xml"> <InheritTransformComponent><Transform position.x="0"  position.y="4" ></Transform></InheritTransformComponent> </Base></Entity>
  176.    
  177.     <Entity>
  178. -     <InheritTransformComponent />
  179. - <GameEffectComponent
  180.   effect="PROTECTION_FREEZE"
  181.   frames="-1"
  182.   @@ -300,6 +302,8 @@
  183.   </Entity>
  184.   <Entity>
  185. -     <InheritTransformComponent />
  186. - <GameEffectComponent
  187.   effect="PROTECTION_ELECTRICITY"
  188.   frames="-1"
  189.   diff --git a/entities/animals/boss_wizard/boss_wizard.xml b/entities/animals/boss_wizard/boss_wizard.xml
  190.   index af39edb..80ec5ee 100644
  191.   --- a/entities/animals/boss_wizard/boss_wizard.xml
  192.   +++ b/entities/animals/boss_wizard/boss_wizard.xml
  193.   @@ -261,6 +261,8 @@
  194.   </LuaComponent>
  195.   <Entity>
  196. -     <InheritTransformComponent />
  197. - <GameEffectComponent
  198.   effect="PROTECTION_FREEZE"
  199.   frames="-1"
  200.   @@ -269,6 +271,8 @@
  201.   </Entity>
  202.   <Entity>
  203. -     <InheritTransformComponent />
  204. - <GameEffectComponent
  205.   effect="PROTECTION_ELECTRICITY"
  206.   frames="-1"
  207.   @@ -277,6 +281,8 @@
  208.   </Entity>
  209.   <Entity>
  210. -     <InheritTransformComponent />
  211. - <GameEffectComponent
  212.   effect="PROTECTION_ALL"
  213.   frames="101"
  214.   diff --git a/entities/animals/boss_wizard/wizard_orb_blood.xml b/entities/animals/boss_wizard/wizard_orb_blood.xml
  215.   index 2c50a61..cf21465 100644
  216.   --- a/entities/animals/boss_wizard/wizard_orb_blood.xml
  217.   +++ b/entities/animals/boss_wizard/wizard_orb_blood.xml
  218.   @@ -89,6 +89,8 @@
  219.   </DamageModelComponent>
  220.   <Entity>
  221. -     <InheritTransformComponent />
  222. - <GameEffectComponent
  223.   effect="PROTECTION_FREEZE"
  224.   frames="-1"
  225.   @@ -97,6 +99,8 @@
  226.   </Entity>
  227.   <Entity>
  228. -     <InheritTransformComponent />
  229. - <GameEffectComponent
  230.   effect="PROTECTION_ELECTRICITY"
  231.   frames="-1"
  232.   diff --git a/entities/animals/boss_wizard/wizard_orb_death.xml b/entities/animals/boss_wizard/wizard_orb_death.xml
  233.   index b13219b..071af17 100644
  234.   --- a/entities/animals/boss_wizard/wizard_orb_death.xml
  235.   +++ b/entities/animals/boss_wizard/wizard_orb_death.xml
  236.   @@ -89,6 +89,8 @@
  237.   </DamageModelComponent>
  238.   <Entity>
  239. -     <InheritTransformComponent />
  240. - <GameEffectComponent
  241.   effect="PROTECTION_FREEZE"
  242.   frames="-1"
  243.   @@ -97,6 +99,8 @@
  244.   </Entity>
  245.   <Entity>
  246. -     <InheritTransformComponent />
  247. - <GameEffectComponent
  248.   effect="PROTECTION_ELECTRICITY"
  249.   frames="-1"
  250.   diff --git a/entities/animals/crypt/phantom_a.xml b/entities/animals/crypt/phantom_a.xml
  251.   index a171003..7b71d6c 100644
  252.   --- a/entities/animals/crypt/phantom_a.xml
  253.   +++ b/entities/animals/crypt/phantom_a.xml
  254.   @@ -8,6 +8,8 @@
  255.      </Base>
  256.  
  257.    <Entity>
  258. +       <InheritTransformComponent />
  259. +      
  260.         <GameEffectComponent
  261.             effect="PROTECTION_FREEZE"
  262.             frames="-1"
  263. diff --git a/entities/animals/crypt/phantom_b.xml b/entities/animals/crypt/phantom_b.xml
  264. index d40e1ce..6a7e901 100644
  265. --- a/entities/animals/crypt/phantom_b.xml
  266. +++ b/entities/animals/crypt/phantom_b.xml
  267. @@ -8,6 +8,8 @@
  268.    </Base>
  269.    
  270.    <Entity>
  271. +       <InheritTransformComponent />
  272. +      
  273.         <GameEffectComponent
  274.             effect="PROTECTION_FREEZE"
  275.             frames="-1"
  276. diff --git a/entities/animals/crypt/wizard_neutral.xml b/entities/animals/crypt/wizard_neutral.xml
  277. index 27b09e9..b1f5f05 100644
  278. --- a/entities/animals/crypt/wizard_neutral.xml
  279. +++ b/entities/animals/crypt/wizard_neutral.xml
  280. @@ -17,6 +17,8 @@
  281.      </Entity>
  282.    
  283.    <Entity>
  284. +       <InheritTransformComponent />
  285. +      
  286.         <GameEffectComponent
  287.             effect="PROTECTION_FREEZE"
  288.             frames="-1"
  289. @@ -25,6 +27,8 @@
  290.     </Entity>
  291.    
  292.     <Entity>
  293. +       <InheritTransformComponent />
  294. +      
  295.         <GameEffectComponent
  296.             effect="PROTECTION_ELECTRICITY"
  297.             frames="-1"
  298. diff --git a/entities/animals/crypt/worm_skull.xml b/entities/animals/crypt/worm_skull.xml
  299. index ee5b54b..bdacdd6 100644
  300. --- a/entities/animals/crypt/worm_skull.xml
  301. +++ b/entities/animals/crypt/worm_skull.xml
  302. @@ -7,6 +7,8 @@
  303.    </Base>
  304.    
  305.    <Entity>
  306. +       <InheritTransformComponent />
  307. +      
  308.         <GameEffectComponent
  309.             effect="PROTECTION_FREEZE"
  310.             frames="-1"
  311. diff --git a/entities/animals/drone.xml b/entities/animals/drone.xml
  312. index 149e600..d7303cc 100644
  313. --- a/entities/animals/drone.xml
  314. +++ b/entities/animals/drone.xml
  315. @@ -93,6 +93,8 @@
  316.     </AudioLoopComponent>
  317.    
  318.     <Entity>
  319. +       <InheritTransformComponent />
  320. +      
  321.         <GameEffectComponent
  322.             effect="PROTECTION_FREEZE"
  323.             frames="-1"
  324. diff --git a/entities/animals/drone_lasership.xml b/entities/animals/drone_lasership.xml
  325. index 96e8346..3368147 100644
  326. --- a/entities/animals/drone_lasership.xml
  327. +++ b/entities/animals/drone_lasership.xml
  328. @@ -120,6 +120,8 @@
  329.     </AudioLoopComponent>
  330.    
  331.     <Entity>
  332. +       <InheritTransformComponent />
  333. +      
  334.         <GameEffectComponent
  335.             effect="PROTECTION_FREEZE"
  336.             frames="-1"
  337. diff --git a/entities/animals/drone_physics.xml b/entities/animals/drone_physics.xml
  338. index bb4fa65..87861b7 100644
  339. --- a/entities/animals/drone_physics.xml
  340. +++ b/entities/animals/drone_physics.xml
  341. @@ -183,6 +183,8 @@
  342.     </AudioLoopComponent>
  343.    
  344.     <Entity>
  345. +       <InheritTransformComponent />
  346. +      
  347.         <GameEffectComponent
  348.             effect="PROTECTION_FREEZE"
  349.             frames="-1"
  350. diff --git a/entities/animals/drone_shield.xml b/entities/animals/drone_shield.xml
  351. index 5a2b931..a356bcc 100644
  352. --- a/entities/animals/drone_shield.xml
  353. +++ b/entities/animals/drone_shield.xml
  354. @@ -107,6 +107,8 @@
  355.     </AudioLoopComponent>
  356.    
  357.     <Entity>
  358. +       <InheritTransformComponent />
  359. +      
  360.         <GameEffectComponent
  361.             effect="PROTECTION_FREEZE"
  362.             frames="-1"
  363. diff --git a/entities/animals/giant.xml b/entities/animals/giant.xml
  364. index fb734d9..5d6a998 100644
  365. --- a/entities/animals/giant.xml
  366. +++ b/entities/animals/giant.xml
  367. @@ -37,6 +37,7 @@
  368.             ragdoll_blood_amount_absolute="0"
  369.             blood_sprite_directional="data/particles/bloodsplatters/bloodsplatter_directional_blue_$[1-3].xml"
  370.             blood_sprite_large="data/particles/bloodsplatters/bloodsplatter_blue_$[1-3].xml"
  371. +           healing_particle_effect_entity="data/entities/particles/heal_effect.xml"
  372.             >
  373.             <damage_multipliers
  374.                 explosion="0.2"
  375. diff --git a/entities/animals/healerdrone_physics.xml b/entities/animals/healerdrone_physics.xml
  376. index 2626f8d..18e4da8 100644
  377. --- a/entities/animals/healerdrone_physics.xml
  378. +++ b/entities/animals/healerdrone_physics.xml
  379. @@ -180,6 +180,8 @@
  380.     </Base>
  381.    
  382.     <Entity>
  383. +       <InheritTransformComponent />
  384. +      
  385.         <GameEffectComponent
  386.             effect="PROTECTION_FREEZE"
  387.             frames="-1"
  388. diff --git a/entities/animals/icer.xml b/entities/animals/icer.xml
  389. index 5b68600..26ab1cb 100644
  390. --- a/entities/animals/icer.xml
  391. +++ b/entities/animals/icer.xml
  392. @@ -153,6 +153,8 @@
  393.      </ItemPickUpperComponent>
  394.    
  395.     <Entity>
  396. +       <InheritTransformComponent />
  397. +      
  398.         <GameEffectComponent
  399.             effect="PROTECTION_FREEZE"
  400.             frames="-1"
  401. diff --git a/entities/animals/missilecrab.xml b/entities/animals/missilecrab.xml
  402. index b1f0f0d..0d37112 100644
  403. --- a/entities/animals/missilecrab.xml
  404. +++ b/entities/animals/missilecrab.xml
  405. @@ -128,6 +128,8 @@
  406.     </SpriteComponent>
  407.    
  408.     <Entity>
  409. +       <InheritTransformComponent />
  410. +      
  411.         <GameEffectComponent
  412.             effect="PROTECTION_FREEZE"
  413.             frames="-1"
  414. diff --git a/entities/animals/monk.xml b/entities/animals/monk.xml
  415. index 3b6b108..a196f65 100644
  416. --- a/entities/animals/monk.xml
  417. +++ b/entities/animals/monk.xml
  418. @@ -130,6 +130,8 @@
  419.     </AudioComponent>
  420.    
  421.     <Entity>
  422. +       <InheritTransformComponent />
  423. +      
  424.         <GameEffectComponent
  425.             effect="PROTECTION_FREEZE"
  426.             frames="-1"
  427. diff --git a/entities/animals/necrobot.xml b/entities/animals/necrobot.xml
  428. index 9949e46..81010bd 100644
  429. --- a/entities/animals/necrobot.xml
  430. +++ b/entities/animals/necrobot.xml
  431. @@ -141,6 +141,8 @@
  432.     </AudioComponent>
  433.    
  434.     <Entity>
  435. +       <InheritTransformComponent />
  436. +      
  437.         <GameEffectComponent
  438.             effect="PROTECTION_FREEZE"
  439.             frames="-1"
  440. diff --git a/entities/animals/necrobot_super.xml b/entities/animals/necrobot_super.xml
  441. index e9b1c14..de2085d 100644
  442. --- a/entities/animals/necrobot_super.xml
  443. +++ b/entities/animals/necrobot_super.xml
  444. @@ -141,6 +141,8 @@
  445.     </AudioComponent>
  446.    
  447.     <Entity>
  448. +       <InheritTransformComponent />
  449. +      
  450.         <GameEffectComponent
  451.             effect="PROTECTION_FREEZE"
  452.             frames="-1"
  453. diff --git a/entities/animals/necromancer_super.xml b/entities/animals/necromancer_super.xml
  454. index 23cd528..628a488 100644
  455. --- a/entities/animals/necromancer_super.xml
  456. +++ b/entities/animals/necromancer_super.xml
  457. @@ -182,13 +182,18 @@
  458.  
  459.     <!-- protections -->
  460.     <Entity>
  461. +       <InheritTransformComponent />
  462. +      
  463.          <GameEffectComponent
  464.              effect="PROTECTION_FREEZE"
  465.              frames="-1"
  466.          >
  467.          </GameEffectComponent >
  468.      </Entity>
  469. +  
  470.      <Entity>
  471. +       <InheritTransformComponent />
  472. +      
  473.          <GameEffectComponent
  474.              effect="PROTECTION_ELECTRICITY"
  475.              frames="-1"
  476. diff --git a/entities/animals/parallel/alchemist/parallel_alchemist.xml b/entities/animals/parallel/alchemist/parallel_alchemist.xml
  477. index b78000b..dd569a9 100644
  478. --- a/entities/animals/parallel/alchemist/parallel_alchemist.xml
  479. +++ b/entities/animals/parallel/alchemist/parallel_alchemist.xml
  480. @@ -176,6 +176,8 @@
  481.     </VariableStorageComponent>
  482.    
  483.     <Entity>
  484. +       <InheritTransformComponent />
  485. +      
  486.         <GameEffectComponent
  487.             effect="PROTECTION_FREEZE"
  488.             frames="-1"
  489. @@ -184,6 +186,8 @@
  490.     </Entity>
  491.    
  492.     <Entity>
  493. +       <InheritTransformComponent />
  494. +      
  495.         <GameEffectComponent
  496.             effect="PROTECTION_ELECTRICITY"
  497.             frames="-1"
  498. diff --git a/entities/animals/parallel/tentacles/parallel_tentacles.xml b/entities/animals/parallel/tentacles/parallel_tentacles.xml
  499. index b9627fb..327f3c6 100644
  500. --- a/entities/animals/parallel/tentacles/parallel_tentacles.xml
  501. +++ b/entities/animals/parallel/tentacles/parallel_tentacles.xml
  502. @@ -246,6 +246,8 @@
  503.     <Entity><Base file="data/entities/animals/parallel/tentacles/tentacle.xml"> <InheritTransformComponent><Transform position.x="0"  position.y="4" ></Transform></InheritTransformComponent> </Base></Entity>
  504.    
  505.     <Entity>
  506. +       <InheritTransformComponent />
  507. +      
  508.         <GameEffectComponent
  509.             effect="PROTECTION_FREEZE"
  510.             frames="-1"
  511. @@ -254,6 +256,8 @@
  512.     </Entity>
  513.    
  514.     <Entity>
  515. +       <InheritTransformComponent />
  516. +      
  517.         <GameEffectComponent
  518.             effect="PROTECTION_ELECTRICITY"
  519.             frames="-1"
  520. diff --git a/entities/animals/pebble_physics.xml b/entities/animals/pebble_physics.xml
  521. index 173dfd2..a00709a 100644
  522. --- a/entities/animals/pebble_physics.xml
  523. +++ b/entities/animals/pebble_physics.xml
  524. @@ -58,6 +58,7 @@
  525.             blood_spray_material="blood_cold"
  526.             blood_sprite_directional="data/particles/bloodsplatters/bloodsplatter_directional_blue_$[1-3].xml"
  527.             blood_sprite_large="data/particles/bloodsplatters/bloodsplatter_blue_$[1-3].xml"
  528. +           healing_particle_effect_entity="data/entities/particles/heal_effect.xml"
  529.             >
  530.             <damage_multipliers
  531.                 melee="0.0"
  532. diff --git a/entities/animals/phantom_a.xml b/entities/animals/phantom_a.xml
  533. index 5789428..24aff3b 100644
  534. --- a/entities/animals/phantom_a.xml
  535. +++ b/entities/animals/phantom_a.xml
  536. @@ -124,6 +124,8 @@
  537.     </AudioLoopComponent>
  538.    
  539.     <Entity>
  540. +       <InheritTransformComponent />
  541. +      
  542.         <GameEffectComponent
  543.             effect="PROTECTION_FREEZE"
  544.             frames="-1"
  545. diff --git a/entities/animals/phantom_b.xml b/entities/animals/phantom_b.xml
  546. index e5fd6cf..0f4c303 100644
  547. --- a/entities/animals/phantom_b.xml
  548. +++ b/entities/animals/phantom_b.xml
  549. @@ -124,6 +124,8 @@
  550.     </AudioLoopComponent>
  551.    
  552.     <Entity>
  553. +       <InheritTransformComponent />
  554. +      
  555.         <GameEffectComponent
  556.             effect="PROTECTION_FREEZE"
  557.             frames="-1"
  558. diff --git a/entities/animals/playerghost.xml b/entities/animals/playerghost.xml
  559. index 417b83d..45656b7 100644
  560. --- a/entities/animals/playerghost.xml
  561. +++ b/entities/animals/playerghost.xml
  562. @@ -28,6 +28,8 @@
  563.     </AudioLoopComponent>
  564.    
  565.     <Entity>
  566. +       <InheritTransformComponent />
  567. +      
  568.         <GameEffectComponent
  569.             effect="PROTECTION_FREEZE"
  570.             frames="-1"
  571. diff --git a/entities/animals/roboguard.xml b/entities/animals/roboguard.xml
  572. index 1583f18..ca65d45 100644
  573. --- a/entities/animals/roboguard.xml
  574. +++ b/entities/animals/roboguard.xml
  575. @@ -92,6 +92,8 @@
  576.  
  577.     <!-- protection from FREEZING -->
  578.     <Entity>
  579. +       <InheritTransformComponent />
  580. +      
  581.         <GameEffectComponent
  582.             effect="PROTECTION_FREEZE"
  583.             frames="-1"
  584. diff --git a/entities/animals/spearbot.xml b/entities/animals/spearbot.xml
  585. index 18a8556..17983d4 100644
  586. --- a/entities/animals/spearbot.xml
  587. +++ b/entities/animals/spearbot.xml
  588. @@ -132,6 +132,8 @@
  589.     </AudioComponent>
  590.    
  591.     <Entity>
  592. +       <InheritTransformComponent />
  593. +      
  594.         <GameEffectComponent
  595.             effect="PROTECTION_FREEZE"
  596.             frames="-1"
  597. @@ -140,6 +142,8 @@
  598.     </Entity>
  599.    
  600.     <Entity>
  601. +       <InheritTransformComponent />
  602. +      
  603.         <GameEffectComponent
  604.             effect="PROTECTION_EXPLOSION"
  605.             frames="-1"
  606. diff --git a/entities/animals/tank.xml b/entities/animals/tank.xml
  607. index d3d914c..ed2c36e 100644
  608. --- a/entities/animals/tank.xml
  609. +++ b/entities/animals/tank.xml
  610. @@ -205,6 +205,8 @@
  611.  
  612.     <!-- protection from FREEZING -->
  613.     <Entity>
  614. +       <InheritTransformComponent />
  615. +      
  616.         <GameEffectComponent
  617.             effect="PROTECTION_FREEZE"
  618.             frames="-1"
  619. diff --git a/entities/animals/tank_rocket.xml b/entities/animals/tank_rocket.xml
  620. index 26a448d..4ba9d0d 100644
  621. --- a/entities/animals/tank_rocket.xml
  622. +++ b/entities/animals/tank_rocket.xml
  623. @@ -206,6 +206,8 @@
  624.     </AudioLoopComponent>
  625.    
  626.     <Entity>
  627. +       <InheritTransformComponent />
  628. +      
  629.         <GameEffectComponent
  630.             effect="PROTECTION_FREEZE"
  631.             frames="-1"
  632. diff --git a/entities/animals/tank_super.xml b/entities/animals/tank_super.xml
  633. index 852addf..7152d09 100644
  634. --- a/entities/animals/tank_super.xml
  635. +++ b/entities/animals/tank_super.xml
  636. @@ -204,6 +204,8 @@
  637.    
  638.     <!-- protection from FREEZING -->
  639.     <Entity>
  640. +       <InheritTransformComponent />
  641. +      
  642.         <GameEffectComponent
  643.             effect="PROTECTION_FREEZE"
  644.             frames="-1"
  645. diff --git a/entities/animals/the_end/spearbot.xml b/entities/animals/the_end/spearbot.xml
  646. index d09bcd2..3ff6ce7 100644
  647. --- a/entities/animals/the_end/spearbot.xml
  648. +++ b/entities/animals/the_end/spearbot.xml
  649. @@ -8,6 +8,8 @@
  650.    </Base>
  651.    
  652.    <Entity>
  653. +       <InheritTransformComponent />
  654. +      
  655.         <GameEffectComponent
  656.             effect="PROTECTION_FREEZE"
  657.             frames="-1"
  658. @@ -16,6 +18,8 @@
  659.     </Entity>
  660.    
  661.     <Entity>
  662. +       <InheritTransformComponent />
  663. +      
  664.         <GameEffectComponent
  665.             effect="PROTECTION_EXPLOSION"
  666.             frames="-1"
  667. diff --git a/entities/animals/thundermage_big.xml b/entities/animals/thundermage_big.xml
  668. index 4526784..cb2de8d 100644
  669. --- a/entities/animals/thundermage_big.xml
  670. +++ b/entities/animals/thundermage_big.xml
  671. @@ -165,6 +165,8 @@
  672.     </AudioLoopComponent>
  673.    
  674.     <Entity>
  675. +       <InheritTransformComponent />
  676. +      
  677.         <GameEffectComponent
  678.             effect="PROTECTION_FREEZE"
  679.             frames="-1"
  680. @@ -173,6 +175,8 @@
  681.     </Entity>
  682.    
  683.     <Entity>
  684. +       <InheritTransformComponent />
  685. +      
  686.         <GameEffectComponent
  687.             effect="PROTECTION_ELECTRICITY"
  688.             frames="-1"
  689. diff --git a/entities/animals/turret_left.xml b/entities/animals/turret_left.xml
  690. index 10f92fd..c831f97 100644
  691. --- a/entities/animals/turret_left.xml
  692. +++ b/entities/animals/turret_left.xml
  693. @@ -9,6 +9,8 @@
  694.     </Base>
  695.    
  696.     <Entity>
  697. +       <InheritTransformComponent />
  698. +      
  699.         <GameEffectComponent
  700.             effect="PROTECTION_FREEZE"
  701.             frames="-1"
  702. diff --git a/entities/animals/turret_right.xml b/entities/animals/turret_right.xml
  703. index a698318..66499a0 100644
  704. --- a/entities/animals/turret_right.xml
  705. +++ b/entities/animals/turret_right.xml
  706. @@ -176,6 +176,8 @@
  707.     </SpriteComponent>
  708.    
  709.     <Entity>
  710. +       <InheritTransformComponent />
  711. +      
  712.         <GameEffectComponent
  713.             effect="PROTECTION_FREEZE"
  714.             frames="-1"
  715. diff --git a/entities/animals/vault/assassin.xml b/entities/animals/vault/assassin.xml
  716. index ff39ec8..6982f47 100644
  717. --- a/entities/animals/vault/assassin.xml
  718. +++ b/entities/animals/vault/assassin.xml
  719. @@ -13,6 +13,8 @@
  720.     </Entity>
  721.    
  722.     <Entity>
  723. +       <InheritTransformComponent />
  724. +      
  725.         <GameEffectComponent
  726.             effect="PROTECTION_FREEZE"
  727.             frames="-1"
  728. diff --git a/entities/animals/vault/drone_physics.xml b/entities/animals/vault/drone_physics.xml
  729. index 5e567eb..eff2e99 100644
  730. --- a/entities/animals/vault/drone_physics.xml
  731. +++ b/entities/animals/vault/drone_physics.xml
  732. @@ -18,6 +18,8 @@
  733.     </Entity>
  734.    
  735.     <Entity>
  736. +       <InheritTransformComponent />
  737. +      
  738.         <GameEffectComponent
  739.             effect="PROTECTION_FREEZE"
  740.             frames="-1"
  741. diff --git a/entities/animals/vault/healerdrone_physics.xml b/entities/animals/vault/healerdrone_physics.xml
  742. index 3b30353..6001ac4 100644
  743. --- a/entities/animals/vault/healerdrone_physics.xml
  744. +++ b/entities/animals/vault/healerdrone_physics.xml
  745. @@ -20,6 +20,8 @@
  746.    </Base>
  747.    
  748.     <Entity>
  749. +       <InheritTransformComponent />
  750. +      
  751.         <GameEffectComponent
  752.             effect="PROTECTION_FREEZE"
  753.             frames="-1"
  754. diff --git a/entities/animals/vault/icer.xml b/entities/animals/vault/icer.xml
  755. index 56a6595..6cea79e 100644
  756. --- a/entities/animals/vault/icer.xml
  757. +++ b/entities/animals/vault/icer.xml
  758. @@ -8,6 +8,8 @@
  759.    </Base>
  760.    
  761.     <Entity>
  762. +       <InheritTransformComponent />
  763. +      
  764.         <GameEffectComponent
  765.             effect="PROTECTION_FREEZE"
  766.             frames="-1"
  767. diff --git a/entities/animals/vault/missilecrab.xml b/entities/animals/vault/missilecrab.xml
  768. index f0f2fa0..dae40ec 100644
  769. --- a/entities/animals/vault/missilecrab.xml
  770. +++ b/entities/animals/vault/missilecrab.xml
  771. @@ -8,6 +8,8 @@
  772.    </Base>
  773.    
  774.     <Entity>
  775. +       <InheritTransformComponent />
  776. +      
  777.         <GameEffectComponent
  778.             effect="PROTECTION_FREEZE"
  779.             frames="-1"
  780. diff --git a/entities/animals/vault/roboguard.xml b/entities/animals/vault/roboguard.xml
  781. index 05ae0f2..3faf715 100644
  782. --- a/entities/animals/vault/roboguard.xml
  783. +++ b/entities/animals/vault/roboguard.xml
  784. @@ -8,6 +8,8 @@
  785.    </Base>
  786.    
  787.     <Entity>
  788. +       <InheritTransformComponent />
  789. +      
  790.         <GameEffectComponent
  791.             effect="PROTECTION_FREEZE"
  792.             frames="-1"
  793. diff --git a/entities/animals/vault/tank.xml b/entities/animals/vault/tank.xml
  794. index cbe21e6..5ce9d07 100644
  795. --- a/entities/animals/vault/tank.xml
  796. +++ b/entities/animals/vault/tank.xml
  797. @@ -8,6 +8,8 @@
  798.    </Base>
  799.    
  800.     <Entity>
  801. +       <InheritTransformComponent />
  802. +      
  803.         <GameEffectComponent
  804.             effect="PROTECTION_FREEZE"
  805.             frames="-1"
  806. diff --git a/entities/animals/vault/tank_rocket.xml b/entities/animals/vault/tank_rocket.xml
  807. index 39ad3c5..58907b0 100644
  808. --- a/entities/animals/vault/tank_rocket.xml
  809. +++ b/entities/animals/vault/tank_rocket.xml
  810. @@ -8,6 +8,8 @@
  811.    </Base>
  812.    
  813.     <Entity>
  814. +       <InheritTransformComponent />
  815. +      
  816.         <GameEffectComponent
  817.             effect="PROTECTION_FREEZE"
  818.             frames="-1"
  819. diff --git a/entities/animals/vault/tank_super.xml b/entities/animals/vault/tank_super.xml
  820. index 876c945..d7f00bd 100644
  821. --- a/entities/animals/vault/tank_super.xml
  822. +++ b/entities/animals/vault/tank_super.xml
  823. @@ -205,6 +205,8 @@
  824.     </AudioLoopComponent>
  825.    
  826.     <Entity>
  827. +       <InheritTransformComponent />
  828. +      
  829.         <GameEffectComponent
  830.             effect="PROTECTION_FREEZE"
  831.             frames="-1"
  832. diff --git a/entities/animals/vault/turret_left.xml b/entities/animals/vault/turret_left.xml
  833. index e077c8c..b18ddab 100644
  834. --- a/entities/animals/vault/turret_left.xml
  835. +++ b/entities/animals/vault/turret_left.xml
  836. @@ -8,6 +8,8 @@
  837.    </Base>
  838.    
  839.     <Entity>
  840. +       <InheritTransformComponent />
  841. +      
  842.         <GameEffectComponent
  843.             effect="PROTECTION_FREEZE"
  844.             frames="-1"
  845. diff --git a/entities/animals/vault/turret_right.xml b/entities/animals/vault/turret_right.xml
  846. index 90a5f9d..b4cad8c 100644
  847. --- a/entities/animals/vault/turret_right.xml
  848. +++ b/entities/animals/vault/turret_right.xml
  849. @@ -8,6 +8,8 @@
  850.    </Base>
  851.    
  852.     <Entity>
  853. +       <InheritTransformComponent />
  854. +      
  855.         <GameEffectComponent
  856.             effect="PROTECTION_FREEZE"
  857.             frames="-1"
  858. diff --git a/entities/animals/wizard_neutral.xml b/entities/animals/wizard_neutral.xml
  859. index 63900be..586e380 100644
  860. --- a/entities/animals/wizard_neutral.xml
  861. +++ b/entities/animals/wizard_neutral.xml
  862. @@ -166,6 +166,8 @@
  863.     </SpriteComponent>
  864.      
  865.     <Entity>
  866. +       <InheritTransformComponent />
  867. +      
  868.         <GameEffectComponent
  869.             effect="PROTECTION_FREEZE"
  870.             frames="-1"
  871. @@ -174,6 +176,8 @@
  872.     </Entity>
  873.    
  874.     <Entity>
  875. +       <InheritTransformComponent />
  876. +      
  877.         <GameEffectComponent
  878.             effect="PROTECTION_ELECTRICITY"
  879.             frames="-1"
  880. diff --git a/entities/animals/wizard_wither.xml b/entities/animals/wizard_wither.xml
  881. index e0556c5..120595f 100644
  882. --- a/entities/animals/wizard_wither.xml
  883. +++ b/entities/animals/wizard_wither.xml
  884. @@ -111,6 +111,8 @@
  885.      </Entity>
  886.    
  887.     <Entity>
  888. +       <InheritTransformComponent />
  889. +      
  890.         <GameEffectComponent
  891.             effect="PROTECTION_FREEZE"
  892.             frames="-1"
  893. diff --git a/entities/animals/worm_skull.xml b/entities/animals/worm_skull.xml
  894. index 2bb43ad..d87800f 100644
  895. --- a/entities/animals/worm_skull.xml
  896. +++ b/entities/animals/worm_skull.xml
  897. @@ -342,6 +342,8 @@
  898.    </AudioComponent>
  899.    
  900.    <Entity>
  901. +       <InheritTransformComponent />
  902. +      
  903.         <GameEffectComponent
  904.             effect="PROTECTION_FREEZE"
  905.             frames="-1"
  906. diff --git a/entities/buildings/arrowtrap_left.xml b/entities/buildings/arrowtrap_left.xml
  907. index 9e74332..3b2acde 100644
  908. --- a/entities/buildings/arrowtrap_left.xml
  909. +++ b/entities/buildings/arrowtrap_left.xml
  910. @@ -86,6 +86,8 @@
  911.     </CameraBoundComponent>
  912.    
  913.     <Entity>
  914. +       <InheritTransformComponent />
  915. +      
  916.         <GameEffectComponent
  917.             effect="PROTECTION_FREEZE"
  918.             frames="-1"
  919. @@ -94,6 +96,8 @@
  920.     </Entity>
  921.    
  922.     <Entity>
  923. +       <InheritTransformComponent />
  924. +      
  925.         <GameEffectComponent
  926.             effect="PROTECTION_ELECTRICITY"
  927.             frames="-1"
  928. diff --git a/entities/buildings/arrowtrap_right.xml b/entities/buildings/arrowtrap_right.xml
  929. index a4e56e2..735c73a 100644
  930. --- a/entities/buildings/arrowtrap_right.xml
  931. +++ b/entities/buildings/arrowtrap_right.xml
  932. @@ -27,6 +27,8 @@
  933.     </Base>
  934.    
  935.     <Entity>
  936. +       <InheritTransformComponent />
  937. +      
  938.         <GameEffectComponent
  939.             effect="PROTECTION_FREEZE"
  940.             frames="-1"
  941. @@ -35,6 +37,8 @@
  942.     </Entity>
  943.    
  944.     <Entity>
  945. +       <InheritTransformComponent />
  946. +      
  947.         <GameEffectComponent
  948.             effect="PROTECTION_ELECTRICITY"
  949.             frames="-1"
  950. diff --git a/entities/buildings/failed_alchemist_orb.xml b/entities/buildings/failed_alchemist_orb.xml
  951. index c5bdd6b..cd3e581 100644
  952. --- a/entities/buildings/failed_alchemist_orb.xml
  953. +++ b/entities/buildings/failed_alchemist_orb.xml
  954. @@ -88,6 +88,8 @@
  955.    </AudioLoopComponent>
  956.    
  957.     <Entity>
  958. +       <InheritTransformComponent />
  959. +      
  960.         <GameEffectComponent
  961.             effect="PROTECTION_ELECTRICITY"
  962.             frames="-1"
  963. @@ -96,6 +98,8 @@
  964.     </Entity>
  965.    
  966.     <Entity>
  967. +       <InheritTransformComponent />
  968. +      
  969.         <GameEffectComponent
  970.             effect="PROTECTION_FREEZE"
  971.             frames="-1"
  972. diff --git a/entities/buildings/firetrap_left.xml b/entities/buildings/firetrap_left.xml
  973. index 0c03236..ec543d9 100644
  974. --- a/entities/buildings/firetrap_left.xml
  975. +++ b/entities/buildings/firetrap_left.xml
  976. @@ -87,6 +87,8 @@
  977.     </CameraBoundComponent>
  978.    
  979.     <Entity>
  980. +       <InheritTransformComponent />
  981. +      
  982.         <GameEffectComponent
  983.             effect="PROTECTION_FREEZE"
  984.             frames="-1"
  985. @@ -95,6 +97,8 @@
  986.     </Entity>
  987.    
  988.     <Entity>
  989. +       <InheritTransformComponent />
  990. +      
  991.         <GameEffectComponent
  992.             effect="PROTECTION_ELECTRICITY"
  993.             frames="-1"
  994. diff --git a/entities/buildings/firetrap_right.xml b/entities/buildings/firetrap_right.xml
  995. index e067b97..d9610ef 100644
  996. --- a/entities/buildings/firetrap_right.xml
  997. +++ b/entities/buildings/firetrap_right.xml
  998. @@ -27,6 +27,8 @@
  999.     </Base>
  1000.    
  1001.     <Entity>
  1002. +       <InheritTransformComponent />
  1003. +      
  1004.         <GameEffectComponent
  1005.             effect="PROTECTION_FREEZE"
  1006.             frames="-1"
  1007. @@ -35,6 +37,8 @@
  1008.     </Entity>
  1009.    
  1010.     <Entity>
  1011. +       <InheritTransformComponent />
  1012. +      
  1013.         <GameEffectComponent
  1014.             effect="PROTECTION_ELECTRICITY"
  1015.             frames="-1"
  1016. diff --git a/entities/buildings/spittrap_left.xml b/entities/buildings/spittrap_left.xml
  1017. index ed65c5d..3c2bc00 100644
  1018. --- a/entities/buildings/spittrap_left.xml
  1019. +++ b/entities/buildings/spittrap_left.xml
  1020. @@ -87,6 +87,8 @@
  1021.     </CameraBoundComponent>
  1022.    
  1023.     <Entity>
  1024. +       <InheritTransformComponent />
  1025. +      
  1026.         <GameEffectComponent
  1027.             effect="PROTECTION_FREEZE"
  1028.             frames="-1"
  1029. @@ -95,6 +97,8 @@
  1030.     </Entity>
  1031.    
  1032.     <Entity>
  1033. +       <InheritTransformComponent />
  1034. +      
  1035.         <GameEffectComponent
  1036.             effect="PROTECTION_ELECTRICITY"
  1037.             frames="-1"
  1038. diff --git a/entities/buildings/spittrap_right.xml b/entities/buildings/spittrap_right.xml
  1039. index c68359f..085257c 100644
  1040. --- a/entities/buildings/spittrap_right.xml
  1041. +++ b/entities/buildings/spittrap_right.xml
  1042. @@ -27,6 +27,8 @@
  1043.     </Base>
  1044.    
  1045.     <Entity>
  1046. +       <InheritTransformComponent />
  1047. +      
  1048.         <GameEffectComponent
  1049.             effect="PROTECTION_FREEZE"
  1050.             frames="-1"
  1051. @@ -35,6 +37,8 @@
  1052.     </Entity>
  1053.    
  1054.     <Entity>
  1055. +       <InheritTransformComponent />
  1056. +      
  1057.         <GameEffectComponent
  1058.             effect="PROTECTION_ELECTRICITY"
  1059.             frames="-1"
  1060. diff --git a/entities/buildings/thundertrap_left.xml b/entities/buildings/thundertrap_left.xml
  1061. index 0c5ba81..8d8e4e0 100644
  1062. --- a/entities/buildings/thundertrap_left.xml
  1063. +++ b/entities/buildings/thundertrap_left.xml
  1064. @@ -87,6 +87,8 @@
  1065.     </CameraBoundComponent>
  1066.    
  1067.     <Entity>
  1068. +       <InheritTransformComponent />
  1069. +      
  1070.         <GameEffectComponent
  1071.             effect="PROTECTION_FREEZE"
  1072.             frames="-1"
  1073. @@ -95,6 +97,8 @@
  1074.     </Entity>
  1075.    
  1076.     <Entity>
  1077. +       <InheritTransformComponent />
  1078. +      
  1079.         <GameEffectComponent
  1080.             effect="PROTECTION_ELECTRICITY"
  1081.             frames="-1"
  1082. diff --git a/entities/buildings/thundertrap_right.xml b/entities/buildings/thundertrap_right.xml
  1083. index 0d30c04..6f99321 100644
  1084. --- a/entities/buildings/thundertrap_right.xml
  1085. +++ b/entities/buildings/thundertrap_right.xml
  1086. @@ -27,6 +27,8 @@
  1087.     </Base>
  1088.    
  1089.     <Entity>
  1090. +       <InheritTransformComponent />
  1091. +      
  1092.         <GameEffectComponent
  1093.             effect="PROTECTION_FREEZE"
  1094.             frames="-1"
  1095. @@ -35,6 +37,8 @@
  1096.     </Entity>
  1097.    
  1098.     <Entity>
  1099. +       <InheritTransformComponent />
  1100. +      
  1101.         <GameEffectComponent
  1102.             effect="PROTECTION_ELECTRICITY"
  1103.             frames="-1"
  1104. diff --git a/entities/buildings/vault_lab_puzzle_worm.xml b/entities/buildings/vault_lab_puzzle_worm.xml
  1105. index d539920..a2ecc6b 100644
  1106. --- a/entities/buildings/vault_lab_puzzle_worm.xml
  1107. +++ b/entities/buildings/vault_lab_puzzle_worm.xml
  1108. @@ -2,7 +2,7 @@
  1109.     <Base file="data/entities/buildings/vault_lab_puzzle_protect.xml">
  1110.         <MaterialAreaCheckerComponent
  1111.             material="magic_liquid_worm_attractor"
  1112. -           material2="magic_liquid_worm_attractor" >
  1113. +           material2="blood_worm" >
  1114.         </MaterialAreaCheckerComponent>
  1115.         <PixelSceneComponent
  1116.             pixel_scene_background="data/biome_impl/vault/lab_puzzle_worm_background.png" >
  1117. diff --git a/entities/items/pickup/bloodmoney_10.xml b/entities/items/pickup/bloodmoney_10.xml
  1118. index 0d1dbb8..97d8732 100644
  1119. --- a/entities/items/pickup/bloodmoney_10.xml
  1120. +++ b/entities/items/pickup/bloodmoney_10.xml
  1121. @@ -22,6 +22,7 @@
  1122.     <!-- Arvi: Increased this to 0.16 so that 10 hp nuggets are a bit better at healing relative to the others -->
  1123.    
  1124.     <VariableStorageComponent
  1125. +       _tags="enabled_in_world"
  1126.         name="hp_value"
  1127.         value_float="0.16" >
  1128.     </VariableStorageComponent>
  1129. diff --git a/entities/items/pickup/bloodmoney_1000.xml b/entities/items/pickup/bloodmoney_1000.xml
  1130. index d01e970..af57ec5 100644
  1131. --- a/entities/items/pickup/bloodmoney_1000.xml
  1132. +++ b/entities/items/pickup/bloodmoney_1000.xml
  1133. @@ -20,6 +20,7 @@
  1134.  
  1135.     <!-- 3*100 / 25 = 12.0 -->
  1136.     <VariableStorageComponent
  1137. +       _tags="enabled_in_world"
  1138.         name="hp_value"
  1139.         value_float="0.6" >
  1140.     </VariableStorageComponent>
  1141. diff --git a/entities/items/pickup/bloodmoney_10000.xml b/entities/items/pickup/bloodmoney_10000.xml
  1142. index f6bd3e2..57fd540 100644
  1143. --- a/entities/items/pickup/bloodmoney_10000.xml
  1144. +++ b/entities/items/pickup/bloodmoney_10000.xml
  1145. @@ -20,6 +20,7 @@
  1146.  
  1147.     <!-- 3*100 / 25 = 12.0 -->
  1148.     <VariableStorageComponent
  1149. +       _tags="enabled_in_world"
  1150.         name="hp_value"
  1151.         value_float="0.6" >
  1152.     </VariableStorageComponent>
  1153. diff --git a/entities/items/pickup/bloodmoney_200.xml b/entities/items/pickup/bloodmoney_200.xml
  1154. index 30d20d4..0d3befe 100644
  1155. --- a/entities/items/pickup/bloodmoney_200.xml
  1156. +++ b/entities/items/pickup/bloodmoney_200.xml
  1157. @@ -20,6 +20,7 @@
  1158.  
  1159.     <!-- 3*20 / 25 = 0.6 -->
  1160.     <VariableStorageComponent
  1161. +       _tags="enabled_in_world"
  1162.         name="hp_value"
  1163.         value_float="0.6" >
  1164.     </VariableStorageComponent>
  1165. diff --git a/entities/items/pickup/bloodmoney_50.xml b/entities/items/pickup/bloodmoney_50.xml
  1166. index 11cd309..60eace3 100644
  1167. --- a/entities/items/pickup/bloodmoney_50.xml
  1168. +++ b/entities/items/pickup/bloodmoney_50.xml
  1169. @@ -20,6 +20,7 @@
  1170.  
  1171.     <!-- 3*5 / 25 = 0.6 -->
  1172.     <VariableStorageComponent
  1173. +       _tags="enabled_in_world"
  1174.         name="hp_value"
  1175.         value_float="0.4" >
  1176.     </VariableStorageComponent>
  1177. diff --git a/entities/items/pickup/goldnugget.xml b/entities/items/pickup/goldnugget.xml
  1178. index f988d5b..f2b64eb 100644
  1179. --- a/entities/items/pickup/goldnugget.xml
  1180. +++ b/entities/items/pickup/goldnugget.xml
  1181. @@ -2,6 +2,7 @@
  1182.  
  1183.     <!-- physical presence -->
  1184.     <UIInfoComponent
  1185. +       _tags="enabled_in_world"
  1186.         name="$item_goldnugget">
  1187.     </UIInfoComponent>
  1188.  
  1189. @@ -18,7 +19,8 @@
  1190.         on_death_leave_physics_body="1" >
  1191.     </PhysicsBodyComponent>
  1192.    
  1193. -   <PhysicsImageShapeComponent
  1194. +   <PhysicsImageShapeComponent
  1195. +       _tags="enabled_in_world"
  1196.         body_id="1"
  1197.         centered="1"
  1198.         image_file="data/items_gfx/goldnugget_01.png"
  1199. @@ -26,6 +28,7 @@
  1200.     </PhysicsImageShapeComponent>
  1201.  
  1202.     <VariableStorageComponent
  1203. +       _tags="enabled_in_world"
  1204.         name="gold_value"
  1205.         value_int="10" >
  1206.     </VariableStorageComponent>
  1207. @@ -55,14 +58,17 @@
  1208.     </HitboxComponent>
  1209.  
  1210.     <LifetimeComponent
  1211. +       _tags="enabled_in_world"
  1212.         lifetime="900" >
  1213.     </LifetimeComponent>
  1214.    
  1215. -   <LuaComponent
  1216. +   <LuaComponent
  1217. +       _tags="enabled_in_world"
  1218.         script_item_picked_up="data/scripts/items/gold_pickup.lua" >
  1219.     </LuaComponent>
  1220.    
  1221. -   <LuaComponent
  1222. +   <LuaComponent
  1223. +       _tags="enabled_in_world"
  1224.         script_source_file="data/scripts/perks/gold_explosion.lua"
  1225.         execute_on_added="1"
  1226.         remove_after_executed="1"
  1227. @@ -71,6 +77,7 @@
  1228.  
  1229.     <!-- particle glitter -->
  1230.     <SpriteParticleEmitterComponent
  1231. +       _tags="enabled_in_world"
  1232.         sprite_file="data/particles/shine_08.xml"
  1233.         lifetime="0.2"
  1234.         randomize_lifetime.min="0.1"
  1235. diff --git a/entities/items/pickup/goldnugget_10.xml b/entities/items/pickup/goldnugget_10.xml
  1236. index 9f7c3f2..c8203ad 100644
  1237. --- a/entities/items/pickup/goldnugget_10.xml
  1238. +++ b/entities/items/pickup/goldnugget_10.xml
  1239. @@ -2,10 +2,11 @@
  1240.  
  1241.     <!-- physical presence -->
  1242.     <UIInfoComponent
  1243. +       _tags="enabled_in_world"
  1244.         name="$item_goldnugget">
  1245.     </UIInfoComponent>
  1246.  
  1247. -   <PhysicsBodyComponent
  1248. +   <PhysicsBodyComponent
  1249.         _tags="enabled_in_world"
  1250.         uid="1"
  1251.         allow_sleep="1"
  1252. @@ -18,7 +19,8 @@
  1253.         on_death_leave_physics_body="1" >
  1254.     </PhysicsBodyComponent>
  1255.    
  1256. -   <PhysicsImageShapeComponent
  1257. +   <PhysicsImageShapeComponent
  1258. +       _tags="enabled_in_world"
  1259.         body_id="1"
  1260.         centered="1"
  1261.         image_file="data/items_gfx/goldnugget_6px.png"
  1262. @@ -26,6 +28,7 @@
  1263.     </PhysicsImageShapeComponent>
  1264.  
  1265.     <VariableStorageComponent
  1266. +       _tags="enabled_in_world"
  1267.         name="gold_value"
  1268.         value_int="10" >
  1269.     </VariableStorageComponent>
  1270. @@ -55,14 +58,17 @@
  1271.     </HitboxComponent>
  1272.  
  1273.     <LifetimeComponent
  1274. +       _tags="enabled_in_world"
  1275.         lifetime="900" >
  1276.     </LifetimeComponent>
  1277.    
  1278. -   <LuaComponent
  1279. +   <LuaComponent
  1280. +       _tags="enabled_in_world"
  1281.         script_item_picked_up="data/scripts/items/gold_pickup.lua" >
  1282.     </LuaComponent>
  1283.    
  1284. -   <LuaComponent
  1285. +   <LuaComponent
  1286. +       _tags="enabled_in_world"
  1287.         script_source_file="data/scripts/perks/gold_explosion.lua"
  1288.         execute_on_added="1"
  1289.         remove_after_executed="1"
  1290. @@ -71,6 +77,7 @@
  1291.  
  1292.     <!-- particle glitter -->
  1293.     <SpriteParticleEmitterComponent
  1294. +       _tags="enabled_in_world"
  1295.         sprite_file="data/particles/shine_08.xml"
  1296.         lifetime="0.2"
  1297.         randomize_lifetime.min="0.1"
  1298. diff --git a/entities/items/pickup/goldnugget_1000.xml b/entities/items/pickup/goldnugget_1000.xml
  1299. index 852a034..e718ced 100644
  1300. --- a/entities/items/pickup/goldnugget_1000.xml
  1301. +++ b/entities/items/pickup/goldnugget_1000.xml
  1302. @@ -2,10 +2,11 @@
  1303.  
  1304.     <!-- physical presence -->
  1305.     <UIInfoComponent
  1306. +       _tags="enabled_in_world"
  1307.         name="$item_goldnugget">
  1308.     </UIInfoComponent>
  1309.  
  1310. -   <PhysicsBodyComponent
  1311. +   <PhysicsBodyComponent
  1312.         _tags="enabled_in_world"
  1313.         uid="1"
  1314.         allow_sleep="1"
  1315. @@ -18,7 +19,8 @@
  1316.         on_death_leave_physics_body="1" >
  1317.     </PhysicsBodyComponent>
  1318.    
  1319. -   <PhysicsImageShapeComponent
  1320. +   <PhysicsImageShapeComponent
  1321. +       _tags="enabled_in_world"
  1322.         body_id="1"
  1323.         centered="1"
  1324.         image_file="data/items_gfx/goldnugget_20px.png"
  1325. @@ -26,6 +28,7 @@
  1326.     </PhysicsImageShapeComponent>
  1327.  
  1328.     <VariableStorageComponent
  1329. +       _tags="enabled_in_world"
  1330.         name="gold_value"
  1331.         value_int="1000" >
  1332.     </VariableStorageComponent>
  1333. @@ -55,14 +58,17 @@
  1334.     </HitboxComponent>
  1335.  
  1336.     <LifetimeComponent
  1337. +       _tags="enabled_in_world"
  1338.         lifetime="900" >
  1339.     </LifetimeComponent>
  1340.    
  1341. -   <LuaComponent
  1342. +   <LuaComponent
  1343. +       _tags="enabled_in_world"
  1344.         script_item_picked_up="data/scripts/items/gold_pickup.lua" >
  1345.     </LuaComponent>
  1346.    
  1347. -   <LuaComponent
  1348. +   <LuaComponent
  1349. +       _tags="enabled_in_world"
  1350.         script_source_file="data/scripts/perks/gold_explosion.lua"
  1351.         execute_on_added="1"
  1352.         remove_after_executed="1"
  1353. @@ -71,6 +77,7 @@
  1354.  
  1355.     <!-- particle glitter -->
  1356.     <SpriteParticleEmitterComponent
  1357. +       _tags="enabled_in_world"
  1358.         sprite_file="data/particles/shine_07.xml"
  1359.         lifetime="0.3"
  1360.         emission_interval_min_frames="20"
  1361. @@ -96,6 +103,7 @@
  1362.     </SpriteParticleEmitterComponent>
  1363.  
  1364.     <SpriteParticleEmitterComponent
  1365. +       _tags="enabled_in_world"
  1366.         sprite_file="data/particles/shine_08.xml"
  1367.         lifetime="0.2"
  1368.         randomize_lifetime.min="0.1"
  1369. @@ -123,6 +131,7 @@
  1370.     </SpriteParticleEmitterComponent>
  1371.  
  1372.     <SpriteParticleEmitterComponent
  1373. +       _tags="enabled_in_world"
  1374.         sprite_file="data/particles/shine_06.xml"
  1375.         lifetime="0.56"
  1376.         emission_interval_min_frames="100"
  1377. diff --git a/entities/items/pickup/goldnugget_10000.xml b/entities/items/pickup/goldnugget_10000.xml
  1378. index b709015..0747d49 100644
  1379. --- a/entities/items/pickup/goldnugget_10000.xml
  1380. +++ b/entities/items/pickup/goldnugget_10000.xml
  1381. @@ -2,6 +2,7 @@
  1382.  
  1383.    <!-- physical presence -->
  1384.     <UIInfoComponent
  1385. +       _tags="enabled_in_world"
  1386.         name="$item_goldnugget">
  1387.     </UIInfoComponent>
  1388.  
  1389. @@ -19,7 +20,8 @@
  1390.    </PhysicsBodyComponent>
  1391.    
  1392.    <!-- Thank you Derek! -->
  1393. -  <PhysicsImageShapeComponent
  1394. +  <PhysicsImageShapeComponent
  1395. +   _tags="enabled_in_world"
  1396.      body_id="1"
  1397.      centered="1"
  1398.      image_file="data/items_gfx/easter/golden_idol.png"
  1399. @@ -27,6 +29,7 @@
  1400.    </PhysicsImageShapeComponent>
  1401.  
  1402.    <VariableStorageComponent
  1403. +   _tags="enabled_in_world"
  1404.      name="gold_value"
  1405.      value_int="10000" >
  1406.    </VariableStorageComponent>
  1407. @@ -56,14 +59,17 @@
  1408.    </HitboxComponent>
  1409.  
  1410.    <LifetimeComponent
  1411. +   _tags="enabled_in_world"
  1412.      lifetime="900" >
  1413.    </LifetimeComponent>
  1414.    
  1415. -   <LuaComponent
  1416. +   <LuaComponent
  1417. +       _tags="enabled_in_world"
  1418.         script_item_picked_up="data/scripts/items/gold_pickup.lua" >
  1419.     </LuaComponent>
  1420.    
  1421. -   <LuaComponent
  1422. +   <LuaComponent
  1423. +       _tags="enabled_in_world"
  1424.         script_source_file="data/scripts/perks/gold_explosion.lua"
  1425.         execute_on_added="1"
  1426.         remove_after_executed="1"
  1427. @@ -72,6 +78,7 @@
  1428.  
  1429.        <!-- particle glitter -->
  1430.    <SpriteParticleEmitterComponent
  1431. +   _tags="enabled_in_world"
  1432.      sprite_file="data/particles/shine_07.xml"
  1433.      lifetime="0.3"
  1434.      emission_interval_min_frames="20"
  1435. @@ -97,6 +104,7 @@
  1436.    </SpriteParticleEmitterComponent>
  1437.  
  1438.    <SpriteParticleEmitterComponent
  1439. +   _tags="enabled_in_world"
  1440.      sprite_file="data/particles/shine_08.xml"
  1441.      lifetime="0.2"
  1442.      randomize_lifetime.min="0.1"
  1443. @@ -124,6 +132,7 @@
  1444.    </SpriteParticleEmitterComponent>
  1445.  
  1446.    <SpriteParticleEmitterComponent
  1447. +   _tags="enabled_in_world"
  1448.      sprite_file="data/particles/shine_06.xml"
  1449.      lifetime="0.56"
  1450.      emission_interval_min_frames="100"
  1451. diff --git a/entities/items/pickup/goldnugget_200.xml b/entities/items/pickup/goldnugget_200.xml
  1452. index 092d134..9704fd5 100644
  1453. --- a/entities/items/pickup/goldnugget_200.xml
  1454. +++ b/entities/items/pickup/goldnugget_200.xml
  1455. @@ -2,10 +2,11 @@
  1456.  
  1457.     <!-- physical presence -->
  1458.     <UIInfoComponent
  1459. +       _tags="enabled_in_world"
  1460.         name="$item_goldnugget">
  1461.     </UIInfoComponent>
  1462.  
  1463. -   <PhysicsBodyComponent
  1464. +   <PhysicsBodyComponent
  1465.         _tags="enabled_in_world"
  1466.         uid="1"
  1467.         allow_sleep="1"
  1468. @@ -18,7 +19,8 @@
  1469.         on_death_leave_physics_body="1" >
  1470.     </PhysicsBodyComponent>
  1471.    
  1472. -   <PhysicsImageShapeComponent
  1473. +   <PhysicsImageShapeComponent
  1474. +       _tags="enabled_in_world"
  1475.         body_id="1"
  1476.         centered="1"
  1477.         image_file="data/items_gfx/goldnugget_12px.png"
  1478. @@ -26,6 +28,7 @@
  1479.     </PhysicsImageShapeComponent>
  1480.  
  1481.     <VariableStorageComponent
  1482. +       _tags="enabled_in_world"
  1483.         name="gold_value"
  1484.         value_int="200" >
  1485.     </VariableStorageComponent>
  1486. @@ -55,14 +58,17 @@
  1487.     </HitboxComponent>
  1488.  
  1489.     <LifetimeComponent
  1490. +       _tags="enabled_in_world"
  1491.         lifetime="900" >
  1492.     </LifetimeComponent>
  1493.    
  1494. -   <LuaComponent
  1495. +   <LuaComponent
  1496. +       _tags="enabled_in_world"
  1497.         script_item_picked_up="data/scripts/items/gold_pickup.lua" >
  1498.     </LuaComponent>
  1499.    
  1500. -   <LuaComponent
  1501. +   <LuaComponent
  1502. +       _tags="enabled_in_world"
  1503.         script_source_file="data/scripts/perks/gold_explosion.lua"
  1504.         execute_on_added="1"
  1505.         remove_after_executed="1"
  1506. @@ -71,6 +77,7 @@
  1507.  
  1508.     <!-- particle glitter -->
  1509.     <SpriteParticleEmitterComponent
  1510. +       _tags="enabled_in_world"
  1511.         sprite_file="data/particles/shine_07.xml"
  1512.         lifetime="0.3"
  1513.         emission_interval_min_frames="50"
  1514. @@ -96,6 +103,7 @@
  1515.     </SpriteParticleEmitterComponent>
  1516.  
  1517.     <SpriteParticleEmitterComponent
  1518. +       _tags="enabled_in_world"
  1519.         sprite_file="data/particles/shine_08.xml"
  1520.         lifetime="0.2"
  1521.         randomize_lifetime.min="0.1"
  1522. diff --git a/entities/items/pickup/goldnugget_50.xml b/entities/items/pickup/goldnugget_50.xml
  1523. index 9b4cb4c..3d76d99 100644
  1524. --- a/entities/items/pickup/goldnugget_50.xml
  1525. +++ b/entities/items/pickup/goldnugget_50.xml
  1526. @@ -2,10 +2,11 @@
  1527.  
  1528.     <!-- physical presence -->
  1529.     <UIInfoComponent
  1530. +       _tags="enabled_in_world"
  1531.         name="$item_goldnugget">
  1532.     </UIInfoComponent>
  1533.  
  1534. -   <PhysicsBodyComponent
  1535. +   <PhysicsBodyComponent
  1536.         _tags="enabled_in_world"
  1537.         uid="1"
  1538.         allow_sleep="1"
  1539. @@ -18,7 +19,8 @@
  1540.         on_death_leave_physics_body="1" >
  1541.     </PhysicsBodyComponent>
  1542.    
  1543. -   <PhysicsImageShapeComponent
  1544. +   <PhysicsImageShapeComponent
  1545. +       _tags="enabled_in_world"
  1546.         body_id="1"
  1547.         centered="1"
  1548.         image_file="data/items_gfx/goldnugget_9px.png"
  1549. @@ -26,6 +28,7 @@
  1550.     </PhysicsImageShapeComponent>
  1551.  
  1552.     <VariableStorageComponent
  1553. +       _tags="enabled_in_world"
  1554.         name="gold_value"
  1555.         value_int="50" >
  1556.     </VariableStorageComponent>
  1557. @@ -55,14 +58,17 @@
  1558.     </HitboxComponent>
  1559.  
  1560.     <LifetimeComponent
  1561. +       _tags="enabled_in_world"
  1562.         lifetime="900" >
  1563.     </LifetimeComponent>
  1564.    
  1565. -   <LuaComponent
  1566. +   <LuaComponent
  1567. +       _tags="enabled_in_world"
  1568.         script_item_picked_up="data/scripts/items/gold_pickup.lua" >
  1569.     </LuaComponent>
  1570.    
  1571. -   <LuaComponent
  1572. +   <LuaComponent
  1573. +       _tags="enabled_in_world"
  1574.         script_source_file="data/scripts/perks/gold_explosion.lua"
  1575.         execute_on_added="1"
  1576.         remove_after_executed="1"
  1577. @@ -71,6 +77,7 @@
  1578.  
  1579.     <!-- particle glitter -->
  1580.     <SpriteParticleEmitterComponent
  1581. +       _tags="enabled_in_world"
  1582.         sprite_file="data/particles/shine_07.xml"
  1583.         lifetime="0.3"
  1584.         emission_interval_min_frames="100"
  1585. @@ -96,6 +103,7 @@
  1586.     </SpriteParticleEmitterComponent>
  1587.  
  1588.     <SpriteParticleEmitterComponent
  1589. +       _tags="enabled_in_world"
  1590.         sprite_file="data/particles/shine_08.xml"
  1591.         lifetime="0.2"
  1592.         randomize_lifetime.min="0.1"
  1593. diff --git a/entities/misc/effect_trip_03.xml b/entities/misc/effect_trip_03.xml
  1594. index 1ff4dc5..043ed3e 100644
  1595. --- a/entities/misc/effect_trip_03.xml
  1596. +++ b/entities/misc/effect_trip_03.xml
  1597. @@ -1,4 +1,4 @@
  1598. -<Entity name="effect_tripping_balls">
  1599. +<Entity name="effect_tripping_balls" tags="tripping_extreme">
  1600.  
  1601.     <InheritTransformComponent>
  1602.      </InheritTransformComponent>
  1603. diff --git a/entities/player_base.xml b/entities/player_base.xml
  1604. index 2e60357..ad5ff78 100644
  1605. --- a/entities/player_base.xml
  1606. +++ b/entities/player_base.xml
  1607. @@ -428,6 +428,18 @@
  1608.         z_index="0.59"
  1609.         _enabled="0"
  1610.     ></SpriteComponent>
  1611. +  
  1612. +   <SpriteComponent
  1613. +       _tags="character,player_hat"
  1614. +       alpha="1"
  1615. +       image_file="data/enemies_gfx/player_hat.xml"
  1616. +       next_rect_animation=""
  1617. +       offset_x="6"
  1618. +       offset_y="14"
  1619. +       rect_animation="walk"
  1620. +       z_index="0.59"
  1621. +       _enabled="0"
  1622. +   ></SpriteComponent>
  1623.  
  1624.     <LuaComponent
  1625.         script_source_file="data/scripts/magic/amulet.lua"
  1626. diff --git a/entities/projectiles/deck/iceball.xml b/entities/projectiles/deck/iceball.xml
  1627. index f9adafe..2807b88 100644
  1628. --- a/entities/projectiles/deck/iceball.xml
  1629. +++ b/entities/projectiles/deck/iceball.xml
  1630. @@ -195,13 +195,128 @@
  1631.    </LightComponent>
  1632.  
  1633.    <MagicConvertMaterialComponent
  1634. -        from_material=""
  1635. -        to_material=""
  1636. -        steps_per_frame="5"
  1637. -       extinguish_fire="1"
  1638. +        from_material="fire"
  1639. +        to_material="air"
  1640. +        steps_per_frame="20"
  1641.          loop="1"
  1642. -        is_circle="1"
  1643. -        radius="15" >
  1644. +       is_circle="1"
  1645. +        radius="20" >
  1646. +    </MagicConvertMaterialComponent>
  1647. +  
  1648. +   <MagicConvertMaterialComponent
  1649. +        from_material="lava"
  1650. +        to_material="rock_static"
  1651. +        steps_per_frame="20"
  1652. +        loop="1"
  1653. +       is_circle="1"
  1654. +        radius="20" >
  1655. +    </MagicConvertMaterialComponent>
  1656. +  
  1657. +    <MagicConvertMaterialComponent
  1658. +        from_material="water"
  1659. +        to_material="ice_static"
  1660. +        steps_per_frame="20"
  1661. +        loop="1"
  1662. +       is_circle="1"
  1663. +        radius="20" >
  1664. +    </MagicConvertMaterialComponent>
  1665. +
  1666. +    <MagicConvertMaterialComponent
  1667. +        from_material="water_ice"
  1668. +        to_material="ice_static"
  1669. +        steps_per_frame="20"
  1670. +        loop="1"
  1671. +       is_circle="1"
  1672. +        radius="20" >
  1673. +    </MagicConvertMaterialComponent>
  1674. +
  1675. +    <MagicConvertMaterialComponent
  1676. +        from_material="water_salt"
  1677. +        to_material="ice_static"
  1678. +        steps_per_frame="20"
  1679. +        loop="1"
  1680. +       is_circle="1"
  1681. +        radius="20" >
  1682. +    </MagicConvertMaterialComponent>
  1683. +
  1684. +    <MagicConvertMaterialComponent
  1685. +        from_material="water_static"
  1686. +        to_material="ice_static"
  1687. +        steps_per_frame="20"
  1688. +        loop="1"
  1689. +       is_circle="1"
  1690. +        radius="20" >
  1691. +    </MagicConvertMaterialComponent>
  1692. +
  1693. +    <MagicConvertMaterialComponent
  1694. +        from_material="water_swamp"
  1695. +        to_material="ice_static"
  1696. +        steps_per_frame="20"
  1697. +        loop="1"
  1698. +       is_circle="1"
  1699. +        radius="20" >
  1700. +    </MagicConvertMaterialComponent>
  1701. +  
  1702. +   <MagicConvertMaterialComponent
  1703. +        from_material="radioactive_liquid"
  1704. +        to_material="ice_radioactive_static"
  1705. +        steps_per_frame="20"
  1706. +        loop="1"
  1707. +       is_circle="1"
  1708. +        radius="20" >
  1709. +    </MagicConvertMaterialComponent>
  1710. +  
  1711. +   <MagicConvertMaterialComponent
  1712. +        from_material="acid"
  1713. +        to_material="ice_acid_static"
  1714. +        steps_per_frame="20"
  1715. +        loop="1"
  1716. +       is_circle="1"
  1717. +        radius="20" >
  1718. +    </MagicConvertMaterialComponent>
  1719. +  
  1720. +   <MagicConvertMaterialComponent
  1721. +        from_material="blood_cold"
  1722. +        to_material="ice_cold_static"
  1723. +        steps_per_frame="20"
  1724. +        loop="1"
  1725. +       is_circle="1"
  1726. +        radius="20" >
  1727. +    </MagicConvertMaterialComponent>
  1728. +  
  1729. +   <MagicConvertMaterialComponent
  1730. +        from_material="blood"
  1731. +        to_material="ice_blood_static"
  1732. +        steps_per_frame="20"
  1733. +        loop="1"
  1734. +       is_circle="1"
  1735. +        radius="20" >
  1736. +    </MagicConvertMaterialComponent>
  1737. +  
  1738. +   <MagicConvertMaterialComponent
  1739. +        from_material="poison"
  1740. +        to_material="ice_poison_static"
  1741. +        steps_per_frame="20"
  1742. +        loop="1"
  1743. +       is_circle="1"
  1744. +        radius="20" >
  1745. +    </MagicConvertMaterialComponent>
  1746. +  
  1747. +   <MagicConvertMaterialComponent
  1748. +        from_material="slime"
  1749. +        to_material="ice_slime_static"
  1750. +        steps_per_frame="20"
  1751. +        loop="1"
  1752. +       is_circle="1"
  1753. +        radius="20" >
  1754. +    </MagicConvertMaterialComponent>
  1755. +    
  1756. +    <MagicConvertMaterialComponent
  1757. +      kill_when_finished="0"
  1758. +      extinguish_fire="1"
  1759. +      is_circle="1"
  1760. +      loop="1"
  1761. +      radius="30" >
  1762.      </MagicConvertMaterialComponent>
  1763.  
  1764.    <AudioComponent
  1765. diff --git a/entities/projectiles/deck/pebble_player_physics.xml b/entities/projectiles/deck/pebble_player_physics.xml
  1766. index cc9d6a1..33f3aff 100644
  1767. --- a/entities/projectiles/deck/pebble_player_physics.xml
  1768. +++ b/entities/projectiles/deck/pebble_player_physics.xml
  1769. @@ -64,6 +64,7 @@
  1770.             blood_spray_material="blood_cold"
  1771.             blood_sprite_directional="data/particles/bloodsplatters/bloodsplatter_directional_blue_$[1-3].xml"
  1772.             blood_sprite_large="data/particles/bloodsplatters/bloodsplatter_blue_$[1-3].xml"
  1773. +           healing_particle_effect_entity="data/entities/particles/heal_effect.xml"
  1774.             >
  1775.             <damage_multipliers
  1776.                 melee="0.0"
  1777. diff --git a/entities/projectiles/deck/powerdigger.xml b/entities/projectiles/deck/powerdigger.xml
  1778. index 09a049e..ade36e4 100644
  1779. --- a/entities/projectiles/deck/powerdigger.xml
  1780. +++ b/entities/projectiles/deck/powerdigger.xml
  1781. @@ -69,8 +69,6 @@
  1782.        is_digger="1"
  1783.        audio_enabled="0" >
  1784.      </config_explosion>
  1785. -    <damage_by_type drill="0.01" >
  1786. -    </damage_by_type>
  1787.    </ProjectileComponent>
  1788.    
  1789.    <SpriteParticleEmitterComponent
  1790. diff --git a/genome_relations.csv b/genome_relations.csv
  1791. index ff11f41..13aeb3c 100644
  1792. --- a/genome_relations.csv
  1793. +++ b/genome_relations.csv
  1794. @@ -1,5 +1,5 @@
  1795.  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
  1796. -      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
  1797. +      player,100,0,0,0,0,0,0,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
  1798.  -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
  1799.        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
  1800.           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
  1801. diff --git a/items_gfx/wands/custom/skull_01.png b/items_gfx/wands/custom/skull_01.png
  1802. index 68f099b..45cf132 100644
  1803. Binary files a/items_gfx/wands/custom/skull_01.png and b/items_gfx/wands/custom/skull_01.png differ
  1804. diff --git a/materials.xml b/materials.xml
  1805. index 314d445..3680fe6 100644
  1806. --- a/materials.xml
  1807. +++ b/materials.xml
  1808. @@ -2976,7 +2976,6 @@
  1809.     _parent="steel_static"
  1810.     _inherit_reactions="1"
  1811.     name="steelmoss_static"
  1812. -   <!-- steel_rusted -->
  1813.     ui_name="$mat_steelrusted" 
  1814.     wang_color="ff787A55"
  1815.     wang_noise_percent="0.0"
  1816. @@ -8040,7 +8039,6 @@
  1817.     solid_friction="1.0"
  1818.     fire_hp="50"
  1819.     on_fire="0"
  1820. -   temperature_of_fire="95"
  1821.     autoignition_temperature="10"
  1822.     electrical_conductivity="0"
  1823.     requires_oxygen="1"  
  1824. @@ -9640,7 +9638,7 @@
  1825.     name="rat_powder"
  1826.     ui_name="$mat_rat_powder"
  1827.     tags="[sand_other]"
  1828. -   burnable="1"
  1829. +   burnable="0"
  1830.     density="7"
  1831.     durability="3"
  1832.     cell_type="liquid"
  1833. @@ -9648,7 +9646,7 @@
  1834.     generates_smoke="0"
  1835.     liquid_gravity="2"
  1836.     liquid_sand="1"
  1837. -   on_fire="1"
  1838. +   on_fire="0"
  1839.     requires_oxygen="0"
  1840.     temperature_of_fire="10"
  1841.     autoignition_temperature="0"
  1842. @@ -9662,25 +9660,6 @@
  1843.     show_in_creative_mode="0"
  1844.     lifetime="4.0"
  1845.     >
  1846. -   <ExplosionConfig
  1847. -       damage="0"
  1848. -       cell_explosion_power="2"
  1849. -       cell_explosion_damage_required="1"
  1850. -       cell_explosion_radius_min="2"
  1851. -       explosion_sprite=""
  1852. -       load_this_entity="data/entities/misc/rat_powder.xml"
  1853. -       ray_energy="0"
  1854. -       audio_enabled="0"
  1855. -       create_cell_probability="0"
  1856. -       sparks_enabled="0"
  1857. -       light_enabled="0"
  1858. -       hole_enabled="1"
  1859. -       crack_count="0"
  1860. -       stains_enabled="0"
  1861. -       damage_mortals="0"
  1862. -       particle_effect="0"
  1863. -       >
  1864. -   </ExplosionConfig>
  1865.      <Graphics
  1866.       texture_file="data/materials_gfx/meat_rotten.png"
  1867.       color="ffb89e57" >
  1868. @@ -9700,7 +9679,7 @@
  1869.     name="fungus_powder"
  1870.     ui_name="$mat_fungisoil"
  1871.     tags="[sand_other]"
  1872. -   burnable="1"
  1873. +   burnable="0"
  1874.     density="7"
  1875.     durability="3"
  1876.     cell_type="liquid"
  1877. @@ -9708,7 +9687,7 @@
  1878.     generates_smoke="0"
  1879.     liquid_gravity="2"
  1880.     liquid_sand="1"
  1881. -   on_fire="1"
  1882. +   on_fire="0"
  1883.     requires_oxygen="0"
  1884.     temperature_of_fire="10"
  1885.     autoignition_temperature="0"
  1886. @@ -9722,25 +9701,6 @@
  1887.     show_in_creative_mode="0"
  1888.     lifetime="4.0"
  1889.     >
  1890. -   <ExplosionConfig
  1891. -       damage="0"
  1892. -       cell_explosion_power="2"
  1893. -       cell_explosion_damage_required="1"
  1894. -       cell_explosion_radius_min="2"
  1895. -       explosion_sprite=""
  1896. -       load_this_entity="data/entities/misc/fungus_powder.xml"
  1897. -       ray_energy="0"
  1898. -       audio_enabled="0"
  1899. -       create_cell_probability="0"
  1900. -       sparks_enabled="0"
  1901. -       light_enabled="0"
  1902. -       hole_enabled="1"
  1903. -       crack_count="0"
  1904. -       stains_enabled="0"
  1905. -       damage_mortals="0"
  1906. -       particle_effect="0"
  1907. -       >
  1908. -   </ExplosionConfig>
  1909.      <Graphics
  1910.       texture_file="data/materials_gfx/meat_rotten.png"
  1911.       color="ffb89e57" >
  1912. @@ -11434,6 +11394,7 @@
  1913.     density="8"
  1914.     cell_type="solid"
  1915.     wang_color="ffab5e4f"
  1916. +   durability="11"
  1917.     generates_smoke="0"
  1918.     on_fire="0"
  1919.     requires_oxygen="1"
  1920. @@ -11441,12 +11402,13 @@
  1921.     autoignition_temperature="85"
  1922.     fire_hp="600"
  1923.     solid_friction="0.9"
  1924. -   hp="500"
  1925. +   hp="10000"
  1926.     audio_physics_material_wall="gravel"
  1927.     audio_physics_material_solid="wood"
  1928.     show_in_creative_mode="1"
  1929.     >
  1930. -   <ExplosionConfig
  1931. +   <ExplosionConfig
  1932. +       damage="5"
  1933.         camera_shake="10"
  1934.         cell_explosion_power="40"
  1935.         cell_explosion_damage_required="30"
  1936. @@ -13362,15 +13324,17 @@
  1937.     color="80c1dba5" >
  1938.      </Graphics>
  1939.     <ParticleEffect
  1940. -       vel.y="17.14"
  1941. -       vel_random.min_y="-100"
  1942. -       vel_random.max_y="25.71"
  1943. +       vel.y="2.14"
  1944. +       vel_random.min_y="-55"
  1945. +       vel_random.max_y="25"
  1946.         lifetime.min="0"
  1947. -       gravity.y="-8.57"
  1948. +       gravity.y="0"
  1949.         render_on_grid="1"
  1950. +       airflow_force="3"
  1951. +       airflow_scale="0.1"
  1952.         draw_as_long="1"
  1953. -       friction="-3.429"
  1954. -       probability="0.0518"
  1955. +       friction="0.04"
  1956. +       probability="0.0118"
  1957.     >
  1958.     </ParticleEffect>
  1959.    </CellData>
  1960. @@ -14880,6 +14844,21 @@
  1961.         output_cell1="metal_sand_molten" output_cell2="[lava]"
  1962.         >
  1963.     </Reaction>
  1964. -
  1965. +  
  1966. +   <!-- Special powders -->
  1967. +  
  1968. +   <Reaction probability="100"
  1969. +       input_cell1="rat_powder" input_cell2="air"
  1970. +       output_cell1="air" output_cell2="air"
  1971. +       entity="data/entities/misc/rat_powder.xml"
  1972. +       >
  1973. +   </Reaction>
  1974. +  
  1975. +   <Reaction probability="100"
  1976. +       input_cell1="fungus_powder" input_cell2="air"
  1977. +       output_cell1="air" output_cell2="air"
  1978. +       entity="data/entities/misc/fungus_powder.xml"
  1979. +       >
  1980. +   </Reaction>
  1981.  
  1982.  </Materials>
  1983. diff --git a/scripts/animals/fungus_powder.lua b/scripts/animals/fungus_powder.lua
  1984. index d3b8de0..1b6091a 100644
  1985. --- a/scripts/animals/fungus_powder.lua
  1986. +++ b/scripts/animals/fungus_powder.lua
  1987. @@ -7,7 +7,7 @@ SetRandomSeed( x, y )
  1988.  local rats = EntityGetWithTag( "perk_fungus_tiny" )
  1989.  
  1990.  if ( #rats < 20 ) then
  1991. -   if ( Random( 1, 15 ) == 5 ) then
  1992. +   if ( Random( 1, 20 ) == 5 ) then
  1993.         local eid = EntityLoad( "data/entities/misc/perks/fungus.xml", x, y )
  1994.         EntityRemoveTag( eid, "enemy" )
  1995.     end
  1996. diff --git a/scripts/animals/rat_powder.lua b/scripts/animals/rat_powder.lua
  1997. index 90b56de..309c3ff 100644
  1998. --- a/scripts/animals/rat_powder.lua
  1999. +++ b/scripts/animals/rat_powder.lua
  2000. @@ -7,7 +7,7 @@ SetRandomSeed( x, y )
  2001.  local rats = EntityGetWithTag( "plague_rat" )
  2002.  
  2003.  if ( #rats < 20 ) then
  2004. -   if ( Random( 1, 15 ) == 5 ) then
  2005. +   if ( Random( 1, 20 ) == 5 ) then
  2006.         EntityLoad( "data/entities/misc/perks/plague_rats_rat.xml", x, y )
  2007.     end
  2008.  end
  2009. diff --git a/scripts/biomes/gourd_room.lua b/scripts/biomes/gourd_room.lua
  2010. index c466b68..cb9ee3e 100644
  2011. --- a/scripts/biomes/gourd_room.lua
  2012. +++ b/scripts/biomes/gourd_room.lua
  2013. @@ -5,6 +5,7 @@ dofile_once("data/scripts/lib/utilities.lua")
  2014.  
  2015.  RegisterSpawnFunction( 0xffffeedd, "init" )
  2016.  RegisterSpawnFunction( 0xff31d0b0, "spawn_fruit" )
  2017. +RegisterSpawnFunction( 0xff9dd0b0, "spawn_book" )
  2018.  
  2019.  function spawn_small_enemies( x, y ) end
  2020.  function spawn_big_enemies( x, y ) end
  2021. @@ -24,7 +25,7 @@ function spawn_potions( x, y ) end
  2022.  function spawn_wands( x, y ) end
  2023.  
  2024.  function init( x, y, w, h )
  2025. -   LoadPixelScene( "data/biome_impl/gourd_room.png", "", x, y, "", true )
  2026. +   --LoadPixelScene( "data/biome_impl/gourd_room.png", "", x, y, "", true )
  2027.  end
  2028.  
  2029.  function spawn_orb(x, y)
  2030. @@ -39,6 +40,12 @@ function spawn_fruit( x, y )
  2031.     EntityLoad( "data/entities/animals/shotgunner.xml", x + 24, y - 24 )
  2032.  end
  2033.  
  2034. +function spawn_book( x, y )
  2035. +   EntityLoad( "data/entities/items/books/book_music_c.xml", x, y )
  2036. +   EntityLoad( "data/entities/props/physics_skull_01.xml", x + 8, y )
  2037. +   EntityLoad( "data/entities/props/physics_bone_02.xml", x + 12, y - 16 )
  2038. +end
  2039. +
  2040.  g_lamp =
  2041.  {
  2042.     total_prob = 0,
  2043. diff --git a/scripts/biomes/mountain_tree.lua b/scripts/biomes/mountain_tree.lua
  2044. index 47f851d..4cbd5a7 100644
  2045. --- a/scripts/biomes/mountain_tree.lua
  2046. +++ b/scripts/biomes/mountain_tree.lua
  2047. @@ -293,7 +293,7 @@ function spawn_pillars( x, y )
  2048.     SetRandomSeed( x, y )
  2049.     local flags =
  2050.     {
  2051. -       { { "misc_chest_rain", "crain" }, { "misc_worm_rain", "wrain" }, { "misc_greed_rain", "grain" }, { "misc_altar_tablet", "train" }, { "misc_monk_bots", "mbots" }, { "secret_tower", "secrett" }, { "player_status_ghostly", "pghost" }, { "player_status_ratty", "prat" } },
  2052. +       { { "misc_chest_rain", "crain" }, { "misc_worm_rain", "wrain" }, { "misc_greed_rain", "grain" }, { "misc_altar_tablet", "train" }, { "misc_monk_bots", "mbots" }, { "secret_tower", "secrett" }, { "player_status_ghostly", "pghost" }, { "player_status_ratty", "prat" }, { "player_status_funky", "pfungi" } },
  2053.         { { "essence_fire", "essencef" }, { "essence_water", "essencew" }, { "essence_laser", "essencee" }, { "essence_air", "essencea" }, { "essence_alcohol", "essenceal" }, { "secret_moon", "moon" }, { "secret_moon2", "moona" }, { "special_mood", "moong" }, { "secret_dmoon", "dmoon" }, { "dead_mood", "dmoong" } },
  2054.         { { "progress_ending0", "end0" }, { "progress_ending1_toxic", "endt" }, { "progress_ending1_gold", "endb" }, { "progress_ending2", "endg" }, { "progress_newgameplusplus3", "endp" }, { "progress_nightmare", "endn" } },
  2055.         { { "miniboss_dragon", "minid" }, { "miniboss_limbs", "minil" }, { "miniboss_ghost", "minigh" }, { "miniboss_pit", "minip" }, { "miniboss_alchemist", "minia" }, { "miniboss_wizard", "meme" }, { "miniboss_gate_monsters", "minigm" }, { "boss_centipede", "boss" } },
  2056. diff --git a/scripts/biomes/pyramid.lua b/scripts/biomes/pyramid.lua
  2057. index 16e5fc7..3e47e10 100644
  2058. --- a/scripts/biomes/pyramid.lua
  2059. +++ b/scripts/biomes/pyramid.lua
  2060. @@ -668,4 +668,5 @@ end
  2061.  
  2062.  function spawn_boss_limbs_trigger( x, y )
  2063.     EntityLoad("data/entities/animals/boss_limbs/boss_limbs_trigger.xml", x, y )
  2064. +   EntityLoad("data/entities/items/books/book_music_b.xml", x, y )
  2065.  end
  2066. \ No newline at end of file
  2067. diff --git a/scripts/biomes/vault.lua b/scripts/biomes/vault.lua
  2068. index 01080e9..e6be826 100644
  2069. --- a/scripts/biomes/vault.lua
  2070. +++ b/scripts/biomes/vault.lua
  2071. @@ -551,7 +551,7 @@ g_pixel_scene_02 =
  2072.         is_unique       = 0,
  2073.     },
  2074.     {
  2075. -       prob            = 0.5,
  2076. +       prob            = 0.3,
  2077.         material_file   = "data/biome_impl/vault/lab_puzzle.png",
  2078.         visual_file     = "data/biome_impl/vault/lab_puzzle_visual.png",
  2079.         background_file = "data/biome_impl/vault/lab_puzzle_background.png",
  2080. diff --git a/scripts/buildings/vault_lab_puzzle_check.lua b/scripts/buildings/vault_lab_puzzle_check.lua
  2081. index 688a81f..7da2601 100644
  2082. --- a/scripts/buildings/vault_lab_puzzle_check.lua
  2083. +++ b/scripts/buildings/vault_lab_puzzle_check.lua
  2084. @@ -7,12 +7,17 @@ function material_area_checker_success( pos_x, pos_y )
  2085.     local spawn_x = x + 70
  2086.     local spawn_y = y + 10
  2087.    
  2088. -   EntityLoad( "data/entities/items/pickup/chest_random.xml", spawn_x, spawn_y)
  2089. +   -- reward
  2090.     EntityLoad("data/entities/particles/image_emitters/magical_symbol.xml", spawn_x, spawn_y)
  2091.     GamePlaySound( "data/audio/Desktop/projectiles.snd", "player_projectiles/crumbling_earth/create", spawn_x, spawn_y)
  2092. -  
  2093. -   print("puzzle done")
  2094. -  
  2095. +   if ProceduralRandomf(x,y) > 0.3 then
  2096. +       --EntityLoad( "data/entities/items/pickup/chest_random.xml", spawn_x, spawn_y)
  2097. +       EntityLoad( "data/entities/items/wand_arpaluu.xml", spawn_x, spawn_y)
  2098. +   else
  2099. +       EntityLoad( "data/entities/items/wand_varpuluuta.xml", spawn_x, spawn_y)
  2100. +   end
  2101. +
  2102. +   -- cleanup
  2103.     for _,v in ipairs(EntityGetInRadiusWithTag( x, y, 30,"vault_lab_puzzle")) do
  2104.         EntityKill(v)
  2105.     end
  2106. diff --git a/scripts/gun/gun_actions.lua b/scripts/gun/gun_actions.lua
  2107. index 3ef1f90..1af6dd2 100644
  2108. --- a/scripts/gun/gun_actions.lua
  2109. +++ b/scripts/gun/gun_actions.lua
  2110. @@ -773,6 +773,26 @@ actions =
  2111.             shot_effects.recoil_knockback = 30.0
  2112.         end,
  2113.     },
  2114. +   {
  2115. +       id          = "POLLEN",
  2116. +       name        = "$action_pollen",
  2117. +       description = "$actiondesc_pollen",
  2118. +       sprite      = "data/ui_gfx/gun_actions/pollen.png",
  2119. +       sprite_unidentified = "data/ui_gfx/gun_actions/arrow_unidentified.png",
  2120. +       related_projectiles = {"data/entities/projectiles/deck/pollen.xml"},
  2121. +       type        = ACTION_TYPE_PROJECTILE,
  2122. +       spawn_level                       = "0,1,3,4", -- ARROW
  2123. +       spawn_probability                 = "0.6,1,1,0.8", -- ARROW
  2124. +       price = 110,
  2125. +       mana = 10,
  2126. +       --max_uses = 40,
  2127. +       action      = function()
  2128. +           add_projectile("data/entities/projectiles/deck/pollen.xml")
  2129. +           -- damage = 0.3
  2130. +           c.fire_rate_wait = c.fire_rate_wait + 2
  2131. +           c.spread_degrees = c.spread_degrees + 20
  2132. +       end,
  2133. +   },
  2134.     {
  2135.         id          = "LANCE",
  2136.         name        = "$action_lance",
  2137. @@ -2114,6 +2134,42 @@ actions =
  2138.             c.fire_rate_wait = c.fire_rate_wait - 12
  2139.         end,
  2140.     },
  2141. +   {
  2142. +       id          = "TNTBOX",
  2143. +       name        = "$action_tntbox",
  2144. +       description = "$actiondesc_tntbox",
  2145. +       sprite      = "data/ui_gfx/gun_actions/tntbox.png",
  2146. +       sprite_unidentified = "data/ui_gfx/gun_actions/bomb_unidentified.png",
  2147. +       related_projectiles = {"data/entities/projectiles/deck/tntbox.xml"},
  2148. +       type        = ACTION_TYPE_PROJECTILE,
  2149. +       spawn_level                       = "1,2,3,4,5", -- SUMMON_ROCK
  2150. +       spawn_probability                 = "0.8,0.8,0.8,0.8,0.8", -- SUMMON_ROCK
  2151. +       price = 150,
  2152. +       mana = 40,
  2153. +       max_uses    = 15,
  2154. +       action      = function()
  2155. +           add_projectile("data/entities/projectiles/deck/tntbox.xml")
  2156. +           c.fire_rate_wait = c.fire_rate_wait + 30
  2157. +       end,
  2158. +   },
  2159. +   {
  2160. +       id          = "TNTBOX_BIG",
  2161. +       name        = "$action_tntbox_big",
  2162. +       description = "$actiondesc_tntbox_big",
  2163. +       sprite      = "data/ui_gfx/gun_actions/tntbox_big.png",
  2164. +       sprite_unidentified = "data/ui_gfx/gun_actions/bomb_unidentified.png",
  2165. +       related_projectiles = {"data/entities/projectiles/deck/tntbox_big.xml"},
  2166. +       type        = ACTION_TYPE_PROJECTILE,
  2167. +       spawn_level                       = "1,2,3,4,5", -- SUMMON_ROCK
  2168. +       spawn_probability                 = "0.8,0.8,0.8,0.8,0.8", -- SUMMON_ROCK
  2169. +       price = 170,
  2170. +       mana = 40,
  2171. +       max_uses    = 15,
  2172. +       action      = function()
  2173. +           add_projectile("data/entities/projectiles/deck/tntbox_big.xml")
  2174. +           c.fire_rate_wait = c.fire_rate_wait + 30
  2175. +       end,
  2176. +   },
  2177.     {
  2178.         id          = "SWARM_FLY",
  2179.         name        = "$action_swarm_fly",
  2180. @@ -4670,7 +4726,7 @@ actions =
  2181.         related_extra_entities = { "data/entities/misc/homing_cursor.xml", "data/entities/particles/tinyspark_white.xml" },
  2182.         type        = ACTION_TYPE_MODIFIER,
  2183.         spawn_level                       = "2,3,4,5,6", -- HOMING_ROTATE
  2184. -       spawn_probability                 = "0.4,0.4,0.4,0.4,0.4", -- HOMING_ROTATE
  2185. +       spawn_probability                 = "0.7,0.7,0.4,0.4,1.0", -- HOMING_ROTATE
  2186.         price = 175,
  2187.         mana = 30,
  2188.         --max_uses = 100,
  2189. @@ -6771,10 +6827,10 @@ actions =
  2190.         related_extra_entities = { "data/entities/misc/orbit_discs.xml" },
  2191.         spawn_requires_flag = "card_unlocked_dragon",
  2192.         type        = ACTION_TYPE_MODIFIER,
  2193. -       spawn_level                       = "0,1,2,4,5", -- GRAVITY_FIELD_ENEMY
  2194. -       spawn_probability                 = "0.5,0.2,0.8,0.4,0.2", -- GRAVITY_FIELD_ENEMY
  2195. -       price = 140,
  2196. -       mana = 40,
  2197. +       spawn_level                       = "1,2,4,5", -- GRAVITY_FIELD_ENEMY
  2198. +       spawn_probability                 = "0.2,0.8,0.4,0.2", -- GRAVITY_FIELD_ENEMY
  2199. +       price = 200,
  2200. +       mana = 70,
  2201.         action      = function()
  2202.             c.extra_entities = c.extra_entities .. "data/entities/misc/orbit_discs.xml,"
  2203.             draw_actions( 1, true )
  2204. diff --git a/scripts/item_spawnlists.lua b/scripts/item_spawnlists.lua
  2205. index b17ad02..ac97ca7 100644
  2206. --- a/scripts/item_spawnlists.lua
  2207. +++ b/scripts/item_spawnlists.lua
  2208. @@ -3,19 +3,23 @@ spawnlists =
  2209.     potion_spawnlist =
  2210.     {
  2211.         rnd_min = 1,
  2212. -       rnd_max = 92,
  2213. +       rnd_max = 91,
  2214.         spawns =
  2215.         {
  2216. -           {
  2217. -               value_min = 92,
  2218. -               value_max = 92,
  2219. -               load_entity = "data/entities/items/pickup/stonestone.xml",
  2220. -               offset_y = -2,
  2221. -           },
  2222.             {
  2223.                 value_min = 90,
  2224.                 value_max = 91,
  2225. -               load_entity = "data/entities/items/pickup/physics_gold_orb.xml",
  2226. +               load_entity_func =
  2227. +                   function( data, x, y )
  2228. +                       local ox = data.offset_x or 0
  2229. +                       local oy = data.offset_y or 0
  2230. +                      
  2231. +                       if GameHasFlagRun( "greed_curse" ) and ( GameHasFlagRun( "greed_curse_gone" ) == false ) then
  2232. +                           EntityLoad( "data/entities/items/pickup/physics_gold_orb_greed.xml", x + ox, y + oy )
  2233. +                       else
  2234. +                           EntityLoad( "data/entities/items/pickup/physics_gold_orb.xml", x + ox, y + oy )
  2235. +                       end
  2236. +                   end,
  2237.                 offset_y = -2,
  2238.             },
  2239.             {
  2240. diff --git a/scripts/items/chest_random.lua b/scripts/items/chest_random.lua
  2241. index 0c54d53..bda5ff3 100644
  2242. --- a/scripts/items/chest_random.lua
  2243. +++ b/scripts/items/chest_random.lua
  2244. @@ -189,7 +189,11 @@ function drop_random_reward( x, y, entity_id, rand_x, rand_y, set_rnd_  )
  2245.                
  2246.                 opt = "data/entities/items/pickup/runestones/runestone_" .. r_opt .. ".xml"
  2247.             elseif ( opt == "orb" ) then
  2248. -               opt = "data/entities/items/pickup/physics_gold_orb.xml"
  2249. +               if GameHasFlagRun( "greed_curse" ) and ( GameHasFlagRun( "greed_curse_gone" ) == false ) then
  2250. +                   opt = "data/entities/items/pickup/physics_gold_orb_greed.xml"
  2251. +               else
  2252. +                   opt = "data/entities/items/pickup/physics_gold_orb.xml"
  2253. +               end
  2254.             end
  2255.            
  2256.             table.insert( entities, { opt, x, y - 10 } )
  2257. diff --git a/scripts/items/gold_orb.lua b/scripts/items/gold_orb.lua
  2258. index beba6a2..8f29f1a 100644
  2259. --- a/scripts/items/gold_orb.lua
  2260. +++ b/scripts/items/gold_orb.lua
  2261. @@ -6,6 +6,8 @@ function drop()
  2262.    
  2263.     local comp = EntityGetFirstComponent( entity_id, "VariableStorageComponent", "kick_count" )
  2264.    
  2265. +   SetRandomSeed( GameGetFrameNum(), x + y + entity_id )
  2266. +  
  2267.     if ( comp ~= nil ) then
  2268.         local count = ComponentGetValue2( comp, "value_int" )
  2269.         count = count + 1
  2270. @@ -28,15 +30,15 @@ function drop()
  2271.             EntityKill( entity_id )
  2272.             return
  2273.         elseif ( outcome == 20 ) then
  2274. -           EntityLoad( "data/entities/items/pickup/goldnugget_200.xml", x, y )
  2275. +           shoot_projectile( entity_id, "data/entities/items/pickup/goldnugget_200.xml", x, y, Random(-40,40), Random(-40,40) )
  2276.         elseif ( outcome == 15 ) then
  2277. -           EntityLoad( "data/entities/items/pickup/goldnugget_50.xml", x + 8, y )
  2278. -           EntityLoad( "data/entities/items/pickup/goldnugget_50.xml", x - 8, y )
  2279. +           shoot_projectile( entity_id, "data/entities/items/pickup/goldnugget_50.xml", x - 8, y, Random(-40,40), Random(-40,40) )
  2280. +           shoot_projectile( entity_id, "data/entities/items/pickup/goldnugget_50.xml", x + 8, y, Random(-40,40), Random(-40,40) )
  2281.         elseif ( outcome < 10 ) then
  2282. -           EntityLoad( "data/entities/items/pickup/goldnugget_10.xml", x, y )
  2283. +           shoot_projectile( entity_id, "data/entities/items/pickup/goldnugget_10.xml", x, y, Random(-40,40), Random(-40,40) )
  2284.         else
  2285. -           EntityLoad( "data/entities/items/pickup/goldnugget_10.xml", x + 8, y )
  2286. -           EntityLoad( "data/entities/items/pickup/goldnugget_10.xml", x - 8, y )
  2287. +           shoot_projectile( entity_id, "data/entities/items/pickup/goldnugget_10.xml", x - 8, y, Random(-40,40), Random(-40,40) )
  2288. +           shoot_projectile( entity_id, "data/entities/items/pickup/goldnugget_10.xml", x + 8, y, Random(-40,40), Random(-40,40) )
  2289.         end
  2290.     end
  2291.  end
  2292. diff --git a/scripts/items/greed_die_status.lua b/scripts/items/greed_die_status.lua
  2293. index 42eef46..e58a573 100644
  2294. --- a/scripts/items/greed_die_status.lua
  2295. +++ b/scripts/items/greed_die_status.lua
  2296. @@ -26,14 +26,7 @@ function bullet_circle( which, count, speed, animal_, gold_ )
  2297.        
  2298.         local bid
  2299.        
  2300. -       if ( gold == false ) then
  2301. -           bid = shoot_projectile( entity_id, target, pos_x + math.cos( theta ) * 12, pos_y - math.sin( theta ) * 12, vel_x, vel_y )
  2302. -       else
  2303. -           bid = EntityLoad( target, pos_x + math.cos( theta ) * 12, pos_y - math.sin( theta ) * 12 )
  2304. -           edit_component( bid, "VelocityComponent", function(comp,vars)
  2305. -               ComponentSetValueVector2( comp, "mVelocity", vel_x, vel_y )
  2306. -           end)
  2307. -       end
  2308. +       bid = shoot_projectile( entity_id, target, pos_x + math.cos( theta ) * 12, pos_y - math.sin( theta ) * 12, vel_x, vel_y )
  2309.        
  2310.         if ( bid ~= nil ) and animal then
  2311.             EntityAddComponent( bid, "VariableStorageComponent",
  2312. diff --git a/scripts/magic/fungal_shift.lua b/scripts/magic/fungal_shift.lua
  2313. index c3be6d0..ee73498 100644
  2314. --- a/scripts/magic/fungal_shift.lua
  2315. +++ b/scripts/magic/fungal_shift.lua
  2316. @@ -8,11 +8,16 @@ materials_from =
  2317.     { probability = 1.0, materials = { "oil", "swamp", "peat" }, name_material = "oil" },
  2318.     { probability = 1.0, materials = { "blood" } }, -- NOTE(Olli): I'm not sure if it's a good idea to convert blood, because that often just feels buggy. but let's see.
  2319.     { probability = 1.0, materials = { "blood_fungi", "fungi", "fungisoil" }, name_material = "fungi" },
  2320. -   { probability = 1.0, materials = { "blood_cold" } },
  2321. +   { probability = 1.0, materials = { "blood_cold", "blood_worm" } },
  2322.     { probability = 1.0, materials = { "acid" } },
  2323. -   { probability = 1.0, materials = { "magic_liquid_polymorph", "magic_liquid_unstable_polymorph" }, name_material = "magic_liquid_polymorph" },
  2324. -   { probability = 1.0, materials = { "magic_liquid_teleportation", "magic_liquid_unstable_teleportation" }, name_material = "magic_liquid_teleportation" },
  2325. -   { probability = 1.0, materials = { "magic_liquid_berserk", "magic_liquid_charm", "magic_liquid_invisibility" } },
  2326. +   { probability = 0.4, materials = { "magic_liquid_polymorph", "magic_liquid_unstable_polymorph" }, name_material = "magic_liquid_polymorph" },
  2327. +   { probability = 0.4, materials = { "magic_liquid_teleportation", "magic_liquid_unstable_teleportation" }, name_material = "magic_liquid_teleportation" },
  2328. +   { probability = 0.4, materials = { "magic_liquid_berserk", "magic_liquid_charm", "magic_liquid_invisibility" } },
  2329. +   { probability = 0.6, materials = { "diamond" } },
  2330. +   { probability = 0.6, materials = { "silver", "brass", "copper" } },
  2331. +   { probability = 0.05, materials = { "sand" } },
  2332. +   { probability = 0.05, materials = { "snow_sticky" } },
  2333. +   { probability = 0.001, materials = { "gold", "gold_box2d" }, name_material = "gold" },
  2334.  }
  2335.  
  2336.  materials_to =
  2337. @@ -32,11 +37,20 @@ materials_to =
  2338.     { probability = 1.00, material = "vomit" },
  2339.     { probability = 1.00, material = "pea_soup" },
  2340.     { probability = 1.00, material = "fungi" },
  2341. +   { probability = 0.80, material = "sand" },
  2342. +   { probability = 0.80, material = "diamond" },
  2343. +   { probability = 0.80, material = "silver" },
  2344. +   { probability = 0.80, material = "steam" },
  2345. +   { probability = 0.50, material = "rock_static" },
  2346. +   { probability = 0.50, material = "material_darkness" },
  2347. +   { probability = 0.50, material = "material_confusion" },
  2348. +   { probability = 0.20, material = "rock_static_radioactive" },
  2349.     { probability = 0.02, material = "magic_liquid_polymorph" },
  2350.     { probability = 0.02, material = "magic_liquid_random_polymorph" },
  2351.     { probability = 0.15, material = "magic_liquid_teleportation" },
  2352.     { probability = 0.01, material = "urine" },
  2353.     { probability = 0.01, material = "poo" },
  2354. +   { probability = 0.01, material = "cheese_static" },
  2355.  }
  2356.  
  2357.  log_messages =
  2358. @@ -81,10 +95,6 @@ end
  2359.  -- TODO: pick one of the materials from cape
  2360.  -- TODO: pick one of the materials from a potion?
  2361.  function fungal_shift( entity, x, y, debug_no_limits )
  2362. -end
  2363. -
  2364. -function fungal_shift( entity, x, y, debug_no_limits )
  2365. -   --[[
  2366.     local parent = EntityGetParent( entity )
  2367.     if parent ~= 0 then
  2368.         entity = parent
  2369. @@ -122,7 +132,7 @@ function fungal_shift( entity, x, y, debug_no_limits )
  2370.         local to_material = CellFactory_GetType( to.material )
  2371.         from_material_name = string.upper( GameTextGetTranslatedOrNot( CellFactory_GetUIName( from_material ) ) )
  2372.         if from.name_material then
  2373. -           from_material_name = string.upper( GameTextGetTranslatedOrNot( CellFactory_GetUIName( from.name_material ) ) )
  2374. +           from_material_name = string.upper( GameTextGetTranslatedOrNot( CellFactory_GetUIName( CellFactory_GetType( from.name_material ) ) ) )
  2375.         end
  2376.  
  2377.         -- if a potion is equipped, use main material from potion as one of the materials
  2378. @@ -151,7 +161,7 @@ function fungal_shift( entity, x, y, debug_no_limits )
  2379.     if converted_any then
  2380.         -- audio
  2381.         GameTriggerMusicFadeOutAndDequeueAll( 5.0 )
  2382. -       GameTriggerMusicEvent( "music/oneshot/tripping_balls", false, x, y )
  2383. +       GameTriggerMusicEvent( "music/oneshot/tripping_balls_01", false, x, y )
  2384.  
  2385.         -- particle fx
  2386.         local eye = EntityLoad( "data/entities/particles/treble_eye.xml", x,y-10 )
  2387. @@ -191,5 +201,4 @@ function fungal_shift( entity, x, y, debug_no_limits )
  2388.             EntityAddChild( entity, icon_entity )
  2389.         end
  2390.     end
  2391. -   ]]--
  2392.  end
  2393. diff --git a/scripts/perks/angry_levitation_death.lua b/scripts/perks/angry_levitation_death.lua
  2394. index 3898f5b..2833c7c 100644
  2395. --- a/scripts/perks/angry_levitation_death.lua
  2396. +++ b/scripts/perks/angry_levitation_death.lua
  2397. @@ -6,6 +6,9 @@ function death( damage_type_bit_field, damage_message, entity_thats_responsible,
  2398.    
  2399.     SetRandomSeed( GameGetFrameNum(), pos_x + pos_y + entity_id )
  2400.    
  2401. +   local perk_flag = "PERK_PICKED_HOVER_BOOST"
  2402. +   local pickup_count = tonumber( GlobalsGetValue( perk_flag .. "_PICKUP_COUNT", "0" ) ) + 1
  2403. +  
  2404.     local player_id = 0
  2405.    
  2406.     local models = EntityGetComponent( entity_id, "VariableStorageComponent" )
  2407. @@ -21,10 +24,11 @@ function death( damage_type_bit_field, damage_message, entity_thats_responsible,
  2408.        
  2409.         if ( comp ~= nil ) then
  2410.             local flight = ComponentGetValue2( comp, "mFlyingTimeLeft" )
  2411. -           local maxflight = ComponentGetValue2( comp, "fly_time_max" )
  2412. +           local maxflight = ComponentGetValue2( comp, "fly_time_max" ) or 3.0
  2413.            
  2414. -           -- print( tostring(flight) .. ", " .. tostring(maxflight))
  2415. +           maxflight = 2 ^ pickup_count + ( 2 ^ ( pickup_count - 1 ) )
  2416.            
  2417. +           -- print( tostring(flight) .. ", " .. tostring(maxflight))
  2418.             flight = math.min( maxflight, flight + 1.2 )
  2419.            
  2420.             ComponentSetValue2( comp, "mFlyingTimeLeft", flight )
  2421. diff --git a/scripts/perks/perk_gamble_spawn.lua b/scripts/perks/perk_gamble_spawn.lua
  2422. index 694d141..e52e7dc 100644
  2423. --- a/scripts/perks/perk_gamble_spawn.lua
  2424. +++ b/scripts/perks/perk_gamble_spawn.lua
  2425. @@ -4,18 +4,22 @@ dofile( "data/scripts/perks/perk.lua" )
  2426.  
  2427.  local entity_id = GetUpdatedEntityID()
  2428.  local x, y = EntityGetTransform(entity_id)
  2429. +local player = EntityGetClosestWithTag(x, y, "player_unit")
  2430.  
  2431. -local w = 10
  2432. -local perks = {}
  2433. -perks[1] = perk_spawn_random(x - w, y - 10)
  2434. -perks[2] = perk_spawn_random(x + w, y - 10)
  2435. -
  2436. -for _,v in ipairs(perks) do
  2437. -   EntityAddComponent(v, "VariableStorageComponent",
  2438. -   {
  2439. -       name = "perk_dont_remove_others",
  2440. -       value_bool = "1",
  2441. -   } )
  2442. +local count = 2
  2443. +while count > 0 do
  2444. +   local pid = perk_spawn_random(x,y)
  2445. +   -- rerandomize if picked perk is gamble
  2446. +   component_read( get_variable_storage_component(pid, "perk_id"), { value_string = "" }, function(comp)
  2447. +       print(comp.value_string)
  2448. +       if comp.value_string ~= "GAMBLE" then
  2449. +           perk_pickup(pid, player, "", false, false )
  2450. +           count = count - 1
  2451. +       else
  2452. +           --print("Gamble perk spawned another Gamble. Rerandomizing...")
  2453. +           EntityKill(pid)
  2454. +       end
  2455. +   end)
  2456.  end
  2457.  
  2458.  EntityKill(entity_id)
  2459. diff --git a/scripts/perks/perk_list.lua b/scripts/perks/perk_list.lua
  2460. index ec53058..348eb69 100644
  2461. --- a/scripts/perks/perk_list.lua
  2462. +++ b/scripts/perks/perk_list.lua
  2463. @@ -1455,6 +1455,44 @@ perk_list =
  2464.             --GenomeSetHerdId( entity_who_picked, "rat" )
  2465.         end,
  2466.     },
  2467. +   {
  2468. +       id = "CORDYCEPS",
  2469. +       ui_name = "$perk_cordyceps",
  2470. +       ui_description = "$perkdesc_cordyceps",
  2471. +       ui_icon = "data/ui_gfx/perk_icons/cordyceps.png",
  2472. +       perk_icon = "data/items_gfx/perks/cordyceps.png",
  2473. +       stackable = STACKABLE_NO,
  2474. +       func = function( entity_perk_item, entity_who_picked, item_name )
  2475. +      
  2476. +           EntityAddComponent( entity_who_picked, "LuaComponent",
  2477. +           {
  2478. +               script_source_file = "data/scripts/perks/cordyceps.lua",
  2479. +               execute_every_n_frame = "20",
  2480. +           } )
  2481. +          
  2482. +           if ( GameHasFlagRun( "player_status_cordyceps" ) == false ) then
  2483. +               GameAddFlagRun( "player_status_cordyceps" )
  2484. +               local funginess = tonumber( GlobalsGetValue( "PLAYER_FUNGAL_LEVEL", "0" ) )
  2485. +               funginess = funginess + 1
  2486. +               GlobalsSetValue( "PLAYER_FUNGAL_LEVEL", tostring( funginess ) )
  2487. +              
  2488. +               if ( funginess == 3 ) then
  2489. +                   EntitySetComponentsWithTagEnabled( entity_who_picked, "player_hat", true )
  2490. +                  
  2491. +                   AddFlagPersistent( "player_status_funky" )
  2492. +                  
  2493. +                   local damagemodels = EntityGetComponent( entity_who_picked, "DamageModelComponent" )
  2494. +                   if( damagemodels ~= nil ) then
  2495. +                       for i,damagemodel in ipairs(damagemodels) do
  2496. +                           local explosion_resistance = tonumber(ComponentObjectGetValue( damagemodel, "damage_multipliers", "explosion" ))
  2497. +                           explosion_resistance = explosion_resistance * 0.9
  2498. +                           ComponentObjectSetValue( damagemodel, "damage_multipliers", "explosion", tostring(explosion_resistance) )
  2499. +                       end
  2500. +                   end
  2501. +               end
  2502. +           end
  2503. +       end,
  2504. +   },
  2505.     {
  2506.         id = "MOLD",
  2507.         ui_name = "$perk_mold",
  2508. @@ -1468,6 +1506,28 @@ perk_list =
  2509.             EntityAddChild( entity_who_picked, child_id )
  2510.            
  2511.             EntityLoad( "data/entities/items/pickup/potion_slime.xml", x, y )
  2512. +          
  2513. +           if ( GameHasFlagRun( "player_status_mold" ) == false ) then
  2514. +               GameAddFlagRun( "player_status_mold" )
  2515. +               local funginess = tonumber( GlobalsGetValue( "PLAYER_FUNGAL_LEVEL", "0" ) )
  2516. +               funginess = funginess + 1
  2517. +               GlobalsSetValue( "PLAYER_FUNGAL_LEVEL", tostring( funginess ) )
  2518. +              
  2519. +               if ( funginess == 3 ) then
  2520. +                   EntitySetComponentsWithTagEnabled( entity_who_picked, "player_hat", true )
  2521. +                  
  2522. +                   AddFlagPersistent( "player_status_funky" )
  2523. +                  
  2524. +                   local damagemodels = EntityGetComponent( entity_who_picked, "DamageModelComponent" )
  2525. +                   if( damagemodels ~= nil ) then
  2526. +                       for i,damagemodel in ipairs(damagemodels) do
  2527. +                           local explosion_resistance = tonumber(ComponentObjectGetValue( damagemodel, "damage_multipliers", "explosion" ))
  2528. +                           explosion_resistance = explosion_resistance * 0.9
  2529. +                           ComponentObjectSetValue( damagemodel, "damage_multipliers", "explosion", tostring(explosion_resistance) )
  2530. +                       end
  2531. +                   end
  2532. +               end
  2533. +           end
  2534.         end,
  2535.     },
  2536.     {
  2537. @@ -1546,6 +1606,43 @@ perk_list =
  2538.             EntityAddChild( entity_who_picked, child_id )
  2539.         end,
  2540.     },
  2541. +   {
  2542. +       id = "FUNGAL_DISEASE",
  2543. +       ui_name = "$perk_fungal_disease",
  2544. +       ui_description = "$perkdesc_fungal_disease",
  2545. +       ui_icon = "data/ui_gfx/perk_icons/fungal_disease.png",
  2546. +       perk_icon = "data/items_gfx/perks/fungal_disease.png",
  2547. +       stackable = STACKABLE_YES,
  2548. +       stackable_is_rare = true,
  2549. +       stackable_maximum = 3,
  2550. +       func = function( entity_perk_item, entity_who_picked, item_name )
  2551. +           local x,y = EntityGetTransform( entity_who_picked )
  2552. +           local child_id = EntityLoad( "data/entities/misc/perks/fungal_disease.xml", x, y )
  2553. +           EntityAddChild( entity_who_picked, child_id )
  2554. +          
  2555. +           if ( GameHasFlagRun( "player_status_fungal_disease" ) == false ) then
  2556. +               GameAddFlagRun( "player_status_fungal_disease" )
  2557. +               local funginess = tonumber( GlobalsGetValue( "PLAYER_FUNGAL_LEVEL", "0" ) )
  2558. +               funginess = funginess + 1
  2559. +               GlobalsSetValue( "PLAYER_FUNGAL_LEVEL", tostring( funginess ) )
  2560. +              
  2561. +               if ( funginess == 3 ) then
  2562. +                   EntitySetComponentsWithTagEnabled( entity_who_picked, "player_hat", true )
  2563. +                  
  2564. +                   AddFlagPersistent( "player_status_funky" )
  2565. +                  
  2566. +                   local damagemodels = EntityGetComponent( entity_who_picked, "DamageModelComponent" )
  2567. +                   if( damagemodels ~= nil ) then
  2568. +                       for i,damagemodel in ipairs(damagemodels) do
  2569. +                           local explosion_resistance = tonumber(ComponentObjectGetValue( damagemodel, "damage_multipliers", "explosion" ))
  2570. +                           explosion_resistance = explosion_resistance * 0.9
  2571. +                           ComponentObjectSetValue( damagemodel, "damage_multipliers", "explosion", tostring(explosion_resistance) )
  2572. +                       end
  2573. +                   end
  2574. +               end
  2575. +           end
  2576. +       end,
  2577. +   },
  2578.     {
  2579.         id = "PROJECTILE_SLOW_FIELD",
  2580.         ui_name = "$perk_projectile_slow_field",
  2581. @@ -1654,8 +1751,8 @@ perk_list =
  2582.                     local platformingcomponents = EntityGetComponent( entity_who_picked, "CharacterDataComponent" )
  2583.                     if( platformingcomponents ~= nil ) then
  2584.                         for i,component in ipairs(platformingcomponents) do
  2585. -                           local fly_time = ComponentGetValue2( component, "fly_time_max" ) * 1.15
  2586. -                           ComponentSetValue2( component, "fly_time_max", fly_time )
  2587. +                           local fly_time = ComponentGetValue2( component, "fly_recharge_spd" ) * 1.15
  2588. +                           ComponentSetValue2( component, "fly_recharge_spd", fly_time )
  2589.                         end
  2590.                     end
  2591.                 end
  2592. @@ -1693,8 +1790,8 @@ perk_list =
  2593.                     local platformingcomponents = EntityGetComponent( entity_who_picked, "CharacterDataComponent" )
  2594.                     if( platformingcomponents ~= nil ) then
  2595.                         for i,component in ipairs(platformingcomponents) do
  2596. -                           local fly_time = ComponentGetValue2( component, "fly_time_max" ) * 1.15
  2597. -                           ComponentSetValue2( component, "fly_time_max", fly_time )
  2598. +                           local fly_time = ComponentGetValue2( component, "fly_recharge_spd" ) * 1.15
  2599. +                           ComponentSetValue2( component, "fly_recharge_spd", fly_time )
  2600.                         end
  2601.                     end
  2602.                 end
  2603. @@ -1733,8 +1830,8 @@ perk_list =
  2604.                     local platformingcomponents = EntityGetComponent( entity_who_picked, "CharacterDataComponent" )
  2605.                     if( platformingcomponents ~= nil ) then
  2606.                         for i,component in ipairs(platformingcomponents) do
  2607. -                           local fly_time = ComponentGetValue2( component, "fly_time_max" ) * 1.15
  2608. -                           ComponentSetValue2( component, "fly_time_max", fly_time )
  2609. +                           local fly_time = ComponentGetValue2( component, "fly_recharge_spd" ) * 1.15
  2610. +                           ComponentSetValue2( component, "fly_recharge_spd", fly_time )
  2611.                         end
  2612.                     end
  2613.                 end
  2614. diff --git a/scripts/perks/plague_rats_init.lua b/scripts/perks/plague_rats_init.lua
  2615. index 498e266..6fd9a4a 100644
  2616. --- a/scripts/perks/plague_rats_init.lua
  2617. +++ b/scripts/perks/plague_rats_init.lua
  2618. @@ -7,6 +7,7 @@ local extra_hp = math.max( 0, pos_y * 0.0002 )
  2619.  local extra_damage = math.max( 0, pos_y * 0.0001 )
  2620.    
  2621.  EntityRemoveTag( entity_id, "homing_target" )
  2622. +EntityRemoveTag( entity_id, "enemy" )
  2623.  
  2624.  edit_component( entity_id, "DamageModelComponent", function(comp,vars)
  2625.     local hp = tonumber(ComponentGetValue( comp, "hp"))
  2626. diff --git a/scripts/projectiles/homing_area.lua b/scripts/projectiles/homing_area.lua
  2627. index 86cde04..e88e161 100644
  2628. --- a/scripts/projectiles/homing_area.lua
  2629. +++ b/scripts/projectiles/homing_area.lua
  2630. @@ -11,7 +11,7 @@ if ( comp ~= nil ) then
  2631.     local target = ComponentGetValue2( comp, "mWhoShot" )
  2632.    
  2633.     for i,v in ipairs( targets ) do
  2634. -       if ( v ~= target ) then
  2635. +       if ( v ~= target ) and ( GameGetGameEffect( v, "CHARM" ) == 0 ) and ( EntityGetHerdRelation( target, v ) < 60 ) then
  2636.             local tx, ty = EntityGetFirstHitboxCenter( v )
  2637.            
  2638.             EntitySetTransform( root_id, tx, ty )
  2639. diff --git a/scripts/streaming_integration/event_list.lua b/scripts/streaming_integration/event_list.lua
  2640. index 01c6a3b..7db9ddc 100644
  2641. --- a/scripts/streaming_integration/event_list.lua
  2642. +++ b/scripts/streaming_integration/event_list.lua
  2643. @@ -2151,6 +2151,21 @@ streaming_events =
  2644.             end
  2645.         end,
  2646.     },
  2647. +   {
  2648. +       id = "ALL_ACCESS_TELEPORT",
  2649. +       ui_name = "$streamingevent_all_access_teleport",
  2650. +       ui_description = "$streamingeventdesc_all_access_teleport",
  2651. +       ui_icon = "data/ui_gfx/streaming_event_icons/speedy_enemies.png",
  2652. +       ui_author = STREAMING_EVENT_AUTHOR_NOLLAGAMES,
  2653. +       weight = 0.5,
  2654. +       kind = STREAMING_EVENT_BAD,
  2655. +       action = function(event)
  2656. +           for i,entity_id in pairs( get_enemies_in_radius(500) ) do
  2657. +               EntityRemoveTag( entity_id, "teleportable_NOT" )
  2658. +               EntityAddTag( entity_id, "teleportable" )
  2659. +           end
  2660. +       end,
  2661. +   },
  2662.     {
  2663.         id = "HOLIDAY_MOOD",
  2664.         ui_name = "$streamingevent_holiday_mood",
  2665. diff --git a/ui_gfx/decorations/3piece_fungal_shift.png b/ui_gfx/decorations/3piece_fungal_shift.png
  2666. index 143870d..9a3ed4a 100644
  2667. Binary files a/ui_gfx/decorations/3piece_fungal_shift.png and b/ui_gfx/decorations/3piece_fungal_shift.png differ
  2668.  
Add Comment
Please, Sign In to add comment