diff --git a/src/bot-modules/battle/battle-ai/calc.js b/src/bot-modules/battle/battle-ai/calc.js index 31bb4d3..3819830 100644 --- a/src/bot-modules/battle/battle-ai/calc.js +++ b/src/bot-modules/battle/battle-ai/calc.js @@ -391,6 +391,12 @@ exports.calculate = function (pokeA, pokeB, move, conditionsA, conditionsB, gcon bp = (Math.floor(25 * statsB.spe / statsA.spe) || 1); if (bp > 150) bp = 150; break; + case "snore": + if (pokeA.status !== 'slp') bp = 0; + break; + case "dreameater": + if (pokeB.status !== 'slp') bp = 0; + break; } if (!bp) { diff --git a/src/bot-modules/battle/battle-ai/modules/ingame-nostatus.js b/src/bot-modules/battle/battle-ai/modules/ingame-nostatus.js index 2977b73..ca1d1c2 100644 --- a/src/bot-modules/battle/battle-ai/modules/ingame-nostatus.js +++ b/src/bot-modules/battle/battle-ai/modules/ingame-nostatus.js @@ -31,10 +31,10 @@ exports.id = "ingame-nostatus"; /* * Bad moves for 1v1 */ -const BadMoves = ['focuspunch', 'explosion', 'selfdestruct', 'lastresort', 'dreameater', 'snore']; +const BadMoves = ['focuspunch', 'explosion', 'selfdestruct', 'lastresort', 'futuresight']; /* - * Moves which require 2 turs without any protection + * Moves which require 2 turns without any protection */ const DoubleTurnMoves = ['solarbeam']; diff --git a/src/bot-modules/battle/battle-ai/modules/singles-eff.js b/src/bot-modules/battle/battle-ai/modules/singles-eff.js index 8288c10..aef9e94 100644 --- a/src/bot-modules/battle/battle-ai/modules/singles-eff.js +++ b/src/bot-modules/battle/battle-ai/modules/singles-eff.js @@ -549,6 +549,11 @@ let getViableDamageMoves = exports.getViableDamageMoves = function (battle, deci res.immune.push(decisions[i]); continue; } + } else if (move.id === "futuresight") { + if (battle.self.active[0].volatiles && battle.self.active[0].volatiles['futuresight']) { + res.immune.push(decisions[i]); + continue; + } } res.total++; if (pc >= 100) {