Fixes #9453 and fixes #10614

This commit is contained in:
mwerezak
2015-08-16 15:39:02 -04:00
parent 00362809b1
commit 13c760c5bb
3 changed files with 14 additions and 19 deletions

View File

@@ -733,17 +733,13 @@
if (usr.stat != 0)
return
if (holdingitems && holdingitems.len == 0)
if (!holdingitems || holdingitems.len == 0)
return
for(var/obj/item/O in holdingitems)
O.loc = src.loc
holdingitems -= O
holdingitems = list()
/obj/machinery/reagentgrinder/proc/remove_object(var/obj/item/O)
holdingitems -= O
qdel(O)
holdingitems.Cut()
/obj/machinery/reagentgrinder/proc/grind()
@@ -766,10 +762,6 @@
// Process.
for (var/obj/item/O in holdingitems)
if(!O || !istype(O))
holdingitems -= null
continue
var/remaining_volume = beaker.reagents.maximum_volume - beaker.reagents.total_volume
if(remaining_volume <= 0)
break
@@ -780,13 +772,16 @@
var/amount_to_take = max(0,min(stack.amount,round(remaining_volume/REAGENTS_PER_SHEET)))
if(amount_to_take)
stack.use(amount_to_take)
if(deleted(stack))
holdingitems -= stack
beaker.reagents.add_reagent(sheet_reagents[stack.type], (amount_to_take*REAGENTS_PER_SHEET))
continue
if(O.reagents)
O.reagents.trans_to(beaker, min(O.reagents.total_volume, remaining_volume))
if(O.reagents.total_volume == 0)
remove_object(O)
holdingitems -= O
qdel(O)
if (beaker.reagents.total_volume >= beaker.reagents.maximum_volume)
break