Forts/High Seas Update 1.17 & Sale


G’day Forts fans!

It’s been six months since the launch of Forts – High Seas, and now we’re back with a major update and sale. Along with the usual fixes and tweaks are a few major improvements, not least the multi-level water system. Read on!

Multi-level Water System & Maps

New Rock Pools map showing the new tiered layout possible.
If you no longer want to stare at the back of your ally, try this new addition to High Seas’ water system. This will open up many map design possibilities. We’ve included a few of our ideas and can’t wait to see yours.

New multi-level water maps:

  • Chasm (4v4)
  • Dark Shoals (3v3)
  • Fracked (4v4)
  • Rock Pools (4v4)
  • Volcanic Rim (2v2)
  • Windswept (2v2)

Runway Upgrade

Upgraded Runway allowing two Ammo to be built at any one time. (ft. Fast Build mod)
We’ve heard building planes takes a little too long. Now you can upgrade the Runway to build two planes simultaneously. Double your damage output today!

Quality Of Life Improvements

Slimline Replay HUD

Composite image showing the slimline replay HUD for all styles.
Our replay HUD has been on a diet. All of the old functionality is now in a shiny new compact form, allowing a better view of the action.

64-bit Upgrade

The large number and size of mods made for Forts is putting pressure on the aging 32-bit address space. In many circumstances, memory fragmentation or exhaustion would cause players to crash out. This upgrade should improve stability in these cases, and also allow us to go beyond the boundaries of 32-bit in features and content.

Mod & Map Search Box

We know the pain of scrolling through long lists to find something specific. Now you can type in part of what you’re looking for, and the mod and map lists will narrow. Works with the existing filter and category systems. You’re welcome.

Lobby Map Preview

Knowing the topography of the map you’re about to play is kind of important. Now you can cycle through the preview images right there in the lobby.


Modding Changes

Some script functions and events have been updated to prevent the incorrect conversion of teamId to sideId. If you are expecting a sideId you may have unexpected results. See the items starting with “Modding” in the change list below for the complete list.



To celebrate this High Seas update the DLC is on sale from October 14 to 18. You can pick it up for the cost of a fancy coffee at 25% off!


Changelist dlc2 22 r13391

Add: ‘Ammo for:’ line to ammo device construction preview
Add: ‘AmmoRequired’ tooltip when player tries to use weapon without ammo
Add: “This map contains unsaved changes. Are you sure you want to quit?” message when quitting map editor with unsaved changes
Add: (Buster active Deck Guns) effects incorrect
Add: (dlc2 script.lua) orbitalAvoidsFriendly global flag to control orbital behavior when hitting friendly
Add: (Harpoon) indicator to show where missiles will be vulnerable to the Decoy
Add: (Main Menu) Sal Vaux news items auto advance on a timer
Add: (map editor terrain tab) Alt key + texture button to select all blocks that don’t use a texture
Add: (map editor terrain tab) Ctrl key + texture button to select all blocks that use a texture
Add: (planes) at unspecified range, drop bombs at first detected enemy base and then turn away
Add: (projectile_wireframes) splash damage position and radius
Add: (Runway Mark II) allows two planes to be built at once
Add: (Runway Mark II) which increases the concurrent build queue of planes to 2
Add: (weapon_list.lua) HideFromToolTipsAmmoFor to condense tips that apply to a series (e.g. Orbital Laser, Orbital Laser Mk II)
Add: 64-bit memory address space to reduce memory exhaustion issues (requires 64-bit CPU and OS)
Add: AMMO_MODE_PRIORITY and AMMO_MODE_QUEUE to scripts/forts.lua
Add: build queue capacity is adjusted by BuildQueueModifier table in device_list.lua and weapon_list.lua entries, bounded by Min and Max. e.g. BuildQueueModifier = { [“dlc2_runway”] = 1 }
Add: BuildQueueConcurrent table entries can be a table specifying Default, Min, and Max values. e.g. BuildQueueConcurrent[“dlc2_runway”] = { Default = 1, Min = 1, Max = 2 }
Add: dlc*Var_Active/Value support to mission and ai scripts
Add: draw edge with fill block option (Alt + I) to allow terrain to obscure water level discontinuities
Add: EnergyAbsorb and MetalAbsorb to customize the amount given to absorbing materials (default to fire cost)
Add: filter name EditBox for edit existing map list
Add: FireStdDevSpray weapon script variable to add overall variation to spread shots
Add: GetWeaponTypeAmmoTagByIndex function to query ammo tags
Add: image preview of current map in chatroom. Map select screen will also open on the currently selected map.
Add: KeepHitpointLoss to projectile action to maintain damage to transformed projectiles
Add: LogW and LogToFileW for wide character logging support (log files are now in UTF-16LE format)
Add: map and mod selection screens have an EditBox which allows filtering of items
Add: missing device tech requirements are displayed on the cursor
Add: multi-level water (add WaterLevel block flag, toggled with Alt + L)
Add: multi-level water template map (-template multi-)
Add: multiplayer host quit warning if a host quits a game in progress
Add: multiplayer maps making use of new multi-level water tech
Add: OnGroupMemberSelected, OnGroupMemberDeselected and OnWeaponFireAttemptFail script events
Add: option to toggle left-click-drag panning
Add: optional “AmmoPriority = [value]” float field added to weapon ammo lists. If specified, it will enable an additional “Priority” mode Context control
Add: script event OnDeviceMoved after a device finishes moving and id has updated to match original device id
Add: script function (bool ModActive(const char* modName)) to test if a specific mod is currently active.
Add: script function GetWeaponTypeAmmoProjectileByIndex(int index, Owner sideId, int ammoIndex) to get save name of a specific device type projectile
Add: script function ScreenToWorld
Add: script functions GetDeviceTypeIndex, SelectDeviceType
Add: script functions GetWeaponAmmoWithProjectileCount, FindDeviceInstance
Add: script functions GetWeaponTypeAmmoCount, GetWeaponTypeAmmoProjectileByIndex, GetWeaponTypeAmmoDeviceCountByIndex, GetWeaponTypeAmmoDeviceByIndex, GetWeaponTypeAmmoConsumeByIndex
Add: support for weapon “AmmoQueueMode = false” and “AmmoPriorityMode = false” flags to hide ammo Queue and Priority context buttons

Balance: (Buster active) sniper projectiles are no longer instantly destroyed by firebeam
Balance: (Deck Gun 1) reduce deviation to 0.012
Balance: (Deck Gun 2, 3) increase group deviation to 0.012 using FireStdDevSpray
Balance: (Decoy, Control, Orbital Laser ammo) increase hitpoints from 15 to 90 (+600%)
Balance: (flaming howitzer) reduce splash damage and incendiary radius (-17%)
Balance: (High Seas ammo) increase hitpoints to 90 to reduce fragility (esp vs. Buster)
Balance: (plane ammo) increase hitpoints from 50 to 90 (+450%)

Fix: -template- is not symmetrical
Fix: “Close” (as in distance) string used for ranked/warning ban message Close button. Changed to “Continue”
Fix: “Ctrl+space” doesn’t pause Multiplayer and Skirmish replays (thanks asca)
Fix: (bombs, paveways) don’t gain an incendiary effect from a firebeam
Fix: (Buster active) damaged warheads don’t show green trail (blend with dark smoke)
Fix: (Coming Storm Pt1) allied ship is targeted by AI
Fix: (Coming Storm) loss of friendly ship does not fail mission
Fix: (Deck Gun) spread mode detail textures show focus mode
Fix: (Deck Guns) switching between focus and spread prevents AI upgrades
Fix: (Desert Ruins) AI script to avoid tiny door issue
Fix: (DeviceManager::LoadResourcesPostProcess) crash when attempting to erase first ammo type
Fix: (Dome) projectiles disappear early on collision
Fix: (Dome) shoots at planes even though they are unable to destroy them (skirmish only)
Fix: (dynamic tooltips) requirements missing from HUD tips when a device is selected
Fix: (extrusion) struts can be segmented when extruded beyond max link length
Fix: (Firebird active) dome projectiles are incendiary
Fix: (flaming paveway) no incendiary effect
Fix: (flaming projectiles) don’t inherit damage done to original (e.g. howitzer)
Fix: (flaming thunderbolt & nighthawk) use derrick explosion on destruction
Fix: (Floating Graveyard) rightmost AI would stop building
Fix: (focus orbital laser) colored red in the map editor
Fix: (Frigates PB) not symmetrical
Fix: (Hardpoint) scream when hit
Fix: (Hardpoint) show a firing cost
Fix: (howitzer) flaming and non-flaming projectiles don’t collide with each other
Fix: (Hurricane) active symbol doesn’t show above deck guns, harpoon, dome, orbital laser and runway
Fix: (IsMissileAttacking) doesn’t exclude non-missile projectiles and non-guided missiles, and defaults to true
Fix: (lineSeg3::NearestPointToLine) when another line seg is degenerate the collision always fails
Fix: (main menu) Sal Vaux incorrectly set up as a button and makes button click noises when clicked on
Fix: (missiles) can be placed facing into the ground
Fix: (missiles) fired from underwater retain underwater audio
Fix: (Modding, IsTeamConnectedToGroundBlock) converts team to side incorrectly
Fix: (Modding, OnDeviceCompleted) converts team to side incorrectly
Fix: (Modding, OnDeviceConsumed) converts team to side incorrectly
Fix: (Modding, OnDeviceDeleted) converts team to side incorrectly
Fix: (Modding, OnDeviceDestroyed) converts team to side incorrectly
Fix: (Modding, OnDeviceHit) converts team to side incorrectly
Fix: (Modding, OnDeviceHitBeam) converts team to side incorrectly
Fix: (Modding, OnDeviceTeamUpdated) converts team to side incorrectly
Fix: (Modding, OnDoorControl) converts team to side incorrectly
Fix: (Modding, OnDoorState) converts team to side incorrectly
Fix: (Modding, OnLinkCreated) converts team to side incorrectly
Fix: (Modding, OnNodeCreated) converts team to side incorrectly
Fix: (Modding, OnProjectileCollision) converts team to side incorrectly
Fix: (Modding, OnProjectileDestroyed) converts team to side incorrectly
Fix: (Modding, OnProjectileRedirected) converts team to side incorrectly
Fix: (Modding, OnRepairArea) converts team to side incorrectly
Fix: (Modding, OnStructurePainted) converts team to side incorrectly
Fix: (Modding, OnWeaponFired) converts team to side incorrectly
Fix: (Modding, OnWeaponFiredEnd) converts team to side incorrectly
Fix: (Modding, OnWeaponOverheated) converts team to side incorrectly
Fix: (Moorings) AI fails to build mines and gets stuck part way through structure
Fix: (Moorings) AI stops building
Fix: (Nighthawk Paveway) reflects when near parallel to armor
Fix: (Nighthawk Paveway) starts fires on devices that it passes through
Fix: (OnControlActivated event) fails to trigger when double clicking
Fix: (OnDoorState) unnecessarily called every physics frame while a door is opening
Fix: (Phantom) dummy ammo gets queued when building
Fix: (Phantom) move ability gets queued when moving ammo
Fix: (Propeller) preview metal income display not applying efficiency
Fix: (Shockenaugh) doesn’t receive power from orbital lasers (now 10000 energy total)
Fix: (Sinking Nemo) stray prop in air on right side
Fix: (Stormy Waters/PB) solid ground in the background causes mines to be drawn over water
Fix: (Super Turbine) not marked as requiring land
Fix: (Thunderbolts, Nighthawks) original and flaming versions do not collide with each other
Fix: save command doesn’t produce accurate reproduction
Fix: after restarting in sandbox the build_fort AI will no longer have firing disabled
Fix: AI can delete its own reactor support
Fix: AI is blocked if it is set to create instead of moving a device
Fix: ammo alternatives are not considered (e.g. when consumable ammo not available, non-consumable ammo doesn’t allow firing)
Fix: ammo count includes non-consume devices
Fix: ammo queue mode doesn’t fire consumable ammo devices if there are any non-consume devices
Fix: animated BG waves appear above horizon
Fix: auto doors are previewed on allied forts
Fix: badges overlapping names in lobbies
Fix: blastdoors capture achievement awarded for High Seas mission
Fix: Button class does not exit press state correctly on mouse up
Fix: can’t favorite/unfavorite a mod if it’s forced on
Fix: context menu selected ammo indicator isn’t updated immediately when you select a different button
Fix: cores in the water attached to a single strut cannot build structure
Fix: corrupt structure state when aiming the Firebeam directly at plane
Fix: crash when calling UpgradeDevice et al during OnContextButtonDevice call (and equivalent for struts)
Fix: crash when calling UpgradeDevice from OnDeviceCompleted
Fix: crash when double-clicking map to edit
Fix: crash when enabling tips from options during play in Sandbox
Fix: crash when the path in LoadStructureFile is wrong
Fix: debris clean-up can continue through foundations and destroy large connected structures via ropes
Fix: debris is being destroyed above water
Fix: device cost preview is obscured by ammo icons
Fix: device cost preview shifts when player clicks to drag
Fix: devices that can only be upgraded to cannot be used as a prerequisite
Fix: disable weapons mods ignored if Unlock All Weapons mod enabled
Fix: dlc2_oceans_base environment mod is not loaded from packs correctly for custom player environment overrides
Fix: duplicate reporting of double clicks by textured buttons
Fix: during replays, music incorrectly re-enables
Fix: edge cases updating chatroom contested commanders when players kicked/disconnect
Fix: EditBox controls don’t work properly with Button slaves
Fix: EditBox Rollover and pressed sounds not working
Fix: EditBox Tab Highlight conflicts with edit mode highlighting
Fix: EnterGameOverMode, SetResult, and ShowResult script functions can be called multiple times
Fix: exception when sprite-based prop folder conversion is attempted
Fix: fire can spread to bracing that is converting to shields and metal
Fix: flipped terrain blocks do not have snap symmetry
Fix: Forts can hang when speed is too high in complex replays
Fix: if consumable ammo exists, it will be consumed even if non-consumable device exists
Fix: if two consumable ammo devices are available they are both consumed
Fix: Included (nested) mods are not displayed correctly in MP mod list panel
Fix: incorrect commander icons on acquired weapons
Fix: map symmetry fails with some ground devices (e.g. derrick)
Fix: marquee selection starts when over the HUD
Fix: max length of laser doesn’t adapt to increase world extents
Fix: memory leak when ammo type is removed in post-processing
Fix: memory leak when ReactorsClaimForts rule fails to be destroyed
Fix: missing OnKey key parameter strings for unprintable characters
Fix: most High Seas Skirmish maps are not symmetrical – Removed offending blocks. Added ‘symmetrical = true’ to all maps
Fix: no-ammo icon shown on weapons without any projectiles (e.g. Hardpoint)
Fix: OnKey script event doesn’t work for observers
Fix: OnShieldReflection/OnPortalUsed is called when they are blocked by devices
Fix: order of Mine, Propeller, Turbine, Smokestack, Swarm, Subswarm and their upgrades is inconsistent
Fix: plane aiming tip graphic misleading
Fix: planes are attracted by Magnabeam
Fix: portal configuration behaved differently to preview
Fix: portals are instantly enabled when reconnecting after neutral ownership
Fix: projectiles created from a projectile-projectile collision re-collide repetitively, causing a crash
Fix: projectiles fading due to MaxAgeUnderwater don’t detonate with DetonatesOnExpiry
Fix: right mouse release is not reported to scripts when combined with left mouse or scroll wheel (thanks asca)
Fix: script paths change when run locally, preventing SendScriptEvent (and ExecuteInScript) from working
Fix: seam visible in waves animation
Fix: SelectDeviceType doesn’t open the appropriate HUD tab
Fix: SetMissileTarget doesn’t work if within the MinTargetUpdateDistance
Fix: shooting and then immediately upgrading the deck gun causes damage
Fix: Start-loaded mod error in some pre-built maps
Fix: string case of snow leopards map display name
Fix: string formatting issues in chatroom
Fix: string formatting issues in TextBox when saving/restoring
Fix: structure disappears when a laser fires into a portal just beyond the weapon clearance
Fix: struts converted from armor by device placement don’t catch fire
Fix: the final edge of a block of a dynamic surface does not deform
Fix: tips drill instructor and enemy commander (while using spook) overlap
Fix: two HUD tabs can be depressed simultaneously by rapidly clicking between them
Fix: typo in GetTeamCommanderPoints script function description
Fix: upgrade key sends an upgrade device command for every possible upgrade
Fix: word wrapping can shift text on second frame due to inconsistent height calculations
Fix: world extents are reset when all blocks are deleted
Fix: zero-length projectile distance to fields causes corruption of simulation

Improve: (construction cost preview) reduce shadow depth on text from 1 to 0.75
Improve: (FindNodeOnStructure) ignore non-selectable nodes
Improve: (Floating Graveyard) additional intro lines to clarify how to access orbital focus ammo
Improve: (Harpoon) has adjustable power only in skirmish (non-campaign) maps
Improve: (Lobby selection screen) show display names instead of folder names if possible
Improve: (OnControlActivated event) add doubleClick parameter
Improve: (Orbital Sweep) direction depends on the direction of the beacon (weapon facing) rather than team
Improve: (Phantom) device move retains original device id when move completes
Improve: (planes auto-drop) add drop delay according to the distance to target to more accurately hit from higher altitudes
Improve: (planes auto-drop) parameters can be adjusted via dlc2_Bombs table (TestDistX, TestDistY, DelayDist1, DelayDist2, Delay1, Delay2, Debug)
Improve: (planes) increase maximum range to cover largest map size
Improve: (Runway, Runway Mk 2, Thunderbolt ammo) add ‘Works best with amassed ammo’ to tooltips
Improve: run console command takes wide characters
Improve: allow control keys to pass through to OnKey script function
Improve: allow the preview of devices that don’t have their requirements satisfied
Improve: ammo consumption effect is available when dlc2 mod is not active
Improve: ammo queue button vanishes if all ammo types have a non-consume device
Improve: ammo without valid projectiles is deleted (with a log warning)
Improve: audio volume slider controls to option screen
Improve: check for and remove highlight tags in player names and chat messages
Improve: devices are drawn on top of projectiles to hide overlap on firing
Improve: don’t show devices and weapons on the HUD that are not available due to land/water requirements in skirmish/MP/campaign (tied to HideHUDItemsWhenPrerequisitesDisabled flag so it can be disabled)
Improve: EditBox “X” (reset) buttons added to various relevant EditBox UI
Improve: EditBox controls in game now all have a consistent look and feel
Improve: error icon/message when trying to build device with tech requirements missing
Improve: HUD options button now looks distinct from pause button, featuring three horizontal lines
Improve: increase default ban duration from 5 to 120 minutes
Improve: menu and in-game music can be set independently
Improve: player names in chat messages different colors to the chat text to thwart spoofing
Improve: renamed template maps for consistency
Improve: replay HUDs have been streamlined to minimize obstruction of the view
Improve: select the first ammo type of a weapon after placement
Improve: tab stops for map select, mods select, map editor, and server select screens
Improve: update FMOD Studio to 2.02.07.
Improve: updated UI edit boxes for new consistent visual look
Improve: weapons other than the Runway can launch High Seas planes

Optimize: loading for large numbers of devices

Remove: Black Gold campaign missions from Sandbox mode to reduce clutter
Remove: dlc1 and dlc2 mod checks in the dlcVar_Active/Value params. Now it just checks if the DLC is enabled, regardless of which mods are active (thanks asca).

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.


See this post on Steam