Security Droid Enemy
Adds a Drone that hunts anyone holding valuables. Warns first, then stuns!
| Last updated | a week ago |
| Total downloads | 13357 |
| Total rating | 0 |
| Categories | Mods Monsters Client-side Server-side |
| Dependency string | Omniscye-Security_Droid_Enemy-1.0.2 |
| Dependants | 5 other packages depend on this package |
This mod requires the following mods to function
BepInEx-BepInExPack
BepInEx pack for Mono Unity games. Preconfigured and ready to use.
Preferred version: 5.4.2100README
Security Droid Enemy v1.0.2 - The Monsters Have New Security
You hear the hum. You feel the stare. Then it clicks.
If you are holding something valuable, the drone knows.
This is not just another monster. This is corporate security with a spotlight and an attitude.
A floating enforcer that patrols the halls, scanning for sticky fingers and shiny loot.
If you are greedy, it will find you.
If you are careless, it will warn you.
Ignore the warning… and it will fry you where you stand.
What this mod does
- All players NEED this mod for proper multiplayer sync
- Thief detection – The drone tracks players holding valuables if it sees them. No loot means no aggro
- Warning then punishment – Soft warning phase. Keep clutching that shiny and it will stun you
- Proper multiplayer – Host is authoritative. Visuals and sounds are synced for everyone
- Roaming patrol – Moves around the map and may idle if it feels like camping a spot
- Not killable – You deal with it. You do not delete it
Player tips
- Hear warning sounds while holding loot? Drop it or commit and run
- Team play works. One baits, one carries. The drone only cares about who has the goods
Networking and behavior
- Host is the brain
- All players NEED the mod
- The drone does not care who you are. It cares what you are holding and whether it can see you
For Developers and Modders
High Level AI Outline
Sensing
The drone uses a forward cone with distance, field of view, and line-of-sight checks against player head height. Occlusion uses physics raycasts to avoid wall peeks. Vision updates on a short tick to keep CPU cost predictable.
Target Gating
A player becomes a valid target only if currently holding a valuable object and inside vision. Dropping the item or breaking line of sight clears aggression after a short decay.
States
Patrol, Watch, Warn, Stun, and Cooldown.
- Watch keeps the drone near a suspicious player without committing
- Warn plays audio and lights while verifying the player still holds loot
- Stun fires if the player keeps the item through the warning window
- Cooldown prevents spam and gives teams a chance to reset
Patrol Logic
Simple wander within a radius, with idle pauses. Patrol bias favors areas where players were last seen. If nothing is interesting, it drifts but does not stray too far from the action.
Anti Cheese
- Avoids rapid retarget thrash
- Ignores recently stunned players until cooldown expires
- Requires renewed vision before re-engaging
Networking Model
Authority
Host owns AI decisions, timing, and stun resolution. Clients mirror visuals only.
Signals
Clients send small reliable events when they start or stop holding valuables. The host maintains a map of valid thieves.
Pose Stream
Host periodically broadcasts position and rotation at a modest rate. Clients smooth motion with interpolation to keep it stable even on higher latency.
Effects
Warning and stun effects are triggered by the host and echoed to clients. Audio and light cues stay synchronized to avoid desync.
Join In Progress
Late joiners receive the current spawn and immediately mirror drone pose and state. No invisible attacker issues.
Performance
- Minimal runtime allocations
- Conservative physics queries
- Short fixed updates
Credits
- Made by Omniscye
- Thanks to OrigamiCoder for helping test online
- Drone model by HighPolyDensity
https://sketchfab.com/3d-models/fnsd-500-security-drone-73554ac72553414a990929c6a044c797
Licensed under CC 4.0 International
https://creativecommons.org/licenses/by/4.0/
Need mod support or want to hang out?
Join my Discord: https://discord.gg/TnruJeXdAw