lol-constants 2.23.0 → 2.24.1
Sign up to get free protection for your applications and to get access to all the features.
- package/assets/constants/BootsItemNames.js +1 -4
- package/assets/constants/Champion.js +1 -4
- package/assets/constants/Item.js +1 -4
- package/assets/constants/LegendaryItemNames.d.ts +1 -1
- package/assets/constants/LegendaryItemNames.js +4 -6
- package/assets/constants/RunesReforged.js +1 -4
- package/assets/constants/StatRunes.js +1 -4
- package/assets/constants/StatRunesByRow.js +1 -4
- package/assets/constants/Summoner.js +1 -4
- package/assets/index.js +4 -20
- package/assets/scripts/asset-scripts/champion.js +5 -7
- package/assets/scripts/asset-scripts/generate-all.js +4 -6
- package/assets/scripts/asset-scripts/item.js +5 -7
- package/assets/scripts/asset-scripts/runes-reforged.js +5 -7
- package/assets/scripts/asset-scripts/summoner.js +5 -7
- package/assets/scripts/constants/RuneIdComment.js +1 -4
- package/assets/scripts/generate-all.js +23 -25
- package/assets/scripts/generate-categorized-item-keys-num.js +15 -17
- package/assets/scripts/generate-categorized-item-keys.js +12 -14
- package/assets/scripts/generate-categorized-item-names.js +12 -14
- package/assets/scripts/generate-champion-ids-by-name.js +5 -7
- package/assets/scripts/generate-champion-ids.js +5 -7
- package/assets/scripts/generate-champion-keys-num.js +7 -9
- package/assets/scripts/generate-champion-keys.js +5 -7
- package/assets/scripts/generate-champion-names.js +5 -7
- package/assets/scripts/generate-item-keys-num.js +7 -9
- package/assets/scripts/generate-item-keys.js +5 -7
- package/assets/scripts/generate-item-names.js +5 -7
- package/assets/scripts/generate-non-stat-rune-ids-num.js +4 -6
- package/assets/scripts/generate-non-stat-rune-ids.js +6 -8
- package/assets/scripts/generate-non-stat-rune-names.js +4 -6
- package/assets/scripts/generate-rune-ids.js +8 -10
- package/assets/scripts/generate-rune-names.js +6 -8
- package/assets/scripts/generate-rune-picking-relationships.js +4 -6
- package/assets/scripts/generate-rune-sets-by-rune-names-num.js +12 -14
- package/assets/scripts/generate-rune-sets-by-rune-names.js +10 -12
- package/assets/scripts/generate-rune-sets.js +7 -9
- package/assets/scripts/generate-spell-ids-by-name.js +5 -7
- package/assets/scripts/generate-spell-ids.js +5 -7
- package/assets/scripts/generate-spell-keys-num.js +7 -9
- package/assets/scripts/generate-spell-keys.js +5 -7
- package/assets/scripts/generate-spell-names.js +5 -7
- package/assets/scripts/generate-stat-rune-ids.js +6 -8
- package/assets/scripts/generate-stat-rune-names.js +4 -6
- package/assets/scripts/helpers/enableEscapedValues.js +1 -5
- package/assets/scripts/helpers/generateIndexFile.js +1 -5
- package/assets/scripts/helpers/getExportStatement.js +6 -10
- package/assets/scripts/helpers/getFmtdComment.js +1 -5
- package/assets/scripts/helpers/validateNumber.js +1 -5
- package/assets/scripts/helpers/writeToTmpFile.js +5 -9
- package/assets/scripts/print-file-names.js +5 -7
- package/core/constants/Abilities.js +6 -11
- package/core/constants/BuildingTypes.js +3 -7
- package/core/constants/Champions/ChampionClasses.d.ts +17 -0
- package/core/constants/Champions/ChampionClasses.js +25 -0
- package/core/constants/Champions/ChampionIds.js +1 -4
- package/core/constants/Champions/ChampionIdsByName.js +1 -4
- package/core/constants/Champions/ChampionKeys.js +1 -4
- package/core/constants/Champions/ChampionKeysNum.js +1 -4
- package/core/constants/Champions/ChampionNames.js +1 -4
- package/core/constants/Continents.js +3 -7
- package/core/constants/DataDragonUrls.d.ts +16 -16
- package/core/constants/DataDragonUrls.js +3 -6
- package/core/constants/DragonTypes.js +3 -7
- package/core/constants/GameModes.js +3 -7
- package/core/constants/GameTypes.js +3 -7
- package/core/constants/Items/BootsItemKeys.js +1 -4
- package/core/constants/Items/BootsItemKeysNum.js +1 -4
- package/core/constants/Items/BootsItemNames.js +1 -4
- package/core/constants/Items/ItemKeys.js +1 -4
- package/core/constants/Items/ItemKeysNum.js +1 -4
- package/core/constants/Items/ItemNames.js +1 -4
- package/core/constants/Items/ItemTypes.js +3 -7
- package/core/constants/Items/LegendaryItemKeys.d.ts +1 -1
- package/core/constants/Items/LegendaryItemKeys.js +1 -4
- package/core/constants/Items/LegendaryItemKeysNum.d.ts +1 -1
- package/core/constants/Items/LegendaryItemKeysNum.js +1 -4
- package/core/constants/Items/LegendaryItemNames.d.ts +1 -1
- package/core/constants/Items/LegendaryItemNames.js +1 -4
- package/core/constants/KillTypes.js +3 -7
- package/core/constants/LaneTypes.js +3 -7
- package/core/constants/Lanes.js +3 -7
- package/core/constants/LeagueTexts.js +3 -7
- package/core/constants/Levels.js +3 -7
- package/core/constants/Locales.js +3 -7
- package/core/constants/MapIds.js +3 -7
- package/core/constants/MonsterTypes.d.ts +2 -1
- package/core/constants/MonsterTypes.js +5 -8
- package/core/constants/ParticipantIds.js +3 -7
- package/core/constants/PlatformApiUris.js +3 -7
- package/core/constants/PlatformIds.js +6 -11
- package/core/constants/Positions.js +3 -7
- package/core/constants/QueueIds.js +5 -9
- package/core/constants/QueueTypes.js +3 -7
- package/core/constants/RankedRanks.js +3 -7
- package/core/constants/RankedTiers.js +3 -7
- package/core/constants/RegionalApiUris.js +3 -7
- package/core/constants/Regions.js +6 -11
- package/core/constants/RelativeTeams.js +3 -7
- package/core/constants/Roles.js +3 -7
- package/core/constants/Runes/NonStatRuneIds.js +1 -4
- package/core/constants/Runes/NonStatRuneIdsNum.js +1 -4
- package/core/constants/Runes/NonStatRuneNames.js +1 -4
- package/core/constants/Runes/RuneIconFileNames.js +1 -4
- package/core/constants/Runes/RunePickingRelationships.js +1 -4
- package/core/constants/Runes/RuneSets.js +8 -11
- package/core/constants/Runes/RuneSetsByRuneNames.js +8 -11
- package/core/constants/Runes/RuneSetsByRuneNamesNum.js +8 -11
- package/core/constants/Runes/RuneTreeIds.js +6 -11
- package/core/constants/Runes/RuneTreeIdsNum.js +6 -11
- package/core/constants/Runes/RuneTreeNames.js +6 -11
- package/core/constants/Runes/RuneTreeTypes.js +3 -7
- package/core/constants/SkillSlots.js +3 -7
- package/core/constants/Skills.js +3 -7
- package/core/constants/Spells/SpellIds.js +1 -4
- package/core/constants/Spells/SpellIdsByName.js +1 -4
- package/core/constants/Spells/SpellKeys.js +1 -4
- package/core/constants/Spells/SpellKeysNum.js +1 -4
- package/core/constants/Spells/SpellNames.js +1 -4
- package/core/constants/TeamIds.js +3 -7
- package/core/constants/TowerTypes.js +3 -7
- package/core/constants/WardTypes.js +3 -7
- package/core/helpers/Champions/getChampionIdByKey.js +3 -7
- package/core/helpers/Champions/getChampionIdByName.js +3 -7
- package/core/helpers/Champions/getChampionKeyById.js +3 -7
- package/core/helpers/Champions/getChampionKeyByName.js +4 -8
- package/core/helpers/Champions/getChampionNameById.js +4 -8
- package/core/helpers/Champions/getChampionNameByKey.js +3 -7
- package/core/helpers/Champions/isChampionId.js +3 -7
- package/core/helpers/Champions/isChampionKey.js +3 -7
- package/core/helpers/Champions/isChampionKeyNum.js +3 -7
- package/core/helpers/Champions/isChampionName.js +3 -7
- package/core/helpers/Items/getItemKeyByName.js +3 -7
- package/core/helpers/Items/getItemKeyNumByName.d.ts +3 -0
- package/core/helpers/Items/getItemKeyNumByName.js +4 -0
- package/core/helpers/Items/getItemNameByKey.js +3 -7
- package/core/helpers/Items/isBootsItemKey.js +3 -7
- package/core/helpers/Items/isBootsItemKeyNum.js +3 -7
- package/core/helpers/Items/isBootsItemName.js +3 -7
- package/core/helpers/Items/isItemKey.js +3 -7
- package/core/helpers/Items/isItemKeyNum.js +3 -7
- package/core/helpers/Items/isItemName.js +3 -7
- package/core/helpers/Items/isLegendaryItemKey.js +3 -7
- package/core/helpers/Items/isLegendaryItemKeyNum.js +3 -7
- package/core/helpers/Items/isLegendaryItemName.js +3 -7
- package/core/helpers/Items/isTier2Boots.d.ts +3 -0
- package/core/helpers/Items/isTier2Boots.js +9 -0
- package/core/helpers/Runes/getNonStatRuneIdByName.js +3 -7
- package/core/helpers/Runes/getNonStatRuneNameById.js +3 -7
- package/core/helpers/Runes/getRuneCategoryName.js +8 -12
- package/core/helpers/Runes/getRuneCdnUrl.js +16 -20
- package/core/helpers/Runes/getRuneIdByName.js +3 -7
- package/core/helpers/Runes/getRuneNameById.js +3 -7
- package/core/helpers/Runes/getStatRuneIdByName.js +3 -7
- package/core/helpers/Runes/getStatRuneNameById.js +3 -7
- package/core/helpers/Runes/isDominationRuneId.js +3 -7
- package/core/helpers/Runes/isDominationRuneIdNum.js +3 -7
- package/core/helpers/Runes/isDominationRuneName.js +3 -7
- package/core/helpers/Runes/isInspirationRuneId.js +3 -7
- package/core/helpers/Runes/isInspirationRuneIdNum.js +3 -7
- package/core/helpers/Runes/isInspirationRuneName.js +3 -7
- package/core/helpers/Runes/isKeystoneRuneId.js +3 -7
- package/core/helpers/Runes/isKeystoneRuneIdNum.js +3 -7
- package/core/helpers/Runes/isKeystoneRuneName.js +3 -7
- package/core/helpers/Runes/isNonStatRuneId.js +3 -7
- package/core/helpers/Runes/isNonStatRuneIdNum.js +3 -7
- package/core/helpers/Runes/isNonStatRuneName.js +3 -7
- package/core/helpers/Runes/isPrecisionRuneId.js +3 -7
- package/core/helpers/Runes/isPrecisionRuneIdNum.js +3 -7
- package/core/helpers/Runes/isPrecisionRuneName.js +3 -7
- package/core/helpers/Runes/isResolveRuneId.js +3 -7
- package/core/helpers/Runes/isResolveRuneIdNum.js +3 -7
- package/core/helpers/Runes/isResolveRuneName.js +3 -7
- package/core/helpers/Runes/isRuneId.js +3 -7
- package/core/helpers/Runes/isRuneIdNum.js +3 -7
- package/core/helpers/Runes/isRuneName.js +3 -7
- package/core/helpers/Runes/isSorceryRuneId.js +3 -7
- package/core/helpers/Runes/isSorceryRuneIdNum.js +3 -7
- package/core/helpers/Runes/isSorceryRuneName.js +3 -7
- package/core/helpers/Runes/isStatRuneId.js +3 -7
- package/core/helpers/Runes/isStatRuneIdNum.js +3 -7
- package/core/helpers/Runes/isStatRuneName.js +3 -7
- package/core/helpers/Spells/getSpellIdByKey.js +3 -7
- package/core/helpers/Spells/getSpellIdByName.js +3 -7
- package/core/helpers/Spells/getSpellKeyById.js +3 -7
- package/core/helpers/Spells/getSpellKeyByName.js +4 -8
- package/core/helpers/Spells/getSpellNameById.js +4 -8
- package/core/helpers/Spells/getSpellNameByKey.js +3 -7
- package/core/helpers/Spells/isSpellId.js +3 -7
- package/core/helpers/Spells/isSpellKey.js +3 -7
- package/core/helpers/Spells/isSpellKeyNum.js +3 -7
- package/core/helpers/Spells/isSpellName.js +3 -7
- package/core/helpers/getPositionImageUrl.js +3 -7
- package/core/helpers/isRiotId.js +7 -11
- package/core/helpers/makeRiotId.js +1 -5
- package/core/helpers/splitRiotId.js +1 -5
- package/core/index.d.ts +4 -0
- package/core/index.js +138 -150
- package/core/types/championJson.js +1 -2
- package/core/types/interfaces.js +1 -2
- package/core/types/types.js +1 -2
- package/package.json +9 -7
- package/assets/constants/OrnnItemNames.d.ts +0 -1
- package/assets/constants/OrnnItemNames.js +0 -33
- package/core/constants/Items/OrnnItemKeys.d.ts +0 -23
- package/core/constants/Items/OrnnItemKeys.js +0 -4
- package/core/constants/Items/OrnnItemKeysNum.d.ts +0 -23
- package/core/constants/Items/OrnnItemKeysNum.js +0 -4
- package/core/constants/Items/OrnnItemNames.d.ts +0 -23
- package/core/constants/Items/OrnnItemNames.js +0 -4
- package/core/helpers/Items/isOrnnItemKey.d.ts +0 -2
- package/core/helpers/Items/isOrnnItemKey.js +0 -8
- package/core/helpers/Items/isOrnnItemKeyNum.d.ts +0 -2
- package/core/helpers/Items/isOrnnItemKeyNum.js +0 -8
- package/core/helpers/Items/isOrnnItemName.d.ts +0 -2
- package/core/helpers/Items/isOrnnItemName.js +0 -8
@@ -1,10 +1,8 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
const validateNumber_1 = require("./helpers/validateNumber");
|
7
|
-
const writeToTmpFile_1 = require("./helpers/writeToTmpFile");
|
1
|
+
import { RunesReforged } from '../constants/RunesReforged';
|
2
|
+
import { StatRunesByRow } from '../constants/StatRunesByRow';
|
3
|
+
import { RuneIdComment } from './constants/RuneIdComment';
|
4
|
+
import { validateNumber } from './helpers/validateNumber';
|
5
|
+
import { writeToTmpFile } from './helpers/writeToTmpFile';
|
8
6
|
(async () => {
|
9
7
|
const constant = 'RuneSetsByRuneNamesNum';
|
10
8
|
const runeSets = {
|
@@ -17,7 +15,7 @@ const writeToTmpFile_1 = require("./helpers/writeToTmpFile");
|
|
17
15
|
};
|
18
16
|
const keystoneHSetIdx = 0;
|
19
17
|
let totalRuneAmt = 0;
|
20
|
-
for (const runeTree of
|
18
|
+
for (const runeTree of RunesReforged) {
|
21
19
|
const runeTreeName = runeTree.name;
|
22
20
|
const horizontalSets = runeTree.slots;
|
23
21
|
let currentHSetIdx = 0;
|
@@ -50,10 +48,10 @@ const writeToTmpFile_1 = require("./helpers/writeToTmpFile");
|
|
50
48
|
++currentHSetIdx;
|
51
49
|
}
|
52
50
|
}
|
53
|
-
for (let hSetIdx in
|
54
|
-
const hSetRunes =
|
51
|
+
for (let hSetIdx in StatRunesByRow) {
|
52
|
+
const hSetRunes = StatRunesByRow[hSetIdx];
|
55
53
|
for (let [statRuneId, statRuneName] of Object.entries(hSetRunes)) {
|
56
|
-
let statRuneIdNum =
|
54
|
+
let statRuneIdNum = validateNumber(statRuneId, 'statRuneId');
|
57
55
|
// Keep track
|
58
56
|
totalRuneAmt += 1;
|
59
57
|
// Add to StatRuneIds
|
@@ -65,7 +63,7 @@ const writeToTmpFile_1 = require("./helpers/writeToTmpFile");
|
|
65
63
|
}
|
66
64
|
}
|
67
65
|
// Write to file
|
68
|
-
await
|
66
|
+
await writeToTmpFile(constant, {
|
69
67
|
constName: 'PrimaryRuneTreesByRuneNamesNum',
|
70
68
|
json: runeSets.PrimaryRuneTrees,
|
71
69
|
}, {
|
@@ -77,12 +75,12 @@ const writeToTmpFile_1 = require("./helpers/writeToTmpFile");
|
|
77
75
|
}, {
|
78
76
|
constName: 'StatRuneIdsNum',
|
79
77
|
typeName: 'StatRuneIdNum',
|
80
|
-
typeComment:
|
78
|
+
typeComment: RuneIdComment,
|
81
79
|
json: runeSets.StatRuneIds,
|
82
80
|
}, {
|
83
81
|
constName: 'RuneIdsNum',
|
84
82
|
typeName: 'RuneIdNum',
|
85
|
-
typeComment:
|
83
|
+
typeComment: RuneIdComment,
|
86
84
|
json: {
|
87
85
|
1: '...PrimaryRuneTreesByRuneNamesNum.Precision',
|
88
86
|
2: '...PrimaryRuneTreesByRuneNamesNum.Domination',
|
@@ -1,9 +1,7 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
const RuneIdComment_1 = require("./constants/RuneIdComment");
|
6
|
-
const writeToTmpFile_1 = require("./helpers/writeToTmpFile");
|
1
|
+
import { RunesReforged } from '../constants/RunesReforged';
|
2
|
+
import { StatRunesByRow } from '../constants/StatRunesByRow';
|
3
|
+
import { RuneIdComment } from './constants/RuneIdComment';
|
4
|
+
import { writeToTmpFile } from './helpers/writeToTmpFile';
|
7
5
|
(async () => {
|
8
6
|
const constant = 'RuneSetsByRuneNames';
|
9
7
|
const runeSets = {
|
@@ -16,7 +14,7 @@ const writeToTmpFile_1 = require("./helpers/writeToTmpFile");
|
|
16
14
|
};
|
17
15
|
const keystoneHSetIdx = 0;
|
18
16
|
let totalRuneAmt = 0;
|
19
|
-
for (const runeTree of
|
17
|
+
for (const runeTree of RunesReforged) {
|
20
18
|
const runeTreeName = runeTree.name;
|
21
19
|
const horizontalSets = runeTree.slots;
|
22
20
|
let currentHSetIdx = 0;
|
@@ -49,8 +47,8 @@ const writeToTmpFile_1 = require("./helpers/writeToTmpFile");
|
|
49
47
|
++currentHSetIdx;
|
50
48
|
}
|
51
49
|
}
|
52
|
-
for (let hSetIdx in
|
53
|
-
const hSetRunes =
|
50
|
+
for (let hSetIdx in StatRunesByRow) {
|
51
|
+
const hSetRunes = StatRunesByRow[hSetIdx];
|
54
52
|
for (let [statRuneId, statRuneName] of Object.entries(hSetRunes)) {
|
55
53
|
// Keep track
|
56
54
|
totalRuneAmt += 1;
|
@@ -63,7 +61,7 @@ const writeToTmpFile_1 = require("./helpers/writeToTmpFile");
|
|
63
61
|
}
|
64
62
|
}
|
65
63
|
// Write to file
|
66
|
-
await
|
64
|
+
await writeToTmpFile(constant, {
|
67
65
|
constName: 'PrimaryRuneTreesByRuneNames',
|
68
66
|
json: runeSets.PrimaryRuneTrees,
|
69
67
|
}, {
|
@@ -75,12 +73,12 @@ const writeToTmpFile_1 = require("./helpers/writeToTmpFile");
|
|
75
73
|
}, {
|
76
74
|
constName: 'StatRuneIds',
|
77
75
|
includeAutoTypeName: true,
|
78
|
-
typeComment:
|
76
|
+
typeComment: RuneIdComment,
|
79
77
|
json: runeSets.StatRuneIds,
|
80
78
|
}, {
|
81
79
|
constName: 'RuneIds',
|
82
80
|
includeAutoTypeName: true,
|
83
|
-
typeComment:
|
81
|
+
typeComment: RuneIdComment,
|
84
82
|
json: {
|
85
83
|
1: '...PrimaryRuneTreesByRuneNames.Precision',
|
86
84
|
2: '...PrimaryRuneTreesByRuneNames.Domination',
|
@@ -1,8 +1,6 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
const StatRunesByRow_1 = require("../constants/StatRunesByRow");
|
5
|
-
const writeToTmpFile_1 = require("./helpers/writeToTmpFile");
|
1
|
+
import { RunesReforged } from '../constants/RunesReforged';
|
2
|
+
import { StatRunesByRow } from '../constants/StatRunesByRow';
|
3
|
+
import { writeToTmpFile } from './helpers/writeToTmpFile';
|
6
4
|
(async () => {
|
7
5
|
const constant = 'RuneSets';
|
8
6
|
const runeSets = {
|
@@ -15,7 +13,7 @@ const writeToTmpFile_1 = require("./helpers/writeToTmpFile");
|
|
15
13
|
};
|
16
14
|
const keystoneHSetIdx = 0;
|
17
15
|
let totalRuneAmt = 0;
|
18
|
-
for (const runeTree of
|
16
|
+
for (const runeTree of RunesReforged) {
|
19
17
|
const runeTreeName = runeTree.name;
|
20
18
|
const horizontalSets = runeTree.slots;
|
21
19
|
let currentHSetIdx = 0;
|
@@ -48,8 +46,8 @@ const writeToTmpFile_1 = require("./helpers/writeToTmpFile");
|
|
48
46
|
++currentHSetIdx;
|
49
47
|
}
|
50
48
|
}
|
51
|
-
for (let hSetIdx in
|
52
|
-
const hSetRunes =
|
49
|
+
for (let hSetIdx in StatRunesByRow) {
|
50
|
+
const hSetRunes = StatRunesByRow[hSetIdx];
|
53
51
|
for (let [statRuneId, statRuneName] of Object.entries(hSetRunes)) {
|
54
52
|
// Keep track
|
55
53
|
totalRuneAmt += 1;
|
@@ -62,7 +60,7 @@ const writeToTmpFile_1 = require("./helpers/writeToTmpFile");
|
|
62
60
|
}
|
63
61
|
}
|
64
62
|
// Write to file
|
65
|
-
await
|
63
|
+
await writeToTmpFile(constant, {
|
66
64
|
constName: 'PrimaryRuneTrees',
|
67
65
|
json: runeSets.PrimaryRuneTrees,
|
68
66
|
}, {
|
@@ -1,18 +1,16 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
const Summoner_1 = require("../constants/Summoner");
|
4
|
-
const writeToTmpFile_1 = require("./helpers/writeToTmpFile");
|
1
|
+
import { Summoner } from '../constants/Summoner';
|
2
|
+
import { writeToTmpFile } from './helpers/writeToTmpFile';
|
5
3
|
(async () => {
|
6
4
|
const spellIds = {};
|
7
5
|
// Add all summoners spell data to each corresponding key value
|
8
6
|
let spellId;
|
9
|
-
for (spellId in
|
10
|
-
const spellData =
|
7
|
+
for (spellId in Summoner.data) {
|
8
|
+
const spellData = Summoner.data[spellId];
|
11
9
|
spellIds[spellData.name] = spellId;
|
12
10
|
}
|
13
11
|
// Write to file
|
14
12
|
const constName = 'SpellIdsByName';
|
15
|
-
|
13
|
+
writeToTmpFile(constName, {
|
16
14
|
constName,
|
17
15
|
json: spellIds,
|
18
16
|
});
|
@@ -1,18 +1,16 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
const Summoner_1 = require("../constants/Summoner");
|
4
|
-
const writeToTmpFile_1 = require("./helpers/writeToTmpFile");
|
1
|
+
import { Summoner } from '../constants/Summoner';
|
2
|
+
import { writeToTmpFile } from './helpers/writeToTmpFile';
|
5
3
|
(async () => {
|
6
4
|
const spellIds = {};
|
7
5
|
// Add all summoners spell data to each corresponding key value
|
8
6
|
let spellId;
|
9
|
-
for (spellId in
|
10
|
-
const spellData =
|
7
|
+
for (spellId in Summoner.data) {
|
8
|
+
const spellData = Summoner.data[spellId];
|
11
9
|
spellIds[spellData.key] = spellId;
|
12
10
|
}
|
13
11
|
// Write to file
|
14
12
|
const constName = 'SpellIds';
|
15
|
-
|
13
|
+
writeToTmpFile(constName, {
|
16
14
|
constName,
|
17
15
|
includeAutoTypeName: true,
|
18
16
|
json: spellIds,
|
@@ -1,20 +1,18 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
const validateNumber_1 = require("./helpers/validateNumber");
|
5
|
-
const writeToTmpFile_1 = require("./helpers/writeToTmpFile");
|
1
|
+
import { Summoner } from '../constants/Summoner';
|
2
|
+
import { validateNumber } from './helpers/validateNumber';
|
3
|
+
import { writeToTmpFile } from './helpers/writeToTmpFile';
|
6
4
|
(async () => {
|
7
5
|
const spellKeys = {};
|
8
6
|
// Add all summoners spell data to each corresponding key value
|
9
7
|
let spellId;
|
10
|
-
for (spellId in
|
11
|
-
const spellData =
|
12
|
-
spellKeys[spellId] =
|
8
|
+
for (spellId in Summoner.data) {
|
9
|
+
const spellData = Summoner.data[spellId];
|
10
|
+
spellKeys[spellId] = validateNumber(spellData.key, 'spellKey');
|
13
11
|
}
|
14
12
|
// Write to file
|
15
13
|
const constName = 'SpellKeysNum';
|
16
14
|
const typeName = 'SpellKeyNum';
|
17
|
-
|
15
|
+
writeToTmpFile(constName, {
|
18
16
|
constName,
|
19
17
|
typeName,
|
20
18
|
json: spellKeys,
|
@@ -1,18 +1,16 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
const Summoner_1 = require("../constants/Summoner");
|
4
|
-
const writeToTmpFile_1 = require("./helpers/writeToTmpFile");
|
1
|
+
import { Summoner } from '../constants/Summoner';
|
2
|
+
import { writeToTmpFile } from './helpers/writeToTmpFile';
|
5
3
|
(async () => {
|
6
4
|
const spellKeys = {};
|
7
5
|
// Add all summoners spell data to each corresponding key value
|
8
6
|
let spellId;
|
9
|
-
for (spellId in
|
10
|
-
const spellData =
|
7
|
+
for (spellId in Summoner.data) {
|
8
|
+
const spellData = Summoner.data[spellId];
|
11
9
|
spellKeys[spellId] = spellData.key;
|
12
10
|
}
|
13
11
|
// Write to file
|
14
12
|
const constName = 'SpellKeys';
|
15
|
-
|
13
|
+
writeToTmpFile(constName, {
|
16
14
|
constName,
|
17
15
|
includeAutoTypeName: true,
|
18
16
|
json: spellKeys,
|
@@ -1,18 +1,16 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
const Summoner_1 = require("../constants/Summoner");
|
4
|
-
const writeToTmpFile_1 = require("./helpers/writeToTmpFile");
|
1
|
+
import { Summoner } from '../constants/Summoner';
|
2
|
+
import { writeToTmpFile } from './helpers/writeToTmpFile';
|
5
3
|
(async () => {
|
6
4
|
const spellNames = {};
|
7
5
|
// Add all summoners spell data to each corresponding key value
|
8
6
|
let spellId;
|
9
|
-
for (spellId in
|
10
|
-
const spellData =
|
7
|
+
for (spellId in Summoner.data) {
|
8
|
+
const spellData = Summoner.data[spellId];
|
11
9
|
spellNames[spellData.key] = spellData.name;
|
12
10
|
}
|
13
11
|
// Write to file
|
14
12
|
const constName = 'SpellNames';
|
15
|
-
|
13
|
+
writeToTmpFile(constName, {
|
16
14
|
constName,
|
17
15
|
includeAutoTypeName: true,
|
18
16
|
json: spellNames,
|
@@ -1,20 +1,18 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
const writeToTmpFile_1 = require("./helpers/writeToTmpFile");
|
5
|
-
const RuneIdComment_1 = require("./constants/RuneIdComment");
|
1
|
+
import { StatRunes } from '../constants/StatRunes';
|
2
|
+
import { writeToTmpFile } from './helpers/writeToTmpFile';
|
3
|
+
import { RuneIdComment } from './constants/RuneIdComment';
|
6
4
|
(async () => {
|
7
5
|
const runeIds = {};
|
8
6
|
// Add Stat Runes
|
9
|
-
for (const { description, id: statRuneId, } of
|
7
|
+
for (const { description, id: statRuneId, } of StatRunes) {
|
10
8
|
runeIds[description] = statRuneId;
|
11
9
|
}
|
12
10
|
// Write to file
|
13
11
|
const constName = 'StatRuneIds';
|
14
|
-
|
12
|
+
writeToTmpFile(constName, {
|
15
13
|
constName,
|
16
14
|
includeAutoTypeName: true,
|
17
|
-
typeComment:
|
15
|
+
typeComment: RuneIdComment,
|
18
16
|
json: runeIds,
|
19
17
|
});
|
20
18
|
})();
|
@@ -1,16 +1,14 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
const StatRunes_1 = require("../constants/StatRunes");
|
4
|
-
const writeToTmpFile_1 = require("./helpers/writeToTmpFile");
|
1
|
+
import { StatRunes } from '../constants/StatRunes';
|
2
|
+
import { writeToTmpFile } from './helpers/writeToTmpFile';
|
5
3
|
(async () => {
|
6
4
|
const runeNames = {};
|
7
5
|
// Add Stat Runes
|
8
|
-
for (const { description, id: statRuneId, } of
|
6
|
+
for (const { description, id: statRuneId, } of StatRunes) {
|
9
7
|
runeNames[statRuneId] = description;
|
10
8
|
}
|
11
9
|
// Write to file
|
12
10
|
const constName = 'StatRuneNames';
|
13
|
-
|
11
|
+
writeToTmpFile(constName, {
|
14
12
|
constName,
|
15
13
|
includeAutoTypeName: true,
|
16
14
|
json: runeNames,
|
@@ -1,6 +1,3 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.enableEscapedValues = void 0;
|
4
1
|
/**
|
5
2
|
* Basically a modified `JSON.stringify()` function.
|
6
3
|
*
|
@@ -13,7 +10,7 @@ exports.enableEscapedValues = void 0;
|
|
13
10
|
* Example:
|
14
11
|
* `{"key":"...ConstantValue"} => {...ConstantValue}`
|
15
12
|
*/
|
16
|
-
function enableEscapedValues(obj, keysToEscape) {
|
13
|
+
export function enableEscapedValues(obj, keysToEscape) {
|
17
14
|
let json = JSON.stringify(obj);
|
18
15
|
for (let key of keysToEscape) {
|
19
16
|
const stringifiedKey = `"${key}":`;
|
@@ -35,4 +32,3 @@ function enableEscapedValues(obj, keysToEscape) {
|
|
35
32
|
}
|
36
33
|
return json;
|
37
34
|
}
|
38
|
-
exports.enableEscapedValues = enableEscapedValues;
|
@@ -1,7 +1,3 @@
|
|
1
|
-
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.generateIndexFile = void 0;
|
4
|
-
function generateIndexFile() {
|
1
|
+
export function generateIndexFile() {
|
5
2
|
throw 'not implemented';
|
6
3
|
}
|
7
|
-
exports.generateIndexFile = generateIndexFile;
|
@@ -1,12 +1,9 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
exports.getExportStatement = void 0;
|
4
|
-
const enableEscapedValues_1 = require("./enableEscapedValues");
|
5
|
-
const getFmtdComment_1 = require("./getFmtdComment");
|
1
|
+
import { enableEscapedValues } from './enableEscapedValues';
|
2
|
+
import { getFmtdComment } from './getFmtdComment';
|
6
3
|
/**
|
7
4
|
* Wraps the provided JSON in a TS export-as-const statement.
|
8
5
|
*/
|
9
|
-
function getExportStatement(constName, json, keysToEscape, comment, typeName, typeComment, includeAutoTypeName) {
|
6
|
+
export function getExportStatement(constName, json, keysToEscape, comment, typeName, typeComment, includeAutoTypeName) {
|
10
7
|
let contents = '';
|
11
8
|
const auditNewLineChar = (endingSt, startingSt) => {
|
12
9
|
if (endingSt.at(-1) != '\n' &&
|
@@ -16,10 +13,10 @@ function getExportStatement(constName, json, keysToEscape, comment, typeName, ty
|
|
16
13
|
return endingSt;
|
17
14
|
};
|
18
15
|
const stringifiedJson = keysToEscape
|
19
|
-
?
|
16
|
+
? enableEscapedValues(json, keysToEscape)
|
20
17
|
: JSON.stringify(json);
|
21
18
|
if (comment) {
|
22
|
-
contents +=
|
19
|
+
contents += getFmtdComment(comment);
|
23
20
|
contents += '\n';
|
24
21
|
}
|
25
22
|
contents += `export const ${constName} = ${stringifiedJson} as const`;
|
@@ -28,7 +25,7 @@ function getExportStatement(constName, json, keysToEscape, comment, typeName, ty
|
|
28
25
|
if (typeComment.includes('/**'))
|
29
26
|
contents += typeComment;
|
30
27
|
else
|
31
|
-
contents +=
|
28
|
+
contents += getFmtdComment(typeComment);
|
32
29
|
}
|
33
30
|
if (typeName || includeAutoTypeName) {
|
34
31
|
contents = auditNewLineChar(contents, '');
|
@@ -38,4 +35,3 @@ function getExportStatement(constName, json, keysToEscape, comment, typeName, ty
|
|
38
35
|
}
|
39
36
|
return contents;
|
40
37
|
}
|
41
|
-
exports.getExportStatement = getExportStatement;
|
@@ -1,15 +1,11 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.getFmtdComment = void 0;
|
4
1
|
/**
|
5
2
|
* Returns a JavaScript-formatted comment,
|
6
3
|
* the kind you put on top of functions, for example.
|
7
4
|
*/
|
8
|
-
function getFmtdComment(comment) {
|
5
|
+
export function getFmtdComment(comment) {
|
9
6
|
let st = '';
|
10
7
|
st += '/**\n';
|
11
8
|
st += ' * ' + comment + '\n';
|
12
9
|
st += ' */';
|
13
10
|
return st;
|
14
11
|
}
|
15
|
-
exports.getFmtdComment = getFmtdComment;
|
@@ -1,10 +1,6 @@
|
|
1
|
-
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.validateNumber = void 0;
|
4
|
-
function validateNumber(value, debugVariableLabel) {
|
1
|
+
export function validateNumber(value, debugVariableLabel) {
|
5
2
|
let num = parseInt(value);
|
6
3
|
if (Number.isNaN(num))
|
7
4
|
throw `${debugVariableLabel} was NaN`;
|
8
5
|
return num;
|
9
6
|
}
|
10
|
-
exports.validateNumber = validateNumber;
|
@@ -1,22 +1,18 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
const fs_1 = require("fs");
|
5
|
-
const getExportStatement_1 = require("./getExportStatement");
|
6
|
-
function writeToTmpFile(mainConstName, ...constants) {
|
1
|
+
import { writeFile } from 'fs';
|
2
|
+
import { getExportStatement } from './getExportStatement';
|
3
|
+
export function writeToTmpFile(mainConstName, ...constants) {
|
7
4
|
return new Promise((res, rej) => {
|
8
5
|
const exportStatements = constants.reduce((finalSt, { constName, comment, json, keysToEscape, typeName, typeComment, validationFnName, validationFnComment, includeAutoTypeName, }, i) => {
|
9
|
-
let exportStatement =
|
6
|
+
let exportStatement = getExportStatement(constName, json, keysToEscape, comment, typeName, typeComment, includeAutoTypeName);
|
10
7
|
return (finalSt
|
11
8
|
+ exportStatement
|
12
9
|
// On last statement, provide only a single empty ending line
|
13
10
|
+ (i + 1 == constants.length ? '\n' : '\n\n'));
|
14
11
|
}, '');
|
15
|
-
|
12
|
+
writeFile(`tmp/${mainConstName}.ts`, exportStatements, err => {
|
16
13
|
if (err)
|
17
14
|
rej(err);
|
18
15
|
res();
|
19
16
|
});
|
20
17
|
});
|
21
18
|
}
|
22
|
-
exports.writeToTmpFile = writeToTmpFile;
|
@@ -1,6 +1,4 @@
|
|
1
|
-
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
const promises_1 = require("fs/promises");
|
1
|
+
import { readdir, readFile } from 'fs/promises';
|
4
2
|
const folders1 = [
|
5
3
|
'constants',
|
6
4
|
'helpers',
|
@@ -32,9 +30,9 @@ async function getVariableNames(exportStatement, endingCharacter) {
|
|
32
30
|
if (workspace[folder2] == null)
|
33
31
|
workspace[folder2] = [];
|
34
32
|
const base = `src/core/${folder1}/${folder2}`;
|
35
|
-
const fileNames = await
|
33
|
+
const fileNames = await readdir(base);
|
36
34
|
for (const fileName of fileNames) {
|
37
|
-
const contents = await
|
35
|
+
const contents = await readFile(`${base}/${fileName}`, { encoding: 'utf-8' });
|
38
36
|
workspace[folder2].push(...getVariableNamesFromFileContents(contents, exportStatement, endingCharacter));
|
39
37
|
}
|
40
38
|
}
|
@@ -62,10 +60,10 @@ async function getOtherVariableInfo() {
|
|
62
60
|
const constants = [];
|
63
61
|
const types = [];
|
64
62
|
const functions = [];
|
65
|
-
const constantFileNames = (await
|
63
|
+
const constantFileNames = (await readdir('src/core/constants'))
|
66
64
|
.filter(fileName => fileName.includes('.ts'));
|
67
65
|
for (const fileName of constantFileNames) {
|
68
|
-
const contents = await
|
66
|
+
const contents = await readFile(`src/core/constants/${fileName}`, { encoding: 'utf-8' });
|
69
67
|
constants.push(...getVariableNamesFromFileContents(contents, 'export const', ' '));
|
70
68
|
types.push(...getVariableNamesFromFileContents(contents, 'export type', ' '));
|
71
69
|
functions.push(...getVariableNamesFromFileContents(contents, 'export function', '('));
|
@@ -1,24 +1,19 @@
|
|
1
|
-
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.isActiveAbility = exports.ActiveAbilities = exports.isAbility = exports.Abilities = void 0;
|
4
|
-
exports.Abilities = {
|
1
|
+
export const Abilities = {
|
5
2
|
'P': 'P',
|
6
3
|
'Q': 'Q',
|
7
4
|
'W': 'W',
|
8
5
|
'E': 'E',
|
9
6
|
'R': 'R',
|
10
7
|
};
|
11
|
-
function isAbility(value) {
|
12
|
-
return typeof value == 'string' && value in
|
8
|
+
export function isAbility(value) {
|
9
|
+
return typeof value == 'string' && value in Abilities;
|
13
10
|
}
|
14
|
-
|
15
|
-
exports.ActiveAbilities = {
|
11
|
+
export const ActiveAbilities = {
|
16
12
|
'Q': 'Q',
|
17
13
|
'W': 'W',
|
18
14
|
'E': 'E',
|
19
15
|
'R': 'R',
|
20
16
|
};
|
21
|
-
function isActiveAbility(value) {
|
22
|
-
return typeof value == 'string' && value in
|
17
|
+
export function isActiveAbility(value) {
|
18
|
+
return typeof value == 'string' && value in ActiveAbilities;
|
23
19
|
}
|
24
|
-
exports.isActiveAbility = isActiveAbility;
|
@@ -1,11 +1,7 @@
|
|
1
|
-
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.isBuildingType = exports.BuildingTypes = void 0;
|
4
|
-
exports.BuildingTypes = {
|
1
|
+
export const BuildingTypes = {
|
5
2
|
'TOWER_BUILDING': 'TOWER_BUILDING',
|
6
3
|
'INHIBITOR_BUILDING': 'INHIBITOR_BUILDING',
|
7
4
|
};
|
8
|
-
function isBuildingType(value) {
|
9
|
-
return typeof value == 'string' && value in
|
5
|
+
export function isBuildingType(value) {
|
6
|
+
return typeof value == 'string' && value in BuildingTypes;
|
10
7
|
}
|
11
|
-
exports.isBuildingType = isBuildingType;
|
@@ -0,0 +1,17 @@
|
|
1
|
+
export declare const ChampionClasses: {
|
2
|
+
readonly Enchanter: "Enchanter";
|
3
|
+
readonly Catcher: "Catcher";
|
4
|
+
readonly Juggernaut: "Juggernaut";
|
5
|
+
readonly Diver: "Diver";
|
6
|
+
readonly Burst: "Burst";
|
7
|
+
readonly Battlemage: "Battlemage";
|
8
|
+
readonly Artillery: "Artillery";
|
9
|
+
readonly Marksman: "Marksman";
|
10
|
+
readonly Assassin: "Assassin";
|
11
|
+
readonly Skirmisher: "Skirmisher";
|
12
|
+
readonly Vanguard: "Vanguard";
|
13
|
+
readonly Warden: "Warden";
|
14
|
+
readonly Specialist: "Specialist";
|
15
|
+
};
|
16
|
+
export type ChampionClass = typeof ChampionClasses[keyof typeof ChampionClasses];
|
17
|
+
export declare function isChampionClass(value: any): value is ChampionClass;
|
@@ -0,0 +1,25 @@
|
|
1
|
+
export const ChampionClasses = {
|
2
|
+
// # Controller
|
3
|
+
'Enchanter': 'Enchanter',
|
4
|
+
'Catcher': 'Catcher',
|
5
|
+
// # Fighter
|
6
|
+
'Juggernaut': 'Juggernaut',
|
7
|
+
'Diver': 'Diver',
|
8
|
+
// # Mage
|
9
|
+
'Burst': 'Burst',
|
10
|
+
'Battlemage': 'Battlemage',
|
11
|
+
'Artillery': 'Artillery',
|
12
|
+
// # Marskman
|
13
|
+
'Marksman': 'Marksman',
|
14
|
+
// # Slayer
|
15
|
+
'Assassin': 'Assassin',
|
16
|
+
'Skirmisher': 'Skirmisher',
|
17
|
+
// # Tank
|
18
|
+
'Vanguard': 'Vanguard',
|
19
|
+
'Warden': 'Warden',
|
20
|
+
// # Specialist
|
21
|
+
'Specialist': 'Specialist',
|
22
|
+
};
|
23
|
+
export function isChampionClass(value) {
|
24
|
+
return typeof value == 'string' && value in ChampionClasses;
|
25
|
+
}
|
@@ -1,4 +1 @@
|
|
1
|
-
"
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.ChampionIds = void 0;
|
4
|
-
exports.ChampionIds = { "1": "Annie", "2": "Olaf", "3": "Galio", "4": "TwistedFate", "5": "XinZhao", "6": "Urgot", "7": "Leblanc", "8": "Vladimir", "9": "Fiddlesticks", "10": "Kayle", "11": "MasterYi", "12": "Alistar", "13": "Ryze", "14": "Sion", "15": "Sivir", "16": "Soraka", "17": "Teemo", "18": "Tristana", "19": "Warwick", "20": "Nunu", "21": "MissFortune", "22": "Ashe", "23": "Tryndamere", "24": "Jax", "25": "Morgana", "26": "Zilean", "27": "Singed", "28": "Evelynn", "29": "Twitch", "30": "Karthus", "31": "Chogath", "32": "Amumu", "33": "Rammus", "34": "Anivia", "35": "Shaco", "36": "DrMundo", "37": "Sona", "38": "Kassadin", "39": "Irelia", "40": "Janna", "41": "Gangplank", "42": "Corki", "43": "Karma", "44": "Taric", "45": "Veigar", "48": "Trundle", "50": "Swain", "51": "Caitlyn", "53": "Blitzcrank", "54": "Malphite", "55": "Katarina", "56": "Nocturne", "57": "Maokai", "58": "Renekton", "59": "JarvanIV", "60": "Elise", "61": "Orianna", "62": "MonkeyKing", "63": "Brand", "64": "LeeSin", "67": "Vayne", "68": "Rumble", "69": "Cassiopeia", "72": "Skarner", "74": "Heimerdinger", "75": "Nasus", "76": "Nidalee", "77": "Udyr", "78": "Poppy", "79": "Gragas", "80": "Pantheon", "81": "Ezreal", "82": "Mordekaiser", "83": "Yorick", "84": "Akali", "85": "Kennen", "86": "Garen", "89": "Leona", "90": "Malzahar", "91": "Talon", "92": "Riven", "96": "KogMaw", "98": "Shen", "99": "Lux", "101": "Xerath", "102": "Shyvana", "103": "Ahri", "104": "Graves", "105": "Fizz", "106": "Volibear", "107": "Rengar", "110": "Varus", "111": "Nautilus", "112": "Viktor", "113": "Sejuani", "114": "Fiora", "115": "Ziggs", "117": "Lulu", "119": "Draven", "120": "Hecarim", "121": "Khazix", "122": "Darius", "126": "Jayce", "127": "Lissandra", "131": "Diana", "133": "Quinn", "134": "Syndra", "136": "AurelionSol", "141": "Kayn", "142": "Zoe", "143": "Zyra", "145": "Kaisa", "147": "Seraphine", "150": "Gnar", "154": "Zac", "157": "Yasuo", "161": "Velkoz", "163": "Taliyah", "164": "Camille", "166": "Akshan", "200": "Belveth", "201": "Braum", "202": "Jhin", "203": "Kindred", "221": "Zeri", "222": "Jinx", "223": "TahmKench", "233": "Briar", "234": "Viego", "235": "Senna", "236": "Lucian", "238": "Zed", "240": "Kled", "245": "Ekko", "246": "Qiyana", "254": "Vi", "266": "Aatrox", "267": "Nami", "268": "Azir", "350": "Yuumi", "360": "Samira", "412": "Thresh", "420": "Illaoi", "421": "RekSai", "427": "Ivern", "429": "Kalista", "432": "Bard", "497": "Rakan", "498": "Xayah", "516": "Ornn", "517": "Sylas", "518": "Neeko", "523": "Aphelios", "526": "Rell", "555": "Pyke", "711": "Vex", "777": "Yone", "875": "Sett", "876": "Lillia", "887": "Gwen", "888": "Renata", "895": "Nilah", "897": "KSante", "901": "Smolder", "902": "Milio", "910": "Hwei", "950": "Naafiri" };
|
1
|
+
export const ChampionIds = { "1": "Annie", "2": "Olaf", "3": "Galio", "4": "TwistedFate", "5": "XinZhao", "6": "Urgot", "7": "Leblanc", "8": "Vladimir", "9": "Fiddlesticks", "10": "Kayle", "11": "MasterYi", "12": "Alistar", "13": "Ryze", "14": "Sion", "15": "Sivir", "16": "Soraka", "17": "Teemo", "18": "Tristana", "19": "Warwick", "20": "Nunu", "21": "MissFortune", "22": "Ashe", "23": "Tryndamere", "24": "Jax", "25": "Morgana", "26": "Zilean", "27": "Singed", "28": "Evelynn", "29": "Twitch", "30": "Karthus", "31": "Chogath", "32": "Amumu", "33": "Rammus", "34": "Anivia", "35": "Shaco", "36": "DrMundo", "37": "Sona", "38": "Kassadin", "39": "Irelia", "40": "Janna", "41": "Gangplank", "42": "Corki", "43": "Karma", "44": "Taric", "45": "Veigar", "48": "Trundle", "50": "Swain", "51": "Caitlyn", "53": "Blitzcrank", "54": "Malphite", "55": "Katarina", "56": "Nocturne", "57": "Maokai", "58": "Renekton", "59": "JarvanIV", "60": "Elise", "61": "Orianna", "62": "MonkeyKing", "63": "Brand", "64": "LeeSin", "67": "Vayne", "68": "Rumble", "69": "Cassiopeia", "72": "Skarner", "74": "Heimerdinger", "75": "Nasus", "76": "Nidalee", "77": "Udyr", "78": "Poppy", "79": "Gragas", "80": "Pantheon", "81": "Ezreal", "82": "Mordekaiser", "83": "Yorick", "84": "Akali", "85": "Kennen", "86": "Garen", "89": "Leona", "90": "Malzahar", "91": "Talon", "92": "Riven", "96": "KogMaw", "98": "Shen", "99": "Lux", "101": "Xerath", "102": "Shyvana", "103": "Ahri", "104": "Graves", "105": "Fizz", "106": "Volibear", "107": "Rengar", "110": "Varus", "111": "Nautilus", "112": "Viktor", "113": "Sejuani", "114": "Fiora", "115": "Ziggs", "117": "Lulu", "119": "Draven", "120": "Hecarim", "121": "Khazix", "122": "Darius", "126": "Jayce", "127": "Lissandra", "131": "Diana", "133": "Quinn", "134": "Syndra", "136": "AurelionSol", "141": "Kayn", "142": "Zoe", "143": "Zyra", "145": "Kaisa", "147": "Seraphine", "150": "Gnar", "154": "Zac", "157": "Yasuo", "161": "Velkoz", "163": "Taliyah", "164": "Camille", "166": "Akshan", "200": "Belveth", "201": "Braum", "202": "Jhin", "203": "Kindred", "221": "Zeri", "222": "Jinx", "223": "TahmKench", "233": "Briar", "234": "Viego", "235": "Senna", "236": "Lucian", "238": "Zed", "240": "Kled", "245": "Ekko", "246": "Qiyana", "254": "Vi", "266": "Aatrox", "267": "Nami", "268": "Azir", "350": "Yuumi", "360": "Samira", "412": "Thresh", "420": "Illaoi", "421": "RekSai", "427": "Ivern", "429": "Kalista", "432": "Bard", "497": "Rakan", "498": "Xayah", "516": "Ornn", "517": "Sylas", "518": "Neeko", "523": "Aphelios", "526": "Rell", "555": "Pyke", "711": "Vex", "777": "Yone", "875": "Sett", "876": "Lillia", "887": "Gwen", "888": "Renata", "895": "Nilah", "897": "KSante", "901": "Smolder", "902": "Milio", "910": "Hwei", "950": "Naafiri" };
|