From 89ae2531b5934cc52fef5a55ace3e5f10882e920 Mon Sep 17 00:00:00 2001 From: BulletBudgie <52014471+BulletBudgie@users.noreply.github.com> Date: Sun, 11 Aug 2024 19:43:07 +1000 Subject: [PATCH] Budgs Bloat Clothes, Boes and Shoots (#19637) A collection of colourable boots added to the loadout: +boot selection (colourable) / shoe tab +toeless boot selection (colourable) / xenowear tab +thigh-high sneakers / shoe selection (colourable) All onmob sprites by me Most item sprites borrowed and altered from existing sprites --------- Signed-off-by: BulletBudgie <52014471+BulletBudgie@users.noreply.github.com> --- .../preference_setup/loadout/items/shoes.dm | 26 +++ .../loadout/items/xeno/xeno.dm | 17 ++ code/modules/clothing/shoes/boots.dm | 180 ++++++++++++++++++ code/modules/clothing/shoes/sneakers.dm | 16 ++ .../budg-bloatclothes-shoes-and-boots.yml | 58 ++++++ icons/obj/item/clothing/shoes/boots.dmi | Bin 7216 -> 10820 bytes icons/obj/item/clothing/shoes/flats.dmi | Bin 3137 -> 3532 bytes icons/obj/item/clothing/shoes/sneakers.dmi | Bin 7591 -> 7944 bytes 8 files changed, 297 insertions(+) create mode 100644 html/changelogs/budg-bloatclothes-shoes-and-boots.yml diff --git a/code/modules/client/preference_setup/loadout/items/shoes.dm b/code/modules/client/preference_setup/loadout/items/shoes.dm index ed2f7eec29e..ececd5353e8 100644 --- a/code/modules/client/preference_setup/loadout/items/shoes.dm +++ b/code/modules/client/preference_setup/loadout/items/shoes.dm @@ -59,6 +59,11 @@ flats["dress flats, purple"] = /obj/item/clothing/shoes/flats/purple gear_tweaks += new /datum/gear_tweak/path(flats) +/datum/gear/shoes/colorable_flats + display_name = "flats (colorable)" + path = /obj/item/clothing/shoes/flats/color + flags = GEAR_HAS_NAME_SELECTION | GEAR_HAS_DESC_SELECTION | GEAR_HAS_COLOR_SELECTION + /datum/gear/shoes/heels display_name = "high heels" path = /obj/item/clothing/shoes/heels @@ -162,8 +167,29 @@ recolourable_shoes["high-tops"] = /obj/item/clothing/shoes/sneakers/hitops recolourable_shoes["high-tops (tipped)"] = /obj/item/clothing/shoes/sneakers/hitops/tip recolourable_shoes["oxfords"] = /obj/item/clothing/shoes/laceup/colourable + recolourable_shoes["thigh-high sneakers"] = /obj/item/clothing/shoes/sneakers/hitops/thightops + recolourable_shoes["thigh-high sneakers (tipped)"] = /obj/item/clothing/shoes/sneakers/hitops/thightops/tip gear_tweaks += new /datum/gear_tweak/path(recolourable_shoes) +/datum/gear/shoes/recolourable_boots + display_name = "boot selection (colourable)" + description = "Boots, in a selection of colours." + path = /obj/item/clothing/shoes/heeledboots + flags = GEAR_HAS_NAME_SELECTION | GEAR_HAS_DESC_SELECTION | GEAR_HAS_COLOR_SELECTION + +/datum/gear/shoes/recolourable_boots/New() + ..() + var/list/recolourable_boots = list() + recolourable_boots["thigh-high boots"] = /obj/item/clothing/shoes/thighboots + recolourable_boots["full-length boots"] = /obj/item/clothing/shoes/fullboots + recolourable_boots["mudboots"] = /obj/item/clothing/shoes/mudboots + recolourable_boots["thigh-high mudboots"] = /obj/item/clothing/shoes/mudboots/thigh + recolourable_boots["combat boots"] = /obj/item/clothing/shoes/colorcombat + recolourable_boots["jackboots"] = /obj/item/clothing/shoes/jackboots/color + recolourable_boots["workboots"] = /obj/item/clothing/shoes/workboots/color + recolourable_boots["ankle boots"] = /obj/item/clothing/shoes/ankleboots + gear_tweaks += new /datum/gear_tweak/path(recolourable_boots) + /* Shoe Layer Adjustment */ diff --git a/code/modules/client/preference_setup/loadout/items/xeno/xeno.dm b/code/modules/client/preference_setup/loadout/items/xeno/xeno.dm index b5bc1e01ccf..1499a90d7ef 100644 --- a/code/modules/client/preference_setup/loadout/items/xeno/xeno.dm +++ b/code/modules/client/preference_setup/loadout/items/xeno/xeno.dm @@ -44,3 +44,20 @@ shoes["toeless jackboots, riding"] = /obj/item/clothing/shoes/jackboots/toeless/riding shoes["toeless winterboots"] = /obj/item/clothing/shoes/winter/toeless gear_tweaks += new /datum/gear_tweak/path(shoes) + +/datum/gear/shoes/recolourable_toeless + display_name = "toeless boot selection (colourable)" + path = /obj/item/clothing/shoes/heeledboots/toeless + whitelisted = list(SPECIES_VAURCA_WORKER, SPECIES_VAURCA_WARRIOR, SPECIES_VAURCA_BULWARK, SPECIES_UNATHI, SPECIES_TAJARA, SPECIES_TAJARA_ZHAN, SPECIES_TAJARA_MSAI) + sort_category = "Xenowear" + flags = GEAR_HAS_COLOR_SELECTION + +/datum/gear/shoes/recolourable_toeless/New() + ..() + var/list/recolourable_toeless = list() + recolourable_toeless["toeless thigh-high boots"] = /obj/item/clothing/shoes/thighboots/toeless + recolourable_toeless["toeless full-length boots"] = /obj/item/clothing/shoes/fullboots/toeless + recolourable_toeless["toeless jackboots"] = /obj/item/clothing/shoes/jackboots/toeless/color + recolourable_toeless["toeless workboots"] = /obj/item/clothing/shoes/workboots/toeless/color + gear_tweaks += new /datum/gear_tweak/path(recolourable_toeless) + diff --git a/code/modules/clothing/shoes/boots.dm b/code/modules/clothing/shoes/boots.dm index 4e34210a0d3..355bd4b1211 100644 --- a/code/modules/clothing/shoes/boots.dm +++ b/code/modules/clothing/shoes/boots.dm @@ -205,3 +205,183 @@ icon_state = "kala_boots" item_state = "kala_boots" contained_sprite = TRUE + +/obj/item/clothing/shoes/heeledboots/toeless + name = "toeless heeled boots" + desc = "A pair of toeless boots with heels." + icon = 'icons/obj/item/clothing/shoes/boots.dmi' + contained_sprite = TRUE + icon_state = "heeledboots_toeless" + item_state = "heeledboots_toeless" + species_restricted = list("exclude",BODYTYPE_VAURCA_BREEDER,BODYTYPE_VAURCA_WARFORM,BODYTYPE_TESLA_BODY) + +/obj/item/clothing/shoes/heeledboots + name = "heeled boots" + desc = "A pair of boots with heels." + icon = 'icons/obj/item/clothing/shoes/boots.dmi' + contained_sprite = TRUE + icon_state = "heeledboots" + item_state = "heeledboots" + +/obj/item/clothing/shoes/thighboots + name = "thigh-high boots" + desc = "A pair of casual boots that reach up to the thighs." + icon = 'icons/obj/item/clothing/shoes/boots.dmi' + contained_sprite = TRUE + icon_state = "thighboots" + item_state = "thighboots" + icon_auto_adapt = TRUE + icon_supported_species_tags = list("taj") + species_restricted = list("exclude",BODYTYPE_VAURCA_BREEDER,BODYTYPE_VAURCA_WARFORM,BODYTYPE_TESLA_BODY) + +/obj/item/clothing/shoes/thighboots/toeless + name = "thigh-high toeless boots" + desc = "A pair of casual boots that reach up to the thighs, the toes have been cut off." + icon = 'icons/obj/item/clothing/shoes/boots.dmi' + contained_sprite = TRUE + icon_state = "thighboots_toeless" + item_state = "thighboots_toeless" + icon_auto_adapt = TRUE + icon_supported_species_tags = list("taj") + species_restricted = list("exclude",BODYTYPE_VAURCA_BREEDER,BODYTYPE_VAURCA_WARFORM,BODYTYPE_TESLA_BODY) + +/obj/item/clothing/shoes/thighboots/heels + name = "thigh-high heeled boots" + desc = "A pair of casual heeled boots that reach up to the thigh." + icon = 'icons/obj/item/clothing/shoes/boots.dmi' + contained_sprite = TRUE + icon_state = "thighboots_heels" + item_state = "thighboots_heels" + +/obj/item/clothing/shoes/thighboots/heels/toeless + name = "thigh-high toeless heeled boots" + desc = "A pair of casual heeled boots that reach up to the thigh, the toes have been cut off." + icon = 'icons/obj/item/clothing/shoes/boots.dmi' + contained_sprite = TRUE + icon_state = "thighboots_heels_toeless" + item_state = "thighboots_heels_toeless" + species_restricted = list("exclude",BODYTYPE_VAURCA_BREEDER,BODYTYPE_VAURCA_WARFORM,BODYTYPE_TESLA_BODY) + +/obj/item/clothing/shoes/fullboots + name = "full-length boots" + desc = "A pair of boots that cover the entire leg, probably uncomfortable to wear." + icon = 'icons/obj/item/clothing/shoes/boots.dmi' + contained_sprite = TRUE + icon_state = "fullboots" + item_state = "fullboots" + icon_auto_adapt = TRUE + icon_supported_species_tags = list("taj") + species_restricted = list("exclude",BODYTYPE_VAURCA_BREEDER,BODYTYPE_VAURCA_WARFORM,BODYTYPE_TESLA_BODY) + +/obj/item/clothing/shoes/fullboots/toeless + name = "full-length toeless boots" + desc = "A pair of boots the cover the entire leg, except for the toes." + icon = 'icons/obj/item/clothing/shoes/boots.dmi' + contained_sprite = TRUE + icon_state = "fullboots_toeless" + item_state = "fullboots_toeless" + icon_auto_adapt = TRUE + icon_supported_species_tags = list("taj") + species_restricted = list("exclude",BODYTYPE_VAURCA_BREEDER,BODYTYPE_VAURCA_WARFORM,BODYTYPE_TESLA_BODY) + +/obj/item/clothing/shoes/fullboots/heels + name = "full-length heeled boots" + desc = "A pair of heeled boots that cover the entire leg, probably uncomfortable to wear." + icon = 'icons/obj/item/clothing/shoes/boots.dmi' + contained_sprite = TRUE + icon_state = "fullboots_heels" + item_state = "fullboots_heels" + +/obj/item/clothing/shoes/fullboots/heels/toeless + name = "full-length toeless heeled boots" + desc = "A pair of heeled boots that cover the entire leg, except for the toes." + icon = 'icons/obj/item/clothing/shoes/boots.dmi' + contained_sprite = TRUE + icon_state = "fullboots_heels_toeless" + item_state = "fullboots_heels_toeless" + species_restricted = list("exclude",BODYTYPE_VAURCA_BREEDER,BODYTYPE_VAURCA_WARFORM,BODYTYPE_TESLA_BODY) + +/obj/item/clothing/shoes/mudboots + name = "mudboots" + desc = "A nice pair of weatherproof mudboots to keep your feet dry." + icon = 'icons/obj/item/clothing/shoes/boots.dmi' + contained_sprite = TRUE + icon_state = "mudboots" + item_state = "mudboots" + icon_auto_adapt = TRUE + icon_supported_species_tags = list("taj") + species_restricted = list("exclude",BODYTYPE_VAURCA_BREEDER,BODYTYPE_VAURCA_WARFORM,BODYTYPE_TESLA_BODY) + +/obj/item/clothing/shoes/mudboots/thigh + name = "thigh-high mudboots" + desc = "A nice pair of weatherproof mudboots to keep your legs dry." + icon = 'icons/obj/item/clothing/shoes/boots.dmi' + contained_sprite = TRUE + icon_state = "thighmudboots" + item_state = "thighmudboots" + icon_auto_adapt = TRUE + icon_supported_species_tags = list("taj") + species_restricted = list("exclude",BODYTYPE_VAURCA_BREEDER,BODYTYPE_VAURCA_WARFORM,BODYTYPE_TESLA_BODY) + +/obj/item/clothing/shoes/colorcombat + name = "combat boots" + desc = "The sweatiest LARPer you know wears these." + icon = 'icons/obj/item/clothing/shoes/boots.dmi' + contained_sprite = TRUE + icon_state = "colorcombat" + item_state = "colorcombat" + +/obj/item/clothing/shoes/jackboots/color + name = "jackboots" + desc = "Synthleather boots with an artifical shine, in a variety of colors." + icon = 'icons/obj/item/clothing/shoes/boots.dmi' + contained_sprite = TRUE + icon_state = "colorjackboots" + item_state = "colorjackboots" + icon_auto_adapt = TRUE + icon_supported_species_tags = list("taj") + species_restricted = list("exclude",BODYTYPE_VAURCA_BREEDER,BODYTYPE_VAURCA_WARFORM,BODYTYPE_TESLA_BODY) + +/obj/item/clothing/shoes/jackboots/toeless/color + name = "toeless jackboots" + desc = "Synthleather boots with the toes cut off, in a variety of colors" + icon = 'icons/obj/item/clothing/shoes/boots.dmi' + contained_sprite = TRUE + icon_state = "colorjackboots_toeless" + item_state = "colorjackboots_toeless" + icon_auto_adapt = TRUE + icon_supported_species_tags = list("taj") + species_restricted = list("exclude",BODYTYPE_VAURCA_BREEDER,BODYTYPE_VAURCA_WARFORM,BODYTYPE_TESLA_BODY) + + +/obj/item/clothing/shoes/workboots/color + name = "workboots" + desc = "A pair of steel-toed work boots designed for use in industrial settings. In a variety of colors!" + icon = 'icons/obj/item/clothing/shoes/boots.dmi' + contained_sprite = TRUE + icon_state = "colorworkboots" + item_state = "colorworkboots" + icon_auto_adapt = TRUE + icon_supported_species_tags = list("taj") + species_restricted = list("exclude",BODYTYPE_VAURCA_BREEDER,BODYTYPE_VAURCA_WARFORM,BODYTYPE_TESLA_BODY) + +/obj/item/clothing/shoes/workboots/toeless/color + name = "toeless workboots" + desc = "A pair of toeless work boots designed for use in industrial settings. In a variety of colors!" + icon = 'icons/obj/item/clothing/shoes/boots.dmi' + contained_sprite = TRUE + icon_state = "colorworkboots_toeless" + item_state = "colorworkboots_toeless" + icon_auto_adapt = TRUE + icon_supported_species_tags = list("taj") + species_restricted = list("exclude",BODYTYPE_VAURCA_BREEDER,BODYTYPE_VAURCA_WARFORM,BODYTYPE_TESLA_BODY) + +/obj/item/clothing/shoes/ankleboots + name = "ankle boots" + desc = "A pair of low-heeled boots, if you need inclosed shoes." + icon = 'icons/obj/item/clothing/shoes/boots.dmi' + contained_sprite = TRUE + icon_state = "ankleboots" + item_state = "ankleboots" + species_restricted = list("exclude",BODYTYPE_VAURCA_BREEDER,BODYTYPE_VAURCA_WARFORM,BODYTYPE_TESLA_BODY) + diff --git a/code/modules/clothing/shoes/sneakers.dm b/code/modules/clothing/shoes/sneakers.dm index 7292e17cede..26180526a46 100644 --- a/code/modules/clothing/shoes/sneakers.dm +++ b/code/modules/clothing/shoes/sneakers.dm @@ -166,6 +166,12 @@ icon_state = "whitedf" item_state = "whitedf" +/obj/item/clothing/shoes/flats/color + desc = "A pair of low-heeled women's dress flats, in a variety of colors." + name = "dress flats" + icon_state = "colordf" + item_state = "colordf" + //hi-tops /obj/item/clothing/shoes/sneakers/hitops @@ -174,6 +180,12 @@ icon_state = "whitehi" item_state = "whitehi" +/obj/item/clothing/shoes/sneakers/hitops/thightops + name = "white thigh-tops" + desc = "A pair of shoes that extends to the thigh. Based on a centuries-old, timeless design." + icon_state = "whiteth" + item_state = "whiteth" + /obj/item/clothing/shoes/sneakers/hitops/red name = "red high-tops" icon_state = "redhi" @@ -222,3 +234,7 @@ /obj/item/clothing/shoes/sneakers/hitops/tip worn_overlay = "over" build_from_parts = TRUE + +/obj/item/clothing/shoes/sneakers/hitops/thightops/tip + worn_overlay = "overth" + build_from_parts = TRUE diff --git a/html/changelogs/budg-bloatclothes-shoes-and-boots.yml b/html/changelogs/budg-bloatclothes-shoes-and-boots.yml new file mode 100644 index 00000000000..637a702f77f --- /dev/null +++ b/html/changelogs/budg-bloatclothes-shoes-and-boots.yml @@ -0,0 +1,58 @@ +################################ +# Example Changelog File +# +# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. +# +# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) +# When it is, any changes listed below will disappear. +# +# Valid Prefixes: +# bugfix +# - (fixes bugs) +# wip +# - (work in progress) +# qol +# - (quality of life) +# soundadd +# - (adds a sound) +# sounddel +# - (removes a sound) +# rscadd +# - (adds a feature) +# rscdel +# - (removes a feature) +# imageadd +# - (adds an image or sprite) +# imagedel +# - (removes an image or sprite) +# spellcheck +# - (fixes spelling or grammar) +# experiment +# - (experimental change) +# balance +# - (balance changes) +# code_imp +# - (misc internal code change) +# refactor +# - (refactors code) +# config +# - (makes a change to the config files) +# admin +# - (makes changes to administrator tools) +# server +# - (miscellaneous changes to server) +################################# + +# Your name. +author: budg + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, this gets changed to [] after reading. Just remove the brackets when you add new shit. +# Please surround your changes in double quotes ("). It works without them, but if you use certain characters it screws up compiling. The quotes will not show up in the changelog. +changes: + - imageadd: "Added several pairs of colourable boots to the loadout, also added colourable thigh-high sneakers and flats." diff --git a/icons/obj/item/clothing/shoes/boots.dmi b/icons/obj/item/clothing/shoes/boots.dmi index 0524477075bf2b3e37a11df84fbc021b138bd754..3e5cdf29ec023a5a897d2f4699fa3093652fc7b7 100644 GIT binary patch literal 10820 zcmaKS2{@E(+y79O>_XNtBNb94BJ0>fsVE}ERQ9rD9qSBDQCUl6$(pic%NDYX7W=+u z9Wso4GGj2zjPF*@^Ssad|9{7KABW?1UDsUqJ=eMYe&>14Q`4)4oNOX&AP|W2qLKb} z5a<9D_ye&X0A`jMNp2tz!-(l+^9zlQjaRQ;RaaN%=jWGz9u*c6(bUkEms60DkpY9j zhYug-;Nalo