Picks and Bans
In League of Legends each match begins with a draft stage where both teams choose the champions to include in their team, the pick phase. Each team strategically chooses which champions to exclude in the forthcoming match to try to prevent their opponents gaining an advantage, the ban phase. This is done to hinder their opponent's chances of winning the match. The League of Legends draft stage is split into four phases:
Ban Phase 1 where 6 champions are banned from the match to prevent their opponents gaining an advantage
- team Red chooses three champions to exclude
- team Blue chooses three champions to exclude
Pick Phase 1 where 6 champions are selected for the match
- team Red chooses three champions to include in their team
- team Blue chooses three champions to include in their team
Ban Phase 2 where 4 more champions are banned from the match
- team Red chooses two champions to exclude
- team Blue chooses two champions to exclude
Pick Phase 2 where 4 more champions are selected for the match
- team Red chooses two champions to include in their team
- team Blue chooses two champions to include in their team
Tracking teams' picks and bans
Teams make decisions on picking or banning champions in turns. The turn number is saved in the pickTurn
field of the SNAPSHOT-TEAM-UPDATE message.
📝 Note
The pick and ban logic described here is defined by Riot and is subject to change.
The pickTurn
counter restarts for each phase. For example, the first phase of bans will have pickTurn
values between 1
and 6
:
"pickTurn": 1
, 1st blue side ban
"pickTurn": 2
, 1st red side ban
"pickTurn": 3
, 2nd blue side ban
"pickTurn": 4
, 2nd red side ban
"pickTurn": 5
, 3rd red side ban
"pickTurn": 6
, 3rd blue side ban
Then for the second phase of bans will have pickTurn
values between 1
and 4
:
"pickTurn": 1
, 1st red side ban
"pickTurn": 2
, 1st blue side ban
"pickTurn": 3
, 2nd red side ban
"pickTurn": 4
, 2nd blue side ban
If all bans went through correctly the list will be 10 elements long. However if a ban has been missed that entry will not appear in the list.
JSON feed example
This is a snippet from a real game with a missed ban. The blue team missed the first ban in the second phase, for which "pickTurn"
would usually be 2
. As you can see the ban with "pickTurn": 1
is immediately followed by "pickTurn": 3
.
"bannedChampions": [
{
"championId": 106,
"pickTurn": 1,
"teamId": 100,
"liveDataTeamUrn": "live:lol:riot:team:503039196691930305",
"references": {}
},
{
"championId": 56,
"pickTurn": 2,
"teamId": 200,
"liveDataTeamUrn": "live:lol:riot:team:97068992929986079",
"references": {}
},
{
"championId": 5,
"pickTurn": 3,
"teamId": 100,
"liveDataTeamUrn": "live:lol:riot:team:503039196691930305",
"references": {}
},
{
"championId": 236,
"pickTurn": 4,
"teamId": 200,
"liveDataTeamUrn": "live:lol:riot:team:97068992929986079",
"references": {}
},
{
"championId": 887,
"pickTurn": 5,
"teamId": 100,
"liveDataTeamUrn": "live:lol:riot:team:503039196691930305",
"references": {}
},
{
"championId": 84,
"pickTurn": 6,
"teamId": 200,
"liveDataTeamUrn": "live:lol:riot:team:97068992929986079",
"references": {}
},
{
"championId": 25,
"pickTurn": 1,
"teamId": 200,
"liveDataTeamUrn": "live:lol:riot:team:97068992929986079",
"references": {}
},
{
"championId": 201,
"pickTurn": 3, // pickTurn 2 is missing because the ban was passed
"teamId": 200,
"liveDataTeamUrn": "live:lol:riot:team:97068992929986079",
"references": {}
},
{
"championId": 111,
"pickTurn": 4,
"teamId": 100,
"liveDataTeamUrn": "live:lol:riot:team:503039196691930305",
"references": {}
}
]