Merge pull request #1369 from CIB/master

Optimized UpdateDamageIcon
This commit is contained in:
Albert Iordache
2012-06-23 05:01:48 -07:00
3 changed files with 19 additions and 2 deletions

View File

@@ -62,6 +62,9 @@
var/pale = 0
var/examine_text = ""
var/previous_damage_appearance // a string describing what the organ damage previously looked like
// used to determine whether the icon needs to be rebuilt
/mob/living/carbon/human/dummy
real_name = "Test Dummy"
nodamage = 1

View File

@@ -21,8 +21,24 @@
// now constructs damage icon for each organ from mask * damage field
/mob/living/carbon/human/UpdateDamageIcon()
// first check whether something actually changed about damage appearance
var/damage_appearance = ""
for(var/name in organs)
var/datum/organ/external/O = organs[name]
if(O.destroyed) damage_appearance += "d"
else
damage_appearance += O.damage_state
if(damage_appearance == previous_damage_appearance)
// nothing to do here
return
previous_damage_appearance = damage_appearance
var/icon/standing = new /icon('dam_human.dmi', "00")
var/icon/lying = new /icon('dam_human.dmi', "00-2")
for(var/name in organs)
var/datum/organ/external/O = organs[name]
if(!O.destroyed)