mirror of
https://github.com/vgstation-coders/vgstation13.git
synced 2025-12-10 10:21:11 +00:00
-Walls, firelocks and glass-less airlocks now stop heat.
-Fire made more deadly, as the flames will add more damage and a fire can spread more quickly. -Fire can break windows now, meaning they can potentially extinguish themselves by opening a window to space. -Increased the delay for atmos to process a cell and airgroup, will help with the lag for 50 player servers. -Minor tweaks were made. --Plasma needing a bit more before displaying its overlay. --Pressure can now damage you at 550 kPA. This was because it wasn't viable to set the pumps to over-pressurize a room and potentially kill people. --High pressure warning shows at 325. git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4869 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
@@ -90,7 +90,7 @@ datum/air_group
|
||||
if (next_check > 0)
|
||||
next_check--
|
||||
return 1
|
||||
next_check += check_delay + rand(0,check_delay/2)
|
||||
next_check += check_delay + rand(max(check_delay, 1)/2,check_delay)
|
||||
check_delay++
|
||||
|
||||
var/turf/simulated/list/border_individual = list()
|
||||
|
||||
@@ -304,7 +304,7 @@ turf
|
||||
if (next_check > 0)
|
||||
next_check--
|
||||
return 1
|
||||
next_check += check_delay + rand(0,check_delay/2)
|
||||
next_check += check_delay + rand(max(check_delay, 1)/2,check_delay)
|
||||
check_delay++
|
||||
|
||||
var/turf/simulated/list/possible_fire_spreads = list()
|
||||
|
||||
@@ -327,8 +327,8 @@ Turf and target are seperate in case you want to teleport some distance from a t
|
||||
if(isAI(src))
|
||||
var/mob/living/silicon/ai/A = src
|
||||
oldname = null//don't bother with the records update crap
|
||||
world << "<b>[newname] is the AI!</b>"
|
||||
world << sound('sound/AI/newAI.ogg')
|
||||
//world << "<b>[newname] is the AI!</b>"
|
||||
//world << sound('sound/AI/newAI.ogg')
|
||||
// Set eyeobj name
|
||||
if(A.eyeobj)
|
||||
A.eyeobj.name = "[newname] (AI Eye)"
|
||||
|
||||
@@ -30,6 +30,9 @@
|
||||
if(density)
|
||||
layer = 3.1 //Above most items if closed
|
||||
explosion_resistance = initial(explosion_resistance)
|
||||
if(opacity)
|
||||
var/turf/T = get_turf(src)
|
||||
T.thermal_conductivity = DOOR_HEAT_TRANSFER_COEFFICIENT
|
||||
else
|
||||
layer = 2.7 //Under all objects if opened. 2.7 due to tables being at 2.6
|
||||
explosion_resistance = 0
|
||||
@@ -38,6 +41,7 @@
|
||||
|
||||
|
||||
Del()
|
||||
density = 0
|
||||
update_nearby_tiles()
|
||||
..()
|
||||
return
|
||||
@@ -253,6 +257,11 @@
|
||||
var/turf/simulated/east = get_step(source,EAST)
|
||||
var/turf/simulated/west = get_step(source,WEST)
|
||||
|
||||
if(src.density && src.opacity)
|
||||
source.thermal_conductivity = DOOR_HEAT_TRANSFER_COEFFICIENT
|
||||
else
|
||||
source.thermal_conductivity = initial(source.thermal_conductivity)
|
||||
|
||||
if(need_rebuild)
|
||||
if(istype(source)) //Rebuild/update nearby group geometry
|
||||
if(source.parent)
|
||||
|
||||
@@ -227,16 +227,23 @@
|
||||
playsound(src.loc, 'sound/items/Crowbar.ogg', 75, 1)
|
||||
user << (state ? "You have pried the window into the frame." : "You have pried the window out of the frame.")
|
||||
else
|
||||
|
||||
var/aforce = W.force
|
||||
if(reinf) aforce /= 2.0
|
||||
if(W.damtype == BRUTE || W.damtype == BURN)
|
||||
src.health = max(0, src.health - aforce)
|
||||
playsound(src.loc, 'sound/effects/Glasshit.ogg', 75, 1)
|
||||
hit(W.force)
|
||||
if (src.health <= 7)
|
||||
src.anchored = 0
|
||||
update_nearby_icons()
|
||||
step(src, get_dir(user, src))
|
||||
else
|
||||
playsound(src.loc, 'sound/effects/Glasshit.ogg', 75, 1)
|
||||
..()
|
||||
return
|
||||
|
||||
/obj/structure/window/proc/hit(var/damage, var/sound_effect = 1)
|
||||
|
||||
if(reinf) damage /= 2.0
|
||||
src.health = max(0, src.health - damage)
|
||||
if(sound_effect)
|
||||
playsound(src.loc, 'sound/effects/Glasshit.ogg', 75, 1)
|
||||
if (src.health <= 0)
|
||||
if (src.dir == SOUTHWEST)
|
||||
var/index = null
|
||||
@@ -251,8 +258,6 @@
|
||||
src.density = 0
|
||||
del(src)
|
||||
return
|
||||
..()
|
||||
return
|
||||
|
||||
|
||||
/obj/structure/window/verb/rotate()
|
||||
@@ -413,6 +418,11 @@
|
||||
|
||||
return
|
||||
|
||||
/obj/structure/window/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume)
|
||||
if(exposed_temperature > T0C + 600)
|
||||
hit(round(exposed_volume / 100), 0)
|
||||
..()
|
||||
|
||||
|
||||
|
||||
/obj/structure/window/basic
|
||||
|
||||
@@ -430,3 +430,8 @@
|
||||
|
||||
|
||||
item.throw_at(target, item.throw_range, item.throw_speed)
|
||||
|
||||
/mob/living/carbon/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume)
|
||||
if(exposed_temperature > CARBON_LIFEFORM_FIRE_RESISTANCE)
|
||||
adjustFireLoss(CARBON_LIFEFORM_FIRE_DAMAGE)
|
||||
..()
|
||||
@@ -16,7 +16,7 @@
|
||||
#define MOLES_O2STANDARD MOLES_CELLSTANDARD*O2STANDARD // O2 standard value (21%)
|
||||
#define MOLES_N2STANDARD MOLES_CELLSTANDARD*N2STANDARD // N2 standard value (79%)
|
||||
|
||||
#define MOLES_PLASMA_VISIBLE 0.5 //Moles in a standard cell after which plasma is visible
|
||||
#define MOLES_PLASMA_VISIBLE 0.7 //Moles in a standard cell after which plasma is visible
|
||||
|
||||
#define BREATH_VOLUME 0.5 //liters in a normal breath
|
||||
#define BREATH_PERCENTAGE BREATH_VOLUME/CELL_VOLUME
|
||||
@@ -25,8 +25,8 @@
|
||||
//Amount of air needed before pass out/suffocation commences
|
||||
|
||||
// Pressure limits.
|
||||
#define HAZARD_HIGH_PRESSURE 750 //This determins at what pressure the ultra-high pressure red icon is displayed. (This one is set as a constant)
|
||||
#define WARNING_HIGH_PRESSURE 525 //This determins when the orange pressure icon is displayed (it is 0.7 * HAZARD_HIGH_PRESSURE)
|
||||
#define HAZARD_HIGH_PRESSURE 550 //This determins at what pressure the ultra-high pressure red icon is displayed. (This one is set as a constant)
|
||||
#define WARNING_HIGH_PRESSURE 325 //This determins when the orange pressure icon is displayed (it is 0.7 * HAZARD_HIGH_PRESSURE)
|
||||
#define WARNING_LOW_PRESSURE 50 //This is when the gray low pressure icon is displayed. (it is 2.5 * HAZARD_LOW_PRESSURE)
|
||||
#define HAZARD_LOW_PRESSURE 20 //This is when the black ultra-low pressure icon is displayed. (This one is set as a constant)
|
||||
|
||||
@@ -81,11 +81,12 @@
|
||||
#define MINIMUM_TEMPERATURE_FOR_SUPERCONDUCTION T20C+10
|
||||
#define MINIMUM_TEMPERATURE_START_SUPERCONDUCTION T20C+200
|
||||
|
||||
#define FLOOR_HEAT_TRANSFER_COEFFICIENT 0.08
|
||||
#define WALL_HEAT_TRANSFER_COEFFICIENT 0.03
|
||||
#define SPACE_HEAT_TRANSFER_COEFFICIENT 0.20 //a hack to partly simulate radiative heat
|
||||
#define OPEN_HEAT_TRANSFER_COEFFICIENT 0.40
|
||||
#define WINDOW_HEAT_TRANSFER_COEFFICIENT 0.10 //a hack for now
|
||||
#define FLOOR_HEAT_TRANSFER_COEFFICIENT 0.4
|
||||
#define WALL_HEAT_TRANSFER_COEFFICIENT 0.0
|
||||
#define DOOR_HEAT_TRANSFER_COEFFICIENT 0.0
|
||||
#define SPACE_HEAT_TRANSFER_COEFFICIENT 0.2 //a hack to partly simulate radiative heat
|
||||
#define OPEN_HEAT_TRANSFER_COEFFICIENT 0.4
|
||||
#define WINDOW_HEAT_TRANSFER_COEFFICIENT 0.1 //a hack for now
|
||||
//Must be between 0 and 1. Values closer to 1 equalize temperature faster
|
||||
//Should not exceed 0.4 else strange heat flow occur
|
||||
|
||||
@@ -94,7 +95,11 @@
|
||||
#define FIRE_SPREAD_RADIOSITY_SCALE 0.85
|
||||
#define FIRE_CARBON_ENERGY_RELEASED 500000 //Amount of heat released per mole of burnt carbon into the tile
|
||||
#define FIRE_PLASMA_ENERGY_RELEASED 3000000 //Amount of heat released per mole of burnt plasma into the tile
|
||||
#define FIRE_GROWTH_RATE 25000 //For small fires
|
||||
#define FIRE_GROWTH_RATE 40000 //For small fires
|
||||
|
||||
// Fire Damage
|
||||
#define CARBON_LIFEFORM_FIRE_RESISTANCE 200+T0C
|
||||
#define CARBON_LIFEFORM_FIRE_DAMAGE 4
|
||||
|
||||
//Plasma fire properties
|
||||
#define PLASMA_MINIMUM_BURN_TEMPERATURE 100+T0C
|
||||
|
||||
@@ -48,19 +48,22 @@ Stuff which is in development and not yet visible to players or just code relate
|
||||
should be listed in the changelog upon commit tho. Thanks. -->
|
||||
|
||||
<!-- To take advantage of the pretty new format (well it was new when I wrote this anyway), open the "add-to-changelog.html" file in any browser and add the stuff and then generate the html code and paste it here -->
|
||||
<div class="commit sansserif">
|
||||
<h2 class="date">10 October 2012</h2>
|
||||
<h3 class="author">Giacom updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="tweak">Larva grow a little bit faster when on weeds or when breathing in plasma.</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="commit sansserif">
|
||||
<h2 class="date">13 October 2012</h2>
|
||||
<h3 class="author">Giacom updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="imageadd">Facehuggers have a new animation, thanks to Sly.</li>
|
||||
<li class="rscadd">Firelocks, glass-less airlocks and walls will stop heat.</li>
|
||||
<li class="rscadd">Fires are now more deadly, especially the flames.</li>
|
||||
<li class="tweak">Fires will now break windows.</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="commit sansserif">
|
||||
<h2 class="date">10 October 2012</h2>
|
||||
<h3 class="author">Giacom updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="tweak">Larva grow a little bit faster when on weeds or when breathing in plasma.</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user