Skip to content
This repository was archived by the owner on May 22, 2025. It is now read-only.

Commit 6854dd9

Browse files
authored
Makes certain mutant bodyparts emissive (#21464)
* emissive * it doesn't work * Update sprite_accessories.dm * Update sprite_accessories.dm * ipc
1 parent c6c73fe commit 6854dd9

File tree

2 files changed

+52
-0
lines changed

2 files changed

+52
-0
lines changed

code/modules/mob/dead/new_player/sprite_accessories.dm

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@
6161
var/dimension_y = 32
6262
var/limbs_id // The limbs id supplied for full-body replacing features.
6363
var/center = FALSE //Should we center the sprite?
64+
var/emissive = FALSE //is this emissive?
6465

6566
//////////////////////
6667
// Hair Definitions //
@@ -857,6 +858,7 @@
857858
/datum/sprite_accessory/ipc_screens
858859
icon = 'icons/mob/ipc_accessories.dmi'
859860
color_src = EYECOLOR
861+
emissive = TRUE
860862

861863
/datum/sprite_accessory/ipc_screens/blue
862864
name = "Blue"
@@ -875,6 +877,7 @@
875877
/datum/sprite_accessory/ipc_screens/blank
876878
name = "Null"
877879
icon_state = "blank"
880+
emissive = FALSE
878881

879882
/datum/sprite_accessory/ipc_screens/console
880883
name = "Console"
@@ -2242,13 +2245,15 @@
22422245
center = TRUE
22432246
dimension_y = 34
22442247
locked = TRUE
2248+
emissive = TRUE
22452249

22462250
/datum/sprite_accessory/wings_open/ethereal
22472251
name = "Ethereal"
22482252
icon_state = "ethereal"
22492253
dimension_x = 46
22502254
center = TRUE
22512255
dimension_y = 34
2256+
emissive = TRUE
22522257

22532258
/datum/sprite_accessory/wings/etherealdetails
22542259
name = "Etherealdetails"
@@ -2258,6 +2263,7 @@
22582263
dimension_y = 34
22592264
locked = TRUE
22602265
color_src = null
2266+
emissive = TRUE
22612267

22622268
/datum/sprite_accessory/wings_open/etherealdetails
22632269
name = "Etherealdetails"
@@ -2266,6 +2272,7 @@
22662272
center = TRUE
22672273
dimension_y = 34
22682274
color_src = null
2275+
emissive = TRUE
22692276

22702277
/datum/sprite_accessory/wings/elytra
22712278
name = "Elytra"
@@ -2275,6 +2282,7 @@
22752282
dimension_y = 32
22762283
locked = TRUE
22772284
color_src = EYECOLOR
2285+
emissive = TRUE
22782286

22792287
/datum/sprite_accessory/wings_open/elytra
22802288
name = "Elytra"
@@ -2283,6 +2291,7 @@
22832291
center = TRUE
22842292
dimension_y = 32
22852293
color_src = EYECOLOR
2294+
emissive = TRUE
22862295

22872296
/datum/sprite_accessory/frills
22882297
icon = 'icons/mob/mutant_bodyparts.dmi'
@@ -2598,6 +2607,7 @@
25982607
/datum/sprite_accessory/ethereal_mark
25992608
icon = 'icons/mob/mutant_bodyparts.dmi'
26002609
color_src = EYECOLOR
2610+
emissive = TRUE
26012611

26022612
/datum/sprite_accessory/ethereal_mark/eyes
26032613
name = "Eyes"
@@ -2717,6 +2727,7 @@
27172727
/datum/sprite_accessory/preternis_eye
27182728
icon = 'icons/mob/mutant_bodyparts.dmi'
27192729
color_src = EYECOLOR
2730+
emissive = TRUE
27202731

27212732
/datum/sprite_accessory/preternis_eye/one
27222733
name = "Standard"
@@ -2754,6 +2765,7 @@
27542765
/datum/sprite_accessory/preternis_core
27552766
icon = 'icons/mob/mutant_bodyparts.dmi'
27562767
color_src = EYECOLOR
2768+
emissive = TRUE
27572769

27582770
/datum/sprite_accessory/preternis_core/core
27592771
name = "Core"

code/modules/mob/living/carbon/human/species.dm

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -916,6 +916,10 @@ GLOBAL_LIST_EMPTY(features_by_species)
916916
if((H.wear_mask && (H.wear_mask.flags_inv & HIDEEYES)) || (H.head && (H.head.flags_inv & HIDEEYES)) || !HD)
917917
bodyparts_to_add -= "preternis_eye"
918918

919+
if("preternis_core" in mutant_bodyparts)
920+
if(H.w_uniform || H.wear_suit)
921+
bodyparts_to_add -= "preternis_core"
922+
919923
if("pod_hair" in mutant_bodyparts)
920924
if((H.wear_mask && (H.wear_mask.flags_inv & HIDEHAIR)) || (H.head && (H.head.flags_inv & HIDEHAIR)) || !HD || HD.status == BODYPART_ROBOTIC)
921925
bodyparts_to_add -= "pod_hair"
@@ -1082,6 +1086,42 @@ GLOBAL_LIST_EMPTY(features_by_species)
10821086
accessory_overlay.color = forced_colour
10831087
standing += accessory_overlay
10841088

1089+
if(S.emissive && !(HAS_TRAIT(H, TRAIT_HUSK)))
1090+
var/mutable_appearance/emissive_accessory_overlay = emissive_appearance(S.icon, "placeholder", H)
1091+
1092+
//A little rename so we don't have to use tail_lizard or tail_human when naming the sprites.
1093+
if(S.gender_specific)
1094+
emissive_accessory_overlay.icon_state = "[g]_[bodypart]_[S.icon_state]_[layertext]"
1095+
else
1096+
emissive_accessory_overlay.icon_state = "m_[bodypart]_[S.icon_state]_[layertext]"
1097+
1098+
if(S.center)
1099+
emissive_accessory_overlay = center_image(emissive_accessory_overlay, S.dimension_x, S.dimension_y)
1100+
1101+
if(!forced_colour)
1102+
switch(S.color_src)
1103+
if(MUTCOLORS)
1104+
if(H.dna.check_mutation(HULK)) //HULK GO FIRST
1105+
emissive_accessory_overlay.color = "#00aa00"
1106+
else if(fixed_mut_color) //Then fixed color if applicable
1107+
emissive_accessory_overlay.color = fixed_mut_color
1108+
else //Then snowflake color
1109+
emissive_accessory_overlay.color = H.dna.features["mcolor"]
1110+
if(HAIR)
1111+
if(hair_color == "mutcolor")
1112+
emissive_accessory_overlay.color = H.dna.features["mcolor"]
1113+
else if(hair_color == "fixedmutcolor")
1114+
emissive_accessory_overlay.color = fixed_mut_color
1115+
else
1116+
emissive_accessory_overlay.color = H.hair_color
1117+
if(FACEHAIR)
1118+
emissive_accessory_overlay.color = H.facial_hair_color
1119+
if(EYECOLOR)
1120+
emissive_accessory_overlay.color = H.eye_color
1121+
else
1122+
emissive_accessory_overlay.color = forced_colour
1123+
standing += emissive_accessory_overlay
1124+
10851125
if(S.hasinner)
10861126
var/mutable_appearance/inner_accessory_overlay = mutable_appearance(S.icon, layer = -layer)
10871127
if(S.gender_specific)

0 commit comments

Comments
 (0)