Tornado
Spawns tornadoes that roam the map and launch rockets at players and buildings
image (2).png
image (3).png
image (1).png
image.png


This plugin adds deadly, moving tornadoes to your Rust server that swirl rockets in the air and launch explosive strikes at structures, players, and deployables. Tornadoes roam the map intelligently, adjust to terrain height, and leave destruction in their path. A great way to add environmental threats or fun admin-triggered chaos.



Features

  • Creates roaming tornadoes that move across the map, track terrain height, and cause chaos wherever they go.
  • Swirls rockets in a spinning vortex, which dive toward the ground and explode on impact.
  • Rockets orbit the funnel and randomly dive down to strike buildings, players, or deployables.
  • Dynamically applies stormy weather (rain, fog, wind, thunder) when tornadoes form.
  • Tornadoes can spawn manually via command or automatically on a timer.
  • Supports any rocket prefab or explosion FX you want to use.
  • Automatically resets the weather after the last tornado ends (optional).
  • Uses simple console commands to spawn, stop, or toggle weather on demand.

Recommended Plugins

  • Volcano - Adds volcanoes that release lava, ash clouds, and debris.

Permissions

  • tornado.admin - Grants full admin access to the plugin. Allows spawning tornadoes, stopping them, and toggling weather manually.

Commands

  • tornado start [count] [durationSeconds] [wanderRadius] [pos <x> <z> | near <player>]- Spawns one or more tornadoes.
    • count - (optional) Number of tornadoes to spawn. Defaults to 1.
    • durationSeconds - (optional) How long each tornado lasts.
    • wanderRadius - (optional) Limits tornado movement to a radius around the spawn point.
    • pos <x> <z> - (optional) Spawns tornado near specific coordinates.
      Example: tornado start 1 60 100 pos 1000 -500
    • near <player> - (optional) Spawns tornado near a specific active player.
      Example: tornado start 2 90 75 near VisEntities
  • tornado stopall - Immediately removes all active tornadoes from the map.
  • tornado weather on - Forces the storm weather config (fog, thunder, wind, etc.) to apply immediately.
  • tornado weather off - Resets the weather back to default settings.
  • tornado help - Shows usage instructions and available subcommands.
If you type just tornado, it will show usage instructions and available subcommands.

Examples:
tornado start
Spawns 1 tornado near your position (if run by a player) or at a random land position (if run from server console).
tornado start 3 120
Spawns 3 tornadoes, each lasting 120 seconds. They spawn near your position or a random one (same rule as above).
tornado start 2 90 60 pos 1000 -500
Spawns 2 tornadoes that last 90 seconds, limited to a 60m radius, centered near X=1000, Z=-500.
tornado start 1 60 80 near VisEntities
Spawns 1 tornado near the player VisEntities, with an 80m roam radius and 60 second duration.

Configuration

JSON:
{
  "Version": "1.0.0",
  "Maximum Number Of Active Tornadoes": 2,
  "Tornado Duration Seconds": 90.0,
  "Enable Automatic Tornado Spawns": false,
  "Time Between Automatic Spawns": 900.0,
  "Tornado Travel Speed": 12.0,
  "Wander Step Distance": 60.0,
  "Terrain Height Lookahead": 8.0,
  "Height Follow Smooth Time Seconds": 0.6,
  "Maximum Vertical Movement Speed": 10.0,
  "Funnel Center Height Above Ground": 5.0,
  "Number Of Funnel Rings": 16,
  "Spacing Between Rings": 7.0,
  "Funnel Throat Radius (bottom)": 1.25,
  "Funnel Mouth Radius (top)": 32.0,
  "Spiral Offset Between Rings": 12.0,
  "Ring Spin Speed": 90.0,
  "Orbiting Projectiles Per Ring": 4,
  "Orbiting Projectile Speed": 12.0,
  "Rocket Vertical Travel Time Seconds": 12.0,
  "Strike Search Radius": 90.0,
  "Seconds Between Rocket Strikes": 2.0,
  "Base Strike Explosion Damage": 500.0,
  "Strike Explosion Radius": 4.0,
  "Damage Players": false,
  "Damage Buildings": true,
  "Damage Deployables": true,
  "Orbiting Projectile Prefab Path": "assets/prefabs/ammo/rocket/rocket_basic.prefab",
  "Strike Explosion FX Prefab": "assets/prefabs/npc/m2bradley/effects/bradley_explosion.prefab",
  "Storm Weather": {
    "Enabled": true,
    "Reset After Last Tornado Ends": true,
    "Preset": "Storm",
    "Transition Seconds": 1.5,
    "Rain": 0.95,
    "Fog": 0.75,
    "Wind": 0.9,
    "Thunder": 0.8,
    "Cloud Coverage": 1.0,
    "Cloud Opacity": 1.0,
    "Cloud Brightness": 0.35,
    "Cloud Sharpness": 0.6,
    "Cloud Scattering": 0.5,
    "Cloud Attenuation": 0.7,
    "Cloud Size": 0.8,
    "Cloud Coloring": 0.35,
    "Atmosphere Rayleigh": 1.0,
    "Atmosphere Mie": 1.2,
    "Atmosphere Brightness": 0.35,
    "Atmosphere Contrast": 1.15,
    "Atmosphere Directionality": 0.85,
    "Wetness Rain": -1.0,
    "Wetness Snow": -1.0
  }
}
  • Maximum Number Of Active Tornadoes - The maximum number of tornadoes allowed on the map at the same time.
  • Tornado Duration Seconds - How long each tornado lasts before fading out.
  • Enable Automatic Tornado Spawns - Whether tornadoes should spawn on their own at intervals.
  • Time Between Automatic Spawns - Delay between each auto-spawn attempt (in seconds).
  • Tornado Travel Speed - The movement speed of the tornado across the terrain.
  • Wander Step Distance - How far the tornado moves before picking a new random direction.
  • Terrain Height Lookahead - How far ahead the tornado samples terrain height to stay smooth.
  • Height Follow Smooth Time Seconds - Controls how quickly the tornado adjusts to elevation changes.
  • Maximum Vertical Movement Speed - The maximum vertical speed when adjusting to terrain height.
  • Funnel Center Height Above Ground - Vertical offset from ground for the tornado funnel center.
  • Number Of Funnel Rings - How many swirling rocket rings make up the tornado funnel.
  • Spacing Between Rings - Distance between each ring in the funnel.
  • Funnel Throat Radius - Radius of the tornado at the bottom (smallest point).
  • Funnel Mouth Radius - Radius of the tornado at the top (widest point).
  • Spiral Offset Between Rings - Spiral twist angle between each funnel ring.
  • Ring Spin Speed - How fast the funnel rotates (degrees per second).
  • Orbiting Projectiles Per Ring - Number of rockets spinning in each ring.
  • Orbiting Projectile Speed - Speed of spinning movement for orbiting rockets.
  • Rocket Vertical Travel Time Seconds - How long rockets take to move up/down the funnel.
  • Strike Search Radius - The maximum range around the tornado to search for a strike target.
  • Seconds Between Rocket Strikes - Delay between each rocket dive-bomb strike.
  • Base Strike Explosion Damage - Damage dealt at the center of a rocket explosion.
  • Strike Explosion Radius - Radius around impact that takes damage.
  • Damage Players - If true, rocket strikes can hurt players.
  • Damage Buildings - If true, rocket strikes damage building blocks and doors.
  • Damage Deployables - If true, deployables like turrets, furnaces, etc. can be damaged.
  • Orbiting Projectile Prefab Path - What prefab to use for the swirling rockets.
  • Strike Explosion FX Prefab - The explosion effect prefab played when a rocket hits.
  • Storm Weather - Weather settings that apply when tornadoes spawn (rain, thunder, wind, etc.). For more details on how each value works, see Rust weather documentation.

Localization

JSON:
{
  "Error.NoPermission": "You do not have permission to use this command.",
  "Info.Usage.Header": "Usage:",
  "Info.Usage.Start": "tornado start [count] [durationSeconds] [wanderRadius]",
  "Info.Usage.StopAll": "tornado stopall",
  "Info.Usage.Weather": "tornado weather on|off",
  "Error.SpawnLimitReached": "Already at the maximum of {0} active tornadoes.",
  "Info.TornadoStarted": "Tornado started.",
  "Info.AllStopped": "All tornadoes stopped.",
  "Error.WeatherUsage": "Use: tornado weather on|off",
  "Info.WeatherOn": "Forced storm weather applied.",
  "Info.WeatherOff": "Weather reset.",
  "Error.UnknownSubcommand": "Unknown subcommand. Type: tornado help",
  "Broadcast.TornadoFormed": "A tornado has formed near {0}."
}
Author
VisEntities
License duration
Unlimited
Price
19.99 USD
First release
Last update

Ratings

0.00 star(s) 0 reviews

Also by VisEntities

  • Owner Pickup Only
    Owner Pickup Only
    Restricts entity pickup to the owner or their teammates
  • No Stuck Arrows
    No Stuck Arrows
    Fixes arrows and spears remaining stuck on players even after they respawn
  • Catapult Aim Assist
    Catapult Aim Assist
    Gives players a visual guide to predict where their catapult shots will land

Latest updates

  1. 1.1.0

    All tornado commands can now be used from the server console and RCON. tornado start now...
Back
Top
Chat commands start with a /, while console commands can be entered directly in the F1 console or server console. Use find <keyword> in console to search for available commands related to the plugin. Parameters in < > are required, while [ ] are optional.
This plugin uses Oxide's permission system. Grant or revoke permissions using oxide.grant and oxide.revoke. You can assign them to individual players or groups using their Steam id or group name.
Settings are stored in the config file found under the config/ directory. You can edit this file manually, then reload the plugin to apply your changes.
Persistent data is saved in the data/ directory. This includes things like saved settings, usage stats, or player progress depending on the plugin. Deleting a data file will reset stored progress or customizations.
Language files are located in the lang/ folder. To translate messages, copy the en.json file into your target language folder (e.g. fr, de) and edit the values. Reload the plugin after changes to apply new messages.
This section lists public methods exposed by the plugin for use in other plugins. You can call these via the CallHook method. Ensure the plugin is loaded before calling its API to avoid null reference errors.
These are custom hooks that other plugins can listen for. Simply define a method with the same name and expected parameters in your plugin to handle the event. Hooks are triggered at key moments and are useful for extending or reacting to plugin behavior.
These hooks are injected into the game's code using Harmony. They let the plugin run code at key points in the game's internal logic. You can return values to block or modify behavior. Use with caution — these are powerful and can affect core mechanics.
Cart