Files
Bubberstation/code/game/turfs/open/misc.dm
FinancialGoose d92da7770a Double the melting point of floor and halve the thermal transfer of fire onto floor (#86156)
## About The Pull Request
Double the melting point of regular plating from 10'000 kelvin to 20'000
kelvin by using the max_temperature_sustained instead of heat capacity
of turf to determine melting point. Turf should still super conducts
using heat capacity but melts based on this variable instead, reinforced
floor still retain their immunity to melting.
## Why It's Good For The Game
Fire melting a floor leads to a quickly depressurization of the room and
thus killing the fire. This creates a cold airless room and also harder
to fix due to the cold temperature. By making it harder to burn through
floors fire will last longer and be more engaging due to its visuals
compared to a cold vacuum.
## Changelog
🆑
balance: double the melting point of hull and halves the thermal
transfer so plasma fire should lose less heat and harder to melt it
/🆑
2024-09-13 14:45:13 +02:00

94 lines
2.4 KiB
Plaintext

/// Used as a parent type for types that want to allow construction, but do not want to be floors
/// I wish I could use components for turfs at scale
/// Please do not bloat this. Love you <3
/turf/open/misc
name = "coder/mapper fucked up"
desc = "report on GitHub please"
flags_1 = NO_SCREENTIPS_1 | CAN_BE_DIRTY_1
turf_flags = IS_SOLID | NO_RUST
footstep = FOOTSTEP_FLOOR
barefootstep = FOOTSTEP_HARD_BAREFOOT
clawfootstep = FOOTSTEP_HARD_CLAW
heavyfootstep = FOOTSTEP_GENERIC_HEAVY
underfloor_accessibility = UNDERFLOOR_INTERACTABLE
smoothing_groups = SMOOTH_GROUP_TURF_OPEN
canSmoothWith = SMOOTH_GROUP_TURF_OPEN + SMOOTH_GROUP_OPEN_FLOOR
thermal_conductivity = 0.02
heat_capacity = 20000
tiled_dirt = TRUE
/turf/open/misc/attackby(obj/item/W, mob/user, params)
. = ..()
if(.)
return TRUE
if(istype(W, /obj/item/stack/rods))
build_with_rods(W, user)
return TRUE
else if(istype(W, /obj/item/stack/tile/iron))
build_with_floor_tiles(W, user)
return TRUE
/turf/open/misc/attack_paw(mob/user, list/modifiers)
return attack_hand(user, modifiers)
/turf/open/misc/ex_act(severity, target)
. = ..()
if(target == src)
ScrapeAway(flags = CHANGETURF_INHERIT_AIR)
return TRUE
if(severity < EXPLODE_DEVASTATE && is_shielded())
return FALSE
if(target)
severity = EXPLODE_LIGHT
switch(severity)
if(EXPLODE_DEVASTATE)
ScrapeAway(2, flags = CHANGETURF_INHERIT_AIR)
if(EXPLODE_HEAVY)
switch(rand(1, 3))
if(1 to 2)
ScrapeAway(2, flags = CHANGETURF_INHERIT_AIR)
if(3)
if(prob(80))
ScrapeAway(flags = CHANGETURF_INHERIT_AIR)
else
break_tile()
hotspot_expose(1000,CELL_VOLUME)
if(EXPLODE_LIGHT)
if (prob(50))
break_tile()
hotspot_expose(1000,CELL_VOLUME)
return TRUE
/turf/open/misc/is_shielded()
for(var/obj/structure/A in contents)
return TRUE
/turf/open/misc/blob_act(obj/structure/blob/B)
return
/turf/open/misc/rcd_vals(mob/user, obj/item/construction/rcd/the_rcd)
if(the_rcd.mode == RCD_TURF)
if(the_rcd.rcd_design_path != /turf/open/floor/plating/rcd)
return FALSE
return list("delay" = 0, "cost" = 3)
return FALSE
/turf/open/misc/rcd_act(mob/user, obj/item/construction/rcd/the_rcd, list/rcd_data)
if(rcd_data["[RCD_DESIGN_MODE]"] == RCD_TURF)
if(rcd_data["[RCD_DESIGN_PATH]"] != /turf/open/floor/plating/rcd)
return FALSE
place_on_top(/turf/open/floor/plating, flags = CHANGETURF_INHERIT_AIR)
return TRUE
return FALSE