gotchi-battler-game-logic 2.0.7 → 2.0.8
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/.vscode/settings.json +4 -4
- package/Dockerfile +9 -9
- package/README.md +49 -49
- package/cloudbuild.yaml +27 -27
- package/constants/tournamentManagerAbi.json +208 -208
- package/game-logic/index.js +6 -6
- package/game-logic/v1.4/constants.js +114 -114
- package/game-logic/v1.4/index.js +1366 -1366
- package/game-logic/v1.6/constants.js +123 -123
- package/game-logic/v1.6/index.js +1406 -1406
- package/game-logic/v1.7/constants.js +142 -140
- package/game-logic/v1.7/helpers.js +595 -593
- package/game-logic/v1.7/index.js +802 -795
- package/index.js +12 -12
- package/package.json +26 -26
- package/schemas/team.json +349 -343
- package/scripts/balancing/createCSV.js +126 -126
- package/scripts/balancing/fixTrainingGotchis.js +155 -259
- package/scripts/balancing/processSims.js +229 -229
- package/scripts/balancing/sims.js +278 -278
- package/scripts/balancing/v1.7/class_combos.js +43 -43
- package/scripts/balancing/v1.7/setTeamPositions.js +105 -105
- package/scripts/balancing/v1.7/training_gotchis.json +20161 -20161
- package/scripts/balancing/v1.7/trait_combos.json +9 -9
- package/scripts/balancing/v1.7.1/class_combos.js +43 -43
- package/scripts/balancing/v1.7.1/setTeamPositions.js +122 -122
- package/scripts/balancing/v1.7.1/training_gotchis.json +22401 -22401
- package/scripts/balancing/v1.7.1/trait_combos.json +9 -9
- package/scripts/balancing/v1.7.2/class_combos.js +44 -0
- package/scripts/balancing/v1.7.2/setTeamPositions.js +122 -0
- package/scripts/balancing/v1.7.2/training_gotchis.json +22402 -0
- package/scripts/balancing/v1.7.2/trait_combos.json +10 -0
- package/scripts/data/team1.json +213 -213
- package/scripts/data/team2.json +200 -200
- package/scripts/data/tournaments.json +66 -66
- package/scripts/{runBattle.js → runLocalBattle.js} +18 -18
- package/scripts/runRealBattle.js +52 -0
- package/scripts/simRealBattle.js +121 -0
- package/scripts/validateBattle.js +74 -70
- package/scripts/validateTournament.js +101 -101
- package/utils/contracts.js +12 -12
- package/utils/errors.js +29 -29
- package/utils/mapGotchi.js +119 -0
- package/utils/transforms.js +89 -88
- package/utils/validations.js +39 -39
- package/debug.log +0 -2
- package/game-logic/v1.6/debug.log +0 -1
- package/game-logic/v1.7/debug.log +0 -3
- package/scripts/data/debug.log +0 -2
- package/scripts/debug.log +0 -1
|
@@ -1,114 +1,114 @@
|
|
|
1
|
-
const PASSIVES = ['sharp_blades', 'cloud_of_zen', 'frenzy', 'fortify', 'spread_the_fear', 'cleansing_aura', 'channel_the_coven', 'clan_momentum']
|
|
2
|
-
const DEBUFF_STATUSES = ['bleed', 'stun']
|
|
3
|
-
const BUFF_STATUSES = ['taunt']
|
|
4
|
-
|
|
5
|
-
const BUFF_MULT_EFFECTS = {
|
|
6
|
-
power_up_1: {
|
|
7
|
-
magic: 0.125,
|
|
8
|
-
physical: 0.125
|
|
9
|
-
},
|
|
10
|
-
power_up_2: {
|
|
11
|
-
crit: 0.5,
|
|
12
|
-
magic: 0.425,
|
|
13
|
-
physical: 0.425
|
|
14
|
-
},
|
|
15
|
-
fortify: {
|
|
16
|
-
armor: 0.8
|
|
17
|
-
},
|
|
18
|
-
taunt: {
|
|
19
|
-
armor: 0.4
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
const BUFF_FLAT_EFFECTS = {
|
|
24
|
-
fortify: {
|
|
25
|
-
armor: 60
|
|
26
|
-
},
|
|
27
|
-
frenzy: {
|
|
28
|
-
crit: 16
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
// Combine all buffs
|
|
33
|
-
const BUFFS = [...PASSIVES, ...BUFF_STATUSES, ...Object.keys(BUFF_MULT_EFFECTS), ...Object.keys(BUFF_FLAT_EFFECTS)]
|
|
34
|
-
|
|
35
|
-
const DEBUFF_MULT_EFFECTS = {
|
|
36
|
-
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
const DEBUFF_FLAT_EFFECTS = {
|
|
40
|
-
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
// Combine all debuffs
|
|
44
|
-
const DEBUFFS = [...DEBUFF_STATUSES, ...Object.keys(DEBUFF_MULT_EFFECTS), ...Object.keys(DEBUFF_FLAT_EFFECTS)]
|
|
45
|
-
|
|
46
|
-
const MULTS = {
|
|
47
|
-
FRONT_ROW_PHY_ATK: 1.1,
|
|
48
|
-
FRONT_ROW_PHY_DEF: 0.9,
|
|
49
|
-
EXPIRE_LEADERSKILL: 0,
|
|
50
|
-
SPEED_PENALTY: 2.5,
|
|
51
|
-
MAX_STATUSES: 3,
|
|
52
|
-
CRIT_MULTIPLIER_FAST: 1.8,
|
|
53
|
-
CRIT_MULTIPLIER_SLOW: 1.8,
|
|
54
|
-
FORTIFY_COUNTER_CHANCE: 20,
|
|
55
|
-
COUNTER_CHANCE_MIN: 10,
|
|
56
|
-
COUNTER_DAMAGE: 1.2,
|
|
57
|
-
SHARP_BLADES_BLEED_CHANCE: 0.8,
|
|
58
|
-
BLEED_DAMAGE: 7,
|
|
59
|
-
SPECTRAL_STRIKE_DAMAGE: 1.4,
|
|
60
|
-
CLEAVE_DAMAGE: 0.9,
|
|
61
|
-
CURSE_DAMAGE: 1.5,
|
|
62
|
-
CURSE_SPEED_PENALTY: 0,
|
|
63
|
-
SPREAD_THE_FEAR_CHANCE: 0.9,
|
|
64
|
-
SPREAD_THE_FEAR_SPEED_PENALTY: 0.4,
|
|
65
|
-
BLESSING_HEAL: 4,
|
|
66
|
-
BLESSING_HEAL_SPEED_PENALTY: 0,
|
|
67
|
-
CLEANSING_AURA_HEAL: 6,
|
|
68
|
-
BLESSING_HEAL_CRIT_MULTIPLIER: 1.5,
|
|
69
|
-
CLEANSING_AURA_REGEN: 0.75,
|
|
70
|
-
CLEANSING_AURA_NON_HEALER_REGEN: 7,
|
|
71
|
-
THUNDER_DAMAGE_SLOW: 0.65,
|
|
72
|
-
THUNDER_DAMAGE_FAST: 0.65,
|
|
73
|
-
CHANNEL_THE_COVEN_DAMAGE_SLOW: 0.65,
|
|
74
|
-
CHANNEL_THE_COVEN_DAMAGE_FAST: 0.45,
|
|
75
|
-
DEVESTATING_SMASH_DAMAGE: 2.4,
|
|
76
|
-
DEVESTATING_SMASH_SPEED_PENALTY: 2.5,
|
|
77
|
-
CLAN_MOMENTUM_DAMAGE: 2.5
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
const passiveIcons = {
|
|
81
|
-
'sharp_blades': 'https://game-icons.net/1x1/lorc/plain-dagger.html',
|
|
82
|
-
'cloud_of_zen': 'https://game-icons.net/1x1/lorc/meditation.html',
|
|
83
|
-
'frenzy': 'https://game-icons.net/1x1/lorc/totem-head.html',
|
|
84
|
-
'fortify': 'https://game-icons.net/1x1/lorc/crenulated-shield.html',
|
|
85
|
-
'spread_the_fear': 'https://game-icons.net/1x1/lorc/evil-book.html',
|
|
86
|
-
'cleansing_aura': 'https://game-icons.net/1x1/lorc/aura.html',
|
|
87
|
-
'channel_the_coven': 'https://game-icons.net/1x1/lorc/witch-flight.html',
|
|
88
|
-
'clan_momentum': 'https://game-icons.net/1x1/delapouite/bully-minion.html'
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
const debuffIcons = {
|
|
92
|
-
'bleed': 'https://game-icons.net/1x1/lorc/broken-heart.html',
|
|
93
|
-
'stun': 'https://game-icons.net/1x1/sbed/electric.html',
|
|
94
|
-
'fear': 'https://game-icons.net/1x1/lorc/screaming.html'
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
const buffIcons = {
|
|
98
|
-
'taunt': 'https://game-icons.net/1x1/lorc/archery-target.html',
|
|
99
|
-
'power_up_1': 'https://game-icons.net/1x1/lorc/strong.html',
|
|
100
|
-
'power_up_2': 'https://game-icons.net/1x1/delapouite/mighty-force.html'
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
module.exports = {
|
|
104
|
-
PASSIVES,
|
|
105
|
-
DEBUFF_STATUSES,
|
|
106
|
-
BUFF_STATUSES,
|
|
107
|
-
BUFF_MULT_EFFECTS,
|
|
108
|
-
BUFF_FLAT_EFFECTS,
|
|
109
|
-
BUFFS,
|
|
110
|
-
DEBUFF_MULT_EFFECTS,
|
|
111
|
-
DEBUFF_FLAT_EFFECTS,
|
|
112
|
-
DEBUFFS,
|
|
113
|
-
MULTS
|
|
114
|
-
}
|
|
1
|
+
const PASSIVES = ['sharp_blades', 'cloud_of_zen', 'frenzy', 'fortify', 'spread_the_fear', 'cleansing_aura', 'channel_the_coven', 'clan_momentum']
|
|
2
|
+
const DEBUFF_STATUSES = ['bleed', 'stun']
|
|
3
|
+
const BUFF_STATUSES = ['taunt']
|
|
4
|
+
|
|
5
|
+
const BUFF_MULT_EFFECTS = {
|
|
6
|
+
power_up_1: {
|
|
7
|
+
magic: 0.125,
|
|
8
|
+
physical: 0.125
|
|
9
|
+
},
|
|
10
|
+
power_up_2: {
|
|
11
|
+
crit: 0.5,
|
|
12
|
+
magic: 0.425,
|
|
13
|
+
physical: 0.425
|
|
14
|
+
},
|
|
15
|
+
fortify: {
|
|
16
|
+
armor: 0.8
|
|
17
|
+
},
|
|
18
|
+
taunt: {
|
|
19
|
+
armor: 0.4
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
const BUFF_FLAT_EFFECTS = {
|
|
24
|
+
fortify: {
|
|
25
|
+
armor: 60
|
|
26
|
+
},
|
|
27
|
+
frenzy: {
|
|
28
|
+
crit: 16
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
// Combine all buffs
|
|
33
|
+
const BUFFS = [...PASSIVES, ...BUFF_STATUSES, ...Object.keys(BUFF_MULT_EFFECTS), ...Object.keys(BUFF_FLAT_EFFECTS)]
|
|
34
|
+
|
|
35
|
+
const DEBUFF_MULT_EFFECTS = {
|
|
36
|
+
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
const DEBUFF_FLAT_EFFECTS = {
|
|
40
|
+
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
// Combine all debuffs
|
|
44
|
+
const DEBUFFS = [...DEBUFF_STATUSES, ...Object.keys(DEBUFF_MULT_EFFECTS), ...Object.keys(DEBUFF_FLAT_EFFECTS)]
|
|
45
|
+
|
|
46
|
+
const MULTS = {
|
|
47
|
+
FRONT_ROW_PHY_ATK: 1.1,
|
|
48
|
+
FRONT_ROW_PHY_DEF: 0.9,
|
|
49
|
+
EXPIRE_LEADERSKILL: 0,
|
|
50
|
+
SPEED_PENALTY: 2.5,
|
|
51
|
+
MAX_STATUSES: 3,
|
|
52
|
+
CRIT_MULTIPLIER_FAST: 1.8,
|
|
53
|
+
CRIT_MULTIPLIER_SLOW: 1.8,
|
|
54
|
+
FORTIFY_COUNTER_CHANCE: 20,
|
|
55
|
+
COUNTER_CHANCE_MIN: 10,
|
|
56
|
+
COUNTER_DAMAGE: 1.2,
|
|
57
|
+
SHARP_BLADES_BLEED_CHANCE: 0.8,
|
|
58
|
+
BLEED_DAMAGE: 7,
|
|
59
|
+
SPECTRAL_STRIKE_DAMAGE: 1.4,
|
|
60
|
+
CLEAVE_DAMAGE: 0.9,
|
|
61
|
+
CURSE_DAMAGE: 1.5,
|
|
62
|
+
CURSE_SPEED_PENALTY: 0,
|
|
63
|
+
SPREAD_THE_FEAR_CHANCE: 0.9,
|
|
64
|
+
SPREAD_THE_FEAR_SPEED_PENALTY: 0.4,
|
|
65
|
+
BLESSING_HEAL: 4,
|
|
66
|
+
BLESSING_HEAL_SPEED_PENALTY: 0,
|
|
67
|
+
CLEANSING_AURA_HEAL: 6,
|
|
68
|
+
BLESSING_HEAL_CRIT_MULTIPLIER: 1.5,
|
|
69
|
+
CLEANSING_AURA_REGEN: 0.75,
|
|
70
|
+
CLEANSING_AURA_NON_HEALER_REGEN: 7,
|
|
71
|
+
THUNDER_DAMAGE_SLOW: 0.65,
|
|
72
|
+
THUNDER_DAMAGE_FAST: 0.65,
|
|
73
|
+
CHANNEL_THE_COVEN_DAMAGE_SLOW: 0.65,
|
|
74
|
+
CHANNEL_THE_COVEN_DAMAGE_FAST: 0.45,
|
|
75
|
+
DEVESTATING_SMASH_DAMAGE: 2.4,
|
|
76
|
+
DEVESTATING_SMASH_SPEED_PENALTY: 2.5,
|
|
77
|
+
CLAN_MOMENTUM_DAMAGE: 2.5
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
const passiveIcons = {
|
|
81
|
+
'sharp_blades': 'https://game-icons.net/1x1/lorc/plain-dagger.html',
|
|
82
|
+
'cloud_of_zen': 'https://game-icons.net/1x1/lorc/meditation.html',
|
|
83
|
+
'frenzy': 'https://game-icons.net/1x1/lorc/totem-head.html',
|
|
84
|
+
'fortify': 'https://game-icons.net/1x1/lorc/crenulated-shield.html',
|
|
85
|
+
'spread_the_fear': 'https://game-icons.net/1x1/lorc/evil-book.html',
|
|
86
|
+
'cleansing_aura': 'https://game-icons.net/1x1/lorc/aura.html',
|
|
87
|
+
'channel_the_coven': 'https://game-icons.net/1x1/lorc/witch-flight.html',
|
|
88
|
+
'clan_momentum': 'https://game-icons.net/1x1/delapouite/bully-minion.html'
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
const debuffIcons = {
|
|
92
|
+
'bleed': 'https://game-icons.net/1x1/lorc/broken-heart.html',
|
|
93
|
+
'stun': 'https://game-icons.net/1x1/sbed/electric.html',
|
|
94
|
+
'fear': 'https://game-icons.net/1x1/lorc/screaming.html'
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
const buffIcons = {
|
|
98
|
+
'taunt': 'https://game-icons.net/1x1/lorc/archery-target.html',
|
|
99
|
+
'power_up_1': 'https://game-icons.net/1x1/lorc/strong.html',
|
|
100
|
+
'power_up_2': 'https://game-icons.net/1x1/delapouite/mighty-force.html'
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
module.exports = {
|
|
104
|
+
PASSIVES,
|
|
105
|
+
DEBUFF_STATUSES,
|
|
106
|
+
BUFF_STATUSES,
|
|
107
|
+
BUFF_MULT_EFFECTS,
|
|
108
|
+
BUFF_FLAT_EFFECTS,
|
|
109
|
+
BUFFS,
|
|
110
|
+
DEBUFF_MULT_EFFECTS,
|
|
111
|
+
DEBUFF_FLAT_EFFECTS,
|
|
112
|
+
DEBUFFS,
|
|
113
|
+
MULTS
|
|
114
|
+
}
|