Skip to content

Commit

Permalink
Seasonal: balance patch
Browse files Browse the repository at this point in the history
Nerf slightly spread moves.
Make all Pokémon more resilient to damage.
Add EVs to make each Pokémon flavour unique to its character.
Randomise damage slightly more.
Eliminate all immunities.
  • Loading branch information
Joimer committed May 5, 2015
1 parent ce3e678 commit a924acd
Show file tree
Hide file tree
Showing 3 changed files with 53 additions and 47 deletions.
4 changes: 2 additions & 2 deletions chat-plugins/info.js
Expand Up @@ -2155,11 +2155,11 @@ var commands = exports.commands = {
break;
case 'hurricane':
case 'aircutter':
buffer += '<ul class="utilichart"><li class="result"><a data-name="Hurricane"><span class="col movenamecol">Hurricane</span> <span class="col typecol"></span> <span class="col labelcol"><em>Power</em><br />25%</span> <span class="col widelabelcol"></span> <span class="col pplabelcol"></span> <span class="col movedesccol">Damage all adjacent foes.</span> </a></li><li style="clear:both"></li></ul>';
buffer += '<ul class="utilichart"><li class="result"><a data-name="Hurricane"><span class="col movenamecol">Hurricane</span> <span class="col typecol"></span> <span class="col labelcol"><em>Power</em><br />20%</span> <span class="col widelabelcol"></span> <span class="col pplabelcol"></span> <span class="col movedesccol">Damage all adjacent foes.</span> </a></li><li style="clear:both"></li></ul>';
break;
case 'storm':
case 'muddywater':
buffer += '<ul class="utilichart"><li class="result"><a data-name="Storm"><span class="col movenamecol">Storm</span> <span class="col typecol"></span> <span class="col labelcol"><em>Power</em><br />25%</span> <span class="col widelabelcol"></span> <span class="col pplabelcol"></span> <span class="col movedesccol">Damage all adjacent foes.</span> </a></li><li style="clear:both"></li></ul>';
buffer += '<ul class="utilichart"><li class="result"><a data-name="Storm"><span class="col movenamecol">Storm</span> <span class="col typecol"></span> <span class="col labelcol"><em>Power</em><br />20%</span> <span class="col widelabelcol"></span> <span class="col pplabelcol"></span> <span class="col movedesccol">Damage all adjacent foes.</span> </a></li><li style="clear:both"></li></ul>';
break;
case 'fury':
case 'furyswipes':
Expand Down
5 changes: 3 additions & 2 deletions mods/seasonal/moves.js
Expand Up @@ -549,7 +549,7 @@ exports.BattleMovedex = {
aircutter: {
num: -24,
accuracy: 100,
basePower: 25,
basePower: 20,
category: "Special",
id: "aircutter",
isViable: true,
Expand All @@ -564,7 +564,7 @@ exports.BattleMovedex = {
muddywater: {
num: -25,
accuracy: 100,
basePower: 25,
basePower: 20,
category: "Special",
id: "muddywater",
isViable: true,
Expand Down Expand Up @@ -602,6 +602,7 @@ exports.BattleMovedex = {
},
onHit: function (target, source) {
source.addVolatile('disable');
source.addVolatile('furycharge');
},
target: "normal",
type: "Fighting"
Expand Down
91 changes: 48 additions & 43 deletions mods/seasonal/scripts.js
@@ -1,9 +1,9 @@
exports.BattleScripts = {
init: function () {
var tankStats = {hp:90, atk:30, def:120, spa:130, spd:120, spe:50};
var healerStats = {hp:50, atk:10, def:100, spa:80, spd:100, spe:10};
var supportStats = {hp:75, atk:50, def:80, spa:50, spd:80, spe:100};
var dpsStats = {hp:65, atk:130, def:60, spa:130, spd:60, spe:150};
var healerStats = {hp:50, atk:10, def:95, spa:80, spd:95, spe:10};
var supportStats = {hp:75, atk:50, def:90, spa:50, spd:90, spe:100};
var dpsStats = {hp:65, atk:130, def:85, spa:130, spd:85, spe:150};
// Modify tanks
this.modData('Pokedex', 'registeel').baseStats = tankStats;
this.modData('Pokedex', 'golurk').baseStats = tankStats;
Expand Down Expand Up @@ -74,44 +74,44 @@ exports.BattleScripts = {
}
var pool = [healers[0], tanks[0], dps[0], supports[0], dps[1], supports[1]];
var sets = {
'Amy': {species: 'Jynx', role: 'healer'},
'Princess Leia': {species: 'Gardevoir', gender: 'F', role: 'healer'},
'Scruffy': {species: 'Alakazam', gender: 'M', role: 'healer'},
'Yoda': {species: 'Celebi', gender: 'M', role: 'healer'},
'Bender': {species: 'Registeel', gender: 'M', role: 'tank'},
'Gurren Lagann': {species: 'Golurk', gender: 'N', role: 'tank'},
'Lagann': {species: 'Golett', gender: 'N', role: 'tank'},
'Rei Ayanami': {species: 'Palkia', gender: 'F', role: 'tank'},
'Slurms McKenzie': {species: 'Slugma', gender: 'M', role: 'tank'},
'C3PO': {species: 'Regirock', gender: 'N', role: 'support'},
'Hermes': {species: 'Scrafty', gender: 'M', role: 'support'},
'Professor Farnsworth': {species: 'Mr. Mime', gender: 'M', role: 'support'},
'Kif': {species: 'Elgyem', gender: 'N', role: 'support'},
'Jar Jar Binks': {species: 'Heliolisk', gender: 'N', role: 'support'},
'R2D2': {species: 'Regigigas', gender: 'N', role: 'support'},
'Asuka Langley': {species: 'Groudon', gender: 'F', role: 'dps'},
'Chewy': {species: 'Ursaring', gender: 'N', role: 'dps'},
'Fry': {species: 'Magmar', gender: 'M', role: 'dps'},
'Han Solo': {species: 'Sawk', gender: 'M', role: 'dps'},
'Leela': {species: 'Hitmonlee', gender: 'F', role: 'dps'},
'Luke Skywalker': {species: 'Throh', gender: 'M', role: 'dps'},
'Nibbler': {species: 'Monferno', gender: 'N', role: 'dps'},
'Shinji Ikari': {species: 'Dialga', gender: 'F', role: 'dps'},
'Zoidberg': {species: 'Clawitzer', gender: 'M', role: 'dps', shiny: true},
'Anti-Spiral': {species: 'Bisharp', gender: 'N', role: 'healer'},
'Gendo Ikari': {species: 'Machoke', gender: 'M', role: 'healer'},
'Kaworu Nagisa': {species: 'Treecko', gender: 'N', role: 'healer'},
'Jabba the Hut': {species: 'Snorlax', gender: 'N', role: 'tank'},
'Lilith': {species: 'Xerneas', gender: 'F', role: 'tank'},
'Lrrr': {species: 'Muk', gender: 'M', role: 'tank'},
'Mommy': {species: 'Gothitelle', gender: 'F', role: 'tank'},
'Bobba Fett': {species: 'Genesect', gender: 'M', role: 'support'},
'Zapp Brannigan': {species: 'Delphox', gender: 'M', role: 'support'},
'An angel': {species: 'Yveltal', gender: 'N', role: 'dps'},
'Darth Vader': {species: 'Dusknoir', gender: 'M', role: 'dps'},
'Emperor Palpatine': {species: 'Cofagrigus', gender: 'M', role: 'dps'},
'Fender': {species: 'Toxicroak', gender: 'M', role: 'dps'},
'Storm Trooper': {species: 'Raticate', gender: 'M', role: 'dps'}
'Amy': {species: 'Jynx', role: 'healer', evs: {spa:200, def:252, spd:56}},
'Princess Leia': {species: 'Gardevoir', gender: 'F', role: 'healer', evs: {spa:200, def:200, spd:56, spe:52}},
'Scruffy': {species: 'Alakazam', gender: 'M', role: 'healer', evs: {spa:4, def:248, spd:248, spe: 8}},
'Yoda': {species: 'Celebi', gender: 'M', role: 'healer', evs: {spa:184, def:56, spd:252, spe:16}},
'Bender': {species: 'Registeel', gender: 'M', role: 'tank', evs: {hp:252, def:248, spd:4, spe:4}},
'Gurren Lagann': {species: 'Golurk', gender: 'N', role: 'tank', evs: {spa:4, def:232, spd:4, spe:20}},
'Lagann': {species: 'Golett', gender: 'N', role: 'tank', evs: {hp:236, def:128, spd:128, spe:16}},
'Rei Ayanami': {species: 'Palkia', gender: 'F', role: 'tank', evs: {hp:200, def:154, spd:130, spe:24}},
'Slurms McKenzie': {species: 'Slugma', gender: 'M', role: 'tank', evs: {hp:100, def:204, spd:204}},
'C3PO': {species: 'Regirock', gender: 'N', role: 'support', evs: {hp:252, def:248, spd:4, spe:4}},
'Hermes': {species: 'Scrafty', gender: 'M', role: 'support', evs: {hp:252, def:152, spd:4, spe:100}},
'Professor Farnsworth': {species: 'Mr. Mime', gender: 'M', role: 'support', evs: {hp:4, def:252, spd:252}},
'Kif': {species: 'Elgyem', gender: 'N', role: 'support', evs: {hp:252, def:248, spd:4, spe:4}},
'Jar Jar Binks': {species: 'Heliolisk', gender: 'N', role: 'support', evs: {hp:4, def:152, spd:252, spe:100}},
'R2D2': {species: 'Regigigas', gender: 'N', role: 'support', evs: {hp:252, def:208, spd:4, spe:44}},
'Asuka Langley': {species: 'Groudon', gender: 'F', role: 'dps', evs: {spa:104, atk:252, spe:152}},
'Chewy': {species: 'Ursaring', gender: 'N', role: 'dps', evs: {spa:252, atk:252, spe:4}},
'Fry': {species: 'Magmar', gender: 'M', role: 'dps', evs: {spa:252, atk:236, spe:20}},
'Han Solo': {species: 'Sawk', gender: 'M', role: 'dps', evs: {spa:180, atk:224, spe:104}},
'Leela': {species: 'Hitmonlee', gender: 'F', role: 'dps', evs: {spa:128, atk:132, spe:248}},
'Luke Skywalker': {species: 'Throh', gender: 'M', role: 'dps', evs: {spa:252, atk:176, spe:80}},
'Nibbler': {species: 'Monferno', gender: 'N', role: 'dps', evs: {spa:248, atk:252, spe:8}},
'Shinji Ikari': {species: 'Dialga', gender: 'F', role: 'dps', evs: {spa:4, atk:252, spe:252}},
'Zoidberg': {species: 'Clawitzer', gender: 'M', role: 'dps', shiny: true, evs: {spa:184, atk:184, spe:140}},
'Anti-Spiral': {species: 'Bisharp', gender: 'N', role: 'healer', evs: {spa:56, def:200, spd:200, spe:52}},
'Gendo Ikari': {species: 'Machoke', gender: 'M', role: 'healer', evs: {spa:252, def:128, spd:120, spe:8}},
'Kaworu Nagisa': {species: 'Treecko', gender: 'N', role: 'healer', evs: {spa:4, def:236, spd:252, spe:16}},
'Jabba the Hut': {species: 'Snorlax', gender: 'N', role: 'tank', evs: {hp:252, def:248, spd:4, spe:4}},
'Lilith': {species: 'Xerneas', gender: 'F', role: 'tank', evs: {hp:236, def:4, spd:252, spe:16}},
'Lrrr': {species: 'Muk', gender: 'M', role: 'tank', evs: {hp:232, def:128, spd:128, spe:20}},
'Mommy': {species: 'Gothitelle', gender: 'F', role: 'tank', evs: {hp:100, def:200, spd:184, spe:24}},
'Bobba Fett': {species: 'Genesect', gender: 'M', role: 'support', evs: {hp:252, def:100, spd:56, spe:96}},
'Zapp Brannigan': {species: 'Delphox', gender: 'M', role: 'support', evs: {hp:252, def:56, spd:176, spe:20}},
'An angel': {species: 'Yveltal', gender: 'N', role: 'dps', evs: {spa:252, atk:8, spe:248}},
'Darth Vader': {species: 'Dusknoir', gender: 'M', role: 'dps', evs: {spa:252, atk:156, spe:100}},
'Emperor Palpatine': {species: 'Cofagrigus', gender: 'M', role: 'dps', evs: {spa:252, atk:208, spe:48}},
'Fender': {species: 'Toxicroak', gender: 'M', role: 'dps', evs: {spa:252, atk:252, spe:4}},
'Storm Trooper': {species: 'Raticate', gender: 'M', role: 'dps', evs: {spa:248, atk:252, spe:8}}
};
var movesets = {
'healer': [
Expand Down Expand Up @@ -150,6 +150,11 @@ exports.BattleScripts = {

return team;
},
pokemon: {
runImmunity: function (type, message) {
return true;
}
},
getDamage: function (pokemon, target, move, suppressMessages) {
if (typeof move === 'string') move = this.getMove(move);

Expand Down Expand Up @@ -218,10 +223,10 @@ exports.BattleScripts = {
var baseDamage = Math.floor(pokemon.maxhp * basePower / 100);

// Now this is varied by stats slightly.
baseDamage += Math.floor(baseDamage * (attack - defense * 0.9) / 100);
baseDamage += Math.floor(baseDamage * (attack - defense) / 100);

// Randomizer. Doesn't change much.
baseDamage = Math.floor(baseDamage * (95 + this.random(6)) / 100);
baseDamage = Math.floor(baseDamage * (90 + this.random(11)) / 100);

if (pokemon.volatiles['chilled']) {
baseDamage = Math.floor(baseDamage * 0.9);
Expand Down

0 comments on commit a924acd

Please sign in to comment.