enefel 1.0.104 → 1.0.107
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/improvement.js +22 -2
- package/index.js +2 -3
- package/package.json +1 -1
- package/race.js +42 -1
- package/skill.js +12 -4
- package/stadium.js +1 -1
- package/state.js +0 -30
package/improvement.js
CHANGED
|
@@ -7,6 +7,26 @@ const SPP = {
|
|
|
7
7
|
EXP_SOR: 2,
|
|
8
8
|
EXP_TD: 3,
|
|
9
9
|
};
|
|
10
|
+
const ranges = [6, 16, 31, 51, 76, 176];
|
|
11
|
+
const coachRanges = [3, 8, 15, 25, 36, 80];
|
|
12
|
+
|
|
13
|
+
const getNextRange = (currentRange) => {
|
|
14
|
+
for (let i = 0; i < ranges.length; i++) {
|
|
15
|
+
if (currentRange < ranges[i]) {
|
|
16
|
+
return ranges[i];
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
return "∞";
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
const getNextRangeCoach = (currentRange) => {
|
|
23
|
+
for (let i = 0; i < coachRanges.length; i++) {
|
|
24
|
+
if (currentRange < coachRanges[i]) {
|
|
25
|
+
return coachRanges[i];
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
return "∞";
|
|
29
|
+
};
|
|
10
30
|
|
|
11
31
|
/*
|
|
12
32
|
SPPs Title Star Player Rolls
|
|
@@ -19,10 +39,10 @@ SPPs Title Star Player Rolls
|
|
|
19
39
|
176+ Legend Six
|
|
20
40
|
*/
|
|
21
41
|
|
|
22
|
-
const ranges = [6, 16, 31, 51, 76, 176];
|
|
23
|
-
const coachRanges = [3, 8, 15, 25, 36, 80];
|
|
24
42
|
module.exports = {
|
|
25
43
|
coachRanges,
|
|
44
|
+
getNextRange,
|
|
45
|
+
getNextRangeCoach,
|
|
26
46
|
ranges,
|
|
27
47
|
SPP,
|
|
28
48
|
};
|
package/index.js
CHANGED
|
@@ -19,9 +19,9 @@ const {
|
|
|
19
19
|
METEO,
|
|
20
20
|
} = require("./meteo");
|
|
21
21
|
const { distance } = require("./calcul");
|
|
22
|
-
const { getCareerFromPlayer
|
|
22
|
+
const { getCareerFromPlayer } = require("./race");
|
|
23
23
|
const { getMaxMA } = require("./player");
|
|
24
|
-
|
|
24
|
+
|
|
25
25
|
const POSTULATION_HOURS = 24;
|
|
26
26
|
const INACTIVE_DAYS = 10;
|
|
27
27
|
const MAX_PLAYER_USER = 2;
|
|
@@ -922,7 +922,6 @@ module.exports = {
|
|
|
922
922
|
getTeamColor,
|
|
923
923
|
getThrowingBonus,
|
|
924
924
|
haveSameTeam,
|
|
925
|
-
INITIAL_REROLL,
|
|
926
925
|
isAdjacent,
|
|
927
926
|
isCoach,
|
|
928
927
|
isGameRunning,
|
package/package.json
CHANGED
package/race.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
const { SKILL_NAMES } = require("./skill");
|
|
2
|
+
const { canBeSelectedByUser } = require("./state");
|
|
2
3
|
|
|
3
4
|
const ANIMOSITY_NUMBER = 2;
|
|
4
5
|
|
|
@@ -983,8 +984,18 @@ function getCareerRanges() {
|
|
|
983
984
|
return [0, ...ranges];
|
|
984
985
|
}
|
|
985
986
|
|
|
987
|
+
const NB_MAX_PLAYERS = 2;
|
|
988
|
+
|
|
989
|
+
function getPlayersAvailableForPromo(players = []) {
|
|
990
|
+
const playersByState = getPlayersByState(players);
|
|
991
|
+
|
|
992
|
+
return [...playersByState.actives, ...playersByState.lastRetired].slice(
|
|
993
|
+
0,
|
|
994
|
+
NB_MAX_PLAYERS
|
|
995
|
+
);
|
|
996
|
+
}
|
|
997
|
+
|
|
986
998
|
function getPromoCareer(careerId, userPlayers) {
|
|
987
|
-
const NB_MAX_PLAYERS = 2;
|
|
988
999
|
const race = getRaceFromCareer(careerId);
|
|
989
1000
|
let promo = userPlayers
|
|
990
1001
|
.filter((p, i) => p && i < NB_MAX_PLAYERS && getRaceFromPlayer(p) === race)
|
|
@@ -1012,6 +1023,12 @@ function getTeamGroups(team) {
|
|
|
1012
1023
|
return groups;
|
|
1013
1024
|
}
|
|
1014
1025
|
|
|
1026
|
+
function isPlayerNeutralGroup(player) {
|
|
1027
|
+
const group = getPlayerGroup(player);
|
|
1028
|
+
const neutrals = [GROUP_NAME.NEUTRAL];
|
|
1029
|
+
return neutrals.includes(group);
|
|
1030
|
+
}
|
|
1031
|
+
|
|
1015
1032
|
function isNeutralGroup(group) {
|
|
1016
1033
|
const neutrals = [GROUP_NAME.NEUTRAL];
|
|
1017
1034
|
return neutrals.includes(group);
|
|
@@ -1023,6 +1040,27 @@ function getTeamIncompatibleGroups(team) {
|
|
|
1023
1040
|
return Object.entries(groups).filter((group) => !isNeutralGroup(group[0]));
|
|
1024
1041
|
}
|
|
1025
1042
|
|
|
1043
|
+
const getPlayersByState = (players) => {
|
|
1044
|
+
const playerActives = [];
|
|
1045
|
+
const playerInactives = [];
|
|
1046
|
+
|
|
1047
|
+
for (const p of players) {
|
|
1048
|
+
if (canBeSelectedByUser(p.state)) {
|
|
1049
|
+
playerActives.push(p);
|
|
1050
|
+
} else {
|
|
1051
|
+
playerInactives.push(p);
|
|
1052
|
+
}
|
|
1053
|
+
}
|
|
1054
|
+
|
|
1055
|
+
return {
|
|
1056
|
+
actives: playerActives,
|
|
1057
|
+
inactives: playerInactives,
|
|
1058
|
+
lastRetired: playerInactives.sort(
|
|
1059
|
+
(a, b) => Date.parse(b.connectedAt) - Date.parse(a.connectedAt)
|
|
1060
|
+
),
|
|
1061
|
+
};
|
|
1062
|
+
};
|
|
1063
|
+
|
|
1026
1064
|
module.exports = {
|
|
1027
1065
|
ANIMOSITY_NUMBER,
|
|
1028
1066
|
COMPATIBILITY,
|
|
@@ -1036,6 +1074,8 @@ module.exports = {
|
|
|
1036
1074
|
getCareersByRace,
|
|
1037
1075
|
getPlayerCompatibility,
|
|
1038
1076
|
getPlayerGroup,
|
|
1077
|
+
getPlayersAvailableForPromo,
|
|
1078
|
+
getPlayersByState,
|
|
1039
1079
|
getPriceCareer,
|
|
1040
1080
|
getPromoCareer,
|
|
1041
1081
|
getRaceFromCareer,
|
|
@@ -1045,5 +1085,6 @@ module.exports = {
|
|
|
1045
1085
|
getTeamIncompatibleGroups,
|
|
1046
1086
|
GROUP_NAME,
|
|
1047
1087
|
isNeutralGroup,
|
|
1088
|
+
isPlayerNeutralGroup,
|
|
1048
1089
|
RACE,
|
|
1049
1090
|
};
|
package/skill.js
CHANGED
|
@@ -171,7 +171,7 @@ function useSkill(player, skillId, date = -1, info = null) {
|
|
|
171
171
|
skill.info = info;
|
|
172
172
|
}
|
|
173
173
|
|
|
174
|
-
function getSkill(player, skillId) {
|
|
174
|
+
function getSkill(player, skillId, info = null) {
|
|
175
175
|
if (!SKILLS.hasOwnProperty(skillId)) {
|
|
176
176
|
throw `Skill '${skillId}' does not exist`;
|
|
177
177
|
}
|
|
@@ -179,12 +179,20 @@ function getSkill(player, skillId) {
|
|
|
179
179
|
if (!playerSkills) {
|
|
180
180
|
return false;
|
|
181
181
|
}
|
|
182
|
-
const skill = playerSkills.find(
|
|
182
|
+
const skill = playerSkills.find(
|
|
183
|
+
(s) => s.skill_id === skillId && (info ? s.info === info : true)
|
|
184
|
+
);
|
|
183
185
|
return skill;
|
|
184
186
|
}
|
|
185
187
|
|
|
186
|
-
function hasSkill(
|
|
187
|
-
|
|
188
|
+
function hasSkill(
|
|
189
|
+
player,
|
|
190
|
+
skillId,
|
|
191
|
+
withDate = false,
|
|
192
|
+
checkActivated = true,
|
|
193
|
+
info = null
|
|
194
|
+
) {
|
|
195
|
+
const skill = getSkill(player, skillId, info);
|
|
188
196
|
|
|
189
197
|
const isActivated = (skill) =>
|
|
190
198
|
checkActivated && isActivableSkills(skillId)
|
package/stadium.js
CHANGED
package/state.js
CHANGED
|
@@ -85,42 +85,12 @@ function shouldBeRemovedFromTeam(state) {
|
|
|
85
85
|
return state === PLAYER_STATE.BLOCKED || state === PLAYER_STATE.DEAD;
|
|
86
86
|
}
|
|
87
87
|
|
|
88
|
-
const getPlayersByState = (players) => {
|
|
89
|
-
const playerActives = [];
|
|
90
|
-
const playerInactives = [];
|
|
91
|
-
let lastRetired = null;
|
|
92
|
-
|
|
93
|
-
for (const p of players) {
|
|
94
|
-
if (canBeSelectedByUser(p.state)) {
|
|
95
|
-
playerActives.push(p);
|
|
96
|
-
} else {
|
|
97
|
-
playerInactives.push(p);
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
for (player of playerInactives) {
|
|
102
|
-
if (!lastRetired) {
|
|
103
|
-
lastRetired = player;
|
|
104
|
-
}
|
|
105
|
-
if (player.connectedAt > lastRetired.connectedAt) {
|
|
106
|
-
lastRetired = player;
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
return {
|
|
111
|
-
actives: playerActives,
|
|
112
|
-
inactives: playerInactives,
|
|
113
|
-
lastRetired,
|
|
114
|
-
};
|
|
115
|
-
};
|
|
116
|
-
|
|
117
88
|
module.exports = {
|
|
118
89
|
canBeSelectedByUser,
|
|
119
90
|
canJoinTeamWithState,
|
|
120
91
|
canPlayLeague,
|
|
121
92
|
canTeamPlayLeague,
|
|
122
93
|
getPlayableStates,
|
|
123
|
-
getPlayersByState,
|
|
124
94
|
isActive,
|
|
125
95
|
isBlocked,
|
|
126
96
|
isDead,
|