Forts/Moonshot Update 1.13

G’day Forts fans!

We’re excited to bring you this belated regular update today – it was originally scheduled for the beginning of August. It’s a little bigger than normal, but it was also delayed while we waited for our code signing certificate to be renewed. Without this various anti-virus programs will flag the executable as potentially malicious as it has no existing reputation.

This update is primarily aimed at satisfying our commitment to a stable, correctly functioning and balanced game. Of course this is an ongoing process due to the complexity of Forts, but it is a big step in that direction.

The most visible improvement may be the high resolution cursors. The ranked medal popup has been broken into rows, and each medal receives a description. To accommodate more medals we have re-arranged the ranked match screen. The built-in unlimited resource mods were actually capped internally. This has been fixed, but also the maximum cost values that items can display has increased to 1 billion – after which it is capped to prevent text overlap. The maximum storage capacity that can be displayed now has 5 digits.

The biggest balance change may be that Warheads take 30 seconds longer to build. Or it could be that repair stations are faster at clearing smoke, making them viable for defending against missiles and rockets. To make the Moonshot campaign a little easier, we’ve made the Shotgun spread its projectiles evenly.

Skylands has been removed from the Ranked map pool. We can hear the cheering now! On occasion ranked scores are randomly lost, with an elusive cause. This update attempts to address that, but there may be more work to do.

As a usability improvement for new players, when deleting a joint it is automatically deselected. Fans of the triple-delete quick scrap ‘feature’ can check the new option ‘Keep Joint Selection on Scrap’ to revert to the original behaviour.

Under the hood, many crashes, exploits, and a desync have been fixed. For example, you could create a tiny door by placing a weapon behind a short segment of bracing. Another one is ground devices (such as a mine) could be placed over bracing while it is converting to armour. Commanders could be self-charged by dropping a device with splash damage onto a structure.

Ground co-incident struts, which have caused a few problems – such as allowing extrusion to bridge ground blocks internally – should be a thing of the past. In a similar vein, devices could be built inside of the ground when the platform below it was close.

There were some inconsistencies with reclaim values that are now sorted. A fairly common crash occurred when building devices over barrier materials when the conversion could not be afforded – which wasn’t meant to be allowed anyway. The repair station had a few problems, working for and against it.

Mods could introduce some excessive or invalid values that caused stability issues due to floating point rounding and arithmetic errors. Indeterminate values such as 0/0 are now rejected, and instead the game’s default value is used. All values are now clamped by default to [-10e11, +10e11] (i.e. 1 trillion). Some values have narrower clamping ranges. See the change list for specifics.

The map editor has an important fix: you can now use extrusion while the simulation is paused, as well as a few other improvements.

There’s much more; the full change list can be viewed below. We hope you enjoy this update, and invite you to provide feedback here or via the Official Forts Discord.


Changelist 2021-09-09

Add: description text to medals shown under popup and in ranked match screen on rollover
Add: tooltip, preview reclaim value and time when confirming node deletion
Add: background name to print_background command
Add: BUILDERROR_NEED_SPOTTER value for OnBuildError script event

Balance: (Heavy Mortar) remove drag to be consistent with the incendiary mortar and to aide AI aim
Balance: (Flak, Shotgun, EMP, Rocket, 20mm, Repair Station and Smoke Bomb) set at a consistent 25%-50% reclaim instead of 50%-90%
Balance: (Shotgun) projectiles have an even spread in the Moonshot campaign
Balance: (Warhead) increase build time by 30 seconds
Balance: (Armourdillo) AP-minigun projectiles deflect the same angle as AP-sniper are blocked
Balance: (Repair Station) increase rate of smoke clearing by 30%, in time for AA to counter missiles
Balance: (Pillars, Skylands) lower wind and view floor to compensate for bug fix

Improve: deselect node when you delete it, including when unsuccessful
Improve: add ‘Keep Joint Selection On Scrap’ option to retain original behaviour
Improve: high resolution cursor textures
Improve: break medal popup into rows of 5
Improve: disable submarine ping noise on friends & private lobbies
Improve: add fast reload to the firing range training mission in the Moonshot campaign
Improve: (Ranked) remove skylands (players forfeiting just to avoid playing it)
Improve: increase max capacity digits on resource panel to 5
Improve: don’t show error effect on the node when deleting a node and a link is occupied by a device
Improve: faction variations are applied by sprite name using AddFactionSpriteStateByName rather than fixed index
Improve: default reclaim values added to rules for standardisation, removed relevant values from vanilla devices and weapons
Improve: new chat messages don’t scroll you back to the present unless you sent them
Improve: if weapon is refired and opens doors, but you decide to close the door, it stops trying
Improve: (Portal HUD item) updated to have alpha maps consistent with other materials
Improve: localised generic strings in medal descriptions
Improve: split ranked match screen vertically and split the trophy cabinet over rows
Improve: (Map Editor) Ctrl + N key creates a square block instead of an empty one
Improve: disabling tips prevents Sandbox and Eagle Eye tips from showing
Improve: when previewing a device show structure recession costs if any and highlight unaffordable costs
Improve: non-symmetrical effects are larger, more opaque and show for longer
Improve: the documentation of several script functions
Improve: when new lines appear in console while scrolling, it no longer jumps to present
Improve: reduced size of cycle preview buttons to avoid pixilation
Improve: clamp material SpringDamping to [0, 10e11]
Improve: clamp material AirDrag to [0, 10e11]
Improve: clamp material MaxCompression to [0, 1]
Improve: clamp material MaxExpansion to [1, 100]
Improve: clamp material Pretension to [0, 2]
Improve: clamp material MinLength to [0, 10e11]
Improve: clamp material MaxLength to [MinLength, 10e11]
Improve: clamp material MaxLinkLength to [MaxLength, 10e11]
Improve: clamp material MaxSegmentLength to [1, 10e11]
Improve: clamp material HitPoints to [0, 10e11]

Fix: ranked scores can be uploaded with fewer total games than when first discovered in a session
Fix: (Seep) MakeArmouredVersion logs errors to the console when Tons of Guns is disabled
Fix: (Armourdillo) MakeFlamingVersion isn’t found when Tons of Guns is disabled, logging errors to the console
Fix: (Armourdillo) repair station circle effect doesn’t show up when it operates
Fix: (Phantom) can’t move a warhead to an inverted position
Fix: (Minigun) base sprite uses machinegun arm and separate belt, inconsistent with faction sprites
Fix: faction variation arms change mid reload animation
Fix: portal connections to other teams remain when connecting to a neutral structure
Fix: save command doesn’t copy the mission script or preview images
Fix: when there is no spotter, trying to fire spawns an error sound at the origin
Fix: (Smoke Bomb) base livery set to workshop instead of armoury, and gunner is not a silhouette
Fix: applied damage is not transformed back to projectile hitpoints using the inverted damage multiplier, so projectiles survive, hitting a device multiple times
Fix: weapon refire can make doors emit a shut_door effect when they are already shut
Fix: auto-doors can be created on bracing shorter than the minimum length
Fix: (Ranked Match screen) match type (e.g. 1v1) was not localised
Fix: large transaction effects run off the screen
Fix: large item values overflow the controls on the HUD; values can now be up to 1 billion
Fix: loud blast doors when multiple are active at once
Fix: unlimited resource caps can’t go above UI limited amounts
Fix: in some aspect ratios the medal popup is not located correctly
Fix: text button initialisation is inconsistent, often preventing double clicking on a map from editing it
Fix: the downward facing firing arc for inverted missiles is missing
Fix: ranked lobbies show ‘host speaks your language’ icon
Fix: (Map Editor) Press H to mirror terrain when you’re moving it flips the normals (don’t allow)
Fix: (Map Editor) structures without a reactor when linked do not join to be owned by the same team
Fix: (Map Editor) when creating a link the new node selection is not part of the undo level
Fix: when background team (-2) is current, terrain blocks are made as background but are not darkened
Fix: it’s possible to connect to background team structure in Sandbox from neutral structure
Fix: no undo level created when node and device ids are compacted
Fix: non-functional portals can’t receive an impact force from projectiles
Fix: (guided missiles) after passing through a portal which switches direction the projectile turns into the structure
Fix: ProjectileMass has a default of 0
Fix: infinite and indeterminate values in Lua tables can be passed to the game, causing crashes
Fix: if a weapon is inside a background view floor then it calculates maximum visibility
Fix: view floor calculation looks at wind floor blocks
Fix: repair station circle effects don’t match field radius
Fix: if a segmented material conducts power you can select its peg and build from it
Fix: if a node turns into a peg selection is retained
Fix: ‘English Names’ checkbox isn’t localised
Fix: extrusion doesn’t work in map editor while paused
Fix: reclaim value of links shown on context menu doesn’t include the reclaim of orphaned nodes
Fix: menu music not resuming when forts regains focus after a battle
Fix: crash when building a device over structure and not being able to afford the recession cost
Fix: Tips not able to display when enabled during in-game options screen
Fix: map theme previews are inconsistent or incorrect
Fix: (Repair Station) structure and devices repairing manually gain benefit from distant repair stations
Fix: (Repair Station) existing repairs are not affected
Fix: crash when setting a new background and some terrain has textures outside of the current background folder
Fix: (conversion from bracing to door) break via rotation can cause material conversions to fail
Fix: barrier materials have context conversion buttons
Fix: barriers will get converted to backbarriers to open up line of sight for an applicable weapon
Fix: crash when watching desynced replays
Fix: it’s possible to build devices inside the terrain when close to a non-buildable surface
Fix: (Hydra mission) the “destroy top or bottom enemy first” objective is gained when the player’s fort is destroyed
Fix: selecting upgrades with upgrades doesn’t switch to device mode, preventing display of upgrade description in context menu
Fix: standin nodes can fail to link to other standin nodes in replays due to use of invalid local client ID for search
Fix: rapid pausing and unpausing during joining and play can put a client into persistent pause
Fix: devices default to full reclaim
Fix: short armour can be auto converted into a door
Fix: devices can be built inside the terrain on coincident platforms due to the collision end edge case
Fix: when both teams use phantom there is an audio bank load error message
Fix: own commander can be charged via neutral device splash damage
Fix: (Phantom) ungroupable weapons don’t show the green line when previewing move
Fix: ‘invalid smoothed paint target’ log spam at high refresh rates
Fix: ground coincident struts can be built by extruding to a single foundation node
Fix: commander points can get out of sync after applying delayed splash damage
Fix: possible to extrude over ground by linking two foundations
Fix: single struts rotating around foundation nodes don’t break off
Fix: when errors occur during loading the player can’t use hotkeys due to the active console dropping
Fix: infinite loop when a projectile damage multiplier against a device is zero
Fix: parameter order of OnNodeCreated doesn’t match documentation
Fix: while replacing bracing with armour you can build a ground device over it
Fix: building an inverted weapon over solid structure produces no error effect/message
Fix: cycle preview button missing in map editor menu

Changelist 2021-09-14 (hotfix)

Improve: (Ledge Grab) lower wind & view floor in middle
Improve: (Pillars) lower wind floor in middle and raise slightly at back
Improve: differences less than 0.001 in terrain node positions that break symmetry aren’t highlighted, now < 0.00001
Improve: don't show symmetry failure as errors when loading outside of the map editor
Improve: clamp all values read from Lua script to [-10e11, 10e11] by default, including infinite values, warnings written to the log
Improve: clamp device HitPoints to [0, 10e11]
Improve: device EnergyStorageCapacity and MetalStorageCapacity increased from +/- 1e5 to 1e6
Improve: values previously clamped silently now log a warning with valid range

Fix: (desync) when building inverted devices with storage
Fix: (desync on join & seek) large starting resource caps in rules can cause negative caps and incorrectly clamped balances
Fix: (desync on join) when joining client clamps resources to the internal cap when it should be unlimited
Fix: inverted ground devices sometimes can't be placed adjacent to other ground devices
Fix: (unlimited resource cap) can't shoot weapons that have a fire cost greater than 99999
Fix: when a non-host player is viewing someone's medals and they leave the panel is not hidden
Fix: when the host is looking at someone's medals in-lobby and someone else leaves the popup is hidden
Fix: (Pillars) unable to build rear strut at ground level
Fix: set_ground_colour values are not restored from the map file
Fix: possible crash in ModManager::ModUsesMoonshotFeaturesInternal dereferencing NULL buffer
Fix: devices saved to a map with infinite hit points cause a hang when restored and shot
Fix: large item costs are not correctly truncated on the HUD
Fix: HUD cost values with wide characters overlap the edge of the panel
Fix: alt-tabbing back to game while in MP pause menu will restart music
Fix: lobby mod list can get jumbled if a workshop item finishes downloading while in lobby screen
Fix: if a selected host map updates while in lobby, it doesn't update the mod list with any required mod changes

See this post on Steam