UHS Hotfixes – July 31 2017 (Leadership & Coach, Farm/Junior Bonus Changes)

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 regular 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.

UHS Hotfixes – July 28 2017 (Age Rerates & Waivers)

Two hotfixes were released today, one to close a rerate loophole for Age Rerates and another to implement an NHL waiver rule to prevent / reduce the frequency of players being stuck in the middle of a waiver war (This can happen from time to time with the AutoGM).

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).

UHS Build 11454 – Warning: Biohazard!

UHS Build 11454 – July 2017
This is another large build that comprises many technical / system changes as well as a handful of quality of life and enhancements for league COMs and GMs. We’ve automated most of the build deployment processes and are removing a few tables where data was being duplicated, resulting in inflated league database sizes. We’ve updated all NHL teams based on the amnesiac rosters over at wasserlasser.com, including an updated NHL schedule for the 2017-18 season (yes, including the Vegas Golden Knights).

We’ve added a Team Salary Projection page that uses a CapFriendly.com style display to let you see how your player contracts line up at a glance. Players can now get sick: the Contagion has been released! AutoGMs have been further tweaked to introduce trade fatigue to further prevent poaching.

It’s a big build. Happy birthday to me (I’m a day late!)

NHL Updates
We have updated our NHL defaults by adding the new Vegas Golden Knights, the full 2017-18 NHL schedule and all player skills & characteristics. Player skill / characteristics were created by converting the amnesiac NHL09 rosters from NHL09 skills to UHS skills. Mileage may vary, I’m sure.

If you set the AutoGM on for all teams, there will be a handful of players that will be bought out. Two teams will require makeweights (one each for Boston and Philadelphia) as they are short on positions to fill a game roster. I will be updating the rosters with transactions as the month progresses, however, I will not be updating player skills until next summer unless there is something drastically wrong.

If you are interested in volunteering your time towards maintaining player skill characteristics for us, please open a ticket and let us know.  We’re looking for someone that can objectively quantify player skill values using the UHS set of skill characteristics for new players (farm players that are moved up from time to time) and then a larger update based on the previous season once a year.

Team Salary Projections
Instead of using Excel to manually generate a CapFriendly-style layout for your team’s salaries, you can now go to Team > Finances > Salary Proj. to find them. The salary projections will show player salaries for up to 6 seasons and will also consider things like contract extensions, player ages and free agent status.

For seasons beyond the current one, the projections will make some assumptions:
– Players 20 and under will be in the juniors and have their salaries adjusted appropriately (10% of regular contract value).
– Players aged 21 to the Maximum Protection Age (the max age they can be sent to the farm without clearing waivers) will be assumed to be on the farm team and have their salaries adjusted appropriately (25% of regular contract value).
– Players older than the Maximum Protection Age are assumed to be on the Pro team and will use the full value of their regular contract.

Players are also grouped by C, LW, RW, F, D, G to help you see where contracts are running out by position. Player’s Level, Age and Skill are based on the current season only, the first column holding salaries. The Skill column will display either the player’s total skill (skills shown on) or the player’s skill class (skills shown off).

The projections will show the salaries for a full season only, so once a contract is expected to expire at the start of the next season either a red UFA or green RFA will be display to let you see when that player will be leaving your team.

Player Contagion / Sickness
Players can now get sick. There is a low base chance they will contract some kind of illness / flu. The lower the player’s IJ skill, the more games they will miss. If a player is ill, they are still allowed to play, however, their skills in the game are drastically reduced (by at least 50%). Players may spread the illness to other players in the same game on both their own team and their opponents. AutoGMs will never play a sick player and treat them as Injured / Suspended.

Player sickness does not apply to junior or all-star level games. If a junior player becomes sick during a pro/farm game and is moved back to the junior league before recovering, they will recover at the normal rate, however, they will not infect any other players.

AutoGM Logic Changes
– AutoGMs now have trade fatigue applied to incoming trades. Fatigue will adjust depending on the success of the team and the number of trades that they’ve already accepted.
– AutoGM teams will now be processed in a random order instead of the order they were added in UHS.
– AutoGM teams will no longer make bids on free agents that have at least 10 teams with valid / active bids on them. This is being done to cut down on the churn the AutoGM is creating with large numbers of free agent offers in bigger leagues.

Saved Lines
Previously we stored your teams’ Saved Lines in the overall UHS DB, however, we’ve decided to move them into your respective leagues. You should not see any difference in how they operate, however, if your Owner/COM decides to restore an older SavePoint where your lines did not exist, you would no longer see those saved lines.

Build Releases Going Forward
We’ve changed up how our build releases will be handled. A lot of the manual processes / activities are now automated. We’ve also split out the SavePoint updates so that once the build is released to current Leagues, you’ll be able to get back into the game and continue simming sooner than before.

What we have done, however, is that while UHS will be unlocked, loading or creating save points will be disabled as we will be processing your SavePoints behind-the-scenes. As a result, you may not be able to move your league forward from the playoffs to the offseason as this requires a SavePoint to be created.

Overall, this will allow us to release smaller builds more quickly with far less downtime since SavePoint updates take up about 90% of the entire processing time.

Bug Fixes & Miscellaneous Changes
– Fixed an issue where Goalies were using old code to check if they were rookies in the Team Players statistics.
– Fixed an issue where a warning would appear when deactivating an All-star team.
– Fixed an issue with Public Sites where the statistics drop-down would always display Playoff Series if the league was in the Playoff SeasonType.
– The default Salary Cap for new leagues or reset leagues is now $75 million (up from $50 million).
– Fixed an issue in public sites where the drop-down menu link for a team’s Personnel list would instead lead to the News page.

Hot Fixes
– Updated PubSite’s League Standings and Team Home pages to properly display team logos. Hotfix: May 6 2017.
– Updated PubSite’s Game Results to properly display team logos. Hotfix: May 6 2017.
– Updated PubSite’s Schedule page to properly display team logos. Hotfix: May 6 2017.
– Updated PubSite’s Players by Team, League Leaders – Goalies, League Leaders – Players stats pages to properly display team logos. Hotfix: May 6 2017.
– Updated pages to reflect TJHL’s faces and logo directories. Hotfix: May 7 2017.
– Released fix for issue where League’s Free Agency begins before the Entry Draft is over. In these cases, players will not be removed from teams even if the Free Agency time has started until all Entry Draft picks have been made. Hotfix: May 16 2017.
– Fixed an issue where players getting a Major + Game penalty were only getting the 10 PIM instead of 15. Hotfix: May 16 2017.
– Applied another fix for the Major + Game penalty issue. Hotfix: May 24 2017.
– Fixed an issue where Coach Rerates would return warnings. Hotfix: May 24 2017.
– Fixed an issue where only a small portion of teams were being shown in each standings division, regardless of how much vertical space was present on the page. Hotfix: May 30 2017.
– Fixed an issue where Game Results were not appearing on the League Home page for relegation leagues. Hotfix: May 30 2017.
– Fixed an issue where logos could not get uploaded if the team’s current logo no longer existed. Hotfix: June 5 2017.
– Fixed an issue in Public Sites where games going to overtime were not displayed properly when viewing the Game Results. Hotfix: June 25 2017.

UHS Build 11138 – Building a Foundation (Six)

UHS Build 11138 – May 2017
This build is more focused on the Public Site front-end to make the site more responsive by device as well as adds a few back-end system improvements.

Public Site Overhaul
The public websites for all leagues have been given a much needed overhaul. The sites were made with Foundation 6 with the intention that they could be used on pretty much any device. Most of the site is completely new with new or updated functionality. Near the end, we cut a few corners and simply did a Foundation 6 theme update / application so the pages would work. Team pages and the Live Game functionality are part of this and are slated for an update in the future.

One of the more important changes that happened is on the back-end. Previously league websites pulled from their own specific directory… when it came time to deploy an update for public sites, we had to deploy it to 80+ league sites every time. All leagues will now be running from a single directory: PubSite.

Your public website location will be found in UHS when you log in. The Public Site link has been updated to use the new site location… you should copy and send this link to your GMs, especially to GMs that are a member of more than one UHS league. Your LeagueID is passed through URL (don’t worry, we check things to make sure we don’t get an injection attack) so that you can look at the league you want.

By default the PubSite league will show TJHL (our original and official testing league).

The long-term goal here is to move the UHS site towards a responsive platform, using Foundation 6 and the Public Site as the basis for the change.

More info on Public Sites can be found at http://wiki.hockeysim.ca/index.php?title=Public_Sites

New Coach Stats
We added some random coach stats… more to fill out the coach’s stats profile. The stats are randomly generated and have no impact on the game or rerates. What do they all mean? We’re leaving that up to you. Some will be obvious, others won’t.

Bug Fixes & Miscellaneous Changes
– Access Logs for leagues will now only keep entries that are 180 days or newer. Anything older will be permanently deleted.

Hot Fixes
– Deployed a logic fix for AutoGMs attempting to sell off players to get under the Salary Cap. The AutoGM will no longer make sell off trade offers if they have made 10 or more attempts to a single team. Additionally, the value of the player will be decreased (desperation) after the 4th attempt by 15% to a maximum of 75% of the regular value of the player.  This will reset once the season has changed over. Deployed February 8 2017.
– Deployed a fix to Leagues’ season change-overs where the offer tables for free agency were not being purged.  Deployed February 8 2017.
– Fixed an issue where team account balances would be recalculated without considering Marketing Revenue. Deployed February 8 2017.
– Beefed up AutoGM trade logic to protect younger prospects from getting traded for low return players. Deployed February 19 2017.

UHS Build 10635 – Finally Time for Bed

UHS Build 10635 – January 5 2017
This is a hybrid maintenance / enhancement build. Initially I had begun creating the new Team Home and the Marketing / Bonus Revenue additions when I had noticed a relatively new league with an abysmally slow sim run time. One thing led to another and I suddenly found myself smack in the middle of some DB optimizations.

I had also uncovered the issue with page load times being centered around AutoGM teams appearing in the UHS instant messenger. Once that was fixed I kind of felt like I was on a roll and decided to go all in on the optimization issues I had been seeing.

This was certainly a lengthy release. As I write this I’ve been up for 24 hours straight. The build release itself has been going for nearly 12 hours, a lot longer than I thought it would go. Hopefully we won’t have to go through nights like this again. Time for bed.

Marketing / Bonus Revenue
We’ve added an option for pro teams to earn extra revenue. Initially this was supposed to be something where the team invested in something like Lawyers/Medical, however, it became apparent that eventually all teams would just wind up at the maximum level anyway. I decided to go in a different direction.

For each game your pro team plays there is a 5% chance (by default) that you will earn extra revenue. By default the extra revenue will be 10% – 100% of the normal revenue that would have been earned for that game. All settings are manageable by the COM. Setting the chance to 0% will disable the functionality.

All finance pages have been updated to show the extra Marketing revenue.

Team Home
The Team Home page has been slightly redesigned. The layout was intended for PC browsers as you’ll very likely see some overlapping on mobile browsers. The page will now feature the last 5 game results (instead of just the last game), next 5 upcoming games and the roster/line checker for the Pro and Farm team in their own sections.

Sim Engine & DB Optimizations
I spent most of the day looking at the SIM Engine performance and added a few indices to our tables to speed things up. Overall for very large leagues or ones that simmed quite a bit, the engine ran very slow, sometimes taking as long as 50 seconds to sim just a single game. That will change back to the more normal speed / average of between 1-3 seconds per game (sometimes a little more depending on server usage).

Additionally I added other indices to help prevent duplicate stat inserts. I’m not sure exactly why the duplicates are happening yet, however, adding a unique index for specific fields in each table will basically prevent the duplicates from getting inserted. When this build is released I plan on wiping all league’s aggregate Player and Goalie stats and rebuild them before UHS is brought back online to remove the duplicated stats.

Bug Fixes & Miscellaneous Changes
– Fixed an issue where errors were being logged in the database if a team did not have a coach assigned to a team. User would never see these errors.

Hot Fixes
– Fixed an issue where teams no longer owned coaches after the build deployment. Hotfix: Jan.1.2017.

– Fixed an issue where users were not able to reset their password. Hotfix: Jan.2.2017.
– AutoGMs will no longer appear in the UHS IM. This GREATLY improves the loadtimes for pages. Hotfix: Jan.3.2017.
– Released code to better handle Live vs. QA leagues. Hotfix: Jan.3.2017.

UHS Build 10515 – Age Rerates, Farm Coaches and more

UHS Build 10515 – January 2017
Happy New Year! This build was intended to be only for adding Age Rerates into the system, however, I got ambitious and decided to add Farm Coaches as well. The addition of Farm Coaches added a LOT more functionality and customization to the system than I thought was going to be needed. I was really hoping to get this in before the turn of the year but such is life.

Age Rerates
We are introducing a new rerate system that is based on Age. The goal is to add a rerate system that is very much based on the real world instead of the rerate system UHS has traditionally used. With the new system, younger players will typically rerate up, peak at around age 26 and start to decline around age 29 and on.

Coaches for the TEAM the player is on will grant bonuses or penalties based on the Coach’s Development (young players) and Experience (older players) skills. Additionally, bonuses will be granted to younger to mid-aged players if they are on the farm or junior team for development.

Player Training is still an option for GMs that want to focus on a particular player as it will no longer be possible to micro-manage a player’s rerate via games played.

All players are still required to have played in ten regular season games otherwise they will suffer a rerate penalty. It will still be possible for them to rerate up, they’ll just have less of a chance to do so.

By default, all NEW leagues will use the Age Rerate method. All existing leagues will continue to use the traditional Stats Rerate method.

More detailed information on the rerate percentages and modifiers can be found on the UHS Wiki.

Farm Coaches
Farm Coaches are here!

The Manage Coach page has been updated to show you both your Pro and Farm coach. For leagues where Skills are Hidden, we will now show you the coach’s game modifier (+2, -1, etc) for each of their skills instead of the description (Excellent, Poor, etc). The action buttons for each coach will now take you to a new page with further information on the desired action before you actually commit to it.

GMs coach options are:
– Fire: Fire the coach. There will be an option to promote the Farm coach to the Pro team if you desire.
– Renew: Renew the coach’s contract.
– Promote: Promote your farm coach to the pro team.
– Perm: Respond to the coach’s permission request to speak to other teams.

Coach Profiles have been updated to add Permission texts as well as whether the coach is holding out and/or Disgruntled with the team. The scouting / skills section has been moved to appear directly underneath the Coach’s vitals instead of way over on the right side of the page.

GMs have the option to request permission to speak with another team’s FARM coach. If permission is granted, any team may make an offer to that Farm Coach as long as it is to take a PRO TEAM coaching position. Permission must be granted within 72 hours (by default) or else the coach will automatically be given permission. Should the team decide to not grant permission, they run the risk the coach will no longer sign with them and possibly become disgruntled, negatively affecting players during farm games.

Offers made to Farm Coaches cannot be retracted at all. Once made, the offer will be acted upon in time (as set by the COM). Additionally, offers made must exceed the Farm Coach’s current offer. Any offer made automatically comes with a 25% penalty, so offers will need to be financially adjusted to compensate.

Coach “Free Agency” pages are now gone for GMs. Instead, all options to manage a coach will be found in the Personnel page under Manage Coaches. COMs will still have a modified version of the Coach Free Agency page, however, information on number of offers and expiration dates have been added to help the COM troubleshoot any potential issues.

Passing / Skating Determinations
Previously the Passing/Skating starting chance was at 50% (before modifications) for the home team, however, this has now been bumped up to 55%. The extra 5% was actually supposed to be there but never got changed. It’s intended to simulate ‘home ice advantage’.

Draft Toggle
We have added an option to toggle the Draft for Standard UHS leagues (Relegation leagues already have this option disabled). If Drafts are disabled, all players will be added to free agency, including Junior players.

Bug Fixes & Miscellaneous Changes
– On Public Sites, the team’s Coach will now appear at the top of the Personnel page.
– Fixed an issue where a Coach’s Pct would not consider Ties if they had no wins.
– Fixed an issue where home coaches losing a game would always be credited with a shootoutwin when simmed in live game mode.

Hot Fixes
– Fixed an issue where some AutoGM teams would not send players down to their farm team. Hotfix: Sep.15 2016.
– Fixed an issue where debug information was being printed out on the GM Latest Trades screen. Hotfix: Sep.15 2016.
– Applied a change to Live Game update jobs so that they can overlap without duplicating statistics. Hotfix: Sep.23 2016.
– Added code to prevent AutoGMs from buying out players that are on waivers. Hotfix: Oct.1 2016.
– Fixed an issue where newly created leagues were not able to use the Media Article system properly. Hotfix: Nov.10 2016.
– Fixed an issue where only the first five picks were available for trading during a league’s inaugural season. Hotfix: Nov.10 2016.
– Fixed an issue where duplicate teams were allowed to be selected for the entry draft order. Added extra messaging in the list to highlight draft order positions that are not set. Hotfix:Nov.13 2016.
– Added code to adjust AutoGM decision making for waiver claims. Hoping this will stop some of the Claim / Place on Waivers cycles that have been happening. Hotfix: Nov.22.2016.


UHS Build 10235 – Bit of a Maintenance Build


This build focuses more on fixing the all-star scheduling issue as well as allowing UHS to perform more efficiently with large leagues. The all-star scheduling bug fix took a LOT of effort to fix… I really do not like working with date adjustments. Large leagues began forcing the AutoGM to run for more than a minute so it would start overlapping, creating an imbalance for AutoGM teams that were run first (they got to go twice) vs. teams that were run last. Next build is going to be a doozy I think.

Large Leagues and AutoGMs
All of our AutoGM cron jobs are set to run once a minute. Typically this is more than enough time for regular leagues. There are times when leagues can get quite large, either due to lots of AutoGM teams, tons of players or a multitude of other reasons. The AutoGM itself is built to be run as a single piece of logic on its own. If the job happens to run longer than a minute, it will start again. This can lead to various undesired effects that can disrupt the league overall.

As a result we have begun to track and record AutoGM job times. For leagues that require the job to run longer, the frequency between AutoGM jobs will be increased. This is an ongoing process, so if your league changes and requires less use of the AutoGM, the frequency between jobs will decrease back to 1 minute. To determine the length of time between AutoGM jobs, we always round up to the next minute. If your league needed 2m 30s to run the AutoGM it will be set to run once every 3 minutes.

You will be able to find the frequency (in minutes) for the AutoGM job in the login panel beside the DB information in parenthesis. As an example: DB 1-uhstjhl (1). This means 1 is the LeagueID, uhstjhl is the League’s database name and the (1) means the AutoGM runs every minute.

At this point the code and databases are as optimized as I’m going to get them and I would really rather not limit leagues to the number of teams or players, so this is the only compromise I have to go with.

All-Star Schedule Adjustments
We’ve made some changes to improve how the all-star game or tournament is added to the league. Previously we had some issues with the regular season remaining on the league’s desired days of the week when adding all-star games or deleting the existing all-star schedule.

Bug Fixes & Miscellaneous Changes
– In the Login Panel, the DB data has changed to LeagueID-LeagueDB (AutoGMTime).
– In the Team Home section, users can now click on upcoming Pro team opponents to compare their teams.
– The AutoGM will no longer consider players with 0 years left on their contracts for salary purposes.
– Junior players created after Season 1 will now be aged 15-16 instead of 15-20.
– Players created with an empty Country field but a set Last Name will no longer have a randomized Last Name assigned.
– Fixed an error where the cost of Mass Coach Scouting was $0.

Hot Fixes
– Released several back-end hotfixes to fix some improper code syntax. Hotfix: August 19 2016.
– Fixed an issue where declined trades from AutoGMs were not appearing on the Latest Transactions page. Hotfix: September 2 2016

UHS Build 10180 – Goalies Join the 99-Club

goalieUHS Build 10180 – June 22 2016
We have finally thrown off the shackles of HLS2 and brought goaltenders into the 99-club. Both goalies and players will now be measured similarly with the same maximum possible value. It meant creating some newer virtual stats that you wouldn’t normally see in a game. It also gave us the opportunity to bring in poke-checks. Free Agency minimum offers and Chemistry re-rates were both modified. AutoGMs now offer draft picks to get out of a tough financial bind. From discussions with Jon Lau and Trevor Cook, we came up with a better way to have AutoGMs valuate players being offered out in those tough financial situations. We have a multitude of bug fixes and hotfixes that were deployed since the last build as well.

Goalies Join the 99-Club
Since the inception of UHS, goalies have only been able to have a maximum skill of 81 as the CH and SH skills were ignored. This was legacy logic when we moved over from HLS2. Goalies will now use the CH and SH skills and we’ll also be tracking three new goalie stats to help with rerates. All pages have been updated to accommodate Goalies have a max of 99 skill, for instance Skill Classes no longer have the goaltender skill option. With the addition of the SH and CH skills to goalies the QK and PC skills have been modified slightly.

Shooting (SH):
– This skill is now the key saving stat for goalies and is compared directly against the Skater’s SH skill.
– This skill will rerate based on the calculated GStrength stat: SavePct * 10 – GAA.
– Existing goalies will have their SH match their PC skills.
– In leagues with skills hidden, this skill is scouted as “Solid”.

Quickness (QK):
– This skill will continue to be a key saving stat for goalies and will be compared directly against the Skater’s PC skill.
– This skill will rerate based on the new Scrambling Save (ScrSv) statistic. Any time the goalie’s QK is equal or higher than the Skater’s PC for the shot, their ScrSv will increment if the goalie makes the save.
– This was done to decouple the SH and QK skills as it felt a bit weird to have two skills rerate based on a single statistic.

Puck Control (PC):
– This skill is now only used to determine Rebound Control and is no longer a key shot/save rating.
– Anytime the goalie succeeds in their PC skill check, the new Rebounds Controlled (RbC) stat will be incremented.
– This skill will rerate directly based on the new RbC statistic.

Checking (CH):
– Goalies will use this skill for poke-checks.
– Poke-checks can only happen if the skater is attempting a Deke goal.
– The chance the goalie even attempts the poke-check is 1% per CH skill as the poke-check is an extremely risky play.
– The chance the pokecheck succeeds is based on the goalie’s CH skill and the skater’s PC skill.
– If the pokecheck fails, the skater will receive a large bonus to score that is increased by their PC skill. Please note that it will still be possible for the goalie to make the save in this case.
– If the pokecheck succeeds, the goalie’s PC skill is used to determine where the puck ends up. Please note that the goalie’s RbC statistic *can* be incremented if they successfully control the puck in this scenario.
– Poke-checks do not count as saves during regulation or overtime / regular play, however, they will count towards making a stop during a Penalty Shot or Shoot-out Attempt.
– All successful poke-checks are now tracked under the Poke-Check (PkCh) statistic.
– This skill will rerate directly based on the new PkCh stat.

Free Agency Minimum Offer Values
Players that linger in free agency typically will stay there as their minimum offers are pretty high. We do have code in to decrease the minimum offers but have changed it slightly. Players on free agency will have their minimum offer drop by 50% at the commencement of the pre-season. In addition to this, their minimum offer will drop by another 50% once the league has changed over to the regular season. If the free agent has missed one or more seasons of Regular Season play, their Minimum Offer will then drop by 75%. This cycle will continue until the player reaches the Salary / Contract Minimum, by default this is $0.1M.

Chemistry Re-Rate Adjustment
Leagues that use Chemistry should be aware that the Chemistry skill was being rerated too quickly towards average (perfect) Chemistry. We have changed the rerate values for chemistry so that shifts toward average / perfect Chemistry happens only half as fast as it does now. Chemistry has also changed from being a 1 decimal value to storing 2 decimals.

Rerate: Not Applicable or Decrease = 0.01 to 0.10 Chemistry shifted towards average (perfect). Previously this was 0.01 to 0.25.
Rerate: No Change or Increase = 0.11 to 0.25 Chemistry shifted towards average (perfect). Previously this was 0.25 to 0.50.

AutoGMs to Offer Draft Picks – Released May 11 2016
AutoGMs will now have an option to offer up draft picks in order to get out of having a negative account balance. Offering up draft picks will not be an option if the team is only above the salary cap. Draft Picks will also not be offered if the league is in its Inaugural season.

Draft pick valuation is determined by the account balances of all teams in the league. If there are more than four teams in the league, the two highest and two lowest account balances are ignored for determining the average. That average is then divided by the total number of teams in the league to get the value of the draft pick in the lowest round. Values of draft picks will increase as the round increases (5th vs. 4th or 3rd or 2nd).

AutoGM “Get Out of Hole” Player Valuation – Released June 14 2016
Thanks to some discussions with the TJHL and a nice post by Trevor, we’ve changed the valuation code for players when the AutoGM needs to get out of the hole (either negative account balance or over the salary cap). The new valuation will be based on the player’s skill and will rise exponentially as we approach 99. Prospects (players under MaxAgeProtected) will have their values doubled. All values will have a random value added or subtracted in order to help hide backwards math to determine player skill for leagues where skills are hidden.

Bug Fixes & Miscellaneous Changes
– Divide by 0 warnings on player profile games for Public Sites should no longer appear.
– Fixed an issue for public websites where players in free agency would not appear on the Career Stats list.
– COMs will now have an option to create 500 players at a time.
– Shots that are deflected will no longer have a chance to be “flubbed” by the original shooter. This resulted in some weird play by play messages.
– Big Hits and Fights were added to the All Players stats page.
– AgrSv was added to the All Goalies stats page.
– Big Hits, Fights, First Goals and Penalty Shot goals have been added to the League Players stats page.
– Aggressive Saves, Scrambling Saves, Rebounds Controlled and Poke-Checks have been added to the League Goalies stats page.

Hot Fixes
– Fixed an issue where players were not being added to the Free Agency list if they were ever involved in RFA Compensation at some point in their career. Released as hotfix on April 2 2016.
– Fixed an issue where projected finances were not calculating the Salaries Paid field correctly. Released as hotfix on April 2 2016.
– All fonts have been changed to Helvetica instead of Verdana or Tahoma. Discovered Tahoma isn’t a web-safe / standard font. Whoops! Released as hotfix on April 5 2016.
– Fixed an issue where trades accepted by the AutoGM were not viewable by all GMs. Released as hotfix on April 6 2016.
– Fixed an issue where other trades were not being properly voided when the AutoGM accepted a trade if they involved the same picks or players. Released as hotfix on April 6 2016.
– Modified the ‘Get-Out-of-Hole’ code for the AutoGM to reduce the dollar valuation for their players by half. Released as hotfix on April 11 2016.
– Added checks to the AutoGM to ignore players from pending free agent bids or waiver claims when determining if an active team player should be sent to the farm. This was allowing the AutoGM to create a multitude of makeweights that were constantly being sent to the farm, however, more makeweights were required to set the team’s game roster. Released as hotfix on April 11 2016.
– Several hotfixes were deployed to get UHS back up and running due to the unplanned server migration (and upgrade) that happened. Released April 15-17 2016.
– Fixed an issue where makeweight creation was not considering defensemen being placed in the “extra” position for the game roster. Released April 17 2016.
– Fixed an issue where other trades were not being properly voided when the AutoGM accepted a trade if they involved the same picks or players (see the hotfix for April 6 2016). This should hopefully fix the same issue. Released as hotfix on April 26 2016
– Fixed an issue where trades to the AutoGM involving draft picks would always be voided with the message “Pick(s) no longer owned by team.” Released as hotfix on May 14 2016.
– Fixed an issue where the Waiver End time was converting the number of Waiver Clear Hours into minutes instead of seconds for behind the scene purposes. Released as hotfix on May 17 2016.
– Released a fix for the AutoGM where the Waiver End time was improperly calculated ONLY for cases where the AutoGM was simply moving a player down due to roster space concerns. Released as hotfix on May 17 2016.
– Added a check to ensure the AutoGM can afford to pay the Waiver Fee before making waiver claims. Released as hotfix on May 17 2016.
– Changed the AutoGM to now make “Get out of trouble” offers once every AutoGM Freq hours instead of every 3 days. This will allow AutoGMs to make more offers depending on the COM’s AutoGMFreq setting. Released as hotfix on May 19 2016.
– Reduced the base valuation of players offered by the AutoGM from $50,000 to $40,000. Released as hotfix on May 19 2016.
– Released code to set the inaugural draft salary for AutoGM picks to be $40,000 * the player’s overall skill. Released as hotfix on May 22 2016.
– Fixed an issue where the AutoGM was not buying out farm players. Released as hotfix on May 22 2016.
– Fixed an issue where the AutoGM was making waiver claims against players using incorrect position comparisons (ie. Goalie OV skill vs. Skater OV skill). Released as hotfix on May 23 2016.
– Fixed an issue where the AutoGM would not consider money received for incoming trades if they had an account balance below $0. Released as hotfix on May 23 2016.
– Fixed an issue where the AutoGM incorrectly valuated both incoming and outgoing draft picks in trades being sent to it. Released as hotfix on May 23 2016.
– Injured or Suspended players will now have a red cross appear on the personnel roster in the COM screens. Released as hotfix on May 23 2016.
– Fixed an issue where injured / suspended players on the AutoGM team would result in other players being incorrectly assigned to the wrong position. Released as hotfix on May 23 2016.
– Updated the AutoGM to no longer poach Restricted Free Agents. These players hang in limbo until compensation has been set and chosen so the AutoGM doesn’t consider them on their team until the RFA process is completed. Released as hotfix on May 25 2016.
– Fixed an issue where players currently in Free Agency would not appear in the Career Stats lists. Fix not released for public websites. Released as hotfix on May 27 2016.
– Updated the AutoGM to now consider all players owned by the team in regards to trading for money. Players that are at MaxAgeProtected are under are valuated higher. Released as hotfix on May 27 2016.
– Fixed an issue where the AutoGM would value draft picks from the final round as zero points. Released as hotfix on May 30 2016.
– Fixed an issue where the AutoGM would also decline / void trades if they were sending out a prospect, even if the other team was sending them one in return. Released as hotfix on May 30 2016.
– Fixed an issue where COMs would see the owner of the draft pick instead of which team’s pick it was on the COM’s Trade confirmation page. Released as hotfix on May 30 2016.
– Fixed an issue where the AutoGM would also decline a trade if they had a negative account balance. The AutoGM will now only decline if they are trading away money. Released on June 3 2016.
– Additional code to evaluate player and draft pick overall value has been added courtesy JonL. This extra check will only run if the trade involves players. Released as hotfix on June 3 2016.
– Fixed an issue where Pick valuation could be slightly undervalued when offering trades to the AutoGM. Released as hotfix on June 13 2016.

UHS Build 9948 Released – April Fool’s Day!

journalismUHS Build 9948 – April 1 2016
April Fool’s Day… no but really… this is a legit build.

This is a relatively smaller build but it’s one that comes with a major piece of functionality that will allow COMs and GMs the opportunity to contribute to the fantasy of their league. Media Articles are basically here to put an end to one of the needs of having forums. I have some further plans for Media Articles but we take baby steps first.

We also added in commentary from the AutoGM on declined trades. It’s nothing huge or robust… just a little something to give you an idea about why the trade was declined.

Media Articles
Leagues now have the opportunity to allow GMs to contribute to the overall fantasy and culture of the league and team by writing media articles. Media articles are typically written in the vein of a local tv station or newspaper covering the team. This also allows the GM to earn extra money for their team.

COMs can modify settings in the Settings > Media Settings section. In here, the COM can set:
– Articles require COM Approval (default) or are automatically approved on GM Submission.
– Minimum Words required to qualify an article to earn money. By default this is set to 300 words.
– Maximum Revenue allowed for each article. By default this is set to $250,000.
– Revenue / Word will set how much money is earned per word (as long as they meet the Minimum Words requirement). By default this is set to $500 / word.

Media Articles will appear on the League home page above the Game Results.

Bug Fixes & Miscellaneous Changes
– The AutoGM will now respond with very basic comments on why the trade was declined. You will know if you’re close to a deal (within 25%) or not.
– Fixed an issue where teams were not allowed to view trades they were not involved in.
– Status messages with excessively long words will now be wrapped so the Commissioner’s Corder, Game Results and League Activity are not squished.
– Users will now be able to Toggle whether the Commissioner’s Corner, Recent Media Articles, Game Results, Recent League Activity and Status Updates are shown.
– Fixed an issue where old draft picks would incorrectly be shown for trades completed by the Commissioner.
– Fixed an issue where Trades completed by the COM would not void other pending trades for the same players / picks.

Hot Fixes
– Fixed an issue where the play by play indicated the Goalie was being put back in the net despite never getting pulled for the extra attacker. Released on February 16 2016.
– Fixed an issue where a team losing by 1 or 2 goals would still pull the goalie if they were killing a penalty. Goalies should never be pulled if the team is on the penalty kill. Released on February 16 2016.
– Fixed an issue there a COM placing a player on waivers would calculate the end time based on days instead of hours. Released on February 24 2016.
– Fixed an issue where players were being released from teams and were placed in free agency, however, the AutoGM would not necessarily see them. Released on February 25 2016.
– Fixed an issue where attempting to relocate a team would result in an error. Released on March 5 2016.
– Fixed an issue where the new Fighting skill was not showing up in the Edit Player screen for COMs. Released on March 14 2016.
– Fixed an issue where Firing a Coach was not applying the league’s Salary Buy-Out Percentage. Released on March 14 2016.
– Added a new Unprotected Player report. The report will only appear for GMs or COMs when they are logged into UHS. Released on March 14 2016.
– Fixed an issue where Teams with a negative account balance could not purchase a $0 medical facility or staff. Released on March 14 2016.
– Fixed an issue where Players would remain protected after being traded, allowing teams to exceed the maximum allowed protected value set by the COM. This fix will be applied to AutoGMs once the build has been released. Released on March 14 2016.
– Fixed an issue where Expansion Teams were not appearing in Priority Lists for Waiver Claims. Released on March 14 2016.
– Fixed an issue where the AutoGM was able to draft underaged players. Released on March 26 2016.
– Fixed an issue where the AutoGM was signing drafted players to $0.125/1 contracts when they should have automatically be signed to the Salary / Contract as set by the Commissioner. Released on March 27 2016.

UHS Build 9758 Released – Major Metric Motherload

A large explosion of confiscated mortar rounds, grenades, guns and other explosive devices set up by Army explosive ordnance disposal technicians on Contingency Operating Base Q-West, Iraq, Dec. 31. The controlled blast, which contained more than 1,500 pounds of explosives, was set off at midnight as a way to ring in the New Year from Iraq.UHS Build 9758 – February 11 2016

Happy birthday, Owen! This is a massive build… it’s so massive that it’s actually the largest build we’ve ever released since we did UHS Dark. It’s the first build of the new year and it took 2.5 months. We actually needed to shut down UHS for hours in order to properly deploy the build and convert all league’s existing savepoints.

The All-Star / World Cup functionality was originally supposed to be the high-light of the build and that did take the majority of the work. All-Star stuff has been overhauled from top to bottom. But that wasn’t all we had in store. We also implemented the AG skill change and introduced the new FI skill. It took a lot less time than we originally thought, so might as well push it through.

The AutoGM got a new piece of code to get them out of financial trouble and the Three-Star determination / selection received a much-needed overhaul. Just when we thought we were good to go, I got ambitious and decided to rewrite the personnel management code to make sure the AutoGM properly manages it’s players.

We also have a new WIKI page if any UHS experts feel like contributing.

New Support Method – Discord
I’m happy to be able to offer another method of getting in touch with us for support or even just general chatting: DISCORD! If you haven’t heard of Discord, it’s a fairly robust chat program that also offers voice capabilities to folks that want it. All you need to do is click this link: https://discord.gg/0mQXA3o55cioiFhW and install the Discord program.

On Discord I’m known as Stone (don’t ask… that’s just my online “persona”). While I do keep the program running, I don’t necessarily keep it open, however, you can get my attention by typing @Stone. If I still don’t respond, I might not be at my computer or have access to my phone, so the best bet then would be to send in a support ticket. I typically won’t be available by VOICE (for reasons), but I will most certainly try to respond in chat.

On the usage of the chat, since this is a fairly public forum we can lay out a bunch of rules but they can best be summarized by saying we follow Wheaton’s Law: Don’t be a jerk! No racism, prejudice, uttering threats and general douchebaggery. We can and will ban folks for abuse.

AG Skill Change
The Aggression skill was a fairly wonky skill. The higher it was, the more of a chance your player was going to get involved in a fight and not be on the ice. So for a highly skilled player, a high AG was bad as it meant he would likely be off the ice more than he’d be on. I feel a skill should be valuable if it’s higher than lower. So it’s time for a change.

Skaters: The AG skill no longer affects fights. Instead, the AG skill gives each skater a chance to change a successful check into a Big Hit. A Big Hit will now provide the team with a little momentum and will also result in the checked player losing extra energy. Big Hits are tracked under the BH statistic and will directly affect how the AG skill rerates for a skater.

Goalies: For goaltenders, the AG skill was pretty much useless since Goalies are not permitted to fight. The AG skill now gives the goaltender a chance to reduce the Scoring Chance by 1%. Saves made with a successful AG skill check will be tracked in the new AgrSv (Aggressive Saves) statistic and will directly affect how the AG skill rerates for the goaltender.

New Fighting Skill
Since the Aggression skill is now going to be focused on Big Hits and giving goalies a better chance at making saves, we needed a new stat that tells us whether a player is prone to fighting. The Fighting skill (abbreviation FI) does that. For existing players, the FI skill will match that of the AG skill. For new players the FI skill be a random 1-9 skill that does NOT count towards the player’s overall skill.

The Fighting skill is simply a measure of how likely a player will engage in a fight, so we made the decision to leave it out of the Player’s Total skill calculation… plus… we like that the total overall skill for a player is 99… adding Fighting to that would have increased that to 108 which feels a bit weird.

The Fighting skill is also not handled by rerates in the same way as the other skills. Fights engaged in at the pro, farm or junior levels all carry the same weight. The skater’s Fighting skill will rerate accordingly… if they have fewer fights last season over the previous season and the ratio meets the threshold, the FI skill will rerate down… it doesn’t matter if the skater is in the Junior, Farm or Pro league: A fight is a fight. Additionally, while other skills are impacted by the amount of time on the ice, the Fighting skill ignores Ice Time for rerate purposes.

All-Stars / World Cup functionality
The All-Star Game link is now gone and changed slightly. There is a new link that only shows up during the Regular Season under League > All-Star / International. This will take you to the new page to manage everything you need for the new All-Star / World Cup functionality.

An additional change you’ll notice is that we’ve pulled out the Add Team code for All-Star teams and placed it into the Manage All-Star screen. You are still able to create / manage your all-star teams, however, you won’t do that with the Add Team section like you would previously. In fact, once you are out of the Off-Season the Add Team functionality will be hidden / disabled since you weren’t able to add Pro, Farm or Junior teams anyway.

When your league has all-star / international games played for a given day, a link will appear on the front page alongside the Pro, Farm, Junior game results link. In fact, the All-Star scores will be the default scores loaded as it is possible to sim international games on the same game day as the other levels in your league.

When creating an all-star team that has the same name as a Country, a logo will automatically be selected for the team using the 44 country flags we have on file. If you want to use your own logo, you can upload a 250×125 sized flag/logo for your all-star team. If no flag can be found the default All-Star flag will be used.

Penalties / Scoring
If you are running a single all-star game for the season, the base scoring chance will be bumped up to 25%. If you are running a tournament, the scoring chance will remain the same as a regular game. Penalty chances for a single all-star game will be 0% (no penalties) and 1% for tournaments (minimal number of penalties).

Goaltender Switching
In a single All-Star game, goalies will switch like they have in the past. The starting goalie will play the 1st and 3rd periods. The backup will play the 2nd period. In Tournaments, the Starting goalie will play all periods but will switch with the backup if the team is down by 3 goals.

All-Star Skills Competition
For single All-Star Games (as opposed to tournament / international level games), we’ve added the results of the All-Star Skills competition. All players participate in each of the competitions, however, only the top 4 for each team are shown.

Fastest Skater Competition: This uses the skater’s QK, SK and FA skills. Thanks to Jon Lau for supplying the base code that was slightly modified to fit UHS’s needs.
Accuracy Competition: This uses the SH, PC and PS skills to determine how many attempts a player needs to hit 4 targets.
Hardest Shot Competition: This uses the player’s SH and PW skills. Thanks to Jon Lau for supplying the base code that was slightly modified to fit UHS’s needs.
Breakaway Competition: This pits all 18 shooters against both goalies using the SH, PC, QK and SK skills.

AutoGM – Personnel Management Re-Write & Code Review
Yes, here we are again, messing around with the AutoGM. We’re going to keep at it until it feels just right. I’ve re-written the Free Agency Poaching, Waiver Poaching and overall player code into one Personnel Management section that will run before we get to set rosters. Once the Draft is over (or PreSeason and beyond), the AutoGM will begin to manage its players. If there are empty spots, it’ll attempt to fill them with existing players first and then hit up Free Agency and Waivers.

The AutoGM will still look at Free Agency and Waivers to see if there are any guys out there that will be good for their team, however, they’ll only do that one at a time.

The Pro Roster and Farm Roster setting code was pretty much gutted to eliminate the extraneous Free Agency and Waivers code. Makeweights WILL be created if the AutoGM lacks enough players to ice a team (less than 20 players) and there are actually still games remaining for the AutoGM to play in during the current Season Stage (PreSeason, Regular Season, Playoffs).

Overall I reviewed the entire AutoGM script with the goal of making it more efficient (less database queries and more optimized code) and smarter by pulling in projected expenses and revenue data. We are also calculating Player Salary Cap hits.

By no means, I don’t think it’s perfect and there will always be room for improvement, so if you notice anything wonky, please report it.

AutoGM – Get Out of Trouble code
I’ve added code to allow the AutoGM to sell off players to get under the Salary Cap or get out of debt (negative bank account value). The AutoGM will select a random player from their Pro Team and make a trade offer to all pro teams for cash.  The value of the player is based on the player’s Total Skill + a random factor. Offers will be valid for up to three days. If the offer is not taken the AutoGM will void ALL offers and make a new one with a new random player if they’re still in debt or over the cap. Offers will not be less than $1 million.

This code will NOT run during the Off-Season. During that period the AutoGM needs to be able to move players around without freaking out about being over the cap and trying to sell off players. This code should only execute during PreSeason, Regular Season and Playoffs.

Three-Star Determination Overhaul
As most of you might know the old Three-Star determination method was to collect all the candidates, those who scored a goal, a game-winner or game-tying, a shut-out, save pct and so on and select the top three from those randomly. This method also tended to heavily favour the goaltenders. We’ve changed this to assign Star Pts based on the player’s performance in that game. The players with the three highest Star Pts will now be your Three Stars.

Players: Goal – 1pt, Assist – 0.75pt, Game-Winning Goal – 0.5pt, Game-Tying Goal – 0.5, Overtime Goal – 0.5pt, Plus-Minus – used for tiebreaking only.
Goalies: Shutout – 1pt, Goal – 1pt, Assist – 0.75pt, Saves (if Shutout) – 1pt / 14 saves, Saves (if no Shutout) – 1pt / 28 saves.

Goalies will be able to get a three-star appearance if they make lots of saves even in games where there are lots of goals…  as long as two or more players don’t have multiple goals/assists. I’ve compared the point-weights to some recent NHL games and have seen that the three-star selections were fairly close to what actually were selected or could have been.

Waiver Clear Days (HOURS!)
We’ve changed the Waiver Clear Days field to now be Waiver Clear Hours to give COMs the ability to fine-tune when players can clear waivers. This field lines up with Free Agency and Contract offer fields which are also in hours. The change will be applied to any new players placed on waivers as we record the clearing time at the moment the player enters waivers.

Junior Goalie Fatigue Injuries
Junior teams will now better manage their goalies so they no longer get fatigue injuries. This doesn’t mean fatigue injuries can’t happen, in fact, goalies can play over their fatigue if they’re the backup and get subbed in because the starting goalie is getting lit up. It’s still possible, just not as likely as it happened in the past.

Wiki Updates
The wiki site is now up and running. We’ve moved our help pages and guides to the wiki and will continue to add more with time.
– Player Characteristics was moved from the UHS site to the Wiki.
– Idle Leagues / Deletion page was moved from the UHS site to the Wiki.
– Inaugural Season Walk-through page was moved from the UHS site to the Wiki.
– added new page for All-Star Games & International Tournaments.
– Updated Player Characteristics with new information for Aggression (AG) and Fighting (FI) skills.
– Added an article on Player Rerates and a step-by-step walk-through of the rerate formula.

Bug Fixes & Miscellaneous Changes
– Links to the Guides & Walkthroughs have been replaced with links to the UHS Wiki: http://wiki.hockeysim.ca.
– Fixed an issue that was causing Debug Output files to be incorrectly formatted.
– Fixed an issue that caused an error to be displayed when deleted All-Star teams.
– Fixed an issue where newly added Status Messages were appearing as -196 seconds ago.
– Fixed an issue where Draft Picks could not be found in Entry Drafts for Season 2 and beyond when using the Make All Picks function.
– Fixed an issue where the Home player’s name would be used in the Live Game Penalty Summary when an Away player received a penalty due to injuring a player.
– Fixed an issue where unplayed games were not appearing on the Schedule page for Public Websites.
– RFA players owned by Teams becoming defunct will now correctly become UFAs.
– 172 Last Names and 41 First Names were added to the player pool from the 2016 World Junior Championships. UHS now has 1260 first names and 5929 last name-country combinations for a total of 7,470,540 name combinations.
– Fixed an issue where the rerate code was a little bit off from the intended calculations / formula.
– The AutoGM will now only send offers to players with expired contracts if their skill is 80% of the team’s highest skilled player. Previously this was set to 75%.
– Fixed an issue where selecting Make All Picks would incorrectly use the serpentine method for entry drafts.
– The Build History is now located under About UHS.
– Made some css tweaks to make the profile of buttons smaller.
– Made some css tweaks to decrease the height of the UHS navigation bar.
– Replaced the UHS Build link in the login panel with the league’s Database Name.
– Fixed an issue where it was possible to make free agent offers to players that were retired.
– The Last Wage column has been removed from the COM view of the Team roster.
– Fixed an issue where the player options were not appearing for Farm or Junior teams in the COM view of the Team Roster.
– Removed the Farm Team: ## text from appearing on the COM view of the Team Roster. This was being used for debugging.
– Added a TOT column to the COM Team Roster to show the total number of players on the team.

Hot Fixes
– Fixed an issue where the AutoGM wouldn’t pull back correct TeamStandings data when performing Player Release functions. Released on November 16 2015.
– Fixed an issue (I think) where the AutoGM was releasing all players. Not sure why this was happening, however, I did see the AutoGM job hanging for one league. I added in some extra code to ensure player/team arrays are fresh for each Release check. Released on November 17 2015.
– Fixed an issue where the AutoGM was not making contract offers to players with expiring contracts. This relates directly to the problem “fixed” on November 17… players were not being offered new contracts so they were all released once free agency began. Released on November 20 2015.
– Fixed an issue where the AutoGM would hang in a very specific set of circumstances (affected only one league) when setting the team’s game roster. This would result in players being bought out incorrectly and also caused game roster errors within the sim engine. Released on November 20 2015.
– Added an additional check for roster positions where the PlayerID is 0. This results in errors when the game is about to be simmed. Released on November 21 2015.
– Fixed an issue where Trades involving other teams were not being voided if the players/picks were being offered to the AutoGM. Released on November 24 2015.
– Fixed an issue where creating unassigned players in a relegation league would result in the players not appearing in Free Agency. Released on November 25 2015.
– Fixed an issue where the AutoGM was not making Entry Draft selections. Released on November 26 2015.
– Fixed an issue where the AutoGM was signing Free Agents and then immediately buy them out. AutoGMs will no longer buy-out players that are on the first year of their contract with the team. Released on November 29 2015.
– Fixed an issue where GMs making a Coach Free Agent offer would receive a message saying they already made an offer in X number of hours even though an offer had not been made. Released on December 3 2015.
– Released code to prevent the AutoGM from running for teams (and their applicable farm teams) if there are games queued. Released on December 14 2015.
– Fixed an issue where Incoming trades could potentially put AutoGMs over the Salary Cap or under the Salary Minimum. Released on December 15 2015.
– Released code to allow AutoGMs from Relegation leagues to make more than 5 Free Agent offers during the Off-Season so that they can fill their rosters. Released on December 31 2015.
– Fixed an issue where clicking the UHS Wiki link would make the Wiki page show in a super short frame. Released on January 14 1016.
– Released code to clean up issues where the AutoGM could crash the Free Agency tables… this resulted in some Free Agents not being able to be signed. Released on January 21 2016.
– Added further checks on SavePoint names to ensure illegal characters can’t be used. Released on January 23 2016.
– Released a change to limit AutoGMs to only look at the top 5 free agent coaches instead of everyone that is better than their current coach. Released on January 26 2016.
– Fixed an issue where the AutoGM could ignore player and pick ownership for incoming trades. Released on January 31 2016.
– Added further limits on the AutoGM and free agency: if the AutoGM’s team salary cannot support even one player at the minimum Salary, the AutoGM won’t bother looking at free agency at all.  Released on January 31 2016.
– When the AutoGM is looking at Free Agency to fill out their team, they will pull back only the top 50 free agents instead of ALL free agents. Released on January 31 2016.
– Fixed an issue where players could remain on their team with a 0-contract if they had ever been an RFA. Released on February 8 2016.
– Fixed an issue where a team claiming a player on waivers resulted in all teams incorrectly paying the waiver fee with no ledger entry. Released on February 9 2016.