Renames stun effects and changes stun input values as preliminary work for changing stuns to status effects (#28524)

This commit is contained in:
Joan Lung
2017-06-18 22:03:51 -04:00
committed by Leo
parent f01f72c071
commit 2672d88800
248 changed files with 816 additions and 876 deletions

View File

@@ -18,8 +18,8 @@
#define SHAME 16
#define STUN "stun"
#define WEAKEN "weaken"
#define PARALYZE "paralize"
#define KNOCKDOWN "knockdown"
#define UNCONSCIOUS "unconscious"
#define IRRADIATE "irradiate"
#define STUTTER "stutter"
#define SLUR "slur"
@@ -29,8 +29,8 @@
//Bitflags defining which status effects could be or are inflicted on a mob
#define CANSTUN 1
#define CANWEAKEN 2
#define CANPARALYSE 4
#define CANKNOCKDOWN 2
#define CANUNCONSCIOUS 4
#define CANPUSH 8
#define IGNORESLOWDOWN 16
#define GOTTAGOFAST 32

View File

@@ -307,7 +307,7 @@ Proc for attack log creation, because really why not
drifting = 0
Uloc = user.loc
if(QDELETED(user) || user.stat || user.weakened || user.stunned || (!drifting && user.loc != Uloc) || (extra_checks && !extra_checks.Invoke()))
if(QDELETED(user) || user.stat || user.knockdown || user.stun || (!drifting && user.loc != Uloc) || (extra_checks && !extra_checks.Invoke()))
. = 0
break

View File

@@ -15,7 +15,7 @@
if(call(client.click_intercept,"InterceptClickOn")(src,params,A))
return
if(stat || lockcharge || weakened || stunned || paralysis)
if(stat || lockcharge || knockdown || stun || unconscious)
return
var/list/modifiers = params2list(params)

View File

@@ -348,7 +348,7 @@
/obj/screen/storage/Click(location, control, params)
if(world.time <= usr.next_move)
return 1
if(usr.stat || usr.paralysis || usr.stunned || usr.weakened)
if(usr.stat || usr.unconscious || usr.stun || usr.knockdown)
return 1
if (istype(usr.loc,/obj/mecha)) // stops inventory actions in a mech
return 1

View File

@@ -1,5 +1,5 @@
#define AB_CHECK_RESTRAINED 1
#define AB_CHECK_STUNNED 2
#define AB_CHECK_STUN 2
#define AB_CHECK_LYING 4
#define AB_CHECK_CONSCIOUS 8
@@ -72,8 +72,8 @@
if(check_flags & AB_CHECK_RESTRAINED)
if(owner.restrained())
return 0
if(check_flags & AB_CHECK_STUNNED)
if(owner.stunned || owner.weakened)
if(check_flags & AB_CHECK_STUN)
if(owner.stun || owner.knockdown)
return 0
if(check_flags & AB_CHECK_LYING)
if(owner.lying)
@@ -117,7 +117,7 @@
//Presets for item actions
/datum/action/item_action
check_flags = AB_CHECK_RESTRAINED|AB_CHECK_STUNNED|AB_CHECK_LYING|AB_CHECK_CONSCIOUS
check_flags = AB_CHECK_RESTRAINED|AB_CHECK_STUN|AB_CHECK_LYING|AB_CHECK_CONSCIOUS
button_icon_state = null
// If you want to override the normal icon being the item
// then change this to an icon state

View File

@@ -125,4 +125,4 @@ Bonus
if(12 to 24)
M.drowsyness += 1
if(24 to INFINITY)
M.Sleeping(2, 0)
M.Sleeping(40, 0)

View File

@@ -40,5 +40,5 @@ Bonus
M.adjustStaminaLoss(30)
if(M.getStaminaLoss() > 60 && !M.stat)
M.visible_message("<span class='warning'>[M] faints!</span>", "<span class='userdanger'>You swoon and faint...</span>")
M.AdjustSleeping(5)
M.AdjustSleeping(100)
return

View File

@@ -27,7 +27,7 @@
A.update_icon()
if(prob(3))
to_chat(affected_mob, "<span class='warning'>You feel a stabbing pain in your abdomen!</span>")
affected_mob.Stun(rand(2,3))
affected_mob.Stun(rand(40,60))
affected_mob.adjustToxLoss(1)
if(3)
if(prob(1))

View File

@@ -50,7 +50,7 @@
if(prob(3))
to_chat(affected_mob, "<span class='danger'>You lose consciousness...</span>")
affected_mob.visible_message("<span class='warning'>[affected_mob] suddenly collapses</span>")
affected_mob.Paralyse(rand(5,10))
affected_mob.Unconscious(rand(100,200))
if(prob(1))
affected_mob.emote("snore")
if(prob(15))

View File

@@ -52,7 +52,7 @@
to_chat(affected_mob, "You feel very strange.")
if (prob(4))
to_chat(affected_mob, "<span class='danger'>You feel a stabbing pain in your head!</span>")
affected_mob.Paralyse(2)
affected_mob.Unconscious(40)
if (prob(4))
to_chat(affected_mob, "<span class='danger'>Your stomach churns.</span>")
if(3)

View File

@@ -138,7 +138,7 @@
affected_mob.say(pick("Beep, boop", "beep, beep!", "Boop...bop"))
if (prob(4))
to_chat(affected_mob, "<span class='danger'>You feel a stabbing pain in your head.</span>")
affected_mob.Paralyse(2)
affected_mob.Unconscious(40)
if(4)
if (prob(20))
affected_mob.say(pick("beep, beep!", "Boop bop boop beep.", "kkkiiiill mmme", "I wwwaaannntt tttoo dddiiieeee..."))
@@ -167,7 +167,7 @@
if(3)
if (prob(4))
to_chat(affected_mob, "<span class='danger'>You feel a stabbing pain in your head.</span>")
affected_mob.Paralyse(2)
affected_mob.Unconscious(40)
if(4)
if (prob(20))
affected_mob.say(pick("You look delicious.", "Going to... devour you...", "Hsssshhhhh!"))

View File

@@ -41,7 +41,7 @@
if(prob(10))
affected_mob.adjustStaminaLoss(100)
affected_mob.visible_message("<span class='warning'>[affected_mob] faints!</span>", "<span class='userdanger'>You surrender yourself and feel at peace...</span>")
affected_mob.AdjustSleeping(5)
affected_mob.AdjustSleeping(100)
if(prob(2))
to_chat(affected_mob, "<span class='userdanger'>You feel your mind relax and your thoughts drift!</span>")
affected_mob.confused = min(100, affected_mob.confused + 8)

View File

@@ -68,9 +68,9 @@
add_logs(A, D, "punched")
if((D.stat != DEAD) && damage >= A.dna.species.punchstunthreshold)
D.visible_message("<span class='danger'>[A] has weakened [D]!!</span>", \
"<span class='userdanger'>[A] has weakened [D]!</span>")
D.apply_effect(4, WEAKEN, armor_block)
D.visible_message("<span class='danger'>[A] has knocked [D] down!!</span>", \
"<span class='userdanger'>[A] has knocked [D] down!</span>")
D.apply_effect(40, KNOCKDOWN, armor_block)
D.forcesay(GLOB.hit_appends)
else if(D.lying)
D.forcesay(GLOB.hit_appends)

View File

@@ -39,8 +39,8 @@
if((D.stat != DEAD) && prob(knockout_prob))
D.visible_message("<span class='danger'>[A] has knocked [D] out with a haymaker!</span>", \
"<span class='userdanger'>[A] has knocked [D] out with a haymaker!</span>")
D.apply_effect(10,WEAKEN,armor_block)
D.SetSleeping(5)
D.apply_effect(200,KNOCKDOWN,armor_block)
D.SetSleeping(100)
D.forcesay(GLOB.hit_appends)
add_logs(A, D, "knocked out (boxing) ")
else if(D.lying)

View File

@@ -35,17 +35,17 @@
return 0
/datum/martial_art/cqc/proc/Slam(mob/living/carbon/human/A, mob/living/carbon/human/D)
if(!D.stat || !D.weakened)
if(!D.stat || !D.knockdown)
D.visible_message("<span class='warning'>[A] slams [D] into the ground!</span>", \
"<span class='userdanger'>[A] slams you into the ground!</span>")
playsound(get_turf(A), 'sound/weapons/slam.ogg', 50, 1, -1)
D.apply_damage(10, BRUTE)
D.Weaken(6)
D.Knockdown(120)
add_logs(A, D, "cqc slammed")
return 1
/datum/martial_art/cqc/proc/Kick(mob/living/carbon/human/A, mob/living/carbon/human/D)
if(!D.stat || !D.weakened)
if(!D.stat || !D.knockdown)
D.visible_message("<span class='warning'>[A] kicks [D] back!</span>", \
"<span class='userdanger'>[A] kicks you back!</span>")
playsound(get_turf(A), 'sound/weapons/cqchit1.ogg', 50, 1, -1)
@@ -53,11 +53,11 @@
D.throw_at(throw_target, 1, 14, A)
D.apply_damage(10, BRUTE)
add_logs(A, D, "cqc kicked")
if(D.weakened && !D.stat)
if(D.knockdown && !D.stat)
D.visible_message("<span class='warning'>[A] kicks [D]'s head, knocking them out!</span>", \
"<span class='userdanger'>[A] kicks your head, knocking you out!</span>")
playsound(get_turf(A), 'sound/weapons/genhit1.ogg', 50, 1, -1)
D.SetSleeping(15)
D.SetSleeping(300)
D.adjustBrainLoss(25)
return 1
@@ -74,7 +74,7 @@
D.visible_message("<span class='warning'>[A] locks [D] into a restraining position!</span>", \
"<span class='userdanger'>[A] locks you into a restraining position!</span>")
D.adjustStaminaLoss(20)
D.Stun(5)
D.Stun(100)
restraining = 1
addtimer(CALLBACK(src, .proc/drop_restraining), 50, TIMER_UNIQUE)
return 1
@@ -114,7 +114,7 @@
A.do_attack_animation(D)
var/picked_hit_type = pick("CQC'd", "Big Bossed")
var/bonus_damage = 13
if(D.weakened || D.resting || D.lying)
if(D.knockdown || D.resting || D.lying)
bonus_damage += 5
picked_hit_type = "stomps on"
D.apply_damage(bonus_damage, BRUTE)
@@ -125,12 +125,12 @@
D.visible_message("<span class='danger'>[A] [picked_hit_type] [D]!</span>", \
"<span class='userdanger'>[A] [picked_hit_type] you!</span>")
add_logs(A, D, "[picked_hit_type] with CQC")
if(A.resting && !D.stat && !D.weakened)
if(A.resting && !D.stat && !D.knockdown)
D.visible_message("<span class='warning'>[A] leg sweeps [D]!", \
"<span class='userdanger'>[A] leg sweeps you!</span>")
playsound(get_turf(A), 'sound/effects/hit_kick.ogg', 50, 1, -1)
D.apply_damage(10, BRUTE)
D.Weaken(3)
D.Knockdown(60)
add_logs(A, D, "cqc sweeped")
return 1
@@ -140,7 +140,7 @@
if(check_streak(A,D))
return 1
if(prob(65))
if(!D.stat || !D.weakened || !restraining)
if(!D.stat || !D.knockdown || !restraining)
I = D.get_active_held_item()
D.visible_message("<span class='warning'>[A] strikes [D]'s jaw with their hand!</span>", \
"<span class='userdanger'>[A] strikes your jaw, disorienting you!</span>")
@@ -157,7 +157,7 @@
if(restraining && A.pulling == D)
D.visible_message("<span class='danger'>[A] puts [D] into a chokehold!</span>", \
"<span class='userdanger'>[A] puts you into a chokehold!</span>")
D.SetSleeping(20)
D.SetSleeping(400)
restraining = 0
if(A.grab_state < GRAB_NECK)
A.grab_state = GRAB_NECK
@@ -173,8 +173,8 @@
to_chat(usr, "<b><i>You try to remember some of the basics of CQC.</i></b>")
to_chat(usr, "<span class='notice'>Slam</span>: Grab Harm. Slam opponent into the ground, weakens and knocks down.")
to_chat(usr, "<span class='notice'>CQC Kick</span>: Harm Disarm Harm. Knocks opponent away. Knocks out stunned or weakened opponents.")
to_chat(usr, "<span class='notice'>Slam</span>: Grab Harm. Slam opponent into the ground, knocking them down.")
to_chat(usr, "<span class='notice'>CQC Kick</span>: Harm Disarm Harm. Knocks opponent away. Knocks out stunned or knocked down opponents.")
to_chat(usr, "<span class='notice'>Restrain</span>: Grab Grab. Locks opponents into a restraining position, disarm to knock them out with a choke hold.")
to_chat(usr, "<span class='notice'>Pressure</span>: Disarm Grab. Decent stamina damage.")
to_chat(usr, "<span class='notice'>Consecutive CQC</span>: Disarm Disarm Harm. Mainly offensive move, huge damage and decent stamina damage.")

View File

@@ -84,13 +84,13 @@
return 0
/datum/martial_art/krav_maga/proc/leg_sweep(var/mob/living/carbon/human/A, var/mob/living/carbon/human/D)
if(D.stat || D.weakened)
if(D.stat || D.knockdown)
return 0
D.visible_message("<span class='warning'>[A] leg sweeps [D]!</span>", \
"<span class='userdanger'>[A] leg sweeps you!</span>")
playsound(get_turf(A), 'sound/effects/hit_kick.ogg', 50, 1, -1)
D.apply_damage(5, BRUTE)
D.Weaken(2)
D.Knockdown(40)
add_logs(A, D, "leg sweeped")
return 1
@@ -126,7 +126,7 @@
add_logs(A, D, "punched")
var/picked_hit_type = pick("punches", "kicks")
var/bonus_damage = 10
if(D.weakened || D.resting || D.lying)
if(D.knockdown || D.resting || D.lying)
bonus_damage += 5
picked_hit_type = "stomps on"
D.apply_damage(bonus_damage, BRUTE)

View File

@@ -35,7 +35,7 @@
return 0
/datum/martial_art/the_sleeping_carp/proc/wristWrench(mob/living/carbon/human/A, mob/living/carbon/human/D)
if(!D.stat && !D.stunned && !D.weakened)
if(!D.stat && !D.stun && !D.knockdown)
A.do_attack_animation(D, ATTACK_EFFECT_PUNCH)
D.visible_message("<span class='warning'>[A] grabs [D]'s wrist and wrenches it sideways!</span>", \
"<span class='userdanger'>[A] grabs your wrist and violently wrenches it to the side!</span>")
@@ -43,51 +43,51 @@
D.emote("scream")
D.drop_item()
D.apply_damage(5, BRUTE, pick("l_arm", "r_arm"))
D.Stun(3)
D.Stun(60)
return 1
add_logs(A, D, "wrist wrenched (Sleeping Carp)")
return basic_hit(A,D)
/datum/martial_art/the_sleeping_carp/proc/backKick(mob/living/carbon/human/A, mob/living/carbon/human/D)
if(A.dir == D.dir && !D.stat && !D.weakened)
if(A.dir == D.dir && !D.stat && !D.knockdown)
A.do_attack_animation(D, ATTACK_EFFECT_PUNCH)
D.visible_message("<span class='warning'>[A] kicks [D] in the back!</span>", \
"<span class='userdanger'>[A] kicks you in the back, making you stumble and fall!</span>")
step_to(D,get_step(D,D.dir),1)
D.Weaken(4)
D.Knockdown(80)
playsound(get_turf(D), 'sound/weapons/punch1.ogg', 50, 1, -1)
return 1
add_logs(A, D, "back-kicked (Sleeping Carp)")
return basic_hit(A,D)
/datum/martial_art/the_sleeping_carp/proc/kneeStomach(mob/living/carbon/human/A, mob/living/carbon/human/D)
if(!D.stat && !D.weakened)
if(!D.stat && !D.knockdown)
A.do_attack_animation(D, ATTACK_EFFECT_KICK)
D.visible_message("<span class='warning'>[A] knees [D] in the stomach!</span>", \
"<span class='userdanger'>[A] winds you with a knee in the stomach!</span>")
D.audible_message("<b>[D]</b> gags!")
D.losebreath += 3
D.Stun(2)
D.Stun(40)
playsound(get_turf(D), 'sound/weapons/punch1.ogg', 50, 1, -1)
return 1
add_logs(A, D, "stomach kneed (Sleeping Carp)")
return basic_hit(A,D)
/datum/martial_art/the_sleeping_carp/proc/headKick(mob/living/carbon/human/A, mob/living/carbon/human/D)
if(!D.stat && !D.weakened)
if(!D.stat && !D.knockdown)
A.do_attack_animation(D, ATTACK_EFFECT_KICK)
D.visible_message("<span class='warning'>[A] kicks [D] in the head!</span>", \
"<span class='userdanger'>[A] kicks you in the jaw!</span>")
D.apply_damage(20, BRUTE, "head")
D.drop_item()
playsound(get_turf(D), 'sound/weapons/punch1.ogg', 50, 1, -1)
D.Stun(4)
D.Stun(80)
return 1
add_logs(A, D, "head kicked (Sleeping Carp)")
return basic_hit(A,D)
/datum/martial_art/the_sleeping_carp/proc/elbowDrop(mob/living/carbon/human/A, mob/living/carbon/human/D)
if(D.weakened || D.resting || D.stat)
if(D.knockdown || D.resting || D.stat)
A.do_attack_animation(D, ATTACK_EFFECT_PUNCH)
D.visible_message("<span class='warning'>[A] elbow drops [D]!</span>", \
"<span class='userdanger'>[A] piledrives you with their elbow!</span>")
@@ -130,7 +130,7 @@
playsound(get_turf(D), 'sound/weapons/punch1.ogg', 25, 1, -1)
if(prob(D.getBruteLoss()) && !D.lying)
D.visible_message("<span class='warning'>[D] stumbles and falls!</span>", "<span class='userdanger'>The blow sends you to the ground!</span>")
D.Weaken(4)
D.Knockdown(80)
add_logs(A, D, "[atk_verb] (Sleeping Carp)")
return 1
@@ -196,7 +196,7 @@
add_fingerprint(user)
if((CLUMSY in user.disabilities) && prob(50))
to_chat(user, "<span class ='warning'>You club yourself over the head with [src].</span>")
user.Weaken(3)
user.Knockdown(60)
if(ishuman(user))
var/mob/living/carbon/human/H = user
H.apply_damage(2*force, BRUTE, "head")
@@ -230,13 +230,13 @@
if(prob(10))
H.visible_message("<span class='warning'>[H] collapses!</span>", \
"<span class='userdanger'>Your legs give out!</span>")
H.Weaken(4)
H.Knockdown(80)
if(H.staminaloss && !H.sleeping)
var/total_health = (H.health - H.staminaloss)
if(total_health <= HEALTH_THRESHOLD_CRIT && !H.stat)
H.visible_message("<span class='warning'>[user] delivers a heavy hit to [H]'s head, knocking them out cold!</span>", \
"<span class='userdanger'>[user] knocks you unconscious!</span>")
H.SetSleeping(30)
H.SetSleeping(600)
H.adjustBrainLoss(25)
else
return ..()

View File

@@ -134,7 +134,7 @@
D.forceMove(A.loc)
D.setDir(get_dir(D, A))
D.Stun(4)
D.Stun(80)
A.visible_message("<span class = 'danger'><B>[A] starts spinning around with [D]!</B></span>")
A.emote("scream")
@@ -192,7 +192,7 @@
if (T && isturf(T))
if (!D.stat)
D.emote("scream")
D.throw_at(T, 10, 4, callback = CALLBACK(D, /mob/living/carbon/human/.Weaken, 2))
D.throw_at(T, 10, 4, callback = CALLBACK(D, /mob/living/carbon/human/.Knockdown, 20))
add_logs(A, D, "has thrown with wrestling")
return 0
@@ -288,8 +288,7 @@
playsound(A.loc, "swing_hit", 50, 1)
if (!D.stat)
D.emote("scream")
D.weakened += 2
D.stunned += 2
D.Knockdown(40)
switch(rand(1,3))
if (2)
@@ -331,7 +330,7 @@
A.visible_message("<span class = 'danger'><b>[A] headbutts [D]!</b></span>")
D.adjustBruteLoss(rand(10,20))
playsound(A.loc, "swing_hit", 50, 1)
D.Paralyse(1)
D.Unconscious(20)
add_logs(A, D, "headbutted")
/datum/martial_art/wrestling/proc/kick(mob/living/carbon/human/A, mob/living/carbon/human/D)
@@ -347,7 +346,7 @@
var/turf/T = get_edge_target_turf(A, get_dir(A, get_step_away(D, A)))
if (T && isturf(T))
D.Weaken(1)
D.Knockdown(20)
D.throw_at(T, 3, 2)
add_logs(A, D, "roundhouse-kicked")
@@ -383,7 +382,7 @@
if (falling == 1)
A.visible_message("<span class = 'danger'><B>...and dives head-first into the ground, ouch!</b></span>")
A.adjustBruteLoss(rand(10,20))
A.Weaken(3)
A.Knockdown(60)
to_chat(A, "[D] is too far away!")
return 0
@@ -412,8 +411,7 @@
else
D.adjustBruteLoss(rand(20,30))
D.Weaken(1)
D.Stun(2)
D.Knockdown(40)
A.pixel_y = 0
@@ -437,7 +435,7 @@
A.start_pulling(D)
D.visible_message("<span class='danger'>[A] gets [D] in a cinch!</span>", \
"<span class='userdanger'>[A] gets [D] in a cinch!</span>")
D.Stun(rand(3,5))
D.Stun(rand(60,100))
add_logs(A, D, "cinched")
return 1

View File

@@ -126,7 +126,7 @@ GLOBAL_LIST_EMPTY(mutations_list)
/datum/mutation/human/hulk/on_acquiring(mob/living/carbon/human/owner)
if(..())
return
var/status = CANSTUN | CANWEAKEN | CANPARALYSE | CANPUSH
var/status = CANSTUN | CANKNOCKDOWN | CANUNCONSCIOUS | CANPUSH
owner.status_flags &= ~status
owner.update_body_parts()
@@ -142,7 +142,7 @@ GLOBAL_LIST_EMPTY(mutations_list)
/datum/mutation/human/hulk/on_losing(mob/living/carbon/human/owner)
if(..())
return
owner.status_flags |= CANSTUN | CANWEAKEN | CANPARALYSE | CANPUSH
owner.status_flags |= CANSTUN | CANKNOCKDOWN | CANUNCONSCIOUS | CANPUSH
owner.update_body_parts()
/datum/mutation/human/hulk/say_mod(message)
@@ -233,9 +233,9 @@ GLOBAL_LIST_EMPTY(mutations_list)
text_gain_indication = "<span class='danger'>You get a headache.</span>"
/datum/mutation/human/epilepsy/on_life(mob/living/carbon/human/owner)
if(prob(1) && !owner.paralysis)
if(prob(1) && !owner.unconscious)
owner.visible_message("<span class='danger'>[owner] starts having a seizure!</span>", "<span class='userdanger'>You have a seizure!</span>")
owner.Paralyse(10)
owner.Unconscious(200)
owner.Jitter(1000)
addtimer(CALLBACK(src, .proc/jitter_less, owner), 90)
@@ -269,7 +269,7 @@ GLOBAL_LIST_EMPTY(mutations_list)
text_gain_indication = "<span class='danger'>You start coughing.</span>"
/datum/mutation/human/cough/on_life(mob/living/carbon/human/owner)
if((prob(5) && owner.paralysis <= 1))
if((prob(5) && owner.unconscious <= 1))
owner.drop_item()
owner.emote("cough")
@@ -317,8 +317,8 @@ GLOBAL_LIST_EMPTY(mutations_list)
text_gain_indication = "<span class='danger'>You twitch.</span>"
/datum/mutation/human/tourettes/on_life(mob/living/carbon/human/owner)
if((prob(10) && owner.paralysis <= 1))
owner.Stun(10)
if((prob(10) && owner.unconscious <= 1))
owner.Stun(200)
switch(rand(1, 3))
if(1)
owner.emote("twitch")

View File

@@ -333,8 +333,7 @@
/datum/riding/human/force_dismount(mob/living/user)
ridden.unbuckle_mob(user)
user.Weaken(3)
user.Stun(3)
user.Knockdown(60)
user.visible_message("<span class='warning'>[ridden] pushes [user] off of them!</span>")
/datum/riding/cyborg
@@ -389,7 +388,7 @@
M.Move(targetm)
M.visible_message("<span class='warning'>[M] is thrown clear of [ridden]!</span>")
M.throw_at(target, 14, 5, ridden)
M.Weaken(3)
M.Knockdown(60)
/datum/riding/proc/equip_buckle_inhands(mob/living/carbon/human/user, amount_required = 1)
var/amount_equipped = 0

View File

@@ -73,8 +73,8 @@
add_logs(owner, null, "gained Vanguard stun immunity")
owner.add_stun_absorption("vanguard", 200, 1, "'s yellow aura momentarily intensifies!", "Your ward absorbs the stun!", " radiating with a soft yellow light!")
owner.visible_message("<span class='warning'>[owner] begins to faintly glow!</span>", "<span class='brass'>You will absorb all stuns for the next twenty seconds.</span>")
owner.SetStunned(0, FALSE)
owner.SetWeakened(0)
owner.SetStun(0, FALSE)
owner.SetKnockdown(0)
progbar = new(owner, duration, owner)
progbar.bar.color = list("#FAE48C", "#FAE48C", "#FAE48C", rgb(0,0,0))
progbar.update(duration - world.time)
@@ -96,13 +96,12 @@
otheractiveabsorptions = TRUE
if(!GLOB.ratvar_awakens && stuns_blocked && !otheractiveabsorptions)
vanguard["end_time"] = 0 //so it doesn't absorb the stuns we're about to apply
owner.Stun(stuns_blocked)
owner.Weaken(stuns_blocked)
owner.Knockdown(stuns_blocked)
message_to_owner = "<span class='boldwarning'>The weight of the Vanguard's protection crashes down upon you!</span>"
if(stuns_blocked >= 15)
message_to_owner += "\n<span class='userdanger'>You faint from the exertion!</span>"
stuns_blocked *= 2
owner.Paralyse(stuns_blocked)
owner.Unconscious(stuns_blocked)
else
stuns_blocked = 0 //so logging is correct in cases where there were stuns blocked but we didn't stun for other reasons
owner.visible_message("<span class='warning'>[owner]'s glowing aura fades!</span>", message_to_owner)

View File

@@ -47,7 +47,7 @@
if(iscarbon(owner) && !is_servant_of_ratvar(owner) && !owner.null_rod_check() && number_legs)
if(force_damage || owner.m_intent != MOVE_INTENT_WALK)
if(GLOB.ratvar_awakens)
owner.Weaken(1)
owner.Knockdown(20)
if(iscultist(owner))
owner.apply_damage(cultist_damage_on_toggle * 0.5, BURN, "l_leg")
owner.apply_damage(cultist_damage_on_toggle * 0.5, BURN, "r_leg")
@@ -138,7 +138,7 @@
if(is_eligible_servant(owner))
to_chat(owner, "<span class='sevtug[span_part]'>\"[text2ratvar("You are mine and his, now.")]\"</span>")
add_servant_of_ratvar(owner)
owner.Paralyse(5)
owner.Unconscious(100)
else
if(prob(severity * 0.15))
to_chat(owner, "<span class='sevtug[span_part]'>\"[text2ratvar(pick(mania_messages))]\"</span>")

View File

@@ -11,9 +11,9 @@
/obj/effect/proc_holder/changeling/adrenaline/sting_action(mob/living/user)
to_chat(user, "<span class='notice'>Energy rushes through us.[user.lying ? " We arise." : ""]</span>")
user.SetSleeping(0)
user.SetParalysis(0)
user.SetStunned(0)
user.SetWeakened(0)
user.SetUnconscious(0)
user.SetStun(0)
user.SetKnockdown(0)
user.reagents.add_reagent("changelingAdrenaline", 10)
user.reagents.add_reagent("changelingAdrenaline2", 2) //For a really quick burst of speed
user.adjustStaminaLoss(-75)

View File

@@ -17,13 +17,13 @@
explosion(get_turf(user),0,0,2,0,silent=1)
for(var/mob/living/carbon/human/H in range(2,user))
to_chat(H, "<span class='userdanger'>You are blinded by a shower of blood!</span>")
H.Stun(1)
H.Stun(20)
H.blur_eyes(20)
H.adjust_eye_damage(5)
H.confused += 3
for(var/mob/living/silicon/S in range(2,user))
to_chat(S, "<span class='userdanger'>Your sensors are disabled by a shower of blood!</span>")
S.Weaken(3)
S.Knockdown(60)
var/turf = get_turf(user)
user.gib()
. = TRUE

View File

@@ -20,7 +20,7 @@
if(issilicon(M))
M << sound('sound/weapons/flash.ogg')
M.Weaken(rand(5,10))
M.Knockdown(rand(100,200))
for(var/obj/machinery/light/L in range(4, user))
L.on = 1

View File

@@ -20,7 +20,7 @@
to_chat(user, "<span class='notice'>Our muscles relax.</span>")
if(stacks >= 10)
to_chat(user, "<span class='danger'>We collapse in exhaustion.</span>")
user.Weaken(3)
user.Knockdown(60)
user.emote("gasp")
INVOKE_ASYNC(src, .proc/muscle_loop, user)
@@ -33,7 +33,7 @@
if(user.stat != CONSCIOUS || user.staminaloss >= 90)
active = !active
to_chat(user, "<span class='notice'>Our muscles relax without the energy to strengthen them.</span>")
user.Weaken(2)
user.Knockdown(40)
user.status_flags &= ~GOTTAGOFAST
break

View File

@@ -46,7 +46,7 @@
/obj/effect/clockwork/sigil/proc/sigil_effects(mob/living/L)
//Sigil of Transgression: Stuns the first non-servant to walk on it and flashes all nearby non_servants. Nar-Sian cultists are damaged and knocked down for a longer stun
//Sigil of Transgression: Stuns the first non-servant to walk on it and flashes all nearby non_servants. Nar-Sian cultists are damaged and knocked down for a longer time
/obj/effect/clockwork/sigil/transgression
name = "dull sigil"
desc = "A dull, barely-visible golden sigil. It's as though light was carved into the ground."
@@ -69,10 +69,10 @@
if(iscultist(L))
to_chat(L, "<span class='heavy_brass'>\"Watch your step, wretch.\"</span>")
L.adjustBruteLoss(10)
L.Weaken(7)
L.Knockdown(140)
L.visible_message("<span class='warning'>[src] appears around [L] in a burst of light!</span>", \
"<span class='userdanger'>[target_flashed ? "An unseen force":"The glowing sigil around you"] holds you in place!</span>")
L.Stun(5)
L.Stun(100)
new /obj/effect/temp_visual/ratvar/sigil/transgression(get_turf(src))
qdel(src)
@@ -121,8 +121,7 @@
if(is_eligible_servant(L))
to_chat(L, "<span class='heavy_brass'>\"You belong to me now.\"</span>")
add_servant_of_ratvar(L)
L.Weaken(3) //Completely defenseless for about five seconds - mainly to give them time to read over the information they've just been presented with
L.Stun(3)
L.Knockdown(60) //Completely defenseless for about five seconds - mainly to give them time to read over the information they've just been presented with
if(iscarbon(L))
var/mob/living/carbon/C = L
C.silent += 5

View File

@@ -28,7 +28,7 @@
desc = "Allows you to communicate with other Servants."
button_icon_state = "hierophant"
background_icon_state = "bg_clock"
check_flags = AB_CHECK_RESTRAINED|AB_CHECK_STUNNED|AB_CHECK_CONSCIOUS
check_flags = AB_CHECK_RESTRAINED|AB_CHECK_STUN|AB_CHECK_CONSCIOUS
buttontooltipstyle = "clockcult"
var/title = "Servant"
var/span_for_name = "heavy_brass"

View File

@@ -1,4 +1,4 @@
//Judicial visor: Grants the ability to smite an area and stun the unfaithful nearby every thirty seconds.
//Judicial visor: Grants the ability to smite an area and knocking down the unfaithful nearby every thirty seconds.
/obj/item/clothing/glasses/judicial_visor
name = "judicial visor"
desc = "A strange purple-lensed visor. Looking at it inspires an odd sense of guilt."
@@ -145,7 +145,7 @@
return TRUE
return FALSE
//Judicial marker: Created by the judicial visor. After three seconds, stuns any non-servants nearby and damages Nar-Sian cultists.
//Judicial marker: Created by the judicial visor. After three seconds, knocks down any non-Servants nearby and damages Nar-Sian cultists.
/obj/effect/clockwork/judicial_marker
name = "judicial marker"
desc = "You get the feeling that you shouldn't be standing here."
@@ -184,11 +184,11 @@
if(!iscultist(L))
L.visible_message("<span class='warning'>[L] is struck by a judicial explosion!</span>", \
"<span class='userdanger'>[!issilicon(L) ? "An unseen force slams you into the ground!" : "ERROR: Motor servos disabled by external source!"]</span>")
L.Weaken(8) //stun targets for 14-16 seconds
L.Knockdown(160) //knocks down targets for 14-16 seconds
else
L.visible_message("<span class='warning'>[L] is struck by a judicial explosion!</span>", \
"<span class='heavy_brass'>\"Keep an eye out, filth.\"</span>\n<span class='userdanger'>A burst of heat crushes you against the ground!</span>")
L.Weaken(4) //stun for 6-8 seconds, but set cultist targets on fire
L.Knockdown(80) //knocks down for 6-8 seconds, but set cultist targets on fire
L.adjust_fire_stacks(2)
L.IgniteMob()
if(iscarbon(L))

View File

@@ -50,7 +50,7 @@
if(is_servant_of_ratvar(user) || isobserver(user))
to_chat(user, "<span class='brass'>Stabbing a human you are pulling or have grabbed with the spear will impale them, doing massive damage and stunning.</span>")
if(!iscyborg(user))
to_chat(user, "<span class='brass'>Throwing the spear will do massive damage, break the spear, and stun the target.</span>")
to_chat(user, "<span class='brass'>Throwing the spear will do massive damage, break the spear, and knock down the target.</span>")
/obj/item/clockwork/ratvarian_spear/attack(mob/living/target, mob/living/carbon/human/user)
var/impaling = FALSE
@@ -97,7 +97,7 @@
attack_cooldown = world.time + initial(attack_cooldown) //can't attack until we're done impaling
if(target)
new /obj/effect/temp_visual/dir_setting/bloodsplatter(get_turf(target), get_dir(user, target))
target.Stun(2) //brief stun
target.Stun(80) //brief stun
to_chat(user, "<span class='brass'>You prepare to remove your ratvarian spear from [target]...</span>")
var/remove_verb = pick("pull", "yank", "drag")
if(do_after(user, 10, 1, target))
@@ -114,7 +114,7 @@
step(target, get_dir(user, target))
T = get_turf(target)
B.forceMove(T)
target.Weaken(2) //then weaken if we stayed next to them
target.Knockdown(40) //then knockdown if we stayed next to them
playsound(T, 'sound/weapons/thudswoosh.ogg', 50, 1)
flash_color(target, flash_color="#911414", flash_time=8)
else if(target) //it's a do_after, we gotta check again to make sure they didn't get deleted
@@ -136,11 +136,9 @@
else if(!..())
if(!L.null_rod_check())
if(issilicon(L) || iscultist(L))
L.Stun(6)
L.Weaken(6)
L.Knockdown(100)
else
L.Stun(2)
L.Weaken(2)
L.Knockdown(40)
break_spear(T)
else
..()

View File

@@ -124,8 +124,7 @@
invoker.visible_message("<span class='warning'>The tendril, covered in blood, retracts from [invoker]'s head and back into the [slab.name]!</span>", \
"<span class='userdanger'>Total agony overcomes you as the tendril is forced out early!</span>")
invoker.notransform = FALSE
invoker.Stun(5)
invoker.Weaken(5)
invoker.Knockdown(100)
invoker.apply_damage(10, BRUTE, "head")
slab.busy = null
return FALSE

View File

@@ -37,7 +37,7 @@
invocations = list("May heathens...", "...kneel under our force!")
channel_time = 30
primary_component = BELLIGERENT_EYE
quickbind_desc = "Allows you to place a Judicial Marker to stun and damage a target location.<br><b>Click your slab to disable.</b>"
quickbind_desc = "Allows you to place a Judicial Marker to knock down and damage non-Servants in an area.<br><b>Click your slab to disable.</b>"
slab_icon = "judicial"
ranged_type = /obj/effect/proc_holder/slab/judicial
ranged_message = "<span class='neovgre_small'><i>You charge the clockwork slab with judicial force.</i>\n\

View File

@@ -26,10 +26,9 @@
//Judicial Visor: Creates a judicial visor, which can smite an area.
/datum/clockwork_scripture/create_object/judicial_visor
descname = "Delayed Area Stun Glasses"
descname = "Delayed Area Knockdown Glasses"
name = "Judicial Visor"
desc = "Forms a visor that, when worn, will grant the ability to smite an area, stunning, muting, and damaging non-Servants. \
Cultists of Nar-Sie will be set on fire, though they will be stunned for half the time."
desc = "Forms a visor that, when worn, will grant the ability to smite an area, knocking down, muting, and damaging non-Servants."
invocations = list("Grant me the flames of Engine!")
channel_time = 10
consumed_components = list(BELLIGERENT_EYE = 1)
@@ -42,14 +41,14 @@
primary_component = BELLIGERENT_EYE
sort_priority = 2
quickbind = TRUE
quickbind_desc = "Creates a Judicial Visor, which can create a Judicial Marker at an area, stunning, muting, and damaging non-Servants after a delay."
quickbind_desc = "Creates a Judicial Visor, which can create a Judicial Marker at an area, knocking down, muting, and damaging non-Servants after a delay."
//Vanguard: Provides twenty seconds of stun immunity. At the end of the twenty seconds, 25% of all stuns absorbed are applied to the invoker.
/datum/clockwork_scripture/vanguard
descname = "Self Stun Immunity"
name = "Vanguard"
desc = "Provides twenty seconds of stun immunity. At the end of the twenty seconds, the invoker is stunned for the equivalent of 25% of all stuns they absorbed. \
desc = "Provides twenty seconds of stun immunity. At the end of the twenty seconds, the invoker is knocked down for the equivalent of 25% of all stuns they absorbed. \
Excessive absorption will cause unconsciousness."
invocations = list("Shield me...", "...from darkness!")
channel_time = 30
@@ -178,7 +177,7 @@
/datum/clockwork_scripture/channeled/taunting_tirade
descname = "Channeled, Mobile Confusion Trail"
name = "Taunting Tirade"
desc = "Allows movement for five seconds, leaving a confusing and weakening trail. Chanted every second for up to thirty seconds."
desc = "Allows movement for five seconds, leaving a trail that confuses and knocks down. Chanted every second for up to thirty seconds."
chant_invocations = list("Hostiles on my back!", "Enemies on my trail!", "Gonna try and shake my tail.", "Bogeys on my six!")
chant_amount = 5
chant_interval = 10
@@ -188,7 +187,7 @@
primary_component = GEIS_CAPACITOR
sort_priority = 6
quickbind = TRUE
quickbind_desc = "Allows movement for five seconds, leaving a confusing and weakening trail.<br><b>Maximum 5 chants.</b>"
quickbind_desc = "Allows movement for five seconds, leaving a trail that confuses and knocks down.<br><b>Maximum 5 chants.</b>"
var/flee_time = 47 //allow fleeing for 5 seconds
var/grace_period = 3 //very short grace period so you don't have to stop immediately
var/datum/progressbar/progbar

View File

@@ -251,7 +251,7 @@
channel_time = 20
consumed_components = list(REPLICANT_ALLOY = 2, HIEROPHANT_ANSIBLE = 1)
whispered = TRUE
usage_tip = "You can impale human targets with the spear by pulling them, then attacking. Throwing the spear at a mob will do massive damage and stun them, but break the spear."
usage_tip = "You can impale human targets with the spear by pulling them, then attacking. Throwing the spear at a mob will do massive damage and knock them down, but break the spear."
tier = SCRIPTURE_SCRIPT
primary_component = REPLICANT_ALLOY
sort_priority = 8
@@ -275,7 +275,7 @@
desc = "Allows you to summon a Ratvarian spear to fight enemies."
button_icon_state = "ratvarian_spear"
background_icon_state = "bg_clock"
check_flags = AB_CHECK_RESTRAINED|AB_CHECK_STUNNED|AB_CHECK_CONSCIOUS
check_flags = AB_CHECK_RESTRAINED|AB_CHECK_STUN|AB_CHECK_CONSCIOUS
buttontooltipstyle = "clockcult"
var/cooldown = 0
var/base_cooldown = RATVARIAN_SPEAR_DURATION

View File

@@ -88,7 +88,7 @@
for(var/m in buckled_mobs)
var/mob/living/L = m
if(L)
L.Stun(1, 1, 1)
L.Stun(20, 1, 1)
if(iscarbon(L))
var/mob/living/carbon/C = L
C.silent += 4

View File

@@ -2,7 +2,7 @@
/obj/structure/destructible/clockwork/taunting_trail
name = "strange smoke"
desc = "A cloud of purple smoke."
clockwork_desc = "A cloud of purple smoke that confuses and weakens non-Servants that enter it."
clockwork_desc = "A cloud of purple smoke that confuses and knocks down non-Servants that enter it."
gender = PLURAL
max_integrity = 5
obj_integrity = 5
@@ -58,5 +58,5 @@
L.confused = min(L.confused + 15, 50)
L.dizziness = min(L.dizziness + 15, 50)
if(L.confused >= 25)
L.Weaken(Floor(L.confused * 0.04))
L.Knockdown(Floor(L.confused * 0.8))
take_damage(max_integrity)

View File

@@ -156,7 +156,7 @@
return 0
if(cult_mind.add_antag_datum(ANTAG_DATUM_CULT))
if(stun)
cult_mind.current.Paralyse(5)
cult_mind.current.Unconscious(100)
return 1
/datum/game_mode/proc/remove_cultist(datum/mind/cult_mind, silent, stun)
@@ -167,7 +167,7 @@
cult_datum.silent = silent
cult_datum.on_removal()
if(stun)
cult_mind.current.Paralyse(5)
cult_mind.current.Unconscious(100)
return TRUE
/datum/game_mode/proc/update_cult_icons_added(datum/mind/cult_mind)

View File

@@ -4,7 +4,7 @@
/datum/action/innate/cult
background_icon_state = "bg_demon"
buttontooltipstyle = "cult"
check_flags = AB_CHECK_RESTRAINED|AB_CHECK_STUNNED|AB_CHECK_CONSCIOUS
check_flags = AB_CHECK_RESTRAINED|AB_CHECK_STUN|AB_CHECK_CONSCIOUS
/datum/action/innate/cult/IsAvailable()
if(!iscultist(owner))

View File

@@ -14,7 +14,7 @@
/obj/item/weapon/melee/cultblade/attack(mob/living/target, mob/living/carbon/human/user)
if(!iscultist(user))
user.Weaken(5)
user.Knockdown(100)
user.dropItemToGround(src, TRUE)
user.visible_message("<span class='warning'>A powerful force shoves [user] away from [target]!</span>", \
"<span class='cultlarge'>\"You shouldn't play with sharp things. You'll poke someone's eye out.\"</span>")
@@ -69,7 +69,7 @@
desc = "A strong bola, bound with dark magic. Throw it to trip and slow your victim."
icon_state = "bola_cult"
breakouttime = 45
weaken = 1
knockdown = 10
/obj/item/clothing/head/culthood
@@ -192,7 +192,7 @@
to_chat(user, "<span class='warning'>An overwhelming sense of nausea overpowers you!</span>")
user.dropItemToGround(src, TRUE)
user.Dizzy(30)
user.Weaken(5)
user.Knockdown(100)
else
to_chat(user, "<span class='cultlarge'>\"Trying to use things you don't own is bad, you know.\"</span>")
to_chat(user, "<span class='userdanger'>The armor squeezes at your body!</span>")
@@ -244,7 +244,7 @@
to_chat(user, "<span class='warning'>An overwhelming sense of nausea overpowers you!</span>")
user.dropItemToGround(src, TRUE)
user.Dizzy(30)
user.Weaken(5)
user.Knockdown(100)
else
to_chat(user, "<span class='cultlarge'>\"Trying to use things you don't own is bad, you know.\"</span>")
to_chat(user, "<span class='userdanger'>The robes squeeze at your body!</span>")
@@ -266,7 +266,7 @@
to_chat(user, "<span class='cultlarge'>\"You want to be blind, do you?\"</span>")
user.dropItemToGround(src, TRUE)
user.Dizzy(30)
user.Weaken(5)
user.Knockdown(100)
user.blind_eyes(30)
/obj/item/weapon/reagent_containers/food/drinks/bottle/unholywater
@@ -286,7 +286,7 @@
/obj/item/device/shuttle_curse/attack_self(mob/user)
if(!iscultist(user))
user.dropItemToGround(src, TRUE)
user.Weaken(5)
user.Knockdown(100)
to_chat(user, "<span class='warning'>A powerful force shoves you away from [src]!</span>")
return
if(curselimit > 1)

View File

@@ -357,7 +357,7 @@ structure_check() searches for nearby cultist structures required for the invoca
L.visible_message("<span class='warning'>[L]'s eyes glow a defiant yellow!</span>", \
"<span class='cultlarge'>\"Stop resisting. You <i>will</i> be mi-\"</span>\n\
<span class='large_brass'>\"Give up and you will feel pain unlike anything you've ever felt!\"</span>")
L.Weaken(4)
L.Knockdown(80)
else if(is_convertable)
do_convert(L, invokers)
else
@@ -615,7 +615,7 @@ structure_check() searches for nearby cultist structures required for the invoca
for(var/M in invokers)
var/mob/living/L = M
to_chat(L, "<span class='userdanger'>You chant in unison and a colossal burst of energy knocks you backward!</span>")
L.Weaken(2)
L.Knockdown(40)
qdel(src) //delete before pulsing because it's a delay reee
empulse(E, 9*invokers.len, 12*invokers.len) // Scales now, from a single room to most of the station depending on # of chanters
@@ -671,7 +671,7 @@ structure_check() searches for nearby cultist structures required for the invoca
affecting.visible_message("<span class='warning'>[affecting] slowly relaxes, the glow around [affecting.p_them()] dimming.</span>", \
"<span class='danger'>You are re-united with your physical form. [src] releases its hold over you.</span>")
affecting.remove_atom_colour(ADMIN_COLOUR_PRIORITY, RUNE_COLOR_DARKRED)
affecting.Weaken(3)
affecting.Knockdown(60)
break
if(affecting.stat == UNCONSCIOUS)
if(prob(1))

View File

@@ -169,8 +169,7 @@
target.visible_message("<span class='warning'>[target]'s holy weapon absorbs the talisman's light!</span>", \
"<span class='userdanger'>Your holy weapon absorbs the blinding light!</span>")
else
target.Weaken(10)
target.Stun(10)
target.Knockdown(200)
target.flash_act(1,1)
if(issilicon(target))
var/mob/living/silicon/S = target

View File

@@ -31,8 +31,8 @@
return 2.5 // Will take four hits with a normal toolbox to crit.
if(BANE_HARVEST)
if(istype(weapon,/obj/item/weapon/reagent_containers/food/snacks/grown/))
src.visible_message("<span class='warning'>The spirits of the harvest aid in the exorcism.</span>", "<span class='notice'>The harvest spirits are harming you.</span>")
src.Weaken(2)
visible_message("<span class='warning'>The spirits of the harvest aid in the exorcism.</span>", "<span class='notice'>The harvest spirits are harming you.</span>")
Knockdown(40)
qdel(weapon)
return 2
return 1

View File

@@ -177,7 +177,7 @@
if ("disarm")
if (!lying && !ascended) //No stealing the arch devil's pitchfork.
if (prob(5))
Paralyse(2)
Unconscious(40)
playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, 1, -1)
add_logs(M, src, "pushed")
visible_message("<span class='danger'>[M] has pushed down [src]!</span>", \

View File

@@ -178,7 +178,7 @@ GLOBAL_LIST_INIT(gang_outfit_pool, list(/obj/item/clothing/suit/jacket/leather,/
var/mob/living/carbon/carbon_mob = gangster_mind.current
carbon_mob.silent = max(carbon_mob.silent, 5)
carbon_mob.flash_act(1, 1)
gangster_mind.current.Stun(5)
gangster_mind.current.Stun(100)
if(G.is_deconvertible)
to_chat(gangster_mind.current, "<FONT size=3 color=red><B>You are now a member of the [G.name] Gang!</B></FONT>")
to_chat(gangster_mind.current, "<font color='red'>Help your bosses take over the station by claiming territory with <b>special spraycans</b> only they can provide. Simply spray on any unclaimed area of the station.</font>")
@@ -241,7 +241,7 @@ GLOBAL_LIST_INIT(gang_outfit_pool, list(/obj/item/clothing/suit/jacket/leather,/
message_admins("[ADMIN_LOOKUPFLW(gangster_mind.current)] has been borged while being a member of the [gang.name] Gang. They are no longer a gangster.")
else
if(!silent)
gangster_mind.current.Paralyse(5)
gangster_mind.current.Unconscious(100)
gangster_mind.current.visible_message("<FONT size=3><B>[gangster_mind.current] looks like they've given up the life of crime!<B></font>")
to_chat(gangster_mind.current, "<FONT size=3 color=red><B>You have been reformed! You are no longer a gangster!</B><BR>You try as hard as you can, but you can't seem to recall any of the identities of your former gangsters...</FONT>")
gangster_mind.memory = ""

View File

@@ -35,7 +35,7 @@
cooldown(G)
if(2)
new /obj/item/device/gangtool/soldier(M)
M.Paralyse(5)
M.Unconscious(100)
cooldown(G)
if(1)
to_chat(user, "<span class='warning'>This mind is resistant to recruitment!</span>")

View File

@@ -226,7 +226,7 @@
/obj/item/device/gangtool/proc/can_use(mob/living/carbon/human/user)
if(!istype(user))
return 0
if(user.restrained() || user.lying || user.stat || user.stunned || user.weakened)
if(user.restrained() || user.lying || user.stat || user.stun || user.knockdown)
return 0
if(!(src in user.contents))
return 0

View File

@@ -108,9 +108,9 @@
return
var/mob/living/carbon/human/M = loc
M.adjustStaminaLoss(-75)
M.SetParalysis(0)
M.SetStunned(0)
M.SetWeakened(0)
M.SetUnconscious(0)
M.SetStun(0)
M.SetKnockdown(0)
combat_cooldown = 0
START_PROCESSING(SSobj, src)
@@ -414,8 +414,7 @@ Congratulations! You are now trained for invasive xenobiology research!"}
user.lastattacked = L
L.lastattacker = user
L.Stun(7)
L.Weaken(7)
L.Knockdown(140)
L.apply_effect(STUTTER, 7)
L.visible_message("<span class='danger'>[user] has stunned [L] with [src]!</span>", \
@@ -429,11 +428,11 @@ Congratulations! You are now trained for invasive xenobiology research!"}
add_logs(user, L, "stunned")
/obj/item/weapon/abductor_baton/proc/SleepAttack(mob/living/L,mob/living/user)
if(L.stunned || L.sleeping)
if(L.stun || L.sleeping)
L.visible_message("<span class='danger'>[user] has induced sleep in [L] with [src]!</span>", \
"<span class='userdanger'>You suddenly feel very drowsy!</span>")
playsound(loc, 'sound/weapons/egloves.ogg', 50, 1, -1)
L.Sleeping(60)
L.Sleeping(1200)
add_logs(user, L, "put to sleep")
else
L.drowsyness += 1

View File

@@ -213,7 +213,7 @@
/obj/machinery/abductor/experiment/proc/SendBack(mob/living/carbon/human/H)
H.Sleeping(8)
H.Sleeping(160)
H.uncuff()
if(console && console.pad && console.pad.teleport_target)
H.forceMove(console.pad.teleport_target)

View File

@@ -18,7 +18,7 @@
target.forceMove(teleport_target)
new /obj/effect/temp_visual/dir_setting/ninja(get_turf(target), target.dir)
to_chat(target, "<span class='warning'>The instability of the warp leaves you disoriented!</span>")
target.Stun(3)
target.Stun(60)
/obj/machinery/abductor/pad/proc/Retrieve(mob/living/target)
flick("alien-pad", src)

View File

@@ -500,14 +500,14 @@ GLOBAL_VAR_INIT(total_borer_hosts_needed, 10)
return
if(M.has_brain_worms())
to_chat(src, "<span class='warning'>You cannot paralyze someone who is already infested!</span>")
to_chat(src, "<span class='warning'>You cannot stun someone who is already infested!</span>")
return
layer = MOB_LAYER
to_chat(src, "<span class='warning'>You focus your psychic lance on [M] and freeze their limbs with a wave of terrible dread.</span>")
to_chat(M, "<span class='userdanger'>You feel a creeping, horrible sense of dread come over you, freezing your limbs and setting your heart racing.</span>")
M.Stun(3)
M.Stun(60)
used_dominate = world.time
@@ -608,9 +608,9 @@ GLOBAL_VAR_INIT(total_borer_hosts_needed, 10)
victim.setToxLoss(0)
victim.setOxyLoss(0)
victim.setCloneLoss(0)
victim.SetParalysis(0)
victim.SetStunned(0)
victim.SetWeakened(0)
victim.SetUnconscious(0)
victim.SetStun(0)
victim.SetKnockdown(0)
victim.radiation = 0
victim.heal_overall_damage(victim.getBruteLoss(), victim.getFireLoss())
victim.reagents.clear_reagents()
@@ -766,7 +766,7 @@ GLOBAL_VAR_INIT(total_borer_hosts_needed, 10)
if("Deafness")
victim.minimumDeafTicks(20)
if("Stun")
victim.Weaken(10)
victim.Knockdown(200)
log_game("[src]/([src.ckey]) punished [victim]/([victim.ckey] with [punishment]")

View File

@@ -582,7 +582,7 @@
playsound(loc,'sound/effects/snap.ogg',50, 1, -1)
L.electrocute_act(0, src, 1, 1, 1)
if(iscyborg(L))
L.Weaken(5)
L.Knockdown(100)
qdel(src)
..()

View File

@@ -269,7 +269,7 @@
var/mob/living/carbon/carbon_mob = rev_mind.current
carbon_mob.silent = max(carbon_mob.silent, 5)
carbon_mob.flash_act(1, 1)
rev_mind.current.Stun(5)
rev_mind.current.Stun(100)
to_chat(rev_mind.current, "<span class='danger'><FONT size = 3> You are now a revolutionary! Help your cause. Do not harm your fellow freedom fighters. You can identify your comrades by the red \"R\" icons, and your leaders by the blue \"R\" icons. Help them kill the heads to win the revolution!</FONT></span>")
rev_mind.current.log_message("<font color='red'>Has been converted to the revolution!</font>", INDIVIDUAL_ATTACK_LOG)
rev_mind.special_role = "Revolutionary"
@@ -297,7 +297,7 @@
message_admins("[ADMIN_LOOKUPFLW(rev_mind.current)] has been borged while being a [remove_head ? "leader" : " member"] of the revolution.")
else
rev_mind.current.Paralyse(5)
rev_mind.current.Unconscious(100)
rev_mind.current.visible_message("[rev_mind.current] looks like they just remembered their real allegiance!",\
"<span class='danger'><FONT size = 3>You have been brainwashed! You are no longer a revolutionary! Your memory is hazy from the time you were a rebel...the only thing you remember is the name of the one who brainwashed you...</FONT></span>")
update_rev_icons_removed(rev_mind)

View File

@@ -467,7 +467,7 @@
GiveHint(target)
else if(is_pointed(I))
to_chat(target, "<span class='userdanger'>You feel a stabbing pain in [parse_zone(user.zone_selected)]!</span>")
target.Weaken(2)
target.Knockdown(40)
GiveHint(target)
else if(istype(I,/obj/item/weapon/bikehorn))
to_chat(target, "<span class='userdanger'>HONK</span>")

View File

@@ -46,7 +46,7 @@
/obj/item/device/soulstone/attack(mob/living/carbon/human/M, mob/user)
if(!iscultist(user) && !iswizard(user) && !usability)
user.Paralyse(5)
user.Unconscious(100)
to_chat(user, "<span class='userdanger'>Your body is wracked with debilitating pain!</span>")
return
if(spent)
@@ -67,7 +67,7 @@
if(!in_range(src, user))
return
if(!iscultist(user) && !iswizard(user) && !usability)
user.Paralyse(5)
user.Unconscious(100)
to_chat(user, "<span class='userdanger'>Your body is wracked with debilitating pain!</span>")
return
release_shades(user)

View File

@@ -841,7 +841,7 @@
/obj/item/weapon/spellbook/oneuse/forcewall/recoil(mob/user)
..()
to_chat(user,"<span class='warning'>You suddenly feel very solid!</span>")
user.Stun(2)
user.Stun(40)
user.petrify(30)
/obj/item/weapon/spellbook/oneuse/knock
@@ -853,7 +853,7 @@
/obj/item/weapon/spellbook/oneuse/knock/recoil(mob/user)
..()
to_chat(user,"<span class='warning'>You're knocked down!</span>")
user.Weaken(20)
user.Knockdown(40)
/obj/item/weapon/spellbook/oneuse/barnyard
spell = /obj/effect/proc_holder/spell/targeted/barnyardcurse

View File

@@ -205,7 +205,7 @@
//Get the clone body ready
maim_clone(H)
check_brine() // put in chemicals NOW to stop death via cardiac arrest
H.Paralyse(4)
H.Unconscious(80)
clonemind.transfer_to(H)
@@ -243,7 +243,7 @@
go_out()
else if(mob_occupant.cloneloss > (100 - heal_level))
mob_occupant.Paralyse(4)
mob_occupant.Unconscious(80)
//Slowly get that clone healed and finished.
mob_occupant.adjustCloneLoss(-((speed_coeff/2) * config.damage_multiplier))

View File

@@ -518,15 +518,15 @@
to_chat(M, "<span class='userdanger'>You suddenly feel slightly nauseous.</span>" )
if(severity == 2)
to_chat(usr, "<span class='userdanger'>You suddenly feel extremely nauseous and hunch over until it passes.</span>")
M.Stun(3)
M.Stun(60)
if(severity >= 3) //you didn't pray hard enough
to_chat(M, "<span class='warning'>An overpowering wave of nausea consumes over you. You hunch over, your stomach's contents preparing for a spectacular exit.</span>")
M.Stun(5)
M.Stun(100)
sleep(30)
M.vomit(10, distance = 5)
if(ORION_TRAIL_FLUX)
if(prob(75))
M.Weaken(3)
M.Knockdown(60)
say("A sudden gust of powerful wind slams [M] into the floor!")
M.take_bodypart_damage(25)
playsound(loc, 'sound/weapons/genhit.ogg', 100, 1)
@@ -618,7 +618,7 @@
if(emagged) //has to be here because otherwise it doesn't work
playsound(loc, 'sound/effects/supermatter.ogg', 100, 1)
say("A miniature black hole suddenly appears in front of [src], devouring [usr] alive!")
usr.Stun(10) //you can't run :^)
usr.Stun(200) //you can't run :^)
var/S = new /obj/singularity/academy(usr.loc)
emagged = 0 //immediately removes emagged status so people can't kill themselves by sprinting up and interacting
sleep(50)

View File

@@ -148,7 +148,7 @@
teleporter.handle_prisoner(id, temporary_record)
playsound(loc, 'sound/weapons/emitter.ogg', 50, 1)
prisoner.forceMove(get_turf(beacon))
prisoner.Weaken(2) // small travel dizziness
prisoner.Knockdown(40) // small travel dizziness
to_chat(prisoner, "<span class='warning'>The teleportation makes you a little dizzy.</span>")
new /obj/effect/particle_effect/sparks(prisoner.loc)
playsound(src.loc, "sparks", 50, 1)

View File

@@ -259,7 +259,7 @@
addtimer(CALLBACK(src, .proc/reset_hallucinate_shock_animation, user, shock_image, electrocution_skeleton_anim), 40)
user.playsound_local(get_turf(src), "sparks", 100, 1)
user.staminaloss += 50
user.Stun(2)
user.Stun(40)
user.jitteriness += 1000
user.do_jitter_animation(user.jitteriness)
addtimer(CALLBACK(src, .proc/hallucinate_shock_drop, user), 20)
@@ -271,8 +271,7 @@
/obj/machinery/door/airlock/proc/hallucinate_shock_drop(mob/living/user)
user.jitteriness = max(user.jitteriness - 990, 10) //Still jittery, but vastly less
user.Stun(3)
user.Weaken(3)
user.Knockdown(60)
/obj/machinery/door/airlock/proc/isElectrified()
if(src.secondsElectrified != NOT_ELECTRIFIED)
@@ -746,8 +745,7 @@
if(!istype(H.head, /obj/item/clothing/head/helmet))
H.visible_message("<span class='danger'>[user] headbutts the airlock.</span>", \
"<span class='userdanger'>You headbutt the airlock!</span>")
H.Stun(5)
H.Weaken(5)
H.Knockdown(100)
H.apply_damage(10, BRUTE, "head")
else
visible_message("<span class='danger'>[user] headbutts the airlock. Good thing [user.p_theyre()] wearing a helmet.</span>")
@@ -1214,7 +1212,7 @@
if(!do_after(user, 150*I.toolspeed, target = src))
to_chat(user, "<span class='warning'>You slip and [charge] detonates!</span>")
charge.ex_act(1)
user.Weaken(3)
user.Knockdown(60)
return
user.visible_message("<span class='notice'>[user] removes [charge] from [src].</span>", \
"<span class='notice'>You gently pry out [charge] from [src] and unhook its wires.</span>")
@@ -1302,7 +1300,7 @@
detonated = 1
charge = null
for(var/mob/living/carbon/human/H in orange(2,src))
H.Paralyse(8)
H.Unconscious(160)
H.adjust_fire_stacks(20)
H.IgniteMob() //Guaranteed knockout and ignition for nearby people
H.apply_damage(40, BRUTE, "chest")

View File

@@ -391,7 +391,7 @@
throwtarget = get_edge_target_turf(src, get_dir(src, get_step_away(M, src)))
M << pick(sound('sound/hallucinations/turn_around1.ogg',0,1,50), sound('sound/hallucinations/turn_around2.ogg',0,1,50))
flash_color(M, flash_color="#960000", flash_time=20)
M.Weaken(2)
M.Knockdown(40)
M.throw_at(throwtarget, 5, 1,src)
return 0

View File

@@ -294,10 +294,10 @@
else if(ishuman(L)) //For humans
L.adjustBruteLoss(DOOR_CRUSH_DAMAGE)
L.emote("scream")
L.Weaken(5)
L.Knockdown(100)
else if(ismonkey(L)) //For monkeys
L.adjustBruteLoss(DOOR_CRUSH_DAMAGE)
L.Weaken(5)
L.Knockdown(100)
else //for simple_animals & borgs
L.adjustBruteLoss(DOOR_CRUSH_DAMAGE)
var/turf/location = get_turf(src)

View File

@@ -9,7 +9,7 @@
var/id = null
var/range = 2 //this is roughly the size of brig cell
var/last_flash = 0 //Don't want it getting spammed like regular flashes
var/strength = 5 //How weakened targets are when flashed.
var/strength = 100 //How knocked down targets are when flashed.
var/base_state = "mflash"
obj_integrity = 250
max_integrity = 250
@@ -20,7 +20,7 @@
name = "portable flasher"
desc = "A portable flashing device. Wrench to activate and deactivate. Cannot detect slow movements."
icon_state = "pflash1-p"
strength = 4
strength = 80
anchored = 0
base_state = "pflash"
density = 1
@@ -119,7 +119,7 @@
continue
if(L.flash_act(affect_silicon = 1))
L.Weaken(strength)
L.Knockdown(strength)
return 1

View File

@@ -190,7 +190,7 @@
eat(I, sound=FALSE)
// Instantly lie down, also go unconscious from the pain, before you die.
L.Paralyse(5)
L.Unconscious(100)
// For admin fun, var edit emagged to 2.
if(gib || emagged == 2)

View File

@@ -229,10 +229,9 @@
return
if(M.health > 0)
M.adjustOxyLoss(-1)
M.updatehealth()
M.AdjustStunned(-4)
M.AdjustWeakened(-4)
M.AdjustStunned(-4)
M.AdjustStun(-80)
M.AdjustKnockdown(-80)
M.AdjustUnconscious(-80)
if(M.reagents.get_reagent_amount("epinephrine") < 5)
M.reagents.add_reagent("epinephrine", 5)
chassis.use_power(energy_drain)

View File

@@ -87,7 +87,7 @@
target.take_bodypart_damage(drill_damage)
if(target)
target.Paralyse(10)
target.Unconscious(200)
target.updatehealth()

View File

@@ -178,10 +178,10 @@
M.SetSleeping(0)
M.stuttering += 20
M.adjustEarDamage(0, 30)
M.Weaken(3)
M.Knockdown(60)
if(prob(30))
M.Stun(10)
M.Paralyse(4)
M.Stun(200)
M.Unconscious(80)
else
M.Jitter(500)

View File

@@ -21,7 +21,7 @@
/datum/action/innate/mecha
check_flags = AB_CHECK_RESTRAINED | AB_CHECK_STUNNED | AB_CHECK_CONSCIOUS
check_flags = AB_CHECK_RESTRAINED | AB_CHECK_STUN | AB_CHECK_CONSCIOUS
var/obj/mecha/chassis
/datum/action/innate/mecha/Grant(mob/living/L, obj/mecha/M)

View File

@@ -115,7 +115,7 @@
/obj/effect/anomaly/grav/proc/gravShock(mob/A)
if(boing && isliving(A) && !A.stat)
A.Weaken(2)
A.Knockdown(40)
var/atom/target = get_edge_target_turf(A, get_dir(src, get_step_away(A, src)))
A.throw_at(target, 5, 1)
boing = 0

View File

@@ -95,7 +95,7 @@
/obj/effect/particle_effect/foam/Crossed(atom/movable/AM)
if(istype(AM, /mob/living/carbon))
var/mob/living/carbon/M = AM
M.slip(5, 2, src)
M.slip(5, src)
/obj/effect/particle_effect/foam/metal/Crossed(atom/movable/AM)
return

View File

@@ -131,7 +131,7 @@
for(var/mob/M in viewers(1, location))
if (prob (50 * amount))
to_chat(M, "<span class='danger'>The explosion knocks you down.</span>")
M.Weaken(rand(1,5))
M.Knockdown(rand(20,100))
return
else
dyn_explosion(location, amount, flashing_factor)

View File

@@ -207,7 +207,7 @@
/obj/effect/particle_effect/smoke/sleeping/smoke_mob(mob/living/carbon/M)
if(..())
M.drop_item()
M.Sleeping(max(M.sleeping,10))
M.Sleeping(max(M.sleeping,200))
M.emote("cough")
return 1

View File

@@ -44,11 +44,11 @@
/obj/effect/mine/stun
name = "stun mine"
var/stun_time = 8
var/stun_time = 80
/obj/effect/mine/stun/mineEffect(mob/victim)
if(isliving(victim))
victim.Weaken(stun_time)
victim.Knockdown(stun_time)
/obj/effect/mine/kickmine
name = "kick mine"

View File

@@ -426,7 +426,7 @@ GLOBAL_VAR_INIT(rpg_loot_items, FALSE)
//This proc is executed when someone clicks the on-screen UI button.
//The default action is attack_self().
//Checks before we get to here are: mob is alive, mob is not restrained, paralyzed, asleep, resting, laying, item is on the mob.
//Checks before we get to here are: mob is alive, mob is not restrained, stunned, asleep, resting, laying, item is on the mob.
/obj/item/proc/ui_action_click(mob/user, actiontype)
attack_self(user)
@@ -501,8 +501,8 @@ GLOBAL_VAR_INIT(rpg_loot_items, FALSE)
if(M.drop_item())
to_chat(M, "<span class='danger'>You drop what you're holding and clutch at your eyes!</span>")
M.adjust_blurriness(10)
M.Paralyse(1)
M.Weaken(2)
M.Unconscious(20)
M.Knockdown(40)
if (prob(M.eye_damage - 10 + 1))
if(M.become_blind())
to_chat(M, "<span class='danger'>You go blind!</span>")

View File

@@ -634,7 +634,7 @@
C.blind_eyes(1)
if(C.get_eye_protection() <= 0) // no eye protection? ARGH IT BURNS.
C.confused = max(C.confused, 3)
C.Weaken(3)
C.Knockdown(60)
if(ishuman(C) && actually_paints)
var/mob/living/carbon/human/H = C
H.lip_style = "spray_face"

View File

@@ -10,7 +10,7 @@
/obj/item/device/pda/clown/Crossed(AM as mob|obj)
if (istype(AM, /mob/living/carbon))
var/mob/living/carbon/M = AM
if(M.slip(0, 6, src, NO_SLIP_WHEN_WALKING))
if(M.slip(6, src, NO_SLIP_WHEN_WALKING))
if (ishuman(M) && (M.real_name != src.owner))
if (istype(src.cartridge, /obj/item/weapon/cartridge/virus/clown))
var/obj/item/weapon/cartridge/virus/cart = src.cartridge

View File

@@ -108,7 +108,7 @@
//20% chance to actually hit the sensors
if(prob(effectchance * diode.rating))
S.flash_act(affect_silicon = 1)
S.Weaken(rand(5,10))
S.Knockdown(rand(100,200))
to_chat(S, "<span class='danger'>Your sensors were overloaded by a laser!</span>")
outmsg = "<span class='notice'>You overload [S] by shining [src] at their sensors.</span>"
add_logs(user, S, "shone in the sensors", src)

View File

@@ -114,7 +114,7 @@
s.set_up(3, 1, M)
s.start()
M.Weaken(5)
M.Knockdown(100)
if(master)
master.receive_signal()

View File

@@ -42,9 +42,7 @@ effective or pretty fucking useless.
for(var/mob/living/carbon/human/M in urange(10, user, 1))
if(prob(50))
M.Weaken(rand(10,20))
if(prob(25))
M.Stun(rand(5,10))
M.Knockdown(rand(200,400))
to_chat(M, "<span class='userdanger'>You feel a tremendous, paralyzing wave flood your mind.</span>")
else
@@ -90,7 +88,7 @@ effective or pretty fucking useless.
spawn((wavelength+(intensity*4))*5)
if(M)
if(intensity >= 5)
M.apply_effect(round(intensity/1.5), PARALYZE)
M.apply_effect(round(intensity/0.075), UNCONSCIOUS)
M.rad_act(intensity*10)
else
to_chat(user, "<span class='warning'>The radioactive microlaser is still recharging.</span>")
@@ -241,4 +239,3 @@ effective or pretty fucking useless.
GLOB.active_jammers -= src
update_icon()

View File

@@ -17,10 +17,9 @@
to_chat(H, "<span class='notice'>Your morale is increased by [user]'s banner!</span>")
H.adjustBruteLoss(-15)
H.adjustFireLoss(-15)
H.AdjustStunned(-2)
H.AdjustWeakened(-2)
H.AdjustParalysis(-2)
H.AdjustStun(-40)
H.AdjustKnockdown(-40)
H.AdjustUnconscious(-40)
/obj/item/weapon/banner/red
name = "red banner"

View File

@@ -22,9 +22,8 @@
return
user.do_attack_animation(M)
M.Weaken(5)
M.Knockdown(100)
M.apply_effect(STUTTER, 5)
M.Stun(5)
M.visible_message("<span class='danger'>[user] has prodded [M] with [src]!</span>", \
"<span class='userdanger'>[user] has prodded you with [src]!</span>")
@@ -330,7 +329,7 @@
C.stuttering += 10
C.Jitter(10)
if(2)
C.Weaken(2)
C.Knockdown(40)
C.confused += 10
C.stuttering += 15
C.Jitter(25)
@@ -506,7 +505,7 @@
//Peacekeeper Cyborg Projectile Dampenening Field
/obj/item/borg/projectile_dampen
name = "Hyperkinetic Dampening projector"
desc = "A device that projects a dampening field that weakens kinetic energy above a certain threshold. <span class='boldnotice'>Projects a field that drains power per second \
desc = "A device that projects a dampening field that weakenss kinetic energy above a certain threshold. <span class='boldnotice'>Projects a field that drains power per second \
while active, that will weaken and slow damaging projectiles inside its field.</span> Still being a prototype, it tends to induce a charge on ungrounded metallic surfaces."
icon = 'icons/obj/device.dmi'
icon_state = "shield"

View File

@@ -210,4 +210,4 @@ GLOBAL_LIST_INIT(reinforced_glass_recipes, list ( \
"<span class='userdanger'>You slide on the broken glass!</span>")
cooldown = world.time
H.Weaken(3)
H.Knockdown(60)

View File

@@ -209,7 +209,7 @@
qdel(captured)
qdel(src)
else
captured.Paralyse(4)
captured.Unconscious(80)
if(captured.loc != src)
captured.loc = src
update_icon()

View File

@@ -777,12 +777,13 @@ CIGARETTE PACKETS ARE IN FANCY.DM
if(prob(5))//small chance for the vape to break and deal damage if it's emagged
playsound(get_turf(src), 'sound/effects/pop_expl.ogg', 50, 0)
M.apply_damage(20, BURN, "head")
M.Weaken(15, 1, 0)
qdel(src)
M.Knockdown(300, 1, 0)
var/datum/effect_system/spark_spread/sp = new /datum/effect_system/spark_spread
sp.set_up(5, 1, src)
sp.start()
to_chat(M, "<span class='userdanger'>The [name] suddenly explodes in your mouth!</span>")
qdel(src)
return
if(reagents && reagents.total_volume)
hand_reagents()

View File

@@ -50,7 +50,7 @@
/obj/item/weapon/soap/Crossed(AM as mob|obj)
if (istype(AM, /mob/living/carbon))
var/mob/living/carbon/M = AM
M.slip(4, 2, src)
M.slip(4, src)
/obj/item/weapon/soap/afterattack(atom/target, mob/user, proximity)
if(!proximity || !check_allowed_items(target))

View File

@@ -400,7 +400,7 @@
M.visible_message("<span class='danger'>[user] has touched [M] with [src]!</span>", \
"<span class='userdanger'>[user] has touched [M] with [src]!</span>")
M.adjustStaminaLoss(50)
M.Weaken(5)
M.Knockdown(100)
M.updatehealth() //forces health update before next life tick
playsound(get_turf(src), 'sound/machines/defib_zap.ogg', 50, 1, -1)
M.emote("gasp")
@@ -455,7 +455,7 @@
H.set_heartattack(TRUE)
H.apply_damage(50, BURN, "chest")
add_logs(user, H, "overloaded the heart of", defib)
H.Weaken(5)
H.Knockdown(100)
H.Jitter(100)
if(req_defib)
defib.deductcharge(revivecost)

View File

@@ -181,7 +181,7 @@
return 0
to_chat(H, "<span class='userdanger'>You step on the D4!</span>")
H.apply_damage(4,BRUTE,(pick("l_leg", "r_leg")))
H.Weaken(3)
H.Knockdown(60)
/obj/item/weapon/dice/update_icon()
cut_overlays()

View File

@@ -27,13 +27,11 @@
//Flash
if(M.flash_act(affect_silicon = 1))
M.Stun(max(10/max(1,distance), 3))
M.Weaken(max(10/max(1,distance), 3))
M.Knockdown(max(100/max(1,distance), 3))
//Bang
if(!distance || loc == M || loc == M.loc) //Stop allahu akbarring rooms with this.
M.Stun(10)
M.Weaken(10)
M.soundbang_act(1, 10, 10, 15)
M.Knockdown(200)
M.soundbang_act(1, 200, 10, 15)
else
M.soundbang_act(1, max(10/max(1,distance), 3), rand(0, 5))
M.soundbang_act(1, max(20/max(1,distance), 3), rand(0, 5))

View File

@@ -320,7 +320,7 @@
breakouttime = 35//easy to apply, easy to break out of
gender = NEUTER
origin_tech = "engineering=3;combat=1"
var/weaken = 0
var/knockdown = 0
/obj/item/weapon/restraints/legcuffs/bola/throw_at(atom/target, range, speed, mob/thrower, spin=1, diagonals_first = 0, datum/callback/callback)
if(!..())
@@ -338,7 +338,7 @@
C.update_inv_legcuffed()
SSblackbox.add_details("handcuffs","[type]")
to_chat(C, "<span class='userdanger'>\The [src] ensnares you!</span>")
C.Weaken(weaken)
C.Knockdown(knockdown)
/obj/item/weapon/restraints/legcuffs/bola/tactical//traitor variant
name = "reinforced bola"
@@ -346,7 +346,7 @@
icon_state = "bola_r"
breakouttime = 70
origin_tech = "engineering=4;combat=3"
weaken = 1
knockdown = 20
/obj/item/weapon/restraints/legcuffs/bola/energy //For Security
name = "energy bola"

View File

@@ -84,7 +84,7 @@
master.emote("scream")
master.remove_status_effect(STATUS_EFFECT_HISGRACE)
flags &= ~NODROP
master.Weaken(3)
master.Knockdown(60)
master.adjustBruteLoss(master.maxHealth)
playsound(master, 'sound/effects/splat.ogg', 100, 0)
else

View File

@@ -68,18 +68,18 @@
return ..()
/obj/item/weapon/implant/explosive/proc/timed_explosion()
imp_in.visible_message("<span class = 'warning'>[imp_in] starts beeping ominously!</span>")
imp_in.visible_message("<span class='warning'>[imp_in] starts beeping ominously!</span>")
playsound(loc, 'sound/items/timer.ogg', 30, 0)
sleep(delay/4)
sleep(delay*0.25)
if(imp_in && !imp_in.stat)
imp_in.visible_message("<span class = 'warning'>[imp_in] doubles over in pain!</span>")
imp_in.Weaken(7)
imp_in.visible_message("<span class='warning'>[imp_in] doubles over in pain!</span>")
imp_in.Knockdown(140)
playsound(loc, 'sound/items/timer.ogg', 30, 0)
sleep(delay/4)
sleep(delay*0.25)
playsound(loc, 'sound/items/timer.ogg', 30, 0)
sleep(delay/4)
sleep(delay*0.25)
playsound(loc, 'sound/items/timer.ogg', 30, 0)
sleep(delay/4)
sleep(delay*0.25)
explosion(src,heavy,medium,weak,weak, flame_range = weak)
if(imp_in)
imp_in.gib(1)

View File

@@ -16,7 +16,7 @@
/obj/item/weapon/implant/adrenalin
name = "adrenal implant"
desc = "Removes all stuns and knockdowns."
desc = "Removes all stuns."
icon_state = "adrenal"
origin_tech = "materials=2;biotech=4;combat=3;syndicate=4"
uses = 3
@@ -35,9 +35,9 @@
/obj/item/weapon/implant/adrenalin/activate()
uses--
to_chat(imp_in, "<span class='notice'>You feel a sudden surge of energy!</span>")
imp_in.SetStunned(0)
imp_in.SetWeakened(0)
imp_in.SetParalysis(0)
imp_in.SetStun(0)
imp_in.SetKnockdown(0)
imp_in.SetUnconscious(0)
imp_in.adjustStaminaLoss(-75)
imp_in.lying = 0
imp_in.update_canmove()

View File

@@ -5,7 +5,7 @@
if(target.check_block())
target.visible_message("<span class='danger'>[target.name] blocks [src] and twists [user]'s arm behind their back!</span>",
"<span class='userdanger'>You block the attack!</span>")
user.Stun(2)
user.Stun(40)
return TRUE
@@ -84,7 +84,7 @@
add_fingerprint(user)
if((CLUMSY in user.disabilities) && prob(50))
to_chat(user, "<span class ='danger'>You club yourself over the head.</span>")
user.Weaken(3 * force)
user.Knockdown(60 * force)
if(ishuman(user))
var/mob/living/carbon/human/H = user
H.apply_damage(2*force, BRUTE, "head")
@@ -110,7 +110,7 @@
if(check_martial_counter(H, user))
return
playsound(get_turf(src), 'sound/effects/woodhit.ogg', 75, 1, -1)
target.Weaken(3)
target.Knockdown(60)
add_logs(user, target, "stunned", src)
src.add_fingerprint(user)
target.visible_message("<span class ='danger'>[user] has knocked down [target] with [src]!</span>", \

View File

@@ -141,7 +141,7 @@
fire_items(T, user)
if(pressureSetting >= 3 && user)
user.visible_message("<span class='warning'>[user] is thrown down by the force of the cannon!</span>", "<span class='userdanger'>[src] slams into your shoulder, knocking you down!")
user.Weaken(3)
user.Knockdown(60)
/obj/item/weapon/pneumatic_cannon/proc/fire_items(turf/target, mob/user)
if(fire_mode == PCANNON_FIREALL)

View File

@@ -48,7 +48,7 @@
var/obj/item/clothing/shoes/magboots/M = H.shoes
if(M.magpulse)
continue
H.apply_effect(1, WEAKEN, 0)
H.apply_effect(20, KNOCKDOWN, 0)
step_towards(H,pull)
step_towards(H,pull)
step_towards(H,pull)
@@ -78,14 +78,14 @@
throwforce = 30
throw_range = 7
w_class = WEIGHT_CLASS_HUGE
//var/charged = 5
origin_tech = "combat=4;powerstorage=7"
/obj/item/weapon/twohanded/mjollnir/proc/shock(mob/living/target)
target.Stun(60)
var/datum/effect_system/lightning_spread/s = new /datum/effect_system/lightning_spread
s.set_up(5, 1, target.loc)
s.start()
target.visible_message("<span class='danger'>[target.name] was shocked by the [src.name]!</span>", \
target.visible_message("<span class='danger'>[target.name] was shocked by [src]!</span>", \
"<span class='userdanger'>You feel a powerful shock course through your body sending you flying!</span>", \
"<span class='italics'>You hear a heavy electrical crack!</span>")
var/atom/throw_target = get_edge_target_turf(target, get_dir(src, get_step_away(target, src)))
@@ -95,18 +95,13 @@
/obj/item/weapon/twohanded/mjollnir/attack(mob/living/M, mob/user)
..()
if(wielded)
//if(charged == 5)
//charged = 0
playsound(src.loc, "sparks", 50, 1)
M.Stun(3)
shock(M)
/obj/item/weapon/twohanded/mjollnir/throw_impact(atom/target)
. = ..()
if(isliving(target))
var/mob/living/L = target
L.Stun(3)
shock(L)
shock(target)
/obj/item/weapon/twohanded/mjollnir/update_icon() //Currently only here to fuck with the on-mob icons.
icon_state = "mjollnir[wielded]"

View File

@@ -44,7 +44,7 @@
/obj/item/weapon/storage/backpack/holding/suicide_act(mob/user)
user.visible_message("<span class='suicide'>[user] is jumping into [src]! It looks like [user.p_theyre()] trying to commit suicide.</span>")
user.drop_item()
user.Stun(5)
user.Stun(100)
sleep(20)
playsound(src, "rustle", 50, 1, -5)
qdel(user)

View File

@@ -329,7 +329,7 @@
if(ishuman(M) || ismonkey(M))
if(prob(10))
M.Weaken(2)
M.Knockdown(40)
/obj/item/weapon/storage/bag/tray/proc/rebuild_overlays()
cut_overlays()

View File

@@ -94,7 +94,7 @@ GLOBAL_LIST_INIT(bibleitemstates, list("bible", "koran", "scrapbook", "bible",
if (user.disabilities & CLUMSY && prob(50))
to_chat(user, "<span class='danger'>[src] slips out of your hand and hits your head.</span>")
user.take_bodypart_damage(10)
user.Paralyse(20)
user.Unconscious(400)
return
var/chaplain = 0

View File

@@ -11,7 +11,7 @@
attack_verb = list("beaten")
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 50, bio = 0, rad = 0, fire = 80, acid = 80)
var/stunforce = 7
var/stunforce = 140
var/status = 0
var/obj/item/weapon/stock_parts/cell/high/cell
var/hitcost = 1000
@@ -110,7 +110,7 @@
if(status && user.disabilities & CLUMSY && prob(50))
user.visible_message("<span class='danger'>[user] accidentally hits themself with [src]!</span>", \
"<span class='userdanger'>You accidentally hit yourself with [src]!</span>")
user.Weaken(stunforce*3)
user.Knockdown(stunforce*3)
deductcharge(hitcost)
return
@@ -152,8 +152,7 @@
if(!deductcharge(hitcost))
return 0
L.Stun(stunforce)
L.Weaken(stunforce)
L.Knockdown(stunforce)
L.apply_effect(STUTTER, stunforce)
if(user)
user.lastattacked = L
@@ -184,7 +183,7 @@
w_class = WEIGHT_CLASS_BULKY
force = 3
throwforce = 5
stunforce = 5
stunforce = 100
hitcost = 2000
throw_hit_chance = 10
slot_flags = SLOT_BACK

View File

@@ -13,10 +13,10 @@
user.visible_message("<span class='danger'>[user] accidentally hits themself with [src]!</span>", \
"<span class='userdanger'>You accidentally hit yourself with [src]!</span>")
if(do_teleport(user, get_turf(user), 50))//honk honk
user.Weaken(stunforce*3)
user.Knockdown(stunforce*3)
deductcharge(hitcost)
else
user.Weaken(stunforce*3)
user.Knockdown(stunforce*3)
deductcharge(hitcost/4)
return
else

View File

@@ -97,7 +97,7 @@
// during their ascension
// Stun stops them from wandering off
user.Stun(5)
user.Stun(100)
playsound(loc, 'sound/effects/pray.ogg', 50, 1, -1)
// Let the sound effect finish playing

Some files were not shown because too many files have changed in this diff Show More