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 bd0121a395f..3b1f573c05f 100644 Binary files a/icons/obj/item/clothing/department_uniforms/security.dmi and b/icons/obj/item/clothing/department_uniforms/security.dmi differ 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 + )