From f320278b8d51a664a3ea56d9bd39d336c49de478 Mon Sep 17 00:00:00 2001 From: FluffMedic <109300046+FluffMedic@users.noreply.github.com> Date: Tue, 12 Dec 2023 14:09:30 -0500 Subject: [PATCH] Trying to remove Mob Hardstuns (#7266) --- .../subtypes/animal/giant_spider/lurker.dm | 2 +- .../subtypes/animal/giant_spider/tunneler.dm | 2 +- .../simple_mob/subtypes/animal/space/carp.dm | 2 +- .../simple_mob/subtypes/animal/space/ray.dm | 2 +- .../simple_mob/subtypes/animal/space/shark.dm | 2 +- .../subtypes/humanoid/cultist_ch.dm | 2 +- .../occult/constructs/_construct_ch.dm | 2 +- .../simple_mob/subtypes/occult/faithless.dm | 2 ++ .../simple_mob/subtypes/vore/slug_ch.dm | 6 ++-- .../simple_mob/subtypes/vore/solargrub.dm | 2 +- code/modules/projectiles/projectile/blob.dm | 2 +- .../modules/projectiles/projectile/bullets.dm | 2 +- .../simple_mob/subtypes/gateway/imperion.dm | 33 +++++++++---------- .../simple_mob/subtypes/slimess/xenobio.dm | 2 ++ vorestation.dme | 1 + 15 files changed, 33 insertions(+), 31 deletions(-) create mode 100644 modular_chomp/code/modules/mob/living/simple_mob/subtypes/slimess/xenobio.dm diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/lurker.dm b/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/lurker.dm index 7a8d649541..669b897805 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/lurker.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/lurker.dm @@ -102,7 +102,7 @@ if(cloaked) if(isliving(A)) var/mob/living/L = A - L.Weaken(cloaked_weaken_amount) + L.add_modifier(/datum/modifier/entangled, 2 SECONDS) //L.Weaken(cloaked_weaken_amount) CHOMPEdit: Trying to remove hardstuns to_chat(L, span("danger", "\The [src] ambushes you!")) playsound(src, 'sound/weapons/spiderlunge.ogg', 75, 1) uncloak() diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/tunneler.dm b/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/tunneler.dm index 53d4bd0d24..54c34857aa 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/tunneler.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/tunneler.dm @@ -116,7 +116,7 @@ visible_message(span("danger","\The [src] erupts from underneath, and hits \the [L]!")) playsound(src, 'sound/weapons/heavysmash.ogg', 75, 1) - L.Weaken(3) + L.add_modifier(/datum/modifier/entangled, 3 SECONDS) //L.Weaken(3) CHOMPedit: Removal of stuns overshoot = FALSE if(!overshoot) // We hit the target, or something, at destination, so we're done. diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/space/carp.dm b/code/modules/mob/living/simple_mob/subtypes/animal/space/carp.dm index 3e36c2ff34..1523d825d5 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/space/carp.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/space/carp.dm @@ -66,7 +66,7 @@ if(isliving(A)) var/mob/living/L = A if(prob(knockdown_chance)) - L.Weaken(3) + L.add_modifier(/datum/modifier/entangled, 4 SECONDS) //CHOMPedit, replacing weaken/slowdown with slow down L.visible_message(span("danger", "\The [src] knocks down \the [L]!")) // Subtypes. diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/space/ray.dm b/code/modules/mob/living/simple_mob/subtypes/animal/space/ray.dm index 18eace68b5..9d91ebe33b 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/space/ray.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/space/ray.dm @@ -69,7 +69,7 @@ if(isliving(A)) var/mob/living/L = A if(prob(knockdown_chance)) - L.Weaken(4) + L.add_modifier(/datum/modifier/entangled, 4 SECONDS) //CHOMPedit, replacing weaken/slowdown with slow down L.visible_message(span("danger", "\The [src] buffets \the [L]!")) src.ai_holder.remove_target() L.visible_message(span("notice", "\The [src] seems to lose interest in \the [L]...")) diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/space/shark.dm b/code/modules/mob/living/simple_mob/subtypes/animal/space/shark.dm index 466df2905d..07cdaa2b1b 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/space/shark.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/space/shark.dm @@ -49,7 +49,7 @@ if(isliving(A)) var/mob/living/L = A if(prob(knockdown_chance)) - L.Weaken(3) + L.add_modifier(/datum/modifier/entangled, 4 SECONDS) //CHOMPedit, replacing weaken/slowdown with slow down L.visible_message(span("danger", "\The [src] knocks down \the [L]!")) /mob/living/simple_mob/animal/space/shark/event diff --git a/code/modules/mob/living/simple_mob/subtypes/humanoid/cultist_ch.dm b/code/modules/mob/living/simple_mob/subtypes/humanoid/cultist_ch.dm index 0eb8932564..020bfdbd72 100644 --- a/code/modules/mob/living/simple_mob/subtypes/humanoid/cultist_ch.dm +++ b/code/modules/mob/living/simple_mob/subtypes/humanoid/cultist_ch.dm @@ -135,7 +135,7 @@ visible_message(span("danger","\The [src] suddenly rises from a pool of blood \the [L]!")) new /obj/effect/decal/cleanable/blood (src.loc) playsound(L, 'sound/weapons/heavysmash.ogg', 75, 1) - L.Weaken(3) + L.add_modifier(/datum/modifier/entangled, 1 SECONDS) //L.Weaken(3) CHOMPedit: Trying to remove hardstuns, replacing it with slow down overshoot = FALSE if(!overshoot) // We hit the target, or something, at destination, so we're done. diff --git a/code/modules/mob/living/simple_mob/subtypes/occult/constructs/_construct_ch.dm b/code/modules/mob/living/simple_mob/subtypes/occult/constructs/_construct_ch.dm index f1ead9f587..8e8e5ef892 100644 --- a/code/modules/mob/living/simple_mob/subtypes/occult/constructs/_construct_ch.dm +++ b/code/modules/mob/living/simple_mob/subtypes/occult/constructs/_construct_ch.dm @@ -75,7 +75,7 @@ visible_message(span("danger","\The [src] appears in a flurry of slashes \the [L]!")) playsound(L, 'sound/weapons/heavysmash.ogg', 75, 1) - L.Weaken(3) + L.add_modifier(/datum/modifier/entangled, 1 SECONDS) //L.Weaken(3) CHOMPedit: Trying to remove hardstuns overshoot = FALSE if(!overshoot) // We hit the target, or something, at destination, so we're done. diff --git a/code/modules/mob/living/simple_mob/subtypes/occult/faithless.dm b/code/modules/mob/living/simple_mob/subtypes/occult/faithless.dm index 86dccd8523..a83ebe928e 100644 --- a/code/modules/mob/living/simple_mob/subtypes/occult/faithless.dm +++ b/code/modules/mob/living/simple_mob/subtypes/occult/faithless.dm @@ -48,12 +48,14 @@ /mob/living/simple_mob/faithless/Process_Spacemove(var/check_drift = 0) return 1 +/*chompedit: Trying to remove mob hardstuns /mob/living/simple_mob/faithless/apply_melee_effects(var/atom/A) if(isliving(A)) var/mob/living/L = A if(prob(12)) L.Weaken(3) L.visible_message("\The [src] knocks down \the [L]!") +*/ // Strong Variant /mob/living/simple_mob/faithless/strong diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/slug_ch.dm b/code/modules/mob/living/simple_mob/subtypes/vore/slug_ch.dm index 88288a8090..9251eeafe0 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/slug_ch.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/slug_ch.dm @@ -18,8 +18,8 @@ response_disarm = "prods" response_harm = "punches" movement_cooldown = 40 //I guess you could call this a SNAIL'S PACE. - maxHealth = 500 - health = 500 + maxHealth = 100 + health = 100 attacktext = list("headbutted") minbodytemp = 80 ai_holder_type = /datum/ai_holder/simple_mob/passive/slug_ch @@ -42,7 +42,7 @@ var/list/my_slime = list() var/slime_max = 35 //With a slug which moves once every 10 seconds and a 5 minute delete timer, this should never exceed 30. var/mob/living/vore_memory = null - + can_be_drop_prey = FALSE //CHOMP Add /mob/living/simple_mob/vore/slug //I guess separating the vore variables is a little more organized? diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/solargrub.dm b/code/modules/mob/living/simple_mob/subtypes/vore/solargrub.dm index 978fe3c626..db185b27ac 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/solargrub.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/solargrub.dm @@ -60,7 +60,7 @@ var/global/list/moth_amount = 0 // Chompstation Addition, Rykka waz here. *pawst var/shock_chance = 10 // Beware var/powerdraw = 100000 // previous value 150000 // CHOMPStation Addition, Rykka waz here. *pawstamp* var/tracked = FALSE - + can_be_drop_prey = FALSE //CHOMP Add /datum/say_list/solargrub diff --git a/code/modules/projectiles/projectile/blob.dm b/code/modules/projectiles/projectile/blob.dm index f73fe9d008..81db882856 100644 --- a/code/modules/projectiles/projectile/blob.dm +++ b/code/modules/projectiles/projectile/blob.dm @@ -66,7 +66,7 @@ /obj/item/projectile/energy/blob/freezing my_chems = list("frostoil") modifier_type_to_apply = /datum/modifier/chilled - modifier_duration = 1 MINUTE + modifier_duration = 0.25 MINUTE //CHOMPedit: Determined to be to long of a slowdown time. /obj/item/projectile/energy/blob/freezing/splattering splatter = TRUE diff --git a/code/modules/projectiles/projectile/bullets.dm b/code/modules/projectiles/projectile/bullets.dm index 2257cfb776..8ca7d343e8 100644 --- a/code/modules/projectiles/projectile/bullets.dm +++ b/code/modules/projectiles/projectile/bullets.dm @@ -189,7 +189,7 @@ /obj/item/projectile/bullet/rifle fire_sound = 'sound/weapons/Gunshot_generic_rifle.ogg' armor_penetration = 15 - penetrating = 1 + //penetrating = 1 CHOMPedit: This is the only thing I see that could cause stun and unsure what can be pierced with a penetrating of 1. hud_state = "rifle" hud_state_empty = "rifle_empty" diff --git a/modular_chomp/code/modules/mob/living/simple_mob/subtypes/gateway/imperion.dm b/modular_chomp/code/modules/mob/living/simple_mob/subtypes/gateway/imperion.dm index bf4644713a..dd70427ce2 100644 --- a/modular_chomp/code/modules/mob/living/simple_mob/subtypes/gateway/imperion.dm +++ b/modular_chomp/code/modules/mob/living/simple_mob/subtypes/gateway/imperion.dm @@ -244,6 +244,7 @@ special_attack_min_range = 1 special_attack_max_range = 9 special_attack_cooldown = 12 SECONDS + melee_attack_delay = 2 SECOND /mob/living/simple_mob/mechanical/mecha/imperion/phase4/proc/electric_defense(atom/target) set waitfor = FALSE @@ -386,7 +387,7 @@ /obj/item/clothing/suit/armor/tesla/vistor = 60, /obj/item/clothing/suit/armor/tesla/vistor = 60, /obj/item/shield_projector/rectangle/automatic/orange = 10, - /obj/item/shield_projector/rectangle/automatic/imperion = 1, + /obj/item/shield_projector/rectangle/automatic/imperion = 0.5, /obj/item/clothing/head/vrwizard = 60, /obj/item/clothing/suit/vrwizard = 60, /obj/item/weapon/gun/magic/firestaff/vrwizard/fire = 60, @@ -404,23 +405,6 @@ ) /mob/living/simple_mob/mechanical/mecha/imperion/phase5/proc/electric_defense(atom/target) - var/turf/T = get_turf(target) - visible_message(span("warning", "\The [src] fires an energetic sphere into the air!")) - playsound(src, 'sound/weapons/Laser.ogg', 50, 1) - face_atom(T) - var/obj/item/projectile/arc/microsingulo/sphere = new(loc) - sphere.old_style_target(T, src) - sphere.fire() - var/obj/item/projectile/P = new /obj/item/projectile/bullet/imperionspear(get_turf(src)) - P.launch_projectile(target, BP_TORSO, src) - if(prob(50)) - var/obj/item/projectile/B = new /obj/item/projectile/bullet/imperionblaster(get_turf(src)) - B.launch_projectile(target, BP_TORSO, src) - else - var/obj/item/projectile/A = new /obj/item/projectile/bullet/imperiontesla(get_turf(src)) - A.launch_projectile(target, BP_TORSO, src) - -/mob/living/simple_mob/mechanical/mecha/imperion/phase5/proc/launch_rockets(atom/target) var/obj/item/projectile/P = new /obj/item/projectile/bullet/imperionblaster(get_turf(src)) P.launch_projectile(target, BP_TORSO, src) if(prob(50)) @@ -430,6 +414,17 @@ var/obj/item/projectile/A = new /obj/item/projectile/bullet/imperiontesla(get_turf(src)) A.launch_projectile(target, BP_TORSO, src) + +/mob/living/simple_mob/mechanical/mecha/imperion/phase5/proc/launch_rockets(atom/target) + var/obj/item/projectile/P = new /obj/item/projectile/bullet/imperionblaster(get_turf(src)) + P.launch_projectile(target, BP_TORSO, src) + sleep(1.5 SECONDS) + var/obj/item/projectile/B = new /obj/item/projectile/bullet/imperionspear(get_turf(src)) + B.launch_projectile(target, BP_TORSO, src) + sleep(1.5 SECONDS) + var/obj/item/projectile/A = new /obj/item/projectile/bullet/imperiontesla(get_turf(src)) + A.launch_projectile(target, BP_TORSO, src) + /mob/living/simple_mob/mechanical/mecha/imperion/phase5/proc/launch_microsingularity(atom/target) set waitfor = FALSE @@ -456,9 +451,11 @@ var/obj/item/projectile/P = new /obj/item/projectile/bullet/imperiontesla(get_turf(src)) P.launch_projectile(target, BP_TORSO, src) if(prob(50)) + sleep(1.5) var/obj/item/projectile/B = new /obj/item/projectile/bullet/imperionblaster(get_turf(src)) B.launch_projectile(target, BP_TORSO, src) else + sleep(1.5) var/obj/item/projectile/A = new /obj/item/projectile/bullet/imperionspear(get_turf(src)) A.launch_projectile(target, BP_TORSO, src) diff --git a/modular_chomp/code/modules/mob/living/simple_mob/subtypes/slimess/xenobio.dm b/modular_chomp/code/modules/mob/living/simple_mob/subtypes/slimess/xenobio.dm new file mode 100644 index 0000000000..49b6f8c04a --- /dev/null +++ b/modular_chomp/code/modules/mob/living/simple_mob/subtypes/slimess/xenobio.dm @@ -0,0 +1,2 @@ +/mob/living/simple_mob/slime/xenobio/yellow + projectiletype = /obj/item/projectile/energy/mob/electric_spider \ No newline at end of file diff --git a/vorestation.dme b/vorestation.dme index adfc0303f3..ab9c244c34 100644 --- a/vorestation.dme +++ b/vorestation.dme @@ -4817,6 +4817,7 @@ #include "modular_chomp\code\modules\mob\living\simple_mob\subtypes\occult\constructs\juggernaut.dm" #include "modular_chomp\code\modules\mob\living\simple_mob\subtypes\occult\constructs\purity_construct.dm" #include "modular_chomp\code\modules\mob\living\simple_mob\subtypes\slimess\feral.dm" +#include "modular_chomp\code\modules\mob\living\simple_mob\subtypes\slimess\xenobio.dm" #include "modular_chomp\code\modules\mob\living\simple_mob\subtypes\vore\ashy.dm" #include "modular_chomp\code\modules\mob\living\simple_mob\subtypes\vore\bigdragon.dm" #include "modular_chomp\code\modules\mob\living\simple_mob\subtypes\vore\carp.dm"