enefel 1.0.94 → 1.0.98

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/index.js CHANGED
@@ -314,18 +314,22 @@ const getBlockAssistance = (
314
314
  isFoul = false,
315
315
  isAttacker = false
316
316
  ) => {
317
- players = players.filter((player) => {
317
+ const OtherPlayersThanInvolved = players.filter((player) => {
318
318
  return player.id !== attackerPlayer.id && player.id !== defenderPlayer.id;
319
319
  });
320
320
 
321
- // 1. Must be adjacent to the enemy player involved in the block,
322
- // 3. Must be standing, and …
323
- const adjacentEnemyPlayers = players.filter((player) => {
321
+ const isValidAdjacentEnemy = (player, target) => {
324
322
  return (
325
323
  hasStatusTacleZone(player) &&
326
- player.teamId !== defenderPlayer.teamId &&
327
- isAdjacent(player, defenderPlayer)
324
+ isAdjacent(player, target) &&
325
+ player.teamId !== target.teamId
328
326
  );
327
+ };
328
+
329
+ // 1. Must be adjacent to the enemy player involved in the block,
330
+ // 3. Must be standing, and …
331
+ const adjacentEnemyPlayers = OtherPlayersThanInvolved.filter((player) => {
332
+ return isValidAdjacentEnemy(player, defenderPlayer);
329
333
  });
330
334
  // 2. Must not be in the tackle zone of any other player from the
331
335
  // opposing team, and ...
@@ -335,12 +339,10 @@ const getBlockAssistance = (
335
339
  if (hasSkill(adjacentEnemyPlayer, SKILL_NAMES.GUARD)) {
336
340
  hasGard = true;
337
341
  if (
338
- isAttacker &&
339
- players.some((player) => {
342
+ isAttacker && // player is the attacker player.
343
+ [...OtherPlayersThanInvolved, defenderPlayer].some((player) => {
340
344
  return (
341
- hasStatusTacleZone(player) &&
342
- player.teamId !== adjacentEnemyPlayer.teamId &&
343
- isAdjacent(player, adjacentEnemyPlayer) &&
345
+ isValidAdjacentEnemy(player, adjacentEnemyPlayer) &&
344
346
  hasSkill(player, SKILL_NAMES.DEFENSIVE)
345
347
  );
346
348
  })
@@ -350,13 +352,10 @@ const getBlockAssistance = (
350
352
  }
351
353
  return (
352
354
  (!isFoul && hasGard) ||
353
- !players.some((player) => {
355
+ !OtherPlayersThanInvolved.some((player) => {
354
356
  return (
355
- player.id !== attackerPlayer.id &&
356
- player.id !== defenderPlayer.id &&
357
- hasStatusTacleZone(player) && // 4. Must have his tackle zones.
358
- player.teamId !== adjacentEnemyPlayer.teamId &&
359
- isAdjacent(player, adjacentEnemyPlayer)
357
+ // 4. Must have his tackle zones.
358
+ isValidAdjacentEnemy(player, adjacentEnemyPlayer)
360
359
  );
361
360
  })
362
361
  );
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "enefel",
3
- "version": "1.0.94",
3
+ "version": "1.0.98",
4
4
  "main": "index.js",
5
5
  "author": "Manest",
6
6
  "license": "MIT",
package/race.js CHANGED
@@ -18,6 +18,76 @@ const { SKILL_NAMES } = require("./skill");
18
18
  // const ranges = [6, 16, 31, 51, 76, 176];
19
19
  // https://web.archive.org/web/20090403112513/http://enefel.org/carriere.php
20
20
  module.exports = {
21
+ // LIZARDMEN
22
+ "lizardmen-skink": {
23
+ MA: 8,
24
+ ST: 2,
25
+ AG: 3,
26
+ AV: 7,
27
+ normal: "A",
28
+ double: "GPS",
29
+ normalCoach: "G",
30
+ icons: ["lizardmen-skink1"],
31
+ skills: [SKILL_NAMES.DODGE, SKILL_NAMES.STUNTY],
32
+ badge: "lizardmen-career",
33
+ range: 0,
34
+ cost: 60,
35
+ },
36
+ // "lizardmen-chameleon": {
37
+ // MA: 7,
38
+ // ST: 2,
39
+ // AG: 3,
40
+ // AV: 7,
41
+ // normal: "A",
42
+ // double: "GPS",
43
+ // normalCoach: "G",
44
+ // icons: ["lizardmen-chameleon1"],
45
+ // skills: [
46
+ // SKILL_NAMES.DODGE,
47
+ // // SKILL_NAMES.ON_THE_BALL,
48
+ // // SKILL_NAMES.SHADOWING,
49
+ // SKILL_NAMES.STUNTY,
50
+ // ],
51
+ // badge: "lizardmen-career",
52
+ // range: 1,
53
+ // cost: 70,
54
+ // },
55
+ "lizardmen-saurus": {
56
+ MA: 6,
57
+ ST: 4,
58
+ AG: 1,
59
+ AV: 9,
60
+ normal: "GS",
61
+ double: "A",
62
+ normalCoach: "G",
63
+ icons: ["lizardmen-saurus1"],
64
+ skills: [SKILL_NAMES.STAR],
65
+ badge: "lizardmen-career",
66
+ range: 4,
67
+ cost: 85,
68
+ },
69
+ "lizardmen-kroxigor": {
70
+ MA: 6,
71
+ ST: 5,
72
+ AG: 1,
73
+ AV: 9,
74
+ normal: "S",
75
+ double: "AG",
76
+ normalCoach: "G",
77
+ icons: ["lizardmen-kroxigor1"],
78
+ skills: [
79
+ SKILL_NAMES.BONE_HEAD,
80
+ [SKILL_NAMES.LONER, 4],
81
+ SKILL_NAMES.MIGHTY_BLOW,
82
+ SKILL_NAMES.PREHENSILE_TAIL,
83
+ SKILL_NAMES.THICK_SKULL,
84
+ SKILL_NAMES.BIG_GUY,
85
+ ],
86
+ badge: "lizardmen-career",
87
+ range: 5,
88
+ cost: 140,
89
+ },
90
+
21
91
  // NORSE
22
92
  "norse-lineman": {
23
93
  MA: 6,
@@ -89,7 +159,7 @@ module.exports = {
89
159
  double: "A",
90
160
  normalCoach: "G",
91
161
  icons: ["norse-ulfwereners1"],
92
- skills: [SKILL_NAMES.FRENZY, SKILL_NAMES.SPECIALIST],
162
+ skills: [SKILL_NAMES.FRENZY, SKILL_NAMES.STAR],
93
163
  badge: "norse-career",
94
164
  range: 4,
95
165
  cost: 105,
@@ -109,7 +179,7 @@ module.exports = {
109
179
  SKILL_NAMES.FRENZY,
110
180
  [SKILL_NAMES.LONER, 4],
111
181
  SKILL_NAMES.UNCHANNELLED_FURY,
112
- SKILL_NAMES.STAR,
182
+ SKILL_NAMES.BIG_GUY,
113
183
  ],
114
184
  badge: "norse-career",
115
185
  range: 6,
package/skillCoach.js CHANGED
@@ -13,7 +13,7 @@ const SKILL_COACH_TYPE = {
13
13
  // TODO: add text translation when add a skill
14
14
  const COACH_SKILLS = {
15
15
  [SKILL_COACH_NAMES.SPONSOR]: SKILL_COACH_TYPE.GENERAL,
16
- [SKILL_COACH_NAMES.SPY]: SKILL_COACH_TYPE.GENERAL,
16
+ // [SKILL_COACH_NAMES.SPY]: SKILL_COACH_TYPE.GENERAL, // If reactivate, check getCoachSkill hotfix
17
17
  [SKILL_COACH_NAMES.THREATENING]: SKILL_COACH_TYPE.GENERAL,
18
18
  };
19
19
 
@@ -23,6 +23,10 @@ function shouldDisplayInfoInName(skillId) {
23
23
  }
24
24
 
25
25
  function getCoachSkill(player, skillId) {
26
+ if (skillId === SKILL_COACH_NAMES.SPY) {
27
+ // Hotfix
28
+ return false;
29
+ }
26
30
  if (!COACH_SKILLS.hasOwnProperty(skillId)) {
27
31
  throw `Skill '${skillId}' does not exist`;
28
32
  }