Skip to content

Game version 3810

Compare
Choose a tag to compare
@Garanas Garanas released this 07 Jul 13:15
· 111 commits to develop since this release
cdb522b

Because of the time and effort of a wide range of contributors we now have one of the largest game patches since a long time. In general there have been good and constructive conversations between contributors that brought us to this point. And I'd like to show my sincere appreciation towards those contributors for making this possible. This does not only apply to contributors of the game team, it applies to all contributors that took part in discussions.

As people come to help and contribute, so do people eventually go and move on. I've been the game team lead the past three years and in general I think my contributions have been a net positive towards the FAForever project. However, I could not have done it without the help of a wide range of contributors - whom I will not name in fear of forgetting someone. Just as I appreciate the discussions that brought us this patch, so did I appreciate the same welcoming environment between contributors the past three years.

And as my motivation to contribute towards the FAForever project dwindles I've decided to proceed to step down as the lead of the game team. This created a window for contributors to step up and eventually BlackYps decided to do so. He's been contributing towards the FAForever project for several years now. He's a board member of the association. In general he has the right character and intentions. And I am looking forward to what he'll do with the role.

With gratitude to all those who took the time to contribute,

Jip

Balance

  • (#6073, #6094) Allow Mongoose to fire from transports.

  • (#5895) After receiving several buffs, the Seraphim Tech 3 Submarine Hunter has become too oppressive, especially in larger formations. These changes aim to bring it back in line, while preserving its identity.

    • Yathsou: T3 Submarine Hunter (XSS0304):
      • Damage: 290 --> 380
      • RateOfFire: 0.25 --> 0.22
      • MuzzleSalvoDelay: 0.7 --> 1
      • MuzzleSalvoSize: 5 --> 4
      • DPS: 363 --> 338
      • Torpedo Defense RateOfFire (x2): 0.15 --> 0.1
  • (#5883) Allow Chrono Dampener to fire immediately when a unit comes into range.

    Previously, Chrono was synced to game time to prevent stun locking. Now, units have a cooldown before they can be stunned by any Chrono, which prevents stun locking while allowing the new Chrono to be more responsive.

  • (#5901) Increase UEF T3 MAA's damage and DPS, and swap its speed with Aeon's T3 MAA.

    • Cougar: T3 Mobile Rapid-fire AA Cannon (DELK002):
      • Damage per volley: 1200 --> 1400
      • DPS: 176 --> 206
      • Speed: 3.3 -> 3.5
    • Redeemer: T3 Mobile Missile Anti-Air (DALK003):
      • Speed: 3.5 -> 3.3

    This brings its DPS closer in line with other factions. It can now take out a strategic bomber in 3 salvo's instead of 4. And with the increased movement speed it can better keep up to Titans and Parashields. Swapping the speed with Redeemer maintains a semblance of faction diversity. Redeemer was chosen because it doesn't really need its speed due to asylums being far too quick (4.0) to keep up with, and harbingers being relatively slow at 3.0 speed.

  • (#6060, #6296) Make static shields absorb ACU explosions.

    Static shields absorb full damage from ACU explosions. For example, this prevents ACU explosions from killing all engineers inside shielded bases/firebases.
    Mobile shields do not absorb damage from ACU explosions because the ACU explosion is an anti-snowball mechanic and it would be very unfair for Aeon and UEF T2 to ignore it.

    The structure part of static shields still takes reduced structure damage from ACU explosions.

  • (#6104) Reduce the hit points of stationary tactical missile launchers (TML) and make them volatile.

    • HP: 1500 --> 900
    • Death Weapon
      • Damage: 750
      • AoE (UEF/Aeon/Sera): 2
      • AoE (Cybran): 3
  • (#6103) Greatly increase Othuum's maneuverability and slightly increase the range of its short range guns to make it better in early T3 rushes and T3 raids.

    • Othuum: T3 Siege Tank (XSL0303):
      • TurnRate: 75 -> 90
      • MaxBrake: 2.85 -> 3.55
      • Bolters' range: 20 -> 22
      • Bolters' yaw speed: 120 -> 170
      • Thau cannon yaw speed: 90 -> 125
  • (#6179) Increase Ilshavoh's max turn rate from 75 to 90 and on the spot turn rate from 45 to 90.

  • (#6107) Absolver can no longer damage shields while they are disabled.

    Shields can now recharge as usual.

  • (#6125) Increase the hitpoints of the Aeon Tech 1 MAA so that it can survive the first salvo of a Seraphim Tech 1 bomber.

    • Thistle: T1 Mobile Anti-Air Gun (UAL0104):
      • MaxHealth: 250 --> 265
  • (#5874) Reduce the costs of the UEF Bubble Shield Upgrade.

    • Energy Cost: 70000 --> 45000
    • Mass Cost: 2000 --> 1400
    • Build Time: 1700 --> 1500
    • Shield
      • HP: 7000 --> 5000
      • Recharge Time: 60 --> 45
      • Regen Rate: 67 --> 60
  • (#6140) Slightly buff the Seraphim Tech 2 gunship to better align it with its intended role as a 'Tech 2.5-unit'.

    • Vulthoo: T2 Gunship (XSA0203):
      • Damage (x2): 19.2 --> 20
      • MaxRadius (x2): 22 --> 24
  • (#6141) Slightly buff the Hoplite by increasing the muzzle velocity of its rockets.

    • Hoplite: T2 Rocket Bot (DRL0204):
      • MuzzleVelocity: 20 --> 25
  • (#6150) Reduce Salvation's maximum reload discount adjacency bonus from 42% to 20%.

    After being fixed a long time ago, the adjacency bonus made Salvation more effective than Mavor as a game ending artillery as recently discovered. Since Salvation's purpose is to be spammed en masse after a Paragon, and not to be built independently as a superior artillery piece, the adjacency bonus that makes building Salvation without Paragon overpowered is nerfed.

  • (#5874) Fine tune the balance of the Tech 2 naval stage.

    • Uashavoh: T2 Destroyer (XSS0201):
      • AntiTorpedo RateOfFire: 0.26 --> 0.3
    • Salem Class: T2 Destroyer (URS0201):
      • BackUpDistance: 5 --> 10
    • Cooper: T2 Torpedo Boat (XES0102):
      • Health: 1750 --> 2000
  • (#6235) Tone down the Tempest, as it has become too oppressive and snowballed too quickly. Most importantly, its extremely powerful depth charges now fire once every 6 seconds instead of once every 5 seconds and have a reduced range. Additionally, the amount of mass required for it to attain one level of veterancy is increased from 12k to 18k.

    • Tempest: Experimental Battleship (UAS0401):
      • Oblivion Cannon Damage: 8000 --> 10000
      • Oblivion Cannon RateOfFire: 0.1 --> 0.08
      • Harmonic Depth Charge MaxRadius: 80 --> 65
      • Harmonic Depth Charge RateOfFire: 0.2 --> 0.1667
      • Harmonic Depth Charge DPS: 420 --> 350
      • VeteranMassMult: 0.5 --> 0.75
    • Atlantis: Experimental Aircraft Carrier (UES0401):
      • TurnRate: 12 --> 18
      • VeteranMassMult: 0.5 --> 0.75
  • (#6252) A bug fix reverts a 1.2 -> 1.3 second reload time increase for the following unit weapons:

    • Megalith proton cannons, CZAR AA missiles, Pillar cannons, and Cybran cruiser AA.
  • (#6202) Increase the energy maintenance cost of the Barracuda (Cybran T2 Sub) from 30 to 45. This makes it more of a choice to enable the stealth, similar to how it is for the Cybran ASF.

  • (#6211) Increase the velocity and lifetime of the Wailer's AA-missiles, since they often expired before they were able to reach their target.

    • Wailer: T3 Heavy Gunship (XRA0305):
      • MuzzleVelocity: 13 --> 22
      • ProjectileLifetime: 2.0 --> 2.4
  • (#6043) The BuildRate and BuildTime stats of all Radars and Sonars are updated to be more streamlined. The build time of Tech 2 Sonars is corrected to ensure it is not longer than that of Tech 3 Sonars. Tech 3 Sonars get their very low build time increased, to compensate for their Tech 2 counterparts being much quicker to build and providing more build power.

    • Tech 1 Radars:
      • BuildRate: 14.08 --> 13
    • Tech 2 Radars:
      • BuildRate: 21.46 --> 20
      • BuildTime: 845 --> 780
    • Tech 3 Radars:
      • BuildTime: 2575 --> 2400
    • Tech 1 Sonars:
      • BuildRate: 14.08 --> 13
      • BuildTime: 127.5 --> 125
      • BuildCostEnergy: 1275 --> 1250
    • Tech 2 Sonars:
      • BuildRate: 15 --> 20
      • BuildTime: 1680 --> 780
      • BuildTime: 2120 --> 1040 (Seraphim)
    • Tech 3 Sonars:
      • BuildTime: 750 --> 1200
      • BuildTime: 900 --> 1400 (Cybran)
  • (#6082) The BuildRate and BuildTime statistics of several shield generators are updated to be more streamlined. The Seraphim Tech 2 Shield Generator gains build power, as it previously had a very low amount. The Aeon Tech 2 Shield Generator loses its build power, as it cannot be upgraded.

    • Tech 2 Shield Generators:
      • BuildRate: 13.66 --> 0 (Aeon)
      • BuildRate: 12.98 --> 20 (Seraphim)
      • BuildRate: 19.95 --> 20 (UEF)
    • Tech 3 Shield Generators:
      • BuildTime: 5841 --> 5800 (Seraphim)
      • BuildTime: 4988 --> 5000 (UEF)

Features

  • (#6282) The unit viewer that appears when you hover over a unit now shows decimals for mass/energy consumption/production, which helps show adjacency bonuses and other small numbers.

  • (#5948) Introduce a reticule for displaying the capture cost and duration when in capture mode.

  • (#6095, #6312, #6317) Implement a new area attack order when you left click and drag while issuing an attack command. It issues extra orders within the radius of the command which you can then distribute to spread out the attacks.

  • (#6169) Shoulder pods (ACU drones) now track the focus of their parent unit more closely and will automatically switch to any engineering task their parent starts. Additionally, pods can now be properly assisted by other engineering units, and assist commands targeting them will persist when the pod attaches/detaches from the parent.

  • (#6160) Show the division of players in the default scoreboard instead of rating in matchmaker games

  • (#6079) Make various structures easier to place to help with base building.

    • All Tech 3 Power Generators, Tech 3 Mass Fabricators, Tech 3 Artilleries, Shield Structures, Land Factories and Air Factories:
      • MaxGroundVariation: 1.0 --> 1.1
    • All Game Enders except for the Scathis:
      • MaxGroundVariation: 1.0 --> 1.2
  • (#5249) Enhance the 'filter engineers' hotkey

    The hotkey now considers SACUs and tech 3 engineers to be equivalent.

    In addition it will now also filter over factions. As an example, if you have a selection of 5 Aeon engineers and 3 UEF engineers of the same tech then you'll end up selecting the Aeon engineers and the UEF engineers will assist an Aeon engineer.

  • (#5249) Enhance Hotbuild

    You can now apply orders to the mobile factory through Hotbuild while you have the primary unit selected.

  • (#5906) Allow holding Ctrl to bypass the "Hold alt to force attack move" game option. This allows binding hotkeys that use rollover unit info (such as "Prioritize unit type") with Ctrl + Alt key combinations.

  • (#6169) The abort pathfinding key action on a lead unit will refocus any assisting engineers on the leader's task.

  • (#6220) Improve the build range overlay's compatibility.

    • Add the overlay to engineer drones/pods.
    • Correctly display build ranges modded through ModBlueprints().
    • Display the auto assist range of engineer stations instead of their build range.
      • This is only a -2 displayed range difference without mods, but it will be a larger difference with mods.
  • (#4578) Introduce a game option to invert the panning of the camera.

    Adds option to invert panning with the middle mouse button.

Bug fixes

  • (#6222) Fix not being able to kick observers in team games that are not using the "Fixed" spawn setting.

  • (#6106) Fix partially built units not transferring properly in Full Share.

  • (#6135) Fix several experimental units not being able to damage units by walking over them.

  • (#6144) Fix various gunships having a difficult time tracking units.

    • All Tech 2 and Tech 3 gunships, as well as the Jester:
      • CirclingRadiusChangeMaxRatio: 0.9 --> 0.7
      • CirclingRadiusChangeMinRatio: 0.6 --> 0.5
    • Soul Ripper: Experimental Gunship (URA0401):
      • CirclingRadiusChangeMaxRatio: 0.9 --> 0.8
      • CirclingRadiusChangeMinRatio: 0.6 --> 0.5
  • (#6028) Fix attack cursor splash radius decals appearing with the wrong size for units that display splash radius and have multiple weapons.

    • This affects the Ythotha, Mongoose, and Soul Ripper.
  • (#6102) Fix Ahwassa's bomb dealing full damage to ASF.

  • (#5883) Fix Chrono triggering when firing at structures and landed aircraft.

  • (#6033) Fix various structures not rotating towards the center of the map.

    • Includes torpedo defenses, SAMs, TMDs (except Aeon Volcano), T2/T3/T4 arty.
  • (#5587) Fix an error when deleting the last user build template.

  • (#5759) Fix rotators on Aeon T2 shield never restarting.

  • (#5883) Fix Chrono Dampener's visual effect not scaling with gun range upgrades.

  • (#5883) Fix the initial stun effects of Chrono Dampener and make it a flash of energy when a unit gets stunned.

  • (#6033) Fix structures not rotating towards the center of the map when spawned in with cheats.

  • (#6105) Fix a typo in the script file of the Seraphim Tech 3 Mass Fabricator.

  • (#6105) Fix the Seraphim Tech 3 Mass Fabricator's rotators not spinning down when production is disabled.

  • (#6110) Fix the death weapon of a unit taking up a chunk of the dispersed veterancy

    • Volatile units (example: Paragon being killed by Mavor) will now give full veterancy credit on death, where before their own death weapon would "steal" some of the credit.
  • (#6115, #6201) Fix damage calculation in the unit view UI for beam weapons with a BeamCollisionDelay such as the Zapper's weapon.

  • (#6121) Fix UEF SACU fire rate upgrade using inaccurate fire rate value.

    • The upgrade displayed 1.82x fire rate, but in fact provided 2x fire rate because of how fire rate is rounded to game ticks.
  • (#6142) Fix the Salvation being unable to fire at max range by reverting previous muzzle velocity changes.

  • (#6157) Allow for clan names up to 6 bytes

    • The new limit aligns with what we some (legacy) names that still exist the database.
  • (#6159) Fix pause_unit_all and unpause_unit_all hotkey behavior

    • They now work as their name would suggest, instead of exactly the opposite.
  • (#6162) Fix the display of engineers' reclaim statistics in the left and right UI layouts (default is the bottom layout).

  • (#6168) Allow various submarines without deck guns to surface again.

    It was possible to accidentally surface these submarines. Users would then have a tough time to make the submarines dive again.

  • (#6175) Rework the unit manager's unit tooltips using the Layouter with various fixes:

    • Fix UI Scaling for unit tooltips in the unit manager.
    • Display buildtime in ticks instead of MM:SS in the unit manager.
    • Fix empty names appearing as empty parentheses in the unit manager.
  • (#6185) Fix Salvation undershooting - reworks Salvation projectile code to not drop short and use blueprint values for speed and fragment spread.

  • (#6192) Removes an erroneous structure footprint from the dummy unit of external factories.

  • (#6192) Fix a bug where deploying when building a unit would detach the unit under construction.

    • Applies to/is fixed in the fatboy, but any non-carrier external factory with deploy capability would have this issue.
  • (#6195) Better match the Chariot's (Aeon Tech 1 transport) hitbox to its model.

  • (#6207) Fix free intel not being toggleable, which lead to UEF spy plane's jammer blips never reappearing after being seen.

  • (#6207) Fix Cybran ACU and SACU stealth not being toggleable.

  • (#6209) Fix log warning spam from spawn dummies every time blueprints are reloaded.

  • (#6213) Fix the default teleport delay being set to 15 seconds instead of 0, which caused some modded units to teleport much slower.

  • (#6215) Fix an edge case where an engineer can assist an enemy construction task if they were given an order to build the same unit in the same location before the enemy task was started.

  • (#6216) Fix incorrect unit tooltip docking after switching layout in-game (default alt-up/alt-down).

  • (#6224) Adds EnabledByEnhancement = "Teleporter", to the teleport weapon of the Cybran ACU, so it is displayed under 'Upgrades' and not 'Basics' when Show Armament Detail in Build Menu is enabled in the settings.

  • (#6227) Slightly increase the hitboxes of the Mantis, Sky Slammer, Hoplite, Ascendant, Asylum and Zthuee to fix them being able to evade beam weapons sometimes. Additionally, the Redeemer's excessively tall hitbox has been reduced.

  • (#6228) Fix a long-standing issue causing Aeon and Seraphim flaks to fire a free shot (that usually misses) when a target comes into range.

  • (#6232) Fix the Czar's depth charges by enabling them to track their target again. They were simply dropping to the bottom of the ocean previously.

  • (#6234) Fix unbuilt units not giving back resources when reclaimed.

  • (#6243) Fix production queue tooltip in non-default layouts.

  • (#6245) Improve details of warnings when a map's scenario file specifies invalid map/save/script files.

  • (#6251) Fix a crash on startup if the Steam install of the game is using Czech, Polish, or Chinese localization and the FAF install's localization file is missing.

  • (#6252) Fix the blueprint fire rate test not accounting for rounding tie-breaking towards even numbers, which gave incorrect suggestions for these numbers:

    • 4.0 fire rate: suggested 3.333, correct suggestion 5.0
    • 0.8 fire rate: suggested 0.769, correct suggestion 0.833
  • (#6256) Fix billy nuke dealing 25 outer damage instead of 250.

  • (#6258) Fix overcharge hitting units standing at the edge of a shield.

  • (#6277) Fix bombers never switching ground attack targets. They now switch to the next ground attack target after 3 tries (the default number).

  • (#6280) Increase the maximum amount of energy that can be stored before mass fabricators turn on from 61000 to 108000 to allow full damage overcharges.

  • (#6285) Fix sub-optimal drag build of the air grid template.

    When you drag build the air grid template from the context-based template setup it now slightly overlaps. This way we can create the optimal pattern for air grids when drag building the template.

  • (#6289) Fix Ythotha lightning storm not attacking the ground or allies.

  • (#6289) Fix AttackGroundTries not firing on the last shot for most weapons.

  • (#6290) Define the Asylum's (Aeon T2 Mobile Shield) footprint in its blueprint.

  • (#6291) Fix unit tooltip clipping with contruction tech level selection or enhancement slot selection UI in replays on the default layout (mini).

  • (#6293) Fix CollisionBeamFile being missing in the Aeon weapons file, which was causing large mod compatibility issues (for example with Xtreme Wars).

  • (#6311) Ahwassa and CZAR dealt an extra 1000 crash damage due to a line hidden in their script, which doesn't show up with the 7000 crash damage listed in the UI. The 1000 damage is added to the 7000 damage to make it work in the UI. As a consequence, the radius where that extra damage is dealt is increased from 5 to 10/15.

Graphics

  • (#5810) Rotate every other texture layer in the Terrain301 shader

    By rotating every other texture layer by 30° we can make it harder to spot texture repetition. At the moment the Terrain301 shader is only used by the Sunset biome of the map generator. Hand-made maps don't use it yet, because there is no support in the map editor.

  • (#6154) Improve the footprint decals of the Ythotha.

  • (#6154) Re-introduce the blinking lights feature

    The blinking lights feature adds small particle effects to factories, storages, radars and sonars. They change color dynamically depending on the storage ratio of a given resource:

    • Red: You have less 10% or less in storage.
    • Yellow: You have between 10% and 90% in storage.
    • Green: You have 90% or more in storage.

    The blinking lights feature was removed from the game two years ago in favor of more performance. It is re-introduced now again because the impact is minimal at worst yet it makes the game feel more alive.

AI

  • (#6003) Implement DirectionsFromWithThreatThreshold into default AI transport logic.

  • (#6046) Fix issue with T2 static artillery not receiving any surface threat during blueprint pass over.

  • (#6048) Increase maximum distances for Naval Area marker generation to improve AI naval presence on certain maps.

  • (#6083, #6084, #6085) Intellisense and minor logic changes to platoon.lua, aiutilities.lua, and related files to greatly reduce number of warnings in platoon.lua.

  • (#6118) Fix issue with default utility function AIGetMarkerPositionsAroundLocation using an invalid table.

  • (#6286) Fix T2LandAmphibious factory template as the Aeon Aurora was being built instead of the Aeon Blaze.

Other changes

  • (#5668, #6066) Rework Seraphim weapon modules.

  • (#5759) Refactor Seraphim Lightning Tank's weapons and collision beams.

  • (#5759) Reduce overhead of many unit scripts.

  • (#5883) Make Chrono Dampener fire rate, stun categories, and range adjustable with blueprint values. Range is also adjustable with UnitWeapon:ChangeMaxRadius.

  • (#6029) Display the Loyalist's death EMP weapon in the additional unit details displayed when Show Armament Detail in Build Menu is enabled in the settings.

  • (#6041, #6055, #6081, #6149, #6158, #6171, #6259) Clean up the blueprints of various units.

  • (#6042) Improve annotations for OnMotionHorzEventChange and OnMotionVertEventChange.

  • (#6067) Fix a performance issue related to AIs and their transport logic.

  • (#6077) Improve the targeting of the Tempest's anti-torpedo weapon.

  • (#6086) Ensure that the Cooper's hitbox aligns with its model.

  • (#6091) Count cargo for veterancy when a transport or carrier is killed.

  • (#6109) Annotate the shield assist mechanics of RegenAssistMult.

  • (#6119) Do not display the Bouncer's targeting laser in the additional unit details displayed when Show Armament Detail in Build Menu is enabled.

  • (#6132) Clean up unused FiringRandomness stat from blueprint of Ahwassa's bomb.

  • (#6134) Various general fixes and optimizations for the Cooperative AI, along with a change to its base building logic from a thread-based one to using unit callbacks, resulting in more reliable structure registrations and upgrades.

  • (#6147) Improve the comments in the water shader file.

  • (#6156) Mention that OnAdjacentTo only works for same-army structures in the annotation comment.

  • (#6173) Fix slow transparency change for the tooltips of order buttons by making them use the generic tooltip creator function.

  • (#6174) Annotate and document some of the internal lobby functionality.

  • (#6181) Annotate fields and functions related to bomb projectiles.

  • (#6188, #6198) Create a Github workflow to automate the population of the Wiki.

  • (#6206) Update map blacklist.

  • (#6217) Clarify warning when Hotbuild hotkeys collide with other hotkeys.

  • (#6218) Annotate auto-assist toggling in InitialAutoMode and SetAutoMode.

  • (#6226) Improve the visual representation of the Exodus’ and Tempest’s depth charges by increasing their StrategicIconSize and UniformScale.

  • (#6229) Improve annotation for MATH_Lerp.

  • (#6310) Enhance the periodic logging of the session time.

    The logging now differentiates between the session time and the game time. It also prints information about the allocated memory on the heap. This is useful for debugging memory issues.

    As an example: DEBUG: Session time: 00:35:01 Game time: 00:09:33 Heap: 288.0M / 253.2M

  • (#6316) Add game/worldview.lua function GetMousedOverWorldView() that returns the top-most moused-over worldview, useful for in-world cursor overlays.

Automation

A lot of effort has gone into automating various tasks through GitHub Actions. Automation reduced the overhead on the maintainers. This is an ongoing process. If you have experience with GitHub Actions and you'd like to help out then do get in touch with us through Discord. We're only getting started!

  • (#6223) Create Github Action workflows to automate updating various unit viewers.

    This applies to both the SpookyDB and the UnitDB unit viewers. Whenever we update the FAF game type the unit viewers are now automatically updated too.

  • (#6139, #6138, #6137) Generate the changelog based on changelog snippets.

    Writing a changelog can be a daunting task. There are many changes and a lot of them can be from weeks or months ago. We now encourage all authors of pull requests to write a snippet. Through a GitHub action workflow all these snippets are dynamically compiled into a changelog. The changelog only needs a manual review before it can be released to the community.

  • (#6260) Create GitHub Action workflows to automate the deployment.

    By using a workflow we open up the capabilities to post process the deployment before releasing it to the public. As a few examples that we'd like to implement:

  • (1) Bake properties into the blueprint files, so that external tools always have the actual and representative blueprint files that are used in-game.

  • (2) Generate and include the current changelog for the FAF Develop and FAF Beta Balance game types.

Contributors

With thanks to the following people who contributed through coding:

With thanks to the following people who contributed through binary patches:

With thanks to the following individuals who contributed through model, texture, and effect changes: