- Chemistry smoke now is laced with everything inside of the beaker/container. Using a new smoke icon, the smoke will exhibit a color combination of the reagents just like normal, so you can easily identify a cloud of pacid smoke from dexalin smoke. (space drugs smoke, anyone?)

- A new /datum/reagents proc called copy_to() works like trans_to() except that it "copies" reagents instead of transferring them.

- Modified all breathing mobs to support inhaling chemical smoke reagents.


If you are a-hatin', please leave all your hate in this revision page. This is a very significant game change, and to be honest I only briefly mentioned it over IRC a couple of times (however the idea was positively received).

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2033 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
vageyenaman@gmail.com
2011-08-21 05:07:00 +00:00
parent 6a4b3e236b
commit 73a73a8211
10 changed files with 2771 additions and 2550 deletions
@@ -211,6 +211,16 @@
breath = loc.remove_air(breath_moles)
// Handle chem smoke effects -- Doohl
for(var/obj/effects/chem_smoke/smoke in view(2, src))
if(smoke.reagents.total_volume)
smoke.reagents.reaction(src, INGEST)
spawn(5)
if(smoke)
smoke.reagents.copy_to(src, 10) // I dunno, maybe the reagents enter the blood stream through the lungs?
break // If they breathe in the nasty stuff once, no need to continue checking
else //Still give containing object the chance to interact
if(istype(loc, /obj/))
var/obj/location_as_object = loc
@@ -192,6 +192,16 @@
breath = loc.remove_air(breath_moles)
// Handle chem smoke effects -- Doohl
for(var/obj/effects/chem_smoke/smoke in view(2, src))
if(smoke.reagents.total_volume)
smoke.reagents.reaction(src, INGEST)
spawn(5)
if(smoke)
smoke.reagents.copy_to(src, 10) // I dunno, maybe the reagents enter the blood stream through the lungs?
break // If they breathe in the nasty stuff once, no need to continue checking
else //Still give containing object the chance to interact
if(istype(loc, /obj/))
var/obj/location_as_object = loc
@@ -282,6 +282,15 @@
breath = loc.remove_air(breath_moles)
// Handle chem smoke effects -- Doohl
for(var/obj/effects/chem_smoke/smoke in view(2, src))
if(smoke.reagents.total_volume)
smoke.reagents.reaction(src, INGEST)
spawn(5)
if(smoke)
smoke.reagents.copy_to(src, 10) // I dunno, maybe the reagents enter the blood stream through the lungs?
break // If they breathe in the nasty stuff once, no need to continue checking
else //Still give containing object the chance to interact
if(istype(loc, /obj/))
var/obj/location_as_object = loc
@@ -407,6 +416,7 @@
fire_alert = 0
//Temporary fixes to the alerts.
return 1
@@ -202,6 +202,16 @@
var/breath_moles = environment.total_moles()*BREATH_PERCENTAGE
breath = loc.remove_air(breath_moles)
// Handle chem smoke effects -- Doohl
for(var/obj/effects/chem_smoke/smoke in view(2, src))
if(smoke.reagents.total_volume)
smoke.reagents.reaction(src, INGEST)
spawn(5)
if(smoke)
smoke.reagents.copy_to(src, 10) // I dunno, maybe the reagents enter the blood stream through the lungs?
break // If they breathe in the nasty stuff once, no need to continue checking
else //Still give containing object the chance to interact
if(istype(loc, /obj/))
var/obj/location_as_object = loc