About Corrupted Drone Boss Event
Corrupted Drone Boss Event
A giant Corrupted Drone boss that hunts players at your monuments. It thinks, dodges, shields itself and fights in phases. Kill it for crash-site loot, a damage leaderboard and rank rewards.
Drop it in and it works: five monuments come ready with flight paths, and the drone shows up as a timed server event. Every monument gets its own profile, so you can run an easy guard at Junkyard and a nightmare at Launch Site on the same server.
Features
- Smart AI. Picks its target by threat and hunts players who hide behind cover.
- Attacks that change in phases. Machine gun, cannon shells, napalm, homing rockets, artillery barrages and mine drops.
- Shield phase. Destroy the power cells to break the shield and stun the drone.
- Flares. Counters homing launcher missiles, so teamwork beats it.
- Homing launcher support. The vanilla homing launcher locks on to the drone like a helicopter.
- Event mode. "A Corrupted Drone has been spotted at Airfield!" It stays for a limited time, then leaves.
- Four respawn types. Timer, plugin load, daily schedule or event, set per monument.
- Damage leaderboard and rank rewards. Items, Economics, ServerRewards and commands for the top players.
- Crate lock. The top damage dealer's team gets the loot first.
- Loot your way. Built-in loot, Loottable, AlphaLoot or CustomLoot, set per monument.
- Health bar. Shows SHIELDED and STUNNED states.
- Map markers. Show health %, a respawn countdown, "Arriving in…" and "Leaves in…".
- Waypoint editor in-game. Draw any number of waypoints. The combat zone is calculated for you.
- Multi-language. Every player gets messages in their own language.
- Performance friendly. The drone sleeps (no AI, no physics) while no player is near.
How a fight plays out
The drone patrols its waypoints. When players come close it wakes up, picks a target and starts fighting. It uses its machine gun all the time, plus one special attack at a time, chosen from the current phase's list.
| Phase | Health | Default special attacks | Behaviour |
|---|---|---|---|
| Phase 1 | 100% – 70% | Cannon shells, Mine drop | Goes after the closest player |
| Shield | at 50% | — | Immune until the power cells are destroyed |
| Phase 2 | 70% – 35% | Cannon, Napalm, Artillery | Flares on, hunts launcher users |
| Phase 3 | below 35% | Napalm, Homing, Artillery, Mines | Faster attacks, hunts the top damage dealer |
Everything in this table can be changed per monument.
Special attacks
| Attack | What players see |
|---|---|
| Cannon shells | Bursts of Bradley main-cannon shells at the target |
| Napalm rockets | Fire rockets that set the ground on fire |
| Homing rockets | Rockets that climb, then dive onto players |
| Artillery barrage | Smoke and a beep mark each player's spot. "INCOMING BARRAGE, MOVE!" Rockets rain down 3 seconds later. They land where players were, so moving saves you. |
| Mine drop | Landmines scattered under the drone. They arm after a moment and disappear after 60 seconds. They can't be looted. |
Smart AI
- Threat targeting. Each phase weights recent damage, holding a launcher, distance, low health and a random factor. The drone hunts whoever matters most.
- Line of sight. Hide behind a wall and the drone moves to a spot inside its zone that can see you again.
- Flares. When a homing missile gets close, the drone can fire flares, and the missile goes for the flares instead. Charges recharge over time, so a second missile right after the first gets through.
Shield phase
At 50% health the drone becomes SHIELDED. Hits bounce off, and power cells spawn around the monument. They show on the map and give off sparks. Destroy them all and the shield breaks. The drone is then STUNNED for a few seconds and takes bonus damage. If nobody destroys the cells in time, the drone repairs itself.
When it dies
The drone spins out and crashes. Its burning crates scatter around the crash site.
- Kill announcement in chat.
- Damage leaderboard showing the top players and their % of the damage.
- Rank rewards for the top damage dealers.
- Crate lock. The crates belong to the top damage dealer and their team for a few minutes.
Respawn types
Set per monument profile.
| Type | Name | How it spawns |
|---|---|---|
0
|
Timer | Respawns a random time (min – max) after it dies |
1
|
Plugin load | Spawns once when the plugin loads, never respawns |
2
|
Schedule |
Spawns at set server times, e.g. 18:00 and 22:00
|
3
|
Event | Only spawns through the drone event (default) |
Also per monument:
- Minimum online players. A due boss waits until enough players are online.
- Flies away when nobody comes. An idle boss leaves and frees its slot.
The main config also caps how many bosses can be alive at the same time.
Event mode
Every 1–2 hours (configurable), the plugin picks a random event monument:
- Warning: "A Corrupted Drone has been spotted heading to Power Plant! It arrives in 1 min."
- Arrival: it stays for 30 minutes, with reminders in chat and a "leaves in…" countdown on the map.
- End: it's killed, or it leaves. If players are still shooting it when time runs out, it stays a bit longer. Then the timer for the next event starts.
Default monuments
These come with flight paths ready to go. They all use the Event respawn type, so you decide which ones use other types.
- ☑ Launch Site
- ☑ Junkyard
- ☑ Airfield
- ☑ Power Plant
- ☑ Water Treatment Plant
Add any other monument with /drone addmonument. Waypoints are saved relative to the monument, so a path works on every map that has it. You can also use RustEdit map markers or any custom position.
Note
Any number of waypoints. The drone patrols your waypoints in order. Its combat zone is the outline around all of them, worked out for you, and it strafes, chases and drops mines inside that zone.
See it all while editing. The waypoints show in green and the combat zone in yellow. The event area is a blue sphere and the attack radius a red one. Change those two radiuses live with /drone eventradius and /drone attackradius.
Rewards and loot
Rank rewards (per monument)
Each rank (1st, 2nd, 3rd…) can give any mix of:
- Items (with skin, custom name, blueprint and chance)
- Economics money
- ServerRewards points
-
Console commands with
{steamid}and{name}
Players below a minimum damage share get nothing, so one bullet doesn't count. Players who were dead when rewards went out get their items when they respawn.
Crash crate loot (per monument)
| Loot type | Value | Source |
|---|---|---|
| Default |
0
|
The crate's vanilla loot (or your loot plugin's normal crate loot) |
| Own |
1
|
The plugin's own item list |
| Loottable |
2
|
A Loottable custom preset |
| AlphaLoot |
3
|
An AlphaLoot loot profile |
| CustomLoot |
4
|
A CustomLoot preset |
You also set the crate prefab, how many crates, fire around the crates, locking crates with fire, and how long until the crates disappear.
Commands
All commands need the DroneBossEvent.admin permission (or admin). If you leave out [name], the nearest location is used.
Waypoint editing
| Command | Description |
|---|---|
/drone edit [name]
|
Select a location and show its waypoints and combat zone |
/drone addwp
|
Add a waypoint where you are (fly at the height the drone should patrol) |
/drone removewp
|
Remove the waypoint nearest to you |
/drone stopedit
|
Stop editing and respawn the boss on the new path |
/drone eventradius <meters>
|
Set the event area of the location you're editing (shown as a blue sphere) |
/drone attackradius <meters>
|
Set the attack radius of the location you're editing (shown as a red sphere) |
Locations
| Command | Description |
|---|---|
/drone add <name>
|
Create a custom location at your position |
/drone addmonument
|
Create a location for the monument nearest to you |
/drone remove <name>
|
Delete a location |
/drone enable <name> / /drone disable <name>
|
Turn a location on or off |
/drone tp <name>
|
Teleport to a location |
Bosses and events
| Command | Description |
|---|---|
/drone spawn [name]
|
Spawn the boss now (starts an event at Event locations) |
/drone kill [name]
|
Remove the boss without loot and start its respawn timer |
/drone status
|
All bosses, health, respawn timers and the event state |
/drone event start [name]
|
Start an event now (random monuments, or the one you name) |
/drone event stop
|
End the running event and schedule the next one |
/drone event status
|
Time until the next event |
/drone reload
|
Reload the plugin |
Server console: drone status, drone spawn <name>, drone kill <name>, drone event start [name], drone event stop, drone reload.
Installation
-
Upload
DroneBossEvent.cstooxide/plugins. -
The plugin creates
oxide/config/DroneBossEvent.jsonand the five default monuments inoxide/data/DroneBossEvent/Locations/. - Grant yourself the admin permission:
oxide.grant user YourName DroneBossEvent.admin
-
Test it right away with
/drone event start.
Warning
Updating from an older version? Delete oxide/config/DroneBossEvent.json once so the full config is created again.
Configuration
Main config (oxide/config/DroneBossEvent.json), shortened
{ "General Setting": { "Boss name (used by locations without their own name)": "Corrupted Drone", "Maximum bosses alive at the same time (0 = no limit)": 0, "Announce when a boss spawns": true, "Debug logging": false }, "Chat Setting": { "Chat Avatar Icon": 0, "Chat Prefix": "<color=#FF4444><b>[Drone Boss]</b></color> ", "Notification Type(CHAT = 0/TIP = 1/BOTH = 2)": 2 }, "UI Setting": { "Show Boss Health UI": true, "Bar stays for (seconds) after your last hit": 10.0, "Bar distance from the top of the screen (px)": 34.0, "Bar title ({NAME} = boss name, {LOCATION} = location)": "{NAME}" }, "Damage Leaderboard Setting": { "Show the top damage dealers in chat when a boss dies": true, "How many players to show": 5 }, "Event Setting (for locations with Respawn type 3)": { "Enable the drone event": true, "First event after the plugin loads [sec.] (-1 = use the time between events)": 300, "Minimum time between events [sec.]": 3600, "Maximum time between events [sec.]": 7200, "Drones per event (random event locations)": 1, "Warn players before the drone arrives [sec.] (0 = no warning)": 60.0, "How long the drone stays [sec.]": 1800.0, "Stay longer while players are still shooting it, up to [sec.] (0 = leave on time)": 120.0, "Remind players how long the drone stays every [sec.] (0 = off)": 600.0, "Minimum online players to start an event (0 = any)": 0 } }
Monument profile (oxide/data/DroneBossEvent/Locations/Airfield.json), main sections
{
"Enabled? [true/false]": true,
"Boss name (empty = the Boss name from the config)": "Airfield Sentinal",
"Monument name (leave empty to use a map marker or Position)": "Airfield",
"Map marker name (RustEdit, leave empty to use Position)": "",
"Position (X, Y, Z)": "",
"Rotation (X, Y, Z)": "",
"Respawn type (0 = Timer after death, 1 = Only when the plugin loads, 2 = Schedule, 3 = Event)": 3,
"Spawn right away when the plugin loads (Timer and Schedule types)": true,
"Timer: minimum respawn time after death [sec.]": 3600,
"Timer: maximum respawn time after death [sec.]": 7200,
"Schedule: spawn times (server time, 24h HH:mm)": [
"18:00",
"22:00"
],
"Minimum online players for the boss to spawn (0 = any)": 0,
"Boss flies away if no player comes near for [sec.] (0 = never, Timer and Schedule types)": 0.0,
"Event area radius (enter/leave messages)": 300.0,
"Player can damage Drone Distance": 175.0,
"Boss Drone Setting": {
"Health": 10000,
"Drone size (1 = normal drone)": 15.0,
"Attack Radius": 200.0,
"Speed": 3.5,
"Rotate Speed": 70.0,
"Drone Aimcone": 2.0,
"Homing launcher can lock on to the drone": true,
"Homing missile damage multiplier": 1.0,
"Homing missiles ignore the 'Player can damage Drone Distance' limit": true,
"Boss Drone Waypoints List": [
{
"x": -112.953125,
"y": 27.0598259,
"z": 33.2520256
},
{
"x": -102.355637,
"y": 29.2714729,
"z": -69.95002
},
{
"x": 107.656387,
"y": 23.0623131,
"z": -77.56492
},
{
"x": 98.57065,
"y": 28.6964455,
"z": 15.3681784
}
]
},
"Attack Setting": {
"Machine gun": {
"Damage per bullet": 10.0,
"Bullets per burst": 15,
"Seconds between bullets": 0.067,
"Pause between bursts [sec.]": 2.0
},
"Cannon shells": {
"Shells per burst": 5
},
"Napalm rockets": {
"Volleys per burst": 6,
"Rockets per volley (one per target)": 2
},
"Homing rockets": {
"Volleys per burst": 5,
"Rockets per volley (one per target)": 2
},
"Artillery barrage": {
"Players marked per barrage": 4,
"Rockets per marked spot": 6,
"Spread around the marked spot [m]": 6.0,
"Warning time before the rockets fall [sec.]": 3.0,
"Rocket drop height [m]": 45.0,
"Rocket prefab": "assets/prefabs/ammo/rocket/rocket_basic.prefab"
},
"Mine drop": {
"Mines per drop": 6,
"Drop radius around the drone [m]": 12.0,
"Mines disappear after [sec.]": 60.0,
"Maximum mines at the same time": 15
},
"Flares": {
"Chance to use flares against a homing missile [%]": 60.0,
"Flares per burst": 4,
"Flare charges": 2,
"Seconds to recharge one flare charge": 30.0,
"Fire the flares when the missile is closer than [m]": 50.0
},
"Shell, rocket and fire damage multiplier against players": 1.0,
"Tell a player when the drone picks them as its target": true,
"Move to see a hidden target after [sec.] (0 = off)": 1.5,
"Phase 1 (full health)": {
"Starts at health [%] (ignored for phase 1)": 100.0,
"Strafe speed": 5.0,
"Machine gun (always-on main weapon)": true,
"Pause between special attacks [sec.] (minimum)": 5.0,
"Pause between special attacks [sec.] (maximum)": 9.0,
"Special attacks (Type: Cannon, Napalm, Homing, Artillery, Mines)": [
{
"Type": "Cannon",
"Weight (higher = picked more often)": 50,
"Cooldown [sec.]": 8.0
},
{
"Type": "Mines",
"Weight (higher = picked more often)": 30,
"Cooldown [sec.]": 40.0
}
],
"Use flares against homing missiles": false,
"Target choice": {
"Weight: damage dealt to the drone in the last 30 sec.": 20.0,
"Weight: holding a rocket or homing launcher": 15.0,
"Weight: closest to the drone": 45.0,
"Weight: low health": 10.0,
"Weight: random": 10.0
}
},
"Phase 2": {
"Starts at health [%] (ignored for phase 1)": 70.0,
"Strafe speed": 8.0,
"Machine gun (always-on main weapon)": true,
"Pause between special attacks [sec.] (minimum)": 4.0,
"Pause between special attacks [sec.] (maximum)": 8.0,
"Special attacks (Type: Cannon, Napalm, Homing, Artillery, Mines)": [
{
"Type": "Cannon",
"Weight (higher = picked more often)": 30,
"Cooldown [sec.]": 10.0
},
{
"Type": "Napalm",
"Weight (higher = picked more often)": 30,
"Cooldown [sec.]": 15.0
},
{
"Type": "Artillery",
"Weight (higher = picked more often)": 25,
"Cooldown [sec.]": 30.0
}
],
"Use flares against homing missiles": true,
"Target choice": {
"Weight: damage dealt to the drone in the last 30 sec.": 35.0,
"Weight: holding a rocket or homing launcher": 30.0,
"Weight: closest to the drone": 20.0,
"Weight: low health": 10.0,
"Weight: random": 10.0
}
},
"Phase 3 (critical, announced in chat)": {
"Starts at health [%] (ignored for phase 1)": 35.0,
"Strafe speed": 10.0,
"Machine gun (always-on main weapon)": true,
"Pause between special attacks [sec.] (minimum)": 3.0,
"Pause between special attacks [sec.] (maximum)": 6.0,
"Special attacks (Type: Cannon, Napalm, Homing, Artillery, Mines)": [
{
"Type": "Napalm",
"Weight (higher = picked more often)": 30,
"Cooldown [sec.]": 12.0
},
{
"Type": "Homing",
"Weight (higher = picked more often)": 25,
"Cooldown [sec.]": 18.0
},
{
"Type": "Artillery",
"Weight (higher = picked more often)": 25,
"Cooldown [sec.]": 22.0
},
{
"Type": "Mines",
"Weight (higher = picked more often)": 20,
"Cooldown [sec.]": 30.0
}
],
"Use flares against homing missiles": true,
"Target choice": {
"Weight: damage dealt to the drone in the last 30 sec.": 50.0,
"Weight: holding a rocket or homing launcher": 20.0,
"Weight: closest to the drone": 10.0,
"Weight: low health": 15.0,
"Weight: random": 5.0
}
}
},
"Shield Setting": {
"Enable the shield phase": true,
"Shield activates at health [%]": 50.0,
"Power cells to destroy": 3,
"Power cell health": 500.0,
"Power cell prefab": "assets/prefabs/deployable/playerioents/batteries/large/large.rechargable.battery.deployed.prefab",
"Show the power cells on the map": true,
"Drone is stunned after the shield breaks [sec.]": 8.0,
"Bonus damage to the stunned drone [%]": 50.0,
"Shield gives up after [sec.] (0 = never)": 180.0,
"Drone heals when the shield gives up [% of max health]": 20.0
},
"Damage Reward Setting": {
"Give rewards to the top damage dealers": true,
"Minimum share of the total damage to get a reward [%]": 5.0,
"Rewards by rank (first entry = most damage)": [
{
"Items": [
{
"ShortName": "scrap",
"Minimum": 500,
"Maximum": 500,
"Chance [0.0-100.0]": 100.0,
"Blueprint? [true/false]": false,
"SkinID (0 - default)": 0,
"Name (empty - default)": ""
}
],
"Economics money (0 = off)": 0.0,
"ServerRewards points (0 = off)": 0,
"Server console commands ({steamid}, {name})": []
},
{
"Items": [
{
"ShortName": "scrap",
"Minimum": 250,
"Maximum": 250,
"Chance [0.0-100.0]": 100.0,
"Blueprint? [true/false]": false,
"SkinID (0 - default)": 0,
"Name (empty - default)": ""
}
],
"Economics money (0 = off)": 0.0,
"ServerRewards points (0 = off)": 0,
"Server console commands ({steamid}, {name})": []
},
{
"Items": [
{
"ShortName": "scrap",
"Minimum": 100,
"Maximum": 100,
"Chance [0.0-100.0]": 100.0,
"Blueprint? [true/false]": false,
"SkinID (0 - default)": 0,
"Name (empty - default)": ""
}
],
"Economics money (0 = off)": 0.0,
"ServerRewards points (0 = off)": 0,
"Server console commands ({steamid}, {name})": []
}
],
"Lock the crates to the top damage dealer and their team for [sec.] (0 = off)": 300.0
},
"Drone Loot Setting": {
"Spawn Drone Loot": true,
"Spawn fire around Crates": true,
"Lock crates with fire": true,
"Crate prefab": "assets/prefabs/npc/m2bradley/bradley_crate.prefab",
"Crate Minimum": 5,
"Crate Maximum": 10,
"Remove crates after [sec.] (0 = never)": 1800.0,
"Loot to spawn (Default = 0, Own = 1, Loottable = 2, AlphaLoot = 3, CustomLoot = 4)": 0,
"If own lootable then this loot going to spawn": {
"Minimum numbers of items": 1,
"Maximum numbers of items": 2,
"List of items": [
{
"ShortName": "scrap",
"Minimum": 100,
"Maximum": 100,
"Chance [0.0-100.0]": 50.0,
"Blueprint? [true/false]": false,
"SkinID (0 - default)": 0,
"Name (empty - default)": "Custom Scrap"
},
{
"ShortName": "scrap",
"Minimum": 100,
"Maximum": 100,
"Chance [0.0-100.0]": 50.0,
"Blueprint? [true/false]": false,
"SkinID (0 - default)": 0,
"Name (empty - default)": "Custom Scrap"
}
]
},
"Loottable custom preset name (when 'Loot to spawn' is 2)": "",
"AlphaLoot loot profile name (when 'Loot to spawn' is 3)": "",
"CustomLoot preset name (when 'Loot to spawn' is 4)": ""
}
}
Each profile also holds the waypoints, every weapon's stats, the artillery, mine and flare settings, target weights per phase, the stun time and bonus damage, rank rewards and the full loot list.
Optional plugins
| Plugin | Used for |
|---|---|
| Economics | Money rewards |
| ServerRewards | Point rewards |
| Loottable |
Crate loot type 2
|
| AlphaLoot |
Crate loot type 3
|
| CustomLoot |
Crate loot type 4
|
| TruePVE / SimplePVE | Players can always damage the boss, even on PVE servers |
For developers
// Hooks void OnCorruptedDroneSpawned(Drone drone, string location) void OnCorruptedDroneKilled(string location, Vector3 crashPosition, BasePlayer killer) void OnCorruptedDronePlayerTarget(Drone drone, BasePlayer target) void OnCorruptedDroneLeft(string location) void OnCorruptedDroneEventStarted(Drone drone, string location) void OnCorruptedDroneEventEnded() void OnCorruptedDroneShieldUp(Drone drone, string location) void OnCorruptedDroneShieldBroken(Drone drone, string location) void OnCorruptedDroneFlares(Drone drone) // API bool IsCorruptedDrone(Drone drone) string GetCorruptedDroneLocation(Drone drone)
Support
Found a bug or have an idea? Open a support ticket on this page. Please include your config and a description of what happened.
