From ede9f48d188e2f827a01463cd71335a9b908c184 Mon Sep 17 00:00:00 2001 From: CometBlaze <59415394+CometBlaze@users.noreply.github.com> Date: Fri, 1 Aug 2025 20:53:43 +0100 Subject: [PATCH] Adds a colourable exo-stellar sekeleton (#21073) Adds a colourable exoskeleton offworlders can choose instead of the current one. It does the exact same things as the standard exoskeleton, the only difference is that you can change how it looks. image --- .../loadout/items/xeno/human.dm | 7 +++ code/modules/clothing/spacesuits/rig/rig.dm | 2 + .../clothing/spacesuits/rig/suits/light.dm | 3 + html/changelogs/CometBlaze-exoskeleton.yml | 58 ++++++++++++++++++ icons/obj/item/clothing/rig/offworlder.dmi | Bin 5928 -> 10296 bytes 5 files changed, 70 insertions(+) create mode 100644 html/changelogs/CometBlaze-exoskeleton.yml diff --git a/code/modules/client/preference_setup/loadout/items/xeno/human.dm b/code/modules/client/preference_setup/loadout/items/xeno/human.dm index a2fb2e6cac7..4a74b8f76c1 100644 --- a/code/modules/client/preference_setup/loadout/items/xeno/human.dm +++ b/code/modules/client/preference_setup/loadout/items/xeno/human.dm @@ -84,6 +84,13 @@ whitelisted = list(SPECIES_HUMAN_OFFWORLD) sort_category = "Xenowear - Human" +/datum/gear/offworlder_rig/colorable + display_name = "colorable exo-stellar skeleton" + path = /obj/item/rig/light/offworlder/colorable + whitelisted = list(SPECIES_HUMAN_OFFWORLD) + sort_category = "Xenowear - Human" + flags = GEAR_HAS_NAME_SELECTION | GEAR_HAS_DESC_SELECTION | GEAR_HAS_COLOR_SELECTION + /datum/gear/accessory/offworlder_card display_name = "scarab passblade" path = /obj/item/clothing/accessory/badge/passcard/scarab diff --git a/code/modules/clothing/spacesuits/rig/rig.dm b/code/modules/clothing/spacesuits/rig/rig.dm index d68822a8a3e..748563eb391 100644 --- a/code/modules/clothing/spacesuits/rig/rig.dm +++ b/code/modules/clothing/spacesuits/rig/rig.dm @@ -750,6 +750,8 @@ if(check_slot && check_slot == use_obj) return use_obj.forceMove(wearer) + if(src.color) + use_obj.color = src.color if(!wearer.equip_to_slot_if_possible(use_obj, equip_to, 0, 1)) use_obj.forceMove(src) if(check_slot) diff --git a/code/modules/clothing/spacesuits/rig/suits/light.dm b/code/modules/clothing/spacesuits/rig/suits/light.dm index a2875537d0d..c37d4fa7906 100644 --- a/code/modules/clothing/spacesuits/rig/suits/light.dm +++ b/code/modules/clothing/spacesuits/rig/suits/light.dm @@ -241,6 +241,9 @@ cold_protection = UPPER_TORSO flags_inv = 0 +/obj/item/rig/light/offworlder/colorable + icon_state = "offworlder_rig_colorable" + /obj/item/rig/light/offworlder/frontier name = "advanced mobility hardsuit control module" desc = "Patterned off of the standard Exo-Stellar Skeleton, this sophisticated and light hardsuit is a staple of many armed forces throughout the Frontier. The mobility it grants compared to bulkier suits, while still packing the potential for a versatile toolset, has made it especially popular in the often cramped environments of ships and stations." diff --git a/html/changelogs/CometBlaze-exoskeleton.yml b/html/changelogs/CometBlaze-exoskeleton.yml new file mode 100644 index 00000000000..dffb4707864 --- /dev/null +++ b/html/changelogs/CometBlaze-exoskeleton.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: CometBlaze + +# 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: + - rscadd: "Added a colorable exo-stellar skeletons offworlders can pick in the loadout." diff --git a/icons/obj/item/clothing/rig/offworlder.dmi b/icons/obj/item/clothing/rig/offworlder.dmi index 05a869894842970f6d6099ffe35337614a7b7c11..16387c82a93b8450d62f168f09a7ea82c5b116dc 100644 GIT binary patch literal 10296 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