Tornado Physics

  • Tornado Physics
  • Tornado Physics
  • Tornado Physics
  • Tornado Physics
  • Tornado Physics
  • Tornado Physics
whitevamp
27 subscribers
V3.0.0.0
10 704

Tornado Physics V3 (Destruction & Livestock Update)

Experience the most advanced weather destruction engine ever built for Farming Simulator.

This is not just a script—it is a full physics overhaul for the in-game tornado. Tornado Physics V3 takes the standard visual effect and gives it real teeth, adding accurate suction, object lifting, vehicle damage, and for the first time: Livestock Consequences.

From standard 2x maps to massive 16x terrains, the storm now scales intelligently, calculating dynamic drag, mass resistance, and rotational forces to create a terrifyingly realistic simulation.
🌪️ MAIN FEATURES

True Physics Engine: Replaces the game's static wind with a dynamic vortex. Vehicles are lifted, spun Counter-Clockwise (matching the visual clouds), and thrown based on their mass. Heavier tractors resist longer; lighter equipment flies instantly.

Livestock Danger (Husbandry): The storm is now a threat to your farm's economy. If a tornado crosses a pasture, animals will be lost.

Dynamic Immunity: Large map support automatically scales immunity timers (up to 30+ minutes on 16x maps) to prevent unfair wipes during long storms.

Toggleable: Disabled by default. Turn it on if you crave the risk!

Intelligent Map Scaling: Whether you play on a standard map or a 64km 16x map, the tornado automatically detects the world size and scales its radius, damage zones, and pull strength to match.

Geo-Fencing Safety: No more losing tractors to the void. The mod detects map boundaries and safely drops vehicles before they are thrown out of the world.

🔧 TOTAL CONTROL (In-Game Config)

Forget editing Lua files. You can now tune every aspect of the destruction live via the console:

Adjust Power: Make the storm weaker or turn up the ejection force to launch tractors across the map.

Adjust Size: Manually override the storm radius (t_set radius).

Toggle Damage: Turn off vehicle damage or bale lifting if you just want the visual chaos.

Save Settings: Type t_save and your custom physics configuration is permanently saved.

🚜 COMPATIBILITY & SAFETY

AutoRepair Support: Automatically suppresses the "AutoRepair" mod during storms so mechanics don't try to fix vehicles while they are flying.

Mission/Store Safety: Fixed bugs where borrowed mission vehicles or vehicles in the shop menu would take phantom damage.

Multiplayer Ready: Fully server-synced. Clients see the same destruction the host does.

Performance Optimized: The script sleeps when no storms are active and uses optimized spatial scanning to minimize lag, even on high-object maps.

📜 KEY COMMANDS (Open Console with ~)

t_husbandry - Toggle animal death ON/OFF.

t_set radius [70/140] - Set storm base size (Rec: 70 for 4x Maps, 140 for 16x).

t_save - Save your current settings.

t_status - View active storm data and map scale.

Credits: Scripting & Physics Engine by whitevamp

Server
Consoles
Changelog
3
  • ***

    # Tornado Physics V3 (Release 107)

    **A massive overhaul bringing dynamic physics, full configuration, and dangerous new consequences.**

    ### 🐛 BUG FIXES
    * **Store Safety:** Fixed an issue where vehicles would take damage or get dirty immediately while spawning at the Store location.
    * **Mission Equipment:** Fixed a bug where borrowed Mission Vehicles were incorrectly taking storm damage.
    * **Dirt Glitch:** Fixed an issue where vehicles would instantly become 100% dirty upon exiting a building or the shop menu.

    ### 🆕 NEW FEATURE: Livestock Destruction (Husbandry)
    * **The Storms Now Kill:** Tornadoes that pass over animal pastures will now cause livestock casualties.
    * **Dynamic Immunity:** After a strike, pastures gain temporary immunity to prevent total wipes. On larger maps (4x, 16x), this timer automatically scales up (up to 30+ minutes) to account for the tornado's travel time.
    * **Safety Switch:** Disabled by default. Toggle it on if you want the risk!

    ### ⚙️ PHYSICS & ENGINE OVERHAUL
    * **Fixed "Barber Pole" Effect:** Physics rotation now matches the visual particle spin (Counter-Clockwise). Objects orbit naturally instead of fighting the texture.
    * **Geo-Fencing System:** Added a safety boundary at the map edge. The tornado will drop vehicles safely before they are thrown off the map.
    * **Smart Map Scaling:** The mod now correctly detects 4x, 16x, and 64x maps. Tornadoes are now properly massive on large maps (e.g., 700m wide EF-5s on 16x maps).
    * **AutoRepair Support:** Automatically pauses the "AutoRepair" mod while a vehicle is being held by the storm, preventing the "infinite repair loop."

    ---

    ## 📜 COMMAND REFERENCE
    All commands can be typed directly into the in-game console (`~`).

    ### ✅ Standard Commands (Gameplay)
    These are the main commands most players will use.

    | Command | Description |
    | :--- | :--- |
    | **`t_save`** | **Save Settings.** Saves all current tweaks to `modSettings/TornadoPhysics_Config.xml`. |
    | **`t_status`** | **Check Status.** Shows active storms, map scale, and object count. |
    | **`t_husbandry`** | **Toggle Animal Death.** Turns livestock casualties ON or OFF. |
    | **`t_immunity [sec]`** | **Set Safety Timer.** Sets how long pastures are safe after a strike (e.g., `t_immunity 600`). |
    | **`t_toggle [option]`** | **Toggle Features.** Options: `lift_bales`, `lift_logs`, `indoor_damage`, `outdoor_damage`. |

    ### 🔧 Advanced Commands (Tuning & Admin)
    For server admins and modders who want to fine-tune the destruction.

    | Command | Description |
    | :--- | :--- |
    | **`t_set radius [x]`** | Set the **Base Radius** (Default: 35). *Recommended: 70 for 4x Maps, 140 for 16x Maps.* |
    | **`t_set power [x]`** | Set **Ejection Power** (Default: 20). How hard the tornado throws tractors. |
    | **`t_set heavy [x]`** | Set **Heavy Mass Threshold** (Default: 3.0). Vehicles heavier than this resist suction more. |
    | **`t_set fence [x]`** | Set **Border Buffer** (Default: 40). Distance from map edge where physics stop. |
    | **`t_set dmg_in [x]`** | Set **Inner Damage Rate** (Default: 0.25). Damage per second in the funnel. |
    | **`t_set dmg_out [x]`** | Set **Outer Damage Rate** (Default: 0.08). Damage per second in the wind zone. |
    | **`t_randomize`** | **Force Resize.** Forces the tornado to pick a new random size (EF-0 to EF-5). |
    | **`t_ring`** | **Debug Ring.** Toggles a red ring showing the tornado's active suction zone. |
    | **`t_debug`** | **Telemetry.** Toggles text labels above flying objects (Speed/Mass/Status). |

    ***

  • Summary: This update is a complete rewrite of the physics engine. It addresses performance issues (FPS drops), adds realistic indoor safety checks, and introduces new gameplay mechanics like player ejection and distance-based damage scaling.
    Changelog 2.0.0.0

    🚀 Performance & Optimization

    Target List System: Replaced the global vehicle loop with a "Target List." The script now only calculates physics for objects actually near the tornado, eliminating FPS lag on maps with high vehicle counts.
    Chunked Searching: The tornado searcher now scans the map in small batches (chunks) rather than all at once, preventing game freezes when the tornado spawns.
    Smart Caching: Roof detection checks are now cached for 1 second, significantly reducing CPU usage during storms.

    🛡️ Indoor Safety System (New)

    5-Point Roof Scanner: Implemented a multi-point laser scan (Center, Front, Back, Left, Right) to detect building roofs. Vehicles inside barns are now safe from suction.
    High-Clearance Scanning: Scanners now start 2.5m above the object to prevent large machines (like Combines) from blocking their own safety checks.
    Safety Buffer: Newly detected objects have a 2.0-second "Safety Lock" to ensure the script confirms they are outdoors before applying any lift forces. Fixes the "floating tractor" bug inside sheds.

    ⚙️ Physics & Gameplay Improvements

    Player Ejection: Added a safety system that automatically kicks the player out of the vehicle if it gets sucked into the tornado core (< 35m) to prevent motion sickness.
    Distance-Based Damage: Damage now scales with proximity.
    Outer Zone (80-100%): Wind only, no damage.
    Mid Zone (50-80%): Light paint scratches.
    Eye (0-50%): Heavy damage and mechanical failure.
    Engine Kill: Vehicles with >90% damage now have their engines stalled continuously, simulating a "totaled" state, but can still be repaired/reset properly.
    Log "Tractor Beam": Added specific logic for logs to rotate and lift them realistically within the funnel. ( Do note that if this feature is enable you have a hi chance of losing the logs permanently, you have been warned.)
    Spawn Immunity: Added a 3-second grace period for vehicles bought from the shop to prevent instant damage if the shop is near a storm.

    🐛 Bug Fixes

    Fixed "Bouncing Bales" where objects would repeatedly drop and catch.
    Fixed an issue where resetting a "Broken" vehicle would leave it permanently bricked.
    Fixed vehicles detecting their own cabs as "Roofs" and disabling physics outdoors.

    🛠️ How to Enable Developer Mode (FS25)

    To use the new console commands included in this mod (like t_set radius or t_status), you must enable the developer console in Farming Simulator 25.

    Navigate to your FS25 settings folder:
    Windows: Documents\My Games\FarmingSimulator2025\
    Steam (Linux/Proton): ~/.steam/steam/steamapps/compatdata/[AppID]/pfx/drive_c/users/steamuser/Documents/My Games/FarmingSimulator2025/
    Open the file game.xml with a text editor (Notepad, VS Code, etc.).
    Scroll to the very bottom and look for the <development> tag.
    Change <controls>false</controls> to <controls>true</controls>.
    Save the file and launch the game.

    How to use:

    Press the Tilde (~) or Backtick (`) key (usually under ESC) once to open the log.
    Press it a second time to open the command input line.
    Press Tab to cycle through available commands.

    Mod Commands:
    indoor_damage - vehicles inside buildings will take damage (though physics are disabled). (Default off)
    outdoor_damage - vehicles outside will take damage and physics forces. (Default on)
    random_size - the tornado scale is randomized upon spawning. (Default on) (note: default set in the script is 0.5% min to 5.0% max size increase. so 1/2 of original (game default size.) to 5x larger.)
    t_toggle lift_bales - Turns bale physics on/off on the fly. (Default is on.)
    t_toggle lift_logs - Turns logs physics on/off on the fly. (Default is off.) ( Do note that if this feature is enable you have a hi chance of losing the logs permanently, you have been warned.)

Credits
Comments
41