NHL Rosters Updated

The 2018-19 NHL season is just around the corner: we’re so very excited to be able to watch the best hockey in the world. With the NHL season nigh, the cataclysmic Karlsson trade kicked us in the pants to go do a NHL Roster update.

We’ve used the amnesiac roster build (for NHL09) and converted their numbers to work with UHS. Players not found in the amnesiac roster were removed, however, they could potentially be added at a later date depending on how the season plays out. One issue with the amnesiac roster is player height-weights are all normalized for optimal NHL09 game-play. Since Height-Weight does play a factor in UHS, I’ve only manually updated NEW players’ height-weight; players already existing from last season will not change.

If you notice any issue with the NHL players, please let us know. We can make a change to the NHL template but to date we do not have a method to update individual leagues that opted to use the NHL template: you will need to import the NHL player(s).

We’ll be looking at making weekly updates to the roster until the regular season starts at which point updates will be done daily.

If you are interested in donating your time to keep our rosters up to date with age, height, weight, and (more importantly) UHS skills/characteristics, please reach out to us.

UHS Build 15129 – Nuts & Bolts

UHS Build 15129  – July 2018
This is primarily a technical upgrade build to reflect the hotfixes that were pushed out since the last build. We did a new Premium feature, Assign All to All-Star Team, which should greatly speed up the population of all-star team rosters for Premium leagues.

The plan is to go back to releasing small builds (like this one) each month as time and health permit. I am planning on doing a full roster update of all NHL teams either in August or September as roster movements should be relatively settled by the time pre-season comes around.

Assign All to All-Star Team
We’ve added a function that will assign the top 12 forwards, 6 defensemen and 2 goaltenders to an all-star team. This button will only be visible if the team has no players assigned to it as it will grab the top 20 players and assign them. This function is available for Premium leagues only.

We’ve also added a Remove All button to quickly remove all assigned players from an All-Star team.

Bug Fixes & Miscellaneous Changes
– Fixed multiple issues re: responsiveness and new site design code.

Hot Fixes
– OMG too many. Thanks for your patience!

 

UHS Build 15010 – Happy Responsive Canada Day!

UHS Build 15010  – June 2018
Huge update! While it may not look like as big of a change from when UHS went ‘dark’, the fact that we’ve touched every single page to make it responsive and made our data queries more efficient means that, even behind-the-scenes, this is a huge change. I’m surprised it ONLY took a little over two months to do. I was envisioning it taking a full year like UHS Dark did. I’m probably going to be taking a break from development for a while; it will give you time to get used to things.

*originally released as build 15003*
With the new build we deployed some new tools to help us identify issue behind the scenes. One of those was a bug for the Goalie Pull Timer (the amount of time remaining in the game before potentially pulling the goalie). Since this bug affects the actual database and not just the scripts, we have to take UHS down to deploy the fix.

It’s Responsive!
Finally we can use UHS on pretty much any device! For a time I was looking at creating an app, however, there were some technical limitations that were going to be a pretty big deal to handle. So, instead, we went with something we were more familiar with, especially since we just made the public sites responsive.

So basically every single page / screen you use in UHS has been redesigned to be “responsive”, which means that it will work on pretty much any device (phone, tablet, pc, etc). We create the page ONCE, not have 3-10 different versions for each device or screen size (that would be a nightmare to design and even maintain).

In some cases on a PC, the page will look a little barebones: this is intentional. When designing for responsiveness, you need to design for the smallest screen and then expand outwards to larger screens. There are a few cases were things are going to look a little crammed for small screens but we think we’ve done a pretty good job at getting things condensed.

Navigation Menu Changes
You will notice that some things have been moved around. We did this to try to group similar items together, which in some cases meant completely destroying an old sub-menu. The biggest changes will be to the COM+ menus: many items from the old Settings menu were redistributed to Manage and a new COM Actions menu was created to handle more of the day-to-day items.

General Menu options: All users will have access to the UHS, News, League and Statistics menus. You will find your account settings at UHS > My Account. General information will be found under League and seasonal statistics can be found under Statistics. We’ve broken out the Schedule, Career Stats, Record Book  options from Stats Central as well as added Awards, Champions, Drafts and Hall of Fame.

COM/Owner options: You will find Play Games (once you are in Pre-Season and have a schedule), COM Actions, Manage and Tools appear after the General Menu options. Under COM Actions you’ll find your typical day-to-day activity tools and lookups. This is where you’ll conduct your draft, assign awards and perform roster validations. Manage is more meant to be an area where you manage your league’s players, account, coaches, logos, teams, etc. This is also where the Settings sub-menu can be found. Tools are more functional pages like Advance Season, Game Deletion, Reset League and Save Points.

GM options: all your options will appear after the General Menu options under the Team sub-menu. From here you will be find anything and everything for your team: Drafts, Finances, Media, Personnel, Rosters, Stats and Trade Central.

Account TimeZones
UHS now uses the standardized timezones that are available in PHP. As a result of this change all timezones have been defaulted back to America/Los_Angeles. If you are in a different timezone, you will need to update it once you have logged in.

Image result for entry draftThe Draft
One of the larger changes you’ll notice is the Draft page. For COMs this is found at COM Actions > Draft > Conduct Draft.  For GMs this is found at Team > Draft > Entry Draft (yes, even for inaugural drafts). We’ve implemented some ajax into the page so once the draft is running it will automatically update every time a draft pick is selected. When it’s your pick you’ll be presented with selection options.

The page will also show the last 10 selections. This is intentional to keep the data load small for each automatic refresh. If you need to see a full list of who was selected you can find that in Statistics > Drafts.

Autoset Draft Order
The draft order for Season 2+ will now be automatically set based on the previous season. The Championship team will pick last. Playoff teams will then be ranked in order of their regular season standings. The remaining non-playoff teams will then also be ranked in order of their regular season standings with the worst team picking first. COMs can change the order afterwards if they so desire.

Player Actions
Most folks will notice pretty much right away that their Personnel page no longer contains the list of possible actions for each player. This also applies to COMs’ manage team pages. You will now need to go view the player’s or coach’s profile in order to do an action with them (movements, contract offers, etc). The reason for this is pretty simple: We couldn’t fit all the necessary information on the screen due to responsiveness.

All-Star Skills Competition Changes
We made a few minor changes to two competitions:
– The Accuracy shooting competition now has players shooting to hit 10 targets instead of 4.
– The Hardest Slapshot competition now has a maximum of 110mph (previously it was 106). The NHL hardest shot record is 108.5, so we thought we’d like to go a little above that and see how things shook out.

Lawyer Usage Changes
Lawyers are now an unlimited use option for GMs. Each time the GM uses the lawyer they will be charged the Appeal Fee regardless of whether it is successful or not. If an appeal is successful, the player’s suspension will be halved (rounded down). The team can make repeated attempts (and pay the fees) to completely clear out a player’s suspension.

Default Lawyer Settings
We’ve changed the default settings a bit to make lawyers more affordable. Overall, fees will be going up, however, purchase prices and maintenance fees for the higher end lawyers will be going down. These changes only affect new leagues or leagues being reset. The changes are:
– Student: Fee increased to $100k (from $50k).
– Assistant: Fee increased to $400k (from $100k).
– Paralegals: They’ve all been fired! This option is gone!
– Solicitor: Cost decreased to $9m (from $15m), Maintenance decreased to $2.25m (from $4m), Fee increased to $900k (from $250k).
– Partner: Cost decreased to $16m (from $25m), Maintenance decreased to $4m (from $8m), Fee increased to $1.6m (from $500k).
– Law Firm: Cost decreased to $25m (from $50m), Maintenance decreased to $6.25m (from $50m), Fee increased to $2.5m (from $1m).

Medical ChangesImage result for hospital
We’re bringing Medical in line with how Lawyers are set up, in fact, they use the same options by default, just with different names than their Lawyer counterparts. The biggest change you’ll notice here is that we’re no longer doing Medical Staff and Facilities as separate options. Instead you will pick your practitioner and use your Medical staff the same as you would your lawyer. Each time your medical check is successful, the player’s games missed due to injury is reduced by half (rounded down).

Default Medical Settings
With the removal of medical facilities, we’ve used some of the names we used to have for medical staff. The default options are (Name, Cost, Maint / season, Fees / use, chance of success:
– Student ($1m, $0.25m/s, $100k, 10%)
– Intern ($4m, $1m/s, $400k, 25%)
– Nurse ($9m, $2.25m/s, $900k, 50%)
– Doctor ($16m, $4m/s, $1.6m, 75%)
– EMH ($25m, $6.25m/s, $2.5m, 100%)

Image result for timezonesTimeZones
All users’ timezones have been changed back to Pacific time as we are using a new method of timezone handling for user accounts. By default all accounts are created with America/Los_Angeles selected as their timezone. You can change this in your account page.

Height “Rerates”
Young players will now have a chance to grow. Players aged 16 to 20 will have a chance to increase their height at the end of a season when their skills rerate. At age 16, players will have a 50% chance to grow an inch (they also have a chance to grow 2 or even 3 inches). Players aged 17 to 20 will have a steadily decreasing chance to grow an inch.

UHS IM Disabled
The UHS IM has been removed for various reasons. We could, in the future, implement a private messaging system, however, we need to tread carefully to ensure that we are GDPR compliant and determine how that impacts the rest of the site.

Bug Fixes & Miscellaneous Changes
– PubSites – Standings fixed columns (the team names) will no longer be fixed. This is an issue with dataTables. Once they fix the extra scrollbar problem, we will re-implement fixed columns on league standings.
– Makeweight Creation – GMs are no longer able to create makeweights. If a GM needs a player they will be able to get a Makeweight (if desired) from the COM or Owner.
– Marketing bonus revenue is now always double the revenue earned for that game.
– Career Injuries are now a toggle instead of a variable number. When enabled there will be a 1 in 1000 chance that an injury will be ‘career ending’. By default this is enabled for all leagues.
– The Mercy Effect has been removed from the game. Teams will play full tilt regardless of the goal differential. I may put this back in at a future date but it will be more of tweak to performance vs. a toggled setting.
– Scouting settings have been moved into the Draft settings page. You will be able to Manage Scouting options in the manage menu (like Lawyers, Players, Coaches, etc).
– AutoGMs will now be processed in the league’s Entry Draft Order instead of randomly. For Season 1 Off-Season the order will be swapped back and forth depending on the state of the league’s inaugural draft. Overall, AutoGM draft selections should happen much faster (1 round / minute).
– Makeweight creation will now create Forwards instead of Centers or Wingers.
– A bunch of reports have been moved from being COM only to the League > Reports sub-menu.
– Teams now have most of their public data available in a League > Teams sub-menu that very closely mimics the version that is available through Public Sites.
– Most tables that would need sortable columns now have dataTables implemented. If there is a table of information you would like to be able to sort, please let us know and we’ll see if we can use dataTables for it.

Hot Fixes
– Users can now delete their own accounts. Released as hotfix on May 18 2018.
– League Owners can now delete their leagues. Released as hotfix on May 18 2018.
– Fixed an issue where Away Teams winning by Shoot-outs were not getting their SOW stat incremented correctly. Released as hotfix on Jun 6 2018.
– Fixed an issue where some leagues could not have medal games (Bronze, Silver/Gold) created. Released as hotfix on Jun 23 2018.

UHS Build 12529 – Does Copying Leagues Violate the GDPR?

UHS Build 12529 – May 2018
It’s been a bit since the last build release. This one required a lot of work around savepoint management as we needed to be able to make a full copy / backup of a league before allowing you to actually copy another person’s league. That’s right, you can now copy another person’s league (with their permission, of course). We also had to update the site to be GDPR compliant. That was fun. We’ve also added Pro Team Rivalries, assigning players to a team on creation and allowing you to supply a list of names for player creation.

GDPR & Email Changes
The EU’s deadline for GDPR compliance is May 25 and is approaching quickly. We’ve made some changes to comply with the new regulations concerning information and email governance and control.

– All accounts will be automatically set to require users to either opt in or opt out of system emails. You will not be able to use UHS until this is done.
– You must agree to receive emails from UHS otherwise you will not receive Trade Notification emails even if you opted in to those.
– Users will be able to delete their Real Name and Email from the system in the Account Preferences section.
– If you delete your email and then forget your password, your account is going to be irrecoverable. I highly recommend you do not do this.

League Idle Warnings
The danger here is that with the new GDPR regulations, we potentially have a scenario where all users have opted out of receiving system emails, so no one will receive the automatically generated League Idle Warning email. Leagues will still be deleted regardless of whether anyone has opted in to receive such warning emails or not.

New Account Creation Changes
Due to the GDPR compliance changes, all new accounts will no longer automatically email the user their username and password. Instead, the user that creates the account, typically the Owner or COM in the case of GM accounts (or GMs in the case of creating Assistant GM accounts), will now be shown a username and automatically generated password that they must give the new user personally.

The new user can then log in, set their email preferences and change their password as desired.

League Copying
Premium Leagues that have a paid subscription (ie. not Trial Premium leagues) have the ability to allow any other league (Premium or not) to make a copy of it. A code will be generated by the origin league to be used in the new Tools > Copy Code page.

When creating the code, the owner has the option of it being just a base copy or a full copy that includes statistics and league history. With just a base copy, the destination league (the league using and entering the code) will be reset back to Season 1 Off-Season, however, with a full copy, the destination league will start off at whatever stage the origin league is at, complete with any games already played.

A code may only be used once and will expire after 24 hours if not used.

Copying a league will not copy the league’s Premium status, nor will it copy the origin’s member information (that would be a pretty big privacy issue right there). Other than that, all data will be copied, including the origin league’s player faces.

As with all data handling, we highly recommend creating a SavePoint before using a CopyCode.

Save Point Changes
We changed some things behind the scenes as it was necessary to allow League Copying to get developed. When creating a SavePoint, your league’s player faces will be included in the SavePoint file. When loading a different SavePoint, the current face files will be deleted and replaced with the face files from the SavePoint being loaded. Additionally, when performing a League Reset, all face files will be deleted.

Face files cannot be recovered once deleted, so keeping them backed up through SavePoints will be more important than ever.

Additionally, all SavePoints will now be compressed to help save us disk space on the server. Testing has shown there is a marginal increase in SavePoint saving & loading, so you really shouldn’t notice anything drastic.

Team Rivals
Leagues can now set rivalries between teams. There is no impact on player performance, however, it does trigger an automatically successful bonus marketing revenue check. If either team is a rival of the other, the home team will receive extra money from the Bonus Marketing category.

Rivalries are only applicable to pro teams. During the Off-Season, the COM can edit a pro team to select another pro team it has a rivalry with. Marketing percentages can be modified in the Settings -> Game Settings page.

Assigning Created Players to Teams
When creating players, COMs will now be able to select which UHS Team the created player will get assigned to. There are some things you should keep in mind when selecting a team for assignment:

– Salaries / Contracts will use the League’s Minimum Salary & Contract unless you are using the NHL Player / Team import. NHL Players assigned to teams will use pre-generated salaries at a 1-year contract.
– Creating mass amount of players will not check the player type and team assignment. It will be possible to create 50 junior players and assign them to a pro team.

List of Names for Player Creation
We’ve rearranged the Add Players tools temporarily (until we go do a full site re-design), adding a new option to mass player creation: List of Names. You can now supply a list of player names and, optionally, their countries of origin when creating 10, 25, 50, 100, 250, or 500 players. The list will be used in the order that you have supplied and once it has run out, random names and countries will be selected (as usual) for the remainder of player creation.

All entries must be separated by a semi-colon. For example: Sydney Crosby, Canada; Alex Ovechkin, Russia;

If you opt to not supply a country, you can do both Sydney Crosby; Alex Ovechkin, ;  Both formats are acceptable.

Bug Fixes & Miscellaneous Changes
– Compare Teams will now have an additional “Overall” category at the bottom of the comparisons.

Hot Fixes
– Fixed an issue where player skill classes were not always being modified when a player was being trained. Hotfix: Jan.29 2018.
– Fixed an issue where some new leagues were not being created with the goaltender timer and differential settings. Hotfix: Feb.1 2018.
– Fixed an issue where Auto-setting a shoot-out list was resulting in errors. Hotfix: Feb.4 2018.
– Updated the AutoGM trade logic to make unusable players detract from the value of the trade. Hotfix: Feb.20 2018.
– Fixed an issue where the Leadership Bonus was being based on the pro team’s maximum games played instead of their current games played. Hotfix: Mar.3 2018.
– Fixed an issue where the Leadership Bonus was only being applied to players that played 50% of the pro team’s maximum games played instead of 25%. Player must still be considered “pro”, having more pro games than farm or junior. Hotfix: Mar.3 2018.
– Fixed an issue where Tournament-style All-Star schedules would stop being created after the round of 8. Hotfix: Mar.16 2018.
– Fixed an issue where the COM’s Ticket Price alert was directing leagues to our test system. Hotfix: Apr.11 2018.
– Fixed an issue where unassigned junior players were being placed in free agency in standard leagues. This issue resulted in system slow downs. Free Agents may only be 21+ in standard leagues.  Hotfix: Apr.12 2018.
– Junior teams will no longer automatically create replacement players to fill incomplete rosters if the league is still in the Off-Season. Once the league advances to the Pre-Season (and beyond), junior team rosters will be set and players created if necessary. Hotfix: Apr.15 2018.
– Fixed an issue where deleting a lawyer option would instead delete a corresponding medical facility. Hotfix: Apr.27 2018.
– Fixed an issue affecting some leagues saving scouting cost options. Hotfix: Apr.27 2018.

UHS Build 12374 Deployed – Coach Updates & Old School Playoffs

UHS Build 12374 – January 2018
I hope your 2018 has started out well! Welcome to the first build release of the year. With BlizzCon and the holiday season we got a bit busy to add new developments to the system and were instead focused on keeping NHL rosters updated daily and putting out bug fixes where needed.

This build focuses mainly on adding in some extra Coach functionality (Losing the Room, Age Rerates, Permission Request limits) and a new Playoff Option: new Two-Game Total-Goal series. We’ve modified the MoveTeam functionality so that Pro, Farm and Junior teams can be moved individually instead having it go only through the Pro team.

Image result for old school hockeyTwo-Game Total-Goals Playoff Series
We have built in the very old school 2-games Total-Goals series: you know, the ones the NHL used pre-Original Six. Selecting this series length will create a home-and-home series where the “home-ice advantage” team will be playing at home first. The visiting team in Game 1 will be the home team for Game 2.

These are the only playoff games that can end in a tie. At the end of Game 2, if the SERIES / AGGREGATE score is tied, we will use whatever OT method the COM has set to decide the series.

Coach Age Rerates
Coaches will now rerate based on the number of seasons they have coached in leagues that are using Age-Rerates. All coaches have a base rerate chance of 20% to increase and 20% to decrease. For each season they coach in (during the regular season), they will get a +1% to their increase chance and +0.20% to their decrease chance. The percentages are applied against each skill individually.

Image result for hockey coach rageCoaches “Losing the Room”
We have added in checks to see if a coach will “lose the room”. For some reason or another a coach can yell and scream, reward and incentivize as much as they want: the players just do not respond. The coach is dead in the water.

In UHS, we are going to look at losing streaks. Specifically Regulation Losses. OT and Shoot-out Losses will not count to the losing streak check when the coach loses the room. For every loss past their 5th-in-a-row, there is a 5% chance the coach will lose the room.  A team that is on a 10-game losing streak will have a 25% chance for the coach to lose the room.

When losing the room, the coach is simply marked as “Disgruntled”. You can no longer re-sign him (except once he’s back on free agency), he provides negative modifiers to player skills during games and will provide a pretty severe rerate penalty (age rerate leagues only) for all players on that team. Once they’ve lost the room, you need to buy them out and find someone new.

Only games in the current regular season and only for the team the coach is currently coaching will be checked. Losses while coaching other teams in the same regular season will not count at all.

Farm Coach Permission Requests
Teams will now have a limited number of Permission Requests to use on Farm Coaches through-out a season. By default, GMs will have 3 permission requests to use during the season. Once the league changes from Play-Offs to Off-Season, the number of permission requests will be reset back to 0.

AutoGM Prospect Training
AutoGMs will now train their junior prospects provided the league allows training. Player skills are weighted in favour of scoring related characteristics. A random characteristic will be chosen and the highest overall skilled player that isn’t already maxed out for that characteristic will be selected for training for that particular point. AutoGMs will also cheat by being allowed to train a player for a given characteristic more than once in a season.

Play-Off Over-Time Options
Going forward, Leagues will no longer be able to have playoff games end in a tie. The options for “Sudden Death OT – 1 period then tie” and “No OT or Shoot-Out” have been removed. Any league that had these options selected will be defaulted to the “Sudden Death OT – 1st goal wins” option.

2-Game Total Series are the exception to this rule as games can end in a Tie. OT for these types of series will only happen in Game 2 and only if the aggregate score is tied.

Move Team Changes
COMs will now have the Move Team option for all Pro, Farm and Junior teams. COMs will need to move the Pro and Farm team separately, one after the other, the order of the move does not matter.

The “Move Arena” option previously included in the move functionality has been removed and needs to be handled as a separate action by the COM.

There will be an option to charge the Pro team a moving cost if the moving team is either Pro or Farm.

Disgruntled Coaches & Rerate Penalties (Hotfix: Jan.17 2018)
Having a disgruntled coach will now apply a -50% penalty for rerates for Age Rerate Leagues only. The penalty is applied to the Increase % to bring it to 0%. Anything remaining from the penalty is then applied to the Decrease % to raise it.

Previously, the only penalty for keeping a disgruntled coach on your farm team was a severe penalty to game performances, which is REALLY bad for Stat Rerate Leagues but pretty much meaningless for Age Rerate Leagues.

Bug Fixes & Miscellaneous Changes
– Fixed an issue where Deflected Shots on goal could also result in a “whiffed” shot, creating an awkward play-by-play situation.
– Public Sites: Team Names in the League Finances & Power pages will now link to the Team’s Home Page.
– Public Sites: Added responsiveness to Championship Series results. Teams in this will also now link to the Team’s Home Page.
– Public Sites: New “Cups” option in the Record Book to show number of Championships a team has won.
– Public Sites: the schedule page will no longer show games that are Not Needed from playoff series.

Hot Fixes
– Fixed an issue where new offers could sometimes not be allowed for other team’s farm coaches. Hotfix: Oct.13 2017.
– Fixed an issue where the presence of All-Star teams were preventing Relegation Leagues from advancing past the Off-Season. Hotfix: Oct.26 2017.
– Fixed an issue where OTW, OTL, SOW and SOL were not being considered when updating a Team’s streak in Live Games. Hotfix: Nov.15 2017.
– Fixed an issue where players having played no games would be considered pro and have the leadership bonus applied to their Rerate Increase change (default Age rerate system only) and ignored the 50% pro GP rule. Thanks for pointing this out David. :)  Hotfix: Dec.22 2017.
– Fixed an issue where players with maximum rating in a skill (9) could rerate down even though they were supposed to rerate up. Applied to Age-Rerate leagues only. Hotfix: Jan.1 2018.
– Fixed an issue where future team draft picks were not being created for Season + 3. Hotfix: Jan.1 2018.
– Fixed an issue where GMs would have an option to move players to the Juniors even if they were beyond the Farm Skill threshold. Hotfix: Jan.5 2018.
– Fixed an issue where coach ownership was not being transferred to the new team when a team was moving. Hotfix: Jan.5 2018.
– Fixed an issue where the *FARM* text tag was not appearing for Farm Coaches under Available Coaches. Hotfix: Jan.17 2018.
– Fixed an issue where the incorrect message was being displayed for a coach’s scouting report when logged into UHS. Hotfix: Jan.18 2018.
– Fixed an issue where a player signed as a RFA was showing the old team name when the old team accepted compensation. Hotfix: Jan.19 2018.

UHS Build 12261 – Goalies Be Shakin’ in the Dark

We add two new features to the system with this build: Team Shake-ups and Goalie Empty-Net controls. We’ve also fully completed making the Public Site responsive, meaning you should be able to view your league’s public site on any device or screen size. The site is made for mobile first and expands outwards from there.

We’ve made a number of changes to the css styling of the public site, so if things look wrong, the best thing to do is to hit CTRL-F5 to force a full refresh. If that doesn’t work you can try clearing your browser’s cache. After that, let us know. You may have found a bug we missed in testing.

Our focus will likely be on making the regular UHS site fully responsive. I will tell you that will be a very big task and likely take up to 5 or 6 months. It would probably take us longer but we have learned a lot from converting the Public Site to being responsive.

Also: HOCKEY IS BACK!!!

Team Shake-Ups
When firing a coach, the GM has the option to shake-up that team’s players. This option is available only once per season for that particular team (Pro or Farm). Essentially the GM will have the option to perform two shake-ups in a season: once for each the Pro and Farm teams. This option is ONLY available if the GM is firing a coach; you would not have the option to shakeup your Farm team if you promote your Farm coach to the Pro team, however, you would have the option to shakeup your Pro team since you are firing the Pro coach.

When a shakeup is allowed, the players on that team have their Streaks recalculated randomly. The chances are: 40% Hot streak (3 – 9 games), 10% Cold streak (1 – 5 games), 50% No streak. The new streak overrides whatever streak the player is currently on. For example a player that is already on a Hot streak could still get a new Hot streak but won’t get the games added on and it’s also certainly possible that a player on a Hot streak could suddenly find themselves with no streak or on a Cold streak.

Goalie Empty-Net / Extra Attacker Settings
GMs now have the ability to modify their team’s empty-net / extra attacker settings. You will be able to modify the goal difference your team is losing by as well the time remaining in the game. The goal difference will be 0 – 3 goals, with 2 being the default. Setting the goal difference to 0 will prevent your goalie from being pulled at all.

The time options are in increments of 15 seconds, with the default being 1m 30s (90 seconds) left in the game. You can set this up to a maximum of 3 minutes (180 seconds). If the goal difference is set to 0, it won’t matter what the time option is set to: your goalie will not be pulled.

Public Site Team Pages
All Public Site Team Pages have been updated to be responsive (ie. The data on the page should look good regardless of media device or screen size.) These pages were not fully optimized for responsiveness when the new Public Sites went live. If you are seeing any issues with your Public Site, please let us know.

Public Sites Go Dark
We now have a “Dark Theme” for public sites. To enable, simply go to your public site, go to the UHS navigation menu, click “Go Dark”. Once you’re in Dark Mode you can re-enable the default light theme by navigating to the same location and click “Go Light”.

Public Site Live Games
The Live Games show on Public Sites should now be fully responsive (meaning you should be able to watch them reasonably well on any device). We’ve updated the page to add the teams’ logos and made sure the Live Game mode looks reasonably decent with the Dark Theme.

Player Profile Age Rerate Fix – Hotfix: Oct.1 2017
We’ve updated the player profile’s rerate information (for age-based rerates only) to now show the player’s rerate percentages based on their current age and the current progress of the team through the current regular season.

The values were actually showing their rerate values as if they were a year younger. Additionally the leadership bonus was based on when the team played half their regular season games, so effectively the leadership bonus would be 0% until the pro team played half the season. The leadership bonus will now apply at all times and is a PROJECTION based on players that have played at least half the team’s current regular season games. Reminder: the Leadership Bonus is only applied to players marked as Pro (played more Pro games than Farm + Junior).

NHL Players w/ Injuries – Hotfix: Sept.24 2017
We’ve changed how UHS handles NHL players with injuries. Previously, we simply removed the player from the team and had them placed in free agency, however, this meant any team could then pick them up, despite being injured.

We will now keep the player on the team but have them set to be injured for 99 games. Once the real team takes the player off the injured reserve list (again, going by the data on CapFriendly.com), we’ll unset the injury. If you want to use the player anyway, you can still go in and edit their injured games back to 0.

This change takes effect for new leagues or leagues importing NHL Teams w/ players or leagues importing NHL Players individually. It will not change the injury status of NHL Players that already exist in your league.

Bug Fixes & Miscellaneous Changes
– Team Names and Logos will now link to that team’s Home Page for Public Sites.
– Public Site League Standings now show less information on small screen sizes.
– Fixed an issue where Team logos were not appearing for the League – Special Teams statistics page for some leagues.
– Fixed an issue where Games Results in public sites were showing OT goals despite the game being decided by a shootout.

Hot Fixes
– Changes were made to Public Site’s Team Personnel pages to prevent columns from being hidden underneath the Social section on the right side. These changes include: removing the Status column, changing the Jersey header name to #, and moving the Total / OV column to appear at the beginning of the player’s characteristics block. Hotfix: Sept.19 2017.
– Fixed an issue where the Home, Away and Last-10 records were not summing properly. OTW & SOW will count as Wins, OTL & SOL will count as Losses in these columns. Hotfix: Sept.26 2017.
– Fixed an issue where COMs could not import NHL players when creating / importing NHL Teams. Hotfix: Oct.4 2017.

NHL Player Injury Hotfix – Sept.24 2017

We’ve changed how UHS handles NHL players with injuries. Previously, we simply removed the player from the team and had them placed in free agency, however, this meant any team could then pick them up, despite being injured.

We will now keep the player on the team but have them set to be injured for 99 games. Once the real team takes the player off the injured reserve list (again, going by the data on CapFriendly.com), we’ll unset the injury. If you want to use the player anyway, you can still go in and edit their injured games back to 0.

This change takes effect for new leagues or leagues importing NHL Teams w/ players or leagues importing NHL Players individually. It will not change the injury status of NHL Players that already exist in your league.

UHS Build 12101 – Show Me the MONEY!

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.

Rookie Determination
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.

Hot Fixes
– 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.

Relegation League Roster Changes (Hotfix: August 2 2017)

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

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.