Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* config/formats.js */
- {
- name: "Mega REvolution",
- mod: 'megarevolution',
- ruleset: ['OU'],
- validateSet: function (set) {
- var template = this.getTemplate(set.species);
- var item = this.getItem(set.item);
- if (item.megaStone) {
- if (template.baseStats && template.baseStats.hp > 110) {
- return ["" + (set.species || set.name) + " can't hold a Mega Stone as it has more than 110 base HP."];
- }
- if (template.species === 'Smeargle') return ["Smeargle can't hold a Mega Stone."];
- var megaTemplate = this.getTemplate(item.megaStone);
- if (megaTemplate.baseSpecies !== template.species) {
- var megaAbility = toId(megaTemplate.abilities['0']);
- if (megaAbility in {'aerilate':1, 'pixilate':1, 'refrigerate':1}) return ["" + item.name + " can only be held by its rightful owner."];
- }
- }
- }
- }
- /* mods/megarevolution/scripts.js */
- exports.BattleScripts = {
- init: function () {
- var onTakeMegaStone = function (item, source) {
- return false;
- };
- for (var id in this.data.Items) {
- if (!this.data.Items[id].megaStone) continue;
- this.modData('Items', id).onTakeItem = onTakeMegaStone;
- }
- },
- canMegaEvo: function (pokemon) {
- var altForme = pokemon.baseTemplate.otherFormes && this.getTemplate(pokemon.baseTemplate.otherFormes[0]);
- if (altForme && altForme.isMega && altForme.requiredMove && pokemon.set.moves.indexOf(toId(altForme.requiredMove)) > -1) return altForme.species;
- var item = pokemon.getItem();
- if (item.megaStone === pokemon.species) return false;
- return item.megaStone;
- }
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement