fuckit, I'm just gunna wholesale port from baycode I guess

This commit is contained in:
Poojawa
2019-06-05 04:55:36 -05:00
parent 9e01a078ec
commit 11d10d3805
21 changed files with 102 additions and 361 deletions
+14
View File
@@ -75,6 +75,20 @@
return splittext(trim(file2text(filename)),seperator)
return splittext(file2text(filename),seperator)
// Turns a direction into text
/proc/num2dir(direction)
switch (direction)
if (1.0) return NORTH
if (2.0) return SOUTH
if (4.0) return EAST
if (5.0) return NORTHEAST
if (6.0) return SOUTHEAST
if (8.0) return WEST
if (9.0) return NORTHWEST
if (10.0) return SOUTHWEST
else
world.log << "UNKNOWN DIRECTION: [direction]"
//Turns a direction into text
/proc/dir2text(direction)
switch(direction)
+4 -42
View File
@@ -66,46 +66,8 @@
reagents.expose_temperature(exposed_temperature)
..()
//Add "bloodiness" of this blood's type, to the human's shoes
//This is on /cleanable because fuck this ancient mess
/obj/effect/decal/cleanable/Crossed(atom/movable/O)
/obj/effect/decal/cleanable/clean_blood(var/ignore = FALSE)
if(!ignore)
qdel(src)
return
..()
if(ishuman(O))
var/mob/living/carbon/human/H = O
if(H.shoes && blood_state && bloodiness && (!H.has_trait(TRAIT_LIGHT_STEP) || !H.mind.assigned_role == "Detective"))
var/obj/item/clothing/shoes/S = H.shoes
var/add_blood = 0
if(bloodiness >= BLOOD_GAIN_PER_STEP)
add_blood = BLOOD_GAIN_PER_STEP
else
add_blood = bloodiness
bloodiness -= add_blood
to_chat(world, "S.blood_state is [S.blood_state], & blood smear state is [S.blood_smear[S.blood_state]]")
S.blood_smear[blood_state] = min(MAX_SHOE_BLOODINESS,S.blood_smear[blood_state]+add_blood)
if(blood_DNA && blood_DNA.len)
S.add_blood(blood_DNA)
S.blood_smear = blood_state
update_icon()
H.update_inv_shoes()
else if(!H.shoes && blood_state && bloodiness && (!H.has_trait(TRAIT_LIGHT_STEP) || !H.mind.assigned_role == "Detective"))
var/add_blood = 0
if(bloodiness >= BLOOD_GAIN_PER_STEP)
add_blood = BLOOD_GAIN_PER_STEP
else
add_blood = bloodiness
bloodiness -= add_blood
to_chat(world, "blood_state is [blood_state], & blood smear state is [H.blood_smear[blood_state]]")
H.blood_smear[blood_state] = min(MAX_SHOE_BLOODINESS,H.blood_smear[blood_state]+add_blood)
if(blood_DNA && blood_DNA.len)
H.add_blood(blood_DNA)
H.blood_smear = blood_state
update_icon()
H.update_inv_shoes()
/obj/effect/decal/cleanable/proc/can_bloodcrawl_in()
if((blood_state != BLOOD_STATE_OIL) && (blood_state != BLOOD_STATE_NOT_BLOODY))
return bloodiness
else
return FALSE
@@ -3,24 +3,24 @@
/obj/effect/decal/cleanable/blood/xeno
name = "xeno blood"
desc = "It's green and acidic. It looks like... <i>blood?</i>"
color = BLOOD_COLOR_XENO
basecolor = BLOOD_COLOR_XENO
blood_DNA = list("UNKNOWN DNA" = "X*")
/obj/effect/decal/cleanable/blood/splatter/xeno
color = BLOOD_COLOR_XENO
basecolor = BLOOD_COLOR_XENO
/obj/effect/decal/cleanable/blood/gibs/xeno
name = "xeno gibs"
desc = "Gnarly..."
icon_state = "xgib1"
random_icon_states = list("xgib1", "xgib2", "xgib3", "xgib4", "xgib5", "xgib6")
color = BLOOD_COLOR_XENO
basecolor = BLOOD_COLOR_XENO
/obj/effect/decal/cleanable/blood/gibs/xeno/Initialize(mapload, list/datum/disease/diseases)
. = ..()
reagents.add_reagent("liquidxenogibs", 5)
/obj/effect/decal/cleanable/blood/gibs/xeno/streak(list/directions)
/obj/effect/decal/cleanable/blood/xeno/streak(list/directions)
set waitfor = 0
var/direction = pick(directions)
for(var/i = 0, i < pick(1, 200; 2, 150; 3, 50), i++)
@@ -35,22 +35,22 @@
if(!step_to(src, get_step(src, direction), 0))
break
/obj/effect/decal/cleanable/blood/gibs/xeno/up/xeno
/obj/effect/decal/cleanable/blood/gibs/xeno/up
random_icon_states = list("xgib1", "xgib2", "xgib3", "xgib4", "xgib5", "xgib6","xgibup1","xgibup1","xgibup1")
/obj/effect/decal/cleanable/blood/gibs/xeno/down/xeno
/obj/effect/decal/cleanable/blood/gibs/xeno/down
random_icon_states = list("xgib1", "xgib2", "xgib3", "xgib4", "xgib5", "xgib6","xgibdown1","xgibdown1","xgibdown1")
/obj/effect/decal/cleanable/blood/gibs/xeno/body/xeno
/obj/effect/decal/cleanable/blood/gibs/xeno/body
random_icon_states = list("xgibhead", "xgibtorso")
/obj/effect/decal/cleanable/blood/gibs/xeno/torso/xeno
/obj/effect/decal/cleanable/blood/gibs/xeno/torso
random_icon_states = list("xgibtorso")
/obj/effect/decal/cleanable/blood/gibs/xeno/limb/xeno
/obj/effect/decal/cleanable/blood/gibs/xeno/limb
random_icon_states = list("xgibleg", "xgibarm")
/obj/effect/decal/cleanable/blood/gibs/xeno/core/xeno
/obj/effect/decal/cleanable/blood/gibs/xeno/core
random_icon_states = list("xgibmid1", "xgibmid2", "xgibmid3")
/obj/effect/decal/cleanable/blood/gibs/xeno/larva
@@ -62,6 +62,7 @@
/obj/effect/decal/cleanable/blood/xtracks
icon_state = "tracks"
random_icon_states = null
basecolor = BLOOD_COLOR_XENO
/obj/effect/decal/cleanable/blood/xtracks/Initialize()
add_blood(list("UNKNOWN DNA" = "X*"))
@@ -1,247 +1,11 @@
/obj/effect/decal/cleanable/blood/gibs
name = "gibs"
desc = "They look bloody and gruesome."
icon_state = "gibbl5"
layer = LOW_OBJ_LAYER
random_icon_states = list("gib1", "gib2", "gib3", "gib4", "gib5", "gib6")
mergeable_decal = FALSE
var/gib_overlay = FALSE
var/slimy_gibs = FALSE
var/body_colors
#define BLOOD_SIZE_SMALL 1
#define BLOOD_SIZE_MEDIUM 2
#define BLOOD_SIZE_BIG 3
#define BLOOD_SIZE_NO_MERGE -1
/obj/effect/decal/cleanable/blood/gibs/proc/guts()
if(gib_overlay)
var/mutable_appearance/gibz = mutable_appearance(icon, icon_state + "-overlay", color = blood_color, layer = (LOW_OBJ_LAYER + 0.1))
var/mutable_appearance/gibz2 = mutable_appearance(icon, icon_state + "c-overlay", color = body_colors, layer = (LOW_OBJ_LAYER + 0.1))
if(!slimy_gibs)
gibz.appearance_flags = RESET_COLOR
add_overlay(gibz)
else
gibz.appearance_flags = RESET_COLOR
add_overlay(gibz)
add_overlay(gibz2)
/obj/effect/decal/cleanable/blood/gibs/ex_act(severity, target)
return
/obj/effect/decal/cleanable/blood/gibs/Crossed(mob/living/L)
if(istype(L) && has_gravity(loc))
if(ishuman(L))
var/mob/living/carbon/human/H = L
if(H.mind.assigned_role == "Detective") //Gumshoe perks yo
playsound(loc, 'sound/effects/gib_step.ogg', 10, 1)
else
playsound(loc, 'sound/effects/gib_step.ogg', H.has_trait(TRAIT_LIGHT_STEP) ? 20 : 50, 1)
else
playsound(loc, 'sound/effects/gib_step.ogg', L.has_trait(TRAIT_LIGHT_STEP) ? 20 : 50, 1)
. = ..()
/obj/effect/decal/cleanable/blood/gibs/proc/streak(list/directions)
set waitfor = 0
var/direction = pick(directions)
for(var/i = 0, i < pick(1, 200; 2, 150; 3, 50), i++)
sleep(2)
if(i > 0)
var/list/datum/disease/diseases
GET_COMPONENT(infective, /datum/component/infective)
if(infective)
diseases = infective.diseases
var/obj/effect/decal/cleanable/blood/splatter/splat = new /obj/effect/decal/cleanable/blood/splatter(loc, diseases)
splat.transfer_blood_dna(blood_DNA)
if(!step_to(src, get_step(src, direction), 0))
break
/obj/effect/decal/cleanable/blood/gibs/up
random_icon_states = list("gib1", "gib2", "gib3", "gib4", "gib5", "gib6","gibup1","gibup1","gibup1")
gib_overlay = TRUE
/obj/effect/decal/cleanable/blood/gibs/down
random_icon_states = list("gib1", "gib2", "gib3", "gib4", "gib5", "gib6","gibdown1","gibdown1","gibdown1")
gib_overlay = TRUE
/obj/effect/decal/cleanable/blood/gibs/body
random_icon_states = list("gibhead", "gibtorso")
gib_overlay = TRUE
/obj/effect/decal/cleanable/blood/gibs/torso
random_icon_states = list("gibtorso")
gib_overlay = TRUE
/obj/effect/decal/cleanable/blood/gibs/limb
random_icon_states = list("gibleg", "gibarm")
gib_overlay = TRUE
/obj/effect/decal/cleanable/blood/gibs/core
random_icon_states = list("gibmid1", "gibmid2", "gibmid3")
gib_overlay = TRUE
/obj/effect/decal/cleanable/blood/gibs/old
name = "old rotting gibs"
desc = "Space Jesus, why didn't anyone clean this up? It smells terrible."
bloodiness = 0
/obj/effect/decal/cleanable/blood/gibs/old/Initialize(mapload, list/datum/disease/diseases)
. = ..()
setDir(pick(1,2,4,8))
icon_state += "-old"
add_blood(list("Non-human DNA" = "A+"))
/obj/effect/decal/cleanable/blood/drip
name = "drips of blood"
desc = "It's gooey."
icon_state = "1"
random_icon_states = list("drip1","drip2","drip3","drip4","drip5")
bloodiness = 0
var/drips = 1
/obj/effect/decal/cleanable/blood/drip/can_bloodcrawl_in()
return TRUE
/obj/effect/decal/cleanable/blood/gibs/human
/obj/effect/decal/cleanable/blood/gibs/human/Initialize(mapload, list/datum/disease/diseases)
. = ..()
reagents.add_reagent("liquidgibs", 5)
guts()
update_icon()
/obj/effect/decal/cleanable/blood/gibs/human/up
random_icon_states = list("gib1", "gib2", "gib3", "gib4", "gib5", "gib6","gibup1","gibup1","gibup1")
gib_overlay = TRUE
slimy_gibs = TRUE
/obj/effect/decal/cleanable/blood/gibs/human/down
random_icon_states = list("gib1", "gib2", "gib3", "gib4", "gib5", "gib6","gibdown1","gibdown1","gibdown1")
gib_overlay = TRUE
slimy_gibs = TRUE
/obj/effect/decal/cleanable/blood/gibs/human/body
random_icon_states = list("gibhead", "gibtorso")
gib_overlay = TRUE
slimy_gibs = TRUE
/obj/effect/decal/cleanable/blood/gibs/human/torso
random_icon_states = list("gibtorso")
gib_overlay = TRUE
slimy_gibs = TRUE
/obj/effect/decal/cleanable/blood/gibs/human/limb
random_icon_states = list("gibleg", "gibarm")
gib_overlay = TRUE
slimy_gibs = TRUE
/obj/effect/decal/cleanable/blood/gibs/human/core
random_icon_states = list("gibmid1", "gibmid2", "gibmid3")
gib_overlay = TRUE
slimy_gibs = TRUE
// Slime Gibs
/obj/effect/decal/cleanable/blood/gibs/slime
desc = "They look gooey and gruesome."
/obj/effect/decal/cleanable/blood/gibs/slime/Initialize(mapload, list/datum/disease/diseases)
. = ..()
reagents.add_reagent("liquidslimegibs", 5)
update_icon()
guts()
/obj/effect/decal/cleanable/blood/gibs/slime/up
random_icon_states = list("gib1", "gib2", "gib3", "gib4", "gib5", "gib6","gibup1","gibup1","gibup1")
gib_overlay = TRUE
slimy_gibs = TRUE
/obj/effect/decal/cleanable/blood/gibs/slime/down
random_icon_states = list("gib1", "gib2", "gib3", "gib4", "gib5", "gib6","gibdown1","gibdown1","gibdown1")
gib_overlay = TRUE
slimy_gibs = TRUE
/obj/effect/decal/cleanable/blood/gibs/slime/body
random_icon_states = list("gibhead", "gibtorso")
gib_overlay = TRUE
slimy_gibs = TRUE
/obj/effect/decal/cleanable/blood/gibs/slime/torso
random_icon_states = list("gibtorso")
gib_overlay = TRUE
slimy_gibs = TRUE
/obj/effect/decal/cleanable/blood/gibs/slime/limb
random_icon_states = list("gibleg", "gibarm")
gib_overlay = TRUE
slimy_gibs = TRUE
/obj/effect/decal/cleanable/blood/gibs/slime/core
random_icon_states = list("gibmid1", "gibmid2", "gibmid3")
gib_overlay = TRUE
slimy_gibs = TRUE
/obj/effect/decal/cleanable/blood/gibs/synth
desc = "They look sludgy and disgusting."
/obj/effect/decal/cleanable/blood/gibs/synth/Initialize(mapload, list/datum/disease/diseases)
. = ..()
reagents.add_reagent("liquidsyntheticgibs", 5)
update_icon()
guts()
//IPCs
/obj/effect/decal/cleanable/blood/gibs/ipc
desc = "They look sharp yet oozing."
/obj/effect/decal/cleanable/blood/gibs/ipc/Initialize(mapload, list/datum/disease/diseases)
. = ..()
reagents.add_reagent("liquidoilgibs", 5)
update_icon()
guts()
/obj/effect/decal/cleanable/blood/gibs/ipc/guts()
if(gib_overlay)
var/mutable_appearance/gibz = mutable_appearance(icon, icon_state + "-ipcoverlay", color = blood_color, layer = -LOW_OBJ_LAYER)
var/mutable_appearance/gibz2 = mutable_appearance(icon, icon_state + "c-ipcoverlay", color = body_colors, layer = -LOW_OBJ_LAYER)
if(!slimy_gibs)
gibz.appearance_flags = RESET_COLOR
add_overlay(gibz)
else
gibz.appearance_flags = RESET_COLOR
add_overlay(gibz)
add_overlay(gibz2)
/obj/effect/decal/cleanable/blood/gibs/ipc/up
random_icon_states = list("gib1", "gib2", "gib3", "gib4", "gib5", "gib6","gibup1","gibup1","gibup1")
gib_overlay = TRUE
slimy_gibs = TRUE
/obj/effect/decal/cleanable/blood/gibs/ipc/down
random_icon_states = list("gib1", "gib2", "gib3", "gib4", "gib5", "gib6","gibdown1","gibdown1","gibdown1")
gib_overlay = TRUE
slimy_gibs = TRUE
/obj/effect/decal/cleanable/blood/gibs/ipc/body
random_icon_states = list("gibhead", "gibtorso")
gib_overlay = TRUE
slimy_gibs = TRUE
/obj/effect/decal/cleanable/blood/gibs/ipc/torso
random_icon_states = list("gibtorso")
gib_overlay = TRUE
slimy_gibs = TRUE
/obj/effect/decal/cleanable/blood/gibs/ipc/limb
random_icon_states = list("gibleg", "gibarm")
gib_overlay = TRUE
slimy_gibs = TRUE
/obj/effect/decal/cleanable/blood/gibs/ipc/core
random_icon_states = list("gibmid1", "gibmid2", "gibmid3")
gib_overlay = TRUE
slimy_gibs = TRUE
/obj/effect/decal/cleanable/blood/gibs/synth
desc = "They look sludgy and disgusting."
/obj/effect/decal/cleanable/blood/gibs/synth/Initialize(mapload, list/datum/disease/diseases)
. = ..()
reagents.add_reagent("liquidsyntheticgibs", 5)
update_icon()
guts()
#undef BLOOD_SIZE_SMALL
#undef BLOOD_SIZE_MEDIUM
#undef BLOOD_SIZE_BIG
#undef BLOOD_SIZE_NO_MERGE
@@ -1,65 +1,66 @@
// Note: BYOND is object oriented. There is no reason for this to be copy/pasted blood code.
/obj/effect/decal/cleanable/robot_debris
/obj/effect/decal/cleanable/blood/gibs/robot
name = "robot debris"
desc = "It's a useless heap of junk... <i>or is it?</i>"
icon = 'icons/mob/robots.dmi'
icon_state = "gib1"
layer = LOW_OBJ_LAYER
random_icon_states = list("gib1", "gib2", "gib3", "gib4", "gib5", "gib6", "gib7")
blood_state = BLOOD_STATE_OIL
bloodiness = BLOOD_AMOUNT_PER_DECAL
mergeable_decal = FALSE
basecolor = BLOOD_COLOR_OIL
/obj/effect/decal/cleanable/robot_debris/Initialize(mapload, list/datum/disease/diseases)
/obj/effect/decal/cleanable/blood/gibs/robot/Initialize(mapload, list/datum/disease/diseases)
. = ..()
reagents.add_reagent("liquidoilgibs", 5)
/obj/effect/decal/cleanable/robot_debris/proc/streak(list/directions)
set waitfor = 0
var/direction = pick(directions)
for (var/i = 0, i < pick(1, 200; 2, 150; 3, 50), i++)
sleep(2)
if (i > 0)
if (prob(40))
new /obj/effect/decal/cleanable/oil/streak(src.loc)
else if (prob(10))
var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
s.set_up(3, 1, src)
s.start()
if (!step_to(src, get_step(src, direction), 0))
break
/obj/effect/decal/cleanable/robot_debris/ex_act()
/obj/effect/decal/cleanable/blood/gibs/robot/dry() //pieces of robots do not dry up like blood
return
/obj/effect/decal/cleanable/robot_debris/limb
/obj/effect/decal/cleanable/blood/gibs/robot/streak(var/list/directions)
spawn (0)
var/direction = pick(directions)
for (var/i = 0, i < pick(1, 200; 2, 150; 3, 50; 4), i++)
sleep(3)
if (i > 0)
if (prob(40))
var/obj/effect/decal/cleanable/blood/oil/streak = new(src.loc)
streak.update_icon()
else if (prob(10))
var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread
s.set_up(3, 1, src)
s.start()
if (step_to(src, get_step(src, direction), 0))
break
/obj/effect/decal/cleanable/blood/gibs/robot/ex_act()
return
/obj/effect/decal/cleanable/blood/gibs/robot/limb
random_icon_states = list("gibarm", "gibleg")
/obj/effect/decal/cleanable/robot_debris/up
/obj/effect/decal/cleanable/blood/gibs/robot/up
random_icon_states = list("gib1", "gib2", "gib3", "gib4", "gib5", "gib6", "gib7","gibup1","gibup1")
/obj/effect/decal/cleanable/robot_debris/down
/obj/effect/decal/cleanable/blood/gibs/robot/down
random_icon_states = list("gib1", "gib2", "gib3", "gib4", "gib5", "gib6", "gib7","gibdown1","gibdown1")
/obj/effect/decal/cleanable/oil
/obj/effect/decal/cleanable/blood/oil
name = "motor oil"
desc = "It's black and greasy. Looks like Beepsky made another mess."
icon = 'icons/mob/robots.dmi'
icon_state = "floor1"
random_icon_states = list("floor1", "floor2", "floor3", "floor4", "floor5", "floor6", "floor7")
blood_state = BLOOD_STATE_OIL
bloodiness = BLOOD_AMOUNT_PER_DECAL
basecolor = BLOOD_COLOR_OIL
/obj/effect/decal/cleanable/oil/Initialize()
/obj/effect/decal/cleanable/blood/oil/Initialize()
. = ..()
reagents.add_reagent("oil", 30)
reagents.add_reagent("liquidoilgibs", 5)
/obj/effect/decal/cleanable/oil/streak
random_icon_states = list("streak1", "streak2", "streak3", "streak4", "streak5")
/obj/effect/decal/cleanable/blood/oil/dry()
return
/obj/effect/decal/cleanable/oil/slippery
/obj/effect/decal/cleanable/blood/oil/streak
amount = 2
/obj/effect/decal/cleanable/oil/slippery/Initialize()
/obj/effect/decal/cleanable/blood/oil/slippery
/obj/effect/decal/cleanable/blood/oil/slippery/Initialize()
AddComponent(/datum/component/slippery, 80, (NO_SLIP_WHEN_WALKING | SLIDE))
+1
View File
@@ -113,6 +113,7 @@ GLOBAL_VAR_INIT(rpg_loot_items, FALSE)
//Blood overlay things
var/blood_color
var/image/blood_overlay = null //this saves our blood splatter overlay, which will be processed not to go over the edges of the sprite
/obj/item/Initialize()
+3 -3
View File
@@ -194,8 +194,8 @@
if(O.obj_flags & FROZEN)
O.make_unfrozen()
if(isliving(A))
var/mob/living/M = A
if(isliving(AM))
var/mob/living/M = AM
if(ishuman(M))
var/mob/living/carbon/human/H = M
// Tracking blood
@@ -226,7 +226,7 @@
/turf/proc/is_plasteel_floor()
return FALSE
/turf/open/proc/AddTracks(var/typepath,var/bloodDNA,var/comingdir,var/goingdir,var/bloodcolor=COLOR_BLOOD_HUMAN)
/turf/open/proc/AddTracks(var/typepath,var/bloodDNA,var/comingdir,var/goingdir,var/bloodcolor=BLOOD_COLOR_HUMAN)
var/obj/effect/decal/cleanable/blood/tracks/tracks = locate(typepath) in src
if(!tracks)
tracks = new typepath(src)
+1 -2
View File
@@ -17,7 +17,7 @@
var/adjusted = NORMAL_STYLE
mutantrace_variation = MUTANTRACE_VARIATION
var/move_trail = /obj/effect/decal/cleanable/blood/footprints/tracks/shoe
var/move_trail = /obj/effect/decal/cleanable/blood/tracks/shoe
/obj/item/clothing/shoes/suicide_act(mob/living/carbon/user)
if(rand(2)>1)
@@ -91,7 +91,6 @@
/obj/item/clothing/shoes/clean_blood()
..()
blood_smear = list(BLOOD_STATE_BLOOD = 0, BLOOD_STATE_OIL = 0, BLOOD_STATE_NOT_BLOODY = 0)
blood_state = BLOOD_STATE_NOT_BLOODY
blood_color = null
if(ismob(loc))
@@ -77,7 +77,7 @@ GLOBAL_LIST_EMPTY(roundstart_races)
var/fixed_mut_color3 = ""
var/whitelisted = 0 //Is this species restricted to certain players?
var/whitelist = list() //List the ckeys that can use this species, if it's whitelisted.: list("John Doe", "poopface666", "SeeALiggerPullTheTrigger") Spaces & capitalization can be included or ignored entirely for each key as it checks for both.
var/obj/effect/decal/cleanable/blood/footprints/tracks/move_trail = /obj/effect/decal/cleanable/blood/footprints/tracks/shoe // What marks are left when walking
var/obj/effect/decal/cleanable/blood/tracks/move_trail = /obj/effect/decal/cleanable/blood/tracks/shoe // What marks are left when walking
///////////
// PROCS //
@@ -643,9 +643,9 @@ GLOBAL_LIST_EMPTY(roundstart_races)
if(H.dna.features["taur"] != "None")
if(H.dna.features["taur"] in GLOB.noodle_taurs)
move_trail = /obj/effect/decal/cleanable/blood/footprints/tracks/snake
move_trail = /obj/effect/decal/cleanable/blood/tracks/snake
else if(H.dna.features["taur"] in GLOB.paw_taurs)
move_trail = /obj/effect/decal/cleanable/blood/footprints/tracks/paw
move_trail = /obj/effect/decal/cleanable/blood/tracks/paw
//END EDIT
@@ -941,7 +941,7 @@ GLOBAL_LIST_EMPTY(roundstart_races)
// Impliments different trails for species depending on if they're wearing shoes.
/datum/species/proc/get_move_trail(var/mob/living/carbon/human/H)
if(H.lying)
return /obj/effect/decal/cleanable/blood/footprints/tracks/body
return /obj/effect/decal/cleanable/blood/tracks/body
if(H.shoes || (H.wear_suit && (H.wear_suit.body_parts_covered & FEET)))
var/obj/item/clothing/shoes/shoes = (H.wear_suit && (H.wear_suit.body_parts_covered & FEET)) ? H.wear_suit : H.shoes // suits take priority over shoes
return shoes.move_trail
@@ -10,7 +10,7 @@
blacklisted = 1
limbs_id = "human"
skinned_type = /obj/item/stack/sheet/animalhide/human
move_trail = /obj/effect/decal/cleanable/blood/footprints/tracks/foot
move_trail = /obj/effect/decal/cleanable/blood/tracks/foot
var/datum/action/innate/flight/fly
@@ -9,7 +9,7 @@
skinned_type = /obj/item/stack/sheet/animalhide/human
disliked_food = GROSS | RAW
liked_food = JUNKFOOD | FRIED
move_trail = /obj/effect/decal/cleanable/blood/footprints/tracks/foot
move_trail = /obj/effect/decal/cleanable/blood/tracks/foot
/datum/species/human/qualifies_for_rank(rank, list/features)
return TRUE //Pure humans are always allowed in all roles.
@@ -18,7 +18,7 @@
coldmod = 6 // = 3x cold damage
heatmod = 0.5 // = 1/4x heat damage
burnmod = 0.5 // = 1/2x generic burn damage
move_trail = /obj/effect/decal/cleanable/blood/footprints/tracks/foot
move_trail = /obj/effect/decal/cleanable/blood/tracks/foot
/datum/species/jelly/on_species_loss(mob/living/carbon/C)
if(regenerate_limbs)
@@ -73,7 +73,7 @@
/datum/species/lizard/on_species_gain(mob/living/carbon/human/C, datum/species/old_species)
if(("legs" in C.dna.species.mutant_bodyparts) && C.dna.features["legs"] == "Digitigrade Legs")
species_traits += DIGITIGRADE
move_trail = /obj/effect/decal/cleanable/blood/footprints/tracks/claw
move_trail = /obj/effect/decal/cleanable/blood/tracks/claw
if(DIGITIGRADE in species_traits)
C.Digitigrade_Leg_Swap(FALSE)
return ..()
@@ -81,7 +81,7 @@
/datum/species/lizard/on_species_loss(mob/living/carbon/human/C, datum/species/new_species)
if(("legs" in C.dna.species.mutant_bodyparts) && C.dna.features["legs"] == "Normal Legs")
species_traits -= DIGITIGRADE
move_trail = /obj/effect/decal/cleanable/blood/footprints/tracks/foot
move_trail = /obj/effect/decal/cleanable/blood/tracks/foot
if(DIGITIGRADE in species_traits)
C.Digitigrade_Leg_Swap(TRUE)
@@ -97,7 +97,7 @@
mutantlungs = /obj/item/organ/lungs/ashwalker
burnmod = 0.9
brutemod = 0.9
move_trail = /obj/effect/decal/cleanable/blood/footprints/tracks/claw
move_trail = /obj/effect/decal/cleanable/blood/tracks/claw
/datum/species/lizard/ashwalker/on_species_gain(mob/living/carbon/human/C, datum/species/old_species)
if((C.dna.features["spines"] != "None" ) && (C.dna.features["tail"] == "None")) //tbh, it's kinda ugly for them not to have a tail yet have floating spines
@@ -15,7 +15,7 @@
disliked_food = FRUIT | GROSS
toxic_food = MEAT | RAW
mutanteyes = /obj/item/organ/eyes/moth
move_trail = /obj/effect/decal/cleanable/blood/footprints/tracks/claw
move_trail = /obj/effect/decal/cleanable/blood/tracks/claw
/datum/species/moth/on_species_gain(mob/living/carbon/C)
. = ..()
@@ -21,7 +21,7 @@
var/internal_fire = FALSE //If the bones themselves are burning clothes won't help you much
disliked_food = FRUIT
liked_food = VEGETABLES
move_trail = /obj/effect/decal/cleanable/blood/footprints/tracks/foot
move_trail = /obj/effect/decal/cleanable/blood/tracks/foot
/datum/species/plasmaman/spec_life(mob/living/carbon/human/H)
var/datum/gas_mixture/environment = H.loc.return_air()
@@ -17,7 +17,7 @@
var/light_oxyheal = 1
var/light_burnheal = 1
var/light_bruteheal = 1
move_trail = /obj/effect/decal/cleanable/blood/footprints/tracks/foot
move_trail = /obj/effect/decal/cleanable/blood/tracks/foot
/datum/species/pod/on_species_gain(mob/living/carbon/C, datum/species/old_species)
. = ..()
@@ -13,7 +13,7 @@
damage_overlay_type = ""//let's not show bloody wounds or burns over bones.
disliked_food = NONE
liked_food = GROSS | MEAT | RAW
move_trail = /obj/effect/decal/cleanable/blood/footprints/tracks/foot
move_trail = /obj/effect/decal/cleanable/blood/tracks/foot
/datum/species/skeleton/check_roundstart_eligible()
if(SSevents.holidays && SSevents.holidays[HALLOWEEN])
@@ -15,7 +15,7 @@
var/static/list/spooks = list('sound/hallucinations/growl1.ogg','sound/hallucinations/growl2.ogg','sound/hallucinations/growl3.ogg','sound/hallucinations/veryfar_noise.ogg','sound/hallucinations/wail.ogg')
disliked_food = NONE
liked_food = GROSS | MEAT | RAW
move_trail = /obj/effect/decal/cleanable/blood/footprints/tracks/foot
move_trail = /obj/effect/decal/cleanable/blood/tracks/foot
/datum/species/zombie/check_roundstart_eligible()
if(SSevents.holidays && SSevents.holidays[HALLOWEEN])
@@ -276,7 +276,7 @@ There are several things that need to be remembered:
var/obj/screen/inventory/inv = hud_used.inv_slots[SLOT_SHOES]
inv.update_icon()
if(!shoes && bloody_feet)
if(!shoes)
var/mutable_appearance/bloody_overlay = mutable_appearance('icons/effects/blood.dmi', "bloodyfeet", -SHOES_LAYER, color = blood_DNA_to_color())
if(dna.features["taur"] != "None")
if(dna.features["taur"] in GLOB.noodle_taurs)
@@ -192,7 +192,6 @@
if(blood)
target_types += /obj/effect/decal/cleanable/blood
target_types += /obj/effect/decal/cleanable/trail_holder
if(pests)
target_types += /mob/living/simple_animal/cockroach
@@ -13,7 +13,7 @@
meat = /obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/mammal
liked_food = MEAT | FRIED
disliked_food = TOXIC
move_trail = /obj/effect/decal/cleanable/blood/footprints/tracks/paw
move_trail = /obj/effect/decal/cleanable/blood/tracks/paw
//Curiosity killed the cat's wagging tail.
/datum/species/mammal/spec_death(gibbed, mob/living/carbon/human/H)
@@ -46,7 +46,7 @@
/datum/species/mammal/on_species_gain(mob/living/carbon/human/C, datum/species/old_species)
if(("legs" in C.dna.species.mutant_bodyparts) && C.dna.features["legs"] == "Digitigrade Legs")
species_traits += DIGITIGRADE
move_trail = /obj/effect/decal/cleanable/blood/footprints/tracks/paw
move_trail = /obj/effect/decal/cleanable/blood/tracks/paw
if(DIGITIGRADE in species_traits)
C.Digitigrade_Leg_Swap(FALSE)
return ..()
@@ -54,7 +54,7 @@
/datum/species/mammal/on_species_loss(mob/living/carbon/human/C, datum/species/new_species)
if(("legs" in C.dna.species.mutant_bodyparts) && C.dna.features["legs"] == "Normal Legs")
species_traits -= DIGITIGRADE
move_trail = /obj/effect/decal/cleanable/blood/footprints/tracks/foot
move_trail = /obj/effect/decal/cleanable/blood/tracks/foot
if(DIGITIGRADE in species_traits)
C.Digitigrade_Leg_Swap(TRUE)
@@ -78,7 +78,7 @@
miss_sound = 'sound/weapons/slashmiss.ogg'
liked_food = MEAT | FRUIT
disliked_food = TOXIC
move_trail = /obj/effect/decal/cleanable/blood/footprints/tracks/claw
move_trail = /obj/effect/decal/cleanable/blood/tracks/claw
/datum/species/avian/spec_death(gibbed, mob/living/carbon/human/H)
if(H)
@@ -126,7 +126,7 @@
liked_food = MEAT
disliked_food = TOXIC
meat = /obj/item/reagent_containers/food/snacks/carpmeat/aquatic
move_trail = /obj/effect/decal/cleanable/blood/footprints/tracks/foot
move_trail = /obj/effect/decal/cleanable/blood/tracks/foot
/datum/species/aquatic/spec_death(gibbed, mob/living/carbon/human/H)
if(H)
@@ -173,7 +173,7 @@
miss_sound = 'sound/weapons/slashmiss.ogg'
liked_food = MEAT | FRUIT
disliked_food = TOXIC
move_trail = /obj/effect/decal/cleanable/blood/footprints/tracks/claw
move_trail = /obj/effect/decal/cleanable/blood/tracks/claw
/datum/species/insect/spec_death(gibbed, mob/living/carbon/human/H)
if(H)
@@ -230,7 +230,7 @@
/datum/species/xeno/on_species_gain(mob/living/carbon/human/C, datum/species/old_species)
if(("legs" in C.dna.species.mutant_bodyparts) && C.dna.features["legs"] == "Digitigrade Legs")
species_traits += DIGITIGRADE
move_trail = /obj/effect/decal/cleanable/blood/footprints/tracks/claw
move_trail = /obj/effect/decal/cleanable/blood/tracks/claw
if(DIGITIGRADE in species_traits)
C.Digitigrade_Leg_Swap(FALSE)
return ..()
@@ -238,7 +238,7 @@
/datum/species/xeno/on_species_loss(mob/living/carbon/human/C, datum/species/new_species)
if(("legs" in C.dna.species.mutant_bodyparts) && C.dna.features["legs"] == "Normal Legs")
species_traits -= DIGITIGRADE
move_trail = /obj/effect/decal/cleanable/blood/footprints/tracks/foot
move_trail = /obj/effect/decal/cleanable/blood/tracks/foot
if(DIGITIGRADE in species_traits)
C.Digitigrade_Leg_Swap(TRUE)