fire update

enabled fire to destroy floors and objects
also tweaked the behaviour of glass to enable glasslocks against fire
also made fire extingiushers stop being useless
This commit is contained in:
LordBraindead
2013-07-14 21:20:45 +02:00
parent b777ae4bac
commit 08d2e22220
13 changed files with 264 additions and 227 deletions
@@ -103,6 +103,9 @@ var/global/list/datum/stack_recipe/uranium_recipes = list ( \
origin_tech = "plasmatech=2;materials=2"
perunit = 2000
sheettype = "plasma"
fire_min_burn_temp = 500
fire_burn_multiplier = 3 //made of burnium
fire_fuel_worth = 0
var/global/list/datum/stack_recipe/plasma_recipes = list ( \
new/datum/stack_recipe("plasma door", /obj/structure/mineral_door/transparent/plasma, 10, one_per_turf = 1, on_floor = 1), \
@@ -114,6 +117,18 @@ var/global/list/datum/stack_recipe/plasma_recipes = list ( \
pixel_y = rand(0,4)-4
..()
/obj/item/stack/sheet/mineral/plasma/fire_burn()
//get location and check if it is in a proper ZAS zone
var/turf/simulated/floor/S = loc
if(S.zone)
var/datum/gas_mixture/air_contents = S.return_air()
if(air_contents)
air_contents.toxins += 20
air_contents.update_values()
amount -= 1
if(amount <= 0)
del src
/obj/item/stack/sheet/mineral/plastic
name = "Plastic"
icon_state = "sheet-plastic"
@@ -124,6 +139,7 @@ var/global/list/datum/stack_recipe/plasma_recipes = list ( \
throw_range = 3
origin_tech = "materials=3"
perunit = 2000
sheettype = "plastic"
var/global/list/datum/stack_recipe/plastic_recipes = list ( \
new/datum/stack_recipe("plastic crate", /obj/structure/closet/pcrate, 10, one_per_turf = 1, on_floor = 1), \
+13 -1
View File
@@ -20,6 +20,10 @@
var/construction_cost = list("metal"=750,"glass"=75)
var/construction_time=100
fire_min_burn_temp = 1000
fire_burn_multiplier = 0.75
fire_fuel_worth = 0
suicide_act(mob/user)
viewers(user) << "\red <b>[user] is licking the electrodes of the [src.name]! It looks like \he's trying to commit suicide.</b>"
return (FIRELOSS)
@@ -111,4 +115,12 @@
maxcharge = 10000
maxcharge = 10000
m_amt = 0
g_amt = 0
g_amt = 0
/obj/item/weapon/cell/fire_burn()
viewers(src) << "\red <b>Charge: [src.charge]</b>"
var/radius = round( (sqrt(charge)/30)+0.5, 1 )
viewers(src) << "\red <b>Radius: [radius]</b>"
if (radius >= 1)
explosion(src.loc,0,0,radius)
..()
+13 -1
View File
@@ -16,6 +16,11 @@
var/integrity = 3
var/volume = 70
m_amt = 3750
fire_min_burn_temp = 800
fire_burn_multiplier = 0.75
fire_fuel_worth = 0
/obj/item/weapon/tank/New()
..()
@@ -261,4 +266,11 @@
integrity--
else if(integrity < 3)
integrity++
integrity++
/obj/item/weapon/tank/fire_burn()
//get location and check if it is in a proper ZAS zone
var/turf/simulated/floor/S = loc
if(S.zone)
S.assume_air(air_contents)
..()