hold the phone
This commit is contained in:
@@ -14,6 +14,9 @@
|
||||
bloodiness = MAX_SHOE_BLOODINESS
|
||||
blood_state = BLOOD_STATE_XENO
|
||||
|
||||
/obj/effect/decal/cleanable/xenoblood/can_bloodcrawl_in()
|
||||
return 1
|
||||
|
||||
/obj/effect/decal/cleanable/xenoblood/Destroy()
|
||||
for(var/datum/disease/D in viruses)
|
||||
D.cure(0)
|
||||
@@ -37,6 +40,9 @@
|
||||
/obj/effect/decal/cleanable/xenoblood/xsplatter
|
||||
random_icon_states = list("xgibbl1", "xgibbl2", "xgibbl3", "xgibbl4", "xgibbl5")
|
||||
|
||||
/obj/effect/decal/cleanable/xsplatter/can_bloodcrawl_in()
|
||||
return 1
|
||||
|
||||
/obj/effect/decal/cleanable/xenoblood/xgibs
|
||||
name = "xeno gibs"
|
||||
desc = "Gnarly..."
|
||||
@@ -45,6 +51,10 @@
|
||||
icon_state = "xgib1"
|
||||
random_icon_states = list("xgib1", "xgib2", "xgib3", "xgib4", "xgib5", "xgib6")
|
||||
|
||||
/obj/effect/decal/cleanable/xgibs/can_bloodcrawl_in()
|
||||
return 1
|
||||
|
||||
|
||||
/obj/effect/decal/cleanable/xenoblood/xgibs/ex_act()
|
||||
return
|
||||
|
||||
@@ -67,3 +77,15 @@
|
||||
icon_state = "xtracks"
|
||||
random_icon_states = null
|
||||
blood_DNA = list("UNKNOWN DNA" = "X*")
|
||||
|
||||
/obj/effect/decal/cleanable/xdrip
|
||||
name = "drips of blood"
|
||||
desc = "It's green."
|
||||
gender = PLURAL
|
||||
icon_state = "1"
|
||||
random_icon_states = list("xdrip1","xdrip2","xdrip3","xdrip4","xdrip5")
|
||||
bloodiness = 0
|
||||
var/drips = 1
|
||||
|
||||
/obj/effect/decal/cleanable/xdrip/can_bloodcrawl_in()
|
||||
return 1
|
||||
@@ -216,37 +216,64 @@
|
||||
return list("O-", "O+")
|
||||
if("L")
|
||||
return list("L")
|
||||
if("X")
|
||||
return list("X")
|
||||
|
||||
//to add a splatter of blood or other mob liquid.
|
||||
/mob/living/proc/add_splatter_floor(turf/T, small_drip)
|
||||
if(get_blood_id() != "blood")
|
||||
if(get_blood_id() != "blood" && get_blood_id() != "xblood")
|
||||
return
|
||||
if(!T)
|
||||
T = get_turf(src)
|
||||
|
||||
var/list/temp_blood_DNA
|
||||
if(small_drip)
|
||||
// Only a certain number of drips (or one large splatter) can be on a given turf.
|
||||
var/obj/effect/decal/cleanable/blood/drip/drop = locate() in T
|
||||
if(drop)
|
||||
if(drop.drips < 3)
|
||||
drop.drips++
|
||||
drop.overlays |= pick(drop.random_icon_states)
|
||||
if(ishuman(src))
|
||||
var/mob/living/carbon/human/H = src
|
||||
if(H.dna.species == "xeno")
|
||||
var/obj/effect/decal/cleanable/xdrip/xdrop = locate() in T
|
||||
if(xdrop)
|
||||
if(xdrop.drips < 3)
|
||||
xdrop.drips++
|
||||
xdrop.overlays |= pick(xdrop.random_icon_states)
|
||||
xdrop.transfer_mob_blood_dna(src)
|
||||
return
|
||||
else
|
||||
temp_blood_DNA = list()
|
||||
temp_blood_DNA |= xdrop.blood_DNA.Copy() //we transfer the dna from the drip to the splatter
|
||||
qdel(xdrop)//the drip is replaced by a bigger splatter
|
||||
else
|
||||
xdrop = new(T)
|
||||
xdrop.transfer_mob_blood_dna(src)
|
||||
return
|
||||
else
|
||||
var/obj/effect/decal/cleanable/blood/drip/drop = locate() in T
|
||||
if(drop)
|
||||
if(drop.drips < 3)
|
||||
drop.drips++
|
||||
drop.overlays |= pick(drop.random_icon_states)
|
||||
drop.transfer_mob_blood_dna(src)
|
||||
return
|
||||
else
|
||||
temp_blood_DNA = list()
|
||||
temp_blood_DNA |= drop.blood_DNA.Copy() //we transfer the dna from the drip to the splatter
|
||||
qdel(drop)//the drip is replaced by a bigger splatter
|
||||
else
|
||||
drop = new(T)
|
||||
drop.transfer_mob_blood_dna(src)
|
||||
return
|
||||
else
|
||||
temp_blood_DNA = list()
|
||||
temp_blood_DNA |= drop.blood_DNA.Copy() //we transfer the dna from the drip to the splatter
|
||||
qdel(drop)//the drip is replaced by a bigger splatter
|
||||
else
|
||||
drop = new(T)
|
||||
drop.transfer_mob_blood_dna(src)
|
||||
return
|
||||
|
||||
// Find a blood decal or create a new one.
|
||||
var/obj/effect/decal/cleanable/blood/B = locate() in T
|
||||
if(!B)
|
||||
B = new /obj/effect/decal/cleanable/blood/splatter(T)
|
||||
if(ishuman(src))
|
||||
var/mob/living/carbon/human/H = src
|
||||
if(H.dna.species == "xeno")
|
||||
B = new /obj/effect/decal/cleanable/xenoblood(T)
|
||||
else
|
||||
B = new /obj/effect/decal/cleanable/blood/splatter(T)
|
||||
else
|
||||
B = new /obj/effect/decal/cleanable/blood/splatter(T)
|
||||
B.transfer_mob_blood_dna(src) //give blood info to the blood decal.
|
||||
if(temp_blood_DNA)
|
||||
B.blood_DNA |= temp_blood_DNA
|
||||
@@ -268,4 +295,4 @@
|
||||
T = get_turf(src)
|
||||
var/obj/effect/decal/cleanable/oil/B = locate() in T.contents
|
||||
if(!B)
|
||||
B = new(T)
|
||||
B = new(T)
|
||||
|
||||
@@ -300,6 +300,7 @@
|
||||
var/datum/action/innate/split_body/slime_split
|
||||
var/list/mob/living/carbon/bodies
|
||||
var/datum/action/innate/swap_body/swap_body
|
||||
roundstart = 1
|
||||
|
||||
/datum/species/jelly/slime/on_species_loss(mob/living/carbon/C)
|
||||
if(slime_split)
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 101 KiB After Width: | Height: | Size: 101 KiB |
Reference in New Issue
Block a user