Improve scoreboard (#3633)
Adds the share conditions to the scoreboard. Adds tooltip for the share condition, explaining what it means. Adds information to the share condition tooltip on how to find the remaining game options. Adds a tooltip for the map name to include the map description. The replay ID can be found in the map description.
This last one is a bit unintuitive, but the replay ID is 99% of the time not relevant information. It would take up UI space if we'd just put it there regardless.
Once the map generator is updated the settings used to generate the map are set as its map description. That way you can view those settings in game when required.
Fix filtering insignificant units (#3636)
We made the assumption that categories.INSIGNIFICANTUNIT was not widely used by mods. This was wrong - hence we still introduced a new category specifically for units that inherit the DummyUnit class. These units should not be reachable by code as they are not a typical unit - they lack all the functions you'd expect.
Fixes (for example) the anti teleporting mechanic of Blackops.
Update initialisation files (#3637)
Allows loading
kyros.nxt
on the regular branch. Adds proper checks on the extension of maps / mods instead to prevent loading in rar / zip / scd files as mods. Improves debugging information: as an example when something is excluded the user is informed through the log. Introduces the removal of incompatible shaders. Incompatible here means shaders of previous versions of FAF.
Revert "Snowflakes in lobby (#3615) (#3634)
Removes the snow flakes from the lobby.
Games using the featured mod Nomads will break when playing the Aeon faction until Nomads has been updated by its maintainer.
(#3627) Whitelist Kyro's lobby
The file
kyros.nxt
is now white listed. If you intent to work on this lobby, please consider working on the lobby of the repository instead.
(#3484, #3500, #3535, #3600, #3604, #3610, #3611) Allow more structures to be cap-able using a similar mechanic to storages for extractors.
This changes the ringing behavior to:
- 2 clicks + shift to mass storage an upgrading t1 extractor
- 1 click to mass storage a t2 / t3 extractor
- 3 clicks to shift + mass fab cap an upgrading t2 extractor
- 2 clicks to shift + mass fab cap a t3 extractor
- 1 clicks to mass storage a t3 fabricator
- 1 clicks to pgen an t2 artillery
- 2 clicks + shift to pgen an upgrading t1 radar
- 1 clicks to pgen an t2 radar or t3 radar
- 1 click to wall a t1 pd
General rule of thumb:
- Typical: click
- Upgrading: shift + 2 click
- Dangerous: shift + (regular click count + 1)
Shift was already part of the feature and is extended to prevent unintended ringing.
Assisting behavior
(#3597, #3604, #3605, #3607) Add factory queue on hover
This allows you to get a quick overview of the factory queue by just hovering over the unit. Especially useful for casters as you can now view the factory queue without switching to the army in question.
Can be adjusted in the options -> interface. Search for the field 'Show Factory Queue on Hover'. Options are:
- Off
- Only on when observing
- Always
(#3531) Add an option to scale down the UI (to 80%) for low resolution monitors
This doesn't appear to be an issue at first due to the infinite zoom but when the score board takes up 50% of your screen due to a 1024x720 resolution then it suddenly is.
Not all of the UI can manage this - please report issues in #game-general in the FAF discord when you find them.
(#3554) Add quick-swap feature to lobby for the host
As a host you can quickly swap two players by left-clicking on the slot numbers of two players. It highlights to teal (light / bright blue color) when in swap modus. Click the highlighted slot number to cancel.
(#3616) Expands the disconnection dialog
A host can now set a lobby option to change the delay required during a disconnection dialog. This defaults to the current behavior but can be set to 10 and 30 seconds.
The exit dialog is now on top of the disconnection dialog, instead of the other way around.
(#3602) Overhaul of the cheat spawn menu
Adds a basic prop spawn mode. Units are spawned using the command feedback on the spawn location. If spawning multiple units they spawn in a box formation. Multi column support and customizable in the game options. Dynamic support for custom factions. Adds in a toggle for revealing hidden-from-spawn-menu units
(#3477) Prevent clearing critical state in AI functions
(#3490, #3551) Refactor the init files of the game
This is an involved change but one that was due.
The init files can no longer load in content that clash between the base game files or between older versions of the same mod. This could also occur when the mod was not activated for sound and / or movie files.
The client supports loading content from a separate vault location, the init files need to support this functionality accordingly. The init files of the game types FAF, FAF Beta and FAF Develop support this functionality. Other game types need to be updated accordingly.
The vault location determined by the client is used to load in content (maps / mods). Any other location is no longer read and therefore any map / mod in the other locations are not found by the game. If after this patch you 'lost' a few of your maps and / or mods it means that they were in an old vault location - you'd need to move those manually.
Adds icon support to FAF Beta.
Adds the ability to more easily block content that is integrated.
(#3527) Integrate the Nvidia Fix mod and block the mod from loading
(#3543) Prevent applying bugs to insignificant units, like the Cybran build drone
(#3550) Attempt to fix Rhino from missing its target
(#3522) Fix upvalue issue of patch 3721
(#3486) Fix (mod) units being unbuildable due to error in UI
(#3432) Fix overcharge occasionally basing its damage on the previous unit it hit
(#3316) Fix experimentals doing death damage upon death during construction
Monkeylord: only when fully complete as it sits
Megalith: only when fully complete as it sits
Colossus: when complete 50% or more
Ythotha: when complete 50% or more
(#3440, #3604) Removes the dummy drone from the unit restriction list
This drone was often misintepreted as an easy way to unrate a game. In contrast to what the name suggests it does have a function: to help gift units when a player dies and full share is on. The drone can no longer be restricted and instead there is a dedicated lobby option to unrate the game.
(#3525) Fix the unpathable skirts of the Seraphim Quantum Gateway
(#3582) Fix Aeon aim bones being underground when building
This fixes the famous issue where an unfinished t1 pd attracts a lot of fire, but because its aim bones are still underground all the attacking units shoot at the ground. No
more!
(#3581) Fire Beetle properly applies EMP / stun buffs
(#3601) Fix Seraphim t3 MAA from zapping through shields
(#3599) Fix consumption bug introduced by #3447
(#3598) Fix Rhino overshooting its target.
(#3598, #3614) Fix errors on gifting when full share is enabled
(#3596, #3617) Fix typo that prevents cybran build beams from spawning
(#3609) Fix inconsistency with SACU presets that prevent them from having custom strategic icons
(#3612) Fix kennels not spawning their drone when you immediately queue up an upgrade
(#3480) Update visuals for the UEF T2 PD and Destroyer
(#3523) Switch off debug utilities by default
This is only useful for developers, but it did cause a (slight) drain on resources when it was turned on even though you're not looking at the logs. It turns it off by default during each startup, you can prevent this as a developer by adding
debug = { enable_debug_facilities = true }
to your preference file
(#3417) Add unit tests for generic utility functions
(#3420) Fix small issues for units of the Cybran faction.
(#3492) Remove greyness when deviation is high
In combination with other work, such as combining the number of games people played across the board (ladder / tmm / globals) it should become easier for people to 'get into' custom games without being called a noob beforehand or a smurf afterwards (never played custom games, but played a lot of ladder).
(#3475) Fix capitalisation consistency
(#3443) Allow trashbag to be re-used for effects
(#3489) Fix UI description of teleport
(#3491) Fix the attack animation of the Monkeylord
(#3349) Updates the readme with the most recent dependencies
(#3461) Remove game quality computations for games with more than two teams
The Trueskill system is not designed to compute the quality of a game when more than (or less than) two teams are involved. Hence, the computation is gibberish anyhow.
(#3526) Remove the curated maps button until an alternative is available
(#3528) Fix T2 seraphim sonar being restricted when t3 base spam is selected
(#3533) Change default settings of auto lobby to 1.5K unit cap and full share (used by ladder / team match making)
(#3441, #3614) Introduction of insignificant or dummy units
This introduces a new unit class that can be used to fix various bugs and glitches with the game. One such issues is the long standing bug with the Aeon build animation where the aim bones are underground at the start of construction.
Sadly, this change is quite involved because a lot of the functionality expects a full-fledged unit. We've tried to catch some of these but there will be more issues that will show up, especially with scripted maps.
(#3552) Update regular expression of mod version removal
(#3558) Restrict t2 artillery orientation to 90 degree angles
(#3582) Fixed various issues with the Aeon build animation
As an example, hover units no longer jump to their hover elevation when they're finished. All experimentals have unique build animations that fit the style of the faction.
(#3586) Force shader re-compilation on development branches
(#3583) Update URLs to https instead of http
(#3567) Fix graphics of Summit and Fatboy
(#3606) Fix (build) icon of Seraphim T3 MAA
(#3607) Fix Cybran ACU not having the right amount of build bots when enhanced
(#3613) Add a hotkey to select all idle scouts
(#3417) Add minor performance improvements for generic utility functions
(#3447) Removed old AI related code that was being run regardless of whether AIs were in-game
This change is involved performance-wise but does not impact gameplay.
As a practical example: chain ten engineers assisting one another and make the first engineer assist a factory. With these changes they'll start assisting the factory one by one as it takes one tick (simulation tick) to detect the unit it is assisting has started working on something.
The previous behavior would be that all engineers get updated immediately. This required it to search for engineers in its surrounding and all those it found would need to look up its surroundings too. This can quickly get out of hand.
(#3502) Optimize the import function that is used by all files.
(#3512) Removes AI threat computations and fixes AI detection
AI code was being run during every game even when no AI was present in said game. After discussing it with the AI devs this pull requests completely removes the threat computations.
(#3419) Reduce impact on sim of common hover emitter effects
Effects have an impact on the sim, in particular when they create a particle. Once the particles exist they appear to be free of charge. With this PR we reduced the number of particles created for various units such as the Aeon T1 engineer to bring them into the same cost range (sim wise) as the other engineers, without impacting their visual appearance too much. Disables the hover effects of these units
all together when playing on low fidelity.
(#3557, #3617) Fix and improve performance on Seraphim build animations
The old version had complicated logic and various computations that were not required. The new version is better for performance and a lot more smooth with regards to the build animation.
(#3582) Prevent unneccessary allocations during the Aeon build animation
Fixes some of the props that were introduced with the 3721 patch.
This introduced a minimal value of 3to each buff, where as some buffs are in the range of 0 - 1 such as adjacency bonusses. This change was intended for solely the Seraphim Regeneration field, but it affected all buffs.
This patch touches various land, naval and air units as well as reworks a couple of ACU upgrades. Notably seraphim are receiving significant nerfs to Selen cloak and Zthuee build time efficiency while cybran are getting some buffs that will make their midgame a lot more robust. Plus various QoL improvements and fixes to inconsistent unit behavior.
Zthuee
- BuildTime: 180 → 270
Zthuees are more efficient BP-wise for their strength compared to other T1 arties which allows for powerful arty spam with a rather small investment in factories. This brings them more in line with other factions.
Titan and Loyalist
- BuildCostEnergy: 5400 → 5250
- BuildTime: 2400 → 2160
This is a small buff to the Titan and the Loyalist bringing their E and BT costs more in line with other T3 units which should make massing them a bit easier, potentially prolonging the T3 light bot stage before bricks and percivals come out.
Loyalist
- Add 1.5s stun to the slow-firing weapon affecting units up to and including T2, excluding navy and structures
Allows loyalists to better deal with T2 which is the main threat during early T3 stage.
T1 Land Scouts
- Reduce the aggro range while on assist/attack move
- BuildTime: 80 → 60
Make scouts slightly more appealing to create early game and help the scouts to not aggro on enemy units and civilians from far away when they are given an attack move or an assist order.
Mole
- BuildCostEnergy: 80 → 60
- EnergyMaintenanceCost: 5 → 1
Spirit
- BuildCostEnergy: 40 → 60
Selen
- Energy Maintenance Cost: 0 → 1
- StealthWaitTime: 1 → 3
Vision and radar range are now multiplied by 0.6 when entering cloak mode
Drastically reduce the abusiveness of cloaked selens both in the early game with the reduced radar as well as in the mid game with energy maintenance cost.
LABs
- Slightly increase the hitbox
Allow for more reliable hitting of unmicroed labs moving at an angle.
Firebeetle
- HP: 350 → 400
- ExplosionRadius: 6 → 6.5
- MaxAcceleration: 5 → 7
- TurnRate: 160 → 200
- Reduce detonation trigger distance when manually attacking a unit
Slightly increase maneuverability to compensate for pathfinding, slightly increase the explosion radius and buff hp to 400 for slightly more survivability, notably allowing it to survive an obsidian shot. Make the beetle come close before detonating if it is manually ordered to attack a unit, before it would detonate at max range and miss a lot of potential damage, now it either detonates up close or gets killed before that and detonates closer than before anyway. Added an extra range ring to indicate the detonation trigger radius.
Rhino
- Revert the weapon from a beam-type to a projectile-type to prevent misses when leading targets
T1 Transports
- Add dummy weapons to T1 transports which allows LABs inside the transport to focus fire targets
Scorcher
- Damage: 4 → 4.5
- InitialDamage: 47.5 → 42.5
- MuzzleSalvoDelay: 0.3 → 0.2
Scorcher’s drop pattern allows it to sometimes kill engies even if enemy manages to partially dodge. These changes convert some of the bomb’s initial damage to damage over time as well as make the drop pattern tighter resulting in a smaller spread of the bombs thus not allowing the last two of them to home in on an engie that had already started to dodge.
Notha
- HP: 1175 → 1000
Make shooting nothas down easier as they could be extremely difficult to deal with if you lose air control.
Soul Ripper
- Add Stealth at -600 energy maintenance cost
After the numerous veterancy changes as well as experimental BT changes soul ripper has lost most of its strength, this will allow it to rotate around the map easier and be more effective at harassing and sniping.
Revenant
- DamageRadius: 7 → 6.5
- EnergyMaintenanceCost: 65 → 150
Shocker
- Damage: 3450 → 3000
- DamageRadius: 4 → 5.25
- Added a 3s stun of units up to and including T3
Sinntha
- Damage: 3250 → 3000
- DamageRadius: 5 → 6
Ambassador
- Damage: 3000 → 3100
- DamageRadius: 6 → 5.5
All strat bombers
- Double the amount of mass killed required to vet
Reduce the snowball effect from early strat bomber rushes killing mexes continuously and regaining any hp lost, making it very difficult to kill them if you don't have air control.
Shimmer
- Better match the EMP radius to the damage radius
Jester
- Fix the bug where it would not do damage to moving units
- Replace splash damage with soft projectile homing
Now jester should be able to hit all or at least most targets consistently.
UEF Destroyer
- TurretYawRange: 140 → 160
- TurretYawSpeed: 90 → 100
- Torpedo firing cycle adjusted to combat torpedo defense better
Improve handling and micro potential, slightly improve effectiveness vs submarines.
Cybran Destroyer
- TurretYawRange: 135 → 140
Make it slightly less punishing to have to retreat your navy.
Aeon Destroyer
- TurretYawRange: 160 → 150
- TurretYawSpeed: 100 → 90
Slightly reduce the micro potential to soften the snowball effect that can occur with aeon destroyers.
Seraphim Destroyer
- Torpedo firing cycle adjusted to combat torpedo defense better
Atlantis
- Fix the AA behaving in a way inconsistent with the stats, adjust the stats to preserve the current balance
Kennel Drones
- Now have higher selection priority than buildings
UEF T3 Sonar
- Add Jamming
Paragon
- Add a 100,000 E storage
This will prevent the bug where despite not draining more E than paragon provides you still go into stall and drop shields.
T1 PDs
- Adjust the hitboxes and bones of the PDs to make the wall-pd template behave the same way for each faction
T4 Artilleries
- Ranges normalized to 4000 (Mavor range)
This makes all T4 arties viable for all 3 people who play 81x81 maps.
Cybran ACU Stealth Upgrade
- EnergyCost: 5000 → 14000
- MassCost: 350 → 650
- BuildTime: 500 → 800
- Provides 2000 extra HP
Gives cybran acu better chances in midgame against ACUs that can have both T2 and gun at the same time.
Sera ACU Regen Field Upgrade
- Now provides regen to the ACU itself, 10 hp/s for the first upgrade and 20 hp/s for the second
- Now uses different regen floor values for units depending on their tier:
Basic Tier
- RegenFloorT1: 3
- RegenFloorT2: 8
- RegenFloorT3: 15
- RegenFloorT4: 25
- RegenFloorSCU: 15
Advanced Tier
- RegenFloorT1: 15
- RegenFloorT2: 30
- RegenFloorT3: 60
- RegenFloorT4: 120
- RegenFloorSCU: 80
This boosts the upgrade's attractiveness over the T2 upgrade and also fixes some inconsistencies where some units were getting more regen from the first upgrade tier than the second.
This patch is a combination of small fine-tuning and changes to game mechanics. It's a relatively small patch stabilising the balance and getting things out of the way so that the focus can (hopefully) be shifted towards SCUs going forward.
Selen, Jester and Bombers are all getting small buffs as a follow-up to previous patch. Mantis icon is changed from a LAB icon to a tank icon as this became an apparent issue with the resurgence of LAB usage after their buff. Shard will now actually hit stuff. Mex build time and build power are reverted to pre-engymod values, making them more efficient to assist and making the choice between using engineers for reclaim and assist more meaningful. Target priorities have been fine-tuned from the last change. Overcharge now kills a mobile shield generator if it depletes its shield.
Mantis
- Icon changed from a LAB icon to a T1 tank icon.
Sky Slammer
- Projectile Lifetime: 3.5 → 4.5
- Muzzle Velocity: 15 → 20
- Projectile Max Speed: 50 → 60
- Projectile Acceleration: (8 + Random() * 5) → (16 + Random() * 5)
Selen
- Range: 18 → 19
- TurretYawSpeed : 120 → 130
Jester
- Speed: 9 → 10
- MuzzleVelocity: 40 → 55
- DamageRadius: 0 → 0.15
T1 Bomber
- RadarRadius: 42 → 44
Shard
- Damage: 7 → 6
- MuzzleVelocity: 45 → 60
Mass Extractors
T1 Mexes
- BuildPower: 13 → 10
T2 Mexes
- BuildPower: 20.58 → 15
- BuildTime: 1171 → 900
T3 Mexes
- BuildTime: 3944 → 2875
Target Priorities
- Revert ACUs to previous targeting behavior of having no preference between various units.
- Cruisers now target navy before structures again.
- Subs target other subs before coopers.
Overcharge
Overcharge kills mobile land shield generators if it depletes its shield on impact (only a single one, overspilled ones live). Veterancy counted, no reclaim left.
Artillery damage