mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-11 23:23:28 +01:00
Buffing plasmafires [READY FOR REVIEW] (#21000)
* Floors now almost won't melt
* grug wallmelting attempt
* Revert "grug wallmelting attempt"
This reverts commit e626504990.
I have a better idea
* letsgooo it worked (kinda(airlocks only))
* fuck yeah it worksss
* We stay winning
* woe, runtimes be upon ye
* Experimental values and some cleaning up
* nvm I hate atmos code
* more tweaks
* da window change
* Sean suggestion and temp increases
This commit is contained in:
@@ -87,6 +87,7 @@ GLOBAL_LIST_EMPTY(airlock_emissive_underlays)
|
||||
var/normal_integrity = AIRLOCK_INTEGRITY_N
|
||||
var/prying_so_hard = FALSE
|
||||
var/paintable = TRUE // If the airlock type can be painted with an airlock painter
|
||||
var/heat_resistance = 1500
|
||||
|
||||
var/mutable_appearance/old_buttons_underlay
|
||||
var/mutable_appearance/old_lights_underlay
|
||||
@@ -1657,6 +1658,11 @@ GLOBAL_LIST_EMPTY(airlock_emissive_underlays)
|
||||
else
|
||||
return PROCESS_KILL
|
||||
|
||||
/obj/machinery/door/airlock/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume)
|
||||
..()
|
||||
if(exposed_temperature > (T0C + heat_resistance))
|
||||
take_damage(round(exposed_volume / 100), BURN, 0, 0)
|
||||
|
||||
#undef AIRLOCK_CLOSED
|
||||
#undef AIRLOCK_CLOSING
|
||||
#undef AIRLOCK_OPEN
|
||||
|
||||
@@ -212,9 +212,6 @@
|
||||
else
|
||||
return ..()
|
||||
|
||||
/obj/machinery/door/airlock/plasma/BlockSuperconductivity() //we don't stop the heat~
|
||||
return 0
|
||||
|
||||
/obj/machinery/door/airlock/plasma/glass
|
||||
opacity = FALSE
|
||||
glass = TRUE
|
||||
|
||||
@@ -458,11 +458,6 @@
|
||||
if(!glass && GLOB.cameranet)
|
||||
GLOB.cameranet.updateVisibility(src, 0)
|
||||
|
||||
/obj/machinery/door/BlockSuperconductivity() // All non-glass airlocks block heat, this is intended.
|
||||
if(opacity || heat_proof)
|
||||
return 1
|
||||
return 0
|
||||
|
||||
/obj/machinery/door/proc/check_unres() //unrestricted sides. This overlay indicates which directions the player can access even without an ID
|
||||
if(hasPower() && unres_sides)
|
||||
. = list()
|
||||
|
||||
@@ -30,6 +30,7 @@
|
||||
/// Whether the "bolts" are "screwed". Used for deconstruction sequence. Has nothing to do with airlock bolting.
|
||||
var/boltslocked = TRUE
|
||||
var/active_alarm = FALSE
|
||||
var/heat_resistance = 15000
|
||||
var/list/affecting_areas
|
||||
|
||||
/obj/machinery/door/firedoor/Initialize(mapload)
|
||||
@@ -320,6 +321,11 @@
|
||||
else
|
||||
return 1
|
||||
|
||||
/obj/machinery/door/firedoor/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume)
|
||||
..()
|
||||
if(exposed_temperature > (T0C + heat_resistance))
|
||||
take_damage(round(exposed_volume / 100), BURN, 0, 0)
|
||||
|
||||
/obj/machinery/door/firedoor/heavy
|
||||
name = "heavy firelock"
|
||||
icon = 'icons/obj/doors/doorfire.dmi'
|
||||
@@ -328,6 +334,7 @@
|
||||
explosion_block = 2
|
||||
assemblytype = /obj/structure/firelock_frame/heavy
|
||||
max_integrity = 550
|
||||
heat_resistance = 20000
|
||||
|
||||
/obj/item/firelock_electronics
|
||||
name = "firelock electronics"
|
||||
@@ -349,6 +356,7 @@
|
||||
density = TRUE
|
||||
var/constructionStep = CONSTRUCTION_NOCIRCUIT
|
||||
var/reinforced = 0
|
||||
var/heat_resistance = 1000
|
||||
|
||||
/obj/structure/firelock_frame/examine(mob/user)
|
||||
. = ..()
|
||||
@@ -510,9 +518,10 @@
|
||||
new /obj/machinery/door/firedoor(get_turf(src))
|
||||
qdel(src)
|
||||
|
||||
|
||||
|
||||
|
||||
/obj/structure/firelock_frame/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume)
|
||||
..()
|
||||
if(exposed_temperature > (T0C + heat_resistance))
|
||||
take_damage(round(exposed_volume / 100), BURN, 0, 0)
|
||||
|
||||
/obj/structure/firelock_frame/welder_act(mob/user, obj/item/I)
|
||||
if(constructionStep != CONSTRUCTION_NOCIRCUIT)
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
var/noglass = FALSE //airlocks with no glass version, also cannot be modified with sheets
|
||||
var/material_type = /obj/item/stack/sheet/metal
|
||||
var/material_amt = 4
|
||||
var/heat_resistance = 1000
|
||||
|
||||
/obj/structure/door_assembly/Initialize(mapload)
|
||||
. = ..()
|
||||
@@ -306,3 +307,8 @@
|
||||
else
|
||||
new /obj/item/shard(T)
|
||||
qdel(src)
|
||||
|
||||
/obj/structure/door_assembly/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume)
|
||||
..()
|
||||
if(exposed_temperature > (T0C + heat_resistance))
|
||||
take_damage(round(exposed_volume / 100), BURN, 0, 0)
|
||||
|
||||
@@ -535,7 +535,7 @@
|
||||
desc = "It looks rather strong. Might take a few good hits to shatter it."
|
||||
icon_state = "rwindow"
|
||||
reinf = TRUE
|
||||
heat_resistance = 1600
|
||||
heat_resistance = 1300
|
||||
armor = list(MELEE = 50, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 25, RAD = 100, FIRE = 80, ACID = 100)
|
||||
rad_insulation = RAD_HEAVY_INSULATION
|
||||
max_integrity = 50
|
||||
|
||||
@@ -17,8 +17,8 @@ GLOBAL_LIST_INIT(icons_to_ignore_at_floor_init, list("damaged1","damaged2","dama
|
||||
plane = FLOOR_PLANE
|
||||
var/icon_regular_floor = "floor" //used to remember what icon the tile should have by default
|
||||
var/icon_plating = "plating"
|
||||
thermal_conductivity = 0.040
|
||||
heat_capacity = 10000
|
||||
thermal_conductivity = 0.020
|
||||
heat_capacity = 100000
|
||||
flags = NO_SCREENTIPS
|
||||
var/lava = 0
|
||||
var/broken = FALSE
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
|
||||
thermal_conductivity = WALL_HEAT_TRANSFER_COEFFICIENT
|
||||
heat_capacity = 312500 //a little over 5 cm thick , 312500 for 1 m by 2.5 m by 0.25 m plasteel wall
|
||||
var/heat_resistance = 9000 // Wish this could be lower, but can't have shit in atmos
|
||||
|
||||
var/can_dismantle_with_welder = TRUE
|
||||
var/hardness = 40 //lower numbers are harder. Used to determine the probability of a hulk smashing through.
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
can_dismantle_with_welder = FALSE
|
||||
smoothing_groups = list(SMOOTH_GROUP_SIMULATED_TURFS, SMOOTH_GROUP_WALLS, SMOOTH_GROUP_REINFORCED_WALLS)
|
||||
canSmoothWith = list(SMOOTH_GROUP_WALLS, SMOOTH_GROUP_REGULAR_WALLS, SMOOTH_GROUP_REINFORCED_WALLS)
|
||||
heat_resistance = 40000 // Ain't getting through this soon
|
||||
|
||||
var/d_state = RWALL_INTACT
|
||||
var/can_be_reinforced = 1
|
||||
|
||||
@@ -41,6 +41,12 @@
|
||||
active_hotspot.just_spawned = (current_cycle < SSair.times_fired)
|
||||
//remove just_spawned protection if no longer processing this cell
|
||||
SSair.add_to_active(src, 0)
|
||||
var/list/adjacent_dense_turfs = AdjacentTurfs(FALSE, TRUE, TRUE) //Checks adjacent turfs for dense turfs, only in the 4 cardinal directions
|
||||
if(active_hotspot == null)
|
||||
return igniting
|
||||
for(var/turf/simulated/wall/W in adjacent_dense_turfs)
|
||||
if(active_hotspot.temperature > W.heat_resistance) //Only deal heat damage when it's actually hot enough
|
||||
W.take_damage(1 * (active_hotspot.temperature / W.heat_resistance))
|
||||
return igniting
|
||||
|
||||
//This is the icon for fire on turfs, also helps for nurturing small fires until they are full tile
|
||||
|
||||
Reference in New Issue
Block a user