Re-adds and reworks fusion. (#37384)

add: Fusion is back
add: Fusion now happens with large quantities of hot plasma and CO2, consuming all the plasma rapidly and producing large amounts of energy. Other gases can also effect the performance of the reaction.
add: Fusion now produces radiation. Be careful around reactors.
fix: fixes fusion dividing by zero and destroying everything
code: Gas reactions now have access to where they are occurring
fix: Prevents some other reactions from producing matter from nothing
This commit is contained in:
as334
2018-04-28 02:01:39 -04:00
committed by CitadelStationBot
parent ab3c55ab23
commit 9b36d6c4d9
12 changed files with 94 additions and 59 deletions
@@ -438,7 +438,7 @@
if(hotspot)
var/datum/gas_mixture/lowertemp = T.remove_air(T.air.total_moles())
lowertemp.temperature = max( min(lowertemp.temperature-2000,lowertemp.temperature / 2) ,0)
lowertemp.react()
lowertemp.react(src)
T.assume_air(lowertemp)
qdel(hotspot)
@@ -146,7 +146,7 @@
if(T.air)
var/datum/gas_mixture/G = T.air
G.temperature = max(min(G.temperature-(CT*1000),G.temperature/CT),0)
G.react()
G.react(src)
qdel(hotspot)
var/obj/effect/acid/A = (locate(/obj/effect/acid) in T)
if(A)
@@ -273,7 +273,7 @@
var/datum/gas_mixture/G = T.air
if(G.temperature > T20C)
G.temperature = max(G.temperature/2,T20C)
G.react()
G.react(src)
qdel(hotspot)
/datum/reagent/firefighting_foam/reaction_obj(obj/O, reac_volume)