Merge pull request #350 from VampyrBytes/master

several fixes inc #233
This commit is contained in:
ZomgPonies
2014-08-02 18:58:27 -04:00
3 changed files with 21 additions and 15 deletions
@@ -131,11 +131,12 @@ Please contact me on #coderbus IRC. ~Carn x
#define FIRE_LAYER 24 //If you're on fire
#define TOTAL_LAYERS 24
/mob/living/carbon/human
var/list/overlays_standing[TOTAL_LAYERS]
var/previous_damage_appearance // store what the body last looked like, so we only have to update it if something changed
var/icon/race_icon
var/icon/deform_icon
var/icon/skeleton
/mob/living/carbon/human/proc/apply_overlay(cache_index)
@@ -238,7 +239,6 @@ proc/get_damage_icon_part(damage_state, body_part)
var/husk = (M_HUSK in src.mutations) //100% unnecessary -Agouri //nope, do you really want to iterate through src.mutations repeatedly? -Pete
var/fat = (M_FAT in src.mutations)
var/hulk = (M_HULK in src.mutations)
var/skeleton = (SKELETON in src.mutations)
var/g = (gender == FEMALE ? "f" : "m")
var/has_head = 0
@@ -351,7 +351,7 @@ proc/get_damage_icon_part(damage_state, body_part)
//Handle husk overlay.
if(husk)
var/icon/mask = new(base_icon)
var/icon/husk_over = new(race_icon,"overlay_husk")
var/icon/husk_over = new(species.icobase,"overlay_husk")
mask.MapColors(0,0,0,1, 0,0,0,1, 0,0,0,1, 0,0,0,1, 0,0,0,0)
husk_over.Blend(mask, ICON_ADD)
base_icon.Blend(husk_over, ICON_OVERLAY)
@@ -506,13 +506,11 @@ proc/get_damage_icon_part(damage_state, body_part)
// var/g = "m"
// if (gender == FEMALE) g = "f"
//BS12 EDIT
var/skeleton = (SKELETON in src.mutations)
if(skeleton)
race_icon = 'icons/mob/human_races/r_skeleton.dmi'
var/skel = (SKELETON in src.mutations)
if(skel)
skeleton = 'icons/mob/human_races/r_skeleton.dmi'
else
//Icon data is kept in species datums within the mob.
race_icon = species.icobase
deform_icon = species.deform
skeleton = null
if(dna)
switch(dna.mutantrace)
+8 -4
View File
@@ -813,11 +813,13 @@ Note that amputating the affected organ does in fact remove the infection from t
/datum/organ/external/get_icon(gender="", fat="")
if (status & ORGAN_MUTATED)
return new /icon(owner.deform_icon, "[icon_name][gender ? "_[gender]" : ""][fat ? "_fat" : ""]")
return new /icon(owner.species.deform, "[icon_name][gender ? "_[gender]" : ""][fat ? "_fat" : ""]")
else if (status & ORGAN_ROBOT && !(owner.species && owner.species.flags & IS_SYNTHETIC))
return new /icon('icons/mob/human_races/robotic.dmi', "[icon_name][gender ? "_[gender]" : ""]")
else if (owner.skeleton)
return new /icon(owner.skeleton, "[icon_name][gender ? "_[gender]" : ""]")
else
return new /icon(owner.race_icon, "[icon_name][gender ? "_[gender]" : ""][fat ? "_fat" : ""]")
return new /icon(owner.species.icobase, "[icon_name][gender ? "_[gender]" : ""][fat ? "_fat" : ""]")
/datum/organ/external/proc/is_usable()
@@ -983,9 +985,11 @@ Note that amputating the affected organ does in fact remove the infection from t
var/g = "m"
if(owner.gender == FEMALE) g = "f"
if (status & ORGAN_MUTATED)
. = new /icon(owner.deform_icon, "[icon_name]_[g]")
. = new /icon(owner.species.deform, "[icon_name]_[g]")
else if (owner.skeleton)
. = new /icon(owner.skeleton, "[icon_name]_[g]")
else
. = new /icon(owner.race_icon, "[icon_name]_[g]")
. = new /icon(owner.species.icobase, "[icon_name]_[g]")
/datum/organ/external/head/take_damage(brute, burn, sharp, edge, used_weapon = null, list/forbidden_limbs = list())
..(brute, burn, sharp, edge, used_weapon, forbidden_limbs)