Well, it's been a long year, with a lot of bullets fired, and many a fort coming tumbling down. We hope you have enjoyed all the extra features and functionalty we have brought you, and all the great output from the modding community.
The EarthWork Games team will be taking a break for a couple of weeks to recharge. We have big plans for next year, but in the meantime we're bringing you the last fixes of the year, along with a sprinkle of festive spirit to the game...
Release 2018-12-23a
Add: button to download featured replays, instead of automatically at start Add: video card model and driver version to log Add: message box when uploads are still in progress on exit Add: in-game message box to query player about desync report upload Add: notification and progress bars when crash or desync uploads are in progress on exit
Optimise: don't calculate checksum twice when writing a replay keyframe
Fix: some players have a black screen on start - Add a checkbox to enable refresh rate selection - Add a message box the first time a display mode with frequency is set Fix: crash in Node::AddToChecksum when team projectile types are not even Fix: replay desync when placing ropes Fix: BreakStructure can destroy nodes when close to the ground Fix: translation not provided if mainmenu has no strings table for the current language Fix: application VSync option is not used (was always on) Fix: crash when pressing Edit with no map selected Fix: disconnected close ranked matches are always given to Team1 Fix: fires not extinguished for victors in TDM Fix: when all items in a HUD tab have been maxed out, an item in another tab can be selected Fix: when a device is selected which can't be built, it's not possible to select structure Fix: the lobby chat edit box can overflow Fix: players can spam the chat, causing performance issues and disconnection for others Fix: desync/crash when a player replaces a material adjacent to where another player is placing a device Fix: weapons can fire after being disconnected due to latency Fix: tick profiling is inaccurate Fix: seams are visible in HUD background Fix: desync files are not considered to be uploading during the 5s delay Fix: hung workshop downloads cause a loop which spams log, network and CPU Fix: chat history workshop download buttons sometimes reappear
Remove: obsolete colour depth display/selection from options screen
G'day Forts fans! We're happy to announce a massive update to the game. We've been slogging away in the background making many improvements to the experience. A long list of fixes address common issues, and we've added some new features for modders to take advantage of.
Headline items:
Greatly improved performance
Fast initial battle loading
Multi-monitor support
Monitor refresh rate support
Overhauled windowed mode
Featured replays
In-game crash and desync reporting
Automatic deletion of old files
We'll be using the featured replays to highlight competitive or otherwise entertaining battles. New players are encouraged to watch these to get useful tips on how to up their game. If you want to submit a replay for consideration, contact us at the Official Forts Discord server.
As with any update there may be some teething issues. Let us know if you come across any problems. The Discord is the best way to talk to us, or post in the bugs discussion.
Special thanks go to Romerolagus, Ximsa, 42 scientist, BoberetoGaming, Joepocalypse, KingBenjai, Endo, and General Miau for their invaluable assistance in testing this update.
Build 2018-12-06a Changelist
Add: target monitor can be selected (primary by default) Add: moveable, resizeable windowed mode Add: preload textures in background to reduce initial load period Add: refresh rate selection included in resolution list Add: featured replays are downloaded automatically, with notification on main menu Add: options to automatically delete old files (default to 4 weeks) Add: allow reflection to be modified on a material per projectile basis Add: hide news items if the 'start campaign to learn' tip is visible to avoid overwhelming new players Add: DamageMultiplier applies between projectiles in air-to-air collisions Add: resume button to campaign instant replay Add: a weapon script ProjectileAngle function for predictable angle offsets Add: Replace WeaponRequiresSpotter and WeaponIsSpotter with dynamic queries to automatically handle new weapons Add: SmallArmsPrioritiesExclude and HeavyArmsPrioritiesExclude to prevent some weapons being targeted by AI (e.g. sandbags and derrick) Add: save window position into settings (save config on exit to retain this) Add: checkbox to center window on start Add: non-sequential tab stops can be used to support lists Add: invisible and disabled tab stops are skipped to support duplicate ids on different tabs Add: tab stops for resolution, key binding, language and keyboard list items Add: allow difficulty levels to be set in the mission script: AIDifficulty = { Easy = 0.1, Normal = 0.4, Hard = 0.8 } Add: HUD buttons to force weapon placement left, right, or auto Add: update Fmod version to 1.10.09 Add: DeflectedByTerrain for projectiles and beams to reflect off terrain affected by VariationFactor and SpeedLossFactor Add: allow a projectile to execute an action on reflecting from a specific terrain/material surface if the reflection fails then return a value and perform damage and impact effect instead Add: allow beams and projectiles to trigger EMP on intersecting doors and devices, including when EMP radius is 0 Add: support EMP beams disabling missile guidance Add: support projectiles having a preferred up (FlipSpriteFacingLeft flag) Add: allow projectiles to survive under the world bounds Add: crash files can be send to devs from within the game Add: dynamic main menu for news, links and featured YouTube videos Add: enable edge scrolling in windowed mode when Direct Input is in use Add: lasers blocked by shields open doors at the reflected angle Add: hotkeys for weapon facing (Ctrl + Q, Ctrl + W, Ctrl + E) Add: performance stats after game: fps, tick time, physics time, AI time, checksum time Visibility can be controlled with Performance.LogLevel in db/constants.lua Add: ReflectDamage factor to allow projectiles to impart damage to structure upon reflection Add: uncomplied commander.lua scripts to ease modding of commanders Add: Mods.VerboseLogging constant to allow modders to see what files are being searched for Add: AI.DebugLevel to control when AI shows config and detailed logging from constants Add: Performance.LogLevel to control where to log profiling to Add: AntiAir damage multiplier for beams to adjust damage applied to projectiles
Balance: increase Firebeam aiming arc Balance: reduce build cost of 20mm from 650/4500 to 600/4000 Balance: some additions and reordering of AI targeting priorities Balance: decrease stddev of cannon by 30% and remove drag of cannon and 20mm cannon Balance: remove splash damage of repair station Balance: reduce running cost of repair station by 20% (20 -> 16)
Optimise: calculation of min and max fire radius Optimise: remove temporary string parameters from GetProjectileBlueprint* Optimise: remove redundant GetType calls from Device::GetCentre* Optimise: PhysicsManager::IntersectBeam only needs to do PointInGround test for first segment Optimise: Vector3D::DistTo and DistSq ignores z coordinates Optimise: TerrainManager::PointInGroundGroup does circle test first Optimise: don't update bracing plate sprite in PhysicsManager::DrawNode Optimise: coarse bounding circle test for projectiles intersecting with beams Optimise: cache AimingDisruptionMax rule for Weapon::GetMinFireRadius and Weapon::GetMaxFireRadius Optimise: only preload ambient environment effect on World start Optimise: DeviceEditor::AimSlave avoids unnecessary call to IsAbleToFace if the slave is facing the same direction as master Optimise: AimWeapon doesn't recalculate can face left/right if noPanning is true Optimise: Weapon::FindDoor operates progressively, storing state in FindDoor Optimise: Weapon::FindDoor uses LinkFilter team to limit the search Optimise: added mMaterialReplacement to avoid searching for standin link to discover new material in PhysicsManager::DrawCladding Optimise: removed checksum on fire segment temperature Optimise: reduce outer loop of ReactorsClaimForts::Apply when looking for ground device needing conversion Optimise: combine search for specific team and any closest device in ReactorsClaimForts::WithinRangeOfMarkedGroundDevice Optimise: avoid recalculating up and right vectors in SpriteEdging::Draw Optimise: DeviceManager::PreviewStructureOverlapInBackground and PhysicsManager::RecessOverlappingStructure intersects with other teams Optimise: build lists for each structure/material to streamline rendering of struts, cladding and fire Optimise: CladFoundations enumerates links of fromNode instead of testing every node Optimise: remove unnecessary calls to UpdateCladBothSides Optimise: DeviceManager::AddDeviceObstructions only needs to add edges facing the source Optimise: TerrainManager::AddTerrainObstructions only needs to add edges facing the source Optimise: PhysicsManager::GetVisibleAngles uses mPrimary flag instead of mVisited to add struts only once Optimise: PhysicsManager::AddObstruction exits early if there are no angle brackets Optimise: DeviceManager::DeviceInGround detects intersection with specific ground block before testing it in detail Optimise: remove Device::mPositionGraphical from simple data area Optimise: TerrainManager::DoesCollisionBoxIntersectWithGround remove PointInGround center point test Optimise: TerrainManager::DoesLineSegIntersectWithGround remove PointInGroundGroup test Optimise: bake IsLineSegOutsideExtents epsilon addition into extents, and pass in block reference Optimise: bake static ground filling and edging into display lists Optimise: don't calculate teamIndex in DeviceManager::DrawDevices unless necessary Optimise: build lists of fixed and dynamic nodes, and use in DrawNodes to simplify inner loop Optimise: minor improvements to DrawNodes and DrawNode Optimise: minor improvement to DrawCladding Optimise: spotters in Weapon::UpdateSpotter() aren't updated for AI or when spotter efficiency is 100% already Optimise: multi-threaded physics, structures and projectile updates are dispatched to cores as work completes Optimise: move mMicroStepForce into complex data, as it doesn't need to be serialised Optimise: move projectile oversamples into the inner loop to reduce cache misses Optimise: remove over sampling from projectile physics Optimise: remove mGravity from PNode, no longer necessary Optimise: UpdateTemporaryBraces uses HasRealLinks instead of RealLinkCount Optimise: UpdateCladBothSides can use mPrimary flag instead of clearing/setting visited flag Optimise: PaintStructures and UpdateStructureState can be called after AI update to avoid extra call to UpdateStructureStruts Optimise: PhysicsManager::UpdateLinkState and UpdateDoors can use mPrimary flag instead of mVisited Optimise: reduce the number of ray casts from missiles to turn Optimise: PhysicsManager::DrawLink doesn't need to look up native material in most cases Optimise: calculate checksum progressively (except first one to quickly flag data desyncs) Optimise: use Hash instead PrimeHash for game state checksum Optimise: SnapLink can use structure bounds to disregard many links Optimise: SnapLink tests platform angle before PassesLinkFilter for faster device placement testing Optimise: SnapToNode uses circle/rectangle test against structures Optimise: use MarkStructureBreadthFirst for marking structures instead of DFS MarkStructure Optimise: MarkStructureBreadthFirst can defer search for parallel link Optimise: MarkStructureBreadthFirst can avoid calls to GetAttachedDevice Optimise: FindDevicePlatform can reject nodes that aren't of the correct team Optimise: FindDevicePlatform doesn't need to use GetAttachedDevice Optimise: SnapDevices reject non-matching teams early Optimise: UpdateNodeMass caches table pointers, defers getting parallel link until necessary uses HasRealLinks Optimise: DumpWorld drag and door state
Fix: AI getting stuck on some missions: 205, 208, 305 (remapped nodes) Fix: Some campaign mission replays desync (removed ropes) Fix: Escape then resume during campaign replay desyncs Fix: pressing esc doesn't bring up the pause menu during intro cutscene Fix: Hurricane build speed nerf not applied to weapons Fix: Player's faction is incorrect in campaign third part Fix: time limited games don't show the duration exactly when timed out (4 seconds short) Fix: extrusion tip shows frequently when building rope Fix: teams can get out of sync Fix: player can be ready on return if they were toggling ready before start Fix: changing team just before joining can cause a crash Fix: Hurricane, Firebird and Warthog weapon mods not applied correctly Fix: unnecessary init.dat missing error Fix: standalone device costs are out (ap sniper, swarm) Fix: going to map selection screen while host starts game breaks loading Fix: client can rejoin when host quits, and gets stuck waiting Fix: don't execute UpdateWeaponCursorScaling when using windows mouse Fix: UpdateAutofire uses different angles to open doors and fire Fix: crash when colliding non-projectile nodes Fix: target painting inconsistent when cursor is in front of and behind the terrain Fix: missiles can target own structure and devices if the last chance spotter targets them Fix: paint target fights when two players are trying to use the same spotter Fix: don't allow allied spotters to be used to paint targets in TDM Fix: some console logging is hidden at start Fix: terrain join command doesn't work Fix: weapons make hurt effect and break out of repair when hit by a zero-damage projectile Fix: main menu in 4:3 aspect ratios is not centered vertically Fix: mousewheel zooms view when cursor is outside of window Fix: cursor doesn't slow down when inside an aiming arc Fix: two cursors show at top of window Fix: Canyon background cloud tiles clipped in 4:3 aspect ratios Fix: some screen resolutions missing due to frequency filtering Fix: enumerate screen resolutions for current monitor Fix: campaign screens not centered vertically (4:3) Fix: Swap mouse buttons, LMB + RMB to repair, lift RMB, then LMB -> stuck in pan mode Fix: host can resume finished game after they have paused, increasing chance of problems Fix: crash when mission scripts List value is invalid (now shows error) Fix: always enable pause menu when showing result, and prevent disabling afterwards Fix: mTrailEffect disappears if projectile velocity is zero Fix: a laser won't reflect off the same shield twice Fix: memory leak in Monitor::Update (clobbered std::string) Fix: secondary beam damage vs materials is not modified Fix: client is able to hide pause menu if they bring it up before the host Fix: config not saved after dismissing the 'start campaign to learn' tip on main menu Fix: add extra slots to the lobby to compensate for Steam leaking slots Fix: lobby.dat can be deleted while network connectivity is lost Fix: crash in DeviceManager::CanTypesBeGrouped when types are invalid Fix: lobby is not left before clearing in Multiplayer::OnSteamServersDisconnected Fix: CompositeSprite & operator= was not performing a deep copy of mRoot Node Fix: ProjectileParams setup and use can corrupt CompositeSprite Fix: Explosion::SparksEffect::Update strcat_s could crash if string was too long Fix: DetonateOnExpiry team passed to SpawnEffect is invalid, causes crash Fix: DetonateOnExpiry does not have inter-frame precision Fix: Esc doesn't bring up menu when watching a replay in campaign Fix: minigun damage multiplier vs bracing and laser overwritten by weapon_pack mod Fix: AI can build through player's structure Fix: reactor health must be rounded down in the stats panel Fix: cycle HUD item effects and other sounds not triggering Fix: crash when a weapon or projectile action can't find a projectile type Fix: replay desyncs due to use of GetLocalTeamId in mission scripts for disabling weapons, etc. Fix: weapon_pack projectile_list.lua shows error 'damagedmissile2 missing' if skirmish mod not active Fix: if there are no replays the open replay in explorer button is still visible and crashes when pressed Fix: weapon reloading and HUD item cycle sounds are audible when sounds muted Fix: length of space character is incorrect around string substitutions Fix: tip show, hid and lobby alert sounds played when fx is muted Fix: AI FindTarget only falls back to structure targeting for heavy weapons Fix: AlienFX is disabled the next time around if it fails to initialise Fix: ai.lua exception when a new weapon is added and not included in some tables Fix: new (unknown) devices which are not added to SmallArmsPriorities and HeavyArmsPriorities are not targeted by the AI Fix: move data.AttackHintMaterialPreference into static data for keyframe efficiency Fix: In DeviceEditor::AimSlave, if slave can't face either direction it doesn't aim at all Fix: unbinding a key isn't permanent after restarting Fix: duplicate actions (e.g. FireWeapon) give warnings for their key after rebinding one Fix: duplicate actions warning colouring unecessarily applied (e.g. FireWeapon) Fix: key navigation is enabled when binding the key Fix: tab stop is centered on the control, not the bottom left Fix: Weapon::FindDoor only finds doors at weapon's horizontal angle Fix: door/background preview glitches briefly when cycling weapon previews in place Fix: ApplyMod doesn't allow mods of mods to mod original files if the file wasn't found in the mod E.g. to mod new weapons for a commander Use path such as mods\sandbags_large\mods\commander-bpo-scattershot\mods\sandbags_large\devices\sandbags_large.lua Fix: Negative mass devices cause instability when linking Fix: AI can connect to neutral joints that are falling, preventing further progress Fix: step/long forts have ropes that fail to connect on Wingman 4v4 Fix: script exception when creating a flaming version of a projectile with WeaponDamageBonus not set Fix: temporarily braced nodes can float indefinitely if they are attached to a node deleted by PhysicsManager::DeleteNode Fix: shrapnel can penetrate terrain at close range to flak detonation Fix: can't build neutral structure close to player teams in map editor Fix: map editor node preview doesn't obey ownership and support rules when nothing selected Fix: Different players, including AI, can connect to a neutral structure at the same time as player Fix: some foundation cladding is missing Fix: foundation cladding can cross from one side of a tunnel to the other Fix: temp braced node left floating after break Fix: remove debug message from Warthog Fix: Sleep(8) in Main::Execute is unnecessary and can reduce performance Fix: classic forts are being selected, matchAllForts was true Fix: valid TDM forts are being missed Fix: AI-TDM test doesn't run with TDM teams on side 2 Fix: missing sprite console error; load ui arrow sprites before initialising the console Fix: extrusion can snap to the same node, causing a node to link to itself Fix: being out of focus when the game starts may freeze the game and cause replays to freeze during seeking Fix: AI closes doors on weapons too soon Fix: invalid enum passed to texture mag filter Fix: negative values passed to scissor test Fix: Debug object could possible enter critical section and never leave it Fix: crash or physics explosion when loading out of date campaign fgs Fix: crash or physics explosion when pasting out of date structure clipboard Fix: beams don't respect the DeflectedByShield flag Fix: disabled doors make open/close sounds Fix: some out of date maps cause errors for using dofile Fix: damaging an ignited missile or igniting a damaged missile extends its lifetime add KeepLifespan flag to limit created projectiles' lifespan to that of their parent Fix: screen shaking with world extents that are wider than they are tall Fix: slaves on sloping platforms have incorrect aim when refired Fix: Workshop mods can be of different versions, causing desyncs Fix: Workshop item downloads can get stuck Fix: replacing a device platform with armour attempts to use backbracing Fix: visible angles drawn out the back of a weapon when facing wrong direction Fix: visible angles are not drawn through existing doors when previewing a weapon Fix: laser is not blocked by self when reflected Fix: laser shoots through self when reflected Fix: explore replay file button visible without a selection Fix: mission 104 doesn't have terrain skirt on the left side Fix: spelling of amendment in Black Gold campaign Fix: mortar power text shrinks relative to aiming arc when zoomed out Fix: Mission completion achievement can fail to be awarded Fix: Mission 308 “Hydra” able to get “top or bottom” fort achievement by destroying middle fort Fix: fog and line width OpenGL errors Fix: tab stops/list key navigation broken on options screen key ListBoxes Fix: list key navigation doesn't support two simultaneously visible ListBoxes Fix: key navigation in editor menu, replay select, map select, and multiselect Fix: strut replacement can be used to overlap struts sharing a joint Fix: world dump of ropes shows link progress as inf Fix: preloading textures to different degrees causes desyncs Fix: Catacombs has blank terrain surfaces Fix: solar panel splits in half at full length Fix: crash if there is no impact effect for projectile Fix: shield states get out of sync when an emp hits when in warmup Fix: when a weapon recesses a FG strut, the next time it's replaced the strut is permeable to projectiles Fix: letterbox shows in replay of resumed linear missions Fix: replacing the material starting struts allows projectiles to pass and shows holes
Remove: map editor Copy tab (collapsed into Edit tab) Remove: various console spam
Release 2018-12-12a hotfix Changelist
Add: RefreshRateSelection to settings.lua to allow disabling of refresh rate feature Fix: crash on startup for some video cards (glGenerateMipmaps missing) Fix: some players appear to have their refresh rate incorrectly selected Fix: desync when igniting projectiles with firebeam Fix: material gets replaced when selecting adjacent nodes Fix: shield background doesn't show during construction or destruction Fix: infinite loop when deleting the middle node of a three node structure in the editor Fix: infinite loop when deleting a node connected to another node in editor, both temp-braced Fix: if a weapon becomes neutral autofire will continue to work, without costing resources Fix: swarm missile can be reloaded instantly by disconnecting it mid-launch Fix: HUD items sometimes move such that the selected item isn't visible Fix: weapon player name text too small or not visible Fix: start sound cutting out sometimes Fix: TDM fort ownership indicator effects can get out of sync Fix: A Workshop mod can't mod other Workshop mods, including for specific commanders Fix: scroll speed of HUD item list is too slow Fix: releasing the HUD item list scroll left/right buttons does not stop the scrolling Fix: all mods are unsubscribed on Linux/Proton Fix: shield can be turned on near instantly by deleting then undoing Fix: spawning game_start.lua and tdm_highlight.lua on the first frame can cause timing issues
G'day Forts fans! We've become aware of a cheat being used to gain an advantage over other players. This update will now cause a Data desync if this is used, or other modifications are made to your local data files. If you experience a Data desync immediately upon entering a multiplayer battle, follow this procedure:
1) Right click on Forts in Steam 2) Select properties, then go to the local files tab 3) Select Verify integrity of game files
Any changes to your files will be reverted.
Note: this will not remove files that have been added. The game preloads all scripts in the effects folder, including those of active mods. So adding any will still cause a Data deysnc. If this happens, delete the extra scripts, or delete all scripts and then verify the game files to get a new, unpolluted copy. If you are still having trouble, delete the data folder and then verify, or re-install Forts.
HOTFIX 2018-09-17a Add: DebugPixelFormat option to avoid DescribePixelFormat, potential cause of crash for a user Balance: Firebeam penetrates at least 90 after armour (reduced from 120) Optimise: only preload ambient environment effect on World start Fix: scripts and images can be edited to expose hidden information (now causes Data desync) Fix: link initial hitpoints not updated when backgrounding a strut Fix: ExplosionCache::LoadExplosion adds effects even if they're already loaded Fix: EMP is triggered when ignited by Firebeam Fix: flaming warheads turn into damaged warheads when hit, not damaged flaming warheads Fix: crash when sending files during a desync report
HOTFIX 2018-09-18a Fix: some mods cause Data desyncs
A huge congrats goes to our latest tournament winner Ximsa! It was an awesome tournament showing some wicked Forts skills. The final was particularly exciting. Here's the final results...
The awesomely supportive Smash Gaming and Project Incursus once again joined [DEV] Nozehed as co-hosts and you can watch the edited video of the tournament here...
We're still coming down from the excitement of the last tournament, but we're turning up the heat again with our first 1v1 ranked tournament! Competitors will have to be ranked in the top 50 of the FORTS 1v1 leaderboard to qualify.
WHEN
Sign up for qualifying competitors will be opened August 12th 8pm EDT.
Check out our edited video of the full tournament hosted by Project incursus , Smash Gaming and [DEV] Nozehed...
https://youtu.be/J2WEPr5bYvI Huge thanks to our hosts and competitors for putting on a great show. Stay tuned for the announcement of our next tournament.
G'day Forts Fans! In preparation for next week's 2v2 tournament , we are bringing you a balance update, some post battle stats, and for the map makers out there, some procedural shape tools.
Balance Changes
Firebeam: Travels up to 160 units through bracing only, vs 120 with armour first. Repair Station: Repair is 50% faster close to station. 20mm Cannon: Added extra shot (8 -> 9). Increased effectiveness against sandbags (20% -> 60% normal damage). Minigun: Reduced build cost (200 -> 125 metal). Turbines: Reduced upgrade build time (30s -> 15s). Swarm Missiles:: Reduce damage (-8%). Hurricane: Reduced build buff (20% -> 10%). Scattershot: Small amount of variation added to mg, miniguns and 20mm during Scattershot active (10% of normal).
Post Battle Stats
Now, at the end of a battle, players will be presented with stats showing: - Battle duration. - Reactor health. - Damage inflicted.
Map Editor Shape Tools
Inspired by Forts community member Ximsa, we have added procedural shape tools to the map editor. To get started, run the editor and type \terraform scripts/shapes.lua Help().
Build 2018/07/07a Changelist
Add: \terraform map editor console command - First parameter is a script filepath - Remainder is script to execute within that LuaState Add: scripts/shapes.lua to be used with \terraform command: - Help function, use: \terraform scripts/shapes.lua Help() - Rectangle, Circle, Ellipse, Star, Polygon and Cog shape - Sine, stepped, and teeth waves - Translate, Scale and Rotate functions Add: set edges of all selected blocks Add: reset all overridden edges when setting the edge set of an entire block, except blank ones Add: blank edges are always overridden, so they are not removed when setting the block surface Add: apply flag and owner changes to all selected blocks Add: show stats for online games (game duration, reactor health, damage received) Add: shift ranked search bracket down if player is new (down by 150) Balance: firebeam travels up to 230 units through bracing only, vs 120 with armour first (hotfixed, see below) Balance: Firebird's firebeam goes for 3.2s (up from 2.5s) Balance: Firebird's firebeam travels up to 30 units deeper in bracing Balance: repairs 50% faster close to repair station Balance: add an extra shot to the 20mm (8 -> 9) Balance: 20mm more effective against sandbags (20% -> 60% normal damage) Balance: reduce Hurricane build buff from 20% to 10% Balance: miniguns cheaper (200 -> 125 metal) Balance: upgraded turbines faster to build (30s -> 15s) Balance: add a small amount of variation to mg and miniguns during Scattershot active (10% of normal) Balance: slightly reduce swarm missile damage (by 8%) Balance: give the sniper a lower view floor in A Bridge Too Far and in Sitting on a bomb Balance: increase firebird max Firebeam penetration by 30 Optimise: course radius test in PhysicsManager::UpdateProjectiles doesn't factor in time step Fix: use Windows mouse by default Fix: can't select an edge set when there is no block selected Fix: surface item is still highlighted when returning to tab Fix: going from props tab to surfaces tab, terrain tab is also highlighted Fix: incorrect vertex snapping when moving multiple blocks Fix: crash when selecting a device with an upgrade that doesn't exist Fix: messages from old sessions can be acted on and cause problems Fix: crash in FileSelect::AddItem when overlay texture name isn't found Fix: anti-air collisions are missed in some circumstances Fix: replay desync in 'That sinking feeling', WMD and other missions Fix: crash in CommandInterpreter handling client_team message when client is not found Fix: client connected via LAN not removed when timed out Fix: LAN clients don't time out Fix: long display and item names cause buffer overflow crash in Multiplayer::SendSystemChat Fix: unable to press mouse buttons or keys if game is not in focus during launch Fix: ClientDatabase::HandleClientStatusMessage creates a client if an operation arrives on an invalid client Fix: desync when client toggles ready status or team immediately before start Fix: prioritise almost full lobbies in lobby search over ones with many Fix: tips can be shown in TDM after player is defeated Fix: subscribed Workshop items don’t appear correctly if SteamLibrary path includes non-ANSI characters (better Unicode support) Fix: teams can get out of sync Fix: changing team just before joining can cause a crash Fix: Hurricane, Firebird and Warthog weapon mods not applied correctly Remove: intro movie, now uses static image to avoid compatibility issues Remove: disable infinite loop test to leave lobby (handled well enough by lobby filtering) Remove: force use of windows mouse until changed to DirectInput
HOTFIX 2018-07-09a Balance: reduce Firebeam penetration depth from 230 to 160 Balance: reduce Firebird's Firebeam penetration from 260 to 180 Balance: allow laser to rotate twice as fast and still damage/ignite backbracing Fix: mAchievements is invalidated when deleted from script (Motherlode completion crash) Fix: What are tiers ? mod causes stack corruption; increase maximum number of materials to 100 Fix: unable to get oil drop in Underbelly Fix: oil drop animations slightly offset from Achievements panel Fix: unnecessary init.dat missing error in log file Fix: standalone device costs are out (e.g. ap sniper, swarm) Fix: going to map selection screen while host starts game breaks loading Fix: client can rejoin when host quits, and gets stuck waiting
HOTFIX 2018-07-09a (updated 2018-07-18) Add: Sal Vaux link to Tournament video Add: GetBlockCount() to let terraform scripts query all blocks Fix: can't fire missile group if first missile is reloading Fix: can run out of resources if building neutral structures in map editor Fix: crash when script GetBlockSelection() receives an invalid index
HOTFIX 2018-07-09a (updated 2018-08-07) Add: Sav Vaux link to Tournament XIII info and Workshop campaigns Add: Don't show news if player hasn't started campaign Fix: Lobby appears full in browser but actually has free slots Fix: Lobby may not be exited correctly in case of network interruption
HOTFIX 2018-07-09a (updated 2018-08-13) Add: Sav Vaux link to Tournament XIII info and Workshop campaigns Fix: memory corruption and related crashes in projectile sprite set up
HOTFIX 2018-07-09a (updated 2018-09-04) Fix: language selection screen contains no text Fix: crash when a weapon or projectile action can't find a projectile type Fix: console sometimes gets stuck in dropped position - Make cross on console reset inactivepos to zero Fix: ilLoadImage can fail to load PNG files for some users - Fall back to loading all image types as a lump
Tournament XII
On July 14th we will be hosting a 2v2 tournament. Qualifying ends this weekend! Click here to find out more!
Thanks for playing Forts. You can help us increase our player base by leaving a positive review on the game's Steam page. We'd really appreciate it.