Merge pull request #10451 from kevinz000/mobility_flags

Mobility flags + combat rework stuff refactoring, fixes a few edge cases including the Oh Dreaded Xenomorph Hardstuns, etc etc time to break the game
This commit is contained in:
deathride58
2020-03-05 20:03:56 -05:00
committed by GitHub
290 changed files with 2244 additions and 1819 deletions

View File

@@ -342,7 +342,7 @@
addiction_tick++
if(C && need_mob_update) //some of the metabolized reagents had effects on the mob that requires some updates.
C.updatehealth()
C.update_canmove()
C.update_mobility()
C.update_stamina()
update_total()

View File

@@ -20,7 +20,7 @@
/datum/reagent/drug/space_drugs/on_mob_life(mob/living/carbon/M)
M.set_drugginess(15)
if(isturf(M.loc) && !isspaceturf(M.loc))
if(M.canmove)
if(CHECK_MOBILITY(M, MOBILITY_MOVE))
if(prob(10))
step(M, pick(GLOB.cardinals))
if(prob(7))
@@ -52,8 +52,7 @@
var/smoke_message = pick("You feel relaxed.", "You feel calmed.","You feel alert.","You feel rugged.")
to_chat(M, "<span class='notice'>[smoke_message]</span>")
SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "smoked", /datum/mood_event/smoked, name)
M.AdjustStun(-20, 0)
M.AdjustKnockdown(-20, 0)
M.AdjustAllImmobility(-20, 0)
M.AdjustUnconscious(-20, 0)
M.adjustStaminaLoss(-0.5*REM, 0)
..()
@@ -72,8 +71,7 @@
if(prob(5))
var/high_message = pick("You feel jittery.", "You feel like you gotta go fast.", "You feel like you need to step it up.")
to_chat(M, "<span class='notice'>[high_message]</span>")
M.AdjustStun(-20, 0)
M.AdjustKnockdown(-20, 0)
M.AdjustAllImmobility(-20, 0)
M.AdjustUnconscious(-20, 0)
..()
. = 1
@@ -182,8 +180,7 @@
var/high_message = pick("You feel hyper.", "You feel like you need to go faster.", "You feel like you can run the world.")
if(prob(5))
to_chat(M, "<span class='notice'>[high_message]</span>")
M.AdjustStun(-40, 0)
M.AdjustKnockdown(-40, 0)
M.AdjustAllImmobility(-40, 0)
M.AdjustUnconscious(-40, 0)
M.adjustStaminaLoss(-7.5 * REM, 0)
if(jitter)
@@ -197,7 +194,7 @@
. = 1
/datum/reagent/drug/methamphetamine/overdose_process(mob/living/M)
if(M.canmove && !ismovableatom(M.loc))
if(CHECK_MOBILITY(M, MOBILITY_MOVE) && !ismovableatom(M.loc))
for(var/i in 1 to 4)
step(M, pick(GLOB.cardinals))
if(prob(20))
@@ -224,7 +221,7 @@
..()
/datum/reagent/drug/methamphetamine/addiction_act_stage3(mob/living/M)
if(M.canmove && !ismovableatom(M.loc))
if(CHECK_MOBILITY(M, MOBILITY_MOVE) && !ismovableatom(M.loc))
for(var/i = 0, i < 4, i++)
step(M, pick(GLOB.cardinals))
M.Jitter(15)
@@ -234,7 +231,7 @@
..()
/datum/reagent/drug/methamphetamine/addiction_act_stage4(mob/living/carbon/human/M)
if(M.canmove && !ismovableatom(M.loc))
if(CHECK_MOBILITY(M, MOBILITY_MOVE) && !ismovableatom(M.loc))
for(var/i = 0, i < 8, i++)
step(M, pick(GLOB.cardinals))
M.Jitter(20)
@@ -286,7 +283,7 @@
M.adjustStaminaLoss(-5, 0)
M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 4)
M.hallucination += 5
if(M.canmove && !ismovableatom(M.loc))
if(CHECK_MOBILITY(M, MOBILITY_MOVE) && !ismovableatom(M.loc))
step(M, pick(GLOB.cardinals))
step(M, pick(GLOB.cardinals))
..()
@@ -294,7 +291,7 @@
/datum/reagent/drug/bath_salts/overdose_process(mob/living/M)
M.hallucination += 5
if(M.canmove && !ismovableatom(M.loc))
if(CHECK_MOBILITY(M, MOBILITY_MOVE) && !ismovableatom(M.loc))
for(var/i in 1 to 8)
step(M, pick(GLOB.cardinals))
if(prob(20))
@@ -305,7 +302,7 @@
/datum/reagent/drug/bath_salts/addiction_act_stage1(mob/living/M)
M.hallucination += 10
if(M.canmove && !ismovableatom(M.loc))
if(CHECK_MOBILITY(M, MOBILITY_MOVE) && !ismovableatom(M.loc))
for(var/i = 0, i < 8, i++)
step(M, pick(GLOB.cardinals))
M.Jitter(5)
@@ -316,7 +313,7 @@
/datum/reagent/drug/bath_salts/addiction_act_stage2(mob/living/M)
M.hallucination += 20
if(M.canmove && !ismovableatom(M.loc))
if(CHECK_MOBILITY(M, MOBILITY_MOVE) && !ismovableatom(M.loc))
for(var/i = 0, i < 8, i++)
step(M, pick(GLOB.cardinals))
M.Jitter(10)
@@ -328,7 +325,7 @@
/datum/reagent/drug/bath_salts/addiction_act_stage3(mob/living/M)
M.hallucination += 30
if(M.canmove && !ismovableatom(M.loc))
if(CHECK_MOBILITY(M, MOBILITY_MOVE) && !ismovableatom(M.loc))
for(var/i = 0, i < 12, i++)
step(M, pick(GLOB.cardinals))
M.Jitter(15)
@@ -340,7 +337,7 @@
/datum/reagent/drug/bath_salts/addiction_act_stage4(mob/living/carbon/human/M)
M.hallucination += 30
if(M.canmove && !ismovableatom(M.loc))
if(CHECK_MOBILITY(M, MOBILITY_MOVE) && !ismovableatom(M.loc))
for(var/i = 0, i < 16, i++)
step(M, pick(GLOB.cardinals))
M.Jitter(50)

View File

@@ -323,7 +323,7 @@
victim.blind_eyes(2)
victim.confused = max(M.confused, 3)
victim.damageoverlaytemp = 60
victim.Knockdown(80, override_hardstun = 0.1, override_stamdmg = min(reac_volume * 3, 15))
victim.DefaultCombatKnockdown(80, override_hardstun = 0.1, override_stamdmg = min(reac_volume * 3, 15))
return
else if ( eyes_covered ) // Eye cover is better than mouth cover
victim.blur_eyes(3)
@@ -336,7 +336,7 @@
victim.blind_eyes(3)
victim.confused = max(M.confused, 6)
victim.damageoverlaytemp = 75
victim.Knockdown(80, override_hardstun = 0.1, override_stamdmg = min(reac_volume * 5, 25))
victim.DefaultCombatKnockdown(80, override_hardstun = 0.1, override_stamdmg = min(reac_volume * 5, 25))
victim.update_damage_hud()
/datum/reagent/consumable/condensedcapsaicin/on_mob_life(mob/living/carbon/M)

View File

@@ -46,8 +46,7 @@
REMOVE_TRAITS_NOT_IN(M, list(SPECIES_TRAIT, ROUNDSTART_TRAIT, ORGAN_TRAIT))
M.set_blurriness(0)
M.set_blindness(0)
M.SetKnockdown(0, 0)
M.SetStun(0, 0)
M.SetAllImmobility(0, 0)
M.SetUnconscious(0, 0)
M.silent = FALSE
M.dizziness = 0
@@ -87,8 +86,7 @@
/datum/reagent/medicine/synaptizine/on_mob_life(mob/living/carbon/M)
M.drowsyness = max(M.drowsyness-5, 0)
M.AdjustStun(-20, 0)
M.AdjustKnockdown(-20, 0)
M.AdjustAllImmobility(-20, 0)
M.AdjustUnconscious(-20, 0)
if(holder.has_reagent(/datum/reagent/toxin/mindbreaker))
holder.remove_reagent(/datum/reagent/toxin/mindbreaker, 5)
@@ -637,10 +635,9 @@ datum/reagent/medicine/styptic_powder/overdose_start(mob/living/M)
pH = 12
/datum/reagent/medicine/ephedrine/on_mob_life(mob/living/carbon/M)
M.AdjustStun(-20, 0)
M.AdjustKnockdown(-20, 0)
M.AdjustUnconscious(-20, 0)
M.adjustStaminaLoss(-4.5*REM, 0)
M.AdjustAllImmobility(-20, FALSE)
M.AdjustUnconscious(-20, FALSE)
M.adjustStaminaLoss(-4.5*REM, FALSE)
M.Jitter(10)
if(prob(50))
M.confused = max(M.confused, 1)
@@ -848,8 +845,7 @@ datum/reagent/medicine/styptic_powder/overdose_start(mob/living/M)
M.adjustStaminaLoss(-0.5*REM, 0)
. = 1
if(prob(20))
M.AdjustStun(-20, 0)
M.AdjustKnockdown(-20, 0)
M.AdjustAllImmobility(-20, 0)
M.AdjustUnconscious(-20, 0)
..()
@@ -1003,21 +999,20 @@ datum/reagent/medicine/styptic_powder/overdose_start(mob/living/M)
/datum/reagent/medicine/stimulants/on_mob_life(mob/living/carbon/M)
if(M.health < 50 && M.health > 0)
M.adjustOxyLoss(-1*REM, 0)
M.adjustToxLoss(-1*REM, 0)
M.adjustBruteLoss(-1*REM, 0)
M.adjustFireLoss(-1*REM, 0)
M.AdjustStun(-60, 0)
M.AdjustKnockdown(-60, 0)
M.AdjustUnconscious(-60, 0)
M.adjustStaminaLoss(-20*REM, 0)
M.adjustOxyLoss(-1*REM, FALSE)
M.adjustToxLoss(-1*REM, FALSE)
M.adjustBruteLoss(-1*REM, FALSE)
M.adjustFireLoss(-1*REM, FALSE)
M.AdjustAllImmobility(-60, FALSE)
M.AdjustUnconscious(-60, FALSE)
M.adjustStaminaLoss(-20*REM, FALSE)
..()
. = 1
/datum/reagent/medicine/stimulants/overdose_process(mob/living/M)
if(prob(33))
M.adjustStaminaLoss(2.5*REM, 0)
M.adjustToxLoss(1*REM, 0)
M.adjustStaminaLoss(2.5*REM, FALSE)
M.adjustToxLoss(1*REM, FALSE)
M.losebreath++
. = 1
..()
@@ -1046,12 +1041,12 @@ datum/reagent/medicine/styptic_powder/overdose_start(mob/living/M)
pH = 5
/datum/reagent/medicine/bicaridine/on_mob_life(mob/living/carbon/M)
M.adjustBruteLoss(-2*REM, 0)
M.adjustBruteLoss(-2*REM, FALSE)
..()
. = 1
/datum/reagent/medicine/bicaridine/overdose_process(mob/living/M)
M.adjustBruteLoss(4*REM, 0)
M.adjustBruteLoss(4*REM, FALSE)
..()
. = 1
@@ -1064,12 +1059,12 @@ datum/reagent/medicine/styptic_powder/overdose_start(mob/living/M)
pH = 9.7
/datum/reagent/medicine/dexalin/on_mob_life(mob/living/carbon/M)
M.adjustOxyLoss(-2*REM, 0)
M.adjustOxyLoss(-2*REM, FALSE)
..()
. = 1
/datum/reagent/medicine/dexalin/overdose_process(mob/living/M)
M.adjustOxyLoss(4*REM, 0)
M.adjustOxyLoss(4*REM, FALSE)
..()
. = 1
@@ -1082,12 +1077,12 @@ datum/reagent/medicine/styptic_powder/overdose_start(mob/living/M)
pH = 9
/datum/reagent/medicine/kelotane/on_mob_life(mob/living/carbon/M)
M.adjustFireLoss(-2*REM, 0)
M.adjustFireLoss(-2*REM, FALSE)
..()
. = 1
/datum/reagent/medicine/kelotane/overdose_process(mob/living/M)
M.adjustFireLoss(4*REM, 0)
M.adjustFireLoss(4*REM, FALSE)
..()
. = 1
@@ -1101,14 +1096,14 @@ datum/reagent/medicine/styptic_powder/overdose_start(mob/living/M)
pH = 10
/datum/reagent/medicine/antitoxin/on_mob_life(mob/living/carbon/M)
M.adjustToxLoss(-2*REM, 0)
M.adjustToxLoss(-2*REM, FALSE)
for(var/datum/reagent/toxin/R in M.reagents.reagent_list)
M.reagents.remove_reagent(R.type,1)
..()
. = 1
/datum/reagent/medicine/antitoxin/overdose_process(mob/living/M)
M.adjustToxLoss(4*REM, 0) // End result is 2 toxin loss taken, because it heals 2 and then removes 4.
M.adjustToxLoss(4*REM, FALSE) // End result is 2 toxin loss taken, because it heals 2 and then removes 4.
..()
. = 1
@@ -1134,18 +1129,18 @@ datum/reagent/medicine/styptic_powder/overdose_start(mob/living/M)
/datum/reagent/medicine/tricordrazine/on_mob_life(mob/living/carbon/M)
if(prob(80))
M.adjustBruteLoss(-1*REM, 0)
M.adjustFireLoss(-1*REM, 0)
M.adjustOxyLoss(-1*REM, 0)
M.adjustToxLoss(-1*REM, 0)
M.adjustBruteLoss(-1*REM, FALSE)
M.adjustFireLoss(-1*REM, FALSE)
M.adjustOxyLoss(-1*REM, FALSE)
M.adjustToxLoss(-1*REM, FALSE)
. = 1
..()
/datum/reagent/medicine/tricordrazine/overdose_process(mob/living/M)
M.adjustToxLoss(2*REM, 0)
M.adjustOxyLoss(2*REM, 0)
M.adjustBruteLoss(2*REM, 0)
M.adjustFireLoss(2*REM, 0)
M.adjustToxLoss(2*REM, FALSE)
M.adjustOxyLoss(2*REM, FALSE)
M.adjustBruteLoss(2*REM, FALSE)
M.adjustFireLoss(2*REM, FALSE)
..()
. = 1
@@ -1157,9 +1152,9 @@ datum/reagent/medicine/styptic_powder/overdose_start(mob/living/M)
taste_description = "jelly"
/datum/reagent/medicine/regen_jelly/on_mob_life(mob/living/carbon/M)
M.adjustBruteLoss(-1.5*REM, 0)
M.adjustFireLoss(-1.5*REM, 0)
M.adjustOxyLoss(-1.5*REM, 0)
M.adjustBruteLoss(-1.5*REM, FALSE)
M.adjustFireLoss(-1.5*REM, FALSE)
M.adjustOxyLoss(-1.5*REM, FALSE)
M.adjustToxLoss(-1.5*REM, 0, TRUE) //heals TOXINLOVERs
. = 1
..()
@@ -1172,13 +1167,13 @@ datum/reagent/medicine/styptic_powder/overdose_start(mob/living/M)
pH = 11
/datum/reagent/medicine/syndicate_nanites/on_mob_life(mob/living/carbon/M)
M.adjustBruteLoss(-5*REM, 0) //A ton of healing - this is a 50 telecrystal investment.
M.adjustFireLoss(-5*REM, 0)
M.adjustOxyLoss(-15, 0)
M.adjustToxLoss(-5*REM, 0)
M.adjustBruteLoss(-5*REM, FALSE) //A ton of healing - this is a 50 telecrystal investment.
M.adjustFireLoss(-5*REM, FALSE)
M.adjustOxyLoss(-15, FALSE)
M.adjustToxLoss(-5*REM, FALSE)
M.adjustOrganLoss(ORGAN_SLOT_BRAIN, -15*REM)
M.adjustCloneLoss(-3*REM, 0)
M.adjustStaminaLoss(-25*REM,0)
M.adjustCloneLoss(-3*REM, FALSE)
M.adjustStaminaLoss(-25*REM,FALSE)
if(M.blood_volume < (BLOOD_VOLUME_NORMAL*M.blood_ratio))
M.blood_volume += 40 // blood fall out man bad
..()
@@ -1192,13 +1187,13 @@ datum/reagent/medicine/styptic_powder/overdose_start(mob/living/M)
pH = 11
/datum/reagent/medicine/lesser_syndicate_nanites/on_mob_life(mob/living/carbon/M)
M.adjustBruteLoss(-3*REM, 0) // hidden gold shh
M.adjustFireLoss(-3*REM, 0)
M.adjustOxyLoss(-15, 0)
M.adjustToxLoss(-3*REM, 0)
M.adjustBruteLoss(-3*REM, FALSE) // hidden gold shh
M.adjustFireLoss(-3*REM, FALSE)
M.adjustOxyLoss(-15, FALSE)
M.adjustToxLoss(-3*REM, FALSE)
M.adjustOrganLoss(ORGAN_SLOT_BRAIN, -15*REM)
M.adjustCloneLoss(-3*REM, 0)
M.adjustStaminaLoss(-20*REM,0)
M.adjustCloneLoss(-3*REM, FALSE)
M.adjustStaminaLoss(-20*REM,FALSE)
if(M.blood_volume < (BLOOD_VOLUME_NORMAL*M.blood_ratio))
M.blood_volume += 20 // blood fall out man bad
..()
@@ -1215,17 +1210,17 @@ datum/reagent/medicine/styptic_powder/overdose_start(mob/living/M)
pH = 11.8
/datum/reagent/medicine/neo_jelly/on_mob_life(mob/living/carbon/M)
M.adjustBruteLoss(-1.5*REM, 0)
M.adjustFireLoss(-1.5*REM, 0)
M.adjustOxyLoss(-1.5*REM, 0)
M.adjustBruteLoss(-1.5*REM, FALSE)
M.adjustFireLoss(-1.5*REM, FALSE)
M.adjustOxyLoss(-1.5*REM, FALSE)
M.adjustToxLoss(-1.5*REM, 0, TRUE) //heals TOXINLOVERs
. = 1
..()
/datum/reagent/medicine/neo_jelly/overdose_process(mob/living/M)
M.adjustOxyLoss(2.6*REM, 0)
M.adjustBruteLoss(3.5*REM, 0)
M.adjustFireLoss(3.5*REM, 0)
M.adjustOxyLoss(2.6*REM, FALSE)
M.adjustBruteLoss(3.5*REM, FALSE)
M.adjustFireLoss(3.5*REM, FALSE)
..()
. = 1
@@ -1237,13 +1232,13 @@ datum/reagent/medicine/styptic_powder/overdose_start(mob/living/M)
pH = 11
/datum/reagent/medicine/earthsblood/on_mob_life(mob/living/carbon/M)
M.adjustBruteLoss(-3 * REM, 0)
M.adjustFireLoss(-3 * REM, 0)
M.adjustOxyLoss(-15 * REM, 0)
M.adjustToxLoss(-3 * REM, 0, TRUE) //Heals TOXINLOVERS
M.adjustBruteLoss(-3 * REM, FALSE)
M.adjustFireLoss(-3 * REM, FALSE)
M.adjustOxyLoss(-15 * REM, FALSE)
M.adjustToxLoss(-3 * REM, FALSE, TRUE) //Heals TOXINLOVERS
M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 2 * REM, 150) //This does, after all, come from ambrosia, and the most powerful ambrosia in existence, at that!
M.adjustCloneLoss(-1 * REM, 0)
M.adjustStaminaLoss(-13 * REM, 0)
M.adjustCloneLoss(-1 * REM, FALSE)
M.adjustStaminaLoss(-13 * REM, FALSE)
M.jitteriness = min(max(0, M.jitteriness + 3), 30)
M.druggy = min(max(0, M.druggy + 10), 15) //See above
..()
@@ -1251,7 +1246,7 @@ datum/reagent/medicine/styptic_powder/overdose_start(mob/living/M)
/datum/reagent/medicine/earthsblood/overdose_process(mob/living/M)
M.hallucination = min(max(0, M.hallucination + 5), 60)
M.adjustToxLoss(8 * REM, 0, TRUE) //Hurts TOXINLOVERS
M.adjustToxLoss(8 * REM, FALSE, TRUE) //Hurts TOXINLOVERS
..()
. = 1
@@ -1306,8 +1301,7 @@ datum/reagent/medicine/styptic_powder/overdose_start(mob/living/M)
/datum/reagent/medicine/changelingadrenaline/on_mob_life(mob/living/carbon/M as mob)
M.AdjustUnconscious(-20, 0)
M.AdjustStun(-20, 0)
M.AdjustKnockdown(-20, 0)
M.AdjustAllImmobility(-20, 0)
M.AdjustSleeping(-20, 0)
M.adjustStaminaLoss(-30, 0)
..()
@@ -1390,8 +1384,7 @@ datum/reagent/medicine/styptic_powder/overdose_start(mob/living/M)
/datum/reagent/medicine/modafinil/on_mob_life(mob/living/carbon/M)
if(!overdosed) // We do not want any effects on OD
overdose_threshold = overdose_threshold + rand(-10,10)/10 // for extra fun
M.AdjustStun(-5, 0)
M.AdjustKnockdown(-5, 0)
M.AdjustAllImmobility(-5, 0)
M.AdjustUnconscious(-5, 0)
M.adjustStaminaLoss(-1*REM, 0)
M.Jitter(1)
@@ -1423,7 +1416,7 @@ datum/reagent/medicine/styptic_powder/overdose_start(mob/living/M)
if(prob(20))
to_chat(M, "You have a sudden fit!")
M.emote("moan")
M.Knockdown(20, 1, 0) // you should be in a bad spot at this point unless epipen has been used
M.DefaultCombatKnockdown(20, 1, 0) // you should be in a bad spot at this point unless epipen has been used
if(81)
to_chat(M, "You feel too exhausted to continue!") // at this point you will eventually die unless you get charcoal
M.adjustOxyLoss(0.1*REM, 0)

View File

@@ -391,22 +391,21 @@
/datum/reagent/fuel/unholywater/on_mob_life(mob/living/carbon/M)
if(iscultist(M))
M.drowsyness = max(M.drowsyness-5, 0)
M.AdjustUnconscious(-20, 0)
M.AdjustStun(-40, 0)
M.AdjustKnockdown(-40, 0)
M.adjustStaminaLoss(-10, 0)
M.adjustToxLoss(-2, 0, TRUE)
M.adjustOxyLoss(-2, 0)
M.adjustBruteLoss(-2, 0)
M.adjustFireLoss(-2, 0)
M.AdjustUnconscious(-20, FALSE)
M.AdjustAllImmobility(-40, FALSE)
M.adjustStaminaLoss(-10, FALSE)
M.adjustToxLoss(-2, FALSE, TRUE)
M.adjustOxyLoss(-2, FALSE)
M.adjustBruteLoss(-2, FALSE)
M.adjustFireLoss(-2, FALSE)
if(ishuman(M) && M.blood_volume < (BLOOD_VOLUME_NORMAL*M.blood_ratio))
M.blood_volume += 3
else // Will deal about 90 damage when 50 units are thrown
M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 3, 150)
M.adjustToxLoss(2, 0)
M.adjustFireLoss(2, 0)
M.adjustOxyLoss(2, 0)
M.adjustBruteLoss(2, 0)
M.adjustToxLoss(2, FALSE)
M.adjustFireLoss(2, FALSE)
M.adjustOxyLoss(2, FALSE)
M.adjustBruteLoss(2, FALSE)
holder.remove_reagent(type, 1)
return TRUE
@@ -418,8 +417,8 @@
/datum/reagent/hellwater/on_mob_life(mob/living/carbon/M)
M.fire_stacks = min(5,M.fire_stacks + 3)
M.IgniteMob() //Only problem with igniting people is currently the commonly availible fire suits make you immune to being on fire
M.adjustToxLoss(1, 0)
M.adjustFireLoss(1, 0) //Hence the other damages... ain't I a bastard?
M.adjustToxLoss(1, FALSE)
M.adjustFireLoss(1, FALSE) //Hence the other damages... ain't I a bastard?
M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 5, 150)
holder.remove_reagent(type, 1)
pH = 0.1
@@ -432,23 +431,23 @@
/datum/reagent/fuel/holyoil/on_mob_life(mob/living/carbon/M)
if(is_servant_of_ratvar(M))
M.drowsyness = max(M.drowsyness-5, 0)
M.AdjustUnconscious(-60, 0)
M.AdjustStun(-30, 0)
M.AdjustKnockdown(-70, 0)
M.adjustStaminaLoss(-15, 0)
M.adjustToxLoss(-5, 0, TRUE)
M.adjustOxyLoss(-3, 0)
M.adjustBruteLoss(-3, 0)
M.adjustFireLoss(-5, 0)
M.AdjustUnconscious(-60, FALSE)
M.AdjustAllImmobility(-30, FALSE)
M.AdjustKnockdown(-40, FALSE)
M.adjustStaminaLoss(-15, FALSE)
M.adjustToxLoss(-5, FALSE, TRUE)
M.adjustOxyLoss(-3, FALSE)
M.adjustBruteLoss(-3, FALSE)
M.adjustFireLoss(-5, FALSE)
if(iscultist(M))
M.AdjustUnconscious(1, 0)
M.AdjustStun(10, 0)
M.AdjustKnockdown(20, 0)
M.adjustStaminaLoss(15, 0)
M.AdjustUnconscious(1, FALSE)
M.AdjustAllImmobility(10, FALSE)
M.AdjustKnockdown(10, FALSE)
M.adjustStaminaLoss(15, FALSE)
else
M.adjustToxLoss(3, 0)
M.adjustOxyLoss(2, 0)
M.adjustStaminaLoss(10, 0)
M.adjustToxLoss(3, FALSE)
M.adjustOxyLoss(2, FALSE)
M.adjustStaminaLoss(10, FALSE)
holder.remove_reagent(type, 1)
return TRUE
@@ -601,7 +600,7 @@
return
to_chat(H, "<span class='warning'><b>You crumple in agony as your flesh wildly morphs into new forms!</b></span>")
H.visible_message("<b>[H]</b> falls to the ground and screams as [H.p_their()] skin bubbles and froths!") //'froths' sounds painful when used with SKIN.
H.Knockdown(60)
H.DefaultCombatKnockdown(60)
addtimer(CALLBACK(src, .proc/mutate, H), 30)
return
@@ -907,7 +906,7 @@
taste_mult = 0 // apparently tasteless.
/datum/reagent/mercury/on_mob_life(mob/living/carbon/M)
if(M.canmove && !isspaceturf(M.loc))
if(CHECK_MOBILITY(M, MOBILITY_MOVE) && !isspaceturf(M.loc))
step(M, pick(GLOB.cardinals))
if(prob(5))
M.emote(pick("twitch","drool","moan"))
@@ -987,7 +986,7 @@
pH = 11.3
/datum/reagent/lithium/on_mob_life(mob/living/carbon/M)
if(M.canmove && !isspaceturf(M.loc))
if(CHECK_MOBILITY(M, MOBILITY_MOVE) && !isspaceturf(M.loc))
step(M, pick(GLOB.cardinals))
if(prob(5))
M.emote(pick("twitch","drool","moan"))

View File

@@ -227,8 +227,7 @@
/datum/reagent/teslium/energized_jelly/on_mob_life(mob/living/carbon/M)
if(isjellyperson(M))
shock_timer = 0 //immune to shocks
M.AdjustStun(-40, 0)
M.AdjustKnockdown(-40, 0)
M.AdjustAllImmobility(-40, 0)
M.AdjustUnconscious(-40, 0)
M.adjustStaminaLoss(-2, 0)
if(isluminescent(M))

View File

@@ -539,7 +539,7 @@
var/picked_option = rand(1,3)
switch(picked_option)
if(1)
C.Knockdown(60, 0)
C.DefaultCombatKnockdown(60, 0)
. = TRUE
if(2)
C.losebreath += 10
@@ -678,7 +678,7 @@
/datum/reagent/toxin/curare/on_mob_life(mob/living/carbon/M)
if(current_cycle >= 11)
M.Knockdown(60, 0)
M.DefaultCombatKnockdown(60, 0)
M.adjustOxyLoss(1*REM, 0)
. = 1
..()
@@ -843,7 +843,7 @@
holder.remove_reagent(type, actual_metaboliztion_rate * M.metabolism_efficiency)
M.adjustToxLoss(actual_toxpwr*REM, 0)
if(prob(10))
M.Knockdown(20, 0)
M.DefaultCombatKnockdown(20, 0)
. = 1
..()

View File

@@ -76,7 +76,7 @@
for(var/mob/living/carbon/C in get_hearers_in_view(round(multiplier/48,1),get_turf(holder.my_atom)))
if(iscultist(C))
to_chat(C, "<span class='userdanger'>The divine explosion sears you!</span>")
C.Knockdown(40)
C.DefaultCombatKnockdown(40)
C.adjust_fire_stacks(5)
C.IgniteMob()
..(holder, multiplier, T)
@@ -252,7 +252,7 @@
for(var/mob/living/carbon/C in get_hearers_in_view(range, location))
if(C.flash_act())
if(get_dist(C, location) < 4)
C.Knockdown(60)
C.DefaultCombatKnockdown(60)
else
C.Stun(100)
holder.remove_reagent(/datum/reagent/flash_powder, multiplier*3)
@@ -273,7 +273,7 @@
for(var/mob/living/carbon/C in get_hearers_in_view(range, location))
if(C.flash_act())
if(get_dist(C, location) < 4)
C.Knockdown(60)
C.DefaultCombatKnockdown(60)
else
C.Stun(100)