trans_to_ingest now used for consumption of food, drink and pills instead of trans_to. This adds a ten second delay between ingestion and addition of the reagents to the body.

Conflicts:
	code/modules/reagents/Chemistry-Holder.dm
	code/modules/reagents/reagent_containers/food/cans.dm
	code/modules/reagents/reagent_containers/food/condiment.dm
This commit is contained in:
RavingManiac
2014-04-05 17:39:14 +02:00
committed by alex-gh
parent c74ff2d653
commit 9bea0a097a
6 changed files with 59 additions and 11 deletions
+49 -1
View File
@@ -121,7 +121,55 @@ datum
src.handle_reactions()
return amount
copy_to(var/obj/target, var/amount=1, var/multiplier=1, var/preserve_data=1)
trans_to_ingest(var/obj/target, var/amount=1, var/multiplier=1, var/preserve_data=1)//For items ingested. A delay is added between ingestion and addition of the reagents
if (!target )
return
if (!target.reagents || src.total_volume<=0)
return
/*var/datum/reagents/R = target.reagents
var/obj/item/weapon/reagent_containers/glass/beaker/noreact/B = new /obj/item/weapon/reagent_containers/glass/beaker/noreact //temporary holder
amount = min(min(amount, src.total_volume), R.maximum_volume-R.total_volume)
var/part = amount / src.total_volume
var/trans_data = null
for (var/datum/reagent/current_reagent in src.reagent_list)
if (!current_reagent)
continue
//if (current_reagent.id == "blood" && ishuman(target))
// var/mob/living/carbon/human/H = target
// H.inject_blood(my_atom, amount)
// continue
var/current_reagent_transfer = current_reagent.volume * part
if(preserve_data)
trans_data = current_reagent.data
B.add_reagent(current_reagent.id, (current_reagent_transfer * multiplier), trans_data, safety = 1) //safety checks on these so all chemicals are transferred
src.remove_reagent(current_reagent.id, current_reagent_transfer, safety = 1) // to the target container before handling reactions
src.update_total()
B.update_total()
B.handle_reactions()
src.handle_reactions()*/
var/obj/item/weapon/reagent_containers/glass/beaker/noreact/B = new /obj/item/weapon/reagent_containers/glass/beaker/noreact //temporary holder
B.volume = 1000
var/datum/reagents/BR = B.reagents
var/datum/reagents/R = target.reagents
amount = min(min(amount, src.total_volume), R.maximum_volume-R.total_volume)
src.trans_to(B, amount)
spawn(100)
BR.trans_to(target, BR.total_volume)
del(B)
return amount
copy_to(var/obj/target, var/amount=1, var/multiplier=1, var/preserve_data=1, var/safety = 0)
if(!target)
return
if(!target.reagents || src.total_volume<=0)
@@ -33,7 +33,7 @@
if(reagents.total_volume)
reagents.reaction(M, INGEST)
spawn(5)
reagents.trans_to(M, gulp_size)
reagents.trans_to_ingest(M, gulp_size)
playsound(M.loc,'sound/items/drink.ogg', rand(10,50), 1)
return 1
@@ -55,7 +55,7 @@
if(reagents.total_volume)
reagents.reaction(M, INGEST)
spawn(5)
reagents.trans_to(M, gulp_size)
reagents.trans_to_ingest(M, gulp_size)
if(isrobot(user)) //Cyborg modules that include drinks automatically refill themselves, but drain the borg's cell
var/mob/living/silicon/robot/bro = user
@@ -191,7 +191,7 @@
/obj/item/weapon/reagent_containers/food/drinks/cans/thirteenloko
name = "Thirteen Loko"
desc = "The CMO has advised crew members that consumption of Thirteen Loko may result in seizures, blindness, drunkeness, or even death. Please Drink Responsably."
desc = "The CMO has advised crew members that consumption of Thirteen Loko may result in seizures, blindness, drunkeness, or even death. Please Drink Responsibly."
icon_state = "thirteen_loko"
New()
..()
@@ -36,7 +36,7 @@
if(reagents.total_volume)
reagents.reaction(M, INGEST)
spawn(5)
reagents.trans_to(M, 10)
reagents.trans_to_ingest(M, 10)
playsound(M.loc,'sound/items/drink.ogg', rand(10,50), 1)
return 1
@@ -31,7 +31,7 @@
if(reagents.total_volume)
reagents.reaction(M, INGEST)
spawn(5)
reagents.trans_to(M, gulp_size)
reagents.trans_to_ingest(M, gulp_size)
playsound(M.loc,'sound/items/drink.ogg', rand(10,50), 1)
return 1
@@ -54,7 +54,7 @@
if(reagents.total_volume)
reagents.reaction(M, INGEST)
spawn(5)
reagents.trans_to(M, gulp_size)
reagents.trans_to_ingest(M, gulp_size)
if(isrobot(user)) //Cyborg modules that include drinks automatically refill themselves, but drain the borg's cell
var/mob/living/silicon/robot/bro = user
@@ -91,9 +91,9 @@
var/temp_bitesize = max(reagents.total_volume /2, bitesize)
reagents.trans_to(M, temp_bitesize)
*/
reagents.trans_to(M, bitesize)
reagents.trans_to_ingest(M, bitesize)
else
reagents.trans_to(M, reagents.total_volume)
reagents.trans_to_ingest(M, reagents.total_volume)
bitecount++
On_Consume(M)
return 1
@@ -24,7 +24,7 @@
if(reagents.total_volume)
reagents.reaction(M, INGEST)
spawn(5)
reagents.trans_to(M, reagents.total_volume)
reagents.trans_to_ingest(M, reagents.total_volume)
del(src)
else
del(src)
@@ -52,7 +52,7 @@
if(reagents.total_volume)
reagents.reaction(M, INGEST)
spawn(5)
reagents.trans_to(M, reagents.total_volume)
reagents.trans_to_ingest(M, reagents.total_volume)
del(src)
else
del(src)