Files
siliconsandGitHub 483d595d3e mass turf repath (#6865)
enough is enough with these damn planet subtypes

also drops unused 140x140's
2024-11-25 22:43:28 -07:00

35 lines
1.3 KiB
Plaintext

//---------- external shield generator
//generates an energy field that loops around any built up area in space (is useless inside) halts movement and airflow, is blocked by walls, windows, airlocks etc
/obj/machinery/shield_gen/external
name = "hull shield generator"
var/global/list/blockedturfs = list(
/turf/space,
/turf/simulated/fake_sky,
) //For Future additions to exterior tiles, add them on this list.
/obj/machinery/shield_gen/external/advanced
name = "advanced hull shield generator"
desc = "A machine that generates a field of energy optimized for blocking meteorites when activated. This version comes with a more efficient shield matrix."
energy_conversion_rate = 0.0012
//Search for space turfs within range that are adjacent to a simulated turf.
/obj/machinery/shield_gen/external/get_shielded_turfs_on_z_level(var/turf/gen_turf)
var/list/out = list()
if (!gen_turf)
return
var/turf/T
for (var/x_offset = -field_radius; x_offset <= field_radius; x_offset++)
for (var/y_offset = -field_radius; y_offset <= field_radius; y_offset++)
T = locate(gen_turf.x + x_offset, gen_turf.y + y_offset, gen_turf.z)
if (is_type_in_list(T,blockedturfs))
if(!T.noshield)
//check neighbors of T
for(var/i in orange(1, T))
if(istype(i, /turf/simulated) && !is_type_in_list(i,blockedturfs))
out += T
break
return out