Skip to content

Commit

Permalink
New Creep, Balance Changes
Browse files Browse the repository at this point in the history
You can now deliver the Essence of Fungus to lunar bodies
Expanded the statue room to include trophys for new achievements
Greatly increased time between Psychic Bat's delusion attempts, it should now take 5 seconds between each attempt instead of 2, this should hopefully make them less frustrating enemies to fight against and make trying to avoid the attack feel more worth it instead of giving the feeling that you'll just be hit again anyways
Drastically reduced lifetime of Mass Status spells, this is not the actual effect duration but the projectile lifetime, previously if you gave a mass status spell a modifier like water trail for example, it would linger a very long time and create a lot of water
Fixed Colossal Blob boss not dropping loot
Added modded powders to Dissolve Powder's list
Reworked Masters of Immortality, they now no longer provide an unconcditional 20 seconds of Ambrosia, but rather cover their target with an Ambrosia stain, this should introduce the option of counterplay by using stain inflicting spells, such as Mass Wet, Water Trail or other means.
Modified Hideous Mass ragdolls to now include their limbs
Decreased spawnrate of Holy Orb Barrage, it should now be slightly rare overall, previously I felt like I could consistently find it every run down the main path and it felt excessively present for how good it is
Reduced Delusion's duration to 45 seconds, previously it felt too long but putting it down to 30 seconds felt like the effect would expire before it had a chance to trick you, hopefully 45 seconds will strike a balance between lasting long enough to trick you and being short enough to go away once the effect has done it's business.
New Creep: Reflective Weirdo
  • Loading branch information
Conga0 committed Nov 18, 2022
1 parent 9884307 commit 0801c47
Show file tree
Hide file tree
Showing 100 changed files with 1,473 additions and 139 deletions.
5 changes: 1 addition & 4 deletions TODO.txt
Original file line number Diff line number Diff line change
Expand Up @@ -38,18 +38,15 @@ Setting to disable custom pixelscenes for compatibility with mods like noitavani
Disable custom pixelscenes if playing on Noitavania (32 bit limit will be reached otherwise)

Add hint pointing towards Essence of Fungus
Add reward for bringing Essence of Fungus to moon/Sun

Fix chaotic poly crystal trying to poly propane tanks
Improve divine Being's shield visual





Trophys:
Pandora Chest Rain
Killing all minibosses
Essence of Fungus



Expand Down
2 changes: 1 addition & 1 deletion data/entities/animals/boss_blob/ai/boss_blob_death.lua
Original file line number Diff line number Diff line change
Expand Up @@ -50,8 +50,8 @@ function death(damage_type_bit_field, damage_message, entity_thats_responsible,
AddFlagPersistent( "mocreeps_card_unlocked_blob_boss" )
AddFlagPersistent( "mocreeps_card_unlocked_blob_boss_spell" )
end
GameAddFlagRun( "mocreeps_blob_boss_slain" )
end
GameAddFlagRun( "mocreeps_blob_boss_slain" )
end
end

2 changes: 1 addition & 1 deletion data/entities/animals/ccc_bat_psychic.xml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
can_fly="1"
attack_ranged_entity_file="mods/mo_creeps/files/scripts/animals/psychotic_attack/debuff_init.xml"
attack_ranged_action_frame="1"
attack_ranged_frames_between="120"
attack_ranged_frames_between="300"
attack_ranged_offset_x="-12"
attack_ranged_offset_y="-48"
attack_ranged_min_distance="0"
Expand Down
91 changes: 47 additions & 44 deletions data/entities/animals/gold_bosses/boss_blob/ai/boss_blob_death.lua
Original file line number Diff line number Diff line change
@@ -1,53 +1,56 @@
dofile_once("data/scripts/lib/utilities.lua")

function death(damage_type_bit_field, damage_message, entity_thats_responsible, drop_items)
-- kill self
local entity_id = GetUpdatedEntityID()
local pos_x, pos_y = EntityGetTransform(entity_id)
local flag_status = HasFlagPersistent( "mocreeps_card_unlocked_blob_boss_goldmode" )
local blobs_remaining = EntityGetInRadiusWithTag(pos_x, pos_y, 512, "mocreep_blob_boss")
SetRandomSeed( GameGetFrameNum(), GameGetFrameNum() - 523 )

table.remove(blobs_remaining, entity_id)

if #blobs_remaining == 1 and blobs_remaining[1] == entity_id then
--GamePrint("All Blobs are Dead")
if flag_status then
local opts = { "MOCREEPS_MASS_STATUS_DRUNK", "MOCREEPS_MASS_STATUS_WET", "MOCREEPS_MASS_STATUS_FIRE", "MOCREEPS_MASS_STATUS_URINE", "MOCREEPS_MASS_STATUS_POLYMORPH", "MOCREEPS_SPLIT_SPELL" }
local rnd = Random( 1, #opts )
--I don't know what reward to put here????
EntityLoad( "data/entities/items/wand_unshuffle_06.xml", pos_x, pos_y - 16 )
EntityLoad( "data/entities/items/pickup/heart.xml", pos_x, pos_y )
EntityLoad("data/entities/particles/image_emitters/magical_symbol_hobo_money.xml", pos_x, pos_y)
GamePlaySound( "data/audio/Desktop/projectiles.snd", "player_projectiles/crumbling_earth/create", pos_x, pos_y)

for i=1,3 do
rnd = Random( 1, #opts )
CreateItemActionEntity( opts[rnd], pos_x - 8 * 4 + (i-1) * 16, pos_y )
table.remove( opts, rnd )
if GameHasFlagRun( "mocreeps_blob_boss_slain" ) ~= true then
-- kill self
local entity_id = GetUpdatedEntityID()
local pos_x, pos_y = EntityGetTransform(entity_id)
local flag_status = HasFlagPersistent( "mocreeps_card_unlocked_blob_boss_goldmode" )
local blobs_remaining = EntityGetInRadiusWithTag(pos_x, pos_y, 512, "mocreep_blob_boss")
SetRandomSeed( GameGetFrameNum(), GameGetFrameNum() - 523 )

table.remove(blobs_remaining, entity_id)

if #blobs_remaining == 1 and blobs_remaining[1] == entity_id then
--GamePrint("All Blobs are Dead")
if flag_status then
local opts = { "MOCREEPS_MASS_STATUS_DRUNK", "MOCREEPS_MASS_STATUS_WET", "MOCREEPS_MASS_STATUS_FIRE", "MOCREEPS_MASS_STATUS_URINE", "MOCREEPS_MASS_STATUS_POLYMORPH", "MOCREEPS_SPLIT_SPELL" }
local rnd = Random( 1, #opts )
--I don't know what reward to put here????
EntityLoad( "data/entities/items/wand_unshuffle_06.xml", pos_x, pos_y - 16 )
EntityLoad( "data/entities/items/pickup/heart.xml", pos_x, pos_y )
EntityLoad("data/entities/particles/image_emitters/magical_symbol_hobo_money.xml", pos_x, pos_y)
GamePlaySound( "data/audio/Desktop/projectiles.snd", "player_projectiles/crumbling_earth/create", pos_x, pos_y)

for i=1,3 do
rnd = Random( 1, #opts )
CreateItemActionEntity( opts[rnd], pos_x - 8 * 4 + (i-1) * 16, pos_y )
table.remove( opts, rnd )
end

else
local opts = { "MOCREEPS_MASS_STATUS_DRUNK", "MOCREEPS_MASS_STATUS_WET", "MOCREEPS_MASS_STATUS_FIRE", "MOCREEPS_MASS_STATUS_URINE", "MOCREEPS_MASS_STATUS_POLYMORPH" }
local rnd = Random( 1, #opts )
EntityLoad( "data/entities/items/wand_unshuffle_06.xml", pos_x, pos_y - 16 )
CreateItemActionEntity( "MOCREEPS_SPLIT_SPELL", pos_x + 16, pos_y ) --I've calmed down now and don't need profanities here.. but this spell was still a headache to make.
EntityLoad( "data/entities/items/pickup/heart.xml", pos_x - 8, pos_y )
EntityLoad("data/entities/particles/image_emitters/magical_symbol_hobo_money.xml", pos_x, pos_y)
GamePlaySound( "data/audio/Desktop/projectiles.snd", "player_projectiles/crumbling_earth/create", pos_x, pos_y)
EntityLoad( "data/entities/items/pickup/heart_fullhp.xml", pos_x + 8, pos_y )

for i=1,3 do
rnd = Random( 1, #opts )
CreateItemActionEntity( opts[rnd], pos_x - 8 * 4 + (i-1) * 16, pos_y )
table.remove( opts, rnd )
end
end

else
local opts = { "MOCREEPS_MASS_STATUS_DRUNK", "MOCREEPS_MASS_STATUS_WET", "MOCREEPS_MASS_STATUS_FIRE", "MOCREEPS_MASS_STATUS_URINE", "MOCREEPS_MASS_STATUS_POLYMORPH" }
local rnd = Random( 1, #opts )
EntityLoad( "data/entities/items/wand_unshuffle_06.xml", pos_x, pos_y - 16 )
CreateItemActionEntity( "MOCREEPS_SPLIT_SPELL", pos_x + 16, pos_y ) --I've calmed down now and don't need profanities here.. but this spell was still a headache to make.
EntityLoad( "data/entities/items/pickup/heart.xml", pos_x - 8, pos_y )
EntityLoad("data/entities/particles/image_emitters/magical_symbol_hobo_money.xml", pos_x, pos_y)
GamePlaySound( "data/audio/Desktop/projectiles.snd", "player_projectiles/crumbling_earth/create", pos_x, pos_y)
EntityLoad( "data/entities/items/pickup/heart_fullhp.xml", pos_x + 8, pos_y )

for i=1,3 do
rnd = Random( 1, #opts )
CreateItemActionEntity( opts[rnd], pos_x - 8 * 4 + (i-1) * 16, pos_y )
table.remove( opts, rnd )
if ModIsEnabled("raksa") == false then
AddFlagPersistent( "mocreeps_card_unlocked_blob_boss" )
AddFlagPersistent( "mocreeps_card_unlocked_blob_boss_spell" )
AddFlagPersistent( "mocreeps_card_unlocked_blob_boss_goldmode" )
end
end

if ModIsEnabled("raksa") == false then
AddFlagPersistent( "mocreeps_card_unlocked_blob_boss" )
AddFlagPersistent( "mocreeps_card_unlocked_blob_boss_spell" )
AddFlagPersistent( "mocreeps_card_unlocked_blob_boss_goldmode" )
GameAddFlagRun( "mocreeps_blob_boss_slain" )
end
end
end
Expand Down
5 changes: 4 additions & 1 deletion data/entities/animals/hideous_mass.xml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
can_fly="1" >
</AnimalAIComponent>

<DamageModelComponent
<DamageModelComponent
hp="15"
ragdoll_material="meat_slime_cursed"
blood_material="slime"
Expand All @@ -25,6 +25,9 @@
ragdoll_filenames_file=""
materials_that_damage="acid,poison,blood_cold,blood_cold_vapour,lava"
materials_how_much_damage="0.004,0.001,0.0008,0.0007,0.004"
ragdollify_child_entity_sprites="1"
ragdollify_root_angular_damping="2"
ragdoll_offset_y="-6"
>
</DamageModelComponent>

Expand Down
2 changes: 1 addition & 1 deletion data/entities/animals/sentry.xml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
can_fly="0"
attack_ranged_action_frame="10"
attack_ranged_min_distance="10"
attack_ranged_max_distance="800"
attack_ranged_max_distance="300"
attack_ranged_entity_file="data/entities/projectiles/mocreeps_sentry_bullet.xml"
attack_ranged_entity_count_min="1"
attack_ranged_entity_count_max="1"
Expand Down
3 changes: 3 additions & 0 deletions data/entities/animals/the_end/sentry.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,9 @@
></DamageModelComponent >
<AnimalAIComponent
attack_ranged_entity_file="data/entities/projectiles/mocreeps_sentry_bullet_lethal.xml"
creature_detection_range_x="800"
creature_detection_range_y="800"
attack_ranged_max_distance="800"
>
</AnimalAIComponent>
</Base>
Expand Down
8 changes: 8 additions & 0 deletions data/entities/animals/the_end/wraith_returner_mocreep.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
<Entity name="Suur Stendari" tags="firemage,touchmagic_immunity,ui_use_raw_name" >
<Base file="data/entities/animals/wraith_returner_mocreep.xml" include_children="1" >
<DamageModelComponent
hp="67"
max_hp="67"
></DamageModelComponent >
</Base>
</Entity>
158 changes: 158 additions & 0 deletions data/entities/animals/wraith_returner_mocreep.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,158 @@
<Entity name="$animal_wraith_glowing">

<Base file="data/entities/base_enemy_flying.xml" >
<ItemChestComponent level="1" > </ItemChestComponent>

<AnimalAIComponent
attack_ranged_enabled="0"
attack_dash_enabled="0"
needs_food="0"
can_fly="1">
</AnimalAIComponent>

<DamageModelComponent
hp="14.75"
fire_probability_of_ignition="0"
ragdoll_fx_forced="DISINTEGRATED"
ragdoll_material="rock_static_glow"
blood_material="mocreeps_spark_orange"
blood_spray_material="mocreeps_spark_orange"
ragdoll_material="mocreeps_spark_orange"
blood_sprite_directional=""
blood_sprite_large=""
minimum_knockback_force="100000"
>
<damage_multipliers
projectile="0.1"
explosion="0.1"
electricity="0.5"
fire="0.5"
slice="0.1"
ice="0.1"
>
</damage_multipliers>
</DamageModelComponent>

<PathFindingComponent
can_fly="1"
can_walk="0"
>
</PathFindingComponent>

<SpriteComponent
image_file="mods/mo_creeps/files/enemies_gfx/wraith_returner.xml"
offset_x="0"
offset_y="0">
</SpriteComponent>

<GenomeDataComponent
herd_id="mage"
food_chain_rank="15"
is_predator="1" >
</GenomeDataComponent>

<HitboxComponent
_enabled="1"
aabb_min_x="-7.0"
aabb_max_x="7.0"
aabb_min_y="-7"
aabb_max_y="7"
is_enemy="1"
is_item="0"
is_player="0" >
</HitboxComponent>

<CharacterDataComponent
_enabled="1"
climb_over_y="4"
collision_aabb_min_x="-2.0"
collision_aabb_max_x="2.0"
collision_aabb_min_y="-6"
collision_aabb_max_y="4"
mass="0.9"
>
</CharacterDataComponent>

<AudioComponent
file="data/audio/Desktop/animals.bank"
event_root="animals/wraith_glowing" >
</AudioComponent>

</Base>

<LightComponent
_enabled="1"
radius="30"
r="255"
g="255"
b="255"
>
</LightComponent>

<AudioLoopComponent
file="data/audio/Desktop/animals.bank"
event_name="animals/wraith_glowing/movement_loop"
set_speed_parameter="1"
auto_play="1">
</AudioLoopComponent>

<Entity> <Base file="mods/mo_creeps/files/entities/verlets/wraith_returner/wraith_cape.xml"> <InheritTransformComponent><Transform position.x="0" position.y="2" ></Transform></InheritTransformComponent> </Base> </Entity>

<LuaComponent
execute_every_n_frame="-1"
script_damage_received="mods/mo_creeps/files/scripts/animals/wraith_returner_damage.lua"
>
</LuaComponent>

<LuaComponent
script_source_file="mods/mo_creeps/files/scripts/animals/wraith_returner_memory.lua"
execute_every_n_frame="3"
>
</LuaComponent>

<SpriteParticleEmitterComponent
sprite_file="data/particles/shine_blue.xml"
delay="0"
lifetime="2"
color.r="1" 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="30"
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="10"
emission_interval_max_frames="20"
count_min="1" count_max="1"
randomize_rotation.min="-3.1415"
randomize_rotation.max="3.1415"
randomize_angular_velocity.min="-15"
randomize_angular_velocity.max="15"
randomize_velocity.min_x="-5"
randomize_velocity.max_x="5"
randomize_velocity.min_y="-5"
randomize_velocity.max_y="5"
randomize_position.min_x="-5"
randomize_position.max_x="5"
randomize_position.min_y="-5"
randomize_position.max_y="5"
>
</SpriteParticleEmitterComponent>

<SpriteComponent
alpha="0.55"
image_file="data/particles/fog_of_war_hole.xml"
smooth_filtering="1"
fog_of_war_hole="1" >
</SpriteComponent>

<VariableStorageComponent
name="proj_file"
value_string="data/entities/projectiles/wraith_glowing_laser.xml"
>
</VariableStorageComponent>
</Entity>

8 changes: 4 additions & 4 deletions data/entities/animals/wraith_weirdo_shield.xml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<Entity name="Outo">
<Entity name="Heijastava Outo">

<Base file="data/entities/base_enemy_flying.xml" >
<ItemChestComponent level="1" > </ItemChestComponent>
Expand Down Expand Up @@ -29,9 +29,9 @@
fire_probability_of_ignition="0"
ragdoll_fx_forced="DISINTEGRATED"
ragdoll_material="rock_static_glow"
blood_material="plasma_fading_green"
blood_spray_material="plasma_fading_green"
ragdoll_material="plasma_fading_green"
blood_material="mocreep_plasma_fading_orange"
blood_spray_material="mocreep_plasma_fading_orange"
ragdoll_material="mocreep_plasma_fading_orange"
blood_sprite_directional=""
blood_sprite_large=""
minimum_knockback_force="100000"
Expand Down
Binary file added data/ui_gfx/animal_icons/wraith_returner_mocreep.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified documentation/High Res Pics/Base.xcf
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 2 additions & 1 deletion files/actions.lua
Original file line number Diff line number Diff line change
Expand Up @@ -245,7 +245,8 @@ table.insert(actions,
spawn_requires_flag = "mocreeps_card_unlocked_divinebeing_spell",
type = ACTION_TYPE_PROJECTILE,
spawn_level = "2,3,4,5,6", -- BUCKSHOT Originally this was 1-5 but was changed because the spell feels too good to get early on, might revert, unsure
spawn_probability = "0.7,0.9,1,0.8,0.6", -- BUCKSHOT
--spawn_probability = "0.7,0.9,1,0.8,0.6", -- Original Rates
spawn_probability = "0.7,0.7,0.8,0.8,0.6", -- BUCKSHOT
price = 220,
mana = 50,
action = function()
Expand Down
3 changes: 2 additions & 1 deletion files/actions_untranslated.lua
Original file line number Diff line number Diff line change
Expand Up @@ -245,7 +245,8 @@ table.insert(actions,
spawn_requires_flag = "mocreeps_card_unlocked_divinebeing_spell",
type = ACTION_TYPE_PROJECTILE,
spawn_level = "2,3,4,5,6", -- BUCKSHOT Originally this was 1-5 but was changed because the spell feels too good to get early on, might revert, unsure
spawn_probability = "0.7,0.9,1,0.8,0.6", -- BUCKSHOT
--spawn_probability = "0.7,0.9,1,0.8,0.6", -- Original Rates
spawn_probability = "0.7,0.7,0.8,0.8,0.6", -- BUCKSHOT
price = 220,
mana = 50,
action = function()
Expand Down
3 changes: 2 additions & 1 deletion files/actions_untranslated_RUSSIAN.lua
Original file line number Diff line number Diff line change
Expand Up @@ -245,7 +245,8 @@ table.insert(actions,
spawn_requires_flag = "mocreeps_card_unlocked_divinebeing_spell",
type = ACTION_TYPE_PROJECTILE,
spawn_level = "2,3,4,5,6", -- BUCKSHOT Originally this was 1-5 but was changed because the spell feels too good to get early on, might revert, unsure
spawn_probability = "0.7,0.9,1,0.8,0.6", -- BUCKSHOT
--spawn_probability = "0.7,0.9,1,0.8,0.6", -- Original Rates
spawn_probability = "0.7,0.7,0.8,0.8,0.6", -- BUCKSHOT
price = 220,
mana = 50,
action = function()
Expand Down
Binary file added files/enemies_gfx/wraith_returner.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added files/enemies_gfx/wraith_returner.xcf
Binary file not shown.
Loading

0 comments on commit 0801c47

Please sign in to comment.