lol-constants 1.2.1 → 1.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/scripts/generate-all.d.ts +1 -0
- package/assets/scripts/generate-all.js +1 -0
- package/assets/scripts/generate-rune-sets-by-rune-names.d.ts +1 -0
- package/assets/scripts/generate-rune-sets-by-rune-names.js +94 -0
- package/assets/scripts/generate-rune-sets.js +1 -1
- package/dist/Constants/DDPaths.d.ts +9 -1
- package/dist/Constants/DDPaths.js +12 -2
- package/dist/Constants/Runes/RuneIconFileNames.d.ts +12 -0
- package/dist/Constants/Runes/RuneIconFileNames.js +101 -0
- package/dist/Constants/Runes/RuneSetsByRuneNames.d.ts +479 -0
- package/dist/Constants/Runes/RuneSetsByRuneNames.js +12 -0
- package/dist/Constants/Runes/RuneTreeIds.d.ts +7 -0
- package/dist/Constants/Runes/RuneTreeIds.js +10 -0
- package/dist/Constants/Runes/RuneTreeNames.d.ts +5 -5
- package/dist/Constants/Runes/RuneTreeNames.js +5 -5
- package/dist/Helpers/Runes/getRuneCDNURL.d.ts +6 -0
- package/dist/Helpers/Runes/getRuneCDNURL.js +53 -0
- package/dist/Helpers/Runes/getRuneCategoryByRuneName.d.ts +5 -0
- package/dist/Helpers/Runes/getRuneCategoryByRuneName.js +29 -0
- package/dist/Helpers/Runes/isRuneTreeId.d.ts +2 -0
- package/dist/Helpers/Runes/isRuneTreeId.js +8 -0
- package/dist/Helpers/Runes/isRuneTreeName.js +2 -2
- package/dist/index.d.ts +4 -0
- package/dist/index.js +10 -2
- package/dist/types/index.d.ts +11 -1
- package/package.json +5 -3
@@ -6,6 +6,7 @@ import './generate-item-keys';
|
|
6
6
|
import './generate-item-names';
|
7
7
|
import './generate-rune-ids';
|
8
8
|
import './generate-rune-names';
|
9
|
+
import './generate-rune-sets-by-rune-names';
|
9
10
|
import './generate-rune-sets';
|
10
11
|
import './generate-spell-ids-by-name';
|
11
12
|
import './generate-spell-ids';
|
@@ -8,6 +8,7 @@ require("./generate-item-keys");
|
|
8
8
|
require("./generate-item-names");
|
9
9
|
require("./generate-rune-ids");
|
10
10
|
require("./generate-rune-names");
|
11
|
+
require("./generate-rune-sets-by-rune-names");
|
11
12
|
require("./generate-rune-sets");
|
12
13
|
require("./generate-spell-ids-by-name");
|
13
14
|
require("./generate-spell-ids");
|
@@ -0,0 +1 @@
|
|
1
|
+
export {};
|
@@ -0,0 +1,94 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
+
};
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
+
const runesReforged_json_1 = __importDefault(require("../runesReforged.json"));
|
7
|
+
const StatRunes_1 = require("../StatRunes");
|
8
|
+
const writeToTmpFile_1 = require("./Helpers/writeToTmpFile");
|
9
|
+
(async () => {
|
10
|
+
const constant = 'RuneSetsByRuneNames';
|
11
|
+
const runeSets = {
|
12
|
+
PrimaryTrees: {},
|
13
|
+
SecondaryTrees: {},
|
14
|
+
Keystones: {},
|
15
|
+
StatRunes: {},
|
16
|
+
};
|
17
|
+
const keystoneHSetIdx = 0;
|
18
|
+
let totalRuneAmt = 0;
|
19
|
+
for (const runeTree of runesReforged_json_1.default) {
|
20
|
+
const runeTreeName = runeTree.name;
|
21
|
+
const horizontalSets = runeTree.slots;
|
22
|
+
let currentHSetIdx = 0;
|
23
|
+
for (const { runes, } of horizontalSets) {
|
24
|
+
for (let { id, name: runeName, } of runes) {
|
25
|
+
totalRuneAmt += 1;
|
26
|
+
// Add to PrimaryTrees
|
27
|
+
if (!(runeTreeName in runeSets.PrimaryTrees))
|
28
|
+
runeSets.PrimaryTrees[runeTreeName] = {};
|
29
|
+
runeSets.PrimaryTrees[runeTreeName][runeName] = String(id);
|
30
|
+
// Add to SecondaryTrees
|
31
|
+
if (!(runeTreeName in runeSets.SecondaryTrees))
|
32
|
+
runeSets.SecondaryTrees[runeTreeName] = {};
|
33
|
+
// But only if it isn't a keystone rune
|
34
|
+
if (currentHSetIdx != keystoneHSetIdx) {
|
35
|
+
runeSets.SecondaryTrees[runeTreeName][runeName] = String(id);
|
36
|
+
}
|
37
|
+
// Add to Keystones
|
38
|
+
// But only if it is a keystone rune
|
39
|
+
if (currentHSetIdx == keystoneHSetIdx) {
|
40
|
+
runeSets.Keystones[runeName] = String(id);
|
41
|
+
}
|
42
|
+
}
|
43
|
+
++currentHSetIdx;
|
44
|
+
}
|
45
|
+
}
|
46
|
+
let statRuneId;
|
47
|
+
for (statRuneId in StatRunes_1.StatRunes) {
|
48
|
+
totalRuneAmt += 1;
|
49
|
+
// Add to StatRunes
|
50
|
+
runeSets.StatRunes[StatRunes_1.StatRunes[statRuneId]] = statRuneId;
|
51
|
+
}
|
52
|
+
// Write to file
|
53
|
+
await (0, writeToTmpFile_1.writeToTmpFile)(constant, {
|
54
|
+
constName: 'PrimaryTrees',
|
55
|
+
json: runeSets.PrimaryTrees,
|
56
|
+
}, {
|
57
|
+
constName: 'SecondaryTrees',
|
58
|
+
json: runeSets.SecondaryTrees,
|
59
|
+
}, {
|
60
|
+
constName: 'Keystones',
|
61
|
+
json: runeSets.Keystones,
|
62
|
+
}, {
|
63
|
+
constName: 'StatRunes',
|
64
|
+
json: runeSets.StatRunes,
|
65
|
+
}, {
|
66
|
+
constName: 'All',
|
67
|
+
json: {
|
68
|
+
1: '...PrimaryTrees.Precision',
|
69
|
+
2: '...PrimaryTrees.Domination',
|
70
|
+
3: '...PrimaryTrees.Sorcery',
|
71
|
+
4: '...PrimaryTrees.Resolve',
|
72
|
+
5: '...PrimaryTrees.Inspiration',
|
73
|
+
6: '...StatRunes',
|
74
|
+
},
|
75
|
+
keysToSpread: [1, 2, 3, 4, 5, 6],
|
76
|
+
}, {
|
77
|
+
constName: constant,
|
78
|
+
comment: `Contains all Rune IDs that are known to man in the game of League of Legends. Sorted by various useful categories. There are a total of ${totalRuneAmt} runes in the game.`,
|
79
|
+
json: {
|
80
|
+
'PrimaryTrees': 'PrimaryTrees',
|
81
|
+
'SecondaryTrees': 'SecondaryTrees',
|
82
|
+
'Keystones': 'Keystones',
|
83
|
+
'StatRunes': 'StatRunes',
|
84
|
+
'All': 'All',
|
85
|
+
},
|
86
|
+
keysToSpread: [
|
87
|
+
'PrimaryTrees',
|
88
|
+
'SecondaryTrees',
|
89
|
+
'Keystones',
|
90
|
+
'StatRunes',
|
91
|
+
'All',
|
92
|
+
],
|
93
|
+
});
|
94
|
+
})();
|
@@ -74,7 +74,7 @@ const writeToTmpFile_1 = require("./Helpers/writeToTmpFile");
|
|
74
74
|
},
|
75
75
|
keysToSpread: [1, 2, 3, 4, 5, 6],
|
76
76
|
}, {
|
77
|
-
constName:
|
77
|
+
constName: constant,
|
78
78
|
comment: `Contains all Rune IDs that are known to man in the game of League of Legends. Sorted by various useful categories. There are a total of ${totalRuneAmt} runes in the game.`,
|
79
79
|
json: {
|
80
80
|
'PrimaryTrees': 'PrimaryTrees',
|
@@ -17,7 +17,7 @@ export declare const DDPaths: {
|
|
17
17
|
/**
|
18
18
|
* Append with `/FlashFrost.png` (`/{abilityKey}.png`).
|
19
19
|
*/
|
20
|
-
readonly
|
20
|
+
readonly ABILITY_ICON_BASE: `${string}/img/spell`;
|
21
21
|
/**
|
22
22
|
* Append with `/685.png` (`/{iconId}.png`).
|
23
23
|
*/
|
@@ -26,4 +26,12 @@ export declare const DDPaths: {
|
|
26
26
|
* Append with `/1001.png` (`/{itemId}.png`).
|
27
27
|
*/
|
28
28
|
readonly ITEM_ICON_BASE: `${string}/img/item`;
|
29
|
+
/**
|
30
|
+
* @see https://raw.communitydragon.org/latest/plugins/rcp-be-lol-game-data/global/default/v1/perk-images/statmods/
|
31
|
+
*/
|
32
|
+
readonly STAT_RUNE_ICON_BASE: `${string}/plugins/rcp-be-lol-game-data/global/default/v1/perk-images/statmods`;
|
33
|
+
/**
|
34
|
+
* @see https://raw.communitydragon.org/latest/plugins/rcp-be-lol-game-data/global/default/v1/perk-images/styles/
|
35
|
+
*/
|
36
|
+
readonly TREE_RUNE_ICON_BASE: `${string}/plugins/rcp-be-lol-game-data/global/default/v1/perk-images/styles`;
|
29
37
|
};
|
@@ -2,7 +2,9 @@
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
exports.DDPaths = void 0;
|
4
4
|
const version = '12.12.1';
|
5
|
-
const base = `
|
5
|
+
const base = `https://ddragon.leagueoflegends.com/cdn/${version}`;
|
6
|
+
const cdragonVersion = '12.12';
|
7
|
+
const cdragonBase = `https://raw.communitydragon.org/${cdragonVersion}`;
|
6
8
|
/**
|
7
9
|
* DataDragon CDN Paths.
|
8
10
|
*/
|
@@ -22,7 +24,7 @@ exports.DDPaths = {
|
|
22
24
|
/**
|
23
25
|
* Append with `/FlashFrost.png` (`/{abilityKey}.png`).
|
24
26
|
*/
|
25
|
-
|
27
|
+
ABILITY_ICON_BASE: `${base}/img/spell`,
|
26
28
|
/**
|
27
29
|
* Append with `/685.png` (`/{iconId}.png`).
|
28
30
|
*/
|
@@ -31,4 +33,12 @@ exports.DDPaths = {
|
|
31
33
|
* Append with `/1001.png` (`/{itemId}.png`).
|
32
34
|
*/
|
33
35
|
ITEM_ICON_BASE: `${base}/img/item`,
|
36
|
+
/**
|
37
|
+
* @see https://raw.communitydragon.org/latest/plugins/rcp-be-lol-game-data/global/default/v1/perk-images/statmods/
|
38
|
+
*/
|
39
|
+
STAT_RUNE_ICON_BASE: `${cdragonBase}/plugins/rcp-be-lol-game-data/global/default/v1/perk-images/statmods`,
|
40
|
+
/**
|
41
|
+
* @see https://raw.communitydragon.org/latest/plugins/rcp-be-lol-game-data/global/default/v1/perk-images/styles/
|
42
|
+
*/
|
43
|
+
TREE_RUNE_ICON_BASE: `${cdragonBase}/plugins/rcp-be-lol-game-data/global/default/v1/perk-images/styles`,
|
34
44
|
};
|
@@ -0,0 +1,12 @@
|
|
1
|
+
import { RuneName, RuneTreeName } from '../../types';
|
2
|
+
/**
|
3
|
+
* The file names themselves of runes,
|
4
|
+
* according to https://raw.communitydragon.org.
|
5
|
+
* The file names are excluding the extension (`.png`).
|
6
|
+
*
|
7
|
+
* @see https://raw.communitydragon.org/latest/plugins/rcp-be-lol-game-data/global/default/v1/perk-images/statmods/
|
8
|
+
* @see https://raw.communitydragon.org/latest/plugins/rcp-be-lol-game-data/global/default/v1/perk-images/styles/
|
9
|
+
*/
|
10
|
+
export declare const RuneIconFileNames: {
|
11
|
+
[k in (RuneName | RuneTreeName)]: string;
|
12
|
+
};
|
@@ -0,0 +1,101 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.RuneIconFileNames = void 0;
|
4
|
+
/**
|
5
|
+
* The file names themselves of runes,
|
6
|
+
* according to https://raw.communitydragon.org.
|
7
|
+
* The file names are excluding the extension (`.png`).
|
8
|
+
*
|
9
|
+
* @see https://raw.communitydragon.org/latest/plugins/rcp-be-lol-game-data/global/default/v1/perk-images/statmods/
|
10
|
+
* @see https://raw.communitydragon.org/latest/plugins/rcp-be-lol-game-data/global/default/v1/perk-images/styles/
|
11
|
+
*/
|
12
|
+
exports.RuneIconFileNames = {
|
13
|
+
// ## Rune Trees
|
14
|
+
'Precision': '7201_precision',
|
15
|
+
'Domination': '7200_domination',
|
16
|
+
'Sorcery': '7202_sorcery',
|
17
|
+
'Resolve': '7204_resolve',
|
18
|
+
'Inspiration': '7203_whimsy',
|
19
|
+
// ## Tree Runes
|
20
|
+
// ### Precision
|
21
|
+
'Conqueror': 'conqueror',
|
22
|
+
'Coup de Grace': 'coupdegrace',
|
23
|
+
'Cut Down': 'cutdown',
|
24
|
+
'Fleet Footwork': 'fleetfootwork',
|
25
|
+
'Legend: Alacrity': 'legendalacrity',
|
26
|
+
'Legend: Bloodline': 'legendbloodline',
|
27
|
+
'Legend: Tenacity': 'legendtenacity',
|
28
|
+
'Lethal Tempo': 'lethaltempotemp',
|
29
|
+
'Presence of Mind': 'presenceofmind',
|
30
|
+
'Press the Attack': 'presstheattack',
|
31
|
+
'Overheal': 'overheal',
|
32
|
+
'Triumph': 'triumph',
|
33
|
+
// ### Domination
|
34
|
+
'Cheap Shot': 'cheapshot',
|
35
|
+
'Dark Harvest': 'darkharvest',
|
36
|
+
'Electrocute': 'electrocute',
|
37
|
+
'Eyeball Collection': 'eyeballcollection',
|
38
|
+
'Ghost Poro': 'ghostporo',
|
39
|
+
'Hail of Blades': 'hailofblades',
|
40
|
+
'Ingenious Hunter': 'ingenioushunter',
|
41
|
+
'Predator': 'predator',
|
42
|
+
'Relentless Hunter': 'relentlesshunter',
|
43
|
+
'Sudden Impact': 'suddenimpact',
|
44
|
+
'Taste of Blood': 'greenterror_tasteofblood',
|
45
|
+
'Treasure Hunter': 'treasurehunter',
|
46
|
+
'Ultimate Hunter': 'ultimatehunter',
|
47
|
+
'Zombie Ward': 'zombieward',
|
48
|
+
// ### Sorcery
|
49
|
+
'Absolute Focus': 'absolutefocus',
|
50
|
+
'Arcane Comet': 'arcanecomet',
|
51
|
+
'Celerity': 'celeritytemp',
|
52
|
+
'Gathering Storm': 'gatheringstorm',
|
53
|
+
'Last Stand': 'laststand',
|
54
|
+
'Manaflow Band': 'manaflowband',
|
55
|
+
'Nimbus Cloak': '6361',
|
56
|
+
'Nullifying Orb': 'pokeshield',
|
57
|
+
'Phase Rush': 'phaserush',
|
58
|
+
'Scorch': 'scorch',
|
59
|
+
'Summon Aery': 'summonaery',
|
60
|
+
'Transcendence': 'transcendence',
|
61
|
+
'Unflinching': 'unflinching',
|
62
|
+
'Waterwalking': 'waterwalking',
|
63
|
+
// ### Resolve
|
64
|
+
'Approach Velocity': 'approachvelocity',
|
65
|
+
'Bone Plating': 'boneplating',
|
66
|
+
'Conditioning': 'conditioning',
|
67
|
+
'Demolish': 'demolish',
|
68
|
+
'Font of Life': 'fontoflife',
|
69
|
+
'Grasp of the Undying': 'graspoftheundying',
|
70
|
+
'Guardian': 'guardian',
|
71
|
+
'Shield Bash': 'mirrorshell',
|
72
|
+
'Overgrowth': 'overgrowth',
|
73
|
+
'Revitalize': 'revitalize',
|
74
|
+
'Second Wind': 'secondwind',
|
75
|
+
'Aftershock': 'veteranaftershock',
|
76
|
+
// ### Inspiration
|
77
|
+
'Magical Footwear': 'magicalfootwear',
|
78
|
+
'Minion Dematerializer': 'miniondematerializer',
|
79
|
+
'Perfect Timing': 'perfecttiming',
|
80
|
+
'Time Warp Tonic': 'timewarptonic',
|
81
|
+
'Unsealed Spellbook': 'unsealedspellbook',
|
82
|
+
'Biscuit Delivery': 'biscuitdelivery',
|
83
|
+
'Cosmic Insight': 'cosmicinsight',
|
84
|
+
'First Strike': 'firststrike',
|
85
|
+
'Future\'s Market': 'futuresmarket',
|
86
|
+
'Glacial Augment': 'glacialaugment',
|
87
|
+
'Hextech Flashtraption': 'hextechflashtraption',
|
88
|
+
// ## Stat Runes
|
89
|
+
// ###
|
90
|
+
'Offense (AF)': 'statmodsadaptiveforceicon',
|
91
|
+
'Offense (AS)': 'statmodsattackspeedicon',
|
92
|
+
'Offense (AH)': 'statmodscdrscalingicon',
|
93
|
+
// ###
|
94
|
+
'Flex (AF)': 'statmodsadaptiveforceicon',
|
95
|
+
'Flex (AR)': 'statmodsarmoricon',
|
96
|
+
'Flex (MR)': 'statmodsmagicresicon.magicresist_fix',
|
97
|
+
// ###
|
98
|
+
'Defense (HP)': 'statmodshealthscalingicon',
|
99
|
+
'Defense (AR)': 'statmodsarmoricon',
|
100
|
+
'Defense (MR)': 'statmodsmagicresicon.magicresist_fix',
|
101
|
+
};
|
@@ -0,0 +1,479 @@
|
|
1
|
+
export declare const PrimaryTrees: {
|
2
|
+
readonly Domination: {
|
3
|
+
readonly Electrocute: "8112";
|
4
|
+
readonly Predator: "8124";
|
5
|
+
readonly "Dark Harvest": "8128";
|
6
|
+
readonly "Hail of Blades": "9923";
|
7
|
+
readonly "Cheap Shot": "8126";
|
8
|
+
readonly "Taste of Blood": "8139";
|
9
|
+
readonly "Sudden Impact": "8143";
|
10
|
+
readonly "Zombie Ward": "8136";
|
11
|
+
readonly "Ghost Poro": "8120";
|
12
|
+
readonly "Eyeball Collection": "8138";
|
13
|
+
readonly "Treasure Hunter": "8135";
|
14
|
+
readonly "Ingenious Hunter": "8134";
|
15
|
+
readonly "Relentless Hunter": "8105";
|
16
|
+
readonly "Ultimate Hunter": "8106";
|
17
|
+
};
|
18
|
+
readonly Inspiration: {
|
19
|
+
readonly "Glacial Augment": "8351";
|
20
|
+
readonly "Unsealed Spellbook": "8360";
|
21
|
+
readonly "First Strike": "8369";
|
22
|
+
readonly "Hextech Flashtraption": "8306";
|
23
|
+
readonly "Magical Footwear": "8304";
|
24
|
+
readonly "Perfect Timing": "8313";
|
25
|
+
readonly "Future's Market": "8321";
|
26
|
+
readonly "Minion Dematerializer": "8316";
|
27
|
+
readonly "Biscuit Delivery": "8345";
|
28
|
+
readonly "Cosmic Insight": "8347";
|
29
|
+
readonly "Approach Velocity": "8410";
|
30
|
+
readonly "Time Warp Tonic": "8352";
|
31
|
+
};
|
32
|
+
readonly Precision: {
|
33
|
+
readonly "Press the Attack": "8005";
|
34
|
+
readonly "Lethal Tempo": "8008";
|
35
|
+
readonly "Fleet Footwork": "8021";
|
36
|
+
readonly Conqueror: "8010";
|
37
|
+
readonly Overheal: "9101";
|
38
|
+
readonly Triumph: "9111";
|
39
|
+
readonly "Presence of Mind": "8009";
|
40
|
+
readonly "Legend: Alacrity": "9104";
|
41
|
+
readonly "Legend: Tenacity": "9105";
|
42
|
+
readonly "Legend: Bloodline": "9103";
|
43
|
+
readonly "Coup de Grace": "8014";
|
44
|
+
readonly "Cut Down": "8017";
|
45
|
+
readonly "Last Stand": "8299";
|
46
|
+
};
|
47
|
+
readonly Resolve: {
|
48
|
+
readonly "Grasp of the Undying": "8437";
|
49
|
+
readonly Aftershock: "8439";
|
50
|
+
readonly Guardian: "8465";
|
51
|
+
readonly Demolish: "8446";
|
52
|
+
readonly "Font of Life": "8463";
|
53
|
+
readonly "Shield Bash": "8401";
|
54
|
+
readonly Conditioning: "8429";
|
55
|
+
readonly "Second Wind": "8444";
|
56
|
+
readonly "Bone Plating": "8473";
|
57
|
+
readonly Overgrowth: "8451";
|
58
|
+
readonly Revitalize: "8453";
|
59
|
+
readonly Unflinching: "8242";
|
60
|
+
};
|
61
|
+
readonly Sorcery: {
|
62
|
+
readonly "Summon Aery": "8214";
|
63
|
+
readonly "Arcane Comet": "8229";
|
64
|
+
readonly "Phase Rush": "8230";
|
65
|
+
readonly "Nullifying Orb": "8224";
|
66
|
+
readonly "Manaflow Band": "8226";
|
67
|
+
readonly "Nimbus Cloak": "8275";
|
68
|
+
readonly Transcendence: "8210";
|
69
|
+
readonly Celerity: "8234";
|
70
|
+
readonly "Absolute Focus": "8233";
|
71
|
+
readonly Scorch: "8237";
|
72
|
+
readonly Waterwalking: "8232";
|
73
|
+
readonly "Gathering Storm": "8236";
|
74
|
+
};
|
75
|
+
};
|
76
|
+
export declare const SecondaryTrees: {
|
77
|
+
readonly Domination: {
|
78
|
+
readonly "Cheap Shot": "8126";
|
79
|
+
readonly "Taste of Blood": "8139";
|
80
|
+
readonly "Sudden Impact": "8143";
|
81
|
+
readonly "Zombie Ward": "8136";
|
82
|
+
readonly "Ghost Poro": "8120";
|
83
|
+
readonly "Eyeball Collection": "8138";
|
84
|
+
readonly "Treasure Hunter": "8135";
|
85
|
+
readonly "Ingenious Hunter": "8134";
|
86
|
+
readonly "Relentless Hunter": "8105";
|
87
|
+
readonly "Ultimate Hunter": "8106";
|
88
|
+
};
|
89
|
+
readonly Inspiration: {
|
90
|
+
readonly "Hextech Flashtraption": "8306";
|
91
|
+
readonly "Magical Footwear": "8304";
|
92
|
+
readonly "Perfect Timing": "8313";
|
93
|
+
readonly "Future's Market": "8321";
|
94
|
+
readonly "Minion Dematerializer": "8316";
|
95
|
+
readonly "Biscuit Delivery": "8345";
|
96
|
+
readonly "Cosmic Insight": "8347";
|
97
|
+
readonly "Approach Velocity": "8410";
|
98
|
+
readonly "Time Warp Tonic": "8352";
|
99
|
+
};
|
100
|
+
readonly Precision: {
|
101
|
+
readonly Overheal: "9101";
|
102
|
+
readonly Triumph: "9111";
|
103
|
+
readonly "Presence of Mind": "8009";
|
104
|
+
readonly "Legend: Alacrity": "9104";
|
105
|
+
readonly "Legend: Tenacity": "9105";
|
106
|
+
readonly "Legend: Bloodline": "9103";
|
107
|
+
readonly "Coup de Grace": "8014";
|
108
|
+
readonly "Cut Down": "8017";
|
109
|
+
readonly "Last Stand": "8299";
|
110
|
+
};
|
111
|
+
readonly Resolve: {
|
112
|
+
readonly Demolish: "8446";
|
113
|
+
readonly "Font of Life": "8463";
|
114
|
+
readonly "Shield Bash": "8401";
|
115
|
+
readonly Conditioning: "8429";
|
116
|
+
readonly "Second Wind": "8444";
|
117
|
+
readonly "Bone Plating": "8473";
|
118
|
+
readonly Overgrowth: "8451";
|
119
|
+
readonly Revitalize: "8453";
|
120
|
+
readonly Unflinching: "8242";
|
121
|
+
};
|
122
|
+
readonly Sorcery: {
|
123
|
+
readonly "Nullifying Orb": "8224";
|
124
|
+
readonly "Manaflow Band": "8226";
|
125
|
+
readonly "Nimbus Cloak": "8275";
|
126
|
+
readonly Transcendence: "8210";
|
127
|
+
readonly Celerity: "8234";
|
128
|
+
readonly "Absolute Focus": "8233";
|
129
|
+
readonly Scorch: "8237";
|
130
|
+
readonly Waterwalking: "8232";
|
131
|
+
readonly "Gathering Storm": "8236";
|
132
|
+
};
|
133
|
+
};
|
134
|
+
export declare const Keystones: {
|
135
|
+
readonly Electrocute: "8112";
|
136
|
+
readonly Predator: "8124";
|
137
|
+
readonly "Dark Harvest": "8128";
|
138
|
+
readonly "Hail of Blades": "9923";
|
139
|
+
readonly "Glacial Augment": "8351";
|
140
|
+
readonly "Unsealed Spellbook": "8360";
|
141
|
+
readonly "First Strike": "8369";
|
142
|
+
readonly "Press the Attack": "8005";
|
143
|
+
readonly "Lethal Tempo": "8008";
|
144
|
+
readonly "Fleet Footwork": "8021";
|
145
|
+
readonly Conqueror: "8010";
|
146
|
+
readonly "Grasp of the Undying": "8437";
|
147
|
+
readonly Aftershock: "8439";
|
148
|
+
readonly Guardian: "8465";
|
149
|
+
readonly "Summon Aery": "8214";
|
150
|
+
readonly "Arcane Comet": "8229";
|
151
|
+
readonly "Phase Rush": "8230";
|
152
|
+
};
|
153
|
+
export declare const StatRunes: {
|
154
|
+
readonly "Defense (HP)": "5001";
|
155
|
+
readonly "Defense (AR)": "5002";
|
156
|
+
readonly "Defense (MR)": "5003";
|
157
|
+
readonly "Offense (AS)": "5005";
|
158
|
+
readonly "Offense (AH)": "5007";
|
159
|
+
readonly "Offense (AF)": "5008";
|
160
|
+
readonly "Flex (AR)": "5002f";
|
161
|
+
readonly "Flex (MR)": "5003f";
|
162
|
+
readonly "Flex (AF)": "5008f";
|
163
|
+
};
|
164
|
+
export declare const All: {
|
165
|
+
readonly "Defense (HP)": "5001";
|
166
|
+
readonly "Defense (AR)": "5002";
|
167
|
+
readonly "Defense (MR)": "5003";
|
168
|
+
readonly "Offense (AS)": "5005";
|
169
|
+
readonly "Offense (AH)": "5007";
|
170
|
+
readonly "Offense (AF)": "5008";
|
171
|
+
readonly "Flex (AR)": "5002f";
|
172
|
+
readonly "Flex (MR)": "5003f";
|
173
|
+
readonly "Flex (AF)": "5008f";
|
174
|
+
readonly "Glacial Augment": "8351";
|
175
|
+
readonly "Unsealed Spellbook": "8360";
|
176
|
+
readonly "First Strike": "8369";
|
177
|
+
readonly "Hextech Flashtraption": "8306";
|
178
|
+
readonly "Magical Footwear": "8304";
|
179
|
+
readonly "Perfect Timing": "8313";
|
180
|
+
readonly "Future's Market": "8321";
|
181
|
+
readonly "Minion Dematerializer": "8316";
|
182
|
+
readonly "Biscuit Delivery": "8345";
|
183
|
+
readonly "Cosmic Insight": "8347";
|
184
|
+
readonly "Approach Velocity": "8410";
|
185
|
+
readonly "Time Warp Tonic": "8352";
|
186
|
+
readonly "Grasp of the Undying": "8437";
|
187
|
+
readonly Aftershock: "8439";
|
188
|
+
readonly Guardian: "8465";
|
189
|
+
readonly Demolish: "8446";
|
190
|
+
readonly "Font of Life": "8463";
|
191
|
+
readonly "Shield Bash": "8401";
|
192
|
+
readonly Conditioning: "8429";
|
193
|
+
readonly "Second Wind": "8444";
|
194
|
+
readonly "Bone Plating": "8473";
|
195
|
+
readonly Overgrowth: "8451";
|
196
|
+
readonly Revitalize: "8453";
|
197
|
+
readonly Unflinching: "8242";
|
198
|
+
readonly "Summon Aery": "8214";
|
199
|
+
readonly "Arcane Comet": "8229";
|
200
|
+
readonly "Phase Rush": "8230";
|
201
|
+
readonly "Nullifying Orb": "8224";
|
202
|
+
readonly "Manaflow Band": "8226";
|
203
|
+
readonly "Nimbus Cloak": "8275";
|
204
|
+
readonly Transcendence: "8210";
|
205
|
+
readonly Celerity: "8234";
|
206
|
+
readonly "Absolute Focus": "8233";
|
207
|
+
readonly Scorch: "8237";
|
208
|
+
readonly Waterwalking: "8232";
|
209
|
+
readonly "Gathering Storm": "8236";
|
210
|
+
readonly Electrocute: "8112";
|
211
|
+
readonly Predator: "8124";
|
212
|
+
readonly "Dark Harvest": "8128";
|
213
|
+
readonly "Hail of Blades": "9923";
|
214
|
+
readonly "Cheap Shot": "8126";
|
215
|
+
readonly "Taste of Blood": "8139";
|
216
|
+
readonly "Sudden Impact": "8143";
|
217
|
+
readonly "Zombie Ward": "8136";
|
218
|
+
readonly "Ghost Poro": "8120";
|
219
|
+
readonly "Eyeball Collection": "8138";
|
220
|
+
readonly "Treasure Hunter": "8135";
|
221
|
+
readonly "Ingenious Hunter": "8134";
|
222
|
+
readonly "Relentless Hunter": "8105";
|
223
|
+
readonly "Ultimate Hunter": "8106";
|
224
|
+
readonly "Press the Attack": "8005";
|
225
|
+
readonly "Lethal Tempo": "8008";
|
226
|
+
readonly "Fleet Footwork": "8021";
|
227
|
+
readonly Conqueror: "8010";
|
228
|
+
readonly Overheal: "9101";
|
229
|
+
readonly Triumph: "9111";
|
230
|
+
readonly "Presence of Mind": "8009";
|
231
|
+
readonly "Legend: Alacrity": "9104";
|
232
|
+
readonly "Legend: Tenacity": "9105";
|
233
|
+
readonly "Legend: Bloodline": "9103";
|
234
|
+
readonly "Coup de Grace": "8014";
|
235
|
+
readonly "Cut Down": "8017";
|
236
|
+
readonly "Last Stand": "8299";
|
237
|
+
};
|
238
|
+
/**
|
239
|
+
* Contains all Rune IDs that are known to man in the game of League of Legends. Sorted by various useful categories. There are a total of 72 runes in the game.
|
240
|
+
*/
|
241
|
+
export declare const RuneSetsByRuneNames: {
|
242
|
+
readonly PrimaryTrees: {
|
243
|
+
readonly Domination: {
|
244
|
+
readonly Electrocute: "8112";
|
245
|
+
readonly Predator: "8124";
|
246
|
+
readonly "Dark Harvest": "8128";
|
247
|
+
readonly "Hail of Blades": "9923";
|
248
|
+
readonly "Cheap Shot": "8126";
|
249
|
+
readonly "Taste of Blood": "8139";
|
250
|
+
readonly "Sudden Impact": "8143";
|
251
|
+
readonly "Zombie Ward": "8136";
|
252
|
+
readonly "Ghost Poro": "8120";
|
253
|
+
readonly "Eyeball Collection": "8138";
|
254
|
+
readonly "Treasure Hunter": "8135";
|
255
|
+
readonly "Ingenious Hunter": "8134";
|
256
|
+
readonly "Relentless Hunter": "8105";
|
257
|
+
readonly "Ultimate Hunter": "8106";
|
258
|
+
};
|
259
|
+
readonly Inspiration: {
|
260
|
+
readonly "Glacial Augment": "8351";
|
261
|
+
readonly "Unsealed Spellbook": "8360";
|
262
|
+
readonly "First Strike": "8369";
|
263
|
+
readonly "Hextech Flashtraption": "8306";
|
264
|
+
readonly "Magical Footwear": "8304";
|
265
|
+
readonly "Perfect Timing": "8313";
|
266
|
+
readonly "Future's Market": "8321";
|
267
|
+
readonly "Minion Dematerializer": "8316";
|
268
|
+
readonly "Biscuit Delivery": "8345";
|
269
|
+
readonly "Cosmic Insight": "8347";
|
270
|
+
readonly "Approach Velocity": "8410";
|
271
|
+
readonly "Time Warp Tonic": "8352";
|
272
|
+
};
|
273
|
+
readonly Precision: {
|
274
|
+
readonly "Press the Attack": "8005";
|
275
|
+
readonly "Lethal Tempo": "8008";
|
276
|
+
readonly "Fleet Footwork": "8021";
|
277
|
+
readonly Conqueror: "8010";
|
278
|
+
readonly Overheal: "9101";
|
279
|
+
readonly Triumph: "9111";
|
280
|
+
readonly "Presence of Mind": "8009";
|
281
|
+
readonly "Legend: Alacrity": "9104";
|
282
|
+
readonly "Legend: Tenacity": "9105";
|
283
|
+
readonly "Legend: Bloodline": "9103";
|
284
|
+
readonly "Coup de Grace": "8014";
|
285
|
+
readonly "Cut Down": "8017";
|
286
|
+
readonly "Last Stand": "8299";
|
287
|
+
};
|
288
|
+
readonly Resolve: {
|
289
|
+
readonly "Grasp of the Undying": "8437";
|
290
|
+
readonly Aftershock: "8439";
|
291
|
+
readonly Guardian: "8465";
|
292
|
+
readonly Demolish: "8446";
|
293
|
+
readonly "Font of Life": "8463";
|
294
|
+
readonly "Shield Bash": "8401";
|
295
|
+
readonly Conditioning: "8429";
|
296
|
+
readonly "Second Wind": "8444";
|
297
|
+
readonly "Bone Plating": "8473";
|
298
|
+
readonly Overgrowth: "8451";
|
299
|
+
readonly Revitalize: "8453";
|
300
|
+
readonly Unflinching: "8242";
|
301
|
+
};
|
302
|
+
readonly Sorcery: {
|
303
|
+
readonly "Summon Aery": "8214";
|
304
|
+
readonly "Arcane Comet": "8229";
|
305
|
+
readonly "Phase Rush": "8230";
|
306
|
+
readonly "Nullifying Orb": "8224";
|
307
|
+
readonly "Manaflow Band": "8226";
|
308
|
+
readonly "Nimbus Cloak": "8275";
|
309
|
+
readonly Transcendence: "8210";
|
310
|
+
readonly Celerity: "8234";
|
311
|
+
readonly "Absolute Focus": "8233";
|
312
|
+
readonly Scorch: "8237";
|
313
|
+
readonly Waterwalking: "8232";
|
314
|
+
readonly "Gathering Storm": "8236";
|
315
|
+
};
|
316
|
+
};
|
317
|
+
readonly SecondaryTrees: {
|
318
|
+
readonly Domination: {
|
319
|
+
readonly "Cheap Shot": "8126";
|
320
|
+
readonly "Taste of Blood": "8139";
|
321
|
+
readonly "Sudden Impact": "8143";
|
322
|
+
readonly "Zombie Ward": "8136";
|
323
|
+
readonly "Ghost Poro": "8120";
|
324
|
+
readonly "Eyeball Collection": "8138";
|
325
|
+
readonly "Treasure Hunter": "8135";
|
326
|
+
readonly "Ingenious Hunter": "8134";
|
327
|
+
readonly "Relentless Hunter": "8105";
|
328
|
+
readonly "Ultimate Hunter": "8106";
|
329
|
+
};
|
330
|
+
readonly Inspiration: {
|
331
|
+
readonly "Hextech Flashtraption": "8306";
|
332
|
+
readonly "Magical Footwear": "8304";
|
333
|
+
readonly "Perfect Timing": "8313";
|
334
|
+
readonly "Future's Market": "8321";
|
335
|
+
readonly "Minion Dematerializer": "8316";
|
336
|
+
readonly "Biscuit Delivery": "8345";
|
337
|
+
readonly "Cosmic Insight": "8347";
|
338
|
+
readonly "Approach Velocity": "8410";
|
339
|
+
readonly "Time Warp Tonic": "8352";
|
340
|
+
};
|
341
|
+
readonly Precision: {
|
342
|
+
readonly Overheal: "9101";
|
343
|
+
readonly Triumph: "9111";
|
344
|
+
readonly "Presence of Mind": "8009";
|
345
|
+
readonly "Legend: Alacrity": "9104";
|
346
|
+
readonly "Legend: Tenacity": "9105";
|
347
|
+
readonly "Legend: Bloodline": "9103";
|
348
|
+
readonly "Coup de Grace": "8014";
|
349
|
+
readonly "Cut Down": "8017";
|
350
|
+
readonly "Last Stand": "8299";
|
351
|
+
};
|
352
|
+
readonly Resolve: {
|
353
|
+
readonly Demolish: "8446";
|
354
|
+
readonly "Font of Life": "8463";
|
355
|
+
readonly "Shield Bash": "8401";
|
356
|
+
readonly Conditioning: "8429";
|
357
|
+
readonly "Second Wind": "8444";
|
358
|
+
readonly "Bone Plating": "8473";
|
359
|
+
readonly Overgrowth: "8451";
|
360
|
+
readonly Revitalize: "8453";
|
361
|
+
readonly Unflinching: "8242";
|
362
|
+
};
|
363
|
+
readonly Sorcery: {
|
364
|
+
readonly "Nullifying Orb": "8224";
|
365
|
+
readonly "Manaflow Band": "8226";
|
366
|
+
readonly "Nimbus Cloak": "8275";
|
367
|
+
readonly Transcendence: "8210";
|
368
|
+
readonly Celerity: "8234";
|
369
|
+
readonly "Absolute Focus": "8233";
|
370
|
+
readonly Scorch: "8237";
|
371
|
+
readonly Waterwalking: "8232";
|
372
|
+
readonly "Gathering Storm": "8236";
|
373
|
+
};
|
374
|
+
};
|
375
|
+
readonly Keystones: {
|
376
|
+
readonly Electrocute: "8112";
|
377
|
+
readonly Predator: "8124";
|
378
|
+
readonly "Dark Harvest": "8128";
|
379
|
+
readonly "Hail of Blades": "9923";
|
380
|
+
readonly "Glacial Augment": "8351";
|
381
|
+
readonly "Unsealed Spellbook": "8360";
|
382
|
+
readonly "First Strike": "8369";
|
383
|
+
readonly "Press the Attack": "8005";
|
384
|
+
readonly "Lethal Tempo": "8008";
|
385
|
+
readonly "Fleet Footwork": "8021";
|
386
|
+
readonly Conqueror: "8010";
|
387
|
+
readonly "Grasp of the Undying": "8437";
|
388
|
+
readonly Aftershock: "8439";
|
389
|
+
readonly Guardian: "8465";
|
390
|
+
readonly "Summon Aery": "8214";
|
391
|
+
readonly "Arcane Comet": "8229";
|
392
|
+
readonly "Phase Rush": "8230";
|
393
|
+
};
|
394
|
+
readonly StatRunes: {
|
395
|
+
readonly "Defense (HP)": "5001";
|
396
|
+
readonly "Defense (AR)": "5002";
|
397
|
+
readonly "Defense (MR)": "5003";
|
398
|
+
readonly "Offense (AS)": "5005";
|
399
|
+
readonly "Offense (AH)": "5007";
|
400
|
+
readonly "Offense (AF)": "5008";
|
401
|
+
readonly "Flex (AR)": "5002f";
|
402
|
+
readonly "Flex (MR)": "5003f";
|
403
|
+
readonly "Flex (AF)": "5008f";
|
404
|
+
};
|
405
|
+
readonly All: {
|
406
|
+
readonly "Defense (HP)": "5001";
|
407
|
+
readonly "Defense (AR)": "5002";
|
408
|
+
readonly "Defense (MR)": "5003";
|
409
|
+
readonly "Offense (AS)": "5005";
|
410
|
+
readonly "Offense (AH)": "5007";
|
411
|
+
readonly "Offense (AF)": "5008";
|
412
|
+
readonly "Flex (AR)": "5002f";
|
413
|
+
readonly "Flex (MR)": "5003f";
|
414
|
+
readonly "Flex (AF)": "5008f";
|
415
|
+
readonly "Glacial Augment": "8351";
|
416
|
+
readonly "Unsealed Spellbook": "8360";
|
417
|
+
readonly "First Strike": "8369";
|
418
|
+
readonly "Hextech Flashtraption": "8306";
|
419
|
+
readonly "Magical Footwear": "8304";
|
420
|
+
readonly "Perfect Timing": "8313";
|
421
|
+
readonly "Future's Market": "8321";
|
422
|
+
readonly "Minion Dematerializer": "8316";
|
423
|
+
readonly "Biscuit Delivery": "8345";
|
424
|
+
readonly "Cosmic Insight": "8347";
|
425
|
+
readonly "Approach Velocity": "8410";
|
426
|
+
readonly "Time Warp Tonic": "8352";
|
427
|
+
readonly "Grasp of the Undying": "8437";
|
428
|
+
readonly Aftershock: "8439";
|
429
|
+
readonly Guardian: "8465";
|
430
|
+
readonly Demolish: "8446";
|
431
|
+
readonly "Font of Life": "8463";
|
432
|
+
readonly "Shield Bash": "8401";
|
433
|
+
readonly Conditioning: "8429";
|
434
|
+
readonly "Second Wind": "8444";
|
435
|
+
readonly "Bone Plating": "8473";
|
436
|
+
readonly Overgrowth: "8451";
|
437
|
+
readonly Revitalize: "8453";
|
438
|
+
readonly Unflinching: "8242";
|
439
|
+
readonly "Summon Aery": "8214";
|
440
|
+
readonly "Arcane Comet": "8229";
|
441
|
+
readonly "Phase Rush": "8230";
|
442
|
+
readonly "Nullifying Orb": "8224";
|
443
|
+
readonly "Manaflow Band": "8226";
|
444
|
+
readonly "Nimbus Cloak": "8275";
|
445
|
+
readonly Transcendence: "8210";
|
446
|
+
readonly Celerity: "8234";
|
447
|
+
readonly "Absolute Focus": "8233";
|
448
|
+
readonly Scorch: "8237";
|
449
|
+
readonly Waterwalking: "8232";
|
450
|
+
readonly "Gathering Storm": "8236";
|
451
|
+
readonly Electrocute: "8112";
|
452
|
+
readonly Predator: "8124";
|
453
|
+
readonly "Dark Harvest": "8128";
|
454
|
+
readonly "Hail of Blades": "9923";
|
455
|
+
readonly "Cheap Shot": "8126";
|
456
|
+
readonly "Taste of Blood": "8139";
|
457
|
+
readonly "Sudden Impact": "8143";
|
458
|
+
readonly "Zombie Ward": "8136";
|
459
|
+
readonly "Ghost Poro": "8120";
|
460
|
+
readonly "Eyeball Collection": "8138";
|
461
|
+
readonly "Treasure Hunter": "8135";
|
462
|
+
readonly "Ingenious Hunter": "8134";
|
463
|
+
readonly "Relentless Hunter": "8105";
|
464
|
+
readonly "Ultimate Hunter": "8106";
|
465
|
+
readonly "Press the Attack": "8005";
|
466
|
+
readonly "Lethal Tempo": "8008";
|
467
|
+
readonly "Fleet Footwork": "8021";
|
468
|
+
readonly Conqueror: "8010";
|
469
|
+
readonly Overheal: "9101";
|
470
|
+
readonly Triumph: "9111";
|
471
|
+
readonly "Presence of Mind": "8009";
|
472
|
+
readonly "Legend: Alacrity": "9104";
|
473
|
+
readonly "Legend: Tenacity": "9105";
|
474
|
+
readonly "Legend: Bloodline": "9103";
|
475
|
+
readonly "Coup de Grace": "8014";
|
476
|
+
readonly "Cut Down": "8017";
|
477
|
+
readonly "Last Stand": "8299";
|
478
|
+
};
|
479
|
+
};
|
@@ -0,0 +1,12 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.RuneSetsByRuneNames = exports.All = exports.StatRunes = exports.Keystones = exports.SecondaryTrees = exports.PrimaryTrees = void 0;
|
4
|
+
exports.PrimaryTrees = { "Domination": { "Electrocute": "8112", "Predator": "8124", "Dark Harvest": "8128", "Hail of Blades": "9923", "Cheap Shot": "8126", "Taste of Blood": "8139", "Sudden Impact": "8143", "Zombie Ward": "8136", "Ghost Poro": "8120", "Eyeball Collection": "8138", "Treasure Hunter": "8135", "Ingenious Hunter": "8134", "Relentless Hunter": "8105", "Ultimate Hunter": "8106" }, "Inspiration": { "Glacial Augment": "8351", "Unsealed Spellbook": "8360", "First Strike": "8369", "Hextech Flashtraption": "8306", "Magical Footwear": "8304", "Perfect Timing": "8313", "Future's Market": "8321", "Minion Dematerializer": "8316", "Biscuit Delivery": "8345", "Cosmic Insight": "8347", "Approach Velocity": "8410", "Time Warp Tonic": "8352" }, "Precision": { "Press the Attack": "8005", "Lethal Tempo": "8008", "Fleet Footwork": "8021", "Conqueror": "8010", "Overheal": "9101", "Triumph": "9111", "Presence of Mind": "8009", "Legend: Alacrity": "9104", "Legend: Tenacity": "9105", "Legend: Bloodline": "9103", "Coup de Grace": "8014", "Cut Down": "8017", "Last Stand": "8299" }, "Resolve": { "Grasp of the Undying": "8437", "Aftershock": "8439", "Guardian": "8465", "Demolish": "8446", "Font of Life": "8463", "Shield Bash": "8401", "Conditioning": "8429", "Second Wind": "8444", "Bone Plating": "8473", "Overgrowth": "8451", "Revitalize": "8453", "Unflinching": "8242" }, "Sorcery": { "Summon Aery": "8214", "Arcane Comet": "8229", "Phase Rush": "8230", "Nullifying Orb": "8224", "Manaflow Band": "8226", "Nimbus Cloak": "8275", "Transcendence": "8210", "Celerity": "8234", "Absolute Focus": "8233", "Scorch": "8237", "Waterwalking": "8232", "Gathering Storm": "8236" } };
|
5
|
+
exports.SecondaryTrees = { "Domination": { "Cheap Shot": "8126", "Taste of Blood": "8139", "Sudden Impact": "8143", "Zombie Ward": "8136", "Ghost Poro": "8120", "Eyeball Collection": "8138", "Treasure Hunter": "8135", "Ingenious Hunter": "8134", "Relentless Hunter": "8105", "Ultimate Hunter": "8106" }, "Inspiration": { "Hextech Flashtraption": "8306", "Magical Footwear": "8304", "Perfect Timing": "8313", "Future's Market": "8321", "Minion Dematerializer": "8316", "Biscuit Delivery": "8345", "Cosmic Insight": "8347", "Approach Velocity": "8410", "Time Warp Tonic": "8352" }, "Precision": { "Overheal": "9101", "Triumph": "9111", "Presence of Mind": "8009", "Legend: Alacrity": "9104", "Legend: Tenacity": "9105", "Legend: Bloodline": "9103", "Coup de Grace": "8014", "Cut Down": "8017", "Last Stand": "8299" }, "Resolve": { "Demolish": "8446", "Font of Life": "8463", "Shield Bash": "8401", "Conditioning": "8429", "Second Wind": "8444", "Bone Plating": "8473", "Overgrowth": "8451", "Revitalize": "8453", "Unflinching": "8242" }, "Sorcery": { "Nullifying Orb": "8224", "Manaflow Band": "8226", "Nimbus Cloak": "8275", "Transcendence": "8210", "Celerity": "8234", "Absolute Focus": "8233", "Scorch": "8237", "Waterwalking": "8232", "Gathering Storm": "8236" } };
|
6
|
+
exports.Keystones = { "Electrocute": "8112", "Predator": "8124", "Dark Harvest": "8128", "Hail of Blades": "9923", "Glacial Augment": "8351", "Unsealed Spellbook": "8360", "First Strike": "8369", "Press the Attack": "8005", "Lethal Tempo": "8008", "Fleet Footwork": "8021", "Conqueror": "8010", "Grasp of the Undying": "8437", "Aftershock": "8439", "Guardian": "8465", "Summon Aery": "8214", "Arcane Comet": "8229", "Phase Rush": "8230" };
|
7
|
+
exports.StatRunes = { "Defense (HP)": "5001", "Defense (AR)": "5002", "Defense (MR)": "5003", "Offense (AS)": "5005", "Offense (AH)": "5007", "Offense (AF)": "5008", "Flex (AR)": "5002f", "Flex (MR)": "5003f", "Flex (AF)": "5008f" };
|
8
|
+
exports.All = { ...exports.PrimaryTrees.Precision, ...exports.PrimaryTrees.Domination, ...exports.PrimaryTrees.Sorcery, ...exports.PrimaryTrees.Resolve, ...exports.PrimaryTrees.Inspiration, ...exports.StatRunes };
|
9
|
+
/**
|
10
|
+
* Contains all Rune IDs that are known to man in the game of League of Legends. Sorted by various useful categories. There are a total of 72 runes in the game.
|
11
|
+
*/
|
12
|
+
exports.RuneSetsByRuneNames = { PrimaryTrees: exports.PrimaryTrees, SecondaryTrees: exports.SecondaryTrees, Keystones: exports.Keystones, StatRunes: exports.StatRunes, All: exports.All };
|
@@ -1,7 +1,7 @@
|
|
1
1
|
export declare const RuneTreeNames: {
|
2
|
-
readonly
|
3
|
-
readonly
|
4
|
-
readonly
|
5
|
-
readonly
|
6
|
-
readonly
|
2
|
+
readonly '8000': "Precision";
|
3
|
+
readonly '8100': "Domination";
|
4
|
+
readonly '8200': "Sorcery";
|
5
|
+
readonly '8400': "Resolve";
|
6
|
+
readonly '8300': "Inspiration";
|
7
7
|
};
|
@@ -2,9 +2,9 @@
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
exports.RuneTreeNames = void 0;
|
4
4
|
exports.RuneTreeNames = {
|
5
|
-
'
|
6
|
-
'
|
7
|
-
'
|
8
|
-
'
|
9
|
-
'
|
5
|
+
'8000': 'Precision',
|
6
|
+
'8100': 'Domination',
|
7
|
+
'8200': 'Sorcery',
|
8
|
+
'8400': 'Resolve',
|
9
|
+
'8300': 'Inspiration',
|
10
10
|
};
|
@@ -0,0 +1,53 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.getRuneCDNURL = void 0;
|
4
|
+
const DDPaths_1 = require("../../Constants/DDPaths");
|
5
|
+
const RuneIconFileNames_1 = require("../../Constants/Runes/RuneIconFileNames");
|
6
|
+
const getRuneCategoryByRuneName_1 = require("./getRuneCategoryByRuneName");
|
7
|
+
const isRuneTreeName_1 = require("./isRuneTreeName");
|
8
|
+
const isStatRuneName_1 = require("./isStatRuneName");
|
9
|
+
/**
|
10
|
+
* Bsaed on rune name,
|
11
|
+
* returns a CDN URL for the icon of that rune.
|
12
|
+
*/
|
13
|
+
function getRuneCDNURL(name) {
|
14
|
+
// Choose the appropriate base path
|
15
|
+
const base = (0, isStatRuneName_1.isStatRuneName)(name)
|
16
|
+
? DDPaths_1.DDPaths.STAT_RUNE_ICON_BASE
|
17
|
+
: DDPaths_1.DDPaths.TREE_RUNE_ICON_BASE;
|
18
|
+
// Already sufficient enough response for a rune tree name
|
19
|
+
if ((0, isRuneTreeName_1.isRuneTreeName)(name))
|
20
|
+
return `${base}/${RuneIconFileNames_1.RuneIconFileNames[name]}.png`;
|
21
|
+
// And stat runes
|
22
|
+
if ((0, isStatRuneName_1.isStatRuneName)(name))
|
23
|
+
return `${base}/${RuneIconFileNames_1.RuneIconFileNames[name]}.png`;
|
24
|
+
// Finish for tree rune names
|
25
|
+
let category = (0, getRuneCategoryByRuneName_1.getRuneCategoryByRuneName)(name);
|
26
|
+
// Remove spaces, colons, apostrophes and make lowercase
|
27
|
+
let runeTreeFolder = category.replaceAll(' ', '').toLowerCase();
|
28
|
+
let runeFolder = name.replaceAll(/[ :']/g, '').toLowerCase();
|
29
|
+
// Some runes, for whatever reason, are displaced and badly organized.
|
30
|
+
// Therefore we are going to add special cases to these runes.
|
31
|
+
switch (name) {
|
32
|
+
case 'Triumph':
|
33
|
+
case 'Overheal':
|
34
|
+
runeFolder = '';
|
35
|
+
break;
|
36
|
+
case 'Last Stand':
|
37
|
+
runeTreeFolder = 'sorcery';
|
38
|
+
break;
|
39
|
+
case 'Aftershock':
|
40
|
+
runeFolder = 'veteranaftershock';
|
41
|
+
break;
|
42
|
+
case 'Shield Bash':
|
43
|
+
runeFolder = 'mirrorshell';
|
44
|
+
break;
|
45
|
+
case 'Unflinching':
|
46
|
+
runeTreeFolder = 'sorcery';
|
47
|
+
break;
|
48
|
+
case 'Approach Velocity':
|
49
|
+
runeTreeFolder = 'resolve';
|
50
|
+
}
|
51
|
+
return `${base}/${runeTreeFolder}/${runeFolder}/${RuneIconFileNames_1.RuneIconFileNames[name]}.png`;
|
52
|
+
}
|
53
|
+
exports.getRuneCDNURL = getRuneCDNURL;
|
@@ -0,0 +1,29 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.getRuneCategoryByRuneName = void 0;
|
4
|
+
const RuneSetsByRuneNames_1 = require("../../Constants/Runes/RuneSetsByRuneNames");
|
5
|
+
const StatRuneNames_1 = require("../../Constants/Runes/StatRuneNames");
|
6
|
+
/**
|
7
|
+
* Returns the name of the Rune Tree that the Rune belongs to.
|
8
|
+
*/
|
9
|
+
function getRuneCategoryByRuneName(name) {
|
10
|
+
// Start with StatRunes because it is the tiniest of all
|
11
|
+
if (name in StatRuneNames_1.StatRuneNames)
|
12
|
+
return 'StatRunes';
|
13
|
+
// Continue on with the rest of the runes
|
14
|
+
if (name in RuneSetsByRuneNames_1.PrimaryTrees.Precision)
|
15
|
+
return 'Precision';
|
16
|
+
if (name in RuneSetsByRuneNames_1.PrimaryTrees.Domination)
|
17
|
+
return 'Domination';
|
18
|
+
if (name in RuneSetsByRuneNames_1.PrimaryTrees.Sorcery)
|
19
|
+
return 'Sorcery';
|
20
|
+
if (name in RuneSetsByRuneNames_1.PrimaryTrees.Resolve)
|
21
|
+
return 'Resolve';
|
22
|
+
if (name in RuneSetsByRuneNames_1.PrimaryTrees.Inspiration)
|
23
|
+
return 'Inspiration';
|
24
|
+
// Note: It should be impossible to reach code this far
|
25
|
+
// so long as constants are not missing any values,
|
26
|
+
// and `name` is truly of type `RuneName`.
|
27
|
+
return 'Precision';
|
28
|
+
}
|
29
|
+
exports.getRuneCategoryByRuneName = getRuneCategoryByRuneName;
|
@@ -0,0 +1,8 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.isRuneTreeId = void 0;
|
4
|
+
const RuneTreeNames_1 = require("../../Constants/Runes/RuneTreeNames");
|
5
|
+
function isRuneTreeId(id) {
|
6
|
+
return id in RuneTreeNames_1.RuneTreeNames;
|
7
|
+
}
|
8
|
+
exports.isRuneTreeId = isRuneTreeId;
|
@@ -1,8 +1,8 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
exports.isRuneTreeName = void 0;
|
4
|
-
const
|
4
|
+
const RuneTreeIds_1 = require("../../Constants/Runes/RuneTreeIds");
|
5
5
|
function isRuneTreeName(name) {
|
6
|
-
return name in
|
6
|
+
return name in RuneTreeIds_1.RuneTreeIds;
|
7
7
|
}
|
8
8
|
exports.isRuneTreeName = isRuneTreeName;
|
package/dist/index.d.ts
CHANGED
@@ -8,6 +8,8 @@ export { ItemNames } from './Constants/Items/ItemNames';
|
|
8
8
|
export { RuneIds } from './Constants/Runes/RuneIds';
|
9
9
|
export { RuneNames } from './Constants/Runes/RuneNames';
|
10
10
|
export { RuneSets } from './Constants/Runes/RuneSets';
|
11
|
+
export { RuneTreeIds } from './Constants/Runes/RuneTreeIds';
|
12
|
+
export { RuneTreeNames } from './Constants/Runes/RuneTreeNames';
|
11
13
|
export { StatRuneIds } from './Constants/Runes/StatRuneIds';
|
12
14
|
export { StatRuneNames } from './Constants/Runes/StatRuneNames';
|
13
15
|
export { TreeRuneIds } from './Constants/Runes/TreeRuneIds';
|
@@ -41,6 +43,8 @@ export { isPrecisionTreeRuneId } from './Helpers/Runes/isPrecisionTreeRuneId';
|
|
41
43
|
export { isResolveTreeRuneId } from './Helpers/Runes/isResolveTreeRuneId';
|
42
44
|
export { isRuneId } from './Helpers/Runes/isRuneId';
|
43
45
|
export { isRuneName } from './Helpers/Runes/isRuneName';
|
46
|
+
export { isRuneTreeId } from './Helpers/Runes/isRuneTreeId';
|
47
|
+
export { isRuneTreeName } from './Helpers/Runes/isRuneTreeName';
|
44
48
|
export { isSorceryTreeRuneId } from './Helpers/Runes/isSorceryTreeRuneId';
|
45
49
|
export { isStatRuneId } from './Helpers/Runes/isStatRuneId';
|
46
50
|
export { isStatRuneName } from './Helpers/Runes/isStatRuneName';
|
package/dist/index.js
CHANGED
@@ -14,8 +14,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
15
15
|
};
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
17
|
-
exports.
|
18
|
-
exports.isSpellName = exports.isSpellKey = exports.isSpellId = exports.getSpellNameByKey = exports.getSpellNameById = exports.getSpellKeyByName = exports.getSpellKeyById = void 0;
|
17
|
+
exports.isStatRuneName = exports.isStatRuneId = exports.isSorceryTreeRuneId = exports.isRuneTreeName = exports.isRuneTreeId = exports.isRuneName = exports.isRuneId = exports.isResolveTreeRuneId = exports.isPrecisionTreeRuneId = exports.isKeystoneRuneId = exports.isInspirationTreeRuneId = exports.isDominationTreeRuneId = exports.getTreeRuneNameById = exports.getTreeRuneIdByName = exports.getStatRuneNameById = exports.getStatRuneIdByName = exports.getRuneNameById = exports.getRuneIdByName = exports.isItemName = exports.isItemKey = exports.getItemNameByKey = exports.getItemKeyByName = exports.isChampionName = exports.isChampionKey = exports.isChampionId = exports.getChampionNameById = exports.getChampionKeyByName = exports.getChampionKeyById = exports.getChampionIdByName = exports.getChampionIdByKey = exports.SpellNames = exports.SpellKeys = exports.SpellIdsByName = exports.SpellIds = exports.TreeRuneNames = exports.TreeRuneIds = exports.StatRuneNames = exports.StatRuneIds = exports.RuneTreeNames = exports.RuneTreeIds = exports.RuneSets = exports.RuneNames = exports.RuneIds = exports.ItemNames = exports.ItemKeys = exports.ChampionNames = exports.ChampionKeys = exports.ChampionIdsByName = exports.ChampionIds = exports.DDPaths = void 0;
|
18
|
+
exports.isSpellName = exports.isSpellKey = exports.isSpellId = exports.getSpellNameByKey = exports.getSpellNameById = exports.getSpellKeyByName = exports.getSpellKeyById = exports.getSpellIdByName = exports.getSpellIdByKey = exports.isTreeRuneName = exports.isTreeRuneId = void 0;
|
19
19
|
// # Constants
|
20
20
|
var DDPaths_1 = require("./Constants/DDPaths");
|
21
21
|
Object.defineProperty(exports, "DDPaths", { enumerable: true, get: function () { return DDPaths_1.DDPaths; } });
|
@@ -40,6 +40,10 @@ var RuneNames_1 = require("./Constants/Runes/RuneNames");
|
|
40
40
|
Object.defineProperty(exports, "RuneNames", { enumerable: true, get: function () { return RuneNames_1.RuneNames; } });
|
41
41
|
var RuneSets_1 = require("./Constants/Runes/RuneSets");
|
42
42
|
Object.defineProperty(exports, "RuneSets", { enumerable: true, get: function () { return RuneSets_1.RuneSets; } });
|
43
|
+
var RuneTreeIds_1 = require("./Constants/Runes/RuneTreeIds");
|
44
|
+
Object.defineProperty(exports, "RuneTreeIds", { enumerable: true, get: function () { return RuneTreeIds_1.RuneTreeIds; } });
|
45
|
+
var RuneTreeNames_1 = require("./Constants/Runes/RuneTreeNames");
|
46
|
+
Object.defineProperty(exports, "RuneTreeNames", { enumerable: true, get: function () { return RuneTreeNames_1.RuneTreeNames; } });
|
43
47
|
var StatRuneIds_1 = require("./Constants/Runes/StatRuneIds");
|
44
48
|
Object.defineProperty(exports, "StatRuneIds", { enumerable: true, get: function () { return StatRuneIds_1.StatRuneIds; } });
|
45
49
|
var StatRuneNames_1 = require("./Constants/Runes/StatRuneNames");
|
@@ -111,6 +115,10 @@ var isRuneId_1 = require("./Helpers/Runes/isRuneId");
|
|
111
115
|
Object.defineProperty(exports, "isRuneId", { enumerable: true, get: function () { return isRuneId_1.isRuneId; } });
|
112
116
|
var isRuneName_1 = require("./Helpers/Runes/isRuneName");
|
113
117
|
Object.defineProperty(exports, "isRuneName", { enumerable: true, get: function () { return isRuneName_1.isRuneName; } });
|
118
|
+
var isRuneTreeId_1 = require("./Helpers/Runes/isRuneTreeId");
|
119
|
+
Object.defineProperty(exports, "isRuneTreeId", { enumerable: true, get: function () { return isRuneTreeId_1.isRuneTreeId; } });
|
120
|
+
var isRuneTreeName_1 = require("./Helpers/Runes/isRuneTreeName");
|
121
|
+
Object.defineProperty(exports, "isRuneTreeName", { enumerable: true, get: function () { return isRuneTreeName_1.isRuneTreeName; } });
|
114
122
|
var isSorceryTreeRuneId_1 = require("./Helpers/Runes/isSorceryTreeRuneId");
|
115
123
|
Object.defineProperty(exports, "isSorceryTreeRuneId", { enumerable: true, get: function () { return isSorceryTreeRuneId_1.isSorceryTreeRuneId; } });
|
116
124
|
var isStatRuneId_1 = require("./Helpers/Runes/isStatRuneId");
|
package/dist/types/index.d.ts
CHANGED
@@ -19,6 +19,8 @@ import { RuneTreeNames } from '../Constants/Runes/RuneTreeNames';
|
|
19
19
|
import { RuneTreeTypes } from '../Constants/Runes/RuneTreeTypes';
|
20
20
|
import { Levels } from '../Constants/Levels';
|
21
21
|
import { Skills } from '../Constants/Skills';
|
22
|
+
import { RuneTreeIds } from '../Constants/Runes/RuneTreeIds';
|
23
|
+
import { RuneSetsByRuneNames } from '../Constants/Runes/RuneSetsByRuneNames';
|
22
24
|
export declare type ChampionId = typeof ChampionIds[keyof typeof ChampionIds];
|
23
25
|
export declare type ChampionKey = typeof ChampionKeys[keyof typeof ChampionKeys];
|
24
26
|
export declare type ChampionName = typeof ChampionNames[keyof typeof ChampionNames];
|
@@ -90,6 +92,7 @@ export declare type StatRuneName = typeof StatRuneNames[keyof typeof StatRuneNam
|
|
90
92
|
* - `InspirationTreeRuneId`,
|
91
93
|
*/
|
92
94
|
export declare type KeystoneRuneId = keyof typeof RuneSets.Keystones;
|
95
|
+
export declare type KeystoneRuneName = keyof typeof RuneSetsByRuneNames.Keystones;
|
93
96
|
/**
|
94
97
|
* There are 3 main Rune ID types:
|
95
98
|
* - `RuneId` (all),
|
@@ -105,6 +108,7 @@ export declare type KeystoneRuneId = keyof typeof RuneSets.Keystones;
|
|
105
108
|
* - `InspirationTreeRuneId`,
|
106
109
|
*/
|
107
110
|
export declare type PrecisionTreeRuneId = keyof typeof RuneSets.PrimaryTrees.Precision;
|
111
|
+
export declare type PrecisionTreeRuneName = keyof typeof RuneSetsByRuneNames.PrimaryTrees.Precision;
|
108
112
|
/**
|
109
113
|
* There are 3 main Rune ID types:
|
110
114
|
* - `RuneId` (all),
|
@@ -120,6 +124,7 @@ export declare type PrecisionTreeRuneId = keyof typeof RuneSets.PrimaryTrees.Pre
|
|
120
124
|
* - `InspirationTreeRuneId`,
|
121
125
|
*/
|
122
126
|
export declare type DominationTreeRuneId = keyof typeof RuneSets.PrimaryTrees.Domination;
|
127
|
+
export declare type DominationTreeRuneName = keyof typeof RuneSetsByRuneNames.PrimaryTrees.Domination;
|
123
128
|
/**
|
124
129
|
* There are 3 main Rune ID types:
|
125
130
|
* - `RuneId` (all),
|
@@ -135,6 +140,7 @@ export declare type DominationTreeRuneId = keyof typeof RuneSets.PrimaryTrees.Do
|
|
135
140
|
* - `InspirationTreeRuneId`,
|
136
141
|
*/
|
137
142
|
export declare type SorceryTreeRuneId = keyof typeof RuneSets.PrimaryTrees.Sorcery;
|
143
|
+
export declare type SorceryTreeRuneName = keyof typeof RuneSetsByRuneNames.PrimaryTrees.Sorcery;
|
138
144
|
/**
|
139
145
|
* There are 3 main Rune ID types:
|
140
146
|
* - `RuneId` (all),
|
@@ -150,6 +156,7 @@ export declare type SorceryTreeRuneId = keyof typeof RuneSets.PrimaryTrees.Sorce
|
|
150
156
|
* - `InspirationTreeRuneId`,
|
151
157
|
*/
|
152
158
|
export declare type ResolveTreeRuneId = keyof typeof RuneSets.PrimaryTrees.Resolve;
|
159
|
+
export declare type ResolveTreeRuneName = keyof typeof RuneSetsByRuneNames.PrimaryTrees.Resolve;
|
153
160
|
/**
|
154
161
|
* There are 3 main Rune ID types:
|
155
162
|
* - `RuneId` (all),
|
@@ -165,8 +172,11 @@ export declare type ResolveTreeRuneId = keyof typeof RuneSets.PrimaryTrees.Resol
|
|
165
172
|
* - `InspirationTreeRuneId`,
|
166
173
|
*/
|
167
174
|
export declare type InspirationTreeRuneId = keyof typeof RuneSets.PrimaryTrees.Inspiration;
|
168
|
-
export declare type
|
175
|
+
export declare type InspirationTreeRuneName = keyof typeof RuneSetsByRuneNames.PrimaryTrees.Inspiration;
|
176
|
+
export declare type RuneTreeId = typeof RuneTreeIds[keyof typeof RuneTreeIds];
|
177
|
+
export declare type RuneTreeName = typeof RuneTreeNames[keyof typeof RuneTreeNames];
|
169
178
|
export declare type RuneTreeType = keyof typeof RuneTreeTypes;
|
179
|
+
export declare type StatRunesCategory = 'StatRunes';
|
170
180
|
export declare type Position = keyof typeof Positions;
|
171
181
|
export declare type Lane = keyof typeof Lanes;
|
172
182
|
export declare type Level = keyof typeof Levels;
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "lol-constants",
|
3
|
-
"version": "1.
|
3
|
+
"version": "1.3.1",
|
4
4
|
"description": "League of Legends constants and data resources, such as champion, item, runes reforged, summoner spells.",
|
5
5
|
"main": "dist/index.js",
|
6
6
|
"types": "dist/index.d.ts",
|
@@ -12,10 +12,12 @@
|
|
12
12
|
"scripts": {
|
13
13
|
"clean-build": "rmdir /s /q dist && tsc",
|
14
14
|
"clean-build-assets": "rmdir /s /q assets && cd srcAssets && tsc",
|
15
|
-
"generate": "node assets/scripts/generate-all"
|
15
|
+
"generate": "node assets/scripts/generate-all",
|
16
|
+
"dev": "vite"
|
16
17
|
},
|
17
18
|
"devDependencies": {
|
18
|
-
"@types/node": "^17.0.42"
|
19
|
+
"@types/node": "^17.0.42",
|
20
|
+
"vite": "^2.9.13"
|
19
21
|
},
|
20
22
|
"repository": {
|
21
23
|
"type": "git",
|