mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-25 05:51:56 +01:00
Ports the radiation subsystem and cleans up damage flags. (#15715)
This commit is contained in:
@@ -488,5 +488,5 @@ var/list/slot_equipment_priority = list( \
|
||||
|
||||
//When you drop an extremely heavy 406mm shell onto your foot. Oops!
|
||||
/mob/living/carbon/proc/throw_fail_consequences(var/obj/item/I)
|
||||
apply_damage(45, BRUTE, pick(list(BP_L_FOOT, BP_R_FOOT)), I, armor_pen = 30)
|
||||
apply_damage(45, DAMAGE_BRUTE, pick(list(BP_L_FOOT, BP_R_FOOT)), I, armor_pen = 30)
|
||||
I.throw_fail_consequences(src)
|
||||
|
||||
@@ -142,7 +142,7 @@
|
||||
if(shock_damage<1)
|
||||
return 0
|
||||
|
||||
src.apply_damage(shock_damage, BURN, def_zone, used_weapon="Electrocution")
|
||||
src.apply_damage(shock_damage, DAMAGE_BURN, def_zone, used_weapon="Electrocution")
|
||||
playsound(loc, /singleton/sound_category/spark_sound, 50, 1, -1)
|
||||
if(shock_damage > 15 || tesla_shock)
|
||||
src.visible_message(
|
||||
|
||||
@@ -102,14 +102,14 @@
|
||||
apply_damage(effective_force, I.damtype, hit_zone, I, damage_flags, I.armor_penetration)
|
||||
|
||||
//Melee weapon embedded object code.
|
||||
if (I && I.damtype == BRUTE && !I.anchored && !is_robot_module(I) && I.canremove)
|
||||
if (I && I.damtype == DAMAGE_BRUTE && !I.anchored && !is_robot_module(I) && I.canremove)
|
||||
var/damage = effective_force //just the effective damage used for sorting out embedding, no further damage is applied here
|
||||
damage *= 1 - get_blocked_ratio(hit_zone, I.damtype, I.damage_flags(), I.armor_penetration, I.force)
|
||||
|
||||
if(I.can_embed) //If this weapon is allowed to embed in people.
|
||||
//blunt objects should really not be embedding in things unless a huge amount of force is involved
|
||||
var/sharp = damage_flags & DAM_SHARP
|
||||
var/edge = damage_flags & DAM_EDGE
|
||||
var/sharp = damage_flags & DAMAGE_FLAG_SHARP
|
||||
var/edge = damage_flags & DAMAGE_FLAG_EDGE
|
||||
var/embed_chance = sharp? damage/I.w_class : damage/(I.w_class*3)
|
||||
var/embed_threshold = edge? 5*I.w_class : 15*I.w_class
|
||||
|
||||
@@ -131,7 +131,7 @@
|
||||
// Knifing
|
||||
/mob/living/carbon/proc/attack_throat(obj/item/W, obj/item/grab/G, mob/user)
|
||||
var/damage_flags = W.damage_flags()
|
||||
if(!(damage_flags & (DAM_SHARP|DAM_EDGE)) || W.damtype != BRUTE)
|
||||
if(!(damage_flags & (DAMAGE_FLAG_SHARP|DAMAGE_FLAG_EDGE)) || W.damtype != DAMAGE_BRUTE)
|
||||
return FALSE //unsuitable weapon
|
||||
|
||||
user.visible_message("<span class='danger'>\The [user] begins to slit [src]'s throat with \the [W]!</span>")
|
||||
@@ -148,7 +148,7 @@
|
||||
if(istype(helmet) && (helmet.body_parts_covered & HEAD) && (helmet.min_pressure_protection == 0))
|
||||
var/datum/component/armor/armor_component = helmet.GetComponent(/datum/component/armor)
|
||||
if(armor_component)
|
||||
damage_mod -= armor_component.get_blocked(BRUTE, damage_flags, W.armor_penetration, W.force*1.5)
|
||||
damage_mod -= armor_component.get_blocked(DAMAGE_BRUTE, damage_flags, W.armor_penetration, W.force*1.5)
|
||||
|
||||
var/total_damage = 0
|
||||
for(var/i in 1 to 3)
|
||||
|
||||
@@ -82,7 +82,7 @@
|
||||
for (var/i = 0 to num_bites_needed)
|
||||
if(do_mob(src, victim, bite_delay * 10, extra_checks = CALLBACK(src, PROC_REF(devouring_equals), victim)))
|
||||
face_atom(victim)
|
||||
victim.apply_damage(damage_dealt, BRUTE)
|
||||
victim.apply_damage(damage_dealt, DAMAGE_BRUTE)
|
||||
var/obj/item/organ/internal/stomach/S = internal_organs_by_name[BP_STOMACH]
|
||||
if(S)
|
||||
S.ingested.add_reagent(victim.composition_reagent, (victim.composition_reagent_quantity * 0.5) * PEPB)
|
||||
|
||||
@@ -100,7 +100,7 @@
|
||||
if (severity)
|
||||
damage_factor = (1 / severity)
|
||||
|
||||
var/armorval = get_blocked_ratio(BP_CHEST, BRUTE, DAM_DISPERSED, damage = damage)
|
||||
var/armorval = get_blocked_ratio(BP_CHEST, DAMAGE_BRUTE, DAMAGE_FLAG_DISPERSED, damage = damage)
|
||||
if (armorval)
|
||||
damage_factor *= (1 - (armorval * 0.01))
|
||||
|
||||
|
||||
@@ -263,12 +263,12 @@
|
||||
Paralyse(10)
|
||||
|
||||
// focus most of the blast on one organ
|
||||
apply_damage(0.7 * b_loss, BRUTE, null, DAM_EXPLODE, used_weapon = "Explosive blast")
|
||||
apply_damage(0.7 * f_loss, BURN, null, DAM_EXPLODE, used_weapon = "Explosive blast")
|
||||
apply_damage(0.7 * b_loss, DAMAGE_BRUTE, null, DAMAGE_FLAG_EXPLODE, used_weapon = "Explosive blast")
|
||||
apply_damage(0.7 * f_loss, DAMAGE_BURN, null, DAMAGE_FLAG_EXPLODE, used_weapon = "Explosive blast")
|
||||
|
||||
// distribute the remaining 30% on all limbs equally (including the one already dealt damage)
|
||||
apply_damage(0.3 * b_loss, BRUTE, null, DAM_EXPLODE | DAM_DISPERSED, used_weapon = "Explosive blast")
|
||||
apply_damage(0.3 * f_loss, BURN, null, DAM_EXPLODE | DAM_DISPERSED, used_weapon = "Explosive blast")
|
||||
apply_damage(0.3 * b_loss, DAMAGE_BRUTE, null, DAMAGE_FLAG_EXPLODE | DAMAGE_FLAG_DISPERSED, used_weapon = "Explosive blast")
|
||||
apply_damage(0.3 * f_loss, DAMAGE_BURN, null, DAMAGE_FLAG_EXPLODE | DAMAGE_FLAG_DISPERSED, used_weapon = "Explosive blast")
|
||||
|
||||
UpdateDamageIcon()
|
||||
|
||||
@@ -517,7 +517,7 @@
|
||||
I.emp_act(emp_damage)
|
||||
emp_damage *= 0.4
|
||||
|
||||
apply_damage(shock_damage, BURN, area, used_weapon="Electrocution")
|
||||
apply_damage(shock_damage, DAMAGE_BURN, area, used_weapon="Electrocution")
|
||||
shock_damage *= 0.4
|
||||
playsound(loc, /singleton/sound_category/spark_sound, 50, 1, -1)
|
||||
|
||||
@@ -1346,7 +1346,7 @@
|
||||
SPAN_WARNING("Your movement jostles [O] in your [organ.name] painfully.") \
|
||||
)
|
||||
custom_pain(msg, 10, 10, organ)
|
||||
organ.take_damage(rand(1, 3), 0, DAM_EDGE)
|
||||
organ.take_damage(rand(1, 3), 0, DAMAGE_FLAG_EDGE)
|
||||
|
||||
/mob/living/carbon/human/verb/check_pulse()
|
||||
set category = "Object"
|
||||
@@ -2004,7 +2004,7 @@
|
||||
return
|
||||
switch(get_bullet_impact_effect_type(def_zone))
|
||||
if(BULLET_IMPACT_MEAT)
|
||||
if(P.damage_type == BRUTE)
|
||||
if(P.damage_type == DAMAGE_BRUTE)
|
||||
var/hit_dir = get_dir(P.starting, src)
|
||||
var/obj/effect/decal/cleanable/blood/B = blood_splatter(get_step(src, hit_dir), src, 1, hit_dir)
|
||||
B.icon_state = pick("dir_splatter_1","dir_splatter_2")
|
||||
@@ -2026,9 +2026,9 @@
|
||||
if(species.radiation_mod <= 0)
|
||||
return
|
||||
|
||||
apply_damage((rand(15,30)), IRRADIATE, damage_flags = DAM_DISPERSED)
|
||||
apply_damage((rand(15,30)), DAMAGE_RADIATION, damage_flags = DAMAGE_FLAG_DISPERSED)
|
||||
if(prob(4))
|
||||
apply_damage((rand(20,60)), IRRADIATE, damage_flags = DAM_DISPERSED)
|
||||
apply_damage((rand(20,60)), DAMAGE_RADIATION, damage_flags = DAMAGE_FLAG_DISPERSED)
|
||||
if (prob(75))
|
||||
randmutb(src) // Applies bad mutation
|
||||
domutcheck(src,null,MUTCHK_FORCED)
|
||||
|
||||
@@ -53,14 +53,14 @@
|
||||
msg_admin_attack("[key_name_admin(M)] stungloved [src.name] ([src.ckey]) (<A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[M.x];Y=[M.y];Z=[M.z]'>JMP</a>)",ckey=key_name(M),ckey_target=key_name(src))
|
||||
|
||||
apply_effects(5,5,0,0,5,0,0,0,0)
|
||||
apply_damage(rand(5,25), BURN, M.zone_sel.selecting)
|
||||
apply_damage(rand(5,25), DAMAGE_BURN, M.zone_sel.selecting)
|
||||
|
||||
if(prob(15))
|
||||
playsound(src.loc, 'sound/weapons/flash.ogg', 100, 1)
|
||||
M.visible_message("<span class='warning'>The power source on [M]'s stun gloves overloads in a terrific fashion!</span>", "<span class='warning'>Your jury rigged stun gloves malfunction!</span>", "<span class='warning'>You hear a loud sparking.</span>")
|
||||
|
||||
if(prob(50))
|
||||
M.apply_damage(rand(1,5), BURN)
|
||||
M.apply_damage(rand(1,5), DAMAGE_BURN)
|
||||
|
||||
for(M in viewers(3, null))
|
||||
M.flash_act(ignore_inherent = TRUE)
|
||||
@@ -88,7 +88,7 @@
|
||||
|
||||
visible_message("<span class='danger'>[H] has punched [src]!</span>")
|
||||
|
||||
apply_damage(damage, PAIN, affecting)
|
||||
apply_damage(damage, DAMAGE_PAIN, affecting)
|
||||
if(damage >= 9)
|
||||
visible_message("<span class='danger'>[H] has weakened [src]!</span>")
|
||||
apply_effect(4, WEAKEN)
|
||||
@@ -276,7 +276,7 @@
|
||||
real_damage += G.punch_force
|
||||
hit_dam_type = G.punch_damtype
|
||||
if(H.pulling_punches)
|
||||
hit_dam_type = PAIN
|
||||
hit_dam_type = DAMAGE_PAIN
|
||||
|
||||
if(istype(H.gloves,/obj/item/clothing/gloves/force))
|
||||
var/obj/item/clothing/gloves/force/X = H.gloves
|
||||
@@ -410,7 +410,7 @@
|
||||
return
|
||||
|
||||
else
|
||||
var/armor_check = 100 * get_blocked_ratio(affecting, BRUTE, damage = 20)
|
||||
var/armor_check = 100 * get_blocked_ratio(affecting, DAMAGE_BRUTE, damage = 20)
|
||||
apply_effect(3, WEAKEN, armor_check)
|
||||
if(armor_check < 100)
|
||||
visible_message("<span class='danger'>[M] has pushed [src]!</span>")
|
||||
@@ -432,7 +432,7 @@
|
||||
sleep(1)
|
||||
step_away(src,M,15)
|
||||
sleep(1)
|
||||
apply_effect(1, WEAKEN, get_blocked_ratio(M.zone_sel.selecting, BRUTE, damage = 20)*100)
|
||||
apply_effect(1, WEAKEN, get_blocked_ratio(M.zone_sel.selecting, DAMAGE_BRUTE, damage = 20)*100)
|
||||
return
|
||||
|
||||
//See about breaking grips or pulls
|
||||
@@ -558,7 +558,7 @@
|
||||
if(!dam_zone)
|
||||
dam_zone = pick(organs)
|
||||
var/obj/item/organ/external/affecting = get_organ(dam_zone)
|
||||
apply_damage(damage, BRUTE, affecting, armor_pen = armor_penetration, damage_flags = attack_flags)
|
||||
apply_damage(damage, DAMAGE_BRUTE, affecting, armor_pen = armor_penetration, damage_flags = attack_flags)
|
||||
updatehealth()
|
||||
return TRUE
|
||||
|
||||
|
||||
@@ -391,7 +391,7 @@ This function restores all organs.
|
||||
zone = BP_HEAD
|
||||
return organs_by_name[zone]
|
||||
|
||||
/mob/living/carbon/human/apply_damage(var/damage = 0, var/damagetype = BRUTE, var/def_zone, var/obj/used_weapon, var/damage_flags, var/armor_pen, var/silent = FALSE)
|
||||
/mob/living/carbon/human/apply_damage(var/damage = 0, var/damagetype = DAMAGE_BRUTE, var/def_zone, var/obj/used_weapon, var/damage_flags, var/armor_pen, var/silent = FALSE)
|
||||
if (invisibility == INVISIBILITY_LEVEL_TWO && back && (istype(back, /obj/item/rig)))
|
||||
if(damage > 0)
|
||||
to_chat(src, "<span class='danger'>You are now visible.</span>")
|
||||
@@ -403,7 +403,7 @@ This function restores all organs.
|
||||
organ = def_zone
|
||||
else
|
||||
if(!def_zone)
|
||||
if(damage_flags & DAM_DISPERSED)
|
||||
if(damage_flags & DAMAGE_FLAG_DISPERSED)
|
||||
var/old_damage = damage
|
||||
var/tally
|
||||
silent = TRUE // Will damage a lot of organs, probably, so avoid spam.
|
||||
@@ -418,8 +418,8 @@ This function restores all organs.
|
||||
organ = get_organ(check_zone(def_zone))
|
||||
|
||||
//Handle other types of damage
|
||||
if(!(damagetype in list(BRUTE, BURN, PAIN, CLONE)))
|
||||
if(!stat && damagetype == PAIN)
|
||||
if(!(damagetype in list(DAMAGE_BRUTE, DAMAGE_BURN, DAMAGE_PAIN, DAMAGE_CLONE)))
|
||||
if(!stat && damagetype == DAMAGE_PAIN)
|
||||
if((damage > 25 && prob(20)) || (damage > 50 && prob(60)))
|
||||
emote("scream")
|
||||
return ..()
|
||||
@@ -441,21 +441,21 @@ This function restores all organs.
|
||||
make_adrenaline(round(damage/10))
|
||||
|
||||
switch(damagetype)
|
||||
if(BRUTE)
|
||||
if(DAMAGE_BRUTE)
|
||||
damageoverlaytemp = 20
|
||||
if(damage > 0)
|
||||
damage *= species.brute_mod
|
||||
organ.take_damage(damage, 0, damage_flags, used_weapon)
|
||||
UpdateDamageIcon()
|
||||
if(BURN)
|
||||
if(DAMAGE_BURN)
|
||||
damageoverlaytemp = 20
|
||||
if(damage > 0)
|
||||
damage *= species.burn_mod
|
||||
organ.take_damage(0, damage, damage_flags, used_weapon)
|
||||
UpdateDamageIcon()
|
||||
if(PAIN)
|
||||
if(DAMAGE_PAIN)
|
||||
organ.add_pain(damage)
|
||||
if(CLONE)
|
||||
if(DAMAGE_CLONE)
|
||||
organ.add_genetic_damage(damage)
|
||||
|
||||
// Will set our damageoverlay icon to the next level, which will then be set back to the normal level the next mob.Life().
|
||||
|
||||
@@ -43,7 +43,7 @@ emp_act
|
||||
|
||||
//Shrapnel
|
||||
if(!(species.flags & NO_EMBED) && P.can_embed())
|
||||
var/armor = get_blocked_ratio(def_zone, BRUTE, P.damage_flags(), armor_pen = P.armor_penetration, damage = P.damage)*100
|
||||
var/armor = get_blocked_ratio(def_zone, DAMAGE_BRUTE, P.damage_flags(), armor_pen = P.armor_penetration, damage = P.damage)*100
|
||||
if(prob(20 + max(P.damage + P.embed_chance - armor, -10)))
|
||||
P.do_embed(organ)
|
||||
|
||||
@@ -81,7 +81,7 @@ emp_act
|
||||
..(stun_amount, agony_amount, def_zone, used_weapon, damage_flags)
|
||||
|
||||
/mob/living/carbon/human/get_blocked_ratio(def_zone, damage_type, damage_flags, armor_pen, damage)
|
||||
if(!def_zone && (damage_flags & DAM_DISPERSED))
|
||||
if(!def_zone && (damage_flags & DAMAGE_FLAG_DISPERSED))
|
||||
var/tally
|
||||
for(var/zone in organ_rel_size)
|
||||
tally += organ_rel_size[zone]
|
||||
@@ -254,7 +254,7 @@ emp_act
|
||||
var/obj/item/clothing/gloves/force/G = X.gloves
|
||||
effective_force *= G.amplification
|
||||
|
||||
if((I.damtype == BRUTE || I.damtype == PAIN) && prob(25 + (effective_force * 2)))
|
||||
if((I.damtype == DAMAGE_BRUTE || I.damtype == DAMAGE_PAIN) && prob(25 + (effective_force * 2)))
|
||||
if(!stat)
|
||||
if(headcheck(hit_zone))
|
||||
//Harder to score a stun but if you do it lasts a bit longer
|
||||
@@ -387,12 +387,12 @@ emp_act
|
||||
msg_admin_attack("[src.name] ([src.ckey]) was hit by a [O], thrown by [M.name] ([assailant.ckey]) (<A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[src.x];Y=[src.y];Z=[src.z]'>JMP</a>)",ckey=key_name(M),ckey_target=key_name(src))
|
||||
|
||||
//thrown weapon embedded object code.
|
||||
if(dtype == BRUTE && istype(O,/obj/item))
|
||||
if(dtype == DAMAGE_BRUTE && istype(O,/obj/item))
|
||||
var/obj/item/I = O
|
||||
if (!is_robot_module(I))
|
||||
var/sharp = is_sharp(I)
|
||||
var/damage = throw_damage
|
||||
damage *= (1 - get_blocked_ratio(zone, BRUTE, O.damage_flags(), O.armor_penetration, damage))
|
||||
damage *= (1 - get_blocked_ratio(zone, DAMAGE_BRUTE, O.damage_flags(), O.armor_penetration, damage))
|
||||
|
||||
//blunt objects should really not be embedding in things unless a huge amount of force is involved
|
||||
var/embed_chance = sharp ? damage/I.w_class : damage/(I.w_class*3)
|
||||
@@ -463,7 +463,7 @@ emp_act
|
||||
/mob/living/carbon/human/proc/handle_suit_punctures(var/damtype, var/damage, var/def_zone)
|
||||
|
||||
// Tox and oxy don't matter to suits.
|
||||
if(damtype != BURN && damtype != BRUTE) return
|
||||
if(damtype != DAMAGE_BURN && damtype != DAMAGE_BRUTE) return
|
||||
|
||||
// The rig might soak this hit, if we're wearing one.
|
||||
if(back && istype(back,/obj/item/rig))
|
||||
|
||||
@@ -228,13 +228,13 @@ mob/living/carbon/human/proc/change_monitor()
|
||||
|
||||
if(istype(G.affecting,/mob/living/carbon/human))
|
||||
var/mob/living/carbon/human/H = G.affecting
|
||||
H.apply_damage(50,BRUTE)
|
||||
H.apply_damage(50,DAMAGE_BRUTE)
|
||||
if(H.stat == 2)
|
||||
H.gib()
|
||||
else
|
||||
var/mob/living/M = G.affecting
|
||||
if(!istype(M)) return //wut
|
||||
M.apply_damage(50,BRUTE)
|
||||
M.apply_damage(50,DAMAGE_BRUTE)
|
||||
if(M.stat == 2)
|
||||
M.gib()
|
||||
|
||||
@@ -393,14 +393,14 @@ mob/living/carbon/human/proc/change_monitor()
|
||||
to_chat(H, SPAN_WARNING("They are missing that limb!"))
|
||||
return
|
||||
|
||||
H.apply_damage(25, BRUTE, hit_zone, damage_flags = DAM_SHARP|DAM_EDGE)
|
||||
H.apply_damage(25, DAMAGE_BRUTE, hit_zone, damage_flags = DAMAGE_FLAG_SHARP|DAMAGE_FLAG_EDGE)
|
||||
visible_message(SPAN_WARNING("<b>[src]</b> rips viciously at \the [G.affecting]'s [affected] with its mandibles!"))
|
||||
msg_admin_attack("[key_name_admin(src)] mandible'd [key_name_admin(H)] (<A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[src.x];Y=[src.y];Z=[src.z]'>JMP</a>)",ckey=key_name(src),ckey_target=key_name(H))
|
||||
else
|
||||
var/mob/living/M = G.affecting
|
||||
if(!istype(M))
|
||||
return
|
||||
M.apply_damage(25, BRUTE, damage_flags = DAM_SHARP|DAM_EDGE)
|
||||
M.apply_damage(25, DAMAGE_BRUTE, damage_flags = DAMAGE_FLAG_SHARP|DAMAGE_FLAG_EDGE)
|
||||
visible_message(SPAN_WARNING("<b>[src]</b> rips viciously at \the [G.affecting]'s flesh with its mandibles!"))
|
||||
msg_admin_attack("[key_name_admin(src)] mandible'd [key_name_admin(M)] (<A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[src.x];Y=[src.y];Z=[src.z]'>JMP</a>)",ckey=key_name(src),ckey_target=key_name(M))
|
||||
playsound(get_turf(src), 'sound/weapons/slash.ogg', 50, TRUE)
|
||||
@@ -421,8 +421,8 @@ mob/living/carbon/human/proc/change_monitor()
|
||||
playsound(F, 'sound/items/countdown.ogg', 125, 1)
|
||||
spawn(20)
|
||||
explosion(F.loc, -1, -1, 2)
|
||||
M.apply_damage(20,BRUTE)
|
||||
M.apply_damage(15,BURN)
|
||||
M.apply_damage(20,DAMAGE_BRUTE)
|
||||
M.apply_damage(15,DAMAGE_BURN)
|
||||
qdel(F)
|
||||
|
||||
for(var/obj/item/material/shard/shrapnel/flechette/F in range(7, src))
|
||||
@@ -602,7 +602,7 @@ mob/living/carbon/human/proc/change_monitor()
|
||||
|
||||
visible_message("<span class='warning'><b>[src]</b> launches a spine-quill at [target]!</span>")
|
||||
|
||||
src.apply_damage(10,BRUTE)
|
||||
src.apply_damage(10,DAMAGE_BRUTE)
|
||||
playsound(src.loc, 'sound/weapons/bladeslice.ogg', 50, 1)
|
||||
var/obj/item/arrow/quill/A = new /obj/item/arrow/quill(usr.loc)
|
||||
A.throw_at(target, 10, 30, usr)
|
||||
|
||||
@@ -663,9 +663,9 @@
|
||||
for(var/obj/item/I in src)
|
||||
if(I.contaminated && !(species.flags & PHORON_IMMUNE))
|
||||
if(I == r_hand)
|
||||
apply_damage(vsc.plc.CONTAMINATION_LOSS, BURN, BP_R_HAND)
|
||||
apply_damage(vsc.plc.CONTAMINATION_LOSS, DAMAGE_BURN, BP_R_HAND)
|
||||
else if(I == l_hand)
|
||||
apply_damage(vsc.plc.CONTAMINATION_LOSS, BURN, BP_L_HAND)
|
||||
apply_damage(vsc.plc.CONTAMINATION_LOSS, DAMAGE_BURN, BP_L_HAND)
|
||||
else
|
||||
adjustFireLoss(vsc.plc.CONTAMINATION_LOSS)
|
||||
|
||||
|
||||
@@ -177,7 +177,7 @@
|
||||
continue
|
||||
if(L == target)
|
||||
continue
|
||||
L.apply_damage(rand(5,20), BRUTE, zone, armor)
|
||||
L.apply_damage(rand(5,20), DAMAGE_BRUTE, zone, armor)
|
||||
to_chat(L, "<span class='danger'>\The [user] [pick(attack_verb)] you with its [attack_noun]!</span>")
|
||||
hit_mobs++
|
||||
if(hit_mobs)
|
||||
@@ -208,7 +208,7 @@
|
||||
to_chat(user, SPAN_WARNING("You feel that \the [target] has been already infected!"))
|
||||
|
||||
var/infection_chance = 80
|
||||
infection_chance -= target.get_blocked_ratio(zone, BRUTE, damage_flags = DAM_SHARP|DAM_EDGE, damage = damage)*100
|
||||
infection_chance -= target.get_blocked_ratio(zone, DAMAGE_BRUTE, damage_flags = DAMAGE_FLAG_SHARP|DAMAGE_FLAG_EDGE, damage = damage)*100
|
||||
if(prob(infection_chance))
|
||||
if(target.reagents)
|
||||
var/trioxin_amount = REAGENT_VOLUME(target.reagents, /singleton/reagent/toxin/trioxin)
|
||||
@@ -240,7 +240,7 @@
|
||||
damage = 10
|
||||
attack_sound = 'sound/items/welder.ogg'
|
||||
attack_name = "flaming touch"
|
||||
damage_type = BURN
|
||||
damage_type = DAMAGE_BURN
|
||||
|
||||
/datum/unarmed_attack/flame/apply_effects(var/mob/living/carbon/human/user,var/mob/living/carbon/human/target,var/armor,var/attack_damage,var/zone)
|
||||
..()
|
||||
|
||||
@@ -768,7 +768,7 @@ var/global/list/golem_types = list(SPECIES_GOLEM_COAL,
|
||||
/datum/species/golem/uranium/handle_environment_special(var/mob/living/carbon/human/H)
|
||||
if(prob(25))
|
||||
for(var/mob/living/L in view(7, H))
|
||||
L.apply_damage(20, IRRADIATE, damage_flags = DAM_DISPERSED)
|
||||
L.apply_damage(20, DAMAGE_RADIATION, damage_flags = DAMAGE_FLAG_DISPERSED)
|
||||
|
||||
/datum/species/golem/homunculus
|
||||
name = SPECIES_GOLEM_MEAT
|
||||
|
||||
@@ -15,7 +15,7 @@ var/global/list/sparring_attack_cache = list()
|
||||
var/sharp = 0
|
||||
var/edge = FALSE
|
||||
|
||||
var/damage_type = BRUTE
|
||||
var/damage_type = DAMAGE_BRUTE
|
||||
var/sparring_variant_type = /datum/unarmed_attack/pain_strike
|
||||
|
||||
var/eye_attack_text
|
||||
@@ -53,7 +53,7 @@ var/global/list/sparring_attack_cache = list()
|
||||
return
|
||||
|
||||
var/stun_chance = rand(0, 100)
|
||||
var/armor = target.get_blocked_ratio(zone, BRUTE, damage_flags(), armor_penetration, damage)
|
||||
var/armor = target.get_blocked_ratio(zone, DAMAGE_BRUTE, damage_flags(), armor_penetration, damage)
|
||||
var/pain_message = TRUE
|
||||
|
||||
if(!target.can_feel_pain())
|
||||
@@ -96,7 +96,7 @@ var/global/list/sparring_attack_cache = list()
|
||||
if(!target.lying)
|
||||
if(pain_message)
|
||||
target.visible_message("<span class='warning'>[target] gives way slightly.</span>")
|
||||
target.apply_effect(attack_damage*3, PAIN, armor)
|
||||
target.apply_effect(attack_damage*3, DAMAGE_PAIN, armor)
|
||||
else if(attack_damage >= 5 && !(target == user) && (stun_chance + attack_damage * 5 >= 100) && armor < 1) // Chance to get the usual throwdown as well (25% standard chance)
|
||||
if(!target.lying)
|
||||
target.visible_message("<span class='danger'>[target] [pick("slumps", "falls", "drops")] down to the ground!</span>")
|
||||
@@ -127,9 +127,9 @@ var/global/list/sparring_attack_cache = list()
|
||||
/datum/unarmed_attack/proc/damage_flags()
|
||||
. = 0
|
||||
if(sharp)
|
||||
. |= DAM_SHARP
|
||||
. |= DAMAGE_FLAG_SHARP
|
||||
if(edge)
|
||||
. |= DAM_EDGE
|
||||
. |= DAMAGE_FLAG_EDGE
|
||||
|
||||
/datum/unarmed_attack/bite
|
||||
attack_verb = list("bit")
|
||||
@@ -315,7 +315,7 @@ var/global/list/sparring_attack_cache = list()
|
||||
if(5) user.visible_message("<span class='danger'>[pick("[user] landed a powerful stomp on", "[user] stomped down hard on", "[user] slammed [user.get_pronoun("his")] [shoes ? copytext(shoes.name, 1, -1) : "foot"] down hard onto")] [target]'s [organ]!</span>") //Devastated lol. No. We want to say that the stomp was powerful or forceful, not that it /wrought devastation/
|
||||
|
||||
/datum/unarmed_attack/pain_strike
|
||||
damage_type = PAIN
|
||||
damage_type = DAMAGE_PAIN
|
||||
attack_noun = list("tap","light strike")
|
||||
attack_verb = list("tapped", "lightly struck")
|
||||
desc = "Sparring: A light strike to your opponent. So light, it won't even leave a mark! They WILL feel this, but will suffer no dangerous side effect, unless you punch them into cardiac arrest!"
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
standard 0 if fail
|
||||
*/
|
||||
|
||||
/mob/living/proc/apply_damage(var/damage = 0, var/damagetype = BRUTE, var/def_zone, var/used_weapon, var/damage_flags = 0, var/armor_pen, var/silent = FALSE)
|
||||
/mob/living/proc/apply_damage(var/damage = 0, var/damagetype = DAMAGE_BRUTE, var/def_zone, var/used_weapon, var/damage_flags = 0, var/armor_pen, var/silent = FALSE)
|
||||
if(!damage)
|
||||
return FALSE
|
||||
|
||||
@@ -20,33 +20,33 @@
|
||||
return FALSE
|
||||
|
||||
switch(damagetype)
|
||||
if(BRUTE)
|
||||
if(DAMAGE_BRUTE)
|
||||
adjustBruteLoss(damage)
|
||||
if(BURN)
|
||||
if(DAMAGE_BURN)
|
||||
if(HAS_FLAG(mutations, COLD_RESISTANCE))
|
||||
damage = 0
|
||||
adjustFireLoss(damage)
|
||||
if(TOX)
|
||||
if(DAMAGE_TOXIN)
|
||||
adjustToxLoss(damage)
|
||||
if(OXY)
|
||||
if(DAMAGE_OXY)
|
||||
adjustOxyLoss(damage)
|
||||
if(CLONE)
|
||||
if(DAMAGE_CLONE)
|
||||
adjustCloneLoss(damage)
|
||||
if(PAIN)
|
||||
if(DAMAGE_PAIN)
|
||||
adjustHalLoss(damage)
|
||||
if(IRRADIATE)
|
||||
if(DAMAGE_RADIATION)
|
||||
apply_radiation(damage)
|
||||
|
||||
updatehealth()
|
||||
return TRUE
|
||||
|
||||
/mob/living/proc/apply_damages(var/brute = 0, var/burn = 0, var/tox = 0, var/oxy = 0, var/clone = 0, var/halloss = 0, var/def_zone, var/damage_flags = 0)
|
||||
if(brute) apply_damage(brute, BRUTE, def_zone, blocked)
|
||||
if(burn) apply_damage(burn, BURN, def_zone, blocked)
|
||||
if(tox) apply_damage(tox, TOX, def_zone, blocked)
|
||||
if(oxy) apply_damage(oxy, OXY, def_zone, blocked)
|
||||
if(clone) apply_damage(clone, CLONE, def_zone, blocked)
|
||||
if(halloss) apply_damage(halloss, PAIN, def_zone, blocked)
|
||||
if(brute) apply_damage(brute, DAMAGE_BRUTE, def_zone, blocked)
|
||||
if(burn) apply_damage(burn, DAMAGE_BURN, def_zone, blocked)
|
||||
if(tox) apply_damage(tox, DAMAGE_TOXIN, def_zone, blocked)
|
||||
if(oxy) apply_damage(oxy, DAMAGE_OXY, def_zone, blocked)
|
||||
if(clone) apply_damage(clone, DAMAGE_CLONE, def_zone, blocked)
|
||||
if(halloss) apply_damage(halloss, DAMAGE_PAIN, def_zone, blocked)
|
||||
return TRUE
|
||||
|
||||
/mob/living/proc/apply_effect(var/effect = 0,var/effecttype = STUN, var/blocked = 0)
|
||||
@@ -58,7 +58,7 @@
|
||||
Weaken(effect * BLOCKED_MULT(blocked))
|
||||
if(PARALYZE)
|
||||
Paralyse(effect * BLOCKED_MULT(blocked))
|
||||
if(PAIN)
|
||||
if(DAMAGE_PAIN)
|
||||
adjustHalLoss(effect * BLOCKED_MULT(blocked)) //Changed this to use the wrapper function, it shouldn't directly alter the value
|
||||
if(STUTTER)
|
||||
if(status_flags & CANSTUN) // stun is usually associated with stutter
|
||||
@@ -81,7 +81,7 @@
|
||||
if(stutter) apply_effect(stutter, STUTTER, blocked)
|
||||
if(eyeblur) apply_effect(eyeblur, EYE_BLUR, blocked)
|
||||
if(drowsy) apply_effect(drowsy, DROWSY, blocked)
|
||||
if(agony) apply_effect(agony, PAIN, blocked)
|
||||
if(agony) apply_effect(agony, DAMAGE_PAIN, blocked)
|
||||
if(incinerate) apply_effect(incinerate, INCINERATE, blocked)
|
||||
return 1
|
||||
|
||||
|
||||
@@ -101,7 +101,7 @@
|
||||
apply_effect(stun_amount, EYE_BLUR)
|
||||
|
||||
if(agony_amount)
|
||||
apply_damage(agony_amount, PAIN, def_zone, used_weapon)
|
||||
apply_damage(agony_amount, DAMAGE_PAIN, def_zone, used_weapon)
|
||||
apply_effect(agony_amount / 10, STUTTER)
|
||||
apply_effect(agony_amount / 10, EYE_BLUR)
|
||||
|
||||
@@ -142,7 +142,7 @@
|
||||
|
||||
. = standard_weapon_hit_effects(I, user, effective_force, hit_zone)
|
||||
|
||||
if(I.damtype == BRUTE && prob(33) && I.force) // Added blood for whacking non-humans too
|
||||
if(I.damtype == DAMAGE_BRUTE && prob(33) && I.force) // Added blood for whacking non-humans too
|
||||
var/turf/simulated/location = get_turf(src)
|
||||
if(istype(location)) location.add_blood_floor(src)
|
||||
|
||||
@@ -229,7 +229,7 @@
|
||||
/mob/living/proc/turf_collision(var/atom/T, var/speed = THROWFORCE_SPEED_DIVISOR, var/sound_to_play = 'sound/effects/bangtaper.ogg')
|
||||
visible_message("<span class='danger'>[src] slams into \the [T]!</span>")
|
||||
playsound(T, sound_to_play, 50, 1, 1)//so it plays sounds on the turf instead, makes for awesome carps to hull collision and such
|
||||
apply_damage(speed*5, BRUTE)
|
||||
apply_damage(speed*5, DAMAGE_BRUTE)
|
||||
|
||||
/mob/living/proc/near_wall(var/direction,var/distance=1)
|
||||
var/turf/T = get_step(get_turf(src),direction)
|
||||
|
||||
@@ -39,7 +39,7 @@
|
||||
shake_camera(L, 2, 4)
|
||||
for(var/mob/living/rebecca in T)
|
||||
if(rebecca.lying || from_above)
|
||||
rebecca.apply_damage(40 * damage_mod, BRUTE, pick(BP_ALL_LIMBS), used_weapon = "landing", armor_pen = 30) //so true choomfie
|
||||
rebecca.apply_damage(40 * damage_mod, DAMAGE_BRUTE, pick(BP_ALL_LIMBS), used_weapon = "landing", armor_pen = 30) //so true choomfie
|
||||
T.visible_message(SPAN_DANGER("<font size=4>[H] lands on [rebecca]!</font>"))
|
||||
to_chat(H, SPAN_DANGER("<font size=4>You land on [rebecca]!</font>")) //since the mob won't be on the turf yet
|
||||
user.post_maneuver()
|
||||
|
||||
@@ -131,7 +131,7 @@
|
||||
close_up()
|
||||
|
||||
if(I_HURT)
|
||||
apply_damage(harm_intent_damage, BRUTE, used_weapon = "Attack by [M.name]")
|
||||
apply_damage(harm_intent_damage, DAMAGE_BRUTE, used_weapon = "Attack by [M.name]")
|
||||
M.visible_message(SPAN_DANGER("[M] [response_harm] \the [src]"))
|
||||
M.do_attack_animation(src)
|
||||
updatehealth()
|
||||
|
||||
@@ -146,9 +146,9 @@
|
||||
/mob/living/silicon/bullet_act(obj/item/projectile/Proj)
|
||||
if(!Proj.nodamage)
|
||||
switch(Proj.damage_type)
|
||||
if(BRUTE)
|
||||
if(DAMAGE_BRUTE)
|
||||
adjustBruteLoss(Proj.damage)
|
||||
if(BURN)
|
||||
if(DAMAGE_BURN)
|
||||
adjustFireLoss(Proj.damage)
|
||||
|
||||
Proj.on_hit(src, 100)
|
||||
@@ -290,8 +290,8 @@
|
||||
if(3.0)
|
||||
brute = 30
|
||||
|
||||
apply_damage(brute, BRUTE, damage_flags = DAM_EXPLODE)
|
||||
apply_damage(burn, BURN, damage_flags = DAM_EXPLODE)
|
||||
apply_damage(brute, DAMAGE_BRUTE, damage_flags = DAMAGE_FLAG_EXPLODE)
|
||||
apply_damage(burn, DAMAGE_BURN, damage_flags = DAMAGE_FLAG_EXPLODE)
|
||||
|
||||
/mob/living/silicon/proc/receive_alarm(var/datum/alarm_handler/alarm_handler, var/datum/alarm/alarm, was_raised)
|
||||
if(!next_alarm_notice)
|
||||
|
||||
@@ -97,11 +97,11 @@
|
||||
else
|
||||
prob_mult -= 0.01 *(min(LAZYACCESS(worn_helmet.armor, "bio"), 30))// Is your helmet sealed? I can't get to 30% of your body.
|
||||
if( prob(sting_prob*prob_mult) && (M.stat == CONSCIOUS || (M.stat == UNCONSCIOUS && prob(25*prob_mult))) ) // Try to sting! If you're not moving, think about stinging.
|
||||
M.apply_damage(min(strength*0.85,2)+mut, BURN, damage_flags = DAM_SHARP) // Stinging. The more mutated I am, the harder I sting.
|
||||
M.apply_damage(min(strength*0.85,2)+mut, DAMAGE_BURN, damage_flags = DAMAGE_FLAG_SHARP) // Stinging. The more mutated I am, the harder I sting.
|
||||
var/venom_strength = max(strength*0.2, (round(feral/10,1) * (max(round(strength/20,1), 1)))) + toxic // Bee venom based on how angry I am and how many there are of me!
|
||||
M.apply_damage(venom_strength, PAIN) //Bee venom causes pain, not organ failure
|
||||
M.apply_damage(venom_strength, DAMAGE_PAIN) //Bee venom causes pain, not organ failure
|
||||
if(prob(max(80, strength * 10))) //If there's enough of a swarm, it can also cause breathing trouble. Yes, even without being allergic.
|
||||
M.apply_damage(venom_strength, OXY)
|
||||
M.apply_damage(venom_strength, DAMAGE_OXY)
|
||||
update_icon()
|
||||
to_chat(M, "<span class='warning'>You have been stung!</span>")
|
||||
M.flash_pain(5)
|
||||
@@ -253,11 +253,11 @@
|
||||
/mob/living/simple_animal/bee/attempt_grab(var/mob/living/grabber)
|
||||
if (prob(strength*5))//if the swarm is big you might grab a few bees, you won't make a serious dent
|
||||
to_chat(grabber, "<span class = 'warning'>You attempt to grab the swarm, but only manage to snatch a scant handful of crushed bees.</span>")
|
||||
apply_damage(strength*0.5, BRUTE, used_weapon = "Crushing by [grabber.name]")
|
||||
apply_damage(strength*0.5, DAMAGE_BRUTE, used_weapon = "Crushing by [grabber.name]")
|
||||
else
|
||||
to_chat(grabber, "<span class = 'warning'>For some bizarre reason known only to yourself, you attempt to grab ahold of the swarm of bees. You come away with nothing but empty, slightly stung hands.</span>")
|
||||
if(verify_stingable(grabber))
|
||||
grabber.apply_damage(strength*0.5, BURN)
|
||||
grabber.apply_damage(strength*0.5, DAMAGE_BURN)
|
||||
|
||||
return 0
|
||||
|
||||
|
||||
@@ -159,7 +159,7 @@
|
||||
/mob/living/simple_animal/cat/apply_radiation_effects()
|
||||
. = ..()
|
||||
if(.)
|
||||
apply_effect((rand(30,60)),IRRADIATE,blocked=0)
|
||||
apply_damage((rand(30,60)), DAMAGE_RADIATION, damage_flags = DAMAGE_FLAG_DISPERSED)
|
||||
|
||||
/mob/living/simple_animal/cat/proc/handle_flee_target()
|
||||
//see if we should stop fleeing
|
||||
|
||||
@@ -159,7 +159,7 @@
|
||||
update_nutrition_stats()
|
||||
|
||||
/mob/living/simple_animal/rat/king/splat()
|
||||
src.apply_damage(5, BRUTE)
|
||||
src.apply_damage(5, DAMAGE_BRUTE)
|
||||
|
||||
/mob/living/simple_animal/rat/king/verb/kingDecree()
|
||||
set category = "Abilities"
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
melee_damage_lower = 10
|
||||
melee_damage_upper = 18
|
||||
armor_penetration = 30 //Standard armor probably doesn't help against a bear, does it?
|
||||
attack_flags = DAM_EDGE|DAM_SHARP
|
||||
attack_flags = DAMAGE_FLAG_EDGE|DAMAGE_FLAG_SHARP
|
||||
resist_mod = 4
|
||||
break_stuff_probability = 80
|
||||
mob_size = 17
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
melee_damage_lower = 10
|
||||
melee_damage_upper = 10
|
||||
armor_penetration = 40
|
||||
attack_flags = DAM_SHARP|DAM_EDGE
|
||||
attack_flags = DAMAGE_FLAG_SHARP|DAMAGE_FLAG_EDGE
|
||||
break_stuff_probability = 25
|
||||
attacktext = "slashed"
|
||||
projectilesound = 'sound/weapons/bladeslice.ogg'
|
||||
|
||||
+3
-3
@@ -1,7 +1,7 @@
|
||||
/obj/item/projectile/beam/hivebot
|
||||
name = "electrical discharge"
|
||||
damage = 20
|
||||
damage_type = BURN
|
||||
damage_type = DAMAGE_BURN
|
||||
agony = 20
|
||||
armor_penetration = 40
|
||||
muzzle_type = /obj/effect/projectile/muzzle/stun
|
||||
@@ -11,12 +11,12 @@
|
||||
/obj/item/projectile/beam/hivebot/harmless
|
||||
name = "harmless electrical discharge"
|
||||
damage = 0
|
||||
damage_type = PAIN
|
||||
damage_type = DAMAGE_PAIN
|
||||
agony = 0
|
||||
|
||||
/obj/item/projectile/beam/hivebot/incendiary
|
||||
name = "archaic energy welder"
|
||||
damage_type = BURN
|
||||
damage_type = DAMAGE_BURN
|
||||
damage = 20
|
||||
armor_penetration = 15
|
||||
incinerate = 5
|
||||
|
||||
@@ -137,7 +137,7 @@
|
||||
if(mob_size > 15)
|
||||
for(var/mob/living/M in orange(1,src))
|
||||
if(M != src)
|
||||
M.apply_damage(50, BRUTE)
|
||||
M.apply_damage(50, DAMAGE_BRUTE)
|
||||
M.apply_effect(6, STUN, blocked)
|
||||
M.throw_at(get_random_turf_in_range(get_turf(src), 1), 2)
|
||||
|
||||
|
||||
@@ -54,7 +54,7 @@
|
||||
/obj/item/projectile/beam/cavern
|
||||
name = "electrical discharge"
|
||||
icon_state = "stun"
|
||||
damage_type = BURN
|
||||
damage_type = DAMAGE_BURN
|
||||
check_armor = "energy"
|
||||
damage = 5
|
||||
|
||||
|
||||
@@ -60,7 +60,7 @@
|
||||
|
||||
/mob/living/simple_animal/hostile/retaliate/beast/charbaby/attack_hand(mob/living/carbon/human/H)
|
||||
. = ..()
|
||||
reflect_unarmed_damage(H, BURN, "amorphous mass")
|
||||
reflect_unarmed_damage(H, DAMAGE_BURN, "amorphous mass")
|
||||
|
||||
/mob/living/simple_animal/hostile/retaliate/beast/shantak/lava
|
||||
desc = "A vaguely canine looking beast. It looks as though its fur is made of stone wool."
|
||||
|
||||
@@ -73,7 +73,7 @@
|
||||
"<span class='danger'>\The [src] scrapes and gnashes against your exoskeleton before spitting you out!</span>",
|
||||
"<b>You hear several metallic scrapes!</b>"
|
||||
)
|
||||
R.apply_damage(60,BRUTE)
|
||||
R.apply_damage(60,DAMAGE_BRUTE)
|
||||
else
|
||||
L.visible_message(
|
||||
"<span class='danger'>\The [src] eviscerates [L] with its teeth, swallowing what little remains whole!</span>",
|
||||
@@ -184,7 +184,7 @@
|
||||
if(prob(50))
|
||||
var/mob/living/L = sarlacc.captive
|
||||
if(L)
|
||||
L.apply_damage(rand(3,10),BRUTE)
|
||||
L.apply_damage(rand(3,10),DAMAGE_BRUTE)
|
||||
L.visible_message(
|
||||
"<span class='danger'>\The [src] tears at [L]'s flesh with its gruesome jaws.</span>",
|
||||
"<span class='danger'>You feel a searing pain as \the [src] tears at your flesh!</span>",
|
||||
@@ -293,7 +293,7 @@
|
||||
var/list/possible_targets = list()
|
||||
for(var/mob/living/L in src.loc)
|
||||
if(L != src)
|
||||
L.apply_damage(15,BRUTE)
|
||||
L.apply_damage(15,DAMAGE_BRUTE)
|
||||
possible_targets += L
|
||||
to_chat(L, "<span class='danger'>\The [src] wraps around you tightly with its spiny teeth+!</span>")
|
||||
if(Adjacent(originator) && possible_targets.len)
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
melee_damage_lower = 15
|
||||
melee_damage_upper = 15
|
||||
armor_penetration = 15
|
||||
attack_flags = DAM_EDGE
|
||||
attack_flags = DAMAGE_FLAG_EDGE
|
||||
attacktext = "bitten"
|
||||
attack_sound = 'sound/weapons/bite.ogg'
|
||||
|
||||
|
||||
@@ -114,6 +114,6 @@
|
||||
S.visible_message("<span class='danger'>\The [S] lands on the [target_turf]!</span>")
|
||||
for(var/mob/living/M in target_turf)
|
||||
if(M != src)
|
||||
M.apply_damage(50, BRUTE)
|
||||
M.apply_damage(50, DAMAGE_BRUTE)
|
||||
M.apply_effect(6, STUN, blocked)
|
||||
return TRUE
|
||||
@@ -66,7 +66,7 @@
|
||||
if(O.force)
|
||||
if(prob(80))
|
||||
var/damage = O.force
|
||||
if (O.damtype == PAIN)
|
||||
if (O.damtype == DAMAGE_PAIN)
|
||||
damage = 0
|
||||
health -= damage
|
||||
visible_message("<span class='danger'>[src] has been attacked with the [O] by [user].</span>")
|
||||
|
||||
@@ -58,13 +58,13 @@
|
||||
visible_message("<b>[src]</b> lifts \the [rival] over its head and slams them down into the ground behind them!")
|
||||
rival.throw_at(get_step(src, reverse_dir[dir]), 1, 3, src, TRUE)
|
||||
playsound(loc, 'sound/effects/bang.ogg', 50, 1)
|
||||
rival.apply_damage(2, BRUTE)
|
||||
rival.apply_damage(2, DAMAGE_BRUTE)
|
||||
if(2)
|
||||
visible_message("<b>[src]</b> leaps into the air and superman punches \the [rival]!")
|
||||
animate(src, pixel_z = 16, time = 3, easing = SINE_EASING | EASE_IN)
|
||||
animate(pixel_z = 0, time = 3, easing = SINE_EASING | EASE_OUT)
|
||||
playsound(loc, 'sound/weapons/cardboardhit.ogg', 50, 1)
|
||||
rival.apply_damage(2, BRUTE)
|
||||
rival.apply_damage(2, DAMAGE_BRUTE)
|
||||
if(rival.health <= 0)
|
||||
say(pick(victory_speech))
|
||||
|
||||
|
||||
@@ -482,7 +482,7 @@
|
||||
var/mob/living/carbon/human/H = parrot_interest
|
||||
var/obj/item/organ/external/affecting = H.get_organ(ran_zone(pick(parrot_dam_zone)))
|
||||
|
||||
H.apply_damage(damage, BRUTE, affecting, damage_flags = DAM_SHARP)
|
||||
H.apply_damage(damage, DAMAGE_BRUTE, affecting, damage_flags = DAMAGE_FLAG_SHARP)
|
||||
visible_emote(pick("pecks [H]'s [affecting].", "cuts [H]'s [affecting] with its talons."))
|
||||
|
||||
else
|
||||
|
||||
@@ -278,15 +278,15 @@
|
||||
//Atmos effect
|
||||
if(bodytemperature < minbodytemp)
|
||||
fire_alert = 2
|
||||
apply_damage(cold_damage_per_tick, BURN, used_weapon = "Cold Temperature")
|
||||
apply_damage(cold_damage_per_tick, DAMAGE_BURN, used_weapon = "Cold Temperature")
|
||||
else if(bodytemperature > maxbodytemp)
|
||||
fire_alert = 1
|
||||
apply_damage(heat_damage_per_tick, BURN, used_weapon = "High Temperature")
|
||||
apply_damage(heat_damage_per_tick, DAMAGE_BURN, used_weapon = "High Temperature")
|
||||
else
|
||||
fire_alert = 0
|
||||
|
||||
if(!atmos_suitable)
|
||||
apply_damage(unsuitable_atoms_damage, OXY, used_weapon = "Atmosphere")
|
||||
apply_damage(unsuitable_atoms_damage, DAMAGE_OXY, used_weapon = "Atmosphere")
|
||||
|
||||
if(has_udder)
|
||||
if(stat == CONSCIOUS)
|
||||
@@ -537,7 +537,7 @@
|
||||
simple_harm_attack(user)
|
||||
|
||||
/mob/living/simple_animal/proc/simple_harm_attack(var/mob/living/user)
|
||||
apply_damage(harm_intent_damage, BRUTE, used_weapon = "Attack by [user.name]")
|
||||
apply_damage(harm_intent_damage, DAMAGE_BRUTE, used_weapon = "Attack by [user.name]")
|
||||
user.visible_message(SPAN_WARNING("<b>\The [user]</b> [response_harm] \the [src]!"), SPAN_WARNING("You [response_harm] \the [src]!"))
|
||||
user.do_attack_animation(src, FIST_ATTACK_ANIMATION)
|
||||
poke(TRUE)
|
||||
@@ -590,7 +590,7 @@
|
||||
|
||||
if(O.force > resistance)
|
||||
var/damage = O.force
|
||||
if (O.damtype == PAIN)
|
||||
if (O.damtype == DAMAGE_PAIN)
|
||||
damage = 0
|
||||
if(supernatural && istype(O,/obj/item/nullrod))
|
||||
damage *= 2
|
||||
@@ -707,7 +707,7 @@
|
||||
if(3.0)
|
||||
damage = 30
|
||||
|
||||
apply_damage(damage, BRUTE, damage_flags = DAM_EXPLODE)
|
||||
apply_damage(damage, DAMAGE_BRUTE, damage_flags = DAMAGE_FLAG_EXPLODE)
|
||||
|
||||
/mob/living/simple_animal/proc/SA_attackable(target_mob)
|
||||
if (isliving(target_mob))
|
||||
@@ -879,7 +879,7 @@
|
||||
|
||||
//Todo: add snowflakey shit to it.
|
||||
/mob/living/simple_animal/electrocute_act(var/shock_damage, var/obj/source, var/base_siemens_coeff = 1.0, var/def_zone = null, var/tesla_shock = 0, var/ground_zero)
|
||||
apply_damage(shock_damage, BURN)
|
||||
apply_damage(shock_damage, DAMAGE_BURN)
|
||||
playsound(loc, /singleton/sound_category/spark_sound, 50, 1, -1)
|
||||
spark(loc, 5, alldirs)
|
||||
visible_message(SPAN_WARNING("\The [src] was shocked by \the [source]!"), SPAN_WARNING("You are shocked by \the [source]!"), SPAN_WARNING("You hear an electrical crack!"))
|
||||
@@ -924,7 +924,7 @@
|
||||
..()
|
||||
switch(get_bullet_impact_effect_type(def_zone))
|
||||
if(BULLET_IMPACT_MEAT)
|
||||
if(P.damage_type == BRUTE)
|
||||
if(P.damage_type == DAMAGE_BRUTE)
|
||||
var/hit_dir = get_dir(P.starting, src)
|
||||
var/obj/effect/decal/cleanable/blood/B = blood_splatter(get_step(src, hit_dir), src, 1, hit_dir)
|
||||
B.icon_state = pick("dir_splatter_1","dir_splatter_2")
|
||||
|
||||
@@ -1155,7 +1155,7 @@
|
||||
affected.implants -= implant
|
||||
if(!surgical_removal)
|
||||
shock_stage += 20
|
||||
apply_damage((implant.w_class * 7), BRUTE, affected)
|
||||
apply_damage((implant.w_class * 7), DAMAGE_BRUTE, affected)
|
||||
if(!BP_IS_ROBOTIC(affected) && prob(implant.w_class * 5) && affected.sever_artery()) //I'M SO ANEMIC I COULD JUST -DIE-.
|
||||
custom_pain("Something tears wetly in your [affected.name] as [implant] is pulled free!", 50, affecting = affected)
|
||||
. = ..()
|
||||
|
||||
@@ -55,7 +55,7 @@
|
||||
return
|
||||
|
||||
attacker.visible_message("<span class='danger'>[attacker] [pick("bent", "twisted")] [target]'s [organ.name] into a jointlock!</span>")
|
||||
var/armor = 100 * affecting.get_blocked_ratio(target, BRUTE, damage = 30)
|
||||
var/armor = 100 * affecting.get_blocked_ratio(target, DAMAGE_BRUTE, damage = 30)
|
||||
if(armor < 70)
|
||||
to_chat(target, "<span class='danger'>You feel extreme pain!</span>")
|
||||
affecting.adjustHalLoss(Clamp(0, 60 - affecting.getHalLoss(), 30)) //up to 60 halloss
|
||||
@@ -104,8 +104,8 @@
|
||||
if(istype(hat))
|
||||
damage += hat.force * 3
|
||||
|
||||
target.apply_damage(damage, BRUTE, BP_HEAD)
|
||||
attacker.apply_damage(10, BRUTE, BP_HEAD)
|
||||
target.apply_damage(damage, DAMAGE_BRUTE, BP_HEAD)
|
||||
attacker.apply_damage(10, DAMAGE_BRUTE, BP_HEAD)
|
||||
|
||||
if(armor < 25 && target.headcheck(BP_HEAD) && prob(damage))
|
||||
target.apply_effect(20, PARALYZE)
|
||||
@@ -167,20 +167,20 @@
|
||||
visible_message("<span class='notice'>[assailant] tried to grab [target] but they have no hair!</span>")
|
||||
if(1)
|
||||
visible_message("<span class='danger'>[assailant] tugs [target]'s [hairchatname] before releasing their grip!</span>")
|
||||
target.apply_damage(5, PAIN)
|
||||
target.apply_damage(5, DAMAGE_PAIN)
|
||||
if(2)
|
||||
visible_message("<span class='danger'>[assailant] tugs [target]'s [hairchatname]!</span>")
|
||||
target.apply_damage(5, PAIN)
|
||||
target.apply_damage(5, DAMAGE_PAIN)
|
||||
src.state = GRAB_PASSIVE
|
||||
|
||||
if(3)
|
||||
visible_message("<span class='danger'>[assailant] tugs [target]'s [hairchatname]!</span>")
|
||||
target.apply_damage(10, PAIN)
|
||||
target.apply_damage(10, DAMAGE_PAIN)
|
||||
src.state = GRAB_PASSIVE
|
||||
|
||||
if(4)
|
||||
visible_message("<span class='danger'>[assailant] violently tugs [target]'s [hairchatname], ripping out a clump!</span>")
|
||||
target.apply_damage(15, PAIN)
|
||||
target.apply_damage(15, DAMAGE_PAIN)
|
||||
src.state = GRAB_PASSIVE
|
||||
|
||||
if(5)
|
||||
@@ -189,7 +189,7 @@
|
||||
src.state = GRAB_PASSIVE
|
||||
else
|
||||
visible_message("<span class='danger'>[assailant] violently tugs [target]'s [hairchatname]!</span>")
|
||||
target.apply_damage(10, PAIN)
|
||||
target.apply_damage(10, DAMAGE_PAIN)
|
||||
src.state = GRAB_AGGRESSIVE
|
||||
|
||||
if(6)
|
||||
@@ -199,5 +199,5 @@
|
||||
playsound(target.loc, 'sound/misc/slip.ogg', 50, 1, -3)
|
||||
else
|
||||
visible_message("<span class='danger'>[assailant] violently tugs [target]'s [hairchatname]!</span>")
|
||||
target.apply_damage(15, PAIN)
|
||||
target.apply_damage(15, DAMAGE_PAIN)
|
||||
src.state = GRAB_AGGRESSIVE
|
||||
|
||||
Reference in New Issue
Block a user