Skip to content

Commit 2c93ad6

Browse files
committed
BSAs can no longer target oozeling cores
1 parent 21c2b18 commit 2c93ad6

File tree

3 files changed

+14
-3
lines changed
  • code/modules/station_goals
  • monkestation/code

3 files changed

+14
-3
lines changed

code/modules/station_goals/bsa.dm

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -331,7 +331,7 @@ GLOBAL_VAR_INIT(bsa_unlock, FALSE)
331331
return
332332
var/list/gps_locators = list()
333333
for(var/datum/component/gps/G in GLOB.GPS_list) //nulls on the list somehow
334-
if(G.tracking)
334+
if(G.tracking && G.bsa_targetable) // monkestation edit: bsa_targetable
335335
gps_locators[G.gpstag] = G
336336

337337
var/list/options = gps_locators
@@ -360,6 +360,10 @@ GLOBAL_VAR_INIT(bsa_unlock, FALSE)
360360
return pick(get_area_turfs(target))
361361
else if(istype(target, /datum/component/gps))
362362
var/datum/component/gps/G = target
363+
// monkestation start: bsa_targetable sanity check
364+
if(!G.bsa_targetable)
365+
CRASH("BSA tried to fire at [G.gpstag] ([G.parent]), despite bsa_targetable being set to false")
366+
// monkestation end
363367
return get_turf(G.parent)
364368

365369
/obj/machinery/computer/bsa_control/proc/fire(mob/user)

monkestation/code/datums/components/gps.dm

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,10 @@
1+
/datum/component/gps
2+
/// Can this GPS be targeted by a BSA?
3+
var/bsa_targetable = TRUE
4+
5+
/datum/component/gps/no_bsa
6+
bsa_targetable = FALSE
7+
18
/datum/component/gps/item
29
/// If TRUE, then this GPS needs to be calibrated to point to specific z-levels.
310
var/requires_z_calibration = TRUE

monkestation/code/modules/surgery/organs/internal/brain.dm

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@
125125
span_notice("You find the densest point, crushing it in your palm. The blinking light in the core slowly dissapates and items start to come out."),
126126
span_notice("You hear a wet crunching sound."))
127127
gps_active = FALSE
128-
qdel(GetComponent(/datum/component/gps))//Actually remove the gps signal
128+
qdel(GetComponent(/datum/component/gps/no_bsa))//Actually remove the gps signal
129129

130130
else
131131
user.visible_message(span_warning("[user] crunches something deep in the slime core! It gradually stops glowing."),
@@ -202,7 +202,7 @@
202202
playsound(victim, 'sound/effects/blobattack.ogg', 80, TRUE)
203203

204204
if(gps_active) // adding the gps signal if they have activated the ability
205-
AddComponent(/datum/component/gps, "[victim]'s Core")
205+
AddComponent(/datum/component/gps/no_bsa, "[victim]'s Core")
206206

207207
if(brainmob)
208208
membrane_mur.Grant(brainmob)

0 commit comments

Comments
 (0)