mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-10 18:22:39 +00:00
Minor Security Supply Tweak
Fixes the Warden starting off with the wrong Mask Hailer. Gives regular officers mask hailers. Allows emagged consoles to order ERT armor.
This commit is contained in:
151
modular_chomp/code/datums/supplypacks/contraband.dm
Normal file
151
modular_chomp/code/datums/supplypacks/contraband.dm
Normal file
@@ -0,0 +1,151 @@
|
||||
/*
|
||||
* Here is where any supply packs that may or may not be legal
|
||||
* and require modification of the supply controller live.
|
||||
*/
|
||||
|
||||
|
||||
/datum/supply_pack/randomised/contraband
|
||||
num_contained = 5
|
||||
contains = list(
|
||||
/obj/item/seeds/bloodtomatoseed,
|
||||
/obj/item/weapon/storage/pill_bottle/zoom,
|
||||
/obj/item/weapon/storage/pill_bottle/happy,
|
||||
/obj/item/weapon/reagent_containers/food/drinks/bottle/pwine
|
||||
)
|
||||
|
||||
name = "Contraband crate"
|
||||
cost = 25
|
||||
containertype = /obj/structure/closet/crate
|
||||
containername = "Unlabeled crate"
|
||||
contraband = 1
|
||||
group = "Supplies"
|
||||
|
||||
/datum/supply_pack/security/specialops
|
||||
name = "Special Ops supplies"
|
||||
contains = list(
|
||||
/obj/item/weapon/storage/box/emps,
|
||||
/obj/item/weapon/grenade/smokebomb = 4,
|
||||
/obj/item/weapon/grenade/chem_grenade/incendiary
|
||||
)
|
||||
cost = 25
|
||||
containertype = /obj/structure/closet/crate/weapon
|
||||
containername = "Special Ops crate"
|
||||
contraband = 1
|
||||
|
||||
/datum/supply_pack/supply/moghes
|
||||
name = "Moghes imports"
|
||||
contains = list(
|
||||
/obj/item/weapon/reagent_containers/food/drinks/bottle/redeemersbrew = 2,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/unajerky = 4
|
||||
)
|
||||
cost = 25
|
||||
containertype = /obj/structure/closet/crate/unathi
|
||||
containername = "Moghes imports crate"
|
||||
contraband = 1
|
||||
|
||||
/datum/supply_pack/munitions/bolt_rifles_militia
|
||||
name = "Weapon - Surplus militia rifles"
|
||||
contains = list(
|
||||
/obj/item/weapon/gun/projectile/shotgun/pump/rifle = 3,
|
||||
/obj/item/ammo_magazine/clip/c762 = 6
|
||||
)
|
||||
cost = 1000
|
||||
contraband = 1
|
||||
containertype = /obj/structure/closet/crate/hedberg
|
||||
containername = "Ballistic weapons crate"
|
||||
|
||||
/datum/supply_pack/randomised/misc/telecrate
|
||||
name = "Confiscated equipment"
|
||||
num_contained = 1
|
||||
contains = list(
|
||||
list( //the operator,
|
||||
/obj/item/clothing/suit/storage/vest/heavy/merc,
|
||||
/obj/item/clothing/glasses/night,
|
||||
/obj/item/weapon/storage/box/anti_photons
|
||||
),
|
||||
list( //the indian,
|
||||
/obj/item/weapon/gun/projectile/dartgun,
|
||||
/obj/item/ammo_magazine/chemdart
|
||||
),
|
||||
|
||||
list( //the doc,
|
||||
/obj/item/weapon/storage/firstaid/combat,
|
||||
/obj/item/weapon/reagent_containers/hypospray
|
||||
),
|
||||
|
||||
list( //the sapper,
|
||||
/obj/item/weapon/melee/energy/sword/ionic_rapier,
|
||||
/obj/item/weapon/storage/box/syndie_kit/space, //doesn't matter what species you are,
|
||||
/obj/item/device/multitool/ai_detector,
|
||||
/obj/item/weapon/storage/toolbox/syndicate/powertools
|
||||
),
|
||||
list( //the infiltrator,
|
||||
/obj/item/device/chameleon,
|
||||
/obj/item/weapon/storage/box/syndie_kit/chameleon,
|
||||
/obj/item/device/encryptionkey/syndicate,
|
||||
/obj/item/weapon/card/id/syndicate,
|
||||
/obj/item/clothing/mask/gas/voice,
|
||||
/obj/item/weapon/makeover
|
||||
),
|
||||
list( //the professional,
|
||||
/obj/item/weapon/gun/energy/ionrifle/pistol,
|
||||
/obj/item/weapon/material/knife/tacknife/combatknife,
|
||||
/obj/item/clothing/mask/balaclava
|
||||
)
|
||||
)
|
||||
cost = 400 //price,
|
||||
contraband = 1
|
||||
containertype = /obj/structure/closet/crate/large
|
||||
containername = "Suspicious crate"
|
||||
|
||||
/datum/supply_pack/security/bullet_resistant_plates
|
||||
name = "Armor - Ballistic plates"
|
||||
contains = list(
|
||||
/obj/item/clothing/head/helmet/bulletproof,
|
||||
/obj/item/clothing/suit/armor/pcarrier/bulletproof/full
|
||||
)
|
||||
cost = 50
|
||||
containertype = /obj/structure/closet/crate/secure/heph
|
||||
containername = "Ballistic armor crate"
|
||||
access = access_armory
|
||||
contraband = 1
|
||||
|
||||
/datum/supply_pack/security/combat_armor
|
||||
name = "Armor - Combat"
|
||||
contains = list(
|
||||
/obj/item/clothing/head/helmet/combat,
|
||||
/obj/item/clothing/suit/armor/combat,
|
||||
/obj/item/clothing/gloves/arm_guard/combat,
|
||||
/obj/item/clothing/shoes/leg_guard/combat
|
||||
)
|
||||
cost = 40
|
||||
containertype = /obj/structure/closet/crate/secure/saare
|
||||
containername = "Combat armor crate"
|
||||
access = access_armory
|
||||
contraband = 1
|
||||
|
||||
/datum/supply_pack/security/tactical
|
||||
name = "Armor - Tactical"
|
||||
containertype = /obj/structure/closet/crate/secure/saare
|
||||
containername = "Tactical armor crate"
|
||||
cost = 40
|
||||
access = access_armory
|
||||
contains = list(
|
||||
/obj/item/clothing/under/tactical,
|
||||
/obj/item/clothing/suit/armor/tactical,
|
||||
/obj/item/clothing/head/helmet/tactical,
|
||||
/obj/item/clothing/mask/balaclava/tactical,
|
||||
/obj/item/clothing/glasses/sunglasses/sechud/tactical,
|
||||
/obj/item/weapon/storage/belt/security/tactical,
|
||||
/obj/item/clothing/shoes/boots/jackboots,
|
||||
/obj/item/clothing/gloves/black,
|
||||
/obj/item/clothing/under/tactical,
|
||||
/obj/item/clothing/suit/armor/tactical,
|
||||
/obj/item/clothing/head/helmet/tactical,
|
||||
/obj/item/clothing/mask/balaclava/tactical,
|
||||
/obj/item/clothing/glasses/sunglasses/sechud/tactical,
|
||||
/obj/item/weapon/storage/belt/security/tactical,
|
||||
/obj/item/clothing/shoes/boots/jackboots,
|
||||
/obj/item/clothing/gloves/black
|
||||
)
|
||||
contraband = 1
|
||||
@@ -0,0 +1,339 @@
|
||||
/obj/structure/closet/secure_closet/captains
|
||||
name = "site manager's locker"
|
||||
req_access = list(access_captain)
|
||||
closet_appearance = /decl/closet_appearance/secure_closet/command
|
||||
|
||||
starts_with = list(
|
||||
/obj/item/weapon/storage/backpack/dufflebag/captain,
|
||||
/obj/item/clothing/head/helmet,
|
||||
/obj/item/clothing/suit/storage/vest,
|
||||
/obj/item/weapon/cartridge/captain,
|
||||
/obj/item/weapon/storage/lockbox/medal,
|
||||
/obj/item/device/radio/headset/heads/captain,
|
||||
/obj/item/device/radio/headset/heads/captain/alt,
|
||||
/obj/item/weapon/gun/energy/gun,
|
||||
/obj/item/weapon/melee/telebaton,
|
||||
/obj/item/device/flash,
|
||||
/obj/item/weapon/storage/box/ids)
|
||||
|
||||
|
||||
/obj/structure/closet/secure_closet/hop
|
||||
name = "head of personnel's locker"
|
||||
req_access = list(access_hop)
|
||||
closet_appearance = /decl/closet_appearance/secure_closet/command/hop
|
||||
|
||||
starts_with = list(
|
||||
/obj/item/clothing/suit/storage/vest,
|
||||
/obj/item/clothing/head/helmet,
|
||||
/obj/item/weapon/cartridge/hop,
|
||||
/obj/item/device/radio/headset/heads/hop,
|
||||
/obj/item/device/radio/headset/heads/hop/alt,
|
||||
/obj/item/weapon/storage/box/ids = 2,
|
||||
/obj/item/weapon/gun/energy/gun/compact,
|
||||
/obj/item/weapon/storage/box/commandkeys,
|
||||
/obj/item/weapon/storage/box/servicekeys,
|
||||
/obj/item/device/flash)
|
||||
|
||||
/obj/structure/closet/secure_closet/hop2
|
||||
name = "head of personnel's attire"
|
||||
req_access = list(access_hop)
|
||||
closet_appearance = /decl/closet_appearance/secure_closet/command/hop
|
||||
|
||||
starts_with = list(
|
||||
/obj/item/clothing/under/rank/head_of_personnel,
|
||||
/obj/item/clothing/under/dress/dress_hop,
|
||||
/obj/item/clothing/under/dress/dress_hr,
|
||||
/obj/item/clothing/under/lawyer/female,
|
||||
/obj/item/clothing/under/lawyer/black,
|
||||
/obj/item/clothing/under/lawyer/black/skirt,
|
||||
/obj/item/clothing/under/lawyer/red,
|
||||
/obj/item/clothing/under/lawyer/red/skirt,
|
||||
/obj/item/clothing/under/lawyer/oldman,
|
||||
/obj/item/clothing/under/rank/neo_hop,
|
||||
/obj/item/clothing/under/rank/neo_hop_skirt,
|
||||
/obj/item/clothing/under/rank/neo_hop_parade_masc,
|
||||
/obj/item/clothing/under/rank/neo_hop_parade_fem,
|
||||
/obj/item/clothing/under/rank/neo_hop_turtle,
|
||||
/obj/item/clothing/under/rank/neo_hop_turtle_skirt,
|
||||
/obj/item/clothing/under/rank/neo_cmd_gorka,
|
||||
/obj/item/clothing/suit/storage/toggle/labcoat/neo_hopformal,
|
||||
/obj/item/clothing/suit/storage/toggle/labcoat/neo_civ_dep,
|
||||
/obj/item/clothing/shoes/brown,
|
||||
/obj/item/clothing/shoes/black,
|
||||
/obj/item/clothing/shoes/laceup,
|
||||
/obj/item/clothing/shoes/laceup/brown,
|
||||
/obj/item/clothing/shoes/white,
|
||||
/obj/item/clothing/under/rank/head_of_personnel_whimsy,
|
||||
/obj/item/clothing/head/caphat/hop,
|
||||
/obj/item/clothing/under/suit_jacket/teal,
|
||||
/obj/item/clothing/under/suit_jacket/teal/skirt,
|
||||
/obj/item/clothing/glasses/sunglasses,
|
||||
/obj/item/clothing/suit/storage/hooded/wintercoat/hop,
|
||||
/obj/item/clothing/head/caphat/hop/beret,
|
||||
/obj/item/clothing/head/caphat/hop/beret/white)
|
||||
|
||||
|
||||
/obj/structure/closet/secure_closet/hos
|
||||
name = "head of security's locker"
|
||||
req_access = list(access_hos)
|
||||
storage_capacity = 2.5 * MOB_MEDIUM
|
||||
closet_appearance = /decl/closet_appearance/secure_closet/security/hos
|
||||
|
||||
starts_with = list(
|
||||
/obj/item/clothing/head/helmet/HoS,
|
||||
/obj/item/clothing/head/helmet/HoS/hat,
|
||||
/obj/item/clothing/suit/storage/vest/hos,
|
||||
/obj/item/clothing/under/rank/head_of_security/jensen,
|
||||
/obj/item/clothing/under/rank/head_of_security/corp,
|
||||
/obj/item/clothing/suit/storage/vest/hoscoat/jensen,
|
||||
/obj/item/clothing/suit/storage/vest/hoscoat,
|
||||
/obj/item/clothing/head/helmet/dermal,
|
||||
/obj/item/weapon/cartridge/hos,
|
||||
/obj/item/device/radio/headset/heads/hos,
|
||||
/obj/item/device/radio/headset/heads/hos/alt,
|
||||
/obj/item/clothing/glasses/sunglasses/sechud,
|
||||
/obj/item/taperoll/police,
|
||||
/obj/item/weapon/shield/riot,
|
||||
/obj/item/weapon/shield/riot/tele,
|
||||
/obj/item/weapon/storage/box/holobadge/hos,
|
||||
/obj/item/clothing/accessory/badge/holo/hos,
|
||||
/obj/item/weapon/reagent_containers/spray/pepper,
|
||||
/obj/item/weapon/tool/crowbar/red,
|
||||
/obj/item/weapon/storage/box/flashbangs,
|
||||
/obj/item/weapon/storage/belt/security,
|
||||
/obj/item/device/flash,
|
||||
/obj/item/weapon/melee/baton/loaded,
|
||||
/obj/item/weapon/gun/magnetic/railgun/heater/pistol/hos,
|
||||
/obj/item/weapon/rcd_ammo/large,
|
||||
/obj/item/weapon/cell/device/weapon,
|
||||
/obj/item/clothing/accessory/holster/waist,
|
||||
/obj/item/weapon/melee/telebaton,
|
||||
/obj/item/clothing/head/beret/sec/corporate/hos,
|
||||
/obj/item/clothing/suit/storage/hooded/wintercoat/security,
|
||||
/obj/item/clothing/suit/storage/hooded/wintercoat/security/hos,
|
||||
/obj/item/clothing/shoes/boots/winter/security,
|
||||
/obj/item/device/flashlight/maglight,
|
||||
/obj/item/clothing/mask/gas/half,
|
||||
/obj/item/clothing/mask/gas/sechailer/swat/hos)
|
||||
|
||||
/obj/structure/closet/secure_closet/hos/Initialize()
|
||||
if(prob(50))
|
||||
starts_with += /obj/item/weapon/storage/backpack/security
|
||||
else
|
||||
starts_with += /obj/item/weapon/storage/backpack/satchel/sec
|
||||
if(prob(50))
|
||||
starts_with += /obj/item/weapon/storage/backpack/dufflebag/sec
|
||||
return ..()
|
||||
|
||||
|
||||
/obj/structure/closet/secure_closet/warden
|
||||
name = "warden's locker"
|
||||
storage_capacity = 42
|
||||
req_access = list(access_armory)
|
||||
closet_appearance = /decl/closet_appearance/secure_closet/security/warden
|
||||
|
||||
starts_with = list(
|
||||
/obj/item/clothing/suit/storage/vest/warden,
|
||||
/obj/item/clothing/under/rank/warden,
|
||||
/obj/item/clothing/under/rank/warden/corp,
|
||||
/obj/item/clothing/suit/storage/vest/wardencoat,
|
||||
/obj/item/clothing/suit/storage/vest/wardencoat/alt,
|
||||
/obj/item/clothing/suit/storage/vest/wardencoat/alt2, //VOREStation Add,
|
||||
/obj/item/clothing/head/helmet/dermal,
|
||||
/obj/item/clothing/head/helmet/warden,
|
||||
/obj/item/clothing/head/helmet/warden/hat,
|
||||
/obj/item/clothing/under/rank/neo_warden_red,
|
||||
/obj/item/clothing/under/rank/neo_warden_red_skirt,
|
||||
/obj/item/clothing/under/rank/neo_warden_blue,
|
||||
/obj/item/clothing/suit/storage/vest/wardencoat/neo_armsco_trench,
|
||||
/obj/item/clothing/suit/storage/vest/wardencoat/neo_bluewarden,
|
||||
/obj/item/clothing/suit/storage/vest/wardencoat/neo_warden_heavy,
|
||||
/obj/item/clothing/under/rank/neo_sec_gorka,
|
||||
/obj/item/weapon/cartridge/security,
|
||||
/obj/item/device/radio/headset/headset_sec,
|
||||
/obj/item/device/radio/headset/headset_sec/alt,
|
||||
/obj/item/clothing/glasses/sunglasses/sechud,
|
||||
/obj/item/taperoll/police,
|
||||
/obj/item/clothing/accessory/badge/holo/warden,
|
||||
/obj/item/weapon/storage/box/flashbangs,
|
||||
/obj/item/weapon/storage/belt/security,
|
||||
/obj/item/weapon/reagent_containers/spray/pepper,
|
||||
/obj/item/weapon/melee/baton/loaded,
|
||||
/obj/item/weapon/gun/energy/gun,
|
||||
/obj/item/weapon/cell/device/weapon,
|
||||
/obj/item/weapon/storage/box/holobadge,
|
||||
/obj/item/clothing/head/beret/sec/corporate/warden,
|
||||
/obj/item/clothing/suit/storage/hooded/wintercoat/security,
|
||||
/obj/item/clothing/shoes/boots/winter/security,
|
||||
/obj/item/device/flashlight/maglight,
|
||||
/obj/item/device/megaphone,
|
||||
/obj/item/clothing/mask/gas/sechailer/swat/warden,
|
||||
/obj/item/weapon/gun/projectile/revolvershotgun,
|
||||
/obj/item/ammo_magazine/m12gdrumjack/beanbag,
|
||||
/obj/item/ammo_magazine/m12gdrumjack/beanbag,
|
||||
/obj/item/device/ticket_printer, //CHOMPStation addition
|
||||
/obj/item/device/retail_scanner/security //CHOMPStation addition
|
||||
)
|
||||
|
||||
/obj/structure/closet/secure_closet/warden/Initialize()
|
||||
if(prob(50))
|
||||
starts_with += /obj/item/weapon/storage/backpack/security
|
||||
else
|
||||
starts_with += /obj/item/weapon/storage/backpack/satchel/sec
|
||||
if(prob(50))
|
||||
starts_with += /obj/item/weapon/storage/backpack/dufflebag/sec
|
||||
return ..()
|
||||
|
||||
/obj/structure/closet/secure_closet/security
|
||||
name = "security officer's locker"
|
||||
req_access = list(access_brig)
|
||||
closet_appearance = /decl/closet_appearance/secure_closet/security
|
||||
|
||||
starts_with = list(
|
||||
/obj/item/clothing/suit/storage/vest/officer,
|
||||
/obj/item/clothing/head/helmet,
|
||||
/obj/item/clothing/mask/gas/sechailer/swat/officer,
|
||||
/obj/item/weapon/cartridge/security,
|
||||
/obj/item/device/radio/headset/headset_sec,
|
||||
/obj/item/device/radio/headset/headset_sec/alt,
|
||||
/obj/item/weapon/storage/belt/security,
|
||||
/obj/item/device/flash,
|
||||
/obj/item/weapon/reagent_containers/spray/pepper,
|
||||
/obj/item/weapon/grenade/flashbang,
|
||||
/obj/item/weapon/melee/baton/loaded,
|
||||
/obj/item/clothing/glasses/sunglasses/sechud,
|
||||
/obj/item/taperoll/police,
|
||||
/obj/item/device/hailer,
|
||||
/obj/item/device/flashlight/flare,
|
||||
/obj/item/clothing/accessory/storage/black_vest,
|
||||
/obj/item/clothing/head/soft/sec/corp,
|
||||
/obj/item/clothing/under/rank/security/corp,
|
||||
/obj/item/ammo_magazine/m45/rubber,
|
||||
/obj/item/weapon/gun/energy/taser,
|
||||
/obj/item/weapon/cell/device/weapon,
|
||||
/obj/item/clothing/suit/storage/hooded/wintercoat/security,
|
||||
/obj/item/clothing/shoes/boots/winter/security,
|
||||
/obj/item/device/flashlight/maglight,
|
||||
/obj/item/device/holowarrant, //CHOMPStation addition
|
||||
/obj/item/device/retail_scanner/security, //CHOMPStation addition
|
||||
/obj/item/clothing/glasses/hud/security, //CHOMPStation addition
|
||||
/obj/item/device/ticket_printer //CHOMPStation addition
|
||||
)
|
||||
|
||||
/obj/structure/closet/secure_closet/security/Initialize()
|
||||
if(prob(50))
|
||||
starts_with += /obj/item/weapon/storage/backpack/security
|
||||
else
|
||||
starts_with += /obj/item/weapon/storage/backpack/satchel/sec
|
||||
if(prob(50))
|
||||
starts_with += /obj/item/weapon/storage/backpack/dufflebag/sec
|
||||
if(prob(30))
|
||||
starts_with += /obj/item/poster/nanotrasen
|
||||
return ..()
|
||||
|
||||
/obj/structure/closet/secure_closet/security/cargo/Initialize()
|
||||
starts_with += /obj/item/clothing/accessory/armband/cargo
|
||||
starts_with += /obj/item/device/encryptionkey/headset_cargo
|
||||
return ..()
|
||||
|
||||
/obj/structure/closet/secure_closet/security/engine/Initialize()
|
||||
starts_with += /obj/item/clothing/accessory/armband/engine
|
||||
starts_with += /obj/item/device/encryptionkey/headset_eng
|
||||
return ..()
|
||||
|
||||
/obj/structure/closet/secure_closet/security/science/Initialize()
|
||||
starts_with += /obj/item/clothing/accessory/armband/science
|
||||
starts_with += /obj/item/device/encryptionkey/headset_sci
|
||||
return ..()
|
||||
|
||||
/obj/structure/closet/secure_closet/security/med/Initialize()
|
||||
starts_with += /obj/item/clothing/accessory/armband/medblue
|
||||
starts_with += /obj/item/device/encryptionkey/headset_med
|
||||
return ..()
|
||||
|
||||
|
||||
/obj/structure/closet/secure_closet/detective
|
||||
name = "detective's cabinet"
|
||||
req_access = list(access_forensics_lockers)
|
||||
closet_appearance = /decl/closet_appearance/cabinet/secure
|
||||
|
||||
open_sound = 'sound/effects/wooden_closet_open.ogg'
|
||||
close_sound = 'sound/effects/wooden_closet_close.ogg'
|
||||
|
||||
starts_with = list(
|
||||
/obj/item/clothing/accessory/badge/holo/detective,
|
||||
/obj/item/clothing/gloves/forensic, //CHOMP Edit replaces black gloves
|
||||
/obj/item/gunbox, //CHOMP Edit undoes vorestation removal and adds back gunbox
|
||||
/obj/item/gunbox/stun,
|
||||
/obj/item/weapon/storage/belt/detective,
|
||||
/obj/item/weapon/storage/box/evidence,
|
||||
/obj/item/device/radio/headset/headset_sec,
|
||||
/obj/item/device/radio/headset/headset_sec/alt,
|
||||
/obj/item/clothing/suit/storage/vest/detective,
|
||||
/obj/item/taperoll/police,
|
||||
/obj/item/clothing/accessory/holster/armpit,
|
||||
/obj/item/device/flashlight/maglight,
|
||||
/obj/item/weapon/reagent_containers/food/drinks/flask/detflask,
|
||||
/obj/item/weapon/storage/briefcase/crimekit,
|
||||
/obj/item/device/taperecorder,
|
||||
/obj/item/weapon/storage/bag/detective,
|
||||
/obj/item/device/tape/random = 3,
|
||||
/obj/item/device/retail_scanner/security, //CHOMPStation addition
|
||||
/obj/item/clothing/glasses/hud/security //CHOMPStation addition
|
||||
)
|
||||
|
||||
/obj/structure/closet/secure_closet/injection
|
||||
name = "lethal injections locker"
|
||||
req_access = list(access_captain)
|
||||
closet_appearance = /decl/closet_appearance/secure_closet/courtroom
|
||||
|
||||
starts_with = list(
|
||||
/obj/item/weapon/reagent_containers/syringe/ld50_syringe/choral = 2)
|
||||
|
||||
GLOBAL_LIST_BOILERPLATE(all_brig_closets, /obj/structure/closet/secure_closet/brig)
|
||||
|
||||
/obj/structure/closet/secure_closet/brig
|
||||
name = "brig locker"
|
||||
req_access = list(access_brig)
|
||||
closet_appearance = /decl/closet_appearance/secure_closet/brig
|
||||
anchored = TRUE
|
||||
var/id = null
|
||||
|
||||
starts_with = list(
|
||||
/obj/item/clothing/under/color/prison,
|
||||
/obj/item/clothing/shoes/orange)
|
||||
|
||||
/obj/structure/closet/secure_closet/posters
|
||||
name = "morale storage"
|
||||
req_access = list(access_security)
|
||||
anchored = TRUE
|
||||
|
||||
starts_with = list(
|
||||
/obj/item/poster/nanotrasen,
|
||||
/obj/item/poster/nanotrasen,
|
||||
/obj/item/poster/nanotrasen,
|
||||
/obj/item/poster/nanotrasen,
|
||||
/obj/item/poster/nanotrasen)
|
||||
|
||||
/obj/structure/closet/secure_closet/courtroom
|
||||
name = "courtroom locker"
|
||||
req_access = list(access_lawyer)
|
||||
closet_appearance = /decl/closet_appearance/secure_closet/courtroom
|
||||
|
||||
starts_with = list(
|
||||
/obj/item/clothing/shoes/brown,
|
||||
/obj/item/weapon/paper/Court = 3,
|
||||
/obj/item/weapon/pen,
|
||||
/obj/item/clothing/suit/judgerobe,
|
||||
/obj/item/clothing/head/powdered_wig,
|
||||
/obj/item/weapon/storage/briefcase)
|
||||
|
||||
|
||||
/obj/structure/closet/secure_closet/wall
|
||||
name = "wall locker"
|
||||
req_access = list(access_security)
|
||||
closet_appearance = /decl/closet_appearance/wall
|
||||
density = TRUE
|
||||
|
||||
//too small to put a man in
|
||||
large = 0
|
||||
169
modular_chomp/code/modules/clothing/masks/hailer.dm
Normal file
169
modular_chomp/code/modules/clothing/masks/hailer.dm
Normal file
@@ -0,0 +1,169 @@
|
||||
/obj/item/clothing/mask/gas/sechailer
|
||||
name = "hailer face mask"
|
||||
desc = "A compact, durable gas mask that can be connected to an air supply. This one possesses a security hailer."
|
||||
description_info = "This mask has a hailer attached, you can activate it on the button or use the Halt! verb, for switching phrases you can alt+click it or change it using the change phrase verb."
|
||||
icon_state = "halfgas"
|
||||
armor = list(melee = 10, bullet = 10, laser = 10, energy = 0, bomb = 0, bio = 55, rad = 0)
|
||||
action_button_name = "HALT!"
|
||||
body_parts_covered = FACE
|
||||
var/obj/item/device/hailer/hailer
|
||||
var/cooldown = 0
|
||||
var/phrase = 1
|
||||
var/aggressiveness = 1
|
||||
var/safety = 1
|
||||
var/list/phrase_list = list(
|
||||
"halt" = "HALT! HALT! HALT! HALT!",
|
||||
"bobby" = "Stop in the name of the Law.",
|
||||
"compliance" = "Compliance is in your best interest.",
|
||||
"justice" = "Prepare for justice!",
|
||||
"running" = "Running will only increase your sentence.",
|
||||
"dontmove" = "Don't move, Creep!",
|
||||
"floor" = "Down on the floor, Creep!",
|
||||
"robocop" = "Dead or alive you're coming with me.",
|
||||
"god" = "God made today for the crooks we could not catch yesterday.",
|
||||
"freeze" = "Freeze, Scum Bag!",
|
||||
"imperial" = "Stop right there, criminal scum!",
|
||||
"bash" = "Stop or I'll bash you.",
|
||||
"harry" = "Go ahead, make my day.",
|
||||
"asshole" = "Stop breaking the law, asshole.",
|
||||
"stfu" = "You have the right to shut the fuck up",
|
||||
"shutup" = "Shut up crime!",
|
||||
"super" = "Face the wrath of the golden bolt.",
|
||||
"dredd" = "I am, the LAW!"
|
||||
)
|
||||
|
||||
/obj/item/clothing/mask/gas/sechailer/swat/hos
|
||||
name = "\improper HOS SWAT mask"
|
||||
desc = "A close-fitting tactical mask with an especially aggressive Compli-o-nator 3000. It has a tan stripe."
|
||||
icon_state = "hosmask"
|
||||
|
||||
|
||||
/obj/item/clothing/mask/gas/sechailer/swat/warden
|
||||
name = "\improper Warden SWAT mask"
|
||||
desc = "A close-fitting tactical mask with an especially aggressive Compli-o-nator 3000. It has a blue stripe."
|
||||
icon_state = "wardenmask"
|
||||
|
||||
/obj/item/clothing/mask/gas/sechailer/swat/officer //Just a little nicer to begin with. Can always up the anger with a screwdriver!
|
||||
aggressiveness = 1
|
||||
phrase = 1
|
||||
|
||||
/obj/item/clothing/mask/gas/sechailer/swat
|
||||
name = "\improper SWAT mask"
|
||||
desc = "A close-fitting tactical mask with an especially aggressive Compli-o-nator 3000."
|
||||
icon_state = "officermask"
|
||||
body_parts_covered = HEAD|FACE|EYES
|
||||
flags_inv = HIDEFACE|BLOCKHAIR
|
||||
aggressiveness = 3
|
||||
phrase = 12
|
||||
|
||||
|
||||
/obj/item/clothing/mask/gas/sechailer/ui_action_click()
|
||||
halt()
|
||||
|
||||
/obj/item/clothing/mask/gas/sechailer/AltClick(mob/user)
|
||||
selectphrase()
|
||||
|
||||
/obj/item/clothing/mask/gas/sechailer/verb/selectphrase()
|
||||
set name = "Select gas mask phrase"
|
||||
set category = "Object"
|
||||
set desc = "Alter the message shouted by your complionator gas mask."
|
||||
|
||||
var/key = phrase_list[phrase]
|
||||
var/message = phrase_list[key]
|
||||
|
||||
if (!safety)
|
||||
to_chat(usr, "<span class='notice'>You set the restrictor to: FUCK YOUR CUNT YOU SHIT EATING COCKSUCKER MAN EAT A DONG FUCKING ASS RAMMING SHIT FUCK EAT PENISES IN YOUR FUCK FACE AND SHIT OUT ABORTIONS OF FUCK AND DO SHIT IN YOUR ASS YOU COCK FUCK SHIT MONKEY FUCK ASS WANKER FROM THE DEPTHS OF SHIT.</span>")
|
||||
return
|
||||
switch(aggressiveness)
|
||||
if(1)
|
||||
phrase = (phrase < 6) ? (phrase + 1) : 1
|
||||
key = phrase_list[phrase]
|
||||
message = phrase_list[key]
|
||||
to_chat(usr,"<span class='notice'>You set the restrictor to: [message]</span>")
|
||||
if(2)
|
||||
phrase = (phrase < 11 && phrase >= 7) ? (phrase + 1) : 7
|
||||
key = phrase_list[phrase]
|
||||
message = phrase_list[key]
|
||||
to_chat(usr,"<span class='notice'>You set the restrictor to: [message]</span>")
|
||||
if(3)
|
||||
phrase = (phrase < 18 && phrase >= 12 ) ? (phrase + 1) : 12
|
||||
key = phrase_list[phrase]
|
||||
message = phrase_list[key]
|
||||
to_chat(usr,"<span class='notice'>You set the restrictor to: [message]</span>")
|
||||
if(4)
|
||||
phrase = (phrase < 18 && phrase >= 1 ) ? (phrase + 1) : 1
|
||||
key = phrase_list[phrase]
|
||||
message = phrase_list[key]
|
||||
to_chat(usr,"<span class='notice'>You set the restrictor to: [message]</span>")
|
||||
else
|
||||
to_chat(usr, "<span class='notice'>It's broken.</span>")
|
||||
|
||||
/obj/item/clothing/mask/gas/sechailer/emag_act(mob/user)
|
||||
if(safety)
|
||||
safety = 0
|
||||
to_chat(user, "<span class='warning'>You silently fry [src]'s vocal circuit with the cryptographic sequencer.</span>")
|
||||
else
|
||||
return
|
||||
|
||||
/obj/item/clothing/mask/gas/sechailer/attackby(obj/item/I, mob/user)
|
||||
if(I.is_screwdriver())
|
||||
switch(aggressiveness)
|
||||
if(1)
|
||||
to_chat(user, "<span class='notice'>You set the aggressiveness restrictor to the second position.</span>")
|
||||
aggressiveness = 2
|
||||
phrase = 7
|
||||
if(2)
|
||||
to_chat(user, "<span class='notice'>You set the aggressiveness restrictor to the third position.</span>")
|
||||
aggressiveness = 3
|
||||
phrase = 13
|
||||
if(3)
|
||||
to_chat(user, "<span class='notice'>You set the aggressiveness restrictor to the fourth position.</span>")
|
||||
aggressiveness = 4
|
||||
phrase = 1
|
||||
if(4)
|
||||
to_chat(user, "<span class='notice'>You set the aggressiveness restrictor to the first position.</span>")
|
||||
aggressiveness = 1
|
||||
phrase = 1
|
||||
if(5)
|
||||
to_chat(user, "<span class='warning'>You adjust the restrictor but nothing happens, probably because its broken.</span>")
|
||||
if(I.is_wirecutter())
|
||||
if(aggressiveness != 5)
|
||||
to_chat(user, "<span class='warning'>You broke it!</span>")
|
||||
aggressiveness = 5
|
||||
if(I.is_crowbar())
|
||||
if(!hailer)
|
||||
to_chat(user, "<span class='warning'>This mask has an integrated hailer, you can't remove it!</span>")
|
||||
else
|
||||
var/obj/N = new /obj/item/clothing/mask/gas/half(src.loc)
|
||||
playsound(src, 'sound/items/Screwdriver.ogg', 50, 1)
|
||||
N.fingerprints = src.fingerprints
|
||||
N.fingerprintshidden = src.fingerprintshidden
|
||||
N.fingerprintslast = src.fingerprintslast
|
||||
N.suit_fibers = src.suit_fibers
|
||||
if(!isturf(N.loc))
|
||||
user.put_in_hands(hailer)
|
||||
user.put_in_hands(N)
|
||||
else
|
||||
hailer.loc = N.loc
|
||||
qdel(src)
|
||||
return
|
||||
..()
|
||||
|
||||
/obj/item/clothing/mask/gas/sechailer/verb/halt()
|
||||
set name = "HALT!"
|
||||
set category = "Objects"
|
||||
set desc = "Activate your face mask hailer."
|
||||
var/key = phrase_list[phrase]
|
||||
var/message = phrase_list[key]
|
||||
|
||||
if(cooldown < world.time - 35) // A cooldown, to stop people being jerks
|
||||
if(!safety)
|
||||
message = "FUCK YOUR CUNT YOU SHIT EATING COCKSUCKER MAN EAT A DONG FUCKING ASS RAMMING SHIT FUCK EAT PENISES IN YOUR FUCK FACE AND SHIT OUT ABORTIONS OF FUCK AND DO SHIT IN YOUR ASS YOU COCK FUCK SHIT MONKEY FUCK ASS WANKER FROM THE DEPTHS OF SHIT."
|
||||
usr.visible_message("[usr]'s Compli-o-Nator: <font color='red' size='4'><b>[message]</b></font>")
|
||||
playsound(src, 'sound/voice/binsult.ogg', 50, 0, 4) //Future sound channel = something like SFX
|
||||
cooldown = world.time
|
||||
return
|
||||
|
||||
usr.visible_message("[usr]'s Compli-o-Nator: <font color='red' size='4'><b>[message]</b></font>")
|
||||
playsound(src, "sound/voice/complionator/[key].ogg", 50, 0, 4) //future sound channel = something like SFX
|
||||
cooldown = world.time
|
||||
@@ -480,7 +480,6 @@
|
||||
#include "code\datums\roundstats\departmentgoal.dm"
|
||||
#include "code\datums\roundstats\roundstats.dm"
|
||||
#include "code\datums\supplypacks\atmospherics.dm"
|
||||
#include "code\datums\supplypacks\contraband.dm"
|
||||
#include "code\datums\supplypacks\contraband_vr.dm"
|
||||
#include "code\datums\supplypacks\costumes.dm"
|
||||
#include "code\datums\supplypacks\costumes_vr.dm"
|
||||
@@ -1669,7 +1668,6 @@
|
||||
#include "code\game\objects\structures\crates_lockers\closets\secure\personal.dm"
|
||||
#include "code\game\objects\structures\crates_lockers\closets\secure\scientist.dm"
|
||||
#include "code\game\objects\structures\crates_lockers\closets\secure\secure_closets.dm"
|
||||
#include "code\game\objects\structures\crates_lockers\closets\secure\security.dm"
|
||||
#include "code\game\objects\structures\crates_lockers\closets\secure\security_vr.dm"
|
||||
#include "code\game\objects\structures\flora\flora.dm"
|
||||
#include "code\game\objects\structures\flora\flora_vr.dm"
|
||||
@@ -2138,7 +2136,6 @@
|
||||
#include "code\modules\clothing\masks\breath_vr.dm"
|
||||
#include "code\modules\clothing\masks\gasmask.dm"
|
||||
#include "code\modules\clothing\masks\gasmask_vr.dm"
|
||||
#include "code\modules\clothing\masks\hailer.dm"
|
||||
#include "code\modules\clothing\masks\miscellaneous.dm"
|
||||
#include "code\modules\clothing\masks\miscellaneous_vr.dm"
|
||||
#include "code\modules\clothing\masks\shiny_vr.dm"
|
||||
@@ -4556,6 +4553,7 @@
|
||||
#include "modular_chomp\code\datums\components\gargoyle.dm"
|
||||
#include "modular_chomp\code\datums\interfaces\appearance.dm"
|
||||
#include "modular_chomp\code\datums\outfits\jobs\noncrew.dm"
|
||||
#include "modular_chomp\code\datums\supplypacks\contraband.dm"
|
||||
#include "modular_chomp\code\datums\supplypacks\medical.dm"
|
||||
#include "modular_chomp\code\datums\supplypacks\science.dm"
|
||||
#include "modular_chomp\code\datums\supplypacks\security.dm"
|
||||
@@ -4583,6 +4581,7 @@
|
||||
#include "modular_chomp\code\game\objects\structures\loot_pile.dm"
|
||||
#include "modular_chomp\code\game\objects\structures\watercloset_ch.dm"
|
||||
#include "modular_chomp\code\game\objects\structures\crate_lockers\largecrate.dm"
|
||||
#include "modular_chomp\code\game\objects\structures\crate_lockers\closets\secure\security.dm"
|
||||
#include "modular_chomp\code\game\turfs\turf.dm"
|
||||
#include "modular_chomp\code\game\turfs\simulated\outdoors\desert_planet.dm"
|
||||
#include "modular_chomp\code\matrices\color_matrix.dm"
|
||||
@@ -4599,6 +4598,7 @@
|
||||
#include "modular_chomp\code\modules\client\preference_setup\loadout\loadout_xeno.dm"
|
||||
#include "modular_chomp\code\modules\clothing\clothing.dm"
|
||||
#include "modular_chomp\code\modules\clothing\clothing_icons.dm"
|
||||
#include "modular_chomp\code\modules\clothing\masks\hailer.dm"
|
||||
#include "modular_chomp\code\modules\clothing\spacesuits\rig\.behemoth.dm"
|
||||
#include "modular_chomp\code\modules\clothing\spacesuits\rig\clockwork_ch.dm"
|
||||
#include "modular_chomp\code\modules\clothing\spacesuits\rig\precursor.dm"
|
||||
|
||||
Reference in New Issue
Block a user