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 00000000000..dce6c358f87 Binary files /dev/null and b/modular_skyrat/master_files/icons/mob/clothing/hands.dmi differ diff --git a/modular_skyrat/master_files/icons/mob/hud.dmi b/modular_skyrat/master_files/icons/mob/hud.dmi new file mode 100644 index 00000000000..73f106a1c3f Binary files /dev/null and b/modular_skyrat/master_files/icons/mob/hud.dmi differ 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 00000000000..07270d8e771 Binary files /dev/null and b/modular_skyrat/master_files/icons/obj/clothing/gloves.dmi differ 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 00000000000..ae600ef7761 Binary files /dev/null and b/modular_skyrat/modules/blueshield/icons/mob/back.dmi differ diff --git a/modular_skyrat/modules/blueshield/icons/mob/clothing/ears.dmi b/modular_skyrat/modules/blueshield/icons/mob/clothing/ears.dmi new file mode 100644 index 00000000000..77e722f73bd Binary files /dev/null and b/modular_skyrat/modules/blueshield/icons/mob/clothing/ears.dmi differ 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 00000000000..42e2717cca0 Binary files /dev/null and b/modular_skyrat/modules/blueshield/icons/mob/head.dmi differ 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 00000000000..648df4ffa59 Binary files /dev/null and b/modular_skyrat/modules/blueshield/icons/mob/head_muzzled.dmi differ 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 00000000000..8e76fa56cec Binary files /dev/null and b/modular_skyrat/modules/blueshield/icons/mob/inhands/weapons/melee_lefthand.dmi differ 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 00000000000..ae39c2bd251 Binary files /dev/null and b/modular_skyrat/modules/blueshield/icons/mob/inhands/weapons/melee_righthand.dmi differ 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 00000000000..5ec640a4f56 Binary files /dev/null and b/modular_skyrat/modules/blueshield/icons/mob/suit.dmi differ diff --git a/modular_skyrat/modules/blueshield/icons/mob/suit_digi.dmi b/modular_skyrat/modules/blueshield/icons/mob/suit_digi.dmi new file mode 100644 index 00000000000..c14ae841c92 Binary files /dev/null and b/modular_skyrat/modules/blueshield/icons/mob/suit_digi.dmi differ diff --git a/modular_skyrat/modules/blueshield/icons/mob/uniform.dmi b/modular_skyrat/modules/blueshield/icons/mob/uniform.dmi new file mode 100644 index 00000000000..2206d0466e7 Binary files /dev/null and b/modular_skyrat/modules/blueshield/icons/mob/uniform.dmi differ diff --git a/modular_skyrat/modules/blueshield/icons/mob/uniform_digi.dmi b/modular_skyrat/modules/blueshield/icons/mob/uniform_digi.dmi new file mode 100644 index 00000000000..6ec1fef1598 Binary files /dev/null and b/modular_skyrat/modules/blueshield/icons/mob/uniform_digi.dmi differ diff --git a/modular_skyrat/modules/blueshield/icons/obj/clothing/hats.dmi b/modular_skyrat/modules/blueshield/icons/obj/clothing/hats.dmi new file mode 100644 index 00000000000..a9eb70ff52f Binary files /dev/null and b/modular_skyrat/modules/blueshield/icons/obj/clothing/hats.dmi differ 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 00000000000..da091e0322a Binary files /dev/null and b/modular_skyrat/modules/blueshield/icons/obj/clothing/suits.dmi differ diff --git a/modular_skyrat/modules/blueshield/icons/obj/clothing/uniform.dmi b/modular_skyrat/modules/blueshield/icons/obj/clothing/uniform.dmi new file mode 100644 index 00000000000..2206d0466e7 Binary files /dev/null and b/modular_skyrat/modules/blueshield/icons/obj/clothing/uniform.dmi differ diff --git a/modular_skyrat/modules/blueshield/icons/obj/radio.dmi b/modular_skyrat/modules/blueshield/icons/obj/radio.dmi new file mode 100644 index 00000000000..8ab3e9ca86b Binary files /dev/null and b/modular_skyrat/modules/blueshield/icons/obj/radio.dmi differ diff --git a/modular_skyrat/modules/blueshield/icons/obj/storage/blueshieldpacks.dmi b/modular_skyrat/modules/blueshield/icons/obj/storage/blueshieldpacks.dmi new file mode 100644 index 00000000000..cb80c4bba31 Binary files /dev/null and b/modular_skyrat/modules/blueshield/icons/obj/storage/blueshieldpacks.dmi differ diff --git a/modular_skyrat/modules/blueshield/icons/obj/stunprod.dmi b/modular_skyrat/modules/blueshield/icons/obj/stunprod.dmi new file mode 100644 index 00000000000..dd3a720dd4d Binary files /dev/null and b/modular_skyrat/modules/blueshield/icons/obj/stunprod.dmi differ 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