enefel 1.2.0 → 1.2.2

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.
@@ -0,0 +1,136 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AVATAR_DEFAULT_LIST = void 0;
4
+ const AVATAR_DEFAULT_LIST = {
5
+ beastman: [
6
+ { file: "4eab6dd1-d465-4b89-a36c-6ec0f3063e5d-0_0.jpeg", rarity: "c" },
7
+ { file: "4eab6dd1-d465-4b89-a36c-6ec0f3063e5d-0_3.jpeg", rarity: "c" },
8
+ ],
9
+ "black-orc": [
10
+ { file: "5f45a123-4fc5-4529-93ec-374ecb542c16-0_0.jpeg", rarity: "c" },
11
+ { file: "5f45a123-4fc5-4529-93ec-374ecb542c16-0_1.jpeg", rarity: "c" },
12
+ { file: "6bc40632-3ed2-4a98-b4d6-0ee0a832061f-0_2.jpeg", rarity: "c" },
13
+ ],
14
+ bloater: [
15
+ { file: "78d51d4a-510c-48a9-adbc-496f5a06fcfa-0_1.jpeg", rarity: "c" },
16
+ { file: "78d51d4a-510c-48a9-adbc-496f5a06fcfa-0_2.jpeg", rarity: "c" },
17
+ ],
18
+ bloodspawn: [
19
+ { file: "78d51d4a-510c-48a9-adbc-496f5a06fcfa-0_1.jpeg", rarity: "c" },
20
+ { file: "78d51d4a-510c-48a9-adbc-496f5a06fcfa-0_2.jpeg", rarity: "c" },
21
+ ],
22
+ centaur: [
23
+ { file: "4eab6dd1-d465-4b89-a36c-6ec0f3063e5d-0_0.jpeg", rarity: "c" },
24
+ { file: "4eab6dd1-d465-4b89-a36c-6ec0f3063e5d-0_3.jpeg", rarity: "c" },
25
+ ],
26
+ "chaos-dwarf": [
27
+ { file: "084c8e6b-8121-4829-bb94-e5a6172f7d18-0_0.jpeg", rarity: "c" },
28
+ { file: "459e3028-5e08-4021-befd-9eed5cabc7e3-0_1.jpeg", rarity: "c" },
29
+ { file: "b3a6ee12-a912-43cd-a4d4-8217ee524f86-0_1.jpeg", rarity: "c" },
30
+ ],
31
+ "chaos-warrior": [
32
+ { file: "1b500e57-c4a8-49df-9106-2f51771e1954-0_2.jpeg", rarity: "c" },
33
+ ],
34
+ dark_elf: [
35
+ { file: "1510352c-4343-4297-9de1-a07cd6328e5f-0_0.jpeg", rarity: "c" },
36
+ { file: "1b9f3643-73d5-4350-9728-4a093acd2d65-0_2.jpeg", rarity: "c" },
37
+ { file: "edebf121-959c-4a91-a380-6296e9ae4e6d-0_3.jpeg", rarity: "c" },
38
+ { file: "f0496e9d-122c-42cb-884b-88ba5fa6ff51-0_2.jpeg", rarity: "c" },
39
+ ],
40
+ dwarf: [
41
+ { file: "084c8e6b-8121-4829-bb94-e5a6172f7d18-0_0.jpeg", rarity: "c" },
42
+ { file: "459e3028-5e08-4021-befd-9eed5cabc7e3-0_1.jpeg", rarity: "c" },
43
+ { file: "b3a6ee12-a912-43cd-a4d4-8217ee524f86-0_1.jpeg", rarity: "c" },
44
+ ],
45
+ elf: [
46
+ { file: "1510352c-4343-4297-9de1-a07cd6328e5f-0_0.jpeg", rarity: "c" },
47
+ { file: "1b9f3643-73d5-4350-9728-4a093acd2d65-0_2.jpeg", rarity: "c" },
48
+ { file: "6ee40acc-2eb9-49d0-822d-b26c4cce94ad-0_3.jpeg", rarity: "c" },
49
+ { file: "edebf121-959c-4a91-a380-6296e9ae4e6d-0_3.jpeg", rarity: "c" },
50
+ { file: "f0496e9d-122c-42cb-884b-88ba5fa6ff51-0_2.jpeg", rarity: "c" },
51
+ ],
52
+ gobelin: [
53
+ { file: "5f979389-d483-443a-9c4e-89fabd8b296a-0_0.jpeg", rarity: "c" },
54
+ { file: "c0f90df3-5010-4ebb-bc0c-651b29117904-0_0.jpeg", rarity: "c" },
55
+ { file: "c0f90df3-5010-4ebb-bc0c-651b29117904-0_3.jpeg", rarity: "c" },
56
+ ],
57
+ golem: [
58
+ { file: "2f1a1f74-fe6d-4287-866c-b4e653918b43-0_0.jpeg", rarity: "c" },
59
+ { file: "2f1a1f74-fe6d-4287-866c-b4e653918b43-0_3.jpeg", rarity: "c" },
60
+ ],
61
+ halfing: [
62
+ { file: "3283275f-9ba2-4b39-879f-f5cb3125ad84-0_2.jpeg", rarity: "c" },
63
+ { file: "8d8ea65e-4a8c-47e7-a3a4-043f3ebb96b3-0_0.jpeg", rarity: "c" },
64
+ ],
65
+ human: [
66
+ { file: "15241b62-c754-4df7-8e3d-e64910af0fa2-0_1.jpeg", rarity: "c" },
67
+ { file: "52bc1911-da1b-488b-9027-42d57d661305-0_1.jpeg", rarity: "c" },
68
+ { file: "87f9f4a8-3e16-489a-a72f-8779d54a69ba-0_3.jpeg", rarity: "c" },
69
+ { file: "b6861803-fe5c-4f31-bff9-d77508512050-0_1.jpeg", rarity: "c" },
70
+ ],
71
+ "human-woman": [
72
+ { file: "0578b8bc-1aae-4ad2-a250-538398eb58ce-0_0.jpeg", rarity: "c" },
73
+ { file: "0578b8bc-1aae-4ad2-a250-538398eb58ce-0_1.jpeg", rarity: "c" },
74
+ { file: "0578b8bc-1aae-4ad2-a250-538398eb58ce-0_2.jpeg", rarity: "c" },
75
+ { file: "61c0a894-327a-4773-91a9-371b940fd628-0_1.jpeg", rarity: "c" },
76
+ { file: "789f766d-0bc0-4d0e-b2f7-f3a4d550977f-0_3.jpeg", rarity: "c" },
77
+ ],
78
+ lezard: [
79
+ { file: "8fb522f4-bf09-43b5-bc05-2f6ecb13525b-0_0.jpeg", rarity: "c" },
80
+ { file: "8fb522f4-bf09-43b5-bc05-2f6ecb13525b-0_2.jpeg", rarity: "c" },
81
+ ],
82
+ minotaur: [
83
+ { file: "4eab6dd1-d465-4b89-a36c-6ec0f3063e5d-0_0.jpeg", rarity: "c" },
84
+ { file: "4eab6dd1-d465-4b89-a36c-6ec0f3063e5d-0_3.jpeg", rarity: "c" },
85
+ ],
86
+ mummie: [
87
+ { file: "b8322032-cf4c-4dd5-a01b-8aa13ec6389b-0_0.jpeg", rarity: "c" },
88
+ { file: "b8322032-cf4c-4dd5-a01b-8aa13ec6389b-0_3.jpeg", rarity: "c" },
89
+ ],
90
+ ogre: [
91
+ { file: "4d731785-93d4-4867-ba2a-05233b80bf6d-0_1.jpeg", rarity: "c" },
92
+ { file: "4d731785-93d4-4867-ba2a-05233b80bf6d-0_3.jpeg", rarity: "c" },
93
+ { file: "695ef977-bca4-439f-9938-c66d74550a50-0_0.jpeg", rarity: "c" },
94
+ { file: "695ef977-bca4-439f-9938-c66d74550a50-0_3.jpeg", rarity: "c" },
95
+ ],
96
+ orc: [
97
+ { file: "4640dcc1-a8c3-4f77-a08a-9f3f1d46fdc5-0_0.jpeg", rarity: "c" },
98
+ { file: "5f45a123-4fc5-4529-93ec-374ecb542c16-0_0.jpeg", rarity: "c" },
99
+ { file: "9b1f8721-a195-4830-ab56-a30b29de527e-0_2.jpeg", rarity: "c" },
100
+ ],
101
+ rat: [
102
+ { file: "6119ea3e-4913-47f5-b2d3-a35ed5e2c13b-0_0.jpeg", rarity: "c" },
103
+ { file: "6119ea3e-4913-47f5-b2d3-a35ed5e2c13b-0_3.jpeg", rarity: "c" },
104
+ { file: "b01cb9ff-f00c-4c28-9c5f-0ca254df5f79-0_1.jpeg", rarity: "c" },
105
+ ],
106
+ rat_ogre: [
107
+ { file: "6119ea3e-4913-47f5-b2d3-a35ed5e2c13b-0_0.jpeg", rarity: "c" },
108
+ { file: "6119ea3e-4913-47f5-b2d3-a35ed5e2c13b-0_3.jpeg", rarity: "c" },
109
+ { file: "b01cb9ff-f00c-4c28-9c5f-0ca254df5f79-0_1.jpeg", rarity: "c" },
110
+ ],
111
+ slann: [
112
+ { file: "446328cf-a5f0-4920-8ca0-219ac9259069.jpeg", rarity: "c" },
113
+ { file: "d0a6c1d1-a57a-41c6-8bc3-598444ea6faa.jpeg", rarity: "c" },
114
+ ],
115
+ treeman: [
116
+ { file: "d04cdae6-b2ff-446a-a500-d60a6fa0feeb-0_0.jpeg", rarity: "c" },
117
+ { file: "d04cdae6-b2ff-446a-a500-d60a6fa0feeb-0_2.jpeg", rarity: "c" },
118
+ ],
119
+ troll: [
120
+ { file: "4d731785-93d4-4867-ba2a-05233b80bf6d-0_1.jpeg", rarity: "c" },
121
+ { file: "4d731785-93d4-4867-ba2a-05233b80bf6d-0_2.jpeg", rarity: "c" },
122
+ ],
123
+ undead: [
124
+ { file: "87c105ca-2db8-4794-b67a-5378bc35950d-0_0.jpeg", rarity: "c" },
125
+ { file: "87c105ca-2db8-4794-b67a-5378bc35950d-0_1.jpeg", rarity: "c" },
126
+ { file: "c4f36f14-fa7a-4ba9-950b-828e95152968-0_0.jpeg", rarity: "c" },
127
+ ],
128
+ werewolf: [
129
+ { file: "de457153-5694-41c1-be0a-06cad63b9c45-0_1.jpeg", rarity: "c" },
130
+ { file: "de457153-5694-41c1-be0a-06cad63b9c45-0_3.jpeg", rarity: "c" },
131
+ ],
132
+ yhetee: [
133
+ { file: "59e02654-3e19-4aab-bcbb-f1630c474ac6-0_0.jpeg", rarity: "c" },
134
+ ],
135
+ };
136
+ exports.AVATAR_DEFAULT_LIST = AVATAR_DEFAULT_LIST;
package/dist/badge.js ADDED
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.badges = exports.BADGE_NAMES = void 0;
4
+ exports.getBadgeLevel = getBadgeLevel;
5
+ exports.getBadgeMaxLevel = getBadgeMaxLevel;
6
+ exports.hasBadge = hasBadge;
7
+ const career_1 = require("./career");
8
+ const improvement_1 = require("./improvement");
9
+ var BADGE_NAMES;
10
+ (function (BADGE_NAMES) {
11
+ BADGE_NAMES["BLOODTHIRSTY"] = "bloodthirsty";
12
+ BADGE_NAMES["DEAD_FULL_MOON"] = "dead-full-moon";
13
+ BADGE_NAMES["DEAD"] = "dead";
14
+ BADGE_NAMES["ELVEN_UNION"] = "elfen-union";
15
+ BADGE_NAMES["IMPERIAL"] = "imperial";
16
+ BADGE_NAMES["KILL"] = "kill";
17
+ BADGE_NAMES["NURGLE"] = "nurgle";
18
+ BADGE_NAMES["SNOTLING"] = "snotling";
19
+ BADGE_NAMES["WEAPON"] = "weapon";
20
+ BADGE_NAMES["VAMPIRE"] = "vampire";
21
+ BADGE_NAMES["SLANN"] = "slann";
22
+ })(BADGE_NAMES || (exports.BADGE_NAMES = BADGE_NAMES = {}));
23
+ const badges = {};
24
+ exports.badges = badges;
25
+ // "human-career": ranges,
26
+ // "orc-career": ranges,
27
+ // ...
28
+ Object.values((0, career_1.getCareers)()).forEach((r) => {
29
+ if (!badges[r.badge]) {
30
+ badges[r.badge] = [0, ...improvement_1.ranges];
31
+ }
32
+ });
33
+ badges[BADGE_NAMES.KILL] = [0, 1, 2, 3, 5, 7, 9]; // 10 max
34
+ badges[BADGE_NAMES.DEAD] = [0, 1, 2, 3, 5, 7, 9];
35
+ badges[BADGE_NAMES.DEAD_FULL_MOON] = [0];
36
+ badges[BADGE_NAMES.BLOODTHIRSTY] = [0]; // 1 max
37
+ badges[BADGE_NAMES.NURGLE] = [0];
38
+ badges[BADGE_NAMES.VAMPIRE] = [0]; // Store
39
+ badges[BADGE_NAMES.ELVEN_UNION] = [0]; // Store
40
+ badges[BADGE_NAMES.SNOTLING] = [0]; // Store
41
+ badges[BADGE_NAMES.IMPERIAL] = [0]; // Store
42
+ badges[BADGE_NAMES.SLANN] = [0]; // Store
43
+ badges[BADGE_NAMES.WEAPON] = [0];
44
+ function getBadgeMaxLevel(badge) {
45
+ return badges[badge.badge_id].length;
46
+ }
47
+ function getBadgeLevel(badge) {
48
+ const meta = badges[badge.badge_id];
49
+ let level = meta.findIndex((lvl) => badge.quantity <= lvl);
50
+ if (level === -1) {
51
+ return getBadgeMaxLevel(badge);
52
+ }
53
+ return level;
54
+ }
55
+ function hasBadge(badgeId, user, quantity = 1) {
56
+ const hasBadgeQte = user.badges.find((b) => {
57
+ return b.badge_id === badgeId && b.quantity >= quantity;
58
+ });
59
+ return hasBadgeQte != null;
60
+ }
package/dist/block.js ADDED
@@ -0,0 +1,104 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getOrderDiceAgainst = exports.getOrderDice = void 0;
4
+ exports.isFrenzyAvailable = isFrenzyAvailable;
5
+ const skill_1 = require("./skill");
6
+ function isFrenzyAvailable(player, defender) {
7
+ if ((0, skill_1.hasSkill)(defender, skill_1.SKILL_NAMES.FEND) &&
8
+ !(0, skill_1.hasSkill)(player, skill_1.SKILL_NAMES.JUGGERNAUT)) {
9
+ return false;
10
+ }
11
+ return player.current_MA + player.current_gfi <= 1
12
+ ? false
13
+ : (0, skill_1.hasSkill)(player, skill_1.SKILL_NAMES.FRENZY, true);
14
+ }
15
+ const hasDefenserDodge = (attacker, defender) => {
16
+ let hasDefenderDodge = (0, skill_1.hasSkill)(defender, skill_1.SKILL_NAMES.DODGE);
17
+ let hasAttackerTacle = (0, skill_1.hasSkill)(attacker, skill_1.SKILL_NAMES.TACKLE);
18
+ return hasDefenderDodge && !hasAttackerTacle;
19
+ };
20
+ // ah oui si je suis bloqué à deux dès contre et que j'ai pas blocage, en effet je voudrais 1 3 2 4 5voir 1 3 4 2 5 si j'ai esquive
21
+ // c'est vrai
22
+ // la ligne if (!hasSkill(defender, SKILL_NAMES.BLOCK)) { doit aussi s'appliquer quand l'attaque a pas blocage du coup
23
+ // mais que quand c'est en dés contre c'est ca?
24
+ // je vérifierai ca
25
+ // faut que je le dessine
26
+ const getOrderDice = (attacker, defender) => {
27
+ let order = [
28
+ { value: 5, isReroll: false }, // Never change
29
+ { value: 4, isReroll: false },
30
+ { value: 3, isReroll: false },
31
+ { value: 2, isReroll: true },
32
+ { value: 1, isReroll: true }, // Never change
33
+ ];
34
+ // Only block can make change the order
35
+ if ((0, skill_1.hasSkill)(attacker, skill_1.SKILL_NAMES.BLOCK)) {
36
+ // If attacker has block, he will not reroll a 2 result
37
+ const diceTwo = order.find((o) => o.value === 2);
38
+ if (diceTwo) {
39
+ diceTwo.isReroll = false;
40
+ }
41
+ // If def also have block, Nothing happen
42
+ if (!(0, skill_1.hasSkill)(defender, skill_1.SKILL_NAMES.BLOCK)) {
43
+ if (hasDefenserDodge(attacker, defender)) {
44
+ order = [
45
+ { value: 5, isReroll: false },
46
+ { value: 2, isReroll: false },
47
+ { value: 4, isReroll: false },
48
+ { value: 3, isReroll: false },
49
+ { value: 1, isReroll: true },
50
+ ];
51
+ }
52
+ else {
53
+ order = [
54
+ { value: 5, isReroll: false },
55
+ { value: 4, isReroll: false },
56
+ { value: 2, isReroll: false },
57
+ { value: 3, isReroll: false },
58
+ { value: 1, isReroll: true },
59
+ ];
60
+ }
61
+ }
62
+ }
63
+ return order;
64
+ };
65
+ exports.getOrderDice = getOrderDice;
66
+ const getOrderDiceAgainst = (attacker, defender) => {
67
+ if ((0, skill_1.hasSkill)(defender, skill_1.SKILL_NAMES.BLOCK)) {
68
+ if ((0, skill_1.hasSkill)(defender, skill_1.SKILL_NAMES.WRESTLE)) {
69
+ return [
70
+ { value: 1, isReroll: true },
71
+ { value: 3, isReroll: false },
72
+ { value: 2, isReroll: !(0, skill_1.hasSkill)(attacker, skill_1.SKILL_NAMES.BLOCK) },
73
+ { value: 4, isReroll: false },
74
+ { value: 5, isReroll: false },
75
+ ];
76
+ }
77
+ return [
78
+ { value: 1, isReroll: true },
79
+ { value: 2, isReroll: !(0, skill_1.hasSkill)(attacker, skill_1.SKILL_NAMES.BLOCK) },
80
+ { value: 3, isReroll: false },
81
+ { value: 4, isReroll: false },
82
+ { value: 5, isReroll: false },
83
+ ];
84
+ }
85
+ if (hasDefenserDodge(attacker, defender)) {
86
+ return [
87
+ { value: 1, isReroll: true },
88
+ { value: 3, isReroll: false },
89
+ { value: 4, isReroll: false },
90
+ { value: 2, isReroll: !(0, skill_1.hasSkill)(attacker, skill_1.SKILL_NAMES.BLOCK) },
91
+ { value: 5, isReroll: false },
92
+ ];
93
+ }
94
+ else {
95
+ return [
96
+ { value: 1, isReroll: true },
97
+ { value: 3, isReroll: false },
98
+ { value: 2, isReroll: !(0, skill_1.hasSkill)(attacker, skill_1.SKILL_NAMES.BLOCK) },
99
+ { value: 4, isReroll: false },
100
+ { value: 5, isReroll: false },
101
+ ];
102
+ }
103
+ };
104
+ exports.getOrderDiceAgainst = getOrderDiceAgainst;
package/dist/calcul.js ADDED
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.distanceSquares = exports.distance = void 0;
4
+ const distance = (p1, p2) => {
5
+ return Math.sqrt(Math.pow(p1.x - p2.x, 2) + Math.pow(p1.y - p2.y, 2));
6
+ };
7
+ exports.distance = distance;
8
+ const distanceSquares = (p1, p2, distance) => {
9
+ return Math.abs(p1.x - p2.x) <= distance && Math.abs(p1.y - p2.y) <= distance;
10
+ };
11
+ exports.distanceSquares = distanceSquares;
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.canUseFend = canUseFend;
4
+ exports.canUsePileDriver = canUsePileDriver;
5
+ exports.canUseStandFirm = canUseStandFirm;
6
+ exports.canUseStandWrestle = canUseStandWrestle;
7
+ const position_1 = require("./position");
8
+ const skill_1 = require("./skill");
9
+ const status_1 = require("./status");
10
+ function canUseFend(playerFrom, playerTo, isBlitz) {
11
+ if (!(0, skill_1.hasSkill)(playerTo, skill_1.SKILL_NAMES.FEND)) {
12
+ return false;
13
+ }
14
+ if ((0, skill_1.hasSkill)(playerFrom, skill_1.SKILL_NAMES.JUGGERNAUT) && isBlitz) {
15
+ return false;
16
+ }
17
+ return true;
18
+ }
19
+ function canUseStandFirm(playerFrom, playerTo, isBlitz) {
20
+ if (playerTo && !(0, skill_1.hasSkill)(playerTo, skill_1.SKILL_NAMES.STAND_FIRM)) {
21
+ return false;
22
+ }
23
+ if (playerFrom && (0, skill_1.hasSkill)(playerFrom, skill_1.SKILL_NAMES.JUGGERNAUT) && isBlitz) {
24
+ return false;
25
+ }
26
+ return true;
27
+ }
28
+ function canUseStandWrestle(playerFrom, playerTo, isBlitz) {
29
+ if ((0, skill_1.hasSkill)(playerFrom, skill_1.SKILL_NAMES.JUGGERNAUT) && isBlitz) {
30
+ return false;
31
+ }
32
+ if ((0, skill_1.hasSkill)(playerFrom, skill_1.SKILL_NAMES.WRESTLE) ||
33
+ (0, skill_1.hasSkill)(playerTo, skill_1.SKILL_NAMES.WRESTLE)) {
34
+ return true;
35
+ }
36
+ return false;
37
+ }
38
+ function canUsePileDriver(playerFrom, playerTo) {
39
+ if ((0, skill_1.hasSkill)(playerFrom, skill_1.SKILL_NAMES.PILE_DRIVER) &&
40
+ (0, status_1.hasStatusTacleZone)(playerFrom) &&
41
+ (0, status_1.hasStatusFall)(playerTo) &&
42
+ (0, position_1.isAdjacent)(playerFrom, playerTo)) {
43
+ return true;
44
+ }
45
+ return false;
46
+ }
package/dist/card.js ADDED
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.USER_CARD_RARITY = exports.CARD_TYPE = exports.CARD_RARITY = void 0;
4
+ const CARD_TYPE = {
5
+ PLAYER: "player",
6
+ TEAM: "team",
7
+ };
8
+ exports.CARD_TYPE = CARD_TYPE;
9
+ const CARD_RARITY = {
10
+ COMMUN: "c",
11
+ UNCOMMUN: "u",
12
+ RARE: "r",
13
+ };
14
+ exports.CARD_RARITY = CARD_RARITY;
15
+ const USER_CARD_RARITY = {
16
+ SHINY_NONE: "0", // no foil
17
+ SHINY_RARE: "1", // rare foil (1x100)
18
+ SHINY_UNIQUE: "2", // unique foil (only player user)
19
+ };
20
+ exports.USER_CARD_RARITY = USER_CARD_RARITY;