File tree 3 files changed +14
-3
lines changed
code/modules/station_goals
modules/surgery/organs/internal
3 files changed +14
-3
lines changed Original file line number Diff line number Diff line change @@ -331,7 +331,7 @@ GLOBAL_VAR_INIT(bsa_unlock, FALSE)
331
331
return
332
332
var /list /gps_locators = list ()
333
333
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
335
335
gps_locators[G. gpstag] = G
336
336
337
337
var /list /options = gps_locators
@@ -360,6 +360,10 @@ GLOBAL_VAR_INIT(bsa_unlock, FALSE)
360
360
return pick (get_area_turfs(target))
361
361
else if (istype(target, / datum / component/ gps))
362
362
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
363
367
return get_turf(G. parent)
364
368
365
369
/ obj / machinery/ computer/ bsa_control/ proc / fire( mob / user)
Original file line number Diff line number Diff line change
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
+
1
8
/ datum / component/ gps/ item
2
9
// / If TRUE, then this GPS needs to be calibrated to point to specific z-levels.
3
10
var /requires_z_calibration = TRUE
Original file line number Diff line number Diff line change 125
125
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." ),
126
126
span_notice (" You hear a wet crunching sound." ))
127
127
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
129
129
130
130
else
131
131
user. visible_message(span_warning(" [ user] crunches something deep in the slime core! It gradually stops glowing." ),
202
202
playsound (victim, ' sound/effects/blobattack.ogg' , 80 , TRUE )
203
203
204
204
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" )
206
206
207
207
if (brainmob)
208
208
membrane_mur. Grant(brainmob)
You can’t perform that action at this time.
0 commit comments