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

[IDB IGNORE]Kepori Visual Overhaul #2892

Merged
merged 19 commits into from
Jun 7, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion code/__DEFINES/inventory.dm
Original file line number Diff line number Diff line change
Expand Up @@ -174,5 +174,4 @@ GLOBAL_LIST_INIT(security_wintercoat_allowed, typecacheof(list(
/obj/item/tank/internals/plasmaman,
/obj/item/toy)))

//WS Port - Internals checker
#define GET_INTERNAL_SLOTS(C) list(C.head, C.wear_mask)
12 changes: 6 additions & 6 deletions code/__DEFINES/species_clothing_defines.dm
Original file line number Diff line number Diff line change
Expand Up @@ -31,12 +31,12 @@
#define KEPORI_UNIFORM_PATH 'icons/mob/species/kepori/onmob_uniform_kepori.dmi'
#define KEPORI_SHOES_PATH 'icons/mob/species/kepori/onmob_feet_kepori.dmi'
#define KEPORI_SUIT_PATH 'icons/mob/species/kepori/onmob_suit_kepori.dmi'
//#define KEPORI_EARS_PATH 'icons/mob/species/kepori/onmob_ears_kepori.dmi'
#define KEPORI_EARS_PATH 'icons/mob/species/kepori/onmob_ears_kepori.dmi'
#define KEPORI_MASK_PATH 'icons/mob/species/kepori/onmob_mask_kepori.dmi'
#define KEPORI_HEAD_PATH 'icons/mob/species/kepori/onmob_head_kepori.dmi'
#define KEPORI_GLASSES_PATH 'icons/mob/species/kepori/onmob_eyes_kepori.dmi'
#define KEPORI_GLOVES_PATH 'icons/mob/species/kepori/onmob_hands_kepori.dmi'
//#define KEPORI_BELT_PATH 'icons/mob/species/kepori/onmob_belt_kepori.dmi'
//#define KEPORI_GLASSES_PATH 'icons/mob/species/kepori/onmob_eyes_kepori.dmi'
#define KEPORI_UNDERWEAR_TORSO_PATH 'icons/mob/clothing/underwear/species/underwear_torso_kepori.dmi'
#define KEPORI_UNDERWEAR_LEGS_PATH 'icons/mob/clothing/underwear/species/underwear_legs_kepori.dmi'
#define KEPORI_UNDERWEAR_SOCKS_PATH 'icons/mob/clothing/underwear/species/underwear_socks_kepori.dmi'
#define KEPORI_BELT_PATH 'icons/mob/species/kepori/onmob_belt_kepori.dmi'
#define KEPORI_UNDERWEAR_TORSO_PATH 'icons/mob/clothing/underwear/species/kepori/underwear_torso_kepori.dmi'
#define KEPORI_UNDERWEAR_LEGS_PATH 'icons/mob/clothing/underwear/species/kepori/underwear_legs_kepori.dmi'
#define KEPORI_UNDERWEAR_SOCKS_PATH 'icons/mob/clothing/underwear/species/kepori/underwear_socks_kepori.dmi'
1 change: 1 addition & 0 deletions code/__HELPERS/global_lists.dm
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@
init_sprite_accessory_subtypes(/datum/sprite_accessory/spider_spinneret, GLOB.spider_spinneret_list)
init_sprite_accessory_subtypes(/datum/sprite_accessory/kepori_feathers, GLOB.kepori_feathers_list)
init_sprite_accessory_subtypes(/datum/sprite_accessory/kepori_body_feathers, GLOB.kepori_body_feathers_list)
init_sprite_accessory_subtypes(/datum/sprite_accessory/kepori_head_feathers, GLOB.kepori_head_feathers_list)
init_sprite_accessory_subtypes(/datum/sprite_accessory/kepori_tail_feathers, GLOB.kepori_tail_feathers_list)
init_sprite_accessory_subtypes(/datum/sprite_accessory/vox_head_quills, GLOB.vox_head_quills_list)
init_sprite_accessory_subtypes(/datum/sprite_accessory/vox_neck_quills, GLOB.vox_neck_quills_list)
Expand Down
1 change: 1 addition & 0 deletions code/__HELPERS/mobs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,7 @@
"ipc_chassis" = pick(GLOB.ipc_chassis_list),
"ipc_screen" = pick(GLOB.ipc_screens_list),
"kepori_body_feathers" = pick(GLOB.kepori_body_feathers_list),
"kepori_head_feathers" = pick(GLOB.kepori_head_feathers_list),
"kepori_feathers" = pick(GLOB.kepori_feathers_list),
"kepori_tail_feathers" = pick(GLOB.kepori_tail_feathers_list),
"legs" = "Normal Legs",
Expand Down
1 change: 1 addition & 0 deletions code/_globalvars/lists/flavor_misc.dm
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ GLOBAL_LIST_EMPTY(spider_legs_list)
GLOBAL_LIST_EMPTY(spider_spinneret_list)
GLOBAL_LIST_EMPTY(kepori_feathers_list)
GLOBAL_LIST_EMPTY(kepori_body_feathers_list)
GLOBAL_LIST_EMPTY(kepori_head_feathers_list)
GLOBAL_LIST_EMPTY(kepori_tail_feathers_list)
GLOBAL_LIST_EMPTY(vox_head_quills_list)
GLOBAL_LIST_EMPTY(vox_neck_quills_list)
Expand Down
2 changes: 1 addition & 1 deletion code/game/objects/items/storage/backpack.dm
Original file line number Diff line number Diff line change
Expand Up @@ -226,7 +226,7 @@
/obj/item/storage/backpack/satchel/leather
name = "leather satchel"
desc = "It's a very fancy satchel made with fine leather."
icon = 'icons/obj/storage.dmi' //WS Edit - Suitcases
icon = 'icons/obj/storage.dmi'
icon_state = "satchel"
item_state = "satchel"

Expand Down
1 change: 1 addition & 0 deletions code/modules/admin/create_mob.dm
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@
H.dna.features["squid_face"] = pick(GLOB.squid_face_list)
H.dna.features["kepori_feathers"] = pick(GLOB.kepori_feathers_list)
H.dna.features["kepori_body_feathers"] = pick(GLOB.kepori_body_feathers_list)
H.dna.features["kepori_head_feathers"] = pick(GLOB.kepori_head_feathers_list)
H.dna.features["vox_head_quills"] = pick(GLOB.vox_head_quills_list)
H.dna.features["vox_neck_quills"] = pick(GLOB.vox_neck_quills_list)
H.dna.features["elzu_horns"] = pick(GLOB.elzu_horns_list)
Expand Down
43 changes: 39 additions & 4 deletions code/modules/client/preferences.dm
Original file line number Diff line number Diff line change
Expand Up @@ -114,9 +114,10 @@ GLOBAL_LIST_EMPTY(preferences_datums)
"ipc_tail" = "None",
"ipc_chassis" = "Morpheus Cyberkinetics (Custom)",
"ipc_brain" = "Posibrain",
"kepori_feathers" = "Plain",
"kepori_body_feathers" = "Plain",
"kepori_tail_feathers" = "Fan",
"kepori_feathers" = "None",
"kepori_body_feathers" = "None",
"kepori_head_feathers" = "None",
"kepori_tail_feathers" = "None",
"vox_head_quills" = "Plain",
"vox_neck_quills" = "Plain",
"elzu_horns" = "None",
Expand Down Expand Up @@ -244,7 +245,7 @@ GLOBAL_LIST_EMPTY(preferences_datums)
return

#define APPEARANCE_CATEGORY_COLUMN "<td valign='top' width='14%'>"
#define MAX_MUTANT_ROWS 4
#define MAX_MUTANT_ROWS 5

/datum/preferences/proc/ShowChoices(mob/user)
show_loadout = (current_tab != 1) ? show_loadout : FALSE
Expand Down Expand Up @@ -728,6 +729,19 @@ GLOBAL_LIST_EMPTY(preferences_datums)
dat += "</td>"
mutant_category = 0

if("kepori_head_feathers" in pref_species.default_features)
if(!mutant_category)
dat += APPEARANCE_CATEGORY_COLUMN

dat += "<h3>Head Feathers</h3>"
dat += "<a href='?_src_=prefs;preference=kepori_head_feathers;task=input'>[features["kepori_head_feathers"]]</a><BR>"
dat += "<span style='border:1px solid #161616; background-color: #[features["mcolor2"]];'>&nbsp;&nbsp;&nbsp;</span> <a href='?_src_=prefs;preference=mutant_color_2;task=input'>Change</a><BR>"

mutant_category++
if(mutant_category >= MAX_MUTANT_ROWS)
dat += "</td>"
mutant_category = 0

if("kepori_body_feathers" in pref_species.default_features)
if(!mutant_category)
dat += APPEARANCE_CATEGORY_COLUMN
Expand Down Expand Up @@ -836,10 +850,17 @@ GLOBAL_LIST_EMPTY(preferences_datums)

//Adds a thing to select which phobia because I can't be assed to put that in the quirks window
if("Phobia" in all_quirks)
if(!mutant_category)
dat += APPEARANCE_CATEGORY_COLUMN
dat += "<h3>Phobia</h3>"

dat += "<a href='?_src_=prefs;preference=phobia;task=input'>[phobia]</a><BR>"

mutant_category++
if(mutant_category >= MAX_MUTANT_ROWS)
dat += "</td>"
mutant_category = 0

if("Smoker" in all_quirks)
dat += "<h3>Smoker</h3>"

Expand All @@ -853,6 +874,14 @@ GLOBAL_LIST_EMPTY(preferences_datums)

dat += "<a href='?_src_=prefs;preference=body_size;task=input'>[features["body_size"]]</a><BR>"

mutant_category++
if(mutant_category >= MAX_MUTANT_ROWS)
dat += "</td>"
mutant_category = 0

if(generic_adjective)
if(!mutant_category)
dat += APPEARANCE_CATEGORY_COLUMN

dat += "<h3>Character Adjective</h3>"

Expand Down Expand Up @@ -1970,6 +1999,12 @@ GLOBAL_LIST_EMPTY(preferences_datums)
if (new_kepori_feathers)
features["kepori_feathers"] = new_kepori_feathers

if("kepori_head_feathers")
var/new_kepori_feathers
new_kepori_feathers = input(user, "Choose your character's head feathers:", "Character Preference") as null|anything in GLOB.kepori_head_feathers_list
if (new_kepori_feathers)
features["kepori_head_feathers"] = new_kepori_feathers

if("kepori_body_feathers")
var/new_kepori_feathers
new_kepori_feathers = input(user, "Choose your character's body feathers:", "Character Preference") as null|anything in GLOB.kepori_body_feathers_list
Expand Down
7 changes: 5 additions & 2 deletions code/modules/client/preferences_savefile.dm
Original file line number Diff line number Diff line change
Expand Up @@ -438,6 +438,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
READ_FILE(S["feature_ipc_brain"], features["ipc_brain"])
READ_FILE(S["feature_kepori_feathers"], features["kepori_feathers"])
READ_FILE(S["feature_kepori_body_feathers"], features["kepori_body_feathers"])
READ_FILE(S["feature_kepori_head_feathers"], features["kepori_head_feathers"])
READ_FILE(S["feature_kepori_tail_feathers"], features["kepori_tail_feathers"])
READ_FILE(S["feature_vox_head_quills"], features["vox_head_quills"])
READ_FILE(S["feature_vox_neck_quills"], features["vox_neck_quills"])
Expand Down Expand Up @@ -548,8 +549,9 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
features["ipc_chassis"] = sanitize_inlist(features["ipc_chassis"], GLOB.ipc_chassis_list)
features["ipc_brain"] = sanitize_inlist(features["ipc_brain"], GLOB.ipc_brain_list)
features["kepori_feathers"] = sanitize_inlist(features["kepori_feathers"], GLOB.kepori_feathers_list, "Plain")
features["kepori_body_feathers"] = sanitize_inlist(features["kepori_body_feathers"], GLOB.kepori_body_feathers_list, "Plain")
features["kepori_tail_feathers"] = sanitize_inlist(features["kepori_tail_feathers"], GLOB.kepori_tail_feathers_list, "Fan")
features["kepori_body_feathers"] = sanitize_inlist(features["kepori_body_feathers"], GLOB.kepori_body_feathers_list, "None")
features["kepori_head_feathers"] = sanitize_inlist(features["kepori_head_feathers"], GLOB.kepori_head_feathers_list, "None")
features["kepori_tail_feathers"] = sanitize_inlist(features["kepori_tail_feathers"], GLOB.kepori_tail_feathers_list, "None")
features["vox_head_quills"] = sanitize_inlist(features["vox_head_quills"], GLOB.vox_head_quills_list, "None")
features["vox_neck_quills"] = sanitize_inlist(features["vox_neck_quills"], GLOB.vox_neck_quills_list, "None")
features["elzu_horns"] = sanitize_inlist(features["elzu_horns"], GLOB.elzu_horns_list)
Expand Down Expand Up @@ -629,6 +631,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
WRITE_FILE(S["feature_ipc_brain"] , features["ipc_brain"])
WRITE_FILE(S["feature_kepori_feathers"] , features["kepori_feathers"])
WRITE_FILE(S["feature_kepori_body_feathers"], features["kepori_body_feathers"])
WRITE_FILE(S["feature_kepori_head_feathers"], features["feature_kepori_head_feathers"])
WRITE_FILE(S["feature_kepori_tail_feathers"], features["kepori_tail_feathers"])
WRITE_FILE(S["feature_vox_head_quills"] , features["vox_head_quills"])
WRITE_FILE(S["feature_vox_neck_quills"] , features["vox_neck_quills"])
Expand Down
5 changes: 3 additions & 2 deletions code/modules/clothing/clothing.dm
Original file line number Diff line number Diff line change
Expand Up @@ -286,17 +286,18 @@

if("[layer]" in mob_species.offset_clothing)
// This code taken from Baystation 12
var/icon/final_I = icon('icons/blanks/32x32.dmi', "nothing")
var/icon/final_I = icon('icons/blanks/64x64.dmi', "nothing")
var/list/shifts = mob_species.offset_clothing["[layer]"]

// Apply all pixel shifts for each direction.
for(var/shift_facing in shifts)
var/list/facing_list = shifts[shift_facing]
var/use_dir = text2num(shift_facing)
var/icon/equip = icon(file2use, icon_state = state2use, dir = use_dir)
var/icon/canvas = icon('icons/blanks/32x32.dmi', "nothing")
var/icon/canvas = icon('icons/blanks/64x64.dmi', "nothing")
canvas.Blend(equip, ICON_OVERLAY, facing_list["x"]+1, facing_list["y"]+1)
final_I.Insert(canvas, dir = use_dir)

final_I = fcopy_rsc(final_I)
GLOB.species_clothing_icons[mob_species.id]["[file2use]-[state2use]"] = final_I
return TRUE
Expand Down
2 changes: 0 additions & 2 deletions code/modules/clothing/glasses/hud.dm
Original file line number Diff line number Diff line change
Expand Up @@ -248,7 +248,6 @@
tint = 1
glass_colour_type = /datum/client_colour/glass_colour/gray


/obj/item/clothing/glasses/hud/spacecop/hidden // for the undercover cop
name = "sunglasses"
desc = "These sunglasses are special, and let you view potential criminals."
Expand All @@ -274,4 +273,3 @@
desc = "A heads-up display that scans the humanoids in view and provides accurate data about their ID status and security records. This pair also corrects nearsightedness."
icon_state = "prescriptionsecurityhud"
vision_correction = 1

11 changes: 5 additions & 6 deletions code/modules/clothing/gloves/color.dm
Original file line number Diff line number Diff line change
Expand Up @@ -220,7 +220,7 @@
icon_state = "nitrile"
transfer_prints = FALSE
carrytrait = TRAIT_QUICKER_CARRY
supports_variations = KEPORI_VARIATION
//supports_variations = KEPORI_VARIATION

/obj/item/clothing/gloves/color/latex/nitrile/evil
name = "red nitrile gloves"
Expand All @@ -240,10 +240,8 @@
desc = "Overdesigned engineering gloves that have automated construction subrutines dialed in, allowing for faster construction while worn."
icon = 'icons/obj/clothing/clockwork_garb.dmi'
icon_state = "clockwork_gauntlets"
siemens_coefficient = 0 //WS Station eddit "Tinkers Gloves Insuls"
permeability_coefficient = 0.05 //WS Station eddit "Tinkers Gloves Insuls"
//siemens_coefficient = 0.8 WS Station eddit "Tinkers Gloves Insuls"
//permeability_coefficient = 0.3 WS Station eddit "Tinkers Gloves Insuls"
siemens_coefficient = 0
permeability_coefficient = 0.05
carrytrait = TRAIT_QUICK_BUILD
custom_materials = list(/datum/material/iron=2000, /datum/material/silver=1500, /datum/material/gold = 1000)

Expand Down Expand Up @@ -276,7 +274,8 @@
/obj/item/clothing/gloves/color/light_brown = 1,
/obj/item/clothing/gloves/color/brown = 1,
/obj/item/clothing/gloves/color/white = 1,
/obj/item/clothing/gloves/color/rainbow = 1)
/obj/item/clothing/gloves/color/rainbow = 1,
)

/obj/item/clothing/gloves/maid
name = "maid arm covers"
Expand Down
2 changes: 1 addition & 1 deletion code/modules/clothing/gloves/miscellaneous.dm
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@
max_heat_protection_temperature = GLOVES_MAX_TEMP_PROTECT
resistance_flags = NONE
armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 80, "acid" = 50)
supports_variations = KEPORI_VARIATION
//supports_variations = KEPORI_VARIATION

/obj/item/clothing/gloves/combat/maid
name = "combat maid sleeves"
Expand Down
2 changes: 2 additions & 0 deletions code/modules/clothing/head/helmet.dm
Original file line number Diff line number Diff line change
Expand Up @@ -500,6 +500,7 @@
icon_state = "inteq_swat"
item_state = "inteq_swat"
flags_inv = HIDEHAIR
supports_variations = KEPORI_VARIATION
content_overlays = TRUE

/obj/item/clothing/head/helmet/inteq
Expand All @@ -508,6 +509,7 @@
icon_state = "inteq_helmet"
icon_state = "inteq_helmet"
can_flashlight = TRUE
supports_variations = KEPORI_VARIATION
content_overlays = TRUE

/obj/item/clothing/head/solgov
Expand Down
2 changes: 1 addition & 1 deletion code/modules/clothing/spacesuits/_spacesuits.dm
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@
slowdown = 1
armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 100, "rad" = 50, "fire" = 80, "acid" = 70)
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT
cold_protection = CHEST | GROIN | LEGS | FEET | ARMS | HANDS
cold_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
min_cold_protection_temperature = SPACE_SUIT_MIN_TEMP_PROTECT
heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
max_heat_protection_temperature = SPACE_SUIT_MAX_TEMP_PROTECT
Expand Down
6 changes: 3 additions & 3 deletions code/modules/clothing/suits/armor.dm
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@
desc = "A Type I armored vest that provides decent protection against most types of damage."
icon_state = "armor_alt"
item_state = "armoralt"
supports_variations = KEPORI_VARIATION
//supports_variations = KEPORI_VARIATION

/obj/item/clothing/suit/armor/vest/marine
name = "light tactical armor vest"
Expand Down Expand Up @@ -326,15 +326,15 @@
desc = "A luxurious brown coat made from a crossweave of kevlar and ballistic fibre, the collar and wrist trims are made from genuine wolf fur. as protective as it is stylish."
icon_state = "armor_inteq_battlecoat"
item_state = "inteq_battlecoat"
supports_variations = DIGITIGRADE_VARIATION_NO_NEW_ICON | VOX_VARIATION | KEPORI_VARIATION
supports_variations = DIGITIGRADE_VARIATION_NO_NEW_ICON | VOX_VARIATION

/obj/item/clothing/suit/armor/hos/inteq/honorable //Basically CC higherup clothing for inteq
name = "honorable vanguard battlecoat"
desc = "A sleek black coat with snow white fur trims made to order for honorable vanguards of the IRMG. It feels even tougher than the typical battlecoat."
icon_state = "armor_inteq_honorable_battlecoat"
item_state = "inteq_honorable_battlecoat"
armor = list("melee" = 40, "bullet" = 50, "laser" = 50, "energy" = 40, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 70, "acid" = 90)
supports_variations = DIGITIGRADE_VARIATION_NO_NEW_ICON | KEPORI_VARIATION
supports_variations = DIGITIGRADE_VARIATION_NO_NEW_ICON

/obj/item/clothing/suit/armor/inteq/corpsman
name = "inteq corpsman vest"
Expand Down
Loading
Loading