UHS Build 12101 – September 2017
It’s almost hockey season again! I’m really looking forward to seeing the NHL get back on the ice, watching the best league in the world. This build has several changes around player salary expectations; AutoGM player, trade and free agency evaluations; a new target ticket price alert for COMs; rookie handling and applying a maximum skill for players sent to the juniors and many more miscellaneous changes and bug fixes.
We are also continually updating NHL rosters based on the player movements and signings found on CapFriendly.com. Through September I’ll be updating rosters on Sundays but once we get into the regular season, I’ll be trying to make changes for major moves as soon as they happen and again, Sundays will be for the remainder of changes that may have happened that week. Once the regular season starts, I’ll be going through all NHL rosters to remove players that are on the IR (for new leagues these players will still be present, however, they won’t be assigned to any team).
Salary Expectations – Salary / Contract Changes
We have implemented a new method of determining salary expectations, replacing the old method of using the player’s or coach’s last contract value offered. The old method allowed teams to get 90+ players at a fraction of their true value.
The new method will create a salary expectation on a per-season basis based on your league’s salary cap, the player’s skill and their age. This also applies to coaches and free agency.
The logic for accepting an offer (regular contract or free agency) has also changed to be focused more on what you are offering in terms of salary. The Salary Expectation sets to the ceiling at 90% acceptance, however, contract length, player/coach age, the team’s winpct and when the contract starts all still play a part in determining whether your offer will accepted.
Additionally, there is no longer a minimum of 10% acceptance, in fact, it’s entirely possible for your signing factor to go into the negatives if your offer is too low. The maximum of 90% acceptance is still in effect.
Further to address lowball offers, if the offer is declined (and the GM permitted to make a new offer), the Minimum Offer will be increased by 30%. It is entirely possible for the minimum offer to exceed the salary expectations, however, occurrences of this should be rare.
By default all leagues will come with a new SalaryCap of $75 million to match that of the NHL. This will apply to leagues that get reset using the Reset League tool. NHL leagues will have player contract lengths randomly set on league creation.
While we try and catch as many bugs as we can in testing, there are invariably, some that get found when we go live. As always, if you find any issues or have any questions that are not covered in the wiki, please let us know via ticket or discord.
Maximum Farm (JUNIOR) Skills
To prevent fully automated leagues from sending highly skilled young players down to the juniors (see Edmonton’s McDavid and Toronto’s Matthews), we’ve changed the Max Farm Skill to also apply to junior players. Additionally, all new leagues will have the Maximum Farm Skill Age set to All Ages by default. Existing leagues will not see this setting changed. These changes will ensure that players that are 20 and younger and highly skilled will remain on their pro team and not be sent to the juniors for development.
Speaking of Rookies, we’ve changed how we are storing Rookie players in the database. Currently Rookies really only works for your current season, when you go back to look at previous seasons’ league leaders the rookie designation may be gone as the player is no longer currently considered a rookie. Additionally, we are no longer evaluating rookies at the farm level: The Rookie designation is for pro league only.
By default Rookies are considered to be any player that is 25 or under and played in at least 25% of their team’s regular season games.
Creating Draftable Juniors
COMs will now have a new Age Group option when using the Add Players function: Draftable players. These players are basically juniors except all created at Age 18.
AutoGM Trading – Player Evaluations
We’ve added code to impose the following restrictions on AutoGM trading:
– Trading will only happen during the Regular Season.
– Trading will only happen if the AutoGM does not have any pending free agency bids, players waiting to clear waivers or pending claims on other players waiting to clear waivers.
– Players being traded to the AutoGM will be evaluated as to whether they will actually be used on the team.
AutoGM Outgoing Trades
Previously AutoGMs were creating trade proposals once every X hours, depending on how the COM had set it. We’ve changed this to instead be a trade proposal CHECK will be made once every X Regular Season Games Played by the AutoGM team. By default we have changed this to be once every 7 GP.
Additionally, the chance was previously accumulative, so that successive trade proposal failures would eventually result in SOME kind of trade being offered to help generate movement in All-AutoGM leagues. This has changed to now be a flat 20% chance (by default). This chance will be checked once every X regular season GP (see the previous paragraph) and will only be made ONCE.
You can disabled AutoGM initiated Outgoing Trades by setting the GP to 0.
Using the default settings all AutoGM teams will have a 20% chance to look at making an outgoing trade every 7, 14, 21, 28, etc GP. If the chance is successful there are further checks made to determine whether a VIABLE trade will be offered or even whether that particular AutoGM should initiate a trade (ie. The best team in the league probably won’t be making offers… it’s possible, just not likely).
AutoGM Prospect Handling
By default, we’ve changed how AutoGM’s handle age 20 and younger prospects. Previously AutoGMs would send the prospect down to the juniors if they are 20 or younger, regardless of their skill. This makes sense for leagues using Stat rerates since it’s beneficial for the player to be in the lowest league allowed to rerate up.
This has changed now so that Age-Rerate Leagues (this is default rerate method for new leagues) will allow the AutoGM to keep the player on the pro team if their skill is higher than the Max Farm Skill value (by default set to 70). This means that players like Auston Matthews and Connor McDavid will actually play on their team’s pro rosters by default when creating new NHL-based leagues.
Once the NHL season has begun, if you notice any 20 and under player that has earned a permanent spot on their team’s pro roster (the real NHL team) and is being sent down by the AutoGM in UHS, please let me know so we can adjust their skill appropriately (71+ and Age-Rerates). Alternatively, you can lower the MaxFarmSkill value so that some of these players will not be forced down.
AutoGM Free Agency Poaching Changes
Previously, we had the AutoGM look at most, if not all, free agents and see if they could fit somewhere on the team. In some cases, this could result in the AutoGM signing a FA and then immediately buying them out due to protecting prospects.
If the AutoGM is not looking to fill their team (meaning they have a full pro roster), the AutoGM will now consider whether the replacement player will replace a prospect. If this is true, the AutoGM will not make a bid on the free agent and instead opt to keep the prospect. A prospect is defined as a player that is at MaxAgeProtected or younger.
Target Ticket Price
By default, league ticket prices are set to $100 maximum. With leagues that run shorter regular season schedules, the ticket prices need to be increased otherwise teams will not earn enough money to pay their players. We will show an alert to COMs and Owners if the league’s current maximum ticket price is lower than the target price.
The target price is calculated as (SalaryCap * 80%) / Arena_Seat_Average / Regular_Season_Home_Games.
Relegation League Roster Changes (Hotfix: August 2 2017)
Relegation Leagues are run very differently from standard leagues: There are no farm or junior leagues, so no waivers. In some relegation leagues the AutoGM would treat players under the MaxAgeProtected (by default, age 23), as farm players and mark them as Farm, thereby allowing those players to escape the wrath of the Pro team’s “skill culling” (signing higher skill free agents and buying out lower skilled players).
The following changes will take effect for Relegation Leagues only:
– Teams will be allowed a maximum of 10 centers, 10 left wingers, 10 right wingers, 16 defensemen and 6 goaltenders for a total of 52 players. (Forwards are added to the list of C, LW, RW as needed).
– Lesser skilled players that fall out of the maximums for each position will be bought out and placed in free agency if the team has enough funds to buy the player out.
– All players, regardless of age are fair game for a pro roster position (even as low as age 15). If they are skilled enough then they are worthy.
When adding new players (using Manage > Players > Add), it may take some time for AutoGMs to get all the best free agents they could possibly have as AutoGMs are limited to making only a handful of offers if their team already meets the minimums for a game roster.
AutoGM teams will still create Makeweight players if the team’s next scheduled game is expected to occur before their free agents are signed (this is done to ensure all AutoGM teams have a game roster set).
Age Rerates – Leadership & Coach Bonus Changes (Hotfix: July 31 2017)
To add an incentive to keep around older players, we have added a Leadership bonus to all players that qualify at the Pro Level. Additionally, we are decreasing the Experience and Development bonus that coaches apply to rerates by half (10% is now 5% and 5% is now 2.5%). This is being done to add another factor for the GM to decide if it’s better for their team to play a younger player on the pro instead of the farm.
The Leadership bonus is based on your league’s UFA Age and is generated if that particular player is over the UFA Age (28 by default) and played at least half the season on the pro team. The player will generate a +0.1% to ALL PRO PLAYERS (again, Pro qualifying) for every year they are above the UFA Age. For example: A player that was 30 years old would grant all Pro qualifying players a +0.2% increase bonus on their rerate increase chance (30yo – 28yo * 0.1%) if they played at least half their games on the pro team.
This bonus is cumulative. So multiple players qualifying will grant higher bonuses. It is quite possible to stack old players to get a high bonus, however, you will have to weigh that against not developing your younger players and possibly dealing with Salary Cap issues.
The default bonus for being considered a farm player has changed from +10% to +5% for players of all ages. This decrease is designed to make the GM really look at their team and see where the best place is for their players to rerate. If that’s the pro team, they’ll need to get them the pro games to qualify as a pro players, if that’s the farm or juniors, they can move them down. This will also put more emphasis on maximizing your coach’s (both pro and farm) Development and Experience skills.
The default bonus for being considered a junior player has changed from +5% to +7.5%. Overall we are targeting an average of +7.5% bonus to the increase chance, so the bump to Juniors was needed to keep it as a viable option.
Age Rerate – Player Level Determination (Hotfix: July 28 2017)
The default Player Rerate code (by age) has been updated to look at the number of games played at each level for the player to determine what level they should be processed at. Previously the level was taken from wherever the player ended up at the end of the season, even if the player didn’t play any games there. For example: a junior could never have played a game on the Pro team but then get promoted right at the end to benefit from the Pro team’s coach development bonus.
What we are doing now is looking at all the Regular Season games played for the player. Whatever level has the highest games played will be the level that is used for their rerates. In cases of ties we use Pro > Farm > Junior.
Waiver Claim Adjustments (Hotfix: July 28 2017)
From time to time we make adjustments to the code to mimic the rules and procedures of the NHL. In this case we are adjusting / adding a rule concerning Player Waivers. When a player is placed on waivers and gets claimed, if the new team also places them on waivers, the original team can make a claim, and, if the player is won, they will automatically clear waivers for the remainder of the season.
In the case of UHS, the player will be found on the pro team (like a regular player claimed via waivers), however, they will now have the ‘Send to Farm’ option so the team can send them immediately to the farm without having to place them on waivers again (for that season). This is being implemented to remove a scenario I call “Waiver Wars” which has come up in our TJHL test league (Thanks to the TJHL for bringing this to my attention).
Bug Fixes & Miscellaneous Changes
– Farm Team information will no longer appear on the GM’s Team Home page if a real farm team has not been assigned to the pro team.
– Teams can no longer hire a farm coach if there is no real farm team assigned to the pro team.
– By default all new leagues will show OTL and SOL in league standings with Ties hidden.
– By default all new leagues will have OTL worth 1 point.
– Fixed an issue where creating junior players after season 1 would result in the players’ ages being only 15-16. This will now only happen if the league actually has junior teams.
– Fixed a minor sorting issue with league’s activity reports.
– The banner / login area has been changed slightly to make the area shorter. The advertisement for non-Premium leagues will now appear as a separate row.
– Your league’s database information can now be found on your league’s information bar.
– Fixed an issue where AutoGMs were either claiming players from waivers or signing players from free agency and then immediately turned around to buy them out. (hopefully it’s fixed!!)
– Fixed an issue where new leagues were not having their Season 4 entry draft picks created.
– Fixed an issue where the Last Wage column was incorrectly appearing for Junior Prospects in the COM’s Team view.
– Updated the one-time Paypal donation button to also be applied against a League’s Premium Service expiration date. Works for every increment of $5. Hotfix: July 16 2017.
– Released a change to automatically protect any league that purchases a year Premium Service or league’s that have purchased 10 or more months of Premium Service. Hotfix: July 17 2017.
– Fixed an issue where player were not having their Cup value increased after their team won the Pro championship. Hotfix: July 18 2017.
– Removed option to create leagues with AHL and OHL leagues / teams. Hotfix: July 19 2017.
– Fixed an issue where a player’s Quickness skill was not being correctly used to mitigate the strength of a check against them. Hotfix: July 19 2017.
– Fixed an issue where an advertisement banner was being shown on the Public Site for Premium leagues. Hotfix: July 19 2017.
– Fixed an issue where AutoGMs were not using free agency properly to fill their rosters. Hotfix: July 19 2017.
– Fixed an issue where goaltender’s Minutes and GAA were not being calculated properly on Public Sites. Hotfix: July 19 2017.
– Fixed an issue where loading a SavePoint for relegation leagues and would result in creating blank positions in the League Structure if relegation was re-processed. This also resulted in causing the AutoGM to go haywire (time-outs, excessive lag due to reaching 100 player limit). Hotfix: July 20 2017.
– Fixed an issue where goaltender’s Minutes were being calculated and shown as seconds. Hotfix: July 20 2017.
– Fixed an issue where All-Star games could not be created if the regular season schedule was completed. Hotfix: July 21 2017.
– Automatic setting of a GM Draft list has been added to the Premium service. Hotfix: July 23 2017.
– Fixed behind the scenes issues that were generated E_NOTICES and WARNINGS. Hotfix: July 24 2017.
– Fixed an issue where moving a player between Pro/Farm/Junior levels would result in an incorrect Finance SeasonNet and Balance calculation (Media revenue was not being considered). Hotfix: July 28 2017.
– Fixed an issue where UHS was always reporting incorrect lines. Hotfix: July 31 2017.
– Fixed an issue where the base percentage for free agency offers was always 50% during the off-season and pre-season despite there being a regular season winpct available from the previous season. Hotfix: August 2 2017.
– Fixed an issue where free agency offers were not considering the Minimum Offer and the potential for a decreased Last Contract Value (due to lack of playing). Hotfix: August 3 2017.
– Fixed an issue where the AutoGM was under-evaluating players being traded away. Hotfix: August 5 2017.
– Changed the AutoGM to only make “Troubled Finances” offers to teams that can afford the asset being traded. Hotfix: August 15 2017.
– Fixed an issue where the AutoGM would continue to make “Troubled Finances” trade offers even if they had exceeded the 10 offer limit in a season. Hotfix: August 15 2017.
– Fixed an issue where playing an individual game in live game mode would not actually sim the game. Hotfix: August 17 2017.
– Fixed an issue where leagues that had unused picks due to changing the number of draft rounds would not have newly created players or unsigned players moved to free agency until the OffSeason was completed. Hotfix: August 20 2017.