From 221901ba3a010bfefebec1079cb5f58855ea3cde Mon Sep 17 00:00:00 2001 From: SkyMarshal Date: Thu, 11 Apr 2013 12:14:47 -0700 Subject: [PATCH] fuel is now a bit less derpy. Napalm produces volatile fuel, and less of it. Fire consumes more welding fuel. --- code/ZAS/Fire.dm | 2 +- .../objects/effects/decals/Cleanable/fuel.dm | 16 +++++++++------- code/modules/reagents/Chemistry-Recipes.dm | 2 +- 3 files changed, 11 insertions(+), 9 deletions(-) diff --git a/code/ZAS/Fire.dm b/code/ZAS/Fire.dm index e62688d0df7..a2242ad8aa9 100644 --- a/code/ZAS/Fire.dm +++ b/code/ZAS/Fire.dm @@ -223,7 +223,7 @@ datum/gas_mixture/proc/zburn(obj/effect/decal/cleanable/liquid_fuel/liquid) if(fuel.moles <= 0) del fuel if(liquid) - liquid.amount -= liquid.amount*consumed_gas/(15*total_reactants) + liquid.amount -= liquid.amount*consumed_gas/(total_reactants) if(liquid.amount <= 0) del liquid update_values() diff --git a/code/game/objects/effects/decals/Cleanable/fuel.dm b/code/game/objects/effects/decals/Cleanable/fuel.dm index e4c5ae42205..5cc3ebd3fe0 100644 --- a/code/game/objects/effects/decals/Cleanable/fuel.dm +++ b/code/game/objects/effects/decals/Cleanable/fuel.dm @@ -26,10 +26,11 @@ obj/effect/decal/cleanable/liquid_fuel if(!istype(S)) return for(var/d in cardinal) if(rand(25)) - var/turf/simulated/O = get_step(src,d) - if(O.CanPass(target = get_turf(src), air_group = 1)) - if(!locate(/obj/effect/decal/cleanable/liquid_fuel) in O) - new/obj/effect/decal/cleanable/liquid_fuel(O,amount*0.25) + var/turf/simulated/target = get_step(src,d) + var/turf/simulated/origin = get_turf(src) + if(origin.CanPass(null, target, 0, 0) && target.CanPass(null, origin, 0, 0)) + if(!locate(/obj/effect/decal/cleanable/liquid_fuel) in target) + new/obj/effect/decal/cleanable/liquid_fuel(target, amount*0.25) amount *= 0.75 flamethrower_fuel @@ -38,18 +39,19 @@ obj/effect/decal/cleanable/liquid_fuel New(newLoc, amt = 1, d = 0) dir = d //Setting this direction means you won't get torched by your own flamethrower. . = ..() + Spread() //The spread for flamethrower fuel is much more precise, to create a wide fire pattern. if(amount < 0.1) return var/turf/simulated/S = loc if(!istype(S)) return - for(var/d in list(turn(dir,90),turn(dir,-90))) + for(var/d in list(turn(dir,90),turn(dir,-90), dir)) var/turf/simulated/O = get_step(S,d) if(locate(/obj/effect/decal/cleanable/liquid_fuel/flamethrower_fuel) in O) continue - if(O.CanPass(target = get_turf(src), air_group = 1)) + if(O.CanPass(null, S, 0, 0) && S.CanPass(null, O, 0, 0)) new/obj/effect/decal/cleanable/liquid_fuel/flamethrower_fuel(O,amount*0.25,d) O.hotspot_expose((T20C*2) + 380,500) //Light flamethrower fuel on fire immediately. - amount *= 0.5 + amount *= 0.25 diff --git a/code/modules/reagents/Chemistry-Recipes.dm b/code/modules/reagents/Chemistry-Recipes.dm index 811f04e425d..861529035b8 100644 --- a/code/modules/reagents/Chemistry-Recipes.dm +++ b/code/modules/reagents/Chemistry-Recipes.dm @@ -386,7 +386,7 @@ datum var/datum/gas_mixture/napalm = new - napalm.toxins = created_volume*10 + napalm.volatile_fuel = created_volume napalm.temperature = 400+T0C napalm.update_values()