mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-01-26 00:51:23 +00:00
## About The Pull Request Labels a few bits of security equipment as lethal, nonlethal, less-than-lethal or highly destructive (in the case of ion carbines or flamethrowers). For shotgun shell boxes, ammo boxes and weapon crafting kits, it clarifies this in the name. For printable individual ammo, it clarifies this in the print name. ## Why It's Good For The Game [This thread](https://tgstation13.org/phpBB/viewtopic.php?p=676311#p676311) reminded me that I've seen a lot of confusion about various pieces of security equipment and what exactly the distinction is between lethal, nonlethal and less-lethal actually is. People actively use a lot of less-lethal equipment while thinking that it is nonlethal. It isn't. You absolutely can kill someone with rubber shot and beanbags, and the AI will get up in your grill about it. The same can be said about weapons such as the energy crossbow. I saw one person flabbergasted that by repeatedly shooting someone with it, they killed their prisoner with toxin damage. While the weapon is mostly stamina damage, it still deals a hefty amount of toxin damage, so shouldn't be used necessarily in place of a disabler or baton. Equally, I've seen some people using temperature guns recklessly and finding out far too late that they've murdered a lizardperson by shooting them once, or wondering why the AI is angry at them for using it when it doesn't _seemingly_ cause damage immediately. This has resulted in administrative issues. We can't assume our players know these distinctions before utilizing this equipment, so having some helpful gear titles will hopefully inform them before they walk into these problems. ## Changelog 🆑 qol: Clarifies in various names and descriptions whether security equipment is lethal, nonlethal, less-than-lethal or destructive. /🆑
299 lines
9.4 KiB
Plaintext
299 lines
9.4 KiB
Plaintext
// This file contains everything used by security, or in other combat applications.
|
|
|
|
/obj/item/storage/box/flashbangs
|
|
name = "box of flashbangs (WARNING)"
|
|
desc = "<B>WARNING: These devices are extremely dangerous and can cause blindness or deafness in repeated use.</B>"
|
|
icon_state = "secbox"
|
|
illustration = "flashbang"
|
|
|
|
/obj/item/storage/box/flashbangs/PopulateContents()
|
|
for(var/i in 1 to 7)
|
|
new /obj/item/grenade/flashbang(src)
|
|
|
|
/obj/item/storage/box/stingbangs
|
|
name = "box of stingbangs (WARNING)"
|
|
desc = "<B>WARNING: These devices are extremely dangerous and can cause severe injuries or death in repeated use.</B>"
|
|
icon_state = "secbox"
|
|
illustration = "flashbang"
|
|
|
|
/obj/item/storage/box/stingbangs/PopulateContents()
|
|
for(var/i in 1 to 5)
|
|
new /obj/item/grenade/stingbang(src)
|
|
|
|
/obj/item/storage/box/flashes
|
|
name = "box of flashbulbs"
|
|
desc = "<B>WARNING: Flashes can cause serious eye damage, protective eyewear is required.</B>"
|
|
icon_state = "secbox"
|
|
illustration = "flash"
|
|
|
|
/obj/item/storage/box/flashes/PopulateContents()
|
|
for(var/i in 1 to 6)
|
|
new /obj/item/assembly/flash/handheld(src)
|
|
|
|
/obj/item/storage/box/wall_flash
|
|
name = "wall-mounted flash kit"
|
|
desc = "This box contains everything necessary to build a wall-mounted flash. <B>WARNING: Flashes can cause serious eye damage, protective eyewear is required.</B>"
|
|
icon_state = "secbox"
|
|
illustration = "flash"
|
|
|
|
/obj/item/storage/box/wall_flash/PopulateContents()
|
|
var/id = rand(1000, 9999)
|
|
// FIXME what if this conflicts with an existing one?
|
|
|
|
new /obj/item/wallframe/button(src)
|
|
new /obj/item/electronics/airlock(src)
|
|
var/obj/item/assembly/control/flasher/remote = new(src)
|
|
remote.id = id
|
|
var/obj/item/wallframe/flasher/frame = new(src)
|
|
frame.id = id
|
|
new /obj/item/assembly/flash/handheld(src)
|
|
new /obj/item/screwdriver(src)
|
|
|
|
|
|
/obj/item/storage/box/teargas
|
|
name = "box of tear gas grenades (WARNING)"
|
|
desc = "<B>WARNING: These devices are extremely dangerous and can cause blindness and skin irritation.</B>"
|
|
icon_state = "secbox"
|
|
illustration = "grenade"
|
|
|
|
/obj/item/storage/box/teargas/PopulateContents()
|
|
for(var/i in 1 to 7)
|
|
new /obj/item/grenade/chem_grenade/teargas(src)
|
|
|
|
/obj/item/storage/box/emps
|
|
name = "box of emp grenades"
|
|
desc = "A box with 5 emp grenades."
|
|
illustration = "emp"
|
|
|
|
/obj/item/storage/box/emps/PopulateContents()
|
|
for(var/i in 1 to 5)
|
|
new /obj/item/grenade/empgrenade(src)
|
|
|
|
/obj/item/storage/box/trackimp
|
|
name = "boxed tracking implant kit"
|
|
desc = "Box full of scum-bag tracking utensils."
|
|
icon_state = "secbox"
|
|
illustration = "implant"
|
|
|
|
/obj/item/storage/box/trackimp/PopulateContents()
|
|
var/static/items_inside = list(
|
|
/obj/item/implantcase/tracking = 4,
|
|
/obj/item/implanter = 1,
|
|
/obj/item/implantpad = 1,
|
|
/obj/item/locator = 1,
|
|
)
|
|
generate_items_inside(items_inside,src)
|
|
|
|
/obj/item/storage/box/minertracker
|
|
name = "boxed tracking implant kit"
|
|
desc = "For finding those who have died on the accursed lavaworld."
|
|
illustration = "implant"
|
|
|
|
/obj/item/storage/box/minertracker/PopulateContents()
|
|
var/static/items_inside = list(
|
|
/obj/item/implantcase/tracking = 3,
|
|
/obj/item/implanter = 1,
|
|
/obj/item/implantpad = 1,
|
|
/obj/item/locator = 1,
|
|
)
|
|
generate_items_inside(items_inside,src)
|
|
|
|
/obj/item/storage/box/chemimp
|
|
name = "boxed chemical implant kit"
|
|
desc = "Box of stuff used to implant chemicals."
|
|
illustration = "implant"
|
|
|
|
/obj/item/storage/box/chemimp/PopulateContents()
|
|
var/static/items_inside = list(
|
|
/obj/item/implantcase/chem = 5,
|
|
/obj/item/implanter = 1,
|
|
/obj/item/implantpad = 1,
|
|
)
|
|
generate_items_inside(items_inside,src)
|
|
|
|
/obj/item/storage/box/exileimp
|
|
name = "boxed exile implant kit"
|
|
desc = "Box of exile implants. It has a picture of a clown being booted through the Gateway."
|
|
illustration = "implant"
|
|
|
|
/obj/item/storage/box/exileimp/PopulateContents()
|
|
var/static/items_inside = list(
|
|
/obj/item/implantcase/exile = 5,
|
|
/obj/item/implanter = 1,
|
|
)
|
|
generate_items_inside(items_inside,src)
|
|
|
|
/obj/item/storage/box/prisoner
|
|
name = "box of prisoner IDs"
|
|
desc = "Take away their last shred of dignity, their name."
|
|
icon_state = "secbox"
|
|
illustration = "id"
|
|
|
|
/obj/item/storage/box/prisoner/PopulateContents()
|
|
..()
|
|
new /obj/item/card/id/advanced/prisoner/one(src)
|
|
new /obj/item/card/id/advanced/prisoner/two(src)
|
|
new /obj/item/card/id/advanced/prisoner/three(src)
|
|
new /obj/item/card/id/advanced/prisoner/four(src)
|
|
new /obj/item/card/id/advanced/prisoner/five(src)
|
|
new /obj/item/card/id/advanced/prisoner/six(src)
|
|
new /obj/item/card/id/advanced/prisoner/seven(src)
|
|
|
|
/obj/item/storage/box/seccarts
|
|
name = "box of PDA security cartridges"
|
|
desc = "A box full of PDA cartridges used by Security."
|
|
icon_state = "secbox"
|
|
illustration = "pda"
|
|
|
|
/obj/item/storage/box/seccarts/PopulateContents()
|
|
for(var/i in 1 to 6)
|
|
new /obj/item/computer_disk/security(src)
|
|
|
|
/obj/item/storage/box/firingpins
|
|
name = "box of standard firing pins"
|
|
desc = "A box full of standard firing pins, to allow newly-developed firearms to operate."
|
|
icon_state = "secbox"
|
|
illustration = "firingpin"
|
|
|
|
/obj/item/storage/box/firingpins/PopulateContents()
|
|
for(var/i in 1 to 5)
|
|
new /obj/item/firing_pin(src)
|
|
|
|
/obj/item/storage/box/firingpins/paywall
|
|
name = "box of paywall firing pins"
|
|
desc = "A box full of paywall firing pins, to allow newly-developed firearms to operate behind a custom-set paywall."
|
|
illustration = "firingpin"
|
|
|
|
/obj/item/storage/box/firingpins/paywall/PopulateContents()
|
|
for(var/i in 1 to 5)
|
|
new /obj/item/firing_pin/paywall(src)
|
|
|
|
/obj/item/storage/box/lasertagpins
|
|
name = "box of laser tag firing pins"
|
|
desc = "A box full of laser tag firing pins, to allow newly-developed firearms to require wearing brightly coloured plastic armor before being able to be used."
|
|
illustration = "firingpin"
|
|
|
|
/obj/item/storage/box/lasertagpins/PopulateContents()
|
|
for(var/i in 1 to 3)
|
|
new /obj/item/firing_pin/tag/red(src)
|
|
new /obj/item/firing_pin/tag/blue(src)
|
|
|
|
/obj/item/storage/box/handcuffs
|
|
name = "box of spare handcuffs"
|
|
desc = "A box full of handcuffs."
|
|
icon_state = "secbox"
|
|
illustration = "handcuff"
|
|
|
|
/obj/item/storage/box/handcuffs/PopulateContents()
|
|
for(var/i in 1 to 7)
|
|
new /obj/item/restraints/handcuffs(src)
|
|
|
|
/obj/item/storage/box/zipties
|
|
name = "box of spare zipties"
|
|
desc = "A box full of zipties."
|
|
icon_state = "secbox"
|
|
illustration = "handcuff"
|
|
|
|
/obj/item/storage/box/zipties/PopulateContents()
|
|
for(var/i in 1 to 7)
|
|
new /obj/item/restraints/handcuffs/cable/zipties(src)
|
|
|
|
/obj/item/storage/box/alienhandcuffs
|
|
name = "box of spare handcuffs"
|
|
desc = "A box full of handcuffs."
|
|
icon_state = "alienbox"
|
|
illustration = "handcuff"
|
|
|
|
/obj/item/storage/box/alienhandcuffs/PopulateContents()
|
|
for(var/i in 1 to 7)
|
|
new /obj/item/restraints/handcuffs/alien(src)
|
|
|
|
/obj/item/storage/box/rubbershot
|
|
name = "box of shotgun shells (Less Lethal - Rubber Shot)"
|
|
desc = "A box full of rubber shot shotgun shells, designed for shotguns."
|
|
icon_state = "rubbershot_box"
|
|
illustration = null
|
|
|
|
/obj/item/storage/box/rubbershot/PopulateContents()
|
|
for(var/i in 1 to 7)
|
|
new /obj/item/ammo_casing/shotgun/rubbershot(src)
|
|
|
|
/obj/item/storage/box/lethalshot
|
|
name = "box of shotgun shells (Lethal)"
|
|
desc = "A box full of lethal shotgun shells, designed for shotguns."
|
|
icon_state = "lethalshot_box"
|
|
illustration = null
|
|
|
|
/obj/item/storage/box/lethalshot/PopulateContents()
|
|
for(var/i in 1 to 7)
|
|
new /obj/item/ammo_casing/shotgun/buckshot(src)
|
|
|
|
/obj/item/storage/box/beanbag
|
|
name = "box of shotgun shells (Less Lethal - Beanbag)"
|
|
desc = "A box full of beanbag shotgun shells, designed for shotguns."
|
|
icon_state = "beanbagshot_box"
|
|
illustration = null
|
|
|
|
/obj/item/storage/box/beanbag/PopulateContents()
|
|
for(var/i in 1 to 6)
|
|
new /obj/item/ammo_casing/shotgun/beanbag(src)
|
|
|
|
/obj/item/storage/box/emptysandbags
|
|
name = "box of empty sandbags"
|
|
illustration = "sandbag"
|
|
|
|
/obj/item/storage/box/emptysandbags/PopulateContents()
|
|
for(var/i in 1 to 7)
|
|
new /obj/item/emptysandbag(src)
|
|
|
|
/obj/item/storage/box/holy_grenades
|
|
name = "box of holy hand grenades"
|
|
desc = "Contains several grenades used to rapidly purge heresy."
|
|
illustration = "grenade"
|
|
|
|
/obj/item/storage/box/holy_grenades/PopulateContents()
|
|
for(var/i in 1 to 7)
|
|
new/obj/item/grenade/chem_grenade/holy(src)
|
|
|
|
/obj/item/storage/box/fireworks
|
|
name = "box of fireworks"
|
|
desc = "Contains an assortment of fireworks."
|
|
illustration = "sparkler"
|
|
|
|
/obj/item/storage/box/fireworks/PopulateContents()
|
|
for(var/i in 1 to 3)
|
|
new/obj/item/sparkler(src)
|
|
new/obj/item/grenade/firecracker(src)
|
|
new /obj/item/toy/snappop(src)
|
|
|
|
/obj/item/storage/box/fireworks/dangerous
|
|
desc = "This box has a small label on it stating that it's from the Gorlex Marauders. Contains an assortment of \"fireworks\"."
|
|
|
|
/obj/item/storage/box/fireworks/dangerous/PopulateContents()
|
|
for(var/i in 1 to 3)
|
|
new/obj/item/sparkler(src)
|
|
new/obj/item/grenade/firecracker(src)
|
|
if(prob(20))
|
|
new /obj/item/grenade/frag(src)
|
|
else
|
|
new /obj/item/toy/snappop(src)
|
|
|
|
/obj/item/storage/box/firecrackers
|
|
name = "box of firecrackers"
|
|
desc = "A box filled with illegal firecrackers. You wonder who still makes these."
|
|
icon_state = "syndiebox"
|
|
illustration = "firecracker"
|
|
|
|
/obj/item/storage/box/firecrackers/PopulateContents()
|
|
for(var/i in 1 to 7)
|
|
new/obj/item/grenade/firecracker(src)
|
|
|
|
/obj/item/storage/box/sparklers
|
|
name = "box of sparklers"
|
|
desc = "A box of Nanotrasen brand sparklers, burns hot even in the cold of space-winter."
|
|
illustration = "sparkler"
|
|
|
|
/obj/item/storage/box/sparklers/PopulateContents()
|
|
for(var/i in 1 to 7)
|
|
new/obj/item/sparkler(src)
|