Adds subtype friendly method to populate crates.

This commit is contained in:
PsiOmegaDelta
2016-10-05 16:59:02 +02:00
committed by Yoshax
parent 20c3c43f5f
commit 65b12a10f2
4 changed files with 17 additions and 14 deletions

9
code/_helpers/storage.dm Normal file
View File

@@ -0,0 +1,9 @@
/proc/create_objects_in_loc(var/atom/loc, var/list/item_paths)
if(!istype(loc))
CRASH("Inappropriate loction given.")
if(!istype(item_paths))
CRASH("Inappropriate item path list given.")
for(var/item_path in item_paths)
for(var/i = 1 to max(1, item_paths[item_path]))
new item_path(loc)

View File

@@ -21,7 +21,13 @@
var/store_items = 1
var/store_mobs = 1
var/list/will_contain
/obj/structure/closet/initialize()
..()
if(will_contain)
create_objects_in_loc(src, will_contain)
if(!opened) // if closed, any item at the crate's loc is put in the contents
var/obj/item/I
for(I in src.loc)

View File

@@ -8,20 +8,7 @@
icon_broken = "cabinetdetective_broken"
icon_off = "cabinetdetective_broken"
New()
..()
new /obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer( src )
new /obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer( src )
new /obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer( src )
new /obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer( src )
new /obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer( src )
new /obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer( src )
new /obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer( src )
new /obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer( src )
new /obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer( src )
new /obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer( src )
return
will_contain = list(/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer = 10)
/obj/structure/closet/secure_closet/bar/update_icon()
if(broken)