diff --git a/aurorastation.dme b/aurorastation.dme index f9e8cb9cc97..ebefe865150 100644 --- a/aurorastation.dme +++ b/aurorastation.dme @@ -331,6 +331,7 @@ #include "code\datums\outfits\event\outfit_killers.dm" #include "code\datums\outfits\event\outfit_megacorps.dm" #include "code\datums\outfits\event\outfit_nanotrasen.dm" +#include "code\datums\outfits\event\outfit_scc.dm" #include "code\datums\outfits\event\outfit_tfcl.dm" #include "code\datums\radio\frequency.dm" #include "code\datums\radio\signal.dm" @@ -1643,7 +1644,6 @@ #include "code\modules\ghostroles\spawner\atom\syndicate_cyborg.dm" #include "code\modules\ghostroles\spawner\atom\wizard_familiar.dm" #include "code\modules\ghostroles\spawner\atom\wizardapprentice.dm" -#include "code\modules\ghostroles\spawner\human\admin.dm" #include "code\modules\ghostroles\spawner\human\emergencypod.dm" #include "code\modules\ghostroles\spawner\human\human.dm" #include "code\modules\ghostroles\spawner\human\kataphract.dm" @@ -1651,6 +1651,8 @@ #include "code\modules\ghostroles\spawner\human\pra.dm" #include "code\modules\ghostroles\spawner\human\visitor.dm" #include "code\modules\ghostroles\spawner\human\zenghu.dm" +#include "code\modules\ghostroles\spawner\human\admin\admin.dm" +#include "code\modules\ghostroles\spawner\human\admin\ccia.dm" #include "code\modules\ghostroles\spawner\human\responseteams\deathsquad.dm" #include "code\modules\ghostroles\spawner\human\responseteams\iac.dm" #include "code\modules\ghostroles\spawner\human\responseteams\kataphracts.dm" diff --git a/code/datums/outfits/event/outfit_scc.dm b/code/datums/outfits/event/outfit_scc.dm new file mode 100644 index 00000000000..bedea30cc05 --- /dev/null +++ b/code/datums/outfits/event/outfit_scc.dm @@ -0,0 +1,57 @@ +/datum/outfit/admin/scc + name = "SCC Agent" + + uniform = /obj/item/clothing/under/rank/scc + back = /obj/item/storage/backpack/satchel + shoes = /obj/item/clothing/shoes/laceup + l_ear = /obj/item/device/radio/headset/ert/ccia + glasses = /obj/item/clothing/glasses/sunglasses + wrist = /obj/item/modular_computer/handheld/wristbound/preset/advanced/command + + l_pocket = /obj/item/reagent_containers/spray/pepper + r_pocket = /obj/item/device/taperecorder/cciaa + + id = /obj/item/card/id + + backpack_contents = list( + /obj/item/storage/box/engineer = 1 + ) + + id_icon = "centcom" + var/id_access = "SCC Agent" + +/datum/outfit/admin/scc/get_id_access() + return get_all_station_access() | get_centcom_access(id_access) + +/datum/outfit/admin/scc/executive + name = "SCC Executive" + + uniform = /obj/item/clothing/under/rank/scc/executive + + id_access = "SCC Executive" + +/datum/outfit/admin/scc/bodyguard + name = "SCC Bodyguard" + + head = /obj/item/clothing/head/helmet/merc/scc + uniform = /obj/item/clothing/under/tactical + suit = /obj/item/clothing/suit/armor/carrier/heavy/scc + shoes = /obj/item/clothing/shoes/jackboots + wrist = /obj/item/modular_computer/handheld/wristbound/preset/advanced/security + + l_pocket = /obj/item/shield/energy + r_pocket = /obj/item/device/radio + + accessory = /obj/item/clothing/accessory/holster/armpit + accessory_contents = list(/obj/item/gun/energy/repeater) + + backpack_contents = list( + /obj/item/storage/box/engineer = 1, + /obj/item/reagent_containers/spray/pepper = 1, + /obj/item/melee/baton/loaded = 1, + /obj/item/grenade/chem_grenade/gas = 1, + /obj/item/device/flash = 1, + /obj/item/handcuffs/ziptie = 2 + ) + + id_access = "SCC Bodyguard" \ No newline at end of file diff --git a/code/datums/outfits/outfit.dm b/code/datums/outfits/outfit.dm index 6736c06adc2..d8db3d8dde5 100644 --- a/code/datums/outfits/outfit.dm +++ b/code/datums/outfits/outfit.dm @@ -28,6 +28,7 @@ var/back = null // Mutually exclusive with and will override backpack choices below. Use for RIGs, tanks, etc. var/belt = null var/gloves = null + var/wrist = null var/shoes = null var/head = null var/mask = null @@ -209,6 +210,8 @@ equip_item(H, path, slot_gloves) if(gloves && !got_gloves) equip_item(H, gloves, slot_gloves) + if(wrist) + equip_item(H, wrist, slot_wrists) var/got_shoes = FALSE if(length(species_shoes)) var/path = species_shoes[H.species.name] @@ -360,6 +363,8 @@ H.shoes.add_fingerprint(H, 1) if(H.gloves) H.gloves.add_fingerprint(H, 1) + if(H.wrists) + H.wrists.add_fingerprint(H, 1) if(H.l_ear) H.l_ear.add_fingerprint(H, 1) if(H.r_ear) diff --git a/code/datums/underwear/bottom.dm b/code/datums/underwear/bottom.dm index 91e1585efbf..4972834b3ae 100644 --- a/code/datums/underwear/bottom.dm +++ b/code/datums/underwear/bottom.dm @@ -70,6 +70,10 @@ name = "Shorts, Expedition" icon_state = "shorts_expedition" +/datum/category_item/underwear/bottom/shorts_scc + name = "Shorts, SCC" + icon_state = "shorts_scc" + /datum/category_item/underwear/bottom/shorts_fleet name = "Shorts, Fleet" icon_state = "shorts_fleet" diff --git a/code/datums/underwear/undershirt.dm b/code/datums/underwear/undershirt.dm index d6cf7e103b1..cf0b401eaf8 100644 --- a/code/datums/underwear/undershirt.dm +++ b/code/datums/underwear/undershirt.dm @@ -194,6 +194,14 @@ name = "Shirt, Meat" icon_state = "shirt_meat" +/datum/category_item/underwear/undershirt/shirt_scc + name = "Shirt, SCC" + icon_state = "shirt_scc" + +/datum/category_item/underwear/undershirt/shirt_scc_fem + name = "Shirt, SCC feminine" + icon_state = "shirt_scc_fem" + /datum/category_item/underwear/undershirt/shirt_nt name = "Shirt, NT" icon_state = "shirt_nano" diff --git a/code/game/jobs/access.dm b/code/game/jobs/access.dm index 6f233017497..22c1279793f 100644 --- a/code/game/jobs/access.dm +++ b/code/game/jobs/access.dm @@ -42,6 +42,8 @@ /proc/get_centcom_access(job) switch(job) + if("SCC Agent", "SCC Executive", "SCC Bodyguard") + return list(access_cent_general, access_cent_captain, access_cent_living) if("CCIA Agent") return list(access_cent_general, access_cent_captain, access_cent_living) if("Emergency Response Team") diff --git a/code/game/objects/effects/projectile/projectile_impact.dm b/code/game/objects/effects/projectile/projectile_impact.dm index 84d7c03183d..f4b925f6def 100644 --- a/code/game/objects/effects/projectile/projectile_impact.dm +++ b/code/game/objects/effects/projectile/projectile_impact.dm @@ -7,8 +7,11 @@ icon_state = "impact_laser" light_color = LIGHT_COLOR_RED +/obj/effect/projectile/impact/laser/scc + icon_state = "impact_scc" + light_color = COLOR_INDIGO + /obj/effect/projectile/impact/laser/blue - name = "laser impact" icon_state = "impact_blue" light_color = LIGHT_COLOR_BLUE diff --git a/code/game/objects/effects/projectile/projectile_muzzle.dm b/code/game/objects/effects/projectile/projectile_muzzle.dm index 48409e77d21..3be5873bb8a 100644 --- a/code/game/objects/effects/projectile/projectile_muzzle.dm +++ b/code/game/objects/effects/projectile/projectile_muzzle.dm @@ -6,6 +6,10 @@ icon_state = "muzzle_laser" light_color = LIGHT_COLOR_RED +/obj/effect/projectile/muzzle/laser/scc + icon_state = "muzzle_scc" + light_color = COLOR_INDIGO + /obj/effect/projectile/muzzle/laser/blue icon_state = "muzzle_blue" light_color = LIGHT_COLOR_BLUE diff --git a/code/game/objects/effects/projectile/projectile_tracer.dm b/code/game/objects/effects/projectile/projectile_tracer.dm index 9c7246cdff5..46e29638bc8 100644 --- a/code/game/objects/effects/projectile/projectile_tracer.dm +++ b/code/game/objects/effects/projectile/projectile_tracer.dm @@ -19,6 +19,10 @@ icon_state = "beam" light_color = LIGHT_COLOR_RED +/obj/effect/projectile/tracer/laser/scc + icon_state = "beam_scc" + light_color = COLOR_INDIGO + /obj/effect/projectile/tracer/laser/blue icon_state = "beam_blue" diff --git a/code/game/objects/items/weapons/storage/toolbox.dm b/code/game/objects/items/weapons/storage/toolbox.dm index d7446f4d364..10aa4a22ba6 100644 --- a/code/game/objects/items/weapons/storage/toolbox.dm +++ b/code/game/objects/items/weapons/storage/toolbox.dm @@ -232,3 +232,13 @@ /obj/item/storage/toolbox/lunchbox/schlorrgo/filled filled = TRUE + +/obj/item/storage/toolbox/lunchbox/scc + name = "Stellar Corporate Conglomerate lunchbox" + desc = "A little lunchbox. This one is branded with the Stellar Corporate Conglomerate logo." + desc_fluff = "The Stellar Corporate Conglomerate, also known as Chainlink, is a joint alliance between the NanoTrasen Corporation, Hephaestus Industries, Idris Incorporated, Zeng-Hu Pharmaceuticals and Zavodskoi Interstellar to exercise an undisputed economic dominance over the Orion Spur." + icon_state = "lunchbox_scc" + item_state = "lunchbox_scc" + +/obj/item/storage/toolbox/lunchbox/scc/filled + filled = TRUE \ No newline at end of file diff --git a/code/game/objects/structures/banner.dm b/code/game/objects/structures/banner.dm index caffef3fcfc..5b7b5861a6d 100644 --- a/code/game/objects/structures/banner.dm +++ b/code/game/objects/structures/banner.dm @@ -121,4 +121,11 @@ name = "new gibson banner" desc = "A banner depicting the flag of New Gibson." icon_state = "newgibson_down" - icon_up = "newgibson_up" \ No newline at end of file + icon_up = "newgibson_up" + +/obj/structure/banner/scc + name = "Stellar Corporate Conglomerate banner" + desc = "A deep blue banner adorned with the logo of the Stellar Corporate Conglomerate." + desc_fluff = "The Stellar Corporate Conglomerate, also known as Chainlink, is a joint alliance between the NanoTrasen Corporation, Hephaestus Industries, Idris Incorporated, Zeng-Hu Pharmaceuticals and Zavodskoi Interstellar to exercise an undisputed economic dominance over the Orion Spur." + icon_state = "scc_banner_down" + icon_up = "scc_banner_up" \ No newline at end of file diff --git a/code/game/objects/structures/signs.dm b/code/game/objects/structures/signs.dm index b0fbee3fd96..d6843a059d3 100644 --- a/code/game/objects/structures/signs.dm +++ b/code/game/objects/structures/signs.dm @@ -778,6 +778,28 @@ name = "Large Republic of Biesel flag" flag_size = 1 +/obj/structure/sign/flag/scc + name = "Stellar Corporate Conglomerate flag" + desc = "The colours and logo of the Stellar Corporate Conglomerate." + desc_fluff = "The Stellar Corporate Conglomerate, also known as Chainlink, is a joint alliance between the NanoTrasen Corporation, Hephaestus Industries, Idris Incorporated, Zeng-Hu Pharmaceuticals and Zavodskoi Interstellar to exercise an undisputed economic dominance over the Orion Spur." + icon_state = "scc" + +/obj/structure/sign/flag/scc/left + icon_state = "scc_l" + +/obj/structure/sign/flag/scc/right + icon_state = "scc_r" + +/obj/item/flag/scc + name = "Stellar Corporate Conglomerate flag" + desc = "The flag representing the Stellar Corporate Conglomerate." + desc_fluff = "The Stellar Corporate Conglomerate, also known as Chainlink, is a joint alliance between the NanoTrasen Corporation, Hephaestus Industries, Idris Incorporated, Zeng-Hu Pharmaceuticals and Zavodskoi Interstellar to exercise an undisputed economic dominance over the Orion Spur." + flag_path = "scc" + +/obj/item/flag/scc/l + name = "Large Stellar Corporate Conglomerate flag" + flag_size = 1 + /obj/item/flag/afterattack(var/atom/A, var/mob/user, var/adjacent, var/clickparams) if (!adjacent) return @@ -824,10 +846,14 @@ P2.pixel_y = 32 P2.name = name P2.desc = desc + P2.desc_info = desc_info + P2.desc_fluff = desc_fluff else P.icon_state = "[flag_path]" P.name = name P.desc = desc + P.desc_info = desc_info + P.desc_fluff = desc_fluff qdel(src) diff --git a/code/game/turfs/flooring/flooring_decals.dm b/code/game/turfs/flooring/flooring_decals.dm index 2c27b649634..22ebf9cb461 100644 --- a/code/game/turfs/flooring/flooring_decals.dm +++ b/code/game/turfs/flooring/flooring_decals.dm @@ -26,7 +26,7 @@ qdel(src) -/obj/effect/floor_decal/Initialize(mapload, var/newdir, var/newcolour, bypass = FALSE) +/obj/effect/floor_decal/Initialize(mapload, var/newdir, var/newcolour, bypass = FALSE, var/set_icon_state) if (bypass && !mapload) return ..(mapload) @@ -39,6 +39,9 @@ if (supplied_dir) set_dir(supplied_dir) + if(set_icon_state) + icon_state = set_icon_state + ..() return INITIALIZE_HINT_LATELOAD @@ -618,4 +621,32 @@ icon_state = "white_c2" /obj/effect/floor_decal/sign/srg - icon_state = "white_srg" \ No newline at end of file + icon_state = "white_srg" + +// the big SCC logo +/obj/effect/floor_decal/scc_full + icon = 'icons/turf/flooring/scc_decal_preview.dmi' + icon_state = "scc_decal_preview" + + var/list/decals = list( + "0,0", "1,0", "2,0", "3,0", "4,0", + "0,1", "1,1", "2,1", "3,1", "4,1", + "0,2", "1,2", "2,2", "3,2","4,2", + "0,3", "2,3", "4,3" + ) + +/obj/effect/floor_decal/scc_full/Initialize() + ..() + for(var/coordinate in decals) + var/list/split_coordinate = splittext(coordinate, ",") + var/turf/decal_turf = loc + for(var/i = 1 to text2num(split_coordinate[1])) + decal_turf = get_step(decal_turf, EAST) + for(var/i = 1 to text2num(split_coordinate[2])) + decal_turf = get_step(decal_turf, NORTH) + new /obj/effect/floor_decal/scc(decal_turf, null, null, FALSE, coordinate) + return INITIALIZE_HINT_QDEL + +/obj/effect/floor_decal/scc + icon = 'icons/turf/flooring/scc_decals.dmi' + icon_state = "0,0" \ No newline at end of file diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm index f27e7c54be4..633e69227a0 100644 --- a/code/modules/admin/verbs/debug.dm +++ b/code/modules/admin/verbs/debug.dm @@ -315,6 +315,7 @@ outfit_catagories["Kataphracts"] = typesof(/datum/outfit/admin/ert/kataphract) outfit_catagories["IAC"] = typesof(/datum/outfit/admin/ert/iac) if("Admin") + outfit_catagories["Stellar Corporate Conglomerate"] = typesof(/datum/outfit/admin/scc) outfit_catagories["NanoTrasen"] = typesof(/datum/outfit/admin/nt) outfit_catagories["Antagonist"] = typesof(/datum/outfit/admin/syndicate) outfit_catagories["Event"] = typesof(/datum/outfit/admin/event) diff --git a/code/modules/client/preference_setup/loadout/loadout_accessories.dm b/code/modules/client/preference_setup/loadout/loadout_accessories.dm index 8fd3687e8e2..68ccd4c22df 100644 --- a/code/modules/client/preference_setup/loadout/loadout_accessories.dm +++ b/code/modules/client/preference_setup/loadout/loadout_accessories.dm @@ -32,6 +32,7 @@ /datum/gear/accessory/armband/New() ..() var/armbands = list() + armbands["Stellar Corporate Conglomerate armband"] = /obj/item/clothing/accessory/armband/scc armbands["red armband"] = /obj/item/clothing/accessory/armband armbands["security armband"] = /obj/item/clothing/accessory/armband/sec armbands["cargo armband"] = /obj/item/clothing/accessory/armband/cargo @@ -266,6 +267,11 @@ path = /obj/item/clothing/accessory/sleevepatch flags = GEAR_HAS_NAME_SELECTION | GEAR_HAS_DESC_SELECTION | GEAR_HAS_COLOR_SELECTION +/datum/gear/accessory/scc_patch + display_name = "Stellar Corporate Conglomerate sleeve patch" + path = /obj/item/clothing/accessory/sleevepatch/scc + flags = 0 + /datum/gear/accessory/whalebone display_name = "europan bone charm" path = /obj/item/clothing/accessory/whalebone diff --git a/code/modules/client/preference_setup/loadout/loadout_general.dm b/code/modules/client/preference_setup/loadout/loadout_general.dm index cabffa49c21..e6b958f796c 100644 --- a/code/modules/client/preference_setup/loadout/loadout_general.dm +++ b/code/modules/client/preference_setup/loadout/loadout_general.dm @@ -100,6 +100,7 @@ ..() var/banners = list() + banners["banner, Stellar Corporate Conglomerate"] = /obj/item/flag/scc banners["banner, SolGov"] = /obj/item/flag/sol banners["banner, Dominia"] = /obj/item/flag/dominia banners["banner, Elyra"] = /obj/item/flag/elyra @@ -145,6 +146,7 @@ /datum/gear/flag/New() ..() var/flags = list() + flags["flag, Stellar Corporate Conglomerate"] = /obj/item/flag/scc/l flags["flag, SolGov"] = /obj/item/flag/sol/l flags["flag, Dominia"] = /obj/item/flag/dominia/l flags["flag, Elyra"] = /obj/item/flag/elyra/l diff --git a/code/modules/client/preference_setup/loadout/loadout_suit.dm b/code/modules/client/preference_setup/loadout/loadout_suit.dm index 043eff2a9a0..ae67540faab 100644 --- a/code/modules/client/preference_setup/loadout/loadout_suit.dm +++ b/code/modules/client/preference_setup/loadout/loadout_suit.dm @@ -23,8 +23,9 @@ ..() var/jackets = list() jackets["bomber jacket"] = /obj/item/clothing/suit/storage/toggle/bomber - jackets["corporate black jacket"] = /obj/item/clothing/suit/storage/toggle/leather_jacket/nanotrasen - jackets["corporate brown jacket"] = /obj/item/clothing/suit/storage/toggle/brown_jacket/nanotrasen + jackets["Stellar Corporate Conglomerate jacket"] = /obj/item/clothing/suit/storage/toggle/brown_jacket/scc + jackets["NanoTrasen black jacket"] = /obj/item/clothing/suit/storage/toggle/leather_jacket/nanotrasen + jackets["NanoTrasen brown jacket"] = /obj/item/clothing/suit/storage/toggle/brown_jacket/nanotrasen jackets["black jacket"] = /obj/item/clothing/suit/storage/toggle/leather_jacket jackets["brown jacket"] = /obj/item/clothing/suit/storage/toggle/brown_jacket jackets["biker jacket"] = /obj/item/clothing/suit/storage/toggle/leather_jacket/biker diff --git a/code/modules/client/preference_setup/loadout/loadout_uniform.dm b/code/modules/client/preference_setup/loadout/loadout_uniform.dm index 297ac7a5aa7..b9e73c44c6a 100644 --- a/code/modules/client/preference_setup/loadout/loadout_uniform.dm +++ b/code/modules/client/preference_setup/loadout/loadout_uniform.dm @@ -176,6 +176,7 @@ pants["athletic shorts, green"] = /obj/item/clothing/under/shorts/green pants["athletic shorts, black"] = /obj/item/clothing/under/shorts/black pants["athletic shorts, grey"] = /obj/item/clothing/under/shorts/grey + pants["Stellar Corporate Conglomerate shorts"] = /obj/item/clothing/under/shorts/scc pants["jean shorts"] = /obj/item/clothing/under/shorts/jeans pants["jean short shorts"] = /obj/item/clothing/under/shorts/jeans/female pants["classic jeans shorts"] = /obj/item/clothing/under/shorts/jeans/classic diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm index cd69b9535d6..04d73a3dcee 100644 --- a/code/modules/clothing/clothing.dm +++ b/code/modules/clothing/clothing.dm @@ -883,7 +883,9 @@ H = src.loc var/icon/under_icon - if(icon_override) + if(contained_sprite) + under_icon = icon + else if(icon_override) under_icon = icon_override else if(H && sprite_sheets && sprite_sheets[H.species.get_bodytype()]) under_icon = sprite_sheets[H.species.get_bodytype()] @@ -893,7 +895,7 @@ under_icon = INV_W_UNIFORM_DEF_ICON // The _s is because the icon update procs append it. - if(("[worn_state]_d_s") in icon_states(under_icon)) + if(("[worn_state]_d[contained_sprite ? "_un" : "_s"]") in icon_states(under_icon)) if(rolled_down != 1) rolled_down = 0 else @@ -906,7 +908,9 @@ H = src.loc var/icon/under_icon - if(icon_override) + if(contained_sprite) + under_icon = icon + else if(icon_override) under_icon = icon_override else if(H && sprite_sheets && sprite_sheets[H.species.get_bodytype(H)]) under_icon = sprite_sheets[H.species.get_bodytype(H)] @@ -916,7 +920,7 @@ under_icon = INV_W_UNIFORM_DEF_ICON // The _s is because the icon update procs append it. - if(("[worn_state]_r_s") in icon_states(under_icon)) + if(("[worn_state]_r[contained_sprite ? "_un" : "_s"]") in icon_states(under_icon)) if(rolled_sleeves != 1) rolled_sleeves = 0 else diff --git a/code/modules/clothing/factions/dominia.dm b/code/modules/clothing/factions/dominia.dm index 9802762074c..9a6d5bb5b08 100644 --- a/code/modules/clothing/factions/dominia.dm +++ b/code/modules/clothing/factions/dominia.dm @@ -111,62 +111,9 @@ icon_state = "dominia_uniform_red" item_state = "dominia_uniform_red" contained_sprite = TRUE + rolled_sleeves = FALSE rolled_down = FALSE - var/has_down_and_sleeves = TRUE - -/obj/item/clothing/under/dominia/rollsuit() - set name = "Roll Down Jumpsuit" - set category = "Object" - set src in usr - - if(use_check_and_message(usr)) - return - if(has_down_and_sleeves == FALSE) - to_chat(usr, SPAN_NOTICE("You cannot roll down the [src]!")) - return - - if((rolled_sleeves == TRUE) && !(rolled_down)) - rolled_sleeves = FALSE - - if(rolled_down) - body_parts_covered = initial(body_parts_covered) - item_state = "[initial(item_state)]" // REMINDER!: Contained Sprites automatically take out the _un after the spritename, somehow. - to_chat(usr, SPAN_NOTICE("You roll up your [src].")) - rolled_down = FALSE - else - body_parts_covered &= LOWER_TORSO|LEGS|FEET - item_state = "[initial(item_state)]_d" - to_chat(usr, SPAN_NOTICE("You roll down your [src].")) - rolled_down = TRUE - update_clothing_icon() - -/obj/item/clothing/under/dominia/rollsleeves() - set name = "Roll Up Sleeves" - set category = "Object" - set src in usr - - if(use_check_and_message(usr)) - return - if(has_down_and_sleeves == FALSE) - to_chat(usr, SPAN_NOTICE("You cannot roll up your [src]'s sleeves!")) - return - - if(rolled_down == TRUE) - to_chat(usr, SPAN_NOTICE("You must roll up your [src] first!")) - return - - if(rolled_sleeves) - body_parts_covered = initial(body_parts_covered) - item_state = "[initial(item_state)]" // REMINDER!: Contained Sprites automatically take out the _un after the spritename, somehow. - to_chat(usr, SPAN_NOTICE("You roll down your [src]'s sleeves.")) - rolled_sleeves = FALSE - else - body_parts_covered &= ~(ARMS|HANDS) - item_state = "[initial(item_state)]_r" - to_chat(usr, SPAN_NOTICE("You roll up your [src]'s sleeves.")) - rolled_sleeves = TRUE - update_clothing_icon() /obj/item/clothing/under/dominia/black icon = 'icons/clothing/under/uniforms/dominia_uniform_black.dmi' diff --git a/code/modules/clothing/head/helmet.dm b/code/modules/clothing/head/helmet.dm index 8c1839931bc..614bbd493e0 100644 --- a/code/modules/clothing/head/helmet.dm +++ b/code/modules/clothing/head/helmet.dm @@ -171,6 +171,12 @@ ) siemens_coefficient = 0.35 +/obj/item/clothing/head/helmet/merc/scc + name = "heavy SCC helmet" + desc = "A blue helmet made from advanced ceramic. If corporate drones had brains, this would be protecting it." + icon_state = "helm_blue" + item_state = "helm_blue" + /obj/item/clothing/head/helmet/swat name = "\improper SWAT helmet" desc = "They're often used by highly trained Swat Members." diff --git a/code/modules/clothing/suits/miscellaneous.dm b/code/modules/clothing/suits/miscellaneous.dm index 6ec996a80e5..10fd18a55a8 100644 --- a/code/modules/clothing/suits/miscellaneous.dm +++ b/code/modules/clothing/suits/miscellaneous.dm @@ -291,6 +291,15 @@ desc = "A brown leather coat. A corporate logo is proudly displayed on the back." icon_state = "brown_jacket_nt" +/obj/item/clothing/suit/storage/toggle/brown_jacket/scc + name = "Stellar Corporate Conglomerate jacket" + desc = "A comfortable blue jacket. Tailored upon its back is a large Stellar Corporate Conglomerate logo." + desc_fluff = "The Stellar Corporate Conglomerate, also known as Chainlink, is a joint alliance between the NanoTrasen Corporation, Hephaestus Industries, Idris Incorporated, Zeng-Hu Pharmaceuticals and Zavodskoi Interstellar to excercice an undisputed economic dominance over the Orion Spur." + icon = 'icons/clothing/suits/scc_jacket.dmi' + icon_state = "scc_jacket" + item_state = "scc_jacket" + contained_sprite = TRUE + /obj/item/clothing/suit/storage/toggle/flannel name = "green flannel shirt" desc = "A flannel shirt, for all your space hipster needs." diff --git a/code/modules/clothing/suits/modular_armor.dm b/code/modules/clothing/suits/modular_armor.dm index f5776baab91..87b743cd6c4 100644 --- a/code/modules/clothing/suits/modular_armor.dm +++ b/code/modules/clothing/suits/modular_armor.dm @@ -60,6 +60,14 @@ /obj/item/clothing/accessory/arm_guard/heavy ) +/obj/item/clothing/suit/armor/carrier/heavy/scc + starting_accessories = list( + /obj/item/clothing/accessory/armor_plate/heavy/scc, + /obj/item/clothing/accessory/leg_guard/heavy/scc, + /obj/item/clothing/accessory/arm_guard/heavy/scc, + /obj/item/clothing/accessory/sleevepatch/scc + ) + /obj/item/clothing/suit/armor/carrier/heavy/sec starting_accessories = list( /obj/item/clothing/accessory/armor_plate/heavy/sec, @@ -168,6 +176,13 @@ ) slowdown = 0.5 +/obj/item/clothing/accessory/armor_plate/heavy/scc + name = "heavy SCC armor plate" + desc = "A heavy and nondescript armor plate. You really get the idea they wanted these mooks to be unfeeling." + icon_state = "plate_blue" + item_state = "plate_blue" + slowdown = 0 // the SCC is hacking + /obj/item/clothing/accessory/armor_plate/heavy/sec name = "heavy corporate armor plate" desc = "A heavy and stylish armor plate with blue highlights. That prevents teamkills, right?" diff --git a/code/modules/clothing/under/accessories/accessory.dm b/code/modules/clothing/under/accessories/accessory.dm index 0bbc8eb3130..6c606f447f6 100644 --- a/code/modules/clothing/under/accessories/accessory.dm +++ b/code/modules/clothing/under/accessories/accessory.dm @@ -578,6 +578,13 @@ drop_sound = 'sound/items/drop/gloves.ogg' pickup_sound = 'sound/items/pickup/gloves.ogg' +/obj/item/clothing/accessory/sleevepatch/scc + name = "Stellar Corporate Conglomerate patch" + desc = "An embroidered patch, adorned with the logo of the Stellar Corporate Conglomerate, which can be attached to the shoulder sleeve of clothing." + desc_fluff = "The Stellar Corporate Conglomerate, also known as Chainlink, is a joint alliance between the NanoTrasen Corporation, Hephaestus Industries, Idris Incorporated, Zeng-Hu Pharmaceuticals and Zavodskoi Interstellar to exercise an undisputed economic dominance over the Orion Spur." + icon_state = "scc_patch" + overlay_state = "scc_patch" + /obj/item/clothing/accessory/sleevepatch/zavodskoi name = "\improper Zavodskoi Interstellar sleeve patch" desc = "An embroidered patch which can be attached to the shoulder sleeve of clothing. This one bears the Zavodskoi Interstellar logo." diff --git a/code/modules/clothing/under/accessories/armband.dm b/code/modules/clothing/under/accessories/armband.dm index f8f9976872b..88860ef8c79 100644 --- a/code/modules/clothing/under/accessories/armband.dm +++ b/code/modules/clothing/under/accessories/armband.dm @@ -78,4 +78,10 @@ desc = "An armband tailored to look like the flag of the Republic of Biesel." desc_fluff = "While initially adopted during the early days of the TCFL to account for a sudden increase in volunteers and a lack of uniforms, during the height of the Republic of Biesel's conflicts with the Sol Alliance,\ it has been worn as a symbol of independence and patriotism." - icon_state = "tauceti" \ No newline at end of file + icon_state = "tauceti" + +/obj/item/clothing/accessory/armband/scc + name = "Stellar Corporate Conglomerate armband" + desc = "An armband, tailored with all the colors of the Sellar Corporate Conglomerate." + desc_fluff = "The Stellar Corporate Conglomerate, also known as Chainlink, is a joint alliance between the NanoTrasen Corporation, Hephaestus Industries, Idris Incorporated, Zeng-Hu Pharmaceuticals and Zavodskoi Interstellar to exercise an undisputed economic dominance over the Orion Spur." + icon_state = "scc" \ No newline at end of file diff --git a/code/modules/clothing/under/accessories/armor.dm b/code/modules/clothing/under/accessories/armor.dm index f122803a3d3..00d66a1cd19 100644 --- a/code/modules/clothing/under/accessories/armor.dm +++ b/code/modules/clothing/under/accessories/armor.dm @@ -87,6 +87,11 @@ bomb = ARMOR_BOMB_PADDED ) +/obj/item/clothing/accessory/leg_guard/heavy/scc + name = "heavy SCC leg guards" + icon_state = "legguards_blue" + item_state = "legguards_blue" + /obj/item/clothing/accessory/leg_guard/heavy/sec name = "heavy corporate leg guards" icon_state = "legguards_sec_heavy" @@ -184,6 +189,11 @@ bomb = ARMOR_BOMB_PADDED ) +/obj/item/clothing/accessory/arm_guard/heavy/scc + name = "heavy SCC arm guards" + icon_state = "armguards_blue" + item_state = "armguards_blue" + /obj/item/clothing/accessory/arm_guard/heavy/sec name = "heavy corporate arm guards" icon_state = "armguards_sec_heavy" diff --git a/code/modules/clothing/under/miscellaneous.dm b/code/modules/clothing/under/miscellaneous.dm index 32e52852f2d..09c971ad0d4 100644 --- a/code/modules/clothing/under/miscellaneous.dm +++ b/code/modules/clothing/under/miscellaneous.dm @@ -84,6 +84,26 @@ icon_state = "fib_uniform" worn_state = "fib_uniform" +/obj/item/clothing/under/rank/scc + name = "Stellar Corporate Conglomerate agent uniform" + desc = "A formal blue uniform worn by agents of the Stellar Corporate Conglomerate." + desc_fluff = "The Stellar Corporate Conglomerate, also known as Chainlink, is a joint alliance between the NanoTrasen Corporation, Hephaestus Industries, Idris Incorporated, Zeng-Hu Pharmaceuticals and Zavodskoi Interstellar to exercise an undisputed economic dominance over the Orion Spur." + icon = 'icons/clothing/under/uniforms/scc.dmi' + icon_state = "scc_agent" + item_state = "scc_agent" + worn_state = "scc_agent" + contained_sprite = TRUE + + rolled_down = FALSE + rolled_sleeves = FALSE + +/obj/item/clothing/under/rank/scc/executive + name = "Stellar Corporate Conglomerate executive uniform" + desc = "A stylish purple uniform worn by executive agents of the Stellar Corporate Conglomerate." + icon_state = "scc_executive" + item_state = "scc_executive" + worn_state = "scc_executive" + /obj/item/clothing/under/ert name = "ERT tactical uniform" desc = "A short-sleeved black uniform, paired with grey digital-camo cargo pants. It looks very tactical." diff --git a/code/modules/clothing/under/shorts.dm b/code/modules/clothing/under/shorts.dm index b8c99e74185..ade9a6a4af1 100644 --- a/code/modules/clothing/under/shorts.dm +++ b/code/modules/clothing/under/shorts.dm @@ -29,6 +29,13 @@ icon_state = "greyshorts" item_state = "greyshorts" +/obj/item/clothing/under/shorts/scc + name = "Stellar Corporate Conglomerate shorts" + desc = "Shorts displaying the wearer's pride in their assigned corporate entity." + desc_fluff = "The Stellar Corporate Conglomerate, also known as Chainlink, is a joint alliance between the NanoTrasen Corporation, Hephaestus Industries, Idris Incorporated, Zeng-Hu Pharmaceuticals and Zavodskoi Interstellar to exercise an undisputed economic dominance over the Orion Spur." + icon_state = "sccshorts" + item_state = "sccshorts" + /obj/item/clothing/under/shorts/jeans name = "jeans shorts" desc = "Some jeans! Just in short form!" diff --git a/code/modules/clothing/under/xenos/unathi.dm b/code/modules/clothing/under/xenos/unathi.dm index 504cc121fb6..512f286c48b 100644 --- a/code/modules/clothing/under/xenos/unathi.dm +++ b/code/modules/clothing/under/xenos/unathi.dm @@ -4,11 +4,8 @@ icon = 'icons/obj/unathi_items.dmi' icon_state = "tunic" item_state = "tunic" - var/has_down_and_sleeves = TRUE // does this under uniform have down and sleeve sprites? contained_sprite = TRUE -/obj/item/clothing/under/unathi/Initialize() - ..() rolled_down = FALSE rolled_sleeves = FALSE @@ -17,7 +14,6 @@ desc = "A striking, modern dress typically worn by Moghean women of high birth." icon_state = "jizixi" item_state = "jizixi" - has_down_and_sleeves = FALSE /obj/item/clothing/under/unathi/sashes name = "gy'zao sashes" @@ -25,89 +21,30 @@ desc = "An androgynous set of sashes worn by Unathi when they want to bask under the sun. Not appropriate to wear outside of that." icon_state = "gyzao" item_state = "gyzao" - has_down_and_sleeves = FALSE /obj/item/clothing/under/unathi/mogazali name = "mogazali attire" desc = "A traditional Moghean uniform worn by men of high status whether merchants, priests, or nobility." icon_state = "mogazali" item_state = "mogazali" - has_down_and_sleeves = FALSE /obj/item/clothing/under/unathi/zazali name = "zazali garb" desc = "An old fashioned, extremely striking garb for the Unathi man with pointy shoulders. It's typically worn by those in the warrior caste... Or those with something to prove." icon_state = "zazali" item_state = "zazali" - has_down_and_sleeves = FALSE /obj/item/clothing/under/unathi/huytai name = "huytai outfit" desc = "Typically worn by Unathi women who engage in a trade. Popular with fisherwomen and others." icon_state = "huytai" item_state = "huytai" - has_down_and_sleeves = FALSE /obj/item/clothing/under/unathi/zozo name = "zo'zo top" desc = "A modern blend of Ouerean and Moghean style for the Unathi man on the go. Great for sunbathing." icon_state = "zozo" item_state = "zozo" - has_down_and_sleeves = FALSE - -// Turns out normal rolling was pretty shoddy, so I made my own for 'Nathi - geeves -/obj/item/clothing/under/unathi/rollsuit() - set name = "Roll Down Jumpsuit" - set category = "Object" - set src in usr - - if(use_check_and_message(usr)) - return - if(has_down_and_sleeves == FALSE) - to_chat(usr, SPAN_NOTICE("You cannot roll down the [src]!")) - return - - if((rolled_sleeves == TRUE) && !(rolled_down)) - rolled_sleeves = FALSE - - if(rolled_down) - body_parts_covered = initial(body_parts_covered) - item_state = "[initial(item_state)]" // REMINDER!: Contained Sprites automatically take out the _un after the spritename, somehow. - to_chat(usr, SPAN_NOTICE("You roll up your [src].")) - rolled_down = FALSE - else - body_parts_covered &= LOWER_TORSO|LEGS|FEET - item_state = "[initial(item_state)]_d" - to_chat(usr, SPAN_NOTICE("You roll down your [src].")) - rolled_down = TRUE - update_clothing_icon() - -/obj/item/clothing/under/unathi/rollsleeves() - set name = "Roll Up Sleeves" - set category = "Object" - set src in usr - - if(use_check_and_message(usr)) - return - if(has_down_and_sleeves == FALSE) - to_chat(usr, SPAN_NOTICE("You cannot roll up your [src]'s sleeves!")) - return - - if(rolled_down == TRUE) - to_chat(usr, SPAN_NOTICE("You must roll up your [src] first!")) - return - - if(rolled_sleeves) - body_parts_covered = initial(body_parts_covered) - item_state = "[initial(item_state)]" // REMINDER!: Contained Sprites automatically take out the _un after the spritename, somehow. - to_chat(usr, SPAN_NOTICE("You roll down your [src]'s sleeves.")) - rolled_sleeves = FALSE - else - body_parts_covered &= ~(ARMS|HANDS) - item_state = "[initial(item_state)]_r" - to_chat(usr, SPAN_NOTICE("You roll up your [src]'s sleeves.")) - rolled_sleeves = TRUE - update_clothing_icon() /obj/item/clothing/suit/unathi/mantle/wrapping name = "unathi wrappings" diff --git a/code/modules/ghostroles/spawner/human/admin.dm b/code/modules/ghostroles/spawner/human/admin/admin.dm similarity index 61% rename from code/modules/ghostroles/spawner/human/admin.dm rename to code/modules/ghostroles/spawner/human/admin/admin.dm index 3a38e15338d..b6b2b61f353 100644 --- a/code/modules/ghostroles/spawner/human/admin.dm +++ b/code/modules/ghostroles/spawner/human/admin/admin.dm @@ -6,93 +6,6 @@ user.client.verbs += /client/proc/despawn return ..() -/datum/ghostspawner/human/admin/ert_commander - short_name = "ertcommander" - name = "ERT Commander" - desc = "Command the response team from Central Command" - - landmark_name = "ERTCommander" - req_perms = R_CCIAA - - //Vars related to human mobs - outfit = /datum/outfit/admin/nt/ert_commander - possible_species = list(SPECIES_HUMAN) - allow_appearance_change = APPEARANCE_PLASTICSURGERY - - assigned_role = "Emergency Response Team Commander" - special_role = "ERT Commander" - respawn_flag = null - - mob_name = null - mob_name_pick_message = "Pick a name." - -/datum/ghostspawner/human/admin/legion_commander - short_name = "legionlegate" - name = "TCFL Legate" - desc = "Command the TCFL onboard BLV The Tower, a legion patrolship from where Task Force XIII - Fortune operates from." - - landmark_name = "TCFLLegate" - req_perms = R_CCIAA - - //Vars related to human mobs - outfit = /datum/outfit/admin/tcfl - possible_species = list(SPECIES_HUMAN,SPECIES_TAJARA_MSAI,SPECIES_SKRELL, SPECIES_UNATHI,SPECIES_IPC) - allow_appearance_change = APPEARANCE_PLASTICSURGERY - - assigned_role = "Tau Ceti Foreign Legion Legate" - special_role = "TCFL Legate" - respawn_flag = null - - mob_name = null - mob_name_prefix = "Lgt. " - mob_name_pick_message = "Pick a callsign or last-name." - -/datum/ghostspawner/human/admin/cciaagent - short_name = "cciaagent" - name = "CCIA Agent" - desc = "Board the Aurora, annoy crew with your interviews and get squashed by your own shuttle." - - landmark_name = "CCIAAgent" - req_perms = R_CCIAA - - //Vars related to human mobs - outfit = /datum/outfit/admin/nt/cciaa - possible_species = list(SPECIES_HUMAN,SPECIES_SKRELL) - allow_appearance_change = APPEARANCE_PLASTICSURGERY - - assigned_role = "CCIA Agent" - special_role = "CCIA Agent" - respawn_flag = null - - mob_name = null - mob_name_pick_message = "Pick a name." - - -/datum/ghostspawner/human/admin/cciaescort - short_name = "cciaescort" - name = "CCIA Escort" - desc = "Escort a CCIA Agent to the station, watch them annoy the crew and prevent them from throwing themselves under their own shuttle." - - enabled = FALSE - landmark_name = "CCIAEscort" - req_perms = null - req_perms_edit = R_CCIAA - max_count = 1 - - //Vars related to human mobs - outfit = /datum/outfit/admin/nt/protection_detail - possible_species = list(SPECIES_HUMAN,SPECIES_SKRELL) - allow_appearance_change = APPEARANCE_PLASTICSURGERY - - assigned_role = "Civil Protection Officer" - special_role = "Civil Protection Officer" - respawn_flag = null - - mob_name = null - mob_name_prefix = "Ofc. " - mob_name_pick_message = "Pick a callsign or last-name." - - /datum/ghostspawner/human/admin/checkpointsec short_name = "checkpointsec" name = "Odin Checkpoint Security" @@ -117,15 +30,6 @@ mob_name_prefix = "Spec. " mob_name_pick_message = "Pick a callsign or last-name." -/datum/ghostspawner/human/admin/checkpointsec/prepatory - short_name = "checkpointsec_prepatory" - name = "Aurora Prepatory Wing Security" - desc = "Act as an Odin security officer, guide lost newcomers onto the arrivals shuttle if the need arises." - enabled = TRUE - spawnpoints = list("OdinPrepatory") - req_perms = R_CCIAA - max_count = 3 - /datum/ghostspawner/human/admin/odindoc short_name = "odindoc" name = "Odin Medical Doctor" @@ -256,49 +160,6 @@ mob_name_prefix = "Sent. " mob_name_pick_message = "Pick a callsign or last-name." -/datum/ghostspawner/human/admin/fib - short_name = "fib" - name = "FIB Agent" - desc = "Investigate issues related to crimes under the jurisdiction of the Federal Investigations Bureau." - - landmark_name = "CCIAAgent" - req_perms = R_CCIAA - - outfit = /datum/outfit/admin/nt/fib - possible_species = list(SPECIES_HUMAN) - allow_appearance_change = APPEARANCE_PLASTICSURGERY - - assigned_role = "FIB Agent" - special_role = "FIB Agent" - respawn_flag = null - - mob_name = null - mob_name_prefix = "S/Agt. " - mob_name_pick_message = "Pick a name." - -/datum/ghostspawner/human/admin/fib/escort - short_name = "fibescort" - name = "FIB Escort" - desc = "Protect the agents of the Federal Investigations Bureau while on the field." - - landmark_name = "CCIAEscort" - - outfit = /datum/outfit/admin/nt/fib/guard - - req_perms = null - req_perms_edit = R_CCIAA - max_count = 1 - - assigned_role = "FIB Escort" - special_role = "FIB Escort" - respawn_flag = null - - enabled = FALSE - - mob_name = null - mob_name_prefix = "Agt. " - mob_name_pick_message = "Pick a name." - /client/proc/despawn() set name = "Despawn" set desc = "Your work is done. Leave this realm." diff --git a/code/modules/ghostroles/spawner/human/admin/ccia.dm b/code/modules/ghostroles/spawner/human/admin/ccia.dm new file mode 100644 index 00000000000..e4e832b095f --- /dev/null +++ b/code/modules/ghostroles/spawner/human/admin/ccia.dm @@ -0,0 +1,182 @@ +/* + Agents and their Escorts +*/ + +/datum/ghostspawner/human/admin/corporate + short_name = null + name = "Corporate Entity" + desc = "A corporate entity so dull it doesn't even exist. Thrilling!" + + tags = list("CCIA") + landmark_name = "CCIAAgent" + req_perms = R_CCIAA + + possible_species = list(SPECIES_HUMAN, SPECIES_SKRELL) + allow_appearance_change = APPEARANCE_PLASTICSURGERY + + respawn_flag = null + mob_name = null + +/datum/ghostspawner/human/admin/corporate/ccia_agent + short_name = "cciaagent" + name = "CCIA Agent" + desc = "Board the Aurora, annoy crew with your interviews and get squashed by your own shuttle." + + outfit = /datum/outfit/admin/nt/cciaa + + assigned_role = "CCIA Agent" + special_role = "CCIA Agent" + + mob_name_pick_message = "Pick a name." + + +/datum/ghostspawner/human/admin/corporate/ccia_escort + short_name = "cciaescort" + name = "CCIA Escort" + desc = "Escort a CCIA Agent to the station, watch them annoy the crew and prevent them from throwing themselves under their own shuttle." + + enabled = FALSE + landmark_name = "CCIAEscort" + req_perms = null + req_perms_edit = R_CCIAA + max_count = 1 + + //Vars related to human mobs + outfit = /datum/outfit/admin/nt/protection_detail + + assigned_role = "Civil Protection Officer" + special_role = "Civil Protection Officer" + + mob_name_prefix = "Ofc. " + mob_name_pick_message = "Pick a callsign or last-name." + +/datum/ghostspawner/human/admin/corporate/scc_agent + short_name = "sccagent" + name = "SCC Agent" + desc = "Board the Aurora, annoy crew with your interviews and get squashed by your own shuttle. But this time you're blue." + + outfit = /datum/outfit/admin/scc + + //take this block of code out once CCIA moves over to SCC proper + enabled = FALSE + req_perms_edit = R_ADMIN + + assigned_role = "SCC Agent" + special_role = "SCC Agent" + +/datum/ghostspawner/human/admin/corporate/scc_bodyguard + short_name = "sccbodyguard" + name = "SCC Bodyguard" + desc = "Protect the SCC agent you're assigned to with your life. In fact, protect them if you die as well, if possible." + + landmark_name = "CCIAEscort" + + outfit = /datum/outfit/admin/scc/bodyguard + + enabled = FALSE + req_perms = null + req_perms_edit = R_ADMIN // change this to R_CCIAA when CCIA moves to SCC + max_count = 1 + + assigned_role = "SCC Bodyguard" + special_role = "SCC Bodyguard" + + mob_name_prefix = "Spc. " + mob_name_pick_message = "Pick a name." + +/datum/ghostspawner/human/admin/corporate/fib + short_name = "fib" + name = "FIB Agent" + desc = "Investigate issues related to crimes under the jurisdiction of the Federal Investigations Bureau." + + outfit = /datum/outfit/admin/nt/fib + possible_species = list(SPECIES_HUMAN) + + assigned_role = "FIB Agent" + special_role = "FIB Agent" + + mob_name_prefix = "S/Agt. " + mob_name_pick_message = "Pick a name." + +/datum/ghostspawner/human/admin/corporate/fib/escort + short_name = "fibescort" + name = "FIB Escort" + desc = "Protect the agents of the Federal Investigations Bureau while on the field." + + landmark_name = "CCIAEscort" + + outfit = /datum/outfit/admin/nt/fib/guard + + enabled = FALSE + + req_perms = null + req_perms_edit = R_CCIAA + max_count = 1 + + assigned_role = "FIB Escort" + special_role = "FIB Escort" + + mob_name_prefix = "Agt. " + mob_name_pick_message = "Pick a name." + +/* + ERT and Similar Commanders +*/ + +/datum/ghostspawner/human/admin/ert_commander + short_name = "ertcommander" + name = "ERT Commander" + desc = "Command the response team from Central Command" + + tags = list("CCIA") + landmark_name = "ERTCommander" + req_perms = R_CCIAA + + //Vars related to human mobs + outfit = /datum/outfit/admin/nt/ert_commander + possible_species = list(SPECIES_HUMAN) + allow_appearance_change = APPEARANCE_PLASTICSURGERY + + assigned_role = "Emergency Response Team Commander" + special_role = "ERT Commander" + respawn_flag = null + + mob_name = null + mob_name_pick_message = "Pick a name." + +/datum/ghostspawner/human/admin/legion_commander + short_name = "legionlegate" + name = "TCFL Legate" + desc = "Command the TCFL onboard BLV The Tower, a legion patrolship from where Task Force XIII - Fortune operates from." + + tags = list("CCIA") + landmark_name = "TCFLLegate" + req_perms = R_CCIAA + + //Vars related to human mobs + outfit = /datum/outfit/admin/tcfl + possible_species = list(SPECIES_HUMAN,SPECIES_TAJARA_MSAI,SPECIES_SKRELL, SPECIES_UNATHI,SPECIES_IPC) + allow_appearance_change = APPEARANCE_PLASTICSURGERY + + assigned_role = "Tau Ceti Foreign Legion Legate" + special_role = "TCFL Legate" + respawn_flag = null + + mob_name = null + mob_name_prefix = "Lgt. " + mob_name_pick_message = "Pick a callsign or last-name." + +/* + Misc. Odin Roles +*/ + +/datum/ghostspawner/human/admin/checkpointsec/prepatory + short_name = "checkpointsec_prepatory" + name = "Aurora Prepatory Wing Security" + desc = "Act as an Odin security officer, guide lost newcomers onto the arrivals shuttle if the need arises." + + enabled = TRUE + tags = list("CCIA") + spawnpoints = list("OdinPrepatory") + req_perms = R_CCIAA + max_count = 3 \ No newline at end of file diff --git a/code/modules/projectiles/guns/energy/nuclear.dm b/code/modules/projectiles/guns/energy/nuclear.dm index d493f69f25d..6ed5e710589 100644 --- a/code/modules/projectiles/guns/energy/nuclear.dm +++ b/code/modules/projectiles/guns/energy/nuclear.dm @@ -176,3 +176,28 @@ list(mode_name="incapacitate", projectile_type=/obj/item/projectile/beam/stun, modifystate="hegemony_pistol", fire_sound='sound/weapons/Taser.ogg'), list(mode_name="smite", projectile_type=/obj/item/projectile/beam/pistol/hegemony, modifystate="hegemony_pistol", fire_sound='sound/weapons/laser1.ogg') ) + +/obj/item/gun/energy/repeater + name = "energy repeater" + desc = "A Stellar Corporate Conglomerate created energy repeater, extremely lightweight. It has three settings: Single, Three-Burst, and Full-Auto." + desc_fluff = "The SCC-ER1 was designed to be a reliable yet concealable firearm, capable of defending SCC assets and agents from various attackers." + icon = 'icons/obj/guns/erepeater.dmi' + icon_state = "energysmg100" + item_state = "energysmg100" + modifystate = "energysmg" + has_item_ratio = FALSE + fire_sound = 'sound/weapons/energy_repeater.ogg' + slot_flags = SLOT_BELT|SLOT_HOLSTER + max_shots = 20 + fire_delay = 3 + + offhand_accuracy = 6 // same as firing it in your main hand + + projectile_type = /obj/item/projectile/beam/pistol/scc + origin_tech = list(TECH_COMBAT = 5, TECH_MAGNET = 4) + + firemodes = list( + list(mode_name="single", can_autofire = FALSE, burst = 1), + list(mode_name="three-burst", can_autofire = FALSE, burst = 3, burst_accuracy = list(1,0,0), dispersion = list(0, 10, 15)), + list(mode_name="full-auto", can_autofire = TRUE, burst = 1, burst_accuracy = list(0,-1,-1,-2,-2,-2,-3), dispersion = list(5, 10, 15, 20)) + ) \ No newline at end of file diff --git a/code/modules/projectiles/projectile/beams.dm b/code/modules/projectiles/projectile/beams.dm index fd79c88dc7c..088c56508da 100644 --- a/code/modules/projectiles/projectile/beams.dm +++ b/code/modules/projectiles/projectile/beams.dm @@ -29,6 +29,13 @@ /obj/item/projectile/beam/pistol damage = 25 +/obj/item/projectile/beam/pistol/scc + armor_penetration = 15 + + muzzle_type = /obj/effect/projectile/muzzle/laser/scc + tracer_type = /obj/effect/projectile/tracer/laser/scc + impact_type = /obj/effect/projectile/impact/laser/scc + /obj/item/projectile/beam/pistol/hegemony icon = 'icons/obj/guns/hegemony_pistol.dmi' icon_state = "hegemony_pistol" diff --git a/code/unit_tests/spawner_tests.dm b/code/unit_tests/spawner_tests.dm index c2fe77cfbe3..7a3261e3b79 100644 --- a/code/unit_tests/spawner_tests.dm +++ b/code/unit_tests/spawner_tests.dm @@ -13,6 +13,7 @@ datum/unit_test/template/start_test() var/list/ignore_spawners = list( /datum/ghostspawner/human, /datum/ghostspawner/human/admin, + /datum/ghostspawner/human/admin/corporate, /datum/ghostspawner/simplemob, /datum/ghostspawner/human/ert ) diff --git a/html/changelogs/geeves-scc_gear.yml b/html/changelogs/geeves-scc_gear.yml new file mode 100644 index 00000000000..daf99f00b6b --- /dev/null +++ b/html/changelogs/geeves-scc_gear.yml @@ -0,0 +1,10 @@ +author: Geeves + +delete-after: True + +changes: + - rscadd: "Gave the CCIA a new SCC agent to spawn as. They need an admin to enable the slot, however." + - rscadd: "Added an energy repeater, given to SCC bodyguards." + - rscadd: "Added SCC undershirts and shorts." + - rscadd: "Added SCC jackets, shorts, flags, banners, floor decals, sleeve patches, armbands." + - tweak: "CCIA ghostspawners have been put into a CCIA tab to declutter the admin tab." \ No newline at end of file diff --git a/icons/clothing/suits/scc_jacket.dmi b/icons/clothing/suits/scc_jacket.dmi new file mode 100644 index 00000000000..02927e3670f Binary files /dev/null and b/icons/clothing/suits/scc_jacket.dmi differ diff --git a/icons/clothing/under/uniforms/scc.dmi b/icons/clothing/under/uniforms/scc.dmi new file mode 100644 index 00000000000..e7cf893b521 Binary files /dev/null and b/icons/clothing/under/uniforms/scc.dmi differ diff --git a/icons/effects/projectiles/impact.dmi b/icons/effects/projectiles/impact.dmi index fcb0d3d19da..288d2722d5d 100644 Binary files a/icons/effects/projectiles/impact.dmi and b/icons/effects/projectiles/impact.dmi differ diff --git a/icons/effects/projectiles/muzzle.dmi b/icons/effects/projectiles/muzzle.dmi index 66717e04094..c18a7b4daf7 100644 Binary files a/icons/effects/projectiles/muzzle.dmi and b/icons/effects/projectiles/muzzle.dmi differ diff --git a/icons/effects/projectiles/tracer.dmi b/icons/effects/projectiles/tracer.dmi index 17a7a99b8c0..53ab325ad06 100644 Binary files a/icons/effects/projectiles/tracer.dmi and b/icons/effects/projectiles/tracer.dmi differ diff --git a/icons/mob/ties.dmi b/icons/mob/ties.dmi index b246a3ebd5a..5d80a11149f 100644 Binary files a/icons/mob/ties.dmi and b/icons/mob/ties.dmi differ diff --git a/icons/mob/underwear.dmi b/icons/mob/underwear.dmi index 11913397b30..d84e945bf72 100644 Binary files a/icons/mob/underwear.dmi and b/icons/mob/underwear.dmi differ diff --git a/icons/mob/uniform.dmi b/icons/mob/uniform.dmi index c752860bde6..90c398d9808 100644 Binary files a/icons/mob/uniform.dmi and b/icons/mob/uniform.dmi differ diff --git a/icons/obj/banner.dmi b/icons/obj/banner.dmi index 365d18f37c7..73a90ea01e3 100644 Binary files a/icons/obj/banner.dmi and b/icons/obj/banner.dmi differ diff --git a/icons/obj/clothing/ties.dmi b/icons/obj/clothing/ties.dmi index 0be9c712e13..9f1c8cc46c1 100644 Binary files a/icons/obj/clothing/ties.dmi and b/icons/obj/clothing/ties.dmi differ diff --git a/icons/obj/clothing/uniforms.dmi b/icons/obj/clothing/uniforms.dmi index bd53f8bb6c8..84f671d330a 100644 Binary files a/icons/obj/clothing/uniforms.dmi and b/icons/obj/clothing/uniforms.dmi differ diff --git a/icons/obj/decals.dmi b/icons/obj/decals.dmi index 838448e3308..b37f377e88a 100644 Binary files a/icons/obj/decals.dmi and b/icons/obj/decals.dmi differ diff --git a/icons/obj/guns/erepeater.dmi b/icons/obj/guns/erepeater.dmi new file mode 100644 index 00000000000..e89cdb63e48 Binary files /dev/null and b/icons/obj/guns/erepeater.dmi differ diff --git a/icons/obj/lunchbox.dmi b/icons/obj/lunchbox.dmi index a03e5296dff..d450c97c014 100644 Binary files a/icons/obj/lunchbox.dmi and b/icons/obj/lunchbox.dmi differ diff --git a/icons/turf/flooring/scc_decal_preview.dmi b/icons/turf/flooring/scc_decal_preview.dmi new file mode 100644 index 00000000000..c2c0b6bb451 Binary files /dev/null and b/icons/turf/flooring/scc_decal_preview.dmi differ diff --git a/icons/turf/flooring/scc_decals.dmi b/icons/turf/flooring/scc_decals.dmi new file mode 100644 index 00000000000..82c300a1280 Binary files /dev/null and b/icons/turf/flooring/scc_decals.dmi differ diff --git a/maps/aurora/aurora-2_under-station.dmm b/maps/aurora/aurora-2_under-station.dmm index b82811422d5..889445490be 100644 --- a/maps/aurora/aurora-2_under-station.dmm +++ b/maps/aurora/aurora-2_under-station.dmm @@ -166,6 +166,9 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 6 }, +/obj/structure/sign/flag/scc{ + pixel_y = 32 + }, /turf/simulated/floor/carpet/rubber, /area/engineering/cooling) "pp" = ( diff --git a/maps/aurora/aurora-3_sublevel.dmm b/maps/aurora/aurora-3_sublevel.dmm index aa611b528a6..5b5f5a2145f 100644 --- a/maps/aurora/aurora-3_sublevel.dmm +++ b/maps/aurora/aurora-3_sublevel.dmm @@ -10439,6 +10439,9 @@ /area/bridge/aibunker) "atb" = ( /obj/item/modular_computer/console/preset/engineering, +/obj/structure/sign/flag/scc{ + pixel_y = 32 + }, /turf/simulated/floor/tiled, /area/bridge/aibunker) "atc" = ( @@ -29091,6 +29094,17 @@ /obj/effect/decal/cleanable/dirt, /turf/simulated/floor/airless, /area/mine/unexplored) +"hBn" = ( +/obj/structure/cable/yellow{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/obj/structure/sign/flag/scc{ + pixel_x = -32 + }, +/turf/simulated/floor/plating, +/area/outpost/engineering/power) "hDw" = ( /obj/structure/table/standard, /obj/item/autopsy_scanner, @@ -29636,6 +29650,15 @@ /obj/machinery/door/firedoor, /turf/simulated/floor/plating, /area/maintenance/scisublevel) +"iRI" = ( +/obj/machinery/light{ + dir = 1 + }, +/obj/structure/sign/flag/scc{ + pixel_y = 32 + }, +/turf/unsimulated/floor/asteroid/ash/rocky, +/area/security/penal_colony) "iRV" = ( /obj/item/device/radio/intercom{ dir = 0; @@ -30654,6 +30677,16 @@ /obj/item/deck/tarot, /turf/simulated/floor/wood, /area/medical/patient_wing_library) +"lvt" = ( +/obj/machinery/door/firedoor, +/obj/effect/floor_decal/corner_wide/mauve{ + dir = 6 + }, +/obj/structure/sign/flag/scc{ + pixel_x = 32 + }, +/turf/simulated/floor/tiled/white, +/area/outpost/research/hallway) "lxg" = ( /obj/structure/bed/chair/office/light{ dir = 4 @@ -30720,6 +30753,15 @@ }, /turf/simulated/floor/tiled/white, /area/maintenance/medsublevel_port) +"lOl" = ( +/obj/effect/floor_decal/corner_wide/blue{ + dir = 6 + }, +/obj/structure/sign/flag/scc{ + pixel_y = 32 + }, +/turf/simulated/floor/tiled/airless, +/area/security/penal_colony) "lOI" = ( /obj/structure/cable/cyan{ d1 = 4; @@ -31926,6 +31968,18 @@ /obj/machinery/atmospherics/pipe/manifold/hidden/supply, /turf/simulated/floor/tiled/white, /area/maintenance/medsublevel_port) +"nGh" = ( +/obj/structure/cable{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/structure/lattice/catwalk/indoor/grate, +/obj/structure/sign/flag/scc{ + pixel_y = 32 + }, +/turf/simulated/floor/airless, +/area/security/penal_colony) "nHn" = ( /obj/machinery/atmospherics/pipe/simple/hidden/cyan, /obj/structure/disposalpipe/segment, @@ -32346,6 +32400,17 @@ }, /turf/simulated/floor/tiled, /area/outpost/engineering/hallway) +"oBQ" = ( +/obj/structure/cable/yellow{ + d1 = 2; + d2 = 8; + icon_state = "2-8" + }, +/obj/structure/sign/flag/scc{ + pixel_x = 32 + }, +/turf/simulated/floor/plating, +/area/outpost/engineering/power) "oFa" = ( /obj/machinery/airlock_sensor{ id_tag = "research_sensor"; @@ -35530,6 +35595,12 @@ }, /turf/simulated/floor/plating, /area/outpost/engineering/power) +"vtH" = ( +/obj/structure/sign/flag/scc{ + pixel_y = 32 + }, +/turf/simulated/floor/tiled/airless, +/area/security/penal_colony/warden) "vyW" = ( /obj/machinery/door/firedoor, /obj/structure/cable{ @@ -49699,7 +49770,7 @@ uPd aki cvy cKF -acf +hBn hkV mgM wAi @@ -50727,7 +50798,7 @@ uPd aki cvy cKF -dUz +oBQ tDA wkd uVg @@ -58513,7 +58584,7 @@ aCP oVg fOV aFK -cVG +lvt rSj aIJ aJL @@ -67685,7 +67756,7 @@ aaa aaa aaa jKB -fLn +vtH fLn fLn bSA @@ -68464,7 +68535,7 @@ lCe hiP gkA lCe -tUv +iRI vGh vGh vGh @@ -69492,7 +69563,7 @@ lCe hiP gkA lCe -tUv +iRI vGh vGh vGh @@ -70003,7 +70074,7 @@ ybc xZJ jCg kMM -hiP +nGh gkA lCe vGh @@ -70517,7 +70588,7 @@ ybc xZJ xZJ kMM -pzB +lOl wsT lCe vGh diff --git a/maps/aurora/aurora-4_mainlevel.dmm b/maps/aurora/aurora-4_mainlevel.dmm index 7ba5d04e5f6..05851864669 100644 --- a/maps/aurora/aurora-4_mainlevel.dmm +++ b/maps/aurora/aurora-4_mainlevel.dmm @@ -1032,6 +1032,9 @@ /obj/effect/floor_decal/corner_wide/paleblue{ dir = 6 }, +/obj/structure/sign/flag/scc{ + pixel_x = 32 + }, /turf/simulated/floor/tiled/white, /area/medical/surgerywing) "acs" = ( @@ -1129,6 +1132,11 @@ /obj/effect/floor_decal/corner_wide/paleblue{ dir = 6 }, +/obj/machinery/alarm{ + dir = 8; + pixel_x = 28; + req_one_access = list(24,11,55) + }, /turf/simulated/floor/tiled/white, /area/medical/surgerywing) "acA" = ( @@ -12295,7 +12303,7 @@ /obj/effect/floor_decal/industrial/warning{ dir = 6 }, -/obj/structure/banner, +/obj/structure/banner/scc, /turf/simulated/floor/tiled, /area/bridge) "awP" = ( @@ -12332,7 +12340,7 @@ /obj/effect/floor_decal/industrial/warning{ dir = 10 }, -/obj/structure/banner, +/obj/structure/banner/scc, /turf/simulated/floor/tiled, /area/bridge) "awT" = ( @@ -19982,7 +19990,6 @@ d2 = 2; icon_state = "0-2" }, -/obj/structure/sign/flag/nanotrasen/left, /turf/simulated/floor/plating, /area/bridge) "aIL" = ( @@ -19999,7 +20006,6 @@ d2 = 2; icon_state = "0-2" }, -/obj/structure/sign/flag/nanotrasen/right, /turf/simulated/floor/plating, /area/bridge) "aIM" = ( @@ -20471,10 +20477,10 @@ /turf/simulated/floor/tiled, /area/security/lobby) "aJD" = ( -/obj/structure/banner, /obj/machinery/status_display{ pixel_y = 32 }, +/obj/structure/banner/scc, /turf/simulated/floor/tiled, /area/security/lobby) "aJE" = ( @@ -20981,6 +20987,9 @@ /obj/effect/floor_decal/corner_wide/paleblue{ dir = 10 }, +/obj/structure/sign/flag/scc/left{ + pixel_y = 30 + }, /turf/simulated/floor/tiled, /area/bridge) "aKu" = ( @@ -24994,10 +25003,10 @@ /obj/effect/floor_decal/spline/fancy/wood{ dir = 4 }, -/obj/structure/banner, /obj/structure/window/reinforced{ dir = 4 }, +/obj/structure/banner/scc, /turf/simulated/floor/carpet, /area/bridge/meeting_room) "aRu" = ( @@ -25140,7 +25149,7 @@ d2 = 4; icon_state = "1-4" }, -/obj/structure/banner, +/obj/structure/banner/scc, /turf/simulated/floor/wood, /area/crew_quarters/captain) "aRG" = ( @@ -28472,10 +28481,10 @@ }, /obj/structure/window/reinforced, /obj/effect/floor_decal/spline/fancy/wood, -/obj/structure/banner, /obj/structure/window/reinforced{ dir = 4 }, +/obj/structure/banner/scc, /turf/simulated/floor/carpet, /area/bridge/meeting_room) "aXu" = ( @@ -29685,6 +29694,9 @@ /obj/effect/floor_decal/corner_wide/paleblue{ dir = 6 }, +/obj/structure/sign/flag/scc{ + pixel_x = 32 + }, /turf/simulated/floor/tiled/white, /area/medical/surgerywing) "aZj" = ( @@ -30910,11 +30922,11 @@ /obj/effect/floor_decal/corner/mauve{ dir = 5 }, -/obj/structure/sign/flag/nanotrasen/left{ +/obj/structure/sign/flag/scc/left{ pixel_x = -16; pixel_y = 30 }, -/obj/structure/sign/flag/nanotrasen/right{ +/obj/structure/sign/flag/scc/right{ pixel_x = 16; pixel_y = 30 }, @@ -37921,10 +37933,7 @@ /area/medical/medbay) "boh" = ( /obj/item/device/radio/intercom{ - broadcasting = 0; dir = 1; - frequency = 1459; - listening = 1; name = "Station Intercom (General)"; pixel_y = -24 }, @@ -39603,6 +39612,9 @@ /obj/effect/floor_decal/corner/paleblue{ dir = 5 }, +/obj/structure/sign/flag/scc{ + pixel_y = 32 + }, /turf/simulated/floor/tiled, /area/hallway/primary/central_one) "brE" = ( @@ -39975,6 +39987,9 @@ name = "borerstart" }, /obj/effect/floor_decal/corner/lime/diagonal, +/obj/structure/sign/flag/scc{ + pixel_y = -32 + }, /turf/simulated/floor/tiled/white, /area/medical/main_storage) "bsl" = ( @@ -41047,10 +41062,7 @@ /area/medical/medbay) "buo" = ( /obj/item/device/radio/intercom{ - broadcasting = 0; dir = 1; - frequency = 1459; - listening = 1; name = "Station Intercom (General)"; pixel_y = -24 }, @@ -41377,10 +41389,7 @@ /area/medical/reception) "bvj" = ( /obj/item/device/radio/intercom{ - broadcasting = 0; dir = 1; - frequency = 1459; - listening = 1; name = "Station Intercom (General)"; pixel_y = -24 }, @@ -44852,10 +44861,7 @@ /obj/structure/table/standard, /obj/effect/floor_decal/corner/white/diagonal, /obj/item/device/radio/intercom{ - broadcasting = 0; dir = 1; - frequency = 1459; - listening = 1; name = "Station Intercom (General)"; pixel_y = -24 }, @@ -44960,10 +44966,7 @@ /area/hallway/primary/central_one) "bCL" = ( /obj/item/device/radio/intercom{ - broadcasting = 0; dir = 1; - frequency = 1459; - listening = 1; name = "Station Intercom (General)"; pixel_y = -24 }, @@ -47466,10 +47469,7 @@ "bIC" = ( /obj/structure/table/standard, /obj/item/device/radio/intercom{ - broadcasting = 0; dir = 1; - frequency = 1459; - listening = 1; name = "Station Intercom (General)"; pixel_y = -24 }, @@ -48809,10 +48809,7 @@ /area/maintenance/research_port) "bLY" = ( /obj/item/device/radio/intercom{ - broadcasting = 0; dir = 1; - frequency = 1459; - listening = 1; name = "Station Intercom (General)"; pixel_y = -24 }, @@ -53542,6 +53539,9 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, +/obj/structure/sign/flag/scc{ + pixel_y = 32 + }, /turf/simulated/floor/tiled, /area/hallway/primary/aft) "bXS" = ( @@ -53620,6 +53620,9 @@ /obj/machinery/door/firedoor/multi_tile{ dir = 1 }, +/obj/structure/sign/flag/scc{ + pixel_y = -32 + }, /turf/simulated/floor/tiled, /area/hallway/primary/aft) "bYf" = ( @@ -62318,6 +62321,12 @@ /obj/random/gloves, /turf/simulated/floor/plating, /area/maintenance/research_port) +"imd" = ( +/obj/structure/sign/flag/scc{ + pixel_y = 32 + }, +/turf/simulated/floor/tiled, +/area/hallway/primary/central_one) "ipL" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -66201,6 +66210,20 @@ "qdR" = ( /turf/simulated/wall/r_wall, /area/maintenance/workshop) +"qea" = ( +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/floor_decal/corner_wide/paleblue{ + dir = 10 + }, +/obj/structure/sign/flag/scc/right{ + pixel_y = 30 + }, +/turf/simulated/floor/tiled, +/area/bridge) "qgs" = ( /obj/structure/table/rack, /obj/random/loot, @@ -99288,7 +99311,7 @@ bve bve bve baI -aZs +imd bHm bIg bIZ @@ -115698,7 +115721,7 @@ aDk vCz gGa aIL -aKt +qea aMj aOc aPG diff --git a/maps/aurora/aurora-6_surface.dmm b/maps/aurora/aurora-6_surface.dmm index 0b7d92758de..08d65eaa83d 100644 --- a/maps/aurora/aurora-6_surface.dmm +++ b/maps/aurora/aurora-6_surface.dmm @@ -3134,7 +3134,11 @@ }, /area/mine/explored) "cCJ" = ( -/obj/effect/floor_decal/ss13/l1, +/obj/machinery/light, +/obj/effect/floor_decal/corner/blue{ + dir = 10 + }, +/obj/effect/floor_decal/scc_full, /turf/simulated/floor/tiled, /area/hallway/secondary/entry/fore) "cDq" = ( @@ -3202,6 +3206,9 @@ name = "east bump"; pixel_x = 24 }, +/obj/structure/sign/flag/scc{ + pixel_y = 32 + }, /turf/simulated/floor/tiled, /area/tcommsat/entrance) "cFY" = ( @@ -4717,20 +4724,11 @@ /turf/unsimulated/floor/asteroid/ash, /area/mine/explored) "elY" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 +/obj/structure/sign/flag/scc{ + pixel_y = 32 }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/obj/structure/cable/green{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/effect/floor_decal/ss13/l4, -/turf/simulated/floor/tiled, -/area/hallway/secondary/entry/fore) +/turf/simulated/floor/tiled/dark, +/area/crew_quarters/fitness) "emj" = ( /obj/effect/floor_decal/spline/fancy/wood{ dir = 8 @@ -13216,9 +13214,11 @@ /turf/simulated/floor/plating, /area/bridge/levela) "lOa" = ( -/obj/effect/floor_decal/ss13/l11, -/turf/simulated/floor/tiled, -/area/hallway/secondary/entry/fore) +/obj/structure/sign/flag/scc{ + pixel_y = 32 + }, +/turf/simulated/floor/tiled/freezer, +/area/crew_quarters/toilet) "lON" = ( /obj/machinery/light/small/emergency{ dir = 8 @@ -14504,6 +14504,9 @@ c_tag = "Bridge - Surface Research Airlock"; pixel_x = 22 }, +/obj/structure/sign/flag/scc{ + pixel_y = 32 + }, /turf/simulated/floor/plating, /area/bridge/levela/research_dock) "naj" = ( @@ -14717,10 +14720,6 @@ }, /turf/simulated/floor/tiled, /area/bridge/levela) -"njM" = ( -/obj/effect/floor_decal/ss13/l5, -/turf/simulated/floor/tiled, -/area/hallway/secondary/entry/fore) "nki" = ( /obj/structure/sign/securearea{ desc = "A warning sign which reads 'KEEP CLEAR OF DOCKING AREA'."; @@ -15785,10 +15784,6 @@ }, /turf/simulated/floor/plating, /area/maintenance/solarmaint) -"oet" = ( -/obj/effect/floor_decal/ss13/l3, -/turf/simulated/floor/tiled, -/area/hallway/secondary/entry/fore) "ofd" = ( /turf/simulated/wall/shuttle/unique/escape_pod{ icon_state = "0,1" @@ -17771,17 +17766,6 @@ }, /turf/simulated/floor/tiled, /area/security/checkpoint2) -"pLr" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/effect/floor_decal/ss13/l7, -/obj/structure/cable/green{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/simulated/floor/tiled, -/area/hallway/secondary/entry/fore) "pLs" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 5 @@ -19893,10 +19877,6 @@ }, /turf/simulated/floor/airless, /area/solar/fore) -"rDA" = ( -/obj/effect/floor_decal/ss13/l9, -/turf/simulated/floor/tiled, -/area/hallway/secondary/entry/fore) "rDM" = ( /obj/machinery/embedded_controller/radio/airlock/docking_port{ frequency = 1380; @@ -21144,21 +21124,6 @@ }, /turf/simulated/floor/tiled, /area/hallway/secondary/entry/aft) -"sMB" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/obj/structure/cable/green{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/effect/floor_decal/ss13/l14, -/turf/simulated/floor/tiled, -/area/hallway/secondary/entry/fore) "sMU" = ( /obj/machinery/cryopod, /obj/effect/floor_decal/corner/grey/diagonal, @@ -22635,21 +22600,6 @@ }, /turf/simulated/floor/tiled, /area/hallway/secondary/entry/dock) -"tUM" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/obj/structure/cable/green{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/effect/floor_decal/ss13/l2, -/turf/simulated/floor/tiled, -/area/hallway/secondary/entry/fore) "tUX" = ( /obj/structure/grille, /obj/structure/window/reinforced, @@ -22682,21 +22632,6 @@ }, /turf/simulated/floor/wood, /area/crew_quarters/sleep/bedrooms) -"tXe" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/obj/structure/cable/green{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/effect/floor_decal/ss13/l10, -/turf/simulated/floor/tiled, -/area/hallway/secondary/entry/fore) "tYg" = ( /obj/machinery/atmospherics/unary/vent_pump/high_volume{ dir = 8; @@ -23349,21 +23284,6 @@ /obj/machinery/door/firedoor, /turf/simulated/floor/plating, /area/hallway/secondary/entry/emergency) -"uAA" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/obj/structure/cable/green{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/effect/floor_decal/ss13/l6, -/turf/simulated/floor/tiled, -/area/hallway/secondary/entry/fore) "uAC" = ( /obj/machinery/shield_capacitor{ dir = 4 @@ -23797,7 +23717,6 @@ d2 = 8; icon_state = "4-8" }, -/obj/effect/floor_decal/ss13/l8, /obj/structure/cable/green{ d1 = 1; d2 = 8; @@ -24864,10 +24783,6 @@ }, /turf/simulated/floor/wood, /area/store) -"vSy" = ( -/obj/effect/floor_decal/ss13/l13, -/turf/simulated/floor/tiled, -/area/hallway/secondary/entry/fore) "vTm" = ( /turf/simulated/wall/shuttle/unique/research{ desc = "The largest commercially available sublight engine, with a shuttle built around it and painted in NanoTrasen research division colors. Looks sleek, and fast."; @@ -26033,6 +25948,9 @@ dir = 9 }, /obj/effect/decal/cleanable/dirt, +/obj/structure/sign/flag/scc{ + pixel_y = 32 + }, /turf/simulated/floor/plating, /area/bridge/levela/research_dock) "wSl" = ( @@ -26545,21 +26463,6 @@ }, /turf/simulated/floor/plating, /area/maintenance/telecoms_ladder) -"xqQ" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/obj/structure/cable/green{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/effect/floor_decal/ss13/l12, -/turf/simulated/floor/tiled, -/area/hallway/secondary/entry/fore) "xrt" = ( /obj/structure/closet/secure_closet/personal, /turf/simulated/floor/tiled, @@ -53362,8 +53265,8 @@ cTx oEQ res vHg -cCJ -tUM +oUS +kqa aXy wqg anj @@ -53619,9 +53522,9 @@ pMI qmj twe lkM -oet -elY -nxU +oUS +kqa +cCJ tJP kKw une @@ -53876,8 +53779,8 @@ wMf oRz jYz vHg -njM -uAA +oUS +kqa aXy anj opK @@ -54133,7 +54036,7 @@ fho dEA nBO ooj -pLr +cZM uUH aXy bzh @@ -54390,8 +54293,8 @@ iBN tUq jYz vHg -rDA -tXe +oUS +kqa aCD anj xjq @@ -54647,8 +54550,8 @@ pMI qmj twe hkf -lOa -xqQ +oUS +kqa nxU gXx uDh @@ -54904,8 +54807,8 @@ wIs wIs eWl vHg -vSy -sMB +oUS +kqa aXy hxR anj @@ -57779,7 +57682,7 @@ xpj pTq gqB meV -kjO +lOa kjO kjO vnh @@ -60596,7 +60499,7 @@ rYN rYN rYN wbM -ouv +elY uoC ouv eKv diff --git a/sound/weapons/energy_repeater.ogg b/sound/weapons/energy_repeater.ogg new file mode 100644 index 00000000000..27db94dcc7c Binary files /dev/null and b/sound/weapons/energy_repeater.ogg differ