mirror of
https://github.com/yogstation13/Yogstation.git
synced 2025-02-26 09:04:50 +00:00
Ethereal glowy blood (#19232)
* EtherealBloodsplatter * Update humans.dm * Update humans.dm * Update humans.dm * nored * Update food_reagents.dm * trails * Update humans.dm
This commit is contained in:
@@ -14,6 +14,31 @@
|
||||
C.bloodiness += bloodiness
|
||||
return ..()
|
||||
|
||||
/obj/effect/decal/cleanable/whiteblood
|
||||
name = "\"blood\""
|
||||
desc = "It's an unsettling colour. Maybe it's the chef's cooking?"
|
||||
icon = 'icons/effects/blood.dmi'
|
||||
icon_state = "genericsplatter1"
|
||||
random_icon_states = list("genericsplatter1", "genericsplatter2", "genericsplatter3", "genericsplatter4", "genericsplatter5", "genericsplatter6")
|
||||
|
||||
/obj/effect/decal/cleanable/whiteblood/ethereal
|
||||
name = "glowing \"blood\""
|
||||
desc = "It has a fading glow. Surely it's just the chef's cooking?"
|
||||
light_power = 1
|
||||
light_range = 2
|
||||
light_color = "#eef442"
|
||||
|
||||
/obj/effect/decal/cleanable/whiteblood/ethereal/Initialize(mapload, list/datum/disease/diseases)
|
||||
. = ..()
|
||||
add_atom_colour(light_color, FIXED_COLOUR_PRIORITY)
|
||||
addtimer(CALLBACK(src, PROC_REF(Fade)), 1 MINUTES)
|
||||
|
||||
/obj/effect/decal/cleanable/whiteblood/ethereal/proc/Fade()
|
||||
name = "faded \"blood\""
|
||||
light_power = 0
|
||||
light_range = 0
|
||||
update_light()
|
||||
|
||||
/obj/effect/decal/cleanable/blood/old
|
||||
name = "dried blood"
|
||||
desc = "Looks like it's been here a while. Eew."
|
||||
@@ -53,6 +78,21 @@
|
||||
/obj/effect/decal/cleanable/trail_holder/can_bloodcrawl_in()
|
||||
return TRUE
|
||||
|
||||
/obj/effect/decal/cleanable/trail_holder/proc/Etherealify()
|
||||
name = "glowing \"blood\""
|
||||
light_power = 1
|
||||
light_range = 2
|
||||
light_color = "#eef442"
|
||||
update_light()
|
||||
add_atom_colour(light_color, FIXED_COLOUR_PRIORITY)
|
||||
addtimer(CALLBACK(src, PROC_REF(Fade)), 1 MINUTES)
|
||||
|
||||
/obj/effect/decal/cleanable/trail_holder/proc/Fade()
|
||||
name = "faded \"blood\""
|
||||
light_power = 0
|
||||
light_range = 0
|
||||
update_light()
|
||||
|
||||
/obj/effect/decal/cleanable/blood/gibs
|
||||
name = "gibs"
|
||||
desc = "They look bloody and gruesome."
|
||||
|
||||
@@ -350,6 +350,12 @@
|
||||
B = new(T)
|
||||
B.transfer_mob_blood_dna(src)
|
||||
return
|
||||
if(isethereal(src))
|
||||
var/obj/effect/decal/cleanable/whiteblood/ethereal/B = locate() in T.contents
|
||||
if(!B)
|
||||
B = new(T)
|
||||
B.transfer_mob_blood_dna(src)
|
||||
return
|
||||
if(get_blood_id() != /datum/reagent/blood)
|
||||
return
|
||||
var/list/temp_blood_DNA
|
||||
|
||||
@@ -692,7 +692,9 @@
|
||||
if((newdir in GLOB.cardinals) && (prob(50)))
|
||||
newdir = turn(get_dir(target_turf, start), 180)
|
||||
if(!blood_exists)
|
||||
new /obj/effect/decal/cleanable/trail_holder(start, get_static_viruses())
|
||||
var/obj/effect/decal/cleanable/trail_holder/TH = new(start, get_static_viruses())
|
||||
if(isethereal(src))//ethereal blood glows
|
||||
TH.Etherealify()
|
||||
|
||||
for(var/obj/effect/decal/cleanable/trail_holder/TH in start)
|
||||
if((!(newdir in TH.existing_dirs) || trail_type == "trails_1" || trail_type == "trails_2") && TH.existing_dirs.len <= 16) //maximum amount of overlays is 16 (all light & heavy directions filled)
|
||||
@@ -721,10 +723,14 @@
|
||||
if(getBruteLoss() < 300)
|
||||
if(ispolysmorph(src))
|
||||
return pick("xltrails_1", "xltrails_2")
|
||||
if(isethereal(src))
|
||||
return pick("wltrails_1", "wltrails_2")
|
||||
return pick("ltrails_1", "ltrails_2")
|
||||
else
|
||||
if(ispolysmorph(src))
|
||||
return pick("xttrails_1", "xttrails_2")
|
||||
if(isethereal(src))
|
||||
return pick("wttrails_1", "wttrails_2")
|
||||
return pick("trails_1", "trails_2")
|
||||
|
||||
/mob/living/experience_pressure_difference(pressure_difference, direction, pressure_resistance_prob_delta = 0)
|
||||
|
||||
@@ -750,6 +750,16 @@
|
||||
if(istype(stomach))
|
||||
stomach.adjust_charge(reac_volume * REM * ETHEREAL_CHARGE_SCALING_MULTIPLIER)
|
||||
|
||||
/datum/reagent/consumable/liquidelectricity/reaction_turf(turf/T, reac_volume)//splash the electric "blood" all over the place
|
||||
if(!istype(T))
|
||||
return
|
||||
if(reac_volume < 3)
|
||||
return
|
||||
|
||||
var/obj/effect/decal/cleanable/whiteblood/ethereal/B = locate() in T //find some blood here
|
||||
if(!B)
|
||||
B = new(T)
|
||||
|
||||
/datum/reagent/consumable/liquidelectricity/on_mob_life(mob/living/carbon/M)
|
||||
if(prob(25) && !isethereal(M))
|
||||
M.electrocute_act(rand(10,15), "Liquid Electricity in their body", 1) //lmao at the newbs who eat energy bars
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 185 KiB After Width: | Height: | Size: 186 KiB |
Reference in New Issue
Block a user