lol-constants 1.2.3 → 1.4.0
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 +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",
|