Fix duplicate cases in random set generators

This commit is contained in:
Guangcong Luo
2015-11-07 23:12:04 -06:00
parent a918812201
commit ded9f1cd5d
4 changed files with 19 additions and 22 deletions

View File

@@ -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;

View File

@@ -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,

View File

@@ -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) {

View File

@@ -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;