Open qoala opened 4 years ago
My above assessment may be wrong, pulse drones might also cause guards to turn and overwatch.
My initial assessment was very wrong for camera and pulse drones.
camera_drone
guard is notified and will investigate the first tile where the camera saw an agent that turn. (If any guards were notified by the range 8 signal, this has no additional effect)simcameradrone
type without camera_drone
trait, but it might not be able to trigger the camera codepath. I haven't been able to trigger it in testing.Two properties control how "pacifist" drones signal other guards when they see agents. (neither of them is the trait pacifist=true
)
camera_drone=true
type="simcameradrone"
(determines the simunit subclass of the unit's logic. Normal human guards are simunit
. Normal drones are simdrone
)
Notes on where these and related properties are/aren't used:
simcameradrone
without having the camera_drone
trait. Effects of this noted below.simcameradrone
inherits some behaviors from simcamera
, the class for mainframe cameras. This is why results from Camera Drones resemble cameras in many, but not all, respects.Relevant code sections:
sim/btree/senses: Senses:processInterestShared
TRG_NEW_INTEREST
) within a fixed range of the original sharing unit.Senses:addInterest
), this guard becomes alerted.sim/btree/actions: Actions.ReactToTarget
camera_drone
trait, share an interest to that target with a range of 0. No reason provided.sim/units/simcameradrone: simcameradrone:addTrackingInterest
simcamera:performTracking
from simcamera:onTrigger
on TRG_OVERWATCH
from simengine:processReactions
(called with the triggering unit whenever a unit does something that could trigger overwatch or other reactions)tracker_alert
and stops sharing new sightings.simcamera:performTracking
if not self:addTrackingInterest
defined), except that cameras have range 12.sim/units/simcamera: simcamera:performTracking
simcameradrone:addTrackingInterest
, if camera_drone
trait,camera_drone
trait. This is the same call as made by a security dispatch mission when you loot the storage container.addTrackingInterest
. This just compensates for camera drones too far from other guards. Does not apply to cameras.Additional Notes:
onTrigger
directly registered by the unit (presumably because cameras don't have brains).camera_drone
trait) and cameradrone sharing (because they have simcameradrone
type), but I haven't seen the "notifies nearest guard regardless of range" in testing. It's possible the weird limited vision of pulse drones doesn't trigger the TRG_OVERWATCH
codepath.camera_drone
trait:
sim/aiplayer: aiplayer:spawnInterest
simcameradrone
+camera_drone
when seeing an agent for the first time each turn.camera_drone
traitnoInterestDistraction
trait ("focused AI"), the pulse drone ignores the interest point and no further guards are alerted.sim/btree/senses Senses:processAppearedTrigger
camera_drone
use addInterest
, while everything else uses addTarget
. Unclear what implications this has for unarmed units.sim/btree/situations/combat: CombatSituation:addUnit
thoughtVis
(triangle icon above the guard's head) is normally "combat" (red reticle icon, "engaging intruders") in this situation. Special cases for vip
trait: "fleeing" (red running icon, "fleeing intruders") and camera_drone
trait: "hunting" (red exclam icon, "Hunting for intruders", same as in the "hunting" situation)
How do other guards behave when you're seen by a pacifist guard?
As far as the pacifist itself, it turns to look directly at your agent and tracks them as they move, similar to armed guards, but without shooting. If it's not cowardly (CFO, scientist), it investigates the destination to where it last saw your agent move.
Current:
Possible pacifist overwatch-alerts option: [pacifist drones and humans, pacifist drones, vanilla=null drones only, none]