[MIRROR] AnymousUnknow Marking Upport [GBP IGNORE] (#12019)

Co-authored-by: Cameron Lennox <killer65311@gmail.com>
This commit is contained in:
CHOMPStation2StaffMirrorBot
2025-11-22 09:31:45 -07:00
committed by GitHub
parent 8585152414
commit 861763e471
9 changed files with 129 additions and 6 deletions

View File

@@ -46,7 +46,9 @@
continue
if(S.name == DEVELOPER_WARNING_NAME)
continue
if( !(species in S.species_allowed))
if(!(species in S.species_allowed))
continue
if(!S.can_be_selected)
continue
valid_hairstyles[hairstyle] = GLOB.hair_styles_list[hairstyle]
@@ -67,7 +69,9 @@
continue
if(S.name == DEVELOPER_WARNING_NAME)
continue
if( !(species in S.species_allowed))
if(!(species in S.species_allowed))
continue
if(!S.can_be_selected)
continue
valid_facialhairstyles[facialhairstyle] = GLOB.facial_hair_styles_list[facialhairstyle]

View File

@@ -63,6 +63,8 @@ var/const/preview_icons = 'icons/mob/human_races/preview.dmi'
continue
if(instance.species_allowed && (!species || !(species in instance.species_allowed)) && (!client || !check_rights_for(client, R_ADMIN | R_EVENT | R_FUN)) && (!custom_base || !(custom_base in instance.species_allowed)))
continue
if(!instance.can_be_selected && (!client || !check_rights_for(client, R_HOLDER)))
continue
.[instance.name] = instance
/datum/preferences/proc/mass_edit_marking_list(var/marking, var/change_on = TRUE, var/change_color = TRUE, var/marking_value = null, var/on = TRUE, var/color = "#000000")

View File

@@ -215,6 +215,9 @@
if(!(use_species in S.species_allowed))
continue
if(!S.can_be_selected && (!client || !check_rights_for(client, R_HOLDER)))
continue
if(S.ckeys_allowed && !(ckey in S.ckeys_allowed)) //VOREStation add - ckey whitelist check
continue //VOREStation add - ckey whitelist check
@@ -244,6 +247,9 @@
if(!(use_species in S.species_allowed))
continue
if(!S.can_be_selected && (!client || !check_rights_for(client, R_HOLDER)))
continue
if(S.ckeys_allowed && !(ckey in S.ckeys_allowed)) //VOREStation add - ckey whitelist check
continue //VOREStation add - ckey whitelist check

View File

@@ -94,6 +94,8 @@ var/list/wrapped_species_by_ref = list()
continue
if(!(species.get_bodytype(src) in S.species_allowed))
continue
if(!S.can_be_selected && (!client || !check_rights_for(client, R_HOLDER)))
continue
valid_hairstyles += hairstyle
for(var/facialhairstyle in GLOB.facial_hair_styles_list)
var/datum/sprite_accessory/S = GLOB.facial_hair_styles_list[facialhairstyle]
@@ -105,6 +107,8 @@ var/list/wrapped_species_by_ref = list()
continue
if(!(species.get_bodytype(src) in S.species_allowed))
continue
if(!S.can_be_selected && (!client || !check_rights_for(client, R_HOLDER)))
continue
valid_facialhairstyles += facialhairstyle

View File

@@ -282,6 +282,8 @@
continue
if(!(species in S.species_allowed) && (!custom_base || !(custom_base in S.species_allowed)))
continue
if(!S.can_be_selected && (!client || !check_rights_for(client, R_HOLDER)))
continue
if((!S.ckeys_allowed) || (user.ckey in S.ckeys_allowed))
valid_hairstyles[S.name] = hairstyle
@@ -300,6 +302,8 @@
continue
if(!(species in S.species_allowed) && (!custom_base || !(custom_base in S.species_allowed)))
continue
if(!S.can_be_selected && (!client || !check_rights_for(client, R_HOLDER)))
continue
valid_facialhairstyles[facialhairstyle] = GLOB.facial_hair_styles_list[facialhairstyle]

View File

@@ -33,23 +33,27 @@ GLOBAL_LIST_INIT(fancy_sprite_accessory_color_channel_names, list("Primary", "Se
var/name = DEVELOPER_WARNING_NAME // the preview name of the accessory
// Determines if the accessory will be skipped or included in random hair generations
/// Determines if the accessory will be skipped or included in random hair generations
var/gender = NEUTER
// Restrict some styles to specific species. Default to all species to avoid runtimes in character creator.
/// Restrict some styles to specific species. Default to all species to avoid runtimes in character creator.
var/list/species_allowed = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_UNATHI, SPECIES_TAJARAN, SPECIES_TESHARI, SPECIES_NEVREAN, SPECIES_AKULA, SPECIES_SERGAL, SPECIES_FENNEC, SPECIES_ZORREN_HIGH, SPECIES_VULPKANIN, SPECIES_XENOCHIMERA, SPECIES_XENOHYBRID, SPECIES_VASILISSAN, SPECIES_RAPALA, SPECIES_PROTEAN, SPECIES_ALRAUNE, SPECIES_WEREBEAST, SPECIES_SHADEKIN, SPECIES_SHADEKIN_CREW, SPECIES_ALTEVIAN, SPECIES_LLEILL, SPECIES_HANNER, SPECIES_ZADDAT, SPECIES_SPARKLE, SPECIES_PROMETHEAN, SPECIES_ZORREN_DARK)
// Whether or not the accessory can be affected by colouration
/// If the accessory can be selected normally. If FALSE, only staff can select it.
var/can_be_selected = TRUE
/// Whether or not the accessory can be affected by colouration
var/do_colouration = 1
var/color_blend_mode = ICON_MULTIPLY // If checked.
// Ckey of person allowed to use this, if defined.
/// Ckey of person allowed to use this, if defined.
var/list/ckeys_allowed = null
/// Should this sprite block emissives?
var/em_block = FALSE
/// What body parts we hide when this accessory is worn. Only blocks the body part if the accompanying organ in body_parts is also enabled.
var/list/hide_body_parts = list() //Uses organ tag defines. Bodyparts in this list do not have their icons rendered, allowing for more spriter freedom when doing taur/digitigrade stuff.
/**

View File

@@ -2896,3 +2896,100 @@ includes scars and tattoos
icon = 'icons/mob/human_races/markings.dmi'
color_blend_mode = ICON_MULTIPLY
body_parts = list(BP_L_ARM,BP_R_ARM)
// OAK TREE TRUNK //
/datum/sprite_accessory/marking/treeoak
name = "Tree Trunk (Oak)"
icon_state = "tree_oak_trunk"
color_blend_mode = ICON_MULTIPLY
body_parts = list(BP_TORSO, BP_GROIN, BP_HEAD, BP_R_ARM, BP_R_HAND, BP_L_ARM, BP_L_HAND)
hide_body_parts = list(BP_TORSO, BP_GROIN, BP_HEAD, BP_R_ARM, BP_R_HAND, BP_L_ARM, BP_L_HAND)
// THIN BODY SHAPE //
/datum/sprite_accessory/marking/thin1
name = "Thin Bodytype"
icon_state = "thin1"
color_blend_mode = ICON_MULTIPLY
hide_body_parts = list(BP_L_LEG,BP_R_LEG,BP_L_ARM,BP_R_ARM,BP_GROIN,BP_TORSO,BP_L_HAND,BP_R_HAND,BP_L_FOOT,BP_R_FOOT)
body_parts = list(BP_L_LEG,BP_R_LEG,BP_L_ARM,BP_R_ARM,BP_GROIN,BP_TORSO,BP_L_HAND,BP_R_HAND,BP_L_FOOT,BP_R_FOOT)
/datum/sprite_accessory/marking/thin2
name = "Thinner Bodytype"
icon_state = "thin2"
color_blend_mode = ICON_MULTIPLY
hide_body_parts = list(BP_L_FOOT,BP_R_FOOT,BP_L_LEG,BP_R_LEG,BP_L_ARM,BP_R_ARM,BP_L_HAND,BP_R_HAND,BP_GROIN,BP_TORSO)
body_parts = list(BP_L_FOOT,BP_R_FOOT,BP_L_LEG,BP_R_LEG,BP_L_ARM,BP_R_ARM,BP_L_HAND,BP_R_HAND,BP_GROIN,BP_TORSO)
/datum/sprite_accessory/marking/skeleton_full
name = "Skeleton (Neck Down)"
icon_state = "skeleton"
color_blend_mode = ICON_MULTIPLY
hide_body_parts = list(BP_L_FOOT,BP_R_FOOT,BP_L_LEG,BP_R_LEG,BP_L_ARM,BP_R_ARM,BP_L_HAND,BP_R_HAND,BP_GROIN,BP_TORSO)
body_parts = list(BP_L_FOOT,BP_R_FOOT,BP_L_LEG,BP_R_LEG,BP_L_ARM,BP_R_ARM,BP_L_HAND,BP_R_HAND,BP_GROIN,BP_TORSO)
can_be_selected = FALSE
//HEAD PIECES
/datum/sprite_accessory/marking/protovisor
name = "Protogen Visor"
icon_state = "proto_visor"
body_parts = list(BP_HEAD)
color_blend_mode = ICON_MULTIPLY
/datum/sprite_accessory/marking/protovisor_gloss
name = "Protogen Visor (Gloss)"
icon_state = "proto_visor_gloss"
body_parts = list(BP_HEAD)
color_blend_mode = ICON_MULTIPLY
/datum/sprite_accessory/marking/protovisor_mouth
name = "Protogen Visor (Mouth)"
icon_state = "proto_visor_mouth"
body_parts = list(BP_HEAD)
color_blend_mode = ICON_MULTIPLY
/datum/sprite_accessory/marking/protovisor_eyes
name = "Protogen Visor (Eyes)"
icon_state = "proto_visor_eyes"
body_parts = list(BP_HEAD)
color_blend_mode = ICON_MULTIPLY
/datum/sprite_accessory/marking/protovisor_eyes_left
name = "Protogen Visor (Eye, Left)"
icon_state = "proto_visor_eyes_l"
body_parts = list(BP_HEAD)
color_blend_mode = ICON_MULTIPLY
/datum/sprite_accessory/marking/protovisor_eyes_right
name = "Protogen Visor (Eye, Right)"
icon_state = "proto_visor_eyes_r"
body_parts = list(BP_HEAD)
color_blend_mode = ICON_MULTIPLY
/datum/sprite_accessory/marking/protovisor_head
name = "Protogen Visor (Headpiece)"
icon_state = "proto_visor_band"
body_parts = list(BP_HEAD)
color_blend_mode = ICON_MULTIPLY
/datum/sprite_accessory/marking/protovisor_cheek
name = "Protogen Visor (Cheekpiece)"
icon_state = "proto_visor_cheek"
body_parts = list(BP_HEAD)
color_blend_mode = ICON_MULTIPLY
/datum/sprite_accessory/marking/skeleton_head_human
name = "Skeleton Head (Humanoid)"
icon_state = "skull_human"
body_parts = list(BP_HEAD)
color_blend_mode = ICON_MULTIPLY
hide_body_parts = list(BP_HEAD)
/datum/sprite_accessory/marking/skeleton_head_snout
name = "Skeleton Head (Snouted)"
icon_state = "skull_snout"
body_parts = list(BP_HEAD)
color_blend_mode = ICON_MULTIPLY
hide_body_parts = list(BP_HEAD)

View File

@@ -991,6 +991,8 @@
return FALSE
if(!isnull(X.species_allowed) && !(target.species.name in X.species_allowed) && (!istype(target.species, /datum/species/custom))) // Letting custom species access wings/ears/tails.
return FALSE
if(!X.can_be_selected && (!user || !check_rights_for(user.client, R_HOLDER))) //So staff can quickly change people's appearance for events.
return FALSE
if(LAZYLEN(X.ckeys_allowed) && !(user?.ckey in X.ckeys_allowed) && !(target.ckey in X.ckeys_allowed))
return FALSE

Binary file not shown.

Before

Width:  |  Height:  |  Size: 139 KiB

After

Width:  |  Height:  |  Size: 159 KiB