diff --git a/nsv13/code/controllers/subsystem/starsystem.dm b/nsv13/code/controllers/subsystem/starsystem.dm index 51445fd48e5..5752db417d9 100644 --- a/nsv13/code/controllers/subsystem/starsystem.dm +++ b/nsv13/code/controllers/subsystem/starsystem.dm @@ -594,13 +594,15 @@ Returns a faction datum by its name (case insensitive!) var/scanned = FALSE var/specialist_research_type = null //Special techweb node unlocking. -/obj/effect/overmap_anomaly/Initialize(mapload) +/obj/effect/overmap_anomaly/Initialize(mapload, system) . = ..() var/static/list/loc_connections = list( COMSIG_ATOM_ENTERED = PROC_REF(on_entered), ) AddElement(/datum/element/connect_loc, loc_connections) GLOB.overmap_anomalies += src + if(system) + current_system = system /obj/effect/overmap_anomaly/proc/on_entered(datum/source, atom/movable/AM) SIGNAL_HANDLER diff --git a/nsv13/code/modules/munitions/ship_weapons/energy_weapons/bsa.dm b/nsv13/code/modules/munitions/ship_weapons/energy_weapons/bsa.dm index 45a8bdacae4..e8fbb487bd7 100644 --- a/nsv13/code/modules/munitions/ship_weapons/energy_weapons/bsa.dm +++ b/nsv13/code/modules/munitions/ship_weapons/energy_weapons/bsa.dm @@ -185,12 +185,12 @@ point.Beam(turf_target, icon_state = "bsa_beam", time = 50, maxdistance = world.maxx) //ZZZAP new /obj/effect/temp_visual/bsa_splash(point, dir) //Recharging... - get_overmap()?.relay_to_nearby(weapon_type.overmap_select_sound) - if(blocker) + linked.relay_to_nearby(weapon_type.overmap_select_sound) + if(blocker) //We hit something on the ship var/turf/location = get_turf(blocker) var/admin_message = "The ship BSA has hit [blocker] at [ADMIN_VERBOSEJMP(location)]!" var/log_message = "The ship BSA has hit [blocker] at [AREACOORD(location)]!" - var/firer = get_overmap().pilot + var/firer = linked.pilot //Fired by the pilot if(!firer) firer = src admin_message += " BSA fired by [firer]!" @@ -202,9 +202,9 @@ admin_message += " [blocker] was last touched by [ADMIN_LOOKUPFLW(evilperson)]!" log_message += " [blocker] was last touched by [key_name_admin(evilperson)]!" new /obj/anomaly/singularity(location, 2500) - var/turf/overmaplocation = get_turf(get_overmap()) + var/turf/overmaplocation = get_turf(linked) if(overmaplocation) - new /obj/effect/overmap_anomaly/singularity(overmaplocation) + new /obj/effect/overmap_anomaly/singularity(overmaplocation, linked.current_system) message_admins(admin_message) log_game(log_message) explosion(blocker, GLOB.MAX_EX_DEVESTATION_RANGE, GLOB.MAX_EX_HEAVY_RANGE, GLOB.MAX_EX_LIGHT_RANGE, GLOB.MAX_EX_FLASH_RANGE)