Teamfight Manager 2 · 0.5.5 · first seen
Hello, this is Team Samoyed.
We'd like to share the details of this patch.
Existing mods may not work correctly after this version update, so if you are using mods, we recommend disabling them or playing on a previous version until the mod creators have updated them for the new patch.
In your Steam Library, right-click Teamfight Manager 2 - Properties - Betas, then select the version you want and play; the game will run on that version.
If any position on your roster is still empty before the transfer window closes, you will now be notified in advance through your News inbox. If a position is still vacant on the closing date, a free agent is signed automatically to satisfy roster requirements — but until now this happened with no notice at all, so it could look as though a player you had rejected in negotiations had joined your team. You will now be warned 14, 7, 3, and 1 day before the deadline, giving you time to finish signings yourself. The minimum roster guarantee itself remains in place so that the schedule can proceed.
Improved how save files are written. The existing file is now replaced only after the new save has been confirmed as fully written, and the save from just before the replacement is backed up automatically. Even if the game is force-closed or the power goes out mid-save, your previous save is no longer lost along with it, and if the main file is damaged it is automatically restored from the backup.
Improved how training ratios (weekly schedule and training programs) are adjusted. Previously, changing one entry recalculated the other two proportionally, which disturbed the value you had just set and made it hard to build the combination you wanted. Now only the amount you changed is taken from the other entries, and the value you set immediately before is preserved, so you can reach the ratio you want in two adjustments. The total always stays at 100%.
Expanded error diagnostics. When the game closes abnormally or multiplayer communication fails, the location and cause are now recorded in the log file. Until now this information was not written to the log, so in many cases the logs you sent us were not enough to narrow down the cause. From now on, the logs you send will let us identify the cause in a much wider range of cases.
Hovering over the Condition entry in a player's detail view now shows that player's condition temperament as scouting information. Every player has a different innate condition baseline and range of fluctuation, but until now only the current grade was shown, so there was no way to tell why one particular player stayed in poor shape even when housing and rest were perfectly fine. You are now told about tendencies such as "swings widely" or "rarely rises," and when the issue is difficult to improve through management, that is noted as well. Players with insufficient scouting information are shown as not yet identified.
Added match record reading to the Stable API for mod creators (ABI level 3). Mods related to match analysis and replays can now migrate to the Stable API. Match records are provided read-only, so mods cannot alter match results, and existing mods continue to work as-is without a rebuild.
Improved the Ban/Pick AI so that it adapts more flexibly to meta shifts caused by patches and other changes. The AI has also been tuned to run the draft in a way that brings out each team's own signature picks, based on that team's characteristics. In addition, there was a bug in the Ban/Pick AI's meta learning over the course of a season that caused certain champions to be over-favored during picks and bans regardless of their actual performance, with that bias never resolving; this bug has been fixed as well.
Improved the player rating formula in MOBA mode. The rating criteria have been revised to reflect a player's contribution to winning more accurately than before, and the gap in average ratings between positions and between champions has been reduced.
Optimized club management simulation, solo queue handling and more to shorten loading times.
Improved the match engine AI in Deathmatch mode. Part of the MOBA mode AI work from the previous patch had been applied incorrectly, causing overly passive fighting; this has been fixed. Some additional improvements from MOBA mode have also been applied, improving combat overall.
Improved the logic related to the transfer market.
High-level prospects are generated more often than before.
Improved how each team manages its finances. Fixed issues where teams failed to manage their salary cap properly and released all of their staff, or could not sign good players and let their roster quality deteriorate.
Teams now attempt transfers more actively rather than re-signing their existing players.
Offers that fell through because the response deadline passed are now reported in your News inbox. Until now, transfer, signing and re-signing offers left unanswered by the deadline — along with final approvals — were cleared with no notice at all, so negotiations in progress appeared to vanish without explanation. You are now told which player or staff case expired, along with the date on which you can propose negotiations again. Cases cleared in bulk by skipping ahead through the transfer window schedule are still cleared without a separate notice, as before.
Adjusted the revenue structure for merchandise sales. Merchandise for players with large fanbases barely dropped in sales volume even at maximum price, which made it far too easy to secure funds through merchandise sales alone in the late game.
Demand for merchandise from players and teams with very large fanbases is now subject to saturation. Sales volume at low fan counts is almost unchanged, but the rate of increase flattens out as fan counts grow.
Different merchandise types now sell at different frequencies. Low-priced goods such as posters and light sticks sell frequently, while high-priced goods such as gaming chairs and keyboards sell more rarely.
Raising the sale price now reduces sales volume more sharply than before. High pricing is now an option with a large profit per unit but slow inventory turnover.
Increased streaming revenue to roughly three times its previous value. This change reflects feedback that streaming income was far too small compared to other revenue sources, so allocating time to broadcasting instead of training now works as a genuine source of income.
Improved fan satisfaction so that it follows your results. Until now, fan satisfaction only moved up and down at random based on match results, so a team contending for the title could still be shown as 'Very Dissatisfied'. It now converges toward a level appropriate to your league standing compared against fan expectations, creating a natural flow in which fans are thrilled when you exceed expectations and disappointed when you fall short.
Fan reactions also vary depending on the opponent. Beating an equal or stronger opponent raises satisfaction sharply, while losing to a clearly weaker opponent drops it sharply. When a weak team loses to a strong one, it is accepted as the expected result and the drop is small.
Individual player fan satisfaction and fan expectation are now dynamic as well. A player's fan satisfaction now rises and falls with set wins and losses and with MVP selections, and the more fans a star player has, the higher their fans' expectations become.
AI teams now train their players' signature champions. Previously, AI teams never assigned champion training at all, so AI players' mastery only rose through match appearances and then stagnated. Teams with a head coach who has high training ability now develop players who dig deep into their signature champions.
Fixed an issue where the achievement related to the popularity of your five starters could not be earned through normal play. This achievement needs to check each individual player's popularity, but it was using the threshold value for team popularity as-is. Player fan counts are on a very different scale from team fan counts, making the condition effectively impossible to reach. It is now evaluated against a threshold appropriate to player scale.
Fixed an issue in the Russian language setting where amounts were displayed at 1/10 of their actual value, and amounts entered in K or M units were applied differently from what was displayed.
Fixed an issue where a damaged save file produced only an error with no identifiable cause. The game now detects that the file was not fully written and tells you so. Please note that content already lost from a damaged file is not recovered by this fix.
Fixed an issue where the year information shown when hovering over title and runner-up counts was hidden behind the mouse cursor.
Fixed an issue where the mouse cursor could become invisible after switching to full screen or changing the resolution.
Fixed an issue where some sounds could play right after launching the game even with sound effect volume set to 0.
Fixed an issue where sales volume could fail to recover to its original level after raising a product's price sharply and then lowering it again.
Fixed an issue where creating a multiplayer room with a custom database let only the host proceed while other participants stayed in the lobby or were dropped back to the title screen. When sending the data needed for the team selection screen, exceeding the transfer size limit caused the data not to be delivered at all, leaving guests waiting for data that would never arrive. Data not used in team selection is now excluded before sending, cutting measured transfer size by roughly 45–82%, so large custom databases that previously exceeded the limit can now host rooms normally. Team logos are preserved, and player faces are still displayed during matches exactly as before.
If you do still create a room with a custom database that exceeds the transfer limit, the host is now notified in advance. Until now there was no notice at all — only the other participants could not join, with no way to tell why.
Custom team logos and player/staff face images are now organized automatically to match their in-game display size when newly registered. Visible image quality stays the same, while storage size and multiplayer transfer load are reduced.
Fixed an issue where contract expiry notices kept arriving at the end of the season for players and staff who had already re-signed, halting schedule progress each time. Re-signed terms take effect on the day the existing contract ends, but the expiry notice was not looking at the newly signed contract period and checked only the expiration date on the old contract. Since most contracts end at the close of the year, these notices piled up at the end of the season. Notices are now based on the date a player or staff member actually leaves the team, so those who have re-signed no longer receive them.
Fixed a bug where combat contributions such as granting shields or buffs were not counted as assists.
Fixed an issue where changing Twin Tower values in the database editor had no effect and simply followed the Outer Tower values instead. During matches, Twin Towers were reading the Outer Tower settings rather than the Twin Tower settings, so no amount of adjustment to Health, Attack, HP Regen or Gold was reflected. Configured values are now applied exactly as set.
To keep the existing balance unchanged, the default Twin Tower values have been set identical to the Outer Tower. Saves already in progress are normalized to the same values as long as you have not edited the Twin Tower values yourself, so this fix does not change how matches play out.
Automatic balance patches now adjust Twin Towers as well. When tower health and armor change due to match length or snowball adjustments, both towers move by the same amount.
Fixed an issue where newly generated players could end up with the same nickname as an existing player. When drawing from the name candidate list, the game did not check whether a name was already in use, so duplicate names could appear in saves that applied a custom database or imported only the personnel data. Names already used by players, staff or managers are now filtered out, including names that differ only in capitalization.
Fixed a bug where replays of some matches played out differently from the actual match.
Fixed an issue where the News inbox displayed a rejection as though our own club had made it, when in fact another club had rejected or broken off signing negotiations for one of our players. Rejection and acceptance news did not record which club made the decision, so the screen incorrectly showed the player's current team — our own team in a sale negotiation — as the other club. The club that made the decision and the reason for rejection are now presented with the correct subject, and when a transfer fee negotiation is accepted, the wording matches the selling or buying side accordingly.
Fixed an issue where the response deadline display in the News inbox and the automatic cleanup after the deadline did not work when a selling club sent a transfer fee counter-offer.
Fixed an issue where the body text was not displayed when re-opening a negotiation news item if the player involved had since left the team (for example by becoming a free agent).
In multiplayer, when the opposing player directly rejects our transfer offer, the News inbox now shows which club rejected it.
Fixed an issue where 'Skip Empty Period' could not be used during the year-end break after the Summer international tournament, forcing you to advance day by day until the following year's transfer window. The skip target calculation only checked the remaining schedule within that year, so the stretch from the end of the international tournament final to the transfer window opening on January 1 of the next year fell outside the skip range. The skip button now remains available after the final ends, and skipping takes you to the morning of January 1, when the next year's transfer window opens. This applies to saves already in progress as well, and the wording in the skip confirmation popup has been updated to match the actual behavior.
If you encounter any problems while playing, feel free to reach us at
anytime.
Thank you.
| Depot | New manifest | Previous manifest |
|---|---|---|
| 3009301 | 8994493937694105407 | — |
| 3009302 | 5311557120488746668 | — |
| 3009303 | 5637328129250169857 | — |