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.
This commit is contained in:
hazelrat
2024-10-25 17:56:22 +00:00
committed by GitHub
parent d799b7354d
commit 1119236ea8
20 changed files with 145929 additions and 31179 deletions
+9
View File
@@ -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
+23
View File
@@ -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
@@ -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 <span style='color:[selected_color]'>[selected_mode]</span>."))
// 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 <span style='color:[colors_by_mode[new_selected_mode]]'>[new_selected_mode]</span>."))
// 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
@@ -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"
@@ -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
+63 -3
View File
@@ -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"
@@ -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"
+2 -2
View File
@@ -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)