Files
Aurora.3/code/game/turfs/simulated/floor_acts.dm
T
e3f2b7de80 Engineering Fluff - Maintenance Panels (#20334)
* Added maintenance and large maintenance panels to various areas around
the ship. These are fluff objects that have no mechanical impact, but
serve as RP tools engineers can use to go to and interact with
departments.



https://github.com/user-attachments/assets/52d49e82-ba98-411f-901e-d9210f0ad6d0

---------

Co-authored-by: Hazelrat <ric.whe.don@gmail.com>
Co-authored-by: hazelrat <83198434+hazelrat@users.noreply.github.com>
2025-03-27 11:22:41 +00:00

60 lines
1.8 KiB
Plaintext

/turf/simulated/floor/ex_act(severity)
//set src in oview(1)
var/area/A = get_area(src)
if(A && (A.area_flags & AREA_FLAG_INDESTRUCTIBLE_TURFS))
switch(severity)
if(1)
ChangeTurf(get_base_turf_by_area(src))
if(2)
if(prob(40))
ChangeTurf(get_base_turf_by_area(src))
else
switch(severity)
if(1.0)
src.ChangeTurf(baseturf)
if(2.0)
switch(pick(40;1,40;2,3))
if (1)
if(prob(33)) new /obj/item/stack/material/steel(src)
src.ReplaceWithLattice()
if(2)
src.ChangeTurf(baseturf)
if(3)
if(prob(33)) new /obj/item/stack/material/steel(src)
if(prob(80))
src.break_tile_to_plating()
else
src.break_tile()
src.hotspot_expose(1000,CELL_VOLUME)
if(3.0)
if (prob(50))
src.break_tile()
src.hotspot_expose(1000,CELL_VOLUME)
return
/turf/simulated/floor/fire_act(exposed_temperature, exposed_volume)
. = ..()
var/temp_destroy = get_damage_temperature()
if(!burnt && prob(5))
burn_tile(exposed_temperature)
else if(temp_destroy && exposed_temperature >= (temp_destroy + 100) && prob(1) && !is_plating())
make_plating() //destroy the tile, exposing plating
burn_tile(exposed_temperature)
return
//should be a little bit lower than the temperature required to destroy the material
/turf/simulated/floor/proc/get_damage_temperature()
return flooring ? flooring.damage_temperature : null
/turf/simulated/floor/adjacent_fire_act(turf/simulated/floor/adj_turf, datum/gas_mixture/adj_air, adj_temp, adj_volume)
var/dir_to = get_dir(src, adj_turf)
for(var/obj/structure/window/W in src)
if(W.dir == dir_to || W.is_fulltile()) //Same direction or diagonal (full tile)
W.fire_act(adj_temp, adj_volume)
/turf/simulated/floor/ChangeTurf(path, tell_universe, force_lighting_update, ignore_override, mapload)
SEND_SIGNAL(src, COMSIG_ATOM_DECONSTRUCTED)
return ..()