mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-11 10:43:20 +00:00
Adds developer-level access to ZAS settings.
Fixes bug which would always let heat move through doors.
This commit is contained in:
@@ -134,6 +134,7 @@ zone/proc/DebugDisplay(client/client)
|
|||||||
|
|
||||||
|
|
||||||
client/proc/TestZASRebuild()
|
client/proc/TestZASRebuild()
|
||||||
|
set category = "Debug"
|
||||||
// var/turf/turf = get_turf(mob)
|
// var/turf/turf = get_turf(mob)
|
||||||
var/zone/current_zone = mob.loc:zone
|
var/zone/current_zone = mob.loc:zone
|
||||||
if(!current_zone)
|
if(!current_zone)
|
||||||
@@ -155,7 +156,7 @@ client/proc/TestZASRebuild()
|
|||||||
|
|
||||||
for(var/direction in cardinal)
|
for(var/direction in cardinal)
|
||||||
var/turf/simulated/adjacent = get_step(current, direction)
|
var/turf/simulated/adjacent = get_step(current, direction)
|
||||||
if(!current.ZAirPass(adjacent))
|
if(!current.ZCanPass(adjacent))
|
||||||
continue
|
continue
|
||||||
if(turfs.Find(adjacent))
|
if(turfs.Find(adjacent))
|
||||||
current_adjacents += adjacent
|
current_adjacents += adjacent
|
||||||
@@ -210,4 +211,9 @@ client/proc/TestZASRebuild()
|
|||||||
for(var/turf/current in turfs)
|
for(var/turf/current in turfs)
|
||||||
current.overlays -= overlays
|
current.overlays -= overlays
|
||||||
|
|
||||||
return final_arrangement
|
return final_arrangement
|
||||||
|
|
||||||
|
/client/proc/ZASSettings()
|
||||||
|
set category = "Debug"
|
||||||
|
|
||||||
|
vsc.SetDefault(mob)
|
||||||
@@ -65,9 +65,9 @@ var/global/vs_control/vsc = new
|
|||||||
var/airflow_mob_slowdown_NAME = "Airflow Slowdown"
|
var/airflow_mob_slowdown_NAME = "Airflow Slowdown"
|
||||||
var/airflow_mob_slowdown_DESC = "Time in tenths of a second to add as a delay to each movement by a mob if they are fighting the pull of the airflow."
|
var/airflow_mob_slowdown_DESC = "Time in tenths of a second to add as a delay to each movement by a mob if they are fighting the pull of the airflow."
|
||||||
|
|
||||||
var/connection_insulation = 0
|
var/connection_insulation = 1
|
||||||
var/connection_insulation_NAME = "Connections - Insulation"
|
var/connection_insulation_NAME = "Connections - Insulation"
|
||||||
var/connection_insulation_DESC = "Boolean, should zones conduct heat through doors?"
|
var/connection_insulation_DESC = "Boolean, should doors forbid heat transfer?"
|
||||||
|
|
||||||
var/connection_temperature_delta = 10
|
var/connection_temperature_delta = 10
|
||||||
var/connection_temperature_delta_NAME = "Connections - Temperature Difference"
|
var/connection_temperature_delta_NAME = "Connections - Temperature Difference"
|
||||||
@@ -288,7 +288,7 @@ var/global/vs_control/vsc = new
|
|||||||
airflow_speed_decay = 1
|
airflow_speed_decay = 1
|
||||||
airflow_delay = 20
|
airflow_delay = 20
|
||||||
airflow_mob_slowdown = 3
|
airflow_mob_slowdown = 3
|
||||||
connection_insulation = 1
|
connection_insulation = 0
|
||||||
|
|
||||||
|
|
||||||
world << "\blue <b>[key_name(user)] changed the global plasma/ZAS settings to \"[def]\"</b>"
|
world << "\blue <b>[key_name(user)] changed the global plasma/ZAS settings to \"[def]\"</b>"
|
||||||
|
|||||||
@@ -361,25 +361,26 @@ var/list/CounterDoorDirections = list(SOUTH,EAST) //Which directions doors turfs
|
|||||||
Z.interactions_with_neighbors++
|
Z.interactions_with_neighbors++
|
||||||
interactions_with_neighbors++
|
interactions_with_neighbors++
|
||||||
|
|
||||||
for(var/zone/Z in closed_connection_zones)
|
if(!vsc.connection_insulation)
|
||||||
//If that zone has already processed, skip it.
|
for(var/zone/Z in closed_connection_zones)
|
||||||
if(Z.last_update > last_update || !Z.air)
|
//If that zone has already processed, skip it.
|
||||||
continue
|
if(Z.last_update > last_update || !Z.air)
|
||||||
|
|
||||||
var/handle_temperature = abs(air.temperature - Z.air.temperature) > vsc.connection_temperature_delta
|
|
||||||
|
|
||||||
if(Z.status == ZONE_SLEEPING)
|
|
||||||
if (handle_temperature)
|
|
||||||
Z.SetStatus(ZONE_ACTIVE)
|
|
||||||
else
|
|
||||||
continue
|
continue
|
||||||
|
|
||||||
if(air && Z.air)
|
var/handle_temperature = abs(air.temperature - Z.air.temperature) > vsc.connection_temperature_delta
|
||||||
if( handle_temperature )
|
|
||||||
ShareHeat(air, Z.air, closed_connection_zones[Z])
|
|
||||||
|
|
||||||
Z.interactions_with_neighbors++
|
if(Z.status == ZONE_SLEEPING)
|
||||||
interactions_with_neighbors++
|
if (handle_temperature)
|
||||||
|
Z.SetStatus(ZONE_ACTIVE)
|
||||||
|
else
|
||||||
|
continue
|
||||||
|
|
||||||
|
if(air && Z.air)
|
||||||
|
if( handle_temperature )
|
||||||
|
ShareHeat(air, Z.air, closed_connection_zones[Z])
|
||||||
|
|
||||||
|
Z.interactions_with_neighbors++
|
||||||
|
interactions_with_neighbors++
|
||||||
|
|
||||||
if(!interactions_with_neighbors && !interactions_with_unsim)
|
if(!interactions_with_neighbors && !interactions_with_unsim)
|
||||||
SetStatus(ZONE_SLEEPING)
|
SetStatus(ZONE_SLEEPING)
|
||||||
@@ -655,7 +656,7 @@ proc/ShareSpace(datum/gas_mixture/A, list/unsimulated_tiles, dbg_output)
|
|||||||
|
|
||||||
proc/ShareHeat(datum/gas_mixture/A, datum/gas_mixture/B, connecting_tiles)
|
proc/ShareHeat(datum/gas_mixture/A, datum/gas_mixture/B, connecting_tiles)
|
||||||
//This implements a simplistic version of the Stefan-Boltzmann law.
|
//This implements a simplistic version of the Stefan-Boltzmann law.
|
||||||
var/energy_delta = ((A.temperature - B.temperature) ** 4) * 5.6704e-8 * connecting_tiles
|
var/energy_delta = ((A.temperature - B.temperature) ** 4) * 5.6704e-8 * connecting_tiles * 2.5
|
||||||
var/maximum_energy_delta = max(0, min(A.temperature * A.heat_capacity() * A.group_multiplier, B.temperature * B.heat_capacity() * B.group_multiplier))
|
var/maximum_energy_delta = max(0, min(A.temperature * A.heat_capacity() * A.group_multiplier, B.temperature * B.heat_capacity() * B.group_multiplier))
|
||||||
if(maximum_energy_delta > abs(energy_delta))
|
if(maximum_energy_delta > abs(energy_delta))
|
||||||
if(energy_delta < 0)
|
if(energy_delta < 0)
|
||||||
|
|||||||
@@ -72,7 +72,7 @@ var/list/admin_verbs_admin = list(
|
|||||||
/client/proc/response_team, // Response Teams admin verb
|
/client/proc/response_team, // Response Teams admin verb
|
||||||
/client/proc/toggle_antagHUD_use,
|
/client/proc/toggle_antagHUD_use,
|
||||||
/client/proc/toggle_antagHUD_restrictions,
|
/client/proc/toggle_antagHUD_restrictions,
|
||||||
/client/proc/allow_character_respawn /* Allows a ghost to respawn */
|
/client/proc/allow_character_respawn /* Allows a ghost to respawn */
|
||||||
)
|
)
|
||||||
var/list/admin_verbs_ban = list(
|
var/list/admin_verbs_ban = list(
|
||||||
/client/proc/unban_panel,
|
/client/proc/unban_panel,
|
||||||
@@ -128,6 +128,7 @@ var/list/admin_verbs_debug = list(
|
|||||||
/client/proc/cmd_admin_list_open_jobs,
|
/client/proc/cmd_admin_list_open_jobs,
|
||||||
/client/proc/Debug2,
|
/client/proc/Debug2,
|
||||||
/client/proc/kill_air,
|
/client/proc/kill_air,
|
||||||
|
/client/proc/ZASSettings,
|
||||||
/client/proc/cmd_debug_make_powernets,
|
/client/proc/cmd_debug_make_powernets,
|
||||||
/client/proc/kill_airgroup,
|
/client/proc/kill_airgroup,
|
||||||
/client/proc/debug_controller,
|
/client/proc/debug_controller,
|
||||||
|
|||||||
Reference in New Issue
Block a user