/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 ..()