lol-constants 1.2.3 → 1.4.0
Sign up to get free protection for your applications and to get access to all the features.
- package/assets/scripts/generate-all.d.ts +2 -0
- package/assets/scripts/generate-all.js +2 -0
- package/assets/scripts/generate-rune-picking-relationships.d.ts +1 -0
- package/assets/scripts/generate-rune-picking-relationships.js +57 -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 +35 -2
- package/dist/Constants/DDPaths.d.ts +9 -1
- package/dist/Constants/DDPaths.js +11 -1
- package/dist/Constants/Runes/RuneIconFileNames.d.ts +12 -0
- package/dist/Constants/Runes/RuneIconFileNames.js +101 -0
- package/dist/Constants/Runes/RunePickingRelationships.d.ts +77 -0
- package/dist/Constants/Runes/RunePickingRelationships.js +7 -0
- package/dist/Constants/Runes/RuneSetsByRuneNames.d.ts +479 -0
- package/dist/Constants/Runes/RuneSetsByRuneNames.js +12 -0
- 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/index.d.ts +4 -0
- package/dist/index.js +10 -2
- package/dist/types/index.d.ts +8 -0
- package/package.json +5 -3
@@ -6,6 +6,8 @@ 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-picking-relationships';
|
10
|
+
import './generate-rune-sets-by-rune-names';
|
9
11
|
import './generate-rune-sets';
|
10
12
|
import './generate-spell-ids-by-name';
|
11
13
|
import './generate-spell-ids';
|
@@ -8,6 +8,8 @@ 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-picking-relationships");
|
12
|
+
require("./generate-rune-sets-by-rune-names");
|
11
13
|
require("./generate-rune-sets");
|
12
14
|
require("./generate-spell-ids-by-name");
|
13
15
|
require("./generate-spell-ids");
|
@@ -0,0 +1 @@
|
|
1
|
+
export {};
|
@@ -0,0 +1,57 @@
|
|
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 writeToTmpFile_1 = require("./Helpers/writeToTmpFile");
|
8
|
+
(async () => {
|
9
|
+
const constant = 'RunePickingRelationships';
|
10
|
+
const relationships = {};
|
11
|
+
// Determine all of the runes (2-3) that each rune in the game
|
12
|
+
// has a horizontal-set "relationship" with.
|
13
|
+
// It means that they are dependent on that rune
|
14
|
+
// for picking purposes.
|
15
|
+
// Only one rune can be picked per h-set.
|
16
|
+
for (const category of runesReforged_json_1.default) {
|
17
|
+
for (const { runes, } of category.slots) {
|
18
|
+
for (const { id: baseRuneId, } of runes) {
|
19
|
+
// Assign each of the neighboring runes to this rune's r-ship array.
|
20
|
+
for (const { id, } of runes) {
|
21
|
+
// Let us simply assume that there is no such thing as a relationship
|
22
|
+
// with oneself, therefore skip.
|
23
|
+
if (baseRuneId == id)
|
24
|
+
continue;
|
25
|
+
if (!relationships[baseRuneId])
|
26
|
+
relationships[baseRuneId] = [];
|
27
|
+
relationships[baseRuneId].push(String(id));
|
28
|
+
}
|
29
|
+
}
|
30
|
+
}
|
31
|
+
}
|
32
|
+
// Create workshop arrays for each horizontal-set of stat runes.
|
33
|
+
const offense = ['5005', '5007', '5008'];
|
34
|
+
const flex = ['5002f', '5003f', '5008f'];
|
35
|
+
const defense = ['5001', '5002', '5003'];
|
36
|
+
for (let hSet of [
|
37
|
+
offense,
|
38
|
+
flex,
|
39
|
+
defense,
|
40
|
+
]) {
|
41
|
+
for (let baseStatRuneId of hSet) {
|
42
|
+
for (let statRuneId of hSet) {
|
43
|
+
// Skip self
|
44
|
+
if (baseStatRuneId == statRuneId)
|
45
|
+
continue;
|
46
|
+
if (!relationships[baseStatRuneId])
|
47
|
+
relationships[baseStatRuneId] = [];
|
48
|
+
relationships[baseStatRuneId].push(statRuneId);
|
49
|
+
}
|
50
|
+
}
|
51
|
+
}
|
52
|
+
await (0, writeToTmpFile_1.writeToTmpFile)(constant, {
|
53
|
+
constName: constant,
|
54
|
+
comment: `All of the runes and their relationships to other runes in terms of picking. Only one rune can be picked in a rune horizontal-set, each main rune that has a relationship to another rune unselects the other rune if the main rune is picked.`,
|
55
|
+
json: relationships,
|
56
|
+
});
|
57
|
+
})();
|
@@ -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
|
+
})();
|
@@ -13,6 +13,9 @@ const writeToTmpFile_1 = require("./Helpers/writeToTmpFile");
|
|
13
13
|
SecondaryTrees: {},
|
14
14
|
Keystones: {},
|
15
15
|
StatRunes: {},
|
16
|
+
// No HSets for now
|
17
|
+
// RunesByHSet: {},
|
18
|
+
// StatRunesByHSet: [],
|
16
19
|
};
|
17
20
|
const keystoneHSetIdx = 0;
|
18
21
|
let totalRuneAmt = 0;
|
@@ -39,15 +42,29 @@ const writeToTmpFile_1 = require("./Helpers/writeToTmpFile");
|
|
39
42
|
if (currentHSetIdx == keystoneHSetIdx) {
|
40
43
|
runeSets.Keystones[id] = runeName;
|
41
44
|
}
|
45
|
+
// No HSets for now
|
46
|
+
// Add to RunesByHSet
|
47
|
+
// if (!(runeTreeName in runeSets.RunesByHSet)) runeSets.RunesByHSet[runeTreeName] = []
|
48
|
+
// if (!runeSets.RunesByHSet[runeTreeName]![currentHSetIdx]) runeSets.RunesByHSet[runeTreeName]![currentHSetIdx] = {}
|
49
|
+
// runeSets.RunesByHSet[runeTreeName]![currentHSetIdx]![id] = runeName
|
42
50
|
}
|
43
51
|
++currentHSetIdx;
|
44
52
|
}
|
45
53
|
}
|
54
|
+
// No HSets for now
|
55
|
+
// let currentRuneIdx = 0
|
56
|
+
// let currentHSetIdx = 0
|
46
57
|
let statRuneId;
|
47
58
|
for (statRuneId in StatRunes_1.StatRunes) {
|
48
59
|
totalRuneAmt += 1;
|
49
60
|
// Add to StatRunes
|
50
61
|
runeSets.StatRunes[statRuneId] = StatRunes_1.StatRunes[statRuneId];
|
62
|
+
// No HSets for now
|
63
|
+
// // Add to StatRunesByHSet
|
64
|
+
// if (!runeSets.StatRunesByHSet[currentHSetIdx]) runeSets.StatRunesByHSet[currentHSetIdx] = {}
|
65
|
+
// runeSets.StatRunesByHSet[currentHSetIdx]![statRuneId] = StatRunes[ statRuneId ]
|
66
|
+
// ++currentRuneIdx
|
67
|
+
// if (currentRuneIdx % 3 == 0) ++currentHSetIdx
|
51
68
|
}
|
52
69
|
// Write to file
|
53
70
|
await (0, writeToTmpFile_1.writeToTmpFile)(constant, {
|
@@ -73,8 +90,18 @@ const writeToTmpFile_1 = require("./Helpers/writeToTmpFile");
|
|
73
90
|
6: '...StatRunes',
|
74
91
|
},
|
75
92
|
keysToSpread: [1, 2, 3, 4, 5, 6],
|
76
|
-
},
|
77
|
-
|
93
|
+
},
|
94
|
+
// No HSets for now
|
95
|
+
// {
|
96
|
+
// constName: 'RunesByHSet',
|
97
|
+
// json: runeSets.RunesByHSet,
|
98
|
+
// },
|
99
|
+
// {
|
100
|
+
// constName: 'StatRunesByHSet',
|
101
|
+
// json: runeSets.StatRunesByHSet,
|
102
|
+
// },
|
103
|
+
{
|
104
|
+
constName: constant,
|
78
105
|
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
106
|
json: {
|
80
107
|
'PrimaryTrees': 'PrimaryTrees',
|
@@ -82,6 +109,9 @@ const writeToTmpFile_1 = require("./Helpers/writeToTmpFile");
|
|
82
109
|
'Keystones': 'Keystones',
|
83
110
|
'StatRunes': 'StatRunes',
|
84
111
|
'All': 'All',
|
112
|
+
// No HSets for now
|
113
|
+
// 'RunesByHSet': 'RunesByHSet',
|
114
|
+
// 'StatRunesByHSet': 'StatRunesByHSet',
|
85
115
|
},
|
86
116
|
keysToSpread: [
|
87
117
|
'PrimaryTrees',
|
@@ -89,6 +119,9 @@ const writeToTmpFile_1 = require("./Helpers/writeToTmpFile");
|
|
89
119
|
'Keystones',
|
90
120
|
'StatRunes',
|
91
121
|
'All',
|
122
|
+
// No HSets for now
|
123
|
+
// 'RunesByHSet',
|
124
|
+
// 'StatRunesByHSet',
|
92
125
|
],
|
93
126
|
});
|
94
127
|
})();
|
@@ -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
|
};
|
@@ -3,6 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.DDPaths = void 0;
|
4
4
|
const version = '12.12.1';
|
5
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,77 @@
|
|
1
|
+
/**
|
2
|
+
* All of the runes and their relationships to other runes in terms of picking. Only one rune can be picked in a rune horizontal-set, each main rune that has a relationship to another rune unselects the other rune if the main rune is picked.
|
3
|
+
*/
|
4
|
+
export declare const RunePickingRelationships: {
|
5
|
+
readonly "5001": readonly ["5002", "5003"];
|
6
|
+
readonly "5002": readonly ["5001", "5003"];
|
7
|
+
readonly "5003": readonly ["5001", "5002"];
|
8
|
+
readonly "5005": readonly ["5007", "5008"];
|
9
|
+
readonly "5007": readonly ["5005", "5008"];
|
10
|
+
readonly "5008": readonly ["5005", "5007"];
|
11
|
+
readonly "8005": readonly ["8008", "8021", "8010"];
|
12
|
+
readonly "8008": readonly ["8005", "8021", "8010"];
|
13
|
+
readonly "8009": readonly ["9101", "9111"];
|
14
|
+
readonly "8010": readonly ["8005", "8008", "8021"];
|
15
|
+
readonly "8014": readonly ["8017", "8299"];
|
16
|
+
readonly "8017": readonly ["8014", "8299"];
|
17
|
+
readonly "8021": readonly ["8005", "8008", "8010"];
|
18
|
+
readonly "8105": readonly ["8135", "8134", "8106"];
|
19
|
+
readonly "8106": readonly ["8135", "8134", "8105"];
|
20
|
+
readonly "8112": readonly ["8124", "8128", "9923"];
|
21
|
+
readonly "8120": readonly ["8136", "8138"];
|
22
|
+
readonly "8124": readonly ["8112", "8128", "9923"];
|
23
|
+
readonly "8126": readonly ["8139", "8143"];
|
24
|
+
readonly "8128": readonly ["8112", "8124", "9923"];
|
25
|
+
readonly "8134": readonly ["8135", "8105", "8106"];
|
26
|
+
readonly "8135": readonly ["8134", "8105", "8106"];
|
27
|
+
readonly "8136": readonly ["8120", "8138"];
|
28
|
+
readonly "8138": readonly ["8136", "8120"];
|
29
|
+
readonly "8139": readonly ["8126", "8143"];
|
30
|
+
readonly "8143": readonly ["8126", "8139"];
|
31
|
+
readonly "8210": readonly ["8234", "8233"];
|
32
|
+
readonly "8214": readonly ["8229", "8230"];
|
33
|
+
readonly "8224": readonly ["8226", "8275"];
|
34
|
+
readonly "8226": readonly ["8224", "8275"];
|
35
|
+
readonly "8229": readonly ["8214", "8230"];
|
36
|
+
readonly "8230": readonly ["8214", "8229"];
|
37
|
+
readonly "8232": readonly ["8237", "8236"];
|
38
|
+
readonly "8233": readonly ["8210", "8234"];
|
39
|
+
readonly "8234": readonly ["8210", "8233"];
|
40
|
+
readonly "8236": readonly ["8237", "8232"];
|
41
|
+
readonly "8237": readonly ["8232", "8236"];
|
42
|
+
readonly "8242": readonly ["8451", "8453"];
|
43
|
+
readonly "8275": readonly ["8224", "8226"];
|
44
|
+
readonly "8299": readonly ["8014", "8017"];
|
45
|
+
readonly "8304": readonly ["8306", "8313"];
|
46
|
+
readonly "8306": readonly ["8304", "8313"];
|
47
|
+
readonly "8313": readonly ["8306", "8304"];
|
48
|
+
readonly "8316": readonly ["8321", "8345"];
|
49
|
+
readonly "8321": readonly ["8316", "8345"];
|
50
|
+
readonly "8345": readonly ["8321", "8316"];
|
51
|
+
readonly "8347": readonly ["8410", "8352"];
|
52
|
+
readonly "8351": readonly ["8360", "8369"];
|
53
|
+
readonly "8352": readonly ["8347", "8410"];
|
54
|
+
readonly "8360": readonly ["8351", "8369"];
|
55
|
+
readonly "8369": readonly ["8351", "8360"];
|
56
|
+
readonly "8401": readonly ["8446", "8463"];
|
57
|
+
readonly "8410": readonly ["8347", "8352"];
|
58
|
+
readonly "8429": readonly ["8444", "8473"];
|
59
|
+
readonly "8437": readonly ["8439", "8465"];
|
60
|
+
readonly "8439": readonly ["8437", "8465"];
|
61
|
+
readonly "8444": readonly ["8429", "8473"];
|
62
|
+
readonly "8446": readonly ["8463", "8401"];
|
63
|
+
readonly "8451": readonly ["8453", "8242"];
|
64
|
+
readonly "8453": readonly ["8451", "8242"];
|
65
|
+
readonly "8463": readonly ["8446", "8401"];
|
66
|
+
readonly "8465": readonly ["8437", "8439"];
|
67
|
+
readonly "8473": readonly ["8429", "8444"];
|
68
|
+
readonly "9101": readonly ["9111", "8009"];
|
69
|
+
readonly "9103": readonly ["9104", "9105"];
|
70
|
+
readonly "9104": readonly ["9105", "9103"];
|
71
|
+
readonly "9105": readonly ["9104", "9103"];
|
72
|
+
readonly "9111": readonly ["9101", "8009"];
|
73
|
+
readonly "9923": readonly ["8112", "8124", "8128"];
|
74
|
+
readonly "5002f": readonly ["5003f", "5008f"];
|
75
|
+
readonly "5003f": readonly ["5002f", "5008f"];
|
76
|
+
readonly "5008f": readonly ["5002f", "5003f"];
|
77
|
+
};
|
@@ -0,0 +1,7 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.RunePickingRelationships = void 0;
|
4
|
+
/**
|
5
|
+
* All of the runes and their relationships to other runes in terms of picking. Only one rune can be picked in a rune horizontal-set, each main rune that has a relationship to another rune unselects the other rune if the main rune is picked.
|
6
|
+
*/
|
7
|
+
exports.RunePickingRelationships = { "5001": ["5002", "5003"], "5002": ["5001", "5003"], "5003": ["5001", "5002"], "5005": ["5007", "5008"], "5007": ["5005", "5008"], "5008": ["5005", "5007"], "8005": ["8008", "8021", "8010"], "8008": ["8005", "8021", "8010"], "8009": ["9101", "9111"], "8010": ["8005", "8008", "8021"], "8014": ["8017", "8299"], "8017": ["8014", "8299"], "8021": ["8005", "8008", "8010"], "8105": ["8135", "8134", "8106"], "8106": ["8135", "8134", "8105"], "8112": ["8124", "8128", "9923"], "8120": ["8136", "8138"], "8124": ["8112", "8128", "9923"], "8126": ["8139", "8143"], "8128": ["8112", "8124", "9923"], "8134": ["8135", "8105", "8106"], "8135": ["8134", "8105", "8106"], "8136": ["8120", "8138"], "8138": ["8136", "8120"], "8139": ["8126", "8143"], "8143": ["8126", "8139"], "8210": ["8234", "8233"], "8214": ["8229", "8230"], "8224": ["8226", "8275"], "8226": ["8224", "8275"], "8229": ["8214", "8230"], "8230": ["8214", "8229"], "8232": ["8237", "8236"], "8233": ["8210", "8234"], "8234": ["8210", "8233"], "8236": ["8237", "8232"], "8237": ["8232", "8236"], "8242": ["8451", "8453"], "8275": ["8224", "8226"], "8299": ["8014", "8017"], "8304": ["8306", "8313"], "8306": ["8304", "8313"], "8313": ["8306", "8304"], "8316": ["8321", "8345"], "8321": ["8316", "8345"], "8345": ["8321", "8316"], "8347": ["8410", "8352"], "8351": ["8360", "8369"], "8352": ["8347", "8410"], "8360": ["8351", "8369"], "8369": ["8351", "8360"], "8401": ["8446", "8463"], "8410": ["8347", "8352"], "8429": ["8444", "8473"], "8437": ["8439", "8465"], "8439": ["8437", "8465"], "8444": ["8429", "8473"], "8446": ["8463", "8401"], "8451": ["8453", "8242"], "8453": ["8451", "8242"], "8463": ["8446", "8401"], "8465": ["8437", "8439"], "8473": ["8429", "8444"], "9101": ["9111", "8009"], "9103": ["9104", "9105"], "9104": ["9105", "9103"], "9105": ["9104", "9103"], "9111": ["9101", "8009"], "9923": ["8112", "8124", "8128"], "5002f": ["5003f", "5008f"], "5003f": ["5002f", "5008f"], "5008f": ["5002f", "5003f"] };
|
@@ -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 };
|
@@ -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;
|
package/dist/index.d.ts
CHANGED
@@ -5,9 +5,11 @@ export { ChampionKeys } from './Constants/Champions/ChampionKeys';
|
|
5
5
|
export { ChampionNames } from './Constants/Champions/ChampionNames';
|
6
6
|
export { ItemKeys } from './Constants/Items/ItemKeys';
|
7
7
|
export { ItemNames } from './Constants/Items/ItemNames';
|
8
|
+
export { RuneIconFileNames } from './Constants/Runes/RuneIconFileNames';
|
8
9
|
export { RuneIds } from './Constants/Runes/RuneIds';
|
9
10
|
export { RuneNames } from './Constants/Runes/RuneNames';
|
10
11
|
export { RuneSets } from './Constants/Runes/RuneSets';
|
12
|
+
export { RuneSetsByRuneNames } from './Constants/Runes/RuneSetsByRuneNames';
|
11
13
|
export { RuneTreeIds } from './Constants/Runes/RuneTreeIds';
|
12
14
|
export { RuneTreeNames } from './Constants/Runes/RuneTreeNames';
|
13
15
|
export { StatRuneIds } from './Constants/Runes/StatRuneIds';
|
@@ -30,6 +32,8 @@ export { getItemKeyByName } from './Helpers/Items/getItemKeyByName';
|
|
30
32
|
export { getItemNameByKey } from './Helpers/Items/getItemNameByKey';
|
31
33
|
export { isItemKey } from './Helpers/Items/isItemKey';
|
32
34
|
export { isItemName } from './Helpers/Items/isItemName';
|
35
|
+
export { getRuneCategoryByRuneName } from './Helpers/Runes/getRuneCategoryByRuneName';
|
36
|
+
export { getRuneCDNURL } from './Helpers/Runes/getRuneCDNURL';
|
33
37
|
export { getRuneIdByName } from './Helpers/Runes/getRuneIdByName';
|
34
38
|
export { getRuneNameById } from './Helpers/Runes/getRuneNameById';
|
35
39
|
export { getStatRuneIdByName } from './Helpers/Runes/getStatRuneIdByName';
|
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 = exports.getSpellIdByName = exports.getSpellIdByKey = exports.isTreeRuneName = exports.isTreeRuneId = void 0;
|
17
|
+
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.getRuneCDNURL = exports.getRuneCategoryByRuneName = 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.RuneSetsByRuneNames = exports.RuneSets = exports.RuneNames = exports.RuneIds = exports.RuneIconFileNames = 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 = exports.isStatRuneName = exports.isStatRuneId = exports.isSorceryTreeRuneId = exports.isRuneTreeName = 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; } });
|
@@ -34,12 +34,16 @@ Object.defineProperty(exports, "ItemKeys", { enumerable: true, get: function ()
|
|
34
34
|
var ItemNames_1 = require("./Constants/Items/ItemNames");
|
35
35
|
Object.defineProperty(exports, "ItemNames", { enumerable: true, get: function () { return ItemNames_1.ItemNames; } });
|
36
36
|
// ## Runes
|
37
|
+
var RuneIconFileNames_1 = require("./Constants/Runes/RuneIconFileNames");
|
38
|
+
Object.defineProperty(exports, "RuneIconFileNames", { enumerable: true, get: function () { return RuneIconFileNames_1.RuneIconFileNames; } });
|
37
39
|
var RuneIds_1 = require("./Constants/Runes/RuneIds");
|
38
40
|
Object.defineProperty(exports, "RuneIds", { enumerable: true, get: function () { return RuneIds_1.RuneIds; } });
|
39
41
|
var RuneNames_1 = require("./Constants/Runes/RuneNames");
|
40
42
|
Object.defineProperty(exports, "RuneNames", { enumerable: true, get: function () { return RuneNames_1.RuneNames; } });
|
41
43
|
var RuneSets_1 = require("./Constants/Runes/RuneSets");
|
42
44
|
Object.defineProperty(exports, "RuneSets", { enumerable: true, get: function () { return RuneSets_1.RuneSets; } });
|
45
|
+
var RuneSetsByRuneNames_1 = require("./Constants/Runes/RuneSetsByRuneNames");
|
46
|
+
Object.defineProperty(exports, "RuneSetsByRuneNames", { enumerable: true, get: function () { return RuneSetsByRuneNames_1.RuneSetsByRuneNames; } });
|
43
47
|
var RuneTreeIds_1 = require("./Constants/Runes/RuneTreeIds");
|
44
48
|
Object.defineProperty(exports, "RuneTreeIds", { enumerable: true, get: function () { return RuneTreeIds_1.RuneTreeIds; } });
|
45
49
|
var RuneTreeNames_1 = require("./Constants/Runes/RuneTreeNames");
|
@@ -89,6 +93,10 @@ Object.defineProperty(exports, "isItemKey", { enumerable: true, get: function ()
|
|
89
93
|
var isItemName_1 = require("./Helpers/Items/isItemName");
|
90
94
|
Object.defineProperty(exports, "isItemName", { enumerable: true, get: function () { return isItemName_1.isItemName; } });
|
91
95
|
// ## Runes
|
96
|
+
var getRuneCategoryByRuneName_1 = require("./Helpers/Runes/getRuneCategoryByRuneName");
|
97
|
+
Object.defineProperty(exports, "getRuneCategoryByRuneName", { enumerable: true, get: function () { return getRuneCategoryByRuneName_1.getRuneCategoryByRuneName; } });
|
98
|
+
var getRuneCDNURL_1 = require("./Helpers/Runes/getRuneCDNURL");
|
99
|
+
Object.defineProperty(exports, "getRuneCDNURL", { enumerable: true, get: function () { return getRuneCDNURL_1.getRuneCDNURL; } });
|
92
100
|
var getRuneIdByName_1 = require("./Helpers/Runes/getRuneIdByName");
|
93
101
|
Object.defineProperty(exports, "getRuneIdByName", { enumerable: true, get: function () { return getRuneIdByName_1.getRuneIdByName; } });
|
94
102
|
var getRuneNameById_1 = require("./Helpers/Runes/getRuneNameById");
|
package/dist/types/index.d.ts
CHANGED
@@ -20,6 +20,7 @@ import { RuneTreeTypes } from '../Constants/Runes/RuneTreeTypes';
|
|
20
20
|
import { Levels } from '../Constants/Levels';
|
21
21
|
import { Skills } from '../Constants/Skills';
|
22
22
|
import { RuneTreeIds } from '../Constants/Runes/RuneTreeIds';
|
23
|
+
import { RuneSetsByRuneNames } from '../Constants/Runes/RuneSetsByRuneNames';
|
23
24
|
export declare type ChampionId = typeof ChampionIds[keyof typeof ChampionIds];
|
24
25
|
export declare type ChampionKey = typeof ChampionKeys[keyof typeof ChampionKeys];
|
25
26
|
export declare type ChampionName = typeof ChampionNames[keyof typeof ChampionNames];
|
@@ -91,6 +92,7 @@ export declare type StatRuneName = typeof StatRuneNames[keyof typeof StatRuneNam
|
|
91
92
|
* - `InspirationTreeRuneId`,
|
92
93
|
*/
|
93
94
|
export declare type KeystoneRuneId = keyof typeof RuneSets.Keystones;
|
95
|
+
export declare type KeystoneRuneName = keyof typeof RuneSetsByRuneNames.Keystones;
|
94
96
|
/**
|
95
97
|
* There are 3 main Rune ID types:
|
96
98
|
* - `RuneId` (all),
|
@@ -106,6 +108,7 @@ export declare type KeystoneRuneId = keyof typeof RuneSets.Keystones;
|
|
106
108
|
* - `InspirationTreeRuneId`,
|
107
109
|
*/
|
108
110
|
export declare type PrecisionTreeRuneId = keyof typeof RuneSets.PrimaryTrees.Precision;
|
111
|
+
export declare type PrecisionTreeRuneName = keyof typeof RuneSetsByRuneNames.PrimaryTrees.Precision;
|
109
112
|
/**
|
110
113
|
* There are 3 main Rune ID types:
|
111
114
|
* - `RuneId` (all),
|
@@ -121,6 +124,7 @@ export declare type PrecisionTreeRuneId = keyof typeof RuneSets.PrimaryTrees.Pre
|
|
121
124
|
* - `InspirationTreeRuneId`,
|
122
125
|
*/
|
123
126
|
export declare type DominationTreeRuneId = keyof typeof RuneSets.PrimaryTrees.Domination;
|
127
|
+
export declare type DominationTreeRuneName = keyof typeof RuneSetsByRuneNames.PrimaryTrees.Domination;
|
124
128
|
/**
|
125
129
|
* There are 3 main Rune ID types:
|
126
130
|
* - `RuneId` (all),
|
@@ -136,6 +140,7 @@ export declare type DominationTreeRuneId = keyof typeof RuneSets.PrimaryTrees.Do
|
|
136
140
|
* - `InspirationTreeRuneId`,
|
137
141
|
*/
|
138
142
|
export declare type SorceryTreeRuneId = keyof typeof RuneSets.PrimaryTrees.Sorcery;
|
143
|
+
export declare type SorceryTreeRuneName = keyof typeof RuneSetsByRuneNames.PrimaryTrees.Sorcery;
|
139
144
|
/**
|
140
145
|
* There are 3 main Rune ID types:
|
141
146
|
* - `RuneId` (all),
|
@@ -151,6 +156,7 @@ export declare type SorceryTreeRuneId = keyof typeof RuneSets.PrimaryTrees.Sorce
|
|
151
156
|
* - `InspirationTreeRuneId`,
|
152
157
|
*/
|
153
158
|
export declare type ResolveTreeRuneId = keyof typeof RuneSets.PrimaryTrees.Resolve;
|
159
|
+
export declare type ResolveTreeRuneName = keyof typeof RuneSetsByRuneNames.PrimaryTrees.Resolve;
|
154
160
|
/**
|
155
161
|
* There are 3 main Rune ID types:
|
156
162
|
* - `RuneId` (all),
|
@@ -166,9 +172,11 @@ export declare type ResolveTreeRuneId = keyof typeof RuneSets.PrimaryTrees.Resol
|
|
166
172
|
* - `InspirationTreeRuneId`,
|
167
173
|
*/
|
168
174
|
export declare type InspirationTreeRuneId = keyof typeof RuneSets.PrimaryTrees.Inspiration;
|
175
|
+
export declare type InspirationTreeRuneName = keyof typeof RuneSetsByRuneNames.PrimaryTrees.Inspiration;
|
169
176
|
export declare type RuneTreeId = typeof RuneTreeIds[keyof typeof RuneTreeIds];
|
170
177
|
export declare type RuneTreeName = typeof RuneTreeNames[keyof typeof RuneTreeNames];
|
171
178
|
export declare type RuneTreeType = keyof typeof RuneTreeTypes;
|
179
|
+
export declare type StatRunesCategory = 'StatRunes';
|
172
180
|
export declare type Position = keyof typeof Positions;
|
173
181
|
export declare type Lane = keyof typeof Lanes;
|
174
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.4.0",
|
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",
|