Skip to content

Commit

Permalink
Adds consequences to some (funny) actions (#2719)
Browse files Browse the repository at this point in the history
  • Loading branch information
Bokkiewokkie authored Dec 27, 2024
1 parent 540d513 commit ab46673
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 4 deletions.
4 changes: 3 additions & 1 deletion nsv13/code/controllers/subsystem/starsystem.dm
Original file line number Diff line number Diff line change
Expand Up @@ -618,13 +618,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
Expand Down
25 changes: 22 additions & 3 deletions nsv13/code/modules/munitions/ship_weapons/energy_weapons/bsa.dm
Original file line number Diff line number Diff line change
Expand Up @@ -185,9 +185,28 @@
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 = linked.pilot //Fired by the pilot
if(!firer)
firer = src
admin_message += " BSA fired by [firer]!"
else
admin_message += " BSA fired by [ADMIN_LOOKUPFLW(firer)]!"
if(istype(blocker, /obj/machinery/the_singularitygen)) //What did you do
var/evilperson = get_mob_by_ckey(blocker.fingerprintslast)
GLOB.bombers += evilperson
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(linked)
if(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)
else
. = ..() //Then actually fire it.
Expand Down

0 comments on commit ab46673

Please sign in to comment.