Species-based blood colour support code.

This commit is contained in:
Zuhayr
2013-12-26 03:21:46 +10:30
parent 660231f503
commit 6b2bfbc38d
4 changed files with 30 additions and 1 deletions

View File

@@ -5,6 +5,8 @@
desc = "It's green and acidic. It looks like... <i>blood?</i>"
icon = 'icons/effects/blood.dmi'
icon_state = "xfloor1"
basecolor = "#05CC05"
random_icon_states = list("xfloor1", "xfloor2", "xfloor3", "xfloor4", "xfloor5", "xfloor6", "xfloor7")
/obj/effect/decal/cleanable/blood/xeno/proc/streak(var/list/directions)
spawn (0)

View File

@@ -116,6 +116,7 @@
sleep(3)
if (i > 0)
var/obj/effect/decal/cleanable/blood/b = new /obj/effect/decal/cleanable/blood/splatter(src.loc)
b.basecolor = src.basecolor
for(var/datum/disease/D in src.viruses)
var/datum/disease/ND = D.Copy(1)
b.viruses += ND

View File

@@ -139,16 +139,32 @@
//if there isn't a blood decal already, make one.
var/obj/effect/decal/cleanable/blood/newblood = new /obj/effect/decal/cleanable/blood(src)
//Species-specific blood.
if(M.species)
newblood.basecolor = M.species.blood_color
newblood.blood_DNA[M.dna.unique_enzymes] = M.dna.b_type
return 1 //we bloodied the floor
// Only adds blood on the floor -- Skie
/turf/simulated/proc/add_blood_floor(mob/living/carbon/M as mob)
if( istype(M, /mob/living/carbon/monkey) || istype(M, /mob/living/carbon/human))
if(istype(M, /mob/living/carbon/monkey))
var/obj/effect/decal/cleanable/blood/this = new /obj/effect/decal/cleanable/blood(src)
this.blood_DNA[M.dna.unique_enzymes] = M.dna.b_type
else if(istype(M,/mob/living/carbon/human))
var/obj/effect/decal/cleanable/blood/this = new /obj/effect/decal/cleanable/blood(src)
var/mob/living/carbon/human/H = M
//Species-specific blood.
if(H.species)
this.basecolor = H.species.blood_color
this.blood_DNA[M.dna.unique_enzymes] = M.dna.b_type
else if( istype(M, /mob/living/carbon/alien ))
var/obj/effect/decal/cleanable/blood/xeno/this = new /obj/effect/decal/cleanable/blood/xeno(src)
this.blood_DNA["UNKNOWN BLOOD"] = "X*"

View File

@@ -39,6 +39,8 @@
var/list/abilities = list() // For species-derived or admin-given powers
var/blood_color = "#A10808" //Red.
/datum/species/human
name = "Human"
language = "Sol Common"
@@ -70,6 +72,8 @@
flags = WHITELISTED | HAS_LIPS | HAS_UNDERWEAR | HAS_TAIL
blood_color = "#FFFF00"
/datum/species/tajaran
name = "Tajaran"
icobase = 'icons/mob/human_races/r_tajaran.dmi'
@@ -92,6 +96,8 @@
flags = WHITELISTED | HAS_LIPS | HAS_UNDERWEAR | HAS_TAIL
blood_color = "#0000FF"
/datum/species/skrell
name = "Skrell"
icobase = 'icons/mob/human_races/r_skrell.dmi'
@@ -101,6 +107,8 @@
flags = WHITELISTED | HAS_LIPS | HAS_UNDERWEAR
blood_color = "#FF00FF"
/datum/species/vox
name = "Vox"
icobase = 'icons/mob/human_races/r_vox.dmi'
@@ -119,6 +127,8 @@
flags = NO_SCAN
blood_color = "#00FFFF"
/datum/species/diona
name = "Diona"
icobase = 'icons/mob/human_races/r_plant.dmi'