mirror of
https://github.com/smogon/pokemon-showdown.git
synced 2026-09-11 18:55:38 -05:00
Fix duplicate cases in random set generators
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user