New Feature: Hero Pools
We will be introducing Hero Pools starting in Season 21 of Competitive Play. Much like Map Pools, rather than having all heroes available for play at all times, a weekly changing list of heroes will be available. The list will include the vast majority of the hero roster, with only a few being excluded during any given week. We think this feature will help keep Competitive Play interesting, as team compositions will change more frequently during a season.
It is important to note that Hero Pools is a new feature that may not last past this initial season. Throughout the season, we will be adjusting the types of Hero Pools available. In addition, it is possible we will also adjust the frequency with which they change.
- The Game Mode selector in the Career Profile is now sorted more logically to make it easier to use.
- A group leader may not use the Leave as Group option while a competitive game is currently in progress.
- The initial Assemble Heroes timer for games using the Assault, Hybrid, Control, and Payload game modes has been reduced from 40 to 35 seconds.
- Mei’s Ice Wall now has a visual damaged state when under half health
- Updated the interactions between all stuns (Flashbang, Earthshatter, Freeze, Sleep, Accretion) to be more consistent.
Developer comment: New stuns will only replace existing stuns if their duration is longer than the time remaining on the current stun. For example, a Flashbang stun will not apply to someone who has just been Earthshattered. We use the minimum guaranteed stun time for Ana sleep, which right now is 1.5 seconds (time to fall down + time to stand back up).
New Workshop Features
- Custom Game Maps:
- Workshop Chamber
- Workshop Island
- Workshop Expanse
- Script Diagnostics Panel
- We’ve added the ability for rules to call subroutines (which are rules with a Subroutine event type) using the new Call Subroutine action. When a subroutine is called, execution is temporarily shifted to another rule while keeping contextual values such as Event Player, Attacker, and Victim the same. When the subroutine rule finishes or aborts, the original rule picks up where it left off. Subroutines may call other subroutines or even themselves, though we enforce a maximum depth of 1024 calls. Waits are allowed in subroutines, and if such a Wait is ever interrupted (and the interruption isn’t being ignored by the Wait), the entire call stack is aborted, and the original rule is restarted or aborted.
- Subroutine rules may also be started in parallel using the Start Rule action. Unlike with the Call Subroutine action, the original rule continues execution immediately, and the subroutine rule executes on its own some time later (either on the same frame if below the original rule or on the next frame if above). As with Call Subroutine, contextual values such as Event Player, Attacker, and Victim are copied over to the subroutine rule.
- Subroutine names can be added and modified using a new button at the top of the editor.
New Workshop Actions
- Start Healing Modification
- Stop Healing Modification
- Stop All Healing Modifications
- Enable Inspector Recording
- Disable Inspector Recording
- Else If
- For Global Variable
- For Player Variable
- Call Subroutine
- Start Rule
- To make writing logic easier, we’ve added several new flow control actions (If, Else If, Else, While, End, For Global Variable, and For Player Variable). These actions are optimized to cause minimal server load. When using them, the editor will indent to show where sections of logic start and stop. To conclude such an indented section, use the End action. When in doubt, each action has a detailed tool tip explaining how it is used. These tool tips can be displayed by hovering over the action name or by pressing the appropriate controller button.
- The Enable and Disable Inspector Recording actions offer two benefits: First, they allow selective debugging of only those sections of a script that you need to study. Second, disabling recording can reduce server load, especially when setting or modifying arrays.
New Workshop Values
- Event Was Health Pack
- Last Healing Modification ID
- Action and Condition Comments
- Melee and Reload Button Options
- Added Sort Order Reevaluation Options for Create HUD Text
- The Skip and Skip If actions now accept 0 for the number of actions to skip (so they just go on to the next action)
- A Wait action is no longer required before a Loop
- Straightened Beam Effects
- Set Status/Clear Status behavior merged with gameplay stuns (e.g. Clear Status can now clear a freeze that was caused by gameplay, not just a freeze set via Workshop itself)
- Custom Game settings now support Copy-Paste
- Set Global Variable
- Set Player Variable
- Modify Global Variable
- Modify Player Variable
- Set Global Variable At Index
- Set Player Variable At Index
- Modify Global Variable At Index
- Modify Player Variable At Index
- Loop If
- Abort If
- Skip If
Developer Comment: Variable manipulation and flow control actions previously caused high server load, so we spent some time making them more lightweight. When combined with the new Disable Inspector Recording action, these changes may result in significant reduction in server load for Workshop modes that rely on heavy variable logic, particularly those that manipulate arrays. In light of these changes, we’re removing the restriction that requires a Wait action before a Loop, though be advised that excessive looping in a single frame can still cause server load issues, especially when using actions other than those listed above. Note that setting or modifying multiple player variables with a single action (by providing an array of players) is not optimized, nor is setting or modifying a variable that is ever used by a Chase action. Finally, keep in mind that some values (such as the Ray Cast values) can cause quite a bit of server load on their own, even if using the optimized actions above.
- Killing B.O.B no longer grants score for FFA and Team Deathmatch
- Competitive Seasons are now listed in the correct order in career profile
- Replay list should no longer have invisible entries
- Fixed a bug where avoided teammates did not appear in the avoided teammate list if they were not also in the recent player list
- Fixed a bug where the Player Outline Strength gameplay option did not adjust the opacity of player outlines
- Fixed GPU temperature query on newer AMD hardware and drivers
- Fixed a bug that caused Reinhardt’s Earthshatter not to work correctly on Petra’s collapsible floor
- The breakable floor is now targetable by Reaper’s Shadow Step, Symmetra’s Teleporter, or Doomfist’s Seismic Slam
- Fixed a bug that could cause B.O.B’s charge to end early on stairs
- Fixed a bug where, occasionally, the explosion for Junkrat’s mine would appear near the top of his head instead of on the mine
- Fixed a bug that could cause Mercy to not get a skull/hit marker on assists
- Fixed a bug that prevented Wrecking Ball’s voice lines from playing when opened in lootboxes
- Fixed an issue preventing player invites when the custom game was imported via a share code
- Fixed an issue where preset slots could be overridden when saving settings from another player’s custom game
- Fixed an issue that allowed skirmishing friends to get into your custom game when the “Allow Skirmishers” option was disabled
- Fixed an issue where Sigma’s Primary Fire was sometimes disabled when disabling Experimental Barrier via Custom Game Settings
- Fixed an issue preventing Has Status from working correctly when querying the Unkillable status
- Fixed an issue where scores in Deathmatch display incorrectly if the score is set to a high number via Workshop actions
- Fixed an issue preventing setting scores or declaring victory in Team Deathmatch from working correctly via Workshop actions
- Fixed an issue where Training Bots sometimes wouldn’t respawn in Practice Range
- Fixed an issue preventing the Sleep status from being interrupted early via Workshop actions
- Fixed an issue with the Death Spectate actions when Enable and Disable are alternated repeatedly
- Fixed an issue causing the Buff Impact sound to play twice
- Fixed an issue causing the pitch (vertical) angle to be reset when using the Teleport action
- Fixed an issue preventing Disable Built-In Game Mode Completion from working in certain modes
- Fixed an issue where effects sometimes were the wrong size and color