Limits body/cryo bags to a single mob.

This commit is contained in:
PsiOmega
2014-09-02 18:29:41 +02:00
parent 82092198ed
commit e4bffb2d76
2 changed files with 46 additions and 26 deletions

View File

@@ -17,6 +17,12 @@
var/open_sound = 'sound/machines/click.ogg'
var/close_sound = 'sound/machines/click.ogg'
var/store_misc = 1
var/store_items = 1
var/store_mobs = 1
var/const/mob_size = 15
/obj/structure/closet/New()
..()
spawn(1)
@@ -79,23 +85,41 @@
return 0
var/stored_units = 0
var/mob_size = 15
//Cham Projector Exception
if(store_misc)
stored_units = store_misc(stored_units)
if(store_items)
stored_units = store_items(stored_units)
if(store_mobs)
stored_units = store_mobs(stored_units)
src.icon_state = src.icon_closed
src.opened = 0
playsound(src.loc, close_sound, 15, 1, -3)
density = 1
return 1
//Cham Projector Exception
/obj/structure/closet/proc/store_misc(var/stored_units)
for(var/obj/effect/dummy/chameleon/AD in src.loc)
if(stored_units >= storage_capacity)
if(stored_units > storage_capacity)
break
AD.loc = src
stored_units++
return stored_units
/obj/structure/closet/proc/store_items(var/stored_units)
for(var/obj/item/I in src.loc)
var/item_size = Ceiling(I.w_class / 2)
if(stored_units + item_size >= storage_capacity)
if(stored_units + item_size > storage_capacity)
continue
if(!I.anchored)
I.loc = src
stored_units += item_size
return stored_units
/obj/structure/closet/proc/store_mobs(var/stored_units)
for(var/mob/M in src.loc)
if(stored_units + mob_size > storage_capacity)
break
@@ -110,13 +134,7 @@
M.loc = src
stored_units += mob_size
src.icon_state = src.icon_closed
src.opened = 0
playsound(src.loc, close_sound, 15, 1, -3)
density = 1
return 1
return stored_units
/obj/structure/closet/proc/toggle(mob/user as mob)
if(!(src.opened ? src.close() : src.open()))