Files
CHOMPStation2/code/modules/shieldgen/shield_gen_external.dm
Neerti ceb0b93068 Tweaks Shield Generators
Adjusts numbers on shield generators, so that they can protect the station with roughly similar amounts of power they would need on the old map, before multiZ.
Cleans up a bit of initialization code for shield gens.
2018-02-08 05:37:56 -05:00

33 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/floor/outdoors,
)
/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 efficent 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))
//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