Remove sharp/edge in procs and consolidate them into damage flags. (#8672)

This commit is contained in:
Matt Atlas
2020-04-30 20:29:35 +02:00
committed by GitHub
parent bf4e3d939d
commit 105cb5d64e
41 changed files with 194 additions and 176 deletions
+1 -1
View File
@@ -293,7 +293,7 @@
W.time_inflicted = world.time
//Note: external organs have their own version of this proc
/obj/item/organ/proc/take_damage(amount, var/silent=0)
/obj/item/organ/proc/take_damage(var/amount, var/silent = 0)
if(src.status & ORGAN_ROBOT)
src.damage = between(0, src.damage + (amount * 0.8), max_damage)
else
+5 -3
View File
@@ -245,7 +245,7 @@
//Continued damage to vital organs can kill you, and robot organs don't count towards total damage so no need to cap them.
return (BP_IS_ROBOTIC(src) || brute_dam + burn_dam + additional_damage < max_damage * 4)
/obj/item/organ/external/take_damage(brute, burn, sharp, edge, used_weapon = null, list/forbidden_limbs = list(), damage_flags, var/silent)
/obj/item/organ/external/take_damage(brute, burn, damage_flags, used_weapon = null, list/forbidden_limbs = list(), var/silent)
if((brute <= 0) && (burn <= 0))
return 0
@@ -253,6 +253,7 @@
burn *= burn_mod
var/laser = (damage_flags & DAM_LASER)
var/sharp = (damage_flags & DAM_SHARP)
var/blunt = !!(brute && !sharp && !edge)
if(status & ORGAN_BROKEN && prob(40) && brute)
@@ -300,7 +301,7 @@
// High brute damage or sharp objects may damage internal organs
if(length(internal_organs))
if(damage_internal_organs(brute, burn, sharp, damage_flags))
if(damage_internal_organs(brute, burn, damage_flags))
var/brute_div = 2 //We want melee weapons to not be affected by this.
if(damage_flags & DAM_BULLET)
brute_div = 1.25
@@ -315,13 +316,14 @@
return update_icon()
/obj/item/organ/external/proc/damage_internal_organs(brute, burn, sharp, damage_flags)
/obj/item/organ/external/proc/damage_internal_organs(brute, burn, damage_flags)
if(!length(internal_organs))
return FALSE
var/damage_amt = brute
var/cur_damage = brute_dam
var/laser = (damage_flags & DAM_LASER)
var/sharp = (damage_flags & DAM_SHARP)
if(laser)
damage_amt += burn
+2 -2
View File
@@ -184,8 +184,8 @@
owner.update_hair()
..()
/obj/item/organ/external/head/take_damage(brute, burn, sharp, edge, used_weapon = null, list/forbidden_limbs = list(), damage_flags, var/silent)
..(brute, burn, sharp, edge, used_weapon, forbidden_limbs, damage_flags, silent)
/obj/item/organ/external/head/take_damage(brute, burn, damage_flags, used_weapon = null, list/forbidden_limbs = list(), var/silent)
..(brute, burn, damage_flags, used_weapon, forbidden_limbs, damage_flags, silent)
if (!disfigured)
if (brute_dam > 40)
if (prob(50))