SSair performance improvements (#28271)

This commit is contained in:
Charlie Nolan
2025-02-12 22:39:09 +00:00
committed by GitHub
parent 2e2a778a71
commit 194e851b8f
32 changed files with 149 additions and 69 deletions
+3 -2
View File
@@ -14,6 +14,7 @@
/obj/structure/alien
icon = 'icons/mob/alien.dmi'
max_integrity = 100
cares_about_temperature = TRUE
/obj/structure/alien/run_obj_armor(damage_amount, damage_type, damage_flag = 0, attack_dir)
if(damage_flag == MELEE)
@@ -355,7 +356,7 @@
new /obj/structure/alien/weeds(T, linked_node)
check_surroundings()
/obj/structure/alien/weeds/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume)
/obj/structure/alien/weeds/temperature_expose(exposed_temperature, exposed_volume)
..()
if(exposed_temperature > 300)
take_damage(5, BURN, 0, 0)
@@ -545,7 +546,7 @@
if(status != BURST)
burst(kill = TRUE)
/obj/structure/alien/egg/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume)
/obj/structure/alien/egg/temperature_expose(exposed_temperature, exposed_volume)
..()
if(exposed_temperature > 500)
take_damage(5, BURN, 0, 0)
@@ -5,6 +5,7 @@
anchored = FALSE
density = TRUE
max_integrity = 200
cares_about_temperature = TRUE
var/overlays_file = 'icons/obj/doors/airlocks/station/overlays.dmi'
var/state = AIRLOCK_ASSEMBLY_NEEDS_WIRES
/// String value. Used in user chat messages
@@ -309,7 +310,7 @@
new /obj/item/shard(T)
qdel(src)
/obj/structure/door_assembly/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume)
/obj/structure/door_assembly/temperature_expose(exposed_temperature, exposed_volume)
..()
if(exposed_temperature > (T0C + heat_resistance))
take_damage(round(exposed_volume / 100), BURN, 0, 0)
@@ -287,6 +287,7 @@
smoothing_flags = SMOOTH_BITMASK
smoothing_groups = list(SMOOTH_GROUP_WALLS, SMOOTH_GROUP_PLASMA_WALLS)
canSmoothWith = list(SMOOTH_GROUP_PLASMA_WALLS)
cares_about_temperature = TRUE
/obj/structure/falsewall/plasma/attackby__legacy__attackchain(obj/item/W, mob/user, params)
if(W.get_heat() > 300)
+2 -1
View File
@@ -7,6 +7,7 @@
layer = BELOW_OBJ_LAYER
flags_2 = RAD_PROTECT_CONTENTS_2 | RAD_NO_CONTAMINATE_2
rad_insulation = RAD_VERY_LIGHT_INSULATION
cares_about_temperature = TRUE
var/state = GIRDER_NORMAL
var/girderpasschance = 20 // percentage chance that a projectile passes through the girder.
max_integrity = 200
@@ -40,7 +41,7 @@
for(var/i=0;i < metalAmount;i++)
new metal_type(get_turf(src))
/obj/structure/girder/temperature_expose(datum/gas_mixture/air, exposed_temperature)
/obj/structure/girder/temperature_expose(exposed_temperature)
..()
var/temp_check = exposed_temperature
if(temp_check >= GIRDER_MELTING_TEMP)
+2 -1
View File
@@ -13,6 +13,7 @@
armor = list(MELEE = 50, BULLET = 70, LASER = 70, ENERGY = 100, BOMB = 10, RAD = 100, FIRE = 0, ACID = 0)
max_integrity = 50
integrity_failure = 20
cares_about_temperature = TRUE
var/rods_type = /obj/item/stack/rods
var/rods_amount = 2
var/rods_broken = 1
@@ -228,7 +229,7 @@
return FALSE
return FALSE
/obj/structure/grille/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume)
/obj/structure/grille/temperature_expose(exposed_temperature, exposed_volume)
..()
if(!broken)
if(exposed_temperature > T0C + 1500)
@@ -180,6 +180,7 @@
name = "plasma door"
icon_state = "plasma"
sheetType = /obj/item/stack/sheet/mineral/plasma
cares_about_temperature = TRUE
/obj/structure/mineral_door/transparent/plasma/attackby__legacy__attackchain(obj/item/W, mob/user)
if(W.get_heat())
@@ -190,7 +191,7 @@
else
return ..()
/obj/structure/mineral_door/transparent/plasma/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume)
/obj/structure/mineral_door/transparent/plasma/temperature_expose(exposed_temperature, exposed_volume)
..()
if(exposed_temperature > 300)
TemperatureAct(exposed_temperature)
+2 -1
View File
@@ -95,6 +95,7 @@
max_integrity = 200
material_drop_type = /obj/item/stack/sheet/mineral/plasma
desc = "This statue is suitably made from plasma."
cares_about_temperature = TRUE
/obj/structure/statue/plasma/scientist
name = "statue of a scientist"
@@ -104,7 +105,7 @@
name = "statue of a xenomorph"
icon_state = "xeno"
/obj/structure/statue/plasma/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume)
/obj/structure/statue/plasma/temperature_expose(exposed_temperature, exposed_volume)
..()
if(exposed_temperature > 300)
PlasmaBurn(exposed_temperature)
+2 -1
View File
@@ -15,6 +15,7 @@
resistance_flags = ACID_PROOF
armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, RAD = 0, FIRE = 80, ACID = 100)
rad_insulation = RAD_VERY_LIGHT_INSULATION
cares_about_temperature = TRUE
var/ini_dir = null
var/state = WINDOW_OUT_OF_FRAME
var/reinf = FALSE
@@ -474,7 +475,7 @@
..()
update_icon(UPDATE_OVERLAYS)
/obj/structure/window/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume)
/obj/structure/window/temperature_expose(exposed_temperature, exposed_volume)
..()
if(exposed_temperature > (T0C + heat_resistance))
take_damage(round(exposed_volume / 100), BURN, 0, 0)