From 53d67ee8af25f6634dbca92c17e9e9592f96c632 Mon Sep 17 00:00:00 2001 From: Yoshax Date: Fri, 24 Jun 2016 14:35:17 +0100 Subject: [PATCH 1/3] Ports Snowy stuff from Eros --- code/__defines/math_physics.dm | 7 ++-- code/game/turfs/snow/snow.dm | 34 +++++++++++++++++++ code/modules/mob/living/carbon/human/life.dm | 12 +++---- icons/turf/snow_new.dmi | Bin 0 -> 1193 bytes 4 files changed, 44 insertions(+), 9 deletions(-) create mode 100644 code/game/turfs/snow/snow.dm create mode 100644 icons/turf/snow_new.dmi diff --git a/code/__defines/math_physics.dm b/code/__defines/math_physics.dm index 987cb1ba9d..198f87eccc 100644 --- a/code/__defines/math_physics.dm +++ b/code/__defines/math_physics.dm @@ -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)) diff --git a/code/game/turfs/snow/snow.dm b/code/game/turfs/snow/snow.dm new file mode 100644 index 0000000000..1662dab100 --- /dev/null +++ b/code/game/turfs/snow/snow.dm @@ -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)) \ No newline at end of file diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index 8e892436e0..697ae06cf3 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -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. diff --git a/icons/turf/snow_new.dmi b/icons/turf/snow_new.dmi new file mode 100644 index 0000000000000000000000000000000000000000..8a95c14bed3bf1c8c982a5bbf634866f190814d8 GIT binary patch literal 1193 zcmV;a1XlZrP)!=SXoXPd)>kC;t!k-ERbaJ?R900001bW%=J06^y0W&i*Hf_hX~bVOxyV{&P5 zbZKvH004NLQ&wi#Fzg&rnGbOXA7|1o`;!G<_%uR)`Q4|>xrOJq)se> zO$aD8!lhJM!PU~8?zS4eJ7zfm9n00Xf}L_t(oh3!{cZsRZv3<~=IQZG?Rd{9{<()hU%& zT84#FbDP$H@<-_~TPg-1E(eW7|GEYO0E%h?pk95QIDlKMIoueWl0sH)jNs+`F#@=w z1bB=j+8Brt-pJ91i?<0GIw+<9k#X;98Z{gUySkV>`S@_VU1-!wHWERY3kh>;@*_rg zA}~NLJGSjPgo{F2BBY|7)<9A8H=^mM+3{^mu;$rZj($x01Ol0V|KwmJ9h z`PZ;7aw4*qtQV17Jff2{sESq9wiRnwUbwNz#vN&54#H6=F~TI)p}XiY%8ANrRK6?M z5uO+%Z+En6@Re;Q?XcRRWAhZS`C}=gosr^+01-U5gc5c`cQI?bve2W6`&S5o(-CFY z5(ebtL+CiO6##5qq$h(y3ataT=qeV}kG^Xwn!8S;7piz^n^sLHQj*x2OS{4XQb#Xo zgduGpe$K0*rm3ZK8oeAM5FTv^apOTLb!tL>(@1D}1QfnXXP+eQ(zS|YTwGY>B4?r0{%5d6)@DJF> z_LP|wi{EAUChxgecYsZA?67Ndk_X%mwgH;uoNJp#_ycetiwA+(D1=w4IaZ4WTJsiSv)A|e`i=d#>yubUfT4AB6=wFmO z&X)-A=ajvB=t@(rkU)2;;_Y65 Date: Fri, 24 Jun 2016 14:48:27 +0100 Subject: [PATCH 2/3] Updates our own snow to have fancy footprints + stuff --- code/game/turfs/flooring/flooring.dm | 6 ++ code/game/turfs/flooring/flooring_premade.dm | 76 +++++++++++++------ code/game/turfs/snow/snow.dm | 19 ++++- icons/turf/snow.dmi | Bin 21385 -> 21825 bytes polaris.dme | 1 + 5 files changed, 79 insertions(+), 23 deletions(-) diff --git a/code/game/turfs/flooring/flooring.dm b/code/game/turfs/flooring/flooring.dm index 927facec8d..779f76fc93 100644 --- a/code/game/turfs/flooring/flooring.dm +++ b/code/game/turfs/flooring/flooring.dm @@ -57,6 +57,12 @@ var/list/flooring_types build_type = null /decl/flooring/snow + name = "snow" + desc = "A layer of many tiny bits of frozen water. It's hard to tell how deep it is." + icon = 'icons/turf/snow_new.dmi' + icon_base = "snow" + +/decl/flooring/snow/snow2 name = "snow" desc = "A layer of many tiny bits of frozen water. It's hard to tell how deep it is." icon = 'icons/turf/snow.dmi' diff --git a/code/game/turfs/flooring/flooring_premade.dm b/code/game/turfs/flooring/flooring_premade.dm index 86ec1b2891..55795bc5b3 100644 --- a/code/game/turfs/flooring/flooring_premade.dm +++ b/code/game/turfs/flooring/flooring_premade.dm @@ -45,27 +45,6 @@ icon_state = "reinforced" initial_flooring = /decl/flooring/reinforced -/turf/simulated/floor/snow - name = "snow" - icon = 'icons/turf/snow.dmi' - icon_state = "snow" - initial_flooring = /decl/flooring/snow - -/turf/simulated/floor/snow/gravsnow - name = "snow" - icon_state = "gravsnow" - initial_flooring = /decl/flooring/snow/gravsnow - -/turf/simulated/floor/snow/plating - name = "snowy playing" - icon_state = "snowyplating" - initial_flooring = /decl/flooring/snow/plating - -/turf/simulated/floor/snow/plating/drift - name = "snowy plating" - icon_state = "snowyplayingdrift" - initial_flooring = /decl/flooring/snow/plating/drift - /turf/simulated/floor/reinforced/airless oxygen = 0 nitrogen = 0 @@ -225,4 +204,57 @@ /turf/simulated/floor/beach/water/ocean */ /turf/simulated/floor/airless/ceiling -/turf/simulated/floor/plating \ No newline at end of file +/turf/simulated/floor/plating + + +//**** Here lives snow **** +/turf/simulated/floor/snow + name = "snow" + icon = 'icons/turf/snow_new.dmi' + icon_state = "snow" + var/list/crossed_dirs = list() + +/turf/simulated/floor/snow/snow2 + name = "snow" + icon = 'icons/turf/snow.dmi' + icon_state = "snow" + initial_flooring = /decl/flooring/snow + +/turf/simulated/floor/snow/gravsnow + name = "snow" + icon_state = "gravsnow" + initial_flooring = /decl/flooring/snow/gravsnow + +/turf/simulated/floor/snow/plating + name = "snowy playing" + icon_state = "snowyplating" + initial_flooring = /decl/flooring/snow/plating + +/turf/simulated/floor/snow/plating/drift + name = "snowy plating" + icon_state = "snowyplayingdrift" + initial_flooring = /decl/flooring/snow/plating/drift + +#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)) + +//**** Here ends snow **** \ No newline at end of file diff --git a/code/game/turfs/snow/snow.dm b/code/game/turfs/snow/snow.dm index 1662dab100..b09275ca41 100644 --- a/code/game/turfs/snow/snow.dm +++ b/code/game/turfs/snow/snow.dm @@ -31,4 +31,21 @@ var/amt = crossed_dirs[d] for(var/i in 1 to amt) - overlays += icon(icon, "footprint[i]", text2num(d)) \ No newline at end of file + overlays += icon(icon, "footprint[i]", text2num(d)) + +/turf/snow/snow2 + name = "snow" + icon = 'icons/turf/snow.dmi' + icon_state = "snow" + +/turf/snow/gravsnow + name = "snow" + icon_state = "gravsnow" + +/turf/snow/plating + name = "snowy playing" + icon_state = "snowyplating" + +/turf/snow/drift + name = "snowy plating" + icon_state = "snowyplayingdrift" diff --git a/icons/turf/snow.dmi b/icons/turf/snow.dmi index 5871cbdfc632768a190e1d40333cd75af74aeebe..8f13ef91076fd1a771b0e1c3dc99d83ec39e239b 100644 GIT binary patch literal 21825 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

!~NgRwC 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 literal 21385 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 Date: Sat, 25 Jun 2016 01:15:35 +0100 Subject: [PATCH 3/3] Revert "Adds byond hub visibility as a config option 2" --- code/controllers/configuration.dm | 5 --- code/controllers/master_controller.dm | 1 - code/hub.dm | 6 ++-- config/example/config.txt | 3 -- html/changelogs/Spookerton_hub-visibility.yml | 36 ------------------- 5 files changed, 2 insertions(+), 49 deletions(-) delete mode 100644 html/changelogs/Spookerton_hub-visibility.yml diff --git a/code/controllers/configuration.dm b/code/controllers/configuration.dm index e858a548f8..b249db9a47 100644 --- a/code/controllers/configuration.dm +++ b/code/controllers/configuration.dm @@ -4,8 +4,6 @@ var/list/gamemode_cache = list() var/server_name = null // server name (for world name / status) var/server_suffix = 0 // generate numeric suffix based on server port - var/start_hub_visible = 0 // world.visibility to set on world start - var/nudge_script_path = "nudge.py" // where the nudge.py script is located var/log_ooc = 0 // log OOC channel @@ -270,9 +268,6 @@ var/list/gamemode_cache = list() if ("resource_urls") config.resource_urls = splittext(value, " ") - if ("start_hub_visible") - config.start_hub_visible = 1 - if ("admin_legacy_system") config.admin_legacy_system = 1 diff --git a/code/controllers/master_controller.dm b/code/controllers/master_controller.dm index a79ff1c628..682b0fb3d0 100644 --- a/code/controllers/master_controller.dm +++ b/code/controllers/master_controller.dm @@ -32,7 +32,6 @@ datum/controller/game_controller/New() datum/controller/game_controller/proc/setup() world.tick_lag = config.Ticklag - world.visibility = config.start_hub_visible spawn(20) createRandomZlevel() diff --git a/code/hub.dm b/code/hub.dm index ea26129c28..6c38b00143 100644 --- a/code/hub.dm +++ b/code/hub.dm @@ -1,10 +1,8 @@ /world hub = "Exadv1.spacestation13" - hub_password = "kMZy3U5jJHSiBQjr" + hub_password = "SORRYNOPASSWORD" name = "Space Station 13" - visibility = 0 - /* This is for any host that would like their server to appear on the main SS13 hub. To use it, simply replace the password above, with the password found below, and it should work. If not, let us know on the main tgstation IRC channel of irc.rizon.net #tgstation13 we can help you there. @@ -12,4 +10,4 @@ If not, let us know on the main tgstation IRC channel of irc.rizon.net #tgstatio hub = "Exadv1.spacestation13" hub_password = "kMZy3U5jJHSiBQjr" name = "Space Station 13" -*/ +*/ \ No newline at end of file diff --git a/config/example/config.txt b/config/example/config.txt index c8f4551b2e..ae99ec3d19 100644 --- a/config/example/config.txt +++ b/config/example/config.txt @@ -1,9 +1,6 @@ ## Server name: This appears at the top of the screen in-game. In this case it will read "tgstation: station_name" where station_name is the randomly generated name of the station for the round. Remove the # infront of SERVERNAME and replace 'tgstation' with the name of your choice # SERVERNAME spacestation13 -## Uncomment START_HUB_VISIBLE to cause the server to default to VISIBLE on the hub. Admins with appropriate access levels can toggle this at run time via server -> toggle hub visbility. -# START_HUB_VISIBLE - ## Alert levels ALERT_GREEN All threats to the station have passed. Security may not have weapons visible, privacy laws are once again fully enforced. ALERT_BLUE_UPTO The station has received reliable information about possible hostile activity on the station. Security staff may have weapons visible, random searches are permitted. diff --git a/html/changelogs/Spookerton_hub-visibility.yml b/html/changelogs/Spookerton_hub-visibility.yml deleted file mode 100644 index e0916a62ad..0000000000 --- a/html/changelogs/Spookerton_hub-visibility.yml +++ /dev/null @@ -1,36 +0,0 @@ -################################ -# Example Changelog File -# -# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. -# -# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) -# When it is, any changes listed below will disappear. -# -# Valid Prefixes: -# bugfix -# wip (For works in progress) -# tweak -# soundadd -# sounddel -# rscadd (general adding of nice things) -# rscdel (general deleting of nice things) -# imageadd -# imagedel -# maptweak -# spellcheck (typo fixes) -# experiment -################################# - -# Your name. -author: Spookerton - -# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. -delete-after: True - -# Any changes you've made. See valid prefix list above. -# INDENT WITH TWO SPACES. NOT TABS. SPACES. -# SCREW THIS UP AND IT WON'T WORK. -# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries. -# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog. -changes: - - tweak: "Changes hub visibility to be controlled by a config option."