here we go again (#2456)
This commit is contained in:
@@ -9,7 +9,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"
|
||||
@@ -28,10 +28,10 @@
|
||||
* Backpack Types
|
||||
*/
|
||||
|
||||
/obj/item/weapon/storage/backpack/old
|
||||
/obj/item/storage/backpack/old
|
||||
max_combined_w_class = 12
|
||||
|
||||
/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"
|
||||
@@ -45,7 +45,7 @@
|
||||
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0, fire = 60, acid = 50)
|
||||
|
||||
|
||||
/obj/item/weapon/storage/backpack/holding/suicide_act(mob/living/user)
|
||||
/obj/item/storage/backpack/holding/suicide_act(mob/living/user)
|
||||
user.visible_message("<span class='suicide'>[user] is jumping into [src]! It looks like [user.p_theyre()] trying to commit suicide.</span>")
|
||||
user.drop_item()
|
||||
user.Stun(100, ignore_canstun = TRUE)
|
||||
@@ -54,7 +54,7 @@
|
||||
qdel(user)
|
||||
return
|
||||
|
||||
/obj/item/weapon/storage/backpack/holding/content_can_dump(atom/dest_object, mob/user)
|
||||
/obj/item/storage/backpack/holding/content_can_dump(atom/dest_object, mob/user)
|
||||
if(Adjacent(user))
|
||||
if(get_dist(user, dest_object) < 8)
|
||||
if(dest_object.storage_contents_dump_act(src, user))
|
||||
@@ -68,8 +68,8 @@
|
||||
playsound(src, 'sound/machines/buzz-sigh.ogg', 50, 0)
|
||||
return 0
|
||||
|
||||
/obj/item/weapon/storage/backpack/holding/handle_item_insertion(obj/item/W, prevent_warning = 0, mob/user)
|
||||
if((istype(W, /obj/item/weapon/storage/backpack/holding) || count_by_type(W.GetAllContents(), /obj/item/weapon/storage/backpack/holding)))
|
||||
/obj/item/storage/backpack/holding/handle_item_insertion(obj/item/W, prevent_warning = 0, mob/user)
|
||||
if((istype(W, /obj/item/storage/backpack/holding) || count_by_type(W.GetAllContents(), /obj/item/storage/backpack/holding)))
|
||||
var/safety = alert(user, "Doing this will have extremely dire consequences for the station and its crew. Be sure you know what you're doing.", "Put in [name]?", "Proceed", "Abort")
|
||||
if(safety == "Abort" || !in_range(src, user) || !src || !W || user.incapacitated())
|
||||
return
|
||||
@@ -85,13 +85,13 @@
|
||||
return
|
||||
. = ..()
|
||||
|
||||
/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 in Christmas! Wow, it's pretty big!"
|
||||
icon_state = "giftbag0"
|
||||
@@ -100,86 +100,86 @@
|
||||
max_w_class = WEIGHT_CLASS_NORMAL
|
||||
max_combined_w_class = 60
|
||||
|
||||
/obj/item/weapon/storage/backpack/santabag/suicide_act(mob/user)
|
||||
/obj/item/storage/backpack/santabag/suicide_act(mob/user)
|
||||
user.visible_message("<span class='suicide'>[user] places [src] over their head and pulls it tight! It looks like they aren't in the Christmas spirit...</span>")
|
||||
return (OXYLOSS)
|
||||
|
||||
/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"
|
||||
item_state = "backpack"
|
||||
|
||||
/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/explorer
|
||||
/obj/item/storage/backpack/explorer
|
||||
name = "explorer bag"
|
||||
desc = "A robust backpack for stashing your loot."
|
||||
icon_state = "explorerpack"
|
||||
item_state = "explorerpack"
|
||||
|
||||
/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"
|
||||
resistance_flags = 0
|
||||
|
||||
/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"
|
||||
resistance_flags = 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"
|
||||
resistance_flags = 0
|
||||
|
||||
/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"
|
||||
@@ -190,94 +190,94 @@
|
||||
* Satchel Types
|
||||
*/
|
||||
|
||||
/obj/item/weapon/storage/backpack/satchel
|
||||
/obj/item/storage/backpack/satchel
|
||||
name = "satchel"
|
||||
desc = "A trendy looking satchel."
|
||||
icon_state = "satchel-norm"
|
||||
species_exception = list(/datum/species/angel) //satchels can be equipped since they are on the side, not back
|
||||
|
||||
/obj/item/weapon/storage/backpack/satchel/leather
|
||||
/obj/item/storage/backpack/satchel/leather
|
||||
name = "leather satchel"
|
||||
desc = "It's a very fancy satchel made with fine leather."
|
||||
icon_state = "satchel"
|
||||
resistance_flags = 0
|
||||
|
||||
/obj/item/weapon/storage/backpack/satchel/leather/withwallet/PopulateContents()
|
||||
new /obj/item/weapon/storage/wallet/random(src)
|
||||
/obj/item/storage/backpack/satchel/leather/withwallet/PopulateContents()
|
||||
new /obj/item/storage/wallet/random(src)
|
||||
|
||||
/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"
|
||||
item_state = "engiepack"
|
||||
resistance_flags = 0
|
||||
|
||||
/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"
|
||||
item_state = "medicalpack"
|
||||
|
||||
/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"
|
||||
item_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"
|
||||
item_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"
|
||||
item_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"
|
||||
item_state = "satchel-tox"
|
||||
resistance_flags = 0
|
||||
|
||||
/obj/item/weapon/storage/backpack/satchel/hyd
|
||||
/obj/item/storage/backpack/satchel/hyd
|
||||
name = "botanist satchel"
|
||||
desc = "A satchel made of all natural fibers."
|
||||
icon_state = "satchel-hyd"
|
||||
item_state = "satchel-hyd"
|
||||
|
||||
/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"
|
||||
item_state = "securitypack"
|
||||
|
||||
/obj/item/weapon/storage/backpack/satchel/explorer
|
||||
/obj/item/storage/backpack/satchel/explorer
|
||||
name = "explorer satchel"
|
||||
desc = "A robust satchel for stashing your loot."
|
||||
icon_state = "satchel-explorer"
|
||||
item_state = "securitypack"
|
||||
|
||||
/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"
|
||||
item_state = "captainpack"
|
||||
resistance_flags = 0
|
||||
|
||||
/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 = INVISIBILITY_MAXIMUM
|
||||
anchored = TRUE //otherwise you can start pulling, cover it, and drag around an invisible backpack.
|
||||
@@ -287,30 +287,30 @@
|
||||
anchored = FALSE
|
||||
icon_state = initial(icon_state)
|
||||
|
||||
/obj/item/weapon/storage/backpack/satchel/flat/Initialize(mapload)
|
||||
/obj/item/storage/backpack/satchel/flat/Initialize(mapload)
|
||||
..()
|
||||
SSpersistence.new_secret_satchels += src
|
||||
|
||||
/obj/item/weapon/storage/backpack/satchel/flat/PopulateContents()
|
||||
/obj/item/storage/backpack/satchel/flat/PopulateContents()
|
||||
new /obj/item/stack/tile/plasteel(src)
|
||||
new /obj/item/weapon/crowbar(src)
|
||||
new /obj/item/crowbar(src)
|
||||
|
||||
/obj/item/weapon/storage/backpack/satchel/flat/Destroy()
|
||||
/obj/item/storage/backpack/satchel/flat/Destroy()
|
||||
SSpersistence.new_secret_satchels -= src
|
||||
return ..()
|
||||
|
||||
/obj/item/weapon/storage/backpack/satchel/flat/secret
|
||||
/obj/item/storage/backpack/satchel/flat/secret
|
||||
var/list/reward_one_of_these = list() //Intended for map editing
|
||||
var/list/reward_all_of_these = list() //use paths!
|
||||
var/revealed = 0
|
||||
|
||||
/obj/item/weapon/storage/backpack/satchel/flat/secret/Initialize()
|
||||
/obj/item/storage/backpack/satchel/flat/secret/Initialize()
|
||||
..()
|
||||
|
||||
if(isfloorturf(loc) && !istype(loc, /turf/open/floor/plating/))
|
||||
hide(1)
|
||||
|
||||
/obj/item/weapon/storage/backpack/satchel/flat/secret/hide(intact)
|
||||
/obj/item/storage/backpack/satchel/flat/secret/hide(intact)
|
||||
..()
|
||||
if(!intact && !revealed)
|
||||
if(reward_one_of_these.len > 0)
|
||||
@@ -320,7 +320,7 @@
|
||||
new R(src)
|
||||
revealed = 1
|
||||
|
||||
/obj/item/weapon/storage/backpack/duffelbag
|
||||
/obj/item/storage/backpack/duffelbag
|
||||
name = "duffel bag"
|
||||
desc = "A large duffel bag for holding extra things."
|
||||
icon_state = "duffel"
|
||||
@@ -328,88 +328,88 @@
|
||||
slowdown = 1
|
||||
max_combined_w_class = 30
|
||||
|
||||
/obj/item/weapon/storage/backpack/duffelbag/captain
|
||||
/obj/item/storage/backpack/duffelbag/captain
|
||||
name = "captain's duffel bag"
|
||||
desc = "A large duffel bag for holding extra captainly goods."
|
||||
icon_state = "duffel-captain"
|
||||
item_state = "duffel-captain"
|
||||
resistance_flags = 0
|
||||
|
||||
/obj/item/weapon/storage/backpack/duffelbag/med
|
||||
/obj/item/storage/backpack/duffelbag/med
|
||||
name = "medical duffel bag"
|
||||
desc = "A large duffel bag for holding extra medical supplies."
|
||||
icon_state = "duffel-med"
|
||||
item_state = "duffel-med"
|
||||
|
||||
/obj/item/weapon/storage/backpack/duffelbag/med/surgery
|
||||
/obj/item/storage/backpack/duffelbag/med/surgery
|
||||
name = "surgical duffel bag"
|
||||
desc = "A large duffel bag for holding extra medical supplies - this one seems to be designed for holding surgical tools."
|
||||
|
||||
/obj/item/weapon/storage/backpack/duffelbag/med/surgery/PopulateContents()
|
||||
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/surgical_drapes(src)
|
||||
/obj/item/storage/backpack/duffelbag/med/surgery/PopulateContents()
|
||||
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/surgical_drapes(src)
|
||||
new /obj/item/clothing/mask/surgical(src)
|
||||
new /obj/item/weapon/razor(src)
|
||||
new /obj/item/razor(src)
|
||||
|
||||
/obj/item/weapon/storage/backpack/duffelbag/sec
|
||||
/obj/item/storage/backpack/duffelbag/sec
|
||||
name = "security duffel bag"
|
||||
desc = "A large duffel bag for holding extra security supplies and ammunition."
|
||||
icon_state = "duffel-sec"
|
||||
item_state = "duffel-sec"
|
||||
|
||||
/obj/item/weapon/storage/backpack/duffelbag/sec/surgery
|
||||
/obj/item/storage/backpack/duffelbag/sec/surgery
|
||||
name = "surgical duffel bag"
|
||||
desc = "A large duffel bag for holding extra supplies - this one has a material inlay with space for various sharp-looking tools."
|
||||
|
||||
/obj/item/weapon/storage/backpack/duffelbag/sec/surgery/PopulateContents()
|
||||
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/surgical_drapes(src)
|
||||
/obj/item/storage/backpack/duffelbag/sec/surgery/PopulateContents()
|
||||
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/surgical_drapes(src)
|
||||
new /obj/item/clothing/mask/surgical(src)
|
||||
|
||||
/obj/item/weapon/storage/backpack/duffelbag/engineering
|
||||
/obj/item/storage/backpack/duffelbag/engineering
|
||||
name = "industrial duffel bag"
|
||||
desc = "A large duffel bag for holding extra tools and supplies."
|
||||
icon_state = "duffel-eng"
|
||||
item_state = "duffel-eng"
|
||||
resistance_flags = 0
|
||||
|
||||
/obj/item/weapon/storage/backpack/duffelbag/drone
|
||||
/obj/item/storage/backpack/duffelbag/drone
|
||||
name = "drone duffel bag"
|
||||
desc = "A large duffel bag for holding tools and hats."
|
||||
icon_state = "duffel-drone"
|
||||
item_state = "duffel-drone"
|
||||
resistance_flags = FIRE_PROOF
|
||||
|
||||
/obj/item/weapon/storage/backpack/duffelbag/drone/PopulateContents()
|
||||
new /obj/item/weapon/screwdriver(src)
|
||||
new /obj/item/weapon/wrench(src)
|
||||
new /obj/item/weapon/weldingtool(src)
|
||||
new /obj/item/weapon/crowbar(src)
|
||||
/obj/item/storage/backpack/duffelbag/drone/PopulateContents()
|
||||
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/random(src)
|
||||
new /obj/item/weapon/wirecutters(src)
|
||||
new /obj/item/wirecutters(src)
|
||||
new /obj/item/device/multitool(src)
|
||||
|
||||
/obj/item/weapon/storage/backpack/duffelbag/clown
|
||||
/obj/item/storage/backpack/duffelbag/clown
|
||||
name = "clown's duffel bag"
|
||||
desc = "A large duffel bag for holding lots of funny gags!"
|
||||
icon_state = "duffel-clown"
|
||||
item_state = "duffel-clown"
|
||||
|
||||
/obj/item/weapon/storage/backpack/duffelbag/clown/cream_pie/PopulateContents()
|
||||
/obj/item/storage/backpack/duffelbag/clown/cream_pie/PopulateContents()
|
||||
for(var/i in 1 to 10)
|
||||
new /obj/item/weapon/reagent_containers/food/snacks/pie/cream(src)
|
||||
new /obj/item/reagent_containers/food/snacks/pie/cream(src)
|
||||
|
||||
/obj/item/weapon/storage/backpack/duffelbag/syndie
|
||||
/obj/item/storage/backpack/duffelbag/syndie
|
||||
name = "suspicious looking duffel bag"
|
||||
desc = "A large duffel bag for holding extra tactical supplies."
|
||||
icon_state = "duffel-syndie"
|
||||
@@ -418,12 +418,12 @@
|
||||
silent = 1
|
||||
slowdown = 0
|
||||
|
||||
/obj/item/weapon/storage/backpack/duffelbag/syndie/hitman
|
||||
/obj/item/storage/backpack/duffelbag/syndie/hitman
|
||||
desc = "A large duffel bag for holding extra things. There is a NanoTrasen logo on the back."
|
||||
icon_state = "duffel-syndieammo"
|
||||
item_state = "duffel-syndieammo"
|
||||
|
||||
/obj/item/weapon/storage/backpack/duffelbag/syndie/hitman/PopulateContents()
|
||||
/obj/item/storage/backpack/duffelbag/syndie/hitman/PopulateContents()
|
||||
new /obj/item/clothing/under/lawyer/blacksuit(src)
|
||||
new /obj/item/clothing/accessory/waistcoat(src)
|
||||
new /obj/item/clothing/suit/toggle/lawyer/black(src)
|
||||
@@ -432,119 +432,119 @@
|
||||
new /obj/item/clothing/glasses/sunglasses(src)
|
||||
new /obj/item/clothing/head/fedora(src)
|
||||
|
||||
/obj/item/weapon/storage/backpack/duffelbag/syndie/med
|
||||
/obj/item/storage/backpack/duffelbag/syndie/med
|
||||
name = "medical duffel bag"
|
||||
desc = "A large duffel bag for holding extra tactical medical supplies."
|
||||
icon_state = "duffel-syndiemed"
|
||||
item_state = "duffel-syndiemed"
|
||||
|
||||
/obj/item/weapon/storage/backpack/duffelbag/syndie/surgery
|
||||
/obj/item/storage/backpack/duffelbag/syndie/surgery
|
||||
name = "surgery duffel bag"
|
||||
desc = "A suspicious looking duffel bag for holding surgery tools."
|
||||
icon_state = "duffel-syndiemed"
|
||||
item_state = "duffel-syndiemed"
|
||||
|
||||
/obj/item/weapon/storage/backpack/duffelbag/syndie/surgery/PopulateContents()
|
||||
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/surgical_drapes(src)
|
||||
/obj/item/storage/backpack/duffelbag/syndie/surgery/PopulateContents()
|
||||
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/surgical_drapes(src)
|
||||
new /obj/item/clothing/suit/straight_jacket(src)
|
||||
new /obj/item/clothing/mask/muzzle(src)
|
||||
new /obj/item/device/mmi/syndie(src)
|
||||
|
||||
/obj/item/weapon/storage/backpack/duffelbag/syndie/ammo
|
||||
/obj/item/storage/backpack/duffelbag/syndie/ammo
|
||||
name = "ammunition duffel bag"
|
||||
desc = "A large duffel bag for holding extra weapons ammunition and supplies."
|
||||
icon_state = "duffel-syndieammo"
|
||||
item_state = "duffel-syndieammo"
|
||||
|
||||
/obj/item/weapon/storage/backpack/duffelbag/syndie/ammo/shotgun
|
||||
/obj/item/storage/backpack/duffelbag/syndie/ammo/shotgun
|
||||
desc = "A large duffel bag, packed to the brim with Bulldog shotgun ammo."
|
||||
|
||||
/obj/item/weapon/storage/backpack/duffelbag/syndie/ammo/shotgun/PopulateContents()
|
||||
/obj/item/storage/backpack/duffelbag/syndie/ammo/shotgun/PopulateContents()
|
||||
for(var/i in 1 to 6)
|
||||
new /obj/item/ammo_box/magazine/m12g(src)
|
||||
new /obj/item/ammo_box/magazine/m12g/buckshot(src)
|
||||
new /obj/item/ammo_box/magazine/m12g/slug(src)
|
||||
new /obj/item/ammo_box/magazine/m12g/dragon(src)
|
||||
|
||||
/obj/item/weapon/storage/backpack/duffelbag/syndie/ammo/smg
|
||||
/obj/item/storage/backpack/duffelbag/syndie/ammo/smg
|
||||
desc = "A large duffel bag, packed to the brim with C20r magazines."
|
||||
|
||||
/obj/item/weapon/storage/backpack/duffelbag/syndie/ammo/smg/PopulateContents()
|
||||
/obj/item/storage/backpack/duffelbag/syndie/ammo/smg/PopulateContents()
|
||||
for(var/i in 1 to 9)
|
||||
new /obj/item/ammo_box/magazine/smgm45(src)
|
||||
|
||||
/obj/item/weapon/storage/backpack/duffelbag/syndie/c20rbundle
|
||||
/obj/item/storage/backpack/duffelbag/syndie/c20rbundle
|
||||
desc = "A large duffel bag containing a C20r, some magazines, and a cheap looking suppressor."
|
||||
|
||||
/obj/item/weapon/storage/backpack/duffelbag/syndie/c20rbundle/PopulateContents()
|
||||
/obj/item/storage/backpack/duffelbag/syndie/c20rbundle/PopulateContents()
|
||||
new /obj/item/ammo_box/magazine/smgm45(src)
|
||||
new /obj/item/ammo_box/magazine/smgm45(src)
|
||||
new /obj/item/weapon/gun/ballistic/automatic/c20r(src)
|
||||
new /obj/item/weapon/suppressor/specialoffer(src)
|
||||
new /obj/item/gun/ballistic/automatic/c20r(src)
|
||||
new /obj/item/suppressor/specialoffer(src)
|
||||
|
||||
/obj/item/weapon/storage/backpack/duffelbag/syndie/bulldogbundle
|
||||
/obj/item/storage/backpack/duffelbag/syndie/bulldogbundle
|
||||
desc = "A large duffel bag containing a Bulldog, several drums, and a collapsed hardsuit."
|
||||
|
||||
/obj/item/weapon/storage/backpack/duffelbag/syndie/bulldogbundle/PopulateContents()
|
||||
/obj/item/storage/backpack/duffelbag/syndie/bulldogbundle/PopulateContents()
|
||||
new /obj/item/ammo_box/magazine/m12g(src)
|
||||
new /obj/item/weapon/gun/ballistic/automatic/shotgun/bulldog(src)
|
||||
new /obj/item/gun/ballistic/automatic/shotgun/bulldog(src)
|
||||
new /obj/item/ammo_box/magazine/m12g/buckshot(src)
|
||||
new /obj/item/clothing/glasses/thermal/syndi(src)
|
||||
|
||||
/obj/item/weapon/storage/backpack/duffelbag/syndie/med/medicalbundle
|
||||
/obj/item/storage/backpack/duffelbag/syndie/med/medicalbundle
|
||||
desc = "A large duffel bag containing a medical equipment, a Donksoft machine gun, a big jumbo box of darts, and a knock-off pair of magboots."
|
||||
|
||||
/obj/item/weapon/storage/backpack/duffelbag/syndie/med/medicalbundle/PopulateContents()
|
||||
/obj/item/storage/backpack/duffelbag/syndie/med/medicalbundle/PopulateContents()
|
||||
new /obj/item/clothing/shoes/magboots/syndie(src)
|
||||
new /obj/item/weapon/storage/firstaid/tactical(src)
|
||||
new /obj/item/weapon/gun/ballistic/automatic/l6_saw/toy(src)
|
||||
new /obj/item/storage/firstaid/tactical(src)
|
||||
new /obj/item/gun/ballistic/automatic/l6_saw/toy(src)
|
||||
new /obj/item/ammo_box/foambox/riot(src)
|
||||
|
||||
/obj/item/weapon/storage/backpack/duffelbag/syndie/med/medicalbundle
|
||||
/obj/item/storage/backpack/duffelbag/syndie/med/medicalbundle
|
||||
desc = "A large duffel bag containing a medical equipment, a Donksoft machine gun, a big jumbo box of darts, and a knock-off pair of magboots."
|
||||
|
||||
/obj/item/weapon/storage/backpack/duffelbag/syndie/med/medicalbundle/PopulateContents()
|
||||
/obj/item/storage/backpack/duffelbag/syndie/med/medicalbundle/PopulateContents()
|
||||
new /obj/item/clothing/shoes/magboots/syndie(src)
|
||||
new /obj/item/weapon/storage/firstaid/tactical(src)
|
||||
new /obj/item/weapon/gun/ballistic/automatic/l6_saw/toy(src)
|
||||
new /obj/item/storage/firstaid/tactical(src)
|
||||
new /obj/item/gun/ballistic/automatic/l6_saw/toy(src)
|
||||
new /obj/item/ammo_box/foambox/riot(src)
|
||||
|
||||
/obj/item/weapon/storage/backpack/duffelbag/syndie/med/bioterrorbundle
|
||||
/obj/item/storage/backpack/duffelbag/syndie/med/bioterrorbundle
|
||||
desc = "A large duffel bag containing a deadly chemicals, a chemical spray, chemical grenade, a Donksoft assault rifle, riot grade darts, a minature syringe gun, and a box of syringes"
|
||||
|
||||
/obj/item/weapon/storage/backpack/duffelbag/syndie/med/bioterrorbundle/PopulateContents()
|
||||
new /obj/item/weapon/reagent_containers/spray/chemsprayer/bioterror(src)
|
||||
new /obj/item/weapon/storage/box/syndie_kit/chemical(src)
|
||||
new /obj/item/weapon/gun/syringe/syndicate(src)
|
||||
new /obj/item/weapon/gun/ballistic/automatic/c20r/toy(src)
|
||||
new /obj/item/weapon/storage/box/syringes(src)
|
||||
/obj/item/storage/backpack/duffelbag/syndie/med/bioterrorbundle/PopulateContents()
|
||||
new /obj/item/reagent_containers/spray/chemsprayer/bioterror(src)
|
||||
new /obj/item/storage/box/syndie_kit/chemical(src)
|
||||
new /obj/item/gun/syringe/syndicate(src)
|
||||
new /obj/item/gun/ballistic/automatic/c20r/toy(src)
|
||||
new /obj/item/storage/box/syringes(src)
|
||||
new /obj/item/ammo_box/foambox/riot(src)
|
||||
new /obj/item/weapon/grenade/chem_grenade/bioterrorfoam(src)
|
||||
new /obj/item/grenade/chem_grenade/bioterrorfoam(src)
|
||||
|
||||
/obj/item/weapon/storage/backpack/duffelbag/syndie/c4/PopulateContents()
|
||||
/obj/item/storage/backpack/duffelbag/syndie/c4/PopulateContents()
|
||||
for(var/i in 1 to 10)
|
||||
new /obj/item/weapon/grenade/plastic/c4(src)
|
||||
new /obj/item/grenade/plastic/c4(src)
|
||||
|
||||
/obj/item/weapon/storage/backpack/duffelbag/syndie/x4/PopulateContents()
|
||||
/obj/item/storage/backpack/duffelbag/syndie/x4/PopulateContents()
|
||||
for(var/i in 1 to 3)
|
||||
new /obj/item/weapon/grenade/plastic/x4(src)
|
||||
new /obj/item/grenade/plastic/x4(src)
|
||||
|
||||
/obj/item/weapon/storage/backpack/duffelbag/syndie/firestarter
|
||||
/obj/item/storage/backpack/duffelbag/syndie/firestarter
|
||||
desc = "A large duffel bag containing New Russian pyro backpack sprayer, a pistol, a pipebomb, fireproof hardsuit, ammo, and other equipment."
|
||||
|
||||
/obj/item/weapon/storage/backpack/duffelbag/syndie/firestarter/PopulateContents()
|
||||
/obj/item/storage/backpack/duffelbag/syndie/firestarter/PopulateContents()
|
||||
new /obj/item/clothing/under/syndicate/soviet(src)
|
||||
new /obj/item/weapon/watertank/operator(src)
|
||||
new /obj/item/watertank/operator(src)
|
||||
new /obj/item/clothing/suit/space/hardsuit/syndi/elite(src)
|
||||
new /obj/item/weapon/gun/ballistic/automatic/pistol/APS(src)
|
||||
new /obj/item/gun/ballistic/automatic/pistol/APS(src)
|
||||
new /obj/item/ammo_box/magazine/pistolm9mm(src)
|
||||
new /obj/item/ammo_box/magazine/pistolm9mm(src)
|
||||
new /obj/item/weapon/reagent_containers/food/drinks/bottle/vodka/badminka(src)
|
||||
new /obj/item/weapon/reagent_containers/syringe/stimulants(src)
|
||||
new /obj/item/weapon/grenade/syndieminibomb(src)
|
||||
new /obj/item/reagent_containers/food/drinks/bottle/vodka/badminka(src)
|
||||
new /obj/item/reagent_containers/syringe/stimulants(src)
|
||||
new /obj/item/grenade/syndieminibomb(src)
|
||||
|
||||
@@ -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'
|
||||
@@ -40,14 +40,14 @@
|
||||
max_combined_w_class = 30
|
||||
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 [src] over [user.p_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)
|
||||
icon_state = "[initial(icon_state)]"
|
||||
else if(contents.len < 12)
|
||||
@@ -56,17 +56,17 @@
|
||||
icon_state = "[initial(icon_state)]2"
|
||||
else 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"
|
||||
@@ -78,7 +78,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'
|
||||
@@ -89,13 +89,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)
|
||||
var/spam_protection = FALSE //If this is TRUE, the holder won't receive any messages when they fail to pick up ore through crossing it
|
||||
|
||||
/obj/item/weapon/storage/bag/ore/cyborg
|
||||
/obj/item/storage/bag/ore/cyborg
|
||||
name = "cyborg mining satchel"
|
||||
|
||||
/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 huge amounts of ore storage. It's been outfitted with anti-malfunction safety measures."
|
||||
storage_slots = INFINITY
|
||||
@@ -107,7 +107,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"
|
||||
@@ -115,18 +115,18 @@
|
||||
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/honeycomb)
|
||||
can_hold = list(/obj/item/reagent_containers/food/snacks/grown, /obj/item/seeds, /obj/item/grown, /obj/item/reagent_containers/honeycomb)
|
||||
resistance_flags = 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."
|
||||
@@ -143,7 +143,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
|
||||
name = "sheet snatcher"
|
||||
desc = "A patented Nanotrasen storage system designed for any kind of mineral sheet."
|
||||
icon = 'icons/obj/mining.dmi'
|
||||
@@ -154,7 +154,7 @@
|
||||
|
||||
allow_quick_empty = 1 // this function is superceded
|
||||
|
||||
/obj/item/weapon/storage/bag/sheetsnatcher/can_be_inserted(obj/item/W, stop_messages = 0)
|
||||
/obj/item/storage/bag/sheetsnatcher/can_be_inserted(obj/item/W, stop_messages = 0)
|
||||
if(!istype(W, /obj/item/stack/sheet) || istype(W, /obj/item/stack/sheet/mineral/sandstone) || istype(W, /obj/item/stack/sheet/mineral/wood))
|
||||
if(!stop_messages)
|
||||
to_chat(usr, "The snatcher does not accept [W].")
|
||||
@@ -170,7 +170,7 @@
|
||||
|
||||
|
||||
// Modified handle_item_insertion. Would prefer not to, but...
|
||||
/obj/item/weapon/storage/bag/sheetsnatcher/handle_item_insertion(obj/item/W, prevent_warning = 0)
|
||||
/obj/item/storage/bag/sheetsnatcher/handle_item_insertion(obj/item/W, prevent_warning = 0)
|
||||
var/obj/item/stack/sheet/S = W
|
||||
if(!istype(S)) return 0
|
||||
|
||||
@@ -212,7 +212,7 @@
|
||||
|
||||
// Sets up numbered display to show the stack size of each stored mineral
|
||||
// NOTE: numbered display is turned off currently because it's broken
|
||||
/obj/item/weapon/storage/bag/sheetsnatcher/orient2hud(mob/user)
|
||||
/obj/item/storage/bag/sheetsnatcher/orient2hud(mob/user)
|
||||
var/adjusted_contents = contents.len
|
||||
|
||||
//Numbered contents display
|
||||
@@ -235,7 +235,7 @@
|
||||
|
||||
|
||||
// Modified quick_empty verb drops appropriate sized stacks
|
||||
/obj/item/weapon/storage/bag/sheetsnatcher/quick_empty()
|
||||
/obj/item/storage/bag/sheetsnatcher/quick_empty()
|
||||
var/location = get_turf(src)
|
||||
for(var/obj/item/stack/sheet/S in contents)
|
||||
while(S.amount)
|
||||
@@ -251,7 +251,7 @@
|
||||
update_icon()
|
||||
|
||||
// Instead of removing
|
||||
/obj/item/weapon/storage/bag/sheetsnatcher/remove_from_storage(obj/item/W, atom/new_location)
|
||||
/obj/item/storage/bag/sheetsnatcher/remove_from_storage(obj/item/W, atom/new_location)
|
||||
var/obj/item/stack/sheet/S = W
|
||||
if(!istype(S)) return 0
|
||||
|
||||
@@ -271,7 +271,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
|
||||
@@ -281,7 +281,7 @@
|
||||
// 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'
|
||||
@@ -291,13 +291,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/book, /obj/item/weapon/spellbook)
|
||||
can_hold = list(/obj/item/book, /obj/item/storage/book, /obj/item/spellbook)
|
||||
resistance_flags = FLAMMABLE
|
||||
|
||||
/*
|
||||
* Trays - Agouri
|
||||
*/
|
||||
/obj/item/weapon/storage/bag/tray
|
||||
/obj/item/storage/bag/tray
|
||||
name = "tray"
|
||||
icon = 'icons/obj/food/containers.dmi'
|
||||
icon_state = "tray"
|
||||
@@ -311,7 +311,7 @@
|
||||
materials = list(MAT_METAL=3000)
|
||||
preposition = "on"
|
||||
|
||||
/obj/item/weapon/storage/bag/tray/attack(mob/living/M, mob/living/user)
|
||||
/obj/item/storage/bag/tray/attack(mob/living/M, mob/living/user)
|
||||
..()
|
||||
// Drop all the things. All of them.
|
||||
var/list/obj/item/oldContents = contents.Copy()
|
||||
@@ -334,16 +334,16 @@
|
||||
if(prob(10))
|
||||
M.Knockdown(40)
|
||||
|
||||
/obj/item/weapon/storage/bag/tray/proc/rebuild_overlays()
|
||||
/obj/item/storage/bag/tray/proc/rebuild_overlays()
|
||||
cut_overlays()
|
||||
for(var/obj/item/I in contents)
|
||||
add_overlay(mutable_appearance(I.icon, I.icon_state))
|
||||
|
||||
/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)
|
||||
add_overlay(mutable_appearance(I.icon, I.icon_state))
|
||||
. = ..()
|
||||
|
||||
@@ -352,7 +352,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"
|
||||
@@ -361,14 +361,14 @@
|
||||
max_combined_w_class = 200
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
preposition = "in"
|
||||
can_hold = list(/obj/item/weapon/reagent_containers/pill, /obj/item/weapon/reagent_containers/glass/beaker, /obj/item/weapon/reagent_containers/glass/bottle)
|
||||
can_hold = list(/obj/item/reagent_containers/pill, /obj/item/reagent_containers/glass/beaker, /obj/item/reagent_containers/glass/bottle)
|
||||
resistance_flags = 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"
|
||||
@@ -377,5 +377,5 @@
|
||||
max_combined_w_class = 200
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
preposition = "in"
|
||||
can_hold = list(/obj/item/slime_extract, /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/medipen, /obj/item/weapon/reagent_containers/food/snacks/deadmouse, /obj/item/weapon/reagent_containers/food/snacks/monkeycube)
|
||||
can_hold = list(/obj/item/slime_extract, /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/medipen, /obj/item/reagent_containers/food/snacks/deadmouse, /obj/item/reagent_containers/food/snacks/monkeycube)
|
||||
resistance_flags = 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 @@
|
||||
max_integrity = 300
|
||||
var/content_overlays = FALSE //If this is true, the belt will gain overlays based on what it's holding
|
||||
|
||||
/obj/item/weapon/storage/belt/update_icon()
|
||||
/obj/item/storage/belt/update_icon()
|
||||
cut_overlays()
|
||||
if(content_overlays)
|
||||
for(var/obj/item/I in contents)
|
||||
@@ -17,80 +17,80 @@
|
||||
add_overlay(M)
|
||||
..()
|
||||
|
||||
/obj/item/weapon/storage/belt/Initialize()
|
||||
/obj/item/storage/belt/Initialize()
|
||||
. = ..()
|
||||
update_icon()
|
||||
|
||||
/obj/item/weapon/storage/belt/utility
|
||||
/obj/item/storage/belt/utility
|
||||
name = "toolbelt" //Carn: utility belt is nicer, but it bamboozles the text parsing.
|
||||
desc = "Holds tools."
|
||||
icon_state = "utilitybelt"
|
||||
item_state = "utility"
|
||||
can_hold = list(
|
||||
/obj/item/weapon/crowbar,
|
||||
/obj/item/weapon/screwdriver,
|
||||
/obj/item/weapon/weldingtool,
|
||||
/obj/item/weapon/wirecutters,
|
||||
/obj/item/weapon/wrench,
|
||||
/obj/item/crowbar,
|
||||
/obj/item/screwdriver,
|
||||
/obj/item/weldingtool,
|
||||
/obj/item/wirecutters,
|
||||
/obj/item/wrench,
|
||||
/obj/item/device/multitool,
|
||||
/obj/item/device/flashlight,
|
||||
/obj/item/stack/cable_coil,
|
||||
/obj/item/device/t_scanner,
|
||||
/obj/item/device/analyzer,
|
||||
/obj/item/weapon/extinguisher/mini,
|
||||
/obj/item/extinguisher/mini,
|
||||
/obj/item/device/radio,
|
||||
/obj/item/clothing/gloves
|
||||
)
|
||||
content_overlays = TRUE
|
||||
|
||||
/obj/item/weapon/storage/belt/utility/chief
|
||||
/obj/item/storage/belt/utility/chief
|
||||
name = "\improper Chief Engineer's toolbelt" //"the Chief Engineer's toolbelt", because "Chief Engineer's toolbelt" is not a proper noun
|
||||
desc = "Holds tools, looks snazzy."
|
||||
icon_state = "utilitybelt_ce"
|
||||
item_state = "utility_ce"
|
||||
|
||||
/obj/item/weapon/storage/belt/utility/chief/full/PopulateContents()
|
||||
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
|
||||
/obj/item/storage/belt/utility/chief/full/PopulateContents()
|
||||
new /obj/item/screwdriver/power(src)
|
||||
new /obj/item/crowbar/power(src)
|
||||
new /obj/item/weldingtool/experimental(src)//This can be changed if this is too much
|
||||
new /obj/item/device/multitool(src)
|
||||
new /obj/item/stack/cable_coil(src,30,pick("red","yellow","orange"))
|
||||
new /obj/item/weapon/extinguisher/mini(src)
|
||||
new /obj/item/extinguisher/mini(src)
|
||||
new /obj/item/device/analyzer(src)
|
||||
//much roomier now that we've managed to remove two tools
|
||||
|
||||
|
||||
/obj/item/weapon/storage/belt/utility/full/PopulateContents()
|
||||
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)
|
||||
/obj/item/storage/belt/utility/full/PopulateContents()
|
||||
new /obj/item/screwdriver(src)
|
||||
new /obj/item/wrench(src)
|
||||
new /obj/item/weldingtool(src)
|
||||
new /obj/item/crowbar(src)
|
||||
new /obj/item/wirecutters(src)
|
||||
new /obj/item/device/multitool(src)
|
||||
new /obj/item/stack/cable_coil(src,30,pick("red","yellow","orange"))
|
||||
|
||||
/obj/item/weapon/storage/belt/utility/full/engi/PopulateContents()
|
||||
new /obj/item/weapon/screwdriver(src)
|
||||
new /obj/item/weapon/wrench(src)
|
||||
new /obj/item/weapon/weldingtool/largetank(src)
|
||||
new /obj/item/weapon/crowbar(src)
|
||||
new /obj/item/weapon/wirecutters(src)
|
||||
/obj/item/storage/belt/utility/full/engi/PopulateContents()
|
||||
new /obj/item/screwdriver(src)
|
||||
new /obj/item/wrench(src)
|
||||
new /obj/item/weldingtool/largetank(src)
|
||||
new /obj/item/crowbar(src)
|
||||
new /obj/item/wirecutters(src)
|
||||
new /obj/item/device/multitool(src)
|
||||
new /obj/item/stack/cable_coil(src,30,pick("red","yellow","orange"))
|
||||
|
||||
|
||||
/obj/item/weapon/storage/belt/utility/atmostech/PopulateContents()
|
||||
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)
|
||||
/obj/item/storage/belt/utility/atmostech/PopulateContents()
|
||||
new /obj/item/screwdriver(src)
|
||||
new /obj/item/wrench(src)
|
||||
new /obj/item/weldingtool(src)
|
||||
new /obj/item/crowbar(src)
|
||||
new /obj/item/wirecutters(src)
|
||||
new /obj/item/device/t_scanner(src)
|
||||
new /obj/item/weapon/extinguisher/mini(src)
|
||||
new /obj/item/extinguisher/mini(src)
|
||||
|
||||
|
||||
|
||||
/obj/item/weapon/storage/belt/medical
|
||||
/obj/item/storage/belt/medical
|
||||
name = "medical belt"
|
||||
desc = "Can hold various medical equipment."
|
||||
icon_state = "medicalbelt"
|
||||
@@ -98,48 +98,48 @@
|
||||
max_w_class = WEIGHT_CLASS_BULKY
|
||||
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/pill,
|
||||
/obj/item/weapon/reagent_containers/syringe,
|
||||
/obj/item/weapon/lighter,
|
||||
/obj/item/weapon/storage/fancy/cigarettes,
|
||||
/obj/item/weapon/storage/pill_bottle,
|
||||
/obj/item/dnainjector,
|
||||
/obj/item/reagent_containers/dropper,
|
||||
/obj/item/reagent_containers/glass/beaker,
|
||||
/obj/item/reagent_containers/glass/bottle,
|
||||
/obj/item/reagent_containers/pill,
|
||||
/obj/item/reagent_containers/syringe,
|
||||
/obj/item/lighter,
|
||||
/obj/item/storage/fancy/cigarettes,
|
||||
/obj/item/storage/pill_bottle,
|
||||
/obj/item/stack/medical,
|
||||
/obj/item/device/flashlight/pen,
|
||||
/obj/item/weapon/extinguisher/mini,
|
||||
/obj/item/weapon/reagent_containers/hypospray,
|
||||
/obj/item/extinguisher/mini,
|
||||
/obj/item/reagent_containers/hypospray,
|
||||
/obj/item/device/sensor_device,
|
||||
/obj/item/device/radio,
|
||||
/obj/item/clothing/gloves/,
|
||||
/obj/item/weapon/lazarus_injector,
|
||||
/obj/item/weapon/bikehorn/rubberducky,
|
||||
/obj/item/lazarus_injector,
|
||||
/obj/item/bikehorn/rubberducky,
|
||||
/obj/item/clothing/mask/surgical,
|
||||
/obj/item/clothing/mask/breath,
|
||||
/obj/item/clothing/mask/breath/medical,
|
||||
/obj/item/weapon/surgical_drapes, //for true paramedics
|
||||
/obj/item/weapon/scalpel,
|
||||
/obj/item/weapon/circular_saw,
|
||||
/obj/item/weapon/surgicaldrill,
|
||||
/obj/item/weapon/retractor,
|
||||
/obj/item/weapon/cautery,
|
||||
/obj/item/weapon/hemostat,
|
||||
/obj/item/surgical_drapes, //for true paramedics
|
||||
/obj/item/scalpel,
|
||||
/obj/item/circular_saw,
|
||||
/obj/item/surgicaldrill,
|
||||
/obj/item/retractor,
|
||||
/obj/item/cautery,
|
||||
/obj/item/hemostat,
|
||||
/obj/item/device/geiger_counter,
|
||||
/obj/item/clothing/neck/stethoscope,
|
||||
/obj/item/weapon/stamp,
|
||||
/obj/item/stamp,
|
||||
/obj/item/clothing/glasses,
|
||||
/obj/item/weapon/wrench/medical,
|
||||
/obj/item/wrench/medical,
|
||||
/obj/item/clothing/mask/muzzle,
|
||||
/obj/item/weapon/storage/bag/chemistry,
|
||||
/obj/item/weapon/storage/bag/bio,
|
||||
/obj/item/weapon/reagent_containers/blood,
|
||||
/obj/item/weapon/tank/internals/emergency_oxygen
|
||||
/obj/item/storage/bag/chemistry,
|
||||
/obj/item/storage/bag/bio,
|
||||
/obj/item/reagent_containers/blood,
|
||||
/obj/item/tank/internals/emergency_oxygen
|
||||
)
|
||||
|
||||
|
||||
/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"
|
||||
@@ -147,36 +147,36 @@
|
||||
storage_slots = 5
|
||||
max_w_class = WEIGHT_CLASS_NORMAL //Because the baton wouldn't fit otherwise. - Neerti
|
||||
can_hold = list(
|
||||
/obj/item/weapon/melee/baton,
|
||||
/obj/item/weapon/melee/classic_baton,
|
||||
/obj/item/weapon/grenade,
|
||||
/obj/item/weapon/reagent_containers/spray/pepper,
|
||||
/obj/item/weapon/restraints/handcuffs,
|
||||
/obj/item/melee/baton,
|
||||
/obj/item/melee/classic_baton,
|
||||
/obj/item/grenade,
|
||||
/obj/item/reagent_containers/spray/pepper,
|
||||
/obj/item/restraints/handcuffs,
|
||||
/obj/item/device/assembly/flash/handheld,
|
||||
/obj/item/clothing/glasses,
|
||||
/obj/item/ammo_casing/shotgun,
|
||||
/obj/item/ammo_box,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/donut,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/donut/jelly,
|
||||
/obj/item/weapon/kitchen/knife/combat,
|
||||
/obj/item/reagent_containers/food/snacks/donut,
|
||||
/obj/item/reagent_containers/food/snacks/donut/jelly,
|
||||
/obj/item/kitchen/knife/combat,
|
||||
/obj/item/device/flashlight/seclite,
|
||||
/obj/item/weapon/melee/classic_baton/telescopic,
|
||||
/obj/item/melee/classic_baton/telescopic,
|
||||
/obj/item/device/radio,
|
||||
/obj/item/clothing/gloves/,
|
||||
/obj/item/weapon/restraints/legcuffs/bola
|
||||
/obj/item/restraints/legcuffs/bola
|
||||
)
|
||||
content_overlays = TRUE
|
||||
|
||||
/obj/item/weapon/storage/belt/security/full/PopulateContents()
|
||||
new /obj/item/weapon/reagent_containers/spray/pepper(src)
|
||||
new /obj/item/weapon/restraints/handcuffs(src)
|
||||
new /obj/item/weapon/grenade/flashbang(src)
|
||||
/obj/item/storage/belt/security/full/PopulateContents()
|
||||
new /obj/item/reagent_containers/spray/pepper(src)
|
||||
new /obj/item/restraints/handcuffs(src)
|
||||
new /obj/item/grenade/flashbang(src)
|
||||
new /obj/item/device/assembly/flash/handheld(src)
|
||||
new /obj/item/weapon/melee/baton/loaded(src)
|
||||
new /obj/item/melee/baton/loaded(src)
|
||||
update_icon()
|
||||
|
||||
|
||||
/obj/item/weapon/storage/belt/mining
|
||||
/obj/item/storage/belt/mining
|
||||
name = "explorer's webbing"
|
||||
desc = "A versatile chest rig, cherished by miners and hunters alike."
|
||||
icon_state = "explorer1"
|
||||
@@ -186,59 +186,59 @@
|
||||
max_w_class = WEIGHT_CLASS_BULKY //Pickaxes are big.
|
||||
max_combined_w_class = 20 //Not an issue with this whitelist, probably.
|
||||
can_hold = list(
|
||||
/obj/item/weapon/crowbar,
|
||||
/obj/item/weapon/screwdriver,
|
||||
/obj/item/weapon/weldingtool,
|
||||
/obj/item/weapon/wirecutters,
|
||||
/obj/item/weapon/wrench,
|
||||
/obj/item/crowbar,
|
||||
/obj/item/screwdriver,
|
||||
/obj/item/weldingtool,
|
||||
/obj/item/wirecutters,
|
||||
/obj/item/wrench,
|
||||
/obj/item/device/flashlight,
|
||||
/obj/item/stack/cable_coil,
|
||||
/obj/item/device/analyzer,
|
||||
/obj/item/weapon/extinguisher/mini,
|
||||
/obj/item/extinguisher/mini,
|
||||
/obj/item/device/radio,
|
||||
/obj/item/clothing/gloves,
|
||||
/obj/item/weapon/resonator,
|
||||
/obj/item/resonator,
|
||||
/obj/item/device/mining_scanner,
|
||||
/obj/item/weapon/pickaxe,
|
||||
/obj/item/pickaxe,
|
||||
/obj/item/stack/sheet/animalhide,
|
||||
/obj/item/stack/sheet/sinew,
|
||||
/obj/item/stack/sheet/bone,
|
||||
/obj/item/weapon/lighter,
|
||||
/obj/item/weapon/storage/fancy/cigarettes,
|
||||
/obj/item/weapon/reagent_containers/food/drinks/bottle,
|
||||
/obj/item/lighter,
|
||||
/obj/item/storage/fancy/cigarettes,
|
||||
/obj/item/reagent_containers/food/drinks/bottle,
|
||||
/obj/item/stack/medical,
|
||||
/obj/item/weapon/kitchen/knife,
|
||||
/obj/item/weapon/reagent_containers/hypospray,
|
||||
/obj/item/kitchen/knife,
|
||||
/obj/item/reagent_containers/hypospray,
|
||||
/obj/item/device/gps,
|
||||
/obj/item/weapon/storage/bag/ore,
|
||||
/obj/item/weapon/survivalcapsule,
|
||||
/obj/item/storage/bag/ore,
|
||||
/obj/item/survivalcapsule,
|
||||
/obj/item/device/t_scanner/adv_mining_scanner,
|
||||
/obj/item/weapon/reagent_containers/pill,
|
||||
/obj/item/weapon/storage/pill_bottle,
|
||||
/obj/item/weapon/ore,
|
||||
/obj/item/weapon/reagent_containers/food/drinks,
|
||||
/obj/item/reagent_containers/pill,
|
||||
/obj/item/storage/pill_bottle,
|
||||
/obj/item/ore,
|
||||
/obj/item/reagent_containers/food/drinks,
|
||||
/obj/item/organ/regenerative_core,
|
||||
/obj/item/device/wormhole_jaunter,
|
||||
/obj/item/weapon/storage/bag/plants,
|
||||
/obj/item/storage/bag/plants,
|
||||
/obj/item/stack/marker_beacon
|
||||
)
|
||||
|
||||
|
||||
/obj/item/weapon/storage/belt/mining/vendor
|
||||
contents = newlist(/obj/item/weapon/survivalcapsule)
|
||||
/obj/item/storage/belt/mining/vendor
|
||||
contents = newlist(/obj/item/survivalcapsule)
|
||||
|
||||
/obj/item/weapon/storage/belt/mining/alt
|
||||
/obj/item/storage/belt/mining/alt
|
||||
icon_state = "explorer2"
|
||||
item_state = "explorer2"
|
||||
|
||||
/obj/item/weapon/storage/belt/mining/primitive
|
||||
/obj/item/storage/belt/mining/primitive
|
||||
name = "hunter's belt"
|
||||
desc = "A versatile belt, woven from sinew."
|
||||
storage_slots = 5
|
||||
icon_state = "ebelt"
|
||||
item_state = "ebelt"
|
||||
|
||||
/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"
|
||||
@@ -248,11 +248,11 @@
|
||||
/obj/item/device/soulstone
|
||||
)
|
||||
|
||||
/obj/item/weapon/storage/belt/soulstone/full/PopulateContents()
|
||||
/obj/item/storage/belt/soulstone/full/PopulateContents()
|
||||
for(var/i in 1 to 6)
|
||||
new /obj/item/device/soulstone(src)
|
||||
|
||||
/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"
|
||||
@@ -263,44 +263,44 @@
|
||||
/obj/item/clothing/mask/luchador
|
||||
)
|
||||
|
||||
/obj/item/weapon/storage/belt/military
|
||||
/obj/item/storage/belt/military
|
||||
name = "chest rig"
|
||||
desc = "A set of tactical webbing worn by Syndicate boarding parties."
|
||||
icon_state = "militarywebbing"
|
||||
item_state = "militarywebbing"
|
||||
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/PopulateContents()
|
||||
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)
|
||||
/obj/item/storage/belt/military/abductor/full/PopulateContents()
|
||||
new /obj/item/screwdriver/abductor(src)
|
||||
new /obj/item/wrench/abductor(src)
|
||||
new /obj/item/weldingtool/abductor(src)
|
||||
new /obj/item/crowbar/abductor(src)
|
||||
new /obj/item/wirecutters/abductor(src)
|
||||
new /obj/item/device/multitool/abductor(src)
|
||||
new /obj/item/stack/cable_coil(src,30,"white")
|
||||
|
||||
|
||||
/obj/item/weapon/storage/belt/military/army
|
||||
/obj/item/storage/belt/military/army
|
||||
name = "army belt"
|
||||
desc = "A belt used by military forces."
|
||||
icon_state = "grenadebeltold"
|
||||
item_state = "security"
|
||||
|
||||
/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 = "security"
|
||||
storage_slots = 6
|
||||
|
||||
/obj/item/weapon/storage/belt/grenade
|
||||
/obj/item/storage/belt/grenade
|
||||
name = "grenadier belt"
|
||||
desc = "A belt for holding grenades."
|
||||
icon_state = "grenadebeltnew"
|
||||
@@ -310,66 +310,66 @@
|
||||
storage_slots = 30
|
||||
max_combined_w_class = 60 //needs to be this high
|
||||
can_hold = list(
|
||||
/obj/item/weapon/grenade,
|
||||
/obj/item/weapon/screwdriver,
|
||||
/obj/item/weapon/lighter,
|
||||
/obj/item/grenade,
|
||||
/obj/item/screwdriver,
|
||||
/obj/item/lighter,
|
||||
/obj/item/device/multitool,
|
||||
/obj/item/weapon/reagent_containers/food/drinks/bottle/molotov,
|
||||
/obj/item/weapon/grenade/plastic/c4,
|
||||
/obj/item/reagent_containers/food/drinks/bottle/molotov,
|
||||
/obj/item/grenade/plastic/c4,
|
||||
)
|
||||
/obj/item/weapon/storage/belt/grenade/full/PopulateContents()
|
||||
new /obj/item/weapon/grenade/flashbang(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/grenade/smokebomb(src)
|
||||
new /obj/item/weapon/grenade/empgrenade(src)
|
||||
new /obj/item/weapon/grenade/empgrenade(src)
|
||||
new /obj/item/weapon/grenade/syndieminibomb/concussion/frag(src)
|
||||
new /obj/item/weapon/grenade/syndieminibomb/concussion/frag(src)
|
||||
new /obj/item/weapon/grenade/syndieminibomb/concussion/frag(src)
|
||||
new /obj/item/weapon/grenade/syndieminibomb/concussion/frag(src)
|
||||
new /obj/item/weapon/grenade/syndieminibomb/concussion/frag(src)
|
||||
new /obj/item/weapon/grenade/syndieminibomb/concussion/frag(src)
|
||||
new /obj/item/weapon/grenade/syndieminibomb/concussion/frag(src)
|
||||
new /obj/item/weapon/grenade/syndieminibomb/concussion/frag(src)
|
||||
new /obj/item/weapon/grenade/syndieminibomb/concussion/frag(src)
|
||||
new /obj/item/weapon/grenade/syndieminibomb/concussion/frag(src)
|
||||
new /obj/item/weapon/grenade/gluon(src)
|
||||
new /obj/item/weapon/grenade/gluon(src)
|
||||
new /obj/item/weapon/grenade/gluon(src)
|
||||
new /obj/item/weapon/grenade/gluon(src)
|
||||
new /obj/item/weapon/grenade/chem_grenade/incendiary(src)
|
||||
new /obj/item/weapon/grenade/chem_grenade/incendiary(src)
|
||||
new /obj/item/weapon/grenade/chem_grenade/facid(src)
|
||||
new /obj/item/weapon/grenade/syndieminibomb(src)
|
||||
new /obj/item/weapon/grenade/syndieminibomb(src)
|
||||
new /obj/item/weapon/screwdriver(src)
|
||||
/obj/item/storage/belt/grenade/full/PopulateContents()
|
||||
new /obj/item/grenade/flashbang(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/grenade/empgrenade(src)
|
||||
new /obj/item/grenade/empgrenade(src)
|
||||
new /obj/item/grenade/syndieminibomb/concussion/frag(src)
|
||||
new /obj/item/grenade/syndieminibomb/concussion/frag(src)
|
||||
new /obj/item/grenade/syndieminibomb/concussion/frag(src)
|
||||
new /obj/item/grenade/syndieminibomb/concussion/frag(src)
|
||||
new /obj/item/grenade/syndieminibomb/concussion/frag(src)
|
||||
new /obj/item/grenade/syndieminibomb/concussion/frag(src)
|
||||
new /obj/item/grenade/syndieminibomb/concussion/frag(src)
|
||||
new /obj/item/grenade/syndieminibomb/concussion/frag(src)
|
||||
new /obj/item/grenade/syndieminibomb/concussion/frag(src)
|
||||
new /obj/item/grenade/syndieminibomb/concussion/frag(src)
|
||||
new /obj/item/grenade/gluon(src)
|
||||
new /obj/item/grenade/gluon(src)
|
||||
new /obj/item/grenade/gluon(src)
|
||||
new /obj/item/grenade/gluon(src)
|
||||
new /obj/item/grenade/chem_grenade/incendiary(src)
|
||||
new /obj/item/grenade/chem_grenade/incendiary(src)
|
||||
new /obj/item/grenade/chem_grenade/facid(src)
|
||||
new /obj/item/grenade/syndieminibomb(src)
|
||||
new /obj/item/grenade/syndieminibomb(src)
|
||||
new /obj/item/screwdriver(src)
|
||||
new /obj/item/device/multitool(src)
|
||||
|
||||
/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"
|
||||
item_state = "soulstonebelt"
|
||||
storage_slots = 6
|
||||
can_hold = list(
|
||||
/obj/item/weapon/gun/magic/wand
|
||||
/obj/item/gun/magic/wand
|
||||
)
|
||||
|
||||
/obj/item/weapon/storage/belt/wands/full/PopulateContents()
|
||||
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)
|
||||
/obj/item/storage/belt/wands/full/PopulateContents()
|
||||
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
|
||||
|
||||
/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"
|
||||
@@ -377,17 +377,17 @@
|
||||
storage_slots = 6
|
||||
max_w_class = WEIGHT_CLASS_BULKY // Set to this so the light replacer can fit.
|
||||
can_hold = list(
|
||||
/obj/item/weapon/grenade/chem_grenade,
|
||||
/obj/item/grenade/chem_grenade,
|
||||
/obj/item/device/lightreplacer,
|
||||
/obj/item/device/flashlight,
|
||||
/obj/item/weapon/reagent_containers/spray,
|
||||
/obj/item/weapon/soap,
|
||||
/obj/item/weapon/holosign_creator,
|
||||
/obj/item/reagent_containers/spray,
|
||||
/obj/item/soap,
|
||||
/obj/item/holosign_creator,
|
||||
/obj/item/key/janitor,
|
||||
/obj/item/clothing/gloves
|
||||
)
|
||||
|
||||
/obj/item/weapon/storage/belt/bandolier
|
||||
/obj/item/storage/belt/bandolier
|
||||
name = "bandolier"
|
||||
desc = "A bandolier for holding shotgun ammunition."
|
||||
icon_state = "bandolier"
|
||||
@@ -398,7 +398,7 @@
|
||||
/obj/item/ammo_casing/shotgun
|
||||
)
|
||||
|
||||
/obj/item/weapon/storage/belt/holster
|
||||
/obj/item/storage/belt/holster
|
||||
name = "shoulder holster"
|
||||
desc = "A holster to carry a handgun and ammo. WARNING: Badasses only."
|
||||
icon_state = "holster"
|
||||
@@ -406,18 +406,18 @@
|
||||
storage_slots = 3
|
||||
max_w_class = WEIGHT_CLASS_NORMAL
|
||||
can_hold = list(
|
||||
/obj/item/weapon/gun/ballistic/automatic/pistol,
|
||||
/obj/item/weapon/gun/ballistic/revolver,
|
||||
/obj/item/gun/ballistic/automatic/pistol,
|
||||
/obj/item/gun/ballistic/revolver,
|
||||
/obj/item/ammo_box,
|
||||
)
|
||||
alternate_worn_layer = UNDER_SUIT_LAYER
|
||||
|
||||
/obj/item/weapon/storage/belt/holster/full/PopulateContents()
|
||||
new /obj/item/weapon/gun/ballistic/revolver/detective(src)
|
||||
/obj/item/storage/belt/holster/full/PopulateContents()
|
||||
new /obj/item/gun/ballistic/revolver/detective(src)
|
||||
new /obj/item/ammo_box/c38(src)
|
||||
new /obj/item/ammo_box/c38(src)
|
||||
|
||||
/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"
|
||||
@@ -425,57 +425,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/sabre
|
||||
/obj/item/storage/belt/sabre
|
||||
name = "sabre sheath"
|
||||
desc = "An ornate sheath designed to hold an officer's blade."
|
||||
icon_state = "sheath"
|
||||
@@ -485,15 +485,15 @@
|
||||
w_class = WEIGHT_CLASS_BULKY
|
||||
max_w_class = WEIGHT_CLASS_BULKY
|
||||
can_hold = list(
|
||||
/obj/item/weapon/melee/sabre
|
||||
/obj/item/melee/sabre
|
||||
)
|
||||
|
||||
/obj/item/weapon/storage/belt/sabre/examine(mob/user)
|
||||
/obj/item/storage/belt/sabre/examine(mob/user)
|
||||
..()
|
||||
if(contents.len)
|
||||
to_chat(user, "<span class='notice'>Alt-click it to quickly draw the blade.</span>")
|
||||
|
||||
/obj/item/weapon/storage/belt/sabre/AltClick(mob/user)
|
||||
/obj/item/storage/belt/sabre/AltClick(mob/user)
|
||||
if(!ishuman(user) || !user.canUseTopic(src, be_close=TRUE))
|
||||
return
|
||||
if(contents.len)
|
||||
@@ -505,7 +505,7 @@
|
||||
else
|
||||
to_chat(user, "[src] is empty.")
|
||||
|
||||
/obj/item/weapon/storage/belt/sabre/update_icon()
|
||||
/obj/item/storage/belt/sabre/update_icon()
|
||||
icon_state = "sheath"
|
||||
item_state = "sheath"
|
||||
if(contents.len)
|
||||
@@ -517,6 +517,6 @@
|
||||
..()
|
||||
|
||||
|
||||
/obj/item/weapon/storage/belt/sabre/PopulateContents()
|
||||
new /obj/item/weapon/melee/sabre(src)
|
||||
/obj/item/storage/belt/sabre/PopulateContents()
|
||||
new /obj/item/melee/sabre(src)
|
||||
update_icon()
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/obj/item/weapon/storage/book
|
||||
/obj/item/storage/book
|
||||
name = "hollowed book"
|
||||
desc = "I guess someone didn't like it."
|
||||
icon = 'icons/obj/library.dmi'
|
||||
@@ -10,14 +10,14 @@
|
||||
resistance_flags = FLAMMABLE
|
||||
var/title = "book"
|
||||
|
||||
/obj/item/weapon/storage/book/attack_self(mob/user)
|
||||
/obj/item/storage/book/attack_self(mob/user)
|
||||
to_chat(user, "<span class='notice'>The pages of [title] have been cut out!</span>")
|
||||
|
||||
GLOBAL_LIST_INIT(biblenames, list("Bible", "Quran", "Scrapbook", "Burning Bible", "Clown Bible", "Banana Bible", "Creeper Bible", "White Bible", "Holy Light", "The God Delusion", "Tome", "The King in Yellow", "Ithaqua", "Scientology", "Melted Bible", "Necronomicon"))
|
||||
GLOBAL_LIST_INIT(biblestates, list("bible", "koran", "scrapbook", "burning", "honk1", "honk2", "creeper", "white", "holylight", "atheist", "tome", "kingyellow", "ithaqua", "scientology", "melted", "necronomicon"))
|
||||
GLOBAL_LIST_INIT(bibleitemstates, list("bible", "koran", "scrapbook", "bible", "bible", "bible", "syringe_kit", "syringe_kit", "syringe_kit", "syringe_kit", "syringe_kit", "kingyellow", "ithaqua", "scientology", "melted", "necronomicon"))
|
||||
|
||||
/obj/item/weapon/storage/book/bible
|
||||
/obj/item/storage/book/bible
|
||||
name = "bible"
|
||||
desc = "Apply to head repeatedly."
|
||||
icon = 'icons/obj/storage.dmi'
|
||||
@@ -29,11 +29,11 @@ GLOBAL_LIST_INIT(bibleitemstates, list("bible", "koran", "scrapbook", "bible",
|
||||
var/deity_name = "Christ"
|
||||
force_string = "holy"
|
||||
|
||||
/obj/item/weapon/storage/book/bible/suicide_act(mob/user)
|
||||
/obj/item/storage/book/bible/suicide_act(mob/user)
|
||||
user.visible_message("<span class='suicide'>[user] is offering [user.p_them()]self to [deity_name]! It looks like [user.p_theyre()] trying to commit suicide!</span>")
|
||||
return (BRUTELOSS)
|
||||
|
||||
/obj/item/weapon/storage/book/bible/attack_self(mob/living/carbon/human/H)
|
||||
/obj/item/storage/book/bible/attack_self(mob/living/carbon/human/H)
|
||||
if(!istype(H))
|
||||
return
|
||||
// If H is the Chaplain, we can set the icon_state of the bible (but only once!)
|
||||
@@ -47,13 +47,13 @@ GLOBAL_LIST_INIT(bibleitemstates, list("bible", "koran", "scrapbook", "bible",
|
||||
dat += "</table></body></html>"
|
||||
H << browse(dat, "window=editicon;can_close=0;can_minimize=0;size=250x650")
|
||||
|
||||
/obj/item/weapon/storage/book/bible/Topic(href, href_list)
|
||||
/obj/item/storage/book/bible/Topic(href, href_list)
|
||||
if(!usr.canUseTopic(src))
|
||||
return
|
||||
if(href_list["seticon"] && SSreligion && !SSreligion.bible_icon_state)
|
||||
var/iconi = text2num(href_list["seticon"])
|
||||
var/biblename = GLOB.biblenames[iconi]
|
||||
var/obj/item/weapon/storage/book/bible/B = locate(href_list["src"])
|
||||
var/obj/item/storage/book/bible/B = locate(href_list["src"])
|
||||
B.icon_state = GLOB.biblestates[iconi]
|
||||
B.item_state = GLOB.bibleitemstates[iconi]
|
||||
|
||||
@@ -68,7 +68,7 @@ GLOBAL_LIST_INIT(bibleitemstates, list("bible", "koran", "scrapbook", "bible",
|
||||
SSblackbox.set_details("religion_book","[biblename]")
|
||||
usr << browse(null, "window=editicon")
|
||||
|
||||
/obj/item/weapon/storage/book/bible/proc/bless(mob/living/carbon/human/H, mob/living/user)
|
||||
/obj/item/storage/book/bible/proc/bless(mob/living/carbon/human/H, mob/living/user)
|
||||
for(var/X in H.bodyparts)
|
||||
var/obj/item/bodypart/BP = X
|
||||
if(BP.status == BODYPART_ROBOTIC)
|
||||
@@ -88,7 +88,7 @@ GLOBAL_LIST_INIT(bibleitemstates, list("bible", "koran", "scrapbook", "bible",
|
||||
playsound(src.loc, "punch", 25, 1, -1)
|
||||
return 1
|
||||
|
||||
/obj/item/weapon/storage/book/bible/attack(mob/living/M, mob/living/carbon/human/user, heal_mode = TRUE)
|
||||
/obj/item/storage/book/bible/attack(mob/living/M, mob/living/carbon/human/user, heal_mode = TRUE)
|
||||
|
||||
if (!user.IsAdvancedToolUser())
|
||||
to_chat(user, "<span class='warning'>You don't have the dexterity to do this!</span>")
|
||||
@@ -137,7 +137,7 @@ GLOBAL_LIST_INIT(bibleitemstates, list("bible", "koran", "scrapbook", "bible",
|
||||
M.visible_message("<span class='danger'>[user] smacks [M]'s lifeless corpse with [src].</span>")
|
||||
playsound(src.loc, "punch", 25, 1, -1)
|
||||
|
||||
/obj/item/weapon/storage/book/bible/afterattack(atom/A, mob/user, proximity)
|
||||
/obj/item/storage/book/bible/afterattack(atom/A, mob/user, proximity)
|
||||
if(!proximity)
|
||||
return
|
||||
if(isfloorturf(A))
|
||||
@@ -157,13 +157,13 @@ GLOBAL_LIST_INIT(bibleitemstates, list("bible", "koran", "scrapbook", "bible",
|
||||
A.reagents.del_reagent("unholywater")
|
||||
A.reagents.add_reagent("holywater",unholy2clean)
|
||||
|
||||
/obj/item/weapon/storage/book/bible/booze
|
||||
/obj/item/storage/book/bible/booze
|
||||
desc = "To be applied to the head repeatedly."
|
||||
|
||||
/obj/item/weapon/storage/book/bible/booze/PopulateContents()
|
||||
new /obj/item/weapon/reagent_containers/food/drinks/bottle/whiskey(src)
|
||||
/obj/item/storage/book/bible/booze/PopulateContents()
|
||||
new /obj/item/reagent_containers/food/drinks/bottle/whiskey(src)
|
||||
|
||||
/obj/item/weapon/storage/book/bible/syndicate
|
||||
/obj/item/storage/book/bible/syndicate
|
||||
icon_state ="ebook"
|
||||
deity_name = "The Syndicate"
|
||||
throw_speed = 2
|
||||
@@ -178,7 +178,7 @@ GLOBAL_LIST_INIT(bibleitemstates, list("bible", "koran", "scrapbook", "bible",
|
||||
|
||||
|
||||
|
||||
/obj/item/weapon/storage/book/bible/syndicate/attack_self(mob/living/carbon/human/H)
|
||||
/obj/item/storage/book/bible/syndicate/attack_self(mob/living/carbon/human/H)
|
||||
if (uses)
|
||||
H.mind.isholy = TRUE
|
||||
uses -= 1
|
||||
@@ -189,7 +189,7 @@ GLOBAL_LIST_INIT(bibleitemstates, list("bible", "koran", "scrapbook", "bible",
|
||||
var/ownername = H.real_name
|
||||
desc += "<span class='warning'>The name [ownername] is written in blood inside the cover.</span>"
|
||||
|
||||
/obj/item/weapon/storage/book/bible/syndicate/attack(mob/living/M, mob/living/carbon/human/user, heal_mode = TRUE)
|
||||
/obj/item/storage/book/bible/syndicate/attack(mob/living/M, mob/living/carbon/human/user, heal_mode = TRUE)
|
||||
if (user.a_intent == INTENT_HELP)
|
||||
return ..()
|
||||
else
|
||||
|
||||
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,22 +15,22 @@
|
||||
attack_verb = list("bashed", "battered", "bludgeoned", "thrashed", "whacked")
|
||||
resistance_flags = FLAMMABLE
|
||||
max_integrity = 150
|
||||
var/folder_path = /obj/item/weapon/folder //this is the path of the folder that gets spawned in New()
|
||||
var/folder_path = /obj/item/folder //this is the path of the folder that gets spawned in New()
|
||||
|
||||
/obj/item/weapon/storage/briefcase/PopulateContents()
|
||||
new /obj/item/weapon/pen(src)
|
||||
var/obj/item/weapon/folder/folder = new folder_path(src)
|
||||
/obj/item/storage/briefcase/PopulateContents()
|
||||
new /obj/item/pen(src)
|
||||
var/obj/item/folder/folder = new folder_path(src)
|
||||
for(var/i in 1 to 6)
|
||||
new /obj/item/weapon/paper(folder)
|
||||
new /obj/item/paper(folder)
|
||||
|
||||
/obj/item/weapon/storage/briefcase/lawyer
|
||||
folder_path = /obj/item/weapon/folder/blue
|
||||
/obj/item/storage/briefcase/lawyer
|
||||
folder_path = /obj/item/folder/blue
|
||||
|
||||
/obj/item/weapon/storage/briefcase/lawyer/PopulateContents()
|
||||
new /obj/item/weapon/stamp/law(src)
|
||||
/obj/item/storage/briefcase/lawyer/PopulateContents()
|
||||
new /obj/item/stamp/law(src)
|
||||
..()
|
||||
|
||||
/obj/item/weapon/storage/briefcase/sniperbundle
|
||||
/obj/item/storage/briefcase/sniperbundle
|
||||
name = "briefcase"
|
||||
desc = "It's label reads genuine hardened Captain leather, but suspiciously has no other tags or branding. Smells like L'Air du Temps."
|
||||
icon_state = "briefcase"
|
||||
@@ -46,12 +46,12 @@
|
||||
resistance_flags = FLAMMABLE
|
||||
max_integrity = 150
|
||||
|
||||
/obj/item/weapon/storage/briefcase/sniperbundle/PopulateContents()
|
||||
/obj/item/storage/briefcase/sniperbundle/PopulateContents()
|
||||
..() // in case you need any paperwork done after your rampage
|
||||
new /obj/item/weapon/gun/ballistic/automatic/sniper_rifle/syndicate(src)
|
||||
new /obj/item/gun/ballistic/automatic/sniper_rifle/syndicate(src)
|
||||
new /obj/item/clothing/neck/tie/red(src)
|
||||
new /obj/item/clothing/under/syndicate/sniper(src)
|
||||
new /obj/item/ammo_box/magazine/sniper_rounds/soporific(src)
|
||||
new /obj/item/ammo_box/magazine/sniper_rounds/haemorrhage(src)
|
||||
new /obj/item/weapon/suppressor/specialoffer(src)
|
||||
new /obj/item/suppressor/specialoffer(src)
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
//dakimakuras
|
||||
//////////////////////////////////
|
||||
|
||||
/obj/item/weapon/storage/daki
|
||||
/obj/item/storage/daki
|
||||
name = "dakimakura"
|
||||
desc = "A large pillow depicting a girl in a compromising position. Featuring as many dimensions as you."
|
||||
icon = 'icons/obj/daki.dmi'
|
||||
@@ -15,7 +15,7 @@
|
||||
var/cooldowntime = 20
|
||||
var/static/list/dakimakura_options = list("Callie","Casca","Chaika","Elisabeth","Foxy Grandpa","Haruko","Holo","Ian","Jolyne","Kurisu","Marie","Mugi","Nar'Sie","Patchouli","Plutia","Rei","Reisen","Naga","Squid","Squigly","Tomoko","Toriel","Umaru","Yaranaika","Yoko") //Kurisu is the ideal girl." - Me, Logos.
|
||||
|
||||
/obj/item/weapon/storage/daki/attack_self(mob/living/user)
|
||||
/obj/item/storage/daki/attack_self(mob/living/user)
|
||||
var/body_choice
|
||||
var/custom_name
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
* Cigar Case
|
||||
*/
|
||||
|
||||
/obj/item/weapon/storage/fancy
|
||||
/obj/item/storage/fancy
|
||||
icon = 'icons/obj/food/containers.dmi'
|
||||
icon_state = "donutbox6"
|
||||
name = "donut box"
|
||||
@@ -22,18 +22,18 @@
|
||||
var/spawn_type = null
|
||||
var/fancy_open = FALSE
|
||||
|
||||
/obj/item/weapon/storage/fancy/PopulateContents()
|
||||
/obj/item/storage/fancy/PopulateContents()
|
||||
for(var/i = 1 to storage_slots)
|
||||
new spawn_type(src)
|
||||
|
||||
/obj/item/weapon/storage/fancy/update_icon(itemremoved = 0)
|
||||
/obj/item/storage/fancy/update_icon(itemremoved = 0)
|
||||
if(fancy_open)
|
||||
var/total_contents = src.contents.len - itemremoved
|
||||
icon_state = "[icon_type]box[total_contents]"
|
||||
else
|
||||
icon_state = "[icon_type]box"
|
||||
|
||||
/obj/item/weapon/storage/fancy/examine(mob/user)
|
||||
/obj/item/storage/fancy/examine(mob/user)
|
||||
..()
|
||||
if(fancy_open)
|
||||
if(contents.len == 1)
|
||||
@@ -41,21 +41,21 @@
|
||||
else
|
||||
to_chat(user, "There are [contents.len <= 0 ? "no" : "[src.contents.len]"] [src.icon_type]s left.")
|
||||
|
||||
/obj/item/weapon/storage/fancy/attack_self(mob/user)
|
||||
/obj/item/storage/fancy/attack_self(mob/user)
|
||||
fancy_open = !fancy_open
|
||||
update_icon()
|
||||
|
||||
/obj/item/weapon/storage/fancy/content_can_dump(atom/dest_object, mob/user)
|
||||
/obj/item/storage/fancy/content_can_dump(atom/dest_object, mob/user)
|
||||
. = ..()
|
||||
if(.)
|
||||
fancy_open = TRUE
|
||||
update_icon()
|
||||
|
||||
/obj/item/weapon/storage/fancy/handle_item_insertion(obj/item/W, prevent_warning = 0, mob/user)
|
||||
/obj/item/storage/fancy/handle_item_insertion(obj/item/W, prevent_warning = 0, mob/user)
|
||||
fancy_open = TRUE
|
||||
return ..()
|
||||
|
||||
/obj/item/weapon/storage/fancy/remove_from_storage(obj/item/W, atom/new_location, burn = 0)
|
||||
/obj/item/storage/fancy/remove_from_storage(obj/item/W, atom/new_location, burn = 0)
|
||||
fancy_open = TRUE
|
||||
return ..()
|
||||
|
||||
@@ -63,21 +63,21 @@
|
||||
* Donut Box
|
||||
*/
|
||||
|
||||
/obj/item/weapon/storage/fancy/donut_box
|
||||
/obj/item/storage/fancy/donut_box
|
||||
icon = 'icons/obj/food/containers.dmi'
|
||||
icon_state = "donutbox6"
|
||||
icon_type = "donut"
|
||||
name = "donut box"
|
||||
storage_slots = 6
|
||||
can_hold = list(/obj/item/weapon/reagent_containers/food/snacks/donut)
|
||||
spawn_type = /obj/item/weapon/reagent_containers/food/snacks/donut
|
||||
can_hold = list(/obj/item/reagent_containers/food/snacks/donut)
|
||||
spawn_type = /obj/item/reagent_containers/food/snacks/donut
|
||||
fancy_open = TRUE
|
||||
|
||||
/*
|
||||
* Egg Box
|
||||
*/
|
||||
|
||||
/obj/item/weapon/storage/fancy/egg_box
|
||||
/obj/item/storage/fancy/egg_box
|
||||
icon = 'icons/obj/food/containers.dmi'
|
||||
icon_state = "eggbox"
|
||||
icon_type = "egg"
|
||||
@@ -85,14 +85,14 @@
|
||||
righthand_file = 'icons/mob/inhands/misc/food_righthand.dmi'
|
||||
name = "egg box"
|
||||
storage_slots = 12
|
||||
can_hold = list(/obj/item/weapon/reagent_containers/food/snacks/egg)
|
||||
spawn_type = /obj/item/weapon/reagent_containers/food/snacks/egg
|
||||
can_hold = list(/obj/item/reagent_containers/food/snacks/egg)
|
||||
spawn_type = /obj/item/reagent_containers/food/snacks/egg
|
||||
|
||||
/*
|
||||
* 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'
|
||||
@@ -105,13 +105,13 @@
|
||||
spawn_type = /obj/item/candle
|
||||
fancy_open = TRUE
|
||||
|
||||
/obj/item/weapon/storage/fancy/candle_box/attack_self(mob_user)
|
||||
/obj/item/storage/fancy/candle_box/attack_self(mob_user)
|
||||
return
|
||||
|
||||
////////////
|
||||
//CIG PACK//
|
||||
////////////
|
||||
/obj/item/weapon/storage/fancy/cigarettes
|
||||
/obj/item/storage/fancy/cigarettes
|
||||
name = "\improper Space Cigarettes packet"
|
||||
desc = "The most popular brand of cigarettes, sponsors of the Space Olympics."
|
||||
icon = 'icons/obj/cigarettes.dmi'
|
||||
@@ -121,19 +121,19 @@
|
||||
throwforce = 0
|
||||
slot_flags = SLOT_BELT
|
||||
storage_slots = 6
|
||||
can_hold = list(/obj/item/clothing/mask/cigarette, /obj/item/weapon/lighter)
|
||||
can_hold = list(/obj/item/clothing/mask/cigarette, /obj/item/lighter)
|
||||
icon_type = "cigarette"
|
||||
spawn_type = /obj/item/clothing/mask/cigarette/space_cigarette
|
||||
|
||||
/obj/item/weapon/storage/fancy/cigarettes/AltClick(mob/user)
|
||||
/obj/item/storage/fancy/cigarettes/AltClick(mob/user)
|
||||
if(user.get_active_held_item())
|
||||
return
|
||||
for(var/obj/item/weapon/lighter/lighter in src)
|
||||
for(var/obj/item/lighter/lighter in src)
|
||||
remove_from_storage(lighter, user.loc)
|
||||
user.put_in_active_hand(lighter)
|
||||
break
|
||||
|
||||
/obj/item/weapon/storage/fancy/cigarettes/update_icon()
|
||||
/obj/item/storage/fancy/cigarettes/update_icon()
|
||||
if(fancy_open || !contents.len)
|
||||
cut_overlays()
|
||||
if(!contents.len)
|
||||
@@ -145,9 +145,9 @@
|
||||
for(var/C in contents)
|
||||
var/mutable_appearance/inserted_overlay = mutable_appearance(icon)
|
||||
inserted_overlay.pixel_x = 1 * (i - 1)
|
||||
if(istype(C, /obj/item/weapon/lighter/greyscale))
|
||||
if(istype(C, /obj/item/lighter/greyscale))
|
||||
inserted_overlay.icon_state = "lighter_in"
|
||||
else if(istype(C, /obj/item/weapon/lighter))
|
||||
else if(istype(C, /obj/item/lighter))
|
||||
inserted_overlay.icon_state = "zippo_in"
|
||||
else
|
||||
inserted_overlay.icon_state = "cigarette"
|
||||
@@ -156,7 +156,7 @@
|
||||
else
|
||||
cut_overlays()
|
||||
|
||||
/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(!ismob(M))
|
||||
return
|
||||
var/obj/item/clothing/mask/cigarette/cig = locate(/obj/item/clothing/mask/cigarette) in contents
|
||||
@@ -172,55 +172,55 @@
|
||||
else
|
||||
to_chat(user, "<span class='notice'>There are no [icon_type]s left in the pack.</span>")
|
||||
|
||||
/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 = "dromedary"
|
||||
spawn_type = /obj/item/clothing/mask/cigarette/dromedary
|
||||
|
||||
/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 = "uplift"
|
||||
spawn_type = /obj/item/clothing/mask/cigarette/uplift
|
||||
|
||||
/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 = "robust"
|
||||
spawn_type = /obj/item/clothing/mask/cigarette/robust
|
||||
|
||||
/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 = "robustg"
|
||||
spawn_type = /obj/item/clothing/mask/cigarette/robustgold
|
||||
|
||||
/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 = "carp"
|
||||
spawn_type = /obj/item/clothing/mask/cigarette/carp
|
||||
|
||||
/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 = "syndie"
|
||||
spawn_type = /obj/item/clothing/mask/cigarette/syndicate
|
||||
|
||||
/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 = "midori"
|
||||
spawn_type = /obj/item/clothing/mask/cigarette/rollie
|
||||
|
||||
/obj/item/weapon/storage/fancy/cigarettes/cigpack_shadyjims
|
||||
/obj/item/storage/fancy/cigarettes/cigpack_shadyjims
|
||||
name = "\improper Shady Jim's Super Slims packet"
|
||||
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 = "shadyjim"
|
||||
spawn_type = /obj/item/clothing/mask/cigarette/shadyjims
|
||||
|
||||
/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
|
||||
@@ -228,10 +228,10 @@
|
||||
icon_state = "cig_paper_pack"
|
||||
storage_slots = 10
|
||||
icon_type = "rolling paper"
|
||||
can_hold = list(/obj/item/weapon/rollingpaper)
|
||||
spawn_type = /obj/item/weapon/rollingpaper
|
||||
can_hold = list(/obj/item/rollingpaper)
|
||||
spawn_type = /obj/item/rollingpaper
|
||||
|
||||
/obj/item/weapon/storage/fancy/rollingpapers/update_icon()
|
||||
/obj/item/storage/fancy/rollingpapers/update_icon()
|
||||
cut_overlays()
|
||||
if(!contents.len)
|
||||
add_overlay("[icon_state]_empty")
|
||||
@@ -240,7 +240,7 @@
|
||||
//CIGAR BOX//
|
||||
/////////////
|
||||
|
||||
/obj/item/weapon/storage/fancy/cigarettes/cigars
|
||||
/obj/item/storage/fancy/cigarettes/cigars
|
||||
name = "\improper premium cigar case"
|
||||
desc = "A case of premium cigars. Very expensive."
|
||||
icon = 'icons/obj/cigarettes.dmi'
|
||||
@@ -251,7 +251,7 @@
|
||||
icon_type = "premium cigar"
|
||||
spawn_type = /obj/item/clothing/mask/cigarette/cigar
|
||||
|
||||
/obj/item/weapon/storage/fancy/cigarettes/cigars/update_icon()
|
||||
/obj/item/storage/fancy/cigarettes/cigars/update_icon()
|
||||
cut_overlays()
|
||||
if(fancy_open)
|
||||
add_overlay("[icon_state]_open")
|
||||
@@ -262,12 +262,12 @@
|
||||
else
|
||||
icon_state = "cigarcase"
|
||||
|
||||
/obj/item/weapon/storage/fancy/cigarettes/cigars/cohiba
|
||||
/obj/item/storage/fancy/cigarettes/cigars/cohiba
|
||||
name = "\improper cohiba robusto cigar case"
|
||||
desc = "A case of imported Cohiba cigars, renowned for their strong flavor."
|
||||
spawn_type = /obj/item/clothing/mask/cigarette/cigar/cohiba
|
||||
|
||||
/obj/item/weapon/storage/fancy/cigarettes/cigars/havana
|
||||
/obj/item/storage/fancy/cigarettes/cigars/havana
|
||||
name = "\improper premium havanian cigar case"
|
||||
desc = "A case of classy Havanian cigars."
|
||||
spawn_type = /obj/item/clothing/mask/cigarette/cigar/havana
|
||||
|
||||
@@ -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"
|
||||
@@ -18,11 +18,11 @@
|
||||
throw_range = 7
|
||||
var/empty = 0
|
||||
|
||||
/obj/item/weapon/storage/firstaid/regular
|
||||
/obj/item/storage/firstaid/regular
|
||||
icon_state = "firstaid"
|
||||
desc = "A first aid kit with the ability to heal common types of injuries."
|
||||
|
||||
/obj/item/weapon/storage/firstaid/regular/PopulateContents()
|
||||
/obj/item/storage/firstaid/regular/PopulateContents()
|
||||
if(empty)
|
||||
return
|
||||
new /obj/item/stack/medical/gauze(src)
|
||||
@@ -30,15 +30,15 @@
|
||||
new /obj/item/stack/medical/bruise_pack(src)
|
||||
new /obj/item/stack/medical/ointment(src)
|
||||
new /obj/item/stack/medical/ointment(src)
|
||||
new /obj/item/weapon/reagent_containers/hypospray/medipen(src)
|
||||
new /obj/item/reagent_containers/hypospray/medipen(src)
|
||||
new /obj/item/device/healthanalyzer(src)
|
||||
|
||||
/obj/item/weapon/storage/firstaid/ancient
|
||||
/obj/item/storage/firstaid/ancient
|
||||
icon_state = "firstaid"
|
||||
desc = "A first aid kit with the ability to heal common types of injuries."
|
||||
|
||||
|
||||
/obj/item/weapon/storage/firstaid/ancient/PopulateContents()
|
||||
/obj/item/storage/firstaid/ancient/PopulateContents()
|
||||
if(empty)
|
||||
return
|
||||
new /obj/item/stack/medical/gauze(src)
|
||||
@@ -49,108 +49,108 @@
|
||||
new /obj/item/stack/medical/ointment(src)
|
||||
new /obj/item/stack/medical/ointment(src)
|
||||
|
||||
/obj/item/weapon/storage/firstaid/fire
|
||||
/obj/item/storage/firstaid/fire
|
||||
name = "burn treatment kit"
|
||||
desc = "A specialized medical kit for when the toxins lab <i>-spontaneously-</i> burns down."
|
||||
icon_state = "ointment"
|
||||
item_state = "firstaid-ointment"
|
||||
|
||||
/obj/item/weapon/storage/firstaid/fire/Initialize(mapload)
|
||||
/obj/item/storage/firstaid/fire/Initialize(mapload)
|
||||
..()
|
||||
icon_state = pick("ointment","firefirstaid")
|
||||
|
||||
/obj/item/weapon/storage/firstaid/fire/PopulateContents()
|
||||
/obj/item/storage/firstaid/fire/PopulateContents()
|
||||
if(empty)
|
||||
return
|
||||
for(var/i in 1 to 3)
|
||||
new /obj/item/weapon/reagent_containers/pill/patch/silver_sulf(src)
|
||||
new /obj/item/weapon/reagent_containers/pill/oxandrolone(src)
|
||||
new /obj/item/weapon/reagent_containers/pill/oxandrolone(src)
|
||||
new /obj/item/weapon/reagent_containers/hypospray/medipen(src)
|
||||
new /obj/item/reagent_containers/pill/patch/silver_sulf(src)
|
||||
new /obj/item/reagent_containers/pill/oxandrolone(src)
|
||||
new /obj/item/reagent_containers/pill/oxandrolone(src)
|
||||
new /obj/item/reagent_containers/hypospray/medipen(src)
|
||||
new /obj/item/device/healthanalyzer(src)
|
||||
|
||||
/obj/item/weapon/storage/firstaid/toxin
|
||||
/obj/item/storage/firstaid/toxin
|
||||
name = "toxin treatment kit"
|
||||
desc = "Used to treat toxic blood content and radiation poisoning."
|
||||
icon_state = "antitoxin"
|
||||
item_state = "firstaid-toxin"
|
||||
|
||||
/obj/item/weapon/storage/firstaid/toxin/Initialize(mapload)
|
||||
/obj/item/storage/firstaid/toxin/Initialize(mapload)
|
||||
. = ..()
|
||||
icon_state = pick("antitoxin","antitoxfirstaid","antitoxfirstaid2","antitoxfirstaid3")
|
||||
|
||||
/obj/item/weapon/storage/firstaid/toxin/PopulateContents()
|
||||
/obj/item/storage/firstaid/toxin/PopulateContents()
|
||||
if(empty)
|
||||
return
|
||||
for(var/i in 1 to 4)
|
||||
new /obj/item/weapon/reagent_containers/syringe/charcoal(src)
|
||||
new /obj/item/reagent_containers/syringe/charcoal(src)
|
||||
for(var/i in 1 to 2)
|
||||
new /obj/item/weapon/storage/pill_bottle/charcoal(src)
|
||||
new /obj/item/storage/pill_bottle/charcoal(src)
|
||||
new /obj/item/device/healthanalyzer(src)
|
||||
|
||||
/obj/item/weapon/storage/firstaid/o2
|
||||
/obj/item/storage/firstaid/o2
|
||||
name = "oxygen deprivation treatment kit"
|
||||
desc = "A box full of oxygen goodies."
|
||||
icon_state = "o2"
|
||||
item_state = "firstaid-o2"
|
||||
|
||||
/obj/item/weapon/storage/firstaid/o2/PopulateContents()
|
||||
/obj/item/storage/firstaid/o2/PopulateContents()
|
||||
if(empty)
|
||||
return
|
||||
for(var/i in 1 to 4)
|
||||
new /obj/item/weapon/reagent_containers/pill/salbutamol(src)
|
||||
new /obj/item/weapon/reagent_containers/hypospray/medipen(src)
|
||||
new /obj/item/weapon/reagent_containers/hypospray/medipen(src)
|
||||
new /obj/item/reagent_containers/pill/salbutamol(src)
|
||||
new /obj/item/reagent_containers/hypospray/medipen(src)
|
||||
new /obj/item/reagent_containers/hypospray/medipen(src)
|
||||
new /obj/item/device/healthanalyzer(src)
|
||||
|
||||
/obj/item/weapon/storage/firstaid/brute
|
||||
/obj/item/storage/firstaid/brute
|
||||
name = "brute trauma treatment kit"
|
||||
desc = "A first aid kit for when you get toolboxed."
|
||||
icon_state = "brute"
|
||||
item_state = "firstaid-brute"
|
||||
|
||||
/obj/item/weapon/storage/firstaid/brute/PopulateContents()
|
||||
/obj/item/storage/firstaid/brute/PopulateContents()
|
||||
if(empty)
|
||||
return
|
||||
for(var/i in 1 to 4)
|
||||
new /obj/item/weapon/reagent_containers/pill/patch/styptic(src)
|
||||
new /obj/item/reagent_containers/pill/patch/styptic(src)
|
||||
new /obj/item/stack/medical/gauze(src)
|
||||
new /obj/item/stack/medical/gauze(src)
|
||||
new /obj/item/device/healthanalyzer(src)
|
||||
|
||||
/obj/item/weapon/storage/firstaid/tactical
|
||||
/obj/item/storage/firstaid/tactical
|
||||
name = "combat medical kit"
|
||||
desc = "I hope you've got insurance."
|
||||
icon_state = "bezerk"
|
||||
max_w_class = WEIGHT_CLASS_NORMAL
|
||||
|
||||
/obj/item/weapon/storage/firstaid/tactical/PopulateContents()
|
||||
/obj/item/storage/firstaid/tactical/PopulateContents()
|
||||
if(empty)
|
||||
return
|
||||
new /obj/item/stack/medical/gauze(src)
|
||||
new /obj/item/weapon/defibrillator/compact/combat/loaded(src)
|
||||
new /obj/item/weapon/reagent_containers/hypospray/combat(src)
|
||||
new /obj/item/weapon/reagent_containers/pill/patch/styptic(src)
|
||||
new /obj/item/weapon/reagent_containers/pill/patch/silver_sulf(src)
|
||||
new /obj/item/weapon/reagent_containers/syringe/lethal/choral(src)
|
||||
new /obj/item/defibrillator/compact/combat/loaded(src)
|
||||
new /obj/item/reagent_containers/hypospray/combat(src)
|
||||
new /obj/item/reagent_containers/pill/patch/styptic(src)
|
||||
new /obj/item/reagent_containers/pill/patch/silver_sulf(src)
|
||||
new /obj/item/reagent_containers/syringe/lethal/choral(src)
|
||||
new /obj/item/clothing/glasses/hud/health/night(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/pill, /obj/item/weapon/dice)
|
||||
can_hold = list(/obj/item/reagent_containers/pill, /obj/item/dice)
|
||||
allow_quick_gather = 1
|
||||
use_to_pickup = 1
|
||||
|
||||
/obj/item/weapon/storage/pill_bottle/MouseDrop(obj/over_object) //Quick pillbottle fix. -Agouri
|
||||
/obj/item/storage/pill_bottle/MouseDrop(obj/over_object) //Quick pillbottle fix. -Agouri
|
||||
|
||||
if(ishuman(usr) || ismonkey(usr)) //Can monkeys even place items in the pocket slots? Leaving this in just in case~
|
||||
var/mob/M = usr
|
||||
@@ -165,51 +165,51 @@
|
||||
usr.s_active.close(usr)
|
||||
src.show_to(usr)
|
||||
|
||||
/obj/item/weapon/storage/pill_bottle/charcoal
|
||||
/obj/item/storage/pill_bottle/charcoal
|
||||
name = "bottle of charcoal pills"
|
||||
desc = "Contains pills used to counter toxins."
|
||||
|
||||
/obj/item/weapon/storage/pill_bottle/charcoal/PopulateContents()
|
||||
/obj/item/storage/pill_bottle/charcoal/PopulateContents()
|
||||
for(var/i in 1 to 7)
|
||||
new /obj/item/weapon/reagent_containers/pill/charcoal(src)
|
||||
new /obj/item/reagent_containers/pill/charcoal(src)
|
||||
|
||||
/obj/item/weapon/storage/pill_bottle/epinephrine
|
||||
/obj/item/storage/pill_bottle/epinephrine
|
||||
name = "bottle of epinephrine pills"
|
||||
desc = "Contains pills used to stabilize patients."
|
||||
|
||||
/obj/item/weapon/storage/pill_bottle/epinephrine/PopulateContents()
|
||||
/obj/item/storage/pill_bottle/epinephrine/PopulateContents()
|
||||
for(var/i in 1 to 7)
|
||||
new /obj/item/weapon/reagent_containers/pill/epinephrine(src)
|
||||
new /obj/item/reagent_containers/pill/epinephrine(src)
|
||||
|
||||
/obj/item/weapon/storage/pill_bottle/mutadone
|
||||
/obj/item/storage/pill_bottle/mutadone
|
||||
name = "bottle of mutadone pills"
|
||||
desc = "Contains pills used to treat genetic abnormalities."
|
||||
|
||||
/obj/item/weapon/storage/pill_bottle/mutadone/PopulateContents()
|
||||
/obj/item/storage/pill_bottle/mutadone/PopulateContents()
|
||||
for(var/i in 1 to 7)
|
||||
new /obj/item/weapon/reagent_containers/pill/mutadone(src)
|
||||
new /obj/item/reagent_containers/pill/mutadone(src)
|
||||
|
||||
/obj/item/weapon/storage/pill_bottle/mannitol
|
||||
/obj/item/storage/pill_bottle/mannitol
|
||||
name = "bottle of mannitol pills"
|
||||
desc = "Contains pills used to treat brain damage."
|
||||
|
||||
/obj/item/weapon/storage/pill_bottle/mannitol/PopulateContents()
|
||||
/obj/item/storage/pill_bottle/mannitol/PopulateContents()
|
||||
for(var/i in 1 to 7)
|
||||
new /obj/item/weapon/reagent_containers/pill/mannitol(src)
|
||||
new /obj/item/reagent_containers/pill/mannitol(src)
|
||||
|
||||
/obj/item/weapon/storage/pill_bottle/stimulant
|
||||
/obj/item/storage/pill_bottle/stimulant
|
||||
name = "bottle of stimulant pills"
|
||||
desc = "Guaranteed to give you that extra burst of energy during a long shift!"
|
||||
|
||||
/obj/item/weapon/storage/pill_bottle/stimulant/PopulateContents()
|
||||
/obj/item/storage/pill_bottle/stimulant/PopulateContents()
|
||||
for(var/i in 1 to 5)
|
||||
new /obj/item/weapon/reagent_containers/pill/stimulant(src)
|
||||
new /obj/item/reagent_containers/pill/stimulant(src)
|
||||
|
||||
/obj/item/weapon/storage/pill_bottle/mining
|
||||
/obj/item/storage/pill_bottle/mining
|
||||
name = "bottle of patches"
|
||||
desc = "Contains patches used to treat brute and burn damage."
|
||||
|
||||
/obj/item/weapon/storage/pill_bottle/mining/PopulateContents()
|
||||
new /obj/item/weapon/reagent_containers/pill/patch/silver_sulf(src)
|
||||
/obj/item/storage/pill_bottle/mining/PopulateContents()
|
||||
new /obj/item/reagent_containers/pill/patch/silver_sulf(src)
|
||||
for(var/i in 1 to 3)
|
||||
new /obj/item/weapon/reagent_containers/pill/patch/styptic(src)
|
||||
new /obj/item/reagent_containers/pill/patch/styptic(src)
|
||||
|
||||
@@ -1,27 +1,27 @@
|
||||
/obj/item/weapon/storage/internal
|
||||
/obj/item/storage/internal
|
||||
storage_slots = 2
|
||||
max_w_class = WEIGHT_CLASS_SMALL
|
||||
max_combined_w_class = 50 // Limited by slots, not combined weight class
|
||||
w_class = WEIGHT_CLASS_BULKY
|
||||
rustle_jimmies = FALSE
|
||||
|
||||
/obj/item/weapon/storage/internal/Adjacent(A)
|
||||
/obj/item/storage/internal/Adjacent(A)
|
||||
if(loc)
|
||||
return loc.Adjacent(A)
|
||||
|
||||
/obj/item/weapon/storage/internal/pocket
|
||||
/obj/item/storage/internal/pocket
|
||||
var/priority = TRUE
|
||||
// TRUE if opens when clicked, like a backpack.
|
||||
// FALSE if opens only when dragged on mob's icon (hidden pocket)
|
||||
var/quickdraw = FALSE
|
||||
// TRUE if you can quickdraw items from it with alt-click.
|
||||
|
||||
/obj/item/weapon/storage/internal/pocket/New()
|
||||
/obj/item/storage/internal/pocket/New()
|
||||
..()
|
||||
if(loc)
|
||||
name = loc.name
|
||||
|
||||
/obj/item/weapon/storage/internal/pocket/handle_item_insertion(obj/item/W, prevent_warning = 0, mob/user)
|
||||
/obj/item/storage/internal/pocket/handle_item_insertion(obj/item/W, prevent_warning = 0, mob/user)
|
||||
. = ..()
|
||||
if(. && silent && !prevent_warning)
|
||||
if(quickdraw)
|
||||
@@ -29,24 +29,24 @@
|
||||
else
|
||||
to_chat(user, "<span class='notice'>You discreetly slip [W] into [src].")
|
||||
|
||||
/obj/item/weapon/storage/internal/pocket/big
|
||||
/obj/item/storage/internal/pocket/big
|
||||
max_w_class = WEIGHT_CLASS_NORMAL
|
||||
|
||||
/obj/item/weapon/storage/internal/pocket/small
|
||||
/obj/item/storage/internal/pocket/small
|
||||
storage_slots = 1
|
||||
priority = FALSE
|
||||
|
||||
/obj/item/weapon/storage/internal/pocket/tiny
|
||||
/obj/item/storage/internal/pocket/tiny
|
||||
storage_slots = 1
|
||||
max_w_class = WEIGHT_CLASS_TINY
|
||||
priority = FALSE
|
||||
|
||||
/obj/item/weapon/storage/internal/pocket/shoes
|
||||
/obj/item/storage/internal/pocket/shoes
|
||||
can_hold = list(
|
||||
/obj/item/weapon/kitchen/knife, /obj/item/weapon/switchblade, /obj/item/weapon/pen,
|
||||
/obj/item/weapon/scalpel, /obj/item/weapon/reagent_containers/syringe, /obj/item/weapon/dnainjector,
|
||||
/obj/item/weapon/reagent_containers/hypospray/medipen, /obj/item/weapon/reagent_containers/dropper,
|
||||
/obj/item/weapon/implanter, /obj/item/weapon/screwdriver, /obj/item/weapon/weldingtool/mini,
|
||||
/obj/item/kitchen/knife, /obj/item/switchblade, /obj/item/pen,
|
||||
/obj/item/scalpel, /obj/item/reagent_containers/syringe, /obj/item/dnainjector,
|
||||
/obj/item/reagent_containers/hypospray/medipen, /obj/item/reagent_containers/dropper,
|
||||
/obj/item/implanter, /obj/item/screwdriver, /obj/item/weldingtool/mini,
|
||||
/obj/item/device/firing_pin
|
||||
)
|
||||
//can hold both regular pens and energy daggers. made for your every-day tactical curators/murderers.
|
||||
@@ -55,35 +55,35 @@
|
||||
silent = TRUE
|
||||
|
||||
|
||||
/obj/item/weapon/storage/internal/pocket/shoes/clown
|
||||
/obj/item/storage/internal/pocket/shoes/clown
|
||||
can_hold = list(
|
||||
/obj/item/weapon/kitchen/knife, /obj/item/weapon/switchblade, /obj/item/weapon/pen,
|
||||
/obj/item/weapon/scalpel, /obj/item/weapon/reagent_containers/syringe, /obj/item/weapon/dnainjector,
|
||||
/obj/item/weapon/reagent_containers/hypospray/medipen, /obj/item/weapon/reagent_containers/dropper,
|
||||
/obj/item/weapon/implanter, /obj/item/weapon/screwdriver, /obj/item/weapon/weldingtool/mini,
|
||||
/obj/item/device/firing_pin, /obj/item/weapon/bikehorn)
|
||||
/obj/item/kitchen/knife, /obj/item/switchblade, /obj/item/pen,
|
||||
/obj/item/scalpel, /obj/item/reagent_containers/syringe, /obj/item/dnainjector,
|
||||
/obj/item/reagent_containers/hypospray/medipen, /obj/item/reagent_containers/dropper,
|
||||
/obj/item/implanter, /obj/item/screwdriver, /obj/item/weldingtool/mini,
|
||||
/obj/item/device/firing_pin, /obj/item/bikehorn)
|
||||
|
||||
/obj/item/weapon/storage/internal/pocket/small/detective
|
||||
/obj/item/storage/internal/pocket/small/detective
|
||||
priority = TRUE // so the detectives would discover pockets in their hats
|
||||
|
||||
/obj/item/weapon/storage/internal/pocket/small/detective/PopulateContents()
|
||||
new /obj/item/weapon/reagent_containers/food/drinks/flask/det(src)
|
||||
/obj/item/storage/internal/pocket/small/detective/PopulateContents()
|
||||
new /obj/item/reagent_containers/food/drinks/flask/det(src)
|
||||
|
||||
/obj/item/weapon/storage/internal/pocket/pocketprotector
|
||||
/obj/item/storage/internal/pocket/pocketprotector
|
||||
storage_slots = 3
|
||||
max_w_class = WEIGHT_CLASS_TINY
|
||||
can_hold = list( //Same items as a PDA
|
||||
/obj/item/weapon/pen,
|
||||
/obj/item/pen,
|
||||
/obj/item/toy/crayon,
|
||||
/obj/item/weapon/lipstick,
|
||||
/obj/item/lipstick,
|
||||
/obj/item/device/flashlight/pen,
|
||||
/obj/item/clothing/mask/cigarette)
|
||||
|
||||
/obj/item/weapon/storage/internal/pocket/pocketprotector/cosmetology/PopulateContents()
|
||||
/obj/item/storage/internal/pocket/pocketprotector/cosmetology/PopulateContents()
|
||||
for(var/i in 1 to 3)
|
||||
new /obj/item/weapon/lipstick/random(src)
|
||||
new /obj/item/lipstick/random(src)
|
||||
|
||||
/obj/item/weapon/storage/internal/pocket/pocketprotector/full/PopulateContents()
|
||||
new /obj/item/weapon/pen/red(src)
|
||||
new /obj/item/weapon/pen(src)
|
||||
new /obj/item/weapon/pen/blue(src)
|
||||
/obj/item/storage/internal/pocket/pocketprotector/full/PopulateContents()
|
||||
new /obj/item/pen/red(src)
|
||||
new /obj/item/pen(src)
|
||||
new /obj/item/pen/blue(src)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/obj/item/weapon/storage/lockbox
|
||||
/obj/item/storage/lockbox
|
||||
name = "lockbox"
|
||||
desc = "A locked box."
|
||||
icon_state = "lockbox+l"
|
||||
@@ -18,7 +18,7 @@
|
||||
var/icon_broken = "lockbox+b"
|
||||
|
||||
|
||||
/obj/item/weapon/storage/lockbox/attackby(obj/item/weapon/W, mob/user, params)
|
||||
/obj/item/storage/lockbox/attackby(obj/item/W, mob/user, params)
|
||||
if(W.GetID())
|
||||
if(broken)
|
||||
to_chat(user, "<span class='danger'>It appears to be broken.</span>")
|
||||
@@ -42,14 +42,14 @@
|
||||
else
|
||||
to_chat(user, "<span class='danger'>It's locked!</span>")
|
||||
|
||||
/obj/item/weapon/storage/lockbox/MouseDrop(over_object, src_location, over_location)
|
||||
/obj/item/storage/lockbox/MouseDrop(over_object, src_location, over_location)
|
||||
if (locked)
|
||||
src.add_fingerprint(usr)
|
||||
to_chat(usr, "<span class='warning'>It's locked!</span>")
|
||||
return 0
|
||||
..()
|
||||
|
||||
/obj/item/weapon/storage/lockbox/emag_act(mob/user)
|
||||
/obj/item/storage/lockbox/emag_act(mob/user)
|
||||
if(!broken)
|
||||
broken = TRUE
|
||||
locked = FALSE
|
||||
@@ -59,7 +59,7 @@
|
||||
visible_message("<span class='warning'>\The [src] has been broken by [user] with an electromagnetic card!</span>")
|
||||
return
|
||||
|
||||
/obj/item/weapon/storage/lockbox/show_to(mob/user)
|
||||
/obj/item/storage/lockbox/show_to(mob/user)
|
||||
if(locked)
|
||||
to_chat(user, "<span class='warning'>It's locked!</span>")
|
||||
else
|
||||
@@ -67,46 +67,46 @@
|
||||
return
|
||||
|
||||
//Check the destination item type for contentto.
|
||||
/obj/item/weapon/storage/lockbox/storage_contents_dump_act(obj/item/weapon/storage/src_object, mob/user)
|
||||
/obj/item/storage/lockbox/storage_contents_dump_act(obj/item/storage/src_object, mob/user)
|
||||
if(locked)
|
||||
to_chat(user, "<span class='warning'>It's locked!</span>")
|
||||
return 0
|
||||
open = TRUE
|
||||
return ..()
|
||||
|
||||
/obj/item/weapon/storage/lockbox/can_be_inserted(obj/item/W, stop_messages = 0)
|
||||
/obj/item/storage/lockbox/can_be_inserted(obj/item/W, stop_messages = 0)
|
||||
if(locked)
|
||||
return 0
|
||||
return ..()
|
||||
|
||||
/obj/item/weapon/storage/lockbox/handle_item_insertion(obj/item/W, prevent_warning = 0, mob/user)
|
||||
/obj/item/storage/lockbox/handle_item_insertion(obj/item/W, prevent_warning = 0, mob/user)
|
||||
open = TRUE
|
||||
update_icon()
|
||||
return ..()
|
||||
/obj/item/weapon/storage/lockbox/remove_from_storage(obj/item/W, atom/new_location, burn = 0)
|
||||
/obj/item/storage/lockbox/remove_from_storage(obj/item/W, atom/new_location, burn = 0)
|
||||
open = TRUE
|
||||
update_icon()
|
||||
return ..()
|
||||
|
||||
/obj/item/weapon/storage/lockbox/loyalty
|
||||
/obj/item/storage/lockbox/loyalty
|
||||
name = "lockbox of mindshield implants"
|
||||
req_access = list(ACCESS_SECURITY)
|
||||
|
||||
/obj/item/weapon/storage/lockbox/loyalty/PopulateContents()
|
||||
/obj/item/storage/lockbox/loyalty/PopulateContents()
|
||||
for(var/i in 1 to 3)
|
||||
new /obj/item/weapon/implantcase/mindshield(src)
|
||||
new /obj/item/weapon/implanter/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 of clusterbangs"
|
||||
desc = "You have a bad feeling about opening this."
|
||||
req_access = list(ACCESS_SECURITY)
|
||||
|
||||
/obj/item/weapon/storage/lockbox/clusterbang/PopulateContents()
|
||||
new /obj/item/weapon/grenade/clusterbuster(src)
|
||||
/obj/item/storage/lockbox/clusterbang/PopulateContents()
|
||||
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"
|
||||
@@ -123,13 +123,13 @@
|
||||
icon_broken = "medalbox+b"
|
||||
can_hold = list(/obj/item/clothing/accessory/medal)
|
||||
|
||||
/obj/item/weapon/storage/lockbox/medal/AltClick()
|
||||
/obj/item/storage/lockbox/medal/AltClick()
|
||||
if(!locked)
|
||||
open = (open ? FALSE : TRUE)
|
||||
update_icon()
|
||||
..()
|
||||
|
||||
/obj/item/weapon/storage/lockbox/medal/PopulateContents()
|
||||
/obj/item/storage/lockbox/medal/PopulateContents()
|
||||
new /obj/item/clothing/accessory/medal/gold/captain(src)
|
||||
new /obj/item/clothing/accessory/medal/silver/valor(src)
|
||||
new /obj/item/clothing/accessory/medal/silver/valor(src)
|
||||
@@ -140,7 +140,7 @@
|
||||
for(var/i in 1 to 3)
|
||||
new /obj/item/clothing/accessory/medal/conduct(src)
|
||||
|
||||
/obj/item/weapon/storage/lockbox/medal/update_icon()
|
||||
/obj/item/storage/lockbox/medal/update_icon()
|
||||
cut_overlays()
|
||||
if(locked)
|
||||
icon_state = "medalbox+l"
|
||||
@@ -163,20 +163,20 @@
|
||||
medalicon.pixel_x += ((i-6)*3)
|
||||
add_overlay(medalicon)
|
||||
|
||||
/obj/item/weapon/storage/lockbox/medal/sec
|
||||
/obj/item/storage/lockbox/medal/sec
|
||||
name = "security medal box"
|
||||
desc = "A locked box used to store medals to be given to members of the security department."
|
||||
req_access = list(ACCESS_HOS)
|
||||
|
||||
/obj/item/weapon/storage/lockbox/medal/sec/PopulateContents()
|
||||
/obj/item/storage/lockbox/medal/sec/PopulateContents()
|
||||
for(var/i in 1 to 3)
|
||||
new /obj/item/clothing/accessory/medal/silver/security(src)
|
||||
|
||||
/obj/item/weapon/storage/lockbox/medal/sci
|
||||
/obj/item/storage/lockbox/medal/sci
|
||||
name = "science medal box"
|
||||
desc = "A locked box used to store medals to be given to members of the science department."
|
||||
req_access = list(ACCESS_RD)
|
||||
|
||||
/obj/item/weapon/storage/lockbox/medal/sci/PopulateContents()
|
||||
/obj/item/storage/lockbox/medal/sci/PopulateContents()
|
||||
for(var/i in 1 to 3)
|
||||
new /obj/item/clothing/accessory/medal/plasma/nobel_science(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"
|
||||
@@ -26,13 +26,13 @@
|
||||
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)
|
||||
..()
|
||||
to_chat(user, text("The service panel is [src.open ? "open" : "closed"]."))
|
||||
|
||||
/obj/item/weapon/storage/secure/attackby(obj/item/weapon/W, mob/user, params)
|
||||
/obj/item/storage/secure/attackby(obj/item/W, mob/user, params)
|
||||
if(locked)
|
||||
if (istype(W, /obj/item/weapon/screwdriver))
|
||||
if (istype(W, /obj/item/screwdriver))
|
||||
if (do_after(user, 20*W.toolspeed, target = src))
|
||||
src.open =! src.open
|
||||
user.show_message("<span class='notice'>You [open ? "open" : "close"] the service panel.</span>", 1)
|
||||
@@ -61,14 +61,14 @@
|
||||
// -> storage/attackby() what with handle insertion, etc
|
||||
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)
|
||||
src.add_fingerprint(usr)
|
||||
to_chat(usr, "<span class='warning'>It's locked!</span>")
|
||||
return 0
|
||||
..()
|
||||
|
||||
/obj/item/weapon/storage/secure/attack_self(mob/user)
|
||||
/obj/item/storage/secure/attack_self(mob/user)
|
||||
user.set_machine(src)
|
||||
var/dat = text("<TT><B>[]</B><BR>\n\nLock Status: []",src, (src.locked ? "LOCKED" : "UNLOCKED"))
|
||||
var/message = "Code"
|
||||
@@ -82,7 +82,7 @@
|
||||
dat += text("<HR>\n>[]<BR>\n<A href='?src=\ref[];type=1'>1</A>-<A href='?src=\ref[];type=2'>2</A>-<A href='?src=\ref[];type=3'>3</A><BR>\n<A href='?src=\ref[];type=4'>4</A>-<A href='?src=\ref[];type=5'>5</A>-<A href='?src=\ref[];type=6'>6</A><BR>\n<A href='?src=\ref[];type=7'>7</A>-<A href='?src=\ref[];type=8'>8</A>-<A href='?src=\ref[];type=9'>9</A><BR>\n<A href='?src=\ref[];type=R'>R</A>-<A href='?src=\ref[];type=0'>0</A>-<A href='?src=\ref[];type=E'>E</A><BR>\n</TT>", message, src, src, src, src, src, src, src, src, src, src, src, src)
|
||||
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.stat || usr.restrained()) || (get_dist(src, usr) > 1))
|
||||
return
|
||||
@@ -115,13 +115,13 @@
|
||||
return
|
||||
return
|
||||
|
||||
/obj/item/weapon/storage/secure/storage_contents_dump_act(obj/item/weapon/storage/src_object, mob/user)
|
||||
/obj/item/storage/secure/storage_contents_dump_act(obj/item/storage/src_object, mob/user)
|
||||
if(locked)
|
||||
to_chat(user, "<span class='warning'>It's locked!</span>")
|
||||
return 0
|
||||
return ..()
|
||||
|
||||
/obj/item/weapon/storage/secure/can_be_inserted(obj/item/W, stop_messages = 0)
|
||||
/obj/item/storage/secure/can_be_inserted(obj/item/W, stop_messages = 0)
|
||||
if(locked)
|
||||
return 0
|
||||
return ..()
|
||||
@@ -130,7 +130,7 @@
|
||||
// -----------------------------
|
||||
// Secure Briefcase
|
||||
// -----------------------------
|
||||
/obj/item/weapon/storage/secure/briefcase
|
||||
/obj/item/storage/secure/briefcase
|
||||
name = "secure briefcase"
|
||||
icon = 'icons/obj/storage.dmi'
|
||||
icon_state = "secure"
|
||||
@@ -147,11 +147,11 @@
|
||||
max_combined_w_class = 21
|
||||
attack_verb = list("bashed", "battered", "bludgeoned", "thrashed", "whacked")
|
||||
|
||||
/obj/item/weapon/storage/secure/briefcase/PopulateContents()
|
||||
new /obj/item/weapon/paper(src)
|
||||
new /obj/item/weapon/pen(src)
|
||||
/obj/item/storage/secure/briefcase/PopulateContents()
|
||||
new /obj/item/paper(src)
|
||||
new /obj/item/pen(src)
|
||||
|
||||
/obj/item/weapon/storage/secure/briefcase/attack_hand(mob/user)
|
||||
/obj/item/storage/secure/briefcase/attack_hand(mob/user)
|
||||
if ((src.loc == user) && (src.locked == 1))
|
||||
to_chat(usr, "<span class='warning'>[src] is locked and cannot be opened!</span>")
|
||||
add_fingerprint(user)
|
||||
@@ -159,10 +159,10 @@
|
||||
..()
|
||||
|
||||
//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/PopulateContents()
|
||||
/obj/item/storage/secure/briefcase/syndie/PopulateContents()
|
||||
..()
|
||||
for(var/i = 0, i < storage_slots - 2, i++)
|
||||
new /obj/item/stack/spacecash/c1000(src)
|
||||
@@ -172,7 +172,7 @@
|
||||
// Secure Safe
|
||||
// -----------------------------
|
||||
|
||||
/obj/item/weapon/storage/secure/safe
|
||||
/obj/item/storage/secure/safe
|
||||
name = "secure safe"
|
||||
icon = 'icons/obj/storage.dmi'
|
||||
icon_state = "safe"
|
||||
@@ -184,14 +184,14 @@
|
||||
max_w_class = 8
|
||||
anchored = TRUE
|
||||
density = FALSE
|
||||
cant_hold = list(/obj/item/weapon/storage/secure/briefcase)
|
||||
cant_hold = list(/obj/item/storage/secure/briefcase)
|
||||
|
||||
/obj/item/weapon/storage/secure/safe/PopulateContents()
|
||||
new /obj/item/weapon/paper(src)
|
||||
new /obj/item/weapon/pen(src)
|
||||
/obj/item/storage/secure/safe/PopulateContents()
|
||||
new /obj/item/paper(src)
|
||||
new /obj/item/pen(src)
|
||||
|
||||
/obj/item/weapon/storage/secure/safe/attack_hand(mob/user)
|
||||
/obj/item/storage/secure/safe/attack_hand(mob/user)
|
||||
return attack_self(user)
|
||||
|
||||
/obj/item/weapon/storage/secure/safe/HoS
|
||||
/obj/item/storage/secure/safe/HoS
|
||||
name = "head of security's safe"
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
// -- c0
|
||||
|
||||
|
||||
/obj/item/weapon/storage
|
||||
/obj/item/storage
|
||||
name = "storage"
|
||||
icon = 'icons/obj/storage.dmi'
|
||||
w_class = WEIGHT_CLASS_NORMAL
|
||||
@@ -27,7 +27,7 @@
|
||||
var/rustle_jimmies = TRUE //Play the rustle sound on insertion
|
||||
|
||||
|
||||
/obj/item/weapon/storage/MouseDrop(atom/over_object)
|
||||
/obj/item/storage/MouseDrop(atom/over_object)
|
||||
if(ismob(usr)) //all the check for item manipulation are in other places, you can safely open any storages as anything and its not buggy, i checked
|
||||
var/mob/M = usr
|
||||
|
||||
@@ -61,7 +61,7 @@
|
||||
add_fingerprint(usr)
|
||||
|
||||
|
||||
/obj/item/weapon/storage/MouseDrop_T(atom/movable/O, mob/user)
|
||||
/obj/item/storage/MouseDrop_T(atom/movable/O, mob/user)
|
||||
if(isitem(O))
|
||||
var/obj/item/I = O
|
||||
if(iscarbon(user) || isdrone(user))
|
||||
@@ -72,7 +72,7 @@
|
||||
|
||||
|
||||
//Check if this storage can dump the items
|
||||
/obj/item/weapon/storage/proc/content_can_dump(atom/dest_object, mob/user)
|
||||
/obj/item/storage/proc/content_can_dump(atom/dest_object, mob/user)
|
||||
if(Adjacent(user) && dest_object.Adjacent(user))
|
||||
if(dest_object.storage_contents_dump_act(src, user))
|
||||
playsound(loc, "rustle", 50, 1, -5)
|
||||
@@ -80,7 +80,7 @@
|
||||
return 0
|
||||
|
||||
//Object behaviour on storage dump
|
||||
/obj/item/weapon/storage/storage_contents_dump_act(obj/item/weapon/storage/src_object, mob/user)
|
||||
/obj/item/storage/storage_contents_dump_act(obj/item/storage/src_object, mob/user)
|
||||
var/list/things = src_object.contents.Copy()
|
||||
var/datum/progressbar/progress = new(user, things.len, src)
|
||||
while (do_after(user, 10, TRUE, src, FALSE, CALLBACK(src, .proc/handle_mass_item_insertion, things, src_object, user, progress)))
|
||||
@@ -93,7 +93,7 @@
|
||||
user.s_active.show_to(user)
|
||||
return 1
|
||||
|
||||
/obj/item/weapon/storage/proc/handle_mass_item_insertion(list/things, obj/item/weapon/storage/src_object, mob/user, datum/progressbar/progress)
|
||||
/obj/item/storage/proc/handle_mass_item_insertion(list/things, obj/item/storage/src_object, mob/user, datum/progressbar/progress)
|
||||
for(var/obj/item/I in things)
|
||||
things -= I
|
||||
if(I.loc != src_object)
|
||||
@@ -110,16 +110,16 @@
|
||||
progress.update(progress.goal - things.len)
|
||||
return FALSE
|
||||
|
||||
/obj/item/weapon/storage/proc/return_inv()
|
||||
/obj/item/storage/proc/return_inv()
|
||||
var/list/L = list()
|
||||
L += contents
|
||||
|
||||
for(var/obj/item/weapon/storage/S in src)
|
||||
for(var/obj/item/storage/S in src)
|
||||
L += S.return_inv()
|
||||
return L
|
||||
|
||||
|
||||
/obj/item/weapon/storage/proc/show_to(mob/user)
|
||||
/obj/item/storage/proc/show_to(mob/user)
|
||||
if(!user.client)
|
||||
return
|
||||
if(user.s_active != src && (user.stat == CONSCIOUS))
|
||||
@@ -135,11 +135,11 @@
|
||||
is_seeing |= user
|
||||
|
||||
|
||||
/obj/item/weapon/storage/throw_at(atom/target, range, speed, mob/thrower, spin=1, diagonals_first = 0, datum/callback/callback)
|
||||
/obj/item/storage/throw_at(atom/target, range, speed, mob/thrower, spin=1, diagonals_first = 0, datum/callback/callback)
|
||||
close_all()
|
||||
return ..()
|
||||
|
||||
/obj/item/weapon/storage/proc/hide_from(mob/user)
|
||||
/obj/item/storage/proc/hide_from(mob/user)
|
||||
if(!user.client)
|
||||
return
|
||||
user.client.screen -= boxes
|
||||
@@ -150,7 +150,7 @@
|
||||
is_seeing -= user
|
||||
|
||||
|
||||
/obj/item/weapon/storage/proc/can_see_contents()
|
||||
/obj/item/storage/proc/can_see_contents()
|
||||
var/list/cansee = list()
|
||||
for(var/mob/M in is_seeing)
|
||||
if(M.s_active == src && M.client)
|
||||
@@ -160,12 +160,12 @@
|
||||
return cansee
|
||||
|
||||
|
||||
/obj/item/weapon/storage/proc/close(mob/user)
|
||||
/obj/item/storage/proc/close(mob/user)
|
||||
hide_from(user)
|
||||
user.s_active = null
|
||||
|
||||
|
||||
/obj/item/weapon/storage/proc/close_all()
|
||||
/obj/item/storage/proc/close_all()
|
||||
for(var/mob/M in can_see_contents())
|
||||
close(M)
|
||||
. = 1 //returns 1 if any mobs actually got a close(M) call
|
||||
@@ -173,7 +173,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
|
||||
boxes.screen_loc = "[tx]:,[ty] to [mx],[my]"
|
||||
@@ -189,7 +189,7 @@
|
||||
|
||||
|
||||
//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(rows, cols, list/obj/item/display_contents)
|
||||
/obj/item/storage/proc/standard_orient_objs(rows, cols, list/obj/item/display_contents)
|
||||
var/cx = 4
|
||||
var/cy = 2+rows
|
||||
boxes.screen_loc = "4:16,2:16 to [4+cols]:16,[2+rows]:16"
|
||||
@@ -231,7 +231,7 @@
|
||||
|
||||
|
||||
//This proc determines 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)
|
||||
/obj/item/storage/proc/orient2hud(mob/user)
|
||||
var/adjusted_contents = contents.len
|
||||
|
||||
//Numbered contents display
|
||||
@@ -260,7 +260,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, stop_messages = 0, mob/user)
|
||||
/obj/item/storage/proc/can_be_inserted(obj/item/W, stop_messages = 0, mob/user)
|
||||
if(!istype(W) || (W.flags_1 & ABSTRACT_1))
|
||||
return //Not an item
|
||||
|
||||
@@ -296,8 +296,8 @@
|
||||
to_chat(usr, "<span class='warning'>[W] won't fit in [src], make some space!</span>")
|
||||
return 0
|
||||
|
||||
if(W.w_class >= 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 >= 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='warning'>[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.
|
||||
@@ -312,7 +312,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, prevent_warning = 0, mob/user)
|
||||
/obj/item/storage/proc/handle_item_insertion(obj/item/W, prevent_warning = 0, mob/user)
|
||||
if(!istype(W))
|
||||
return 0
|
||||
if(usr)
|
||||
@@ -356,12 +356,12 @@
|
||||
|
||||
|
||||
//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, atom/new_location)
|
||||
/obj/item/storage/proc/remove_from_storage(obj/item/W, atom/new_location)
|
||||
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 can_see_contents())
|
||||
@@ -386,7 +386,7 @@
|
||||
W.mouse_opacity = initial(W.mouse_opacity)
|
||||
return 1
|
||||
|
||||
/obj/item/weapon/storage/deconstruct(disassembled = TRUE)
|
||||
/obj/item/storage/deconstruct(disassembled = TRUE)
|
||||
var/drop_loc = loc
|
||||
if(ismob(loc))
|
||||
drop_loc = get_turf(src)
|
||||
@@ -395,10 +395,10 @@
|
||||
qdel(src)
|
||||
|
||||
//This proc is called when you want to place an item into the storage item.
|
||||
/obj/item/weapon/storage/attackby(obj/item/W, mob/user, params)
|
||||
/obj/item/storage/attackby(obj/item/W, mob/user, params)
|
||||
..()
|
||||
if(istype(W, /obj/item/weapon/hand_labeler))
|
||||
var/obj/item/weapon/hand_labeler/labeler = W
|
||||
if(istype(W, /obj/item/hand_labeler))
|
||||
var/obj/item/hand_labeler/labeler = W
|
||||
if(labeler.mode)
|
||||
return 0
|
||||
. = 1 //no afterattack
|
||||
@@ -413,7 +413,7 @@
|
||||
handle_item_insertion(W, 0 , user)
|
||||
|
||||
|
||||
/obj/item/weapon/storage/attack_hand(mob/user)
|
||||
/obj/item/storage/attack_hand(mob/user)
|
||||
if(user.s_active == src && loc == user) //if you're already looking inside the storage item
|
||||
user.s_active.close(user)
|
||||
close(user)
|
||||
@@ -445,10 +445,10 @@
|
||||
close(M)
|
||||
add_fingerprint(user)
|
||||
|
||||
/obj/item/weapon/storage/attack_paw(mob/user)
|
||||
/obj/item/storage/attack_paw(mob/user)
|
||||
return attack_hand(user)
|
||||
|
||||
/obj/item/weapon/storage/verb/toggle_gathering_mode()
|
||||
/obj/item/storage/verb/toggle_gathering_mode()
|
||||
set name = "Switch Gathering Method"
|
||||
set category = "Object"
|
||||
|
||||
@@ -465,7 +465,7 @@
|
||||
to_chat(usr, "[src] now picks up one item at a time.")
|
||||
|
||||
// Empty all the contents onto the current turf
|
||||
/obj/item/weapon/storage/verb/quick_empty()
|
||||
/obj/item/storage/verb/quick_empty()
|
||||
set name = "Empty Contents"
|
||||
set category = "Object"
|
||||
|
||||
@@ -478,7 +478,7 @@
|
||||
sleep(1)
|
||||
qdel(progress)
|
||||
|
||||
/obj/item/weapon/storage/proc/mass_remove_from_storage(atom/target, list/things, datum/progressbar/progress)
|
||||
/obj/item/storage/proc/mass_remove_from_storage(atom/target, list/things, datum/progressbar/progress)
|
||||
for(var/obj/item/I in things)
|
||||
things -= I
|
||||
if (I.loc != src)
|
||||
@@ -492,7 +492,7 @@
|
||||
return FALSE
|
||||
|
||||
// Empty all the contents onto the current turf, without checking the user's status.
|
||||
/obj/item/weapon/storage/proc/do_quick_empty()
|
||||
/obj/item/storage/proc/do_quick_empty()
|
||||
var/turf/T = get_turf(src)
|
||||
if(usr)
|
||||
hide_from(usr)
|
||||
@@ -500,21 +500,21 @@
|
||||
remove_from_storage(I, T)
|
||||
|
||||
|
||||
/obj/item/weapon/storage/Initialize(mapload)
|
||||
/obj/item/storage/Initialize(mapload)
|
||||
. = ..()
|
||||
|
||||
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
|
||||
|
||||
boxes = new /obj/screen/storage()
|
||||
boxes.name = "storage"
|
||||
@@ -533,7 +533,7 @@
|
||||
PopulateContents()
|
||||
|
||||
|
||||
/obj/item/weapon/storage/Destroy()
|
||||
/obj/item/storage/Destroy()
|
||||
for(var/obj/O in contents)
|
||||
O.mouse_opacity = initial(O.mouse_opacity)
|
||||
|
||||
@@ -543,29 +543,29 @@
|
||||
return ..()
|
||||
|
||||
|
||||
/obj/item/weapon/storage/emp_act(severity)
|
||||
/obj/item/storage/emp_act(severity)
|
||||
if(!isliving(loc))
|
||||
for(var/obj/O in contents)
|
||||
O.emp_act(severity)
|
||||
..()
|
||||
|
||||
|
||||
/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.get_active_held_item() == src)
|
||||
if(verbs.Find(/obj/item/weapon/storage/verb/quick_empty))
|
||||
if(verbs.Find(/obj/item/storage/verb/quick_empty))
|
||||
quick_empty()
|
||||
|
||||
/obj/item/weapon/storage/handle_atom_del(atom/A)
|
||||
/obj/item/storage/handle_atom_del(atom/A)
|
||||
if(A in contents)
|
||||
usr = null
|
||||
remove_from_storage(A, null)
|
||||
|
||||
/obj/item/weapon/storage/contents_explosion(severity, target)
|
||||
/obj/item/storage/contents_explosion(severity, target)
|
||||
for(var/atom/A in contents)
|
||||
A.ex_act(severity, target)
|
||||
CHECK_TICK
|
||||
|
||||
//Cyberboss says: "USE THIS TO FILL IT, NOT INITIALIZE OR NEW"
|
||||
|
||||
/obj/item/weapon/storage/proc/PopulateContents()
|
||||
/obj/item/storage/proc/PopulateContents()
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/obj/item/weapon/storage/toolbox
|
||||
/obj/item/storage/toolbox
|
||||
name = "toolbox"
|
||||
desc = "Danger. Very robust."
|
||||
icon_state = "red"
|
||||
@@ -18,7 +18,7 @@
|
||||
var/latches = "single_latch"
|
||||
var/has_latches = TRUE
|
||||
|
||||
/obj/item/weapon/storage/toolbox/Initialize()
|
||||
/obj/item/storage/toolbox/Initialize()
|
||||
..()
|
||||
if(has_latches)
|
||||
if(prob(10))
|
||||
@@ -27,26 +27,26 @@
|
||||
latches = "triple_latch"
|
||||
update_icon()
|
||||
|
||||
/obj/item/weapon/storage/toolbox/update_icon()
|
||||
/obj/item/storage/toolbox/update_icon()
|
||||
..()
|
||||
cut_overlays()
|
||||
if(has_latches)
|
||||
add_overlay(latches)
|
||||
|
||||
|
||||
/obj/item/weapon/storage/toolbox/suicide_act(mob/user)
|
||||
/obj/item/storage/toolbox/suicide_act(mob/user)
|
||||
user.visible_message("<span class='suicide'>[user] robusts [user.p_them()]self with [src]! It looks like [user.p_theyre()] trying to commit suicide!</span>")
|
||||
return (BRUTELOSS)
|
||||
|
||||
/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/PopulateContents()
|
||||
new /obj/item/weapon/crowbar/red(src)
|
||||
new /obj/item/weapon/weldingtool/mini(src)
|
||||
new /obj/item/weapon/extinguisher/mini(src)
|
||||
/obj/item/storage/toolbox/emergency/PopulateContents()
|
||||
new /obj/item/crowbar/red(src)
|
||||
new /obj/item/weldingtool/mini(src)
|
||||
new /obj/item/extinguisher/mini(src)
|
||||
switch(rand(1,3))
|
||||
if(1)
|
||||
new /obj/item/device/flashlight(src)
|
||||
@@ -56,40 +56,40 @@
|
||||
new /obj/item/device/flashlight/flare(src)
|
||||
new /obj/item/device/radio/off(src)
|
||||
|
||||
/obj/item/weapon/storage/toolbox/emergency/old
|
||||
/obj/item/storage/toolbox/emergency/old
|
||||
name = "rusty red toolbox"
|
||||
icon_state = "toolbox_red_old"
|
||||
has_latches = FALSE
|
||||
|
||||
/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/PopulateContents()
|
||||
new /obj/item/weapon/screwdriver(src)
|
||||
new /obj/item/weapon/wrench(src)
|
||||
new /obj/item/weapon/weldingtool(src)
|
||||
new /obj/item/weapon/crowbar(src)
|
||||
/obj/item/storage/toolbox/mechanical/PopulateContents()
|
||||
new /obj/item/screwdriver(src)
|
||||
new /obj/item/wrench(src)
|
||||
new /obj/item/weldingtool(src)
|
||||
new /obj/item/crowbar(src)
|
||||
new /obj/item/device/analyzer(src)
|
||||
new /obj/item/weapon/wirecutters(src)
|
||||
new /obj/item/wirecutters(src)
|
||||
|
||||
/obj/item/weapon/storage/toolbox/mechanical/old
|
||||
/obj/item/storage/toolbox/mechanical/old
|
||||
name = "rusty blue toolbox"
|
||||
icon_state = "toolbox_blue_old"
|
||||
has_latches = FALSE
|
||||
|
||||
/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/PopulateContents()
|
||||
/obj/item/storage/toolbox/electrical/PopulateContents()
|
||||
var/pickedcolor = pick("red","yellow","green","blue","pink","orange","cyan","white")
|
||||
new /obj/item/weapon/screwdriver(src)
|
||||
new /obj/item/weapon/wirecutters(src)
|
||||
new /obj/item/screwdriver(src)
|
||||
new /obj/item/wirecutters(src)
|
||||
new /obj/item/device/t_scanner(src)
|
||||
new /obj/item/weapon/crowbar(src)
|
||||
new /obj/item/crowbar(src)
|
||||
new /obj/item/stack/cable_coil(src,30,pickedcolor)
|
||||
new /obj/item/stack/cable_coil(src,30,pickedcolor)
|
||||
if(prob(5))
|
||||
@@ -97,7 +97,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"
|
||||
@@ -106,31 +106,31 @@
|
||||
force = 15
|
||||
throwforce = 18
|
||||
|
||||
/obj/item/weapon/storage/toolbox/syndicate/PopulateContents()
|
||||
new /obj/item/weapon/screwdriver/nuke(src)
|
||||
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")
|
||||
/obj/item/storage/toolbox/syndicate/PopulateContents()
|
||||
new /obj/item/screwdriver/nuke(src)
|
||||
new /obj/item/wrench(src)
|
||||
new /obj/item/weldingtool/largetank(src)
|
||||
new /obj/item/crowbar/red(src)
|
||||
new /obj/item/wirecutters(src, "red")
|
||||
new /obj/item/device/multitool(src)
|
||||
new /obj/item/clothing/gloves/combat(src)
|
||||
|
||||
/obj/item/weapon/storage/toolbox/drone
|
||||
/obj/item/storage/toolbox/drone
|
||||
name = "mechanical toolbox"
|
||||
icon_state = "blue"
|
||||
item_state = "toolbox_blue"
|
||||
|
||||
/obj/item/weapon/storage/toolbox/drone/PopulateContents()
|
||||
/obj/item/storage/toolbox/drone/PopulateContents()
|
||||
var/pickedcolor = pick("red","yellow","green","blue","pink","orange","cyan","white")
|
||||
new /obj/item/weapon/screwdriver(src)
|
||||
new /obj/item/weapon/wrench(src)
|
||||
new /obj/item/weapon/weldingtool(src)
|
||||
new /obj/item/weapon/crowbar(src)
|
||||
new /obj/item/screwdriver(src)
|
||||
new /obj/item/wrench(src)
|
||||
new /obj/item/weldingtool(src)
|
||||
new /obj/item/crowbar(src)
|
||||
new /obj/item/stack/cable_coil(src,30,pickedcolor)
|
||||
new /obj/item/weapon/wirecutters(src)
|
||||
new /obj/item/wirecutters(src)
|
||||
new /obj/item/device/multitool(src)
|
||||
|
||||
/obj/item/weapon/storage/toolbox/brass
|
||||
/obj/item/storage/toolbox/brass
|
||||
name = "brass box"
|
||||
desc = "A huge brass box with several indentations in its surface."
|
||||
icon_state = "brassbox"
|
||||
@@ -144,27 +144,27 @@
|
||||
attack_verb = list("robusted", "crushed", "smashed")
|
||||
var/fabricator_type = /obj/item/clockwork/replica_fabricator/scarab
|
||||
|
||||
/obj/item/weapon/storage/toolbox/brass/prefilled/PopulateContents()
|
||||
/obj/item/storage/toolbox/brass/prefilled/PopulateContents()
|
||||
new fabricator_type(src)
|
||||
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)
|
||||
|
||||
/obj/item/weapon/storage/toolbox/brass/prefilled/ratvar
|
||||
/obj/item/storage/toolbox/brass/prefilled/ratvar
|
||||
var/slab_type = /obj/item/clockwork/slab
|
||||
|
||||
/obj/item/weapon/storage/toolbox/brass/prefilled/ratvar/PopulateContents()
|
||||
/obj/item/storage/toolbox/brass/prefilled/ratvar/PopulateContents()
|
||||
..()
|
||||
new slab_type(src)
|
||||
|
||||
/obj/item/weapon/storage/toolbox/brass/prefilled/ratvar/admin
|
||||
/obj/item/storage/toolbox/brass/prefilled/ratvar/admin
|
||||
slab_type = /obj/item/clockwork/slab/debug
|
||||
fabricator_type = /obj/item/clockwork/replica_fabricator/scarab/debug
|
||||
|
||||
|
||||
/obj/item/weapon/storage/toolbox/artistic
|
||||
/obj/item/storage/toolbox/artistic
|
||||
name = "artistic toolbox"
|
||||
desc = "A toolbox painted bright green. Why anyone would store art supplies in a toolbox is beyond you, but it has plenty of extra space."
|
||||
icon_state = "green"
|
||||
@@ -173,9 +173,9 @@
|
||||
storage_slots = 10
|
||||
w_class = WEIGHT_CLASS_GIGANTIC //Holds more than a regular toolbox!
|
||||
|
||||
/obj/item/weapon/storage/toolbox/artistic/PopulateContents()
|
||||
new/obj/item/weapon/storage/crayons(src)
|
||||
new/obj/item/weapon/crowbar(src)
|
||||
/obj/item/storage/toolbox/artistic/PopulateContents()
|
||||
new/obj/item/storage/crayons(src)
|
||||
new/obj/item/crowbar(src)
|
||||
new/obj/item/stack/cable_coil/red(src)
|
||||
new/obj/item/stack/cable_coil/yellow(src)
|
||||
new/obj/item/stack/cable_coil/blue(src)
|
||||
|
||||
@@ -1,106 +1,106 @@
|
||||
/obj/item/weapon/storage/box/syndicate
|
||||
/obj/item/storage/box/syndicate
|
||||
|
||||
/obj/item/weapon/storage/box/syndicate/PopulateContents()
|
||||
/obj/item/storage/box/syndicate/PopulateContents()
|
||||
switch (pickweight(list("bloodyspai" = 3, "stealth" = 2, "bond" = 2, "screwed" = 2, "sabotage" = 3, "guns" = 2, "murder" = 2, "implant" = 1, "hacker" = 3, "darklord" = 1, "sniper" = 1, "metaops" = 1, "ninja" = 1)))
|
||||
if("bloodyspai") // 27 tc now this is more right
|
||||
new /obj/item/clothing/under/chameleon(src) // 2 tc since it's not the full set
|
||||
new /obj/item/clothing/mask/chameleon(src) // Goes with above
|
||||
new /obj/item/weapon/card/id/syndicate(src) // 2 tc
|
||||
new /obj/item/card/id/syndicate(src) // 2 tc
|
||||
new /obj/item/clothing/shoes/chameleon(src) // 2 tc
|
||||
new /obj/item/device/camera_bug(src) // 1 tc
|
||||
new /obj/item/device/multitool/ai_detect(src) // 1 tc
|
||||
new /obj/item/device/encryptionkey/syndicate(src) // 2 tc
|
||||
new /obj/item/weapon/reagent_containers/syringe/mulligan(src) // 4 tc
|
||||
new /obj/item/weapon/switchblade(src) //I'll count this as 2 tc
|
||||
new /obj/item/weapon/storage/fancy/cigarettes/cigpack_syndicate (src) // 2 tc this shit heals
|
||||
new /obj/item/reagent_containers/syringe/mulligan(src) // 4 tc
|
||||
new /obj/item/switchblade(src) //I'll count this as 2 tc
|
||||
new /obj/item/storage/fancy/cigarettes/cigpack_syndicate (src) // 2 tc this shit heals
|
||||
new /obj/item/device/flashlight/emp(src) // 2 tc
|
||||
new /obj/item/device/chameleon(src) // 7 tc
|
||||
|
||||
if("stealth") // 31 tc
|
||||
new /obj/item/weapon/gun/energy/kinetic_accelerator/crossbow(src)
|
||||
new /obj/item/weapon/pen/sleepy(src)
|
||||
new /obj/item/gun/energy/kinetic_accelerator/crossbow(src)
|
||||
new /obj/item/pen/sleepy(src)
|
||||
new /obj/item/device/healthanalyzer/rad_laser(src)
|
||||
new /obj/item/device/chameleon(src)
|
||||
new /obj/item/weapon/soap/syndie(src)
|
||||
new /obj/item/soap/syndie(src)
|
||||
new /obj/item/clothing/glasses/thermal/syndi(src)
|
||||
|
||||
if("bond") // 29 tc
|
||||
new /obj/item/weapon/gun/ballistic/automatic/pistol(src)
|
||||
new /obj/item/weapon/suppressor(src)
|
||||
new /obj/item/gun/ballistic/automatic/pistol(src)
|
||||
new /obj/item/suppressor(src)
|
||||
new /obj/item/ammo_box/magazine/m10mm(src)
|
||||
new /obj/item/ammo_box/magazine/m10mm(src)
|
||||
new /obj/item/clothing/under/chameleon(src)
|
||||
new /obj/item/weapon/card/id/syndicate(src)
|
||||
new /obj/item/weapon/reagent_containers/syringe/stimulants(src)
|
||||
new /obj/item/card/id/syndicate(src)
|
||||
new /obj/item/reagent_containers/syringe/stimulants(src)
|
||||
|
||||
if("screwed") // 29 tc
|
||||
new /obj/item/device/sbeacondrop/bomb(src)
|
||||
new /obj/item/weapon/grenade/syndieminibomb(src)
|
||||
new /obj/item/grenade/syndieminibomb(src)
|
||||
new /obj/item/device/sbeacondrop/powersink(src)
|
||||
new /obj/item/clothing/suit/space/syndicate/black/red(src)
|
||||
new /obj/item/clothing/head/helmet/space/syndicate/black/red(src)
|
||||
new /obj/item/device/encryptionkey/syndicate(src)
|
||||
|
||||
if("guns") // 28 tc now
|
||||
new /obj/item/weapon/gun/ballistic/revolver(src)
|
||||
new /obj/item/gun/ballistic/revolver(src)
|
||||
new /obj/item/ammo_box/a357(src)
|
||||
new /obj/item/ammo_box/a357(src)
|
||||
new /obj/item/weapon/card/emag(src)
|
||||
new /obj/item/weapon/grenade/plastic/c4(src)
|
||||
new /obj/item/card/emag(src)
|
||||
new /obj/item/grenade/plastic/c4(src)
|
||||
new /obj/item/clothing/gloves/color/latex/nitrile(src)
|
||||
new /obj/item/clothing/mask/gas/clown_hat(src)
|
||||
new /obj/item/clothing/under/suit_jacket/really_black(src)
|
||||
|
||||
if("murder") // 28 tc now
|
||||
new /obj/item/weapon/melee/transforming/energy/sword/saber(src)
|
||||
new /obj/item/melee/transforming/energy/sword/saber(src)
|
||||
new /obj/item/clothing/glasses/thermal/syndi(src)
|
||||
new /obj/item/weapon/card/emag(src)
|
||||
new /obj/item/card/emag(src)
|
||||
new /obj/item/clothing/shoes/chameleon(src)
|
||||
new /obj/item/device/encryptionkey/syndicate(src)
|
||||
new /obj/item/weapon/grenade/syndieminibomb(src)
|
||||
new /obj/item/grenade/syndieminibomb(src)
|
||||
|
||||
if("implant") // 55+ tc holy shit what the fuck this is a lottery disguised as fun boxes isn't it?
|
||||
new /obj/item/weapon/implanter/freedom(src)
|
||||
new /obj/item/weapon/implanter/uplink/precharged(src)
|
||||
new /obj/item/weapon/implanter/emp(src)
|
||||
new /obj/item/weapon/implanter/adrenalin(src)
|
||||
new /obj/item/weapon/implanter/explosive(src)
|
||||
new /obj/item/weapon/implanter/storage(src)
|
||||
new /obj/item/implanter/freedom(src)
|
||||
new /obj/item/implanter/uplink/precharged(src)
|
||||
new /obj/item/implanter/emp(src)
|
||||
new /obj/item/implanter/adrenalin(src)
|
||||
new /obj/item/implanter/explosive(src)
|
||||
new /obj/item/implanter/storage(src)
|
||||
|
||||
if("hacker") // 26 tc
|
||||
new /obj/item/weapon/aiModule/syndicate(src)
|
||||
new /obj/item/weapon/card/emag(src)
|
||||
new /obj/item/aiModule/syndicate(src)
|
||||
new /obj/item/card/emag(src)
|
||||
new /obj/item/device/encryptionkey/binary(src)
|
||||
new /obj/item/weapon/aiModule/toyAI(src)
|
||||
new /obj/item/aiModule/toyAI(src)
|
||||
new /obj/item/device/multitool/ai_detect(src)
|
||||
|
||||
if("lordsingulo") // 24 tc
|
||||
new /obj/item/device/sbeacondrop(src)
|
||||
new /obj/item/clothing/suit/space/syndicate/black/red(src)
|
||||
new /obj/item/clothing/head/helmet/space/syndicate/black/red(src)
|
||||
new /obj/item/weapon/card/emag(src)
|
||||
new /obj/item/card/emag(src)
|
||||
|
||||
if("sabotage") // 26 tc now
|
||||
new /obj/item/weapon/grenade/plastic/c4 (src)
|
||||
new /obj/item/weapon/grenade/plastic/c4 (src)
|
||||
new /obj/item/grenade/plastic/c4 (src)
|
||||
new /obj/item/grenade/plastic/c4 (src)
|
||||
new /obj/item/device/doorCharge(src)
|
||||
new /obj/item/device/doorCharge(src)
|
||||
new /obj/item/device/camera_bug(src)
|
||||
new /obj/item/device/sbeacondrop/powersink(src)
|
||||
new /obj/item/weapon/cartridge/virus/syndicate(src)
|
||||
new /obj/item/weapon/storage/toolbox/syndicate(src) //To actually get to those places
|
||||
new /obj/item/cartridge/virus/syndicate(src)
|
||||
new /obj/item/storage/toolbox/syndicate(src) //To actually get to those places
|
||||
new /obj/item/pizzabox/bomb
|
||||
|
||||
if("darklord") //20 tc + tk + summon item close enough for now
|
||||
new /obj/item/weapon/twohanded/dualsaber(src)
|
||||
new /obj/item/weapon/dnainjector/telemut/darkbundle(src)
|
||||
new /obj/item/twohanded/dualsaber(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)
|
||||
new /obj/item/clothing/shoes/chameleon(src) //because slipping while being a dark lord sucks
|
||||
new /obj/item/weapon/spellbook/oneuse/summonitem(src)
|
||||
new /obj/item/spellbook/oneuse/summonitem(src)
|
||||
|
||||
if("sniper") //This shit is unique so can't really balance it around tc, also no silencer because getting killed without ANY indicator on what killed you sucks
|
||||
new /obj/item/weapon/gun/ballistic/automatic/sniper_rifle(src) // 12 tc
|
||||
new /obj/item/gun/ballistic/automatic/sniper_rifle(src) // 12 tc
|
||||
new /obj/item/ammo_box/magazine/sniper_rounds/penetrator(src)
|
||||
new /obj/item/clothing/glasses/thermal/syndi(src)
|
||||
new /obj/item/clothing/gloves/color/latex/nitrile(src)
|
||||
@@ -109,158 +109,158 @@
|
||||
|
||||
if("metaops") // 30 tc
|
||||
new /obj/item/clothing/suit/space/hardsuit/syndi(src) // 8 tc
|
||||
new /obj/item/weapon/gun/ballistic/automatic/shotgun/bulldog/unrestricted(src) // 8 tc
|
||||
new /obj/item/weapon/implanter/explosive(src) // 2 tc
|
||||
new /obj/item/gun/ballistic/automatic/shotgun/bulldog/unrestricted(src) // 8 tc
|
||||
new /obj/item/implanter/explosive(src) // 2 tc
|
||||
new /obj/item/ammo_box/magazine/m12g/buckshot(src) // 2 tc
|
||||
new /obj/item/ammo_box/magazine/m12g/buckshot(src) // 2 tc
|
||||
new /obj/item/weapon/grenade/plastic/c4 (src) // 1 tc
|
||||
new /obj/item/weapon/grenade/plastic/c4 (src) // 1 tc
|
||||
new /obj/item/weapon/card/emag(src) // 6 tc
|
||||
new /obj/item/grenade/plastic/c4 (src) // 1 tc
|
||||
new /obj/item/grenade/plastic/c4 (src) // 1 tc
|
||||
new /obj/item/card/emag(src) // 6 tc
|
||||
|
||||
if("ninja") // 33 tc worth
|
||||
new /obj/item/weapon/katana(src) // Unique , hard to tell how much tc this is worth. 8 tc?
|
||||
new /obj/item/weapon/implanter/adrenalin(src) // 8 tc
|
||||
new /obj/item/weapon/throwing_star(src) // ~5 tc for all 6
|
||||
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/storage/belt/chameleon(src) // Unique but worth at least 2 tc
|
||||
new /obj/item/weapon/card/id/syndicate(src) // 2 tc
|
||||
new /obj/item/katana(src) // Unique , hard to tell how much tc this is worth. 8 tc?
|
||||
new /obj/item/implanter/adrenalin(src) // 8 tc
|
||||
new /obj/item/throwing_star(src) // ~5 tc for all 6
|
||||
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/storage/belt/chameleon(src) // Unique but worth at least 2 tc
|
||||
new /obj/item/card/id/syndicate(src) // 2 tc
|
||||
new /obj/item/device/chameleon(src) // 7 tc
|
||||
|
||||
/obj/item/weapon/storage/box/syndie_kit
|
||||
/obj/item/storage/box/syndie_kit
|
||||
name = "box"
|
||||
desc = "A sleek, sturdy box."
|
||||
icon_state = "syndiebox"
|
||||
illustration = "writing_syndie"
|
||||
|
||||
/obj/item/weapon/storage/box/syndie_kit/imp_freedom
|
||||
/obj/item/storage/box/syndie_kit/imp_freedom
|
||||
name = "boxed freedom implant (with injector)"
|
||||
|
||||
/obj/item/weapon/storage/box/syndie_kit/imp_freedom/PopulateContents()
|
||||
var/obj/item/weapon/implanter/O = new(src)
|
||||
O.imp = new /obj/item/weapon/implant/freedom(O)
|
||||
/obj/item/storage/box/syndie_kit/imp_freedom/PopulateContents()
|
||||
var/obj/item/implanter/O = new(src)
|
||||
O.imp = new /obj/item/implant/freedom(O)
|
||||
O.update_icon()
|
||||
|
||||
/obj/item/weapon/storage/box/syndie_kit/imp_microbomb
|
||||
/obj/item/storage/box/syndie_kit/imp_microbomb
|
||||
name = "Microbomb Implant (with injector)"
|
||||
|
||||
/obj/item/weapon/storage/box/syndie_kit/imp_microbomb/PopulateContents()
|
||||
var/obj/item/weapon/implanter/O = new(src)
|
||||
O.imp = new /obj/item/weapon/implant/explosive(O)
|
||||
/obj/item/storage/box/syndie_kit/imp_microbomb/PopulateContents()
|
||||
var/obj/item/implanter/O = new(src)
|
||||
O.imp = new /obj/item/implant/explosive(O)
|
||||
O.update_icon()
|
||||
|
||||
/obj/item/weapon/storage/box/syndie_kit/imp_macrobomb
|
||||
/obj/item/storage/box/syndie_kit/imp_macrobomb
|
||||
name = "Macrobomb Implant (with injector)"
|
||||
|
||||
/obj/item/weapon/storage/box/syndie_kit/imp_macrobomb/PopulateContents()
|
||||
var/obj/item/weapon/implanter/O = new(src)
|
||||
O.imp = new /obj/item/weapon/implant/explosive/macro(O)
|
||||
/obj/item/storage/box/syndie_kit/imp_macrobomb/PopulateContents()
|
||||
var/obj/item/implanter/O = new(src)
|
||||
O.imp = new /obj/item/implant/explosive/macro(O)
|
||||
O.update_icon()
|
||||
|
||||
/obj/item/weapon/storage/box/syndie_kit/imp_uplink
|
||||
/obj/item/storage/box/syndie_kit/imp_uplink
|
||||
name = "boxed uplink implant (with injector)"
|
||||
|
||||
/obj/item/weapon/storage/box/syndie_kit/imp_uplink/PopulateContents()
|
||||
/obj/item/storage/box/syndie_kit/imp_uplink/PopulateContents()
|
||||
..()
|
||||
var/obj/item/weapon/implanter/O = new(src)
|
||||
O.imp = new /obj/item/weapon/implant/uplink(O)
|
||||
var/obj/item/implanter/O = new(src)
|
||||
O.imp = new /obj/item/implant/uplink(O)
|
||||
O.update_icon()
|
||||
|
||||
/obj/item/weapon/storage/box/syndie_kit/bioterror
|
||||
/obj/item/storage/box/syndie_kit/bioterror
|
||||
name = "bioterror syringe box"
|
||||
|
||||
/obj/item/weapon/storage/box/syndie_kit/bioterror/PopulateContents()
|
||||
/obj/item/storage/box/syndie_kit/bioterror/PopulateContents()
|
||||
for(var/i in 1 to 7)
|
||||
new /obj/item/weapon/reagent_containers/syringe/bioterror(src)
|
||||
new /obj/item/reagent_containers/syringe/bioterror(src)
|
||||
|
||||
/obj/item/weapon/storage/box/syndie_kit/imp_adrenal
|
||||
/obj/item/storage/box/syndie_kit/imp_adrenal
|
||||
name = "boxed adrenal implant (with injector)"
|
||||
|
||||
/obj/item/weapon/storage/box/syndie_kit/imp_adrenal/PopulateContents()
|
||||
var/obj/item/weapon/implanter/O = new(src)
|
||||
O.imp = new /obj/item/weapon/implant/adrenalin(O)
|
||||
/obj/item/storage/box/syndie_kit/imp_adrenal/PopulateContents()
|
||||
var/obj/item/implanter/O = new(src)
|
||||
O.imp = new /obj/item/implant/adrenalin(O)
|
||||
O.update_icon()
|
||||
|
||||
/obj/item/weapon/storage/box/syndie_kit/imp_storage
|
||||
/obj/item/storage/box/syndie_kit/imp_storage
|
||||
name = "boxed storage implant (with injector)"
|
||||
|
||||
/obj/item/weapon/storage/box/syndie_kit/imp_storage/PopulateContents()
|
||||
new /obj/item/weapon/implanter/storage(src)
|
||||
/obj/item/storage/box/syndie_kit/imp_storage/PopulateContents()
|
||||
new /obj/item/implanter/storage(src)
|
||||
|
||||
/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, /obj/item/clothing/head/helmet/space/syndicate)
|
||||
max_w_class = WEIGHT_CLASS_NORMAL
|
||||
|
||||
/obj/item/weapon/storage/box/syndie_kit/space/PopulateContents()
|
||||
/obj/item/storage/box/syndie_kit/space/PopulateContents()
|
||||
new /obj/item/clothing/suit/space/syndicate/black/red(src) // Black and red is so in right now
|
||||
new /obj/item/clothing/head/helmet/space/syndicate/black/red(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/PopulateContents()
|
||||
new /obj/item/weapon/grenade/empgrenade(src)
|
||||
new /obj/item/weapon/grenade/empgrenade(src)
|
||||
new /obj/item/weapon/grenade/empgrenade(src)
|
||||
new /obj/item/weapon/grenade/empgrenade(src)
|
||||
new /obj/item/weapon/grenade/empgrenade(src)
|
||||
new /obj/item/weapon/implanter/emp(src)
|
||||
/obj/item/storage/box/syndie_kit/emp/PopulateContents()
|
||||
new /obj/item/grenade/empgrenade(src)
|
||||
new /obj/item/grenade/empgrenade(src)
|
||||
new /obj/item/grenade/empgrenade(src)
|
||||
new /obj/item/grenade/empgrenade(src)
|
||||
new /obj/item/grenade/empgrenade(src)
|
||||
new /obj/item/implanter/emp(src)
|
||||
|
||||
/obj/item/weapon/storage/box/syndie_kit/chemical
|
||||
/obj/item/storage/box/syndie_kit/chemical
|
||||
name = "boxed chemical kit"
|
||||
storage_slots = 14
|
||||
|
||||
/obj/item/weapon/storage/box/syndie_kit/chemical/PopulateContents()
|
||||
new /obj/item/weapon/reagent_containers/glass/bottle/polonium(src)
|
||||
new /obj/item/weapon/reagent_containers/glass/bottle/venom(src)
|
||||
new /obj/item/weapon/reagent_containers/glass/bottle/neurotoxin2(src)
|
||||
new /obj/item/weapon/reagent_containers/glass/bottle/formaldehyde(src)
|
||||
new /obj/item/weapon/reagent_containers/glass/bottle/spewium(src)
|
||||
new /obj/item/weapon/reagent_containers/glass/bottle/cyanide(src)
|
||||
new /obj/item/weapon/reagent_containers/glass/bottle/histamine(src)
|
||||
new /obj/item/weapon/reagent_containers/glass/bottle/initropidril(src)
|
||||
new /obj/item/weapon/reagent_containers/glass/bottle/pancuronium(src)
|
||||
new /obj/item/weapon/reagent_containers/glass/bottle/sodium_thiopental(src)
|
||||
new /obj/item/weapon/reagent_containers/glass/bottle/coniine(src)
|
||||
new /obj/item/weapon/reagent_containers/glass/bottle/curare(src)
|
||||
new /obj/item/weapon/reagent_containers/glass/bottle/amanitin(src)
|
||||
new /obj/item/weapon/reagent_containers/syringe(src)
|
||||
/obj/item/storage/box/syndie_kit/chemical/PopulateContents()
|
||||
new /obj/item/reagent_containers/glass/bottle/polonium(src)
|
||||
new /obj/item/reagent_containers/glass/bottle/venom(src)
|
||||
new /obj/item/reagent_containers/glass/bottle/neurotoxin2(src)
|
||||
new /obj/item/reagent_containers/glass/bottle/formaldehyde(src)
|
||||
new /obj/item/reagent_containers/glass/bottle/spewium(src)
|
||||
new /obj/item/reagent_containers/glass/bottle/cyanide(src)
|
||||
new /obj/item/reagent_containers/glass/bottle/histamine(src)
|
||||
new /obj/item/reagent_containers/glass/bottle/initropidril(src)
|
||||
new /obj/item/reagent_containers/glass/bottle/pancuronium(src)
|
||||
new /obj/item/reagent_containers/glass/bottle/sodium_thiopental(src)
|
||||
new /obj/item/reagent_containers/glass/bottle/coniine(src)
|
||||
new /obj/item/reagent_containers/glass/bottle/curare(src)
|
||||
new /obj/item/reagent_containers/glass/bottle/amanitin(src)
|
||||
new /obj/item/reagent_containers/syringe(src)
|
||||
|
||||
/obj/item/weapon/storage/box/syndie_kit/nuke
|
||||
/obj/item/storage/box/syndie_kit/nuke
|
||||
name = "box"
|
||||
|
||||
/obj/item/weapon/storage/box/syndie_kit/nuke/PopulateContents()
|
||||
new /obj/item/weapon/screwdriver/nuke(src)
|
||||
/obj/item/storage/box/syndie_kit/nuke/PopulateContents()
|
||||
new /obj/item/screwdriver/nuke(src)
|
||||
new /obj/item/nuke_core_container(src)
|
||||
new /obj/item/weapon/paper/guides/antag/nuke_instructions(src)
|
||||
new /obj/item/paper/guides/antag/nuke_instructions(src)
|
||||
|
||||
/obj/item/weapon/storage/box/syndie_kit/supermatter
|
||||
/obj/item/storage/box/syndie_kit/supermatter
|
||||
name = "box"
|
||||
|
||||
/obj/item/weapon/storage/box/syndie_kit/supermatter/PopulateContents()
|
||||
new /obj/item/weapon/scalpel/supermatter(src)
|
||||
new /obj/item/weapon/hemostat/supermatter(src)
|
||||
/obj/item/storage/box/syndie_kit/supermatter/PopulateContents()
|
||||
new /obj/item/scalpel/supermatter(src)
|
||||
new /obj/item/hemostat/supermatter(src)
|
||||
new /obj/item/nuke_core_container/supermatter(src)
|
||||
new /obj/item/weapon/paper/guides/antag/supermatter_sliver(src)
|
||||
new /obj/item/paper/guides/antag/supermatter_sliver(src)
|
||||
|
||||
/obj/item/weapon/storage/box/syndie_kit/tuberculosisgrenade
|
||||
/obj/item/storage/box/syndie_kit/tuberculosisgrenade
|
||||
name = "boxed virus grenade kit"
|
||||
|
||||
/obj/item/weapon/storage/box/syndie_kit/tuberculosisgrenade/PopulateContents()
|
||||
new /obj/item/weapon/grenade/chem_grenade/tuberculosis(src)
|
||||
/obj/item/storage/box/syndie_kit/tuberculosisgrenade/PopulateContents()
|
||||
new /obj/item/grenade/chem_grenade/tuberculosis(src)
|
||||
for(var/i in 1 to 5)
|
||||
new /obj/item/weapon/reagent_containers/hypospray/medipen/tuberculosiscure(src)
|
||||
new /obj/item/weapon/reagent_containers/syringe(src)
|
||||
new /obj/item/weapon/reagent_containers/glass/bottle/tuberculosiscure(src)
|
||||
new /obj/item/reagent_containers/hypospray/medipen/tuberculosiscure(src)
|
||||
new /obj/item/reagent_containers/syringe(src)
|
||||
new /obj/item/reagent_containers/glass/bottle/tuberculosiscure(src)
|
||||
|
||||
/obj/item/weapon/storage/box/syndie_kit/chameleon
|
||||
/obj/item/storage/box/syndie_kit/chameleon
|
||||
name = "chameleon kit"
|
||||
|
||||
/obj/item/weapon/storage/box/syndie_kit/chameleon/PopulateContents()
|
||||
/obj/item/storage/box/syndie_kit/chameleon/PopulateContents()
|
||||
new /obj/item/clothing/under/chameleon(src)
|
||||
new /obj/item/clothing/suit/chameleon(src)
|
||||
new /obj/item/clothing/gloves/chameleon(src)
|
||||
@@ -268,40 +268,40 @@
|
||||
new /obj/item/clothing/glasses/chameleon(src)
|
||||
new /obj/item/clothing/head/chameleon(src)
|
||||
new /obj/item/clothing/mask/chameleon(src)
|
||||
new /obj/item/weapon/storage/backpack/chameleon(src)
|
||||
new /obj/item/storage/backpack/chameleon(src)
|
||||
new /obj/item/device/radio/headset/chameleon(src)
|
||||
new /obj/item/weapon/stamp/chameleon(src)
|
||||
new /obj/item/stamp/chameleon(src)
|
||||
new /obj/item/device/pda/chameleon(src)
|
||||
new /obj/item/weapon/gun/energy/laser/chameleon(src)
|
||||
new /obj/item/gun/energy/laser/chameleon(src)
|
||||
|
||||
//5*(2*4) = 5*8 = 45, 45 damage if you hit one person with all 5 stars.
|
||||
//Not counting the damage it will do while embedded (2*4 = 8, at 15% chance)
|
||||
/obj/item/weapon/storage/box/syndie_kit/throwing_weapons/PopulateContents()
|
||||
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)
|
||||
/obj/item/storage/box/syndie_kit/throwing_weapons/PopulateContents()
|
||||
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/cutouts/PopulateContents()
|
||||
/obj/item/storage/box/syndie_kit/cutouts/PopulateContents()
|
||||
for(var/i in 1 to 3)
|
||||
new/obj/item/cardboard_cutout/adaptive(src)
|
||||
new/obj/item/toy/crayon/rainbow(src)
|
||||
|
||||
/obj/item/weapon/storage/box/syndie_kit/romerol/PopulateContents()
|
||||
new /obj/item/weapon/reagent_containers/glass/bottle/romerol(src)
|
||||
new /obj/item/weapon/reagent_containers/syringe(src)
|
||||
new /obj/item/weapon/reagent_containers/dropper(src)
|
||||
/obj/item/storage/box/syndie_kit/romerol/PopulateContents()
|
||||
new /obj/item/reagent_containers/glass/bottle/romerol(src)
|
||||
new /obj/item/reagent_containers/syringe(src)
|
||||
new /obj/item/reagent_containers/dropper(src)
|
||||
|
||||
/obj/item/weapon/storage/box/syndie_kit/ez_clean/PopulateContents()
|
||||
/obj/item/storage/box/syndie_kit/ez_clean/PopulateContents()
|
||||
for(var/i in 1 to 3)
|
||||
new/obj/item/weapon/grenade/chem_grenade/ez_clean(src)
|
||||
new/obj/item/grenade/chem_grenade/ez_clean(src)
|
||||
|
||||
/obj/item/weapon/storage/box/hug/reverse_revolver/PopulateContents()
|
||||
new /obj/item/weapon/gun/ballistic/revolver/reverse(src)
|
||||
/obj/item/storage/box/hug/reverse_revolver/PopulateContents()
|
||||
new /obj/item/gun/ballistic/revolver/reverse(src)
|
||||
|
||||
/obj/item/weapon/storage/box/syndie_kit/mimery/PopulateContents()
|
||||
new /obj/item/weapon/spellbook/oneuse/mimery_blockade(src)
|
||||
new /obj/item/weapon/spellbook/oneuse/mimery_guns(src)
|
||||
/obj/item/storage/box/syndie_kit/mimery/PopulateContents()
|
||||
new /obj/item/spellbook/oneuse/mimery_blockade(src)
|
||||
new /obj/item/spellbook/oneuse/mimery_guns(src)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/obj/item/weapon/storage/wallet
|
||||
/obj/item/storage/wallet
|
||||
name = "wallet"
|
||||
desc = "It can hold a few small and personal things."
|
||||
storage_slots = 4
|
||||
@@ -7,77 +7,77 @@
|
||||
resistance_flags = FLAMMABLE
|
||||
can_hold = list(
|
||||
/obj/item/stack/spacecash,
|
||||
/obj/item/weapon/card,
|
||||
/obj/item/card,
|
||||
/obj/item/clothing/mask/cigarette,
|
||||
/obj/item/device/flashlight/pen,
|
||||
/obj/item/seeds,
|
||||
/obj/item/stack/medical,
|
||||
/obj/item/toy/crayon,
|
||||
/obj/item/weapon/coin,
|
||||
/obj/item/weapon/dice,
|
||||
/obj/item/weapon/disk,
|
||||
/obj/item/weapon/implanter,
|
||||
/obj/item/weapon/lighter,
|
||||
/obj/item/weapon/lipstick,
|
||||
/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/reagent_containers/syringe,
|
||||
/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/lipstick,
|
||||
/obj/item/match,
|
||||
/obj/item/paper,
|
||||
/obj/item/pen,
|
||||
/obj/item/photo,
|
||||
/obj/item/reagent_containers/dropper,
|
||||
/obj/item/reagent_containers/syringe,
|
||||
/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
|
||||
var/list/combined_access = list()
|
||||
|
||||
|
||||
/obj/item/weapon/storage/wallet/remove_from_storage(obj/item/W, atom/new_location)
|
||||
/obj/item/storage/wallet/remove_from_storage(obj/item/W, atom/new_location)
|
||||
. = ..(W, new_location)
|
||||
if(.)
|
||||
if(istype(W, /obj/item/weapon/card/id))
|
||||
if(istype(W, /obj/item/card/id))
|
||||
if(W == front_id)
|
||||
front_id = null
|
||||
refreshID()
|
||||
update_icon()
|
||||
|
||||
/obj/item/weapon/storage/wallet/proc/refreshID()
|
||||
/obj/item/storage/wallet/proc/refreshID()
|
||||
combined_access.Cut()
|
||||
for(var/obj/item/weapon/card/id/I in contents)
|
||||
for(var/obj/item/card/id/I in contents)
|
||||
if(!front_id)
|
||||
front_id = I
|
||||
update_icon()
|
||||
combined_access |= I.access
|
||||
|
||||
/obj/item/weapon/storage/wallet/handle_item_insertion(obj/item/W, prevent_warning = 0)
|
||||
/obj/item/storage/wallet/handle_item_insertion(obj/item/W, prevent_warning = 0)
|
||||
. = ..()
|
||||
if(.)
|
||||
if(istype(W, /obj/item/weapon/card/id))
|
||||
if(istype(W, /obj/item/card/id))
|
||||
refreshID()
|
||||
|
||||
/obj/item/weapon/storage/wallet/update_icon()
|
||||
/obj/item/storage/wallet/update_icon()
|
||||
icon_state = "wallet"
|
||||
if(front_id)
|
||||
icon_state = "wallet_[front_id.icon_state]"
|
||||
|
||||
|
||||
|
||||
/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()
|
||||
if(combined_access.len)
|
||||
return combined_access
|
||||
else
|
||||
return ..()
|
||||
|
||||
/obj/item/weapon/storage/wallet/random/PopulateContents()
|
||||
/obj/item/storage/wallet/random/PopulateContents()
|
||||
var/item1_type = pick( /obj/item/stack/spacecash/c10, /obj/item/stack/spacecash/c100, /obj/item/stack/spacecash/c1000, /obj/item/stack/spacecash/c20, /obj/item/stack/spacecash/c200, /obj/item/stack/spacecash/c50, /obj/item/stack/spacecash/c500)
|
||||
var/item2_type
|
||||
if(prob(50))
|
||||
item2_type = pick( /obj/item/stack/spacecash/c10, /obj/item/stack/spacecash/c100, /obj/item/stack/spacecash/c1000, /obj/item/stack/spacecash/c20, /obj/item/stack/spacecash/c200, /obj/item/stack/spacecash/c50, /obj/item/stack/spacecash/c500)
|
||||
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)
|
||||
|
||||
Reference in New Issue
Block a user