Merge pull request #16579 from FlattestGuitar/armor-defines

Adds defines for damage flags
This commit is contained in:
variableundefined
2021-09-17 22:10:20 -05:00
committed by GitHub
181 changed files with 458 additions and 450 deletions
+16 -16
View File
@@ -21,7 +21,7 @@
///returns the damage value of the attack after processing the obj's various armor protections
/obj/proc/run_obj_armor(damage_amount, damage_type, damage_flag = 0, attack_dir, armour_penetration = 0)
if(damage_flag == "melee" && damage_amount < damage_deflection)
if(damage_flag == MELEE && damage_amount < damage_deflection)
return 0
switch(damage_type)
if(BRUTE)
@@ -48,7 +48,7 @@
/obj/hitby(atom/movable/AM, skipcatch, hitpush, blocked, datum/thrownthing/throwingdatum)
..()
take_damage(AM.throwforce, BRUTE, "melee", 1, get_dir(src, AM))
take_damage(AM.throwforce, BRUTE, MELEE, 1, get_dir(src, AM))
/obj/ex_act(severity)
if(QDELETED(src))
@@ -57,11 +57,11 @@
return
switch(severity)
if(1)
take_damage(INFINITY, BRUTE, "bomb", 0)
take_damage(INFINITY, BRUTE, BOMB, 0)
if(2)
take_damage(rand(100, 250), BRUTE, "bomb", 0)
take_damage(rand(100, 250), BRUTE, BOMB, 0)
if(3)
take_damage(rand(10, 90), BRUTE, "bomb", 0)
take_damage(rand(10, 90), BRUTE, BOMB, 0)
/obj/bullet_act(obj/item/projectile/P)
. = ..()
@@ -83,7 +83,7 @@
user.say(pick(";RAAAAAAAARGH!", ";HNNNNNNNNNGGGGGGH!", ";GWAAAAAAAARRRHHH!", "NNNNNNNNGGGGGGGGHH!", ";AAAAAAARRRGH!" ))
else
playsound(src, 'sound/effects/bang.ogg', 50, 1)
take_damage(hulk_damage(), BRUTE, "melee", 0, get_dir(src, user))
take_damage(hulk_damage(), BRUTE, MELEE, 0, get_dir(src, user))
return TRUE
return FALSE
@@ -92,7 +92,7 @@
var/turf/T = loc
if((T.intact && level == 1) || T.transparent_floor) //the blob doesn't destroy thing below the floor
return
take_damage(400, BRUTE, "melee", 0, get_dir(src, B))
take_damage(400, BRUTE, MELEE, 0, get_dir(src, B))
/obj/proc/attack_generic(mob/user, damage_amount = 0, damage_type = BRUTE, damage_flag = 0, sound_effect = 1, armor_penetration = 0) //used by attack_alien, attack_animal, and attack_slime
user.do_attack_animation(src)
@@ -100,7 +100,7 @@
return take_damage(damage_amount, damage_type, damage_flag, sound_effect, get_dir(src, user), armor_penetration)
/obj/attack_alien(mob/living/carbon/alien/humanoid/user)
if(attack_generic(user, 60, BRUTE, "melee", 0))
if(attack_generic(user, 60, BRUTE, MELEE, 0))
playsound(loc, 'sound/weapons/slash.ogg', 100, TRUE)
/obj/attack_animal(mob/living/simple_animal/M)
@@ -112,9 +112,9 @@
if(M.environment_smash)
play_soundeffect = 0
if(M.obj_damage)
. = attack_generic(M, M.obj_damage, M.melee_damage_type, "melee", play_soundeffect, M.armour_penetration)
. = attack_generic(M, M.obj_damage, M.melee_damage_type, MELEE, play_soundeffect, M.armour_penetration)
else
. = attack_generic(M, rand(M.melee_damage_lower,M.melee_damage_upper), M.melee_damage_type, "melee", play_soundeffect, M.armour_penetration)
. = attack_generic(M, rand(M.melee_damage_lower,M.melee_damage_upper), M.melee_damage_type, MELEE, play_soundeffect, M.armour_penetration)
if(. && !play_soundeffect)
playsound(src, 'sound/effects/meteorimpact.ogg', 100, TRUE)
@@ -132,7 +132,7 @@
/obj/attack_slime(mob/living/simple_animal/slime/user)
if(!user.is_adult)
return
attack_generic(user, rand(10, 15), BRUTE, "melee", 1)
attack_generic(user, rand(10, 15), BRUTE, MELEE, 1)
/obj/mech_melee_attack(obj/mecha/M)
M.do_attack_animation(src)
@@ -153,7 +153,7 @@
else
return 0
M.visible_message("<span class='danger'>[M.name] hits [src]!</span>", "<span class='danger'>You hit [src]!</span>")
return take_damage(M.force*3, mech_damtype, "melee", play_soundeffect, get_dir(src, M)) // multiplied by 3 so we can hit objs hard but not be overpowered against mobs.
return take_damage(M.force*3, mech_damtype, MELEE, play_soundeffect, get_dir(src, M)) // multiplied by 3 so we can hit objs hard but not be overpowered against mobs.
/obj/singularity_act()
ex_act(EXPLODE_DEVASTATE)
@@ -183,7 +183,7 @@ GLOBAL_DATUM_INIT(acid_overlay, /mutable_appearance, mutable_appearance('icons/e
if(!(resistance_flags & ACID_PROOF))
if(prob(33))
playsound(loc, 'sound/items/welder.ogg', 150, TRUE)
take_damage(min(1 + round(sqrt(acid_level) * 0.3), 300), BURN, "acid", 0)
take_damage(min(1 + round(sqrt(acid_level) * 0.3), 300), BURN, ACID, 0)
acid_level = max(acid_level - (5 + 3 * round(sqrt(acid_level))), 0)
if(!acid_level)
@@ -203,7 +203,7 @@ GLOBAL_DATUM_INIT(acid_overlay, /mutable_appearance, mutable_appearance('icons/e
return
..()
if(exposed_temperature && !(resistance_flags & FIRE_PROOF))
take_damage(clamp(0.02 * exposed_temperature, 0, 20), BURN, "fire", 0)
take_damage(clamp(0.02 * exposed_temperature, 0, 20), BURN, FIRE, 0)
if(!(resistance_flags & ON_FIRE) && (resistance_flags & FLAMMABLE) && !(resistance_flags & FIRE_PROOF))
resistance_flags |= ON_FIRE
SSfires.processing[src] = src
@@ -253,9 +253,9 @@ GLOBAL_DATUM_INIT(acid_overlay, /mutable_appearance, mutable_appearance('icons/e
///what happens when the obj's integrity reaches zero.
/obj/proc/obj_destruction(damage_flag)
if(damage_flag == "acid")
if(damage_flag == ACID)
acid_melt()
else if(damage_flag == "fire")
else if(damage_flag == FIRE)
burn()
else
deconstruct(FALSE)