mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-20 11:31:12 +01:00
* 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>
60 lines
1.8 KiB
Plaintext
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 ..()
|