Matchmaking and matches
- The Birthday Mapping Contest has concluded and the winning maps are being added to the official lists (Announcement: https://www.reddit.com/r/Diabotical/comments/s3upbm/birthday_mapping_contest_results/ ):
- The Duel ranked map list is now Axiom, Cathedra, Darkness, Machine, Pavilion X, Restless, Sanctum.
- The Wipeout pickup map list is now Ancient, Arcol, Caliburn, Dynamo, Furnace, Rekiem, Sunken, Toya Fortress, Wellspring.
- Axiom, Cathedra, Darkness, Machine, Prism have been added to the Duel custom game map list.
- Caliburn, Rekiem, Gloria, Dynamo, Coyote have been added to the Wipeout custom game map list.
- Rekiem has been added to Freeze Tag, Freeze Tag Classic, FFA, and Warmup map lists.
- Wreckage and Myshell have been added to the TDM 2v2 pickup map list, and to the TDM and TDM Classic custom game map lists.
- Mediterranean Market has been added to the MacGuffin pickup and custom game map lists.
- Hangar has been added to the Brawl custom game map list and to the Gold Rush pickup and custom game map lists.
- Star Station has been added to the Survival quick play and custom game map lists.
- Arctis, Error Fields, Arqa, Lickety-split, Brut, Hven, Lava, Mystic_br, Three-Headed Monkey, Villa, Windy cave have been added to the Time Trials custom game map list.
- A game mode called “Modified” has been added for maps that contain game mode modifications through the logic system. This game mode by default uses the same settings as the Brawl game mode.
- The Miniguffin Christmas map (mod_miniguffin_christmas) has been moved from the Brawl map list to the Modified map list.
Gameplay
- Improvements to the issue where projectiles go through movers.
- There is now splash damage when a projectile with splash damage collides with a mover.
- Fixed an issue where projectiles were not fully removed when the player who fired them reaches an end trigger in Time Trials.
- Fixed an issue where players could spawn inside teammates, specifically in the case of team-designated spawns, if there are few available spawns on the map.
- Added the variable ‘game_shuffle_team_spawns’ (default 0) which causes team-designated spawns to be assigned to teams randomly, unlike the default behavior where team 1 would always get the spawns with the property ‘team: 1’.
- Fixed an issue that allowed frozen players in Freeze Tag and Freeze Tag Classic to move and attack as if not frozen.
- Fixed unpause not working in LAN matches.
- Slightly lowered rocket explosion splash damage radius from 124 to 122.
Visual changes
- Improved third person weapon fire animations.
- Improved the update rate of other players’ shaft beam visuals to better match the weapon muzzle position.
- Improved the brightness of shell customizations added since season 3 for better visibility.
- Fixed an issue that would cause an incorrect shell skin to be shown on the main menu screen.
- Fixed various issues causing impact particle effects to not be rendered.
- Fixed neon weapon skins not displaying the fresnel effects of powerups and other statuses.
- Fixed sprays not properly unloading when leaving a match potentially causing wrong spray images to be used in subsequent matches
- Fixed the orientation of sprays on the floor from other players being incorrectly orientated.
Performance and stability
- Fixed a hook memory leak on the servers.
- Fixed crash caused by loading some maps with incomplete terrain assets.
Tournament system
- Added support for Best of 3/5/7 matches in in-game tournaments together with a new map pick/ban system.
Interface
- Latest battlepass owners are now allowed to download and watch replays from in-game tournament matches.
- Added an option to move a map to the first position in the map selection list,
- Added an option to mark all new customizations as seen,
- Fixed newly unlocked shoes not showing up in the locker until a restart even though the new item indicator was visible,
- Fixed view profile option on incoming friend requests not working,
- Added an option to upgrade any battlepass from the battlepass list.
- Updated the region selection modal to show the region checkbox in a different color if not every datacenter within is selected.
HUD
- The wipeout respawn countdowns now stop when the round ends instead of continuing towards 0.1s.
- Fixed an issue where the center screen respawn countdown message would linger for a second after having already respawned.
- Fixed an issue causing the team pickups hud element formatting to break.
- Fixed an issue causing multiple chat messages being sent when clients are kicked due to inactivity.
- Added a server chat message when someone sets a new best time trials time in a match.
- Fixed an issue that caused HUD elements to be rendered multiple times for some players.
Editor
- A logic entities quick-start guide: https://docs.google.com/document/d/18l3kKY_URBp8KhIkx30GJatbSdZfziUBG1Vu0SUPuZ4/edit
- Added a new customizable pickup entity called ‘pickup’ (/add pickup) with the following properties: ‘model’, ‘start_time’, ‘time’, ‘pickup_gamemode’, ‘pickup_hp’, ‘pickup_max_hp’, ‘pickup_armor’, ‘pickup_max_armor’, ‘pickup_coins’, ‘pickup_weeball’, ‘pickup_weapon’, ‘pickup_ammo’, ‘pickup_required_tags’, ‘pickup_forbidden_tags’, ‘pickup_powerup’, and ‘pickup_powerup_duration’. If the player exceeds the maximum HP/armor values or does not meet tag requirements, the entity cannot be picked up by that player. If ‘pickup_gamemode’ is specified and does not match the current gamemode, the entity does not spawn.
- Added new customizable jumppad settings that don’t require a target entity (previous jumppad behavior is unchanged): The jumppad property ‘bounce’, if set to true, will make the player bounce off the jumppad entity, using the optional properties ‘bounce_scale’ (default 1.0) and ‘min_bounce_speed’ (default 300). The jumppad property ‘use_entity_direction’, if set to true, makes the jumppad aim in the direction of the entity’s Y-rotation value and uses the properties ‘vertical_speed’ and ‘forward_speed’ to determine the jump vector.
- Logic debug output is now split into 3 types: trigger, action, and properties.
- Logic entities added using the editpad no longer have the properties ‘on_game_time’ or ‘reset_inventory’ by default.
- The logic action ‘modify_score’ now affects team scores in objective-based gamemodes.
- Tag-related logic actions now display all of the player’s tags in console when they are changed if action-debugging is turned on for the logic entity.
- Fix for the logic action ‘teleport_player’ teleporting the player to (0, 0, 0) if the destination is invalid. In cases of an invalid destination, the player will not be teleported.
- Fixed an issue where tag-related actions were not correctly applied to some player targets.
- Fixed an issue causing all logic ‘delay’ values to be rounded to 0.5 second increments.
- Fix for logic actions ‘start_race’, ‘end_race’, and ‘display_race_split’ having incorrect or negative time values.
- Fixed an issue where Text Indicators sometimes used team accent colors even if no ‘team’ property was set.
- Fixed an issue where Text Indicators displayed “NULL” instead of the chosen text.
- Added new spawn entity properties: ‘warmup_only’ (default false) and ‘editor_only’ (default false). If either of these types of spawns exist on a map, only these spawns will be used in warmup, or in the editor, respectively.
- Added new Text Indicator properties. ‘warmup_only’ (default false), ‘editor_only’ (default false), ‘text_radius’ NUMBER: Text will only show up for players who are within this radius (default -1, any distance). ‘text_preset’ OPTIONS: Can be ‘distance’/’distance_meters’, ‘distance_units’, or ‘none’ (default). If a preset is chosen, the text indicator will display a live update of the measured distance between the player and the entity. ‘text_height’ NUMBER: A vertical offset for the text indicator (default 0). ‘fade’ NUMBER: Whether the text indicator should fade when a player is very close (default 0.0, no fade).
- Added the logic action ‘set_text_indicator’ which can set properties of a text indicator for any entity with the property ‘has_indicator’ set to ‘true’. The changes to the text indicator are visible to all players.
- Added the property ‘spawn_group’ which can be set on any normal spawn entity, intended to be used with the following logic action:
- Added the logic action ‘set_player_spawns’ with the property ‘spawn_preset’ (‘default’, ‘groups’, or ‘in_place’). If the chosen preset is ‘in_place’, the player will respawn at the place where they died. If the chosen preset is ‘groups’, a random spawn group will be chosen from the property ‘spawn_groups’ which is a list of group names separated by spaces. If no valid spawn matches the settings, default spawn rules will apply. If this action is used with the trigger ‘on_player_spawn’, the settings will apply before the player is spawned. The chosen settings will continue to affect the player until they are changed again using this action.
- Added the logic action ‘ping_player’ with the property ‘team_ping’ (default ‘true’) which will ping the target players.
- Added the player targets ‘attacker’ and ‘victim’ for trigger events related to player damage and player frags.
- Added the player targets ‘random_player’ with the properties ‘number_of_targets’ (default 1), ‘with_tags’, ‘without_tags’, and ‘living_players’ (default false).
- Added the logic property ‘with_weapon’ for trigger events related to player damage and player frags which can filter the event by the weapon that was used.
- Added the logic action ‘set_custom_commands’ with the property ‘custom_commands’ TEXT: A list of custom commands that will be applied when the map loads, identical to the “custom commands” option in the lobby settings. For example, “game_self_damage: 1; game_hp: 100; game_mercy_limit: 15;”. This is a unique action: only one ‘set_custom_commands’ will take effect per map. This action does not require a trigger or a logic group, it must simply be set on any logic entity.
- Added the logic action ‘set_game_variable’ with the properties ‘variable_name’ and ‘variable_value’. This is similar to lobby custom commands, but sets the variable for the target players only.
- Added the logic action ‘send_server_message’ which displays the set ‘message_text’ in the chat area of the HUD.
- Added a logic action ‘trigger_trigger_individual’. It can be used in the same way as ‘trigger_trigger’, for example, to open a door. The difference is that the door will only open for the player who triggered the action. In Race mode, this would mean that each player is responsible for opening their own doors: for other players, it will appear that the player has passed through a closed door.
- Added the teleport destination ‘next_spawn’ for the logic action ‘teleport_player’, which teleports the player to the next spawn that they would get according to the match’s spawn rules. The destination ‘random_spawn’ now selects a random spawn, independent of match spawn rules.
- Added the teleport destination ‘to_area_on_ground’, which teleports players to a random position within a trigger area, touching the ground.
- The logic trigger ‘on_trigger_triggered’ now has the option ‘melee_only’ for props that target themselves.
- The logic action ‘set_allowed_drops’ now has three options: “Gamemode Default”, “True”, and “False”, and will override the gamemode settings if not default.
- The logic action ‘swap_player_tags’ now allows you to specify a list of ‘tags_to_give’ separated by spaces, and a list of ‘tags_to_receive’ separated by spaces. If no tags to give or receive are specified, all tags are given or received. If tags are specified, the players must have the tags in order to perform the tag swap. If the swap target ID is random (default, -1), it will randomly choose a target who has the specified tags, or fail if no player has those tags.
- The property ‘ammo’ for the logic action ‘give_weapon’ now behaves the same way as the action ‘give_ammo’: Instead of setting the ammo to specified value, the amount is added to the player’s current ammo, and can be a negative value to take ammo away.
- The Macguffin can now be thrown by a player who can’t shoot, if they can’t shoot as a result of the logic action ‘set_player_shooting_enabled’.
- Added falloff for terrain tool brushes, use Ctrl-* and Ctrl-/ to increase and decrease.
- Fixed some issues when undoing/redoing terrain changes.
- Thanks to ArchRhythm, erny, JoJTheRat, Humour, stral_, AngryTetris, Bl1ndlight, febreeze, and Mysticaly for suggestions and bug reports.
Replays
- Disabled announcements playing while seeking through a replay.
- Fixed an audio related crash.
- Fixed an issue with not following a player at the start of a replay or after seeking forward.
- Fixed a crash when switching between replays.
- Fixed an issue causing server replays to sometimes not be saved.