Containers now properly checks types instead of string paths.

Security and medical belts could contain now no longer existing objects. These types have been removed.

Conflicts:
	code/game/objects/items/weapons/storage/belt.dm
	code/game/objects/structures/inflatable.dm
	code/modules/clothing/under/ties.dm
This commit is contained in:
PsiOmega
2015-02-14 14:16:40 +01:00
parent c71cd925c4
commit fde03b2e94
14 changed files with 332 additions and 340 deletions

View File

@@ -36,7 +36,7 @@
max_w_class = 2 max_w_class = 2
storage_slots = 21 storage_slots = 21
can_hold = list() // any can_hold = list() // any
cant_hold = list("/obj/item/weapon/disk/nuclear") cant_hold = list(/obj/item/weapon/disk/nuclear)
/obj/item/weapon/storage/bag/trash/update_icon() /obj/item/weapon/storage/bag/trash/update_icon()
if(contents.len == 0) if(contents.len == 0)
@@ -63,7 +63,7 @@
max_w_class = 2 max_w_class = 2
storage_slots = 21 storage_slots = 21
can_hold = list() // any can_hold = list() // any
cant_hold = list("/obj/item/weapon/disk/nuclear") cant_hold = list(/obj/item/weapon/disk/nuclear)
// ----------------------------- // -----------------------------
// Mining Satchel // Mining Satchel
@@ -79,7 +79,7 @@
storage_slots = 50 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_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 = 3 max_w_class = 3
can_hold = list("/obj/item/weapon/ore") can_hold = list(/obj/item/weapon/ore)
// ----------------------------- // -----------------------------
@@ -94,7 +94,7 @@
max_combined_w_class = 200 //Doesn't matter what this is, so long as it's more or equal to storage_slots * plants.w_class max_combined_w_class = 200 //Doesn't matter what this is, so long as it's more or equal to storage_slots * plants.w_class
max_w_class = 3 max_w_class = 3
w_class = 2 w_class = 2
can_hold = list("/obj/item/weapon/reagent_containers/food/snacks/grown","/obj/item/seeds","/obj/item/weapon/grown") can_hold = list(/obj/item/weapon/reagent_containers/food/snacks/grown,/obj/item/seeds,/obj/item/weapon/grown)
// ----------------------------- // -----------------------------
@@ -252,4 +252,4 @@
max_combined_w_class = 200 //Doesn't matter what this is, so long as it's more or equal to storage_slots * cash.w_class max_combined_w_class = 200 //Doesn't matter what this is, so long as it's more or equal to storage_slots * cash.w_class
max_w_class = 3 max_w_class = 3
w_class = 2 w_class = 2
can_hold = list("/obj/item/weapon/coin","/obj/item/weapon/spacecash") can_hold = list(/obj/item/weapon/coin,/obj/item/weapon/spacecash)

View File

@@ -13,19 +13,19 @@
icon_state = "utilitybelt" icon_state = "utilitybelt"
item_state = "utility" item_state = "utility"
can_hold = list( can_hold = list(
//"/obj/item/weapon/combitool", ///obj/item/weapon/combitool,
"/obj/item/weapon/crowbar", /obj/item/weapon/crowbar,
"/obj/item/weapon/screwdriver", /obj/item/weapon/screwdriver,
"/obj/item/weapon/weldingtool", /obj/item/weapon/weldingtool,
"/obj/item/weapon/wirecutters", /obj/item/weapon/wirecutters,
"/obj/item/weapon/wrench", /obj/item/weapon/wrench,
"/obj/item/device/multitool", /obj/item/device/multitool,
"/obj/item/device/flashlight", /obj/item/device/flashlight,
"/obj/item/stack/cable_coil", /obj/item/stack/cable_coil,
"/obj/item/device/t_scanner", /obj/item/device/t_scanner,
"/obj/item/device/analyzer", /obj/item/device/analyzer,
"/obj/item/taperoll/engineering", /obj/item/taperoll/engineering,
"/obj/item/device/robotanalyzer") /obj/item/device/robotanalyzer)
/obj/item/weapon/storage/belt/utility/full/New() /obj/item/weapon/storage/belt/utility/full/New()
@@ -55,22 +55,21 @@
icon_state = "medicalbelt" icon_state = "medicalbelt"
item_state = "medical" item_state = "medical"
can_hold = list( can_hold = list(
"/obj/item/device/healthanalyzer", /obj/item/device/healthanalyzer,
"/obj/item/weapon/dnainjector", /obj/item/weapon/dnainjector,
"/obj/item/weapon/reagent_containers/dropper", /obj/item/weapon/reagent_containers/dropper,
"/obj/item/weapon/reagent_containers/glass/beaker", /obj/item/weapon/reagent_containers/glass/beaker,
"/obj/item/weapon/reagent_containers/glass/bottle", /obj/item/weapon/reagent_containers/glass/bottle,
"/obj/item/weapon/reagent_containers/pill", /obj/item/weapon/reagent_containers/pill,
"/obj/item/weapon/reagent_containers/syringe", /obj/item/weapon/reagent_containers/syringe,
"/obj/item/weapon/reagent_containers/glass/dispenser", /obj/item/weapon/flame/lighter/zippo,
"/obj/item/weapon/flame/lighter/zippo", /obj/item/weapon/storage/fancy/cigarettes,
"/obj/item/weapon/storage/fancy/cigarettes", /obj/item/weapon/storage/pill_bottle,
"/obj/item/weapon/storage/pill_bottle", /obj/item/stack/medical,
"/obj/item/stack/medical", /obj/item/device/flashlight/pen,
"/obj/item/device/flashlight/pen", /obj/item/clothing/mask/surgical,
"/obj/item/clothing/mask/surgical", /obj/item/clothing/gloves/latex,
"/obj/item/clothing/gloves/latex", /obj/item/weapon/reagent_containers/hypospray
"/obj/item/weapon/reagent_containers/hypospray"
) )
/obj/item/weapon/storage/belt/medical/emt /obj/item/weapon/storage/belt/medical/emt
@@ -90,25 +89,24 @@
max_w_class = 3 max_w_class = 3
max_combined_w_class = 21 max_combined_w_class = 21
can_hold = list( can_hold = list(
"/obj/item/weapon/grenade", /obj/item/weapon/grenade,
"/obj/item/weapon/reagent_containers/spray/pepper", /obj/item/weapon/reagent_containers/spray/pepper,
"/obj/item/weapon/handcuffs", /obj/item/weapon/handcuffs,
"/obj/item/device/flash", /obj/item/device/flash,
"/obj/item/clothing/glasses", /obj/item/clothing/glasses,
"/obj/item/ammo_casing/shotgun", /obj/item/ammo_casing/shotgun,
"/obj/item/ammo_magazine", /obj/item/ammo_magazine,
"/obj/item/weapon/reagent_containers/food/snacks/donut/normal", /obj/item/weapon/reagent_containers/food/snacks/donut/normal,
"/obj/item/weapon/reagent_containers/food/snacks/donut/jelly", /obj/item/weapon/reagent_containers/food/snacks/donut/jelly,
"/obj/item/weapon/melee/baton", /obj/item/weapon/melee/baton,
"/obj/item/weapon/gun/energy/taser", /obj/item/weapon/gun/energy/taser,
"/obj/item/weapon/flame/lighter/zippo", /obj/item/weapon/flame/lighter/zippo,
"/obj/item/weapon/cigpacket", /obj/item/clothing/glasses/hud/security,
"/obj/item/clothing/glasses/hud/security", /obj/item/device/flashlight,
"/obj/item/device/flashlight", /obj/item/device/pda,
"/obj/item/device/pda", /obj/item/device/radio/headset,
"/obj/item/device/radio/headset", /obj/item/weapon/melee,
"/obj/item/weapon/melee", /obj/item/taperoll/police
"/obj/item/taperoll/police"
) )
/obj/item/weapon/storage/belt/soulstone /obj/item/weapon/storage/belt/soulstone
@@ -118,7 +116,7 @@
item_state = "soulstonebelt" item_state = "soulstonebelt"
storage_slots = 6 storage_slots = 6
can_hold = list( can_hold = list(
"/obj/item/device/soulstone" /obj/item/device/soulstone
) )
/obj/item/weapon/storage/belt/soulstone/full/New() /obj/item/weapon/storage/belt/soulstone/full/New()

View File

@@ -344,7 +344,7 @@
icon = 'icons/obj/food.dmi' icon = 'icons/obj/food.dmi'
icon_state = "monkeycubebox" icon_state = "monkeycubebox"
storage_slots = 7 storage_slots = 7
can_hold = list("/obj/item/weapon/reagent_containers/food/snacks/monkeycube") can_hold = list(/obj/item/weapon/reagent_containers/food/snacks/monkeycube)
New() New()
..() ..()
if(src.type == /obj/item/weapon/storage/box/monkeycubes) if(src.type == /obj/item/weapon/storage/box/monkeycubes)
@@ -458,7 +458,7 @@
icon = 'icons/obj/toy.dmi' icon = 'icons/obj/toy.dmi'
icon_state = "spbox" icon_state = "spbox"
storage_slots = 8 storage_slots = 8
can_hold = list("/obj/item/toy/snappop") can_hold = list(/obj/item/toy/snappop)
New() New()
..() ..()
for(var/i=1; i <= storage_slots; i++) for(var/i=1; i <= storage_slots; i++)
@@ -473,7 +473,7 @@
storage_slots = 10 storage_slots = 10
w_class = 1 w_class = 1
slot_flags = SLOT_BELT slot_flags = SLOT_BELT
can_hold = list("/obj/item/weapon/flame/match") can_hold = list(/obj/item/weapon/flame/match)
New() New()
..() ..()
@@ -506,7 +506,7 @@
item_state = "syringe_kit" item_state = "syringe_kit"
foldable = /obj/item/stack/sheet/cardboard //BubbleWrap foldable = /obj/item/stack/sheet/cardboard //BubbleWrap
storage_slots=21 storage_slots=21
can_hold = list("/obj/item/weapon/light/tube", "/obj/item/weapon/light/bulb") can_hold = list(/obj/item/weapon/light/tube, /obj/item/weapon/light/bulb)
max_combined_w_class = 42 //holds 21 items of w_class 2 max_combined_w_class = 42 //holds 21 items of w_class 2
use_to_pickup = 1 // for picking up broken bulbs, not that most people will try use_to_pickup = 1 // for picking up broken bulbs, not that most people will try

View File

@@ -48,7 +48,7 @@
name = "egg box" name = "egg box"
storage_slots = 12 storage_slots = 12
max_combined_w_class = 24 max_combined_w_class = 24
can_hold = list("/obj/item/weapon/reagent_containers/food/snacks/egg") can_hold = list(/obj/item/weapon/reagent_containers/food/snacks/egg)
/obj/item/weapon/storage/fancy/egg_box/New() /obj/item/weapon/storage/fancy/egg_box/New()
..() ..()
@@ -91,7 +91,7 @@
storage_slots = 6 storage_slots = 6
icon_type = "crayon" icon_type = "crayon"
can_hold = list( can_hold = list(
"/obj/item/toy/crayon" /obj/item/toy/crayon
) )
/obj/item/weapon/storage/fancy/crayons/New() /obj/item/weapon/storage/fancy/crayons/New()
@@ -134,7 +134,7 @@
throwforce = 2 throwforce = 2
slot_flags = SLOT_BELT slot_flags = SLOT_BELT
storage_slots = 6 storage_slots = 6
can_hold = list("/obj/item/clothing/mask/cigarette") can_hold = list(/obj/item/clothing/mask/smokable/cigarette)
icon_type = "cigarette" icon_type = "cigarette"
/obj/item/weapon/storage/fancy/cigarettes/New() /obj/item/weapon/storage/fancy/cigarettes/New()
@@ -190,7 +190,7 @@
throwforce = 2 throwforce = 2
slot_flags = SLOT_BELT slot_flags = SLOT_BELT
storage_slots = 7 storage_slots = 7
can_hold = list("/obj/item/clothing/mask/cigarette/cigar") can_hold = list(/obj/item/clothing/mask/smokable/cigarette/cigar)
icon_type = "cigar" icon_type = "cigar"
/obj/item/weapon/storage/fancy/cigar/New() /obj/item/weapon/storage/fancy/cigar/New()
@@ -239,7 +239,7 @@
icon_type = "vial" icon_type = "vial"
name = "vial storage box" name = "vial storage box"
storage_slots = 6 storage_slots = 6
can_hold = list("/obj/item/weapon/reagent_containers/glass/beaker/vial") can_hold = list(/obj/item/weapon/reagent_containers/glass/beaker/vial)
/obj/item/weapon/storage/fancy/vials/New() /obj/item/weapon/storage/fancy/vials/New()
@@ -255,7 +255,7 @@
icon_state = "vialbox0" icon_state = "vialbox0"
item_state = "syringe_kit" item_state = "syringe_kit"
max_w_class = 3 max_w_class = 3
can_hold = list("/obj/item/weapon/reagent_containers/glass/beaker/vial") can_hold = list(/obj/item/weapon/reagent_containers/glass/beaker/vial)
max_combined_w_class = 14 //The sum of the w_classes of all the items in this storage item. max_combined_w_class = 14 //The sum of the w_classes of all the items in this storage item.
storage_slots = 6 storage_slots = 6
req_access = list(access_virology) req_access = list(access_virology)

View File

@@ -138,7 +138,7 @@
icon = 'icons/obj/chemical.dmi' icon = 'icons/obj/chemical.dmi'
item_state = "contsolid" item_state = "contsolid"
w_class = 2.0 w_class = 2.0
can_hold = list("/obj/item/weapon/reagent_containers/pill","/obj/item/weapon/dice","/obj/item/weapon/paper") can_hold = list(/obj/item/weapon/reagent_containers/pill,/obj/item/weapon/dice,/obj/item/weapon/paper)
allow_quick_gather = 1 allow_quick_gather = 1
use_to_pickup = 1 use_to_pickup = 1
storage_slots = 14 storage_slots = 14

View File

@@ -1,41 +1,41 @@
/obj/item/weapon/storage/pill_bottle/dice /obj/item/weapon/storage/pill_bottle/dice
name = "pack of dice" name = "pack of dice"
desc = "It's a small container with dice inside." desc = "It's a small container with dice inside."
New() New()
..() ..()
new /obj/item/weapon/dice( src ) new /obj/item/weapon/dice( src )
new /obj/item/weapon/dice/d20( src ) new /obj/item/weapon/dice/d20( src )
/* /*
* Donut Box * Donut Box
*/ */
/obj/item/weapon/storage/donut_box /obj/item/weapon/storage/donut_box
icon = 'icons/obj/food.dmi' icon = 'icons/obj/food.dmi'
icon_state = "donutbox" icon_state = "donutbox"
name = "donut box" name = "donut box"
storage_slots = 6 storage_slots = 6
var/startswith = 6 var/startswith = 6
can_hold = list("/obj/item/weapon/reagent_containers/food/snacks/donut") can_hold = list(/obj/item/weapon/reagent_containers/food/snacks/donut)
foldable = /obj/item/stack/sheet/cardboard foldable = /obj/item/stack/sheet/cardboard
/obj/item/weapon/storage/donut_box/New() /obj/item/weapon/storage/donut_box/New()
..() ..()
for(var/i=1; i <= startswith; i++) for(var/i=1; i <= startswith; i++)
new /obj/item/weapon/reagent_containers/food/snacks/donut/normal(src) new /obj/item/weapon/reagent_containers/food/snacks/donut/normal(src)
update_icon() update_icon()
return return
/obj/item/weapon/storage/donut_box/update_icon() /obj/item/weapon/storage/donut_box/update_icon()
overlays.Cut() overlays.Cut()
var/i = 0 var/i = 0
for(var/obj/item/weapon/reagent_containers/food/snacks/donut/D in contents) for(var/obj/item/weapon/reagent_containers/food/snacks/donut/D in contents)
var/image/img = image('icons/obj/food.dmi', D.overlay_state) var/image/img = image('icons/obj/food.dmi', D.overlay_state)
img.pixel_x = i * 3 img.pixel_x = i * 3
overlays += img overlays += img
i++ i++
/obj/item/weapon/storage/donut_box/empty /obj/item/weapon/storage/donut_box/empty
icon_state = "donutbox0" icon_state = "donutbox0"
startswith = 0 startswith = 0

View File

@@ -220,7 +220,7 @@
max_w_class = 8 max_w_class = 8
anchored = 1.0 anchored = 1.0
density = 0 density = 0
cant_hold = list("/obj/item/weapon/storage/secure/briefcase") cant_hold = list(/obj/item/weapon/storage/secure/briefcase)
New() New()
..() ..()

View File

@@ -209,24 +209,17 @@
usr << "<span class='notice'>[src] is full, make some space.</span>" usr << "<span class='notice'>[src] is full, make some space.</span>"
return 0 //Storage item is full return 0 //Storage item is full
if(can_hold.len) if(can_hold.len && !is_type_in_list(W, can_hold))
var/ok = 0 if(!stop_messages)
for(var/A in can_hold) if (istype(W, /obj/item/weapon/hand_labeler))
if(istype(W, text2path(A) )) return 0
ok = 1 usr << "<span class='notice'>[src] cannot hold [W].</span>"
break return 0
if(!ok)
if(!stop_messages)
if (istype(W, /obj/item/weapon/hand_labeler))
return 0
usr << "<span class='notice'>[src] cannot hold [W].</span>"
return 0
for(var/A in cant_hold) //Check for specific items which this container can't hold. if(cant_hold.len && is_type_in_list(W, cant_hold))
if(istype(W, text2path(A) )) if(!stop_messages)
if(!stop_messages) usr << "<span class='notice'>[src] cannot hold [W].</span>"
usr << "<span class='notice'>[src] cannot hold [W].</span>" return 0
return 0
if (W.w_class > max_w_class) if (W.w_class > max_w_class)
if(!stop_messages) if(!stop_messages)

View File

@@ -5,25 +5,25 @@
icon_state = "wallet" icon_state = "wallet"
w_class = 2 w_class = 2
can_hold = list( can_hold = list(
"/obj/item/weapon/spacecash", /obj/item/weapon/spacecash,
"/obj/item/weapon/card", /obj/item/weapon/card,
"/obj/item/clothing/mask/cigarette", /obj/item/clothing/mask/smokable/cigarette/,
"/obj/item/device/flashlight/pen", /obj/item/device/flashlight/pen,
"/obj/item/seeds", /obj/item/seeds,
"/obj/item/stack/medical", /obj/item/stack/medical,
"/obj/item/toy/crayon", /obj/item/toy/crayon,
"/obj/item/weapon/coin", /obj/item/weapon/coin,
"/obj/item/weapon/dice", /obj/item/weapon/dice,
"/obj/item/weapon/disk", /obj/item/weapon/disk,
"/obj/item/weapon/implanter", /obj/item/weapon/implanter,
"/obj/item/weapon/flame/lighter", /obj/item/weapon/flame/lighter,
"/obj/item/weapon/flame/match", /obj/item/weapon/flame/match,
"/obj/item/weapon/paper", /obj/item/weapon/paper,
"/obj/item/weapon/pen", /obj/item/weapon/pen,
"/obj/item/weapon/photo", /obj/item/weapon/photo,
"/obj/item/weapon/reagent_containers/dropper", /obj/item/weapon/reagent_containers/dropper,
"/obj/item/weapon/screwdriver", /obj/item/weapon/screwdriver,
"/obj/item/weapon/stamp") /obj/item/weapon/stamp)
slot_flags = SLOT_ID slot_flags = SLOT_ID
var/obj/item/weapon/card/id/front_id = null var/obj/item/weapon/card/id/front_id = null

View File

@@ -253,6 +253,7 @@
icon_state = "inf_box" icon_state = "inf_box"
item_state = "syringe_kit" item_state = "syringe_kit"
max_combined_w_class = 21 max_combined_w_class = 21
can_hold = list(/obj/item/inflatable)
New() New()
..() ..()

View File

@@ -86,7 +86,7 @@ var/global/photo_count = 0
icon = 'icons/obj/items.dmi' icon = 'icons/obj/items.dmi'
icon_state = "album" icon_state = "album"
item_state = "briefcase" item_state = "briefcase"
can_hold = list("/obj/item/weapon/photo",) can_hold = list(/obj/item/weapon/photo)
/obj/item/weapon/storage/photo_album/MouseDrop(obj/over_object as obj) /obj/item/weapon/storage/photo_album/MouseDrop(obj/over_object as obj)

View File

@@ -1,28 +1,28 @@
/obj/item/weapon/storage/belt/archaeology /obj/item/weapon/storage/belt/archaeology
name = "excavation gear-belt" name = "excavation gear-belt"
desc = "Can hold various excavation gear." desc = "Can hold various excavation gear."
icon_state = "gearbelt" icon_state = "gearbelt"
item_state = "utility" item_state = "utility"
can_hold = list( can_hold = list(
"/obj/item/weapon/storage/box/samplebags", /obj/item/weapon/storage/box/samplebags,
"/obj/item/device/core_sampler", /obj/item/device/core_sampler,
"/obj/item/device/beacon_locator", /obj/item/device/beacon_locator,
"/obj/item/device/radio/beacon", /obj/item/device/radio/beacon,
"/obj/item/device/gps", /obj/item/device/gps,
"/obj/item/device/measuring_tape", /obj/item/device/measuring_tape,
"/obj/item/device/flashlight", /obj/item/device/flashlight,
"/obj/item/weapon/pickaxe", /obj/item/weapon/pickaxe,
"/obj/item/device/depth_scanner", /obj/item/device/depth_scanner,
"/obj/item/device/camera", /obj/item/device/camera,
"/obj/item/weapon/paper", /obj/item/weapon/paper,
"/obj/item/weapon/photo", /obj/item/weapon/photo,
"/obj/item/weapon/folder", /obj/item/weapon/folder,
"/obj/item/weapon/pen", /obj/item/weapon/pen,
"/obj/item/weapon/folder", /obj/item/weapon/folder,
"/obj/item/weapon/clipboard", /obj/item/weapon/clipboard,
"/obj/item/weapon/anodevice", /obj/item/weapon/anodevice,
"/obj/item/clothing/glasses", /obj/item/clothing/glasses,
"/obj/item/weapon/wrench", /obj/item/weapon/wrench,
"/obj/item/weapon/storage/box/excavation", /obj/item/weapon/storage/box/excavation,
"/obj/item/weapon/anobattery") /obj/item/weapon/anobattery)

View File

@@ -1,36 +1,36 @@
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Miscellaneous xenoarchaeology tools // Miscellaneous xenoarchaeology tools
/obj/item/device/gps /obj/item/device/gps
name = "relay positioning device" name = "relay positioning device"
desc = "Triangulates the approximate co-ordinates using a nearby satellite network." desc = "Triangulates the approximate co-ordinates using a nearby satellite network."
icon = 'icons/obj/device.dmi' icon = 'icons/obj/device.dmi'
icon_state = "locator" icon_state = "locator"
item_state = "locator" item_state = "locator"
w_class = 2 w_class = 2
/obj/item/device/gps/attack_self(var/mob/user as mob) /obj/item/device/gps/attack_self(var/mob/user as mob)
var/turf/T = get_turf(src) var/turf/T = get_turf(src)
user << "\blue \icon[src] [src] flashes <i>[T.x].[rand(0,9)]:[T.y].[rand(0,9)]:[T.z].[rand(0,9)]</i>." user << "\blue \icon[src] [src] flashes <i>[T.x].[rand(0,9)]:[T.y].[rand(0,9)]:[T.z].[rand(0,9)]</i>."
/obj/item/device/measuring_tape /obj/item/device/measuring_tape
name = "measuring tape" name = "measuring tape"
desc = "A coiled metallic tape used to check dimensions and lengths." desc = "A coiled metallic tape used to check dimensions and lengths."
icon = 'icons/obj/xenoarchaeology.dmi' icon = 'icons/obj/xenoarchaeology.dmi'
icon_state = "measuring" icon_state = "measuring"
w_class = 2 w_class = 2
//todo: dig site tape //todo: dig site tape
/obj/item/weapon/storage/bag/fossils /obj/item/weapon/storage/bag/fossils
name = "Fossil Satchel" name = "Fossil Satchel"
desc = "Transports delicate fossils in suspension so they don't break during transit." desc = "Transports delicate fossils in suspension so they don't break during transit."
icon = 'icons/obj/mining.dmi' icon = 'icons/obj/mining.dmi'
icon_state = "satchel" icon_state = "satchel"
slot_flags = SLOT_BELT | SLOT_POCKET slot_flags = SLOT_BELT | SLOT_POCKET
w_class = 3 w_class = 3
storage_slots = 50 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_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 = 3 max_w_class = 3
can_hold = list("/obj/item/weapon/fossil") can_hold = list(/obj/item/weapon/fossil)

View File

@@ -1,132 +1,132 @@
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Excavation pickaxes - sorted in order of delicacy. Players will have to choose the right one for each part of excavation. // Excavation pickaxes - sorted in order of delicacy. Players will have to choose the right one for each part of excavation.
/obj/item/weapon/pickaxe/brush /obj/item/weapon/pickaxe/brush
name = "brush" name = "brush"
icon = 'icons/obj/xenoarchaeology.dmi' icon = 'icons/obj/xenoarchaeology.dmi'
icon_state = "pick_brush" icon_state = "pick_brush"
item_state = "syringe_0" item_state = "syringe_0"
digspeed = 20 digspeed = 20
desc = "Thick metallic wires for clearing away dust and loose scree (1 centimetre excavation depth)." desc = "Thick metallic wires for clearing away dust and loose scree (1 centimetre excavation depth)."
excavation_amount = 0.5 excavation_amount = 0.5
drill_sound = 'sound/weapons/thudswoosh.ogg' drill_sound = 'sound/weapons/thudswoosh.ogg'
drill_verb = "brushing" drill_verb = "brushing"
w_class = 2 w_class = 2
/obj/item/weapon/pickaxe/one_pick /obj/item/weapon/pickaxe/one_pick
name = "1/6 pick" name = "1/6 pick"
icon = 'icons/obj/xenoarchaeology.dmi' icon = 'icons/obj/xenoarchaeology.dmi'
icon_state = "pick1" icon_state = "pick1"
item_state = "syringe_0" item_state = "syringe_0"
digspeed = 20 digspeed = 20
desc = "A miniature excavation tool for precise digging (2 centimetre excavation depth)." desc = "A miniature excavation tool for precise digging (2 centimetre excavation depth)."
excavation_amount = 1 excavation_amount = 1
drill_sound = 'sound/items/Screwdriver.ogg' drill_sound = 'sound/items/Screwdriver.ogg'
drill_verb = "delicately picking" drill_verb = "delicately picking"
w_class = 2 w_class = 2
/obj/item/weapon/pickaxe/two_pick /obj/item/weapon/pickaxe/two_pick
name = "1/3 pick" name = "1/3 pick"
icon = 'icons/obj/xenoarchaeology.dmi' icon = 'icons/obj/xenoarchaeology.dmi'
icon_state = "pick2" icon_state = "pick2"
item_state = "syringe_0" item_state = "syringe_0"
digspeed = 20 digspeed = 20
desc = "A miniature excavation tool for precise digging (4 centimetre excavation depth)." desc = "A miniature excavation tool for precise digging (4 centimetre excavation depth)."
excavation_amount = 2 excavation_amount = 2
drill_sound = 'sound/items/Screwdriver.ogg' drill_sound = 'sound/items/Screwdriver.ogg'
drill_verb = "delicately picking" drill_verb = "delicately picking"
w_class = 2 w_class = 2
/obj/item/weapon/pickaxe/three_pick /obj/item/weapon/pickaxe/three_pick
name = "1/2 pick" name = "1/2 pick"
icon = 'icons/obj/xenoarchaeology.dmi' icon = 'icons/obj/xenoarchaeology.dmi'
icon_state = "pick3" icon_state = "pick3"
item_state = "syringe_0" item_state = "syringe_0"
digspeed = 20 digspeed = 20
desc = "A miniature excavation tool for precise digging (6 centimetre excavation depth)." desc = "A miniature excavation tool for precise digging (6 centimetre excavation depth)."
excavation_amount = 3 excavation_amount = 3
drill_sound = 'sound/items/Screwdriver.ogg' drill_sound = 'sound/items/Screwdriver.ogg'
drill_verb = "delicately picking" drill_verb = "delicately picking"
w_class = 2 w_class = 2
/obj/item/weapon/pickaxe/four_pick /obj/item/weapon/pickaxe/four_pick
name = "2/3 pick" name = "2/3 pick"
icon = 'icons/obj/xenoarchaeology.dmi' icon = 'icons/obj/xenoarchaeology.dmi'
icon_state = "pick4" icon_state = "pick4"
item_state = "syringe_0" item_state = "syringe_0"
digspeed = 20 digspeed = 20
desc = "A miniature excavation tool for precise digging (8 centimetre excavation depth)." desc = "A miniature excavation tool for precise digging (8 centimetre excavation depth)."
excavation_amount = 4 excavation_amount = 4
drill_sound = 'sound/items/Screwdriver.ogg' drill_sound = 'sound/items/Screwdriver.ogg'
drill_verb = "delicately picking" drill_verb = "delicately picking"
w_class = 2 w_class = 2
/obj/item/weapon/pickaxe/five_pick /obj/item/weapon/pickaxe/five_pick
name = "5/6 pick" name = "5/6 pick"
icon = 'icons/obj/xenoarchaeology.dmi' icon = 'icons/obj/xenoarchaeology.dmi'
icon_state = "pick5" icon_state = "pick5"
item_state = "syringe_0" item_state = "syringe_0"
digspeed = 20 digspeed = 20
desc = "A miniature excavation tool for precise digging (10 centimetre excavation depth)." desc = "A miniature excavation tool for precise digging (10 centimetre excavation depth)."
excavation_amount = 5 excavation_amount = 5
drill_sound = 'sound/items/Screwdriver.ogg' drill_sound = 'sound/items/Screwdriver.ogg'
drill_verb = "delicately picking" drill_verb = "delicately picking"
w_class = 2 w_class = 2
/obj/item/weapon/pickaxe/six_pick /obj/item/weapon/pickaxe/six_pick
name = "1/1 pick" name = "1/1 pick"
icon = 'icons/obj/xenoarchaeology.dmi' icon = 'icons/obj/xenoarchaeology.dmi'
icon_state = "pick6" icon_state = "pick6"
item_state = "syringe_0" item_state = "syringe_0"
digspeed = 20 digspeed = 20
desc = "A miniature excavation tool for precise digging (12 centimetre excavation depth)." desc = "A miniature excavation tool for precise digging (12 centimetre excavation depth)."
excavation_amount = 6 excavation_amount = 6
drill_sound = 'sound/items/Screwdriver.ogg' drill_sound = 'sound/items/Screwdriver.ogg'
drill_verb = "delicately picking" drill_verb = "delicately picking"
w_class = 2 w_class = 2
/obj/item/weapon/pickaxe/hand /obj/item/weapon/pickaxe/hand
name = "hand pickaxe" name = "hand pickaxe"
icon = 'icons/obj/xenoarchaeology.dmi' icon = 'icons/obj/xenoarchaeology.dmi'
icon_state = "pick_hand" icon_state = "pick_hand"
item_state = "syringe_0" item_state = "syringe_0"
digspeed = 30 digspeed = 30
desc = "A smaller, more precise version of the pickaxe (30 centimetre excavation depth)." desc = "A smaller, more precise version of the pickaxe (30 centimetre excavation depth)."
excavation_amount = 15 excavation_amount = 15
drill_sound = 'sound/items/Crowbar.ogg' drill_sound = 'sound/items/Crowbar.ogg'
drill_verb = "clearing" drill_verb = "clearing"
w_class = 3 w_class = 3
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Pack for holding pickaxes // Pack for holding pickaxes
/obj/item/weapon/storage/box/excavation /obj/item/weapon/storage/box/excavation
name = "excavation pick set" name = "excavation pick set"
icon = 'icons/obj/storage.dmi' icon = 'icons/obj/storage.dmi'
icon_state = "excavation" icon_state = "excavation"
desc = "A set of picks for excavation." desc = "A set of picks for excavation."
item_state = "syringe_kit" item_state = "syringe_kit"
foldable = /obj/item/stack/sheet/cardboard //BubbleWrap foldable = /obj/item/stack/sheet/cardboard //BubbleWrap
storage_slots = 7 storage_slots = 7
w_class = 2 w_class = 2
can_hold = list("/obj/item/weapon/pickaxe/brush",\ can_hold = list(/obj/item/weapon/pickaxe/brush,\
"/obj/item/weapon/pickaxe/one_pick",\ /obj/item/weapon/pickaxe/one_pick,\
"/obj/item/weapon/pickaxe/two_pick",\ /obj/item/weapon/pickaxe/two_pick,\
"/obj/item/weapon/pickaxe/three_pick",\ /obj/item/weapon/pickaxe/three_pick,\
"/obj/item/weapon/pickaxe/four_pick",\ /obj/item/weapon/pickaxe/four_pick,\
"/obj/item/weapon/pickaxe/five_pick",\ /obj/item/weapon/pickaxe/five_pick,\
"/obj/item/weapon/pickaxe/six_pick") /obj/item/weapon/pickaxe/six_pick)
max_combined_w_class = 17 max_combined_w_class = 17
max_w_class = 4 max_w_class = 4
use_to_pickup = 1 // for picking up broken bulbs, not that most people will try use_to_pickup = 1 // for picking up broken bulbs, not that most people will try
/obj/item/weapon/storage/box/excavation/New() /obj/item/weapon/storage/box/excavation/New()
..() ..()
new /obj/item/weapon/pickaxe/brush(src) new /obj/item/weapon/pickaxe/brush(src)
new /obj/item/weapon/pickaxe/one_pick(src) new /obj/item/weapon/pickaxe/one_pick(src)
new /obj/item/weapon/pickaxe/two_pick(src) new /obj/item/weapon/pickaxe/two_pick(src)
new /obj/item/weapon/pickaxe/three_pick(src) new /obj/item/weapon/pickaxe/three_pick(src)
new /obj/item/weapon/pickaxe/four_pick(src) new /obj/item/weapon/pickaxe/four_pick(src)
new /obj/item/weapon/pickaxe/five_pick(src) new /obj/item/weapon/pickaxe/five_pick(src)
new /obj/item/weapon/pickaxe/six_pick(src) new /obj/item/weapon/pickaxe/six_pick(src)