December 2nd, 2014 by


UHS Build 7468 – December 2 2014
It’s been a full two months since our last Build Release. This build does not focus on any one aspect of UHS, instead, it has a smattering of developments that should help out most people. The major changes include: Chemistry Unhidden, Game Deletions, Defenseman Scoring Adjustments, Time Zones that actually work as well as some adjustments to the AutoGM trade logic.

Chemistry Unhidden (sort of) + Rerate Updates
For leagues that allow skills to be shown, Chemistry will now be shown on the player’s profile, team’s personnel pages and COM’s team rosters. Skills Hidden leagues will continue to have Chemistry completely hidden.

Chemistry changes from a 1.0 – 10.0 range to 1.00 to 9.99 range. Any player with a Chemistry value of 10.0 will be immediately changed to 9.99.

Chemistry will rerate only if your league has rerates enabled and will use new rules (previously Chemistry was rerated based on average chemistry for team). All players will now rerate towards 5.5. While 5.5 can be considered “perfect” Chemistry, values anywhere in the 4.0 to 7.0 range will likely provide Chemistry bonuses for players on the same line.

When rerating, if a player has a Not Applicable or Decrease rerate, their Chemistry will rerate by a random value between 0.01 and 0.24. If the player has a No Change or Increase rerate, their Chemistry will rerate by a random value between 0.25 and 0.50.

Defensemen Scoring
In some leagues D-men lead the league in goal scoring, in others it’s all Forwards. Such is the way of RNG. However, there is a tendancy for D-men to score a little too much. As such I’ve added a buff to the Tip chance when a D-man (or rather someone placed in the Defense position) takes a shot on goal. The Tip Chance will increase by 25% when a D-man is taking a shot.

Finally, we’ve added consideration for timezones. The underlying code was always there… it just never really worked. I’ve gone through all the date/times that are shown to COMs and GMs and have added whatever timezone is applicable to the user.

In order to set your timezone, log into UHS and click your username at the top-right of the screen. You will see the options available for setting the number of hours your timezone is off of Pacific Time (server time). There are two timestamps (one the server time and one your new timezone) for you to use to make sure you’ve entered the correct offset. Please keep in mind the offset is in whole hours.

Game Deletions
Commissioners now have the ability to delete previously played games from UHS. This tool should only be used if absolutely necessary. Before using the tool, please make a SavePoint… things may not turn out as you (we) expected.

Games being deleted must meet the following criteria:
– Be in the current Season.
– Be in the current Season Type (Pre-Season, Regular Season, Playoff).
– Must be played in Build 7468 (this build) or higher. Games from previous builds cannot be deleted.

Team, Player, Goalie and Coach statistics from the selected game will be completely reversed from UHS. There are some key points to consider:
– Injuries and Suspensions will not be affected. If a player was hurt, the COM will need to manually update the player.
– Team Win/Loss streak RECORDS will not be updated.

Farm League Toggle
There is a new Farm League Enabled setting in the General Settings for your league. You can now disable having a Farm League… please note this will also disable Waivers. By default Farm Leagues are enabled.

Players on Deactivated/Deleted Junior Teams
Going forward players on Junior Teams being either Deactivated or Deleted will no longer have their ownership rights removed. Instead, they will be moved to a random active Junior Team. This is being done to ensure Junior Players remain on a visible team. Junior Players should not be in “Free Agency” until they are 21 or there are no active Junior teams available for placement.

For Commissioners that want to control where the junior players end up, you should manually move each player to their new team before deactivating or deleting their current team.

Simming an Off Day
Commissioners now have the ability to Sim an Off Day. This will simply decrease the number of Injury Games and Suspension Games by 1 for all players in the league.

When there are no players on waivers a message will now be shown instead of an empty table.

AutoGM Trading
The AutoGM weighting has been removed from the code where the AutoGM initiates a trade. It should be more likely now to see AutoGMs trading with each other.

Stats Central
The PlayOff Tree will now be the default stat view loaded when the league is in the Playoffs.
Games appearing in the Schedule area will no longer have an Instant Replay link if they have not been played or if they are Not Needed.

Retirement Outputs
The activity output for player retirements will now show the player’s age or “NA” if the age cannot be found.

Coaches and the Cup
Coaches will now have their Cups shown on their profile. Previously Cup victories for coaches were not being recorded.

NHL Only option
I’ve added an NHL only option for New Leagues and for Commissioners resetting their league. Previously, the NHL option added all NHL, AHL, and OHL teams.

All Pro Teams to AutoGM button
Commissioners will now have an option to change all Active Pro teams to be managed by the AutoGM. Doing so will remove the access for any assigned human GMs for those teams.

Bug Fixes
- Fixed an issue where saving the Entry Draft settings would result in errors appearing on the screen.
– Fixed an issue where the Manual GM trade weight was being applied to trades offered by the AutoGM.
– Fixed an issue where AutoGMs might not switch out their goalies, resulting in unnecessary fatigue injuries.
– Fixed an issue where the roll for Lawyer suspension appeals was being printed to the screen.
– Unused Draft Picks from previous seasons will no longer appear in the Team Draft Picks page.
– Fixed an issue where the actual Last Rerate values were not being shown despite the league having Skills Shown.

Hot Fixes
- Fixed back-end code to remove some restrictions on players being moved to the juniors. Released October 2 2014.
– Fixed an issue where juniors having played games in other seasons were not be allowed back to the Pro or Farm team. Released October 7 2014.
– Fixed an issue where the Makeweight Creation button would not show up even if the team was below the minimum number of players for each position. Released October 9 2014.
– Fixed an issue where AutoGMs were timing out when the AutoGM trade frequency was set to 0. Going forward if the AutoGM Trade Frequency is set to 0, AutoGMs will no longer initiate trades. Released October 29 2014.
– Fixed an issue where suspended players would not have an Activity line inserted if the player they injured had an apostraphe in their name. Released on November 3 2014.
– Fixed an issue where players with less than 10 GP in the previous season were getting random farm rerates (UP and down) despite there being a farm schedule played. This should have resulted in the player randomly rerating DOWN only. Released as hotfix on November 27 2014.
– Fixed an issue where the Rookie GP Pct setting was always being set to 0. Released as hotfix on November 28 2014.
– Fixed an issue where Prospect Scouting reports were not being completed despite the team being charged. Released as hotfix on November 28 2014.

October 2nd, 2014 by

hatcherUHS Build 7250 – October 2 2014
Build number wise this doesn’t appear to be a big build… but it does have some fairly big changes… primarily focused around the juniors. We are changing how UHS handles junior players as we want the simulator to be more in line with the relationship between the NHL and CHL (juniors). These new rules will take effect immediately.

Additionally, we’ve added a toggle for injuries/suspensions for junior leagues only and have also updated our Waivers rules to reflect the real world (ie. players must clear waivers before being allowed to be traded).

New Junior Age Rules / Limitations
In order to be inline with how the CHL and NHL work, the following rules are now in place for all junior players:
– Players aged 15 – 20 are now considered “Junior” and are allowed to play for a junior team.
– Players aged 18 – 20 are eligible to play for the pro or farm club of whatever team owns their rights.
– Players aged 18 – 20 may be moved to their former Junior Team at any point of the season.
– Players aged 18 – 20 may be moved to the pro or farm club at any point of the season with the following exception:
– Players that are on the Junior Team and have already played a game on the Pro or Farm team in this season may not be moved back up to the Pro or Farm… basically if they have played any Pro/Farm games during the Regular Season or Playoffs and are moved back to the Junior Team, they may not be moved back up.
– At age 21 undrafted Junior players will become Free Agents.

Junior Injury / Suspension Toggle
Speaking of the Juniors, we’ve added a new toggle to disable injuries and suspensions from the junior leagues. If you have enabled Injuries/Suspensions for the league overall, you can now disable it for the Juniors only.

Waivers & Trades
We’ve updated the code to remove players on waivers from being offered up in trades. Additionally, when placing a player on waivers any open transactions involving the player will become void. This is to reflect the current rules surrounding Waivers & Trades in the NHL. Once the player has cleared waivers they will then be eligible for new trade offers.

Bug Fixes

Hot Fixes
- Fixed an issue where salaries were being incorrectly changed to dollars instead of comparing at millions. This resulted in the AutoGM always declining trades. Released Sept.16.2014.

September 7th, 2014 by

martin-st-louisUHS Build 7221 – September 7 2014
It’s been exactly a month since our last release. This build focused a lot on the AutoGM logic… to reduce some of the restrictions on the trade logic, re-write the free agency logic and basically review everything in the script since there seemed to be something causing an infinite loop (I suspect it was the use of a critical variable in different parts of the code).

I’ve also added in Lawyers (something else to spend your money on), added a setting for Trade Notification emails, added a setting to allow Forwards to play in Defense positions, changed the cosmetics of the Upcoming Games section for your team as well as added the opponent’s record, and finally Player Trade Requests.

For Player Trade Requests, I believe it should cause just enough of a churn to get some of the better players moved off stacked teams and give those hopeless teams a better chance at improvement.

Donations Page – Thank You!
We added a Donations page to provide a forum for thanking everyone that has donated to us via KickStarter and PayPal. This was deployed as a Hot Fix on August 8 2014.

AutoGM Trade Weights & Logic Changes
Currently it is very difficult, if not impossible, to make a trade with the AutoGM. This even applies to AutoGM to AutoGM trades. Previously the thresholds for incoming players/picks were weighted at 75% of their regular value. We’re going to change that to 90%. Additionally, players/picks leaving the AutoGM team were weighted at 125% of their regular value. We’re going to change that to 110%. This was deployed as a Hot Fix on August 12 2014.

The logic was further modified to remove extra checks like whether the trade would violate the Trade Initiating Team’s salary cap…  as long as it doesn’t violate the AutoGM’s salary, the trade will be good. The AutoGM will no longer look at whether the potential Incoming Players have had a positive rerate last season. This was skewing some potentially solid trades for the AutoGM just because they didn’t rerate up the previous season. We’ve also incorporated the new Tiebreaker settings into the logic when it looks at draft picks.

The AutoGM will now be more likely to make bids on free agent coaches that other teams have already made bids on. There were also some additional checks added to the AutoGM when looking at free agents to bid on…  this should finally resolve the issue of AutoGMs going crazy for free agents. These additional changes went live as a Hot Fix on August 24 2014.

Further to this another adjustment was made to the AutoGM’s free agency “poaching” logic to ensure the team will only be looking at players in one of the following cases:
– the Pro team has less than 26 players.
– the Farm team has less than 26 players.
– the Free Agent Player in question has a higher skill level than the top Pro/Farm players currently owned by the AutoGM. This part will impose position limits: Top 5 Centers / Left Wingers / Right Wingers, Top 15 Forwards (including C/LW/RW), Top 8 Defensemen, Top 3 Goalies. If the AutoGM has a real farm team, these limits are doubled.

The following changes were not hotfixed in and have gone live as of this build deployment:
– Pro Roster, Pro Goalies, Farm Roster and Farm Goalie checks and attempts at filling in spots will now only happen after the Entry Draft has been completed and the SeasonType is PreSeason, Regular, or PlayOff. This change was made since expansion teams with AutoGM were creating makeweights to fill in spots despite Free Agency not being tested.
– Players can now be sent down to the farm team is the SeasonType is PreSeason in addition to the original criteria of Regular and PlayOffs.

Teams can now hire lawyers to attempt to lower the number of games remaining in the player’s suspension by half. This is an important point… the reduction amount is based only on the games remaining in the suspension… not the initial amount. It will be key for GMs to use their lawyers as soon as they know a suspension has been handed out.

Lawyers are handled similar to Medical Staff in that you can purchase them, must pay a seasonal maintenance fee and can recoup 25% of the purchase price if you want to purchase a different lawyer. Each lawyer will have an Appeal Fee… this is charged to your team for every appeal you make… regardless of whether or not the appeal was successful. The Chance field shows the chance your appeal will have to be successful.

Only one appeal can be made for a player per season. If the player is suspended again later on in the season, the lawyers will not be able to help.

Roster – Farm Manual/Auto setting
We’ve moved the drop-down to change whether UHS will set your farm team’s roster / lines to the top of the roster options. If this is set to Auto, your roster and lines will always be managed by UHS… any changes you make will be over-written. We’ve moved this setting to the top so it’s a little more visible to the eye at a glance.

Upcoming Games
The Upcoming Games section in your Team page has been changed slightly to use zebra striping and show you the record of your opponent. The record will take into consideration things like season OT type and show OTW/L and SOW/L records if those categories award points differently than a regulation win/loss. The record line will show this data: Wins-Losses-Ties-OTWins-OTLosses-SOWins-SOLosses.

Example: if a league awards 3 pts for a regulation win and only 2 pts for an OT win, the record line would be something like: W-L-T-OTW. As long as the OTW or SOW pts values are different from a Regulation Win pts value, then OTW / SOW will be shown. The same goes for OT Losses and SO Losses. Ties will only show up if your Regular Season OT Type allows for Ties.

Forwards Allowed on Defense Positions
We’ve added a setting in Settings > Game Settings to allow a COM to toggle whether forwards are allowed to play on a defensive position. By default this is disabled. If the COM has enabled position penalties the forward will get a -10% on any event (Pass, Skate, Shoot) if Even-Strength, however, on Power-Plays and Penalty-Kills, there is no position penalty even if position penalties are enabled.

Please note that using the Auto Lines feature will not set your forwards into your defensive positions, you will have to do that manually. You should also be aware that enabling this could potentially allow a team to run with no defensemen at all.

Auto-GM teams will never use this functionality… they will attempt to fill their roster and lines with players of the appropriate positions.

Request to be Traded
We’ve added in functionality to make a check for players requesting to be traded. The chance at the request is a flat 1%. If a player requests to be traded, the team will no longer be able to offer a new contract, similar to the player refusing to negotiate with the team. In fact it is treated exactly the same. As such we have added a new bubble on the Team Home page to show Player Contract Issues: this will show players with Contract = 0 or Requesting Trade or Holding out for Free Agency.

To trigger a Trade Request check one of the following must happen:
– The player is placed on waivers.
– The player’s current Ice Time Average (Minutes for goalies) is less than 75% of the average from the previous season. This is only applicable during the Regular Season from when the player’s team has played 10 games to the Trade Deadline.

Trade Notifications
We have updated the Email Notifications section for your account profile (click on your account name at the top right when you are logged in). You can now opt-in to UHS Admin messages, Incoming Trade Notifications and Completed Trade Notifications (for COMs or higher only).

By default the Incoming Trade Notifications are enabled and Completed Trade Notifications are disabled. Your regular UHS Admin message opt-in setting has not been changed.

Cron Jobs & Inactive Leagues
Leagues that are considered inactive (no logins for 30 days) will now be ignored by most system cron jobs to reduce unnecessary system usage.

Bug Fixes
- Fixed an issue where the Coach Stats page on Public Websites was not functioning.
– Fixed an issue where COMs could not add teams if a non-default setting was used for drafting.

Hot Fixes
- Fixed an issue where the rookie designation was not being updated. Released August 16 2014.
– Fixed an issue where the AutoGM would get stuck in an infinite loop when a trade initiation check was successful. Released August 19 2014.
– Fixed an issue where a player’s type would get reset when the league changes from pre-season to regular season…  this meant the player would have to clear waivers again even if they had cleared it earlier in the season. Released August 19 2014.
– Fixed an issue where the schedule generator would time-out when creating schedules for leagues with an odd number of teams. Released August 31 2014.