From c0e2df4a02b74db1e8c2e573a5b4fb3a3e71f3dd Mon Sep 17 00:00:00 2001 From: RustingWithYou <63625389+RustingWithYou@users.noreply.github.com> Date: Wed, 6 Mar 2024 20:10:48 +1300 Subject: [PATCH] Point Verdant ERT-Lite (#18554) * point verdant ert-lite * fixes bad outfit * fixes garage * fix to existing kasf ert --- code/datums/outfits/ert/coalition.dm | 2 +- code/datums/outfits/event/outfit_megacorps.dm | 2 +- .../items/devices/radio/encryptionkey.dm | 2 +- .../clothing/spacesuits/rig/suits/ert.dm | 20 +- code/modules/clothing/under/jobs/security.dm | 5 + html/changelogs/RustingWithYou - konyarmy.yml | 41 ++++ .../clothing/department_uniforms/security.dmi | Bin 68535 -> 69809 bytes .../konyang/point_verdant/point_verdant-1.dmm | 46 +++-- .../point_verdant/point_verdant_ghostroles.dm | 192 ++++++++++++++++++ 9 files changed, 284 insertions(+), 26 deletions(-) create mode 100644 html/changelogs/RustingWithYou - konyarmy.yml diff --git a/code/datums/outfits/ert/coalition.dm b/code/datums/outfits/ert/coalition.dm index fb05cec4277..1de50fa40ed 100644 --- a/code/datums/outfits/ert/coalition.dm +++ b/code/datums/outfits/ert/coalition.dm @@ -104,7 +104,7 @@ mask = /obj/item/clothing/mask/gas/tactical suit_store = /obj/item/gun/projectile/automatic/rifle/konyang/k556 accessory = /obj/item/clothing/accessory/holster/hip - accessory_contents = /obj/item/gun/projectile/pistol/sol + accessory_contents = list(/obj/item/gun/projectile/pistol/sol = 1) belt = /obj/item/storage/belt/military id = /obj/item/card/id/ert diff --git a/code/datums/outfits/event/outfit_megacorps.dm b/code/datums/outfits/event/outfit_megacorps.dm index 1bbcc67a8c5..3cbf6516d8c 100644 --- a/code/datums/outfits/event/outfit_megacorps.dm +++ b/code/datums/outfits/event/outfit_megacorps.dm @@ -134,7 +134,7 @@ name = "Einstein Engines Asset Protection" uniform = /obj/item/clothing/under/rank/einstein - back = /obj/item/rig/ert/assetprotection/einstein + back = /obj/item/rig/ert/einstein belt = /obj/item/storage/belt/security/tactical shoes = null gloves = null diff --git a/code/game/objects/items/devices/radio/encryptionkey.dm b/code/game/objects/items/devices/radio/encryptionkey.dm index 378ab63eeac..fcee4dc7cb5 100644 --- a/code/game/objects/items/devices/radio/encryptionkey.dm +++ b/code/game/objects/items/devices/radio/encryptionkey.dm @@ -212,7 +212,7 @@ /obj/item/device/encryptionkey/onlyert name = "\improper ERT radio encryption key" - channels = list(CHANNEL_RESPONSE_TEAM = TRUE) + channels = list(CHANNEL_RESPONSE_TEAM = TRUE, CHANNEL_HAILING = TRUE) /obj/item/device/encryptionkey/rev name = "standard encryption key" diff --git a/code/modules/clothing/spacesuits/rig/suits/ert.dm b/code/modules/clothing/spacesuits/rig/suits/ert.dm index f7c120661ba..f7ab54b3c32 100644 --- a/code/modules/clothing/spacesuits/rig/suits/ert.dm +++ b/code/modules/clothing/spacesuits/rig/suits/ert.dm @@ -177,6 +177,17 @@ allowed_module_types = MODULE_GENERAL | MODULE_LIGHT_COMBAT | MODULE_HEAVY_COMBAT | MODULE_SPECIAL +/obj/item/rig/ert/einstein + name = "apotheosis suit control module" + desc = "A heavy suit with Einstein Engines branding coating it, not to mention the obvious colors." + suit_type = "apotheosis" + icon = 'icons/clothing/rig/apotheosis.dmi' + icon_state = "apotheosis" + + req_access = list() + req_one_access = list() + allowed_module_types = MODULE_GENERAL | MODULE_LIGHT_COMBAT | MODULE_HEAVY_COMBAT | MODULE_SPECIAL | MODULE_UTILITY + /obj/item/rig/ert/assetprotection name = "\improper heavy asset protection suit control module" desc = "A heavy suit worn by the highest level of Asset Protection, don't mess with the person wearing this. Armored and space ready." @@ -218,12 +229,3 @@ /obj/item/rig/ert/assetprotection/empty initial_modules = list() -/obj/item/rig/ert/assetprotection/einstein - name = "apotheosis suit control module" - desc = "A heavy suit with Einstein Engines branding coating it, not to mention the obvious colors." - suit_type = "apotheosis" - icon = 'icons/clothing/rig/apotheosis.dmi' - icon_state = "apotheosis" - - req_access = list() - req_one_access = list() diff --git a/code/modules/clothing/under/jobs/security.dm b/code/modules/clothing/under/jobs/security.dm index 9a3f7bdb96b..8aa007a4307 100644 --- a/code/modules/clothing/under/jobs/security.dm +++ b/code/modules/clothing/under/jobs/security.dm @@ -116,6 +116,11 @@ icon_state = "ee_officer" item_state = "ee_officer" +/obj/item/clothing/under/rank/security/zeng + name = "zeng-hu pharmaceuticals security officer uniform" + icon_state = "zeng_officer" + item_state = "zeng_officer" + /obj/item/clothing/under/rank/warden name = "warden's uniform" desc = "It's made of a slightly sturdier material than standard jumpsuits, to allow for more robust protection." diff --git a/html/changelogs/RustingWithYou - konyarmy.yml b/html/changelogs/RustingWithYou - konyarmy.yml new file mode 100644 index 00000000000..d719cb94f1d --- /dev/null +++ b/html/changelogs/RustingWithYou - konyarmy.yml @@ -0,0 +1,41 @@ +################################ +# 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 +# wip (For works in progress) +# tweak +# soundadd +# sounddel +# rscadd (general adding of nice things) +# rscdel (general deleting of nice things) +# imageadd +# imagedel +# maptweak +# spellcheck (typo fixes) +# experiment +# balance +# admin +# backend +# security +# refactor +################################# + +# Your name. +author: RustingWithYou + +# 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, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries. +# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog. +changes: + - rscadd: "Adds adminspawn ghostroles for the Konyang Army and corporate asset protection on Point Verdant." diff --git a/icons/obj/item/clothing/department_uniforms/security.dmi b/icons/obj/item/clothing/department_uniforms/security.dmi index bd0121a395fb8a1ba13a1d3ecfcc93c1cc35483b..3b1f573c05f6a7af63628b14ce125a9d7b539174 100644 GIT binary patch delta 3052 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 delta 1768 zcma)+dpOez7{`A`NSD#g*@}Zh8&+~Fm)S~l%jJ|Dx#fDc+&e;J*l(c+G0Hh|40EY? zTx&EXG18RemTO94xtmKf!-li|JAa%%&im)*`99z0`9AOaeHlek&$6ZNs)IC=lS>2+ zAMSS};E#xa>!AP;m6!i_N9dCxPljDz$#JMpXlz)y+LUWnaNugvXT51TkNZwX@n9O&X|zw+1#v z85KPxk#4Fw@pF5$-jRML5dzN6-pBMBK@iH=_tvob`Z47ldLL0QnakU!ZwZ<7CtLmHVBQ}3 ziqoD_U-e5GSJ65aEO70|D}@oPoV3%Z&CPV1vdWqG&e%J(PrCfSdMZ3H(Xw_#80-#I z3UKIF&!c31P$-o=s84z-Z2QwTnlm24T3KfouB;voQh8MK>aet@`!dz~Ir`pq_d};6 zSm~Z#XaRD)_xvU%%-p7qtYR-S9N8QqGeVSyLmj8vI}EqLI^Bs)2=S%GGTOhb+F(v2 zCDf&J@HQkzYoYh1@>o!bQS@;SWRD+c`3s6&ouY}VhaW0dn&o{El9_|&+>Pfz9P^dY#tU96H}?%?{7P7qz+XFCcr(FSz_mnbRuw!j#k&tz zRqdGZTaadP3*~iVSqs7Wy`zg!p}K>8dEdc(7}}5^%eAqp_E&9Gj_x_0#fOAGNOm7Y z!WSYN_3VtK#C0jqR62ws#{srsceqD!(g|?6TYIV5(y8Vu(q~`>{kAQBX80LeOQLzM z)LfnNM89pjr%8lf#P@ze``y=H%~gk8?=<}GUnqMFX;nU9q2!^N{W`E1M?zS!#vYpP z1`8HPmjw+mrQnxT*3a1VXSFxtcdVF1I&CGS+p_e-`YKq;nAp31PG=H*uV{ObVGd1T zK^&btq#W~h!*;QkK9etkFf$ykG((SsybPNj+xWF9{bPMNBYWvh*HmXhoMLs``_Hj< zzqR=V@ft-m)IMoGQ{+8eL-r@H?uF)65ph@W|%|Evdp$y4^WbP7CL5r`1ff=i66|>0FWgQQ0^fp5a8}#zb$K+-kgp4cme>_ z@zRF?%0sD(0FZg$tOQ_v0oVnoXiEGS1pkx%A2?U#iFqmVW-^!gGR2jg%!rW-Yo32uI#UlS(i z>FUA|&JIL~H@7XgV)Xodyd<IR|GqKswgv^KT2_+7PpGNYEpb;_t?@!z;+vA8uBRoBhul(AQyHQG#rziu`&r%P zL-YB5jMyb_f>CZ>8YtFvk|BU7gTZRr;yuEm;~EFcoh$B5N25@v*YDc3{W_q|?njRv zy;SB@-0QENbK8UbWaLHUyz@2FZr-rx$OX74@C?B{>%ybjtB;4gX4ew@veN}j9f0C9 z)TgnI>QGZFb}YjQJ$v|kzP}7ZoYwgz)Ucc9e>&G@4m@I*+xeC!>Y)R`OxKUSW|AHO zZh0G~!KSzM0&nWuH3Goi2Ko_IvF^MMk@yK~jqg9!rVIe-G&*EP#Ag1TZ>kuxL0$;{ zl9rsz`*$I_&eG788JG31`IYM_izT8ao^9rf)mG@=0SewRck;H)DA b2>>=*d%pQi#qP@=0e*~)g#)hI+&lgs5y4?u diff --git a/maps/away/away_site/konyang/point_verdant/point_verdant-1.dmm b/maps/away/away_site/konyang/point_verdant/point_verdant-1.dmm index e38743c0f0f..40b6cefab3c 100644 --- a/maps/away/away_site/konyang/point_verdant/point_verdant-1.dmm +++ b/maps/away/away_site/konyang/point_verdant/point_verdant-1.dmm @@ -406,6 +406,10 @@ pixel_y = 17 }, /obj/structure/curtain/open/bed, +/obj/effect/ghostspawpoint{ + name = "igs - konyang_army"; + identifier = "konyang_army" + }, /turf/simulated/floor/wood, /area/point_verdant/interior/offices/kaf) "bj" = ( @@ -2248,7 +2252,7 @@ dir = 1; pixel_x = 20; pixel_y = 26; - req_access = list(218) + req_access = list(112) }, /turf/simulated/floor/sidewalk/flat, /area/point_verdant/interior/tunnels) @@ -2373,6 +2377,10 @@ /obj/structure/bed/stool/chair/office/light{ dir = 8 }, +/obj/effect/ghostspawpoint{ + name = "igs - konyang_army_lead"; + identifier = "konyang_army_lead" + }, /turf/simulated/floor/carpet/green, /area/point_verdant/interior/offices/kaf) "hd" = ( @@ -5370,7 +5378,8 @@ /area/point_verdant/interior/tunnels) "qm" = ( /obj/machinery/power/emitter{ - dir = 8 + dir = 8; + req_access = list(112) }, /obj/effect/floor_decal/industrial/outline/red, /turf/simulated/floor/sidewalk/dark, @@ -5403,6 +5412,10 @@ /obj/structure/bed/stool/chair{ dir = 1 }, +/obj/effect/ghostspawpoint{ + name = "igs - pv_corporate_solutions"; + identifier = "pv_corporate_solutions" + }, /turf/unsimulated/floor{ icon = 'icons/turf/flooring/carpet.dmi'; icon_state = "rub_carpet" @@ -8166,7 +8179,7 @@ dir = 1; pixel_x = 2; pixel_y = 32; - req_access = list(218) + req_access = list(112) }, /turf/simulated/floor/carpet/green, /area/point_verdant/interior/offices/kaf) @@ -8950,6 +8963,10 @@ /obj/structure/bed/stool/chair{ dir = 1 }, +/obj/effect/ghostspawpoint{ + name = "igs - pv_corporate_solutions"; + identifier = "pv_corporate_solutions" + }, /turf/unsimulated/floor{ icon = 'icons/turf/flooring/carpet.dmi'; icon_state = "rub_carpet" @@ -9526,7 +9543,7 @@ name = "Armory Doors"; dir = 1; pixel_y = 25; - req_access = list(218) + req_access = list(112) }, /turf/simulated/floor/sidewalk/dark, /area/point_verdant/interior/offices/kaf) @@ -10236,6 +10253,10 @@ pixel_y = 17 }, /obj/structure/curtain/open/bed, +/obj/effect/ghostspawpoint{ + name = "igs - konyang_army"; + identifier = "konyang_army" + }, /turf/simulated/floor/wood, /area/point_verdant/interior/offices/kaf) "Fc" = ( @@ -13239,14 +13260,6 @@ pixel_x = -3; pixel_y = 16 }, -/obj/item/rig/ert/scc/security{ - pixel_x = 4; - pixel_y = 16 - }, -/obj/item/rig/ert/scc/security{ - pixel_x = 11; - pixel_y = 16 - }, /obj/item/melee/telebaton, /obj/item/melee/telebaton, /obj/item/melee/telebaton, @@ -14344,7 +14357,7 @@ dir = 4; pixel_x = 20; pixel_y = 4; - req_access = list(218) + req_access = list(112) }, /obj/structure/table/reinforced/steel, /obj/item/key/bike/sport{ @@ -14750,7 +14763,8 @@ /area/point_verdant/interior/pharmacy) "Rx" = ( /obj/machinery/door/blast/shutters{ - dir = 4 + dir = 4; + id = "konyang_police_garage" }, /turf/simulated/floor/sidewalk/flat, /area/point_verdant/interior/police) @@ -17394,6 +17408,10 @@ /obj/machinery/light{ dir = 1 }, +/obj/effect/ghostspawpoint{ + name = "igs - konyang_army"; + identifier = "konyang_army" + }, /turf/simulated/floor/wood, /area/point_verdant/interior/offices/kaf) "Za" = ( diff --git a/maps/away/away_site/konyang/point_verdant/point_verdant_ghostroles.dm b/maps/away/away_site/konyang/point_verdant/point_verdant_ghostroles.dm index 436361428a5..7f647e4a3bb 100644 --- a/maps/away/away_site/konyang/point_verdant/point_verdant_ghostroles.dm +++ b/maps/away/away_site/konyang/point_verdant/point_verdant_ghostroles.dm @@ -301,3 +301,195 @@ /datum/outfit/admin/konyang_gwok/get_id_access() return list(ACCESS_KONYANG_VENDORS) + +//Konyang Army Personnel - basically a pseudo-ert for if shit's going down on Point Verdant +/datum/ghostspawner/human/konyang_army + short_name = "konyang_army" + name = "Konyang Army Soldier" + desc = "You are a soldier of the Konyang army, deployed to deal with a crisis in Point Verdant." + max_count = 3 + tags = list("External") + spawnpoints = list("konyang_army") + outfit = /datum/outfit/admin/konyang_army_response + possible_species = list(SPECIES_HUMAN, 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 + assigned_role = "Konyang Army Soldier" + special_role = "Konyang Army Soldier" + mob_name_prefix = "Pfc. " + respawn_flag = null + enabled = FALSE + +/datum/outfit/admin/konyang_army_response + name = "Konyang Army Responder" + uniform = /obj/item/clothing/under/rank/konyang + shoes = /obj/item/clothing/shoes/jackboots + head = /obj/item/clothing/head/konyang/army + l_pocket = /obj/item/storage/wallet/random + l_ear = /obj/item/device/radio/headset/distress + belt = /obj/item/storage/belt/military + back = /obj/item/storage/backpack/rucksack/tan + id = /obj/item/card/id + gloves = /obj/item/clothing/gloves/swat/ert + accessory = /obj/item/clothing/accessory/holster/hip + backpack_contents = list( + /obj/item/storage/box/survival = 1, + /obj/item/handcuffs/ziptie = 2, + /obj/item/melee/energy/sword/knife/sol = 1 + ) + + +/datum/outfit/admin/konyang_army_response/get_id_access() + return list(ACCESS_DISTRESS, ACCESS_KONYANG_POLICE, ACCESS_KONYANG_CORPORATE, ACCESS_KONYANG_POLICE, ACCESS_EXTERNAL_AIRLOCKS) + +/datum/ghostspawner/human/konyang_army/medic + name = "Konyang Army Medic" + short_name = "konyang_army_medic" + desc = "You are a medical specialist of the Konyang army, deployed to deal with a crisis in Point Verdant." + max_count = 1 + outfit = /datum/outfit/admin/konyang_army_response/medic + mob_name_prefix = "Spc. " + assigned_role = "Konyang Army Medic" + special_role = "Konyang Army Medic" + +/datum/outfit/admin/konyang_army_response/medic + back = /obj/item/storage/backpack/satchel/med + gloves = /obj/item/clothing/gloves/latex/nitrile + glasses = /obj/item/clothing/glasses/hud/health + belt = /obj/item/storage/belt/medical/first_responder/combat/full + backpack_contents = list( + /obj/item/storage/box/survival = 1, + /obj/item/storage/firstaid/adv = 1, + /obj/item/storage/firstaid/combat = 1, + /obj/item/handcuffs/ziptie = 1, + /obj/item/device/healthanalyzer = 1, + /obj/item/stack/medical/advanced/bruise_pack = 1, + /obj/item/stack/medical/advanced/ointment = 1, + /obj/item/stack/nanopaste = 1, + ) + +/datum/ghostspawner/human/konyang_army/mechpilot + name = "Konyang Army Exosuit Pilot" + short_name = "konyang_army_mechpilot" + desc = "You are an exosuit specialist of the Konyang army's Mechatronic Corps, deployed to deal with a crisis in Point Verdant." + max_count = 1 + outfit = /datum/outfit/admin/konyang_army_response/mechpilot + mob_name_prefix = "Spc. " + assigned_role = "Konyang Army Exosuit Pilot" + special_role = "Konyang Army Exosuit Pilot" + +/datum/outfit/admin/konyang_army_response/mechpilot + uniform = /obj/item/clothing/under/rank/konyang/mech_pilot + head = /obj/item/clothing/head/helmet/konyang/pilot + gloves = /obj/item/clothing/gloves/yellow + belt = /obj/item/storage/belt/utility/very_full + glasses = /obj/item/clothing/glasses/welding/superior + +/datum/ghostspawner/human/konyang_army/commander + name = "Konyang Army Officer" + short_name = "konyang_army_lead" + spawnpoints = list("konyang_army_lead") + desc = "You are an officer in command of a Konyang army unit deployed to deal with a crisis in Point Verdant." + max_count = 1 + outfit = /datum/outfit/admin/konyang_army_response/officer + mob_name_prefix = "Lt. " + assigned_role = "Konyang Army Officer" + special_role = "Konyang Army Officer" + +/datum/outfit/admin/konyang_army_response/officer + uniform = /obj/item/clothing/under/rank/konyang/officer + head = /obj/item/clothing/head/konyang/army/officer + +//Corporate 'Solutions Department' - basically another pseudo-ert for admins to spawn in the event of silliness on PV +/datum/ghostspawner/human/corporate_solutions + name = "Zeng-Hu Corporate Solutions Agent" + short_name = "pv_corporate_solutions_zeng" + spawnpoints = list("pv_corporate_solutions") + desc = "You are a corporate security agent working for Zeng-Hu Pharmaceuticals, responding to a crisis in Point Verdant in cooperation with Einstein Engines personnel." + max_count = 2 + outfit = /datum/outfit/admin/corporate_solutions + possible_species = list(SPECIES_HUMAN) + allow_appearance_change = APPEARANCE_PLASTICSURGERY + assigned_role = "Solutions Agent (Zeng)" + special_role = "Solutions Agent (Zeng)" + respawn_flag = null + enabled = FALSE + +/datum/outfit/admin/corporate_solutions + uniform = /obj/item/clothing/under/rank/security/zeng + shoes = /obj/item/clothing/shoes/combat + belt = /obj/item/storage/belt/military + gloves = /obj/item/clothing/gloves/swat/ert + glasses = /obj/item/clothing/glasses + l_ear = /obj/item/device/radio/headset/ert + id = /obj/item/card/id/zeng_hu + belt_contents = list( + /obj/item/handcuffs = 2, + /obj/item/shield/riot/tact = 1 + ) + back = null + +/datum/outfit/admin/corporate_solutions/get_id_access() + return list(ACCESS_CENT_SPECOPS, ACCESS_KONYANG_CORPORATE, ACCESS_EXTERNAL_AIRLOCKS) + +/datum/ghostspawner/human/corporate_solutions/einstein + name = "Einstein Corporate Solutions Agent" + desc = "You are a corporate security agent working for Einstein, responding to a crisis in Point Verdant in cooperation with Zeng-Hu Pharmaceuticals personnel." + outfit = /datum/outfit/admin/corporate_solutions/einstein + assigned_role = "Solutions Agent (Einstein)" + special_role = "Solutions Agent (Einstein)" + +/datum/outfit/admin/corporate_solutions/einstein + uniform = /obj/item/clothing/under/rank/security/einstein + id = /obj/item/card/id/einstein + +/datum/ghostspawner/human/corporate_solutions/medic + name = "Zeng-Hu Corporate Solutions Medic" + short_name = "pv_corporate_solutions_med" + desc = "You are a corporate medical agent working for Zeng-Hu Pharmaceuticals, responding to a crisis in Point Verdant in cooperation with Einstein Engines personnel." + max_count = 1 + outfit = /datum/outfit/admin/corporate_solutions/medic + +/datum/outfit/admin/corporate_solutions/medic + uniform = /obj/item/clothing/under/rank/medical/first_responder/zeng + gloves = /obj/item/clothing/gloves/latex/nitrile + glasses = /obj/item/clothing/glasses/hud/health + belt = /obj/item/storage/belt/medical/first_responder/combat + backpack = /obj/item/storage/backpack/satchel/zeng + belt_contents = list( + /obj/item/reagent_containers/hypospray/cmo = 1, + /obj/item/reagent_containers/glass/bottle/inaprovaline = 1, + /obj/item/reagent_containers/glass/bottle/antitoxin = 1, + /obj/item/reagent_containers/glass/bottle/dexalin_plus = 1, + /obj/item/reagent_containers/glass/bottle/bicaridine = 1, + /obj/item/reagent_containers/glass/bottle/thetamycin = 1, + /obj/item/reagent_containers/glass/bottle/dermaline = 1, + /obj/item/reagent_containers/glass/bottle/perconol = 1 + ) + + backpack_contents = list( + /obj/item/storage/firstaid/combat = 1, + /obj/item/storage/firstaid/adv = 1, + /obj/item/handcuffs = 1, + /obj/item/device/healthanalyzer = 1, + /obj/item/stack/medical/advanced/bruise_pack = 1, + /obj/item/stack/medical/advanced/ointment = 1 + ) + +/datum/ghostspawner/human/corporate_solutions/engineer + name = "Einstein Corporate Solutions Engineer" + short_name = "pv_corporate_solutions_eng" + desc = "You are a corporate engineering agent working for Einstein Engines, responding to a crisis in Point Verdant in cooperation with Zeng-Hu Pharmaceuticals personnel." + max_count = 1 + outfit = /datum/outfit/admin/corporate_solutions/einstein/engineer + +/datum/outfit/admin/corporate_solutions/einstein/engineer + uniform = /obj/item/clothing/under/rank/engineer/einstein + gloves = /obj/item/clothing/gloves/yellow + belt = /obj/item/storage/belt/utility/very_full + accessory = /obj/item/clothing/accessory/storage/brown_vest + back = /obj/item/storage/backpack/industrial + belt_contents = null + accessory_contents = list( + /obj/item/handcuffs = 2, + /obj/item/clothing/glasses/welding/superior = 1 + )