We object pool grille now.

This commit is contained in:
ESwordTheCat
2014-04-07 08:03:42 +08:00
parent 968bd301d7
commit 47c989ffad
3 changed files with 22 additions and 4 deletions

View File

@@ -44,6 +44,7 @@ var/turf/sekrit = locate(1, 1, CENTCOMM_Z)
// List reference for pools.
var/list/shardPool
var/list/plasmaShardPool
var/list/grillePool
/*
* @args
@@ -70,6 +71,15 @@ var/list/plasmaShardPool
if (0 == plasmaShardPool.len)
plasmaShardPool = null
if (/obj/structure/grille)
if (isnull(grillePool))
return new /obj/structure/grille()
. = grillePool[FIRST_OBJECT]
grillePool = grillePool - .
if (0 == grillePool.len)
grillePool = null
#undef FIRST_OBJECT
/*
@@ -92,3 +102,10 @@ var/list/plasmaShardPool
var /obj/item/weapon/shard/plasma/Plasma = A
Plasma.loc = sekrit
plasmaShardPool = plasmaShardPool + Plasma
if (/obj/structure/grille)
if (isnull(grillePool))
grillePool = new /list()
var /obj/structure/grille/Grille = A
Grille.loc = sekrit
grillePool = grillePool + Grille

View File

@@ -64,8 +64,9 @@
usr << "\blue Assembling grille..."
if (!do_after(usr, 10))
return
var/obj/structure/grille/F = new /obj/structure/grille/ ( usr.loc )
var /obj/structure/grille/Grille = getFromPool(/obj/structure/grille)
Grille.loc = loc
usr << "\blue You assemble a grille"
F.add_fingerprint(usr)
Grille.add_fingerprint(usr)
use(2)
return

View File

@@ -111,7 +111,7 @@
if(!shock(user, 100))
playsound(loc, 'sound/items/Wirecutter.ogg', 100, 1)
new /obj/item/stack/rods(loc, 2)
del(src)
returnToPool(src)
else if((isscrewdriver(W)) && (istype(loc, /turf/simulated) || anchored))
if(!shock(user, 90))
playsound(loc, 'sound/items/Screwdriver.ogg', 100, 1)
@@ -191,7 +191,7 @@
else
if(health <= -6)
new /obj/item/stack/rods(loc)
del(src)
returnToPool(src)
return
return