Removes All Weapons

This commit is contained in:
Fox McCloud
2018-04-15 16:25:56 -04:00
parent 8b576c4d42
commit 5c4aa9b3fd
1100 changed files with 17642 additions and 17666 deletions
@@ -1,4 +1,4 @@
/obj/item/weapon/storage/toolbox/green
/obj/item/storage/toolbox/green
name = "artistic toolbox"
desc = "A metal container designed to hold various tools. This variety holds art supplies."
icon_state = "green"
@@ -7,7 +7,7 @@
lefthand_file = 'icons/goonstation/mob/inhands/items_lefthand.dmi'
righthand_file = 'icons/goonstation/mob/inhands/items_righthand.dmi'
/obj/item/weapon/storage/toolbox/green/memetic
/obj/item/storage/toolbox/green/memetic
name = "artistic toolbox"
desc = "His Grace."
force = 5
@@ -20,7 +20,7 @@
var/activated = 0
var/mindless_override = 0
/obj/item/weapon/storage/toolbox/green/memetic/attack_hand(mob/living/carbon/user)
/obj/item/storage/toolbox/green/memetic/attack_hand(mob/living/carbon/user)
if(!activated)
if(ishuman(user) && !user.HasDisease(new /datum/disease/memetic_madness(0)))
activated = 1
@@ -38,10 +38,10 @@
return
..()
/obj/item/weapon/storage/toolbox/green/memetic/attackby(obj/item/I, mob/user)
/obj/item/storage/toolbox/green/memetic/attackby(obj/item/I, mob/user)
if(activated)
if(istype(I, /obj/item/weapon/grab/))
var/obj/item/weapon/grab/G = I
if(istype(I, /obj/item/grab/))
var/obj/item/grab/G = I
if(!G.affecting)
return
if(!user.HasDisease(new /datum/disease/memetic_madness(0)))
@@ -73,7 +73,7 @@
..()
/obj/item/weapon/storage/toolbox/green/memetic/proc/consume(mob/M)
/obj/item/storage/toolbox/green/memetic/proc/consume(mob/M)
if(!M)
return
hunger = 0
@@ -84,11 +84,11 @@
M.ghostize()
if(M == original_owner)
qdel(M)
var/obj/item/weapon/storage/toolbox/green/fake_toolbox = new(get_turf(src))
var/obj/item/storage/toolbox/green/fake_toolbox = new(get_turf(src))
fake_toolbox.desc = "It looks a lot duller than it used to."
qdel(src)
/obj/item/weapon/storage/toolbox/green/memetic/Destroy()
/obj/item/storage/toolbox/green/memetic/Destroy()
for(var/mob/living/carbon/human/H in src)
H.forceMove(get_turf(src))
visible_message("<span class='warning'>[H] bursts out of [src]!</span>")
@@ -118,7 +118,7 @@
severity = BIOHAZARD
disease_flags = CURABLE
spread_flags = NON_CONTAGIOUS
var/obj/item/weapon/storage/toolbox/green/memetic/progenitor = null
var/obj/item/storage/toolbox/green/memetic/progenitor = null
/datum/disease/memetic_madness/Destroy()
progenitor = null
@@ -3,7 +3,7 @@
* Backpack
*/
/obj/item/weapon/storage/backpack
/obj/item/storage/backpack
name = "backpack"
desc = "You wear this on your back and put items into it."
icon_state = "backpack"
@@ -22,7 +22,7 @@
"Vox" = 'icons/mob/species/vox/back.dmi'
)
/obj/item/weapon/storage/backpack/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
/obj/item/storage/backpack/attackby(obj/item/W as obj, mob/user as mob, params)
playsound(src.loc, "rustle", 50, 1, -5)
return ..()
@@ -30,7 +30,7 @@
* Backpack Types
*/
/obj/item/weapon/storage/backpack/holding
/obj/item/storage/backpack/holding
name = "Bag of Holding"
desc = "A backpack that opens into a localized pocket of Blue Space."
origin_tech = "bluespace=5;materials=4;engineering=4;plasmatech=5"
@@ -38,14 +38,14 @@
max_w_class = WEIGHT_CLASS_HUGE
max_combined_w_class = 35
burn_state = FIRE_PROOF
cant_hold = list(/obj/item/weapon/storage/backpack/holding)
cant_hold = list(/obj/item/storage/backpack/holding)
/obj/item/weapon/storage/backpack/holding/New()
/obj/item/storage/backpack/holding/New()
..()
return
/obj/item/weapon/storage/backpack/holding/attackby(obj/item/weapon/W, mob/user, params)
if(istype(W, /obj/item/weapon/storage/backpack/holding))
/obj/item/storage/backpack/holding/attackby(obj/item/W, mob/user, params)
if(istype(W, /obj/item/storage/backpack/holding))
var/response = alert(user, "Are you sure you want to put the bag of holding inside another bag of holding?","Are you sure you want to die?","Yes","No")
if(response == "Yes")
user.visible_message("<span class='warning'>[user] grins as \he begins to put a Bag of Holding into a Bag of Holding!</span>", "<span class='warning'>You begin to put the Bag of Holding into the Bag of Holding!</span>")
@@ -63,12 +63,12 @@
else
. = ..()
/obj/item/weapon/storage/backpack/holding/singularity_act(current_size)
/obj/item/storage/backpack/holding/singularity_act(current_size)
var/dist = max((current_size - 2),1)
explosion(src.loc,(dist),(dist*2),(dist*4))
return
/obj/item/weapon/storage/backpack/santabag
/obj/item/storage/backpack/santabag
name = "Santa's Gift Bag"
desc = "Space Santa uses this to deliver toys to all the nice children in space on Christmas! Wow, it's pretty big!"
icon_state = "giftbag0"
@@ -77,75 +77,75 @@
max_w_class = WEIGHT_CLASS_NORMAL
max_combined_w_class = 400 // can store a ton of shit!
/obj/item/weapon/storage/backpack/cultpack
/obj/item/storage/backpack/cultpack
name = "trophy rack"
desc = "It's useful for both carrying extra gear and proudly declaring your insanity."
icon_state = "cultpack"
/obj/item/weapon/storage/backpack/clown
/obj/item/storage/backpack/clown
name = "Giggles Von Honkerton"
desc = "It's a backpack made by Honk! Co."
icon_state = "clownpack"
item_state = "clownpack"
/obj/item/weapon/storage/backpack/mime
/obj/item/storage/backpack/mime
name = "Parcel Parceaux"
desc = "A silent backpack made for those silent workers. Silence Co."
icon_state = "mimepack"
item_state = "mimepack"
/obj/item/weapon/storage/backpack/medic
/obj/item/storage/backpack/medic
name = "medical backpack"
desc = "It's a backpack especially designed for use in a sterile environment."
icon_state = "medicalpack"
item_state = "medicalpack"
/obj/item/weapon/storage/backpack/security
/obj/item/storage/backpack/security
name = "security backpack"
desc = "It's a very robust backpack."
icon_state = "securitypack"
item_state = "securitypack"
/obj/item/weapon/storage/backpack/captain
/obj/item/storage/backpack/captain
name = "captain's backpack"
desc = "It's a special backpack made exclusively for Nanotrasen officers."
icon_state = "captainpack"
item_state = "captainpack"
burn_state = FIRE_PROOF
/obj/item/weapon/storage/backpack/industrial
/obj/item/storage/backpack/industrial
name = "industrial backpack"
desc = "It's a tough backpack for the daily grind of station life."
icon_state = "engiepack"
item_state = "engiepack"
burn_state = FIRE_PROOF
/obj/item/weapon/storage/backpack/botany
/obj/item/storage/backpack/botany
name = "botany backpack"
desc = "It's a backpack made of all-natural fibers."
icon_state = "botpack"
item_state = "botpack"
/obj/item/weapon/storage/backpack/chemistry
/obj/item/storage/backpack/chemistry
name = "chemistry backpack"
desc = "A backpack specially designed to repel stains and hazardous liquids."
icon_state = "chempack"
item_state = "chempack"
/obj/item/weapon/storage/backpack/genetics
/obj/item/storage/backpack/genetics
name = "genetics backpack"
desc = "A bag designed to be super tough, just in case someone hulks out on you."
icon_state = "genepack"
item_state = "genepack"
/obj/item/weapon/storage/backpack/science
/obj/item/storage/backpack/science
name = "science backpack"
desc = "A specially designed backpack. It's fire resistant and smells vaguely of plasma."
icon_state = "toxpack"
item_state = "toxpack"
burn_state = FIRE_PROOF
/obj/item/weapon/storage/backpack/virology
/obj/item/storage/backpack/virology
name = "virology backpack"
desc = "A backpack made of hypo-allergenic fibers. It's designed to help prevent the spread of disease. Smells like monkey."
icon_state = "viropack"
@@ -155,85 +155,85 @@
* Satchel Types
*/
/obj/item/weapon/storage/backpack/satchel
/obj/item/storage/backpack/satchel
name = "leather satchel"
desc = "It's a very fancy satchel made with fine leather."
icon_state = "satchel"
burn_state = FIRE_PROOF
/obj/item/weapon/storage/backpack/satcheldeluxe
/obj/item/storage/backpack/satcheldeluxe
name = "leather satchel"
desc = "An NT Deluxe satchel, with the finest quality leather and the company logo in a thin gold stitch"
icon_state = "nt_deluxe"
/obj/item/weapon/storage/backpack/satchel/withwallet
/obj/item/storage/backpack/satchel/withwallet
New()
..()
new /obj/item/weapon/storage/wallet/random( src )
new /obj/item/storage/wallet/random( src )
/obj/item/weapon/storage/backpack/satchel_norm
/obj/item/storage/backpack/satchel_norm
name = "satchel"
desc = "A deluxe NT Satchel, made of the highest quality leather."
icon_state = "satchel-norm"
/obj/item/weapon/storage/backpack/satchel_eng
/obj/item/storage/backpack/satchel_eng
name = "industrial satchel"
desc = "A tough satchel with extra pockets."
icon_state = "satchel-eng"
burn_state = FIRE_PROOF
/obj/item/weapon/storage/backpack/satchel_med
/obj/item/storage/backpack/satchel_med
name = "medical satchel"
desc = "A sterile satchel used in medical departments."
icon_state = "satchel-med"
/obj/item/weapon/storage/backpack/satchel_vir
/obj/item/storage/backpack/satchel_vir
name = "virologist satchel"
desc = "A sterile satchel with virologist colours."
icon_state = "satchel-vir"
/obj/item/weapon/storage/backpack/satchel_chem
/obj/item/storage/backpack/satchel_chem
name = "chemist satchel"
desc = "A sterile satchel with chemist colours."
icon_state = "satchel-chem"
/obj/item/weapon/storage/backpack/satchel_gen
/obj/item/storage/backpack/satchel_gen
name = "geneticist satchel"
desc = "A sterile satchel with geneticist colours."
icon_state = "satchel-gen"
/obj/item/weapon/storage/backpack/satchel_tox
/obj/item/storage/backpack/satchel_tox
name = "scientist satchel"
desc = "Useful for holding research materials."
icon_state = "satchel-tox"
burn_state = FIRE_PROOF
/obj/item/weapon/storage/backpack/satchel_sec
/obj/item/storage/backpack/satchel_sec
name = "security satchel"
desc = "A robust satchel for security related needs."
icon_state = "satchel-sec"
/obj/item/weapon/storage/backpack/satchel_hyd
/obj/item/storage/backpack/satchel_hyd
name = "hydroponics satchel"
desc = "A green satchel for plant related work."
icon_state = "satchel-hyd"
/obj/item/weapon/storage/backpack/satchel_cap
/obj/item/storage/backpack/satchel_cap
name = "captain's satchel"
desc = "An exclusive satchel for Nanotrasen officers."
icon_state = "satchel-cap"
burn_state = FIRE_PROOF
/obj/item/weapon/storage/backpack/satchel_flat
/obj/item/storage/backpack/satchel_flat
name = "smuggler's satchel"
desc = "A very slim satchel that can easily fit into tight spaces."
icon_state = "satchel-flat"
w_class = WEIGHT_CLASS_NORMAL //Can fit in backpacks itself.
max_combined_w_class = 15
level = 1
cant_hold = list(/obj/item/weapon/storage/backpack/satchel_flat) //muh recursive backpacks
cant_hold = list(/obj/item/storage/backpack/satchel_flat) //muh recursive backpacks
/obj/item/weapon/storage/backpack/satchel_flat/hide(var/intact)
/obj/item/storage/backpack/satchel_flat/hide(var/intact)
if(intact)
invisibility = 101
anchored = 1 //otherwise you can start pulling, cover it, and drag around an invisible backpack.
@@ -243,16 +243,16 @@
anchored = 0
icon_state = initial(icon_state)
/obj/item/weapon/storage/backpack/satchel_flat/New()
/obj/item/storage/backpack/satchel_flat/New()
..()
new /obj/item/stack/tile/plasteel(src)
new /obj/item/weapon/crowbar(src)
new /obj/item/crowbar(src)
/*
* Duffelbags - My thanks to MrSnapWalk for the original icon and Neinhaus for the job variants - Dave.
*/
/obj/item/weapon/storage/backpack/duffel
/obj/item/storage/backpack/duffel
name = "duffelbag"
desc = "A large grey duffelbag designed to hold more items than a regular bag."
icon_state = "duffel"
@@ -260,7 +260,7 @@
max_combined_w_class = 30
slowdown = 1
/obj/item/weapon/storage/backpack/duffel/syndie
/obj/item/storage/backpack/duffel/syndie
name = "suspicious looking duffelbag"
desc = "A large duffelbag for holding extra tactical supplies."
icon_state = "duffel-syndi"
@@ -269,22 +269,22 @@
silent = 1
slowdown = 0
/obj/item/weapon/storage/backpack/duffel/syndie/med
/obj/item/storage/backpack/duffel/syndie/med
name = "suspicious duffelbag"
desc = "A black and red duffelbag with a red and white cross sewn onto it."
icon_state = "duffel-syndimed"
item_state = "duffel-syndimed"
/obj/item/weapon/storage/backpack/duffel/syndie/ammo
/obj/item/storage/backpack/duffel/syndie/ammo
name = "suspicious duffelbag"
desc = "A black and red duffelbag with a patch depicting shotgun shells sewn onto it."
icon_state = "duffel-syndiammo"
item_state = "duffel-syndiammo"
/obj/item/weapon/storage/backpack/duffel/syndie/ammo/loaded
/obj/item/storage/backpack/duffel/syndie/ammo/loaded
desc = "A large duffelbag, packed to the brim with Bulldog shotgun ammo."
/obj/item/weapon/storage/backpack/duffel/syndie/ammo/loaded/New()
/obj/item/storage/backpack/duffel/syndie/ammo/loaded/New()
..()
new /obj/item/ammo_box/magazine/m12g(src)
new /obj/item/ammo_box/magazine/m12g(src)
@@ -296,147 +296,147 @@
new /obj/item/ammo_box/magazine/m12g/stun(src)
new /obj/item/ammo_box/magazine/m12g/dragon(src)
/obj/item/weapon/storage/backpack/duffel/syndie/surgery
/obj/item/storage/backpack/duffel/syndie/surgery
name = "surgery duffelbag"
desc = "A suspicious looking duffelbag for holding surgery tools."
icon_state = "duffel-syndimed"
item_state = "duffel-syndimed"
/obj/item/weapon/storage/backpack/duffel/syndie/surgery/New()
/obj/item/storage/backpack/duffel/syndie/surgery/New()
..()
new /obj/item/weapon/scalpel(src)
new /obj/item/weapon/hemostat(src)
new /obj/item/weapon/retractor(src)
new /obj/item/weapon/circular_saw(src)
new /obj/item/weapon/surgicaldrill(src)
new /obj/item/weapon/cautery(src)
new /obj/item/weapon/bonegel(src)
new /obj/item/weapon/bonesetter(src)
new /obj/item/weapon/FixOVein(src)
new /obj/item/scalpel(src)
new /obj/item/hemostat(src)
new /obj/item/retractor(src)
new /obj/item/circular_saw(src)
new /obj/item/surgicaldrill(src)
new /obj/item/cautery(src)
new /obj/item/bonegel(src)
new /obj/item/bonesetter(src)
new /obj/item/FixOVein(src)
new /obj/item/clothing/suit/straight_jacket(src)
new /obj/item/clothing/mask/muzzle(src)
new /obj/item/device/mmi/syndie(src)
/obj/item/weapon/storage/backpack/duffel/syndie/surgery_fake //for maint spawns
/obj/item/storage/backpack/duffel/syndie/surgery_fake //for maint spawns
name = "surgery duffelbag"
desc = "A suspicious looking duffelbag for holding surgery tools."
icon_state = "duffel-syndimed"
item_state = "duffel-syndimed"
/obj/item/weapon/storage/backpack/duffel/syndie/surgery_fake/New()
/obj/item/storage/backpack/duffel/syndie/surgery_fake/New()
..()
new /obj/item/weapon/scalpel(src)
new /obj/item/weapon/hemostat(src)
new /obj/item/weapon/retractor(src)
new /obj/item/weapon/cautery(src)
new /obj/item/weapon/bonegel(src)
new /obj/item/weapon/bonesetter(src)
new /obj/item/weapon/FixOVein(src)
new /obj/item/scalpel(src)
new /obj/item/hemostat(src)
new /obj/item/retractor(src)
new /obj/item/cautery(src)
new /obj/item/bonegel(src)
new /obj/item/bonesetter(src)
new /obj/item/FixOVein(src)
if(prob(50))
new /obj/item/weapon/circular_saw(src)
new /obj/item/weapon/surgicaldrill(src)
new /obj/item/circular_saw(src)
new /obj/item/surgicaldrill(src)
/obj/item/weapon/storage/backpack/duffel/captain
/obj/item/storage/backpack/duffel/captain
name = "captain's duffelbag"
desc = "A duffelbag designed to hold large quantities of condoms."
icon_state = "duffel-captain"
item_state = "duffel-captain"
burn_state = FIRE_PROOF
/obj/item/weapon/storage/backpack/duffel/security
/obj/item/storage/backpack/duffel/security
name = "security duffelbag"
desc = "A duffelbag built with robust fabric!"
icon_state = "duffel-security"
item_state = "duffel-security"
/obj/item/weapon/storage/backpack/duffel/virology
/obj/item/storage/backpack/duffel/virology
name = "virology duffelbag"
desc = "A white duffelbag designed to contain biohazards."
icon_state = "duffel-viro"
item_state = "duffel-viro"
/obj/item/weapon/storage/backpack/duffel/science
/obj/item/storage/backpack/duffel/science
name = "scientist duffelbag"
desc = "A duffelbag designed to hold the secrets of space."
icon_state = "duffel-toxins"
item_state = "duffel-toxins"
/obj/item/weapon/storage/backpack/duffel/genetics
/obj/item/storage/backpack/duffel/genetics
name = "geneticist duffelbag"
desc = "A duffelbag designed to hold gibbering monkies."
icon_state = "duffel-gene"
item_state = "duffel-gene"
/obj/item/weapon/storage/backpack/duffel/chemistry
/obj/item/storage/backpack/duffel/chemistry
name = "chemist duffelbag"
desc = "A duffelbag designed to hold corrosive substances."
icon_state = "duffel-chemistry"
item_state = "duffel-chemistry"
/obj/item/weapon/storage/backpack/duffel/medical
/obj/item/storage/backpack/duffel/medical
name = "medical duffelbag"
desc = "A duffelbag designed to hold medicine."
icon_state = "duffel-med"
item_state = "duffel-med"
/obj/item/weapon/storage/backpack/duffel/engineering
/obj/item/storage/backpack/duffel/engineering
name = "industrial duffelbag"
desc = "A duffelbag designed to hold tools."
icon_state = "duffel-eng"
item_state = "duffel-eng"
burn_state = FIRE_PROOF
/obj/item/weapon/storage/backpack/duffel/atmos
/obj/item/storage/backpack/duffel/atmos
name = "atmospherics duffelbag"
desc = "A duffelbag designed to hold tools. This one is specially designed for atmospherics."
icon_state = "duffel-atmos"
item_state = "duffel-atmos"
burn_state = FIRE_PROOF
/obj/item/weapon/storage/backpack/duffel/hydro
/obj/item/storage/backpack/duffel/hydro
name = "hydroponics duffelbag"
desc = "A duffelbag designed to hold seeds and fauna."
icon_state = "duffel-hydro"
item_state = "duffel-hydro"
/obj/item/weapon/storage/backpack/duffel/clown
/obj/item/storage/backpack/duffel/clown
name = "smiles von wiggleton"
desc = "A duffelbag designed to hold bananas and bike horns."
icon_state = "duffel-clown"
item_state = "duffel-clown"
//ERT backpacks.
/obj/item/weapon/storage/backpack/ert
/obj/item/storage/backpack/ert
name = "emergency response team backpack"
desc = "A spacious backpack with lots of pockets, used by members of the Nanotrasen Emergency Response Team."
icon_state = "ert_commander"
item_state = "backpack"
//Commander
/obj/item/weapon/storage/backpack/ert/commander
/obj/item/storage/backpack/ert/commander
name = "emergency response team commander backpack"
desc = "A spacious backpack with lots of pockets, worn by the commander of a Nanotrasen Emergency Response Team."
//Security
/obj/item/weapon/storage/backpack/ert/security
/obj/item/storage/backpack/ert/security
name = "emergency response team security backpack"
desc = "A spacious backpack with lots of pockets, worn by security members of a Nanotrasen Emergency Response Team."
icon_state = "ert_security"
//Engineering
/obj/item/weapon/storage/backpack/ert/engineer
/obj/item/storage/backpack/ert/engineer
name = "emergency response team engineer backpack"
desc = "A spacious backpack with lots of pockets, worn by engineering members of a Nanotrasen Emergency Response Team."
icon_state = "ert_engineering"
//Medical
/obj/item/weapon/storage/backpack/ert/medical
/obj/item/storage/backpack/ert/medical
name = "emergency response team medical backpack"
desc = "A spacious backpack with lots of pockets, worn by medical members of a Nanotrasen Emergency Response Team."
icon_state = "ert_medical"
//Janitorial
/obj/item/weapon/storage/backpack/ert/janitor
/obj/item/storage/backpack/ert/janitor
name = "emergency response team janitor backpack"
desc = "A spacious backpack with lots of pockets, worn by janitorial members of a Nanotrasen Emergency Response Team."
icon_state = "ert_janitor"
+42 -42
View File
@@ -16,7 +16,7 @@
*/
// Generic non-item
/obj/item/weapon/storage/bag
/obj/item/storage/bag
allow_quick_gather = 1
allow_quick_empty = 1
display_contents_with_number = 1 // should work fine now
@@ -26,7 +26,7 @@
// -----------------------------
// Trash bag
// -----------------------------
/obj/item/weapon/storage/bag/trash
/obj/item/storage/bag/trash
name = "trash bag"
desc = "It's the heavy-duty black polymer kind. Time to take out the trash!"
icon = 'icons/obj/janitor.dmi'
@@ -37,14 +37,14 @@
max_w_class = WEIGHT_CLASS_SMALL
storage_slots = 30
can_hold = list() // any
cant_hold = list(/obj/item/weapon/disk/nuclear)
cant_hold = list(/obj/item/disk/nuclear)
/obj/item/weapon/storage/bag/trash/suicide_act(mob/user)
/obj/item/storage/bag/trash/suicide_act(mob/user)
user.visible_message("<span class='suicide'>[user] puts the [src.name] over their head and starts chomping at the insides! Disgusting!</span>")
playsound(loc, 'sound/items/eatfood.ogg', 50, 1, -1)
return (TOXLOSS)
/obj/item/weapon/storage/bag/trash/update_icon()
/obj/item/storage/bag/trash/update_icon()
if(contents.len == 0)
w_class = WEIGHT_CLASS_TINY
icon_state = "[initial(icon_state)]"
@@ -58,17 +58,17 @@
w_class = WEIGHT_CLASS_BULKY
icon_state = "[initial(icon_state)]3"
/obj/item/weapon/storage/bag/trash/cyborg
/obj/item/storage/bag/trash/cyborg
/obj/item/weapon/storage/bag/trash/proc/janicart_insert(mob/user, obj/structure/janitorialcart/J)
/obj/item/storage/bag/trash/proc/janicart_insert(mob/user, obj/structure/janitorialcart/J)
J.put_in_cart(src, user)
J.mybag=src
J.update_icon()
/obj/item/weapon/storage/bag/trash/cyborg/janicart_insert(mob/user, obj/structure/janitorialcart/J)
/obj/item/storage/bag/trash/cyborg/janicart_insert(mob/user, obj/structure/janitorialcart/J)
return
/obj/item/weapon/storage/bag/trash/bluespace
/obj/item/storage/bag/trash/bluespace
name = "trash bag of holding"
desc = "The latest and greatest in custodial convenience, a trashbag that is capable of holding vast quantities of garbage."
icon_state = "bluetrashbag"
@@ -81,7 +81,7 @@
// Plastic Bag
// -----------------------------
/obj/item/weapon/storage/bag/plasticbag
/obj/item/storage/bag/plasticbag
name = "plastic bag"
desc = "It's a very flimsy, very noisy alternative to a bag."
icon = 'icons/obj/trash.dmi'
@@ -94,9 +94,9 @@
storage_slots = 7
display_contents_with_number = 0 //or else this will lead to stupid behavior.
can_hold = list() // any
cant_hold = list(/obj/item/weapon/disk/nuclear)
cant_hold = list(/obj/item/disk/nuclear)
/obj/item/weapon/storage/bag/plasticbag/mob_can_equip(M as mob, slot)
/obj/item/storage/bag/plasticbag/mob_can_equip(M as mob, slot)
if(slot==slot_head && contents.len)
to_chat(M, "<span class='warning'>You need to empty the bag first!</span>")
@@ -104,13 +104,13 @@
return ..()
/obj/item/weapon/storage/bag/plasticbag/equipped(var/mob/user, var/slot)
/obj/item/storage/bag/plasticbag/equipped(var/mob/user, var/slot)
if(slot==slot_head)
storage_slots = 0
processing_objects.Add(src)
return
/obj/item/weapon/storage/bag/plasticbag/process()
/obj/item/storage/bag/plasticbag/process()
if(is_equipped())
if(ishuman(loc))
var/mob/living/carbon/human/H = loc
@@ -127,7 +127,7 @@
// Mining Satchel
// -----------------------------
/obj/item/weapon/storage/bag/ore
/obj/item/storage/bag/ore
name = "mining satchel"
desc = "This little bugger can be used to store and transport ores."
icon = 'icons/obj/mining.dmi'
@@ -138,13 +138,13 @@
storage_slots = 50
max_combined_w_class = 200 //Doesn't matter what this is, so long as it's more or equal to storage_slots * ore.w_class
max_w_class = WEIGHT_CLASS_NORMAL
can_hold = list(/obj/item/weapon/ore)
can_hold = list(/obj/item/ore)
/obj/item/weapon/storage/bag/ore/cyborg
/obj/item/storage/bag/ore/cyborg
name = "cyborg mining satchel"
flags = NODROP
/obj/item/weapon/storage/bag/ore/holding //miners, your messiah has arrived
/obj/item/storage/bag/ore/holding //miners, your messiah has arrived
name = "mining satchel of holding"
desc = "A revolution in convenience, this satchel allows for infinite ore storage. It's been outfitted with anti-malfunction safety measures."
storage_slots = INFINITY
@@ -152,7 +152,7 @@
origin_tech = "bluespace=4;materials=3;engineering=3"
icon_state = "satchel_bspace"
/obj/item/weapon/storage/bag/ore/holding/cyborg
/obj/item/storage/bag/ore/holding/cyborg
name = "cyborg mining satchel of holding"
flags = NODROP
@@ -160,7 +160,7 @@
// Plant bag
// -----------------------------
/obj/item/weapon/storage/bag/plants
/obj/item/storage/bag/plants
name = "plant bag"
icon = 'icons/obj/hydroponics/equipment.dmi'
icon_state = "plantbag"
@@ -168,16 +168,16 @@
max_combined_w_class = 100 //Doesn't matter what this is, so long as it's more or equal to storage_slots * plants.w_class
max_w_class = WEIGHT_CLASS_NORMAL
w_class = WEIGHT_CLASS_TINY
can_hold = list(/obj/item/weapon/reagent_containers/food/snacks/grown,/obj/item/seeds,/obj/item/weapon/grown,/obj/item/weapon/reagent_containers/food/snacks/ash_flora)
can_hold = list(/obj/item/reagent_containers/food/snacks/grown,/obj/item/seeds,/obj/item/grown,/obj/item/reagent_containers/food/snacks/ash_flora)
burn_state = FLAMMABLE
/obj/item/weapon/storage/bag/plants/portaseeder
/obj/item/storage/bag/plants/portaseeder
name = "portable seed extractor"
desc = "For the enterprising botanist on the go. Less efficient than the stationary model, it creates one seed per plant."
icon_state = "portaseeder"
origin_tech = "biotech=3;engineering=2"
/obj/item/weapon/storage/bag/plants/portaseeder/verb/dissolve_contents()
/obj/item/storage/bag/plants/portaseeder/verb/dissolve_contents()
set name = "Activate Seed Extraction"
set category = "Object"
set desc = "Activate to convert your plants into plantable seeds."
@@ -197,7 +197,7 @@
// Because it stacks stacks, this doesn't operate normally.
// However, making it a storage/bag allows us to reuse existing code in some places. -Sayu
/obj/item/weapon/storage/bag/sheetsnatcher
/obj/item/storage/bag/sheetsnatcher
icon = 'icons/obj/mining.dmi'
icon_state = "sheetsnatcher"
name = "Sheet Snatcher"
@@ -209,8 +209,8 @@
allow_quick_empty = 1 // this function is superceded
New()
..()
//verbs -= /obj/item/weapon/storage/verb/quick_empty
//verbs += /obj/item/weapon/storage/bag/sheetsnatcher/quick_empty
//verbs -= /obj/item/storage/verb/quick_empty
//verbs += /obj/item/storage/bag/sheetsnatcher/quick_empty
can_be_inserted(obj/item/W as obj, stop_messages = 0)
if(!istype(W,/obj/item/stack/sheet) || istype(W,/obj/item/stack/sheet/mineral/sandstone) || istype(W,/obj/item/stack/sheet/wood))
@@ -328,7 +328,7 @@
// Sheet Snatcher (Cyborg)
// -----------------------------
/obj/item/weapon/storage/bag/sheetsnatcher/borg
/obj/item/storage/bag/sheetsnatcher/borg
name = "Sheet Snatcher 9000"
desc = ""
capacity = 500//Borgs get more because >specialization
@@ -338,7 +338,7 @@
// Cash Bag
// -----------------------------
/obj/item/weapon/storage/bag/cash
/obj/item/storage/bag/cash
icon = 'icons/obj/storage.dmi'
icon_state = "cashbag"
name = "Cash bag"
@@ -347,13 +347,13 @@
max_combined_w_class = 200 //Doesn't matter what this is, so long as it's more or equal to storage_slots * cash.w_class
max_w_class = WEIGHT_CLASS_NORMAL
w_class = WEIGHT_CLASS_TINY
can_hold = list(/obj/item/weapon/coin,/obj/item/stack/spacecash)
can_hold = list(/obj/item/coin,/obj/item/stack/spacecash)
// -----------------------------
// Book bag
// -----------------------------
/obj/item/weapon/storage/bag/books
/obj/item/storage/bag/books
name = "book bag"
desc = "A bag for books."
icon = 'icons/obj/library.dmi'
@@ -363,13 +363,13 @@
max_combined_w_class = 21
max_w_class = WEIGHT_CLASS_NORMAL
w_class = WEIGHT_CLASS_BULKY //Bigger than a book because physics
can_hold = list(/obj/item/weapon/book, /obj/item/weapon/storage/bible, /obj/item/weapon/tome, /obj/item/weapon/spellbook)
can_hold = list(/obj/item/book, /obj/item/storage/bible, /obj/item/tome, /obj/item/spellbook)
burn_state = FLAMMABLE
/*
* Trays - Agouri
*/
/obj/item/weapon/storage/bag/tray
/obj/item/storage/bag/tray
name = "tray"
icon = 'icons/obj/food/food.dmi'
icon_state = "tray"
@@ -382,7 +382,7 @@
flags = CONDUCT
materials = list(MAT_METAL=3000)
/obj/item/weapon/storage/bag/tray/attack(mob/living/M as mob, mob/living/user as mob)
/obj/item/storage/bag/tray/attack(mob/living/M as mob, mob/living/user as mob)
..()
// Drop all the things. All of them.
var/list/obj/item/oldContents = contents.Copy()
@@ -405,22 +405,22 @@
if(prob(10))
M.Weaken(2)
/obj/item/weapon/storage/bag/tray/proc/rebuild_overlays()
/obj/item/storage/bag/tray/proc/rebuild_overlays()
overlays.Cut()
for(var/obj/item/I in contents)
overlays += image("icon" = I.icon, "icon_state" = I.icon_state, "layer" = -1)
/obj/item/weapon/storage/bag/tray/remove_from_storage(obj/item/W as obj, atom/new_location)
/obj/item/storage/bag/tray/remove_from_storage(obj/item/W as obj, atom/new_location)
..()
rebuild_overlays()
/obj/item/weapon/storage/bag/tray/handle_item_insertion(obj/item/I, prevent_warning = 0)
/obj/item/storage/bag/tray/handle_item_insertion(obj/item/I, prevent_warning = 0)
overlays += image("icon" = I.icon, "icon_state" = I.icon_state, "layer" = -1)
..()
/obj/item/weapon/storage/bag/tray/cyborg
/obj/item/storage/bag/tray/cyborg
/obj/item/weapon/storage/bag/tray/cyborg/afterattack(atom/target, mob/user as mob)
/obj/item/storage/bag/tray/cyborg/afterattack(atom/target, mob/user as mob)
if( isturf(target) || istype(target,/obj/structure/table) )
var foundtable = istype(target,/obj/structure/table/)
if( !foundtable ) //it must be a turf!
@@ -464,7 +464,7 @@
* Chemistry bag
*/
/obj/item/weapon/storage/bag/chemistry
/obj/item/storage/bag/chemistry
name = "chemistry bag"
icon = 'icons/obj/chemical.dmi'
icon_state = "bag"
@@ -472,13 +472,13 @@
storage_slots = 50
max_combined_w_class = 200
w_class = WEIGHT_CLASS_TINY
can_hold = list(/obj/item/weapon/reagent_containers/food/pill,/obj/item/weapon/reagent_containers/glass/beaker,/obj/item/weapon/reagent_containers/glass/bottle)
can_hold = list(/obj/item/reagent_containers/food/pill,/obj/item/reagent_containers/glass/beaker,/obj/item/reagent_containers/glass/bottle)
burn_state = FLAMMABLE
/*
* Biowaste bag (mostly for xenobiologists)
*/
/obj/item/weapon/storage/bag/bio
/obj/item/storage/bag/bio
name = "bio bag"
icon = 'icons/obj/chemical.dmi'
icon_state = "biobag"
@@ -486,5 +486,5 @@
storage_slots = 25
max_combined_w_class = 200
w_class = WEIGHT_CLASS_TINY
can_hold = list(/obj/item/slime_extract,/obj/item/weapon/reagent_containers/food/snacks/monkeycube,/obj/item/weapon/reagent_containers/syringe,/obj/item/weapon/reagent_containers/glass/beaker,/obj/item/weapon/reagent_containers/glass/bottle,/obj/item/weapon/reagent_containers/blood,/obj/item/weapon/reagent_containers/hypospray/autoinjector)
can_hold = list(/obj/item/slime_extract,/obj/item/reagent_containers/food/snacks/monkeycube,/obj/item/reagent_containers/syringe,/obj/item/reagent_containers/glass/beaker,/obj/item/reagent_containers/glass/bottle,/obj/item/reagent_containers/blood,/obj/item/reagent_containers/hypospray/autoinjector)
burn_state = FLAMMABLE
+181 -181
View File
@@ -1,4 +1,4 @@
/obj/item/weapon/storage/belt
/obj/item/storage/belt
name = "belt"
desc = "Can hold various things."
icon = 'icons/obj/clothing/belts.dmi'
@@ -9,7 +9,7 @@
var/use_item_overlays = 0 // Do we have overlays for items held inside the belt?
/obj/item/weapon/storage/belt/update_icon()
/obj/item/storage/belt/update_icon()
if(use_item_overlays)
overlays.Cut()
for(var/obj/item/I in contents)
@@ -17,11 +17,11 @@
..()
/obj/item/weapon/storage/belt/proc/can_use()
/obj/item/storage/belt/proc/can_use()
return is_equipped()
/obj/item/weapon/storage/belt/MouseDrop(obj/over_object as obj, src_location, over_location)
/obj/item/storage/belt/MouseDrop(obj/over_object as obj, src_location, over_location)
var/mob/M = usr
if(!istype(over_object, /obj/screen))
return ..()
@@ -37,75 +37,75 @@
src.add_fingerprint(usr)
return
/obj/item/weapon/storage/belt/deserialize(list/data)
/obj/item/storage/belt/deserialize(list/data)
..()
update_icon()
/obj/item/weapon/storage/belt/utility
/obj/item/storage/belt/utility
name = "tool-belt" //Carn: utility belt is nicer, but it bamboozles the text parsing.
desc = "Can hold various tools."
icon_state = "utilitybelt"
item_state = "utility"
use_item_overlays = 1
can_hold = list(
/obj/item/weapon/crowbar,
/obj/item/weapon/screwdriver,
/obj/item/weapon/weldingtool,
/obj/item/weapon/wirecutters,
/obj/item/weapon/wrench,
/obj/item/crowbar,
/obj/item/screwdriver,
/obj/item/weldingtool,
/obj/item/wirecutters,
/obj/item/wrench,
/obj/item/device/multitool,
/obj/item/device/flashlight,
/obj/item/stack/cable_coil,
/obj/item/device/t_scanner,
/obj/item/device/analyzer,
/obj/item/taperoll/engineering,
/obj/item/weapon/extinguisher/mini)
/obj/item/extinguisher/mini)
/obj/item/weapon/storage/belt/utility/full/New()
/obj/item/storage/belt/utility/full/New()
..()
new /obj/item/weapon/screwdriver(src)
new /obj/item/weapon/wrench(src)
new /obj/item/weapon/weldingtool(src)
new /obj/item/weapon/crowbar(src)
new /obj/item/weapon/wirecutters(src)
new /obj/item/screwdriver(src)
new /obj/item/wrench(src)
new /obj/item/weldingtool(src)
new /obj/item/crowbar(src)
new /obj/item/wirecutters(src)
new /obj/item/stack/cable_coil(src, 30, pick(COLOR_RED, COLOR_YELLOW, COLOR_ORANGE))
update_icon()
/obj/item/weapon/storage/belt/utility/full/multitool/New()
/obj/item/storage/belt/utility/full/multitool/New()
..()
new /obj/item/device/multitool(src)
update_icon()
/obj/item/weapon/storage/belt/utility/atmostech/New()
/obj/item/storage/belt/utility/atmostech/New()
..()
new /obj/item/weapon/screwdriver(src)
new /obj/item/weapon/wrench(src)
new /obj/item/weapon/weldingtool(src)
new /obj/item/weapon/crowbar(src)
new /obj/item/weapon/wirecutters(src)
new /obj/item/screwdriver(src)
new /obj/item/wrench(src)
new /obj/item/weldingtool(src)
new /obj/item/crowbar(src)
new /obj/item/wirecutters(src)
new /obj/item/device/t_scanner(src)
new /obj/item/weapon/extinguisher/mini(src)
new /obj/item/extinguisher/mini(src)
update_icon()
/obj/item/weapon/storage/belt/utility/chief
/obj/item/storage/belt/utility/chief
name = "Chief Engineer's toolbelt"
desc = "Holds tools, looks snazzy"
icon_state = "utilitybelt_ce"
item_state = "utility_ce"
/obj/item/weapon/storage/belt/utility/chief/full/New()
/obj/item/storage/belt/utility/chief/full/New()
..()
new /obj/item/weapon/screwdriver/power(src)
new /obj/item/weapon/crowbar/power(src)
new /obj/item/weapon/weldingtool/experimental(src)//This can be changed if this is too much
new /obj/item/screwdriver/power(src)
new /obj/item/crowbar/power(src)
new /obj/item/weldingtool/experimental(src)//This can be changed if this is too much
new /obj/item/device/multitool(src)
new /obj/item/stack/cable_coil(src, 30, pick(COLOR_RED, COLOR_YELLOW, COLOR_ORANGE))
new /obj/item/weapon/extinguisher/mini(src)
new /obj/item/extinguisher/mini(src)
new /obj/item/device/analyzer(src)
update_icon()
//much roomier now that we've managed to remove two tools
/obj/item/weapon/storage/belt/medical
/obj/item/storage/belt/medical
use_to_pickup = 1 //Allow medical belt to pick up medicine
name = "medical belt"
desc = "Can hold various medical equipment."
@@ -114,40 +114,40 @@
use_item_overlays = 1
can_hold = list(
/obj/item/device/healthanalyzer,
/obj/item/weapon/dnainjector,
/obj/item/weapon/reagent_containers/dropper,
/obj/item/weapon/reagent_containers/glass/beaker,
/obj/item/weapon/reagent_containers/glass/bottle,
/obj/item/weapon/reagent_containers/food/pill,
/obj/item/weapon/reagent_containers/syringe,
/obj/item/weapon/lighter/zippo,
/obj/item/weapon/storage/fancy/cigarettes,
/obj/item/weapon/storage/pill_bottle,
/obj/item/dnainjector,
/obj/item/reagent_containers/dropper,
/obj/item/reagent_containers/glass/beaker,
/obj/item/reagent_containers/glass/bottle,
/obj/item/reagent_containers/food/pill,
/obj/item/reagent_containers/syringe,
/obj/item/lighter/zippo,
/obj/item/storage/fancy/cigarettes,
/obj/item/storage/pill_bottle,
/obj/item/stack/medical,
/obj/item/device/flashlight/pen,
/obj/item/clothing/mask/surgical,
/obj/item/clothing/gloves/color/latex,
/obj/item/weapon/reagent_containers/hypospray/autoinjector,
/obj/item/reagent_containers/hypospray/autoinjector,
/obj/item/device/rad_laser,
/obj/item/device/sensor_device,
/obj/item/weapon/wrench/medical,
/obj/item/wrench/medical,
)
/obj/item/weapon/storage/belt/medical/response_team
/obj/item/storage/belt/medical/response_team
/obj/item/weapon/storage/belt/medical/response_team/New()
/obj/item/storage/belt/medical/response_team/New()
..()
new /obj/item/weapon/reagent_containers/food/pill/salbutamol(src)
new /obj/item/weapon/reagent_containers/food/pill/salbutamol(src)
new /obj/item/weapon/reagent_containers/food/pill/charcoal(src)
new /obj/item/weapon/reagent_containers/food/pill/charcoal(src)
new /obj/item/weapon/reagent_containers/food/pill/salicylic(src)
new /obj/item/weapon/reagent_containers/food/pill/salicylic(src)
new /obj/item/weapon/reagent_containers/food/pill/salicylic(src)
new /obj/item/reagent_containers/food/pill/salbutamol(src)
new /obj/item/reagent_containers/food/pill/salbutamol(src)
new /obj/item/reagent_containers/food/pill/charcoal(src)
new /obj/item/reagent_containers/food/pill/charcoal(src)
new /obj/item/reagent_containers/food/pill/salicylic(src)
new /obj/item/reagent_containers/food/pill/salicylic(src)
new /obj/item/reagent_containers/food/pill/salicylic(src)
update_icon()
/obj/item/weapon/storage/belt/botany
/obj/item/storage/belt/botany
name = "botanist belt"
desc = "Can hold various botanical supplies."
icon_state = "botanybelt"
@@ -155,22 +155,22 @@
use_item_overlays = 1
can_hold = list(
/obj/item/device/plant_analyzer,
/obj/item/weapon/cultivator,
/obj/item/weapon/hatchet,
/obj/item/weapon/reagent_containers/glass/bottle,
// /obj/item/weapon/reagent_containers/syringe,
// /obj/item/weapon/reagent_containers/glass/beaker,
/obj/item/weapon/lighter/zippo,
/obj/item/weapon/storage/fancy/cigarettes,
/obj/item/weapon/shovel/spade,
/obj/item/cultivator,
/obj/item/hatchet,
/obj/item/reagent_containers/glass/bottle,
// /obj/item/reagent_containers/syringe,
// /obj/item/reagent_containers/glass/beaker,
/obj/item/lighter/zippo,
/obj/item/storage/fancy/cigarettes,
/obj/item/shovel/spade,
/obj/item/device/flashlight/pen,
/obj/item/seeds,
/obj/item/weapon/wirecutters,
/obj/item/weapon/wrench,
/obj/item/wirecutters,
/obj/item/wrench,
)
/obj/item/weapon/storage/belt/security
/obj/item/storage/belt/security
name = "security belt"
desc = "Can hold security gear like handcuffs and flashes."
icon_state = "securitybelt"
@@ -179,38 +179,38 @@
max_w_class = WEIGHT_CLASS_NORMAL
use_item_overlays = 1
can_hold = list(
/obj/item/weapon/grenade/flashbang,
/obj/item/weapon/grenade/chem_grenade/teargas,
/obj/item/weapon/reagent_containers/spray/pepper,
/obj/item/weapon/restraints/handcuffs,
/obj/item/grenade/flashbang,
/obj/item/grenade/chem_grenade/teargas,
/obj/item/reagent_containers/spray/pepper,
/obj/item/restraints/handcuffs,
/obj/item/device/flash,
/obj/item/clothing/glasses,
/obj/item/ammo_casing/shotgun,
/obj/item/ammo_box,
/obj/item/weapon/reagent_containers/food/snacks/donut,
/obj/item/weapon/kitchen/knife/combat,
/obj/item/weapon/melee/baton,
/obj/item/weapon/melee/classic_baton,
/obj/item/reagent_containers/food/snacks/donut,
/obj/item/kitchen/knife/combat,
/obj/item/melee/baton,
/obj/item/melee/classic_baton,
/obj/item/device/flashlight/seclite,
/obj/item/taperoll/police,
/obj/item/weapon/melee/classic_baton/telescopic,
/obj/item/weapon/restraints/legcuffs/bola)
/obj/item/melee/classic_baton/telescopic,
/obj/item/restraints/legcuffs/bola)
/obj/item/weapon/storage/belt/security/sec/New()
/obj/item/storage/belt/security/sec/New()
..()
new /obj/item/device/flashlight/seclite(src)
update_icon()
/obj/item/weapon/storage/belt/security/response_team/New()
/obj/item/storage/belt/security/response_team/New()
..()
new /obj/item/weapon/kitchen/knife/combat(src)
new /obj/item/weapon/melee/baton/loaded(src)
new /obj/item/kitchen/knife/combat(src)
new /obj/item/melee/baton/loaded(src)
new /obj/item/device/flash(src)
new /obj/item/weapon/melee/classic_baton/telescopic(src)
new /obj/item/weapon/grenade/flashbang(src)
new /obj/item/melee/classic_baton/telescopic(src)
new /obj/item/grenade/flashbang(src)
update_icon()
/obj/item/weapon/storage/belt/soulstone
/obj/item/storage/belt/soulstone
name = "soul stone belt"
desc = "Designed for ease of access to the shards during a fight, as to not let a single enemy spirit slip away"
icon_state = "soulstonebelt"
@@ -221,7 +221,7 @@
"/obj/item/device/soulstone"
)
/obj/item/weapon/storage/belt/soulstone/full/New()
/obj/item/storage/belt/soulstone/full/New()
..()
new /obj/item/device/soulstone(src)
new /obj/item/device/soulstone(src)
@@ -232,7 +232,7 @@
update_icon()
/obj/item/weapon/storage/belt/champion
/obj/item/storage/belt/champion
name = "championship belt"
desc = "Proves to the world that you are the strongest!"
icon_state = "championbelt"
@@ -243,38 +243,38 @@
"/obj/item/clothing/mask/luchador"
)
/obj/item/weapon/storage/belt/military
/obj/item/storage/belt/military
name = "military belt"
desc = "A syndicate belt designed to be used by boarding parties. Its style is modelled after the hardsuits they wear."
icon_state = "militarybelt"
item_state = "military"
max_w_class = WEIGHT_CLASS_SMALL
/obj/item/weapon/storage/belt/military/abductor
/obj/item/storage/belt/military/abductor
name = "agent belt"
desc = "A belt used by abductor agents."
icon = 'icons/obj/abductor.dmi'
icon_state = "belt"
item_state = "security"
/obj/item/weapon/storage/belt/military/abductor/full/New()
/obj/item/storage/belt/military/abductor/full/New()
..()
new /obj/item/weapon/screwdriver/abductor(src)
new /obj/item/weapon/wrench/abductor(src)
new /obj/item/weapon/weldingtool/abductor(src)
new /obj/item/weapon/crowbar/abductor(src)
new /obj/item/weapon/wirecutters/abductor(src)
new /obj/item/screwdriver/abductor(src)
new /obj/item/wrench/abductor(src)
new /obj/item/weldingtool/abductor(src)
new /obj/item/crowbar/abductor(src)
new /obj/item/wirecutters/abductor(src)
new /obj/item/device/multitool/abductor(src)
new /obj/item/stack/cable_coil(src, 30, COLOR_WHITE)
/obj/item/weapon/storage/belt/military/assault
/obj/item/storage/belt/military/assault
name = "assault belt"
desc = "A tactical assault belt."
icon_state = "assaultbelt"
item_state = "assault"
storage_slots = 6
/obj/item/weapon/storage/belt/janitor
/obj/item/storage/belt/janitor
name = "janibelt"
desc = "A belt used to hold most janitorial supplies."
icon_state = "janibelt"
@@ -283,25 +283,25 @@
max_w_class = WEIGHT_CLASS_BULKY // Set to this so the light replacer can fit.
use_item_overlays = 1
can_hold = list(
/obj/item/weapon/grenade/chem_grenade/cleaner,
/obj/item/grenade/chem_grenade/cleaner,
/obj/item/device/lightreplacer,
/obj/item/device/flashlight,
/obj/item/weapon/reagent_containers/spray,
/obj/item/weapon/soap,
/obj/item/weapon/holosign_creator
/obj/item/reagent_containers/spray,
/obj/item/soap,
/obj/item/holosign_creator
)
/obj/item/weapon/storage/belt/janitor/full/New()
/obj/item/storage/belt/janitor/full/New()
..()
new /obj/item/device/lightreplacer(src)
new /obj/item/weapon/holosign_creator(src)
new /obj/item/weapon/reagent_containers/spray(src)
new /obj/item/weapon/soap(src)
new /obj/item/weapon/grenade/chem_grenade/cleaner(src)
new /obj/item/weapon/grenade/chem_grenade/cleaner(src)
new /obj/item/holosign_creator(src)
new /obj/item/reagent_containers/spray(src)
new /obj/item/soap(src)
new /obj/item/grenade/chem_grenade/cleaner(src)
new /obj/item/grenade/chem_grenade/cleaner(src)
update_icon()
/obj/item/weapon/storage/belt/lazarus
/obj/item/storage/belt/lazarus
name = "trainer's belt"
desc = "For the mining master, holds your lazarus capsules."
icon_state = "lazarusbelt"
@@ -312,27 +312,27 @@
storage_slots = 6
can_hold = list(/obj/item/device/mobcapsule)
/obj/item/weapon/storage/belt/lazarus/New()
/obj/item/storage/belt/lazarus/New()
..()
update_icon()
/obj/item/weapon/storage/belt/lazarus/update_icon()
/obj/item/storage/belt/lazarus/update_icon()
..()
icon_state = "[initial(icon_state)]_[contents.len]"
/obj/item/weapon/storage/belt/lazarus/attackby(obj/item/W, mob/user)
/obj/item/storage/belt/lazarus/attackby(obj/item/W, mob/user)
var/amount = contents.len
. = ..()
if(amount != contents.len)
update_icon()
/obj/item/weapon/storage/belt/lazarus/remove_from_storage(obj/item/W as obj, atom/new_location)
/obj/item/storage/belt/lazarus/remove_from_storage(obj/item/W as obj, atom/new_location)
..()
update_icon()
/obj/item/weapon/storage/belt/bandolier
/obj/item/storage/belt/bandolier
name = "bandolier"
desc = "A bandolier for holding shotgun ammunition."
icon_state = "bandolier"
@@ -342,11 +342,11 @@
/obj/item/ammo_casing/shotgun
)
/obj/item/weapon/storage/belt/bandolier/New()
/obj/item/storage/belt/bandolier/New()
..()
update_icon()
/obj/item/weapon/storage/belt/bandolier/full/New()
/obj/item/storage/belt/bandolier/full/New()
..()
new /obj/item/ammo_casing/shotgun/beanbag(src)
new /obj/item/ammo_casing/shotgun/beanbag(src)
@@ -358,22 +358,22 @@
new /obj/item/ammo_casing/shotgun/beanbag(src)
update_icon()
/obj/item/weapon/storage/belt/bandolier/update_icon()
/obj/item/storage/belt/bandolier/update_icon()
..()
icon_state = "[initial(icon_state)]_[contents.len]"
/obj/item/weapon/storage/belt/bandolier/attackby(obj/item/W, mob/user)
/obj/item/storage/belt/bandolier/attackby(obj/item/W, mob/user)
var/amount = contents.len
. = ..()
if(amount != contents.len)
update_icon()
/obj/item/weapon/storage/belt/bandolier/remove_from_storage(obj/item/W as obj, atom/new_location)
/obj/item/storage/belt/bandolier/remove_from_storage(obj/item/W as obj, atom/new_location)
..()
update_icon()
/obj/item/weapon/storage/belt/holster
/obj/item/storage/belt/holster
name = "shoulder holster"
desc = "A holster to conceal a carried handgun. WARNING: Badasses only."
icon_state = "holster"
@@ -381,11 +381,11 @@
storage_slots = 1
max_w_class = WEIGHT_CLASS_NORMAL
can_hold = list(
/obj/item/weapon/gun/projectile/automatic/pistol,
/obj/item/weapon/gun/projectile/revolver/detective
/obj/item/gun/projectile/automatic/pistol,
/obj/item/gun/projectile/revolver/detective
)
/obj/item/weapon/storage/belt/wands
/obj/item/storage/belt/wands
name = "wand belt"
desc = "A belt designed to hold various rods of power. A veritable fanny pack of exotic magic."
icon_state = "soulstonebelt"
@@ -393,25 +393,25 @@
storage_slots = 6
use_item_overlays = 1
can_hold = list(
/obj/item/weapon/gun/magic/wand
/obj/item/gun/magic/wand
)
/obj/item/weapon/storage/belt/wands/full/New()
/obj/item/storage/belt/wands/full/New()
..()
new /obj/item/weapon/gun/magic/wand/death(src)
new /obj/item/weapon/gun/magic/wand/resurrection(src)
new /obj/item/weapon/gun/magic/wand/polymorph(src)
new /obj/item/weapon/gun/magic/wand/teleport(src)
new /obj/item/weapon/gun/magic/wand/door(src)
new /obj/item/weapon/gun/magic/wand/fireball(src)
new /obj/item/gun/magic/wand/death(src)
new /obj/item/gun/magic/wand/resurrection(src)
new /obj/item/gun/magic/wand/polymorph(src)
new /obj/item/gun/magic/wand/teleport(src)
new /obj/item/gun/magic/wand/door(src)
new /obj/item/gun/magic/wand/fireball(src)
for(var/obj/item/weapon/gun/magic/wand/W in contents) //All wands in this pack come in the best possible condition
for(var/obj/item/gun/magic/wand/W in contents) //All wands in this pack come in the best possible condition
W.max_charges = initial(W.max_charges)
W.charges = W.max_charges
update_icon()
/obj/item/weapon/storage/belt/fannypack
/obj/item/storage/belt/fannypack
name = "fannypack"
desc = "A dorky fannypack for keeping small items in."
icon_state = "fannypack_leather"
@@ -419,57 +419,57 @@
storage_slots = 3
max_w_class = WEIGHT_CLASS_SMALL
/obj/item/weapon/storage/belt/fannypack/black
/obj/item/storage/belt/fannypack/black
name = "black fannypack"
icon_state = "fannypack_black"
item_state = "fannypack_black"
/obj/item/weapon/storage/belt/fannypack/red
/obj/item/storage/belt/fannypack/red
name = "red fannypack"
icon_state = "fannypack_red"
item_state = "fannypack_red"
/obj/item/weapon/storage/belt/fannypack/purple
/obj/item/storage/belt/fannypack/purple
name = "purple fannypack"
icon_state = "fannypack_purple"
item_state = "fannypack_purple"
/obj/item/weapon/storage/belt/fannypack/blue
/obj/item/storage/belt/fannypack/blue
name = "blue fannypack"
icon_state = "fannypack_blue"
item_state = "fannypack_blue"
/obj/item/weapon/storage/belt/fannypack/orange
/obj/item/storage/belt/fannypack/orange
name = "orange fannypack"
icon_state = "fannypack_orange"
item_state = "fannypack_orange"
/obj/item/weapon/storage/belt/fannypack/white
/obj/item/storage/belt/fannypack/white
name = "white fannypack"
icon_state = "fannypack_white"
item_state = "fannypack_white"
/obj/item/weapon/storage/belt/fannypack/green
/obj/item/storage/belt/fannypack/green
name = "green fannypack"
icon_state = "fannypack_green"
item_state = "fannypack_green"
/obj/item/weapon/storage/belt/fannypack/pink
/obj/item/storage/belt/fannypack/pink
name = "pink fannypack"
icon_state = "fannypack_pink"
item_state = "fannypack_pink"
/obj/item/weapon/storage/belt/fannypack/cyan
/obj/item/storage/belt/fannypack/cyan
name = "cyan fannypack"
icon_state = "fannypack_cyan"
item_state = "fannypack_cyan"
/obj/item/weapon/storage/belt/fannypack/yellow
/obj/item/storage/belt/fannypack/yellow
name = "yellow fannypack"
icon_state = "fannypack_yellow"
item_state = "fannypack_yellow"
/obj/item/weapon/storage/belt/rapier
/obj/item/storage/belt/rapier
name = "rapier sheath"
desc = "Can hold rapiers."
icon_state = "sheath"
@@ -477,9 +477,9 @@
storage_slots = 1
w_class = WEIGHT_CLASS_BULKY
max_w_class = WEIGHT_CLASS_BULKY
can_hold = list(/obj/item/weapon/melee/rapier)
can_hold = list(/obj/item/melee/rapier)
/obj/item/weapon/storage/belt/rapier/update_icon()
/obj/item/storage/belt/rapier/update_icon()
icon_state = "[initial(icon_state)]"
item_state = "[initial(item_state)]"
if(contents.len)
@@ -490,9 +490,9 @@
L.update_inv_belt()
..()
/obj/item/weapon/storage/belt/rapier/New()
/obj/item/storage/belt/rapier/New()
..()
new /obj/item/weapon/melee/rapier(src)
new /obj/item/melee/rapier(src)
update_icon()
// -------------------------------------
@@ -500,7 +500,7 @@
// -------------------------------------
/obj/item/weapon/storage/belt/bluespace
/obj/item/storage/belt/bluespace
name = "Belt of Holding"
desc = "The greatest in pants-supporting technology."
icon_state = "holdingbelt"
@@ -512,7 +512,7 @@
origin_tech = "bluespace=5;materials=4;engineering=4;plasmatech=5"
can_hold = list()
/obj/item/weapon/storage/belt/bluespace/owlman
/obj/item/storage/belt/bluespace/owlman
name = "Owlman's utility belt"
desc = "Sometimes people choose justice. Sometimes, justice chooses you..."
icon_state = "securitybelt"
@@ -523,8 +523,8 @@
origin_tech = "bluespace=5;materials=4;engineering=4;plasmatech=5"
allow_quick_empty = 1
can_hold = list(
/obj/item/weapon/grenade/smokebomb,
/obj/item/weapon/restraints/legcuffs/bola
/obj/item/grenade/smokebomb,
/obj/item/restraints/legcuffs/bola
)
flags = NODROP
@@ -534,34 +534,34 @@
/obj/item/weapon/storage/belt/bluespace/owlman/New()
/obj/item/storage/belt/bluespace/owlman/New()
..()
new /obj/item/weapon/grenade/smokebomb(src)
new /obj/item/weapon/grenade/smokebomb(src)
new /obj/item/weapon/grenade/smokebomb(src)
new /obj/item/weapon/grenade/smokebomb(src)
new /obj/item/weapon/restraints/legcuffs/bola(src)
new /obj/item/weapon/restraints/legcuffs/bola(src)
new /obj/item/grenade/smokebomb(src)
new /obj/item/grenade/smokebomb(src)
new /obj/item/grenade/smokebomb(src)
new /obj/item/grenade/smokebomb(src)
new /obj/item/restraints/legcuffs/bola(src)
new /obj/item/restraints/legcuffs/bola(src)
processing_objects.Add(src)
cooldown = world.time
/obj/item/weapon/storage/belt/bluespace/owlman/process()
/obj/item/storage/belt/bluespace/owlman/process()
if(cooldown < world.time - 600)
smokecount = 0
var/obj/item/weapon/grenade/smokebomb/S
var/obj/item/grenade/smokebomb/S
for(S in src)
smokecount++
bolacount = 0
var/obj/item/weapon/restraints/legcuffs/bola/B
var/obj/item/restraints/legcuffs/bola/B
for(B in src)
bolacount++
if(smokecount < 4)
while(smokecount < 4)
new /obj/item/weapon/grenade/smokebomb(src)
new /obj/item/grenade/smokebomb(src)
smokecount++
if(bolacount < 2)
while(bolacount < 2)
new /obj/item/weapon/restraints/legcuffs/bola(src)
new /obj/item/restraints/legcuffs/bola(src)
bolacount++
cooldown = world.time
update_icon()
@@ -572,10 +572,10 @@
if(H.s_active && H.s_active == src)
H.s_active.show_to(H)
/obj/item/weapon/storage/belt/bluespace/attack(mob/M as mob, mob/user as mob, def_zone)
/obj/item/storage/belt/bluespace/attack(mob/M as mob, mob/user as mob, def_zone)
return
/obj/item/weapon/storage/belt/bluespace/admin
/obj/item/storage/belt/bluespace/admin
name = "Admin's Tool-belt"
desc = "Holds everything for those that run everything."
icon_state = "soulstonebelt"
@@ -588,25 +588,25 @@
New()
..()
new /obj/item/weapon/crowbar(src)
new /obj/item/weapon/screwdriver(src)
new /obj/item/weapon/weldingtool/hugetank(src)
new /obj/item/weapon/wirecutters(src)
new /obj/item/weapon/wrench(src)
new /obj/item/crowbar(src)
new /obj/item/screwdriver(src)
new /obj/item/weldingtool/hugetank(src)
new /obj/item/wirecutters(src)
new /obj/item/wrench(src)
new /obj/item/device/multitool(src)
new /obj/item/stack/cable_coil(src)
new /obj/item/weapon/restraints/handcuffs(src)
new /obj/item/weapon/dnainjector/xraymut(src)
new /obj/item/weapon/dnainjector/firemut(src)
new /obj/item/weapon/dnainjector/telemut(src)
new /obj/item/weapon/dnainjector/hulkmut(src)
// new /obj/item/weapon/spellbook(src) // for smoke effects, door openings, etc
// new /obj/item/weapon/magic/spellbook(src)
new /obj/item/restraints/handcuffs(src)
new /obj/item/dnainjector/xraymut(src)
new /obj/item/dnainjector/firemut(src)
new /obj/item/dnainjector/telemut(src)
new /obj/item/dnainjector/hulkmut(src)
// new /obj/item/spellbook(src) // for smoke effects, door openings, etc
// new /obj/item/magic/spellbook(src)
// new/obj/item/weapon/reagent_containers/hypospray/admin(src)
// new/obj/item/reagent_containers/hypospray/admin(src)
/obj/item/weapon/storage/belt/bluespace/sandbox
/obj/item/storage/belt/bluespace/sandbox
name = "Sandbox Mode Toolbelt"
desc = "Holds whatever, you can spawn your own damn stuff."
w_class = 10 // permit holding other storage items
@@ -617,11 +617,11 @@
New()
..()
new /obj/item/weapon/crowbar(src)
new /obj/item/weapon/screwdriver(src)
new /obj/item/weapon/weldingtool/hugetank(src)
new /obj/item/weapon/wirecutters(src)
new /obj/item/weapon/wrench(src)
new /obj/item/crowbar(src)
new /obj/item/screwdriver(src)
new /obj/item/weldingtool/hugetank(src)
new /obj/item/wirecutters(src)
new /obj/item/wrench(src)
new /obj/item/device/multitool(src)
new /obj/item/stack/cable_coil(src)
@@ -1,4 +1,4 @@
/obj/item/weapon/storage/bible
/obj/item/storage/bible
name = "bible"
desc = "Apply to head repeatedly."
icon_state ="bible"
@@ -14,21 +14,21 @@
return (user.dust())
/obj/item/weapon/storage/bible/booze
/obj/item/storage/bible/booze
name = "bible"
desc = "To be applied to the head repeatedly."
icon_state ="bible"
/obj/item/weapon/storage/bible/booze/New()
/obj/item/storage/bible/booze/New()
..()
new /obj/item/weapon/reagent_containers/food/drinks/cans/beer(src)
new /obj/item/weapon/reagent_containers/food/drinks/cans/beer(src)
new /obj/item/reagent_containers/food/drinks/cans/beer(src)
new /obj/item/reagent_containers/food/drinks/cans/beer(src)
new /obj/item/stack/spacecash(src)
new /obj/item/stack/spacecash(src)
new /obj/item/stack/spacecash(src)
//BS12 EDIT
// All cult functionality moved to Null Rod
/obj/item/weapon/storage/bible/proc/bless(mob/living/carbon/M as mob)
/obj/item/storage/bible/proc/bless(mob/living/carbon/M as mob)
if(ishuman(M))
var/mob/living/carbon/human/H = M
var/heal_amt = 10
@@ -37,7 +37,7 @@
H.UpdateDamageIcon()
return
/obj/item/weapon/storage/bible/attack(mob/living/M as mob, mob/living/user as mob)
/obj/item/storage/bible/attack(mob/living/M as mob, mob/living/user as mob)
var/chaplain = 0
if(user.mind && (user.mind.assigned_role == "Chaplain"))
@@ -94,7 +94,7 @@
playsound(src.loc, "punch", 25, 1, -1)
return
/obj/item/weapon/storage/bible/afterattack(atom/A, mob/user as mob, proximity)
/obj/item/storage/bible/afterattack(atom/A, mob/user as mob, proximity)
if(!proximity)
return
if(istype(A, /turf/simulated/floor))
@@ -115,6 +115,6 @@
A.reagents.del_reagent("unholywater")
A.reagents.add_reagent("holywater",unholy2clean)
/obj/item/weapon/storage/bible/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
/obj/item/storage/bible/attackby(obj/item/W as obj, mob/user as mob, params)
playsound(src.loc, "rustle", 50, 1, -5)
..()
+265 -265
View File
@@ -19,7 +19,7 @@
* For syndicate call-ins see uplink_kits.dm
*/
/obj/item/weapon/storage/box
/obj/item/storage/box
name = "box"
desc = "It's just an ordinary box."
icon_state = "box"
@@ -27,7 +27,7 @@
burn_state = FLAMMABLE
var/foldable = /obj/item/stack/sheet/cardboard
/obj/item/weapon/storage/box/attack_self(mob/user)
/obj/item/storage/box/attack_self(mob/user)
..()
if(!foldable)
@@ -53,7 +53,7 @@
user.put_in_hands(I)
qdel(src)
/obj/item/weapon/storage/box/large
/obj/item/storage/box/large
name = "large box"
desc = "You could build a fort with this."
icon_state = "largebox"
@@ -62,34 +62,34 @@
storage_slots = 21
max_combined_w_class = 42 // 21*2
/obj/item/weapon/storage/box/survival
/obj/item/storage/box/survival
New()
..()
contents = list()
new /obj/item/clothing/mask/breath( src )
new /obj/item/weapon/tank/emergency_oxygen( src )
new /obj/item/weapon/reagent_containers/hypospray/autoinjector( src )
new /obj/item/tank/emergency_oxygen( src )
new /obj/item/reagent_containers/hypospray/autoinjector( src )
return
/obj/item/weapon/storage/box/engineer
/obj/item/storage/box/engineer
New()
..()
contents = list()
new /obj/item/clothing/mask/breath( src )
new /obj/item/weapon/tank/emergency_oxygen/engi( src )
new /obj/item/weapon/reagent_containers/hypospray/autoinjector( src )
new /obj/item/tank/emergency_oxygen/engi( src )
new /obj/item/reagent_containers/hypospray/autoinjector( src )
return
/obj/item/weapon/storage/box/survival_mining
/obj/item/storage/box/survival_mining
New()
..()
contents = list()
new /obj/item/clothing/mask/breath(src)
new /obj/item/weapon/tank/emergency_oxygen/engi(src)
new /obj/item/weapon/crowbar/red(src)
new /obj/item/weapon/reagent_containers/hypospray/autoinjector(src)
new /obj/item/tank/emergency_oxygen/engi(src)
new /obj/item/crowbar/red(src)
new /obj/item/reagent_containers/hypospray/autoinjector(src)
/obj/item/weapon/storage/box/gloves
/obj/item/storage/box/gloves
name = "box of latex gloves"
desc = "Contains white gloves."
icon_state = "latex"
@@ -104,7 +104,7 @@
new /obj/item/clothing/gloves/color/latex(src)
new /obj/item/clothing/gloves/color/latex(src)
/obj/item/weapon/storage/box/masks
/obj/item/storage/box/masks
name = "sterile masks"
desc = "This box contains masks of sterility."
icon_state = "sterile"
@@ -120,7 +120,7 @@
new /obj/item/clothing/mask/surgical(src)
/obj/item/weapon/storage/box/syringes
/obj/item/storage/box/syringes
name = "syringes"
desc = "A box full of syringes."
desc = "A biohazard alert warning is printed on the box"
@@ -128,128 +128,128 @@
New()
..()
new /obj/item/weapon/reagent_containers/syringe( src )
new /obj/item/weapon/reagent_containers/syringe( src )
new /obj/item/weapon/reagent_containers/syringe( src )
new /obj/item/weapon/reagent_containers/syringe( src )
new /obj/item/weapon/reagent_containers/syringe( src )
new /obj/item/weapon/reagent_containers/syringe( src )
new /obj/item/weapon/reagent_containers/syringe( src )
new /obj/item/reagent_containers/syringe( src )
new /obj/item/reagent_containers/syringe( src )
new /obj/item/reagent_containers/syringe( src )
new /obj/item/reagent_containers/syringe( src )
new /obj/item/reagent_containers/syringe( src )
new /obj/item/reagent_containers/syringe( src )
new /obj/item/reagent_containers/syringe( src )
/obj/item/weapon/storage/box/beakers
/obj/item/storage/box/beakers
name = "beaker box"
icon_state = "beaker"
New()
..()
new /obj/item/weapon/reagent_containers/glass/beaker( src )
new /obj/item/weapon/reagent_containers/glass/beaker( src )
new /obj/item/weapon/reagent_containers/glass/beaker( src )
new /obj/item/weapon/reagent_containers/glass/beaker( src )
new /obj/item/weapon/reagent_containers/glass/beaker( src )
new /obj/item/weapon/reagent_containers/glass/beaker( src )
new /obj/item/weapon/reagent_containers/glass/beaker( src )
new /obj/item/reagent_containers/glass/beaker( src )
new /obj/item/reagent_containers/glass/beaker( src )
new /obj/item/reagent_containers/glass/beaker( src )
new /obj/item/reagent_containers/glass/beaker( src )
new /obj/item/reagent_containers/glass/beaker( src )
new /obj/item/reagent_containers/glass/beaker( src )
new /obj/item/reagent_containers/glass/beaker( src )
/obj/item/weapon/storage/box/injectors
/obj/item/storage/box/injectors
name = "\improper DNA injectors"
desc = "This box contains injectors it seems."
New()
..()
new /obj/item/weapon/dnainjector/h2m(src)
new /obj/item/weapon/dnainjector/h2m(src)
new /obj/item/weapon/dnainjector/h2m(src)
new /obj/item/weapon/dnainjector/m2h(src)
new /obj/item/weapon/dnainjector/m2h(src)
new /obj/item/weapon/dnainjector/m2h(src)
new /obj/item/dnainjector/h2m(src)
new /obj/item/dnainjector/h2m(src)
new /obj/item/dnainjector/h2m(src)
new /obj/item/dnainjector/m2h(src)
new /obj/item/dnainjector/m2h(src)
new /obj/item/dnainjector/m2h(src)
/obj/item/weapon/storage/box/slug
/obj/item/storage/box/slug
name = "Ammunition Box (Slug)"
desc = "A small box capable of holding seven shotgun shells."
icon_state = "slugbox"
/obj/item/weapon/storage/box/slug/New()
/obj/item/storage/box/slug/New()
..()
for(var/i in 1 to 7)
new /obj/item/ammo_casing/shotgun(src)
/obj/item/weapon/storage/box/buck
/obj/item/storage/box/buck
name = "Ammunition Box (Buckshot)"
desc = "A small box capable of holding seven shotgun shells."
icon_state = "buckshotbox"
/obj/item/weapon/storage/box/buck/New()
/obj/item/storage/box/buck/New()
..()
for(var/i in 1 to 7)
new /obj/item/ammo_casing/shotgun/buckshot(src)
/obj/item/weapon/storage/box/dragonsbreath
/obj/item/storage/box/dragonsbreath
name = "Ammunition Box (Dragonsbreath)"
desc = "A small box capable of holding seven shotgun shells."
icon_state = "dragonsbreathbox"
/obj/item/weapon/storage/box/dragonsbreath/New()
/obj/item/storage/box/dragonsbreath/New()
..()
for(var/i in 1 to 7)
new /obj/item/ammo_casing/shotgun/incendiary/dragonsbreath(src)
/obj/item/weapon/storage/box/stun
/obj/item/storage/box/stun
name = "Ammunition Box (Stun shells)"
desc = "A small box capable of holding seven shotgun shells."
icon_state = "stunbox"
/obj/item/weapon/storage/box/stun/New()
/obj/item/storage/box/stun/New()
..()
for(var/i in 1 to 7)
new /obj/item/ammo_casing/shotgun/stunslug(src)
/obj/item/weapon/storage/box/beanbag
/obj/item/storage/box/beanbag
name = "Ammunition Box (Beanbag shells)"
desc = "A small box capable of holding seven shotgun shells."
icon_state = "beanbagbox"
/obj/item/weapon/storage/box/beanbag/New()
/obj/item/storage/box/beanbag/New()
..()
for(var/i in 1 to 7)
new /obj/item/ammo_casing/shotgun/beanbag(src)
/obj/item/weapon/storage/box/rubbershot
/obj/item/storage/box/rubbershot
name = "Ammunition Box (Rubbershot shells)"
desc = "A small box capable of holding seven shotgun shells."
icon_state = "rubbershotbox"
/obj/item/weapon/storage/box/rubbershot/New()
/obj/item/storage/box/rubbershot/New()
..()
for(var/i in 1 to 7)
new /obj/item/ammo_casing/shotgun/rubbershot(src)
/obj/item/weapon/storage/box/tranquilizer
/obj/item/storage/box/tranquilizer
name = "Ammunition Box (Tranquilizer darts)"
desc = "A small box capable of holding seven shotgun shells."
icon_state = "tranqbox"
/obj/item/weapon/storage/box/tranquilizer/New()
/obj/item/storage/box/tranquilizer/New()
..()
for(var/i in 1 to 7)
new /obj/item/ammo_casing/shotgun/tranquilizer(src)
/obj/item/weapon/storage/box/flashbangs
/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 = "flashbang"
New()
..()
new /obj/item/weapon/grenade/flashbang(src)
new /obj/item/weapon/grenade/flashbang(src)
new /obj/item/weapon/grenade/flashbang(src)
new /obj/item/weapon/grenade/flashbang(src)
new /obj/item/weapon/grenade/flashbang(src)
new /obj/item/weapon/grenade/flashbang(src)
new /obj/item/weapon/grenade/flashbang(src)
new /obj/item/grenade/flashbang(src)
new /obj/item/grenade/flashbang(src)
new /obj/item/grenade/flashbang(src)
new /obj/item/grenade/flashbang(src)
new /obj/item/grenade/flashbang(src)
new /obj/item/grenade/flashbang(src)
new /obj/item/grenade/flashbang(src)
/obj/item/weapon/storage/box/flashes
/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 = "flashbang"
@@ -263,95 +263,95 @@
new /obj/item/device/flash(src)
new /obj/item/device/flash(src)
/obj/item/weapon/storage/box/teargas
/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 = "flashbang"
/obj/item/weapon/storage/box/teargas/New()
/obj/item/storage/box/teargas/New()
..()
new /obj/item/weapon/grenade/chem_grenade/teargas(src)
new /obj/item/weapon/grenade/chem_grenade/teargas(src)
new /obj/item/weapon/grenade/chem_grenade/teargas(src)
new /obj/item/weapon/grenade/chem_grenade/teargas(src)
new /obj/item/weapon/grenade/chem_grenade/teargas(src)
new /obj/item/weapon/grenade/chem_grenade/teargas(src)
new /obj/item/weapon/grenade/chem_grenade/teargas(src)
new /obj/item/grenade/chem_grenade/teargas(src)
new /obj/item/grenade/chem_grenade/teargas(src)
new /obj/item/grenade/chem_grenade/teargas(src)
new /obj/item/grenade/chem_grenade/teargas(src)
new /obj/item/grenade/chem_grenade/teargas(src)
new /obj/item/grenade/chem_grenade/teargas(src)
new /obj/item/grenade/chem_grenade/teargas(src)
/obj/item/weapon/storage/box/emps
/obj/item/storage/box/emps
name = "emp grenades"
desc = "A box with 5 emp grenades."
icon_state = "flashbang"
New()
..()
new /obj/item/weapon/grenade/empgrenade(src)
new /obj/item/weapon/grenade/empgrenade(src)
new /obj/item/weapon/grenade/empgrenade(src)
new /obj/item/weapon/grenade/empgrenade(src)
new /obj/item/weapon/grenade/empgrenade(src)
new /obj/item/grenade/empgrenade(src)
new /obj/item/grenade/empgrenade(src)
new /obj/item/grenade/empgrenade(src)
new /obj/item/grenade/empgrenade(src)
new /obj/item/grenade/empgrenade(src)
/obj/item/weapon/storage/box/trackimp
/obj/item/storage/box/trackimp
name = "tracking implant kit"
desc = "Box full of scum-bag tracking utensils."
icon_state = "implant"
New()
..()
new /obj/item/weapon/implantcase/tracking(src)
new /obj/item/weapon/implantcase/tracking(src)
new /obj/item/weapon/implantcase/tracking(src)
new /obj/item/weapon/implantcase/tracking(src)
new /obj/item/weapon/implanter(src)
new /obj/item/weapon/implantpad(src)
new /obj/item/weapon/locator(src)
new /obj/item/implantcase/tracking(src)
new /obj/item/implantcase/tracking(src)
new /obj/item/implantcase/tracking(src)
new /obj/item/implantcase/tracking(src)
new /obj/item/implanter(src)
new /obj/item/implantpad(src)
new /obj/item/locator(src)
/obj/item/weapon/storage/box/chemimp
/obj/item/storage/box/chemimp
name = "chemical implant kit"
desc = "Box of stuff used to implant chemicals."
icon_state = "implant"
New()
..()
new /obj/item/weapon/implantcase/chem(src)
new /obj/item/weapon/implantcase/chem(src)
new /obj/item/weapon/implantcase/chem(src)
new /obj/item/weapon/implantcase/chem(src)
new /obj/item/weapon/implantcase/chem(src)
new /obj/item/weapon/implanter(src)
new /obj/item/weapon/implantpad(src)
new /obj/item/implantcase/chem(src)
new /obj/item/implantcase/chem(src)
new /obj/item/implantcase/chem(src)
new /obj/item/implantcase/chem(src)
new /obj/item/implantcase/chem(src)
new /obj/item/implanter(src)
new /obj/item/implantpad(src)
/obj/item/weapon/storage/box/exileimp
/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."
icon_state = "implant"
New()
..()
new /obj/item/weapon/implantcase/exile(src)
new /obj/item/weapon/implantcase/exile(src)
new /obj/item/weapon/implantcase/exile(src)
new /obj/item/weapon/implantcase/exile(src)
new /obj/item/weapon/implantcase/exile(src)
new /obj/item/weapon/implanter(src)
new /obj/item/implantcase/exile(src)
new /obj/item/implantcase/exile(src)
new /obj/item/implantcase/exile(src)
new /obj/item/implantcase/exile(src)
new /obj/item/implantcase/exile(src)
new /obj/item/implanter(src)
/obj/item/weapon/storage/box/deathimp
/obj/item/storage/box/deathimp
name = "death alarm implant kit"
desc = "Box of life sign monitoring implants."
icon_state = "implant"
New()
..()
new /obj/item/weapon/implantcase/death_alarm(src)
new /obj/item/weapon/implantcase/death_alarm(src)
new /obj/item/weapon/implantcase/death_alarm(src)
new /obj/item/weapon/implantcase/death_alarm(src)
new /obj/item/weapon/implantcase/death_alarm(src)
new /obj/item/weapon/implantcase/death_alarm(src)
new /obj/item/weapon/implanter(src)
new /obj/item/implantcase/death_alarm(src)
new /obj/item/implantcase/death_alarm(src)
new /obj/item/implantcase/death_alarm(src)
new /obj/item/implantcase/death_alarm(src)
new /obj/item/implantcase/death_alarm(src)
new /obj/item/implantcase/death_alarm(src)
new /obj/item/implanter(src)
/obj/item/weapon/storage/box/tapes
/obj/item/storage/box/tapes
name = "Tape Box"
desc = "A box of spare recording tapes"
icon_state = "box"
@@ -365,7 +365,7 @@
new /obj/item/device/tape(src)
new /obj/item/device/tape(src)
/obj/item/weapon/storage/box/rxglasses
/obj/item/storage/box/rxglasses
name = "prescription glasses"
desc = "This box contains nerd glasses."
icon_state = "glasses"
@@ -380,20 +380,20 @@
new /obj/item/clothing/glasses/regular(src)
new /obj/item/clothing/glasses/regular(src)
/obj/item/weapon/storage/box/drinkingglasses
/obj/item/storage/box/drinkingglasses
name = "box of drinking glasses"
desc = "It has a picture of drinking glasses on it."
New()
..()
new /obj/item/weapon/reagent_containers/food/drinks/drinkingglass(src)
new /obj/item/weapon/reagent_containers/food/drinks/drinkingglass(src)
new /obj/item/weapon/reagent_containers/food/drinks/drinkingglass(src)
new /obj/item/weapon/reagent_containers/food/drinks/drinkingglass(src)
new /obj/item/weapon/reagent_containers/food/drinks/drinkingglass(src)
new /obj/item/weapon/reagent_containers/food/drinks/drinkingglass(src)
new /obj/item/reagent_containers/food/drinks/drinkingglass(src)
new /obj/item/reagent_containers/food/drinks/drinkingglass(src)
new /obj/item/reagent_containers/food/drinks/drinkingglass(src)
new /obj/item/reagent_containers/food/drinks/drinkingglass(src)
new /obj/item/reagent_containers/food/drinks/drinkingglass(src)
new /obj/item/reagent_containers/food/drinks/drinkingglass(src)
/obj/item/weapon/storage/box/cdeathalarm_kit
/obj/item/storage/box/cdeathalarm_kit
name = "Death Alarm Kit"
desc = "Box of stuff used to implant death alarms."
icon_state = "implant"
@@ -401,111 +401,111 @@
New()
..()
new /obj/item/weapon/implanter(src)
new /obj/item/weapon/implantcase/death_alarm(src)
new /obj/item/weapon/implantcase/death_alarm(src)
new /obj/item/weapon/implantcase/death_alarm(src)
new /obj/item/weapon/implantcase/death_alarm(src)
new /obj/item/weapon/implantcase/death_alarm(src)
new /obj/item/weapon/implantcase/death_alarm(src)
new /obj/item/implanter(src)
new /obj/item/implantcase/death_alarm(src)
new /obj/item/implantcase/death_alarm(src)
new /obj/item/implantcase/death_alarm(src)
new /obj/item/implantcase/death_alarm(src)
new /obj/item/implantcase/death_alarm(src)
new /obj/item/implantcase/death_alarm(src)
/obj/item/weapon/storage/box/condimentbottles
/obj/item/storage/box/condimentbottles
name = "box of condiment bottles"
desc = "It has a large ketchup smear on it."
New()
..()
new /obj/item/weapon/reagent_containers/food/condiment(src)
new /obj/item/weapon/reagent_containers/food/condiment(src)
new /obj/item/weapon/reagent_containers/food/condiment(src)
new /obj/item/weapon/reagent_containers/food/condiment(src)
new /obj/item/weapon/reagent_containers/food/condiment(src)
new /obj/item/weapon/reagent_containers/food/condiment(src)
new /obj/item/reagent_containers/food/condiment(src)
new /obj/item/reagent_containers/food/condiment(src)
new /obj/item/reagent_containers/food/condiment(src)
new /obj/item/reagent_containers/food/condiment(src)
new /obj/item/reagent_containers/food/condiment(src)
new /obj/item/reagent_containers/food/condiment(src)
/obj/item/weapon/storage/box/cups
/obj/item/storage/box/cups
name = "box of paper cups"
desc = "It has pictures of paper cups on the front."
New()
..()
new /obj/item/weapon/reagent_containers/food/drinks/sillycup( src )
new /obj/item/weapon/reagent_containers/food/drinks/sillycup( src )
new /obj/item/weapon/reagent_containers/food/drinks/sillycup( src )
new /obj/item/weapon/reagent_containers/food/drinks/sillycup( src )
new /obj/item/weapon/reagent_containers/food/drinks/sillycup( src )
new /obj/item/weapon/reagent_containers/food/drinks/sillycup( src )
new /obj/item/weapon/reagent_containers/food/drinks/sillycup( src )
new /obj/item/reagent_containers/food/drinks/sillycup( src )
new /obj/item/reagent_containers/food/drinks/sillycup( src )
new /obj/item/reagent_containers/food/drinks/sillycup( src )
new /obj/item/reagent_containers/food/drinks/sillycup( src )
new /obj/item/reagent_containers/food/drinks/sillycup( src )
new /obj/item/reagent_containers/food/drinks/sillycup( src )
new /obj/item/reagent_containers/food/drinks/sillycup( src )
/obj/item/weapon/storage/box/donkpockets
/obj/item/storage/box/donkpockets
name = "box of donk-pockets"
desc = "<B>Instructions:</B> <I>Heat in microwave. Product will cool if not eaten within seven minutes.</I>"
icon_state = "donk_kit"
New()
..()
new /obj/item/weapon/reagent_containers/food/snacks/donkpocket(src)
new /obj/item/weapon/reagent_containers/food/snacks/donkpocket(src)
new /obj/item/weapon/reagent_containers/food/snacks/donkpocket(src)
new /obj/item/weapon/reagent_containers/food/snacks/donkpocket(src)
new /obj/item/weapon/reagent_containers/food/snacks/donkpocket(src)
new /obj/item/weapon/reagent_containers/food/snacks/donkpocket(src)
new /obj/item/reagent_containers/food/snacks/donkpocket(src)
new /obj/item/reagent_containers/food/snacks/donkpocket(src)
new /obj/item/reagent_containers/food/snacks/donkpocket(src)
new /obj/item/reagent_containers/food/snacks/donkpocket(src)
new /obj/item/reagent_containers/food/snacks/donkpocket(src)
new /obj/item/reagent_containers/food/snacks/donkpocket(src)
/obj/item/weapon/storage/box/syndidonkpockets
/obj/item/storage/box/syndidonkpockets
name = "box of donk-pockets"
desc = "This box feels slightly warm"
icon_state = "donk_kit"
New()
..()
new /obj/item/weapon/reagent_containers/food/snacks/syndidonkpocket(src)
new /obj/item/weapon/reagent_containers/food/snacks/syndidonkpocket(src)
new /obj/item/weapon/reagent_containers/food/snacks/syndidonkpocket(src)
new /obj/item/weapon/reagent_containers/food/snacks/syndidonkpocket(src)
new /obj/item/weapon/reagent_containers/food/snacks/syndidonkpocket(src)
new /obj/item/weapon/reagent_containers/food/snacks/syndidonkpocket(src)
new /obj/item/reagent_containers/food/snacks/syndidonkpocket(src)
new /obj/item/reagent_containers/food/snacks/syndidonkpocket(src)
new /obj/item/reagent_containers/food/snacks/syndidonkpocket(src)
new /obj/item/reagent_containers/food/snacks/syndidonkpocket(src)
new /obj/item/reagent_containers/food/snacks/syndidonkpocket(src)
new /obj/item/reagent_containers/food/snacks/syndidonkpocket(src)
/obj/item/weapon/storage/box/monkeycubes
/obj/item/storage/box/monkeycubes
name = "monkey cube box"
desc = "Drymate brand monkey cubes. Just add water!"
icon = 'icons/obj/food/food.dmi'
icon_state = "monkeycubebox"
storage_slots = 7
can_hold = list(/obj/item/weapon/reagent_containers/food/snacks/monkeycube)
var/monkey_cube_type = /obj/item/weapon/reagent_containers/food/snacks/monkeycube
can_hold = list(/obj/item/reagent_containers/food/snacks/monkeycube)
var/monkey_cube_type = /obj/item/reagent_containers/food/snacks/monkeycube
/obj/item/weapon/storage/box/monkeycubes/New()
/obj/item/storage/box/monkeycubes/New()
..()
for(var/i in 1 to 5)
new monkey_cube_type(src)
/obj/item/weapon/storage/box/monkeycubes/farwacubes
/obj/item/storage/box/monkeycubes/farwacubes
name = "farwa cube box"
desc = "Drymate brand farwa cubes. Just add water!"
monkey_cube_type = /obj/item/weapon/reagent_containers/food/snacks/monkeycube/farwacube
monkey_cube_type = /obj/item/reagent_containers/food/snacks/monkeycube/farwacube
/obj/item/weapon/storage/box/monkeycubes/stokcubes
/obj/item/storage/box/monkeycubes/stokcubes
name = "stok cube box"
desc = "Drymate brand stok cubes. Just add water!"
monkey_cube_type = /obj/item/weapon/reagent_containers/food/snacks/monkeycube/stokcube
monkey_cube_type = /obj/item/reagent_containers/food/snacks/monkeycube/stokcube
/obj/item/weapon/storage/box/monkeycubes/neaeracubes
/obj/item/storage/box/monkeycubes/neaeracubes
name = "neaera cube box"
desc = "Drymate brand neaera cubes. Just add water!"
monkey_cube_type = /obj/item/weapon/reagent_containers/food/snacks/monkeycube/neaeracube
monkey_cube_type = /obj/item/reagent_containers/food/snacks/monkeycube/neaeracube
/obj/item/weapon/storage/box/monkeycubes/wolpincubes
/obj/item/storage/box/monkeycubes/wolpincubes
name = "wolpin cube box"
desc = "Drymate brand wolpin cubes. Just add water!"
monkey_cube_type = /obj/item/weapon/reagent_containers/food/snacks/monkeycube/wolpincube
monkey_cube_type = /obj/item/reagent_containers/food/snacks/monkeycube/wolpincube
/obj/item/weapon/storage/box/permits
/obj/item/storage/box/permits
name = "box of construction permits"
desc = "A box for containing construction permits, used to officially declare built rooms as additions to the station."
icon_state = "id"
/obj/item/weapon/storage/box/permits/New()
/obj/item/storage/box/permits/New()
..()
new /obj/item/areaeditor/permit(src)
new /obj/item/areaeditor/permit(src)
@@ -516,83 +516,83 @@
new /obj/item/areaeditor/permit(src)
/obj/item/weapon/storage/box/ids
/obj/item/storage/box/ids
name = "spare IDs"
desc = "Has so many empty IDs."
icon_state = "id"
New()
..()
new /obj/item/weapon/card/id(src)
new /obj/item/weapon/card/id(src)
new /obj/item/weapon/card/id(src)
new /obj/item/weapon/card/id(src)
new /obj/item/weapon/card/id(src)
new /obj/item/weapon/card/id(src)
new /obj/item/weapon/card/id(src)
new /obj/item/card/id(src)
new /obj/item/card/id(src)
new /obj/item/card/id(src)
new /obj/item/card/id(src)
new /obj/item/card/id(src)
new /obj/item/card/id(src)
new /obj/item/card/id(src)
/obj/item/weapon/storage/box/prisoner
/obj/item/storage/box/prisoner
name = "prisoner IDs"
desc = "Take away their last shred of dignity, their name."
icon_state = "id"
New()
..()
new /obj/item/weapon/card/id/prisoner/one(src)
new /obj/item/weapon/card/id/prisoner/two(src)
new /obj/item/weapon/card/id/prisoner/three(src)
new /obj/item/weapon/card/id/prisoner/four(src)
new /obj/item/weapon/card/id/prisoner/five(src)
new /obj/item/weapon/card/id/prisoner/six(src)
new /obj/item/weapon/card/id/prisoner/seven(src)
new /obj/item/card/id/prisoner/one(src)
new /obj/item/card/id/prisoner/two(src)
new /obj/item/card/id/prisoner/three(src)
new /obj/item/card/id/prisoner/four(src)
new /obj/item/card/id/prisoner/five(src)
new /obj/item/card/id/prisoner/six(src)
new /obj/item/card/id/prisoner/seven(src)
/obj/item/weapon/storage/box/seccarts
/obj/item/storage/box/seccarts
name = "spare R.O.B.U.S.T. Cartridges"
desc = "A box full of R.O.B.U.S.T. Cartridges, used by Security."
icon_state = "pda"
New()
..()
new /obj/item/weapon/cartridge/security(src)
new /obj/item/weapon/cartridge/security(src)
new /obj/item/weapon/cartridge/security(src)
new /obj/item/weapon/cartridge/security(src)
new /obj/item/weapon/cartridge/security(src)
new /obj/item/weapon/cartridge/security(src)
new /obj/item/weapon/cartridge/security(src)
new /obj/item/cartridge/security(src)
new /obj/item/cartridge/security(src)
new /obj/item/cartridge/security(src)
new /obj/item/cartridge/security(src)
new /obj/item/cartridge/security(src)
new /obj/item/cartridge/security(src)
new /obj/item/cartridge/security(src)
/obj/item/weapon/storage/box/handcuffs
/obj/item/storage/box/handcuffs
name = "spare handcuffs"
desc = "A box full of handcuffs."
icon_state = "handcuff"
New()
..()
new /obj/item/weapon/restraints/handcuffs(src)
new /obj/item/weapon/restraints/handcuffs(src)
new /obj/item/weapon/restraints/handcuffs(src)
new /obj/item/weapon/restraints/handcuffs(src)
new /obj/item/weapon/restraints/handcuffs(src)
new /obj/item/weapon/restraints/handcuffs(src)
new /obj/item/weapon/restraints/handcuffs(src)
new /obj/item/restraints/handcuffs(src)
new /obj/item/restraints/handcuffs(src)
new /obj/item/restraints/handcuffs(src)
new /obj/item/restraints/handcuffs(src)
new /obj/item/restraints/handcuffs(src)
new /obj/item/restraints/handcuffs(src)
new /obj/item/restraints/handcuffs(src)
/obj/item/weapon/storage/box/zipties
/obj/item/storage/box/zipties
name = "box of spare zipties"
desc = "A box full of zipties."
icon_state = "handcuff"
New()
..()
new /obj/item/weapon/restraints/handcuffs/cable/zipties(src)
new /obj/item/weapon/restraints/handcuffs/cable/zipties(src)
new /obj/item/weapon/restraints/handcuffs/cable/zipties(src)
new /obj/item/weapon/restraints/handcuffs/cable/zipties(src)
new /obj/item/weapon/restraints/handcuffs/cable/zipties(src)
new /obj/item/weapon/restraints/handcuffs/cable/zipties(src)
new /obj/item/weapon/restraints/handcuffs/cable/zipties(src)
new /obj/item/restraints/handcuffs/cable/zipties(src)
new /obj/item/restraints/handcuffs/cable/zipties(src)
new /obj/item/restraints/handcuffs/cable/zipties(src)
new /obj/item/restraints/handcuffs/cable/zipties(src)
new /obj/item/restraints/handcuffs/cable/zipties(src)
new /obj/item/restraints/handcuffs/cable/zipties(src)
new /obj/item/restraints/handcuffs/cable/zipties(src)
/obj/item/weapon/storage/box/alienhandcuffs
/obj/item/storage/box/alienhandcuffs
name = "box of spare handcuffs"
desc = "A box full of handcuffs."
icon_state = "alienboxCuffs"
@@ -600,9 +600,9 @@
New()
..()
for(var/i in 1 to 7)
new /obj/item/weapon/restraints/handcuffs/alien(src)
new /obj/item/restraints/handcuffs/alien(src)
/obj/item/weapon/storage/box/fakesyndiesuit
/obj/item/storage/box/fakesyndiesuit
name = "boxed space suit and helmet"
desc = "A sleek, sturdy box used to hold replica spacesuits."
icon_state = "box_of_doom"
@@ -612,7 +612,7 @@
new /obj/item/clothing/head/syndicatefake(src)
new /obj/item/clothing/suit/syndicatefake(src)
/obj/item/weapon/storage/box/mousetraps
/obj/item/storage/box/mousetraps
name = "box of Pest-B-Gon mousetraps"
desc = "<B><FONT color='red'>WARNING:</FONT></B> <I>Keep out of reach of children</I>."
icon_state = "mousetraps"
@@ -626,22 +626,22 @@
new /obj/item/device/assembly/mousetrap( src )
new /obj/item/device/assembly/mousetrap( src )
/obj/item/weapon/storage/box/pillbottles
/obj/item/storage/box/pillbottles
name = "box of pill bottles"
desc = "It has pictures of pill bottles on its front."
New()
..()
new /obj/item/weapon/storage/pill_bottle( src )
new /obj/item/weapon/storage/pill_bottle( src )
new /obj/item/weapon/storage/pill_bottle( src )
new /obj/item/weapon/storage/pill_bottle( src )
new /obj/item/weapon/storage/pill_bottle( src )
new /obj/item/weapon/storage/pill_bottle( src )
new /obj/item/weapon/storage/pill_bottle( src )
new /obj/item/storage/pill_bottle( src )
new /obj/item/storage/pill_bottle( src )
new /obj/item/storage/pill_bottle( src )
new /obj/item/storage/pill_bottle( src )
new /obj/item/storage/pill_bottle( src )
new /obj/item/storage/pill_bottle( src )
new /obj/item/storage/pill_bottle( src )
/obj/item/weapon/storage/box/snappops
/obj/item/storage/box/snappops
name = "snap pop box"
desc = "Eight wrappers of fun! Ages 8 and up. Not suitable for children."
icon = 'icons/obj/toy.dmi'
@@ -653,7 +653,7 @@
for(var/i=1; i <= storage_slots; i++)
new /obj/item/toy/snappop(src)
/obj/item/weapon/storage/box/matches
/obj/item/storage/box/matches
name = "matchbox"
desc = "A small box of Almost But Not Quite Plasma Premium Matches."
icon = 'icons/obj/cigarettes.dmi'
@@ -663,42 +663,42 @@
w_class = WEIGHT_CLASS_TINY
max_w_class = WEIGHT_CLASS_TINY
slot_flags = SLOT_BELT
can_hold = list(/obj/item/weapon/match)
can_hold = list(/obj/item/match)
/obj/item/weapon/storage/box/matches/New()
/obj/item/storage/box/matches/New()
..()
for(var/i in 1 to storage_slots)
new /obj/item/weapon/match(src)
new /obj/item/match(src)
/obj/item/weapon/storage/box/matches/attackby(obj/item/weapon/match/W, mob/user, params)
if(istype(W, /obj/item/weapon/match) && !W.lit)
/obj/item/storage/box/matches/attackby(obj/item/match/W, mob/user, params)
if(istype(W, /obj/item/match) && !W.lit)
W.matchignite()
playsound(user.loc, 'sound/goonstation/misc/matchstick_light.ogg', 50, 1)
return
/obj/item/weapon/storage/box/autoinjectors
/obj/item/storage/box/autoinjectors
name = "box of injectors"
desc = "Contains autoinjectors."
icon_state = "syringe"
New()
..()
for(var/i; i < storage_slots; i++)
new /obj/item/weapon/reagent_containers/hypospray/autoinjector(src)
new /obj/item/reagent_containers/hypospray/autoinjector(src)
/obj/item/weapon/storage/box/autoinjector/utility
/obj/item/storage/box/autoinjector/utility
name = "autoinjector kit"
desc = "A box with several utility autoinjectors for the economical miner."
icon_state = "syringe"
New()
..()
new /obj/item/weapon/reagent_containers/hypospray/autoinjector/teporone(src)
new /obj/item/weapon/reagent_containers/hypospray/autoinjector/teporone(src)
new /obj/item/weapon/reagent_containers/hypospray/autoinjector/stimpack(src)
new /obj/item/weapon/reagent_containers/hypospray/autoinjector/stimpack(src)
new /obj/item/weapon/reagent_containers/hypospray/autoinjector/stimpack(src)
new /obj/item/reagent_containers/hypospray/autoinjector/teporone(src)
new /obj/item/reagent_containers/hypospray/autoinjector/teporone(src)
new /obj/item/reagent_containers/hypospray/autoinjector/stimpack(src)
new /obj/item/reagent_containers/hypospray/autoinjector/stimpack(src)
new /obj/item/reagent_containers/hypospray/autoinjector/stimpack(src)
/obj/item/weapon/storage/box/lights
/obj/item/storage/box/lights
name = "replacement bulbs"
icon = 'icons/obj/storage.dmi'
icon_state = "light"
@@ -706,64 +706,64 @@
item_state = "syringe_kit"
foldable = /obj/item/stack/sheet/cardboard
storage_slots=21
can_hold = list(/obj/item/weapon/light/tube, /obj/item/weapon/light/bulb)
can_hold = list(/obj/item/light/tube, /obj/item/light/bulb)
max_combined_w_class = 21
use_to_pickup = 1 // for picking up broken bulbs, not that most people will try
/obj/item/weapon/storage/box/lights/bulbs/New()
/obj/item/storage/box/lights/bulbs/New()
..()
for(var/i = 0; i < 21; i++)
new /obj/item/weapon/light/bulb(src)
new /obj/item/light/bulb(src)
/obj/item/weapon/storage/box/lights/tubes
/obj/item/storage/box/lights/tubes
name = "replacement tubes"
icon_state = "lighttube"
/obj/item/weapon/storage/box/lights/tubes/New()
/obj/item/storage/box/lights/tubes/New()
..()
for(var/i = 0; i < 21; i++)
new /obj/item/weapon/light/tube(src)
new /obj/item/light/tube(src)
/obj/item/weapon/storage/box/lights/mixed
/obj/item/storage/box/lights/mixed
name = "replacement lights"
icon_state = "lightmixed"
/obj/item/weapon/storage/box/lights/mixed/New()
/obj/item/storage/box/lights/mixed/New()
..()
for(var/i = 0; i < 14; i++)
new /obj/item/weapon/light/tube(src)
new /obj/item/light/tube(src)
for(var/i = 0; i < 7; i++)
new /obj/item/weapon/light/bulb(src)
new /obj/item/light/bulb(src)
/obj/item/weapon/storage/box/barber
/obj/item/storage/box/barber
name = "Barber Starter Kit"
desc = "For all hairstyling needs."
icon_state = "implant"
/obj/item/weapon/storage/box/barber/New()
/obj/item/storage/box/barber/New()
..()
new /obj/item/weapon/scissors/barber(src)
new /obj/item/scissors/barber(src)
new /obj/item/hair_dye_bottle(src)
new /obj/item/weapon/reagent_containers/glass/bottle/reagent/hairgrownium(src)
new /obj/item/weapon/reagent_containers/glass/bottle/reagent/hair_dye(src)
new /obj/item/weapon/reagent_containers/glass/bottle/reagent(src)
new /obj/item/weapon/reagent_containers/dropper(src)
new /obj/item/reagent_containers/glass/bottle/reagent/hairgrownium(src)
new /obj/item/reagent_containers/glass/bottle/reagent/hair_dye(src)
new /obj/item/reagent_containers/glass/bottle/reagent(src)
new /obj/item/reagent_containers/dropper(src)
new /obj/item/clothing/mask/fakemoustache(src) //totally necessary for successful barbering -Fox
/obj/item/weapon/storage/box/lip_stick
/obj/item/storage/box/lip_stick
name = "Lipstick Kit"
desc = "For all your lip coloring needs."
icon_state = "implant"
/obj/item/weapon/storage/box/lip_stick/New()
/obj/item/storage/box/lip_stick/New()
..()
new /obj/item/weapon/lipstick(src)
new /obj/item/weapon/lipstick/purple(src)
new /obj/item/weapon/lipstick/jade(src)
new /obj/item/weapon/lipstick/black(src)
new /obj/item/weapon/lipstick/green(src)
new /obj/item/weapon/lipstick/blue(src)
new /obj/item/weapon/lipstick/white(src)
new /obj/item/lipstick(src)
new /obj/item/lipstick/purple(src)
new /obj/item/lipstick/jade(src)
new /obj/item/lipstick/black(src)
new /obj/item/lipstick/green(src)
new /obj/item/lipstick/blue(src)
new /obj/item/lipstick/white(src)
#define NODESIGN "None"
#define NANOTRASEN "NanotrasenStandard"
@@ -771,7 +771,7 @@
#define HEART "Heart"
#define SMILE "SmileyFace"
/obj/item/weapon/storage/box/papersack
/obj/item/storage/box/papersack
name = "paper sack"
desc = "A sack neatly crafted out of paper."
icon_state = "paperbag_None"
@@ -779,13 +779,13 @@
foldable = null
var/design = NODESIGN
/obj/item/weapon/storage/box/papersack/update_icon()
/obj/item/storage/box/papersack/update_icon()
if(!contents.len)
icon_state = "[item_state]"
else icon_state = "[item_state]_closed"
/obj/item/weapon/storage/box/papersack/attackby(obj/item/weapon/W, mob/user, params)
if(istype(W, /obj/item/weapon/pen))
/obj/item/storage/box/papersack/attackby(obj/item/W, mob/user, params)
if(istype(W, /obj/item/pen))
//if a pen is used on the sack, dialogue to change its design appears
if(contents.len)
to_chat(user, "<span class='warning'>You can't modify [src] with items still inside!</span>")
@@ -1,4 +1,4 @@
/obj/item/weapon/storage/briefcase
/obj/item/storage/briefcase
name = "briefcase"
desc = "It's made of AUTHENTIC faux-leather and has a price-tag still attached. Its owner must be a real professional."
icon_state = "briefcase"
@@ -15,5 +15,5 @@
burn_state = FLAMMABLE
burntime = 20
/obj/item/weapon/storage/briefcase/New()
/obj/item/storage/briefcase/New()
..()
@@ -13,19 +13,19 @@
* Cigarette Box
*/
/obj/item/weapon/storage/fancy/
/obj/item/storage/fancy/
icon = 'icons/obj/food/food.dmi'
icon_state = "donutbox6"
name = "donut box"
burn_state = FLAMMABLE
var/icon_type = "donut"
/obj/item/weapon/storage/fancy/update_icon(var/itemremoved = 0)
/obj/item/storage/fancy/update_icon(var/itemremoved = 0)
var/total_contents = src.contents.len - itemremoved
src.icon_state = "[src.icon_type]box[total_contents]"
return
/obj/item/weapon/storage/fancy/examine(mob/user)
/obj/item/storage/fancy/examine(mob/user)
if(!..(user, 1))
return
@@ -42,43 +42,43 @@
* Donut Box
*/
/obj/item/weapon/storage/fancy/donut_box
/obj/item/storage/fancy/donut_box
icon = 'icons/obj/food/food.dmi'
icon_state = "donutbox6"
icon_type = "donut"
name = "donut box"
storage_slots = 6
can_hold = list(/obj/item/weapon/reagent_containers/food/snacks/donut)
can_hold = list(/obj/item/reagent_containers/food/snacks/donut)
/obj/item/weapon/storage/fancy/donut_box/New()
/obj/item/storage/fancy/donut_box/New()
..()
for(var/i = 1 to storage_slots)
new /obj/item/weapon/reagent_containers/food/snacks/donut(src)
new /obj/item/reagent_containers/food/snacks/donut(src)
/*
* Egg Box
*/
/obj/item/weapon/storage/fancy/egg_box
/obj/item/storage/fancy/egg_box
icon = 'icons/obj/food/food.dmi'
icon_state = "eggbox"
icon_type = "egg"
name = "egg box"
storage_slots = 12
can_hold = list(/obj/item/weapon/reagent_containers/food/snacks/egg)
can_hold = list(/obj/item/reagent_containers/food/snacks/egg)
/obj/item/weapon/storage/fancy/egg_box/New()
/obj/item/storage/fancy/egg_box/New()
..()
for(var/i=1; i <= storage_slots; i++)
new /obj/item/weapon/reagent_containers/food/snacks/egg(src)
new /obj/item/reagent_containers/food/snacks/egg(src)
return
/*
* Candle Box
*/
/obj/item/weapon/storage/fancy/candle_box
/obj/item/storage/fancy/candle_box
name = "Candle pack"
desc = "A pack of red candles."
icon = 'icons/obj/candle.dmi'
@@ -90,17 +90,17 @@
slot_flags = SLOT_BELT
/obj/item/weapon/storage/fancy/candle_box/full/New()
/obj/item/storage/fancy/candle_box/full/New()
..()
for(var/i=1; i <= storage_slots; i++)
new /obj/item/candle(src)
return
/obj/item/weapon/storage/fancy/candle_box/eternal
/obj/item/storage/fancy/candle_box/eternal
name = "Eternal Candle pack"
desc = "A pack of red candles made with a special wax."
/obj/item/weapon/storage/fancy/candle_box/eternal/New()
/obj/item/storage/fancy/candle_box/eternal/New()
..()
for(var/i=1; i <= storage_slots; i++)
new /obj/item/candle/eternal(src)
@@ -110,7 +110,7 @@
* Crayon Box
*/
/obj/item/weapon/storage/fancy/crayons
/obj/item/storage/fancy/crayons
name = "box of crayons"
desc = "A box of crayons for all your rune drawing needs."
icon = 'icons/obj/crayons.dmi'
@@ -122,7 +122,7 @@
/obj/item/toy/crayon
)
/obj/item/weapon/storage/fancy/crayons/New()
/obj/item/storage/fancy/crayons/New()
..()
new /obj/item/toy/crayon/red(src)
new /obj/item/toy/crayon/orange(src)
@@ -132,13 +132,13 @@
new /obj/item/toy/crayon/purple(src)
update_icon()
/obj/item/weapon/storage/fancy/crayons/update_icon()
/obj/item/storage/fancy/crayons/update_icon()
overlays = list() //resets list
overlays += image('icons/obj/crayons.dmi',"crayonbox")
for(var/obj/item/toy/crayon/crayon in contents)
overlays += image('icons/obj/crayons.dmi',crayon.colourName)
/obj/item/weapon/storage/fancy/crayons/attackby(obj/item/W as obj, mob/user as mob, params)
/obj/item/storage/fancy/crayons/attackby(obj/item/W as obj, mob/user as mob, params)
if(istype(W,/obj/item/toy/crayon))
switch(W:colourName)
if("mime")
@@ -152,7 +152,7 @@
////////////
//CIG PACK//
////////////
/obj/item/weapon/storage/fancy/cigarettes
/obj/item/storage/fancy/cigarettes
name = "cigarette packet"
desc = "The most popular brand of Space Cigarettes, sponsors of the Space Olympics."
icon = 'icons/obj/cigarettes.dmi'
@@ -164,17 +164,17 @@
storage_slots = 6
max_combined_w_class = 6
can_hold = list(/obj/item/clothing/mask/cigarette,
/obj/item/weapon/lighter,
/obj/item/weapon/match)
/obj/item/lighter,
/obj/item/match)
cant_hold = list(/obj/item/clothing/mask/cigarette/cigar,
/obj/item/clothing/mask/cigarette/pipe,
/obj/item/weapon/lighter/zippo)
/obj/item/lighter/zippo)
icon_type = "cigarette"
var/list/unlaced_cigarettes = list() // Cigarettes that haven't received reagents yet
var/default_reagents = list("nicotine" = 15) // List of reagents to pre-generate for each cigarette
var/cigarette_type = /obj/item/clothing/mask/cigarette
/obj/item/weapon/storage/fancy/cigarettes/New()
/obj/item/storage/fancy/cigarettes/New()
..()
create_reagents(30 * storage_slots)//so people can inject cigarettes without opening a packet, now with being able to inject the whole one
reagents.set_reacting(FALSE)
@@ -185,26 +185,26 @@
reagents.add_reagent(R, default_reagents[R])
/obj/item/weapon/storage/fancy/cigarettes/Destroy()
/obj/item/storage/fancy/cigarettes/Destroy()
QDEL_NULL(reagents)
return ..()
/obj/item/weapon/storage/fancy/cigarettes/update_icon()
/obj/item/storage/fancy/cigarettes/update_icon()
icon_state = "[initial(icon_state)][contents.len]"
return
/obj/item/weapon/storage/fancy/cigarettes/proc/lace_cigarette(var/obj/item/clothing/mask/cigarette/C as obj)
/obj/item/storage/fancy/cigarettes/proc/lace_cigarette(var/obj/item/clothing/mask/cigarette/C as obj)
if(istype(C) && (C in unlaced_cigarettes)) // Only transfer reagents to each cigarette once
reagents.trans_to(C, (reagents.total_volume/unlaced_cigarettes.len))
unlaced_cigarettes -= C
reagents.maximum_volume = 30 * unlaced_cigarettes.len
/obj/item/weapon/storage/fancy/cigarettes/remove_from_storage(obj/item/W as obj, atom/new_location)
/obj/item/storage/fancy/cigarettes/remove_from_storage(obj/item/W as obj, atom/new_location)
lace_cigarette(W)
..()
/obj/item/weapon/storage/fancy/cigarettes/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob)
/obj/item/storage/fancy/cigarettes/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob)
if(!istype(M, /mob))
return
@@ -225,15 +225,15 @@
else
..()
/obj/item/weapon/storage/fancy/cigarettes/can_be_inserted(obj/item/W as obj, stop_messages = 0)
if(istype(W, /obj/item/weapon/match))
var/obj/item/weapon/match/M = W
/obj/item/storage/fancy/cigarettes/can_be_inserted(obj/item/W as obj, stop_messages = 0)
if(istype(W, /obj/item/match))
var/obj/item/match/M = W
if(M.lit == 1)
if(!stop_messages)
to_chat(usr, "<span class='notice'>Putting a lit [W] in [src] probably isn't a good idea.</span>")
return 0
if(istype(W, /obj/item/weapon/lighter))
var/obj/item/weapon/lighter/L = W
if(istype(W, /obj/item/lighter))
var/obj/item/lighter/L = W
if(L.lit == 1)
if(!stop_messages)
to_chat(usr, "<span class='notice'>Putting [W] in [src] while lit probably isn't a good idea.</span>")
@@ -241,70 +241,70 @@
//if we get this far, handle the insertion checks as normal
.=..()
/obj/item/weapon/storage/fancy/cigarettes/dromedaryco
/obj/item/storage/fancy/cigarettes/dromedaryco
name = "\improper DromedaryCo packet"
desc = "A packet of six imported DromedaryCo cancer sticks. A label on the packaging reads, \"Wouldn't a slow death make a change?\""
icon_state = "Dpacket"
item_state = "cigpacket"
/obj/item/weapon/storage/fancy/cigarettes/syndicate
/obj/item/storage/fancy/cigarettes/syndicate
name = "\improper Syndicate Cigarettes"
desc = "A packet of six evil-looking cigarettes, A label on the packaging reads, \"Donk Co\""
icon_state = "robustpacket"
item_state = "cigpacket"
/obj/item/weapon/storage/fancy/cigarettes/syndicate/New()
/obj/item/storage/fancy/cigarettes/syndicate/New()
..()
var/new_name = pick("evil", "suspicious", "ominous", "donk-flavored", "robust", "sneaky")
name = "[new_name] cigarette packet"
/obj/item/weapon/storage/fancy/cigarettes/cigpack_syndicate
/obj/item/storage/fancy/cigarettes/cigpack_syndicate
name = "cigarette packet"
desc = "An obscure brand of cigarettes."
icon_state = "syndiepacket"
item_state = "cigpacket"
default_reagents = list("nicotine" = 15, "omnizine" = 15)
/obj/item/weapon/storage/fancy/cigarettes/cigpack_med
/obj/item/storage/fancy/cigarettes/cigpack_med
name = "Medical Marijuana Packet"
desc = "A prescription packet containing six marijuana cigarettes."
icon_state = "medpacket"
item_state = "cigpacket"
default_reagents = list("thc" = 15)
/obj/item/weapon/storage/fancy/cigarettes/cigpack_uplift
/obj/item/storage/fancy/cigarettes/cigpack_uplift
name = "\improper Uplift Smooth packet"
desc = "Your favorite brand, now menthol flavored."
icon_state = "upliftpacket"
item_state = "cigpacket"
/obj/item/weapon/storage/fancy/cigarettes/cigpack_robust
/obj/item/storage/fancy/cigarettes/cigpack_robust
name = "\improper Robust packet"
desc = "Smoked by the robust."
icon_state = "robustpacket"
item_state = "cigpacket"
/obj/item/weapon/storage/fancy/cigarettes/cigpack_robustgold
/obj/item/storage/fancy/cigarettes/cigpack_robustgold
name = "\improper Robust Gold packet"
desc = "Smoked by the truly robust."
icon_state = "robustgpacket"
item_state = "cigpacket"
default_reagents = list("nicotine" = 15, "gold" = 1)
/obj/item/weapon/storage/fancy/cigarettes/cigpack_carp
/obj/item/storage/fancy/cigarettes/cigpack_carp
name = "\improper Carp Classic packet"
desc = "Since 2313."
icon_state = "carppacket"
item_state = "cigpacket"
/obj/item/weapon/storage/fancy/cigarettes/cigpack_midori
/obj/item/storage/fancy/cigarettes/cigpack_midori
name = "\improper Midori Tabako packet"
desc = "You can't understand the runes, but the packet smells funny."
icon_state = "midoripacket"
item_state = "cigpacket"
/obj/item/weapon/storage/fancy/cigarettes/cigpack_shadyjims
/obj/item/storage/fancy/cigarettes/cigpack_shadyjims
name ="\improper Shady Jim's Super Slims"
desc = "Is your weight slowing you down? Having trouble running away from gravitational singularities? Can't stop stuffing your mouth? Smoke Shady Jim's Super Slims and watch all that fat burn away. Guaranteed results!"
icon_state = "shadyjimpacket"
@@ -315,14 +315,14 @@
"atrazine" = 1,
"toxin" = 1.5)
/obj/item/weapon/storage/fancy/cigarettes/cigpack_random
/obj/item/storage/fancy/cigarettes/cigpack_random
name ="\improper Embellished Enigma packet"
desc = "For the true connoisseur of exotic flavors."
icon_state = "shadyjimpacket"
item_state = "cigpacket"
cigarette_type = /obj/item/clothing/mask/cigarette/random
/obj/item/weapon/storage/fancy/rollingpapers
/obj/item/storage/fancy/rollingpapers
name = "rolling paper pack"
desc = "A pack of Nanotrasen brand rolling papers."
w_class = WEIGHT_CLASS_TINY
@@ -330,14 +330,14 @@
icon_state = "cig_paper_pack"
storage_slots = 10
icon_type = "rolling paper"
can_hold = list(/obj/item/weapon/rollingpaper)
can_hold = list(/obj/item/rollingpaper)
/obj/item/weapon/storage/fancy/rollingpapers/New()
/obj/item/storage/fancy/rollingpapers/New()
..()
for(var/i in 1 to storage_slots)
new /obj/item/weapon/rollingpaper(src)
new /obj/item/rollingpaper(src)
/obj/item/weapon/storage/fancy/rollingpapers/update_icon()
/obj/item/storage/fancy/rollingpapers/update_icon()
overlays.Cut()
if(!contents.len)
overlays += "[icon_state]_empty"
@@ -346,38 +346,38 @@
* Vial Box
*/
/obj/item/weapon/storage/fancy/vials
/obj/item/storage/fancy/vials
icon = 'icons/obj/vialbox.dmi'
icon_state = "vialbox6"
icon_type = "vial"
name = "vial storage box"
storage_slots = 6
can_hold = list(/obj/item/weapon/reagent_containers/glass/beaker/vial)
can_hold = list(/obj/item/reagent_containers/glass/beaker/vial)
/obj/item/weapon/storage/fancy/vials/New()
/obj/item/storage/fancy/vials/New()
..()
for(var/i=1; i <= storage_slots; i++)
new /obj/item/weapon/reagent_containers/glass/beaker/vial(src)
new /obj/item/reagent_containers/glass/beaker/vial(src)
return
/obj/item/weapon/storage/lockbox/vials
/obj/item/storage/lockbox/vials
name = "secure vial storage box"
desc = "A locked box for keeping things away from children."
icon = 'icons/obj/vialbox.dmi'
icon_state = "vialbox0"
item_state = "syringe_kit"
max_w_class = WEIGHT_CLASS_NORMAL
can_hold = list(/obj/item/weapon/reagent_containers/glass/beaker/vial)
can_hold = list(/obj/item/reagent_containers/glass/beaker/vial)
max_combined_w_class = 14 //The sum of the w_classes of all the items in this storage item.
storage_slots = 6
req_access = list(access_virology)
/obj/item/weapon/storage/lockbox/vials/New()
/obj/item/storage/lockbox/vials/New()
..()
update_icon()
/obj/item/weapon/storage/lockbox/vials/update_icon(var/itemremoved = 0)
/obj/item/storage/lockbox/vials/update_icon(var/itemremoved = 0)
var/total_contents = src.contents.len - itemremoved
src.icon_state = "vialbox[total_contents]"
src.overlays.Cut()
@@ -389,7 +389,7 @@
overlays += image(icon, src, "ledb")
return
/obj/item/weapon/storage/lockbox/vials/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
/obj/item/storage/lockbox/vials/attackby(obj/item/W as obj, mob/user as mob, params)
..()
update_icon()
@@ -397,19 +397,19 @@
///Aquatic Starter Kit
/obj/item/weapon/storage/firstaid/aquatic_kit
/obj/item/storage/firstaid/aquatic_kit
name = "aquatic starter kit"
desc = "It's a starter kit box for an aquarium."
icon_state = "AquaticKit"
throw_speed = 2
throw_range = 8
/obj/item/weapon/storage/firstaid/aquatic_kit/full
/obj/item/storage/firstaid/aquatic_kit/full
desc = "It's a starter kit for an acquarium; includes 1 tank brush, 1 egg scoop, 1 fish net, and 1 container of fish food."
/obj/item/weapon/storage/firstaid/aquatic_kit/full/New()
/obj/item/storage/firstaid/aquatic_kit/full/New()
..()
new /obj/item/weapon/egg_scoop(src)
new /obj/item/weapon/fish_net(src)
new /obj/item/weapon/tank_brush(src)
new /obj/item/weapon/fishfood(src)
new /obj/item/egg_scoop(src)
new /obj/item/fish_net(src)
new /obj/item/tank_brush(src)
new /obj/item/fishfood(src)
@@ -8,7 +8,7 @@
/*
* First Aid Kits
*/
/obj/item/weapon/storage/firstaid
/obj/item/storage/firstaid
name = "first-aid kit"
desc = "It's an emergency medical kit for those serious boo-boos."
icon_state = "firstaid"
@@ -23,7 +23,7 @@
var/treatment_virus = "spaceacillin"
/obj/item/weapon/storage/firstaid/fire
/obj/item/storage/firstaid/fire
name = "fire first-aid kit"
desc = "A medical kit that contains several medical patches and pills for treating burns. Contains one epinephrine syringe for emergency use and a health analyzer."
icon_state = "ointment"
@@ -35,35 +35,35 @@
icon_state = pick("ointment","firefirstaid")
new /obj/item/weapon/reagent_containers/food/pill/patch/silver_sulf( src )
new /obj/item/weapon/reagent_containers/food/pill/patch/silver_sulf( src )
new /obj/item/weapon/reagent_containers/food/pill/patch/silver_sulf( src )
new /obj/item/weapon/reagent_containers/food/pill/patch/silver_sulf( src )
new /obj/item/reagent_containers/food/pill/patch/silver_sulf( src )
new /obj/item/reagent_containers/food/pill/patch/silver_sulf( src )
new /obj/item/reagent_containers/food/pill/patch/silver_sulf( src )
new /obj/item/reagent_containers/food/pill/patch/silver_sulf( src )
new /obj/item/device/healthanalyzer( src )
new /obj/item/weapon/reagent_containers/hypospray/autoinjector( src )
new /obj/item/weapon/reagent_containers/food/pill/salicylic( src )
new /obj/item/reagent_containers/hypospray/autoinjector( src )
new /obj/item/reagent_containers/food/pill/salicylic( src )
return
/obj/item/weapon/storage/firstaid/fire/empty
/obj/item/storage/firstaid/fire/empty
empty = 1
/obj/item/weapon/storage/firstaid/regular
/obj/item/storage/firstaid/regular
desc = "A general medical kit that contains medical patches for both brute damage and burn damage. Also contains an epinephrine syringe for emergency use and a health analyzer"
icon_state = "firstaid"
New()
..()
if(empty) return
new /obj/item/weapon/reagent_containers/food/pill/patch/styptic( src )
new /obj/item/weapon/reagent_containers/food/pill/patch/styptic( src )
new /obj/item/weapon/reagent_containers/food/pill/salicylic( src )
new /obj/item/weapon/reagent_containers/food/pill/patch/silver_sulf( src )
new /obj/item/weapon/reagent_containers/food/pill/patch/silver_sulf( src )
new /obj/item/reagent_containers/food/pill/patch/styptic( src )
new /obj/item/reagent_containers/food/pill/patch/styptic( src )
new /obj/item/reagent_containers/food/pill/salicylic( src )
new /obj/item/reagent_containers/food/pill/patch/silver_sulf( src )
new /obj/item/reagent_containers/food/pill/patch/silver_sulf( src )
new /obj/item/device/healthanalyzer( src )
new /obj/item/weapon/reagent_containers/hypospray/autoinjector( src )
new /obj/item/reagent_containers/hypospray/autoinjector( src )
return
/obj/item/weapon/storage/firstaid/toxin
/obj/item/storage/firstaid/toxin
name = "toxin first aid kit"
desc = "A medical kit designed to counter poisoning by common toxins. Contains three pills and syringes, and a health analyzer to determine the health of the patient."
icon_state = "antitoxin"
@@ -75,19 +75,19 @@
icon_state = pick("antitoxin","antitoxfirstaid","antitoxfirstaid2","antitoxfirstaid3")
new /obj/item/weapon/reagent_containers/syringe/charcoal( src )
new /obj/item/weapon/reagent_containers/syringe/charcoal( src )
new /obj/item/weapon/reagent_containers/syringe/charcoal( src )
new /obj/item/weapon/reagent_containers/food/pill/charcoal( src )
new /obj/item/weapon/reagent_containers/food/pill/charcoal( src )
new /obj/item/weapon/reagent_containers/food/pill/charcoal( src )
new /obj/item/reagent_containers/syringe/charcoal( src )
new /obj/item/reagent_containers/syringe/charcoal( src )
new /obj/item/reagent_containers/syringe/charcoal( src )
new /obj/item/reagent_containers/food/pill/charcoal( src )
new /obj/item/reagent_containers/food/pill/charcoal( src )
new /obj/item/reagent_containers/food/pill/charcoal( src )
new /obj/item/device/healthanalyzer( src )
return
/obj/item/weapon/storage/firstaid/toxin/empty
/obj/item/storage/firstaid/toxin/empty
empty = 1
/obj/item/weapon/storage/firstaid/o2
/obj/item/storage/firstaid/o2
name = "oxygen deprivation first aid kit"
desc = "A first aid kit that contains four pills of salbutamol, which is able to counter injuries caused by suffocation. Also contains a health analyzer to determine the health of the patient."
icon_state = "o2"
@@ -96,17 +96,17 @@
New()
..()
if(empty) return
new /obj/item/weapon/reagent_containers/food/pill/salbutamol( src )
new /obj/item/weapon/reagent_containers/food/pill/salbutamol( src )
new /obj/item/weapon/reagent_containers/food/pill/salbutamol( src )
new /obj/item/weapon/reagent_containers/food/pill/salbutamol( src )
new /obj/item/reagent_containers/food/pill/salbutamol( src )
new /obj/item/reagent_containers/food/pill/salbutamol( src )
new /obj/item/reagent_containers/food/pill/salbutamol( src )
new /obj/item/reagent_containers/food/pill/salbutamol( src )
new /obj/item/device/healthanalyzer( src )
return
/obj/item/weapon/storage/firstaid/o2/empty
/obj/item/storage/firstaid/o2/empty
empty = 1
/obj/item/weapon/storage/firstaid/brute
/obj/item/storage/firstaid/brute
name = "brute trauma treatment kit"
desc = "A medical kit that contains several medical patches and pills for treating brute injuries. Contains one epinephrine syringe for emergency use and a health analyzer."
icon_state = "brute"
@@ -118,25 +118,25 @@
icon_state = pick("brute","brute2")
new /obj/item/weapon/reagent_containers/food/pill/patch/styptic(src)
new /obj/item/weapon/reagent_containers/food/pill/patch/styptic(src)
new /obj/item/weapon/reagent_containers/food/pill/patch/styptic(src)
new /obj/item/weapon/reagent_containers/food/pill/patch/styptic(src)
new /obj/item/reagent_containers/food/pill/patch/styptic(src)
new /obj/item/reagent_containers/food/pill/patch/styptic(src)
new /obj/item/reagent_containers/food/pill/patch/styptic(src)
new /obj/item/reagent_containers/food/pill/patch/styptic(src)
new /obj/item/device/healthanalyzer(src)
new /obj/item/weapon/reagent_containers/hypospray/autoinjector(src)
new /obj/item/reagent_containers/hypospray/autoinjector(src)
new /obj/item/stack/medical/bruise_pack(src)
return
/obj/item/weapon/storage/firstaid/brute/empty
/obj/item/storage/firstaid/brute/empty
empty = 1
/obj/item/weapon/storage/firstaid/adv
/obj/item/storage/firstaid/adv
name = "advanced first-aid kit"
desc = "Contains advanced medical treatments."
icon_state = "advfirstaid"
item_state = "firstaid-advanced"
/obj/item/weapon/storage/firstaid/adv/New()
/obj/item/storage/firstaid/adv/New()
..()
if(empty)
return
@@ -145,13 +145,13 @@
new /obj/item/stack/medical/bruise_pack/advanced(src)
new /obj/item/stack/medical/ointment/advanced(src)
new /obj/item/stack/medical/ointment/advanced(src)
new /obj/item/weapon/reagent_containers/hypospray/autoinjector(src)
new /obj/item/reagent_containers/hypospray/autoinjector(src)
new /obj/item/device/healthanalyzer(src)
/obj/item/weapon/storage/firstaid/adv/empty
/obj/item/storage/firstaid/adv/empty
empty = 1
/obj/item/weapon/storage/firstaid/tactical
/obj/item/storage/firstaid/tactical
name = "first-aid kit"
icon_state = "bezerk"
desc = "I hope you've got insurance."
@@ -162,55 +162,55 @@
treatment_tox = "charcoal"
req_one_access =list(access_syndicate)
/obj/item/weapon/storage/firstaid/tactical/New()
/obj/item/storage/firstaid/tactical/New()
..()
if(empty) return
new /obj/item/weapon/reagent_containers/hypospray/combat(src)
new /obj/item/weapon/reagent_containers/food/pill/patch/synthflesh(src) // Because you ain't got no time to look at what damage dey taking yo
new /obj/item/weapon/reagent_containers/food/pill/patch/synthflesh(src)
new /obj/item/weapon/reagent_containers/food/pill/patch/synthflesh(src)
new /obj/item/weapon/reagent_containers/food/pill/patch/synthflesh(src)
new /obj/item/weapon/defibrillator/compact/combat/loaded(src)
new /obj/item/reagent_containers/hypospray/combat(src)
new /obj/item/reagent_containers/food/pill/patch/synthflesh(src) // Because you ain't got no time to look at what damage dey taking yo
new /obj/item/reagent_containers/food/pill/patch/synthflesh(src)
new /obj/item/reagent_containers/food/pill/patch/synthflesh(src)
new /obj/item/reagent_containers/food/pill/patch/synthflesh(src)
new /obj/item/defibrillator/compact/combat/loaded(src)
new /obj/item/clothing/glasses/hud/health/night(src)
return
/obj/item/weapon/storage/firstaid/tactical/empty
/obj/item/storage/firstaid/tactical/empty
empty =1
/obj/item/weapon/storage/firstaid/surgery
/obj/item/storage/firstaid/surgery
name = "field surgery kit"
icon_state = "duffel-med"
desc = "A kit for surgery in the field."
max_w_class = WEIGHT_CLASS_BULKY
max_combined_w_class = 21
storage_slots = 10
can_hold = list(/obj/item/roller,/obj/item/weapon/bonesetter,/obj/item/weapon/bonegel, /obj/item/weapon/scalpel, /obj/item/weapon/hemostat,
/obj/item/weapon/cautery, /obj/item/weapon/retractor, /obj/item/weapon/FixOVein, /obj/item/weapon/surgicaldrill, /obj/item/weapon/circular_saw)
can_hold = list(/obj/item/roller,/obj/item/bonesetter,/obj/item/bonegel, /obj/item/scalpel, /obj/item/hemostat,
/obj/item/cautery, /obj/item/retractor, /obj/item/FixOVein, /obj/item/surgicaldrill, /obj/item/circular_saw)
/obj/item/weapon/storage/firstaid/surgery/New()
/obj/item/storage/firstaid/surgery/New()
..()
new /obj/item/roller(src)
new /obj/item/weapon/bonesetter(src)
new /obj/item/weapon/bonegel(src)
new /obj/item/weapon/scalpel(src)
new /obj/item/weapon/hemostat(src)
new /obj/item/weapon/cautery(src)
new /obj/item/weapon/retractor(src)
new /obj/item/weapon/FixOVein(src)
new /obj/item/weapon/surgicaldrill(src)
new /obj/item/weapon/circular_saw(src)
new /obj/item/bonesetter(src)
new /obj/item/bonegel(src)
new /obj/item/scalpel(src)
new /obj/item/hemostat(src)
new /obj/item/cautery(src)
new /obj/item/retractor(src)
new /obj/item/FixOVein(src)
new /obj/item/surgicaldrill(src)
new /obj/item/circular_saw(src)
/*
* Pill Bottles
*/
/obj/item/weapon/storage/pill_bottle
/obj/item/storage/pill_bottle
name = "pill bottle"
desc = "It's an airtight container for storing medication."
icon_state = "pill_canister"
icon = 'icons/obj/chemical.dmi'
item_state = "contsolid"
w_class = WEIGHT_CLASS_SMALL
can_hold = list(/obj/item/weapon/reagent_containers/food/pill, /obj/item/weapon/dice, /obj/item/weapon/paper)
can_hold = list(/obj/item/reagent_containers/food/pill, /obj/item/dice, /obj/item/paper)
allow_quick_gather = 1
use_to_pickup = 1
storage_slots = 14
@@ -218,11 +218,11 @@
var/base_name = ""
var/label_text = ""
/obj/item/weapon/storage/pill_bottle/New()
/obj/item/storage/pill_bottle/New()
..()
base_name = name
/obj/item/weapon/storage/pill_bottle/MouseDrop(obj/over_object as obj) //Quick pillbottle fix. -Agouri
/obj/item/storage/pill_bottle/MouseDrop(obj/over_object as obj) //Quick pillbottle fix. -Agouri
if(ishuman(usr)) //Can monkeys even place items in the pocket slots? Leaving this in just in case~
var/mob/M = usr
if(!( istype(over_object, /obj/screen) ))
@@ -244,8 +244,8 @@
return
return
/obj/item/weapon/storage/pill_bottle/attackby(var/obj/item/I, mob/user as mob, params)
if(istype(I, /obj/item/weapon/pen) || istype(I, /obj/item/device/flashlight/pen))
/obj/item/storage/pill_bottle/attackby(var/obj/item/I, mob/user as mob, params)
if(istype(I, /obj/item/pen) || istype(I, /obj/item/device/flashlight/pen))
var/tmp_label = sanitize(input(user, "Enter a label for [name]","Label",label_text))
if(length(tmp_label) > MAX_NAME_LEN)
to_chat(user, "<span class='warning'>The label can be at most [MAX_NAME_LEN] characters long.</span>")
@@ -256,37 +256,37 @@
else
..()
/obj/item/weapon/storage/pill_bottle/proc/update_name_label()
/obj/item/storage/pill_bottle/proc/update_name_label()
if(label_text == "")
name = base_name
else
name = "[base_name] ([label_text])"
/obj/item/weapon/storage/pill_bottle/charcoal
/obj/item/storage/pill_bottle/charcoal
name = "Pill bottle (Charcoal)"
desc = "Contains pills used to counter toxins."
New()
..()
new /obj/item/weapon/reagent_containers/food/pill/charcoal( src )
new /obj/item/weapon/reagent_containers/food/pill/charcoal( src )
new /obj/item/weapon/reagent_containers/food/pill/charcoal( src )
new /obj/item/weapon/reagent_containers/food/pill/charcoal( src )
new /obj/item/weapon/reagent_containers/food/pill/charcoal( src )
new /obj/item/weapon/reagent_containers/food/pill/charcoal( src )
new /obj/item/weapon/reagent_containers/food/pill/charcoal( src )
new /obj/item/reagent_containers/food/pill/charcoal( src )
new /obj/item/reagent_containers/food/pill/charcoal( src )
new /obj/item/reagent_containers/food/pill/charcoal( src )
new /obj/item/reagent_containers/food/pill/charcoal( src )
new /obj/item/reagent_containers/food/pill/charcoal( src )
new /obj/item/reagent_containers/food/pill/charcoal( src )
new /obj/item/reagent_containers/food/pill/charcoal( src )
/obj/item/weapon/storage/pill_bottle/painkillers
/obj/item/storage/pill_bottle/painkillers
name = "Pill Bottle (Salicylic Acid)"
desc = "Contains various pills for minor pain relief."
/obj/item/weapon/storage/pill_bottle/painkillers/New()
/obj/item/storage/pill_bottle/painkillers/New()
..()
new /obj/item/weapon/reagent_containers/food/pill/salicylic(src)
new /obj/item/weapon/reagent_containers/food/pill/salicylic(src)
new /obj/item/weapon/reagent_containers/food/pill/salicylic(src)
new /obj/item/weapon/reagent_containers/food/pill/salicylic(src)
new /obj/item/weapon/reagent_containers/food/pill/salicylic(src)
new /obj/item/weapon/reagent_containers/food/pill/salicylic(src)
new /obj/item/weapon/reagent_containers/food/pill/salicylic(src)
new /obj/item/weapon/reagent_containers/food/pill/salicylic(src)
new /obj/item/reagent_containers/food/pill/salicylic(src)
new /obj/item/reagent_containers/food/pill/salicylic(src)
new /obj/item/reagent_containers/food/pill/salicylic(src)
new /obj/item/reagent_containers/food/pill/salicylic(src)
new /obj/item/reagent_containers/food/pill/salicylic(src)
new /obj/item/reagent_containers/food/pill/salicylic(src)
new /obj/item/reagent_containers/food/pill/salicylic(src)
new /obj/item/reagent_containers/food/pill/salicylic(src)
@@ -1,23 +1,23 @@
//A storage item intended to be used by other items to provide storage functionality.
//Types that use this should consider overriding emp_act() and hear_talk(), unless they shield their contents somehow.
/obj/item/weapon/storage/internal
/obj/item/storage/internal
var/obj/item/master_item
/obj/item/weapon/storage/internal/New(obj/item/MI)
/obj/item/storage/internal/New(obj/item/MI)
master_item = MI
loc = master_item
name = master_item.name
verbs -= /obj/item/verb/verb_pickup //make sure this is never picked up.
..()
/obj/item/weapon/storage/internal/Destroy()
/obj/item/storage/internal/Destroy()
master_item = null
return ..()
/obj/item/weapon/storage/internal/attack_hand()
/obj/item/storage/internal/attack_hand()
return //make sure this is never picked up
/obj/item/weapon/storage/internal/mob_can_equip()
/obj/item/storage/internal/mob_can_equip()
return 0 //make sure this is never picked up
//Helper procs to cleanly implement internal storages - storage items that provide inventory slots for other items.
@@ -29,7 +29,7 @@
//items that use internal storage have the option of calling this to emulate default storage MouseDrop behaviour.
//returns 1 if the master item's parent's MouseDrop() should be called, 0 otherwise. It's strange, but no other way of
//doing it without the ability to call another proc's parent, really.
/obj/item/weapon/storage/internal/proc/handle_mousedrop(mob/user as mob, obj/over_object as obj)
/obj/item/storage/internal/proc/handle_mousedrop(mob/user as mob, obj/over_object as obj)
if(ishuman(user)) //so monkeys can take off their backpacks -- Urist
if(istype(user.loc,/obj/mecha)) // stops inventory actions in a mech
@@ -62,7 +62,7 @@
//items that use internal storage have the option of calling this to emulate default storage attack_hand behaviour.
//returns 1 if the master item's parent's attack_hand() should be called, 0 otherwise.
//It's strange, but no other way of doing it without the ability to call another proc's parent, really.
/obj/item/weapon/storage/internal/proc/handle_attack_hand(mob/user as mob)
/obj/item/storage/internal/proc/handle_attack_hand(mob/user as mob)
if(ishuman(user))
var/mob/living/carbon/human/H = user
@@ -85,5 +85,5 @@
src.close(M)
return 1
/obj/item/weapon/storage/internal/Adjacent(var/atom/neighbor)
/obj/item/storage/internal/Adjacent(var/atom/neighbor)
return master_item.Adjacent(neighbor)
@@ -1,4 +1,4 @@
/obj/item/weapon/storage/lockbox
/obj/item/storage/lockbox
name = "lockbox"
desc = "A locked box."
icon_state = "lockbox+l"
@@ -14,8 +14,8 @@
var/icon_closed = "lockbox"
var/icon_broken = "lockbox+b"
/obj/item/weapon/storage/lockbox/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if(istype(W, /obj/item/weapon/card/id) || istype(W, /obj/item/device/pda))
/obj/item/storage/lockbox/attackby(obj/item/W as obj, mob/user as mob, params)
if(istype(W, /obj/item/card/id) || istype(W, /obj/item/device/pda))
if(broken)
to_chat(user, "<span class='warning'>It appears to be broken.</span>")
return
@@ -33,7 +33,7 @@
else
to_chat(user, "<span class='warning'>Access denied.</span>")
return
else if((istype(W, /obj/item/weapon/card/emag) || (istype(W, /obj/item/weapon/melee/energy/blade)) && !broken))
else if((istype(W, /obj/item/card/emag) || (istype(W, /obj/item/melee/energy/blade)) && !broken))
emag_act(user)
return
if(!locked)
@@ -43,21 +43,21 @@
return
/obj/item/weapon/storage/lockbox/show_to(mob/user as mob)
/obj/item/storage/lockbox/show_to(mob/user as mob)
if(locked)
to_chat(user, "<span class='warning'>It's locked!</span>")
else
..()
return
/obj/item/weapon/storage/lockbox/can_be_inserted(obj/item/W as obj, stop_messages = 0)
/obj/item/storage/lockbox/can_be_inserted(obj/item/W as obj, stop_messages = 0)
if(!locked)
return ..()
if(!stop_messages)
to_chat(usr, "<span class='notice'>[src] is locked!</span>")
return 0
/obj/item/weapon/storage/lockbox/emag_act(user as mob)
/obj/item/storage/lockbox/emag_act(user as mob)
if(!broken)
broken = 1
locked = 0
@@ -67,38 +67,38 @@
origin_tech = null //wipe out any origin tech if it's unlocked in any way so you can't double-dip tech levels at R&D.
return
/obj/item/weapon/storage/lockbox/hear_talk(mob/living/M as mob, msg)
/obj/item/storage/lockbox/hear_talk(mob/living/M as mob, msg)
/obj/item/weapon/storage/lockbox/hear_message(mob/living/M as mob, msg)
/obj/item/storage/lockbox/hear_message(mob/living/M as mob, msg)
/obj/item/weapon/storage/lockbox/large
/obj/item/storage/lockbox/large
name = "Large lockbox"
desc = "A large lockbox"
max_w_class = WEIGHT_CLASS_BULKY
max_combined_w_class = 4 //The sum of the w_classes of all the items in this storage item.
storage_slots = 1
/obj/item/weapon/storage/lockbox/mindshield
/obj/item/storage/lockbox/mindshield
name = "Lockbox (Mindshield Implants)"
req_access = list(access_security)
/obj/item/weapon/storage/lockbox/mindshield/New()
/obj/item/storage/lockbox/mindshield/New()
..()
new /obj/item/weapon/implantcase/mindshield(src)
new /obj/item/weapon/implantcase/mindshield(src)
new /obj/item/weapon/implantcase/mindshield(src)
new /obj/item/weapon/implanter/mindshield(src)
new /obj/item/implantcase/mindshield(src)
new /obj/item/implantcase/mindshield(src)
new /obj/item/implantcase/mindshield(src)
new /obj/item/implanter/mindshield(src)
/obj/item/weapon/storage/lockbox/clusterbang
/obj/item/storage/lockbox/clusterbang
name = "lockbox (clusterbang)"
desc = "You have a bad feeling about opening this."
req_access = list(access_security)
/obj/item/weapon/storage/lockbox/clusterbang/New()
/obj/item/storage/lockbox/clusterbang/New()
..()
new /obj/item/weapon/grenade/clusterbuster(src)
new /obj/item/grenade/clusterbuster(src)
/obj/item/weapon/storage/lockbox/medal
/obj/item/storage/lockbox/medal
name = "medal box"
desc = "A locked box used to store medals of honor."
icon_state = "medalbox+l"
@@ -112,7 +112,7 @@
icon_closed = "medalbox"
icon_broken = "medalbox+b"
/obj/item/weapon/storage/lockbox/medal/New()
/obj/item/storage/lockbox/medal/New()
..()
new /obj/item/clothing/accessory/medal/gold/heroism(src)
new /obj/item/clothing/accessory/medal/silver/security(src)
@@ -1,5 +1,5 @@
/*
* Absorbs /obj/item/weapon/secstorage.
* Absorbs /obj/item/secstorage.
* Reimplements it only slightly to use existing storage functionality.
*
* Contains:
@@ -10,7 +10,7 @@
// -----------------------------
// Generic Item
// -----------------------------
/obj/item/weapon/storage/secure
/obj/item/storage/secure
name = "secstorage"
var/icon_locking = "secureb"
var/icon_sparking = "securespark"
@@ -27,16 +27,16 @@
max_w_class = WEIGHT_CLASS_SMALL
max_combined_w_class = 14
/obj/item/weapon/storage/secure/examine(mob/user)
/obj/item/storage/secure/examine(mob/user)
if(..(user, 1))
to_chat(user, text("The service panel is [open ? "open" : "closed"]."))
/obj/item/weapon/storage/secure/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
/obj/item/storage/secure/attackby(obj/item/W as obj, mob/user as mob, params)
if(locked)
if((istype(W, /obj/item/weapon/melee/energy/blade)) && (!emagged))
if((istype(W, /obj/item/melee/energy/blade)) && (!emagged))
emag_act(user, W)
if(istype(W, /obj/item/weapon/screwdriver))
if(istype(W, /obj/item/screwdriver))
if(do_after(user, 20 * W.toolspeed, target = src))
open = !open
user.show_message("<span class='notice'>You [open ? "open" : "close"] the service panel.</span>", 1)
@@ -65,7 +65,7 @@
return ..()
/obj/item/weapon/storage/secure/emag_act(user as mob, weapon as obj)
/obj/item/storage/secure/emag_act(user as mob, weapon as obj)
if(!emagged)
emagged = 1
overlays += image('icons/obj/storage.dmi', icon_sparking)
@@ -73,7 +73,7 @@
overlays = null
overlays += image('icons/obj/storage.dmi', icon_locking)
locked = 0
if(istype(weapon, /obj/item/weapon/melee/energy/blade))
if(istype(weapon, /obj/item/melee/energy/blade))
var/datum/effect_system/spark_spread/spark_system = new /datum/effect_system/spark_spread()
spark_system.set_up(5, 0, src.loc)
spark_system.start()
@@ -85,14 +85,14 @@
return
/obj/item/weapon/storage/secure/MouseDrop(over_object, src_location, over_location)
/obj/item/storage/secure/MouseDrop(over_object, src_location, over_location)
if(locked)
add_fingerprint(usr)
to_chat(usr, "<span class='warning'>It's locked!</span>")
return 0
..()
/obj/item/weapon/storage/secure/attack_self(mob/user as mob)
/obj/item/storage/secure/attack_self(mob/user as mob)
user.set_machine(src)
var/dat = text("<TT><B>[]</B><BR>\n\nLock Status: []", src, (locked ? "LOCKED" : "UNLOCKED"))
var/message = "Code"
@@ -120,7 +120,7 @@
<A href='?src=[UID()];type=E'>E</A><BR>\n</TT>"}
user << browse(dat, "window=caselock;size=300x280")
/obj/item/weapon/storage/secure/Topic(href, href_list)
/obj/item/storage/secure/Topic(href, href_list)
..()
if(usr.incapacitated() || (get_dist(src, usr) > 1))
return
@@ -153,23 +153,23 @@
return
return
/obj/item/weapon/storage/secure/can_be_inserted(obj/item/W as obj, stop_messages = 0)
/obj/item/storage/secure/can_be_inserted(obj/item/W as obj, stop_messages = 0)
if(!locked)
return ..()
if(!stop_messages)
to_chat(usr, "<span class='notice'>[src] is locked!</span>")
return 0
/obj/item/weapon/storage/secure/hear_talk(mob/living/M as mob, msg)
/obj/item/storage/secure/hear_talk(mob/living/M as mob, msg)
return
/obj/item/weapon/storage/secure/hear_message(mob/living/M as mob, msg)
/obj/item/storage/secure/hear_message(mob/living/M as mob, msg)
return
// -----------------------------
// Secure Briefcase
// -----------------------------
/obj/item/weapon/storage/secure/briefcase
/obj/item/storage/secure/briefcase
name = "secure briefcase"
desc = "A large briefcase with a digital locking system."
icon = 'icons/obj/storage.dmi'
@@ -185,12 +185,12 @@
max_combined_w_class = 21
attack_verb = list("bashed", "battered", "bludgeoned", "thrashed", "whacked")
/obj/item/weapon/storage/secure/briefcase/New()
/obj/item/storage/secure/briefcase/New()
..()
handle_item_insertion(new /obj/item/weapon/paper, 1)
handle_item_insertion(new /obj/item/weapon/pen, 1)
handle_item_insertion(new /obj/item/paper, 1)
handle_item_insertion(new /obj/item/pen, 1)
/obj/item/weapon/storage/secure/briefcase/attack_hand(mob/user as mob)
/obj/item/storage/secure/briefcase/attack_hand(mob/user as mob)
if((loc == user) && (locked == 1))
to_chat(usr, "<span class='warning'>[src] is locked and cannot be opened!</span>")
else if((loc == user) && !locked)
@@ -208,27 +208,27 @@
return
//Syndie variant of Secure Briefcase. Contains space cash, slightly more robust.
/obj/item/weapon/storage/secure/briefcase/syndie
/obj/item/storage/secure/briefcase/syndie
force = 15
/obj/item/weapon/storage/secure/briefcase/syndie/New()
/obj/item/storage/secure/briefcase/syndie/New()
..()
for(var/i = 0, i < storage_slots - 2, i++)
handle_item_insertion(new /obj/item/stack/spacecash/c1000, 1)
/obj/item/weapon/storage/secure/briefcase/reaper/New()
/obj/item/storage/secure/briefcase/reaper/New()
..()
handle_item_insertion(new /obj/item/weapon/gun/energy/kinetic_accelerator/crossbow, 1)
handle_item_insertion(new /obj/item/weapon/gun/projectile/revolver/mateba, 1)
handle_item_insertion(new /obj/item/gun/energy/kinetic_accelerator/crossbow, 1)
handle_item_insertion(new /obj/item/gun/projectile/revolver/mateba, 1)
handle_item_insertion(new /obj/item/ammo_box/a357, 1)
handle_item_insertion(new /obj/item/weapon/grenade/plastic/c4, 1)
handle_item_insertion(new /obj/item/grenade/plastic/c4, 1)
// -----------------------------
// Secure Safe
// -----------------------------
/obj/item/weapon/storage/secure/safe
/obj/item/storage/secure/safe
name = "secure safe"
icon = 'icons/obj/storage.dmi'
icon_state = "safe"
@@ -240,12 +240,12 @@
max_w_class = 8
anchored = 1
density = 0
cant_hold = list(/obj/item/weapon/storage/secure/briefcase)
cant_hold = list(/obj/item/storage/secure/briefcase)
/obj/item/weapon/storage/secure/safe/New()
/obj/item/storage/secure/safe/New()
..()
handle_item_insertion(new /obj/item/weapon/paper, 1)
handle_item_insertion(new /obj/item/weapon/pen, 1)
handle_item_insertion(new /obj/item/paper, 1)
handle_item_insertion(new /obj/item/pen, 1)
/obj/item/weapon/storage/secure/safe/attack_hand(mob/user as mob)
/obj/item/storage/secure/safe/attack_hand(mob/user as mob)
return attack_self(user)
@@ -5,7 +5,7 @@
// -Sayu
/obj/item/weapon/storage
/obj/item/storage
name = "storage"
icon = 'icons/obj/storage.dmi'
w_class = WEIGHT_CLASS_NORMAL
@@ -24,7 +24,7 @@
var/collection_mode = 1; //0 = pick one at a time, 1 = pick all on tile
var/use_sound = "rustle" //sound played when used. null for no sound.
/obj/item/weapon/storage/MouseDrop(obj/over_object as obj)
/obj/item/storage/MouseDrop(obj/over_object as obj)
if(ishuman(usr)) //so monkeys can take off their backpacks -- Urist
var/mob/M = usr
@@ -40,7 +40,7 @@
if((istype(over_object, /obj/structure/table) || istype(over_object, /turf/simulated/floor)) \
&& contents.len && loc == usr && !usr.stat && !usr.restrained() && usr.canmove && over_object.Adjacent(usr) \
&& !istype(src, /obj/item/weapon/storage/lockbox))
&& !istype(src, /obj/item/storage/lockbox))
var/turf/T = get_turf(over_object)
if(istype(over_object, /turf/simulated/floor))
if(get_turf(usr) != T)
@@ -83,23 +83,23 @@
return
/obj/item/weapon/storage/proc/return_inv()
/obj/item/storage/proc/return_inv()
var/list/L = list( )
L += src.contents
for(var/obj/item/weapon/storage/S in src)
for(var/obj/item/storage/S in src)
L += S.return_inv()
for(var/obj/item/weapon/gift/G in src)
for(var/obj/item/gift/G in src)
L += G.gift
if(istype(G.gift, /obj/item/weapon/storage))
if(istype(G.gift, /obj/item/storage))
L += G.gift:return_inv()
for(var/obj/item/weapon/folder/F in src)
for(var/obj/item/folder/F in src)
L += F.contents
return L
/obj/item/weapon/storage/proc/show_to(mob/user as mob)
/obj/item/storage/proc/show_to(mob/user as mob)
if(user.s_active != src)
for(var/obj/item/I in src)
if(I.on_found(user))
@@ -115,7 +115,7 @@
user.s_active = src
return
/obj/item/weapon/storage/proc/hide_from(mob/user as mob)
/obj/item/storage/proc/hide_from(mob/user as mob)
if(!user.client)
return
@@ -126,7 +126,7 @@
user.s_active = null
return
/obj/item/weapon/storage/proc/open(mob/user as mob)
/obj/item/storage/proc/open(mob/user as mob)
if(src.use_sound)
playsound(src.loc, src.use_sound, 50, 1, -5)
@@ -135,7 +135,7 @@
user.s_active.close(user)
show_to(user)
/obj/item/weapon/storage/proc/close(mob/user as mob)
/obj/item/storage/proc/close(mob/user as mob)
src.hide_from(user)
user.s_active = null
@@ -143,7 +143,7 @@
//This proc draws out the inventory and places the items on it. tx and ty are the upper left tile and mx, my are the bottm right.
//The numbers are calculated from the bottom-left The bottom-left slot being 1,1.
/obj/item/weapon/storage/proc/orient_objs(tx, ty, mx, my)
/obj/item/storage/proc/orient_objs(tx, ty, mx, my)
var/cx = tx
var/cy = ty
src.boxes.screen_loc = "[tx]:,[ty] to [mx],[my]"
@@ -159,7 +159,7 @@
return
//This proc draws out the inventory and places the items on it. It uses the standard position.
/obj/item/weapon/storage/proc/standard_orient_objs(var/rows, var/cols, var/list/obj/item/display_contents)
/obj/item/storage/proc/standard_orient_objs(var/rows, var/cols, var/list/obj/item/display_contents)
var/cx = 4
var/cy = 2+rows
src.boxes.screen_loc = "4:16,2:16 to [4+cols]:16,[2+rows]:16"
@@ -200,7 +200,7 @@
number = 1
//This proc determins the size of the inventory to be displayed. Please touch it only if you know what you're doing.
/obj/item/weapon/storage/proc/orient2hud(mob/user as mob)
/obj/item/storage/proc/orient2hud(mob/user as mob)
var/adjusted_contents = contents.len
@@ -230,7 +230,7 @@
//This proc return 1 if the item can be picked up and 0 if it can't.
//Set the stop_messages to stop it from printing messages
/obj/item/weapon/storage/proc/can_be_inserted(obj/item/W as obj, stop_messages = 0)
/obj/item/storage/proc/can_be_inserted(obj/item/W as obj, stop_messages = 0)
if(!istype(W) || (W.flags & ABSTRACT)) return //Not an item
if(src.loc == W)
@@ -265,8 +265,8 @@
to_chat(usr, "<span class='notice'>[src] is full, make some space.</span>")
return 0
if(W.w_class >= src.w_class && (istype(W, /obj/item/weapon/storage)))
if(!istype(src, /obj/item/weapon/storage/backpack/holding)) //bohs should be able to hold backpacks again. The override for putting a boh in a boh is in backpack.dm.
if(W.w_class >= src.w_class && (istype(W, /obj/item/storage)))
if(!istype(src, /obj/item/storage/backpack/holding)) //bohs should be able to hold backpacks again. The override for putting a boh in a boh is in backpack.dm.
if(!stop_messages)
to_chat(usr, "<span class='notice'>[src] cannot hold [W] as it's a storage item of the same size.</span>")
return 0 //To prevent the stacking of same sized storage items.
@@ -280,7 +280,7 @@
//This proc handles items being inserted. It does not perform any checks of whether an item can or can't be inserted. That's done by can_be_inserted()
//The stop_warning parameter will stop the insertion message from being displayed. It is intended for cases where you are inserting multiple items at once,
//such as when picking up all the items on a tile with one click.
/obj/item/weapon/storage/proc/handle_item_insertion(obj/item/W as obj, prevent_warning = 0)
/obj/item/storage/proc/handle_item_insertion(obj/item/W as obj, prevent_warning = 0)
if(!istype(W))
return 0
if(usr)
@@ -297,7 +297,7 @@
W.dropped(usr)
add_fingerprint(usr)
if(!prevent_warning && !istype(W, /obj/item/weapon/gun/energy/kinetic_accelerator/crossbow))
if(!prevent_warning && !istype(W, /obj/item/gun/energy/kinetic_accelerator/crossbow))
for(var/mob/M in viewers(usr, null))
if(M == usr)
to_chat(usr, "<span class='notice'>You put the [W] into [src].</span>")
@@ -314,11 +314,11 @@
return 1
//Call this proc to handle the removal of an item from the storage item. The item will be moved to the atom sent as new_target
/obj/item/weapon/storage/proc/remove_from_storage(obj/item/W as obj, atom/new_location, burn = 0)
/obj/item/storage/proc/remove_from_storage(obj/item/W as obj, atom/new_location, burn = 0)
if(!istype(W)) return 0
if(istype(src, /obj/item/weapon/storage/fancy))
var/obj/item/weapon/storage/fancy/F = src
if(istype(src, /obj/item/storage/fancy))
var/obj/item/storage/fancy/F = src
F.update_icon(1)
for(var/mob/M in range(1, src.loc))
@@ -352,12 +352,12 @@
W.fire_act()
return 1
/obj/item/weapon/storage/empty_object_contents(burn, loc)
/obj/item/storage/empty_object_contents(burn, loc)
for(var/obj/item/Item in contents)
remove_from_storage(Item, loc, burn)
//This proc is called when you want to place an item into the storage item.
/obj/item/weapon/storage/attackby(obj/item/W as obj, mob/user as mob, params)
/obj/item/storage/attackby(obj/item/W as obj, mob/user as mob, params)
..()
if(isrobot(user))
@@ -371,7 +371,7 @@
return 1
/obj/item/weapon/storage/attack_hand(mob/user as mob)
/obj/item/storage/attack_hand(mob/user as mob)
playsound(src.loc, "rustle", 50, 1, -5)
if(ishuman(user))
@@ -398,7 +398,7 @@
src.add_fingerprint(user)
return
/obj/item/weapon/storage/verb/toggle_gathering_mode()
/obj/item/storage/verb/toggle_gathering_mode()
set name = "Switch Gathering Method"
set category = "Object"
@@ -410,7 +410,7 @@
to_chat(usr, "[src] now picks up one item at a time.")
/obj/item/weapon/storage/verb/quick_empty()
/obj/item/storage/verb/quick_empty()
set name = "Empty Contents"
set category = "Object"
@@ -422,19 +422,19 @@
for(var/obj/item/I in contents)
remove_from_storage(I, T)
/obj/item/weapon/storage/New()
/obj/item/storage/New()
can_hold = typecacheof(can_hold)
cant_hold = typecacheof(cant_hold)
if(allow_quick_empty)
verbs += /obj/item/weapon/storage/verb/quick_empty
verbs += /obj/item/storage/verb/quick_empty
else
verbs -= /obj/item/weapon/storage/verb/quick_empty
verbs -= /obj/item/storage/verb/quick_empty
if(allow_quick_gather)
verbs += /obj/item/weapon/storage/verb/toggle_gathering_mode
verbs += /obj/item/storage/verb/toggle_gathering_mode
else
verbs -= /obj/item/weapon/storage/verb/toggle_gathering_mode
verbs -= /obj/item/storage/verb/toggle_gathering_mode
src.boxes = new /obj/screen/storage( )
src.boxes.name = "storage"
@@ -449,7 +449,7 @@
src.closer.plane = HUD_PLANE
orient2hud()
/obj/item/weapon/storage/Destroy()
/obj/item/storage/Destroy()
for(var/obj/O in contents)
O.mouse_opacity = initial(O.mouse_opacity)
@@ -457,27 +457,27 @@
QDEL_NULL(closer)
return ..()
/obj/item/weapon/storage/emp_act(severity)
/obj/item/storage/emp_act(severity)
if(!istype(src.loc, /mob/living))
for(var/obj/O in contents)
O.emp_act(severity)
..()
/obj/item/weapon/storage/hear_talk(mob/living/M as mob, msg)
/obj/item/storage/hear_talk(mob/living/M as mob, msg)
..()
for(var/obj/O in contents)
O.hear_talk(M, msg)
/obj/item/weapon/storage/hear_message(mob/living/M as mob, msg)
/obj/item/storage/hear_message(mob/living/M as mob, msg)
..()
for(var/obj/O in contents)
O.hear_message(M, msg)
/obj/item/weapon/storage/attack_self(mob/user)
/obj/item/storage/attack_self(mob/user)
//Clicking on itself will empty it, if it has the verb to do that.
if(user.is_in_active_hand(src))
if(verbs.Find(/obj/item/weapon/storage/verb/quick_empty))
if(verbs.Find(/obj/item/storage/verb/quick_empty))
quick_empty()
//Returns the storage depth of an atom. This is the number of storage items the atom is contained in before reaching toplevel (the area).
@@ -489,7 +489,7 @@
while(cur_atom && !(cur_atom in container.contents))
if(isarea(cur_atom))
return -1
if(istype(cur_atom.loc, /obj/item/weapon/storage))
if(istype(cur_atom.loc, /obj/item/storage))
depth++
cur_atom = cur_atom.loc
@@ -507,7 +507,7 @@
while(cur_atom && !isturf(cur_atom))
if(isarea(cur_atom))
return -1
if(istype(cur_atom.loc, /obj/item/weapon/storage))
if(istype(cur_atom.loc, /obj/item/storage))
depth++
cur_atom = cur_atom.loc
@@ -516,7 +516,7 @@
return depth
/obj/item/weapon/storage/serialize()
/obj/item/storage/serialize()
var data = ..()
var/list/content_list = list()
data["content"] = content_list
@@ -532,7 +532,7 @@
content_list[content_list.len] = AM.serialize()
return data
/obj/item/weapon/storage/deserialize(list/data)
/obj/item/storage/deserialize(list/data)
if(isnum(data["slots"]))
storage_slots = data["slots"]
if(isnum(data["max_w_class"]))
@@ -1,4 +1,4 @@
/obj/item/weapon/storage/toolbox
/obj/item/storage/toolbox
name = "toolbox"
desc = "Danger. Very robust."
icon = 'icons/obj/storage.dmi'
@@ -15,51 +15,51 @@
attack_verb = list("robusted")
hitsound = 'sound/weapons/smash.ogg'
/obj/item/weapon/storage/toolbox/emergency
/obj/item/storage/toolbox/emergency
name = "emergency toolbox"
icon_state = "red"
item_state = "toolbox_red"
/obj/item/weapon/storage/toolbox/emergency/New()
/obj/item/storage/toolbox/emergency/New()
..()
new /obj/item/weapon/crowbar/red(src)
new /obj/item/weapon/weldingtool/mini(src)
new /obj/item/weapon/extinguisher/mini(src)
new /obj/item/crowbar/red(src)
new /obj/item/weldingtool/mini(src)
new /obj/item/extinguisher/mini(src)
if(prob(50))
new /obj/item/device/flashlight(src)
else
new /obj/item/device/flashlight/flare(src)
new /obj/item/device/radio(src)
/obj/item/weapon/storage/toolbox/mechanical
/obj/item/storage/toolbox/mechanical
name = "mechanical toolbox"
icon_state = "blue"
item_state = "toolbox_blue"
/obj/item/weapon/storage/toolbox/mechanical/New()
/obj/item/storage/toolbox/mechanical/New()
..()
new /obj/item/weapon/screwdriver(src)
new /obj/item/weapon/wrench(src)
new /obj/item/weapon/weldingtool(src)
new /obj/item/weapon/crowbar(src)
new /obj/item/screwdriver(src)
new /obj/item/wrench(src)
new /obj/item/weldingtool(src)
new /obj/item/crowbar(src)
new /obj/item/device/analyzer(src)
new /obj/item/weapon/wirecutters(src)
new /obj/item/wirecutters(src)
/obj/item/weapon/storage/toolbox/mechanical/greytide
/obj/item/storage/toolbox/mechanical/greytide
flags = NODROP
/obj/item/weapon/storage/toolbox/electrical
/obj/item/storage/toolbox/electrical
name = "electrical toolbox"
icon_state = "yellow"
item_state = "toolbox_yellow"
/obj/item/weapon/storage/toolbox/electrical/New()
/obj/item/storage/toolbox/electrical/New()
..()
var/pickedcolor = pick(COLOR_RED, COLOR_YELLOW, COLOR_GREEN, COLOR_BLUE, COLOR_PINK, COLOR_ORANGE, COLOR_CYAN, COLOR_WHITE)
new /obj/item/weapon/screwdriver(src)
new /obj/item/weapon/wirecutters(src)
new /obj/item/screwdriver(src)
new /obj/item/wirecutters(src)
new /obj/item/device/t_scanner(src)
new /obj/item/weapon/crowbar(src)
new /obj/item/crowbar(src)
new /obj/item/stack/cable_coil(src, 30, pickedcolor)
new /obj/item/stack/cable_coil(src, 30, pickedcolor)
if(prob(5))
@@ -67,7 +67,7 @@
else
new /obj/item/stack/cable_coil(src, 30, pickedcolor)
/obj/item/weapon/storage/toolbox/syndicate
/obj/item/storage/toolbox/syndicate
name = "suspicious looking toolbox"
icon_state = "syndicate"
item_state = "toolbox_syndi"
@@ -76,33 +76,33 @@
force = 15.0
throwforce = 18.0
/obj/item/weapon/storage/toolbox/syndicate/New()
/obj/item/storage/toolbox/syndicate/New()
..()
new /obj/item/weapon/screwdriver(src, "red")
new /obj/item/weapon/wrench(src)
new /obj/item/weapon/weldingtool/largetank(src)
new /obj/item/weapon/crowbar/red(src)
new /obj/item/weapon/wirecutters(src, "red")
new /obj/item/screwdriver(src, "red")
new /obj/item/wrench(src)
new /obj/item/weldingtool/largetank(src)
new /obj/item/crowbar/red(src)
new /obj/item/wirecutters(src, "red")
new /obj/item/device/multitool(src)
new /obj/item/clothing/gloves/combat(src)
/obj/item/weapon/storage/toolbox/drone
/obj/item/storage/toolbox/drone
name = "mechanical toolbox"
icon_state = "blue"
item_state = "toolbox_blue"
/obj/item/weapon/storage/toolbox/drone/New()
/obj/item/storage/toolbox/drone/New()
..()
var/pickedcolor = pick(pick(COLOR_RED, COLOR_YELLOW, COLOR_GREEN, COLOR_BLUE, COLOR_PINK, COLOR_ORANGE, COLOR_CYAN, COLOR_WHITE))
new /obj/item/weapon/screwdriver(src)
new /obj/item/weapon/wrench(src)
new /obj/item/weapon/weldingtool(src)
new /obj/item/weapon/crowbar(src)
new /obj/item/screwdriver(src)
new /obj/item/wrench(src)
new /obj/item/weldingtool(src)
new /obj/item/crowbar(src)
new /obj/item/stack/cable_coil(src, 30, pickedcolor)
new /obj/item/weapon/wirecutters(src)
new /obj/item/wirecutters(src)
new /obj/item/device/multitool(src)
/obj/item/weapon/storage/toolbox/brass
/obj/item/storage/toolbox/brass
name = "brass box"
desc = "A huge brass box with several indentations in its surface."
icon_state = "brassbox"
@@ -113,10 +113,10 @@
storage_slots = 28
attack_verb = list("robusted", "crushed", "smashed")
/obj/item/weapon/storage/toolbox/brass/prefilled/New()
/obj/item/storage/toolbox/brass/prefilled/New()
..()
new /obj/item/weapon/screwdriver/brass(src)
new /obj/item/weapon/wirecutters/brass(src)
new /obj/item/weapon/wrench/brass(src)
new /obj/item/weapon/crowbar/brass(src)
new /obj/item/weapon/weldingtool/experimental/brass(src)
new /obj/item/screwdriver/brass(src)
new /obj/item/wirecutters/brass(src)
new /obj/item/wrench/brass(src)
new /obj/item/crowbar/brass(src)
new /obj/item/weldingtool/experimental/brass(src)
@@ -1,142 +1,142 @@
/obj/item/weapon/storage/box/syndicate/
/obj/item/storage/box/syndicate/
New()
..()
switch(pickweight(list("bloodyspai" = 1, "thief" = 1, "bond" = 1, "sabotage" = 1, "payday" = 1, "implant" = 1, "hacker" = 1, "darklord" = 1, "gadgets" = 1)))
if("bloodyspai")
new /obj/item/weapon/twohanded/garrote(src)
new /obj/item/weapon/pinpointer/advpinpointer(src)
new /obj/item/twohanded/garrote(src)
new /obj/item/pinpointer/advpinpointer(src)
new /obj/item/clothing/mask/gas/voice(src)
new /obj/item/clothing/under/chameleon(src)
new /obj/item/weapon/card/id/syndicate(src)
new /obj/item/weapon/storage/box/syndie_kit/emp(src)
new /obj/item/card/id/syndicate(src)
new /obj/item/storage/box/syndie_kit/emp(src)
new /obj/item/device/camera_bug(src)
return
if("thief")
new /obj/item/weapon/gun/energy/kinetic_accelerator/crossbow(src)
new /obj/item/gun/energy/kinetic_accelerator/crossbow(src)
new /obj/item/device/chameleon(src)
new /obj/item/clothing/gloves/color/black/thief(src)
new /obj/item/weapon/card/id/syndicate(src)
new /obj/item/card/id/syndicate(src)
return
if("bond")
new /obj/item/weapon/gun/projectile/automatic/pistol(src)
new /obj/item/weapon/suppressor(src)
new /obj/item/gun/projectile/automatic/pistol(src)
new /obj/item/suppressor(src)
new /obj/item/ammo_box/magazine/m10mm/hp(src)
new /obj/item/device/encryptionkey/syndicate(src)
new /obj/item/weapon/storage/fancy/cigarettes/cigpack_syndicate(src)
new /obj/item/weapon/implanter/krav_maga(src)
new /obj/item/weapon/reagent_containers/food/drinks/drinkingglass/alliescocktail(src)
new /obj/item/storage/fancy/cigarettes/cigpack_syndicate(src)
new /obj/item/implanter/krav_maga(src)
new /obj/item/reagent_containers/food/drinks/drinkingglass/alliescocktail(src)
return
if("sabotage")
new /obj/item/device/powersink(src)
new /obj/item/weapon/grenade/syndieminibomb(src)
new /obj/item/weapon/card/emag(src)
new /obj/item/weapon/grenade/clusterbuster/n2o(src)
new /obj/item/weapon/storage/box/syndie_kit/space(src)
new /obj/item/grenade/syndieminibomb(src)
new /obj/item/card/emag(src)
new /obj/item/grenade/clusterbuster/n2o(src)
new /obj/item/storage/box/syndie_kit/space(src)
new /obj/item/clothing/gloves/color/yellow(src)
new /obj/item/weapon/rcd/preloaded(src)
new /obj/item/rcd/preloaded(src)
return
if("payday")
new /obj/item/weapon/gun/projectile/revolver(src)
new /obj/item/gun/projectile/revolver(src)
new /obj/item/ammo_box/a357(src)
new /obj/item/weapon/card/emag(src)
new /obj/item/weapon/grenade/plastic/x4(src)
new /obj/item/weapon/card/id/syndicate(src)
new /obj/item/card/emag(src)
new /obj/item/grenade/plastic/x4(src)
new /obj/item/card/id/syndicate(src)
new /obj/item/clothing/gloves/color/latex/nitrile(src)
new /obj/item/clothing/mask/gas/clown_hat(src)
return
if("implant")
new /obj/item/weapon/implanter/uplink(src)
new /obj/item/weapon/implanter/adrenalin(src)
new /obj/item/weapon/implanter/storage(src)
new /obj/item/weapon/implanter/freedom(src)
new /obj/item/implanter/uplink(src)
new /obj/item/implanter/adrenalin(src)
new /obj/item/implanter/storage(src)
new /obj/item/implanter/freedom(src)
return
if("hacker")
new /obj/item/weapon/aiModule/syndicate(src)
new /obj/item/aiModule/syndicate(src)
new /obj/item/device/encryptionkey/binary(src)
new /obj/item/weapon/aiModule/toyAI(src)
new /obj/item/aiModule/toyAI(src)
return
if("darklord")
new /obj/item/weapon/melee/energy/sword/saber/red(src)
new /obj/item/weapon/melee/energy/sword/saber/red(src)
new /obj/item/weapon/dnainjector/telemut/darkbundle(src)
new /obj/item/melee/energy/sword/saber/red(src)
new /obj/item/melee/energy/sword/saber/red(src)
new /obj/item/dnainjector/telemut/darkbundle(src)
new /obj/item/clothing/suit/hooded/chaplain_hoodie(src)
new /obj/item/weapon/card/id/syndicate(src)
new /obj/item/card/id/syndicate(src)
return
if("gadgets")
new /obj/item/clothing/gloves/color/yellow/power(src)
new /obj/item/weapon/pen/sleepy(src)
new /obj/item/pen/sleepy(src)
new /obj/item/clothing/glasses/thermal/syndi(src)
new /obj/item/device/flashlight/emp(src)
new /obj/item/clothing/shoes/syndigaloshes(src)
new /obj/item/weapon/stamp/chameleon(src)
new /obj/item/stamp/chameleon(src)
new /obj/item/device/multitool/ai_detect(src)
return
/obj/item/weapon/storage/box/syndie_kit
/obj/item/storage/box/syndie_kit
name = "Box"
desc = "A sleek, sturdy box"
icon_state = "box_of_doom"
/obj/item/weapon/storage/box/syndie_kit/space
/obj/item/storage/box/syndie_kit/space
name = "Boxed Space Suit and Helmet"
can_hold = list(/obj/item/clothing/suit/space/syndicate/black/red, /obj/item/clothing/head/helmet/space/syndicate/black/red)
max_w_class = WEIGHT_CLASS_NORMAL
/obj/item/weapon/storage/box/syndie_kit/space/New()
/obj/item/storage/box/syndie_kit/space/New()
..()
new /obj/item/clothing/suit/space/syndicate/black/red(src)
new /obj/item/clothing/head/helmet/space/syndicate/black/red(src)
return
/obj/item/weapon/storage/box/syndie_kit/hardsuit
/obj/item/storage/box/syndie_kit/hardsuit
name = "Boxed Blood Red Suit and Helmet"
can_hold = list(/obj/item/clothing/suit/space/hardsuit/syndi, /obj/item/clothing/head/helmet/space/hardsuit/syndi)
max_w_class = WEIGHT_CLASS_NORMAL
/obj/item/weapon/storage/box/syndie_kit/hardsuit/New()
/obj/item/storage/box/syndie_kit/hardsuit/New()
..()
new /obj/item/clothing/suit/space/hardsuit/syndi(src)
new /obj/item/clothing/head/helmet/space/hardsuit/syndi(src)
return
/obj/item/weapon/storage/box/syndie_kit/elite_hardsuit
/obj/item/storage/box/syndie_kit/elite_hardsuit
name = "Boxed Elite Syndicate Hardsuit and Helmet"
can_hold = list(/obj/item/clothing/suit/space/hardsuit/syndi/elite, /obj/item/clothing/head/helmet/space/hardsuit/syndi/elite)
max_w_class = WEIGHT_CLASS_NORMAL
/obj/item/weapon/storage/box/syndie_kit/elite_hardsuit/New()
/obj/item/storage/box/syndie_kit/elite_hardsuit/New()
..()
new /obj/item/clothing/suit/space/hardsuit/syndi/elite(src)
new /obj/item/clothing/head/helmet/space/hardsuit/syndi/elite(src)
/obj/item/weapon/storage/box/syndie_kit/shielded_hardsuit
/obj/item/storage/box/syndie_kit/shielded_hardsuit
name = "Boxed Shielded Syndicate Hardsuit and Helmet"
can_hold = list(/obj/item/clothing/suit/space/hardsuit/shielded/syndi, /obj/item/clothing/head/helmet/space/hardsuit/shielded/syndi)
max_w_class = WEIGHT_CLASS_BULKY
/obj/item/weapon/storage/box/syndie_kit/shielded_hardsuit/New()
/obj/item/storage/box/syndie_kit/shielded_hardsuit/New()
..()
new /obj/item/clothing/suit/space/hardsuit/shielded/syndi(src)
new /obj/item/clothing/head/helmet/space/hardsuit/shielded/syndi(src)
/obj/item/weapon/storage/box/syndie_kit/conversion
/obj/item/storage/box/syndie_kit/conversion
name = "box (CK)"
/obj/item/weapon/storage/box/syndie_kit/conversion/New()
/obj/item/storage/box/syndie_kit/conversion/New()
..()
new /obj/item/weapon/conversion_kit(src)
new /obj/item/conversion_kit(src)
new /obj/item/ammo_box/a357(src)
return
/obj/item/weapon/storage/box/syndie_kit/boolets
/obj/item/storage/box/syndie_kit/boolets
name = "Shotgun shells"
New()
@@ -148,60 +148,60 @@
new /obj/item/ammo_casing/shotgun/fakebeanbag(src)
new /obj/item/ammo_casing/shotgun/fakebeanbag(src)
/obj/item/weapon/storage/box/syndie_kit/emp
/obj/item/storage/box/syndie_kit/emp
name = "boxed EMP kit"
/obj/item/weapon/storage/box/syndie_kit/emp/New()
/obj/item/storage/box/syndie_kit/emp/New()
..()
new /obj/item/weapon/grenade/empgrenade(src)
new /obj/item/weapon/grenade/empgrenade(src)
new /obj/item/weapon/implanter/emp/(src)
new /obj/item/grenade/empgrenade(src)
new /obj/item/grenade/empgrenade(src)
new /obj/item/implanter/emp/(src)
/obj/item/weapon/storage/box/syndie_kit/throwing_weapons
/obj/item/storage/box/syndie_kit/throwing_weapons
name = "boxed throwing kit"
can_hold = list(/obj/item/weapon/throwing_star, /obj/item/weapon/restraints/legcuffs/bola/tactical)
can_hold = list(/obj/item/throwing_star, /obj/item/restraints/legcuffs/bola/tactical)
max_combined_w_class = 16
max_w_class = WEIGHT_CLASS_NORMAL
/obj/item/weapon/storage/box/syndie_kit/throwing_weapons/New()
/obj/item/storage/box/syndie_kit/throwing_weapons/New()
..()
new /obj/item/weapon/throwing_star(src)
new /obj/item/weapon/throwing_star(src)
new /obj/item/weapon/throwing_star(src)
new /obj/item/weapon/throwing_star(src)
new /obj/item/weapon/throwing_star(src)
new /obj/item/weapon/restraints/legcuffs/bola/tactical(src)
new /obj/item/weapon/restraints/legcuffs/bola/tactical(src)
new /obj/item/throwing_star(src)
new /obj/item/throwing_star(src)
new /obj/item/throwing_star(src)
new /obj/item/throwing_star(src)
new /obj/item/throwing_star(src)
new /obj/item/restraints/legcuffs/bola/tactical(src)
new /obj/item/restraints/legcuffs/bola/tactical(src)
/obj/item/weapon/storage/box/syndie_kit/sarin
/obj/item/storage/box/syndie_kit/sarin
name = "Sarin Gas Grenades"
New()
..()
new /obj/item/weapon/grenade/chem_grenade/saringas(src)
new /obj/item/weapon/grenade/chem_grenade/saringas(src)
new /obj/item/weapon/grenade/chem_grenade/saringas(src)
new /obj/item/weapon/grenade/chem_grenade/saringas(src)
new /obj/item/grenade/chem_grenade/saringas(src)
new /obj/item/grenade/chem_grenade/saringas(src)
new /obj/item/grenade/chem_grenade/saringas(src)
new /obj/item/grenade/chem_grenade/saringas(src)
/obj/item/weapon/storage/box/syndie_kit/bioterror
/obj/item/storage/box/syndie_kit/bioterror
name = "bioterror syringe box"
New()
..()
new /obj/item/weapon/reagent_containers/syringe/bioterror(src)
new /obj/item/weapon/reagent_containers/syringe/bioterror(src)
new /obj/item/weapon/reagent_containers/syringe/bioterror(src)
new /obj/item/weapon/reagent_containers/syringe/bioterror(src)
new /obj/item/weapon/reagent_containers/syringe/bioterror(src)
new /obj/item/weapon/reagent_containers/syringe/bioterror(src)
new /obj/item/weapon/reagent_containers/syringe/bioterror(src)
new /obj/item/reagent_containers/syringe/bioterror(src)
new /obj/item/reagent_containers/syringe/bioterror(src)
new /obj/item/reagent_containers/syringe/bioterror(src)
new /obj/item/reagent_containers/syringe/bioterror(src)
new /obj/item/reagent_containers/syringe/bioterror(src)
new /obj/item/reagent_containers/syringe/bioterror(src)
new /obj/item/reagent_containers/syringe/bioterror(src)
return
/obj/item/weapon/storage/box/syndie_kit/caneshotgun
/obj/item/storage/box/syndie_kit/caneshotgun
name = "cane gun kit"
/obj/item/weapon/storage/box/syndie_kit/caneshotgun/New()
/obj/item/storage/box/syndie_kit/caneshotgun/New()
..()
new /obj/item/ammo_casing/shotgun/dart/assassination(src)
new /obj/item/ammo_casing/shotgun/dart/assassination(src)
@@ -209,48 +209,48 @@
new /obj/item/ammo_casing/shotgun/dart/assassination(src)
new /obj/item/ammo_casing/shotgun/dart/assassination(src)
new /obj/item/ammo_casing/shotgun/dart/assassination(src)
new /obj/item/weapon/gun/projectile/revolver/doublebarrel/improvised/cane(src)
new /obj/item/gun/projectile/revolver/doublebarrel/improvised/cane(src)
/obj/item/weapon/storage/box/syndie_kit/atmosgasgrenades
/obj/item/storage/box/syndie_kit/atmosgasgrenades
name = "Atmos Grenades"
/obj/item/weapon/storage/box/syndie_kit/atmosgasgrenades/New()
/obj/item/storage/box/syndie_kit/atmosgasgrenades/New()
..()
new /obj/item/weapon/grenade/clusterbuster/plasma(src)
new /obj/item/weapon/grenade/clusterbuster/n2o(src)
new /obj/item/grenade/clusterbuster/plasma(src)
new /obj/item/grenade/clusterbuster/n2o(src)
/obj/item/weapon/storage/box/syndie_kit/missionary_set
/obj/item/storage/box/syndie_kit/missionary_set
name = "Missionary Starter Kit"
/obj/item/weapon/storage/box/syndie_kit/missionary_set/New()
/obj/item/storage/box/syndie_kit/missionary_set/New()
..()
new /obj/item/weapon/nullrod/missionary_staff(src)
new /obj/item/nullrod/missionary_staff(src)
new /obj/item/clothing/suit/hooded/chaplain_hoodie/missionary_robe(src)
var/obj/item/weapon/storage/bible/B = new /obj/item/weapon/storage/bible(src)
var/obj/item/storage/bible/B = new /obj/item/storage/bible(src)
if(prob(25)) //an omen of success to come?
B.deity_name = "Success"
B.icon_state = "greentext"
B.item_state = "greentext"
/obj/item/weapon/storage/box/syndie_kit/cutouts
/obj/item/storage/box/syndie_kit/cutouts
name = "Fortified Artistic Box"
/obj/item/weapon/storage/box/syndie_kit/cutouts/New()
/obj/item/storage/box/syndie_kit/cutouts/New()
..()
for(var/i in 1 to 3)
new/obj/item/cardboard_cutout/adaptive(src)
new/obj/item/toy/crayon/spraycan(src)
/obj/item/weapon/storage/box/syndie_kit/bonerepair
/obj/item/storage/box/syndie_kit/bonerepair
name = "bone repair kit"
desc = "A box containing one prototype field bone repair kit."
/obj/item/weapon/storage/box/syndie_kit/bonerepair/New()
/obj/item/storage/box/syndie_kit/bonerepair/New()
..()
new /obj/item/weapon/reagent_containers/hypospray/autoinjector/nanocalcium(src)
var/obj/item/weapon/paper/P = new /obj/item/weapon/paper(src)
new /obj/item/reagent_containers/hypospray/autoinjector/nanocalcium(src)
var/obj/item/paper/P = new /obj/item/paper(src)
P.name = "Bone repair guide"
P.desc = "For when you want to safely get off Mr Bones' Wild Ride."
P.info = {"
@@ -1,4 +1,4 @@
/obj/item/weapon/storage/wallet
/obj/item/storage/wallet
name = "leather wallet"
desc = "Made from genuine leather, it is of the highest quality."
storage_slots = 10
@@ -8,44 +8,44 @@
burn_state = FLAMMABLE
can_hold = list(
/obj/item/stack/spacecash,
/obj/item/weapon/card,
/obj/item/card,
/obj/item/clothing/mask/cigarette,
/obj/item/device/flashlight/pen,
/obj/item/seeds,
/obj/item/stack/medical,
/obj/item/toy/crayon,
/obj/item/weapon/coin,
/obj/item/weapon/dice,
/obj/item/weapon/disk,
/obj/item/weapon/implanter,
/obj/item/weapon/lighter,
/obj/item/weapon/match,
/obj/item/weapon/paper,
/obj/item/weapon/pen,
/obj/item/weapon/photo,
/obj/item/weapon/reagent_containers/dropper,
/obj/item/weapon/screwdriver,
/obj/item/weapon/stamp)
/obj/item/coin,
/obj/item/dice,
/obj/item/disk,
/obj/item/implanter,
/obj/item/lighter,
/obj/item/match,
/obj/item/paper,
/obj/item/pen,
/obj/item/photo,
/obj/item/reagent_containers/dropper,
/obj/item/screwdriver,
/obj/item/stamp)
slot_flags = SLOT_ID
var/obj/item/weapon/card/id/front_id = null
var/obj/item/card/id/front_id = null
/obj/item/weapon/storage/wallet/remove_from_storage(obj/item/W as obj, atom/new_location)
/obj/item/storage/wallet/remove_from_storage(obj/item/W as obj, atom/new_location)
. = ..(W, new_location)
if(.)
if(W == front_id)
front_id = null
update_icon()
/obj/item/weapon/storage/wallet/handle_item_insertion(obj/item/W as obj, prevent_warning = 0)
/obj/item/storage/wallet/handle_item_insertion(obj/item/W as obj, prevent_warning = 0)
. = ..(W, prevent_warning)
if(.)
if(!front_id && istype(W, /obj/item/weapon/card/id))
if(!front_id && istype(W, /obj/item/card/id))
front_id = W
update_icon()
/obj/item/weapon/storage/wallet/update_icon()
/obj/item/storage/wallet/update_icon()
if(front_id)
switch(front_id.icon_state)
@@ -64,17 +64,17 @@
icon_state = "wallet"
/obj/item/weapon/storage/wallet/GetID()
/obj/item/storage/wallet/GetID()
return front_id
/obj/item/weapon/storage/wallet/GetAccess()
/obj/item/storage/wallet/GetAccess()
var/obj/item/I = GetID()
if(I)
return I.GetAccess()
else
return ..()
/obj/item/weapon/storage/wallet/random/New()
/obj/item/storage/wallet/random/New()
..()
var/item1_type = pick(/obj/item/stack/spacecash,
/obj/item/stack/spacecash/c10,
@@ -88,7 +88,7 @@
/obj/item/stack/spacecash/c100,
/obj/item/stack/spacecash/c500,
/obj/item/stack/spacecash/c1000)
var/item3_type = pick( /obj/item/weapon/coin/silver, /obj/item/weapon/coin/silver, /obj/item/weapon/coin/gold, /obj/item/weapon/coin/iron, /obj/item/weapon/coin/iron, /obj/item/weapon/coin/iron )
var/item3_type = pick( /obj/item/coin/silver, /obj/item/coin/silver, /obj/item/coin/gold, /obj/item/coin/iron, /obj/item/coin/iron, /obj/item/coin/iron )
spawn(2)
if(item1_type)
@@ -102,26 +102,26 @@
// Color Wallets //
//////////////////////////////////////
/obj/item/weapon/storage/wallet/color
/obj/item/storage/wallet/color
name = "cheap wallet"
desc = "A cheap wallet from the arcade."
storage_slots = 5 //smaller storage than normal wallets
/obj/item/weapon/storage/wallet/color/New()
/obj/item/storage/wallet/color/New()
..()
if(!item_color)
var/color_wallet = pick(subtypesof(/obj/item/weapon/storage/wallet/color))
var/color_wallet = pick(subtypesof(/obj/item/storage/wallet/color))
new color_wallet(src.loc)
qdel(src)
return
UpdateDesc()
/obj/item/weapon/storage/wallet/color/proc/UpdateDesc()
/obj/item/storage/wallet/color/proc/UpdateDesc()
name = "cheap [item_color] wallet"
desc = "A cheap, [item_color] wallet from the arcade."
icon_state = "[item_color]_wallet"
/obj/item/weapon/storage/wallet/color/update_icon()
/obj/item/storage/wallet/color/update_icon()
if(front_id)
switch(front_id.icon_state)
if("id")
@@ -138,20 +138,20 @@
return
icon_state = "[item_color]_wallet"
/obj/item/weapon/storage/wallet/color/blue
/obj/item/storage/wallet/color/blue
item_color = "blue"
/obj/item/weapon/storage/wallet/color/red
/obj/item/storage/wallet/color/red
item_color = "red"
/obj/item/weapon/storage/wallet/color/yellow
/obj/item/storage/wallet/color/yellow
item_color = "yellow"
/obj/item/weapon/storage/wallet/color/green
/obj/item/storage/wallet/color/green
item_color = "green"
/obj/item/weapon/storage/wallet/color/pink
/obj/item/storage/wallet/color/pink
item_color = "pink"
/obj/item/weapon/storage/waller/color/brown
/obj/item/storage/waller/color/brown
item_color = "brown"