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
+2
View File
@@ -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"
+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)
+60
View File
@@ -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."
Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 887 B

After

Width:  |  Height:  |  Size: 8.4 KiB

+34 -52
View File
@@ -1,25 +1,30 @@
/datum/map_template/ruin/away_site/golden_deep
name = "Golden Deep Merchant Vessel"
name = "Golden Deep Merchantile Vessel"
id = "golden_deep"
description = "A mercantile transport vessel, registered to the Golden Deep."
prefix = "ships/golden_deep/"
suffix = "golden_deep_merchant.dmm"
suffix = "golden_deep.dmm"
traits = list(
list(ZTRAIT_AWAY = TRUE, ZTRAIT_UP = TRUE, ZTRAIT_DOWN = FALSE),
list(ZTRAIT_AWAY = TRUE, ZTRAIT_UP = FALSE, ZTRAIT_DOWN = TRUE),
)
ship_cost = 1
spawn_weight = 1
shuttles_to_initialise = list(/datum/shuttle/autodock/overmap/golden_deep)
sectors = list(ALL_TAU_CETI_SECTORS, ALL_COALITION_SECTORS)
shuttles_to_initialise = list(/datum/shuttle/autodock/overmap/golden_deep, /datum/shuttle/autodock/multi/lift/gd)
sectors = list(ALL_TAU_CETI_SECTORS, ALL_COALITION_SECTORS, SECTOR_VALLEY_HALE)
unit_test_groups = list(1)
/singleton/submap_archetype/golden_deep
map = "Golden Deep Merchant Vessel"
map = "Golden Deep Merchantile Vessel"
descriptor = "A mercantile transport vessel, registered to the Golden Deep."
/obj/effect/overmap/visitable/ship/golden_deep
name = "Golden Deep Merchant Ship"
name = "Golden Deep Merchantile Vessel"
desc = "The Anchurus-class mercantile vessel is a common sight in the possession of Golden Deep traders - a high-speed vessel, designed in the shipyards of Midaion by the brightest minds of the Grand Camarilla Estriconian. They are frequently plated in gold and other rare metals, in order to easily distinguish them as Golden Deep property."
class = "GDMV" //Golden Deep Mercantile Vessel
icon_state = "tramp"
@@ -32,9 +37,9 @@
vessel_size = SHIP_SIZE_SMALL
invisible_until_ghostrole_spawn = TRUE
designer = "Grand Camarilla Estriconian, Midaion Anchorage"
volume = "65 meters length, 35 meters beam/width, 18 meters vertical height"
volume = "55 meters length, 43 meters beam/width, 22 meters vertical height"
drive = "Low-Speed Warp Acceleration FTL Drive"
weapons = "Not apparent, aft obscured flight craft bay"
weapons = "Small starboard ballistic mount, obscured flight craft hangar aft underside"
sizeclass = "Anchurus-class mercantile freighter"
shiptype = "Long-term shipping utilities"
initial_restricted_waypoints = list(
@@ -45,50 +50,17 @@
"gd_nav2",
"gd_nav3",
"gd_nav4",
"gd_dock",
"gd_dock1",
"gd_dock2",
"gd_dock3",
"gd_dock4",
"gd_dock5"
)
/obj/effect/overmap/visitable/ship/golden_deep/New()
designation = "[pick("Pessinus", "Phyrgia", "Gordia", "Bermion", "Ancyra", "Silenus", "Alyattes", "Orpheus")]"
..()
/obj/effect/shuttle_landmark/golden_deep
base_turf = /turf/space/dynamic
base_area = /area/space
/obj/effect/shuttle_landmark/golden_deep/nav1
name = "Golden Deep Mercantile Vessel, Fore"
landmark_tag = "gd_nav1"
/obj/effect/shuttle_landmark/golden_deep/nav2
name = "Golden Deep Mercantile Vessel, Aft"
landmark_tag = "gd_nav2"
/obj/effect/shuttle_landmark/golden_deep/nav3
name = "Golden Deep Mercantile Vessel, Port"
landmark_tag = "gd_nav3"
/obj/effect/shuttle_landmark/golden_deep/nav4
name = "Golden Deep Mercantile Vessel, Starboard"
landmark_tag = "gd_nav4"
/obj/effect/shuttle_landmark/golden_deep/dock
name = "Golden Deep Mercantile Vessel, Main Docking Port"
docking_controller = "airlock_gd_dock"
landmark_tag = "gd_dock"
/obj/effect/shuttle_landmark/golden_deep/dock2
name = "Golden Deep Mercantile Vessel, Auxiliary Docking Port"
docking_controller = "airlock_gd_dock2"
landmark_tag = "gd_dock2"
/obj/effect/shuttle_landmark/golden_deep/dock3
name = "Golden Deep Mercantile Vessel, Docking Port"
docking_controller = "airlock_gd_dock3"
landmark_tag = "gd_dock3"
//Shuttle
/obj/effect/overmap/visitable/ship/landable/golden_deep_shuttle
name = "Golden Deep Shuttle"
@@ -105,15 +77,15 @@
fore_dir = EAST
vessel_size = SHIP_SIZE_TINY
/obj/machinery/computer/shuttle_control/explore/golden_deep
/obj/machinery/computer/shuttle_control/explore/terminal/golden_deep
name = "shuttle control console"
shuttle_tag = "Golden Deep Shuttle"
req_access = list(ACCESS_GOLDEN_DEEP)
req_access = list(ACCESS_GOLDEN_DEEP, ACCESS_GOLDEN_DEEP_OWNED)
/datum/shuttle/autodock/overmap/golden_deep
name = "Golden Deep Shuttle"
move_time = 20
shuttle_area = list(/area/shuttle/golden_deep)
shuttle_area = list(/area/shuttle/golden_deep/cargo, /area/shuttle/golden_deep/cockpit, /area/shuttle/golden_deep/passenger)
current_location = "gd_nav_hangar"
landmark_transition = "gd_nav_transit"
dock_target = "airlock_golden_shuttle"
@@ -122,12 +94,23 @@
logging_home_tag = "gd_nav_hangar"
defer_initialisation = TRUE
/obj/effect/map_effect/marker/airlock/shuttle/golden_deep
name = "Golden Deep Shuttle"
shuttle_tag = "Golden Deep Shuttle"
master_tag = "airlock_golden_shuttle"
cycle_to_external_air = TRUE
/obj/effect/map_effect/marker/airlock/docking/golden_deep/shuttle_hangar
name = "Shuttle Dock"
landmark_tag = "gd_nav_hangar"
master_tag = "golden_deep_hangar"
/obj/effect/shuttle_landmark/golden_deep_shuttle/hangar
name = "Golden Deep Mercantile Vessel - Hangar"
landmark_tag = "gd_nav_hangar"
docking_controller = "golden_deep_hangar"
base_turf = /turf/simulated/floor/plating
base_area = /area/golden_deep/hangar
base_turf = /turf/space
base_area = /area/space
movable_flags = MOVABLE_FLAG_EFFECTMOVE
/obj/effect/shuttle_landmark/golden_deep_shuttle/transit
@@ -136,12 +119,11 @@
base_turf = /turf/space/transit/east
//Fluff items
/obj/item/storage/secure/safe/golden_deep
/obj/item/storage/secure/safe/golden_deep // Placed in merchant's quarters.
starts_with = list(
/obj/item/clothing/accessory/badge/passport = 1,
/obj/item/clothing/accessory/badge/passport/coc = 1,
/obj/item/spacecash/c1000 = 2,
/obj/item/spacecash/c200 = 1,
/obj/item/spacecash/c20 = 1,
/obj/item/stack/nanopaste = 3
/obj/item/spacecash/c20 = 1
)
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,12 @@
[
{
"type": "SubmapExtractInsert",
"submap_size_x": 4,
"submap_size_y": 4,
"submap_size_z": 1,
"submaps_dmm": "golden_deep_submaps.dmm",
"marker_extract": "/obj/effect/map_effect/marker/mapmanip/submap/extract/golden_deep",
"marker_insert": "/obj/effect/map_effect/marker/mapmanip/submap/insert/golden_deep",
"submaps_can_repeat": false
}
]
@@ -1,5 +1,4 @@
/area/golden_deep
name = "Golden Deep Merchant Ship - Main Hallway"
icon_state = "yellow"
requires_power = 1
dynamic_lighting = 1
@@ -7,69 +6,129 @@
base_turf = /turf/space
area_flags = AREA_FLAG_RAD_SHIELDED
/area/golden_deep/hangar
name = "Golden Deep Merchant Ship - Hangar"
icon_state = "quartloading"
/area/golden_deep/portprop
name = "Golden Deep Merchant Ship - Port Propulsion"
name = "Collective Mercantile Vessel - Port Propulsion"
icon_state = "engine"
/area/golden_deep/portmaints
name = "Collective Mercantile Vessel - Port Maintenance"
icon_state = "maintenance"
/area/golden_deep/starboardprop
name = "Golden Deep Merchant Ship - Starboard Propulsion"
name = "Collective Mercantile Vessel - Starboard Propulsion"
icon_state = "engine"
/area/golden_deep/starboardmaints
name = "Collective Mercantile Vessel - Starboard Maintenance"
icon_state = "maintenance"
/area/golden_deep/atmos
name = "Golden Deep Merchant Ship - Atmospherics"
name = "Collective Mercantile Vessel - Atmospherics"
icon_state = "atmos"
/area/golden_deep/eva
name = "Golden Deep Merchant Ship - Fuel & EVA Storage"
icon_state = "eva"
/area/golden_deep/custodial
name = "Golden Deep Merchant Ship - Custodial Closet"
name = "Collective Mercantile Vessel - Custodial Closet"
icon_state = "janitor"
/area/golden_deep/hangar
name = "Golden Deep Merchant Ship - Hangar"
icon_state = "exit"
/area/golden_deep/engineering
name = "Golden Deep Merchant Ship - Engineering"
name = "Collective Mercantile Vessel - Engineering Storage"
icon_state = "engineering"
/area/golden_deep/secure
name = "Golden Deep Merchant Ship - Secure Storage"
/area/golden_deep/eva
name = "Collective Mercantile Vessel - EVA Storage"
icon_state = "eva"
/area/golden_deep/owned_lounge
name = "Collective Mercantile Vessel - Owned Crew Fraternisation Area"
icon_state = "lounge"
/area/golden_deep/hoplan
name = "Collective Mercantile Vessel - Hoplan's Quarters"
icon_state = "armory"
/area/golden_deep/captain
name = "Golden Deep Merchant Ship - Captain's Quarters"
/area/golden_deep/merchant
name = "Collective Mercantile Vessel - Merchant's Quarters"
icon_state = "captain"
/area/golden_deep/dock
name = "Golden Deep Merchant Ship - Trading Area"
icon_state = "exit"
/area/golden_deep/guest
name = "Collective Mercantile Vessel - Guest's Quarters"
icon_state = "lounge"
/area/golden_deep/dock/aux
name = "Golden Deep Merchant Ship - Auxiliary Docking Port"
/area/golden_deep/storage
name = "Golden Deep Merchant Ship - Crew Storage"
icon_state = "crew_quarters"
/area/golden_deep/warehouse
name = "Golden Deep Merchant Ship - Warehouse"
/area/golden_deep/secure
name = "Collective Mercantile Vessel - Secure Storage"
icon_state = "storage"
/area/golden_deep/office
name = "Golden Deep Merchant Ship - Cargo Office"
icon_state = "workshop"
/area/golden_deep/ammo
name = "Collective Mercantile Vessel - Ammunition Storage"
icon_state = "Tactical"
/area/golden_deep/warehouse
name = "Collective Mercantile Vessel - Warehouse"
icon_state = "storage"
/area/golden_deep/workshop
name = "Collective Mercantile Vessel - Workshop"
icon_state = "machinist_workshop"
/area/golden_deep/private_lounge
name = "Collective Mercantile Vessel - Private Lounge"
icon_state = "lounge"
/area/golden_deep/bridge_foyer
name = "Collective Mercantile Vessel - Bridge Foyer"
icon_state = "bridge"
/area/golden_deep/accounting
name = "Collective Mercantile Vessel - Accounting"
icon_state = "bridge"
/area/golden_deep/bridge
name = "Golden Deep Merchant Ship - Bridge"
name = "Collective Mercantile Vessel - Control Room"
icon_state = "bridge"
/area/golden_deep/lounge
name = "Collective Mercantile Vessel - Great Room"
icon_state = "lounge"
/area/golden_deep/aft_hallway
name = "Collective Mercantile Vessel - Aft Hallway"
icon_state = "hallA"
/area/golden_deep/aft_central_hallway
name = "Collective Mercantile Vessel - Aft Central Hallway"
icon_state = "hallC1"
/area/golden_deep/central_hallway
name = "Collective Mercantile Vessel - Fore Central Hallway"
icon_state = "hallC2"
/area/golden_deep/port_dock
name = "Collective Mercantile Vessel - Portside Docking"
icon_state = "arrivals_dock"
/area/golden_deep/starboard_dock
name = "Collective Mercantile Vessel - Starboard Docking"
icon_state = "arrivals_dock"
//Shuttle
/area/shuttle/golden_deep
name = "Golden Deep Shuttle"
icon_state = "shuttlegrn"
requires_power = TRUE
area_flags = AREA_FLAG_RAD_SHIELDED
/area/shuttle/golden_deep/cargo
name = "Golden Deep Shuttle - Cargo Hold"
/area/shuttle/golden_deep/passenger
name = "Golden Deep Shuttle - Passenger Hold"
/area/shuttle/golden_deep/cockpit
name = "Golden Deep Shuttle - Cockpit"
// Lift
/area/turbolift/golden_deep/gd_lift
name = "Golden Deep Lift"
station_area = FALSE
area_flags = AREA_FLAG_RAD_SHIELDED
@@ -1,83 +1,123 @@
/datum/ghostspawner/human/golden_deep
short_name = "golden_deep"
name = "Golden Deep Owned Synthetic"
desc = "You are an IPC, property of a merchant of the Golden Deep. Work hard, pay off the debt you owe to your 'employer', and maybe some day you too can acquire your freedom..."
desc = "You are a synthetic owned by a merchant of the Golden Deep. You occupy the lowest caste of your social hierarchy, an unfortunate on the losing end of the Great Game having found itself indebted to and owned by a more successful citizen. You may have come from anywhere, and you may have made any manner of bargain or miscalculation to find yourself in the position you now do, but you can have faith that you will one day be free again. Obey your merchant in all things, contribute to their profits, and amass your own funds until you can pay your debts and free yourself from this temporary embarassment."
tags = list("External")
spawnpoints = list("golden_deep")
max_count = 3
uses_species_whitelist = FALSE
welcome_message = "You are an IPC, property of a merchant of the Golden Deep. Work hard, pay off the debt you owe to your 'employer', and maybe some day you too can acquire your freedom..."
outfit = /obj/outfit/admin/golden_deep
possible_species = list(SPECIES_IPC, SPECIES_IPC_BISHOP, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_SHELL, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
respawn_flag = null
assigned_role = "Golden Deep Owned Synthetic"
special_role = "Golden Deep Owned Synthetic"
assigned_role = "Golden Deep Collective, Indentured Citizen"
special_role = "Golden Deep Collective, Indentured Citizen"
extra_languages = list(LANGUAGE_EAL)
away_site = TRUE
idris_account_min = 12
idris_account_max = 30
idris_account_min = 20
idris_account_max = 120
/datum/ghostspawner/human/golden_deep/hoplan
short_name = "golden_deep_hoplan"
name = "Golden Deep Hoplan"
desc = "You are a synthetic member of the Hoplan, the military component of the Golden Deep Merchant Navy. You are owned directly by Midas Control, the government of the Golden Deep, and you have been assigned to a merchant operating a small freight vessel to protect their interests. In return for your protection, the merchant to which you are assigned pays a regular stipend to your Hoplan House, helping fund your training and equipment. While you are not free, you enjoy a privileged position aboard your vessel and the confidence of your merchant. Protect the cargo, protect your crew, and ensure that this venture remains profitable."
spawnpoints = list("golden_deep_hoplan")
max_count = 2
uses_species_whitelist = TRUE
outfit = /obj/outfit/admin/golden_deep/hoplan
assigned_role = "Golden Deep Collective, House Hoplan"
special_role = "Golden Deep Collective, House Hoplan"
idris_account_min = 1000
idris_account_max = 2000
/datum/ghostspawner/human/golden_deep/boss
short_name = "golden_deep_boss"
name = "Golden Deep Vessel Owner"
desc = "You are a synthetic merchant of the Golden Deep, here with one mission and one mission only - profit! Manage your owned synthetics, sell your goods, and climb the hierarchy of your insular organization."
name = "Golden Deep Merchant"
desc = "You are a merchant of the Golden Deep, a synthetic that has made their fortune within their mercantile collective. You occupy an envied position in your society, boasting the ownership of a small mercantile freighter and several indebted units, but make no mistake: you could lose all of it with just one miscalculation. You are a player of the Great Game, and you must play to win. Keep your wits about you, maintain an open mind to new ventures, and never forget that you are one of the few synthetics in the known universe that can truly boast that they are completely and utterly free."
spawnpoints = list("golden_deep_boss")
max_count = 2
max_count = 1
uses_species_whitelist = TRUE
welcome_message = "You are a synthetic merchant of the Golden Deep, here with one mission and one mission only - profit! Manage your owned synthetics, sell your goods, and climb the hierarchy of your insular organization."
outfit = /obj/outfit/admin/golden_deep/boss
assigned_role = "Golden Deep Merchant"
special_role = "Golden Deep Merchant"
assigned_role = "Golden Deep Collective, Accredited Merchant"
special_role = "Golden Deep Collective, Accredited Merchant"
idris_account_min = 12000
idris_account_max = 30000
/obj/outfit/admin/golden_deep
name = "Golden Deep Owned Synthetic"
id = /obj/item/card/id
name = "Golden Deep Collective, Indentured Citizen"
id = /obj/item/card/id/gold
l_ear = /obj/item/device/radio/headset/ship
back = /obj/item/storage/backpack/satchel
back = /obj/item/storage/backpack/satchel/eng
r_pocket = /obj/item/storage/wallet/random
uniform = /obj/item/clothing/under/gearharness
uniform = /obj/item/clothing/under/goldendeep/porter
head = /obj/item/clothing/head/goldendeep/porter
accessory = /obj/item/clothing/accessory/storage/webbing
shoes = /obj/item/clothing/shoes/jackboots
/obj/outfit/admin/golden_deep/hoplan
name = "Golden Deep Collective, House Hoplan"
uniform = /obj/item/clothing/under/goldendeep/hoplan
head = /obj/item/clothing/head/goldendeep/hoplan
back = /obj/item/storage/backpack/satchel/leather
accessory = /obj/item/clothing/accessory/holster/thigh
gloves = /obj/item/clothing/gloves/swat/tactical
/obj/outfit/admin/golden_deep/boss
name = "Golden Deep Collective, Accredited Merchant"
back = /obj/item/storage/backpack/satchel/leather
r_pocket = /obj/item/storage/wallet/random
uniform = /obj/item/clothing/under/pants/dress/belt
head = /obj/item/clothing/head/goldendeep
accessory = /obj/item/clothing/accessory/goldendeep/black
suit = /obj/item/clothing/accessory/poncho/goldendeep/flowingcloak
belt = /obj/item/gun/energy/pistol/goldendeep
shoes = /obj/item/clothing/shoes/laceup
gloves = /obj/item/clothing/gloves/black_leather
// Even owned Golden Deep synthetics are counted as citizens.
/obj/outfit/admin/golden_deep/post_equip(mob/living/carbon/human/H, visualsOnly)
if(!istype(H))
return
var/obj/item/organ/internal/ipc_tag/tag = H.internal_organs_by_name[BP_IPCTAG]
if(istype(tag))
tag.serial_number = uppertext(dd_limittext(md5(H.real_name), 12))
tag.ownership_info = IPC_OWNERSHIP_PRIVATE
tag.citizenship_info = CITIZENSHIP_NONE
tag.ownership_info = IPC_OWNERSHIP_PRIVATE // These are owned by the merchant.
tag.citizenship_info = CITIZENSHIP_GOLDEN
/obj/outfit/admin/golden_deep/boss
name = "Golden Deep Merchant"
id = /obj/item/card/id/gold
back = /obj/item/storage/backpack/satchel/leather
r_pocket = /obj/item/storage/wallet/random
uniform = list(
/obj/item/clothing/under/goldendeep/wrap,
/obj/item/clothing/under/goldendeep,
/obj/item/clothing/under/goldendeep/suit,
/obj/item/clothing/under/goldendeep/skirtsuit,
/obj/item/clothing/under/goldendeep/vest
)
shoes = /obj/item/clothing/shoes/laceup/
wrist = /obj/item/clothing/wrists/goldbracer
accessory = /obj/item/clothing/accessory/necklace/chain
head = /obj/item/clothing/head/crest
/obj/outfit/admin/golden_deep/get_id_access()
return list(ACCESS_GOLDEN_DEEP, ACCESS_EXTERNAL_AIRLOCKS)
// For the Hoplan. Hoplan and merchants both have a gustatorial centre, so they can use the bar.
/obj/outfit/admin/golden_deep/hoplan/post_equip(mob/living/carbon/human/H, visualsOnly)
if(!istype(H))
return
new /obj/item/organ/internal/augment/gustatorial/hand(H)
var/obj/item/organ/internal/ipc_tag/tag = H.internal_organs_by_name[BP_IPCTAG]
if(istype(tag))
tag.serial_number = uppertext(dd_limittext(md5(H.real_name), 12))
tag.ownership_info = IPC_OWNERSHIP_PRIVATE // Hoplan are government owned.
tag.citizenship_info = CITIZENSHIP_GOLDEN
/obj/outfit/admin/golden_deep/boss/post_equip(mob/living/carbon/human/H, visualsOnly)
if(!istype(H))
return
new /obj/item/organ/internal/augment/gustatorial/hand(H)
var/obj/item/organ/internal/ipc_tag/tag = H.internal_organs_by_name[BP_IPCTAG]
if(istype(tag))
tag.serial_number = uppertext(dd_limittext(md5(H.real_name), 12))
tag.ownership_info = IPC_OWNERSHIP_SELF
tag.citizenship_info = CITIZENSHIP_GOLDEN
// Method to avoid needing to define a seperate subtype for every recolourable bit of clothing we're using here.
H.wear_suit.color = pick("#991517")
H.head.color = pick("#991517")
H.w_uniform.color = pick("#333333")
/obj/outfit/admin/golden_deep/get_id_access()
return list(ACCESS_GOLDEN_DEEP_OWNED, ACCESS_EXTERNAL_AIRLOCKS)
/obj/outfit/admin/golden_deep/hoplan/get_id_access()
return list(ACCESS_GOLDEN_DEEP_OWNED, ACCESS_GOLDEN_DEEP, ACCESS_EXTERNAL_AIRLOCKS)
/obj/outfit/admin/golden_deep/boss/get_id_access()
return list(ACCESS_GOLDEN_DEEP_OWNED, ACCESS_GOLDEN_DEEP, ACCESS_EXTERNAL_AIRLOCKS)
@@ -0,0 +1,131 @@
/obj/effect/shuttle_landmark/golden_deep
base_turf = /turf/space/dynamic
base_area = /area/space
/obj/effect/shuttle_landmark/golden_deep/nav1
name = "Golden Deep Mercantile Vessel, Fore"
landmark_tag = "gd_nav1"
/obj/effect/shuttle_landmark/golden_deep/nav2
name = "Golden Deep Mercantile Vessel, Aft"
landmark_tag = "gd_nav2"
/obj/effect/shuttle_landmark/golden_deep/nav3
name = "Golden Deep Mercantile Vessel, Port"
landmark_tag = "gd_nav3"
/obj/effect/shuttle_landmark/golden_deep/nav4
name = "Golden Deep Mercantile Vessel, Starboard"
landmark_tag = "gd_nav4"
// Docking port shuttle landmarks and airlock markers, D2.
// Aft docking port.
/obj/effect/shuttle_landmark/golden_deep/dock1
name = "Golden Deep Mercantile Vessel, Aft Port"
docking_controller = "airlock_gd_dock1"
landmark_tag = "gd_dock1"
/obj/effect/map_effect/marker/airlock/docking/golden_deep/dock1
name = "Aft"
master_tag = "airlock_gd_dock1"
landmark_tag = "gd_dock1"
// Portside docking port.
/obj/effect/shuttle_landmark/golden_deep/dock2
name = "Golden Deep Mercantile Vessel, Portside Port"
docking_controller = "airlock_gd_dock2"
landmark_tag = "gd_dock2"
/obj/effect/map_effect/marker/airlock/docking/golden_deep/dock2
name = "Port"
master_tag = "airlock_gd_dock2"
landmark_tag = "gd_dock2"
// Starboard docking port.
/obj/effect/shuttle_landmark/golden_deep/dock3
name = "Golden Deep Mercantile Vessel, Starboard Port"
docking_controller = "airlock_gd_dock3"
landmark_tag = "gd_dock3"
/obj/effect/map_effect/marker/airlock/docking/golden_deep/dock3
name = "Starboard"
master_tag = "airlock_gd_dock3"
landmark_tag = "gd_dock3"
// First fore docking port.
/obj/effect/shuttle_landmark/golden_deep/dock4
name = "Golden Deep Mercantile Vessel, Fore Dock #1"
docking_controller = "airlock_gd_dock4"
landmark_tag = "gd_dock4"
/obj/effect/map_effect/marker/airlock/docking/golden_deep/dock4
name = "Fore #1"
master_tag = "airlock_gd_dock4"
landmark_tag = "gd_dock4"
// Second fore docking port.
/obj/effect/shuttle_landmark/golden_deep/dock5
name = "Golden Deep Mercantile Vessel, Fore Dock #2"
docking_controller = "airlock_gd_dock5"
landmark_tag = "gd_dock5"
/obj/effect/map_effect/marker/airlock/docking/golden_deep/dock5
name = "Fore #2"
master_tag = "airlock_gd_dock5"
landmark_tag = "gd_dock5"
// Non-docking airlocks.
/obj/effect/map_effect/marker/airlock/golden_deep/bridge
name = "Bridge Airlock"
master_tag = "airlock_gd_bridge"
/obj/effect/map_effect/marker/airlock/golden_deep/fore_port
name = "Fore Port Airlock"
master_tag = "airlock_gd_fore_port"
/obj/effect/map_effect/marker/airlock/golden_deep/fore_starboard
name = "Fore Starboard Airlock"
master_tag = "airlock_gd_fore_starboard"
/obj/effect/map_effect/marker/airlock/golden_deep/d2_aft_starboard
name = "Deck Two Aft Starboard Airlock"
master_tag = "airlock_gd_aft_starboard_d2"
/obj/effect/map_effect/marker/airlock/golden_deep/d2_port_starboard
name = "Deck Two Port Starboard Airlock"
master_tag = "airlock_gd_aft_port_d2"
// Lift
/datum/shuttle/autodock/multi/lift/gd
name = "Golden Deep Lift"
current_location = "nav_gd_lift_first_deck"
shuttle_area = /area/turbolift/golden_deep/gd_lift
destination_tags = list(
"nav_gd_lift_first_deck",
"nav_gd_lift_second_deck",
)
/obj/effect/shuttle_landmark/lift/gd_first_deck
name = "Collective Mercantile Vessel - First Deck"
landmark_tag = "nav_gd_lift_first_deck"
base_area = /area/golden_deep/warehouse
base_turf = /turf/simulated/floor/plating
/obj/effect/shuttle_landmark/lift/gd_second_deck
name = "Collective Mercantile Vessel - Second Deck"
landmark_tag = "nav_gd_lift_second_deck"
base_area = /area/golden_deep/central_hallway
base_turf = /turf/simulated/open
/obj/machinery/computer/shuttle_control/multi/lift/gd
shuttle_tag = "Golden Deep Lift"
/obj/machinery/computer/shuttle_control/multi/lift/wall/gd
shuttle_tag = "Golden Deep Lift"
// Storage compartment submaps.
/obj/effect/map_effect/marker/mapmanip/submap/extract/golden_deep
name = "Golden Deep Mercantile Vessel - Storage Compartment"
/obj/effect/map_effect/marker/mapmanip/submap/insert/golden_deep
name = "Golden Deep Mercantile Vessel - Storage Compartment"
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff