
G'day Forts fans!
Strap in! We've got a bumper update for you.
Discord Rich Presence
Discord and Steam Rich Presence have been integrated into Forts. This will allow other players to see your activity in the game, how full your lobby is, and even allow invites to be posted to Discord chat. Expect a one-off message about enabling this when you start as Discord must obtain your permission for this to work. Steam rich presence is enabled by default. These settings can be toggled in Option's Online tab later, and Discord has its own settings for controlling Rich Presence.

Forts is now integrated with Discord. Image shows Discord overlay and rich presence
- Participants
- Camera
- Profile
Assistant Panel
The long awaited cross-bracing toggle has been added! This will save you time when you are happy to sink resources and mass into a sturdy structure. A hot key has been added to toggle this, defaulting to J. To fit the new button on the HUD, we've created an 'assistant panel' pop up which contains the grid snap, auto-doors, and cross-brace buttons. You can toggle this panel with a hot key defaulting to I. Auto-doors also gets a new hot key defaulting to H. These settings are now kept from one match to the next.

Toggle the assistant panel on for additional controls.
- Assistant Panel
- Grid snap
- Auto-doors
- Cross-bracing
Networking Upgrade
Our network system has had an upgrade by utilising Steam Networking Sockets. This has advantages in traffic security, and in some cases it reduces round trip latency and improves stability. The cream on the cake is we can estimate ping times to lobbies before connecting to them. A new column has been added to Lobby Select for this, and we've re-arranged the screen to better use the space.
Improved Anti-Air
Anti-air performance has had some love too. Baiting should be less effective, as commonly used bait projectiles have a limit to how many weapons will target them at once. This may be expanded in future updates as we learn how to best use the new functionality. Several bugs were also addressed to improve its behaviour. Mod makers can utilise this feature by setting AntiAirMaxClaims on a projectile as a flat value, or as a sorted table of Time and Claim values:
mortar2.AntiAirMaxClaims =
{
{ Time = 1.2, Claims = 1 },
{ Time = 0.8, Claims = 2 },
{ Time = 0, Claims = 3 },
}
New Script Functions for Data
Mod makers will be happy with the addition of a family of powerful new functions useful for extracting data from material, device, ammo, and projectile configuration scripts. GetMaterialValue, GetDeviceValue, GetAmmoValue and GetProjectileValue are able to query any form of data, including nested tables, and single values of various types. GetProjectileValue is used by the AI to retrieve the AntiAirMaxClaims table mentioned above.
Other Highlights
For the hearing-impaired, those who can't play with sound, or if you just need additional warning, we've added a visual fire alarm effect which pulses at edges of the screen. This can be turned off in the Game tab of the Options screen.
Several commanders have received updates. Moonshine has a more powerful Plasma Laser, Phantom's Magna beam lasts longer and applies damage, Scattershot receives more flexible machine guns, and Spook's enemy commander reveal is delayed by 2 minutes.
Don't forget that our update posts and change logs can be viewed in-game by pressing the version under the title in the main menu. This update includes a handy button in Options screen's Game tab so they can seen while you're in the middle of a battle.
Finally, we've added a code of conduct to set a standard of interaction during online play. This must be agreed to in order to access the Multiplayer menu. It's not onerous, so don't disappoint us!
As always there are smaller improvements and bug fixes included. See the full list below or in-game.
Change List dlc2 39 r19095
Add: Avoidance option to Lobby Select screen when attempting to report
Add: Button to access the Version Info screen from the Options screen
Add: Clearance can be tested against neutral and enemy structures using MinFireClearanceVsEnemy
Add: Fire Alarm Visual Feature
Add: GetAmmoValue script function to retrieve arbitrary ammo configuration
Add: GetDeviceValue script function to retrieve arbitrary device or weapon configuration
Add: GetMaterialValue script function to retrieve arbitrary material configuration
Add: GetProjectileValue script function to retrieve arbitrary projectile configuration
Add: Multiplayer code of conduct
Add: Projectile AntiAirMaxClaims to limit AA, either flat number or table of time to impact vs claims: { Time = 0.8, Claims = 1 }
Add: Rich presence for Discord and Steam
Add: Setting to auto cross-brace when extruding
Add: ShowAntiAirSolution to ai.lua to indicate when an AA tries to fire at a projectile but doesn't have an angle
Balance: (EMP rocket) 1 AA will target projectile until 1.6s away, then 2 until 1.2s away, then 3 to mitigate baiting
Balance: (Flak) Increase shrapnel damage multiplier vs mortars from 0.6 to 0.7 (+17%)
Balance: (Flak) Increase shrapnel max age from 0.25 to 0.33 (+32%)
Balance: (Heavy mortar) 1 AA will target projectile until 1.2s away, then 2 until 0.8s away, then 3 to mitigate baiting
Balance: (Incendiary mortar) 1 AA will target projectile until 0.8s away, then 2 AA will target, to mitigate baiting
Balance: (Moonshine) Plasma Laser fire duration increased from 1.5s to 1.65s (+10%)
Balance: (Phantom) Magnabeam does 60 damage per second
Balance: (Phantom) Magnabeam fires 10% longer
Balance: (Phantom) Magnabeam is incendiary at point of contact
Balance: (Scattershot) Machine guns can aim 8 degrees higher and 8 degrees lower than normal
Balance: (Spook) Enemy commander reveal is delayed by 2 minutes
Fix: (Hurricane active) Reload time reduction is not applied to ammo
Fix: Anti-Air can fail to shoot at projectiles at close range
Fix: Anti-Air fires at targets it doesn't have an angle to
Fix: Crash when playing back corrupt replays
Fix: Extruding a door in front of a weapon with auto-doors on converts it into back bracing
Fix: GetDeviceEfficiency returns 0 when the device is not affected by efficiency
Fix: InterpolateTable crashes with invalid column
Fix: Overheating can be circumvented by deleting then cancelling
Fix: Players can delete struts without joining a team using Co-op on Elimination
Fix: Strut deletes itself after changing material overlapping device
Fix: When smoke blocks AA such as machineguns, the player can manually shoot into doors
Improve: \account command can take a teamId to inspect damage taken by opponents
Improve: Anti-Air focus can be limited per projectile using AntiAirMaxClaims in projectile_list.lua
Improve: Increase the distance at which the cursor can be from the extrusion source before it fails
Improve: In-game assistant settings are persistent
Improve: Limit artificial host lag to avoid making game unresponsive for host
Improve: (Lobby Select) Added lobby count to local tab for consistent layout
Improve: (Lobby Select) Turned the refresh button into a smaller graphical button with ‘Refresh’ tool tip
Improve: (Lobby Select) Updated layout to use full width for lobbies
Improve: (Lobby Select) Ban history panel is moved to a tab
Improve: Ping estimate is shown for each lobby in the Lobby Select screen
Improve: SteamNetworkingSockets are used for game traffic
Remove: Ineffective and now obsolete distance filter controls in Lobby Select screen
Make Sure To Join Our Discord
If you haven't already, join our Forts Official Discord server to connect with other players, share strategies, create maps/mods, and receive advance notice of upcoming events.
Cheers,
EWG
Changed files in this update