Ports the radiation subsystem and cleans up damage flags. (#15715)

This commit is contained in:
Matt Atlas
2023-02-07 13:22:47 +01:00
committed by GitHub
parent 5527fc0810
commit 31c73ead85
198 changed files with 981 additions and 649 deletions
+2 -2
View File
@@ -69,8 +69,8 @@ obj/item/clothing/mask/chewable/Destroy()
/obj/item/clothing/mask/chewable/proc/damagecrunch(mob/living/carbon/human/user)
if(src == user.wear_mask) // are we still chewing the gum?
user.apply_damage(damage_per_crunch, BRUTE, BP_HEAD)
user.apply_damage(damage_per_crunch/2, PAIN, BP_HEAD)
user.apply_damage(damage_per_crunch, DAMAGE_BRUTE, BP_HEAD)
user.apply_damage(damage_per_crunch/2, DAMAGE_PAIN, BP_HEAD)
to_chat(user, SPAN_DANGER("You bite down hard on \the [name]!"))
crunching = FALSE
@@ -853,9 +853,9 @@ CIGARETTE PACKETS ARE IN FANCY.DM
if(user.IgniteMob())
user.visible_message(SPAN_DANGER("<b>[user]</b> accidentally sets themselves on fire!"))
if(user.l_hand == src)
user.apply_damage(2, BURN,BP_L_HAND)
user.apply_damage(2, DAMAGE_BURN,BP_L_HAND)
else
user.apply_damage(2, BURN,BP_R_HAND)
user.apply_damage(2, DAMAGE_BURN,BP_R_HAND)
if(last_open <= world.time - 20) //Spam limiter.
last_open = world.time
user.visible_message(SPAN_DANGER("After a few attempts, <b>[user]</b> manages to light \the [src], they however burn their finger in the process."), range = 3)
@@ -71,7 +71,7 @@
/obj/item/dnainjector/proc/inject(mob/M as mob, mob/user as mob)
if(istype(M,/mob/living))
var/mob/living/L = M
L.apply_effect(rand(5,20), IRRADIATE, blocked = 0)
L.apply_damage(rand(5,20), DAMAGE_RADIATION, damage_flags = DAMAGE_FLAG_DISPERSED)
if (NOT_FLAG(M.mutations, NOCLONE)) // prevents drained people from having their DNA changed
if (buf.types & DNA2_BUF_UI)
+1 -1
View File
@@ -136,7 +136,7 @@
H.attack_log += text("\[[time_stamp()]\] <span class='warning'>[s] ([H.ckey])</span>")
log_attack("[s] ([H.ckey])",ckey=key_name(H))
if(O.take_damage(3, 0, damage_flags = DAM_SHARP|DAM_EDGE, used_weapon = "teeth marks"))
if(O.take_damage(3, 0, damage_flags = DAMAGE_FLAG_SHARP|DAMAGE_FLAG_EDGE, used_weapon = "teeth marks"))
H:UpdateDamageIcon()
last_chew = world.time
@@ -45,7 +45,7 @@
part.take_damage(burn = 15, used_weapon = "Electronics meltdown")
else
var/mob/living/M = imp_in
M.apply_damage(15,BURN)
M.apply_damage(15,DAMAGE_BURN)
name = "melted implant"
desc = "Charred circuit in melted plastic case. Wonder what that used to be..."
icon_state = "implant_melted"
@@ -49,7 +49,7 @@
damage_coef -= 0.2
return
if(H.apply_damage(25 * damage_coef, BRUTE, affecting))
if(H.apply_damage(25 * damage_coef, DAMAGE_BRUTE, affecting))
H.updatehealth()
if(H.can_feel_pain())
@@ -54,7 +54,7 @@
for(var/thing in O.implants)
var/obj/S = thing
usr.visible_message("<span class='notice'>[usr] starts carefully digging out something in [H == usr ? "themselves" : H]...</span>")
O.take_damage(8, 0, DAM_SHARP|DAM_EDGE, src)
O.take_damage(8, 0, DAMAGE_FLAG_SHARP|DAMAGE_FLAG_EDGE, src)
H.custom_pain("<font size=3><span class='danger'>It burns!</span></font>", 50)
if(do_mob(usr, H, 100))
H.remove_implant(S, FALSE)
@@ -36,7 +36,7 @@
return FALSE
/obj/item/material/sword/perform_technique(var/mob/living/carbon/human/target, var/mob/living/carbon/human/user, var/target_zone)
var/armor_reduction = target.get_blocked_ratio(target_zone, BRUTE, DAM_EDGE|DAM_SHARP, damage = force)*100
var/armor_reduction = target.get_blocked_ratio(target_zone, DAMAGE_BRUTE, DAMAGE_FLAG_EDGE|DAMAGE_FLAG_SHARP, damage = force)*100
var/obj/item/organ/external/affecting = target.get_organ(target_zone)
if(!affecting)
return
@@ -605,7 +605,7 @@
icon_state = "flag_hegemony0"
base_icon = "flag_hegemony"
contained_sprite = TRUE
damtype = BURN
damtype = DAMAGE_BURN
/obj/item/material/twohanded/pike/silver/Initialize(newloc, material_key)
. = ..(newloc, MATERIAL_SILVER)
@@ -26,7 +26,7 @@
user.Weaken(3 * force)
if(ishuman(user))
var/mob/living/carbon/human/H = user
H.apply_damage(2*force, BRUTE, BP_HEAD)
H.apply_damage(2*force, DAMAGE_BRUTE, BP_HEAD)
else
user.take_organ_damage(2*force)
return
@@ -96,14 +96,14 @@
user.Weaken(3 * force)
if(ishuman(user))
var/mob/living/carbon/human/H = user
H.apply_damage(2 * force, BRUTE, BP_HEAD)
H.apply_damage(2 * force, DAMAGE_BRUTE, BP_HEAD)
else
user.take_organ_damage(2 * force)
return
if(..() && user.a_intent == I_DISARM)
if(ishuman(target))
var/mob/living/carbon/human/T = target
T.apply_damage(40, PAIN, target_zone)
T.apply_damage(40, DAMAGE_PAIN, target_zone)
return
return ..()
+4 -4
View File
@@ -533,7 +533,7 @@
T.visible_message("<span class='danger'>\The [src] turns on.</span>")
playsound(loc, 'sound/items/welder_activate.ogg', 50, 1)
force = 15
damtype = BURN
damtype = DAMAGE_BURN
w_class = ITEMSIZE_LARGE
welding = TRUE
hitsound = SOUNDS_LASER_MEAT
@@ -552,7 +552,7 @@
T.visible_message("<span class='warning'>\The [src] turns off.</span>")
playsound(loc, 'sound/items/welder_deactivate.ogg', 50, 1)
force = 3
damtype = BRUTE
damtype = DAMAGE_BRUTE
w_class = initial(w_class)
welding = FALSE
hitsound = /singleton/sound_category/swing_hit_sound
@@ -946,10 +946,10 @@
if(!user.gloves)
var/UserLoc = get_equip_slot()
if(UserLoc == slot_l_hand)
user.apply_damage(5, BURN, BP_L_HAND)
user.apply_damage(5, DAMAGE_BURN, BP_L_HAND)
to_chat(user, SPAN_DANGER("The steel wool burns your left hand!"))
else if(UserLoc == slot_r_hand)
user.apply_damage(5, BURN, BP_R_HAND)
user.apply_damage(5, DAMAGE_BURN, BP_R_HAND)
to_chat(user, SPAN_DANGER("The steel wool burns your right hand!"))
new /obj/effect/decal/cleanable/ash(get_turf(src))
+1 -1
View File
@@ -90,7 +90,7 @@
else
target_zone = pick(BP_L_FOOT, BP_R_FOOT, BP_L_LEG, BP_R_LEG)
var/success = L.apply_damage(30, BRUTE, target_zone, used_weapon = src, armor_pen = activated_armor_penetration)
var/success = L.apply_damage(30, DAMAGE_BRUTE, target_zone, used_weapon = src, armor_pen = activated_armor_penetration)
if(!success)
return FALSE