From 1119236ea810f34917c26ad6568b030e256c842e Mon Sep 17 00:00:00 2001
From: hazelrat <83198434+hazelrat@users.noreply.github.com>
Date: Fri, 25 Oct 2024 18:56:22 +0100
Subject: [PATCH] Golden Deep ghostrole remap (#20031)
**This is up for review.**
- Remaps the Golden Deep ghostrole to be better.
- Includes new uniforms for menial Golden Deep synthetics, and new
Golden Deep voidsuits.
- Includes the clothes dyer, a new item that changes the colour of
recolourable clothing to whatever the user wishes. Adds it exclusively
to the Golden Deep ship, so the merchant can customise their drip as
much as if they were in the loadout, since pretty much all of the newer
GD clothing is recolourable. Works for both the regular colour and the
accent colour.
- Uses submaps for the warehouse.
- A few semi-empty spaces exist right now which will be filled once the
sprites for what's going to go there are complete, particularly in the
great hall.
- The armoury is intended to be pretty strong - it's a cargo freighter
with very valuable cargo, so you have an unusually hard fight to get
said cargo if you board. It contains a laser rifle, a combat shotgun
(with a box of EMP shells, notably, with the idea that the Hoplan should
be particularly good at restraining other synthetics), two energy
glaives, and two pistols intended for the Hoplan. There are also two
machine pistols and two energy carbines, intended for if the Hoplan wish
to arm the rest of the crew.
- Adds the ship to Valley Hale - has the OK from lore, as far as I know.
---
aurorastation.dme | 2 +
code/__DEFINES/access.dm | 9 +
code/game/machinery/suit_cycler_units.dm | 23 +
.../objects/items/devices/clothes_dyer.dm | 60 +
code/game/turfs/simulated/shuttle_turfs.dm | 3 +
code/modules/clothing/factions/goldendeep.dm | 22 +
code/modules/clothing/spacesuits/void/misc.dm | 66 +-
.../clothing/under/accessories/accessory.dm | 5 +
code/modules/merchant/merchant_programs.dm | 4 +-
html/changelogs/hazelmouse-goldendeep.yml | 60 +
.../uniforms/goldendeep_porter_uniform.dmi | Bin 0 -> 2321 bytes
icons/obj/clothing/voidsuit/golden_deep.dmi | Bin 887 -> 8632 bytes
maps/away/ships/golden_deep/golden_deep.dm | 86 +-
maps/away/ships/golden_deep/golden_deep.dmm | 143737 +++++++++++++++
maps/away/ships/golden_deep/golden_deep.jsonc | 12 +
.../ships/golden_deep/golden_deep_areas.dm | 135 +-
.../golden_deep/golden_deep_ghostroles.dm | 114 +-
.../golden_deep/golden_deep_landmarks.dm | 131 +
.../golden_deep/golden_deep_merchant.dmm | 31047 ----
.../ships/golden_deep/golden_deep_submaps.dmm | 1592 +
20 files changed, 145929 insertions(+), 31179 deletions(-)
create mode 100644 code/game/objects/items/devices/clothes_dyer.dm
create mode 100644 html/changelogs/hazelmouse-goldendeep.yml
create mode 100644 icons/clothing/under/uniforms/goldendeep_porter_uniform.dmi
create mode 100644 maps/away/ships/golden_deep/golden_deep.dmm
create mode 100644 maps/away/ships/golden_deep/golden_deep.jsonc
create mode 100644 maps/away/ships/golden_deep/golden_deep_landmarks.dm
delete mode 100644 maps/away/ships/golden_deep/golden_deep_merchant.dmm
create mode 100644 maps/away/ships/golden_deep/golden_deep_submaps.dmm
diff --git a/aurorastation.dme b/aurorastation.dme
index 700b107815d..d51f20d3113 100644
--- a/aurorastation.dme
+++ b/aurorastation.dme
@@ -1137,6 +1137,7 @@
#include "code\game\objects\items\devices\auto_cpr.dm"
#include "code\game\objects\items\devices\binoculars.dm"
#include "code\game\objects\items\devices\chameleonproj.dm"
+#include "code\game\objects\items\devices\clothes_dyer.dm"
#include "code\game\objects\items\devices\cosmetic_surgery_kit.dm"
#include "code\game\objects\items\devices\debugger.dm"
#include "code\game\objects\items\devices\dociler.dm"
@@ -3934,6 +3935,7 @@
#include "maps\away\ships\golden_deep\golden_deep.dm"
#include "maps\away\ships\golden_deep\golden_deep_areas.dm"
#include "maps\away\ships\golden_deep\golden_deep_ghostroles.dm"
+#include "maps\away\ships\golden_deep\golden_deep_landmarks.dm"
#include "maps\away\ships\hegemony\fishing_trawler\fishing_league_trawler.dm"
#include "maps\away\ships\hegemony\fishing_trawler\fishing_league_trawler_areas.dm"
#include "maps\away\ships\hegemony\fishing_trawler\fishing_league_trawler_ghostroles.dm"
diff --git a/code/__DEFINES/access.dm b/code/__DEFINES/access.dm
index dad202c54ec..bb79b8193dd 100644
--- a/code/__DEFINES/access.dm
+++ b/code/__DEFINES/access.dm
@@ -670,10 +670,12 @@
id = ACCESS_HEPHAESTUS
access_type = ACCESS_TYPE_CENTCOM
+// For the Golden Deep ghostrole. This is the access for the merchant and guards, but not for the owned synthetics.
#define ACCESS_GOLDEN_DEEP 217
/datum/access/golden_deep
id = ACCESS_GOLDEN_DEEP
access_type = ACCESS_TYPE_CENTCOM
+ desc = "Golden Deep"
#define ACCESS_KONYANG_POLICE 218
/datum/access/konyang_police
@@ -733,6 +735,13 @@
id = ACCESS_AUTAKH
access_type = ACCESS_TYPE_CENTCOM
+// For the Golden Deep ghostrole. This is for the owned synthetics, so they lack some of the access their superiors enjoy.
+#define ACCESS_GOLDEN_DEEP_OWNED 229
+/datum/access/golden_deep_owned
+ id = ACCESS_GOLDEN_DEEP_OWNED
+ access_type = ACCESS_TYPE_CENTCOM
+ desc = "Golden Deep, Limited Access"
+
//guest rooms - for any ship/event that requires hotel-esque rooms
#define ACCESS_GUEST_ROOMS 230 //use with req_one_access
diff --git a/code/game/machinery/suit_cycler_units.dm b/code/game/machinery/suit_cycler_units.dm
index aba7fefef7c..4771d7ae085 100644
--- a/code/game/machinery/suit_cycler_units.dm
+++ b/code/game/machinery/suit_cycler_units.dm
@@ -337,3 +337,26 @@
/obj/machinery/suit_cycler/offship/tarwa/captain
suit = /obj/item/clothing/suit/space/void/unathi_pirate/tarwa/captain
helmet = /obj/item/clothing/head/helmet/space/void/unathi_pirate/tarwa/captain
+
+// For owned Golden Deep synthetics, Thesians, and other non-combatants.
+/obj/machinery/suit_cycler/offship/golden_deep
+ model_text = "Golden Deep"
+ req_one_access = list(ACCESS_GOLDEN_DEEP_OWNED, ACCESS_GOLDEN_DEEP)
+ departments = list("Golden Deep")
+ species = list(BODYTYPE_IPC)
+ suit = /obj/item/clothing/suit/space/void/golden_deep/menial
+ helmet = /obj/item/clothing/head/helmet/space/void/golden_deep/menial
+
+// For the Hoplan, armed guards of the ships of the Golden Deep.
+/obj/machinery/suit_cycler/offship/golden_deep/hoplan
+ model_text = "Golden Deep Hoplan"
+ req_access = list(ACCESS_GOLDEN_DEEP)
+ suit = /obj/item/clothing/suit/space/void/golden_deep/hoplan
+ helmet = /obj/item/clothing/head/helmet/space/void/golden_deep/hoplan
+
+// For merchants of the Golden Deep. Only they're rich enough, duh.
+/obj/machinery/suit_cycler/offship/golden_deep/merchant
+ model_text = "Golden Deep Merchant"
+ req_access = list(ACCESS_GOLDEN_DEEP)
+ suit = /obj/item/clothing/suit/space/void/golden_deep
+ helmet = /obj/item/clothing/head/helmet/space/void/golden_deep
diff --git a/code/game/objects/items/devices/clothes_dyer.dm b/code/game/objects/items/devices/clothes_dyer.dm
new file mode 100644
index 00000000000..e178f77c7be
--- /dev/null
+++ b/code/game/objects/items/devices/clothes_dyer.dm
@@ -0,0 +1,60 @@
+#define BASE_COLOR "Base Color"
+#define ACCENT_COLOR "Accent Color"
+
+// Only works for clothes that are already recolorable.
+/obj/item/device/clothes_dyer
+ name = "clothes dyer"
+ desc = "This is a device designed to rapidly dye clothes to new colors. Naysayers say it isn't great for the fabric, but what do they know?"
+ desc_info = "Select the desired color by using the item on yourself, and alternate between the primary and secondary colour of the item by alt-clicking the item. This only works on clothing items that are recolorable."
+ icon = 'icons/obj/item/tools/paint_sprayer.dmi'
+ icon_state = "floor_painter"
+ item_state = "floor_painter"
+ contained_sprite = TRUE
+ /// Controls whether the dyer changes the primary or accent color of the clothes item.
+ var/selected_mode = BASE_COLOR
+ /// Contains the colors the dyer is set to for each possible mode.
+ var/list/colors_by_mode = list(BASE_COLOR = "#FFFFFF", ACCENT_COLOR = "#FFFFFF")
+
+// Changes the color of the selected mode.
+/obj/item/device/clothes_dyer/attack_self(mob/user)
+ var/selected_color = input(user, "Please select dye color.", "Dye Color", colors_by_mode[selected_mode]) as color|null
+ if (!selected_color)
+ return
+
+ colors_by_mode[selected_mode] = selected_color
+ to_chat(user, SPAN_NOTICE("You adjust the color of [selected_mode]."))
+
+// Switches the mode.
+/obj/item/device/clothes_dyer/AltClick(mob/user)
+ if (!Adjacent(user))
+ return
+
+ var/new_selected_mode = tgui_input_list(user, "Please select which clothing aspect you would like to dye.", "Dyeing Mode", colors_by_mode, selected_mode)
+ if (!new_selected_mode)
+ return
+
+ selected_mode = new_selected_mode
+ to_chat(user, SPAN_NOTICE("You adjust the mode of the clothes dyer to [new_selected_mode]."))
+
+// Changes the color on clothing.
+/obj/item/device/clothes_dyer/afterattack(atom/target, mob/user, proximity_flag, click_parameters)
+ if (!proximity_flag)
+ return
+
+ if (!isclothing(target))
+ return
+
+ var/obj/item/clothing/target_clothing = target
+
+ playsound(get_turf(target), 'sound/effects/spray3.ogg', 30, TRUE, -6)
+ switch(selected_mode)
+ if (BASE_COLOR)
+ target_clothing.color = colors_by_mode[selected_mode]
+ if (ACCENT_COLOR)
+ target_clothing.accent_color = colors_by_mode[selected_mode]
+ target_clothing.update_icon()
+ target_clothing.update_clothing_icon()
+ to_chat(user, SPAN_NOTICE("You dye the clothing."))
+
+#undef BASE_COLOR
+#undef ACCENT_COLOR
diff --git a/code/game/turfs/simulated/shuttle_turfs.dm b/code/game/turfs/simulated/shuttle_turfs.dm
index 1bab12e263c..e1c077f254b 100644
--- a/code/game/turfs/simulated/shuttle_turfs.dm
+++ b/code/game/turfs/simulated/shuttle_turfs.dm
@@ -60,6 +60,9 @@
/turf/simulated/wall/shuttle/dark/cardinal/gold
color = COLOR_GOLD
+/turf/simulated/wall/shuttle/dark/cardinal/closet_gold
+ color = COLOR_CLOSET_GOLD
+
/turf/simulated/wall/shuttle/dark/long_diagonal_2
name = "test diagonal"
icon_state = "d2-we-1"
diff --git a/code/modules/clothing/factions/goldendeep.dm b/code/modules/clothing/factions/goldendeep.dm
index 81fc2b9bcd2..ec0c16bad53 100644
--- a/code/modules/clothing/factions/goldendeep.dm
+++ b/code/modules/clothing/factions/goldendeep.dm
@@ -85,6 +85,10 @@
contained_sprite = TRUE
has_accents = TRUE
+// Unique variation for use with the Golden Deep ghostrole.
+/obj/item/clothing/accessory/goldendeep/black
+ color = "#333333"
+
/obj/item/clothing/accessory/goldendeep/pompous
name = "pompous shirt"
desc = "Poofy and ostentatious, this shirt of fine fabric screams wealth."
@@ -244,3 +248,21 @@
/obj/item/storage/backpack/goldendeep/baseline
icon_state = "sacred_icon_baseline"
item_state = "sacred_icon_baseline"
+
+// Porter uniforms, notably used for the Golden Deep owned synthetic ghostrole.
+/obj/item/clothing/under/goldendeep/porter
+ name = "porter uniform"
+ desc = "Fashioned by the Golden Deep and still regularly used within its menial workforce, this weather resistant uniform decorates independent delivery workers spur-wide. With padded segments along its arms, legs, and back, the suit is perfect for package carrying rigs."
+ desc_extended = "Originally the invention of an unknown synthetic, the design of plain utilitarian jumpsuits known as 'Porter Uniforms' has skyrocketed in popularity, with many different firms and organizations within the Golden Deep inventing their own variety. Known not to be particularly comfortable for organic use."
+ icon_state = "porter_uniform"
+ item_state = "porter_uniform"
+ icon = 'icons/clothing/under/uniforms/goldendeep_porter_uniform.dmi'
+ contained_sprite = TRUE
+
+/obj/item/clothing/head/goldendeep/porter
+ name = "porter hood"
+ desc = "This is a simple and nondescript hood designed to fit over many shapes of head, intended to provide protection from the elements. While originally fashioned by the Golden Deep and remaining particularly popular in it, its use has also branched out widely throughout the spur among independent delivery workers."
+ icon_state = "porter_hood"
+ item_state = "porter_hood"
+ icon = 'icons/clothing/under/uniforms/goldendeep_porter_uniform.dmi'
+ contained_sprite = TRUE
diff --git a/code/modules/clothing/spacesuits/void/misc.dm b/code/modules/clothing/spacesuits/void/misc.dm
index 94f9f4f1407..d3e4c1ed1c3 100644
--- a/code/modules/clothing/spacesuits/void/misc.dm
+++ b/code/modules/clothing/spacesuits/void/misc.dm
@@ -628,6 +628,7 @@
icon_supported_species_tags = null
refittable_species = list(BODYTYPE_HUMAN)
+// For use by merchants of the Golden Deep.
/obj/item/clothing/head/helmet/space/void/golden_deep
name = "golden helmet"
desc = "A glamorous, decorated helmet plated with gold. Very hefty."
@@ -646,7 +647,7 @@
rad = ARMOR_RAD_SMALL
)
siemens_coefficient = 0.35
- species_restricted = list(BODYTYPE_HUMAN, BODYTYPE_IPC_INDUSTRIAL, BODYTYPE_IPC_ZENGHU, BODYTYPE_IPC_BISHOP)
+ species_restricted = list(BODYTYPE_HUMAN, BODYTYPE_IPC, BODYTYPE_IPC_INDUSTRIAL, BODYTYPE_IPC_ZENGHU, BODYTYPE_IPC_BISHOP)
brightness_on = 6
/obj/item/clothing/suit/space/void/golden_deep
@@ -658,7 +659,6 @@
contained_sprite = 1
slowdown = 1
- w_class = WEIGHT_CLASS_NORMAL
armor = list(
melee = ARMOR_MELEE_RESISTANT,
bullet = ARMOR_BALLISTIC_MEDIUM,
@@ -670,7 +670,67 @@
)
allowed = list(/obj/item/device/flashlight,/obj/item/tank,/obj/item/device/suit_cooling_unit,/obj/item/gun,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/melee/energy/sword,/obj/item/handcuffs)
siemens_coefficient = 0.35
- species_restricted = list(BODYTYPE_HUMAN, BODYTYPE_IPC_INDUSTRIAL, BODYTYPE_IPC_ZENGHU, BODYTYPE_IPC_BISHOP)
+ species_restricted = list(BODYTYPE_HUMAN, BODYTYPE_IPC, BODYTYPE_IPC_INDUSTRIAL, BODYTYPE_IPC_ZENGHU, BODYTYPE_IPC_BISHOP)
+
+// For use by non-combatant and non-merchant members of the Golden Deep.
+/obj/item/clothing/suit/space/void/golden_deep/menial
+ name = "golden deep voidsuit"
+ desc = "This is a deep red voidsuit typical of the Golden Deep, often used by its less ostentatious - and, less wealthy - members to go about the work necessary to uphold the interests of their merchant and Collective."
+ icon_state = "golden_deep"
+ item_state = "golden_deep"
+ armor = list(
+ melee = ARMOR_MELEE_RESISTANT,
+ bullet = ARMOR_BALLISTIC_MINOR,
+ laser = ARMOR_LASER_MINOR,
+ bomb = ARMOR_BOMB_PADDED,
+ bio = ARMOR_BIO_SHIELDED,
+ rad = ARMOR_RAD_RESISTANT
+ )
+
+/obj/item/clothing/head/helmet/space/void/golden_deep/menial
+ name = "golden deep voidsuit helmet"
+ desc = "This is a deep red voidsuit helmet typical of the Golden Deep, often used by its less ostentatious - and, less wealthy - members to go about the work necessary to uphold the interests of their merchant and Collective. Clever ergonomics appear to allow the helmet to fit a very diverse range of head shapes, including those of a standard baseline."
+ icon_state = "golden_deep_helm"
+ item_state = "golden_deep_helm"
+ armor = list(
+ melee = ARMOR_MELEE_RESISTANT,
+ bullet = ARMOR_BALLISTIC_MINOR,
+ laser = ARMOR_LASER_MINOR,
+ bomb = ARMOR_BOMB_PADDED,
+ bio = ARMOR_BIO_SHIELDED,
+ rad = ARMOR_RAD_RESISTANT
+ )
+
+// For use by the Hoplan, the Golden Deep's military.
+/obj/item/clothing/suit/space/void/golden_deep/hoplan
+ name = "hoplan voidsuit"
+ desc = "This is an extremely bulky and heavily made voidsuit used by the Hoplan, the military of the Golden Deep. Designed to provide extreme protection in all conditions, but not particularly comfortable for human use."
+ icon_state = "hoplan"
+ item_state = "hoplan"
+ armor = list(
+ melee = ARMOR_MELEE_RESISTANT,
+ bullet = ARMOR_BALLISTIC_MEDIUM,
+ laser = ARMOR_LASER_MEDIUM,
+ energy = ARMOR_ENERGY_SMALL,
+ bomb = ARMOR_BOMB_PADDED,
+ bio = ARMOR_BIO_SHIELDED,
+ rad = ARMOR_RAD_SMALL
+ )
+
+/obj/item/clothing/head/helmet/space/void/golden_deep/hoplan
+ name = "hoplan voidsuit helmet"
+ desc = "This is an extremely bulky and heavily made voidsuit helmet used by the Hoplan, the military of the Golden Deep. Designed to provide extreme protection in all conditions, but not particularly comfortable for human use."
+ icon_state = "hoplan_helm"
+ item_state = "hoplan_helm"
+ armor = list(
+ melee = ARMOR_MELEE_RESISTANT,
+ bullet = ARMOR_BALLISTIC_MEDIUM,
+ laser = ARMOR_LASER_MEDIUM,
+ energy = ARMOR_ENERGY_SMALL,
+ bomb = ARMOR_BOMB_PADDED,
+ bio = ARMOR_BIO_SHIELDED,
+ rad = ARMOR_RAD_SMALL
+ )
/obj/item/clothing/head/helmet/space/void/mining/himeo
name = "himeo mining voidsuit helmet"
diff --git a/code/modules/clothing/under/accessories/accessory.dm b/code/modules/clothing/under/accessories/accessory.dm
index 89a7ede2ad6..c3f828e3371 100644
--- a/code/modules/clothing/under/accessories/accessory.dm
+++ b/code/modules/clothing/under/accessories/accessory.dm
@@ -156,6 +156,11 @@
/obj/item/clothing/accessory/proc/flip_message(mob/user)
to_chat(user, "You change \the [src] to be on your [src.flipped ? "right" : "left"] side.")
+/obj/item/clothing/accessory/update_clothing_icon()
+ if (ismob(loc))
+ var/mob/mob = src.loc
+ mob.update_inv_wear_suit()
+
/obj/item/clothing/accessory/red
name = "red tie"
icon_state = "redtie"
diff --git a/code/modules/merchant/merchant_programs.dm b/code/modules/merchant/merchant_programs.dm
index fba65d8d08a..fd1aa255569 100644
--- a/code/modules/merchant/merchant_programs.dm
+++ b/code/modules/merchant/merchant_programs.dm
@@ -260,5 +260,5 @@
required_access_download = list(ACCESS_MERCHANTS_GUILD)
/datum/computer_file/program/merchant/golden_deep
- required_access_run = list(ACCESS_GOLDEN_DEEP)
- required_access_download = list(ACCESS_GOLDEN_DEEP)
+ required_access_run = list(ACCESS_GOLDEN_DEEP, ACCESS_GOLDEN_DEEP_OWNED)
+ required_access_download = list(ACCESS_GOLDEN_DEEP, ACCESS_GOLDEN_DEEP_OWNED)
diff --git a/html/changelogs/hazelmouse-goldendeep.yml b/html/changelogs/hazelmouse-goldendeep.yml
new file mode 100644
index 00000000000..b27ca89dfc4
--- /dev/null
+++ b/html/changelogs/hazelmouse-goldendeep.yml
@@ -0,0 +1,60 @@
+################################
+# 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: hazelmouse
+
+# 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: "Remaps the Golden Deep ghostrole to fit newer standards."
+ - rscadd: "Adds a number of new assets to the game for the Golden Deep, including new voidsuits and menial uniforms."
+ - rscadd: "Adds the clothes dyer item to the game, used to recolor recolorable clothing. Adds it to the Golden Deep ghostrole."
diff --git a/icons/clothing/under/uniforms/goldendeep_porter_uniform.dmi b/icons/clothing/under/uniforms/goldendeep_porter_uniform.dmi
new file mode 100644
index 0000000000000000000000000000000000000000..c4e1c13ec0949ab5620b296aca3105e93ce8fb17
GIT binary patch
literal 2321
zcma)8XEfUj8~lIc2062^cb*<@-NJHLS71B$iZ&i=Bj2~?K&
zjbvSG3maBiSd=H3UhM+{o~Jg!m8_ITm5jv-7PGptY{abJiM79#s)ryXkw|HTq-|1)
zlJv*7g5~)sO4X3-YJ6R)T^3Gxudq4JFWJhCzQLQlm5jIQusoa45HY;^7&9i?IBE?6Z
z2%{_DeBq);Z!zF%_FPX^j}^aa^Pw?LvEPMB+G2;?z{QKa27hKHQwZgR3$F^G
z{&LWrR=ocqhIQV%r|;ARuuzB>v)C^D-L6~mw|X&-$Zv^%
zAVSj*S@~@t8CR-{xc#NZHt`4Z=c*;<^L5*??^`~8aY-t2{FZ(~O=mFt7S4+zS
zL*Dk?Eo!u4)O*L~=^(?ObL*}m=AY3vIL&2b+bRBQN%bsr0e42@Cb+y`T6qBx*NSCr
zcbxhXeYPj(0%k^x+cRI2ui>N|gzV{5)w^WTl)rD}wnRGY3a#e03~lk>;{Xmwyd`EK
zKw`bzJ;A50|G(VR@q&ipZGts^;q6ltbdJi1JgP>KH6n!Naqk`tMQv%%Cy5X$J4tGLj@fTtPyaD=cG*V7Tke6zD{H88X7=Vjdd6W6G<0-Ry^bX$=
zMS_RGIb7-gyg2P&TFF%Dn^S-hg%diJd(3zR-ZH_w!)wtFLfOgHXe>QY@(#a$nb#(I
zQpM1Q7Inv2Vrf!U5m-JQ%r6{CIS#cySuEc_`CW3~;IgN-xR6_mO_Pe{a;>=Dw4$%u
zz{}CD5F%$i@%FY`LM5$?#biERNR=fO_K%EK4_qi#~SQ22a*q24=P-`{6BNfA$
zL#ia_m)&NoO8b7|RD-Fwf|^DjB~sURZ}o8QMNVVc_(9y~Lbx12jj(wo$XLO@P`9Jc
z9`3oSb7sC4>Zm#w(V$&MG5XUVmXdJHjIV0E=lq?82?<`p=3hfx*)|Z)aB4eb
zc`rnY*XnZ{+0U10PbEbDUhh^?D}_*B{n@;m3raRTqli>?l#L6IXu7n
zU15+i)lhBu0t-C*cKwMUaJIm4Z-tx830nZ
z_uUP7G1~?+bPoI(2z&uoLiC>FH@0SGgfXXu$jX?MloSBy@t1ga!l-wGhN6U3EXSp0
zA->v2+K)BK`KZhW0M*V1!+S4$CC{t)&1F1vVXVjH4o?^~0^Ac(04NXO7+BBT=s#9z
zl+hQhL)uuju|z~~)4C5wt2V!?au$6$l~QSqR|ga57yiEzQEy7le;rs+8SdUHGO1Qp
zvzPy|2St6iV5F0-6Kb?Zwda2jg@(*>6i{dpvd2LUbZYJ(bp=u@DhHt2e&^0(Tm=;h
zKs(2UYDkpveAgQqCwr$~Sp+=Rrz1=NqiXKW+peXN%E$`b!Od^%!+Z~G2EB{MhaT3$
zG&F>~F8039I6*9lSuCZHxE6Y-JF0UhJNc7Q2R*)U{34y#cppVjCAe%U~pGlW0
za~0PikdKz7Z+8}RUm%@ld{C8CJZ-nC&%g&6^J$^FicNYtY$d~4VoQ$g56gE!OSUr^cu{R7N|C21|SA%y}Lj`gNbnJP$DEFIm=9nPaMVO03PDH0h
zU}G|cY)C=t7hsGaKa1nS()C~}LsN05`@>xjY#63OWytl+tvm+)JGXek88DC#{`rUL
S0Gj^R07iN@b@4Y`V*dr%VrI$!
literal 0
HcmV?d00001
diff --git a/icons/obj/clothing/voidsuit/golden_deep.dmi b/icons/obj/clothing/voidsuit/golden_deep.dmi
index 64b4e3acb4150d52607deb728d8f3a6f743f4e2a..702feef9768b1069d4b8dae61d4d9eab521a6d42 100644
GIT binary patch
literal 8632
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
literal 887
zcmV--1Bm>IP)ik$X>7c>hOOl0yV7m?7?AcgwH5{4Dzex`7sG6Qk$1U-GRd*g=i4Mszh<`$xCwbGAvF<_&mzJr?dkvMz$HR&)5-v7f-4}f
zGI$4%kupShRod|2axi#Y_LT?>1P}~;oX;ypEmpzF5L6GikMkL8<+H2w&;&~unojiz
zrcDRf6QQ#PM{4VI340zzmS&5t0TK#gwKPkHP)0k-ADb^>KcH7kKHnabIHOBzYZY
z4hBrB438jN)5rPTTKJioK`RKyO@cKhszGs;XCicphpyA>pl}L09AM3I(5nfwIR5`|
zk6LBll6&)(Xlv(P2CNZNsw_A4_}uNwftuC(t|hcWi|O`fak)#j-L(WhZZ7^j3A5J#
z`f8U!L4$wSe3b*=RYljp_f^puV0`U_#g8q*<=9vay!@qAU@(h&4enbJ-Cj0+JEi?X=R*?5g*72_R1)uyE&zNQPiHc1l
zX%;TqH-5=7;8uWdAi(BzDrJTBb6_Dei4|7iPNaBOt2}h*(4j-$(r?P&fP>lnN&Wx;
N002ovPDHLkV1l{Mpzi