前天看到有人在問官方的資源文件庫裡面是否可以獲取遊戲選擇階段時使用的路線篩選器選擇對應位置時的角色列表

當時稍微想一下感覺好像不行 然後就看了一眼champions.json
當中可以看到潘森的tags如下
"tags": [
"Fighter",
"Assassin"
],
後來發現這個文件只定義角色定位 例如潘森在這個文件可以看到tags屬於鬥士刺客
主要用途用在其他的地方 跟這個篩選器沒有任何關係 也沒有另外有posision或者roles之類的欄目
用pengu除錯工具 可以從POST https://127.0.0.1:7885/telemetry/v1/events/general_metrics_value
看到payload其中的value是你選擇的篩選項目 當你選擇輔助類型的角色過濾器 這裡就會是support (注意這裡不同於LCU API調用時通常使用參數UTILITY來表示輔助位置) 射手則一樣使用bottom作為參數
找到選擇角色階段的各種處理邏輯 我們將聚焦在尋找內部是從哪裡尋找角色路線參數來源的 為了方便查看程式碼我們會先使用codeshack.io讓js程式碼格式變得可讀
在這裡我還發現了很多處理邏輯 像是玩家之間交換路線和交換角色的處理 然後我們關注的角色路線參數來源 它直接被寫在這裡 後面微妙的數字應該是用來處理顯示次序之類的 在這裡我們不關心它
為了驗證資料是否正確 我們需要把路線分類和chamions id轉換為可讀的角色名稱
得到一個列表如下
📌 JUNGLE
- Xin Zhao: 0.02922
- Fiddlesticks: 0.01322
- Master Yi: 0.02584
- Warwick: 0.02064
- Nunu & Willump: 0.01234
- Evelynn: 0.01393
- Karthus: 0.00816
- Amumu: 0.01322
- Rammus: 0.00809
- Shaco: 0.02827
- Trundle: 0.03247
- Nocturne: 0.03255
- Jarvan IV: 0.03633
- Elise: 0.01215
- Wukong: 0.0189
- Lee Sin: 0.07132
- Skarner: 0.00611
- Nidalee: 0.02081
- Udyr: 0.01202
- Pantheon: 0.03973
- Talon: 0.01538
- Shyvana: 0.00869
- Graves: 0.0246
- Volibear: 0.02183
- Rengar: 0.01487
- Sejuani: 0.0128
- Hecarim: 0.01707
- Kha'Zix: 0.03069
- Diana: 0.02575
- Kayn: 0.03946
- Zac: 0.01526
- Bel'Veth: 0.01087
- Kindred: 0.01457
- Briar: 0.0209
- Viego: 0.0565
- Zed: 0.03633
- Ekko: 0.02465
- Vi: 0.02458
- Rek'Sai: 0.00524
- Ivern: 0.00725
- Lillia: 0.01741
- Naafiri: 0.01459
📌 TOP
- Olaf: 0.00791
- Urgot: 0.01286
- Vladimir: 0.01398
- Kayle: 0.01788
- Sion: 0.0249
- Teemo: 0.01748
- Warwick: 0.01156
- Tryndamere: 0.01087
- Jax: 0.03611
- Singed: 0.00957
- Cho'Gath: 0.01747
- Dr. Mundo: 0.03144
- Irelia: 0.02186
- Gangplank: 0.02003
- Trundle: 0.01242
- Malphite: 0.02517
- Renekton: 0.03095
- Rumble: 0.00922
- Heimerdinger: 0.00596
- Nasus: 0.01725
- Gragas: 0.0169
- Pantheon: 0.01013
- Mordekaiser: 0.03047
- Yorick: 0.01848
- Kennen: 0.01026
- Garen: 0.02345
- Riven: 0.0199
- Shen: 0.02062
- Volibear: 0.01572
- Fiora: 0.02192
- Darius: 0.03442
- Jayce: 0.0208
- Quinn: 0.01025
- Gnar: 0.01468
- Yasuo: 0.01464
- Camille: 0.01445
- Kled: 0.01301
- Aatrox: 0.04714
- Illaoi: 0.01064
- Ornn: 0.01893
- Yone: 0.02209
- Ambessa: 0.02516
- Sett: 0.03748
- Gwen: 0.019
- K'Sante: 0.01931
📌 SUPPORT
- Alistar: 0.02972
- Soraka: 0.0238
- Morgana: 0.02531
- Zilean: 0.01229
- Shaco: 0.01104
- Sona: 0.0129
- Janna: 0.01911
- Karma: 0.04049
- Taric: 0.00563
- Swain: 0.01373
- Blitzcrank: 0.02897
- Maokai: 0.00704
- Brand: 0.01014
- Poppy: 0.0139
- Pantheon: 0.01595
- Leona: 0.02837
- Lux: 0.03376
- Xerath: 0.01621
- Nautilus: 0.04294
- Lulu: 0.05823
- Zyra: 0.01359
- Seraphine: 0.01545
- Vel'Koz: 0.01271
- Braum: 0.0364
- Tahm Kench: 0.01445
- Senna: 0.02143
- Nami: 0.05305
- Yuumi: 0.03207
- Thresh: 0.06228
- Bard: 0.02428
- Rakan: 0.0255
- Neeko: 0.01487
- Rell: 0.02268
- Pyke: 0.03715
- Mel: 0.01549
- Renata Glasc: 0.00955
- Milio: 0.04002
📌 BOTTOM
- Sivir: 0.04565
- Tristana: 0.02635
- Miss Fortune: 0.03304
- Ashe: 0.03226
- Twitch: 0.02072
- Corki: 0.01065
- Caitlyn: 0.06133
- Vayne: 0.03298
- Ezreal: 0.0568
- Kog'Maw: 0.00979
- Varus: 0.02799
- Ziggs: 0.00903
- Draven: 0.01817
- Kai'Sa: 0.07992
- Jhin: 0.07182
- Zeri: 0.02081
- Jinx: 0.06189
- Senna: 0.02215
- Lucian: 0.06276
- Samira: 0.02541
- Kalista: 0.00634
- Xayah: 0.02656
- Aphelios: 0.03565
- Yunara: 0.10249
- Nilah: 0.01041
- Smolder: 0.03839
📌 MIDDLE
- Annie: 0.01584
- Galio: 0.02384
- Twisted Fate: 0.02874
- LeBlanc: 0.02541
- Vladimir: 0.01972
- Ryze: 0.01838
- Anivia: 0.00897
- Kassadin: 0.01128
- Irelia: 0.01442
- Veigar: 0.01785
- Katarina: 0.02951
- Orianna: 0.02948
- Cassiopeia: 0.00614
- Akali: 0.03158
- Malzahar: 0.03086
- Lux: 0.02219
- Xerath: 0.01897
- Ahri: 0.03897
- Fizz: 0.01798
- Viktor: 0.03298
- Lissandra: 0.01399
- Diana: 0.01968
- Syndra: 0.02424
- Aurelion Sol: 0.01094
- Zoe: 0.017
- Yasuo: 0.04462
- Taliyah: 0.0127
- Akshan: 0.01069
- Zed: 0.03777
- Ekko: 0.01423
- Qiyana: 0.01159
- Azir: 0.02087
- Sylas: 0.04582
- Vex: 0.01427
- Yone: 0.02771
- Mel: 0.02522
- Aurora: 0.0271
- Hwei: 0.02486