From ded9f1cd5dbf34bc7e36febff034f5d60cb748a0 Mon Sep 17 00:00:00 2001 From: Guangcong Luo Date: Sat, 7 Nov 2015 23:12:04 -0600 Subject: [PATCH] Fix duplicate cases in random set generators --- data/scripts.js | 24 ++++++++++++------------ dev-tools/eslint/config-base.js | 2 +- mods/gen2/scripts.js | 3 --- mods/gen5/scripts.js | 12 ++++++------ 4 files changed, 19 insertions(+), 22 deletions(-) diff --git a/data/scripts.js b/data/scripts.js index d8760497ca..94900f2bbf 100644 --- a/data/scripts.js +++ b/data/scripts.js @@ -1242,13 +1242,16 @@ exports.BattleScripts = { case 'fakeout': if (counter.setupType || hasMove['substitute'] || hasMove['switcheroo'] || hasMove['trick']) rejected = true; break; - case 'foulplay': case 'superfang': + case 'superfang': if (counter.setupType) rejected = true; - if (moveid !== 'foulplay') break; - /* falls through */ + break; case 'haze': case 'healingwish': case 'pursuit': case 'spikes': case 'toxicspikes': case 'waterspout': if (counter.setupType || !!counter['speedsetup'] || (hasMove['rest'] && hasMove['sleeptalk'])) rejected = true; break; + case 'foulplay': + if (counter.setupType || !!counter['speedsetup'] || (hasMove['rest'] && hasMove['sleeptalk'])) rejected = true; + if (hasMove['darkpulse'] || hasMove['knockoff']) rejected = true; + break; case 'healbell': if (!!counter['speedsetup']) rejected = true; break; @@ -1291,9 +1294,6 @@ exports.BattleScripts = { case 'darkpulse': if (hasMove['crunch'] && counter.setupType !== 'Special') rejected = true; break; - case 'foulplay': - if (hasMove['darkpulse'] || hasMove['knockoff']) rejected = true; - break; case 'suckerpunch': if ((hasMove['crunch'] || hasMove['darkpulse']) && (hasMove['knockoff'] || hasMove['pursuit'])) rejected = true; if (!counter.setupType && hasMove['foulplay'] && (hasMove['darkpulse'] || hasMove['pursuit'])) rejected = true; @@ -2500,13 +2500,16 @@ exports.BattleScripts = { case 'seismictoss': case 'nightshade': case 'superfang': if (counter.setupType) rejected = true; break; - case 'rapidspin': case 'perishsong': case 'magiccoat': case 'spikes': case 'toxicspikes': + case 'rapidspin': case 'magiccoat': case 'spikes': case 'toxicspikes': if (counter.setupType) rejected = true; - if (moveid !== 'perishsong') break; - /* falls through */ + break; case 'uturn': case 'voltswitch': if (counter.setupType || hasMove['agility'] || hasMove['rockpolish'] || hasMove['magnetrise']) rejected = true; break; + case 'perishsong': + if (hasMove['roar'] || hasMove['whirlwind'] || hasMove['haze']) rejected = true; + if (counter.setupType || hasMove['agility'] || hasMove['rockpolish'] || hasMove['magnetrise']) rejected = true; + break; case 'relicsong': if (counter.setupType) rejected = true; break; @@ -2649,9 +2652,6 @@ exports.BattleScripts = { case 'softboiled': case 'roost': if (hasMove['wish'] || hasMove['recover']) rejected = true; break; - case 'perishsong': - if (hasMove['roar'] || hasMove['whirlwind'] || hasMove['haze']) rejected = true; - break; case 'roar': // Whirlwind outclasses Roar because Soundproof if (hasMove['whirlwind'] || hasMove['dragontail'] || hasMove['haze'] || hasMove['circlethrow']) rejected = true; diff --git a/dev-tools/eslint/config-base.js b/dev-tools/eslint/config-base.js index 49bf3bf8d5..7f8817c2f3 100644 --- a/dev-tools/eslint/config-base.js +++ b/dev-tools/eslint/config-base.js @@ -19,7 +19,7 @@ module.exports = { "no-debugger": 2, "no-dupe-args": 2, "no-dupe-keys": 2, - "no-duplicate-case": 1, + "no-duplicate-case": 2, "no-empty-character-class": 2, "no-empty": 0, "no-ex-assign": 2, diff --git a/mods/gen2/scripts.js b/mods/gen2/scripts.js index fcefe42d15..f4d68ab41a 100644 --- a/mods/gen2/scripts.js +++ b/mods/gen2/scripts.js @@ -780,9 +780,6 @@ exports.BattleScripts = { case 'toxic': if (hasMove['sleeppowder'] || hasMove['stunspore'] || counter['Status'] > 1) rejected = true; break; - case 'rest': - if (hasMove['roar']) rejected = true; - break; } // End of switch for moveid } if (rejected && movePool.length) { diff --git a/mods/gen5/scripts.js b/mods/gen5/scripts.js index 3380c1c448..46ce91d9bb 100644 --- a/mods/gen5/scripts.js +++ b/mods/gen5/scripts.js @@ -225,13 +225,16 @@ exports.BattleScripts = { case 'seismictoss': case 'nightshade': case 'superfang': if (setupType) rejected = true; break; - case 'knockoff': case 'perishsong': case 'magiccoat': case 'spikes': + case 'knockoff': case 'magiccoat': case 'spikes': if (setupType) rejected = true; - if (moveid !== 'perishsong') break; - /* falls through */ + break; case 'uturn': case 'voltswitch': if (setupType || hasMove['agility'] || hasMove['rockpolish'] || hasMove['magnetrise']) rejected = true; break; + case 'perishsong': + if (setupType || hasMove['agility'] || hasMove['rockpolish'] || hasMove['magnetrise']) rejected = true; + if (hasMove['roar'] || hasMove['whirlwind'] || hasMove['haze']) rejected = true; + break; case 'relicsong': if (setupType) rejected = true; break; @@ -343,9 +346,6 @@ exports.BattleScripts = { case 'softboiled': case 'roost': if (hasMove['wish'] || hasMove['recover']) rejected = true; break; - case 'perishsong': - if (hasMove['roar'] || hasMove['whirlwind'] || hasMove['haze']) rejected = true; - break; case 'roar': // Whirlwind outclasses Roar because Soundproof if (hasMove['whirlwind'] || hasMove['dragontail'] || hasMove['haze'] || hasMove['circlethrow']) rejected = true;