From 26eb6101737cb38d186b90e027c72920deee5fe9 Mon Sep 17 00:00:00 2001 From: Gandalf Date: Wed, 5 Aug 2020 15:21:25 +0100 Subject: [PATCH] Blueshield [READY] [SEMI-MODULAR] (#127) * Blueshield * MODULAR NEXT * MODULAR NEXT Full modularisation complete. * Update readme.md * Update traitor_bro.dm * Update blueshield.dm --- code/__DEFINES/~skyrat_defines/blueshield.dm | 11 ++++ code/modules/jobs/access.dm | 6 ++- code/modules/jobs/jobs.dm | 8 +-- code/modules/mob/mob.dm | 7 ++- .../master_files/icons/mob/clothing/hands.dmi | Bin 0 -> 304 bytes modular_skyrat/master_files/icons/mob/hud.dmi | Bin 0 -> 251 bytes .../icons/obj/clothing/gloves.dmi | Bin 0 -> 406 bytes modular_skyrat/master_files/icons/readme.md | 11 ++++ .../code/game/area/Space_Station_13_areas.dm | 3 ++ .../game/gamemodes/brother/traitor_bro.dm | 3 ++ .../game/gamemodes/changeling/changeling.dm | 3 ++ .../game/gamemodes/changeling/traitor_chan.dm | 3 ++ .../code/game/gamemodes/cult/cult.dm | 3 ++ .../game/gamemodes/devil/devil_game_mode.dm | 3 ++ .../code/game/gamemodes/monkey/monkey.dm | 3 ++ .../game/gamemodes/revolution/revolution.dm | 3 ++ .../code/game/gamemodes/traitor/traitor.dm | 3 ++ .../code/game/objects/effects/landmarks.dm | 3 ++ .../items/devices/radio/encryptionkey.dm | 5 ++ .../objects/items/devices/radio/headset.dm | 9 ++++ .../code/game/objects/items/melee/misc.dm | 24 +++++++++ .../items/storage/backpacks/blueshield.dm | 23 ++++++++ .../code/game/objects/items/storage/medkit.dm | 12 +++++ .../crates_lockers/closets/secure/security.dm | 24 +++++++++ .../modules/clothing/gloves/miscellaneous.dm | 9 ++++ .../code/modules/clothing/head/jobs.dm | 15 ++++++ .../modules/clothing/spacesuits/plasmamen.dm | 8 +++ .../code/modules/clothing/suits/armor.dm | 9 ++++ .../clothing/under/jobs/Plasmaman/security.dm | 9 ++++ .../modules/clothing/under/jobs/security.dm | 24 +++++++++ .../code/modules/jobs/job_types/blueshield.dm | 50 ++++++++++++++++++ .../modules/blueshield/icons/mob/back.dmi | Bin 0 -> 2413 bytes .../blueshield/icons/mob/clothing/ears.dmi | Bin 0 -> 428 bytes .../modules/blueshield/icons/mob/head.dmi | Bin 0 -> 2527 bytes .../blueshield/icons/mob/head_muzzled.dmi | Bin 0 -> 505 bytes .../mob/inhands/weapons/melee_lefthand.dmi | Bin 0 -> 395 bytes .../mob/inhands/weapons/melee_righthand.dmi | Bin 0 -> 368 bytes .../modules/blueshield/icons/mob/suit.dmi | Bin 0 -> 464 bytes .../blueshield/icons/mob/suit_digi.dmi | Bin 0 -> 464 bytes .../modules/blueshield/icons/mob/uniform.dmi | Bin 0 -> 1869 bytes .../blueshield/icons/mob/uniform_digi.dmi | Bin 0 -> 1337 bytes .../blueshield/icons/obj/clothing/hats.dmi | Bin 0 -> 622 bytes .../blueshield/icons/obj/clothing/suits.dmi | Bin 0 -> 307 bytes .../blueshield/icons/obj/clothing/uniform.dmi | Bin 0 -> 1869 bytes .../modules/blueshield/icons/obj/radio.dmi | Bin 0 -> 748 bytes .../icons/obj/storage/blueshieldpacks.dmi | Bin 0 -> 880 bytes .../modules/blueshield/icons/obj/stunprod.dmi | Bin 0 -> 2509 bytes modular_skyrat/modules/blueshield/readme.md | 33 ++++++++++++ tgstation.dme | 24 +++++++++ 49 files changed, 346 insertions(+), 5 deletions(-) create mode 100644 code/__DEFINES/~skyrat_defines/blueshield.dm create mode 100644 modular_skyrat/master_files/icons/mob/clothing/hands.dmi create mode 100644 modular_skyrat/master_files/icons/mob/hud.dmi create mode 100644 modular_skyrat/master_files/icons/obj/clothing/gloves.dmi create mode 100644 modular_skyrat/master_files/icons/readme.md create mode 100644 modular_skyrat/modules/blueshield/code/game/area/Space_Station_13_areas.dm create mode 100644 modular_skyrat/modules/blueshield/code/game/gamemodes/brother/traitor_bro.dm create mode 100644 modular_skyrat/modules/blueshield/code/game/gamemodes/changeling/changeling.dm create mode 100644 modular_skyrat/modules/blueshield/code/game/gamemodes/changeling/traitor_chan.dm create mode 100644 modular_skyrat/modules/blueshield/code/game/gamemodes/cult/cult.dm create mode 100644 modular_skyrat/modules/blueshield/code/game/gamemodes/devil/devil_game_mode.dm create mode 100644 modular_skyrat/modules/blueshield/code/game/gamemodes/monkey/monkey.dm create mode 100644 modular_skyrat/modules/blueshield/code/game/gamemodes/revolution/revolution.dm create mode 100644 modular_skyrat/modules/blueshield/code/game/gamemodes/traitor/traitor.dm create mode 100644 modular_skyrat/modules/blueshield/code/game/objects/effects/landmarks.dm create mode 100644 modular_skyrat/modules/blueshield/code/game/objects/items/devices/radio/encryptionkey.dm create mode 100644 modular_skyrat/modules/blueshield/code/game/objects/items/devices/radio/headset.dm create mode 100644 modular_skyrat/modules/blueshield/code/game/objects/items/melee/misc.dm create mode 100644 modular_skyrat/modules/blueshield/code/game/objects/items/storage/backpacks/blueshield.dm create mode 100644 modular_skyrat/modules/blueshield/code/game/objects/items/storage/medkit.dm create mode 100644 modular_skyrat/modules/blueshield/code/game/objects/structures/crates_lockers/closets/secure/security.dm create mode 100644 modular_skyrat/modules/blueshield/code/modules/clothing/gloves/miscellaneous.dm create mode 100644 modular_skyrat/modules/blueshield/code/modules/clothing/head/jobs.dm create mode 100644 modular_skyrat/modules/blueshield/code/modules/clothing/spacesuits/plasmamen.dm create mode 100644 modular_skyrat/modules/blueshield/code/modules/clothing/suits/armor.dm create mode 100644 modular_skyrat/modules/blueshield/code/modules/clothing/under/jobs/Plasmaman/security.dm create mode 100644 modular_skyrat/modules/blueshield/code/modules/clothing/under/jobs/security.dm create mode 100644 modular_skyrat/modules/blueshield/code/modules/jobs/job_types/blueshield.dm create mode 100644 modular_skyrat/modules/blueshield/icons/mob/back.dmi create mode 100644 modular_skyrat/modules/blueshield/icons/mob/clothing/ears.dmi create mode 100644 modular_skyrat/modules/blueshield/icons/mob/head.dmi create mode 100644 modular_skyrat/modules/blueshield/icons/mob/head_muzzled.dmi create mode 100644 modular_skyrat/modules/blueshield/icons/mob/inhands/weapons/melee_lefthand.dmi create mode 100644 modular_skyrat/modules/blueshield/icons/mob/inhands/weapons/melee_righthand.dmi create mode 100644 modular_skyrat/modules/blueshield/icons/mob/suit.dmi create mode 100644 modular_skyrat/modules/blueshield/icons/mob/suit_digi.dmi create mode 100644 modular_skyrat/modules/blueshield/icons/mob/uniform.dmi create mode 100644 modular_skyrat/modules/blueshield/icons/mob/uniform_digi.dmi create mode 100644 modular_skyrat/modules/blueshield/icons/obj/clothing/hats.dmi create mode 100644 modular_skyrat/modules/blueshield/icons/obj/clothing/suits.dmi create mode 100644 modular_skyrat/modules/blueshield/icons/obj/clothing/uniform.dmi create mode 100644 modular_skyrat/modules/blueshield/icons/obj/radio.dmi create mode 100644 modular_skyrat/modules/blueshield/icons/obj/storage/blueshieldpacks.dmi create mode 100644 modular_skyrat/modules/blueshield/icons/obj/stunprod.dmi create mode 100644 modular_skyrat/modules/blueshield/readme.md diff --git a/code/__DEFINES/~skyrat_defines/blueshield.dm b/code/__DEFINES/~skyrat_defines/blueshield.dm new file mode 100644 index 00000000000..cf140ea5281 --- /dev/null +++ b/code/__DEFINES/~skyrat_defines/blueshield.dm @@ -0,0 +1,11 @@ +//MODULE BLUESHIELD DEFINES + +//MODULE BLUESHIELD DEFINES access.dm +#define ACCESS_BLUESHIELD 71 +//MODULE END + +//MODULE BLUESHIELD DEFINES jobs.dm +#define BLUESHIELD (1<<15) +#define JOB_DISPLAY_ORDER_BLUESHIELD 34 +//MODULE END + diff --git a/code/modules/jobs/access.dm b/code/modules/jobs/access.dm index 54374ceb497..df01f66b2e5 100644 --- a/code/modules/jobs/access.dm +++ b/code/modules/jobs/access.dm @@ -142,7 +142,11 @@ ACCESS_THEATRE, ACCESS_RESEARCH, ACCESS_MINING, ACCESS_MAILSORTING, ACCESS_WEAPONS, ACCESS_MECH_MINING, ACCESS_MECH_ENGINE, ACCESS_MECH_SCIENCE, ACCESS_MECH_SECURITY, ACCESS_MECH_MEDICAL, ACCESS_VAULT, ACCESS_MINING_STATION, ACCESS_XENOBIOLOGY, ACCESS_CE, ACCESS_HOP, ACCESS_HOS, ACCESS_PHARMACY, ACCESS_RC_ANNOUNCE, - ACCESS_KEYCARD_AUTH, ACCESS_TCOMSAT, ACCESS_GATEWAY, ACCESS_MINERAL_STOREROOM, ACCESS_MINISAT, ACCESS_NETWORK, ACCESS_TOXINS_STORAGE) + ACCESS_KEYCARD_AUTH, ACCESS_TCOMSAT, ACCESS_GATEWAY, ACCESS_MINERAL_STOREROOM, ACCESS_MINISAT, ACCESS_NETWORK, ACCESS_TOXINS_STORAGE, + //SKYRAT EDIT ADDITION - BLUESHIELD + ACCESS_BLUESHIELD + //SKYRAT EDIT ADDITION END + ) /proc/get_all_centcom_access() return list(ACCESS_CENT_GENERAL, ACCESS_CENT_THUNDER, ACCESS_CENT_SPECOPS, ACCESS_CENT_MEDICAL, ACCESS_CENT_LIVING, ACCESS_CENT_STORAGE, ACCESS_CENT_TELEPORTER, ACCESS_CENT_CAPTAIN) diff --git a/code/modules/jobs/jobs.dm b/code/modules/jobs/jobs.dm index faf9212cbab..7f2aead496b 100644 --- a/code/modules/jobs/jobs.dm +++ b/code/modules/jobs/jobs.dm @@ -1,3 +1,4 @@ +//THIS FILE WAS EDITED BY SKYRAT EDIT GLOBAL_LIST_INIT(command_positions, list( "Captain", "Head of Personnel", @@ -49,13 +50,14 @@ GLOBAL_LIST_INIT(service_positions, list( "Prisoner", "Assistant")) - GLOBAL_LIST_INIT(security_positions, list( "Head of Security", "Warden", "Detective", - "Security Officer")) - + "Security Officer", +//SKYRAT EDIT ADDITION BEGIN - BLUESHIELD + "Blueshield")) //Skyrat addition +//SKYRAT EDIT ADDITION END GLOBAL_LIST_INIT(nonhuman_positions, list( "AI", diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index 3217cfe09e3..6dc39b323ec 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -1,3 +1,5 @@ +//THIS FILE WAS EDITED BY SKYRAT EDIT + /** * Delete a mob * @@ -99,7 +101,10 @@ if(HUD_LIST_LIST) hud_list[hud] = list() else - var/image/I = image('icons/mob/hud.dmi', src, "") + //SKYRAT EDIT CHANGE BEGIN - BLUESHIELD + //var/image/I = image('icons/mob/hud.dmi', src, "") - SKYRAT EDIT ORIGINAL + var/image/I = image('icons/mob/hud.dmi', src, "") && image('modular_skyrat/master_files/icons/mob/hud.dmi' , src, "") //SKYRAT EDIT(master file edit in master_files) + //SKYRAT EDIT CHANGE END I.appearance_flags = RESET_COLOR|RESET_TRANSFORM hud_list[hud] = I diff --git a/modular_skyrat/master_files/icons/mob/clothing/hands.dmi b/modular_skyrat/master_files/icons/mob/clothing/hands.dmi new file mode 100644 index 0000000000000000000000000000000000000000..dce6c358f872b305414c0b6aa11ceab6e94dcf43 GIT binary patch literal 304 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0J3?w7mbKU|e{s5m4*8>L**xTFN+SquyyT?RF zn>id+1WGZM1o;IsI6S+N2IOQ{g+!FNq!uR^WfqiV=I1dmRLltuD<~@c{w28JeBxf#M2O0{f=42c4{($mE;#G^AgL4tL0!>xwE zNCp>9?MDxc4Q5$1Xox$@)UdfFckqE|Hph+~40``GfC>{XFexVZxt&_wb7Cp81jp_L r+746r1XyRNEzmlk!|mqHp2f@{`kqbF=1*!n&<+MqS3j3^P6L*@EZ6E26p`a|DR+1 zBX^)UV@Z%-FoVOh8)-mJVO2;(iA!p6a#3bMNoIZ?14G4};IM+C((hk_3qF2*qUEit zb?(gh;0>V$7mXi0(mC&=d6J>1r+0^iaggz4V=sj{k0u?N6rvEUx!6QibGgY@3uR+d zb=S^rW7W+oBsB6)9Gw|9WyWl-L~ZRIzjikCvNL!z$mY7Gd1L@BSMYRk43U_coUlMh ufVa`;Q<;GVqnnS%dz&73+n-(S_V&7KbLh*2~7ayvsiQh literal 0 HcmV?d00001 diff --git a/modular_skyrat/master_files/icons/obj/clothing/gloves.dmi b/modular_skyrat/master_files/icons/obj/clothing/gloves.dmi new file mode 100644 index 0000000000000000000000000000000000000000..07270d8e771d7326faaa8b66531fb13cbeb45b60 GIT binary patch literal 406 zcmV;H0crk;P)@8gSsHA`Ma^vdLR|W7w2flYNgIIz+G>G`(rE&WX@c7lcZ0R;7Rwe)6JSackWQ0U z0J##ZUVw2M5D7v&kuAWOEx-We2*SLD=Ci>G056#&p7YF-aR2}S07*qoM6N<$f&u@T A5C8xG literal 0 HcmV?d00001 diff --git a/modular_skyrat/master_files/icons/readme.md b/modular_skyrat/master_files/icons/readme.md new file mode 100644 index 00000000000..54b2b6cd98d --- /dev/null +++ b/modular_skyrat/master_files/icons/readme.md @@ -0,0 +1,11 @@ +This is the logging file for any master icon and sound files that we have. + +Please check this list before adding your own master file to see if it already exists. If it does exist then please put your icon in it. + +MASTER ICON FILES +- /master_files/icons/mob/hud.dmi +- /master_files/icons/obj/clothing/gloves.dmi +- /master_files/icons/mob/clothing/hands.dmi + +MASTER SOUND FILES +- N/A diff --git a/modular_skyrat/modules/blueshield/code/game/area/Space_Station_13_areas.dm b/modular_skyrat/modules/blueshield/code/game/area/Space_Station_13_areas.dm new file mode 100644 index 00000000000..132cd7aefb7 --- /dev/null +++ b/modular_skyrat/modules/blueshield/code/game/area/Space_Station_13_areas.dm @@ -0,0 +1,3 @@ +/area/blueshield + name = "Blueshield's Office" + icon_state = "bluenew" diff --git a/modular_skyrat/modules/blueshield/code/game/gamemodes/brother/traitor_bro.dm b/modular_skyrat/modules/blueshield/code/game/gamemodes/brother/traitor_bro.dm new file mode 100644 index 00000000000..97370a162ca --- /dev/null +++ b/modular_skyrat/modules/blueshield/code/game/gamemodes/brother/traitor_bro.dm @@ -0,0 +1,3 @@ +/datum/game_mode/traitor/bros/New() + restricted_jobs += "Blueshield" + . = ..() diff --git a/modular_skyrat/modules/blueshield/code/game/gamemodes/changeling/changeling.dm b/modular_skyrat/modules/blueshield/code/game/gamemodes/changeling/changeling.dm new file mode 100644 index 00000000000..d6260f2aed0 --- /dev/null +++ b/modular_skyrat/modules/blueshield/code/game/gamemodes/changeling/changeling.dm @@ -0,0 +1,3 @@ +/datum/game_mode/changeling/New() + protected_jobs += "Blueshield" + . = ..() diff --git a/modular_skyrat/modules/blueshield/code/game/gamemodes/changeling/traitor_chan.dm b/modular_skyrat/modules/blueshield/code/game/gamemodes/changeling/traitor_chan.dm new file mode 100644 index 00000000000..10d281ae744 --- /dev/null +++ b/modular_skyrat/modules/blueshield/code/game/gamemodes/changeling/traitor_chan.dm @@ -0,0 +1,3 @@ +/datum/game_mode/traitor/changeling/New() + protected_jobs += "Blueshield" + . = ..() diff --git a/modular_skyrat/modules/blueshield/code/game/gamemodes/cult/cult.dm b/modular_skyrat/modules/blueshield/code/game/gamemodes/cult/cult.dm new file mode 100644 index 00000000000..218e59f584d --- /dev/null +++ b/modular_skyrat/modules/blueshield/code/game/gamemodes/cult/cult.dm @@ -0,0 +1,3 @@ +/datum/game_mode/cult/New() + protected_jobs += "Blueshield" + . = ..() diff --git a/modular_skyrat/modules/blueshield/code/game/gamemodes/devil/devil_game_mode.dm b/modular_skyrat/modules/blueshield/code/game/gamemodes/devil/devil_game_mode.dm new file mode 100644 index 00000000000..c0db345c8e9 --- /dev/null +++ b/modular_skyrat/modules/blueshield/code/game/gamemodes/devil/devil_game_mode.dm @@ -0,0 +1,3 @@ +/datum/game_mode/devil/New() + protected_jobs += "Blueshield" + . = ..() diff --git a/modular_skyrat/modules/blueshield/code/game/gamemodes/monkey/monkey.dm b/modular_skyrat/modules/blueshield/code/game/gamemodes/monkey/monkey.dm new file mode 100644 index 00000000000..c3cba6a2087 --- /dev/null +++ b/modular_skyrat/modules/blueshield/code/game/gamemodes/monkey/monkey.dm @@ -0,0 +1,3 @@ +/datum/game_mode/monkey/New() + protected_jobs += "Blueshield" + . = ..() diff --git a/modular_skyrat/modules/blueshield/code/game/gamemodes/revolution/revolution.dm b/modular_skyrat/modules/blueshield/code/game/gamemodes/revolution/revolution.dm new file mode 100644 index 00000000000..f76fcdff4df --- /dev/null +++ b/modular_skyrat/modules/blueshield/code/game/gamemodes/revolution/revolution.dm @@ -0,0 +1,3 @@ +/datum/game_mode/revolution/New() + protected_jobs += "Blueshield" + . = ..() diff --git a/modular_skyrat/modules/blueshield/code/game/gamemodes/traitor/traitor.dm b/modular_skyrat/modules/blueshield/code/game/gamemodes/traitor/traitor.dm new file mode 100644 index 00000000000..73f5513eb73 --- /dev/null +++ b/modular_skyrat/modules/blueshield/code/game/gamemodes/traitor/traitor.dm @@ -0,0 +1,3 @@ +/datum/game_mode/traitor/New() + protected_jobs += "Blueshield" + . = ..() diff --git a/modular_skyrat/modules/blueshield/code/game/objects/effects/landmarks.dm b/modular_skyrat/modules/blueshield/code/game/objects/effects/landmarks.dm new file mode 100644 index 00000000000..5506b3f83c5 --- /dev/null +++ b/modular_skyrat/modules/blueshield/code/game/objects/effects/landmarks.dm @@ -0,0 +1,3 @@ +/obj/effect/landmark/start/blueshield + name = "Blueshield" + icon_state = "Security Officer" diff --git a/modular_skyrat/modules/blueshield/code/game/objects/items/devices/radio/encryptionkey.dm b/modular_skyrat/modules/blueshield/code/game/objects/items/devices/radio/encryptionkey.dm new file mode 100644 index 00000000000..f8db528b80c --- /dev/null +++ b/modular_skyrat/modules/blueshield/code/game/objects/items/devices/radio/encryptionkey.dm @@ -0,0 +1,5 @@ +/obj/item/encryptionkey/heads/blueshield + name = "\proper the blueshield's encryption key" + icon = 'modular_skyrat/modules/blueshield/icons/obj/radio.dmi' + icon_state = "bshield_cypherkey" + channels = list(RADIO_CHANNEL_COMMAND = 1, RADIO_CHANNEL_SECURITY = 1) diff --git a/modular_skyrat/modules/blueshield/code/game/objects/items/devices/radio/headset.dm b/modular_skyrat/modules/blueshield/code/game/objects/items/devices/radio/headset.dm new file mode 100644 index 00000000000..c36bb9da738 --- /dev/null +++ b/modular_skyrat/modules/blueshield/code/game/objects/items/devices/radio/headset.dm @@ -0,0 +1,9 @@ +/obj/item/radio/headset/heads/blueshield + name = "\proper the blueshield's headset" + icon = 'modular_skyrat/modules/blueshield/icons/obj/radio.dmi' + worn_icon = 'modular_skyrat/modules/blueshield/icons/mob/clothing/ears.dmi' + icon_state = "bshield_headset" + keyslot = new /obj/item/encryptionkey/heads/blueshield + +/obj/item/radio/headset/heads/blueshield/alt + icon_state = "bshield_headset_alt" diff --git a/modular_skyrat/modules/blueshield/code/game/objects/items/melee/misc.dm b/modular_skyrat/modules/blueshield/code/game/objects/items/melee/misc.dm new file mode 100644 index 00000000000..cc302d7f2a7 --- /dev/null +++ b/modular_skyrat/modules/blueshield/code/game/objects/items/melee/misc.dm @@ -0,0 +1,24 @@ +//blueshield's baton +/obj/item/melee/baton/blueshieldprod + name = "\improper The electrifryer" + desc = "A non-lethal takedown is always the most silent way to eliminate resistance." + icon = 'modular_skyrat/modules/blueshield/icons/obj/stunprod.dmi' + icon_state = "bsprod" + inhand_icon_state = "bsprod" + obj_flags = UNIQUE_RENAME + lefthand_file = 'modular_skyrat/modules/blueshield/icons/mob/inhands/weapons/melee_lefthand.dmi' //pissholder + righthand_file = 'modular_skyrat/modules/blueshield/icons/mob/inhands/weapons/melee_righthand.dmi' //placeholder fuck# + cell_hit_cost = 600 + slot_flags = null //you'll have to put it on a belt or whatever + force = 11 + attack_verb = list("prodded", "struck", "\"non-lethalled\"", "silent takedowned") //le deus ex + apply_stun_delay = 1 SECONDS //Buff intead of stamina + attack_cooldown = 2 SECONDS + w_class = WEIGHT_CLASS_SMALL //small but packs a PUNCH. + preload_cell_type = /obj/item/stock_parts/cell/high/plus + +/obj/item/melee/baton/attack(mob/M, mob/living/carbon/human/user) + if(!HAS_TRAIT(user, TRAIT_MINDSHIELD)) + to_chat(user, "A red light on the baton flashes!") + return TRUE + ..() diff --git a/modular_skyrat/modules/blueshield/code/game/objects/items/storage/backpacks/blueshield.dm b/modular_skyrat/modules/blueshield/code/game/objects/items/storage/backpacks/blueshield.dm new file mode 100644 index 00000000000..b10e20fa323 --- /dev/null +++ b/modular_skyrat/modules/blueshield/code/game/objects/items/storage/backpacks/blueshield.dm @@ -0,0 +1,23 @@ +/obj/item/storage/backpack/blueshield + name = "blueshield backpack" + desc = "A robust backpack issued to Nanotrasen's finest." + icon = 'modular_skyrat/modules/blueshield/icons/obj/storage/blueshieldpacks.dmi' + worn_icon = 'modular_skyrat/modules/blueshield/icons/mob/back.dmi' + icon_state = "blueshieldpack" + inhand_icon_state = "securitypack" + +/obj/item/storage/backpack/satchel/blueshield + name = "blueshield satchel" + desc = "A robust satchel issued to Nanotrasen's finest." + icon = 'modular_skyrat/modules/blueshield/icons/obj/storage/blueshieldpacks.dmi' + worn_icon = 'modular_skyrat/modules/blueshield/icons/mob/back.dmi' + icon_state = "satchel-blueshield" + inhand_icon_state = "satchel-sec" + +/obj/item/storage/backpack/duffel/blueshield + name = "blueshield duffelbag" + desc = "A robust duffelbag issued to Nanotrasen's finest." + icon = 'modular_skyrat/modules/blueshield/icons/obj/storage/blueshieldpacks.dmi' + worn_icon = 'modular_skyrat/modules/blueshield/icons/mob/back.dmi' + icon_state = "duffel-blueshield" + inhand_icon_state = "duffel-sec" diff --git a/modular_skyrat/modules/blueshield/code/game/objects/items/storage/medkit.dm b/modular_skyrat/modules/blueshield/code/game/objects/items/storage/medkit.dm new file mode 100644 index 00000000000..c960d3bc451 --- /dev/null +++ b/modular_skyrat/modules/blueshield/code/game/objects/items/storage/medkit.dm @@ -0,0 +1,12 @@ +/obj/item/storage/firstaid/tactical/blueshield + name = "blueshield combat medical kit" + desc = "Blue boy to the rescue!" + +/obj/item/storage/firstaid/tactical/blueshield/PopulateContents() + if(empty) + return + new /obj/item/stack/medical/gauze(src) + new /obj/item/stack/medical/bruise_pack(src) + new /obj/item/stack/medical/ointment(src) + new /obj/item/healthanalyzer(src) + new /obj/item/pinpointer/crew(src) diff --git a/modular_skyrat/modules/blueshield/code/game/objects/structures/crates_lockers/closets/secure/security.dm b/modular_skyrat/modules/blueshield/code/game/objects/structures/crates_lockers/closets/secure/security.dm new file mode 100644 index 00000000000..4999c8dca38 --- /dev/null +++ b/modular_skyrat/modules/blueshield/code/game/objects/structures/crates_lockers/closets/secure/security.dm @@ -0,0 +1,24 @@ +/obj/structure/closet/secure_closet/blueshield + name = "\the blueshield's locker" + icon_state = "cabinet" + resistance_flags = FLAMMABLE + max_integrity = 140 + material_drop = /obj/item/stack/sheet/mineral/wood + cutting_tool = /obj/item/screwdriver + req_access = list(ACCESS_BLUESHIELD) + +/obj/structure/closet/secure_closet/blueshield/New() + ..() + new /obj/item/storage/briefcase(src) + new /obj/item/pinpointer/crew(src) + new /obj/item/storage/belt/security/full(src) + new /obj/item/grenade/flashbang(src) + new /obj/item/assembly/flash/handheld(src) + new /obj/item/restraints/handcuffs(src) + new /obj/item/clothing/under/rank/security/blueshieldturtleneck(src) + new /obj/item/clothing/glasses/hud/security/sunglasses(src) + new /obj/item/clothing/head/beret/blueshield(src) + new /obj/item/clothing/head/beret/blueshield/navy(src) + new /obj/item/clothing/suit/armor/vest/blueshield(src) + new /obj/item/clothing/shoes/laceup(src) + new /obj/item/clothing/under/rank/security/blueshield(src) diff --git a/modular_skyrat/modules/blueshield/code/modules/clothing/gloves/miscellaneous.dm b/modular_skyrat/modules/blueshield/code/modules/clothing/gloves/miscellaneous.dm new file mode 100644 index 00000000000..1c3b42069e3 --- /dev/null +++ b/modular_skyrat/modules/blueshield/code/modules/clothing/gloves/miscellaneous.dm @@ -0,0 +1,9 @@ +/obj/item/clothing/gloves/tackler/combat/insulated/blueshield + name = "combat gloves" + desc = "These tactical gloves appear to be unique, made out of double woven durathread fibers which make it fireproof as well as acid resistant" + icon = 'modular_skyrat/master_files/icons/obj/clothing/gloves.dmi' + icon_state = "combat" + worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/hands.dmi' + + resistance_flags = FIRE_PROOF | ACID_PROOF + armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 100) diff --git a/modular_skyrat/modules/blueshield/code/modules/clothing/head/jobs.dm b/modular_skyrat/modules/blueshield/code/modules/clothing/head/jobs.dm new file mode 100644 index 00000000000..a075d681ef7 --- /dev/null +++ b/modular_skyrat/modules/blueshield/code/modules/clothing/head/jobs.dm @@ -0,0 +1,15 @@ +/obj/item/clothing/head/beret/blueshield + name = "blueshield's beret" //Thank you for helping me rework the armor values for all Blueshield items Trilby <3 -CinderWC + desc = "Granted to those under the prestigious rank of blueshield... or just fancy bodyguard. Protects your head quite well, being made of industrial durathread fibers." + icon = 'modular_skyrat/modules/blueshield/icons/obj/clothing/hats.dmi' + worn_icon = 'modular_skyrat/modules/blueshield/icons/mob/head.dmi' + //alternate_worn_icon_digi = 'modular_skyrat/icons/mob/head_muzzled.dmi' + icon_state = "blueshield" + armor = list("melee" = 30, "bullet" = 20, "laser" = 20,"energy" = 10, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 75, "acid" = 75) + +/obj/item/clothing/head/beret/blueshield/navy + name = "navy blueshield's beret" + icon = 'modular_skyrat/modules/blueshield/icons/obj/clothing/hats.dmi' + worn_icon = 'modular_skyrat/modules/blueshield/icons/mob/head.dmi' + //alternate_worn_icon_digi = 'modular_skyrat/icons/mob/head_muzzled.dmi' + icon_state = "blueshield_navy" diff --git a/modular_skyrat/modules/blueshield/code/modules/clothing/spacesuits/plasmamen.dm b/modular_skyrat/modules/blueshield/code/modules/clothing/spacesuits/plasmamen.dm new file mode 100644 index 00000000000..00d8d4542a2 --- /dev/null +++ b/modular_skyrat/modules/blueshield/code/modules/clothing/spacesuits/plasmamen.dm @@ -0,0 +1,8 @@ +/obj/item/clothing/head/helmet/space/plasmaman/blueshield + name = "blueshield envirosuit helmet" + desc = "A plasmaman envirohelm designed for the blueshield." + icon = 'modular_skyrat/modules/blueshield/icons/obj/clothing/hats.dmi' + worn_icon = 'modular_skyrat/modules/blueshield/icons/mob/head.dmi' + icon_state = "bs_envirohelm" + armor = list("melee" = 30, "bullet" = 20, "laser" = 20,"energy" = 20, "bomb" = 25, "bio" = 100, "rad" = 0, "fire" = 100, "acid" = 90) + resistance_flags = FIRE_PROOF diff --git a/modular_skyrat/modules/blueshield/code/modules/clothing/suits/armor.dm b/modular_skyrat/modules/blueshield/code/modules/clothing/suits/armor.dm new file mode 100644 index 00000000000..dda064e4c9a --- /dev/null +++ b/modular_skyrat/modules/blueshield/code/modules/clothing/suits/armor.dm @@ -0,0 +1,9 @@ +//blueshield armor +/obj/item/clothing/suit/armor/vest/blueshield + name = "blueshield security armor" + desc = "An armored vest with the badge of a Blueshield Lieutenant." + icon = 'modular_skyrat/modules/blueshield/icons/obj/clothing/suits.dmi' + worn_icon = 'modular_skyrat/modules/blueshield/icons/mob/suit.dmi' + //alternate_worn_icon_digi = 'modular_skyrat/icons/mob/suit_digi.dmi' + icon_state = "blueshield" + armor = list("melee" = 30, "bullet" = 20, "laser" = 20,"energy" = 20, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 75, "acid" = 75) diff --git a/modular_skyrat/modules/blueshield/code/modules/clothing/under/jobs/Plasmaman/security.dm b/modular_skyrat/modules/blueshield/code/modules/clothing/under/jobs/Plasmaman/security.dm new file mode 100644 index 00000000000..1b5cf61673c --- /dev/null +++ b/modular_skyrat/modules/blueshield/code/modules/clothing/under/jobs/Plasmaman/security.dm @@ -0,0 +1,9 @@ +/obj/item/clothing/under/plasmaman/blueshield + name = "blueshield envirosuit" + desc = "An envirosuit designed for plasmamen employed as the blueshield." + icon = 'modular_skyrat/modules/blueshield/icons/obj/clothing/uniform.dmi' + worn_icon = 'modular_skyrat/modules/blueshield/icons/mob/uniform.dmi' + icon_state = "bs_envirosuit" + armor = list("melee" = 10, "bullet" = 0, "laser" = 10,"energy" = 0, "bomb" = 5, "bio" = 100, "rad" = 0, "fire" = 95, "acid" = 95) + sensor_mode = SENSOR_COORDS + random_sensor = FALSE diff --git a/modular_skyrat/modules/blueshield/code/modules/clothing/under/jobs/security.dm b/modular_skyrat/modules/blueshield/code/modules/clothing/under/jobs/security.dm new file mode 100644 index 00000000000..5e28f5e3b64 --- /dev/null +++ b/modular_skyrat/modules/blueshield/code/modules/clothing/under/jobs/security.dm @@ -0,0 +1,24 @@ +//Blueshield +/obj/item/clothing/under/rank/security/blueshield + desc = "Gold trim on space-black cloth, this uniform bears \"Blueshield\" on the left shoulder." + name = "Blueshield Uniform" + icon = 'modular_skyrat/modules/blueshield/icons/obj/clothing/uniform.dmi' + worn_icon = 'modular_skyrat/modules/blueshield/icons/mob/uniform.dmi' + //alternate_worn_icon_digi = 'modular_skyrat/icons/mob/uniform_digi.dmi' + icon_state = "blueshield" + armor = list("melee" = 10, "bullet" = 5, "laser" = 5,"energy" = 10, "bomb" =10, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50) + can_adjust = FALSE + sensor_mode = SENSOR_COORDS + random_sensor = FALSE + +/obj/item/clothing/under/rank/security/blueshieldturtleneck + name = "Blueshield's turtleneck" + desc = "A stylish alternative to the normal Blueshield's Uniform, complete with tactical pants." + icon = 'modular_skyrat/modules/blueshield/icons/obj/clothing/uniform.dmi' + worn_icon = 'modular_skyrat/modules/blueshield/icons/mob/uniform.dmi' + //alternate_worn_icon_digi = 'modular_skyrat/icons/mob/uniform_digi.dmi' + icon_state = "bs_turtleneck" + armor = list("melee" = 10, "bullet" = 5, "laser" = 5,"energy" = 10, "bomb" =10, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50) + can_adjust = FALSE + sensor_mode = SENSOR_COORDS + random_sensor = FALSE diff --git a/modular_skyrat/modules/blueshield/code/modules/jobs/job_types/blueshield.dm b/modular_skyrat/modules/blueshield/code/modules/jobs/job_types/blueshield.dm new file mode 100644 index 00000000000..780b931b5b7 --- /dev/null +++ b/modular_skyrat/modules/blueshield/code/modules/jobs/job_types/blueshield.dm @@ -0,0 +1,50 @@ +/datum/job/blueshield + title = "Blueshield" + auto_deadmin_role_flags = DEADMIN_POSITION_SECURITY + department_head = list("Captain") + faction = "Station" + total_positions = 1 + spawn_positions = 1 + supervisors = "the Captain" + selection_color = "#ddddff" + minimal_player_age = 7 + exp_requirements = 2400 + exp_type = EXP_TYPE_SECURITY + + outfit = /datum/outfit/job/blueshield + + access = list(ACCESS_SECURITY, ACCESS_SEC_DOORS, ACCESS_BRIG, ACCESS_COURT, ACCESS_FORENSICS_LOCKERS, \ + ACCESS_MEDICAL, ACCESS_ENGINE, ACCESS_HEADS, \ + ACCESS_MAINT_TUNNELS, ACCESS_CONSTRUCTION, ACCESS_MORGUE, \ + ACCESS_RESEARCH, ACCESS_CARGO, \ + ACCESS_RC_ANNOUNCE, ACCESS_GATEWAY, ACCESS_WEAPONS, ACCESS_BLUESHIELD) + minimal_access = list(ACCESS_FORENSICS_LOCKERS, ACCESS_SEC_DOORS, ACCESS_MEDICAL, ACCESS_CONSTRUCTION, ACCESS_ENGINE, ACCESS_MAINT_TUNNELS, ACCESS_RESEARCH, + ACCESS_RC_ANNOUNCE, ACCESS_HEADS, ACCESS_BLUESHIELD, ACCESS_WEAPONS) + display_order = JOB_DISPLAY_ORDER_BLUESHIELD + outfit = /datum/outfit/job/blueshield + +/datum/outfit/job/blueshield + name = "Blueshield" + jobtype = /datum/job/blueshield + uniform = /obj/item/clothing/under/rank/security/blueshield + id = /obj/item/card/id/silver + suit = /obj/item/clothing/suit/armor/vest/blueshield + suit_store = /obj/item/gun/ballistic/automatic/wt550 + gloves = /obj/item/clothing/gloves/tackler/combat/insulated/blueshield + shoes = /obj/item/clothing/shoes/jackboots + ears = /obj/item/radio/headset/heads/blueshield/alt + glasses = /obj/item/clothing/glasses/hud/security/sunglasses + backpack_contents = list(/obj/item/ammo_box/magazine/wt550m9 = 2,/obj/item/melee/baton/blueshieldprod = 1) + implants = list(/obj/item/implant/mindshield) + backpack = /obj/item/storage/backpack/blueshield + satchel = /obj/item/storage/backpack/satchel/blueshield + duffelbag = /obj/item/storage/backpack/duffel/blueshield + head = /obj/item/clothing/head/beret/blueshield + box = /obj/item/storage/box/survival/security + belt = /obj/item/pda/security + +/datum/outfit/plasmaman/blueshield + name = "Blueshield Plasmaman" + + head = /obj/item/clothing/head/helmet/space/plasmaman/blueshield + uniform = /obj/item/clothing/under/plasmaman/blueshield diff --git a/modular_skyrat/modules/blueshield/icons/mob/back.dmi b/modular_skyrat/modules/blueshield/icons/mob/back.dmi new file mode 100644 index 0000000000000000000000000000000000000000..ae600ef7761709d00be854ae0d18f2b1db91af63 GIT binary patch literal 2413 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 Rx6~w%q^GN&%Q~loCIHVxtF8b5 literal 0 HcmV?d00001 diff --git a/modular_skyrat/modules/blueshield/icons/mob/head.dmi b/modular_skyrat/modules/blueshield/icons/mob/head.dmi new file mode 100644 index 0000000000000000000000000000000000000000..42e2717cca0253207b5b930412e4fcfe5fd388a4 GIT binary patch literal 2527 zcmbVOc{tPy7yb>^Fa|~08?vOd*vmFX_MO{eh+#;CYu6xRED;k^L}6@22!mXbbr?&T z#<*n=F_vq~E*YA^)t}$}{<+`x$2sSZ^E~f4?|Gj0eNK|CwFxgo3<3ZEubHXg)q{%t z6b8m@4JLz z^@C}uUANq;_cyn7Wlz6o#5CA%*JEq9UgKB6zGZa@4m0vZ_^(V_kV@b&ez z9OTmoj94TpIcVErzG8FC&}w4p;^N|2Sy>KDClixI#megH!<&OBS2bp%eE#x-1pXwfli^I2_v2;3V4e^VhGIN+O+$+t?cmr|$Uqbt^${I_eYn^IecIXWN@A z_kqV`QcGGeIGW{7)z|$uMTN zY0zV*i=JbthNe{cg@uK69lx`1INZoU@8UC=G>MR1UE&;oLZK|JtWKmvR903F<9nt9 zX`bzZf`T#By&o#|RtJnhV&dYtlXHWWj(y*wK7y8rh+J#!sb|-=h=;K1+`o2})ijk3 z$r!I^J{$0b#NhnGlD0$5mnDTxf7#U|#XOo$AZ6P9qrJGZmLg`pt;^YJU(1TbPpKH;L z{=OZ06DvXJ-AN-SusGR$&ZI2RtC;gjVEMT*BN2a4hyBbrbm_32TMceCu8qa1!^!5_ zKD*YUz>u6Un&=6T|NY02@fq7j1Zl^jZFXZuID9S_k&0G-F4fN+j~z^jNT7=F+xHyh zXyqkzCMdP`*KqH~k;LV$Z@$QSQ4iWT zWs7oVuwFswSNu*bf&?qbOzZ5)>^9EBFnsEVB}qgqR+vmOW^q1>TEnmU2ilMKdX65l z!-K-0I_=-+66_I4w5TZurKN?o?;5fx6WgB2>tb)j;*5kua_Ov1iC>xA16Es@p+uK` zo_6%KUE=b~B96Bcq;JZYy>>bxaqIw~{1jTWfmaQd(=gFV%iG7q(*9~Vnr+?9IfD4lB^ zJkx||OQ8n{#i-dCjCxwF)c;ht46Amgz$%FQ=PF>Xf!o9zvw&~n2te2c^`Z(}a;st@ zYEIj+Kr&*>s;@(%fhG!b&gmEN=DiL?_;kuMR*eFJ^D8+U_p#$caY-`@G|j3x9c^VF zTusJ`;!w@4qb$w_dsr(bO-?K&JE{MM3Dz{I8lun^G%PKvk5oo1yzYA4pmiRkLPD@_`Q$5P6s^oL1KTl&%()v#2)6!{kl;l-!t~2b3oya^!^X{cp=O$w-E34niH^!GQsd@a^`dAtK1u#l_|Nk(t5v`Urp(H+p3`)8*k%rIJ9> za~>Y?s_oZhW$SW@(>?ecQlmMuTo{r_p7rRU4-7Q)wPyhJ%NZifx6%@PInGEu4T(!R z+1bgk+6NV#Iz><8!2H>G7<|JRsFp45?q#NbDtslT5G6m~D>XSE{y$sJKhF3c?)9_| zL8?W05@rnZZN|3ldtG;B&-6H~++X+V3fhkRhACLX$W5)t)-M*j(lEKo{E}XwD~N_@ ze-rM8Vznp*O$!g#aU?e+I4ocvmWco3`@|lcaj1Iwi>A8@kNcwsZ>E~WI3S2H1xb@=-lSdu({o{iYq#x@~!B<1!bUOHQ#dc-Ts8ya& z2?2H0i3-wc4gW;g`JEko56-qed(vBhE`s41lho6=2m3z_|G%$K*yr%J%TN`UYkqt1 Ou>odA)`moVbnM?C)2=rF literal 0 HcmV?d00001 diff --git a/modular_skyrat/modules/blueshield/icons/mob/head_muzzled.dmi b/modular_skyrat/modules/blueshield/icons/mob/head_muzzled.dmi new file mode 100644 index 0000000000000000000000000000000000000000..648df4ffa59a7af96f2860356adf1f3312f80ff1 GIT binary patch literal 505 zcmV=u4|N6bx zs+O_uh|(~Ru#iRxWS*r#p5cIuCz$8U1hSNH1kWTi@Tm~K5GkdEFN6bzc)=&W(2)}Q zS=96qAwC%dK@dMr8hj9O!Gc_3f%6Hx$J$_rHb-n&OytxbXb$Tfa#i6GW2H9!z_W7~ zFZY~tTNcpu*7sYu%UIbgy%@A@5(Gi~D@B}REZ&(lvC+_=^*(>+)`GDhtoHWQ=J$=Y vrC-=NcWrCvS=;z8I;~gQHhh90h@a&FFb*%GFWdZR00000NkvXXu0mjfRW8h% literal 0 HcmV?d00001 diff --git a/modular_skyrat/modules/blueshield/icons/mob/inhands/weapons/melee_lefthand.dmi b/modular_skyrat/modules/blueshield/icons/mob/inhands/weapons/melee_lefthand.dmi new file mode 100644 index 0000000000000000000000000000000000000000..8e76fa56cec3bd8d3fe137ff8d37506fa94f492e GIT binary patch literal 395 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0J3?w7mbKU|e=>VS)*8>L*xVyW{$jC4lpQ)>> zn>ll4WMrhKrlyOtb4aPl1fVj;k|4ie28U-i(tw=os*s2hm(=3qqRfJl%=|nChKf1C zVFg8{-@gPGeEj-E%Uf6L+?n&i8$t~(8b5fXbKXbuBtub8?+y#&Amhu%UJ7#_O*%3u zL?Kvn<&Fg!_O6}X#;TiFNG$2@HeRb?XfArh>`72q!PjEO+1w0K^QC4mRrOp3TD#oS z#WBRAGdV$mm6?f!RiZ`Y!wF-iRMDv)Gy{SX0)!6fu20~(a&}2h!)c+k@MMG3oSxGy z8<>D}gSVsg6_pq+3$6t`F<~1H%Qj!;d*sNh$ST?*vO!%SD9~+Au-icm1+E8rObt(& zIUeXRNi2*i6k}ZQiIJs1l<~nQMxG7gj29qOA}hzy2+=Ld8#hKC3~V@ZFpb4}nLykH h2akgpf)1$+3_pJHhflNEIvMC>22WQ%mvv4FO#o+`i~;}v literal 0 HcmV?d00001 diff --git a/modular_skyrat/modules/blueshield/icons/mob/inhands/weapons/melee_righthand.dmi b/modular_skyrat/modules/blueshield/icons/mob/inhands/weapons/melee_righthand.dmi new file mode 100644 index 0000000000000000000000000000000000000000..ae39c2bd251765f06db9903f12fbd34774e18bc8 GIT binary patch literal 368 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0J3?w7mbKU|e{s5m4*8>L*XliOkMn+0W{daM8 ze$m*q4=BZ0666=m;PC858jzD+6%tY6l3JWxlvz-cnV-kNP%$Sste~j$`?<0pgt;EOaGp6f@k8kpU-6PK-xkhVKd$4efNo^) MboFyt=akR{08dVega7~l literal 0 HcmV?d00001 diff --git a/modular_skyrat/modules/blueshield/icons/mob/suit.dmi b/modular_skyrat/modules/blueshield/icons/mob/suit.dmi new file mode 100644 index 0000000000000000000000000000000000000000..5ec640a4f56315cf0db999daa414f07846865b09 GIT binary patch literal 464 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 IM6N<$g6EVBEdT%j literal 0 HcmV?d00001 diff --git a/modular_skyrat/modules/blueshield/icons/obj/clothing/suits.dmi b/modular_skyrat/modules/blueshield/icons/obj/clothing/suits.dmi new file mode 100644 index 0000000000000000000000000000000000000000..da091e0322abf7bf544749a2c123b6c98d786dc1 GIT binary patch literal 307 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 literal 0 HcmV?d00001 diff --git a/modular_skyrat/modules/blueshield/readme.md b/modular_skyrat/modules/blueshield/readme.md new file mode 100644 index 00000000000..5dde3e04eb1 --- /dev/null +++ b/modular_skyrat/modules/blueshield/readme.md @@ -0,0 +1,33 @@ +https://github.com/Skyrat-SS13/Skyrat-tg/pull/127 + +## Title: Blueshield + +MODULE ID: BLUESHIELD + +### Description: + +Adds the blueshield job to the game. It does not however add the blueshield office to the map. This includes all the blueshields items and job descriptors. + +### TG Proc Changes: + +- code/modules/jobs/jobs.dm > GLOBAL_LIST_INIT(security_positions, list() +- code/modules/jobs/access.dm > /proc/get_all_accesses() + +### Defines: + +- #define JOB_DISPLAY_ORDER_BLUESHIELD 34 +- #define ACCESS_BLUESHIELD 71 + +### Master file additions + +- ./modular_skyrat/master_files/icons/mob/hud.dmi #NEW +- ./modular_skyrat/master_files/icons/clothing/hands.dmi #NEW +- ./modular_skyrat/master_files/icons/obj/clothing/gloves.dmi #NEW + +### Included files that are not contained in this module: + +- N/A + +### Credits: + +Gandalf2k15 - Porting diff --git a/tgstation.dme b/tgstation.dme index 960a6a8e14d..487ca418029 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -121,6 +121,7 @@ #include "code\__DEFINES\dcs\helpers.dm" #include "code\__DEFINES\dcs\signals.dm" #include "code\__DEFINES\research\anomalies.dm" +#include "code\__DEFINES\~skyrat_defines\blueshield.dm" #include "code\__HELPERS\_lists.dm" #include "code\__HELPERS\_logging.dm" #include "code\__HELPERS\_string_lists.dm" @@ -3160,4 +3161,27 @@ #include "interface\menu.dm" #include "interface\stylesheet.dm" #include "interface\skin.dmf" +#include "modular_skyrat\modules\blueshield\code\game\area\Space_Station_13_areas.dm" +#include "modular_skyrat\modules\blueshield\code\game\gamemodes\brother\traitor_bro.dm" +#include "modular_skyrat\modules\blueshield\code\game\gamemodes\changeling\changeling.dm" +#include "modular_skyrat\modules\blueshield\code\game\gamemodes\changeling\traitor_chan.dm" +#include "modular_skyrat\modules\blueshield\code\game\gamemodes\cult\cult.dm" +#include "modular_skyrat\modules\blueshield\code\game\gamemodes\devil\devil_game_mode.dm" +#include "modular_skyrat\modules\blueshield\code\game\gamemodes\monkey\monkey.dm" +#include "modular_skyrat\modules\blueshield\code\game\gamemodes\revolution\revolution.dm" +#include "modular_skyrat\modules\blueshield\code\game\gamemodes\traitor\traitor.dm" +#include "modular_skyrat\modules\blueshield\code\game\objects\effects\landmarks.dm" +#include "modular_skyrat\modules\blueshield\code\game\objects\items\devices\radio\encryptionkey.dm" +#include "modular_skyrat\modules\blueshield\code\game\objects\items\devices\radio\headset.dm" +#include "modular_skyrat\modules\blueshield\code\game\objects\items\melee\misc.dm" +#include "modular_skyrat\modules\blueshield\code\game\objects\items\storage\medkit.dm" +#include "modular_skyrat\modules\blueshield\code\game\objects\items\storage\backpacks\blueshield.dm" +#include "modular_skyrat\modules\blueshield\code\game\objects\structures\crates_lockers\closets\secure\security.dm" +#include "modular_skyrat\modules\blueshield\code\modules\clothing\gloves\miscellaneous.dm" +#include "modular_skyrat\modules\blueshield\code\modules\clothing\head\jobs.dm" +#include "modular_skyrat\modules\blueshield\code\modules\clothing\spacesuits\plasmamen.dm" +#include "modular_skyrat\modules\blueshield\code\modules\clothing\suits\armor.dm" +#include "modular_skyrat\modules\blueshield\code\modules\clothing\under\jobs\security.dm" +#include "modular_skyrat\modules\blueshield\code\modules\clothing\under\jobs\Plasmaman\security.dm" +#include "modular_skyrat\modules\blueshield\code\modules\jobs\job_types\blueshield.dm" // END_INCLUDE