mirror of
https://github.com/vgstation-coders/vgstation13.git
synced 2025-12-10 18:32:03 +00:00
DangerCon Update:
- Fire will now melt through floors when it reaches a certain temperature. Technical info: - Floors have a heat capacity of 10000 degrees, once a fire gets hotter than that, it will set the turf's 'to_be_destroyed' variable to 1. It also updates a variable which shows how much fire-induced temperature a turf has had to sustain. Once the fire burns up, it will check if the turf's (loc's) to_be_destroyed variable is not 0, if it is it will calculate the chance for it getting destroyed (foruma in hotspot's del proc) and either replace it with space or not, depending on the probability result. git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1405 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
@@ -130,6 +130,15 @@ obj
|
||||
else
|
||||
icon_state = "1"
|
||||
|
||||
if(temperature > location.max_fire_temperature_sustained)
|
||||
location.max_fire_temperature_sustained = temperature
|
||||
|
||||
if(temperature > location.heat_capacity)
|
||||
location.to_be_destroyed = 1
|
||||
/*if(prob(25))
|
||||
location.ReplaceWithSpace()
|
||||
return 0*/
|
||||
|
||||
return 1
|
||||
|
||||
New()
|
||||
@@ -138,10 +147,20 @@ obj
|
||||
sd_SetLuminosity(3)
|
||||
|
||||
Del()
|
||||
if (!istype(loc, /turf/space))
|
||||
if (istype(loc, /turf/simulated))
|
||||
var/turf/simulated/T = loc
|
||||
loc:active_hotspot = null
|
||||
src.sd_SetLuminosity(0)
|
||||
|
||||
var/chance_of_deletion = min(100, T.max_fire_temperature_sustained / T.heat_capacity * 8)
|
||||
|
||||
if(T.to_be_destroyed)
|
||||
if(prob(chance_of_deletion))
|
||||
T.ReplaceWithSpace()
|
||||
else
|
||||
T.to_be_destroyed = 0
|
||||
T.max_fire_temperature_sustained = 0
|
||||
|
||||
loc = null
|
||||
|
||||
|
||||
..()
|
||||
@@ -358,7 +358,8 @@ turf
|
||||
air.react()
|
||||
|
||||
if(active_hotspot)
|
||||
active_hotspot.process(possible_fire_spreads)
|
||||
if (!active_hotspot.process(possible_fire_spreads))
|
||||
return 0
|
||||
|
||||
if(air.temperature > MINIMUM_TEMPERATURE_START_SUPERCONDUCTION)
|
||||
consider_superconductivity(starting = 1)
|
||||
|
||||
@@ -43,6 +43,27 @@
|
||||
var/thermite = 0
|
||||
oxygen = MOLES_O2STANDARD
|
||||
nitrogen = MOLES_N2STANDARD
|
||||
var/to_be_destroyed = 0 //Used for fire, if a melting temperature was reached, it will be destroyed
|
||||
var/max_fire_temperature_sustained = 0 //The max temperature of the fire which it was subjected to
|
||||
|
||||
/turf/simulated/floor
|
||||
name = "floor"
|
||||
icon = 'floors.dmi'
|
||||
icon_state = "floor"
|
||||
thermal_conductivity = 0.040
|
||||
heat_capacity = 10000
|
||||
var/broken = 0
|
||||
var/burnt = 0
|
||||
|
||||
airless
|
||||
name = "airless floor"
|
||||
oxygen = 0.01
|
||||
nitrogen = 0.01
|
||||
temperature = TCMB
|
||||
|
||||
New()
|
||||
..()
|
||||
name = "floor"
|
||||
|
||||
/turf/simulated/floor/engine
|
||||
name = "reinforced floor"
|
||||
@@ -57,26 +78,6 @@
|
||||
nitrogen = 0.001
|
||||
temperature = TCMB
|
||||
|
||||
|
||||
/turf/simulated/floor
|
||||
name = "floor"
|
||||
icon = 'floors.dmi'
|
||||
icon_state = "floor"
|
||||
thermal_conductivity = 0.040
|
||||
heat_capacity = 225000
|
||||
var/broken = 0
|
||||
var/burnt = 0
|
||||
|
||||
airless
|
||||
name = "airless floor"
|
||||
oxygen = 0.01
|
||||
nitrogen = 0.01
|
||||
temperature = TCMB
|
||||
|
||||
New()
|
||||
..()
|
||||
name = "floor"
|
||||
|
||||
/turf/simulated/floor/plating
|
||||
name = "plating"
|
||||
icon_state = "plating"
|
||||
|
||||
Reference in New Issue
Block a user