Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- HOW TO READ:
- FILE CHANGED => +++ b/biome/rainforest_dark.xml
- REMOVED CODE => - background_edge_priority='10'
- NEW OR CHANGED CODE => + background_edge_priority='9'
- ---
- Actual changes below:
- diff --git a/biome/_biomes_all.xml b/biome/_biomes_all.xml
- index 00c2cdc..9698466 100644
- --- a/biome/_biomes_all.xml
- +++ b/biome/_biomes_all.xml
- @@ -924,4 +924,16 @@
- height_index="0"
- color="ff375c00" >
- </Biome>
- +
- + <Biome
- + biome_filename="data/biome/funroom.xml"
- + height_index="0"
- + color="ff0a95a4" >
- + </Biome>
- +
- + <Biome
- + biome_filename="data/biome/rock_room.xml"
- + height_index="0"
- + color="ff326655" >
- + </Biome>
- </BiomesToLoad>
- diff --git a/biome/_pixel_scenes.xml b/biome/_pixel_scenes.xml
- index 5c53879..6724365 100644
- --- a/biome/_pixel_scenes.xml
- +++ b/biome/_pixel_scenes.xml
- @@ -139,6 +139,9 @@
- </PixelScene>
- <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" >
- </PixelScene>
- +
- + <PixelScene DEBUG_RELOAD_ME="0" background_filename="" clean_area_before="0" colors_filename="data/biome_impl/overworld/desert_ruins_base_01_visual_fungus.png" material_filename="data/biome_impl/overworld/desert_ruins_base_01.png" pos_x="5890" pos_y="0" skip_biome_checks="1" skip_edge_textures="0" >
- + </PixelScene>
- <!-- just load an entity -->
- diff --git a/biome/funroom.xml b/biome/funroom.xml
- new file mode 100644
- index 0000000..aa17644
- --- /dev/null
- +++ b/biome/funroom.xml
- @@ -0,0 +1,328 @@
- +<Biome>
- + <Topology
- + name="???"
- + type="BIOME_WANG_TILE"
- + background_use_neighbor="0"
- + background_image="data/weather_gfx/background_crypt.png"
- + background_edge_left="data/weather_gfx/edges/background_crypt_left.png"
- + background_edge_right="data/weather_gfx/edges/background_crypt_right.png"
- + background_edge_top="data/weather_gfx/edges/background_crypt_top.png"
- + background_edge_bottom="data/weather_gfx/edges/background_crypt_bottom.png"
- + background_edge_priority="12"
- +
- + wang_template_file=""
- + lua_script="data/scripts/biomes/funroom.lua"
- + wang_map_width="256"
- + wang_map_height="256"
- + audio_ambience="temple"
- + >
- + <BitmapCaves
- + size_x="256"
- + size_y="256"
- + spawn_percent="0"
- + blob_caves_count_min="0"
- + blob_caves_count_max="1"
- + blob_caves_radius_min="1"
- + blob_caves_radius_max="1"
- + blob_caves_strength_min="1.2"
- + blob_caves_strength_max="2"
- + cave_childs_min="0"
- + cave_childs_max="1"
- + cave_count_min="1"
- + cave_count_max="2"
- + cave_strength_min="0.2"
- + cave_strength_max="1.8"
- + mountain_count_min="0"
- + mountain_count_max="0"
- + mountain_size_min="1"
- + mountain_size_max="10"
- + surface_cave_childs_min="0"
- + surface_cave_childs_max="0"
- + surface_caves_count_min="0"
- + surface_caves_count_max="0"
- + >
- + </BitmapCaves>
- + </Topology>
- +
- + <Materials
- + name="desert"
- + >
- +
- + <MaterialComponent
- + _enabled="1"
- + is_rare="0"
- + limit_max_y="424.229"
- + limit_min_y="-1024"
- + limit_y="1"
- + material_index="10"
- + material_max="0.48"
- + material_min="0.45"
- + material_name="sand_surface"
- + rare_polka_is_boxed="1"
- + rare_polka_probability="0.2"
- + rare_polka_radius_high="0.65"
- + rare_polka_radius_low="0.2"
- + rare_required_max="10"
- + rare_required_min="0.2"
- + rare_scale_x="0.05"
- + rare_scale_y="0.05"
- + rare_use_perlin="0"
- + rare_use_polka="1" >
- + </MaterialComponent>
- +
- + <MaterialComponent
- + _enabled="1"
- + is_rare="0"
- + limit_max_y="424.229"
- + limit_min_y="-1024"
- + limit_y="1"
- + material_index="10"
- + material_max="0.6"
- + material_min="0.48"
- + material_name="sandstone_surface"
- + rare_polka_is_boxed="1"
- + rare_polka_probability="0.2"
- + rare_polka_radius_high="0.65"
- + rare_polka_radius_low="0.2"
- + rare_required_max="10"
- + rare_required_min="0.2"
- + rare_scale_x="0.05"
- + rare_scale_y="0.05"
- + rare_use_perlin="0"
- + rare_use_polka="1" >
- + </MaterialComponent>
- +
- + <MaterialComponent
- + _enabled="1"
- + is_rare="0"
- + limit_max_y="600"
- + limit_min_y="-1024"
- + limit_y="1"
- + material_index="10"
- + material_max="0.73"
- + material_min="0.59"
- + material_name="sand_static_bright"
- + >
- + </MaterialComponent>
- +
- + <MaterialComponent
- + _enabled="1"
- + is_rare="0"
- + limit_max_y="700"
- + limit_min_y="-1024"
- + limit_y="0"
- + material_index="10"
- + material_max="0.95"
- + material_min="0.72"
- + material_name="sand_static"
- + >
- + </MaterialComponent>
- +
- + <MaterialComponent
- + _enabled="1"
- + is_rare="1"
- + limit_max_y="2048"
- + limit_min_y="750"
- + limit_y="1"
- + material_index="10"
- + material_max="1.25"
- + material_min="1.05"
- + material_name="copper"
- + rare_polka_is_boxed="0"
- + rare_polka_probability="0.357143"
- + rare_polka_radius_high="0.764286"
- + rare_polka_radius_low="0.328571"
- + rare_required_max="10"
- + rare_required_min="0.019"
- + rare_scale_x="0.007514286"
- + rare_scale_y="0.007514286"
- + rare_use_perlin="1"
- + rare_use_polka="1" >
- + </MaterialComponent>
- +
- + <MaterialComponent
- + _enabled="1"
- + is_rare="0"
- + limit_max_y="2048"
- + limit_min_y="100"
- + limit_y="0"
- + material_index="10"
- + material_max="0.95"
- + material_min="0.68"
- + material_name="sand_static"
- + rare_polka_is_boxed="1"
- + rare_polka_probability="0.2"
- + rare_polka_radius_high="0.65"
- + rare_polka_radius_low="0.2"
- + rare_required_max="10"
- + rare_required_min="0.2"
- + rare_scale_x="0.05"
- + rare_scale_y="0.05"
- + rare_use_perlin="0"
- + rare_use_polka="1" >
- + </MaterialComponent>
- +
- + <MaterialComponent
- + _enabled="1"
- + is_rare="0"
- + limit_max_y="2048"
- + limit_min_y="100"
- + limit_y="0"
- + material_index="10"
- + material_max="3.5"
- + material_min="0.9"
- + material_name="rock_static"
- + rare_polka_is_boxed="1"
- + rare_polka_probability="0.2"
- + rare_polka_radius_high="0.65"
- + rare_polka_radius_low="0.2"
- + rare_required_max="10"
- + rare_required_min="0.2"
- + rare_scale_x="0.05"
- + rare_scale_y="0.05"
- + rare_use_perlin="0"
- + rare_use_polka="1" >
- + </MaterialComponent>
- +
- +
- + <MaterialComponent
- + _enabled="1"
- + is_rare="0"
- + limit_max_y="2048"
- + limit_min_y="100"
- + limit_y="0"
- + material_index="10"
- + material_max="3.5"
- + material_min="0.9"
- + material_name="rock_static"
- + add_perlin_scale_x="0.041"
- + add_perlin_scale_y="0.041"
- + add_perlin="0"
- + >
- + </MaterialComponent>
- +
- + <VegetationComponent
- + _enabled="1"
- + is_visual="1"
- + rand_seed="1248"
- + tree_extra_y="0"
- + tree_image_file="data/vegetation/vine_growth_1.xml"
- + tree_image_visual=""
- + tree_material="ceiling_plant_material"
- + tree_probability="0.24571"
- + tree_radius_high="0.635286"
- + tree_radius_low="0.146757"
- + tree_width="110.123"
- + visual_color="0x00b89f6c"
- + visual_offset_x="3"
- + visual_offset_y="0"
- + is_ceiling_plant="1"
- + >
- + </VegetationComponent>
- + <VegetationComponent
- + _enabled="1"
- + is_visual="1"
- + rand_seed="4575"
- + tree_extra_y="-1"
- + tree_image_file="data/vegetation/ceiling_vegetation_00$[2-8].png"
- + tree_image_visual=""
- + tree_material="ceiling_plant_material"
- + tree_probability="0.54571"
- + tree_radius_high="0.635286"
- + tree_radius_low="0.146757"
- + tree_width="11.123"
- + visual_color="0x00b89f6c"
- + visual_offset_x="3"
- + visual_offset_y="0"
- + is_ceiling_plant="1"
- + >
- + </VegetationComponent>
- +
- + <VegetationComponent
- + _enabled="1"
- + is_visual="0"
- + rand_seed="8576.86"
- + tree_extra_y="25"
- + tree_image_file="data/vegetation/cactus_0$[2-5].png"
- + tree_image_visual=""
- + tree_material="cactus"
- + tree_probability="0.228571"
- + tree_radius_high="0.614286"
- + tree_radius_low="0.228571"
- + tree_width="66.1143"
- + visual_color="0x00FFFF"
- + visual_offset_x="0"
- + visual_offset_y="7"
- + max_y="256" >
- + </VegetationComponent>
- +
- + <VegetationComponent
- + _enabled="1"
- + is_visual="0"
- + rand_seed="34676.86"
- + tree_extra_y="25"
- + tree_image_file="data/vegetation/cactus_0$[6-7].png"
- + tree_image_visual=""
- + tree_material="cactus"
- + tree_probability="0.328571"
- + tree_radius_high="0.414286"
- + tree_radius_low="0.228571"
- + tree_width="58.1143"
- + visual_color="0x00FFFF"
- + visual_offset_x="0"
- + visual_offset_y="7"
- + max_y="256"
- + >
- + </VegetationComponent>
- +
- + <VegetationComponent
- + _enabled="1"
- + is_visual="0"
- + rand_seed="34676.86"
- + tree_extra_y="25"
- + tree_image_file="data/vegetation/drygrass_$[1-4].png"
- + tree_image_visual=""
- + tree_material="wood_loose"
- + tree_probability="0.428571"
- + tree_radius_high="0.514286"
- + tree_radius_low="0.128571"
- + tree_width="50.1143"
- + visual_color="0x00FFFF"
- + visual_offset_x="0"
- + visual_offset_y="3"
- + max_y="256"
- + >
- + </VegetationComponent>
- +
- + <VegetationComponent
- + _enabled="1"
- + is_visual="0"
- + rand_seed="853676.86"
- + tree_extra_y="25"
- + tree_image_file="data/vegetation/swamp_tree_0$[1-6].png"
- + tree_image_visual=""
- + tree_material="wood_loose"
- + tree_probability="0.028571"
- + tree_radius_high="0.714286"
- + tree_radius_low="0.528571"
- + tree_width="66.1143"
- + visual_color="0x00FFFF"
- + visual_offset_x="0"
- + visual_offset_y="7"
- + max_y="256"
- + >
- + </VegetationComponent>
- +
- + <FossilComponent
- + count_min="1"
- + count_max="3"
- + seed="68745"
- + material="bone"
- + image_file="data/vegetation/desert_bone_$[1-8].png"
- + >
- + </FossilComponent>
- +
- + </Materials>
- +
- +</Biome>
- +
- diff --git a/biome/rock_room.xml b/biome/rock_room.xml
- new file mode 100644
- index 0000000..39a3e83
- --- /dev/null
- +++ b/biome/rock_room.xml
- @@ -0,0 +1,148 @@
- +<Biome>
- + <Topology
- + name="???"
- + type="BIOME_WANG_TILE"
- + background_use_neighbor="0"
- + background_image="data/weather_gfx/background_rainforest_dark.png"
- + background_edge_left="data/weather_gfx/edges/background_rainforest_dark_left.png"
- + background_edge_right="data/weather_gfx/edges/background_rainforest_dark_right.png"
- + background_edge_top="data/weather_gfx/edges/background_rainforest_dark_top.png"
- + background_edge_bottom="data/weather_gfx/edges/background_rainforest_dark_bottom.png"
- + background_edge_priority="12"
- +
- + wang_template_file=""
- + lua_script="data/scripts/biomes/rock_room.lua"
- + wang_map_width="256"
- + wang_map_height="256"
- + audio_music_2="wandcave"
- + audio_ambience="cave"
- + >
- + <BitmapCaves
- + size_x="256"
- + size_y="256"
- + spawn_percent="0"
- + blob_caves_count_min="0"
- + blob_caves_count_max="1"
- + blob_caves_radius_min="1"
- + blob_caves_radius_max="1"
- + blob_caves_strength_min="1.2"
- + blob_caves_strength_max="2"
- + cave_childs_min="0"
- + cave_childs_max="1"
- + cave_count_min="1"
- + cave_count_max="2"
- + cave_strength_min="0.2"
- + cave_strength_max="1.8"
- + mountain_count_min="0"
- + mountain_count_max="0"
- + mountain_size_min="1"
- + mountain_size_max="10"
- + surface_cave_childs_min="0"
- + surface_cave_childs_max="0"
- + surface_caves_count_min="0"
- + surface_caves_count_max="0"
- + >
- + </BitmapCaves>
- + </Topology>
- +
- + <Materials
- + name="???"
- + >
- + <MaterialComponent
- + _enabled="1"
- + is_rare="0"
- + limit_max_y="424.229"
- + limit_min_y="-1024"
- + limit_y="1"
- + material_index="10"
- + material_max="0.55"
- + material_min="0.45"
- + material_name="sand_static"
- + rare_polka_is_boxed="1"
- + rare_polka_probability="0.2"
- + rare_polka_radius_high="0.65"
- + rare_polka_radius_low="0.2"
- + rare_required_max="10"
- + rare_required_min="0.2"
- + rare_scale_x="0.05"
- + rare_scale_y="0.05"
- + rare_use_perlin="0"
- + rare_use_polka="1" >
- + </MaterialComponent>
- +
- + <MaterialComponent
- + _enabled="1"
- + is_rare="1"
- + limit_max_y="2048"
- + limit_min_y="100"
- + limit_y="0"
- + material_index="10"
- + material_max="1.2"
- + material_min="1.1"
- + material_name="diamond"
- + rare_polka_is_boxed="1"
- + rare_polka_probability="0.757143"
- + rare_polka_radius_high="0.464286"
- + rare_polka_radius_low="0.1428571"
- + rare_required_max="10"
- + rare_required_min="0.371429"
- + rare_scale_x="0.0214286"
- + rare_scale_y="0.0214286"
- + rare_use_perlin="0"
- + rare_use_polka="1" >
- + </MaterialComponent>
- +
- + <MaterialComponent
- + _enabled="1"
- + is_rare="0"
- + limit_max_y="2048"
- + limit_min_y="100"
- + limit_y="0"
- + material_index="10"
- + material_max="1.0"
- + material_min="0.6"
- + material_name="rock_hard"
- + add_perlin="1"
- + add_perlin_scale_y="0.01"
- + add_perlin_scale_x="0.01"
- + rare_polka_is_boxed="1"
- + rare_polka_probability="0.2"
- + rare_polka_radius_high="0.65"
- + rare_polka_radius_low="0.2"
- + rare_required_max="10"
- + rare_required_min="0.2"
- + rare_scale_x="0.05"
- + rare_scale_y="0.05"
- + rare_use_perlin="0"
- + rare_use_polka="1" >
- + </MaterialComponent>
- +
- + <MaterialComponent
- + _enabled="1"
- + is_rare="0"
- + limit_max_y="2048"
- + limit_min_y="100"
- + limit_y="0"
- + material_index="11"
- + material_max="3.6"
- + material_min="0.8"
- + material_name="templebrickdark_static"
- + add_perlin="1"
- + add_perlin_scale_y="0.01"
- + add_perlin_scale_x="0.01"
- + rare_polka_is_boxed="1"
- + rare_polka_probability="0.2"
- + rare_polka_radius_high="0.65"
- + rare_polka_radius_low="0.2"
- + rare_required_max="10"
- + rare_required_min="0.2"
- + rare_scale_x="0.05"
- + rare_scale_y="0.05"
- + rare_use_perlin="0"
- + rare_use_polka="1" >
- + </MaterialComponent>
- +
- + </Materials>
- +
- +</Biome>
- +
- diff --git a/biome_impl/biome_map.png b/biome_impl/biome_map.png
- index d729de9..3e3ba2a 100644
- Binary files a/biome_impl/biome_map.png and b/biome_impl/biome_map.png differ
- diff --git a/biome_impl/funroom.png b/biome_impl/funroom.png
- new file mode 100644
- index 0000000..0682d18
- Binary files /dev/null and b/biome_impl/funroom.png differ
- diff --git a/biome_impl/overworld/desert_ruins_base_01_visual_fungus.png b/biome_impl/overworld/desert_ruins_base_01_visual_fungus.png
- new file mode 100644
- index 0000000..d202270
- Binary files /dev/null and b/biome_impl/overworld/desert_ruins_base_01_visual_fungus.png differ
- diff --git a/biome_impl/pillars/pillar_part_dsun.png b/biome_impl/pillars/pillar_part_dsun.png
- new file mode 100644
- index 0000000..b49c3db
- Binary files /dev/null and b/biome_impl/pillars/pillar_part_dsun.png differ
- diff --git a/biome_impl/pillars/pillar_part_minigh.png b/biome_impl/pillars/pillar_part_minigh.png
- new file mode 100644
- index 0000000..be009fd
- Binary files /dev/null and b/biome_impl/pillars/pillar_part_minigh.png differ
- diff --git a/biome_impl/pillars/pillar_part_sun.png b/biome_impl/pillars/pillar_part_sun.png
- new file mode 100644
- index 0000000..2a86547
- Binary files /dev/null and b/biome_impl/pillars/pillar_part_sun.png differ
- diff --git a/entities/_debug/wand_debug.lua b/entities/_debug/wand_debug.lua
- index ca2ae1e..cb554aa 100644
- --- a/entities/_debug/wand_debug.lua
- +++ b/entities/_debug/wand_debug.lua
- @@ -15,6 +15,7 @@ function DEBUG_wand_add_random_cards( gun, entity_id, level )
- local deck_capacity = gun["deck_capacity"]
- local card = ""
- + local is_rare = 0
- if( Random( 0, 100 ) < 4 or is_rare == 1 ) then
- local p = Random(0,100)
- diff --git a/entities/animals/boss_ghost/boss_ghost.xml b/entities/animals/boss_ghost/boss_ghost.xml
- index 6f39de7..7864ca7 100644
- --- a/entities/animals/boss_ghost/boss_ghost.xml
- +++ b/entities/animals/boss_ghost/boss_ghost.xml
- @@ -64,6 +64,7 @@
- can_fly="1"
- aggressiveness_min="1"
- aggressiveness_max="100"
- + sense_creatures_through_walls="1"
- >
- </AnimalAIComponent>
- diff --git a/entities/animals/boss_ghost/ghost_spawn_check.xml b/entities/animals/boss_ghost/ghost_spawn_check.xml
- new file mode 100644
- index 0000000..c2930fe
- --- /dev/null
- +++ b/entities/animals/boss_ghost/ghost_spawn_check.xml
- @@ -0,0 +1,7 @@
- +<Entity>
- + <LuaComponent
- + script_source_file="data/entities/animals/boss_ghost/spawn_ghost.lua"
- + execute_every_n_frame="36"
- + >
- + </LuaComponent>
- +</Entity>
- \ No newline at end of file
- diff --git a/entities/animals/boss_ghost/spawn_ghost.lua b/entities/animals/boss_ghost/spawn_ghost.lua
- new file mode 100644
- index 0000000..a4f154f
- --- /dev/null
- +++ b/entities/animals/boss_ghost/spawn_ghost.lua
- @@ -0,0 +1,12 @@
- +dofile_once( "data/scripts/lib/utilities.lua" )
- +
- +local entity_id = GetUpdatedEntityID()
- +local root_id = EntityGetRootEntity( entity_id )
- +local x,y = EntityGetTransform( root_id )
- +
- +local players = EntityGetInRadiusWithTag( x, y, 300, "player_unit" )
- +
- +if ( #players > 0 ) then
- + EntityLoad( "data/entities/animals/boss_ghost/boss_ghost.xml", x, y )
- + EntityKill( root_id )
- +end
- \ No newline at end of file
- diff --git a/entities/animals/boss_limbs/boss_limbs_death.lua b/entities/animals/boss_limbs/boss_limbs_death.lua
- index 3119694..6a2c148 100644
- --- a/entities/animals/boss_limbs/boss_limbs_death.lua
- +++ b/entities/animals/boss_limbs/boss_limbs_death.lua
- @@ -4,6 +4,7 @@ function death( damage_type_bit_field, damage_message, entity_thats_responsible,
- -- kill self
- local entity_id = GetUpdatedEntityID()
- local pos_x, pos_y = EntityGetTransform( entity_id )
- + local flag_status = HasFlagPersistent( "card_unlocked_pyramid" )
- -- do some kind of an effect? throw some particles into the air?
- EntityLoad( "data/entities/items/pickup/heart.xml", pos_x - 16, pos_y )
- @@ -12,10 +13,22 @@ function death( damage_type_bit_field, damage_message, entity_thats_responsible,
- local pw = check_parallel_pos( pos_x )
- SetRandomSeed( pw, 44 )
- - local opts = { "ADD_TRIGGER", "ADD_TIMER", "ADD_DEATH_TRIGGER", "DAMAGE_RANDOM" }
- + local opts = { "NOLLA", "DAMAGE_RANDOM", "RANDOM_SPELL", "RANDOM_PROJECTILE", "RANDOM_MODIFIER", "RANDOM_STATIC_PROJECTILE", "DRAW_RANDOM", "DRAW_RANDOM_X3", "DRAW_3_RANDOM" }
- + local rnd = Random( 1, #opts )
- - for i=1,4 do
- - CreateItemActionEntity( opts[i], pos_x - 8 * 4 + (i-1) * 16, pos_y )
- + if flag_status then
- + for i=1,4 do
- + rnd = Random( 1, #opts )
- + CreateItemActionEntity( opts[rnd], x - 8 * 4 + (i-1) * 16, y )
- + table.remove( opts, rnd )
- + end
- + else
- + for i=1,4 do
- + rnd = Random( 1, #opts )
- + CreateItemActionEntity( opts[rnd], x - 8 * 4 + (i-1) * 16, y )
- + table.remove( opts, rnd )
- + end
- + EntityLoad( "data/entities/items/pickup/heart_fullhp.xml", x, y )
- end
- AddFlagPersistent( "card_unlocked_pyramid" )
- diff --git a/entities/animals/boss_wizard/death.lua b/entities/animals/boss_wizard/death.lua
- index 118ef6e..0361e59 100644
- --- a/entities/animals/boss_wizard/death.lua
- +++ b/entities/animals/boss_wizard/death.lua
- @@ -3,29 +3,16 @@ dofile_once("data/scripts/lib/utilities.lua")
- function death( damage_type_bit_field, damage_message, entity_thats_responsible, drop_items )
- local entity_id = GetUpdatedEntityID()
- local x, y = EntityGetTransform( entity_id )
- - local flag_status = HasFlagPersistent( "card_unlocked_mestari" )
- -- StatsLogPlayerKill( GetUpdatedEntityID() )
- local pw = check_parallel_pos( x )
- SetRandomSeed( pw, 30 )
- - local opts = { "DUPLICATE", "RANDOM_SPELL", "RANDOM_PROJECTILE", "RANDOM_MODIFIER", "RANDOM_STATIC_PROJECTILE", "DRAW_RANDOM", "DRAW_RANDOM_X3", "DRAW_3_RANDOM", "NOLLA", "RESET" }
- - local rnd = Random( 1, #opts )
- + local opts = { "ADD_TRIGGER", "ADD_TIMER", "ADD_DEATH_TRIGGER", "RESET", "DUPLICATE" }
- - if flag_status then
- - for i=1,4 do
- - rnd = Random( 1, #opts )
- - CreateItemActionEntity( opts[rnd], x - 8 * 4 + (i-1) * 16, y )
- - table.remove( opts, rnd )
- - end
- - else
- - for i=1,4 do
- - rnd = Random( 1, #opts )
- - CreateItemActionEntity( opts[rnd], x - 8 * 4 + (i-1) * 16, y )
- - table.remove( opts, rnd )
- - end
- - EntityLoad( "data/entities/items/pickup/heart_fullhp.xml", x, y )
- + for i=1,4 do
- + CreateItemActionEntity( opts[i], pos_x - 8 * 4 + (i-1) * 16, pos_y )
- end
- EntityLoad( "data/entities/items/books/book_mestari.xml", x - 16, y )
- diff --git a/entities/animals/wizard_wither.xml b/entities/animals/wizard_wither.xml
- index 120595f..6aa9e46 100644
- --- a/entities/animals/wizard_wither.xml
- +++ b/entities/animals/wizard_wither.xml
- @@ -13,7 +13,7 @@
- sense_creatures="1"
- attack_ranged_enabled="1"
- can_fly="1"
- - attack_ranged_entity_file="data/entities/projectiles/orb_wither.xml"
- + attack_ranged_entity_file="data/entities/projectiles/orb_weaken.xml"
- attack_ranged_action_frame="5"
- attack_ranged_frames_between="120"
- attack_ranged_offset_y="0"
- diff --git a/entities/buildings/funroom_check.xml b/entities/buildings/funroom_check.xml
- new file mode 100644
- index 0000000..23ae5e9
- --- /dev/null
- +++ b/entities/buildings/funroom_check.xml
- @@ -0,0 +1,7 @@
- +<Entity>
- + <LuaComponent
- + script_source_file="data/scripts/buildings/funroom_check.lua"
- + execute_every_n_frame="5"
- + >
- + </LuaComponent>
- +</Entity>
- \ No newline at end of file
- diff --git a/entities/buildings/sun/spot_1_process.xml b/entities/buildings/sun/spot_1_process.xml
- index 1f16cb2..9c4ab56 100644
- --- a/entities/buildings/sun/spot_1_process.xml
- +++ b/entities/buildings/sun/spot_1_process.xml
- @@ -1,5 +1,6 @@
- <Entity tags="seed_a_process">
- -
- + <InheritTransformComponent />
- +
- <!-- buildup -->
- <ParticleEmitterComponent
- _tags="buildup_particles"
- diff --git a/entities/items/pickup/brimstone.xml b/entities/items/pickup/brimstone.xml
- index 3b60529..5d87056 100644
- --- a/entities/items/pickup/brimstone.xml
- +++ b/entities/items/pickup/brimstone.xml
- @@ -1,4 +1,4 @@
- -<Entity tags="hittable,teleportable_NOT,item_physics,item_pickup" >
- +<Entity tags="hittable,teleportable_NOT,item_physics,item_pickup,brimstone" >
- <Base file="data/entities/base_item_projectile.xml">
- <ProjectileComponent>
- <damage_by_type
- diff --git a/entities/items/pickup/musicstone.xml b/entities/items/pickup/musicstone.xml
- new file mode 100644
- index 0000000..4a924cc
- --- /dev/null
- +++ b/entities/items/pickup/musicstone.xml
- @@ -0,0 +1,157 @@
- +<Entity tags="hittable,teleportable_NOT,item_physics,item_pickup" >
- + <Base file="data/entities/base_item_projectile.xml" />
- +
- + <!-- physical presence -->
- +
- + <PhysicsBodyComponent
- + _tags="enabled_in_world"
- + uid="1"
- + allow_sleep="1"
- + angular_damping="0"
- + fixed_rotation="0"
- + is_bullet="1"
- + linear_damping="0"
- + auto_clean="0"
- + on_death_leave_physics_body="1"
- + hax_fix_going_through_ground="1"
- + ></PhysicsBodyComponent>
- +
- + <PhysicsImageShapeComponent
- + body_id="1"
- + centered="1"
- + image_file="data/items_gfx/musicstone.png"
- + material="gem_box2d_turquoise"
- + ></PhysicsImageShapeComponent>
- +
- + <PhysicsThrowableComponent
- + max_throw_speed="180"
- + throw_force_coeff="1.5"
- + ></PhysicsThrowableComponent>
- +
- + <VelocityComponent
- + _tags="enabled_in_world"
- + ></VelocityComponent>
- +
- + <!-- effects -->
- +
- + <MusicEnergyAffectorComponent
- + _tags="enabled_in_hand"
- + _enabled="0"
- + energy_target="1.0"
- + trigger_danger_music="1"
- + is_enemy="0"
- + fog_of_war_threshold="255"
- + >
- + </MusicEnergyAffectorComponent>
- +
- + <SpriteParticleEmitterComponent
- + _tags="enabled_in_hand"
- + _enabled="0"
- + sprite_file="data/particles/note_$[1-4].xml"
- + delay="0"
- + lifetime="1.5"
- + color.r="0.8" color.g="1" color.b="1" color.a="1"
- + color_change.r="0" color_change.g="0" color_change.b="0" color_change.a="-1"
- + velocity.x="0" velocity.y="0"
- + gravity.x="0" gravity.y="0"
- + velocity_slowdown="0"
- + rotation="0"
- + angular_velocity="0"
- + use_velocity_as_rotation="0"
- + scale.x="1" scale.y="1"
- + scale_velocity.x="0" scale_velocity.y="0"
- + emission_interval_min_frames="15"
- + emission_interval_max_frames="30"
- + count_min="1" count_max="1"
- + randomize_rotation.min="-0.3415"
- + randomize_rotation.max="0.3415"
- + randomize_angular_velocity.min="-0.1415"
- + randomize_angular_velocity.max="0.1415"
- + randomize_velocity.min_x="-12"
- + randomize_velocity.max_x="12"
- + randomize_velocity.min_y="-12"
- + randomize_velocity.max_y="12"
- + entity_velocity_multiplier="0.1"
- + >
- + </SpriteParticleEmitterComponent>
- +
- +
- + <!-- item -->
- +
- + <SpriteComponent
- + _tags="enabled_in_hand"
- + _enabled="0"
- + offset_x="5"
- + offset_y="5"
- + image_file="data/items_gfx/in_hand/musicstone.png"
- + ></SpriteComponent>
- +
- + <ItemComponent
- + _tags="enabled_in_world"
- + item_name="$item_musicstone"
- + ui_description="$itemdesc_musicstone"
- + ui_sprite="data/ui_gfx/items/musicstone.png"
- + max_child_items="0"
- + is_pickable="1"
- + is_equipable_forced="1"
- + preferred_inventory="QUICK"
- + ></ItemComponent>
- +
- + <UIInfoComponent
- + _tags="enabled_in_world"
- + name="$item_musicstone">
- + </UIInfoComponent>
- +
- + <SpriteParticleEmitterComponent
- + sprite_file="data/particles/ray.xml"
- + delay="0"
- + lifetime="1.5"
- + color.r="1" color.g="0.5" color.b="1" color.a="1.0"
- + color_change.r="0" color_change.g="0" color_change.b="0" color_change.a="-3.5"
- + velocity.x="0" velocity.y="0"
- + gravity.x="0" gravity.y="0"
- + velocity_slowdown="0"
- + rotation="0"
- + angular_velocity="0"
- + scale.x="1" scale.y="0"
- + scale_velocity.x="-0.3" scale_velocity.y="3"
- + emission_interval_min_frames="3"
- + emission_interval_max_frames="6"
- + emissive="1"
- + additive="1"
- + count_min="1" count_max="1"
- + use_velocity_as_rotation="1"
- + randomize_position.min_x="-2"
- + randomize_position.max_x="2"
- + randomize_position.min_y="-2"
- + randomize_position.max_y="2"
- + randomize_velocity.min_x="-40"
- + randomize_velocity.max_x="40"
- + randomize_velocity.min_y="-40"
- + randomize_velocity.max_y="40"
- + velocity_always_away_from_center="1">
- + </SpriteParticleEmitterComponent>
- +
- + <AbilityComponent
- + ui_name="$item_musicstone"
- + throw_as_item="1"
- + ><gun_config
- + deck_capacity="0"
- + ></gun_config>
- + </AbilityComponent>
- +
- + <MagicConvertMaterialComponent
- + _tags="enabled_in_world,enabled_in_hand"
- + kill_when_finished="1"
- + from_material=""
- + from_material_tag="[water]"
- + steps_per_frame="2"
- + to_material="steam"
- + clean_stains="0"
- + is_circle="1"
- + radius="64"
- + loop="1"
- + >
- + </MagicConvertMaterialComponent>
- +
- +</Entity>
- diff --git a/entities/items/pickup/poopstone.xml b/entities/items/pickup/poopstone.xml
- index c2239e0..fd27c3f 100644
- --- a/entities/items/pickup/poopstone.xml
- +++ b/entities/items/pickup/poopstone.xml
- @@ -1,4 +1,4 @@
- -<Entity tags="hittable,teleportable_NOT,item_physics,item_pickup" >
- +<Entity tags="hittable,teleportable_NOT,item_physics,item_pickup,poopstone" >
- <Base file="data/entities/base_item_projectile.xml" />
- <!-- physical presence -->
- diff --git a/entities/items/pickup/powder_stash.xml b/entities/items/pickup/powder_stash.xml
- index 57f2c53..8fbb66d 100644
- --- a/entities/items/pickup/powder_stash.xml
- +++ b/entities/items/pickup/powder_stash.xml
- @@ -1,7 +1,4 @@
- -<Entity tags="hittable,teleportable_NOT,item_physics" >
- -
- - <!-- tested would it be viable to add a pouch to the game that sucks up powders ... ? -->
- - <!-- it kinda works, but there's a bunch of polish that would have to be done for it -->
- +<Entity tags="hittable,teleportable_NOT,item_physics,item_pickup" >
- <!-- physical presence -->
- @@ -41,7 +38,6 @@
- ></VelocityComponent>
- <!-- potion logic -->
- -
- <!--
- <LuaComponent
- execute_on_added="1"
- @@ -50,7 +46,6 @@
- script_source_file="data/scripts/items/potion.lua"
- ></LuaComponent>
- -->
- -
- <LuaComponent
- remove_after_executed="1"
- script_item_picked_up="data/scripts/items/potion_effect.lua"
- diff --git a/entities/items/pickup/stonestone.xml b/entities/items/pickup/stonestone.xml
- index 6c880ee..ce9aa3f 100644
- --- a/entities/items/pickup/stonestone.xml
- +++ b/entities/items/pickup/stonestone.xml
- @@ -1,4 +1,4 @@
- -<Entity tags="hittable,teleportable_NOT,item_physics,item_pickup" >
- +<Entity tags="hittable,teleportable_NOT,item_physics,item_pickup,stonestone" >
- <Base file="data/entities/base_item_projectile.xml">
- <ProjectileComponent>
- <damage_by_type
- diff --git a/entities/items/pickup/sun/newsun.xml b/entities/items/pickup/sun/newsun.xml
- new file mode 100644
- index 0000000..e3a4b6d
- --- /dev/null
- +++ b/entities/items/pickup/sun/newsun.xml
- @@ -0,0 +1,245 @@
- +<Entity tags="hittable,teleportable_NOT,item_physics,seed_e" >
- + <Base file="data/entities/base_item_projectile.xml" />
- +
- + <!-- physical presence -->
- +
- + <PhysicsBodyComponent
- + _tags="enabled_in_world"
- + uid="1"
- + allow_sleep="1"
- + angular_damping="0"
- + fixed_rotation="0"
- + is_bullet="0"
- + linear_damping="0"
- + auto_clean="0"
- + on_death_leave_physics_body="1"
- + gravity_scale_if_has_no_image_shapes="0"
- + ></PhysicsBodyComponent>
- +
- + <PhysicsShapeComponent
- + is_circle="1"
- + radius_x="64"
- + radius_y="64"
- + >
- + </PhysicsShapeComponent>
- +
- + <VelocityComponent
- + _tags="enabled_in_world"
- + ></VelocityComponent>
- +
- + <SpriteComponent
- + _tags="enabled_in_hand,enabled_in_world"
- + _enabled="1"
- + offset_x="98"
- + offset_y="98"
- + image_file="data/particles/fog_of_war_hole_huge.png"
- + smooth_filtering="1"
- + fog_of_war_hole="1"
- + ></SpriteComponent>
- +
- + <SpriteComponent
- + _tags="enabled_in_hand,enabled_in_world"
- + _enabled="1"
- + offset_x="105"
- + offset_y="105"
- + emissive="1"
- + additive="1"
- + image_file="data/props_gfx/sun_big.png"
- + smooth_filtering="1"
- + ></SpriteComponent>
- +
- + <UIInfoComponent
- + _tags="enabled_in_world"
- + name="$item_seed_e">
- + </UIInfoComponent>
- +
- + <MagicConvertMaterialComponent
- + _tags="enabled_in_world,enabled_in_hand"
- + kill_when_finished="0"
- + steps_per_frame="16"
- + to_material="lava"
- + convert_entities="1"
- + clean_stains="0"
- + is_circle="1"
- + radius="100"
- + loop="1"
- + >
- + </MagicConvertMaterialComponent>
- +
- + <MagicConvertMaterialComponent
- + _tags="enabled_in_world,enabled_in_hand"
- + kill_when_finished="0"
- + from_material_tag="[alchemy]"
- + steps_per_frame="16"
- + to_material="lava"
- + clean_stains="0"
- + is_circle="1"
- + radius="230"
- + loop="1"
- + >
- + </MagicConvertMaterialComponent>
- +
- + <MagicConvertMaterialComponent
- + _tags="enabled_in_world,enabled_in_hand"
- + kill_when_finished="0"
- + ignite_materials="1"
- + steps_per_frame="16"
- + fan_the_flames="1"
- + clean_stains="0"
- + is_circle="1"
- + radius="270"
- + loop="1"
- + >
- + </MagicConvertMaterialComponent>
- +
- + <CellEaterComponent
- + radius="190"
- + eat_probability="80"
- + ignored_material="gem_box2d_yellow_sun"
- + >
- + </CellEaterComponent>
- +
- + <AreaDamageComponent
- + aabb_min.x="-122"
- + aabb_min.y="-122"
- + aabb_max.x="122"
- + aabb_max.y="122"
- + damage_per_frame="2.14"
- + update_every_n_frame="1"
- + entities_with_tag="mortal"
- + death_cause="$damage_sun"
- + damage_type="DAMAGE_CURSE"
- + >
- + </AreaDamageComponent>
- +
- + <AreaDamageComponent
- + aabb_min.x="-190"
- + aabb_min.y="-190"
- + aabb_max.x="190"
- + aabb_max.y="190"
- + damage_per_frame="1.05"
- + update_every_n_frame="1"
- + entities_with_tag="mortal"
- + death_cause="$damage_sun"
- + damage_type="DAMAGE_EXPLOSION"
- + >
- + </AreaDamageComponent>
- +
- + <AreaDamageComponent
- + aabb_min.x="-280"
- + aabb_min.y="-280"
- + aabb_max.x="280"
- + aabb_max.y="280"
- + damage_per_frame="0.61"
- + update_every_n_frame="1"
- + entities_with_tag="mortal"
- + death_cause="$damage_sun"
- + damage_type="DAMAGE_FIRE"
- + >
- + </AreaDamageComponent>
- +
- + <ParticleEmitterComponent
- + _tags="enabled_in_world,enabled_in_hand"
- + emitted_material_name="spark_yellow"
- + fade_based_on_lifetime="1"
- + x_pos_offset_min="0"
- + x_pos_offset_max="0"
- + y_pos_offset_min="0"
- + y_pos_offset_max="0"
- + x_vel_min="-80"
- + x_vel_max="80"
- + y_vel_min="-80"
- + y_vel_max="80"
- + area_circle_radius.min="32"
- + area_circle_radius.max="64"
- + velocity_always_away_from_center="500"
- + gravity.y="0"
- + friction="0.1"
- + airflow_force="0.9"
- + airflow_time="0.101"
- + airflow_scale="0.81"
- + count_min="40"
- + count_max="60"
- + lifetime_min="0.1"
- + lifetime_max="2.4"
- + create_real_particles="0"
- + emit_cosmetic_particles="1"
- + draw_as_long="1"
- + collide_with_grid="0"
- + render_on_grid="1"
- + emission_interval_min_frames="1"
- + emission_interval_max_frames="1"
- + render_ultrabright="1"
- + is_emitting="1" >
- + </ParticleEmitterComponent>
- +
- + <ParticleEmitterComponent
- + _tags="enabled_in_world,enabled_in_hand"
- + emitted_material_name="spark"
- + fade_based_on_lifetime="1"
- + x_pos_offset_min="0"
- + x_pos_offset_max="0"
- + y_pos_offset_min="0"
- + y_pos_offset_max="0"
- + x_vel_min="-80"
- + x_vel_max="80"
- + y_vel_min="-80"
- + y_vel_max="80"
- + area_circle_radius.min="32"
- + area_circle_radius.max="64"
- + velocity_always_away_from_center="500"
- + gravity.y="0"
- + friction="0.1"
- + airflow_force="0.9"
- + airflow_time="0.101"
- + airflow_scale="0.81"
- + count_min="40"
- + count_max="60"
- + lifetime_min="0.1"
- + lifetime_max="2.4"
- + create_real_particles="0"
- + emit_cosmetic_particles="1"
- + draw_as_long="1"
- + collide_with_grid="0"
- + render_on_grid="1"
- + emission_interval_min_frames="1"
- + emission_interval_max_frames="1"
- + render_ultrabright="1"
- + is_emitting="1" >
- + </ParticleEmitterComponent>
- +
- + <BlackHoleComponent
- + particle_attractor_force="6"
- + damage_probability="0.25"
- + radius="280">
- + </BlackHoleComponent>
- +
- + <AudioLoopComponent
- + file="data/audio/Desktop/misc.bank"
- + event_name="misc/sun/size_3_loop"
- + auto_play="1">
- + </AudioLoopComponent>
- +
- + <MusicEnergyAffectorComponent
- + energy_target="1.0">
- + </MusicEnergyAffectorComponent>
- +
- + <Entity>
- + <LooseGroundComponent
- + max_distance="240"
- + probability="0.2"
- + max_angle="3.1415926535"
- + chunk_max_angle="3.1415926535"
- + chunk_probability="0.03" >
- + </LooseGroundComponent>
- +
- + <InheritTransformComponent>
- + </InheritTransformComponent>
- + </Entity>
- +
- + <LuaComponent
- + script_source_file="data/scripts/buildings/sun/sun_controls.lua"
- + execute_every_n_frame="10"
- + >
- + </LuaComponent>
- +</Entity>
- diff --git a/entities/items/pickup/sun/newsun_dark.xml b/entities/items/pickup/sun/newsun_dark.xml
- new file mode 100644
- index 0000000..9a912a3
- --- /dev/null
- +++ b/entities/items/pickup/sun/newsun_dark.xml
- @@ -0,0 +1,240 @@
- +<Entity tags="hittable,teleportable_NOT,item_physics,seed_f" >
- + <Base file="data/entities/base_item_projectile.xml" />
- +
- + <!-- physical presence -->
- +
- + <PhysicsBodyComponent
- + _tags="enabled_in_world"
- + uid="1"
- + allow_sleep="1"
- + angular_damping="0"
- + fixed_rotation="0"
- + is_bullet="0"
- + linear_damping="0"
- + auto_clean="0"
- + on_death_leave_physics_body="1"
- + gravity_scale_if_has_no_image_shapes="0"
- + ></PhysicsBodyComponent>
- +
- + <PhysicsShapeComponent
- + is_circle="1"
- + radius_x="64"
- + radius_y="64"
- + >
- + </PhysicsShapeComponent>
- +
- + <VelocityComponent
- + _tags="enabled_in_world"
- + ></VelocityComponent>
- +
- + <SpriteComponent
- + _tags="enabled_in_hand,enabled_in_world"
- + _enabled="1"
- + offset_x="160"
- + offset_y="160"
- + emissive="1"
- + z_index="-1"
- + image_file="data/props_gfx/sun_big_dark.png"
- + smooth_filtering="1"
- + ></SpriteComponent>
- +
- + <UIInfoComponent
- + _tags="enabled_in_world"
- + name="$item_seed_f">
- + </UIInfoComponent>
- +
- + <MagicConvertMaterialComponent
- + _tags="enabled_in_world,enabled_in_hand"
- + kill_when_finished="0"
- + steps_per_frame="16"
- + to_material="material_darkness"
- + convert_entities="1"
- + clean_stains="0"
- + is_circle="1"
- + radius="100"
- + loop="1"
- + >
- + </MagicConvertMaterialComponent>
- +
- + <MagicConvertMaterialComponent
- + _tags="enabled_in_world,enabled_in_hand"
- + kill_when_finished="0"
- + from_material_tag="[alchemy]"
- + steps_per_frame="16"
- + to_material="material_darkness"
- + clean_stains="0"
- + is_circle="1"
- + radius="230"
- + loop="1"
- + >
- + </MagicConvertMaterialComponent>
- +
- + <MagicConvertMaterialComponent
- + _tags="enabled_in_world,enabled_in_hand"
- + kill_when_finished="0"
- + extinguish_fire="1"
- + steps_per_frame="16"
- + clean_stains="0"
- + is_circle="1"
- + radius="270"
- + loop="1"
- + >
- + </MagicConvertMaterialComponent>
- +
- + <CellEaterComponent
- + radius="130"
- + eat_probability="80"
- + ignored_material="gem_box2d_yellow_sun"
- + >
- + </CellEaterComponent>
- +
- + <AreaDamageComponent
- + aabb_min.x="-122"
- + aabb_min.y="-122"
- + aabb_max.x="122"
- + aabb_max.y="122"
- + damage_per_frame="2.14"
- + update_every_n_frame="1"
- + entities_with_tag="mortal"
- + death_cause="$damage_sun"
- + damage_type="DAMAGE_CURSE"
- + >
- + </AreaDamageComponent>
- +
- + <AreaDamageComponent
- + aabb_min.x="-190"
- + aabb_min.y="-190"
- + aabb_max.x="190"
- + aabb_max.y="190"
- + damage_per_frame="1.05"
- + update_every_n_frame="1"
- + entities_with_tag="mortal"
- + death_cause="$damage_sun"
- + damage_type="DAMAGE_ICE"
- + >
- + </AreaDamageComponent>
- +
- + <AreaDamageComponent
- + aabb_min.x="-280"
- + aabb_min.y="-280"
- + aabb_max.x="280"
- + aabb_max.y="280"
- + damage_per_frame="0.61"
- + update_every_n_frame="1"
- + entities_with_tag="mortal"
- + death_cause="$damage_sun"
- + damage_type="DAMAGE_ELECTRICITY"
- + >
- + </AreaDamageComponent>
- +
- + <ParticleEmitterComponent
- + _tags="enabled_in_world,enabled_in_hand"
- + emitted_material_name="spark_purple_bright"
- + fade_based_on_lifetime="1"
- + x_pos_offset_min="0"
- + x_pos_offset_max="0"
- + y_pos_offset_min="0"
- + y_pos_offset_max="0"
- + x_vel_min="-80"
- + x_vel_max="80"
- + y_vel_min="-80"
- + y_vel_max="80"
- + area_circle_radius.min="64"
- + area_circle_radius.max="96"
- + velocity_always_away_from_center="500"
- + gravity.y="0"
- + friction="0.1"
- + airflow_force="0.9"
- + airflow_time="0.101"
- + airflow_scale="0.81"
- + count_min="40"
- + count_max="60"
- + lifetime_min="0.1"
- + lifetime_max="2.4"
- + create_real_particles="0"
- + emit_cosmetic_particles="1"
- + draw_as_long="1"
- + collide_with_grid="0"
- + render_on_grid="1"
- + emission_interval_min_frames="1"
- + emission_interval_max_frames="1"
- + render_ultrabright="1"
- + is_emitting="1" >
- + </ParticleEmitterComponent>
- +
- + <ParticleEmitterComponent
- + _tags="enabled_in_world,enabled_in_hand"
- + emitted_material_name="spark_blue_dark"
- + fade_based_on_lifetime="1"
- + x_pos_offset_min="0"
- + x_pos_offset_max="0"
- + y_pos_offset_min="0"
- + y_pos_offset_max="0"
- + x_vel_min="-80"
- + x_vel_max="80"
- + y_vel_min="-80"
- + y_vel_max="80"
- + area_circle_radius.min="64"
- + area_circle_radius.max="96"
- + velocity_always_away_from_center="500"
- + gravity.y="0"
- + friction="0.1"
- + airflow_force="0.9"
- + airflow_time="0.101"
- + airflow_scale="0.81"
- + count_min="40"
- + count_max="60"
- + lifetime_min="0.1"
- + lifetime_max="2.4"
- + create_real_particles="0"
- + emit_cosmetic_particles="1"
- + draw_as_long="1"
- + collide_with_grid="0"
- + render_on_grid="1"
- + emission_interval_min_frames="1"
- + emission_interval_max_frames="1"
- + render_ultrabright="1"
- + is_emitting="1" >
- + </ParticleEmitterComponent>
- +
- + <BlackHoleComponent
- + particle_attractor_force="8"
- + damage_probability="0.25"
- + radius="280">
- + </BlackHoleComponent>
- +
- + <AudioLoopComponent
- + file="data/audio/Desktop/misc.bank"
- + event_name="misc/sun/size_3_loop"
- + auto_play="1">
- + </AudioLoopComponent>
- +
- + <MusicEnergyAffectorComponent
- + energy_target="1.0">
- + </MusicEnergyAffectorComponent>
- +
- + <Entity>
- + <LooseGroundComponent
- + max_distance="260"
- + probability="0.2"
- + max_angle="3.1415926535"
- + chunk_max_angle="3.1415926535"
- + chunk_probability="0.03" >
- + </LooseGroundComponent>
- +
- + <InheritTransformComponent>
- + </InheritTransformComponent>
- + </Entity>
- +
- + <LuaComponent
- + script_source_file="data/scripts/buildings/sun/sun_controls.lua"
- + execute_every_n_frame="10"
- + >
- + </LuaComponent>
- +
- + <LuaComponent
- + script_source_file="data/scripts/buildings/sun/sun_dark_effect.lua"
- + execute_every_n_frame="40"
- + >
- + </LuaComponent>
- +</Entity>
- diff --git a/entities/items/pickup/sun/sunbaby.xml b/entities/items/pickup/sun/sunbaby.xml
- index c21a8df..a7ff7ed 100644
- --- a/entities/items/pickup/sun/sunbaby.xml
- +++ b/entities/items/pickup/sun/sunbaby.xml
- @@ -38,13 +38,13 @@
- ></SpriteComponent>
- <SpriteComponent
- - _tags="enabled_in_hand,enabled_in_world"
- + _tags="enabled_in_hand,enabled_in_world,sunbaby_sprite"
- _enabled="1"
- - offset_x="70"
- - offset_y="70"
- + offset_x="50"
- + offset_y="50"
- emissive="1"
- additive="1"
- - image_file="data/props_gfx/sun.png"
- + image_file="data/props_gfx/sun_small.png"
- smooth_filtering="1"
- ></SpriteComponent>
- @@ -54,7 +54,8 @@
- </UIInfoComponent>
- <MagicConvertMaterialComponent
- - _tags="enabled_in_world,enabled_in_hand"
- + _enabled="0"
- + _tags="water"
- kill_when_finished="0"
- from_material_tag="[alchemy]"
- steps_per_frame="8"
- @@ -67,10 +68,24 @@
- </MagicConvertMaterialComponent>
- <MagicConvertMaterialComponent
- - _tags="enabled_in_world,enabled_in_hand"
- + _tags="fire_disable"
- kill_when_finished="0"
- ignite_materials="1"
- - steps_per_frame="8"
- + steps_per_frame="2"
- + fan_the_flames="1"
- + clean_stains="0"
- + is_circle="1"
- + radius="140"
- + loop="1"
- + >
- + </MagicConvertMaterialComponent>
- +
- + <MagicConvertMaterialComponent
- + _tags="fire"
- + _enabled="0"
- + kill_when_finished="0"
- + ignite_materials="1"
- + steps_per_frame="12"
- fan_the_flames="1"
- clean_stains="0"
- is_circle="1"
- @@ -80,17 +95,29 @@
- </MagicConvertMaterialComponent>
- <CellEaterComponent
- + _tags="earth"
- + _enabled="0"
- radius="190"
- - ignored_material="gem_box2d_yellow_sun"
- + eat_probability="80"
- + ignored_material_tag="[sunbaby_ignore_list]"
- + >
- + </CellEaterComponent>
- +
- + <CellEaterComponent
- + _tags="earth_disable"
- + radius="120"
- + eat_probability="40"
- + ignored_material_tag="[sunbaby_ignore_list]"
- >
- </CellEaterComponent>
- <AreaDamageComponent
- - aabb_min.x="-122"
- - aabb_min.y="-122"
- - aabb_max.x="122"
- - aabb_max.y="122"
- - damage_per_frame="5.14"
- + aabb_min.x="-72"
- + aabb_min.y="-72"
- + aabb_max.x="72"
- + aabb_max.y="72"
- + circle_radius="72"
- + damage_per_frame="1.14"
- update_every_n_frame="1"
- entities_with_tag="mortal"
- death_cause="$damage_sun"
- @@ -99,33 +126,69 @@
- </AreaDamageComponent>
- <AreaDamageComponent
- - aabb_min.x="-190"
- - aabb_min.y="-190"
- - aabb_max.x="190"
- - aabb_max.y="190"
- - damage_per_frame="2.05"
- + _tags="fire_disable"
- + aabb_min.x="-95"
- + aabb_min.y="-95"
- + aabb_max.x="95"
- + aabb_max.y="95"
- + circle_radius="95"
- + damage_per_frame="0.65"
- update_every_n_frame="1"
- entities_with_tag="mortal"
- death_cause="$damage_sun"
- - damage_type="DAMAGE_CURSE"
- + damage_type="DAMAGE_EXPLOSION"
- >
- </AreaDamageComponent>
- <AreaDamageComponent
- - aabb_min.x="-280"
- - aabb_min.y="-280"
- - aabb_max.x="280"
- - aabb_max.y="280"
- - damage_per_frame="1.01"
- + _tags="fire"
- + _enabled="0"
- + aabb_min.x="-130"
- + aabb_min.y="-130"
- + aabb_max.x="130"
- + aabb_max.y="130"
- + circle_radius="130"
- + damage_per_frame="0.65"
- update_every_n_frame="1"
- entities_with_tag="mortal"
- death_cause="$damage_sun"
- - damage_type="DAMAGE_CURSE"
- + damage_type="DAMAGE_EXPLOSION"
- + >
- + </AreaDamageComponent>
- +
- + <AreaDamageComponent
- + _tags="fire_disable"
- + aabb_min.x="-120"
- + aabb_min.y="-120"
- + aabb_max.x="120"
- + aabb_max.y="120"
- + circle_radius="120"
- + damage_per_frame="0.21"
- + update_every_n_frame="1"
- + entities_with_tag="mortal"
- + death_cause="$damage_sun"
- + damage_type="DAMAGE_FIRE"
- + >
- + </AreaDamageComponent>
- +
- + <AreaDamageComponent
- + _tags="fire"
- + _enabled="0"
- + aabb_min.x="-180"
- + aabb_min.y="-180"
- + aabb_max.x="180"
- + aabb_max.y="180"
- + circle_radius="180"
- + damage_per_frame="0.21"
- + update_every_n_frame="1"
- + entities_with_tag="mortal"
- + death_cause="$damage_sun"
- + damage_type="DAMAGE_FIRE"
- >
- </AreaDamageComponent>
- <ParticleEmitterComponent
- - _tags="enabled_in_world,enabled_in_hand"
- + _tags="enabled_in_world,enabled_in_hand,sunbaby_stage_2"
- emitted_material_name="spark_yellow"
- fade_based_on_lifetime="1"
- x_pos_offset_min="0"
- @@ -136,9 +199,9 @@
- x_vel_max="80"
- y_vel_min="-80"
- y_vel_max="80"
- - area_circle_radius.min="32"
- + area_circle_radius.min="16"
- area_circle_radius.max="64"
- - velocity_always_away_from_center="500"
- + velocity_always_away_from_center="250"
- gravity.y="0"
- friction="0.1"
- airflow_force="0.9"
- @@ -147,7 +210,7 @@
- count_min="40"
- count_max="60"
- lifetime_min="0.1"
- - lifetime_max="2.4"
- + lifetime_max="0.9"
- create_real_particles="0"
- emit_cosmetic_particles="1"
- draw_as_long="1"
- @@ -160,7 +223,7 @@
- </ParticleEmitterComponent>
- <ParticleEmitterComponent
- - _tags="enabled_in_world,enabled_in_hand"
- + _tags="enabled_in_world,enabled_in_hand,sunbaby_stage_1"
- emitted_material_name="spark"
- fade_based_on_lifetime="1"
- x_pos_offset_min="0"
- @@ -171,9 +234,9 @@
- x_vel_max="80"
- y_vel_min="-80"
- y_vel_max="80"
- - area_circle_radius.min="32"
- + area_circle_radius.min="16"
- area_circle_radius.max="64"
- - velocity_always_away_from_center="500"
- + velocity_always_away_from_center="250"
- gravity.y="0"
- friction="0.1"
- airflow_force="0.9"
- @@ -182,7 +245,7 @@
- count_min="40"
- count_max="60"
- lifetime_min="0.1"
- - lifetime_max="2.4"
- + lifetime_max="0.9"
- create_real_particles="0"
- emit_cosmetic_particles="1"
- draw_as_long="1"
- @@ -193,4 +256,181 @@
- render_ultrabright="1"
- is_emitting="1" >
- </ParticleEmitterComponent>
- +
- + <ParticleEmitterComponent
- + _tags="water"
- + _enabled="0"
- + emitted_material_name="spark_blue_dark"
- + fade_based_on_lifetime="1"
- + x_pos_offset_min="0"
- + x_pos_offset_max="0"
- + y_pos_offset_min="0"
- + y_pos_offset_max="0"
- + x_vel_min="-80"
- + x_vel_max="80"
- + y_vel_min="-80"
- + y_vel_max="80"
- + area_circle_radius.min="16"
- + area_circle_radius.max="64"
- + velocity_always_away_from_center="300"
- + gravity.y="0"
- + friction="0.1"
- + airflow_force="0.9"
- + airflow_time="0.101"
- + airflow_scale="0.81"
- + count_min="40"
- + count_max="60"
- + lifetime_min="0.1"
- + lifetime_max="0.9"
- + create_real_particles="0"
- + emit_cosmetic_particles="1"
- + draw_as_long="1"
- + collide_with_grid="0"
- + render_on_grid="1"
- + emission_interval_min_frames="1"
- + emission_interval_max_frames="1"
- + render_ultrabright="1"
- + is_emitting="1" >
- + </ParticleEmitterComponent>
- +
- + <ParticleEmitterComponent
- + _tags="fire"
- + _enabled="0"
- + emitted_material_name="spark_red"
- + fade_based_on_lifetime="1"
- + x_pos_offset_min="0"
- + x_pos_offset_max="0"
- + y_pos_offset_min="0"
- + y_pos_offset_max="0"
- + x_vel_min="-80"
- + x_vel_max="80"
- + y_vel_min="-80"
- + y_vel_max="80"
- + area_circle_radius.min="16"
- + area_circle_radius.max="64"
- + velocity_always_away_from_center="400"
- + gravity.y="0"
- + friction="0.1"
- + airflow_force="0.9"
- + airflow_time="0.101"
- + airflow_scale="0.81"
- + count_min="40"
- + count_max="60"
- + lifetime_min="0.1"
- + lifetime_max="0.9"
- + create_real_particles="0"
- + emit_cosmetic_particles="1"
- + draw_as_long="1"
- + collide_with_grid="0"
- + render_on_grid="1"
- + emission_interval_min_frames="1"
- + emission_interval_max_frames="1"
- + render_ultrabright="1"
- + is_emitting="1" >
- + </ParticleEmitterComponent>
- +
- + <ParticleEmitterComponent
- + _tags="air"
- + _enabled="0"
- + emitted_material_name="spark_blue"
- + fade_based_on_lifetime="1"
- + x_pos_offset_min="0"
- + x_pos_offset_max="0"
- + y_pos_offset_min="0"
- + y_pos_offset_max="0"
- + x_vel_min="-80"
- + x_vel_max="80"
- + y_vel_min="-80"
- + y_vel_max="80"
- + area_circle_radius.min="16"
- + area_circle_radius.max="64"
- + velocity_always_away_from_center="400"
- + gravity.y="0"
- + friction="0.1"
- + airflow_force="0.9"
- + airflow_time="0.101"
- + airflow_scale="0.81"
- + count_min="40"
- + count_max="60"
- + lifetime_min="0.1"
- + lifetime_max="0.9"
- + create_real_particles="0"
- + emit_cosmetic_particles="1"
- + draw_as_long="1"
- + collide_with_grid="0"
- + render_on_grid="1"
- + emission_interval_min_frames="1"
- + emission_interval_max_frames="1"
- + render_ultrabright="1"
- + is_emitting="1" >
- + </ParticleEmitterComponent>
- +
- + <ParticleEmitterComponent
- + _tags="earth"
- + _enabled="0"
- + emitted_material_name="spark_green"
- + fade_based_on_lifetime="1"
- + x_pos_offset_min="0"
- + x_pos_offset_max="0"
- + y_pos_offset_min="0"
- + y_pos_offset_max="0"
- + x_vel_min="-80"
- + x_vel_max="80"
- + y_vel_min="-80"
- + y_vel_max="80"
- + area_circle_radius.min="16"
- + area_circle_radius.max="64"
- + velocity_always_away_from_center="200"
- + gravity.y="0"
- + friction="0.1"
- + airflow_force="0.9"
- + airflow_time="0.101"
- + airflow_scale="0.81"
- + count_min="40"
- + count_max="60"
- + lifetime_min="0.1"
- + lifetime_max="0.9"
- + create_real_particles="0"
- + emit_cosmetic_particles="1"
- + draw_as_long="1"
- + collide_with_grid="0"
- + render_on_grid="1"
- + emission_interval_min_frames="1"
- + emission_interval_max_frames="1"
- + render_ultrabright="1"
- + is_emitting="1" >
- + </ParticleEmitterComponent>
- +
- + <AudioLoopComponent
- + file="data/audio/Desktop/misc.bank"
- + event_name="misc/sun/size_2_loop"
- + auto_play="1">
- + </AudioLoopComponent>
- +
- + <LuaComponent
- + script_source_file="data/scripts/buildings/sun/spot_4.lua"
- + execute_every_n_frame="10"
- + >
- + </LuaComponent>
- +
- + <VariableStorageComponent
- + _tags="sunbaby_essences_list"
- + name="sunbaby_essences_list"
- + value_string=""
- + >
- + </VariableStorageComponent>
- +
- + <LuaComponent
- + _enabled="0"
- + _tags="air"
- + script_source_file="data/scripts/buildings/sun/sunbaby_air_effect.lua"
- + execute_every_n_frame="80"
- + >
- + </LuaComponent>
- +
- + <LuaComponent
- + script_source_file="data/scripts/buildings/sun/sunbaby_controls.lua"
- + execute_every_n_frame="10"
- + >
- + </LuaComponent>
- </Entity>
- diff --git a/entities/items/pickup/sun/sunegg.xml b/entities/items/pickup/sun/sunegg.xml
- index 10a646f..b1b36be 100644
- --- a/entities/items/pickup/sun/sunegg.xml
- +++ b/entities/items/pickup/sun/sunegg.xml
- @@ -19,7 +19,7 @@
- <PhysicsImageShapeComponent
- body_id="1"
- centered="1"
- - image_file="data/items_gfx/normals_orb_64_noise.png"
- + image_file="data/items_gfx/normals_orb_56_noise.png"
- material="gem_box2d_yellow_sun"
- ></PhysicsImageShapeComponent>
- @@ -51,7 +51,7 @@
- to_material="lava"
- clean_stains="0"
- is_circle="1"
- - radius="160"
- + radius="120"
- loop="1"
- >
- </MagicConvertMaterialComponent>
- @@ -65,7 +65,7 @@
- to_material="lava"
- clean_stains="0"
- is_circle="1"
- - radius="160"
- + radius="120"
- loop="1"
- >
- </MagicConvertMaterialComponent>
- @@ -79,7 +79,7 @@
- to_material="lava"
- clean_stains="0"
- is_circle="1"
- - radius="160"
- + radius="120"
- loop="1"
- >
- </MagicConvertMaterialComponent>
- @@ -92,22 +92,23 @@
- fan_the_flames="1"
- clean_stains="0"
- is_circle="1"
- - radius="160"
- + radius="140"
- loop="1"
- >
- </MagicConvertMaterialComponent>
- <CellEaterComponent
- radius="72"
- + eat_probability="10"
- ignored_material="gem_box2d_yellow_sun"
- >
- </CellEaterComponent>
- <AreaDamageComponent
- - aabb_min.x="-72"
- - aabb_min.y="-72"
- - aabb_max.x="72"
- - aabb_max.y="72"
- + aabb_min.x="-48"
- + aabb_min.y="-48"
- + aabb_max.x="48"
- + aabb_max.y="48"
- damage_per_frame="1.14"
- update_every_n_frame="1"
- entities_with_tag="mortal"
- @@ -117,28 +118,28 @@
- </AreaDamageComponent>
- <AreaDamageComponent
- - aabb_min.x="-160"
- - aabb_min.y="-160"
- - aabb_max.x="160"
- - aabb_max.y="160"
- + aabb_min.x="-80"
- + aabb_min.y="-80"
- + aabb_max.x="80"
- + aabb_max.y="80"
- damage_per_frame="0.05"
- update_every_n_frame="1"
- entities_with_tag="mortal"
- death_cause="$damage_sun"
- - damage_type="DAMAGE_CURSE"
- + damage_type="DAMAGE_EXPLOSION"
- >
- </AreaDamageComponent>
- <AreaDamageComponent
- - aabb_min.x="-220"
- - aabb_min.y="-220"
- - aabb_max.x="220"
- - aabb_max.y="220"
- + aabb_min.x="-120"
- + aabb_min.y="-120"
- + aabb_max.x="120"
- + aabb_max.y="120"
- damage_per_frame="0.01"
- update_every_n_frame="1"
- entities_with_tag="mortal"
- death_cause="$damage_sun"
- - damage_type="DAMAGE_CURSE"
- + damage_type="DAMAGE_FIRE"
- >
- </AreaDamageComponent>
- @@ -156,7 +157,7 @@
- y_vel_max="40"
- area_circle_radius.min="32"
- area_circle_radius.max="36"
- - velocity_always_away_from_center="200"
- + velocity_always_away_from_center="150"
- gravity.y="0"
- friction="0.1"
- airflow_force="0.9"
- @@ -189,4 +190,10 @@
- value_int="0"
- >
- </VariableStorageComponent>
- +
- + <AudioLoopComponent
- + file="data/audio/Desktop/misc.bank"
- + event_name="misc/sun/size_1_loop"
- + auto_play="1">
- + </AudioLoopComponent>
- </Entity>
- diff --git a/entities/items/pickup/thunderstone.xml b/entities/items/pickup/thunderstone.xml
- index 0a2d82f..be710a7 100644
- --- a/entities/items/pickup/thunderstone.xml
- +++ b/entities/items/pickup/thunderstone.xml
- @@ -1,4 +1,4 @@
- -<Entity tags="hittable,teleportable_NOT,item_physics,item_pickup" >
- +<Entity tags="hittable,teleportable_NOT,item_physics,item_pickup,thunderstone" >
- <Base file="data/entities/base_item_projectile.xml">
- <ProjectileComponent>
- <damage_by_type
- diff --git a/entities/items/pickup/waterstone.xml b/entities/items/pickup/waterstone.xml
- index ee14f02..60f12cb 100644
- --- a/entities/items/pickup/waterstone.xml
- +++ b/entities/items/pickup/waterstone.xml
- @@ -1,4 +1,4 @@
- -<Entity tags="hittable,teleportable_NOT,item_physics,item_pickup" >
- +<Entity tags="hittable,teleportable_NOT,item_physics,item_pickup,waterstone" >
- <Base file="data/entities/base_item_projectile.xml" />
- <!-- physical presence -->
- diff --git a/entities/misc/area_damage.xml b/entities/misc/area_damage.xml
- index 45b8439..18f26fa 100644
- --- a/entities/misc/area_damage.xml
- +++ b/entities/misc/area_damage.xml
- @@ -10,6 +10,7 @@
- entities_with_tag="homing_target"
- death_cause="$damage_rock_curse"
- damage_type="DAMAGE_PROJECTILE"
- + circle_radius="16"
- >
- </AreaDamageComponent>
- diff --git a/entities/misc/bounce_larpa_launcher.xml b/entities/misc/bounce_larpa_launcher.xml
- index fea8257..a843a3e 100644
- --- a/entities/misc/bounce_larpa_launcher.xml
- +++ b/entities/misc/bounce_larpa_launcher.xml
- @@ -5,5 +5,18 @@
- execute_on_added="1"
- >
- </LuaComponent>
- +
- + <ProjectileComponent
- + _tags="enabled_in_world"
- + lifetime="-1"
- + penetrate_entities="1"
- + penetrate_world="1"
- + damage="0.0"
- + do_moveto_update="0"
- + ></ProjectileComponent>
- +
- + <VelocityComponent
- + _tags="enabled_in_world"
- + ></VelocityComponent>
- </Entity>
- \ No newline at end of file
- diff --git a/entities/misc/bounce_laser.xml b/entities/misc/bounce_laser.xml
- index da33863..6519de1 100644
- --- a/entities/misc/bounce_laser.xml
- +++ b/entities/misc/bounce_laser.xml
- @@ -6,5 +6,18 @@
- remove_after_executed="1"
- >
- </LuaComponent>
- +
- + <ProjectileComponent
- + _tags="enabled_in_world"
- + lifetime="-1"
- + penetrate_entities="1"
- + penetrate_world="1"
- + damage="0.0"
- + do_moveto_update="0"
- + ></ProjectileComponent>
- +
- + <VelocityComponent
- + _tags="enabled_in_world"
- + ></VelocityComponent>
- </Entity>
- \ No newline at end of file
- diff --git a/entities/misc/effect_weaken.xml b/entities/misc/effect_weaken.xml
- index cb54fd5..f7e88e0 100644
- --- a/entities/misc/effect_weaken.xml
- +++ b/entities/misc/effect_weaken.xml
- @@ -17,18 +17,38 @@
- >
- </LuaComponent>
- + <LuaComponent
- + script_source_file="data/scripts/status_effects/wither_start.lua"
- + execute_every_n_frame="4"
- + remove_after_executed="1"
- + >
- + </LuaComponent>
- +
- + <LuaComponent
- + script_source_file="data/scripts/status_effects/wither_end.lua"
- + execute_every_n_frame="-1"
- + execute_on_removed="1"
- + >
- + </LuaComponent>
- +
- <LifetimeComponent
- lifetime="1200"
- >
- </LifetimeComponent>
- <UIIconComponent
- - name="$status_weaken"
- - description="$statusdesc_weaken"
- + name="$status_weaken_combined"
- + description="$statusdesc_weaken_combined"
- icon_sprite_file="data/ui_gfx/status_indicators/scared.png"
- is_perk="0"
- display_above_head="0"
- display_in_hud="1"
- >
- </UIIconComponent>
- +
- + <VariableStorageComponent
- + name="wither_data"
- + value_string=""
- + >
- + </VariableStorageComponent>
- </Entity>
- \ No newline at end of file
- diff --git a/entities/misc/loose_ground_permanent.xml b/entities/misc/loose_ground_permanent.xml
- new file mode 100644
- index 0000000..d325daa
- --- /dev/null
- +++ b/entities/misc/loose_ground_permanent.xml
- @@ -0,0 +1,12 @@
- +<Entity>
- + <LooseGroundComponent
- + max_distance="150"
- + probability="0.2"
- + max_angle="3.1415926535"
- + chunk_max_angle="3.1415926535"
- + chunk_probability="0.03" >
- + </LooseGroundComponent>
- +
- + <InheritTransformComponent>
- + </InheritTransformComponent>
- +</Entity>
- \ No newline at end of file
- diff --git a/entities/misc/matter_eater.xml b/entities/misc/matter_eater.xml
- index a9ce32d..c0aa8ca 100644
- --- a/entities/misc/matter_eater.xml
- +++ b/entities/misc/matter_eater.xml
- @@ -6,6 +6,7 @@
- eat_probability="90"
- radius="8"
- ignored_material="rock_static_cursed"
- + ignored_material_tag="[matter_eater_ignore_list]"
- >
- </CellEaterComponent>
- diff --git a/entities/misc/moon_effect_darksun.xml b/entities/misc/moon_effect_darksun.xml
- new file mode 100644
- index 0000000..02d0754
- --- /dev/null
- +++ b/entities/misc/moon_effect_darksun.xml
- @@ -0,0 +1,18 @@
- +<Entity>
- + <MagicConvertMaterialComponent
- + kill_when_finished="0"
- + from_any_material="1"
- + steps_per_frame="3"
- + to_material="material_darkness"
- + clean_stains="0"
- + is_circle="1"
- + radius="300"
- + >
- + </MagicConvertMaterialComponent>
- +
- + <LifetimeComponent
- + lifetime="160"
- + >
- + </LifetimeComponent>
- +</Entity>
- +
- diff --git a/entities/misc/moon_effect_sun.xml b/entities/misc/moon_effect_sun.xml
- new file mode 100644
- index 0000000..09129ae
- --- /dev/null
- +++ b/entities/misc/moon_effect_sun.xml
- @@ -0,0 +1,18 @@
- +<Entity>
- + <MagicConvertMaterialComponent
- + kill_when_finished="0"
- + from_any_material="1"
- + steps_per_frame="3"
- + to_material="fire"
- + clean_stains="0"
- + is_circle="1"
- + radius="300"
- + >
- + </MagicConvertMaterialComponent>
- +
- + <LifetimeComponent
- + lifetime="160"
- + >
- + </LifetimeComponent>
- +</Entity>
- +
- diff --git a/entities/misc/orbit_discs_disc.xml b/entities/misc/orbit_discs_disc.xml
- index 6626bf1..0124722 100644
- --- a/entities/misc/orbit_discs_disc.xml
- +++ b/entities/misc/orbit_discs_disc.xml
- @@ -23,7 +23,7 @@
- explosion_dont_damage_shooter="1"
- on_collision_die="1"
- on_collision_remove_projectile="0"
- - lifetime="9999"
- + lifetime="7200"
- damage="0"
- damage_scaled_by_speed="1"
- lifetime_randomness="7"
- diff --git a/entities/misc/orbit_fireballs_fireball.xml b/entities/misc/orbit_fireballs_fireball.xml
- index 7ac0922..2292fd7 100644
- --- a/entities/misc/orbit_fireballs_fireball.xml
- +++ b/entities/misc/orbit_fireballs_fireball.xml
- @@ -24,7 +24,7 @@
- die_on_liquid_collision="1"
- damage="0"
- on_collision_die="1"
- - lifetime="9999"
- + lifetime="7200"
- muzzle_flash_file="data/entities/particles/muzzle_flashes/muzzle_flash_launcher_large.xml"
- shoot_light_flash_r="255"
- shoot_light_flash_g="140"
- @@ -57,12 +57,12 @@
- physics_throw_enabled="1"
- shake_vegetation="1"
- sparks_enabled="1"
- - sparks_count_max="100"
- - sparks_count_min="50"
- + sparks_count_max="40"
- + sparks_count_min="20"
- light_fade_time="0.8"
- stains_enabled="1"
- stains_image="data/temp/explosion_stain.png"
- - audio_enabled="0" >
- + audio_enabled="1" >
- </config_explosion>
- </ProjectileComponent>
- diff --git a/entities/misc/orbit_lasers_laser.xml b/entities/misc/orbit_lasers_laser.xml
- index 26dc36c..9f43952 100644
- --- a/entities/misc/orbit_lasers_laser.xml
- +++ b/entities/misc/orbit_lasers_laser.xml
- @@ -24,7 +24,7 @@
- explosion_dont_damage_shooter="1"
- damage="0.8"
- on_collision_die="0"
- - lifetime="9999"
- + lifetime="7200"
- knockback_force="1.3"
- >
- </ProjectileComponent>
- diff --git a/entities/misc/orbit_nukes_nuke.xml b/entities/misc/orbit_nukes_nuke.xml
- index e6dfc59..79745b8 100644
- --- a/entities/misc/orbit_nukes_nuke.xml
- +++ b/entities/misc/orbit_nukes_nuke.xml
- @@ -24,7 +24,7 @@
- on_lifetime_out_explode="1"
- explosion_dont_damage_shooter="0"
- on_collision_die="1"
- - lifetime="9999"
- + lifetime="7200"
- damage="2"
- velocity_sets_scale="1"
- lifetime_randomness="7"
- diff --git a/entities/misc/perks/fungus.xml b/entities/misc/perks/fungus.xml
- index 90296e1..78383ac 100644
- --- a/entities/misc/perks/fungus.xml
- +++ b/entities/misc/perks/fungus.xml
- @@ -107,6 +107,13 @@
- >
- </LuaComponent>
- + <LuaComponent
- + script_source_file="data/scripts/perks/fungus_init.lua"
- + execute_on_added="1"
- + remove_after_executed="1"
- + >
- + </LuaComponent>
- +
- <LuaComponent
- execute_on_removed="0"
- execute_every_n_frame="-1"
- diff --git a/entities/projectiles/deck/black_hole.xml b/entities/projectiles/deck/black_hole.xml
- index dd1b520..c49e0a3 100644
- --- a/entities/projectiles/deck/black_hole.xml
- +++ b/entities/projectiles/deck/black_hole.xml
- @@ -111,7 +111,7 @@
- <CellEaterComponent
- radius="12"
- eat_dynamic_physics_bodies="1"
- - ignored_material="gem_box2d_yellow_sun"
- + ignored_material_tag="[indestructible]"
- >
- </CellEaterComponent>
- diff --git a/entities/projectiles/deck/bounce_spark_friendly_fire.xml b/entities/projectiles/deck/bounce_spark_friendly_fire.xml
- new file mode 100644
- index 0000000..68dd44f
- --- /dev/null
- +++ b/entities/projectiles/deck/bounce_spark_friendly_fire.xml
- @@ -0,0 +1,12 @@
- +<Entity name="$projectile_default" tags="projectile_player" >
- +
- + <Base file="data/entities/projectiles/deck/bounce_spark.xml">
- + <ProjectileComponent
- + friendly_fire="1"
- + collide_with_shooter_frames="8"
- + >
- + </ProjectileComponent>
- + </Base>
- +
- +</Entity>
- +
- diff --git a/entities/projectiles/deck/bounce_spark_friendly_fire_silent.xml b/entities/projectiles/deck/bounce_spark_friendly_fire_silent.xml
- new file mode 100644
- index 0000000..38cdbe8
- --- /dev/null
- +++ b/entities/projectiles/deck/bounce_spark_friendly_fire_silent.xml
- @@ -0,0 +1,107 @@
- +<Entity name="$projectile_default" tags="projectile_player" >
- +
- + <Base file="data/entities/base_projectile.xml" >
- + <VelocityComponent
- + gravity_y="0"
- + air_friction="1.0"
- + mass="0.02"
- + >
- + </VelocityComponent>
- + </Base>
- +
- + <ProjectileComponent
- + _enabled="1"
- + lob_min="0.5"
- + lob_max="0.7"
- + speed_min="200"
- + speed_max="300"
- + friction="1"
- + direction_random_rad="0.40"
- + on_death_explode="1"
- + on_death_gfx_leave_sprite="0"
- + on_lifetime_out_explode="1"
- + explosion_dont_damage_shooter="1"
- + on_collision_die="1"
- + lifetime="100"
- + damage="0.2"
- + friendly_fire="1"
- + collide_with_shooter_frames="8"
- + bounce_always="1"
- + bounces_left="20"
- + bounce_energy="0.5"
- + velocity_sets_scale="1"
- + lifetime_randomness="7"
- + ragdoll_force_multiplier="0.01"
- + hit_particle_force_multiplier="0.1"
- + velocity_sets_rotation="1"
- + muzzle_flash_file="data/entities/particles/muzzle_flashes/muzzle_flash_magic_small.xml"
- + shoot_light_flash_radius="64"
- + shoot_light_flash_r="70"
- + shoot_light_flash_g="190"
- + shoot_light_flash_b="255"
- + knockback_force="0.5"
- + physics_impulse_coeff="2000"
- + >
- + <config_explosion
- + never_cache="1"
- + damage="0"
- + camera_shake="0"
- + explosion_radius="4"
- + explosion_sprite="data/particles/background_cleaner_explosion.xml"
- + explosion_sprite_lifetime="0"
- + create_cell_probability="0"
- + hole_destroy_liquid="1"
- + hole_enabled="1"
- + ray_energy="400000"
- + particle_effect="0"
- + damage_mortals="1"
- + physics_explosion_power.min="0.05"
- + physics_explosion_power.max="0.1"
- + physics_throw_enabled="1"
- + shake_vegetation="1"
- + sparks_enabled="0"
- + material_sparks_enabled="1"
- + material_sparks_count_max="2"
- + material_sparks_count_min="0"
- + light_enabled="0"
- + stains_enabled="1"
- + stains_radius="3" >
- + </config_explosion>
- + </ProjectileComponent>
- +
- + <SpriteComponent
- + _enabled="1"
- + alpha="1"
- + image_file="data/projectiles_gfx/background_cleaner.xml"
- + next_rect_animation=""
- + rect_animation="fireball"
- + emissive="1"
- + additive="1"
- + >
- + </SpriteComponent>
- +
- + <SetStartVelocityComponent
- + randomize_speed.min="40"
- + randomize_speed.max="160"
- +
- + randomize_angle.max="6.283185"
- + >
- + </SetStartVelocityComponent>
- +
- + <LightComponent
- + _enabled="1"
- + radius="60"
- + fade_out_time="0.1"
- + r="10"
- + g="40"
- + b="80">
- + </LightComponent>
- +
- + <VariableStorageComponent
- + name="projectile_file"
- + value_string="data/entities/projectiles/deck/bounce_spark_silent.xml"
- + >
- + </VariableStorageComponent>
- +
- +</Entity>
- +
- diff --git a/entities/projectiles/deck/bounce_spark_main.xml b/entities/projectiles/deck/bounce_spark_main.xml
- index 7338755..f05fc6b 100644
- --- a/entities/projectiles/deck/bounce_spark_main.xml
- +++ b/entities/projectiles/deck/bounce_spark_main.xml
- @@ -1,16 +1,7 @@
- <Entity>
- - <LoadEntitiesComponent
- - count.min="1"
- - count.max="1"
- - entity_file="data/entities/projectiles/deck/bounce_spark.xml"
- - kill_entity="1">
- - </LoadEntitiesComponent>
- -
- - <!-- negative count.min for lowered odds of spawning -->
- - <LoadEntitiesComponent
- - count.min="-2"
- - count.max="1"
- - entity_file="data/entities/projectiles/deck/bounce_spark_silent.xml"
- - kill_entity="1">
- - </LoadEntitiesComponent>
- + <LuaComponent
- + script_source_file="data/scripts/projectiles/bounce_spark_main.lua"
- + execute_every_n_frame="1"
- + >
- + </LuaComponent>
- </Entity>
- \ No newline at end of file
- diff --git a/entities/projectiles/deck/explosion_giga.xml b/entities/projectiles/deck/explosion_giga.xml
- index 9cf9282..4c7755a 100644
- --- a/entities/projectiles/deck/explosion_giga.xml
- +++ b/entities/projectiles/deck/explosion_giga.xml
- @@ -30,7 +30,7 @@
- camera_shake="60"
- explosion_radius="250"
- explosion_sprite="data/particles/explosion_032.xml"
- - load_this_entity="data/entities/particles/particle_explosion/main_large.xml,data/entities/misc/loose_chunks.xml,data/entities/misc/explosion_was_here.xml"
- + load_this_entity="data/entities/particles/particle_explosion/main_large.xml,data/entities/misc/explosion_was_here.xml"
- explosion_sprite_lifetime="0"
- create_cell_probability="5"
- hole_destroy_liquid="0"
- diff --git a/entities/projectiles/deck/tntbox.xml b/entities/projectiles/deck/tntbox.xml
- index b4cef58..32ed405 100644
- --- a/entities/projectiles/deck/tntbox.xml
- +++ b/entities/projectiles/deck/tntbox.xml
- @@ -27,7 +27,29 @@
- penetrate_entities="1"
- damage="0.0"
- do_moveto_update="0"
- - ></ProjectileComponent>
- + on_lifetime_out_explode="1"
- + >
- + <config_explosion
- + never_cache="0"
- + damage="5"
- + camera_shake="10"
- + explosion_radius="40"
- + explosion_sprite="data/particles/explosion_032.xml"
- + load_this_entity="data/entities/particles/particle_explosion/main_gunpowder_tiny.xml"
- + explosion_sprite_lifetime="0"
- + create_cell_probability="80"
- + hole_destroy_liquid="1"
- + ray_energy="350000"
- + hole_enabled="1"
- + particle_effect="1"
- + damage_mortals="1"
- + physics_throw_enabled="1"
- + shake_vegetation="0"
- + sparks_enabled="1"
- + stains_enabled="0"
- + >
- + </config_explosion>
- + </ProjectileComponent>
- <VelocityComponent
- _tags="enabled_in_world"
- @@ -72,27 +94,28 @@
- <ExplodeOnDamageComponent
- explode_on_death_percent="1"
- - explode_on_damage_percent="0.0"
- + explode_on_damage_percent="0.1"
- physics_body_modified_death_probability="0.9"
- physics_body_destruction_required="0.8"
- >
- <config_explosion
- never_cache="0"
- damage="5"
- - camera_shake="10"
- - explosion_radius="40"
- - explosion_sprite=""
- - explosion_sprite_lifetime="0"
- - create_cell_probability="80"
- - hole_destroy_liquid="0"
- - hole_enabled="0"
- - ray_energy="0"
- - particle_effect="1"
- - damage_mortals="0"
- + camera_shake="10"
- + explosion_radius="40"
- + explosion_sprite="data/particles/explosion_032.xml"
- + load_this_entity="data/entities/particles/particle_explosion/main_gunpowder_tiny.xml"
- + explosion_sprite_lifetime="0"
- + create_cell_probability="80"
- + hole_destroy_liquid="1"
- + ray_energy="350000"
- + hole_enabled="1"
- + particle_effect="1"
- + damage_mortals="1"
- physics_throw_enabled="1"
- - shake_vegetation="0"
- - sparks_enabled="1"
- - stains_enabled="0"
- + shake_vegetation="0"
- + sparks_enabled="1"
- + stains_enabled="0"
- >
- </config_explosion>
- </ExplodeOnDamageComponent>
- diff --git a/entities/projectiles/deck/tntbox_big.xml b/entities/projectiles/deck/tntbox_big.xml
- index 4b511c5..dae261c 100644
- --- a/entities/projectiles/deck/tntbox_big.xml
- +++ b/entities/projectiles/deck/tntbox_big.xml
- @@ -27,7 +27,29 @@
- penetrate_entities="1"
- damage="0.0"
- do_moveto_update="0"
- - ></ProjectileComponent>
- + on_lifetime_out_explode="1"
- + >
- + <config_explosion
- + never_cache="0"
- + damage="8"
- + camera_shake="15"
- + explosion_radius="60"
- + explosion_sprite="data/particles/explosion_040_poof.xml"
- + load_this_entity="data/entities/particles/particle_explosion/main_gunpowder_medium.xml"
- + explosion_sprite_lifetime="0"
- + create_cell_probability="80"
- + hole_destroy_liquid="1"
- + ray_energy="650000"
- + hole_enabled="1"
- + particle_effect="1"
- + damage_mortals="1"
- + physics_throw_enabled="1"
- + shake_vegetation="0"
- + sparks_enabled="1"
- + stains_enabled="0"
- + >
- + </config_explosion>
- + </ProjectileComponent>
- <VelocityComponent
- _tags="enabled_in_world"
- @@ -72,7 +94,7 @@
- <ExplodeOnDamageComponent
- explode_on_death_percent="1"
- - explode_on_damage_percent="0.0"
- + explode_on_damage_percent="0.1"
- physics_body_modified_death_probability="0.9"
- physics_body_destruction_required="0.8"
- >
- @@ -81,14 +103,15 @@
- damage="8"
- camera_shake="15"
- explosion_radius="60"
- - explosion_sprite=""
- + explosion_sprite="data/particles/explosion_040_poof.xml"
- + load_this_entity="data/entities/particles/particle_explosion/main_gunpowder_medium.xml"
- explosion_sprite_lifetime="0"
- create_cell_probability="80"
- - hole_destroy_liquid="0"
- - hole_enabled="0"
- - ray_energy="0"
- + hole_destroy_liquid="1"
- + ray_energy="650000"
- + hole_enabled="1"
- particle_effect="1"
- - damage_mortals="0"
- + damage_mortals="1"
- physics_throw_enabled="1"
- shake_vegetation="0"
- sparks_enabled="1"
- diff --git a/generated/material_icons/rock_static_trip_secret.png b/generated/material_icons/rock_static_trip_secret.png
- new file mode 100644
- index 0000000..8580b18
- Binary files /dev/null and b/generated/material_icons/rock_static_trip_secret.png differ
- diff --git a/generated/material_icons/rock_static_trip_secret2.png b/generated/material_icons/rock_static_trip_secret2.png
- new file mode 100644
- index 0000000..8580b18
- Binary files /dev/null and b/generated/material_icons/rock_static_trip_secret2.png differ
- diff --git a/items_gfx/in_hand/musicstone.png b/items_gfx/in_hand/musicstone.png
- new file mode 100644
- index 0000000..3c6e81a
- Binary files /dev/null and b/items_gfx/in_hand/musicstone.png differ
- diff --git a/items_gfx/musicstone.png b/items_gfx/musicstone.png
- new file mode 100644
- index 0000000..6a1bfb2
- Binary files /dev/null and b/items_gfx/musicstone.png differ
- diff --git a/items_gfx/normals_orb_128_noise.png b/items_gfx/normals_orb_128_noise.png
- index a5f865c..5db5568 100644
- Binary files a/items_gfx/normals_orb_128_noise.png and b/items_gfx/normals_orb_128_noise.png differ
- diff --git a/items_gfx/normals_orb_56_noise.png b/items_gfx/normals_orb_56_noise.png
- new file mode 100644
- index 0000000..28d5051
- Binary files /dev/null and b/items_gfx/normals_orb_56_noise.png differ
- diff --git a/materials.xml b/materials.xml
- index ed1d899..efbfc1a 100644
- --- a/materials.xml
- +++ b/materials.xml
- @@ -840,6 +840,120 @@
- _parent="rock_static"
- _inherit_reactions="1"
- tags="[static],[alchemy],[solid],[earth]"
- + name="rock_static_trip_secret"
- + ui_name="$mat_rock_static"
- + wang_color="ff0abba4"
- + hp="160000"
- + audio_physics_material_event="rock"
- + audio_physics_material_wall="rock"
- + audio_physics_material_solid="rock"
- + >
- + <Graphics
- + texture_file="data/materials_gfx/rock.png"
- + color="ff313b36"
- + pixel_all_around="ff313b36"
- + >
- + <Edge>
- + <EdgeGraphics
- + color="ff233112"
- + overwrite="0"
- + percent="0.3"
- + require_same_material="0"
- + require_same_material_type="1"
- + type="EVERYWHERE"
- + z="1" >
- + <Images>
- + <Image
- + allow_random_rotation="1"
- + filename="data/materials_gfx/edge_files/edge_rock_1.png"
- + />
- + <Image
- + allow_random_rotation="1"
- + filename="data/materials_gfx/edge_files/edge_rock_2.png"
- + />
- + <Image
- + allow_random_rotation="1"
- + filename="data/materials_gfx/edge_files/edge_rock_3.png"
- + />
- + <Image
- + allow_random_rotation="1"
- + filename="data/materials_gfx/edge_files/edge_rock_4.png"
- + />
- + <Image
- + allow_random_rotation="1"
- + filename="data/materials_gfx/edge_files/edge_rock_5.png"
- + />
- + <Image
- + allow_random_rotation="1"
- + filename="data/materials_gfx/edge_files/edge_rock_6.png"
- + />
- + </Images>
- + </EdgeGraphics>
- + </Edge>
- + </Graphics>
- + </CellDataChild>
- +
- + <CellDataChild
- + _parent="rock_static"
- + _inherit_reactions="1"
- + tags="[static],[alchemy],[solid],[earth]"
- + name="rock_static_trip_secret2"
- + ui_name="$mat_rock_static"
- + wang_color="ff0baab4"
- + hp="160000"
- + audio_physics_material_event="rock"
- + audio_physics_material_wall="rock"
- + audio_physics_material_solid="rock"
- + >
- + <Graphics
- + texture_file="data/materials_gfx/rock.png"
- + color="ff313b36"
- + pixel_all_around="ff313b36"
- + >
- + <Edge>
- + <EdgeGraphics
- + color="ff233112"
- + overwrite="0"
- + percent="0.3"
- + require_same_material="0"
- + require_same_material_type="1"
- + type="EVERYWHERE"
- + z="1" >
- + <Images>
- + <Image
- + allow_random_rotation="1"
- + filename="data/materials_gfx/edge_files/edge_rock_1.png"
- + />
- + <Image
- + allow_random_rotation="1"
- + filename="data/materials_gfx/edge_files/edge_rock_2.png"
- + />
- + <Image
- + allow_random_rotation="1"
- + filename="data/materials_gfx/edge_files/edge_rock_3.png"
- + />
- + <Image
- + allow_random_rotation="1"
- + filename="data/materials_gfx/edge_files/edge_rock_4.png"
- + />
- + <Image
- + allow_random_rotation="1"
- + filename="data/materials_gfx/edge_files/edge_rock_5.png"
- + />
- + <Image
- + allow_random_rotation="1"
- + filename="data/materials_gfx/edge_files/edge_rock_6.png"
- + />
- + </Images>
- + </EdgeGraphics>
- + </Edge>
- + </Graphics>
- + </CellDataChild>
- +
- + <CellDataChild
- + _parent="rock_static"
- + _inherit_reactions="1"
- + tags="[static],[alchemy],[solid],[earth],[matter_eater_ignore_list]"
- name="rock_static_cursed"
- ui_name="$mat_rock_static_cursed"
- wang_color="ff3f4d3e"
- @@ -11571,7 +11685,7 @@
- <CellData
- name="sulphur_box2d"
- ui_name="$mat_sulphur"
- - tags="[box2d],[alchemy],[solid],[corrodible]"
- + tags="[box2d],[solid],[sunbaby_ignore_list]"
- burnable="0"
- fire_hp="-1"
- density="8"
- @@ -12105,7 +12219,7 @@
- <CellDataChild
- _parent="aluminium"
- _inherit_reactions="1"
- - tags="[box2d],[solid]"
- + tags="[box2d],[solid],[sunbaby_ignore_list]"
- name="rock_box2d_hard"
- ui_name="$mat_rock_box2d_hard"
- platform_type="1"
- @@ -12311,7 +12425,7 @@
- <CellDataChild
- _parent="aluminium"
- _inherit_reactions="1"
- - tags="[box2d]"
- + tags="[box2d],[sunbaby_ignore_list]"
- name="gem_box2d"
- ui_name="$mat_gem_box2d"
- platform_type="0"
- @@ -12383,6 +12497,7 @@
- <CellDataChild
- _parent="gem_box2d"
- _inherit_reactions="1"
- + tags="[box2d],[matter_eater_ignore_list],[indestructible],[sunbaby_ignore_list]"
- name="gem_box2d_yellow_sun"
- ui_name="$mat_gem_box2d_red"
- gfx_glow_color="0xffff9919"
- diff --git a/props_gfx/sun_big.png b/props_gfx/sun_big.png
- new file mode 100644
- index 0000000..f0251bd
- Binary files /dev/null and b/props_gfx/sun_big.png differ
- diff --git a/props_gfx/sun_big_dark.png b/props_gfx/sun_big_dark.png
- new file mode 100644
- index 0000000..11a634b
- Binary files /dev/null and b/props_gfx/sun_big_dark.png differ
- diff --git a/props_gfx/sun_small.png b/props_gfx/sun_small.png
- new file mode 100644
- index 0000000..7cd20b1
- Binary files /dev/null and b/props_gfx/sun_small.png differ
- diff --git a/props_gfx/sun_small_blue.png b/props_gfx/sun_small_blue.png
- new file mode 100644
- index 0000000..3645a85
- Binary files /dev/null and b/props_gfx/sun_small_blue.png differ
- diff --git a/props_gfx/sun_small_green.png b/props_gfx/sun_small_green.png
- new file mode 100644
- index 0000000..8efa3ae
- Binary files /dev/null and b/props_gfx/sun_small_green.png differ
- diff --git a/props_gfx/sun_small_orange.png b/props_gfx/sun_small_orange.png
- new file mode 100644
- index 0000000..ba5e5bd
- Binary files /dev/null and b/props_gfx/sun_small_orange.png differ
- diff --git a/props_gfx/sun_small_purple.png b/props_gfx/sun_small_purple.png
- new file mode 100644
- index 0000000..8183c63
- Binary files /dev/null and b/props_gfx/sun_small_purple.png differ
- diff --git a/props_gfx/sun_small_red.png b/props_gfx/sun_small_red.png
- new file mode 100644
- index 0000000..ec2bd8d
- Binary files /dev/null and b/props_gfx/sun_small_red.png differ
- diff --git a/scripts/animals/necrobot.lua b/scripts/animals/necrobot.lua
- index 7d56fd7..5247ac3 100644
- --- a/scripts/animals/necrobot.lua
- +++ b/scripts/animals/necrobot.lua
- @@ -2,7 +2,7 @@ dofile_once("data/scripts/lib/utilities.lua")
- local entity_id = GetUpdatedEntityID()
- local x, y = EntityGetTransform( entity_id )
- -local radius = 192
- +local radius = 144
- local targets = EntityGetInRadiusWithTag( x, y, radius, "mortal" )
- local found = false
- diff --git a/scripts/animals/necrobot_super.lua b/scripts/animals/necrobot_super.lua
- index edd9870..85b897b 100644
- --- a/scripts/animals/necrobot_super.lua
- +++ b/scripts/animals/necrobot_super.lua
- @@ -2,7 +2,7 @@ dofile_once("data/scripts/lib/utilities.lua")
- local entity_id = GetUpdatedEntityID()
- local x, y = EntityGetTransform( entity_id )
- -local radius = 192
- +local radius = 144
- local targets = EntityGetInRadiusWithTag( x, y, radius, "mortal" )
- local found = false
- diff --git a/scripts/biomes/funroom.lua b/scripts/biomes/funroom.lua
- new file mode 100644
- index 0000000..17d82fe
- --- /dev/null
- +++ b/scripts/biomes/funroom.lua
- @@ -0,0 +1,35 @@
- +CHEST_LEVEL = 3
- +dofile_once("data/scripts/director_helpers.lua")
- +dofile_once("data/scripts/biome_scripts.lua")
- +dofile_once("data/scripts/lib/utilities.lua")
- +
- +RegisterSpawnFunction( 0xffffeedd, "init" )
- +RegisterSpawnFunction( 0xff00ffaa, "spawn_fun" )
- +
- +function spawn_small_enemies( x, y ) end
- +function spawn_big_enemies( x, y ) end
- +function spawn_items( x, y ) end
- +function spawn_props( x, y ) end
- +function spawn_props2( x, y ) end
- +function spawn_props3( x, y ) end
- +function spawn_lamp( x, y ) end
- +function load_pixel_scene( x, y ) end
- +function load_pixel_scene2( x, y ) end
- +function spawn_unique_enemy( x, y ) end
- +function spawn_unique_enemy2( x, y ) end
- +function spawn_unique_enemy3( x, y ) end
- +function spawn_ghostlamp( x, y ) end
- +function spawn_candles( x, y ) end
- +function spawn_potions( x, y ) end
- +function spawn_wands( x, y ) end
- +
- +function init( x, y, w, h )
- + LoadPixelScene( "data/biome_impl/funroom.png", "", x, y, "", true )
- +end
- +
- +function spawn_orb(x, y)
- +end
- +
- +function spawn_fun(x, y)
- + EntityLoad( "data/entities/buildings/funroom_check.xml", x, y )
- +end
- \ No newline at end of file
- diff --git a/scripts/biomes/ghost_secret.lua b/scripts/biomes/ghost_secret.lua
- index e906033..aeb00c0 100644
- --- a/scripts/biomes/ghost_secret.lua
- +++ b/scripts/biomes/ghost_secret.lua
- @@ -27,7 +27,7 @@ function init( x, y, w, h )
- end
- function spawn_orb(x, y)
- - EntityLoad( "data/entities/animals/boss_ghost/boss_ghost.xml", x, y )
- + EntityLoad( "data/entities/animals/boss_ghost/ghost_spawn_check.xml", x, y )
- EntityLoad( "data/entities/buildings/hpcrystal.xml", x - 64, y )
- EntityLoad( "data/entities/buildings/hpcrystal.xml", x + 64, y )
- EntityLoad( "data/entities/buildings/snowcrystal.xml", x, y )
- diff --git a/scripts/biomes/mountain_tree.lua b/scripts/biomes/mountain_tree.lua
- index 4cbd5a7..8c0e199 100644
- --- a/scripts/biomes/mountain_tree.lua
- +++ b/scripts/biomes/mountain_tree.lua
- @@ -294,7 +294,7 @@ function spawn_pillars( x, y )
- local flags =
- {
- { { "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" } },
- - { { "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" } },
- + { { "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" }, { "secret_sun_collision", "sun" }, { "secret_darksun_collision", "dsun" } },
- { { "progress_ending0", "end0" }, { "progress_ending1_toxic", "endt" }, { "progress_ending1_gold", "endb" }, { "progress_ending2", "endg" }, { "progress_newgameplusplus3", "endp" }, { "progress_nightmare", "endn" } },
- { { "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" } },
- { { "progress_orb_1", "orbf" }, { "progress_orb_evil", "orbe" }, { "progress_orb_all", "orba" }, { "progress_pacifist", "pacifist" }, { "progress_nogold", "nogold" }, { "progress_clock", "clock" }, { "progress_minit", "minit" }, { "progress_nohit", "nohit" } },
- diff --git a/scripts/biomes/rock_room.lua b/scripts/biomes/rock_room.lua
- new file mode 100644
- index 0000000..d51ebcf
- --- /dev/null
- +++ b/scripts/biomes/rock_room.lua
- @@ -0,0 +1,36 @@
- +CHEST_LEVEL = 3
- +dofile_once("data/scripts/director_helpers.lua")
- +dofile_once("data/scripts/biome_scripts.lua")
- +dofile_once("data/scripts/lib/utilities.lua")
- +dofile_once("data/scripts/perks/perk.lua")
- +
- +RegisterSpawnFunction( 0xffffeedd, "init" )
- +RegisterSpawnFunction( 0xff31d0b4, "spawn_essence" )
- +
- +function spawn_small_enemies( x, y ) end
- +function spawn_big_enemies( x, y ) end
- +function spawn_items( x, y ) end
- +function spawn_props( x, y ) end
- +function spawn_props2( x, y ) end
- +function spawn_props3( x, y ) end
- +function spawn_lamp( x, y ) end
- +function load_pixel_scene( x, y ) end
- +function load_pixel_scene2( x, y ) end
- +function spawn_unique_enemy( x, y ) end
- +function spawn_unique_enemy2( x, y ) end
- +function spawn_unique_enemy3( x, y ) end
- +function spawn_ghostlamp( x, y ) end
- +function spawn_candles( x, y ) end
- +function spawn_potions( x, y ) end
- +function spawn_wands( x, y ) end
- +
- +function init( x, y, w, h )
- + LoadPixelScene( "data/biome_impl/essenceroom.png", "", x, y, "", true )
- +end
- +
- +function spawn_orb(x, y)
- +end
- +
- +function spawn_essence(x, y)
- + EntityLoad( "data/entities/items/pickup/musicstone.xml", x, y )
- +end
- \ No newline at end of file
- diff --git a/scripts/biomes/winter.lua b/scripts/biomes/winter.lua
- index 0973e40..847b179 100644
- --- a/scripts/biomes/winter.lua
- +++ b/scripts/biomes/winter.lua
- @@ -76,9 +76,21 @@ g_big_enemies =
- {
- prob = 0.2,
- min_count = 1,
- - max_count = 1,
- + max_count = 1,
- entity = "data/entities/animals/thundermage.xml"
- },
- + {
- + prob = 0.15,
- + min_count = 1,
- + max_count = 1,
- + entity = "data/entities/animals/phantom_a.xml"
- + },
- + {
- + prob = 0.15,
- + min_count = 1,
- + max_count = 1,
- + entity = "data/entities/animals/phantom_b.xml"
- + },
- {
- prob = 0.2,
- min_count = 1,
- @@ -92,7 +104,7 @@ g_big_enemies =
- entity = "data/entities/animals/thundermage_big.xml"
- },
- {
- - prob = 0.4,
- + prob = 0.3,
- min_count = 1,
- max_count = 1,
- entity = "data/entities/buildings/snowcrystal.xml"
- @@ -110,7 +122,7 @@ g_big_enemies =
- entity = "data/entities/animals/ethereal_being.xml"
- },
- {
- - prob = 0.1,
- + prob = 0.2,
- min_count = 1,
- max_count = 1,
- entity = "data/entities/buildings/ghost_crystal.xml"
- diff --git a/scripts/buildings/funroom_check.lua b/scripts/buildings/funroom_check.lua
- new file mode 100644
- index 0000000..95d237e
- --- /dev/null
- +++ b/scripts/buildings/funroom_check.lua
- @@ -0,0 +1,17 @@
- +dofile_once("data/scripts/lib/utilities.lua")
- +
- +local entity_id = GetUpdatedEntityID()
- +local x, y = EntityGetTransform( entity_id )
- +local radius = 24
- +
- +local targets = EntityGetInRadiusWithTag( x, y, radius, "player_unit" )
- +local targets2 = EntityGetInRadiusWithTag( x, y, radius, "tripping_extreme" )
- +
- +if ( #targets > 0 ) and ( #targets2 > 0 ) then
- + GameTriggerMusicEvent( "music/oneshot/tripping_balls_02", false, x, y )
- + ConvertMaterialEverywhere( CellFactory_GetType( "rock_static_trip_secret2" ), CellFactory_GetType( "templebrick_golden_static" ) )
- + ConvertMaterialEverywhere( CellFactory_GetType( "rock_static_trip_secret" ), CellFactory_GetType( "material_rainbow" ) )
- + GameScreenshake( 80, x, y )
- +
- + EntityKill( entity_id )
- +end
- \ No newline at end of file
- diff --git a/scripts/buildings/racing_cart_checkpoint.lua b/scripts/buildings/racing_cart_checkpoint.lua
- index 35a30c5..b35899e 100644
- --- a/scripts/buildings/racing_cart_checkpoint.lua
- +++ b/scripts/buildings/racing_cart_checkpoint.lua
- @@ -46,7 +46,7 @@ function collision_trigger(colliding_id)
- -- update best time display
- -- TODO: fx on watch
- - local stopwatch_id = EntityGetClosestWithTag(pos_x, pos_y, "stopwatch_best_lap")
- + stopwatch_id = EntityGetClosestWithTag(pos_x, pos_y, "stopwatch_best_lap")
- if stopwatch_id ~= nil then
- ComponentSetValue2(get_variable_storage_component(stopwatch_id, "time"), "value_int", best_time)
- end
- diff --git a/scripts/buildings/snowcrystal.lua b/scripts/buildings/snowcrystal.lua
- index 0d58b63..589fbe2 100644
- --- a/scripts/buildings/snowcrystal.lua
- +++ b/scripts/buildings/snowcrystal.lua
- @@ -15,7 +15,8 @@ function spawn_ghost()
- local rnd = Random( 1, #opts )
- local opt = "data/entities/animals/illusions/" .. opts[rnd] .. ".xml"
- - local p = EntityGetWithTag( "player_unit" )
- + local max_radius = 240
- + local p = EntityGetInRadiusWithTag( x, y, max_radius, "player_unit" )
- if ( #p > 0 ) then
- local t = p[1]
- diff --git a/scripts/buildings/sun/spot_1.lua b/scripts/buildings/sun/spot_1.lua
- index bb033cc..a9385d4 100644
- --- a/scripts/buildings/sun/spot_1.lua
- +++ b/scripts/buildings/sun/spot_1.lua
- @@ -12,7 +12,8 @@ for _,id in pairs(EntityGetInRadiusWithTag(pos_x, pos_y, 64, "seed_a")) do
- if EntityGetRootEntity(id) == id then
- -- start conversion
- local x,y = EntityGetTransform( id )
- - EntityLoad("data/entities/buildings/sun/spot_1_process.xml", x, y)
- + local eid = EntityLoad("data/entities/buildings/sun/spot_1_process.xml", x, y)
- + EntityAddChild( id, eid )
- GamePlaySound( "data/audio/Desktop/projectiles.snd", "projectiles/magic/create", x, y )
- return
- end
- diff --git a/scripts/buildings/sun/spot_1_finish.lua b/scripts/buildings/sun/spot_1_finish.lua
- index 9488d06..4b01fd2 100644
- --- a/scripts/buildings/sun/spot_1_finish.lua
- +++ b/scripts/buildings/sun/spot_1_finish.lua
- @@ -12,7 +12,7 @@ for _,id in pairs(EntityGetInRadiusWithTag(pos_x, pos_y, 70, "seed_a")) do
- if EntityGetRootEntity(id) == id then
- local x,y = EntityGetTransform(id)
- EntityLoad("data/entities/items/pickup/sun/sunstone.xml", x, y)
- - EntityLoad("data/entities/projectiles/explosion.xml", x, y)
- + EntityLoad("data/entities/projectiles/deck/explosion_giga.xml", x, y)
- EntityKill(id)
- converted = true
- end
- diff --git a/scripts/buildings/sun/spot_2.lua b/scripts/buildings/sun/spot_2.lua
- index 3887aff..365cfc5 100644
- --- a/scripts/buildings/sun/spot_2.lua
- +++ b/scripts/buildings/sun/spot_2.lua
- @@ -31,7 +31,7 @@ local explosions = EntityGetInRadiusWithTag( x, y, 120, "big_explosion" )
- if ( #explosions > 5 ) then
- EntityLoad("data/entities/items/pickup/sun/sunegg.xml", x, y)
- - EntityLoad("data/entities/projectiles/explosion.xml", x, y)
- + EntityLoad("data/entities/projectiles/deck/explosion_giga.xml", x, y)
- EntityKill(entity_id)
- GameTriggerMusicFadeOutAndDequeueAll( 3.0 )
- diff --git a/scripts/buildings/sun/spot_3.lua b/scripts/buildings/sun/spot_3.lua
- index 18fb4c6..e50e20e 100644
- --- a/scripts/buildings/sun/spot_3.lua
- +++ b/scripts/buildings/sun/spot_3.lua
- @@ -32,7 +32,7 @@ if ( comp ~= nil ) then
- if ( kills >= 100 ) then
- EntityLoad("data/entities/items/pickup/sun/sunbaby.xml", x, y)
- - EntityLoad("data/entities/projectiles/explosion.xml", x, y)
- + EntityLoad("data/entities/projectiles/deck/explosion_giga.xml", x, y)
- EntityKill(entity_id)
- GameTriggerMusicFadeOutAndDequeueAll( 3.0 )
- diff --git a/scripts/buildings/sun/spot_4.lua b/scripts/buildings/sun/spot_4.lua
- new file mode 100644
- index 0000000..4ccd781
- --- /dev/null
- +++ b/scripts/buildings/sun/spot_4.lua
- @@ -0,0 +1,150 @@
- +dofile_once("data/scripts/lib/utilities.lua")
- +
- +local entity_id = GetUpdatedEntityID()
- +local x, y = EntityGetTransform( entity_id )
- +local radius = 46
- +
- +local t_w = EntityGetInRadiusWithTag( x, y, radius, "waterstone" )
- +local t_f = EntityGetInRadiusWithTag( x, y, radius, "brimstone" )
- +local t_a = EntityGetInRadiusWithTag( x, y, radius, "thunderstone" )
- +local t_e = EntityGetInRadiusWithTag( x, y, radius, "stonestone" )
- +local t_p = EntityGetInRadiusWithTag( x, y, radius, "poopstone" )
- +
- +local w = (#t_w > 0)
- +local f = (#t_f > 0)
- +local a = (#t_a > 0)
- +local e = (#t_e > 0)
- +local p = (#t_p > 0)
- +
- +local essences_list = ""
- +local comp = EntityGetFirstComponent( entity_id, "VariableStorageComponent", "sunbaby_essences_list" )
- +local comp2 = EntityGetFirstComponent( entity_id, "SpriteComponent", "sunbaby_sprite" )
- +
- +local found = 0
- +
- +if ( comp ~= nil ) and ( comp2 ~= nil ) then
- + essences_list = ComponentGetValue2( comp, "value_string" )
- +
- + if w then
- + if ( string.find( essences_list, "water" ) == nil ) then
- + EntitySetComponentsWithTagEnabled( entity_id, "water", true )
- + ComponentSetValue2( comp2, "image_file", "data/props_gfx/sun_small_purple.png" )
- + essences_list = essences_list .. "water,"
- + EntityLoad("data/entities/projectiles/deck/explosion_giga.xml", x, y)
- + GameScreenshake( 30, x, y )
- + end
- +
- + for i,v in ipairs( t_w ) do
- + EntityKill( v )
- + end
- + end
- +
- + if f then
- + if ( string.find( essences_list, "fire" ) == nil ) then
- + EntitySetComponentsWithTagEnabled( entity_id, "fire", true )
- + EntitySetComponentsWithTagEnabled( entity_id, "fire_disable", false )
- + ComponentSetValue2( comp2, "image_file", "data/props_gfx/sun_small_red.png" )
- + essences_list = essences_list .. "fire,"
- + EntityLoad("data/entities/projectiles/deck/explosion_giga.xml", x, y)
- + GameScreenshake( 30, x, y )
- + end
- +
- + for i,v in ipairs( t_f ) do
- + EntityKill( v )
- + end
- + end
- +
- + if a then
- + if ( string.find( essences_list, "air" ) == nil ) then
- + EntitySetComponentsWithTagEnabled( entity_id, "air", true )
- + ComponentSetValue2( comp2, "image_file", "data/props_gfx/sun_small_blue.png" )
- + essences_list = essences_list .. "air,"
- + EntityLoad("data/entities/projectiles/deck/explosion_giga.xml", x, y)
- + GameScreenshake( 30, x, y )
- + end
- +
- + for i,v in ipairs( t_a ) do
- + EntityKill( v )
- + end
- + end
- +
- + if e then
- + if ( string.find( essences_list, "earth" ) == nil ) then
- + EntitySetComponentsWithTagEnabled( entity_id, "earth", true )
- + EntitySetComponentsWithTagEnabled( entity_id, "earth_disable", false )
- + local eid = EntityLoad( "data/entities/misc/loose_ground_permanent.xml", x, y )
- + EntityAddChild( entity_id, eid )
- +
- + ComponentSetValue2( comp2, "image_file", "data/props_gfx/sun_small_green.png" )
- + essences_list = essences_list .. "earth,"
- + EntityLoad("data/entities/projectiles/deck/explosion_giga.xml", x, y)
- + GameScreenshake( 30, x, y )
- + end
- +
- + for i,v in ipairs( t_e ) do
- + EntityKill( v )
- + end
- + end
- +
- + if p then
- + if ( string.find( essences_list, "poop" ) == nil ) then
- + EntitySetComponentsWithTagEnabled( entity_id, "poop", true )
- + ComponentSetValue2( comp2, "image_file", "data/props_gfx/sun_small_orange.png" )
- + essences_list = essences_list .. "poop,"
- + EntityLoad("data/entities/projectiles/deck/explosion_giga.xml", x, y)
- + GameScreenshake( 30, x, y )
- + end
- +
- + for i,v in ipairs( t_p ) do
- + EntityKill( v )
- + end
- + end
- +
- + local ohno = false
- +
- + if ( string.find( essences_list, "water" ) ~= nil ) then
- + found = found + 1
- + end
- +
- + if ( string.find( essences_list, "fire" ) ~= nil ) then
- + found = found + 1
- + end
- +
- + if ( string.find( essences_list, "air" ) ~= nil ) then
- + found = found + 1
- + end
- +
- + if ( string.find( essences_list, "earth" ) ~= nil ) then
- + found = found + 1
- + end
- +
- + if ( string.find( essences_list, "poop" ) ~= nil ) then
- + ohno = true
- + end
- +
- + if ( found > 0 ) then
- + EntitySetComponentsWithTagEnabled( entity_id, "sunbaby_stage_1", false )
- + end
- +
- + if ( found > 2 ) then
- + EntitySetComponentsWithTagEnabled( entity_id, "sunbaby_stage_2", false )
- + end
- +
- + if ( found == 4 )
- + if ( ohno == false ) then
- + EntityLoad("data/entities/items/pickup/sun/newsun.xml", x, y)
- + GamePrintImportant( "$log_new_step", "$itemdesc_seed_e" )
- + else
- + EntityLoad("data/entities/items/pickup/sun/newsun_dark.xml", x, y)
- + GamePrintImportant( "$itemdesc_seed_f", "$logdesc_new_step_b" )
- + end
- +
- + GameTriggerMusicFadeOutAndDequeueAll( 3.0 )
- + GameTriggerMusicEvent( "music/oneshot/dark_01", true, x, y )
- + GameScreenshake( 80, x, y )
- + EntityLoad("data/entities/projectiles/deck/explosion_giga.xml", x, y)
- + EntityKill(entity_id)
- + end
- +
- + ComponentSetValue2( comp, "value_string", essences_list )
- +end
- \ No newline at end of file
- diff --git a/scripts/buildings/sun/sun_controls.lua b/scripts/buildings/sun/sun_controls.lua
- new file mode 100644
- index 0000000..7ef9ed0
- --- /dev/null
- +++ b/scripts/buildings/sun/sun_controls.lua
- @@ -0,0 +1,22 @@
- +dofile_once("data/scripts/lib/utilities.lua")
- +
- +local entity_id = GetUpdatedEntityID()
- +local x, y = EntityGetTransform( entity_id )
- +
- +local targets = EntityGetInRadiusWithTag( x, y, 100, "projectile" )
- +
- +local vel_x,vel_y = 0,0
- +
- +for i,v in ipairs( targets ) do
- + if ( i == 1 ) then
- + edit_component( v, "VelocityComponent", function(comp,vars)
- + vel_x,vel_y = ComponentGetValueVector2( comp, "mVelocity")
- + end)
- +
- + if ( vel_x ~= 0 ) or ( vel_y ~= 0 ) then
- + PhysicsApplyForce( entity_id, vel_x, vel_y )
- + end
- + end
- +
- + EntityKill( v )
- +end
- \ No newline at end of file
- diff --git a/scripts/buildings/sun/sun_dark_effect.lua b/scripts/buildings/sun/sun_dark_effect.lua
- new file mode 100644
- index 0000000..af098e5
- --- /dev/null
- +++ b/scripts/buildings/sun/sun_dark_effect.lua
- @@ -0,0 +1,14 @@
- +dofile_once("data/scripts/lib/utilities.lua")
- +
- +local entity_id = GetUpdatedEntityID()
- +local x, y = EntityGetTransform( entity_id )
- +
- +SetRandomSeed( GameGetFrameNum() + GetUpdatedComponentID(), x + y + entity_id )
- +
- +local angle = math.rad(Random(0,359))
- +local length = 9000
- +
- +local vel_x = math.cos( angle ) * length
- +local vel_y = 0 - math.sin( angle ) * length
- +
- +shoot_projectile( entity_id, "data/entities/projectiles/lightning.xml", x,y, vel_x, vel_y )
- \ No newline at end of file
- diff --git a/scripts/buildings/sun/sunbaby_air_effect.lua b/scripts/buildings/sun/sunbaby_air_effect.lua
- new file mode 100644
- index 0000000..7d44a1e
- --- /dev/null
- +++ b/scripts/buildings/sun/sunbaby_air_effect.lua
- @@ -0,0 +1,14 @@
- +dofile_once("data/scripts/lib/utilities.lua")
- +
- +local entity_id = GetUpdatedEntityID()
- +local x, y = EntityGetTransform( entity_id )
- +
- +SetRandomSeed( GameGetFrameNum() + GetUpdatedComponentID(), x + y + entity_id )
- +
- +local angle = math.rad(Random(0,359))
- +local length = 6000
- +
- +local vel_x = math.cos( angle ) * length
- +local vel_y = 0 - math.sin( angle ) * length
- +
- +shoot_projectile( entity_id, "data/entities/projectiles/lightning.xml", x,y, vel_x, vel_y )
- \ No newline at end of file
- diff --git a/scripts/buildings/sun/sunbaby_controls.lua b/scripts/buildings/sun/sunbaby_controls.lua
- new file mode 100644
- index 0000000..eaa0cfb
- --- /dev/null
- +++ b/scripts/buildings/sun/sunbaby_controls.lua
- @@ -0,0 +1,22 @@
- +dofile_once("data/scripts/lib/utilities.lua")
- +
- +local entity_id = GetUpdatedEntityID()
- +local x, y = EntityGetTransform( entity_id )
- +
- +local targets = EntityGetInRadiusWithTag( x, y, 56, "projectile" )
- +
- +local vel_x,vel_y = 0,0
- +
- +for i,v in ipairs( targets ) do
- + if ( i == 1 ) then
- + edit_component( v, "VelocityComponent", function(comp,vars)
- + vel_x,vel_y = ComponentGetValueVector2( comp, "mVelocity")
- + end)
- +
- + if ( vel_x ~= 0 ) or ( vel_y ~= 0 ) then
- + PhysicsApplyForce( entity_id, vel_x * 1.2, vel_y * 1.2 )
- + end
- + end
- +
- + EntityKill( v )
- +end
- \ No newline at end of file
- diff --git a/scripts/gun/gun_actions.lua b/scripts/gun/gun_actions.lua
- index 0266e9c..6e848e9 100644
- --- a/scripts/gun/gun_actions.lua
- +++ b/scripts/gun/gun_actions.lua
- @@ -1514,7 +1514,7 @@ actions =
- id = "BLOODTENTACLE",
- name = "$action_bloodtentacle",
- description = "$actiondesc_bloodtentacle",
- - spawn_requires_flag = "card_unlocked_mestari",
- + spawn_requires_flag = "card_unlocked_pyramid",
- sprite = "data/ui_gfx/gun_actions/bloodtentacle.png",
- sprite_unidentified = "data/ui_gfx/gun_actions/tentacle_unidentified.png",
- related_projectiles = {"data/entities/projectiles/deck/bloodtentacle.xml"},
- @@ -4010,7 +4010,7 @@ actions =
- description = "$actiondesc_nolla",
- sprite = "data/ui_gfx/gun_actions/nolla.png",
- sprite_unidentified = "data/ui_gfx/gun_actions/spread_reduce_unidentified.png",
- - spawn_requires_flag = "card_unlocked_mestari",
- + spawn_requires_flag = "card_unlocked_pyramid",
- related_extra_entities = { "data/entities/misc/nolla.xml" },
- type = ACTION_TYPE_MODIFIER,
- spawn_level = "2,4,5,6,10", -- LIFETIME_DOWN
- @@ -7880,7 +7880,7 @@ actions =
- description = "$actiondesc_random_spell",
- sprite = "data/ui_gfx/gun_actions/random_spell.png",
- sprite_unidentified = "data/ui_gfx/gun_actions/spread_reduce_unidentified.png",
- - spawn_requires_flag = "card_unlocked_mestari",
- + spawn_requires_flag = "card_unlocked_pyramid",
- type = ACTION_TYPE_OTHER,
- recursive = true,
- spawn_level = "3,4,5,6,10", -- MANA_REDUCE
- @@ -7912,7 +7912,7 @@ actions =
- description = "$actiondesc_random_projectile",
- sprite = "data/ui_gfx/gun_actions/random_projectile.png",
- sprite_unidentified = "data/ui_gfx/gun_actions/spread_reduce_unidentified.png",
- - spawn_requires_flag = "card_unlocked_mestari",
- + spawn_requires_flag = "card_unlocked_pyramid",
- type = ACTION_TYPE_PROJECTILE,
- recursive = true,
- spawn_level = "2,4,5,6,10", -- MANA_REDUCE
- @@ -7944,7 +7944,7 @@ actions =
- description = "$actiondesc_random_modifier",
- sprite = "data/ui_gfx/gun_actions/random_modifier.png",
- sprite_unidentified = "data/ui_gfx/gun_actions/spread_reduce_unidentified.png",
- - spawn_requires_flag = "card_unlocked_mestari",
- + spawn_requires_flag = "card_unlocked_pyramid",
- type = ACTION_TYPE_MODIFIER,
- recursive = true,
- spawn_level = "4,5,6,10", -- MANA_REDUCE
- @@ -7976,7 +7976,7 @@ actions =
- description = "$actiondesc_random_static_projectile",
- sprite = "data/ui_gfx/gun_actions/random_static_projectile.png",
- sprite_unidentified = "data/ui_gfx/gun_actions/spread_reduce_unidentified.png",
- - spawn_requires_flag = "card_unlocked_mestari",
- + spawn_requires_flag = "card_unlocked_pyramid",
- type = ACTION_TYPE_STATIC_PROJECTILE,
- recursive = true,
- spawn_level = "3,5,6,10", -- MANA_REDUCE
- @@ -8008,7 +8008,7 @@ actions =
- description = "$actiondesc_draw_random",
- sprite = "data/ui_gfx/gun_actions/draw_random.png",
- sprite_unidentified = "data/ui_gfx/gun_actions/spread_reduce_unidentified.png",
- - spawn_requires_flag = "card_unlocked_mestari",
- + spawn_requires_flag = "card_unlocked_pyramid",
- type = ACTION_TYPE_OTHER,
- recursive = true,
- spawn_level = "2,3,4,5,6,10", -- MANA_REDUCE
- @@ -8064,7 +8064,7 @@ actions =
- description = "$actiondesc_draw_random_x3",
- sprite = "data/ui_gfx/gun_actions/draw_random_x3.png",
- sprite_unidentified = "data/ui_gfx/gun_actions/spread_reduce_unidentified.png",
- - spawn_requires_flag = "card_unlocked_mestari",
- + spawn_requires_flag = "card_unlocked_pyramid",
- type = ACTION_TYPE_OTHER,
- recursive = true,
- spawn_level = "3,4,5,6,10", -- MANA_REDUCE
- @@ -8122,7 +8122,7 @@ actions =
- description = "$actiondesc_draw_3_random",
- sprite = "data/ui_gfx/gun_actions/draw_3_random.png",
- sprite_unidentified = "data/ui_gfx/gun_actions/spread_reduce_unidentified.png",
- - spawn_requires_flag = "card_unlocked_mestari",
- + spawn_requires_flag = "card_unlocked_pyramid",
- type = ACTION_TYPE_OTHER,
- recursive = true,
- spawn_level = "2,3,5,6,10", -- MANA_REDUCE
- @@ -8345,7 +8345,7 @@ actions =
- description = "$actiondesc_add_trigger",
- sprite = "data/ui_gfx/gun_actions/trigger.png",
- sprite_unidentified = "data/ui_gfx/gun_actions/damage_unidentified.png",
- - spawn_requires_flag = "card_unlocked_pyramid",
- + spawn_requires_flag = "card_unlocked_mestari",
- type = ACTION_TYPE_MODIFIER,
- spawn_level = "3,4,5,10", -- CRITICAL_HIT
- spawn_probability = "0.3,0.6,0.6,1", -- CRITICAL_HIT
- @@ -8406,7 +8406,7 @@ actions =
- description = "$actiondesc_add_timer",
- sprite = "data/ui_gfx/gun_actions/timer.png",
- sprite_unidentified = "data/ui_gfx/gun_actions/damage_unidentified.png",
- - spawn_requires_flag = "card_unlocked_pyramid",
- + spawn_requires_flag = "card_unlocked_mestari",
- type = ACTION_TYPE_MODIFIER,
- spawn_level = "3,4,5,10", -- CRITICAL_HIT
- spawn_probability = "0.3,0.6,0.6,1", -- CRITICAL_HIT
- @@ -8468,7 +8468,7 @@ actions =
- description = "$actiondesc_add_death_trigger",
- sprite = "data/ui_gfx/gun_actions/death_trigger.png",
- sprite_unidentified = "data/ui_gfx/gun_actions/damage_unidentified.png",
- - spawn_requires_flag = "card_unlocked_pyramid",
- + spawn_requires_flag = "card_unlocked_mestari",
- type = ACTION_TYPE_MODIFIER,
- spawn_level = "3,4,5,10", -- CRITICAL_HIT
- spawn_probability = "0.3,0.6,0.6,1", -- CRITICAL_HIT
- diff --git a/scripts/magic/dark_moon_altar.lua b/scripts/magic/dark_moon_altar.lua
- index 2542f21..f6f549c 100644
- --- a/scripts/magic/dark_moon_altar.lua
- +++ b/scripts/magic/dark_moon_altar.lua
- @@ -14,8 +14,10 @@ essence_5 = false
- local players = EntityGetWithTag( "player_unit" )
- local players_ = EntityGetWithTag( test )
- +local sun = EntityGetInRadiusWithTag( x, y, 56, "seed_e" )
- +local sun2 = EntityGetInRadiusWithTag( x, y, 56, "seed_f" )
- -if essence_1 and essence_2 and essence_3 and essence_4 and ( #players_ == 0 ) then
- +if essence_1 and essence_2 and essence_3 and essence_4 and ( #players_ == 0 ) and ( #sun == 0 ) and ( #sun2 == 0 ) then
- local do_effect = false
- if ( #players > 0 ) then
- @@ -36,4 +38,35 @@ if essence_1 and essence_2 and essence_3 and essence_4 and ( #players_ == 0 ) th
- EntityKill( entity_id )
- end
- +end
- +
- +if ( #sun > 0 ) or ( #sun2 > 0 ) then
- + local flag = GameHasFlagRun( "secret_sun_collision_1" )
- + EntityLoad("data/entities/projectiles/deck/explosion_giga.xml", x, y)
- +
- + if ( flag == false ) then
- + GameAddFlagRun( "secret_sun_collision_1" )
- +
- + if ( #sun > 0 ) then
- + EntityLoad("data/entities/misc/moon_effect_sun.xml", x, y)
- + elseif ( #sun2 > 0 ) then
- + EntityLoad("data/entities/misc/moon_effect_darksun.xml", x, y)
- + end
- +
- + GamePrintImportant( "$log_collision_1", "$logdesc_collision_1" )
- + else
- + GameAddFlagRun( "secret_sun_collision_2" )
- +
- + if ( #sun > 0 ) then
- + EntityLoad("data/entities/misc/moon_effect_sun.xml", x, y)
- + GamePrintImportant( "$log_collision_2", "$logdesc_collision_2" )
- + AddFlagPersistent( "secret_sun_collision" )
- + elseif ( #sun2 > 0 ) then
- + EntityLoad("data/entities/misc/moon_effect_darksun.xml", x, y)
- + GamePrintImportant( "$log_collision_3", "$logdesc_collision_3" )
- + AddFlagPersistent( "secret_darksun_collision" )
- + end
- + end
- +
- + EntityKill( entity_id )
- end
- \ No newline at end of file
- diff --git a/scripts/magic/fungal_shift.lua b/scripts/magic/fungal_shift.lua
- index 63603ce..82a71ae 100644
- --- a/scripts/magic/fungal_shift.lua
- +++ b/scripts/magic/fungal_shift.lua
- @@ -10,13 +10,16 @@ materials_from =
- { probability = 1.0, materials = { "blood_fungi", "fungi", "fungisoil" }, name_material = "fungi" },
- { probability = 1.0, materials = { "blood_cold", "blood_worm" } },
- { probability = 1.0, materials = { "acid" } },
- + { probability = 0.4, materials = { "acid_gas", "acid_gas_static", "poison_gas", "fungal_gas", "radioactive_gas", "radioactive_gas_static" }, name_material = "acid_gas" },
- { probability = 0.4, materials = { "magic_liquid_polymorph", "magic_liquid_unstable_polymorph" }, name_material = "magic_liquid_polymorph" },
- { probability = 0.4, materials = { "magic_liquid_teleportation", "magic_liquid_unstable_teleportation" }, name_material = "magic_liquid_teleportation" },
- { probability = 0.4, materials = { "magic_liquid_berserk", "magic_liquid_charm", "magic_liquid_invisibility" } },
- { probability = 0.6, materials = { "diamond" } },
- { probability = 0.6, materials = { "silver", "brass", "copper" } },
- - { probability = 0.05, materials = { "sand" } },
- - { probability = 0.05, materials = { "snow_sticky" } },
- + { probability = 0.2, materials = { "steam", "smoke" } },
- + { probability = 0.4, materials = { "sand" } },
- + { probability = 0.4, materials = { "snow_sticky" } },
- + { probability = 0.05, materials = { "rock_static" } },
- { probability = 0.001, materials = { "gold", "gold_box2d" }, name_material = "gold" },
- }
- @@ -42,6 +45,7 @@ materials_to =
- { probability = 0.80, material = "silver" },
- { probability = 0.80, material = "steam" },
- { probability = 0.50, material = "rock_static" },
- + { probability = 0.50, material = "gunpowder" },
- { probability = 0.50, material = "material_darkness" },
- { probability = 0.50, material = "material_confusion" },
- { probability = 0.20, material = "rock_static_radioactive" },
- @@ -50,6 +54,7 @@ materials_to =
- { probability = 0.15, material = "magic_liquid_teleportation" },
- { probability = 0.01, material = "urine" },
- { probability = 0.01, material = "poo" },
- + { probability = 0.01, material = "void_liquid" },
- { probability = 0.01, material = "cheese_static" },
- }
- diff --git a/scripts/magic/moon_altar.lua b/scripts/magic/moon_altar.lua
- index 9033a66..037bfd9 100644
- --- a/scripts/magic/moon_altar.lua
- +++ b/scripts/magic/moon_altar.lua
- @@ -13,8 +13,10 @@ local essence_5 = GameHasFlagRun( "essence_alcohol" )
- local players = EntityGetWithTag( "player_unit" )
- local players_ = EntityGetWithTag( test )
- +local sun = EntityGetInRadiusWithTag( x, y, 56, "seed_e" )
- +local sun2 = EntityGetInRadiusWithTag( x, y, 56, "seed_f" )
- -if essence_1 and essence_2 and essence_3 and essence_4 and ( #players_ == 0 ) then
- +if essence_1 and essence_2 and essence_3 and essence_4 and ( #players_ == 0 ) and ( #sun == 0 ) and ( #sun2 == 0 ) then
- local do_effect = false
- if ( #players > 0 ) then
- @@ -45,4 +47,35 @@ if essence_1 and essence_2 and essence_3 and essence_4 and ( #players_ == 0 ) th
- EntityKill( entity_id )
- end
- +end
- +
- +if ( #sun > 0 ) or ( #sun2 > 0 ) then
- + local flag = GameHasFlagRun( "secret_sun_collision_1" )
- + EntityLoad("data/entities/projectiles/deck/explosion_giga.xml", x, y)
- +
- + if ( flag == false ) then
- + GameAddFlagRun( "secret_sun_collision_1" )
- +
- + if ( #sun > 0 ) then
- + EntityLoad("data/entities/misc/moon_effect_sun.xml", x, y)
- + elseif ( #sun2 > 0 ) then
- + EntityLoad("data/entities/misc/moon_effect_darksun.xml", x, y)
- + end
- +
- + GamePrintImportant( "$log_collision_1", "$logdesc_collision_1" )
- + else
- + GameAddFlagRun( "secret_sun_collision_2" )
- +
- + if ( #sun > 0 ) then
- + EntityLoad("data/entities/misc/moon_effect_sun.xml", x, y)
- + GamePrintImportant( "$log_collision_2", "$logdesc_collision_2" )
- + AddFlagPersistent( "secret_sun_collision" )
- + elseif ( #sun2 > 0 ) then
- + EntityLoad("data/entities/misc/moon_effect_darksun.xml", x, y)
- + GamePrintImportant( "$log_collision_3", "$logdesc_collision_3" )
- + AddFlagPersistent( "secret_darksun_collision" )
- + end
- + end
- +
- + EntityKill( entity_id )
- end
- \ No newline at end of file
- diff --git a/scripts/perks/fungus_init.lua b/scripts/perks/fungus_init.lua
- new file mode 100644
- index 0000000..2f0cb43
- --- /dev/null
- +++ b/scripts/perks/fungus_init.lua
- @@ -0,0 +1,12 @@
- +dofile_once("data/scripts/lib/utilities.lua")
- +
- +local entity_id = GetUpdatedEntityID()
- +local x, y = EntityGetTransform( entity_id )
- +
- +if EntityHasTag( entity_id, "homing_target" ) then
- + EntityRemoveTag( entity_id, "homing_target" )
- +end
- +
- +if EntityHasTag( entity_id, "enemy" ) then
- + EntityRemoveTag( entity_id, "enemy" )
- +end
- \ No newline at end of file
- diff --git a/scripts/projectiles/bounce_larpa_launch.lua b/scripts/projectiles/bounce_larpa_launch.lua
- index ec2a43f..cced625 100644
- --- a/scripts/projectiles/bounce_larpa_launch.lua
- +++ b/scripts/projectiles/bounce_larpa_launch.lua
- @@ -38,7 +38,7 @@ if ( #projectile_file > 0 ) and ( math.abs( vel_x ) + math.abs( vel_y ) > 50 ) t
- angle = angle + angle_inc
- - local eid = shoot_projectile( entity_id, projectile_file, pos_x + shot_vel_x * 0.05, pos_y + shot_vel_y * 0.05, shot_vel_x, shot_vel_y, false )
- + local eid = shoot_projectile_from_projectile( entity_id, projectile_file, pos_x + shot_vel_x * 0.05, pos_y + shot_vel_y * 0.05, shot_vel_x, shot_vel_y, false )
- EntityAddTag( eid, "projectile_cloned" )
- end
- diff --git a/scripts/projectiles/bounce_laser_launch.lua b/scripts/projectiles/bounce_laser_launch.lua
- index ce12e97..4b8e5eb 100644
- --- a/scripts/projectiles/bounce_laser_launch.lua
- +++ b/scripts/projectiles/bounce_laser_launch.lua
- @@ -22,7 +22,7 @@ if ( speed < 50 ) then
- angle = angle + angle_inc
- - shoot_projectile( entity_id, "data/entities/projectiles/deck/bounce_laser.xml", pos_x + shot_vel_x * 0.05, pos_y + shot_vel_y * 0.05, shot_vel_x, shot_vel_y, false )
- + shoot_projectile_from_projectile( entity_id, "data/entities/projectiles/deck/bounce_laser.xml", pos_x + shot_vel_x * 0.05, pos_y + shot_vel_y * 0.05, shot_vel_x, shot_vel_y, false )
- end
- EntityKill( entity_id )
- diff --git a/scripts/projectiles/bounce_spark_main.lua b/scripts/projectiles/bounce_spark_main.lua
- new file mode 100644
- index 0000000..2595e28
- --- /dev/null
- +++ b/scripts/projectiles/bounce_spark_main.lua
- @@ -0,0 +1,30 @@
- +dofile_once("data/scripts/lib/utilities.lua")
- +
- +local entity_id = GetUpdatedEntityID()
- +local pos_x, pos_y = EntityGetTransform( entity_id )
- +
- +SetRandomSeed( pos_x + entity_id, pos_y + GameGetFrameNum() )
- +
- +local angle = math.pi * 2 * ProceduralRandom( pos_x - 253, pos_y + GameGetFrameNum() )
- +local speed = Random( 200, 300 )
- +
- +local vel_x = math.cos( 0 - angle ) * speed
- +local vel_y = 0 - math.sin( 0 - angle ) * speed
- +
- +shoot_projectile_from_projectile( entity_id, "data/entities/projectiles/deck/bounce_spark_friendly_fire.xml", pos_x, pos_y, vel_x, vel_y, false )
- +
- +local extra = math.max( 0, Random( -2, 1 ) )
- +
- +if ( extra > 0 ) then
- + for i=1,extra do
- + angle = math.pi * 2 * ProceduralRandom( pos_x + 346, pos_y + GameGetFrameNum() )
- + speed = Random( 200, 300 )
- +
- + vel_x = math.cos( 0 - angle ) * speed
- + vel_y = 0 - math.sin( 0 - angle ) * speed
- +
- + shoot_projectile_from_projectile( entity_id, "data/entities/projectiles/deck/bounce_spark_friendly_fire_silent.xml", pos_x, pos_y, vel_x, vel_y, false )
- + end
- +end
- +
- +EntityKill( entity_id )
- \ No newline at end of file
- diff --git a/scripts/projectiles/destruction.lua b/scripts/projectiles/destruction.lua
- index b911916..ad51b0f 100644
- --- a/scripts/projectiles/destruction.lua
- +++ b/scripts/projectiles/destruction.lua
- @@ -14,6 +14,7 @@ if ( #enemies > 0 ) then
- if ( dist < 300 ) and ( EntityHasTag( enemy_id, "boss" ) == false ) then
- EntityLoad( "data/entities/particles/destruction.xml", ex, ey )
- + EntityLoad( "data/entities/misc/explosion_was_here.xml", ex, ey )
- EntityKill( enemy_id )
- end
- end
- @@ -24,6 +25,7 @@ if ( #players > 0 ) then
- local px, py = EntityGetTransform( player_id )
- EntityLoad( "data/entities/particles/destruction.xml", px, py )
- + EntityLoad( "data/entities/misc/explosion_was_here.xml", px, py )
- local damagemodels = EntityGetComponent( player_id, "DamageModelComponent" )
- diff --git a/scripts/projectiles/orbit_projectile.lua b/scripts/projectiles/orbit_projectile.lua
- index 90f497e..7ba6785 100644
- --- a/scripts/projectiles/orbit_projectile.lua
- +++ b/scripts/projectiles/orbit_projectile.lua
- @@ -46,13 +46,13 @@ if ( projtype ~= nil ) and ( projspeed ~= nil ) then
- local comp = EntityGetFirstComponent( eid, "ProjectileComponent" )
- if ( comp ~= nil ) then
- - ComponentSetValue2( comp, "lifetime", 9999 )
- + ComponentSetValue2( comp, "lifetime", 7200 )
- ComponentSetValue2( comp, "die_on_low_velocity", false )
- end
- comp = EntityGetFirstComponent( eid, "LifetimeComponent" )
- if ( comp ~= nil ) then
- - ComponentSetValue2( comp, "lifetime", 9999 )
- + ComponentSetValue2( comp, "lifetime", 7200 )
- end
- end
- end
- diff --git a/ui_gfx/items/musicstone.png b/ui_gfx/items/musicstone.png
- new file mode 100644
- index 0000000..13f716a
- Binary files /dev/null and b/ui_gfx/items/musicstone.png differ
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement