Ports Snowy stuff from Eros

This commit is contained in:
Yoshax
2016-06-24 14:35:17 +01:00
parent 79535340e2
commit 53d67ee8af
4 changed files with 44 additions and 9 deletions

View File

@@ -15,9 +15,10 @@
#define RADIATOR_EXPOSED_SURFACE_AREA_RATIO 0.04 // (3 cm + 100 cm * sin(3deg))/(2*(3+100 cm)). Unitless ratio.
#define HUMAN_EXPOSED_SURFACE_AREA 5.2 //m^2, surface area of 1.7m (H) x 0.46m (D) cylinder
#define T0C 273.15 // 0.0 degrees celcius
#define T20C 293.15 // 20.0 degrees celcius
#define TCMB 2.7 // -270.3 degrees celcius
#define T0C 273.15 // 0.0 degrees celcius
#define T20C 293.15 // 20.0 degrees celcius
#define TCMB 2.7 // -270.3 degrees celcius
#define TN60C 213.15 // -60 degrees celcius
#define CLAMP01(x) max(0, min(1, x))
#define QUANTIZE(variable) (round(variable,0.0001))

View File

@@ -0,0 +1,34 @@
/turf/snow
name = "snow"
dynamic_lighting = 0
icon = 'icons/turf/snow_new.dmi'
icon_state = "snow"
oxygen = MOLES_O2STANDARD * 1.15
nitrogen = MOLES_N2STANDARD * 1.15
temperature = TN60C
var/list/crossed_dirs = list()
#define FOOTSTEP_SPRITE_AMT 2
/turf/snow/Entered(atom/A)
if(ismob(A))
var/mdir = "[A.dir]"
if(crossed_dirs[mdir])
crossed_dirs[mdir] = min(crossed_dirs[mdir] + 1, FOOTSTEP_SPRITE_AMT)
else
crossed_dirs[mdir] = 1
update_icon()
. = ..()
/turf/snow/update_icon()
overlays.Cut()
for(var/d in crossed_dirs)
var/amt = crossed_dirs[d]
for(var/i in 1 to amt)
overlays += icon(icon, "footprint[i]", text2num(d))

View File

@@ -619,11 +619,11 @@
if(!istype(loc, /obj/machinery/atmospherics/unary/cryo_cell))
var/burn_dam = 0
switch(bodytemperature)
if(-INFINITY to species.cold_level_3)
if(species.cold_level_1 to species.cold_level_2)
burn_dam = COLD_DAMAGE_LEVEL_1
if(species.cold_level_3 to species.cold_level_2)
if(species.cold_level_2 to species.cold_level_3)
burn_dam = COLD_DAMAGE_LEVEL_2
if(species.cold_level_2 to species.cold_level_1)
if(species.cold_level_3 to -INFINITY)
burn_dam = COLD_DAMAGE_LEVEL_3
take_overall_damage(burn=burn_dam, used_weapon = "Low Body Temperature")
fire_alert = max(fire_alert, 1)
@@ -847,9 +847,9 @@
if(!isSynthetic() && (species.flags & IS_PLANT) && (!light_organ || light_organ.is_broken()))
if(nutrition < 200)
take_overall_damage(2,0)
//traumatic_shock is updated every tick, incrementing that is pointless - shock_stage is the counter.
//Not that it matters much for diona, who have NO_PAIN.
//traumatic_shock is updated every tick, incrementing that is pointless - shock_stage is the counter.
//Not that it matters much for diona, who have NO_PAIN.
shock_stage++
// TODO: stomach and bloodstream organ.

BIN
icons/turf/snow_new.dmi Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB