diff --git a/code/game/area/areas.dm b/code/game/area/areas.dm index 83139e4d2a..8019db344c 100644 --- a/code/game/area/areas.dm +++ b/code/game/area/areas.dm @@ -14,9 +14,11 @@ all_areas += src if(!requires_power) - power_light = 0 //rastaf0 - power_equip = 0 //rastaf0 - power_environ = 0 //rastaf0 + + //If an APC is present it will set these, otherwise they stay off. + power_light = 0 + power_equip = 0 + power_environ = 0 ..() diff --git a/code/game/machinery/alarm.dm b/code/game/machinery/alarm.dm index 9c4d3009e4..5a99e1aef6 100644 --- a/code/game/machinery/alarm.dm +++ b/code/game/machinery/alarm.dm @@ -69,6 +69,7 @@ var/datum/radio_frequency/radio_connection var/list/TLV = list() + var/list/trace_gas = list("sleeping_agent", "volatile_fuel") //list of other gases that this air alarm is able to detect var/danger_level = 0 var/pressure_dangerlevel = 0 @@ -240,23 +241,24 @@ /obj/machinery/alarm/proc/overall_danger_level(var/datum/gas_mixture/environment) var/partial_pressure = R_IDEAL_GAS_EQUATION*environment.temperature/environment.volume var/environment_pressure = environment.return_pressure() - //var/other_moles = 0.0 - ////for(var/datum/gas/G in environment.trace_gases) - // other_moles+=G.moles + + var/other_moles = 0 + for(var/g in trace_gas) + other_moles += environment.gas[g] //this is only going to be used in a partial pressure calc, so we don't need to worry about group_multiplier here. pressure_dangerlevel = get_danger_level(environment_pressure, TLV["pressure"]) oxygen_dangerlevel = get_danger_level(environment.gas["oxygen"]*partial_pressure, TLV["oxygen"]) co2_dangerlevel = get_danger_level(environment.gas["carbon_dioxide"]*partial_pressure, TLV["carbon dioxide"]) phoron_dangerlevel = get_danger_level(environment.gas["phoron"]*partial_pressure, TLV["phoron"]) temperature_dangerlevel = get_danger_level(environment.temperature, TLV["temperature"]) - //other_dangerlevel = get_danger_level(other_moles*partial_pressure, TLV["other"]) + other_dangerlevel = get_danger_level(other_moles*partial_pressure, TLV["other"]) return max( pressure_dangerlevel, oxygen_dangerlevel, co2_dangerlevel, phoron_dangerlevel, - //other_dangerlevel, + other_dangerlevel, temperature_dangerlevel ) @@ -504,13 +506,13 @@ var/list/environment_data = new data["has_environment"] = total if(total) - var/partial_pressure = R_IDEAL_GAS_EQUATION*environment.temperature/environment.volume - var/list/current_settings = TLV["pressure"] var/pressure = environment.return_pressure() - var/pressure_danger = get_danger_level(pressure, current_settings) - environment_data[++environment_data.len] = list("name" = "Pressure", "value" = pressure, "unit" = "kPa", "danger_level" = pressure_danger) - data["total_danger"] = pressure_danger + environment_data[++environment_data.len] = list("name" = "Pressure", "value" = pressure, "unit" = "kPa", "danger_level" = pressure_dangerlevel) + environment_data[++environment_data.len] = list("name" = "Oxygen", "value" = environment.gas["oxygen"] / total * 100, "unit" = "%", "danger_level" = oxygen_dangerlevel) + environment_data[++environment_data.len] = list("name" = "Carbon dioxide", "value" = environment.gas["carbon_dioxide"] / total * 100, "unit" = "%", "danger_level" = co2_dangerlevel) + environment_data[++environment_data.len] = list("name" = "Toxins", "value" = environment.gas["phoron"] / total * 100, "unit" = "%", "danger_level" = phoron_dangerlevel) + environment_data[++environment_data.len] = list("name" = "Temperature", "value" = environment.temperature, "unit" = "K ([round(environment.temperature - T0C, 0.1)]C)", "danger_level" = temperature_dangerlevel) current_settings = TLV["oxygen"] var/oxygen_danger = get_danger_level(environment.gas["oxygen"]*partial_pressure, current_settings) @@ -532,6 +534,7 @@ environment_data[++environment_data.len] = list("name" = "Temperature", "value" = environment.temperature, "unit" = "K ([round(environment.temperature - T0C, 0.1)]C)", "danger_level" = temperature_danger) data["total_danger"] = max(temperature_danger, data["total_danger"]) + data["total_danger"] = danger_level data["environment"] = environment_data data["atmos_alarm"] = alarm_area.atmosalm data["fire_alarm"] = alarm_area.fire != null diff --git a/code/game/machinery/syndicatebeacon.dm b/code/game/machinery/syndicatebeacon.dm index fb4a03d21f..99d713cccb 100644 --- a/code/game/machinery/syndicatebeacon.dm +++ b/code/game/machinery/syndicatebeacon.dm @@ -71,7 +71,7 @@ /obj/machinery/syndicate_beacon/proc/selfdestruct() selfdestructing = 1 - spawn() explosion(src.loc, rand(3,8), rand(1,3), 1, 10) + spawn() explosion(src.loc, 1, rand(1,3), rand(3,8), 10) //////////////////////////////////////// //Singularity beacon diff --git a/code/modules/mob/living/silicon/robot/life.dm b/code/modules/mob/living/silicon/robot/life.dm index cde2092520..f13a09cf95 100644 --- a/code/modules/mob/living/silicon/robot/life.dm +++ b/code/modules/mob/living/silicon/robot/life.dm @@ -64,9 +64,9 @@ if(src.camera && !scrambledcodes) if(src.stat == 2 || wires.IsIndexCut(BORG_WIRE_CAMERA)) - src.camera.status = 0 + src.camera.set_status(0) else - src.camera.status = 1 + src.camera.set_status(1) updatehealth() diff --git a/nano/templates/air_alarm.tmpl b/nano/templates/air_alarm.tmpl index edfe41cda7..2caa14e955 100644 --- a/nano/templates/air_alarm.tmpl +++ b/nano/templates/air_alarm.tmpl @@ -30,9 +30,9 @@ Used In File(s): \code\game\machinery\alarm.dm {{:helper.fixed(value.value, 1)}} {{:value.unit}}
{{/for}} - Local Status: {{if value.danger_level == 2}} + Local Status: {{if data.total_danger == 2}} DANGER: Internals Required - {{else value.danger_level == 1}} + {{else data.total_danger == 1}} Caution {{else}} Optimal