Tornado Physics V3.0
Make Tornadoes Scary Again! By default, Farming Simulator 25 tornadoes are just visual effects that pass right through your equipment. Tornado Physics changes that completely. This script mod hooks into the game engine to apply real physical forces to any vehicle caught in the storm. 🔥 Key Features: True Suction: Vehicles are physically dragged across the ground toward the funnel. Lift & Throw: Once inside the “Eye,” vehicles are lifted into the air and spun around. Mass Matters: Heavy tractors (30t+) will struggle and hover low, while lighter vehicles (pickups, small tractors) will be launched high into the air. Total Destruction: If a vehicle is caught in the tornado, it is instantly “Totaled.” It will receive 100% Damage, 100% Paint Wear, and 100% Dirt. The engine will fail and require towing to a shop. Shop Safety: Vehicles inside the store configuration screen are protected from physics. 🛠️ How it Works: The mod scans the game engine for the tornado’s position and calculates distance to every active vehicle. It uses a custom impulse system to override the game’s heavy gravity and friction, creating a realistic “tumbling” effect without causing lag or physics explosions. 💻 Console Commands (Optional): This mod works automatically with natural weather, but if you want to test it or force a storm, you can use these console commands: gsWeatherTwisterSpawn – Spawns a tornado directly in front of you (Game Default). t_status – Checks if the script has locked onto the tornado. t_scan_root – Forces a re-scan of the engine (useful if the tornado doesn’t seem to be pulling). t_lock [ID] – Manual override to lock physics to a specific object ID. ⚠️ Compatibility: Multiplayer: Supported. Performance: Highly optimized. Physics sleep until the storm is close. Server: Runs on server-side logic to keep clients synced. This is a major update that transforms the standard tornado event into a full physics-based destruction engine. Version 3.0 introduces real mass calculations, multi-vehicle interactions, and map-aware scaling. 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. 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. 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.) Scripting & Physics by whitevamp
Also posted on