mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-23 04:51:32 +01:00
Storage system altered to be storage space based
This commit is contained in:
@@ -9,6 +9,7 @@
|
||||
var/burning = null
|
||||
var/hitsound = null
|
||||
var/w_class = 3.0
|
||||
var/storage_cost = null
|
||||
var/slot_flags = 0 //This is used to determine on which slots an item can fit.
|
||||
var/no_attack_log = 0 //If it's an item we don't want to log attack_logs with, set this to 1
|
||||
pass_flags = PASSTABLE
|
||||
@@ -339,7 +340,7 @@ var/list/global/slot_flags_enumeration = list(
|
||||
var/allow = 0
|
||||
if(H.back && istype(H.back, /obj/item/weapon/storage/backpack))
|
||||
var/obj/item/weapon/storage/backpack/B = H.back
|
||||
if(B.contents.len < B.storage_slots && w_class <= B.max_w_class)
|
||||
if(B.can_be_inserted(src,1))
|
||||
allow = 1
|
||||
if(!allow)
|
||||
return 0
|
||||
|
||||
@@ -50,6 +50,7 @@
|
||||
icon_state = "holdingpack"
|
||||
max_w_class = 4
|
||||
max_storage_space = 56
|
||||
storage_cost = 29
|
||||
|
||||
New()
|
||||
..()
|
||||
@@ -61,7 +62,7 @@
|
||||
qdel(W)
|
||||
return
|
||||
..()
|
||||
|
||||
|
||||
//Please don't clutter the parent storage item with stupid hacks.
|
||||
can_be_inserted(obj/item/W as obj, stop_messages = 0)
|
||||
if(istype(W, /obj/item/weapon/storage/backpack/holding))
|
||||
@@ -74,7 +75,6 @@
|
||||
icon_state = "giftbag0"
|
||||
item_state = "giftbag"
|
||||
w_class = 4.0
|
||||
storage_slots = 20
|
||||
max_w_class = 3
|
||||
max_storage_space = 400 // can store a ton of shit!
|
||||
item_state_slots = null
|
||||
|
||||
@@ -34,7 +34,6 @@
|
||||
|
||||
w_class = 4
|
||||
max_w_class = 2
|
||||
storage_slots = 21
|
||||
can_hold = list() // any
|
||||
cant_hold = list(/obj/item/weapon/disk/nuclear)
|
||||
|
||||
@@ -61,7 +60,6 @@
|
||||
|
||||
w_class = 4
|
||||
max_w_class = 2
|
||||
storage_slots = 21
|
||||
can_hold = list() // any
|
||||
cant_hold = list(/obj/item/weapon/disk/nuclear)
|
||||
|
||||
@@ -76,8 +74,7 @@
|
||||
icon_state = "satchel"
|
||||
slot_flags = SLOT_BELT | SLOT_POCKET
|
||||
w_class = 3
|
||||
storage_slots = 50
|
||||
max_storage_space = 200 //Doesn't matter what this is, so long as it's more or equal to storage_slots * ore.w_class
|
||||
max_storage_space = 200
|
||||
max_w_class = 3
|
||||
can_hold = list(/obj/item/weapon/ore)
|
||||
|
||||
@@ -90,8 +87,7 @@
|
||||
name = "plant bag"
|
||||
icon = 'icons/obj/hydroponics_machines.dmi'
|
||||
icon_state = "plantbag"
|
||||
storage_slots = 50; //the number of plant pieces it can carry.
|
||||
max_storage_space = 200 //Doesn't matter what this is, so long as it's more or equal to storage_slots * plants.w_class
|
||||
max_storage_space = 200
|
||||
max_w_class = 3
|
||||
w_class = 2
|
||||
can_hold = list(/obj/item/weapon/reagent_containers/food/snacks/grown,/obj/item/seeds,/obj/item/weapon/grown)
|
||||
@@ -111,6 +107,7 @@
|
||||
|
||||
var/capacity = 300; //the number of sheets it can carry.
|
||||
w_class = 3
|
||||
storage_slots = 7
|
||||
|
||||
allow_quick_empty = 1 // this function is superceded
|
||||
New()
|
||||
@@ -193,7 +190,7 @@
|
||||
var/col_count = min(7,storage_slots) -1
|
||||
if (adjusted_contents > 7)
|
||||
row_num = round((adjusted_contents-1) / 7) // 7 is the maximum allowed width.
|
||||
src.standard_orient_objs(row_num, col_count, numbered_contents)
|
||||
src.slot_orient_objs(row_num, col_count, numbered_contents)
|
||||
return
|
||||
|
||||
|
||||
@@ -248,8 +245,7 @@
|
||||
icon = 'icons/obj/storage.dmi'
|
||||
icon_state = "cashbag"
|
||||
desc = "A bag for carrying lots of cash. It's got a big dollar sign printed on the front."
|
||||
storage_slots = 50; //the number of cash pieces it can carry.
|
||||
max_storage_space = 200 //Doesn't matter what this is, so long as it's more or equal to storage_slots * cash.w_class
|
||||
max_storage_space = 200
|
||||
max_w_class = 3
|
||||
w_class = 2
|
||||
can_hold = list(/obj/item/weapon/coin,/obj/item/weapon/spacecash)
|
||||
|
||||
@@ -4,6 +4,8 @@
|
||||
icon = 'icons/obj/clothing/belts.dmi'
|
||||
icon_state = "utilitybelt"
|
||||
item_state = "utility"
|
||||
storage_slots = 7
|
||||
max_w_class = 3
|
||||
slot_flags = SLOT_BELT
|
||||
attack_verb = list("whipped", "lashed", "disciplined")
|
||||
|
||||
@@ -100,7 +102,6 @@
|
||||
desc = "Can hold security gear like handcuffs and flashes."
|
||||
icon_state = "securitybelt"
|
||||
item_state = "security"
|
||||
storage_slots = 7
|
||||
max_w_class = 3
|
||||
max_storage_space = 28
|
||||
can_hold = list(
|
||||
|
||||
@@ -437,7 +437,6 @@
|
||||
desc = "Drymate brand monkey cubes. Just add water!"
|
||||
icon = 'icons/obj/food.dmi'
|
||||
icon_state = "monkeycubebox"
|
||||
storage_slots = 7
|
||||
can_hold = list(/obj/item/weapon/reagent_containers/food/snacks/monkeycube)
|
||||
New()
|
||||
..()
|
||||
@@ -551,11 +550,10 @@
|
||||
desc = "Eight wrappers of fun! Ages 8 and up. Not suitable for children."
|
||||
icon = 'icons/obj/toy.dmi'
|
||||
icon_state = "spbox"
|
||||
storage_slots = 8
|
||||
can_hold = list(/obj/item/toy/snappop)
|
||||
New()
|
||||
..()
|
||||
for(var/i=1; i <= storage_slots; i++)
|
||||
for(var/i=1; i <= 8; i++)
|
||||
new /obj/item/toy/snappop(src)
|
||||
|
||||
/obj/item/weapon/storage/box/matches
|
||||
@@ -564,14 +562,13 @@
|
||||
icon = 'icons/obj/cigarettes.dmi'
|
||||
icon_state = "matchbox"
|
||||
item_state = "zippo"
|
||||
storage_slots = 10
|
||||
w_class = 1
|
||||
slot_flags = SLOT_BELT
|
||||
can_hold = list(/obj/item/weapon/flame/match)
|
||||
|
||||
New()
|
||||
..()
|
||||
for(var/i=1; i <= storage_slots; i++)
|
||||
for(var/i=1; i <= 10; i++)
|
||||
new /obj/item/weapon/flame/match(src)
|
||||
|
||||
attackby(obj/item/weapon/flame/match/W as obj, mob/user as mob)
|
||||
@@ -589,7 +586,7 @@
|
||||
icon_state = "syringe"
|
||||
New()
|
||||
..()
|
||||
for (var/i; i < storage_slots; i++)
|
||||
for (var/i; i < 7; i++)
|
||||
new /obj/item/weapon/reagent_containers/hypospray/autoinjector(src)
|
||||
|
||||
/obj/item/weapon/storage/box/lights
|
||||
@@ -598,9 +595,7 @@
|
||||
icon_state = "light"
|
||||
desc = "This box is shaped on the inside so that only light tubes and bulbs fit."
|
||||
item_state = "syringe_kit"
|
||||
storage_slots=21
|
||||
can_hold = list(/obj/item/weapon/light/tube, /obj/item/weapon/light/bulb)
|
||||
max_storage_space = 42 //holds 21 items of w_class 2
|
||||
use_to_pickup = 1 // for picking up broken bulbs, not that most people will try
|
||||
|
||||
/obj/item/weapon/storage/box/lights/bulbs/New()
|
||||
@@ -634,8 +629,7 @@
|
||||
icon = 'icons/obj/storage.dmi'
|
||||
icon_state = "portafreezer"
|
||||
item_state = "medicalpack"
|
||||
storage_slots=7
|
||||
max_w_class = 3
|
||||
can_hold = list(/obj/item/organ, /obj/item/weapon/reagent_containers/food, /obj/item/weapon/reagent_containers/glass)
|
||||
max_storage_space = 21
|
||||
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
|
||||
|
||||
@@ -46,7 +46,6 @@
|
||||
icon_state = "eggbox"
|
||||
icon_type = "egg"
|
||||
name = "egg box"
|
||||
storage_slots = 12
|
||||
can_hold = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/egg,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/boiledegg
|
||||
@@ -54,7 +53,7 @@
|
||||
|
||||
/obj/item/weapon/storage/fancy/egg_box/New()
|
||||
..()
|
||||
for(var/i=1; i <= storage_slots; i++)
|
||||
for(var/i=1; i <= 12; i++)
|
||||
new /obj/item/weapon/reagent_containers/food/snacks/egg(src)
|
||||
return
|
||||
|
||||
@@ -69,14 +68,13 @@
|
||||
icon_state = "candlebox5"
|
||||
icon_type = "candle"
|
||||
item_state = "candlebox5"
|
||||
storage_slots = 5
|
||||
throwforce = 2
|
||||
slot_flags = SLOT_BELT
|
||||
|
||||
|
||||
/obj/item/weapon/storage/fancy/candle_box/New()
|
||||
..()
|
||||
for(var/i=1; i <= storage_slots; i++)
|
||||
for(var/i=1; i <= 5; i++)
|
||||
new /obj/item/weapon/flame/candle(src)
|
||||
return
|
||||
|
||||
@@ -90,7 +88,6 @@
|
||||
icon = 'icons/obj/crayons.dmi'
|
||||
icon_state = "crayonbox"
|
||||
w_class = 2.0
|
||||
storage_slots = 6
|
||||
icon_type = "crayon"
|
||||
can_hold = list(
|
||||
/obj/item/weapon/pen/crayon
|
||||
|
||||
@@ -131,7 +131,6 @@
|
||||
/obj/item/weapon/storage/firstaid/surgery
|
||||
name = "surgery kit"
|
||||
desc = "Contains tools for surgery."
|
||||
storage_slots = 10
|
||||
|
||||
/obj/item/weapon/storage/firstaid/surgery/New()
|
||||
..()
|
||||
@@ -161,7 +160,6 @@
|
||||
can_hold = list(/obj/item/weapon/reagent_containers/pill,/obj/item/weapon/dice,/obj/item/weapon/paper)
|
||||
allow_quick_gather = 1
|
||||
use_to_pickup = 1
|
||||
storage_slots = 14
|
||||
use_sound = null
|
||||
|
||||
/obj/item/weapon/storage/pill_bottle/antitox
|
||||
|
||||
@@ -8,7 +8,6 @@
|
||||
w_class = 4
|
||||
max_w_class = 3
|
||||
max_storage_space = 14 //The sum of the w_classes of all the items in this storage item.
|
||||
storage_slots = 4
|
||||
req_access = list(access_armory)
|
||||
var/locked = 1
|
||||
var/broken = 0
|
||||
|
||||
@@ -15,7 +15,6 @@
|
||||
icon = 'icons/obj/food.dmi'
|
||||
icon_state = "donutbox"
|
||||
name = "donut box"
|
||||
storage_slots = 6
|
||||
var/startswith = 6
|
||||
can_hold = list(/obj/item/weapon/reagent_containers/food/snacks/donut)
|
||||
foldable = /obj/item/stack/material/cardboard
|
||||
|
||||
@@ -12,10 +12,16 @@
|
||||
var/list/can_hold = new/list() //List of objects which this item can store (if set, it can't store anything else)
|
||||
var/list/cant_hold = new/list() //List of objects which this item can't store (in effect only if can_hold isn't set)
|
||||
var/list/is_seeing = new/list() //List of mobs which are currently seeing the contents of this item's storage
|
||||
var/max_w_class = 2 //Max size of objects that this object can store (in effect only if can_hold isn't set)
|
||||
var/max_w_class = null //Max size of objects that this object can store (in effect only if can_hold isn't set)
|
||||
var/max_storage_space = 14 //The sum of the storage costs of all the items in this storage item.
|
||||
var/storage_slots = 7 //The number of storage slots in this container.
|
||||
var/storage_slots = null //The number of storage slots in this container.
|
||||
var/obj/screen/storage/boxes = null
|
||||
var/obj/screen/storage/storage_start = null //storage UI
|
||||
var/obj/screen/storage/storage_continue = null
|
||||
var/obj/screen/storage/storage_end = null
|
||||
var/obj/screen/storage/stored_start = null
|
||||
var/obj/screen/storage/stored_continue = null
|
||||
var/obj/screen/storage/stored_end = null
|
||||
var/obj/screen/close/closer = null
|
||||
var/use_to_pickup //Set this to make it possible to use this item in an inverse way, so you can have the item in your hand and click items on the floor to pick them up.
|
||||
var/display_contents_with_number //Set this to make the storage item group contents of the same type and display them as a number.
|
||||
@@ -27,6 +33,12 @@
|
||||
/obj/item/weapon/storage/Destroy()
|
||||
close_all()
|
||||
qdel(boxes)
|
||||
qdel(src.storage_start)
|
||||
qdel(src.storage_continue)
|
||||
qdel(src.storage_end)
|
||||
qdel(src.stored_start)
|
||||
qdel(src.stored_continue)
|
||||
qdel(src.stored_end)
|
||||
qdel(closer)
|
||||
..()
|
||||
|
||||
@@ -90,11 +102,19 @@
|
||||
if(user.s_active)
|
||||
user.s_active.hide_from(user)
|
||||
user.client.screen -= src.boxes
|
||||
user.client.screen -= src.storage_start
|
||||
user.client.screen -= src.storage_continue
|
||||
user.client.screen -= src.storage_end
|
||||
user.client.screen -= src.closer
|
||||
user.client.screen -= src.contents
|
||||
user.client.screen += src.boxes
|
||||
user.client.screen += src.closer
|
||||
user.client.screen += src.contents
|
||||
if(storage_slots)
|
||||
user.client.screen += src.boxes
|
||||
else
|
||||
user.client.screen += src.storage_start
|
||||
user.client.screen += src.storage_continue
|
||||
user.client.screen += src.storage_end
|
||||
user.s_active = src
|
||||
is_seeing |= user
|
||||
return
|
||||
@@ -104,6 +124,9 @@
|
||||
if(!user.client)
|
||||
return
|
||||
user.client.screen -= src.boxes
|
||||
user.client.screen -= src.storage_start
|
||||
user.client.screen -= src.storage_continue
|
||||
user.client.screen -= src.storage_end
|
||||
user.client.screen -= src.closer
|
||||
user.client.screen -= src.contents
|
||||
if(user.s_active == src)
|
||||
@@ -155,7 +178,7 @@
|
||||
return
|
||||
|
||||
//This proc draws out the inventory and places the items on it. It uses the standard position.
|
||||
/obj/item/weapon/storage/proc/standard_orient_objs(var/rows, var/cols, var/list/obj/item/display_contents)
|
||||
/obj/item/weapon/storage/proc/slot_orient_objs(var/rows, var/cols, var/list/obj/item/display_contents)
|
||||
var/cx = 4
|
||||
var/cy = 2+rows
|
||||
src.boxes.screen_loc = "4:16,2:16 to [4+cols]:16,[2+rows]:16"
|
||||
@@ -181,6 +204,50 @@
|
||||
src.closer.screen_loc = "[4+cols+1]:16,2:16"
|
||||
return
|
||||
|
||||
/obj/item/weapon/storage/proc/space_orient_objs(var/list/obj/item/display_contents)
|
||||
|
||||
var/storage_cap_width = 2 //length of sprite for storage box start and end
|
||||
var/stored_cap_width = 4
|
||||
var/storage_width = min(max_storage_space*8,284)
|
||||
|
||||
storage_start.overlays.Cut()
|
||||
|
||||
var/matrix/M = matrix()
|
||||
M.Scale((storage_width-storage_cap_width*2+3)/32,1)
|
||||
src.storage_continue.transform = M
|
||||
|
||||
src.storage_start.screen_loc = "4:16,2:16"
|
||||
src.storage_continue.screen_loc = "4:[storage_cap_width+(storage_width-storage_cap_width*2)/2+2],2:16"
|
||||
src.storage_end.screen_loc = "4:[19+storage_width-storage_cap_width],2:16"
|
||||
|
||||
var/startpoint = 0
|
||||
var/endpoint = 1
|
||||
|
||||
for(var/obj/item/O in contents)
|
||||
startpoint = endpoint + 1
|
||||
endpoint += storage_width * O.get_storage_cost()/max_storage_space
|
||||
|
||||
var/matrix/M_start = matrix()
|
||||
var/matrix/M_continue = matrix()
|
||||
var/matrix/M_end = matrix()
|
||||
M_start.Translate(startpoint,0)
|
||||
M_continue.Scale((endpoint-startpoint-stored_cap_width*2)/32,1)
|
||||
M_continue.Translate(startpoint+stored_cap_width+(endpoint-startpoint-stored_cap_width*2)/2 - 16,0)
|
||||
M_end.Translate(endpoint-stored_cap_width,0)
|
||||
src.stored_start.transform = M_start
|
||||
src.stored_continue.transform = M_continue
|
||||
src.stored_end.transform = M_end
|
||||
storage_start.overlays += src.stored_start
|
||||
storage_start.overlays += src.stored_continue
|
||||
storage_start.overlays += src.stored_end
|
||||
|
||||
O.screen_loc = "4:[round((startpoint+endpoint)/2)+2],2:16"
|
||||
O.maptext = ""
|
||||
O.layer = 20
|
||||
|
||||
src.closer.screen_loc = "4:[storage_width+19],2:16"
|
||||
return
|
||||
|
||||
/datum/numbered_display
|
||||
var/obj/item/sample_object
|
||||
var/number
|
||||
@@ -212,12 +279,14 @@
|
||||
adjusted_contents++
|
||||
numbered_contents.Add( new/datum/numbered_display(I) )
|
||||
|
||||
//var/mob/living/carbon/human/H = user
|
||||
var/row_num = 0
|
||||
var/col_count = min(7,storage_slots) -1
|
||||
if (adjusted_contents > 7)
|
||||
row_num = round((adjusted_contents-1) / 7) // 7 is the maximum allowed width.
|
||||
src.standard_orient_objs(row_num, col_count, numbered_contents)
|
||||
if(storage_slots == null)
|
||||
src.space_orient_objs(numbered_contents)
|
||||
else
|
||||
var/row_num = 0
|
||||
var/col_count = min(7,storage_slots) -1
|
||||
if (adjusted_contents > 7)
|
||||
row_num = round((adjusted_contents-1) / 7) // 7 is the maximum allowed width.
|
||||
src.slot_orient_objs(row_num, col_count, numbered_contents)
|
||||
return
|
||||
|
||||
//This proc return 1 if the item can be picked up and 0 if it can't.
|
||||
@@ -227,7 +296,7 @@
|
||||
|
||||
if(src.loc == W)
|
||||
return 0 //Means the item is already in the storage item
|
||||
if(contents.len >= storage_slots)
|
||||
if(storage_slots != null && contents.len >= storage_slots)
|
||||
if(!stop_messages)
|
||||
usr << "<span class='notice'>[src] is full, make some space.</span>"
|
||||
return 0 //Storage item is full
|
||||
@@ -244,9 +313,9 @@
|
||||
usr << "<span class='notice'>[src] cannot hold [W].</span>"
|
||||
return 0
|
||||
|
||||
if (W.w_class > max_w_class)
|
||||
if (max_w_class != null && W.w_class > max_w_class)
|
||||
if(!stop_messages)
|
||||
usr << "<span class='notice'>[W] is too big for this [src].</span>"
|
||||
usr << "<span class='notice'>[W] is too long for this [src].</span>"
|
||||
return 0
|
||||
|
||||
var/total_storage_space = W.get_storage_cost()
|
||||
@@ -255,7 +324,7 @@
|
||||
|
||||
if(total_storage_space > max_storage_space)
|
||||
if(!stop_messages)
|
||||
usr << "<span class='notice'>[src] is full, make some space.</span>"
|
||||
usr << "<span class='notice'>[src] is too full, make some space.</span>"
|
||||
return 0
|
||||
|
||||
if(W.w_class >= src.w_class && (istype(W, /obj/item/weapon/storage)))
|
||||
@@ -418,12 +487,48 @@
|
||||
else
|
||||
verbs -= /obj/item/weapon/storage/verb/toggle_gathering_mode
|
||||
|
||||
spawn(5)
|
||||
var/total_storage_space = 0
|
||||
for(var/obj/item/I in contents)
|
||||
total_storage_space += I.get_storage_cost()
|
||||
max_storage_space = max(total_storage_space,max_storage_space) //prevents spawned containers from being too small for their contents
|
||||
|
||||
src.boxes = new /obj/screen/storage( )
|
||||
src.boxes.name = "storage"
|
||||
src.boxes.master = src
|
||||
src.boxes.icon_state = "block"
|
||||
src.boxes.screen_loc = "7,7 to 10,8"
|
||||
src.boxes.layer = 19
|
||||
|
||||
src.storage_start = new /obj/screen/storage( )
|
||||
src.storage_start.name = "storage"
|
||||
src.storage_start.master = src
|
||||
src.storage_start.icon_state = "storage_start"
|
||||
src.storage_start.screen_loc = "7,7 to 10,8"
|
||||
src.storage_start.layer = 19
|
||||
src.storage_continue = new /obj/screen/storage( )
|
||||
src.storage_continue.name = "storage"
|
||||
src.storage_continue.master = src
|
||||
src.storage_continue.icon_state = "storage_continue"
|
||||
src.storage_continue.screen_loc = "7,7 to 10,8"
|
||||
src.storage_continue.layer = 19
|
||||
src.storage_end = new /obj/screen/storage( )
|
||||
src.storage_end.name = "storage"
|
||||
src.storage_end.master = src
|
||||
src.storage_end.icon_state = "storage_end"
|
||||
src.storage_end.screen_loc = "7,7 to 10,8"
|
||||
src.storage_end.layer = 19
|
||||
|
||||
src.stored_start = new /obj //we just need these to hold the icon
|
||||
src.stored_start.icon_state = "stored_start"
|
||||
src.stored_start.layer = 19
|
||||
src.stored_continue = new /obj
|
||||
src.stored_continue.icon_state = "stored_continue"
|
||||
src.stored_continue.layer = 19
|
||||
src.stored_end = new /obj
|
||||
src.stored_end.icon_state = "stored_end"
|
||||
src.stored_end.layer = 19
|
||||
|
||||
src.closer = new /obj/screen/close( )
|
||||
src.closer.master = src
|
||||
src.closer.icon_state = "x"
|
||||
@@ -481,4 +586,20 @@
|
||||
return depth
|
||||
|
||||
/obj/item/proc/get_storage_cost()
|
||||
return 2**(w_class-1) //1,2,4,8,16,...
|
||||
if (storage_cost)
|
||||
return storage_cost
|
||||
else
|
||||
if(w_class == 1)
|
||||
return 1
|
||||
if(w_class == 2)
|
||||
return 2
|
||||
if(w_class == 3)
|
||||
return 4
|
||||
if(w_class == 4)
|
||||
return 8
|
||||
if(w_class == 5)
|
||||
return 16
|
||||
else
|
||||
return 1000
|
||||
|
||||
//return 2**(w_class-1) //1,2,4,8,16,...
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
throw_range = 7
|
||||
w_class = 4
|
||||
max_w_class = 3
|
||||
max_storage_space = 14 //can hold 7 w_class-2 items or up to 3 w_class-3 items (with 1 w_class-2 item as change).
|
||||
max_storage_space = 14 //enough to hold all starting contents
|
||||
origin_tech = list(TECH_COMBAT = 1)
|
||||
attack_verb = list("robusted")
|
||||
|
||||
|
||||
@@ -127,7 +127,6 @@
|
||||
/obj/item/weapon/storage/box/syndie_kit/chameleon
|
||||
name = "chameleon kit"
|
||||
desc = "Comes with all the clothes you need to impersonate most people. Acting lessons sold seperately."
|
||||
storage_slots = 10
|
||||
|
||||
/obj/item/weapon/storage/box/syndie_kit/chameleon/New()
|
||||
..()
|
||||
|
||||
@@ -77,13 +77,13 @@ var/list/slot_equipment_priority = list( \
|
||||
// Try put it in their backpack
|
||||
if(istype(src.back,/obj/item/weapon/storage))
|
||||
var/obj/item/weapon/storage/backpack = src.back
|
||||
if(backpack.contents.len < backpack.storage_slots)
|
||||
newitem.loc = src.back
|
||||
if(backpack.can_be_inserted(newitem, 1))
|
||||
newitem.loc = backpack
|
||||
return 1
|
||||
|
||||
// Try to place it in any item that can store stuff, on the mob.
|
||||
for(var/obj/item/weapon/storage/S in src.contents)
|
||||
if (S.contents.len < S.storage_slots)
|
||||
if(S.can_be_inserted(newitem, 1))
|
||||
newitem.loc = S
|
||||
return 1
|
||||
return 0
|
||||
|
||||
@@ -598,7 +598,7 @@
|
||||
icon = 'icons/obj/lighting.dmi'
|
||||
force = 2
|
||||
throwforce = 5
|
||||
w_class = 2
|
||||
w_class = 1
|
||||
var/status = 0 // LIGHT_OK, LIGHT_BURNED or LIGHT_BROKEN
|
||||
var/base_state
|
||||
var/switchcount = 0 // number of times switched
|
||||
|
||||
@@ -30,7 +30,6 @@
|
||||
icon_state = "satchel"
|
||||
slot_flags = SLOT_BELT | SLOT_POCKET
|
||||
w_class = 3
|
||||
storage_slots = 50
|
||||
max_storage_space = 200 //Doesn't matter what this is, so long as it's more or equal to storage_slots * ore.w_class
|
||||
max_storage_space = 200
|
||||
max_w_class = 3
|
||||
can_hold = list(/obj/item/weapon/fossil)
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
author: RavingManiac
|
||||
|
||||
delete-after: True
|
||||
|
||||
changes:
|
||||
- rscadd: "Storage in backpacks, boxes and other containers is now capacity-based. Some containers like belts remain slot-based."
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 165 KiB After Width: | Height: | Size: 165 KiB |
Reference in New Issue
Block a user