Skip to content
This repository has been archived by the owner on Aug 21, 2024. It is now read-only.

[SEMI-MODULAR] Hemodile and Defiler's tentacle changes #123

Closed
wants to merge 2 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions code/__DEFINES/~RUtgmc_defines/movespeed_modification.dm
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,4 @@

#define MOVESPEED_ID_BOILER_DUMP "BOILER_DUMP"
#define MOVESPEED_ID_OFF_GUARD_SLOWDOWN "OFF_GUARD_SLOWDOWN"
#define MOVESPEED_ID_TENTACLE_SLOWDOWN "TENTACLE_SLOWDOWN"
Original file line number Diff line number Diff line change
Expand Up @@ -595,7 +595,7 @@
target.throw_at(owner, TENTACLE_ABILITY_RANGE, 1, owner, FALSE)
if(isliving(target))
var/mob/living/loser = target
loser.apply_effect(2 SECONDS, WEAKEN) //RuTGMC Edit
loser.apply_status_effect(/datum/status_effect/incapacitating/tentacle_slowdown, 3 SECONDS) //RuTGMC Edit
loser.adjust_stagger(5 SECONDS)

///signal handler to delete tetacle after we are done draggging owner along
Expand Down
16 changes: 16 additions & 0 deletions modular_RUtgmc/code/datums/status_effects/debuffs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,19 @@
/datum/status_effect/incapacitating/offguard_slowdown/on_remove()
owner.remove_movespeed_modifier(MOVESPEED_ID_OFF_GUARD_SLOWDOWN)
return ..()

//Defiler
/datum/status_effect/incapacitating/tentacle_slowdown
id = "tentacle_slow"
status_type = STATUS_EFFECT_REPLACE
var/slowdown = 5

/datum/status_effect/incapacitating/tentacle_slowdown/on_apply()
. = ..()
if(!.)
return
owner.add_movespeed_modifier(MOVESPEED_ID_TENTACLE_SLOWDOWN, TRUE, 0, NONE, TRUE, slowdown)

/datum/status_effect/incapacitating/tentacle_slowdown/on_remove()
owner.remove_movespeed_modifier(MOVESPEED_ID_TENTACLE_SLOWDOWN)
return ..()
27 changes: 27 additions & 0 deletions modular_RUtgmc/code/modules/reagents/reagents/toxin.dm
Original file line number Diff line number Diff line change
Expand Up @@ -49,3 +49,30 @@
/datum/reagent/medicine/xenojelly/on_mob_delete(mob/living/L, metabolism)
REMOVE_TRAIT(L, TRAIT_IGNORE_SUFFOCATION, REAGENT_TRAIT(src))
return ..()

/datum/reagent/toxin/xeno_hemodile
custom_metabolism = 0.4

/datum/reagent/toxin/xeno_hemodile/on_mob_life(mob/living/L, metabolism)

var/slowdown_multiplier = 0.5 //Because hemodile is obviously in blood already
var/reagent_amount

for(var/datum/reagent/current_reagent AS in L.reagents.reagent_list) //Cycle through all chems
if(is_type_in_typecache(current_reagent, GLOB.defiler_toxins_typecache_list)) //For each xeno toxin reagent, double the strength multiplier
slowdown_multiplier *= 2 //Each other Defiler toxin increases the multiplier by 2x; 2x if we have 1 combo chem, 4x if we have 2
reagent_amount += L.reagents.get_reagent_amount(/datum/reagent/toxin/xeno_hemodile)

switch(slowdown_multiplier)
if(0 to 1)
to_chat(L, span_warning("You feel your legs tense up."))
if(2 to 3.9)
L.Paralyze(3 SECONDS)
L.reagents.remove_reagent(/datum/reagent/toxin/xeno_hemodile, reagent_amount)

L.add_movespeed_modifier(MOVESPEED_ID_XENO_HEMODILE, TRUE, 0, NONE, TRUE, 1.5 * slowdown_multiplier)

return ..()

/datum/reagent/toxin/xeno_hemodile/on_mob_delete(mob/living/L, metabolism)
L.remove_movespeed_modifier(MOVESPEED_ID_XENO_HEMODILE)
Loading