Deadlock update

Build 24478689

30 Jul 2026, 19:15 UTC

Official patch notes

Available

Matchmaking Update
Read patch notes

Technical changes

181 files changed

+13530 additions-3022 removals
View file changes

Official patch notes

Matchmaking Update

Published 30 Jul 2026, 19:14 UTC

This update includes a revamp to how the matchmaking system works, as well as the introduction of a new matchmaking mode. You can now choose to play in Standard Mode (unranked), or the new Ranked Mode introduced in this update.

STANDARD MODE
Standard mode provides a lower-stakes way to play Deadlock with friends, without worrying about adjustments your Rank. There are no restrictions on party size or skill spread. You can also play in this mode to practice heroes you are less familiar with, as the matchmaker will adjust the game it puts you in to account for your experience with that hero.

RANKED MODE
Ranked mode gives players a way to queue up for more competitive games against similarly-skilled players with higher stakes. Each season you'll be able to climb the Ranks and see how far you can go.

Steam announcement media

UPDATED RANKS & BADGES:
Each Rank has 6 Subranks within (I - VI).

Obscurus (uncalibrated)
-
Initiate
Seeker
Acolyte
Sentinel
Mystic
Ritualist
Emissary
Oracle
-
Phantom
Ascendant
Eternus

ELIGIBILITY AND SEASONS:
To be eligible to queue for Ranked Mode, you must have at least 60 wins in the Standard Mode. To ensure higher quality games, Ranked Mode expects that you have a solid understanding of the heroes you play in it, so the mode only allows you to pick heroes that you have won at least 15 games with in Standard Mode. You must have at least 3 heroes unlocked for Ranked to be able to have a valid sized roster to queue with.

Ranked Mode has seasons, with the first season starting today and ending on October 7th, after which the following season will begin. At the conclusion of a season, the highest Rank you achieved will be permanently saved in your Rank history page. Future Rank seasons will likely have longer durations with splits in between (breaks within the season where Rank adjustments are made) as well as recency requirements on the heroes played.

As the season starts, everyone will enter a calibration phase for 8 games. All players will have a soft reset of their prior Rank, maintaining some history of your previous performance relative to other players to help seed you initially into the calibration games. Players can only exit calibration at a max Rank of Oracle VI. You cannot be in a party during calibration matches.

Ranked Mode will currently only allow for solo or duo parties. If you are in a duo party, both players must be at most 1 Rank away from each other (i.e. Mystic and Ritualist). However, Eternus players can only queue with another Eternus player as long as they are within 3 Subranks of each other. We recognize that the party size and rank spread limits might be too restrictive, but we wanted to start off this way and then adjust in the future as needed.

A new Ranked Hub in the hideout includes all the information about the current and past Ranked seasons going forward, and allows you to access global leaderboards and your Rank history. You'll have an item in the hideout to commemorate your seasons highest rank achievement when the season is over.

RANK POINTS:
When you win or lose a game, you will see your Rank Points update with a visible progress bar after each match. Each win/loss will grant you +/- 250 points on average, though these numbers could vary slightly depending on the expectations the matchmaker had from that game or while on win streaks. To progress to the next Subrank, you need to collect 1000 Rank Points for each promotion. However, the final Subrank before moving to a new Rank (ie. Mystic VI ->Ritualist I) requires 2000 points. Once you reach Eternus I, there will no longer be a fixed amount of points needed to progress from one Subrank to the other as the thresholds will be dynamically updated daily to segment the Subranks on a percentile basis.

There is also Rank loss protection when playing in Ranked. You have 5 games of loss protection when on the boundary of a full Rank (So if you are at Mystic I with 0 Rank points, you will maintain the Mystic badge until you lose 5 games before dropping to Sentinel). Similarly, when you are on a Subrank boundary, you have 2 games of loss protection (i.e. Mystic III with 0 Rank points will have 2 games of loss protection before dropping to Mystic II)

ENTERING A MATCH AND HERO SELECTION:
We think the ability to queue with a very specific hero in mind is an important and popular feature with most players. Even more so in Ranked, where it is critical that everyone has a good understanding of how to pilot their selected hero. By having hero selections done in advance of the game formation, we are able to utilize the matchmaker on the backend to mix and match players from the larger queue to meet everyone's preferences such that players are able to get the hero they want, while also allowing us the ability to create a reasonable team composition. As part of this update we've done some improvements on the matchmaker's ability to create solid team compositions. This is also something we expect to improve over time. As the player pool grows and as more heroes are released, the matchmaker will have more opportunities to create balanced matches with good team compositions while also increasing the chance you get the hero in your highest priority.

However, we also recognize that even long term the matchmaker won't always be able to do a great job at this depending on who is in the queue at the specific time, especially at Ranks or regions where the queue is much thinner. As such, with this Ranked update we are introducing the ability to change your hero in the new pre-game phase.

Once you enter a new Ranked Match, you will see a breakdown of the Ranks of all players in the game, you will then enter a pre-game waiting area where you can control your hero. During this time, you can choose to change your given hero to any other hero that hasn't been selected, as long as you have that hero unlocked for Ranked play. The primary purpose of this is to allow players a quick way to adjust their team's hero composition to make any improvements they see fit. This is not intended to be primarily a counter-picking feature, as much as just a quick way to improve your team's general hero composition, while still making it easy for players to have their preferred and most comfortable heroes in Ranked by default. As such, there isn't a live update of what heroes the enemy team is changing into (you will only see their initial hero composition). If you end up swapping into a hero that the enemy team happened to also swap into before you, you'll get an error and then be able to select a different hero. Otherwise you will be given that hero. Each player can only swap into a new hero once.

You can also use the new pre-game waiting area to adjust your starting lanes. You won't be able to zipline swap after this. Pause will be disabled until 2 minutes after the game fully starts, so make sure to do any adjustments you want to either your roster or lanes during the new pre-game waiting area.

Additionally in Ranked Mode, the total number of heroes banned in a given game is increased from 2 to 3 and the algorithm used has been improved.

ABANDONS & PENALTIES
You cannot queue for Ranked if you have any active sanctions on your account (low priority, comms bans, etc.).

If a player abandons a game before 5 minutes, the game will be marked as safe to leave and voided for all players except the leaver and their party. The game will count as a loss for the leaver and their party, and the abandoning player will receive leaver penalties.

If a player abandons a game after 5 minutes, that player will receive leaver penalties and their party will have the game count as a loss. Other players on the abandoning player's team will have their game voided and are safe to leave without punishments, however if they stay and win the game will be counted as a win. If all players on the abandoning team leave, the game will automatically end and be counted as a win for the opposing team.
 
If you are on the opposing non-abandoning team, you will play the game out as normal. However, if a player on that team then abandons as well they will be penalized just like the first abandoning player/party, and the above rules kick in for the opposing team now as well. In this case, none of the remaining players on either team will have the game count as a loss, and you will only get a win if your team finishes and wins the game.

Leaver penalties start with queue timeouts and escalate to increasing amounts of low priority games.

LEADERBOARD
This update includes a few changes to the requirements to appear on the leaderboards. For the global leaderboard, the game count requirement in the last 30 days has increased from 50 to 75. For the hero specific leaderboards, the game count requirement on that hero in the last 30 days has increased from 20 to 30. There is also a new requirement for hero specific leaderboards where you must have at least 100 lifetime wins on that hero to be considered.

ROLLOUT
This new system is live right now. However we expect the next week or so to be very rocky, as the Ranked matchmaking pool will start off very thin with most players not having the unlock requirements done yet. This will have a significant effect on queue times and match quality until things stabilize. It will also take some time for players to calibrate and move into the appropriate spots. We will be closely monitoring the matchmaker during this time, but we want players to be aware that both queue times, match quality and team composition quality will need some time to ramp up. Given the large rewrite involved with this update, we are also expecting that it will take a couple of days to iron out bugs.

Technical changes

Changed files

Showing 20 of 181 tracked files.

181 files+13530-3022
M
DumpSource2/.stringsignore
+165-19
@@ -371,7 +371,7 @@ $SPECULARSCALE
371371 <player name> <gold> Gives the specified player gold
372372 <player_slot> <message>
373373 <state> Turn on/off simulated GC communications failure (GC is down in a way that we know it is down)
374-<target account id> [match id]
374+<target account id> [match id] [hero_id]
375375 <team number> - Lock the flex slots for a team (or both teams if you omit the team number)
376376 <team number> - Unlock the flex slots for a team (or both teams if you omit the team number)
377377 <title> <message> <URL> [Priority] Create a new announcement with the specified title, message, and URL. use empty quotes if you want to skip message or URL
@@ -840,6 +840,7 @@ Allow for a private lobby to not have players to help test with spectating
840840 Allow gathering of conditions to be done asynchronously.
841841 Allow immediately loading mips of textures (when possible) when their headers are loaded, saving IO & reducing latency.
842842 Allow only a single health bar, no stacking.
843+Allow pausing in the pregame state
843844 Allow playback of demo even if game directories are not matched [may crash or fail to load].
844845 Allow players to pause in matchmade games
845846 Allow stationary/dynamic lights to cast shadows.
@@ -2093,6 +2094,7 @@ CCitadelItemPickupRejuvVData
20932094 CCitadelItemPickupVData
20942095 CCitadelItemPunchableNeutralGold
20952096 CCitadelItemPunchableNeutralGoldVData
2097+CCitadelLocalPlayerRankedBadgeProp
20962098 CCitadelLootTable
20972099 CCitadelLootTableBase
20982100 CCitadelLootTableBasic
@@ -2153,13 +2155,15 @@ CCitadelPlayer_MovementServices
21532155 CCitadelPlayer_ObserverServices
21542156 CCitadelPointPulseAPI
21552157 CCitadelPortalTrigger
2158+CCitadelPregameHeroDraftButton
21562159 CCitadelPreviewPlayerController
21572160 CCitadelProjectile
21582161 CCitadelProjectileTouchVolume
21592162 CCitadelProjectileTouchVolumeVData
21602163 CCitadelProjectileTrackingParams
21612164 CCitadelProjectile_ImmobilizeTrap
21622165 CCitadelPushTrigger
2166+CCitadelRankedBadgeProp
21632167 CCitadelRecentDamage
21642168 CCitadelRegenComponent
21652169 CCitadelShopTunnelTrigger
@@ -4794,6 +4798,7 @@ CInButtonState
47944798 CInWorldItemPanel
47954799 CInWorldKeyBindPanel
47964800 CInfoAbilityTestBot
4801+CInfoCitadelHelperLocation
47974802 CInfoCitadelHideout
47984803 CInfoCoverPoint
47994804 CInfoData
@@ -4927,6 +4932,7 @@ CLASS_ITEM_PICKUP
49274932 CLASS_ITEM_SHOP
49284933 CLASS_KOTH_CAPTURE_POINT
49294934 CLASS_KOTH_SPAWNER
4935+CLASS_LOCAL_PLAYER_RANKED_BADGE_PROP
49304936 CLASS_MAGICIAN_TURRET
49314937 CLASS_MATCH_INTRO_HERO_CARD
49324938 CLASS_MEDIUM_NEUTRAL_CAMP
@@ -4954,6 +4960,7 @@ CLASS_PLAYER_SPRAY
49544960 CLASS_PRIEST_BEARTRAP_PROJECTILE
49554961 CLASS_PROJECTILE_TOUCH_VOLUME
49564962 CLASS_PROP_MIDBOSS_INDICATOR
4963+CLASS_RANKED_BADGE_PROP
49574964 CLASS_ROLLERMINE
49584965 CLASS_SENTRY
49594966 CLASS_SHIELD
@@ -6242,6 +6249,8 @@ CRandStopwatch
62426249 CRandomNumberGeneratorParameters
62436250 CRangeFloat
62446251 CRangeInt
6252+CRankedSeasonDefinition
6253+CRankedSeasonIntervalDefinition
62456254 CRectLight
62466255 CRegenerateZone
62476256 CRegionSVM
@@ -7639,6 +7648,8 @@ CitadelAbilityUpgradeInfoPacked_t
76397648 CitadelAbilityVData
76407649 CitadelArpeggiatorMode_t
76417650 CitadelArpeggiator_t
7651+CitadelBadgeRank_t
7652+CitadelBadgeSubRank_t
76427653 CitadelBodygroupSetting_t
76437654 CitadelCameraDistanceOperationDef_t
76447655 CitadelCameraFOVOperationDef_t
@@ -7693,6 +7704,28 @@ CitadelUserMessageIds
76937704 CitadelVotingPosterHeroData_t
76947705 CitadelWeaponID_t
76957706 CitadelWeaponRecoilData_t
7707+Citadel_Rank1
7708+Citadel_Rank10
7709+Citadel_Rank11
7710+Citadel_Rank2
7711+Citadel_Rank3
7712+Citadel_Rank4
7713+Citadel_Rank5
7714+Citadel_Rank6
7715+Citadel_Rank7
7716+Citadel_Rank8
7717+Citadel_Rank9
7718+Citadel_RankInvalid
7719+Citadel_RankMax
7720+Citadel_SubRank1
7721+Citadel_SubRank2
7722+Citadel_SubRank3
7723+Citadel_SubRank4
7724+Citadel_SubRank5
7725+Citadel_SubRank6
7726+Citadel_SubRankInvalid
7727+Citadel_SubRankMax
7728+Citadel_Unranked
76967729 Clamp Blend Curve
76977730 Clamp Non-Sheet texture V coords
76987731 Clamp UVs
@@ -9062,6 +9095,7 @@ ECitadelRandomRoll_BreakablePowerupPickup
90629095 ECitadelRandomRoll_BulletCritChance
90639096 ECitadelRandomRoll_BulletCritDebuffChance
90649097 ECitadelRandomRoll_LastEnum
9098+ECitadelRankedType
90659099 ECitadelRegionMode
90669100 ECitadelStatCategory
90679101 ECitadelStat_Invalid
@@ -9242,6 +9276,7 @@ EHeroSceneStyle
92429276 EHeroSpiritLifestealEffectiveness
92439277 EHeroSwap
92449278 EHeroType
9279+EHeroXPGrantReason
92459280 EHideoutButtonAction
92469281 EHideoutButtonInteractStyle
92479282 EIKEndEffectorRotationFixUpMode
@@ -9611,6 +9646,7 @@ EPlayerChoosingHero
96119646 EPlayerKill
96129647 EPlayerKillAssist
96139648 EPlayerKillComeback
9649+EPlayerMatchOutcome
96149650 EPlayerPlayState
96159651 EPlayerPlayStateCount
96169652 EPlayerSprayStatus
@@ -9635,8 +9671,6 @@ EPreviewStatFlags
96359671 EProcBuildUpRateScale
96369672 EProceduralRagdollWeightIndexPropagationMethod
96379673 EProfileCardSlotType
9638-EProfileSortGamesPlayed
9639-EProfileSortRankedPerformance
96409674 EProgressType_t
96419675 EProgress_ClipDown
96429676 EProgress_ClipLeft
@@ -10341,6 +10375,7 @@ FAMILIARTASK_DAMAGE_ATTACH
1034110375 FAMILIARTASK_DAMAGE_ATTACH_DIRECT
1034210376 FAMILIARTASK_DAMAGE_ORB
1034310377 FAMILIARTASK_DAMAGE_SHOOT_TARGET
10378+FAMILIARTASK_HANG_OUT
1034410379 FAMILIARTASK_INFEST_BEGIN
1034510380 FAMILIARTASK_INFEST_HEAL
1034610381 FAMILIARTASK_INVALID
@@ -10892,6 +10927,7 @@ Force Cropping On
1089210927 Force Latest Value
1089310928 Force Spawning Koth Capture point with Warning
1089410929 Force Static
10930+Force XP value for all badges (client only)
1089510931 Force a breakable to break
1089610932 Force a busy wait for the specified number of milliseconds during save to simulate a hitch
1089710933 Force a certain duration in the waiting for map to load state
@@ -11404,7 +11440,6 @@ HeroLevel_t
1140411440 HeroPersona_t
1140511441 HeroPurchaseBonus_t
1140611442 HeroScalingStat_t
11407-HeroSortingType_t
1140811443 HeroStatsDisplay_t
1140911444 HeroStatsUI_t
1141011445 Hide POTG hud
@@ -11552,7 +11587,8 @@ How long in milliseconds before we warn about lock hold duration
1155211587 How long is the cinematic intro applied to npcs (shrine/patron)
1155311588 How long is the cinematic intro applied to the player
1155411589 How long it takes after pressing the +ping command for the chat wheel to appear.
11555-How long lane swap is available, including pre-match time. Set to 0 to disable.
11590+How long lane swap is available in pre-game wait. Set to 0 to disable, -1 for infinity.
11591+How long lane swap is available in-game. Set to 0 to disable, -1 for infinity.
1155611592 How long looping soundpatch captions should display for.
1155711593 How long postgame lasts until play of the game
1155811594 How long pre-match is until we start the match
@@ -12303,6 +12339,7 @@ Kick a player by name.
1230312339 Kick a player by userid or uniqueid, with a message.
1230412340 Kick a previously connected player with the same steamID if a replacement comes along
1230512341 Kick all the bots
12342+Kick bot <name>
1230612343 Kill & Assist Credit
1230712344 Kill 2 Tier 2
1230812345 Kill 3 Tier 1
@@ -12904,7 +12941,6 @@ MODIFIER_STATE_COOP_TETHER_ACTIVE
1290412941 MODIFIER_STATE_COOP_TETHER_LOCKED_TARGET
1290512942 MODIFIER_STATE_COUNT
1290612943 MODIFIER_STATE_DAMAGE_MOVEMENT_PENALTY_IMMUNE
12907-MODIFIER_STATE_DASHJUMP_STAMINA_FREE
1290812944 MODIFIER_STATE_DASH_DISABLED
1290912945 MODIFIER_STATE_DASH_DISABLED_DEBUFF
1291012946 MODIFIER_STATE_DEAF
@@ -12994,6 +13030,7 @@ MODIFIER_STATE_IGNORE_OUT_OF_PLAY_AREA_CHECK
1299413030 MODIFIER_STATE_IGNORE_PORTALS
1299513031 MODIFIER_STATE_IMMOBILIZED
1299613032 MODIFIER_STATE_INFINITE_CLIP
13033+MODIFIER_STATE_INFINITE_STAMINA
1299713034 MODIFIER_STATE_INHIBIT_SOFT_CAMERA_COLLISION
1299813035 MODIFIER_STATE_INVALID
1299913036 MODIFIER_STATE_INVALID_TELEPORT_TARGET
@@ -13265,6 +13302,7 @@ MODIFIER_VALUE_FIRE_RATE_SLOW
1326513302 MODIFIER_VALUE_FLAT_BULLET_DAMAGE_POST_SCALE
1326613303 MODIFIER_VALUE_FOOTSTEP_ADDITIONAL
1326713304 MODIFIER_VALUE_FOOTSTEP_OVERRIDE
13305+MODIFIER_VALUE_FREE_AIR_JUMPS
1326813306 MODIFIER_VALUE_FRICTION_PERCENTAGE
1326913307 MODIFIER_VALUE_GAMEPLAY_TIME_SCALE_ADDITIVE
1327013308 MODIFIER_VALUE_GAMEPLAY_TIME_SCALE_PERCENT
@@ -14214,6 +14252,7 @@ Name of particle control point config to use for status effect (empty means use
1421414252 Name of the DSP effect / subgraph used.
1421514253 Name of the animation
1421614254 Name of the breakable to trigger breaking on when health reaches zero.
14255+Name of the hero that should be faked as the local player
1421714256 Name of the layer
1421814257 Name of the locator. This can be used to reference the locator in this element or its children. If the locator is configurable, the locator will be identified by this name in Hammer.
1421914258 Name of the mixgroup. TODO: needs to be autopopulated with mixgroups.
@@ -14346,6 +14385,7 @@ Number of instances of this object and its children to be placed.
1434614385 Number of minutes past which bots should try to end the game
1434714386 Number of minutes to ban users who fail rcon authentication
1434814387 Number of packets per second of updates you are requesting from the server
14388+Number of per-player hero changes allowed during pregame hero draft
1434914389 Number of periods of accumulated tick gold. Combine with citadel_tick_gold_period_duration_s to configure resolution and total duration.
1435014390 Number of seconds after which the game will automatically unpause
1435114391 Number of seconds before a player is allowed to pause again
@@ -15316,6 +15356,7 @@ PVEC_TYPE_RANDOM_UNIFORM_OFFSET
1531615356 PVS is shared between teams
1531715357 Package
1531815358 PackedAABB_t
15359+PackedRank_t
1531915360 Packet delivery anomaly rate (0..100) higher than this is considered 'poor'.
1532015361 PackingMode_t
1532115362 Paired Animation Clip
@@ -16143,6 +16184,9 @@ Range to consider targeting local player.
1614316184 Range(m) to Scan for Orbs
1614416185 RangeAttack
1614516186 RangeEditor()
16187+RankFlatProgress_t
16188+RankInterval_t
16189+RankProgress_t
1614616190 Rapid Fire
1614716191 RatchetType_Absolute
1614816192 RatchetType_EachEngage
@@ -17356,6 +17400,7 @@ Show entity contexts in ent_text display
1735617400 Show entity packing stats, pass 'clear' as argument to reset counts.
1735717401 Show frame time (FPS) in the HUD. 0=never, 1=only if poor, 2=always
1735817402 Show graph of the server recv margin in the HUD. (How early/late user commands are arriving at the server before they are executed.) 0=never, 1=only when there are command queue problems, 2=always
17403+Show hero progression UI (i.e. hero levels)
1735917404 Show hideout news
1736017405 Show human gib entities
1736117406 Show lag compensated hitboxes for the specified player index whenever a player fires.
@@ -17851,7 +17896,7 @@ Start recording bug voice attachment.
1785117896 Start recording movie frames.
1785217897 Start the Early Warning of Koth and Teleport the active player there
1785317898 Starts SourceTV demo recording.
17854-Starts a calibration match
17899+Starts a new_player_placement match
1785517900 Starts a sound event, returns a handle that can be used to stop it. Keywords: create, sound, event, audio
1785617901 Starts a specified soundevent
1785717902 Starts a specified soundevent at the given position
@@ -18255,6 +18300,7 @@ Teleport the specified entity to where the player is looking.\n\tFormat: ent_tel
1825518300 TeleporterParams_t
1825618301 Tells camera to change modes
1825718302 Temporal filtering weight
18303+Temporarily resets the commend state for testing (will get set to false after a commend is triggered)
1825818304 Terminate every broadcast with a stop command
1825918305 Test
1826018306 Test AI LOS from the player's POV
@@ -18266,10 +18312,12 @@ Test command that drops an entity blocker out in front of the player.
1826618312 Test depth.
1826718313 Test flight paths
1826818314 Test nesting voice containers.
18315+Test new abandon feature
1826918316 Test node that just generates the integer 50. Nothing to see here!
1827018317 Test node that picks between two outflows as specified in the test domain.
1827118318 Test node that randomly picks between two outflows.
1827218319 Test pinging a player
18320+Test pregame draft
1827318321 Test swim paths
1827418322 Test zoomed in minimap
1827518323 TestInputOutputCombinationsEnum_t
@@ -18750,11 +18798,16 @@ Turn on a particular trace output by file or function name
1875018798 Turn on a particular trace output by table/instance
1875118799 Turn on all trace output
1875218800 Turn on demo debug spew.
18801+Turn on pre-game hero draft for testing
18802+Turn on pre-game hero draft in ranked mode
18803+Turn on pre-game hero draft in unranked mode
1875318804 Turn on some model hit size debug visuals
1875418805 Turn on to see animgraph variable changes for entities passing animgraph_debug_filterent.
18806+Turn on to show all matches in the ranked season view, not just matches from that ranked season.
1875518807 Turn to Face
1875618808 Turn to Face Limit
1875718809 Turn to Face Offset
18810+Turn to show fake versions of the rank history
1875818811 Turns off interactive fish behavior. Fish become immobile and unresponsive.
1875918812 Turns off the ability to have aggressive and passive pings.
1876018813 Turns on bullet impacts and decals on world from troopers and neutrals shooting
@@ -19688,6 +19741,8 @@ Whether this explosion relates to fire
1968819741 Whether this weapon is safe to automatically switch to (should be false for eg. explosives that can the player may accidentally hurt themselves with)
1968919742 Whether to show an outline through walls
1969019743 Whether to show an outline when visible
19744+Whether to use commend toasts (older) or the custom commend notification (newer)
19745+Whether to use the special intro team spawn locations during pregame
1969119746 Whether we should be submitting data to SteamLearn
1969219747 Whether we should ignore the user config file for reading/writing.
1969319748 Which 'column' to display this weapon in the HUD
@@ -19809,6 +19864,9 @@ Zoom
1980919864 [ 0, 1 ] Value specifying the location on the gradient to pick the color from.
1981019865 [BookID/Book Name] Opens up the specified book by ID or name
1981119866 [BookID=1] Resets the current book progress
19867+[New Abandon Rules] Abandon is considered 'early' if this is before the first T1 kill, no matter the match time.
19868+[New Abandon Rules] Auto-match end countdown.
19869+[New Abandon Rules] Time for the 'early' trigger to take effect. Match will not be scored, etc.
1981219870 [Test] Explicit Yes/No Outflow
1981319871 [Test] Int Value 50
1981419872 [Test] Random Yes/No Outflow
@@ -20615,6 +20673,7 @@ citadel_bot_give_all_abilities_base
2061520673 citadel_bot_give_team_gold
2061620674 citadel_bot_hero_testing_pitch
2061720675 citadel_bot_jump
20676+citadel_bot_kick
2061820677 citadel_bot_list_ents
2061920678 citadel_bot_list_objectives_ent
2062020679 citadel_bot_match_on_dedicated_server
@@ -20644,6 +20703,7 @@ citadel_bot_takeover_time
2064420703 citadel_bot_team_sensing_tick_interval
2064520704 citadel_bot_teamsense_homebase_range
2064620705 citadel_bot_teamsense_pushed_range
20706+citadel_bot_test_disconnect
2064720707 citadel_bot_test_mode
2064820708 citadel_bot_use_ability
2064920709 citadel_bot_use_ability_once
@@ -20775,6 +20835,7 @@ citadel_commend_fake_received
2077520835 citadel_commend_player
2077620836 citadel_commend_toast_enemy_seconds
2077720837 citadel_commend_toast_seconds
20838+citadel_commend_use_toasts
2077820839 citadel_complete_new_player
2077920840 citadel_cone_view_alpha
2078020841 citadel_context_profile_page
@@ -20996,15 +21057,19 @@ citadel_event_timer_min_view_angle
2099621057 citadel_event_timer_scale_on_direct_look
2099721058 citadel_exonerate_account
2099821059 citadel_fake_bots_as_pinging_player
21060+citadel_fake_brawl_losses
21061+citadel_fake_brawl_wins
2099921062 citadel_fake_comms_ban_timestamp
2100021063 citadel_fake_death_gold
21064+citadel_fake_losses
2100121065 citadel_fake_low_pri_games_remaining
2100221066 citadel_fake_no_match_metadata
2100321067 citadel_fake_number_of_games_played
2100421068 citadel_fake_party_roster_usage
2100521069 citadel_fake_rank_for_match
2100621070 citadel_fake_report_ban_timestamp
2100721071 citadel_fake_subrank_for_match
21072+citadel_fake_wins
2100821073 citadel_familiar_debug
2100921074 citadel_familiar_infiniteattach
2101021075 citadel_familiar_sprites_debug
@@ -21113,6 +21178,9 @@ citadel_hideout_cancel_matchmaking
2111321178 citadel_hideout_enable_testing_tools
2111421179 citadel_hideout_exclusive_mode
2111521180 citadel_hideout_hero_id
21181+citadel_hideout_in_world_ranked_doodle
21182+citadel_hideout_in_world_ranked_fake_eligible_heroes
21183+citadel_hideout_in_world_ranked_fake_last_match
2111621184 citadel_hideout_intro_dismiss_escape_only
2111721185 citadel_hideout_intro_version_seen
2111821186 citadel_hideout_map_enabled
@@ -21197,6 +21265,7 @@ citadel_koth_warning_time
2119721265 citadel_landing_to_predicted
2119821266 citadel_lane_matchups_mmr_variance
2119921267 citadel_lane_swap_available_duration
21268+citadel_lane_swap_available_duration_prematch
2120021269 citadel_language_and_english_hero_names
2120121270 citadel_language_and_english_mod_names
2120221271 citadel_lash_ground_strike_debug
@@ -21232,7 +21301,7 @@ citadel_match_details_failure_delay_s
2123221301 citadel_match_details_flip_teams
2123321302 citadel_match_details_lane_stats_time
2123421303 citadel_match_end
21235-citadel_match_history_failure_delay_s
21304+citadel_match_history_cache_duration_s
2123621305 citadel_match_intro_duration_full
2123721306 citadel_match_intro_duration_simple
2123821307 citadel_match_intro_force_enabled
@@ -21314,6 +21383,9 @@ citadel_neutral_spawn_enabled
2131421383 citadel_neutral_spawn_interval_override
2131521384 citadel_neutral_spawn_range
2131621385 citadel_neutral_weakpoints_enabled
21386+citadel_new_abandon_rules_early_end_countdown
21387+citadel_new_abandon_rules_early_t1
21388+citadel_new_abandon_rules_early_time
2131721389 citadel_new_player_flow_finished can't be turned off (because of the callback) unless you reset the other new player convars. This allows you to turn it off.
2131821390 citadel_new_player_flow_visible
2131921391 citadel_new_player_progress
@@ -21370,6 +21442,7 @@ citadel_passthrough_fakewall_combat_lockout_time
2137021442 citadel_passthrough_fakewall_draw_debug
2137121443 citadel_pause
2137221444 citadel_pause_allow_immediate_if_single_player
21445+citadel_pause_allow_in_pregame
2137321446 citadel_pause_cooldown_time
2137421447 citadel_pause_count
2137521448 citadel_pause_countdown
@@ -21393,10 +21466,7 @@ citadel_ping_indicator_dis
This preview is truncated. The source commit contains the complete diff.
M
DumpSource2/commands.txt
+20-5
@@ -403,6 +403,9 @@ citadel_bot_give_all_abilities_base (developmentonly gamedll defensive)
403403 citadel_bot_give_team_gold (gamedll cheat)
404404 Give all bots on a particular team gold
405405
406+citadel_bot_kick (developmentonly gamedll defensive)
407+ Kick bot <name>
408+
406409 citadel_bot_list_ents (gamedll cheat)
407410 List ent id of all players that are bots in this game
408411
@@ -442,11 +445,11 @@ citadel_clear_all_post_process_effects (developmentonly clientdll defensive)
442445 citadel_clear_killstreak (developmentonly gamedll defensive)
443446 citadel_clear_killstreak [player_slot]
444447
445-citadel_commend_fake_received (developmentonly clientdll)
448+citadel_commend_fake_received (clientdll release)
446449 <no description>
447450
448-citadel_commend_player (developmentonly clientdll defensive)
449- <target account id> [match id]
451+citadel_commend_player (clientdll release)
452+ <target account id> [match id] [hero_id]
450453
451454 citadel_complete_new_player (clientdll release)
452455 [flag] Marks the new player state as complete
@@ -720,6 +723,9 @@ citadel_port_muzzles (developmentonly clientdll)
720723 citadel_post_game_force_hero_id (developmentonly clientdll defensive)
721724 <no description>
722725
726+citadel_pregame_hero_draft_test (developmentonly clientdll cheat)
727+ Test pregame draft
728+
723729 citadel_purchase_quickbuy (clientdll release)
724730 Purchase the next quickbuy item
725731
@@ -765,6 +771,12 @@ citadel_show_hero_debut_popup (developmentonly clientdll)
765771 citadel_show_hero_select_popup (developmentonly clientdll)
766772 <no description>
767773
774+citadel_show_ranked_history_page (developmentonly clientdll)
775+ <no description>
776+
777+citadel_show_ranked_season_page (developmentonly clientdll)
778+ <no description>
779+
768780 citadel_show_roster_select_popup (developmentonly clientdll)
769781 <no description>
770782
@@ -813,8 +825,8 @@ citadel_spew_active_movement_controller (developmentonly clientdll defensive)
813825 citadel_spew_player_modifiers (developmentonly clientdll defensive)
814826 Spews all modifiers on the local player
815827
816-citadel_start_calibration_bot_match (developmentonly clientdll defensive)
817- Starts a calibration match
828+citadel_start_new_player_placement_bot_match (developmentonly clientdll defensive)
829+ Starts a new_player_placement match
818830
819831 citadel_street_brawl_advance_state (developmentonly gamedll defensive)
820832 Advance the state of a street brawl game
@@ -837,6 +849,9 @@ citadel_tech_damage_vdata_tagging (developmentonly clientdll)
837849 citadel_tech_power_scaling_vdata_tweak (developmentonly clientdll)
838850 Command to tweak all ability tech power scaling, including ability upgrades. Pass in scale factor, with 1.0 being no change.
839851
852+citadel_test_abandon (developmentonly gamedll defensive)
853+ Test new abandon feature
854+
840855 citadel_test_banned_heroes_message (developmentonly clientdll defensive)
841856 Draws the banned heroes message
M
DumpSource2/convars.txt
+162-21
@@ -964,7 +964,7 @@ citadel_abandon_pregame_if_not_connected_in_s_streaming 120 (developmentonly gam
964964 citadel_abandon_pregame_if_not_connected_in_s_streaming_dev 120 (developmentonly gamedll defensive)
965965 After N seconds, if we don't have all the players connect to the match with the streaming map, the match will be abandoned. This only applies to the initial match start when going from players connecting to pregame, for dev
966966
967-citadel_abandon_time_for_match_not_scored 300 (developmentonly gamedll defensive)
967+citadel_abandon_time_for_match_not_scored 180 (developmentonly gamedll defensive)
968968 If someone abandons before this match time (in seconds), we will call the match forfeit and not update mmr for anyone in the match.
969969
970970 citadel_ability_busy_queue_time 0.25 (developmentonly gamedll clientdll replicated defensive)
@@ -1468,6 +1468,9 @@ citadel_bot_teamsense_homebase_range 75 (developmentonly gamedll replicated defe
14681468 citadel_bot_teamsense_pushed_range 20 (developmentonly gamedll replicated defensive)
14691469 Distance(m) from Objective to consider it pushed to
14701470
1471+citadel_bot_test_disconnect true (developmentonly gamedll)
1472+ <no description>
1473+
14711474 citadel_bot_test_mode false (gamedll replicated release)
14721475 Set citadel bots to be and in test mode (default idle)
14731476
@@ -1831,12 +1834,15 @@ citadel_client_solo_mm_keep_alive_check_s 45 (developmentonly clientdll defensiv
18311834 citadel_client_status_cycle_delay 4 (developmentonly clientdll)
18321835 <no description>
18331836
1834-citadel_commend_toast_enemy_seconds 4 (developmentonly clientdll)
1837+citadel_commend_toast_enemy_seconds 3 (developmentonly clientdll)
18351838 Number of seconds to show enemy commend toasts
18361839
1837-citadel_commend_toast_seconds 30 (developmentonly clientdll)
1840+citadel_commend_toast_seconds 5 (developmentonly clientdll)
18381841 Number of seconds to show commend toasts
18391842
1843+citadel_commend_use_toasts true (clientdll release)
1844+ Whether to use commend toasts (older) or the custom commend notification (newer)
1845+
18401846 citadel_cone_view_alpha 80 (developmentonly clientdll)
18411847 <no description>
18421848
@@ -2404,12 +2410,21 @@ citadel_event_timer_scale_on_direct_look 1.33 (developmentonly clientdll)
24042410 citadel_fake_bots_as_pinging_player false (gamedll cheat)
24052411 <no description>
24062412
2413+citadel_fake_brawl_losses -1 (developmentonly clientdll)
2414+ <no description>
2415+
2416+citadel_fake_brawl_wins -1 (developmentonly clientdll)
2417+ <no description>
2418+
24072419 citadel_fake_comms_ban_timestamp 0 (developmentonly clientdll)
24082420 <no description>
24092421
24102422 citadel_fake_death_gold false (developmentonly clientdll)
24112423 <no description>
24122424
2425+citadel_fake_losses -1 (developmentonly clientdll)
2426+ <no description>
2427+
24132428 citadel_fake_low_pri_games_remaining -1 (developmentonly clientdll)
24142429 <no description>
24152430
@@ -2431,6 +2446,9 @@ citadel_fake_report_ban_timestamp 0 (developmentonly clientdll)
24312446 citadel_fake_subrank_for_match -1 (developmentonly gamedll clientdll replicated)
24322447 Set what subrank you want to fake for the match. -1 is disabled
24332448
2449+citadel_fake_wins -1 (developmentonly clientdll)
2450+ <no description>
2451+
24342452 citadel_familiar_debug -1 (developmentonly gamedll clientdll replicated cheat)
24352453 <no description>
24362454
@@ -2701,6 +2719,15 @@ citadel_hideout_exclusive_mode true (developmentonly clientdll)
27012719 citadel_hideout_hero_id 63 (clientdll archive release)
27022720 <no description>
27032721
2722+citadel_hideout_in_world_ranked_doodle -1 (developmentonly clientdll)
2723+ <no description>
2724+
2725+citadel_hideout_in_world_ranked_fake_eligible_heroes -1 (developmentonly clientdll)
2726+ <no description>
2727+
2728+citadel_hideout_in_world_ranked_fake_last_match false (developmentonly clientdll)
2729+ <no description>
2730+
27042731 citadel_hideout_intro_dismiss_escape_only false (developmentonly clientdll)
27052732 <no description>
27062733
@@ -2911,8 +2938,11 @@ citadel_koth_warning_time 20 (gamedll clientdll replicated cheat)
29112938 citadel_lane_matchups_mmr_variance 0 (gamedll release)
29122939 specifies how much of a gap between MMR's we allow to randomize lane assignment
29132940
2914-citadel_lane_swap_available_duration 40 (gamedll clientdll replicated cheat)
2915- How long lane swap is available, including pre-match time. Set to 0 to disable.
2941+citadel_lane_swap_available_duration 0 (gamedll clientdll replicated cheat)
2942+ How long lane swap is available in-game. Set to 0 to disable, -1 for infinity.
2943+
2944+citadel_lane_swap_available_duration_prematch -1 (gamedll clientdll replicated cheat)
2945+ How long lane swap is available in pre-game wait. Set to 0 to disable, -1 for infinity.
29162946
29172947 citadel_language_and_english_hero_names "" (developmentonly clientdll defensive)
29182948 For data gathering.
@@ -3001,7 +3031,7 @@ citadel_match_details_flip_teams false (developmentonly clientdll)
30013031 citadel_match_details_lane_stats_time 540 (developmentonly clientdll)
30023032 <no description>
30033033
3004-citadel_match_history_failure_delay_s 3 (developmentonly clientdll defensive)
3034+citadel_match_history_cache_duration_s 300 (developmentonly clientdll defensive)
30053035 <no description>
30063036
30073037 citadel_match_intro_duration_full 23 (gamedll cheat)
@@ -3235,6 +3265,15 @@ citadel_neutral_spawn_range 100 (developmentonly gamedll)
32353265 citadel_neutral_weakpoints_enabled false (developmentonly gamedll)
32363266 <no description>
32373267
3268+citadel_new_abandon_rules_early_end_countdown 10 (developmentonly gamedll clientdll replicated defensive)
3269+ [New Abandon Rules] Auto-match end countdown.
3270+
3271+citadel_new_abandon_rules_early_t1 false (developmentonly gamedll defensive)
3272+ [New Abandon Rules] Abandon is considered 'early' if this is before the first T1 kill, no matter the match time.
3273+
3274+citadel_new_abandon_rules_early_time 300 (developmentonly gamedll defensive)
3275+ [New Abandon Rules] Time for the 'early' trigger to take effect. Match will not be scored, etc.
3276+
32383277 citadel_new_player_flow_visible true (clientdll archive release)
32393278 Are we still showing the new player instructions
32403279
@@ -3373,6 +3412,9 @@ citadel_passthrough_fakewall_draw_debug false (developmentonly gamedll defensive
33733412 citadel_pause_allow_immediate_if_single_player false (developmentonly gamedll defensive)
33743413 When there is only a single player on the server, set whether or not we allow for instant pausing/unpausing
33753414
3415+citadel_pause_allow_in_pregame false (developmentonly gamedll)
3416+ Allow pausing in the pregame state
3417+
33763418 citadel_pause_cooldown_time 900 (developmentonly gamedll defensive)
33773419 Number of seconds before a player is allowed to pause again
33783420
@@ -3388,7 +3430,7 @@ citadel_pause_force_unpause_time 10800 (developmentonly gamedll defensive)
33883430 citadel_pause_game_pause_silently false (developmentonly clientdll defensive)
33893431 When set, we don't show the pause dialog when paused
33903432
3391-citadel_pause_matchtime_before_allow 0 (developmentonly gamedll defensive)
3433+citadel_pause_matchtime_before_allow 120 (developmentonly gamedll defensive)
33923434 How much match time before pausing is allowed by clients
33933435
33943436 citadel_pause_minimum_time 2 (gamedll cheat)
@@ -3442,18 +3484,9 @@ citadel_ping_indicator_duration_for_bosses 2 (developmentonly clientdll)
34423484 citadel_ping_wheel_activation_radius 0.37 (developmentonly clientdll)
34433485 LEGACY. See: citadel_show_chat_wheel_angle_threshold. Increase this to change how much you have to move your mouse to make the mousewheel visible.
34443486
3445-citadel_play_page_fake_brawl_wins 0 (developmentonly clientdll)
3446- <no description>
3447-
34483487 citadel_play_page_fake_data false (developmentonly clientdll)
34493488 <no description>
34503489
3451-citadel_play_page_fake_normal_losses 0 (developmentonly clientdll)
3452- <no description>
3453-
3454-citadel_play_page_fake_normal_wins 0 (developmentonly clientdll)
3455- <no description>
3456-
34573490 citadel_play_page_finished_tutorial false (developmentonly clientdll)
34583491 <no description>
34593492
@@ -3784,12 +3817,30 @@ citadel_portrait_unit_ag2_enable true (developmentonly clientdll)
37843817 citadel_portrait_world_renderer_off false (developmentonly clientdll)
37853818 <no description>
37863819
3820+citadel_post_game_fake_local_account_id 0 (developmentonly clientdll)
3821+ <no description>
3822+
3823+citadel_post_game_fake_local_hero "" (developmentonly clientdll)
3824+ Name of the hero that should be faked as the local player
3825+
37873826 citadel_post_game_local_player_screen_enabled false (developmentonly clientdll)
37883827 <no description>
37893828
3829+citadel_post_game_mvp_screen_enabled true (developmentonly clientdll)
3830+ <no description>
3831+
37903832 citadel_post_game_progress 0 (developmentonly clientdll)
37913833 -1 = force disabled, 0 = default, 1 = force enabled
37923834
3835+citadel_post_game_progress_use_test_data false (developmentonly clientdll)
3836+ <no description>
3837+
3838+citadel_post_game_ranked_screen_enabled true (developmentonly clientdll)
3839+ <no description>
3840+
3841+citadel_post_game_reset_commend_state false (developmentonly clientdll)
3842+ Temporarily resets the commend state for testing (will get set to false after a commend is triggered)
3843+
37933844 citadel_postgame_duration 10 (gamedll cheat)
37943845 How long postgame lasts until play of the game
37953846
@@ -3805,7 +3856,7 @@ citadel_powerup_spawn_interval_override -1 (developmentonly gamedll)
38053856 citadel_powerup_spawner_show_event_timer false (developmentonly clientdll replicated)
38063857 <no description>
38073858
3808-citadel_pregame_fake_game_state -1 (developmentonly clientdll)
3859+citadel_pregame_fake_game_state "EGameState_Invalid" (developmentonly clientdll)
38093860 <no description>
38103861
38113862 citadel_pregame_fake_match_intro_duration 23 (developmentonly clientdll)
@@ -3820,13 +3871,40 @@ citadel_pregame_fake_team_reveal_heroes_1 "" (developmentonly clientdll)
38203871 citadel_pregame_fake_team_reveal_heroes_2 "" (developmentonly clientdll)
38213872 Comma separated hero names or hero ids for the team reveal screen.
38223873
3874+citadel_pregame_hero_draft_force_enabled false (developmentonly gamedll clientdll replicated)
3875+ Turn on pre-game hero draft for testing
3876+
3877+citadel_pregame_hero_draft_notification_time 8 (developmentonly clientdll)
3878+ <no description>
3879+
3880+citadel_pregame_hero_draft_num_changes 1 (developmentonly gamedll clientdll replicated)
3881+ Number of per-player hero changes allowed during pregame hero draft
3882+
3883+citadel_pregame_hero_draft_ranked true (developmentonly gamedll clientdll replicated)
3884+ Turn on pre-game hero draft in ranked mode
3885+
3886+citadel_pregame_hero_draft_unranked false (developmentonly gamedll clientdll replicated)
3887+ Turn on pre-game hero draft in unranked mode
3888+
38233889 citadel_pregame_hero_reveal_duration 7 (developmentonly clientdll)
38243890 <no description>
38253891
38263892 citadel_pregame_hero_reveal_full_sequence false (developmentonly clientdll)
38273893 <no description>
38283894
3829-citadel_pregame_wait_duration 5 (gamedll cheat)
3895+citadel_pregame_ranked_summary_force_enabled false (developmentonly clientdll)
3896+ <no description>
3897+
3898+citadel_pregame_ranked_summary_test_state -1 (developmentonly clientdll)
3899+ <no description>
3900+
3901+citadel_pregame_ranked_summary_time 10 (developmentonly gamedll clientdll replicated)
3902+ <no description>
3903+
3904+citadel_pregame_use_intro_spawn false (developmentonly gamedll defensive)
3905+ Whether to use the special intro team spawn locations during pregame
3906+
3907+citadel_pregame_wait_duration 30 (gamedll cheat)
38303908 How long pre-match is until we start the match
38313909
38323910 citadel_previous_umuted_audio_level 1 (clientdll archive)
@@ -3919,6 +3997,54 @@ citadel_radial_distortion_growth_factor 1.25 (developmentonly clientdll defensiv
39193997 citadel_radial_testing 0 (developmentonly clientdll defensive)
39203998 0: Normal. 1: Inhibit showing the hud abilities' upgrade panel when the scoreboard is open.
39213999
4000+citadel_ranked_allow_overrides true (developmentonly clientdll)
4001+ <no description>
4002+
4003+citadel_ranked_hero_roster "" (clientdll archive release)
4004+ A comma separated list of hero IDs that hold the currently selected brawl roster heroes
4005+
4006+citadel_ranked_hero_roster_banned "" (clientdll archive release)
4007+ A comma separated list of hero IDs that hold the currently banned brawl roster heroes
4008+
4009+citadel_ranked_hero_roster_high_priority "" (clientdll archive release)
4010+ A comma separated list of hero IDs that hold the currently high priority brawl roster heroes
4011+
4012+citadel_ranked_hero_roster_preferred "" (clientdll archive release)
4013+ A comma separated list of hero IDs that hold the currently preferred brawl roster heroes
4014+
4015+citadel_ranked_hero_roster_random false (clientdll archive release)
4016+ Is the brawl hero roster set to random
4017+
4018+citadel_ranked_progress_fake_calibration_games -1 (developmentonly clientdll)
4019+ <no description>
4020+
4021+citadel_ranked_progress_fake_demotion_protection_games -1 (developmentonly clientdll)
4022+ <no description>
4023+
4024+citadel_ranked_progress_fake_match_count -1 (developmentonly clientdll)
4025+ <no description>
4026+
4027+citadel_ranked_progress_fake_max_rank -1 (developmentonly clientdll)
4028+ <no description>
4029+
4030+citadel_ranked_progress_fake_missing false (developmentonly clientdll)
4031+ <no description>
4032+
4033+citadel_ranked_progress_fake_rank -1 (developmentonly clientdll)
4034+ <no description>
4035+
4036+citadel_ranked_progress_fake_win_mask -1 (developmentonly clientdll)
4037+ <no description>
4038+
4039+citadel_ranked_progress_fake_win_streak -1 (developmentonly clientdll)
4040+ <no description>
4041+
4042+citadel_ranked_season_match_history_fake_rank_changes false (developmentonly clientdll)
4043+ Turn to show fake versions of the rank history
4044+
4045+citadel_ranked_season_match_history_unfiltered false (developmentonly clientdll)
4046+ Turn on to show all matches in the ranked season view, not just matches from that ranked season.
4047+
39224048 citadel_rapid_stamina_regen false (gamedll clientdll replicated cheat)
39234049 <no description>
39244050
@@ -3976,6 +4102,9 @@ citadel_restore_components_only_during_sellback true (developmentonly gamedll cl
39764102 citadel_roster_select_force_enable_priority_token false (developmentonly clientdll)
39774103 <no description>
39784104
4105+citadel_roster_select_force_select_any false (developmentonly clientdll)
4106+ <no description>
4107+
39794108 citadel_roster_select_hover_delay 0.2 (developmentonly clientdll)
39804109 <no description>
39814110
@@ -4228,9 +4357,6 @@ citadel_spoof_match_in_progress false (developmentonly clientdll)
42284357 citadel_spoof_matchmaking_status -1 (developmentonly clientdll)
42294358 <no description>
42304359
4231-citadel_spoof_num_matches_on_profile -1 (developmentonly clientdll)
4232- <no description>
4233-
42344360 citadel_spoof_persona_name "" (developmentonly clientdll)
42354361 Allows overriding persona names with this value for testing UI
42364362
@@ -4699,6 +4825,12 @@ citadel_ui_fake_active_matches 0 (developmentonly clientdll)
46994825 citadel_ui_fake_invite_parties 0 (developmentonly clientdll)
47004826 Set to > 0 to add dummy parties that have invites
47014827
4828+citadel_ui_hero_badge_debug_xp -1 (developmentonly clientdll)
4829+ Force XP value for all badges (client only)
4830+
4831+citadel_ui_show_hero_progression false (developmentonly clientdll archive)
4832+ Show hero progression UI (i.e. hero levels)
4833+
47024834 citadel_ui_spoof_active_match_bot_account 0 (developmentonly clientdll)
47034835 When set to non-zero, it will use this account as the account for bots to test UI on the active match
47044836
@@ -4885,6 +5017,15 @@ citadel_use_fake_lobby_signout_details false (developmentonly gamedll)
48855017 citadel_use_hold_sprint false (developmentonly gamedll clientdll replicated defensive)
48865018 Use hold sprint ability?
48875019
5020+citadel_use_new_abandon_rules_force_enabled false (developmentonly gamedll defensive)
5021+ <no description>
5022+
5023+citadel_use_new_abandon_rules_ranked true (developmentonly gamedll defensive)
5024+ <no description>
5025+
5026+citadel_use_new_abandon_rules_unranked true (developmentonly gamedll defensive)
5027+ <no description>
5028+
48885029 citadel_use_new_minimap true (developmentonly clientdll)
48895030 Turns on/off the new minimap
M
DumpSource2/module_metadata/client.kv3
+32-1
@@ -45,7 +45,7 @@
4545 name = "LoadingScreenManifest_global_client"
4646 group = "GameStartup"
4747 source_file = "src/game/client/citadel/ui/citadel_loading_screen_main.cpp"
48- source_line = 10
48+ source_line = 11
4949 resources =
5050 [
5151 resource_name:"panorama/images/control_icons/spinner_png.vtex",
@@ -430,6 +430,16 @@
430430 resource_name:"scripts/scenes.vdata",
431431 ]
432432 },
433+ {
434+ name = "RankedDataManifest_global_client"
435+ group = "GameStartup"
436+ source_file = "src/game/shared/citadel/citadel_ranked_schema.cpp"
437+ source_line = 36
438+ resources =
439+ [
440+ resource_name:"scripts/ranked_seasons.vdata",
441+ ]
442+ },
433443 {
434444 name = "PhysicsGameSystemManifest_client"
435445 group = ""
@@ -492,6 +502,27 @@
492502 resource_name:"materials/dev/zipline_outer_glow.vmat",
493503 ]
494504 },
505+ {
506+ name = "RankedModelManifest_global_client"
507+ group = "GameStartup"
508+ source_file = "src/game/shared/citadel/citadel_ranked_badge_entities.cpp"
509+ source_line = 19
510+ resources =
511+ [
512+ resource_name:"models/hideout/hideout_ranked_badge_obscurus.vmdl",
513+ resource_name:"models/hideout/hideout_ranked_badge_wood.vmdl",
514+ resource_name:"models/hideout/hideout_ranked_badge_iron.vmdl",
515+ resource_name:"models/hideout/hideout_ranked_badge_steel.vmdl",
516+ resource_name:"models/hideout/hideout_ranked_badge_bronze.vmdl",
517+ resource_name:"models/hideout/hideout_ranked_badge_silver.vmdl",
518+ resource_name:"models/hideout/hideout_ranked_badge_gold.vmdl",
519+ resource_name:"models/hideout/hideout_ranked_badge_platinum.vmdl",
520+ resource_name:"models/hideout/hideout_ranked_badge_diamond.vmdl",
521+ resource_name:"models/hideout/hideout_ranked_badge_phantom.vmdl",
522+ resource_name:"models/hideout/hideout_ranked_badge_ascendent.vmdl",
523+ resource_name:"models/hideout/hideout_ranked_badge_eternus.vmdl",
524+ ]
525+ },
495526 {
496527 name = "CitadelGameStatePostProcessingManifest"
497528 group = "GameStartup"
M
DumpSource2/module_metadata/server.kv3
+165-2
@@ -195,6 +195,16 @@
195195 resource_name:"scripts/scenes.vdata",
196196 ]
197197 },
198+ {
199+ name = "RankedDataManifest_global_server"
200+ group = "GameStartup"
201+ source_file = "src/game/shared/citadel/citadel_ranked_schema.cpp"
202+ source_line = 36
203+ resources =
204+ [
205+ resource_name:"scripts/ranked_seasons.vdata",
206+ ]
207+ },
198208 {
199209 name = "PhysicsGameSystemManifest_server"
200210 group = ""
@@ -228,6 +238,27 @@
228238 resource_name:"dev/panorama_world_panel_hint_ui.vmat",
229239 ]
230240 },
241+ {
242+ name = "RankedModelManifest_global_server"
243+ group = "GameStartup"
244+ source_file = "src/game/shared/citadel/citadel_ranked_badge_entities.cpp"
245+ source_line = 19
246+ resources =
247+ [
248+ resource_name:"models/hideout/hideout_ranked_badge_obscurus.vmdl",
249+ resource_name:"models/hideout/hideout_ranked_badge_wood.vmdl",
250+ resource_name:"models/hideout/hideout_ranked_badge_iron.vmdl",
251+ resource_name:"models/hideout/hideout_ranked_badge_steel.vmdl",
252+ resource_name:"models/hideout/hideout_ranked_badge_bronze.vmdl",
253+ resource_name:"models/hideout/hideout_ranked_badge_silver.vmdl",
254+ resource_name:"models/hideout/hideout_ranked_badge_gold.vmdl",
255+ resource_name:"models/hideout/hideout_ranked_badge_platinum.vmdl",
256+ resource_name:"models/hideout/hideout_ranked_badge_diamond.vmdl",
257+ resource_name:"models/hideout/hideout_ranked_badge_phantom.vmdl",
258+ resource_name:"models/hideout/hideout_ranked_badge_ascendent.vmdl",
259+ resource_name:"models/hideout/hideout_ranked_badge_eternus.vmdl",
260+ ]
261+ },
231262 {
232263 name = "CCitadel_GamePingWheelData_global_server"
233264 group = "GameStartup"
@@ -367,7 +398,7 @@
367398 "@lib:server.dll!CBaseTriggerAPI" = 2728627856
368399 "@lib:server.dll!CCitadel_InfoTrooperSpawnAPI" = 1962868602
369400 "@lib:server.dll!CCitadel_PickupItemSpawnerAPI" = 65945985
370- "@lib:server.dll!CCitadelPointPulseAPI" = 2655435330
401+ "@lib:server.dll!CCitadelPointPulseAPI" = 2526833106
371402 "@lib:server.dll!CFilterMultipleAPI" = 988869233
372403 "@lib:server.dll!CFuncMoverAPI" = 3816299413
373404 "@lib:server.dll!CLogicRelayAPI" = 555225203
@@ -439,6 +470,9 @@
439470 "@type:server.dll!PVAL_SCHEMA_ENUM:ChoreoLookAtMode_t" = 1855753749
440471 "@type:server.dll!PVAL_SCHEMA_ENUM:ChoreoLookAtSpeed_t" = 4241769962
441472 "@type:server.dll!PVAL_SCHEMA_ENUM:DamageTypes_t" = 2170947975
473+ "@type:server.dll!PVAL_SCHEMA_ENUM:ECitadelGameMode" = 4267472791
474+ "@type:server.dll!PVAL_SCHEMA_ENUM:ECitadelMatchMode" = 1217247979
475+ "@type:server.dll!PVAL_SCHEMA_ENUM:EGameState" = 1093534349
442476 "@type:server.dll!PVAL_SCHEMA_ENUM:EStreetBrawlGameState" = 62714967
443477 "@type:server.dll!PVAL_SCHEMA_ENUM:HitGroup_t" = 3817317871
444478 "@type:server.dll!PVAL_SCHEMA_ENUM:MoveType_t" = 831783037
@@ -4982,6 +5016,53 @@
49825016 m_Outputs = [ ]
49835017 m_Helpers = [ ]
49845018 }
5019+ "CCitadelPointPulseAPI::GetGameMode" =
5020+ {
5021+ m_BaseClasses = [ ]
5022+ m_FriendlyName = "Get Game Mode"
5023+ m_Description = "Get the game mode"
5024+ m_MetaData =
5025+ {
5026+ supported_domains =
5027+ {
5028+ ServerEntity = true
5029+ }
5030+ scope_to_dependency_name =
5031+ {
5032+ server.dll = "@lib:server.dll!CCitadelPointPulseAPI"
5033+ }
5034+ pulse_inparams = null
5035+ pulse_outparams =
5036+ {
5037+ retval =
5038+ {
5039+ friendly_name = "Result"
5040+ description = ""
5041+ advanced_view = false
5042+ metadata = null
5043+ type = "PVAL_SCHEMA_ENUM:ECitadelGameMode"
5044+ default_value =
5045+ [
5046+ "PVAL_VOID",
5047+ ]
5048+ associated_outflow_name = "OutDefault"
5049+ direct_return_value_for = "CCitadelPointPulseAPI::GetGameMode"
5050+ }
5051+ }
5052+ generic_node_category = 4
5053+ is_pulse_library_method = true
5054+ }
5055+ m_HelpContextName = ""
5056+ m_nClassType = "vdata"
5057+ m_rgbColor = [ 220, 30, 220 ]
5058+ m_bmins = [ -8.0, -8.0, -8.0 ]
5059+ m_bmaxs = [ 8.0, 8.0, 8.0 ]
5060+ m_Tags = [ ]
5061+ m_Variables = [ ]
5062+ m_Inputs = [ ]
5063+ m_Outputs = [ ]
5064+ m_Helpers = [ ]
5065+ }
49855066 "CCitadelPointPulseAPI::GetHideoutOwnerHasSeasonalAward2024" =
49865067 {
49875068 m_BaseClasses = [ ]
@@ -5170,6 +5251,60 @@
51705251 m_Outputs = [ ]
51715252 m_Helpers = [ ]
51725253 }
5254+ "CCitadelPointPulseAPI::OnGameStateChanged" =
5255+ {
5256+ m_BaseClasses = [ ]
5257+ m_FriendlyName = "OnGameStateChanged"
5258+ m_Description = "Fired when the game state changes (in all game modes)."
5259+ m_MetaData =
5260+ {
5261+ supported_domains =
5262+ {
5263+ ServerEntity = true
5264+ }
5265+ scope_to_dependency_name =
5266+ {
5267+ server.dll = "@lib:server.dll!CCitadelPointPulseAPI"
5268+ }
5269+ pulse_outparams =
5270+ {
5271+ eState =
5272+ {
5273+ friendly_name = "State"
5274+ description = ""
5275+ advanced_view = false
5276+ metadata = null
5277+ type = "PVAL_SCHEMA_ENUM:EGameState"
5278+ default_value =
5279+ [
5280+ "PVAL_VOID",
5281+ ]
5282+ associated_inflow_name = "CCitadelPointPulseAPI::OnGameStateChanged"
5283+ }
5284+ }
5285+ is_pulse_global_event = true
5286+ is_spontaneous = true
5287+ generic_node_category = 5
5288+ pulse_outflows =
5289+ [
5290+ {
5291+ name = "OutDefault"
5292+ friendly_name = "Default Out"
5293+ is_default_outflow = true
5294+ },
5295+ ]
5296+ }
5297+ m_HelpContextName = ""
5298+ m_nClassType = "vdata"
5299+ m_rgbColor = [ 220, 30, 220 ]
5300+ m_bmins = [ -8.0, -8.0, -8.0 ]
5301+ m_bmaxs = [ 8.0, 8.0, 8.0 ]
5302+ m_Tags = [ ]
5303+ m_Variables = [ ]
5304+ m_Inputs = [ ]
5305+ m_Outputs = [ ]
5306+ m_Helpers = [ ]
5307+ }
51735308 "CCitadelPointPulseAPI::OnHideoutLobbyChanged" =
51745309 {
51755310 m_BaseClasses = [ ]
@@ -5263,7 +5398,35 @@
52635398 {
52645399 server.dll = "@lib:server.dll!CCitadelPointPulseAPI"
52655400 }
5266- pulse_outparams = null
5401+ pulse_outparams =
5402+ {
5403+ eMatchMode =
5404+ {
5405+ friendly_name = "Match Mode"
5406+ description = ""
5407+ advanced_view = false
5408+ metadata = null
5409+ type = "PVAL_SCHEMA_ENUM:ECitadelMatchMode"
5410+ default_value =
5411+ [
5412+ "PVAL_VOID",
5413+ ]
5414+ associated_inflow_name = "CCitadelPointPulseAPI::OnStartMatchmaking"
5415+ }
5416+ eGameMode =
5417+ {
5418+ friendly_name = "Game Mode"
5419+ description = ""
5420+ advanced_view = false
5421+ metadata = null
5422+ type = "PVAL_SCHEMA_ENUM:ECitadelGameMode"
5423+ default_value =
5424+ [
5425+ "PVAL_VOID",
5426+ ]
5427+ associated_inflow_name = "CCitadelPointPulseAPI::OnStartMatchmaking"
5428+ }
5429+ }
52675430 is_pulse_global_event = true
52685431 is_spontaneous = true
52695432 generic_node_category = 5
A
DumpSource2/schemas/client/CCitadelLocalPlayerRankedBadgeProp.h
+5-0
@@ -0,0 +1,5 @@
1+// MEntityAllowsPortraitWorldSpawn
2+class CCitadelLocalPlayerRankedBadgeProp : public C_BaseEntity
3+{
4+ CHandle< CCitadelRankedBadgeProp > m_hBadgeProp;
5+};
A
DumpSource2/schemas/client/CCitadelPregameHeroDraftButton.h
+3-0
@@ -0,0 +1,3 @@
1+class CCitadelPregameHeroDraftButton : public C_DynamicProp
2+{
3+};
A
DumpSource2/schemas/client/CCitadelRankedBadgeProp.h
+7-0
@@ -0,0 +1,7 @@
1+// MEntityAllowsPortraitWorldSpawn
2+// MNetworkVarNames = "PackedRank_t m_unPackedRank"
3+class CCitadelRankedBadgeProp : public C_DynamicProp
4+{
5+ // MNetworkEnable
6+ PackedRank_t m_unPackedRank;
7+};
M
DumpSource2/schemas/client/CCitadel_Modifier_PreMatchWait.h
+0-1
@@ -1,4 +1,3 @@
11 class CCitadel_Modifier_PreMatchWait : public CCitadelModifier
22 {
3- Vector m_vSpawnPoint;
43 };
M
DumpSource2/schemas/client/CInfoOffscreenPanoramaTexture.h
+3-0
@@ -1,5 +1,6 @@
11 // MEntityAllowsPortraitWorldSpawn
22 // MNetworkVarNames = "bool m_bDisabled"
3+// MNetworkVarNames = "bool m_bEnableMipGen"
34 // MNetworkVarNames = "int m_nResolutionX"
45 // MNetworkVarNames = "int m_nResolutionY"
56 // MNetworkVarNames = "string_t m_szPanelType"
@@ -13,6 +14,8 @@ class CInfoOffscreenPanoramaTexture : public C_PointEntity
1314 // MNetworkEnable
1415 bool m_bDisabled;
1516 // MNetworkEnable
17+ bool m_bEnableMipGen;
18+ // MNetworkEnable
1619 int32 m_nResolutionX;
1720 // MNetworkEnable
1821 int32 m_nResolutionY;
A
DumpSource2/schemas/client/CRankedSeasonDefinition.h
+27-0
@@ -0,0 +1,27 @@
1+// MGetKV3ClassDefaults = {
2+// "m_strSeasonLocName": "",
3+// "m_eRankedType": "k_eCitadelRankedType_Invalid",
4+// "m_vecIntervals":
5+// [
6+// ],
7+// "m_vecValidPartySizes":
8+// [
9+// ],
10+// "m_bCanPartyInCalibration": false,
11+// "m_unMinWins": 0,
12+// "m_unMinHeroWins": 0,
13+// "m_unMinHeroUnlocks": 0,
14+// "m_unCalibrationMatches": 0
15+//}
16+class CRankedSeasonDefinition
17+{
18+ CUtlString m_strSeasonLocName;
19+ ECitadelRankedType m_eRankedType;
20+ CUtlVector< CRankedSeasonIntervalDefinition > m_vecIntervals;
21+ CUtlVector< uint8 > m_vecValidPartySizes;
22+ bool m_bCanPartyInCalibration;
23+ uint32 m_unMinWins;
24+ uint32 m_unMinHeroWins;
25+ uint32 m_unMinHeroUnlocks;
26+ uint32 m_unCalibrationMatches;
27+};
A
DumpSource2/schemas/client/CRankedSeasonIntervalDefinition.h
+11-0
@@ -0,0 +1,11 @@
1+// MGetKV3ClassDefaults = {
2+// "m_unInterval": 0,
3+// "m_rtIntervalStartTimestamp": 0,
4+// "m_rtIntervalEndTimestamp": 0
5+//}
6+class CRankedSeasonIntervalDefinition
7+{
8+ RankInterval_t m_unInterval;
9+ uint32 m_rtIntervalStartTimestamp;
10+ uint32 m_rtIntervalEndTimestamp;
11+};
M
DumpSource2/schemas/client/C_CitadelGameRules.h
+12-5
@@ -15,6 +15,9 @@
1515 // MNetworkVarNames = "Vector m_vMinimapMaxs"
1616 // MNetworkVarNames = "bool m_bMatchSafeToAbandon"
1717 // MNetworkVarNames = "bool m_bMatchNotScored"
18+// MNetworkVarNames = "GameTime_t m_tAbandonTriggerEarlyTime"
19+// MNetworkVarNames = "bool m_bAbandonTriggerSapphire"
20+// MNetworkVarNames = "bool m_bAbandonTriggerAmber"
1821 // MNetworkVarNames = "bool m_bNoDeathEnabled"
1922 // MNetworkVarNames = "bool m_bFastCooldownsEnabled"
2023 // MNetworkVarNames = "bool m_bStaminaCooldownsEnabled"
@@ -28,6 +31,7 @@
2831 // MNetworkVarNames = "AccountID_t m_nHideoutOwner"
2932 // MNetworkVarNames = "CHandle<CCitadelTrooperMinimap> m_hTrooperMinimap"
3033 // MNetworkVarNames = "CitadelTeam_t m_iWinningTeam"
34+// MNetworkVarNames = "HeroID_t m_vecBannedHeroes"
3135 // MNetworkVarNames = "TeamKothState_t m_vecTeamKothStates"
3236 // MNetworkVarNames = "CitadelTeam_t m_nKothScoringTeam"
3337 // MNetworkVarNames = "GameTime_t m_timeKothScoring"
@@ -47,7 +51,6 @@
4751 // MNetworkVarNames = "int m_nMatchClockUpdateTick"
4852 // MNetworkVarNames = "float m_flMatchClockAtLastUpdate"
4953 // MNetworkVarNames = "float m_fUnpauseRawTime"
50-// MNetworkVarNames = "bool m_bRequiresReportCardDismissal"
5154 // MNetworkVarNames = "int m_eGGTeam"
5255 // MNetworkVarNames = "GameTime_t m_flGGEndsAtTime"
5356 // MNetworkVarNames = "MatchID_t m_unMatchID"
@@ -95,6 +98,12 @@ class C_CitadelGameRules : public C_TeamplayRules
9598 // MNetworkEnable
9699 bool m_bMatchNotScored;
97100 // MNetworkEnable
101+ GameTime_t m_tAbandonTriggerEarlyTime;
102+ // MNetworkEnable
103+ bool m_bAbandonTriggerSapphire;
104+ // MNetworkEnable
105+ bool m_bAbandonTriggerAmber;
106+ // MNetworkEnable
98107 bool m_bNoDeathEnabled;
99108 // MNetworkEnable
100109 bool m_bFastCooldownsEnabled;
@@ -121,6 +130,8 @@ class C_CitadelGameRules : public C_TeamplayRules
121130 // MNetworkEnable
122131 int32 m_iWinningTeam;
123132 // MNetworkEnable
133+ C_NetworkUtlVectorBase< HeroID_t > m_vecBannedHeroes;
134+ // MNetworkEnable
124135 C_UtlVectorEmbeddedNetworkVar< TeamKothState_t > m_vecTeamKothStates;
125136 // MNetworkEnable
126137 int32 m_nKothScoringTeam;
@@ -169,10 +180,6 @@ class C_CitadelGameRules : public C_TeamplayRules
169180 // MNetworkEnable
170181 float32 m_fUnpauseRawTime;
171182 float32 m_fUnpauseCurTime;
172- // MNetworkEnable
173- bool m_bRequiresReportCardDismissal;
174- GameTime_t m_flPreGameWaitEndTime;
175- GameTime_t m_flReportCardDismissalWaitStart;
176183 int32 m_nLastPreGameCount;
177184 // MNetworkEnable
178185 int32 m_eGGTeam;
M
DumpSource2/schemas/client/C_CitadelPlayerPawn.h
+4-0
@@ -6,6 +6,7 @@
66 // MNetworkVarNames = "int32 m_nLevel"
77 // MNetworkVarNames = "int32 m_nCurrencies"
88 // MNetworkVarNames = "int32 m_nSpentCurrencies"
9+// MNetworkVarNames = "int m_nNumHeroChangesUsed"
910 // MNetworkVarNames = "GameTime_t m_flLastSpawnTime"
1011 // MNetworkVarNames = "GameTime_t m_flRespawnTime"
1112 // MNetworkVarNames = "bool m_bInRegenerationZone"
@@ -84,6 +85,9 @@ class C_CitadelPlayerPawn : public CCitadelPlayerPawnBase
8485 // MNetworkEnable
8586 int32[6] m_nSpentCurrencies;
8687 // MNetworkEnable
88+ // MNetworkUserGroup = "LocalPlayerExclusive"
89+ int32 m_nNumHeroChangesUsed;
90+ // MNetworkEnable
8791 GameTime_t m_flLastSpawnTime;
8892 // MNetworkEnable
8993 // MNetworkChangeCallback = "RespawnTimeChanged"
A
DumpSource2/schemas/client/CitadelBadgeRank_t.h
+17-0
@@ -0,0 +1,17 @@
1+enum CitadelBadgeRank_t : uint32_t
2+{
3+ Citadel_RankInvalid = -1,
4+ Citadel_Unranked = 0,
5+ Citadel_Rank1 = 1,
6+ Citadel_Rank2 = 2,
7+ Citadel_Rank3 = 3,
8+ Citadel_Rank4 = 4,
9+ Citadel_Rank5 = 5,
10+ Citadel_Rank6 = 6,
11+ Citadel_Rank7 = 7,
12+ Citadel_Rank8 = 8,
13+ Citadel_Rank9 = 9,
14+ Citadel_Rank10 = 10,
15+ Citadel_Rank11 = 11,
16+ Citadel_RankMax = 11,
17+};
A
DumpSource2/schemas/client/CitadelBadgeSubRank_t.h
+11-0
@@ -0,0 +1,11 @@
1+enum CitadelBadgeSubRank_t : uint32_t
2+{
3+ Citadel_SubRankInvalid = 0,
4+ Citadel_SubRank1 = 1,
5+ Citadel_SubRank2 = 2,
6+ Citadel_SubRank3 = 3,
7+ Citadel_SubRank4 = 4,
8+ Citadel_SubRank5 = 5,
9+ Citadel_SubRank6 = 6,
10+ Citadel_SubRankMax = 6,
11+};
M
DumpSource2/schemas/client/CitadelMusicChord_t.h
+3-1
@@ -4,12 +4,14 @@
44 // "m_nNumOctaves": 1,
55 // "m_ChordVoicing":
66 // [
7-// ]
7+// ],
8+// "m_strRenderedChordEvent": ""
89 //}
910 class CitadelMusicChord_t
1011 {
1112 float32 m_flStartTime;
1213 CitadelArpeggiatorMode_t m_ArpeggiatorMode;
1314 uint8 m_nNumOctaves;
1415 CUtlVector< CitadelMidiNotePitch_t > m_ChordVoicing;
16+ CUtlString m_strRenderedChordEvent;
1517 };
M
DumpSource2/schemas/client/CitadelUserMessageIds.h
+1-0
@@ -60,4 +60,5 @@ enum CitadelUserMessageIds : uint32_t
6060 k_EUserMsg_ItemDraftReaction = 364,
6161 k_EUserMsg_ImportantAbilityUsed = 365,
6262 k_EUserMsg_BannedHeroes = 366,
63+ k_EUserMsg_ChangeHeroStatus = 370,
6364 };
M
DumpSource2/schemas/client/Class_T.h
+3-1
@@ -109,5 +109,7 @@ enum Class_T : uint32_t
109109 CLASS_MATCH_INTRO_HERO_CARD = 106,
110110 CLASS_SMALL_DEPLOYABLE = 107,
111111 CLASS_PLAYER_SPRAY = 108,
112- NUM_CLASSIFY_CLASSES = 109,
112+ CLASS_RANKED_BADGE_PROP = 109,
113+ CLASS_LOCAL_PLAYER_RANKED_BADGE_PROP = 110,
114+ NUM_CLASSIFY_CLASSES = 111,
113115 };
M
DumpSource2/schemas/client/ECitadelClientAccountEvent.h
+1-1
@@ -56,7 +56,7 @@ enum ECitadelClientAccountEvent : uint32_t
5656 k_eSandboxViaHeroPage = 55,
5757 k_eViewedSettings_SteamInput = 56,
5858 k_eViewedSettings_Social = 57,
59- k_eCalibrationMatch = 58,
59+ k_eNewPlayerPlacementMatch = 58,
6060 k_eSandboxViaPlayMenu = 59,
6161 k_eBotMatch_Medium = 60,
6262 k_eSandboxViaHideoutTeleport = 61,
Update information
Build
24478689
Associated changelist
37654319
Game version
6652

Found something incorrect?

Report a missing patch note, incorrect file change, or other problem.