mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-23 20:16:55 +01:00
merge conflict fix
This commit is contained in:
@@ -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,15 @@
|
||||
max_w_class = WEIGHT_CLASS_HUGE
|
||||
max_combined_w_class = 35
|
||||
burn_state = FIRE_PROOF
|
||||
cant_hold = list(/obj/item/weapon/storage/backpack/holding)
|
||||
flags_2 = NO_MAT_REDEMPTION_2
|
||||
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 +64,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 +78,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 +156,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 +244,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 +261,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 +270,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 +297,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)
|
||||
new /obj/item/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"
|
||||
|
||||
@@ -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,30 +58,30 @@
|
||||
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"
|
||||
origin_tech = "materials=4;bluespace=4;engineering=4;plasmatech=3"
|
||||
max_combined_w_class = 60
|
||||
storage_slots = 60
|
||||
|
||||
flags_2 = NO_MAT_REDEMPTION_2
|
||||
|
||||
// -----------------------------
|
||||
// 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
|
||||
|
||||
@@ -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/device/multitool,
|
||||
/obj/item/device/flashlight,
|
||||
/obj/item/crowbar,
|
||||
/obj/item/screwdriver,
|
||||
/obj/item/weldingtool,
|
||||
/obj/item/wirecutters,
|
||||
/obj/item/wrench,
|
||||
/obj/item/multitool,
|
||||
/obj/item/flashlight,
|
||||
/obj/item/stack/cable_coil,
|
||||
/obj/item/device/t_scanner,
|
||||
/obj/item/device/analyzer,
|
||||
/obj/item/t_scanner,
|
||||
/obj/item/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)
|
||||
new /obj/item/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/device/t_scanner(src)
|
||||
new /obj/item/weapon/extinguisher/mini(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/t_scanner(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/device/multitool(src)
|
||||
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/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/device/analyzer(src)
|
||||
new /obj/item/extinguisher/mini(src)
|
||||
new /obj/item/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."
|
||||
@@ -113,64 +113,64 @@
|
||||
item_state = "medical"
|
||||
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/healthanalyzer,
|
||||
/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/flashlight/pen,
|
||||
/obj/item/clothing/mask/surgical,
|
||||
/obj/item/clothing/gloves/color/latex,
|
||||
/obj/item/weapon/reagent_containers/hypospray/autoinjector,
|
||||
/obj/item/device/rad_laser,
|
||||
/obj/item/device/sensor_device,
|
||||
/obj/item/weapon/wrench/medical,
|
||||
/obj/item/reagent_containers/hypospray/autoinjector,
|
||||
/obj/item/rad_laser,
|
||||
/obj/item/sensor_device,
|
||||
/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"
|
||||
item_state = "botany"
|
||||
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/device/flashlight/pen,
|
||||
/obj/item/plant_analyzer,
|
||||
/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/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/device/flash,
|
||||
/obj/item/grenade/flashbang,
|
||||
/obj/item/grenade/chem_grenade/teargas,
|
||||
/obj/item/reagent_containers/spray/pepper,
|
||||
/obj/item/restraints/handcuffs,
|
||||
/obj/item/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/device/flashlight/seclite,
|
||||
/obj/item/reagent_containers/food/snacks/donut,
|
||||
/obj/item/kitchen/knife/combat,
|
||||
/obj/item/melee/baton,
|
||||
/obj/item/melee/classic_baton,
|
||||
/obj/item/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)
|
||||
new /obj/item/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/device/flash(src)
|
||||
new /obj/item/weapon/melee/classic_baton/telescopic(src)
|
||||
new /obj/item/weapon/grenade/flashbang(src)
|
||||
new /obj/item/kitchen/knife/combat(src)
|
||||
new /obj/item/melee/baton/loaded(src)
|
||||
new /obj/item/flash(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"
|
||||
@@ -218,21 +218,21 @@
|
||||
storage_slots = 6
|
||||
use_item_overlays = 1
|
||||
can_hold = list(
|
||||
"/obj/item/device/soulstone"
|
||||
"/obj/item/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)
|
||||
new /obj/item/device/soulstone(src)
|
||||
new /obj/item/device/soulstone(src)
|
||||
new /obj/item/device/soulstone(src)
|
||||
new /obj/item/device/soulstone(src)
|
||||
new /obj/item/soulstone(src)
|
||||
new /obj/item/soulstone(src)
|
||||
new /obj/item/soulstone(src)
|
||||
new /obj/item/soulstone(src)
|
||||
new /obj/item/soulstone(src)
|
||||
new /obj/item/soulstone(src)
|
||||
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/device/multitool/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/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/device/lightreplacer,
|
||||
/obj/item/device/flashlight,
|
||||
/obj/item/weapon/reagent_containers/spray,
|
||||
/obj/item/weapon/soap,
|
||||
/obj/item/weapon/holosign_creator
|
||||
/obj/item/grenade/chem_grenade/cleaner,
|
||||
/obj/item/lightreplacer,
|
||||
/obj/item/flashlight,
|
||||
/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/lightreplacer(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"
|
||||
@@ -310,29 +310,29 @@
|
||||
max_w_class = WEIGHT_CLASS_TINY
|
||||
max_combined_w_class = 6
|
||||
storage_slots = 6
|
||||
can_hold = list(/obj/item/device/mobcapsule)
|
||||
can_hold = list(/obj/item/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/device/multitool(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/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,13 +617,13 @@
|
||||
|
||||
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/device/multitool(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/multitool(src)
|
||||
new /obj/item/stack/cable_coil(src)
|
||||
|
||||
new /obj/item/device/analyzer(src)
|
||||
new /obj/item/device/healthanalyzer(src)
|
||||
new /obj/item/analyzer(src)
|
||||
new /obj/item/healthanalyzer(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,17 +37,12 @@
|
||||
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"))
|
||||
chaplain = 1
|
||||
|
||||
|
||||
M.create_attack_log("<font color='orange'>Has been attacked with [src.name] by [user.name] ([user.ckey])</font>")
|
||||
user.create_attack_log("<font color='red'>Used the [src.name] to attack [M.name] ([M.ckey])</font>")
|
||||
log_attack("<font color='red'>[user.name] ([user.ckey]) attacked [M.name] ([M.ckey]) with [src.name] (INTENT: [uppertext(user.a_intent)])</font>")
|
||||
|
||||
add_attack_logs(user, M, "Hit with [src]")
|
||||
if(!iscarbon(user))
|
||||
M.LAssailant = null
|
||||
else
|
||||
@@ -94,7 +89,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 +110,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)
|
||||
..()
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -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/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/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/healthanalyzer( 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/device/healthanalyzer( src )
|
||||
new /obj/item/weapon/reagent_containers/hypospray/autoinjector( 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/healthanalyzer( 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/device/healthanalyzer( 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/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/device/healthanalyzer( 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/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/device/healthanalyzer(src)
|
||||
new /obj/item/weapon/reagent_containers/hypospray/autoinjector(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/healthanalyzer(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/device/healthanalyzer(src)
|
||||
new /obj/item/reagent_containers/hypospray/autoinjector(src)
|
||||
new /obj/item/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/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/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,22 +27,22 @@
|
||||
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)
|
||||
return
|
||||
|
||||
if((istype(W, /obj/item/device/multitool)) && (open == 1) && (!l_hacking))
|
||||
if((istype(W, /obj/item/multitool)) && (open == 1) && (!l_hacking))
|
||||
user.show_message("<span class='danger'>Now attempting to reset internal memory, please hold.</span>", 1)
|
||||
l_hacking = 1
|
||||
if(do_after(usr, 100 * W.toolspeed, target = src))
|
||||
@@ -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)
|
||||
new /obj/item/flashlight(src)
|
||||
else
|
||||
new /obj/item/device/flashlight/flare(src)
|
||||
new /obj/item/device/radio(src)
|
||||
new /obj/item/flashlight/flare(src)
|
||||
new /obj/item/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/device/analyzer(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/analyzer(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/device/t_scanner(src)
|
||||
new /obj/item/weapon/crowbar(src)
|
||||
new /obj/item/screwdriver(src)
|
||||
new /obj/item/wirecutters(src)
|
||||
new /obj/item/t_scanner(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,38 +76,39 @@
|
||||
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/device/multitool(src)
|
||||
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/multitool(src)
|
||||
new /obj/item/clothing/gloves/combat(src)
|
||||
|
||||
/obj/item/weapon/storage/toolbox/syndicate/trapped/New()
|
||||
|
||||
/obj/item/storage/toolbox/syndicate/trapped/New()
|
||||
..()
|
||||
new /obj/item/weapon/grenade/chem_grenade/explosion/mine_armed(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/device/multitool(src)
|
||||
new /obj/item/wirecutters(src)
|
||||
new /obj/item/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"
|
||||
@@ -118,10 +119,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/device/camera_bug(src)
|
||||
new /obj/item/card/id/syndicate(src)
|
||||
new /obj/item/storage/box/syndie_kit/emp(src)
|
||||
new /obj/item/camera_bug(src)
|
||||
return
|
||||
|
||||
if("thief")
|
||||
new /obj/item/weapon/gun/energy/kinetic_accelerator/crossbow(src)
|
||||
new /obj/item/device/chameleon(src)
|
||||
new /obj/item/gun/energy/kinetic_accelerator/crossbow(src)
|
||||
new /obj/item/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/encryptionkey/syndicate(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/powersink(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/device/encryptionkey/binary(src)
|
||||
new /obj/item/weapon/aiModule/toyAI(src)
|
||||
new /obj/item/aiModule/syndicate(src)
|
||||
new /obj/item/encryptionkey/binary(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/flashlight/emp(src)
|
||||
new /obj/item/clothing/shoes/syndigaloshes(src)
|
||||
new /obj/item/weapon/stamp/chameleon(src)
|
||||
new /obj/item/device/multitool/ai_detect(src)
|
||||
new /obj/item/stamp/chameleon(src)
|
||||
new /obj/item/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/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"
|
||||
|
||||
Reference in New Issue
Block a user