Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[SEMI-MODULAR] The TGUIening: The Markening: The Themening #212

Merged
merged 17 commits into from
Nov 14, 2024
4 changes: 4 additions & 0 deletions code/__DEFINES/mobs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -735,6 +735,8 @@ GLOBAL_LIST_INIT(human_heights_to_offsets, list(
#define ID_CARD_LAYER 25
/// Layer for bodyparts that should appear above every other bodypart - Currently only used for hands
#define BODYPARTS_HIGH_LAYER 24
// For hand markings :3c - DOPPLER ADDITION
#define BODY_HAND_LAYER 23.99
/// Gloves layer
#define GLOVES_LAYER 23
/// Shoes layer
Expand Down Expand Up @@ -854,6 +856,8 @@ GLOBAL_LIST_INIT(layers_to_offset, list(
#define EXTERNAL_BEHIND (1 << 6)
#define EXTERNAL_BEHIND_2 (1 << 7)
#define EXTERNAL_BEHIND_3 (1 << 8)
//Hand markings
#define EXTERNAL_HAND (1 << 9)
/// DOPPLER SHIFT ADDITION END
/// Draws organ on all EXTERNAL layers
#define ALL_EXTERNAL_OVERLAYS EXTERNAL_FRONT | EXTERNAL_ADJACENT | EXTERNAL_BEHIND
Expand Down
6 changes: 5 additions & 1 deletion code/datums/bodypart_overlays/bodypart_overlay.dm
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
/// DOPPLER SHIFT ADDITION BEGIN
var/static/list/all_layers = list(EXTERNAL_FRONT,EXTERNAL_FRONT_2,EXTERNAL_FRONT_3,
EXTERNAL_ADJACENT,EXTERNAL_ADJACENT_2,EXTERNAL_ADJACENT_3,
EXTERNAL_BEHIND,EXTERNAL_BEHIND_2,EXTERNAL_BEHIND_3)
EXTERNAL_BEHIND,EXTERNAL_BEHIND_2,EXTERNAL_BEHIND_3, EXTERNAL_HAND)
/// DOPPLER SHIFT ADDITION END

///Key of the icon states of all the sprite_datums for easy caching
Expand Down Expand Up @@ -75,6 +75,8 @@
return "FRONT_2"
if(-BODY_FRONT_LAYER_3)
return "FRONT_3"
if(-BODY_HAND_LAYER)
return "HAND"
/// DOPPLER SHIFT ADDITION END

///Converts a bitflag to the right layer. I'd love to make this a static index list, but byond made an attempt on my life when i did
Expand All @@ -99,6 +101,8 @@
return -BODY_FRONT_LAYER_2
if(EXTERNAL_FRONT_3)
return -BODY_FRONT_LAYER_3
if(EXTERNAL_HAND)
return -BODY_HAND_LAYER
/// DOPPLER SHIFT ADDITION END

///Check whether we can draw the overlays. You generally don't want lizard snouts to draw over an EVA suit
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
/// If you need to make edits to existing bodyparts, do so in here.

/obj/item/bodypart/head
/// Override of the eyes icon file - used for ramatae as test dummies, followed by teshies, vox, possibly moths & insects, and more!
var/eyes_icon
Expand Down
31 changes: 31 additions & 0 deletions modular_doppler/modular_customization/markings/_defines.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
// tgui category
#define PREFERENCE_CATEGORY_MARKINGS "markings"

// length of the dna feature marking list
#define MARKING_LIST_LEN 24

// dna feature marking list item locations
#define MARKING_HEAD 1
#define MARKING_HEAD2 2
#define MARKING_HEAD3 3
#define MARKING_CHEST 4
#define MARKING_CHEST2 5
#define MARKING_CHEST3 6
#define MARKING_RARM 7
#define MARKING_RARM2 8
#define MARKING_RARM3 9
#define MARKING_LARM 10
#define MARKING_LARM2 11
#define MARKING_LARM3 12
#define MARKING_LHAND 13
#define MARKING_LHAND2 14
#define MARKING_LHAND3 15
#define MARKING_RHAND 16
#define MARKING_RHAND2 17
#define MARKING_RHAND3 18
#define MARKING_LLEG 19
#define MARKING_LLEG2 20
#define MARKING_LLEG3 21
#define MARKING_RLEG 22
#define MARKING_RLEG2 23
#define MARKING_RLEG3 24
11 changes: 11 additions & 0 deletions modular_doppler/modular_customization/markings/_markings.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
#define DEFAULT_SPRITE_LIST "default_sprites"

/datum/controller/subsystem/accessories
var/list/body_markings

/datum/controller/subsystem/accessories/setup_lists()
. = ..()

body_markings = init_sprite_accessory_subtypes(/datum/sprite_accessory/body_marking)[DEFAULT_SPRITE_LIST]

#undef DEFAULT_SPRITE_LIST
Original file line number Diff line number Diff line change
@@ -0,0 +1,213 @@
/datum/sprite_accessory/body_marking
color_src = "#CCCCCC"
name = SPRITE_ACCESSORY_NONE
icon_state = SPRITE_ACCESSORY_NONE
gender_specific = TRUE
var/body_zones

/datum/sprite_accessory/body_marking/other
icon = 'modular_doppler/modular_customization/markings/icons/markings/other_markings.dmi'

/datum/sprite_accessory/body_marking/other/drake_bone
name = "Drake Bone"
icon_state = "drakebone"
body_zones = CHEST | HAND_LEFT | HAND_RIGHT
gender_specific = FALSE

/datum/sprite_accessory/body_marking/other/tonage
name = "Body Tonage"
icon_state = "tonage"
color_src = "#555555"
body_zones = CHEST
gender_specific = FALSE

/datum/sprite_accessory/body_marking/other/belly_slim_toned
name = "Belly Slim (Alt) + Tonage"
icon_state = "bellyslimtoned"
color_src = "#555555"
body_zones = CHEST
gender_specific = FALSE

/datum/sprite_accessory/body_marking/other/flushed_cheeks
name = "Flushed Cheeks"
icon_state = "flushed_cheeks"
body_zones = HEAD

/datum/sprite_accessory/body_marking/other/cyclops
name = "Cyclopean Eye"
icon_state = "cyclops"
body_zones = HEAD

/datum/sprite_accessory/body_marking/other/blank_face
name = "Blank round face (use with monster mouth)"
icon_state = "blankface"
body_zones = HEAD

/datum/sprite_accessory/body_marking/other/blank_face2
name = "Blank Round Face, Alt"
icon_state = "blankface2"
body_zones = HEAD

/datum/sprite_accessory/body_marking/other/monster_mouth
name = "Monster Mouth"
icon_state = "monster"
body_zones = HEAD

/datum/sprite_accessory/body_marking/other/monster_mouth2
name = "Monster Mouth (White)"
icon_state = "monster2"
body_zones = HEAD

/datum/sprite_accessory/body_marking/other/monster_mouth3
name = "Monster Mouth (White, eye-compatible)"
icon_state = "monster3"
body_zones = HEAD
//you're welcome -- iska

/datum/sprite_accessory/body_marking/other/nose_blemish
name = "Nose Blemish"
icon_state = "nose_blemish"
body_zones = HEAD

/datum/sprite_accessory/body_marking/other/brows
name = "Brows"
icon_state = "brows"
body_zones = HEAD

/datum/sprite_accessory/body_marking/other/ears
name = "Ears"
icon_state = "ears"
body_zones = HEAD

/datum/sprite_accessory/body_marking/other/insect_antennae
name = "Insect Antennae"
icon_state = "insect_antennae"
body_zones = HEAD

/datum/sprite_accessory/body_marking/other/eyeliner
name = "Eyeliner"
icon_state = "eyeliner"
body_zones = HEAD

/datum/sprite_accessory/body_marking/other/topscars
name = "Top Surgery Scars"
icon_state = "topscars"
body_zones = CHEST

/datum/sprite_accessory/body_marking/other/weight
name = "Body Weight"
icon_state = "weight"
body_zones = CHEST

/datum/sprite_accessory/body_marking/other/weight2
name = "Body Weight (Greyscale)"
icon_state = "weight2"
body_zones = CHEST

/datum/sprite_accessory/body_marking/other/pilot
name = "Pilot"
icon_state = "pilot"
body_zones = HEAD | ARM_LEFT | ARM_RIGHT | HAND_LEFT | HAND_RIGHT

/datum/sprite_accessory/body_marking/other/pilot_jaw
name = "Pilot Jaw"
icon_state = "pilot_jaw"
body_zones = HEAD

/datum/sprite_accessory/body_marking/other/drake_eyes
name = "Drake Eyes"
icon_state = "drakeeyes"
color_src = "#FF0000"
body_zones = HEAD

/datum/sprite_accessory/body_marking/other/big_ol_eyes
name = "Large Eyes"
icon_state = "bigoleyes"
color_src = "#FF0000"
body_zones = HEAD

/datum/sprite_accessory/body_marking/other/three_eyes
name = "Three Eyes"
icon_state = "3eyes"
color_src = "#FF0000"
body_zones = HEAD

/datum/sprite_accessory/body_marking/other/four_eyes
name = "Four Eyes"
icon_state = "4eyes"
color_src = "#FF0000"
body_zones = HEAD

/datum/sprite_accessory/body_marking/other/claws
name = "Claw Tips"
icon_state = "claws"
body_zones = HAND_LEFT | HAND_RIGHT
gender_specific = FALSE

/datum/sprite_accessory/body_marking/other/splotches
name = "Splotches"
icon_state = "splotches"
body_zones = HEAD | CHEST | ARM_LEFT | ARM_RIGHT | HAND_LEFT | HAND_RIGHT | LEG_RIGHT | LEG_LEFT

/datum/sprite_accessory/body_marking/other/splotcheswap
name = "Splotches Swapped"
icon_state = "splotcheswap"
body_zones = HEAD

/datum/sprite_accessory/body_marking/other/bands
name = "Color Bands"
icon_state = "bands"
body_zones = CHEST | ARM_LEFT | ARM_RIGHT | HAND_LEFT | HAND_RIGHT | LEG_RIGHT | LEG_LEFT

/datum/sprite_accessory/body_marking/other/chitin
name = "Chitin"
icon_state = "chitin"
body_zones = CHEST | ARM_LEFT | ARM_RIGHT | HAND_LEFT | HAND_RIGHT | LEG_RIGHT | LEG_LEFT

/datum/sprite_accessory/body_marking/other/bands_foot
name = "Color Bands (Foot)"
icon_state = "bands_foot"
body_zones = LEG_RIGHT | LEG_LEFT

/datum/sprite_accessory/body_marking/other/anklet
name = "Anklet"
icon_state = "anklet"
body_zones = LEG_RIGHT | LEG_LEFT

/datum/sprite_accessory/body_marking/other/legband
name = "Leg Band"
icon_state = "legband"
body_zones = LEG_RIGHT | LEG_LEFT

/datum/sprite_accessory/body_marking/other/protogenlegs
name = "Protogen Leg - Digitigrade"
icon_state = "protogen"
body_zones = LEG_RIGHT | LEG_LEFT

/datum/sprite_accessory/body_marking/other/protogenarms
name = "Protogen Arm"
icon_state = "protogen"
body_zones = ARM_RIGHT | ARM_LEFT

/datum/sprite_accessory/body_marking/other/protogenchest
name = "Protogen Chest"
icon_state = "protogen"
body_zones = CHEST

/datum/sprite_accessory/body_marking/other/jackal_fur
name = "Jackal Back Fur"
icon_state = "jackalfur"
body_zones = CHEST | ARM_RIGHT | ARM_LEFT
gender_specific = FALSE

/datum/sprite_accessory/body_marking/other/jackal_back
name = "Jackal Back Fur Accents"
icon_state = "jackalback"
body_zones = CHEST | ARM_RIGHT | ARM_LEFT
gender_specific = FALSE

/datum/sprite_accessory/body_marking/other/sixnips
name = "Six Nips"
icon_state = "nips"
body_zones = CHEST
gender_specific = FALSE
Loading
Loading