Skip to content

Commit

Permalink
I vant to fix your bugs
Browse files Browse the repository at this point in the history
grabs the rest of the port + merges some behavior
  • Loading branch information
Sun-Soaked committed Nov 6, 2023
1 parent 1a6cabc commit 355d8b7
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 22 deletions.
4 changes: 2 additions & 2 deletions code/__byond_version_compat.dm
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@
#endif

#if (DM_VERSION == 514 && DM_BUILD == 1589)
#error Warning! Byond 514.1589 has been known to be unstable. Use at your own risk.
#error Please consider using 514.1588.
//#error Warning! Byond 514.1589 has been known to be unstable. Use at your own risk.
//#error Please consider using 514.1588.
#endif

// Keep savefile compatibilty at minimum supported level
Expand Down
4 changes: 3 additions & 1 deletion code/datums/components/forensics.dm
Original file line number Diff line number Diff line change
Expand Up @@ -190,4 +190,6 @@
return
if(!length(blood_DNA))
return
parent.AddElement(/datum/element/decal/blood, _color = get_blood_dna_color(blood_DNA))
if(isitem(parent))
var/obj/item/I = parent
I.AddElement(/datum/element/decal/blood, initial(I.icon) || I.icon, initial(I.icon_state) || I.icon_state, _color = get_blood_dna_color(blood_DNA))
26 changes: 7 additions & 19 deletions code/datums/elements/decals/blood.dm
Original file line number Diff line number Diff line change
Expand Up @@ -12,27 +12,15 @@
return ..()

/datum/element/decal/blood/generate_appearance(_icon, _icon_state, _dir, _layer, _color, _alpha, source)
var/obj/item/I = source
if(!_icon)
_icon = 'icons/effects/blood.dmi'
if(!_icon_state)
_icon_state = "itemblood"
if(!_icon || !_icon_state)
return FALSE
if(!_color)
_color = COLOR_BLOOD
var/item_icon = I.icon
var/item_icon_state = I.icon_state
var/static/list/blood_splatter_appearances = list()
//try to find a pre-processed blood-splatter. otherwise, make a new one
var/index = "[REF(item_icon)]-[item_icon_state]"
pic = blood_splatter_appearances[index]

if(!pic)
var/icon/blood_splatter_icon = icon(I.icon, I.icon_state, null, 1) //we only want to apply blood-splatters to the initial icon_state for each object
blood_splatter_icon.Blend("#fff", ICON_ADD) //fills the icon_state with white (except where it's transparent)
blood_splatter_icon.Blend(icon(_icon, _icon_state), ICON_MULTIPLY) //adds blood and the remaining white areas become transparant
pic = mutable_appearance(blood_splatter_icon, initial(I.icon_state))
pic.color = _color
blood_splatter_appearances[index] = pic
var/icon/blood_splatter_icon = icon(_icon, _icon_state, , 1) //we only want to apply blood-splatters to the initial icon_state for each object
blood_splatter_icon.Blend("#fff", ICON_ADD) //fills the icon_state with white (except where it's transparent)
blood_splatter_icon.Blend(icon('icons/effects/blood.dmi', "itemblood"), ICON_MULTIPLY) //adds blood and the remaining white areas become transparant
pic = mutable_appearance(blood_splatter_icon)
pic.color = _color
return TRUE

/datum/element/decal/blood/proc/get_examine_name(datum/source, mob/user, list/override)
Expand Down

0 comments on commit 355d8b7

Please sign in to comment.