mirror of
https://github.com/smogon/pokemon-showdown.git
synced 2026-05-21 14:59:50 -05:00
69 lines
2.6 KiB
JavaScript
69 lines
2.6 KiB
JavaScript
'use strict';
|
|
|
|
exports.BattleItems = {
|
|
blueorb: {
|
|
inherit: true,
|
|
onSwitchIn: function (pokemon) {
|
|
if (pokemon.isActive && !pokemon.template.isPrimal) {
|
|
this.insertQueue({pokemon: pokemon, choice: 'runPrimal'});
|
|
}
|
|
},
|
|
onPrimal: function (pokemon) {
|
|
let template = this.getMixedTemplate(pokemon.originalSpecies, 'Kyogre-Primal');
|
|
pokemon.formeChange(template);
|
|
pokemon.baseTemplate = template;
|
|
if (pokemon.originalSpecies === 'Kyogre') {
|
|
pokemon.details = template.species + (pokemon.level === 100 ? '' : ', L' + pokemon.level) + (pokemon.set.shiny ? ', shiny' : '');
|
|
this.add('detailschange', pokemon, pokemon.details);
|
|
} else {
|
|
if (pokemon.illusion) pokemon.ability = '';
|
|
let oTemplate = this.getTemplate(pokemon.illusion || pokemon.originalSpecies);
|
|
this.add('-formechange', pokemon, oTemplate.species);
|
|
this.add('-start', pokemon, 'Blue Orb', '[silent]');
|
|
}
|
|
this.add('-primal', pokemon.illusion || pokemon);
|
|
pokemon.setAbility(template.abilities['0']);
|
|
pokemon.baseAbility = pokemon.ability;
|
|
},
|
|
onTakeItem: function (item) {
|
|
return false;
|
|
},
|
|
},
|
|
redorb: {
|
|
inherit: true,
|
|
onSwitchIn: function (pokemon) {
|
|
if (pokemon.isActive && !pokemon.template.isPrimal) {
|
|
this.insertQueue({pokemon: pokemon, choice: 'runPrimal'});
|
|
}
|
|
},
|
|
onPrimal: function (pokemon) {
|
|
let template = this.getMixedTemplate(pokemon.originalSpecies, 'Groudon-Primal');
|
|
pokemon.formeChange(template);
|
|
pokemon.baseTemplate = template;
|
|
if (pokemon.originalSpecies === 'Groudon') {
|
|
pokemon.details = template.species + (pokemon.level === 100 ? '' : ', L' + pokemon.level) + (pokemon.set.shiny ? ', shiny' : '');
|
|
this.add('detailschange', pokemon, pokemon.details);
|
|
} else {
|
|
let oTemplate = this.getTemplate(pokemon.illusion || pokemon.originalSpecies);
|
|
this.add('-formechange', pokemon, oTemplate.species);
|
|
this.add('-start', pokemon, 'Red Orb', '[silent]');
|
|
if (pokemon.illusion) {
|
|
pokemon.ability = '';
|
|
let types = pokemon.illusion.template.types;
|
|
if (types.length > 1 || types[types.length - 1] !== 'Fire') {
|
|
this.add('-start', pokemon, 'typechange', (types[0] !== 'Fire' ? types[0] + '/' : '') + 'Fire', '[silent]');
|
|
}
|
|
} else if (oTemplate.types.length !== pokemon.template.types.length || oTemplate.types[1] !== pokemon.template.types[1]) {
|
|
this.add('-start', pokemon, 'typechange', pokemon.template.types.join('/'), '[silent]');
|
|
}
|
|
}
|
|
this.add('-primal', pokemon.illusion || pokemon);
|
|
pokemon.setAbility(template.abilities['0']);
|
|
pokemon.baseAbility = pokemon.ability;
|
|
},
|
|
onTakeItem: function (item) {
|
|
return false;
|
|
},
|
|
},
|
|
};
|