Fred (pokemon lab bot) source
Would you like to react to this message? Create an account in a few clicks or log in to continue.


Full source of "Fred". To run these files, you must have python 2.7. Copy the source to notepad/python and save as ~(you can't change the name without changing the source).py. But please, we don't need 5 bots.
 
HomeLatest imagesSearchRegisterLog in

 

 -Moves.xml-(another huge post)

Go down 
AuthorMessage
Admin
Admin



Posts : 22
Join date : 2011-09-21

-Moves.xml-(another huge post) Empty
PostSubject: -Moves.xml-(another huge post)   -Moves.xml-(another huge post) EmptyWed Sep 21, 2011 8:16 pm

-C-h-a-n-g-e-s--------------------
--(Code writer in source) Pulled source from http://trac.poke-lab.com/browser
-------------------------------------
-S-o-u-r-c-e-----------------------

Code:
<!--
  File:  moves.xml
  Author: Catherine

  Created on April 6 2009, 6:37 AM

  This file is a part of Shoddy Battle.
  Copyright (C) 2009  Catherine Fitzpatrick

  This program is free software; you can redistribute it and/or
  modify it under the terms of the GNU Affero General Public License
  as published by the Free Software Foundation; either version 3
  of the License, or (at your option) any later version.

  This program is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  GNU Affero General Public License for more details.

  You should have received a copy of the GNU Affero General Public License
  along with this program; if not, visit the Free Software Foundation, Inc.
  online at http://gnu.org.
-->

<shoddybattle>

<move name="Absorb" id="0">
<type>Grass</type>
<class>Special</class>
<power>20</power>
<accuracy>1.00</accuracy>
<pp>25</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeRecoilMove(this, -2);
]]>
</init>
</move>

<move name="Acid" id="1">
<type>Poison</type>
<class>Special</class>
<power>40</power>
<accuracy>1.00</accuracy>
<pp>30</pp>
<target>Enemies</target>
<flags>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[new StatChangeEffect(Stat.SPDEFENCE, -1), 0.1]]);
]]>
</init>
</move>

<move name="Acid Armor" id="2">
<type>Poison</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>40</pp>
<target>User</target>
<flags>
    <snatch/>
</flags>
<use>
<![CDATA[
user.applyStatus(user, new StatChangeEffect(Stat.DEFENCE, 2));
]]>
</use>
</move>

<move name="Acupressure" id="3">
<type>Normal</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>30</pp>
<target>User or ally</target>
<flags>
    <snatch/>
</flags>
<use>
<![CDATA[
var stats = [];
for (var i = 1; i < 8; ++i) {
    if (target.getStatLevel(i) < 6) {
        stats.push(i);
    }
}
var length = stats.length;
if (length == 0) {
    field.print(Text.battle_messages(0));
    return;
}
var stat = stats[field.random(0, length - 1)];
target.applyStatus(user, new StatChangeEffect(stat, 2));
]]>
</use>
</move>

<move name="Aerial Ace" id="4">
<type>Flying</type>
<class>Physical</class>
<power>60</power>
<accuracy>0</accuracy>
<pp>20</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
</move>

<move name="Aeroblast" id="5">
<type>Flying</type>
<class>Special</class>
<power>100</power>
<accuracy>0.95</accuracy>
<pp>5</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
    <flinch/>
    <high-critical/>
</flags>
</move>

<move name="Agility" id="6">
<type>Psychic</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>30</pp>
<target>User</target>
<flags>
    <snatch/>
</flags>
<use>
<![CDATA[
user.applyStatus(user, new StatChangeEffect(Stat.SPEED, 2));
]]>
</use>
</move>

<move name="Air Cutter" id="7">
<type>Flying</type>
<class>Special</class>
<power>55</power>
<accuracy>0.95</accuracy>
<pp>25</pp>
<target>Enemies</target>
<flags>
    <protect/>
    <memorable/>
    <flinch/>
    <high-critical/>
</flags>
</move>

<move name="Air Slash" id="8">
<type>Flying</type>
<class>Special</class>
<power>75</power>
<accuracy>0.95</accuracy>
<pp>20</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[FlinchEffect, 0.3]]);
]]>
</init>
</move>

<move name="Amnesia" id="9">
<type>Psychic</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>20</pp>
<target>User</target>
<flags>
    <snatch/>
</flags>
<use>
<![CDATA[
user.applyStatus(user, new StatChangeEffect(Stat.SPDEFENCE, 2));
]]>
</use>
</move>

<move name="AncientPower" id="10">
<type>Rock</type>
<class>Special</class>
<power>60</power>
<accuracy>1.00</accuracy>
<pp>5</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeAllStatBoostMove(this);
]]>
</init>
</move>

<move name="Aqua Jet" id="11">
<type>Water</type>
<class>Physical</class>
<priority>1</priority>
<power>40</power>
<accuracy>1.00</accuracy>
<pp>20</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
</move>

<move name="Aqua Ring" id="12">
<type>Water</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>20</pp>
<target>User</target>
<flags>

</flags>
<use>
<![CDATA[
if (user.getStatus("AquaRingEffect")) {
    field.print(Text.battle_messages(0));
    return;
}
var move_ = this;
var effect = new StatusEffect("AquaRingEffect");
effect.tier = 6;
effect.subtier = 1;
effect.tick = function() {
    var max = this.subject.getStat(Stat.HP);
    if (this.subject.hp == max)
        return;
    var delta = Math.floor(max / 16);
    if (this.subject.sendMessage("informRecoilDamage", -delta, move_))
        return;
    var adjusted = this.subject.sendMessage("informAbsorbHealth",
            this.subject, delta);
    if (adjusted) {
        delta = adjusted;
    }
    field.print(Text.battle_messages_unique(56, this.subject, move_));
    this.subject.hp += delta;
};
user.applyStatus(user, effect);
]]>
</use>
</move>

<move name="Aqua Tail" id="13">
<type>Water</type>
<class>Physical</class>
<power>90</power>
<accuracy>0.90</accuracy>
<pp>10</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
</move>

<move name="Arm Thrust" id="14">
<type>Fighting</type>
<class>Physical</class>
<power>15</power>
<accuracy>1.00</accuracy>
<pp>20</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makeMultipleHitMove(this);
]]>
</init>
</move>

<move name="Aromatherapy" id="15">
<type>Grass</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>5</pp>
<target>Allies</target>
<flags>
    <snatch/>
</flags>
<init>
<![CDATA[
makeStatusCureMove(this);
]]>
</init>
</move>

<move name="Assist" id="16">
<type>Normal</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>20</pp>
<target>None</target>
<flags>

</flags>
<init>
<![CDATA[
this.forbidden_ = ["Metronome", "Struggle", "Sketch", "Mimic", "Chatter",
                  "Sleep Talk", "Assist", "Mirror Move", "Counter",
                  "Mirror Coat", "Protect", "Detect", "Endure",
                  "Destiny Bond", "Thief", "Follow Me", "Snatch",
                  "Helping Hand", "Covet", "Trick", "Focus Punch", "Feint",
                  "Copycat", "Me First", "Switcheroo"];
]]>
</init>
<use>
<![CDATA[
var choices = [];
var size = field.getPartySize(user.party);
for (var i = 0; i < size; ++i) {
    var p = field.getPokemon(user.party, i);
    if (p == user)
        continue;
    for (var j = 0; j < p.moveCount; ++j) {
        var move = p.getMove(j);
        if (this.forbidden_.indexOf(move.name) == -1) {
            choices.push(move);
        }
    }
}
var length = choices.length;
if (length == 0) {
    field.print(Text.battle_messages(0));
    return;
}
var choice = choices[field.random(0, length - 1)];
user.execute(choice);
]]>
</use>
</move>

<move name="Assurance" id="17">
<type>Dark</type>
<class>Physical</class>
<power>50</power>
<accuracy>1.00</accuracy>
<pp>10</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
this.power_ = this.power;
]]>
</init>
<use>
<![CDATA[
this.power = this.power_;
if (target.damaged) {
    this.power *= 2;
}
target.hp -= field.calculate(this, user, target, targets);
]]>
</use>
</move>

<move name="Astonish" id="18">
<type>Ghost</type>
<class>Physical</class>
<power>30</power>
<accuracy>1.00</accuracy>
<pp>15</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[FlinchEffect, 0.3]]);
]]>
</init>
</move>

<move name="Attack Order" id="19">
<type>Bug</type>
<class>Physical</class>
<power>90</power>
<accuracy>1.00</accuracy>
<pp>15</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
    <flinch/>
    <high-critical/>
</flags>
</move>

<move name="Attract" id="20">
<type>Normal</type>
<class>Other</class>
<power>0</power>
<accuracy>1.00</accuracy>
<pp>15</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <reflect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[AttractEffect]]);
]]>
</init>
</move>

<move name="Aura Sphere" id="21">
<type>Fighting</type>
<class>Special</class>
<power>90</power>
<accuracy>0</accuracy>
<pp>20</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
</move>

<move name="Aurora Beam" id="22">
<type>Ice</type>
<class>Special</class>
<power>65</power>
<accuracy>1.00</accuracy>
<pp>20</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[new StatChangeEffect(Stat.ATTACK, -1), 0.1]]);
]]>
</init>
</move>

<move name="Avalanche" id="23">
<type>Ice</type>
<class>Physical</class>
<priority>-4</priority>
<power>60</power>
<accuracy>1.00</accuracy>
<pp>10</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makeRevengeMove(this);
]]>
</init>
</move>

<move name="Barrage" id="24">
<type>Normal</type>
<class>Physical</class>
<power>15</power>
<accuracy>0.85</accuracy>
<pp>20</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makeMultipleHitMove(this);
]]>
</init>
</move>

<move name="Barrier" id="25">
<type>Psychic</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>30</pp>
<target>User</target>
<flags>
    <snatch/>
</flags>
<use>
<![CDATA[
user.applyStatus(user, new StatChangeEffect(Stat.DEFENCE, 2));
]]>
</use>
</move>

<move name="Baton Pass" id="26">
<type>Normal</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>40</pp>
<target>User</target>
<flags>

</flags>
<init>
<![CDATA[
this.effects_ = ["AquaRingEffect", "TrappingEffect", "ConfusionEffect",
                "CurseEffect", "EmbargoEffect", "HighCriticalEffect",
                "GastroAcidEffect", "IngrainEffect", "LeechSeedEffect",
                "LockOnEffect", "MagnetRiseEffect", "PerishSongEffect",
                "PowerTrickEffect", "SubstituteEffect"];
]]>
</init>
<use>
<![CDATA[
var selection = field.requestInactivePokemon(user);
if (!selection) {
    field.print(Text.battle_messages(0));
    return;
}
for (var i = 0; i <= Stat.EVASION; ++i) {
    var level = user.getStatLevel(i);
    if (level != 0) {
        var effect = new StatChangeEffect(i, level);
        effect.silent = true;
        selection.applyStatus(selection, effect);
    }
}
this.effects_.forEach(function(i) {
    var effect = user.getStatus(i);
    if (effect) {
        field.narration = false;
        selection.applyStatus(selection, effect);
        field.narration = true;
    }
});
field.sendMessage("informBatonPass", user);
var slot = user.position;
user.switchOut();
selection.sendOut(slot);
]]>
</use>
</move>

<move name="Beat Up" id="27">
<type>Dark</type>
<class>Physical</class>
<power>10</power>
<accuracy>1.00</accuracy>
<pp>10</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
this.power_ = this.power;
]]>
</init>
<use>
<![CDATA[
this.power = this.power_;
if (user.getStatus("HelpingHandEffect")) {
    this.power *= 1.5;
}
var defence = target.base[Stat.DEFENCE];
var size = field.getPartySize(user.party);
for (var i = 0; i < size; ++i) {
    var p = field.getPokemon(user.party, i);
    if (p.fainted || p.getStatus(StatusEffect.SPECIAL_EFFECT))
        continue;
    // TODO: There needs to some function to inform the client about the other
    //      pokemon in the user of Beat Up's party.
    field.print(Text.battle_messages_unique(7, p)); // TODO (!)
    var damage = Math.floor(Math.floor((Math.floor(p.level * 2 / 5) + 2)
            * this.power * p.base[Stat.ATTACK] / 50) / defence) + 2;
    if (field.isCriticalHit(this, user, target)) {
        damage *= user.sendMessage("informCritical") || 2;
        field.print(Text.battle_messages(9));
        target.sendMessage("informCriticalHit");
    }
    damage = Math.floor(damage * Math.floor(field.random(217, 255)
            * 100 / 255) / 100);
    target.hp -= damage;
}
]]>
</use>
</move>

<move name="Belly Drum" id="28">
<type>Normal</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>10</pp>
<target>User</target>
<flags>
    <snatch/>
</flags>
<use>
<![CDATA[
var delta = Math.floor(user.getStat(Stat.HP) / 2);
if ((delta >= user.hp) || (user.getStatLevel(Stat.ATTACK) == 6)) {
    field.print(Text.battle_messages(0));
    return;
}
user.sendMessage("forceDirectDamage");
user.hp -= delta;
var effect = new StatChangeEffect(Stat.ATTACK, 12);
http://effect.silent = true;
user.applyStatus(user, effect);
// TODO: Belly Drum-specific message?
]]>
</use>
</move>

<move name="Bide" id="29">
<type>Normal</type>
<class>Physical</class>
<priority>1</priority>
<power>1</power>
<accuracy>0</accuracy>
<pp>10</pp>
<target>User</target>
<flags>
    <contact/>
    <protect/>
    <flinch/>
</flags>
<use>
<![CDATA[
var effect = user.getStatus("BideEffect");
if (!effect) {
    effect = new StatusEffect("BideEffect");
    effect.name = Text.battle_messages_unique(103);
    effect.turns_ = 3;
    effect.damage = 0;
    effect.vetoSwitch = function(subject) {
        return (subject == this.subject);
    };
    effect.unapplyEffect = function() {
        this.subject.clearForcedMove();
    };
    effect.informFreeze = effect.informSleep = function() {
        this.subject.removeStatus(this);
    };
    effect.informFinishedSubjectExecution = function() {
        if (!this.subject.lastMove) {
            this.subject.removeStatus(this);
        }
    };
    effect.informDamaged = function(user, move, damage) {
        if ((move.name != "Pain Split") && (damage > 0)) {
            this.damage += damage;
            this.party_ = user.party;
            this.position_ = user.position;
        }
    };
    effect = user.applyStatus(user, effect);
}
if (--effect.turns_ != 0) {
    user.setForcedMove(this, null, false);
    field.print(Text.battle_messages_unique(104, user));
    return;
}
var damage = effect.damage * 2;
var party_ = effect.party_;
var position_ = effect.position_;
user.removeStatus(effect);
if (damage == 0) {
    field.print(Text.battle_messages(0));
    return;
}
var p = field.getActivePokemon(party_, position_);
if (!p && !(p = field.getRandomTarget(1 - user.party))) {
    field.print(Text.battle_messages(3));
    return;
}
field.print(Text.battle_messages_unique(105, user));
p.hp -= damage;
]]>
</use>
</move>

<move name="Bind" id="30">
<type>Normal</type>
<class>Physical</class>
<power>15</power>
<accuracy>0.75</accuracy>
<pp>20</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makeTemporaryTrappingMove(this, Text.battle_messages_unique.wrap(72));
]]>
</init>
</move>

<move name="Bite" id="31">
<type>Dark</type>
<class>Physical</class>
<power>60</power>
<accuracy>1.00</accuracy>
<pp>25</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[FlinchEffect, 0.3]]);
]]>
</init>
</move>

<move name="Blast Burn" id="32">
<type>Fire</type>
<class>Special</class>
<power>150</power>
<accuracy>0.90</accuracy>
<pp>5</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makeRechargeMove(this);
]]>
</init>
</move>

<move name="Blaze Kick" id="33">
<type>Fire</type>
<class>Physical</class>
<power>85</power>
<accuracy>0.90</accuracy>
<pp>10</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[BurnEffect, 0.1]]);
]]>
</init>
</move>

<move name="Blizzard" id="34">
<type>Ice</type>
<class>Special</class>
<power>120</power>
<accuracy>0.70</accuracy>
<pp>5</pp>
<target>Enemies</target>
<flags>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[FreezeEffect, 0.1]]);
var accuracy_ = this.accuracy;
this.attemptHit = function(field, user, target) {
    this.accuracy = accuracy_;
    var flags = getGlobalController(field).getFlags();
    if (flags[GlobalEffect.HAIL]) {
        this.accuracy = 0;
        // TODO: maybe apply effect for x0 instead...
    }
    return field.attemptHit(this, user, target);
};
]]>
</init>
</move>

<move name="Block" id="35">
<type>Normal</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>5</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <reflect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeTrappingMove(this);
]]>
</init>
</move>

<move name="Body Slam" id="36">
<type>Normal</type>
<class>Physical</class>
<power>85</power>
<accuracy>1.00</accuracy>
<pp>15</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[ParalysisEffect, 0.3]]);
]]>
</init>
</move>

<move name="Bone Club" id="37">
<type>Ground</type>
<class>Physical</class>
<power>65</power>
<accuracy>0.85</accuracy>
<pp>20</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[FlinchEffect, 0.1]]);
]]>
</init>
</move>

<move name="Bone Rush" id="38">
<type>Ground</type>
<class>Physical</class>
<power>25</power>
<accuracy>0.80</accuracy>
<pp>10</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makeMultipleHitMove(this);
]]>
</init>
</move>

<move name="Bonemerang" id="39">
<type>Ground</type>
<class>Physical</class>
<power>50</power>
<accuracy>0.90</accuracy>
<pp>10</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makeTwoHitMove(this);
]]>
</init>
</move>

<move name="Bounce" id="40">
<type>Flying</type>
<class>Physical</class>
<power>85</power>
<accuracy>0.85</accuracy>
<pp>5</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[ParalysisEffect, 0.3]]);
makeChargeMove(this,
        Text.battle_messages_charge.wrap(7),
        ["Gust", "Thunder", "Twister", "Sky Uppercut"]);
]]>
</init>
</move>

<move name="Brave Bird" id="41">
<type>Flying</type>
<class>Physical</class>
<power>120</power>
<accuracy>1.00</accuracy>
<pp>15</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makeRecoilMove(this, 3);
]]>
</init>
</move>

<move name="Brick Break" id="42">
<type>Fighting</type>
<class>Physical</class>
<power>75</power>
<accuracy>1.00</accuracy>
<pp>15</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<use>
<![CDATA[
var removed = false;
for (var i = 0; i < 2; ++i) {
    var effect = target.getStatus("BuffEffect" + i);
    if (effect) {
        field.removeStatus(effect);
        removed = true;
    }
}
if (removed) {
    field.print(Text.battle_messages_unique(20));
}
target.hp -= field.calculate(this, user, target, targets);
]]>
</use>
</move>

<move name="Brine" id="43">
<type>Water</type>
<class>Special</class>
<power>65</power>
<accuracy>1.00</accuracy>
<pp>10</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
this.power_ = this.power;
]]>
</init>
<use>
<![CDATA[
this.power = this.power_;
if ((target.hp * 2) <= target.getStat(Stat.HP)) {
    this.power *= 2;
}
target.hp -= field.calculate(this, user, target, targets);
]]>
</use>
</move>

<move name="Bubble" id="44">
<type>Water</type>
<class>Special</class>
<power>20</power>
<accuracy>1.00</accuracy>
<pp>30</pp>
<target>Enemies</target>
<flags>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[new StatChangeEffect(Stat.SPEED, -1), 0.1]]);
]]>
</init>
</move>

<move name="BubbleBeam" id="45">
<type>Water</type>
<class>Special</class>
<power>65</power>
<accuracy>1.00</accuracy>
<pp>20</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[new StatChangeEffect(Stat.SPEED, -1), 0.1]]);
]]>
</init>
</move>

<move name="Bug Bite" id="46">
<type>Bug</type>
<class>Physical</class>
<power>60</power>
<accuracy>1.00</accuracy>
<pp>20</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makePluckMove(this);
]]>
</init>
</move>

<move name="Bug Buzz" id="47">
<type>Bug</type>
<class>Special</class>
<power>90</power>
<accuracy>1.00</accuracy>
<pp>10</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
    <sound/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[new StatChangeEffect(Stat.SPDEFENCE, -1), 0.1]]);
]]>
</init>
</move>

<move name="Bulk Up" id="48">
<type>Fighting</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>20</pp>
<target>User</target>
<flags>
    <snatch/>
</flags>
<use>
<![CDATA[
user.applyStatus(user, new StatChangeEffect(Stat.ATTACK, 1));
user.applyStatus(user, new StatChangeEffect(Stat.DEFENCE, 1));
]]>
</use>
</move>

<move name="Bullet Punch" id="49">
<type>Steel</type>
<class>Physical</class>
<priority>1</priority>
<power>40</power>
<accuracy>1.00</accuracy>
<pp>30</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
</move>


Last edited by Admin on Wed Sep 21, 2011 10:50 pm; edited 3 times in total (Reason for editing : codebox to preserve indents (edited all codes for this))
Back to top Go down
https://pokelabfred.forumotion.com
Admin
Admin



Posts : 22
Join date : 2011-09-21

-Moves.xml-(another huge post) Empty
PostSubject: Re: -Moves.xml-(another huge post)   -Moves.xml-(another huge post) EmptyWed Sep 21, 2011 8:26 pm

Code:
>

<move name="Bullet Seed" id="50">
<type>Grass</type>
<class>Physical</class>
<power>10</power>
<accuracy>1.00</accuracy>
<pp>30</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makeMultipleHitMove(this);
]]>
</init>
</move>

<move name="Calm Mind" id="51">
<type>Psychic</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>20</pp>
<target>User</target>
<flags>
    <snatch/>
</flags>
<use>
<![CDATA[
user.applyStatus(user, new StatChangeEffect(Stat.SPATTACK, 1));
user.applyStatus(user, new StatChangeEffect(Stat.SPDEFENCE, 1));
]]>
</use>
</move>

<move name="Camouflage" id="52">
<type>Normal</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>20</pp>
<target>User</target>
<flags>
    <snatch/>
</flags>
<use>
<![CDATA[
// Camouflage always changes the user to normal type in a link battle.
const type = Type.NORMAL;
if (user.isType(type)) {
    field.print(Text.battle_messages(0));
    return;
}
user.setTypes([type]);
field.print(Text.battle_messages_unique(9, user, Text.types(type)));
]]>
</use>
</move>

<move name="Captivate" id="53">
<type>Normal</type>
<class>Other</class>
<power>0</power>
<accuracy>1.00</accuracy>
<pp>20</pp>
<target>Enemies</target>
<flags>
    <protect/>
    <reflect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[new StatChangeEffect(Stat.SPATTACK, -2)]]);
var parent = this.use;
this.use = function(field, user, target, targets) {
    if (!isOppositeGender(user, target)) {
        field.print(Text.battle_messages(0));
        return;
    }
    parent.call(this, field, user, target, targets);
};
]]>
</init>
</move>

<move name="Charge" id="54">
<type>Electric</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>20</pp>
<target>User</target>
<flags>
    <snatch/>
</flags>
<use>
<![CDATA[
var effect = user.getStatus("ChargeEffect");
if (effect) {
    user.removeStatus(effect);
}
effect = new StatusEffect("ChargeEffect");
effect.name = Text.battle_messages_unique(67);
effect.tier = 0;
effect.turns = 2;
effect.tick = function() {
    if (--this.turns <= 0) {
        this.subject.removeStatus(this);
    }
};
// @mod 0, 2, Charge
effect.modifier = function(field, user, target, move, critical) {
    if (user != this.subject)
        return null;
    if (move.type != Type.ELECTRIC)
        return null;
    // x2 multiplier in base power; priority of 2.
    return [0, 2, 2];
};
user.applyStatus(user, effect);
field.print(Text.battle_messages_unique(68, user));
user.applyStatus(user, new StatChangeEffect(Stat.SPDEFENCE, 1));
]]>
</use>
</move>

<move name="Charge Beam" id="55">
<type>Electric</type>
<class>Special</class>
<power>50</power>
<accuracy>0.90</accuracy>
<pp>10</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[new StatChangeEffect(Stat.SPATTACK, 1), 0.7, true]]);
]]>
</init>
</move>

<move name="Charm" id="56">
<type>Normal</type>
<class>Other</class>
<power>0</power>
<accuracy>1.00</accuracy>
<pp>20</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <reflect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[new StatChangeEffect(Stat.ATTACK, -2)]]);
]]>
</init>
</move>

<move name="Chatter" id="57">
<type>Flying</type>
<class>Special</class>
<power>60</power>
<accuracy>1.00</accuracy>
<pp>20</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <sound/>
</flags>
<use>
<![CDATA[
var damage = field.calculate(this, user, target, targets);
if (damage == 0) {
    return;
}
target.hp -= damage;
if (user.getStatus("TransformEffect")
        || target.sendMessage("informSecondaryEffect")) {
    return;
}
if (field.random(0.31)) {
    target.applyStatus(user, new ConfusionEffect());
}
]]>
</use>
</move>

<move name="Clamp" id="58">
<type>Water</type>
<class>Physical</class>
<power>35</power>
<accuracy>0.75</accuracy>
<pp>10</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makeTemporaryTrappingMove(this, Text.battle_messages_unique.wrap(73));
]]>
</init>
</move>

<move name="Close Combat" id="59">
<type>Fighting</type>
<class>Physical</class>
<power>120</power>
<accuracy>1.00</accuracy>
<pp>5</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [
        [new StatChangeEffect(Stat.DEFENCE, -1), 1, true],
        [new StatChangeEffect(Stat.SPDEFENCE, -1), 1, true]
    ]);
]]>
</init>
</move>

<move name="Comet Punch" id="60">
<type>Normal</type>
<class>Physical</class>
<power>18</power>
<accuracy>0.85</accuracy>
<pp>15</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makeMultipleHitMove(this);
]]>
</init>
</move>

<move name="Confuse Ray" id="61">
<type>Ghost</type>
<class>Other</class>
<power>0</power>
<accuracy>1.00</accuracy>
<pp>10</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <reflect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[ConfusionEffect]]);
]]>
</init>
</move>

<move name="Confusion" id="62">
<type>Psychic</type>
<class>Special</class>
<power>50</power>
<accuracy>1.00</accuracy>
<pp>25</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[ConfusionEffect, 0.1]]);
]]>
</init>
</move>

<move name="Constrict" id="63">
<type>Normal</type>
<class>Physical</class>
<power>10</power>
<accuracy>1.00</accuracy>
<pp>35</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[new StatChangeEffect(Stat.SPEED, -1), 0.1]]);
]]>
</init>
</move>

<move name="Conversion" id="64">
<type>Normal</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>30</pp>
<target>User</target>
<flags>

</flags>
<use>
<![CDATA[
var choices = [];
for (var i = 0; i < user.moveCount; ++i) {
    var move = user.getMove(i);
    var type = move.type;
    if ((type != Type.TYPELESS) && !user.isType(type)) {
        choices.push(type);
    }
}
var length = choices.length;
if (length == 0) {
    field.print(Text.battle_messages(0));
    return;
}
var choice = choices[field.random(0, length - 1)];
user.setTypes([choice]);
field.print(Text.battle_messages_unique(9, user, Text.types(choice)));
]]>
</use>
</move>

<move name="Conversion 2" id="65">
<type>Normal</type>
<class>Other</class>
<power>0</power>
<accuracy>1.00</accuracy>
<pp>30</pp>
<target>User</target>
<flags>

</flags>
<use>
<![CDATA[
var move = user.memory;
if (!move) {
    field.print(Text.battle_messages(0));
    return;
}
var type = move.type;
var choices = [];
for (var idx in Type) {
    var i = Type[idx];
    if (field.getTypeEffectiveness(type, i) < 1.0) {
        choices.push(i);
    }
}
var length = choices.length;
if (length == 0) {
    field.print(Text.battle_messages(0));
    return;
}
var choice = choices[field.random(0, length - 1)];
user.setTypes([choice]);
field.print(Text.battle_messages_unique(9, user, Text.types(choice)));
]]>
</use>
</move>

<move name="Copycat" id="66">
<type>Normal</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>20</pp>
<target>None</target>
<flags>

</flags>
<init>
<![CDATA[
this.forbidden_ = ["Assist", "Chatter", "Copycat", "Counter", "Covet",
                  "Destiny Bond", "Detect", "Endure", "Feint", "Focus Punch",
                  "Follow Me", "Helping Hand", "Me First", "Metronome",
                  "Mimic", "Mirror Coat", "Mirror Move", "Protect", "Sketch",
                  "Sleep Talk", "Snatch", "Struggle", "Switcheroo", "Thief",
                  "Trick"];
]]>
</init>
<use>
<![CDATA[
var move = field.lastMove;
if (!move || (this.forbidden_.indexOf(move.name) != -1)) {
    field.print(Text.battle_messages(0));
    return;
}
user.execute(move);
]]>
</use>
</move>

<move name="Cosmic Power" id="67">
<type>Psychic</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>20</pp>
<target>User</target>
<flags>
    <snatch/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [
        [new StatChangeEffect(Stat.DEFENCE, 1), 1, true],
        [new StatChangeEffect(Stat.SPDEFENCE, 1), 1, true]
    ]);
]]>
</init>
</move>

<move name="Cotton Spore" id="68">
<type>Grass</type>
<class>Other</class>
<power>0</power>
<accuracy>0.85</accuracy>
<pp>40</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <reflect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[new StatChangeEffect(Stat.SPEED, -2)]]);
]]>
</init>
</move>

<move name="Counter" id="69">
<type>Fighting</type>
<class>Physical</class>
<priority>-5</priority>
<power>1</power>
<accuracy>1.00</accuracy>
<pp>20</pp>
<target>None</target>
<flags>
    <contact/>
</flags>
<init>
makeCounterMove(this, MoveClass.PHYSICAL, 2);
</init>
</move>

<move name="Covet" id="70">
<type>Normal</type>
<class>Physical</class>
<power>40</power>
<accuracy>1.00</accuracy>
<pp>40</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeThiefMove(this);
]]>
</init>
</move>

<move name="Crabhammer" id="71">
<type>Water</type>
<class>Physical</class>
<power>90</power>
<accuracy>0.85</accuracy>
<pp>10</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
    <high-critical/>
</flags>
</move>

<move name="Cross Chop" id="72">
<type>Fighting</type>
<class>Physical</class>
<power>100</power>
<accuracy>0.80</accuracy>
<pp>5</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
    <high-critical/>
</flags>
</move>

<move name="Cross Poison" id="73">
<type>Poison</type>
<class>Physical</class>
<power>70</power>
<accuracy>1.00</accuracy>
<pp>20</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
    <high-critical/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[PoisonEffect, 0.1]]);
]]>
</init>
</move>

<move name="Crunch" id="74">
<type>Dark</type>
<class>Physical</class>
<power>80</power>
<accuracy>1.00</accuracy>
<pp>15</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[new StatChangeEffect(Stat.DEFENCE, -1), 0.2]]);
]]>
</init>
</move>

<move name="Crush Claw" id="75">
<type>Normal</type>
<class>Physical</class>
<power>75</power>
<accuracy>0.95</accuracy>
<pp>10</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[new StatChangeEffect(Stat.DEFENCE, -1), 0.5]]);
]]>
</init>
</move>

<move name="Crush Grip" id="76">
<type>Normal</type>
<class>Physical</class>
<power>1</power>
<accuracy>1.00</accuracy>
<pp>5</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makeTargetHealthMove(this);
]]>
</init>
</move>

<move name="Curse" id="77">
<type>Typeless</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>10</pp>
<!--
    Note: Curse always has single non-user target for the purpose of failure
          due to lack of a target. However, when selecting a move, Curse
          appears to be user target if the user's type does not include Ghost;
          in fact, a random target is silently chosen from among the available
          enemies.
-->
<target>Non-user</target>
<flags>

</flags>
<init>
<![CDATA[
makeStatusMove(this, [[new StatChangeEffect(Stat.ATTACK, 1), 1.0, true],
                      [new StatChangeEffect(Stat.DEFENCE, 1), 1.0, true],
                      [new StatChangeEffect(Stat.SPEED, -1), 1.0, true]]);
var parent = this.use;
this.use = function(field, user, target, targets) {
    if (!user.isType(Type.GHOST)) {
        parent.call(this, field, user, target, targets);
        return;
    }
    if (target.getStatus("CurseEffect")
            || target.getStatus("SubstituteEffect")) {
        field.print(Text.battle_messages(0));
        return;
    }
    var effect = new StatusEffect("CurseEffect");
    effect.name = Text.battle_messages_unique(88);
    effect.tier = 6;
    effect.subtier = 6;
    effect.tick = function() {
        field.print(Text.battle_messages_unique(90, this.subject));
        this.subject.hp -= Math.floor(this.subject.getStat(Stat.HP) / 4);
    };
    target.applyStatus(user, effect);
    field.print(Text.battle_messages_unique(89, user, target));
    user.hp -= Math.floor(user.getStat(Stat.HP) / 2);
};
]]>
</init>
</move>

<move name="Cut" id="78">
<type>Normal</type>
<class>Physical</class>
<power>50</power>
<accuracy>0.95</accuracy>
<pp>30</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
</move>

<move name="Dark Pulse" id="79">
<type>Dark</type>
<class>Special</class>
<power>80</power>
<accuracy>1.00</accuracy>
<pp>15</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[FlinchEffect, 0.2]]);
]]>
</init>
</move>

<move name="Dark Void" id="80">
<type>Dark</type>
<class>Other</class>
<power>0</power>
<accuracy>0.80</accuracy>
<pp>10</pp>
<target>Enemies</target>
<flags>
    <protect/>
    <reflect/>
    <memorable/>
</flags>
<init>
makeStatusMove(this, [[SleepEffect]]);
</init>
</move>

<move name="Defend Order" id="81">
<type>Bug</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>10</pp>
<target>User</target>
<flags>
    <snatch/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [
        [new StatChangeEffect(Stat.DEFENCE, 1), 1, true],
        [new StatChangeEffect(Stat.SPDEFENCE, 1), 1, true]
    ]);
]]>
</init>
</move>

<move name="Defense Curl" id="82">
<type>Normal</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>40</pp>
<target>User</target>
<flags>
    <snatch/>
</flags>
<use>
<![CDATA[
user.applyStatus(user, new StatChangeEffect(Stat.DEFENCE, 1));
user.applyStatus(user, new StatusEffect("MomentumBoostEffect"));
]]>
</use>
</move>

<move name="Defog" id="83">
<type>Flying</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>15</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
this.effects_ = ["BuffEffect0",    // Reflect
                "BuffEffect1",    // Light Screen
                "SafeguardEffect",
                "MistEffect"];
]]>
</init>
<use>
<![CDATA[
target.applyStatus(user, new StatChangeEffect(Stat.EVASION, -1));
this.effects_.forEach(function(id) {
    var effect = target.getStatus(id);
    if (effect) {
        field.removeStatus(effect);
    }
});
getHazardController(target).clearHazards(target.party);
]]>
</use>
</move>

<move name="Destiny Bond" id="84">
<type>Ghost</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>5</pp>
<target>User</target>
<flags>

</flags>
<use>
<![CDATA[
var effect = user.getStatus("DestinyBondEffect");
if (effect) {
    user.removeStatus(effect);
}
effect = new StatusEffect("DestinyBondEffect");
effect.turns_ = 2;
effect.informDamaged = function(user, move, damage) {
    var subject = this.subject;
    if ((subject.hp <= 0) && (damage > 0) && (user.party != subject.party)) {
        field.print(Text.battle_messages_unique(62, subject, user));
        user.faint();
    }
};
effect.informFinishedSubjectExecution = function() {
    if (--this.turns_ == 0) {
        this.subject.removeStatus(this);
    }
};
user.applyStatus(user, effect);
field.print(Text.battle_messages_unique(61, user));
]]>
</use>
</move>

<move name="Detect" id="85">
<type>Fighting</type>
<class>Other</class>
<priority>3</priority>
<power>0</power>
<accuracy>0</accuracy>
<pp>5</pp>
<target>User</target>
<flags>

</flags>
<init>
<![CDATA[
makeProtectMove(this);
]]>
</init>
</move>

<move name="Dig" id="86">
<type>Ground</type>
<class>Physical</class>
<power>80</power>
<accuracy>1.00</accuracy>
<pp>10</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makeChargeMove(this,
        Text.battle_messages_charge.wrap(4),
        ["Earthquake", "Magnitude"]);
]]>
</init>
</move>

<move name="Disable" id="87">
<type>Normal</type>
<class>Other</class>
<power>0</power>
<accuracy>0.80</accuracy>
<pp>20</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
</flags>
<use>
<![CDATA[
if (target.getStatus("DisableEffect")) {
    field.print(Text.battle_messages(0));
    return;
}
// Fails if the target doesn't know the last move it used or if that move
// has zero PP or if the target's last move is null.
var move = target.lastMove;
if (!move || (target.getPp(move) <= 0)) {
    field.print(Text.battle_messages(0));
    return;
}
var effect = new StatusEffect("DisableEffect");
effect.name = Text.battle_messages_unique(69);
effect.move = move;
effect.turns = field.random(4, 7);
effect.vetoSelection = function(user, move) {
    if (user != this.subject)
        return false;
    return (move.name == this.move.name);
};
effect.vetoTier = 2;
effect.vetoExecution = function(field, user, target, move) {
    if (target != null)
        return false;
    if (user != this.subject)
        return false;
    if (move.name != this.move.name)
        return false;
    field.print(Text.battle_messages_unique(71, user, move));
    return true;
};
effect.informFinishedSubjectExecution = function() {
    if ((--this.turns <= 0) || (this.subject.getPp(this.move) <= 0)) {
        this.subject.removeStatus(this);
    }
};
target.applyStatus(user, effect);
field.print(Text.battle_messages_unique(70, target, move));
]]>
</use>
</move>

<move name="Discharge" id="88">
<type>Electric</type>
<class>Special</class>
<power>80</power>
<accuracy>1.00</accuracy>
<pp>15</pp>
<target>Others</target>
<flags>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[ParalysisEffect, 0.3]]);
]]>
</init>
</move>

<move name="Dive" id="89">
<type>Water</type>
<class>Physical</class>
<power>80</power>
<accuracy>1.00</accuracy>
<pp>10</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makeChargeMove(this,
        Text.battle_messages_charge.wrap(6),
        ["Surf", "Whirlpool"]);
]]>
</init>
</move>

<move name="Dizzy Punch" id="90">
<type>Normal</type>
<class>Physical</class>
<power>70</power>
<accuracy>1.00</accuracy>
<pp>10</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[ConfusionEffect, 0.2]]);
]]>
</init>
</move>

<move name="Doom Desire" id="91">
<type>Steel</type>
<class>Special</class>
<power>120</power>
<accuracy>0.85</accuracy>
<pp>5</pp>
<target>Non-user</target>
<flags>
    <no-critical/>
</flags>
<init>
<![CDATA[
makeDelayedAttackMove(this);
]]>
</init>
</move>

<move name="Double Hit" id="92">
<type>Normal</type>
<class>Physical</class>
<power>35</power>
<accuracy>0.90</accuracy>
<pp>10</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makeTwoHitMove(this);
]]>
</init>
</move>

<move name="Double Kick" id="93">
<type>Fighting</type>
<class>Physical</class>
<power>30</power>
<accuracy>1.00</accuracy>
<pp>30</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makeTwoHitMove(this);
]]>
</init>
</move>

<move name="Double Team" id="94">
<type>Normal</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>15</pp>
<target>User</target>
<flags>
    <snatch/>
</flags>
<init>
<![CDATA[
this.isEvasionMove_ = true;
]]>
</init>
<use>
<![CDATA[
user.applyStatus(user, new StatChangeEffect(Stat.EVASION, 1));
]]>
</use>
</move>

<move name="Double-Edge" id="95">
<type>Normal</type>
<class>Physical</class>
<power>120</power>
<accuracy>1.00</accuracy>
<pp>15</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makeRecoilMove(this, 3);
]]>
</init>
</move>

<move name="DoubleSlap" id="96">
<type>Normal</type>
<class>Physical</class>
<power>15</power>
<accuracy>0.85</accuracy>
<pp>10</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makeMultipleHitMove(this);
]]>
</init>
</move>

<move name="Draco Meteor" id="97">
<type>Dragon</type>
<class>Special</class>
<power>140</power>
<accuracy>0.90</accuracy>
<pp>5</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[new StatChangeEffect(Stat.SPATTACK, -2), 1, true]]);
]]>
</init>
</move>

<move name="Dragon Claw" id="98">
<type>Dragon</type>
<class>Physical</class>
<power>80</power>
<accuracy>1.00</accuracy>
<pp>15</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
</move>

<move name="Dragon Dance" id="99">
<type>Dragon</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>20</pp>
<target>User</target>
<flags>
    <snatch/>
</flags>
<use>
<![CDATA[
user.applyStatus(user, new StatChangeEffect(Stat.ATTACK, 1));
user.applyStatus(user, new StatChangeEffect(Stat.SPEED, 1));
]]>
</use>
</move>


Last edited by Admin on Wed Sep 21, 2011 10:51 pm; edited 1 time in total
Back to top Go down
https://pokelabfred.forumotion.com
Admin
Admin



Posts : 22
Join date : 2011-09-21

-Moves.xml-(another huge post) Empty
PostSubject: Re: -Moves.xml-(another huge post)   -Moves.xml-(another huge post) EmptyWed Sep 21, 2011 8:27 pm

Code:
<move name="Dragon Pulse" id="100">
<type>Dragon</type>
<class>Special</class>
<power>90</power>
<accuracy>1.00</accuracy>
<pp>10</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
</move>

<move name="Dragon Rage" id="101">
<type>Dragon</type>
<class>Special</class>
<power>1</power>
<accuracy>1.00</accuracy>
<pp>10</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<use>
<![CDATA[
if (target.isImmune(this)) {
    field.print(Text.battle_messages(1, target));
    return;
}
target.hp -= 40;
]]>
</use>
</move>

<move name="Dragon Rush" id="102">
<type>Dragon</type>
<class>Physical</class>
<power>100</power>
<accuracy>0.75</accuracy>
<pp>10</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[FlinchEffect, 0.3]]);
]]>
</init>
</move>

<move name="DragonBreath" id="103">
<type>Dragon</type>
<class>Special</class>
<power>60</power>
<accuracy>1.00</accuracy>
<pp>20</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[ParalysisEffect, 0.3]]);
]]>
</init>
</move>

<move name="Drain Punch" id="104">
<type>Fighting</type>
<class>Physical</class>
<power>60</power>
<accuracy>1.00</accuracy>
<pp>5</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makeRecoilMove(this, -2);
]]>
</init>
</move>

<move name="Dream Eater" id="105">
<type>Psychic</type>
<class>Special</class>
<power>100</power>
<accuracy>1.00</accuracy>
<pp>15</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeRecoilMove(this, -2);
var parent = this.use;
this.use = function(field, user, target, targets) {
    if (target.getStatus("SleepEffect") == null) {
        field.print(Text.battle_messages(0));
        return;
    }
    parent.call(this, field, user, target, targets);
};
]]>
</init>
</move>

<move name="Drill Peck" id="106">
<type>Flying</type>
<class>Physical</class>
<power>80</power>
<accuracy>1.00</accuracy>
<pp>20</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
</move>

<move name="DynamicPunch" id="107">
<type>Fighting</type>
<class>Physical</class>
<power>100</power>
<accuracy>0.50</accuracy>
<pp>5</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[ConfusionEffect]]);
]]>
</init>
</move>

<move name="Earth Power" id="108">
<type>Ground</type>
<class>Special</class>
<power>90</power>
<accuracy>1.00</accuracy>
<pp>10</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[new StatChangeEffect(Stat.SPDEFENCE, -1), 0.1]]);
]]>
</init>
</move>

<move name="Earthquake" id="109">
<type>Ground</type>
<class>Physical</class>
<power>100</power>
<accuracy>1.00</accuracy>
<pp>10</pp>
<target>Others</target>
<flags>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
this.power_ = this.power;
]]>
</init>
<use>
<![CDATA[
this.power = this.power_;
var effect = target.getStatus("ChargeMoveEffect");
if (effect && (effect.move.name == "Dig")) {
    this.power *= 2;
}
target.hp -= field.calculate(this, user, target, targets);
]]>
</use>
</move>

<move name="Egg Bomb" id="110">
<type>Normal</type>
<class>Physical</class>
<power>100</power>
<accuracy>0.75</accuracy>
<pp>10</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
</move>

<move name="Embargo" id="111">
<type>Dark</type>
<class>Other</class>
<power>0</power>
<accuracy>1.00</accuracy>
<pp>15</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
</flags>
<use>
<![CDATA[
if (target.getStatus("EmbargoEffect")) {
    field.print(Text.battle_messages(0));
    return;
}
var effect = new StatusEffect("EmbargoEffect");
effect.name = Text.battle_messages_unique(116);
effect.tier = 8.1; // TODO: Research required.
effect.turns_ = 5;
effect.tick = function() {
    if (--this.turns_ == 0) {
        field.print(Text.battle_messages_unique(118, this.subject));
        this.subject.removeStatus(this);
    }
};
target.applyStatus(user, effect);
field.print(Text.battle_messages_unique(117, target));
]]>
</use>
</move>

<move name="Ember" id="112">
<type>Fire</type>
<class>Special</class>
<power>40</power>
<accuracy>1.00</accuracy>
<pp>25</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[BurnEffect, 0.1]]);
]]>
</init>
</move>

<move name="Encore" id="113">
<type>Normal</type>
<class>Other</class>
<power>0</power>
<accuracy>1.00</accuracy>
<pp>5</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
this.forbidden_ = ["Transform", "Mimic", "Sketch", "Mirror Move", "Encore",
                  "Struggle"];
]]>
</init>
<use>
<![CDATA[
if (target.getStatus("EncoreEffect")) {
    field.print(Text.battle_messages(0));
    return;
}
var move = target.lastMove;
if (!move || (this.forbidden_.indexOf(move.name) != -1)
        || (target.getPp(move) <= 0)) {
    field.print(Text.battle_messages(0));
    return;
}
var effect = new StatusEffect("EncoreEffect");
effect.name = Text.battle_messages_unique(154);
effect.tier = 0;
effect.move_ = move;
var id_ = target.getMoveId(move)
effect.turns_ = field.random(4, 8);
effect.choice_ = !target.forcedMove;
effect.informBeginExecution = function() {
    var turn = this.subject.turn;
    if (this.subject.isSelectable(this.move_)) {
        turn.move = id_;
    } else {
        turn.move = -1;
        this.subject.setForcedMove(field.getMove("Struggle"), null, true);
    }
    turn.target = -1;
};
var this_ = this;
effect.informFinishedSubjectExecution = function(move) {
    if (this.choice_ && this.subject.lastMove) {
        this.subject.setPp(move, this.subject.getPp(move) - 1);
    }
    var move_ = this.subject.getMove(id_);
    if (!move_ || (this.subject.getPp(move_) <= 0)
            || (this.move_.name != move_.name)) {
        this.subject.removeStatus(this);
        return;
    }
    if ((this.turns_ > 1) && (this.choice_ = !this.subject.forcedTurn)) {
        this.subject.setForcedMove(this_, null, true);
    }
};
effect.tick = function() {
    if (--this.turns_ == 0) {
        field.print(Text.battle_messages_unique(156, this.subject));
        this.subject.removeStatus(this);
    }
};
target.applyStatus(user, effect);
target.setForcedMove(this, null, true);
field.print(Text.battle_messages_unique(155, target));
]]>
</use>
</move>

<move name="Endeavor" id="114">
<type>Normal</type>
<class>Physical</class>
<power>1</power>
<accuracy>1.00</accuracy>
<pp>5</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<use>
<![CDATA[
var damage = target.hp - user.hp;
if (damage <= 0) {
    field.print(Text.battle_messages(0));
    return;
}
if (target.isImmune(this)) {
    field.print(Text.battle_messages(1, target));
    return;
}
target.hp -= damage;
]]>
</use>
</move>

<move name="Endure" id="115">
<type>Normal</type>
<class>Other</class>
<priority>3</priority>
<power>0</power>
<accuracy>0</accuracy>
<pp>10</pp>
<target>User</target>
<flags>

</flags>
<init>
<![CDATA[
makeProtectTypeMove(this, function(field, user) {
    var effect = new StatusEffect("EndureEffect");
    effect.tier = 0;
    effect.tick = function() {
        this.subject.removeStatus(this);
    };
    effect.transformHealthChange = function(delta, user, indirect) {
        if (indirect || (delta < 0))
            return delta;
        var effect = this.subject.getStatus("SubstituteEffect");
        if (effect && (effect.hp_ != 0))
            return delta;
        if (this.subject.hp > delta)
            return delta;
        field.print(Text.battle_messages_unique(150, this.subject));
        return this.subject.hp - 1;
    };
    user.applyStatus(user, effect);
    field.print(Text.battle_messages_unique(149, user));
});
]]>
</init>
</move>

<move name="Energy Ball" id="116">
<type>Grass</type>
<class>Special</class>
<power>80</power>
<accuracy>1.00</accuracy>
<pp>10</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[new StatChangeEffect(Stat.SPDEFENCE, -1), 0.1]]);
]]>
</init>
</move>

<move name="Eruption" id="117">
<type>Fire</type>
<class>Special</class>
<power>150</power>
<accuracy>1.00</accuracy>
<pp>5</pp>
<target>Enemies</target>
<flags>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makeUserHealthMove(this);
]]>
</init>
</move>

<move name="Explosion" id="118">
<type>Normal</type>
<class>Physical</class>
<power>250</power>
<accuracy>1.00</accuracy>
<pp>5</pp>
<target>Others</target>
<flags>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makeExplosionMove(this);
]]>
</init>
</move>

<move name="Extrasensory" id="119">
<type>Psychic</type>
<class>Special</class>
<power>80</power>
<accuracy>1.00</accuracy>
<pp>30</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[FlinchEffect, 0.1]]);
]]>
</init>
</move>

<move name="ExtremeSpeed" id="120">
<type>Normal</type>
<class>Physical</class>
<priority>1</priority>
<power>80</power>
<accuracy>1.00</accuracy>
<pp>5</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
</move>

<move name="Facade" id="121">
<type>Normal</type>
<class>Physical</class>
<power>70</power>
<accuracy>1.00</accuracy>
<pp>20</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
this.power_ = this.power;
]]>
</init>
<use>
<![CDATA[
this.power = this.power_;
if (user.getStatus(StatusEffect.SPECIAL_EFFECT)) {
    this.power *= 2;
}
target.hp -= field.calculate(this, user, target, targets);
]]>
</use>
</move>

<move name="Faint Attack" id="122">
<type>Dark</type>
<class>Physical</class>
<power>60</power>
<accuracy>0</accuracy>
<pp>20</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
</move>

<move name="Fake Out" id="123">
<type>Normal</type>
<class>Physical</class>
<priority>1</priority>
<power>40</power>
<accuracy>1.00</accuracy>
<pp>10</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[FlinchEffect]]);
var parent = this.use;
this.use = function(field, user, target, targets) {
    if (user.acted) {
        field.print(Text.battle_messages(0));
        return;
    }
    parent.call(this, field, user, target, targets);
};
]]>
</init>
</move>

<move name="Fake Tears" id="124">
<type>Dark</type>
<class>Other</class>
<power>0</power>
<accuracy>1.00</accuracy>
<pp>20</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <reflect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[new StatChangeEffect(Stat.SPDEFENCE, -2)]]);
]]>
</init>
</move>

<move name="False Swipe" id="125">
<type>Normal</type>
<class>Physical</class>
<power>40</power>
<accuracy>1.00</accuracy>
<pp>40</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<use>
<![CDATA[
var damage = field.calculate(this, user, target, targets);
if (damage >= target.hp) {
    target.hp = 1;
} else {
    target.hp -= damage;
}
]]>
</use>
</move>

<move name="FeatherDance" id="126">
<type>Flying</type>
<class>Other</class>
<power>0</power>
<accuracy>1.00</accuracy>
<pp>15</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <reflect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[new StatChangeEffect(Stat.ATTACK, -2)]]);
]]>
</init>
</move>

<move name="Feint" id="127">
<type>Normal</type>
<class>Physical</class>
<priority>2</priority>
<power>50</power>
<accuracy>1.00</accuracy>
<pp>10</pp>
<target>Non-user</target>
<flags>

</flags>
<use>
<![CDATA[
var effect = target.getStatus("ProtectEffect");
if (!effect) {
    field.print(Text.battle_messages(0));
    return;
}
target.removeStatus(effect);
target.hp -= field.calculate(this, user, target, targets);
]]>
</use>
</move>

<move name="Fire Blast" id="128">
<type>Fire</type>
<class>Special</class>
<power>120</power>
<accuracy>0.85</accuracy>
<pp>5</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[BurnEffect, 0.1]]);
]]>
</init>
</move>

<move name="Fire Fang" id="129">
<type>Fire</type>
<class>Physical</class>
<power>65</power>
<accuracy>0.95</accuracy>
<pp>15</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[FlinchEffect, 0.1], [BurnEffect, 0.1]]);
]]>
</init>
</move>

<move name="Fire Punch" id="130">
<type>Fire</type>
<class>Physical</class>
<power>75</power>
<accuracy>1.00</accuracy>
<pp>15</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[BurnEffect, 0.1]]);
]]>
</init>
</move>

<move name="Fire Spin" id="131">
<type>Fire</type>
<class>Special</class>
<power>15</power>
<accuracy>0.70</accuracy>
<pp>15</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makeTemporaryTrappingMove(this, Text.battle_messages_unique.wrap(74));
]]>
</init>
</move>

<move name="Fissure" id="132">
<type>Ground</type>
<class>Physical</class>
<power>1</power>
<accuracy>0.30</accuracy>
<pp>5</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeOneHitKillMove(this);
]]>
</init>
</move>

<move name="Flail" id="133">
<type>Normal</type>
<class>Physical</class>
<power>1</power>
<accuracy>1.00</accuracy>
<pp>15</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makeUserLowHealthMove(this);
]]>
</init>
</move>

<move name="Flame Wheel" id="134">
<type>Fire</type>
<class>Physical</class>
<power>60</power>
<accuracy>1.00</accuracy>
<pp>25</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[BurnEffect, 0.1]]);
]]>
</init>
</move>

<move name="Flamethrower" id="135">
<type>Fire</type>
<class>Special</class>
<power>95</power>
<accuracy>1.00</accuracy>
<pp>15</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[BurnEffect, 0.1]]);
]]>
</init>
</move>

<move name="Flare Blitz" id="136">
<type>Fire</type>
<class>Physical</class>
<power>120</power>
<accuracy>1.00</accuracy>
<pp>15</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[BurnEffect, 0.1]]);
makeRecoilMove(this, 3);
]]>
</init>
</move>

<move name="Flash" id="137">
<type>Normal</type>
<class>Other</class>
<power>0</power>
<accuracy>1.00</accuracy>
<pp>20</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <reflect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[new StatChangeEffect(Stat.ACCURACY, -1)]]);
]]>
</init>
</move>

<move name="Flash Cannon" id="138">
<type>Steel</type>
<class>Special</class>
<power>80</power>
<accuracy>1.00</accuracy>
<pp>10</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[new StatChangeEffect(Stat.SPDEFENCE, -1), 0.1]]);
]]>
</init>
</move>

<move name="Flatter" id="139">
<type>Dark</type>
<class>Other</class>
<power>0</power>
<accuracy>1.00</accuracy>
<pp>15</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <reflect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatusMove(this,
        [[ConfusionEffect], [new StatChangeEffect(Stat.SPATTACK, 1)]]
    );
]]>
</init>
</move>

<move name="Fling" id="140">
<type>Dark</type>
<class>Physical</class>
<power>1</power>
<accuracy>1.00</accuracy>
<pp>10</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
var table_ = {
    "Cheri Berry": [10],
    "Chesto Berry": [10],
    "Pecha Berry": [10],
    "Rawst Berry": [10],
    "Aspear Berry": [10],
    "Leppa Berry": [10],
    "Oran Berry": [10],
    "Persim Berry": [10],
    "Lum Berry": [10],
    "Sitrus Berry": [10],
    "Figy Berry": [10],
    "Wiki Berry": [10],
    "Mago Berry": [10],
    "Aguav Berry": [10],
    "Iapapa Berry": [10],
    "Razz Berry": [10],
    "Bluk Berry": [10],
    "Nanab Berry": [10],
    "Wepear Berry": [10],
    "Pinap Berry": [10],
    "Pomeg Berry": [10],
    "Kelpsy Berry": [10],
    "Qualot Berry": [10],
    "Hondew Berry": [10],
    "Grepa Berry": [10],
    "Tamato Berry": [10],
    "Cornn Berry": [10],
    "Magost Berry": [10],
    "Rabuta Berry": [10],
    "Nomel Berry": [10],
    "Spelon Berry": [10],
    "Pamtre Berry": [10],
    "Watmel Berry": [10],
    "Durin Berry": [10],
    "Belue Berry": [10],
    "Occa Berry": [10],
    "Passho Berry": [10],
    "Wacan Berry": [10],
    "Rindo Berry": [10],
    "Yache Berry": [10],
    "Chople Berry": [10],
    "Kebia Berry": [10],
    "Shuca Berry": [10],
    "Coba Berry": [10],
    "Payapa Berry": [10],
    "Tanga Berry": [10],
    "Charti Berry": [10],
    "Kasib Berry": [10],
    "Haban Berry": [10],
    "Colbur Berry": [10],
    "Babiri Berry": [10],
    "Chilan Berry": [10],
    "Liechi Berry": [10],
    "Ganlon Berry": [10],
    "Salac Berry": [10],
    "Petaya Berry": [10],
    "Apicot Berry": [10],
    "Lansat Berry": [10],
    "Starf Berry": [10],
    "Enigma Berry": [10],
    "Micle Berry": [10],
    "Custap Berry": [10],
    "Jaboca Berry": [10],
    "Rowap Berry": [10],
    "BrightPowder": [10],
    "White Herb": [10],
    "Soothe Bell": [10],
    "Mental Herb": [10],
    "Choice Band": [10],
    "SilverPowder": [10],
    "Focus Band": [10],
    "Leftovers": [10],
    "Soft Sand": [10],
    "Silk Scarf": [10],
    "Sea Incense": [10],
    "Lax Incense": [10],
    "Metal Powder": [10],
    "Red Scarf": [10],
    "Blue Scarf": [10],
    "Pink Scarf": [10],
    "Green Scarf": [10],
    "Yellow Scarf": [10],
    "Wide Lens": [10],
    "Muscle Band": [10],
    "Wise Glasses": [10],
    "Expert Belt": [10],
    "Power Herb": [10],
    "Quick Powder": [10],
    "Focus Sash": [10],
    "Zoom Lens": [10],
    "Lagging Tail": [10],
    "Destiny Knot": [10],
    "Smooth Rock": [10],
    "Choice Scarf": [10],
    "Shed Shell": [10],
    "Big Root": [10],
    "Choice Specs": [10],
    "Odd Incense": [10],
    "Rock Incense": [10],
    "Full Incense": [10],
    "Wave Incense": [10],
    "Rose Incense": [10],
    "Luck Incense": [10],
    "Pure Incense": [10],
    "Reaper Cloth": [10],
    "Potion": [30],
    "Antidote": [30],
    "Burn Heal": [30],
    "Ice Heal": [30],
    "Awakening": [30],
    "Parlyz Heal": [30],
    "Full Restore": [30],
    "Max Potion": [30],
    "Hyper Potion": [30],
    "Super Potion": [30],
    "Full Heal": [30],
    "Revive": [30],
    "Max Revive": [30],
    "Fresh Water": [30],
    "Soda Pop": [30],
    "Lemonade": [30],
    "Moomoo Milk": [30],
    "EnergyPowder": [30],
    "Energy Root": [30],
    "Heal Powder": [30],
    "Revival Herb": [30],
    "Ether": [30],
    "Max Ether": [30],
    "Elixir": [30],
    "Max Elixir": [30],
    "Lava Cookie": [30],
    "Berry Juice": [30],
    "Sacred Ash": [30],
    "HP Up": [30],
    "Protein": [30],
    "Iron": [30],
    "Carbos": [30],
    "Calcium": [30],
    "Rare Candy": [30],
    "PP Up": [30],
    "Zinc": [30],
    "PP Max": [30],
    "Old Gateau": [30],
    "Guard Spec.": [30],
    "Dire Hit": [30],
    "X Attack": [30],
    "X Defend": [30],
    "X Speed": [30],
    "X Accuracy": [30],
    "X Special": [30],
    "X Sp. Def": [30],
    "Poké️ Doll": [30],
    "Fluffy Tail": [30],
    "Blue Flute": [30],
    "Yellow Flute": [30],
    "Red Flute": [30],
    "Black Flute": [30],
    "White Flute": [30],
    "Shoal Salt": [30],
    "Shoal Shell": [30],
    "Red Shard": [30],
    "Blue Shard": [30],
    "Yellow Shard": [30],
    "Green Shard": [30],
    "Super Repel": [30],
    "Max Repel": [30],
    "Escape Rope": [30],
    "Repel": [30],
    "Sun Stone": [30],
    "Moon Stone": [30],
    "Fire Stone": [30],
    "Thunderstone": [30],
    "Water Stone": [30],
    "Leaf Stone": [30],
    "TinyMushroom": [30],
    "Big Mushroom": [30],
    "Pearl": [30],
    "Big Pearl": [30],
    "Stardust": [30],
    "Star Piece": [30],
    "Nugget": [30],
    "Heart Scale": [30],
    "Honey": [30],
    "Growth Mulch": [30],
    "Damp Mulch": [30],
    "Stable Mulch": [30],
    "Gooey Mulch": [30],
    "Exp. Share": [30],
    "King's Rock": [30, FlinchEffect],
    "Amulet Coin": [30],
    "Cleanse Tag": [30],
    "Soul Dew": [30],
    "DeepSeaScale": [30],
    "Smoke Ball": [30],
    "Everstone": [30],
    "Lucky Egg": [30],
    "Scope Lens": [30],
    "Metal Coat": [30],
    "Dragon Scale": [30],
    "Light Ball": [30, ParalysisEffect],
    "Miracle Seed": [30],
    "BlackGlasses": [30],
    "Black Belt": [30],
    "Magnet": [30],
    "Mystic Water": [30],
    "NeverMeltIce": [30],
    "Spell Tag": [30],
    "TwistedSpoon": [30],
    "Charcoal": [30],
    "Up-Grade": [30],
    "Shell Bell": [30],
    "Light Clay": [30],
    "Life Orb": [30],
    "Toxic Orb": [30, ToxicEffect],
    "Flame Orb": [30, BurnEffect],
    "Metronome": [30],
    "Black Sludge": [30],
    "Razor Fang": [30, FlinchEffect],
    "Lucky Punch": [40],
    "Icy Rock": [40],
    "Sharp Beak": [50],
    "Dubious Disc": [50],
    "Adamant Orb": [60],
    "Lustrous Orb": [60],
    "Macho Brace": [60],
    "Stick": [60],
    "Heat Rock": [60],
    "Damp Rock": [60],
    "Poison Barb": [70, PoisonEffect],
    "Dragon Fang": [70],
    "Power Bracer": [70],
    "Power Belt": [70],
    "Power Lens": [70],
    "Power Band": [70],
    "Power Anklet": [70],
    "Power Weight": [70],
    "Shiny Stone": [80],
    "Dusk Stone": [80],
    "Dawn Stone": [80],
    "Oval Stone": [80],
    "Odd Keystone": [80],
    "Quick Claw": [80],
    "Sticky Barb": [80],
    "Protector": [80],
    "Electirizer": [80],
    "Magmarizer": [80],
    "Razor Claw": [80],
    "DeepSeaTooth": [90],
    "Thick Club": [90],
    "Grip Claw": [90],
    "Flame Plate": [90],
    "Splash Plate": [90],
    "Zap Plate": [90],
    "Meadow Plate": [90],
    "Icicle Plate": [90],
    "Fist Plate": [90],
    "Toxic Plate": [90],
    "Earth Plate": [90],
    "Sky Plate": [90],
    "Mind Plate": [90],
    "Insect Plate": [90],
    "Stone Plate": [90],
    "Spooky Plate": [90],
    "Draco Plate": [90],
    "Dread Plate": [90],
    "Iron Plate": [90],
    "Root Fossil": [100],
    "Claw Fossil": [100],
    "Helix Fossil": [100],
    "Dome Fossil": [100],
    "Old Amber": [100],
    "Armor Fossil": [100],
    "Skull Fossil": [100],
    "Rare Bone": [100],
    "Hard Stone": [100],
    "Iron Ball": [130]
};
var power_ = this.power;
this.prepareSelf = function(field, user) {
    this.power = power_;
    this.usable_ = false;
    var item = user.item && user.item.id;
    var entry = item && table_[item];
    if (entry) {
        this.usable_ = true;
        this.power = entry[0];
        this.effect_ = entry[1] ? entry[1] : null;
    }
};
this.use = function(field, user, target, targets) {
    if (!this.usable_ || user.getStatus("EmbargoEffect")) {
        field.print(Text.battle_messages(0));
        return;
    }
    field.print(Text.battle_messages_unique(157, user, user.item));
    var damage = field.calculate(this, user, target, targets);
    target.hp -= damage;
    if ((damage != 0) && !target.getStatus("EmbargoEffect")) {
        if (this.effect_ && !target.sendMessage("informSecondaryEffect")) {
            var effect = new this.effect_();
            target.applyStatus(user, effect);
        }
        var id = user.item.id;
        if (user.item.berry_ || (id == "White Herb") || (id == "Mental Herb")) {
            field.print(Text.battle_messages_unique(147, target,
                    user, user.item));
            user.item.use(target); // consumes item
        }
    }
    if (user.item) {
        user.item.consume();
    }
};
]]>
</init>
</move>

<move name="Fly" id="141">
<type>Flying</type>
<class>Physical</class>
<power>90</power>
<accuracy>0.95</accuracy>
<pp>15</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makeChargeMove(this,
        Text.battle_messages_charge.wrap(5),
        ["Gust", "Thunder", "Twister", "Sky Uppercut"]);
]]>
</init>
</move>

<move name="Focus Blast" id="142">
<type>Fighting</type>
<class>Special</class>
<power>120</power>
<accuracy>0.70</accuracy>
<pp>5</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[new StatChangeEffect(Stat.SPDEFENCE, -1), 0.1]]);
]]>
</init>
</move>

<move name="Focus Energy" id="143">
<type>Normal</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>30</pp>
<target>User</target>
<flags>
    <snatch/>
</flags>
<use>
<![CDATA[
if (user.getStatus("HighCriticalEffect")) {
    field.print(Text.battle_messages(0));
    return;
}
var effect = new StatusEffect("HighCriticalEffect");
effect.name = Text.battle_messages_unique(63);
effect.criticalModifier = function() {
    return 2;
};
user.applyStatus(user, effect);
field.print(Text.battle_messages_unique(64, user));
]]>
</use>
</move>

<move name="Focus Punch" id="144">
<type>Fighting</type>
<class>Physical</class>
<priority>-3</priority>
<power>150</power>
<accuracy>1.00</accuracy>
<pp>20</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
</flags>
<init>
<![CDATA[
this.beginTurn = function(field, user) {
    if (!user.sendMessage("informBeginTurn")) {
        field.print(Text.battle_messages_unique(22, user));
    }
    var effect = new StatusEffect("FocusPunchEffect");
    effect.vetoTier = 11;    // TODO: Get the correct tier.
    effect.tier = 0;
    effect.tick = function() {
        this.subject.removeStatus(this);
    };
    effect.informDamaged = function(user, move) {
        if (move.name != "Pain Split") {
            this.lostFocus = true;
        }
    };
    effect.vetoExecution = function(field, user, target, move) {
        if (target != null)
            return false;
        if (!this.lostFocus)
            return false;
        if (user != this.subject)
            return false;
        field.print(Text.battle_messages_unique(23, user));
        return true;
    };
    user.applyStatus(user, effect);
}
]]>
</init>
</move>

<move name="Follow Me" id="145">
<type>Normal</type>
<class>Other</class>
<priority>3</priority>
<power>0</power>
<accuracy>0</accuracy>
<pp>20</pp>
<target>User</target>
<flags>
    <unimplemented/>
</flags>
<use>
<![CDATA[

]]>
</use>
</move>

<move name="Force Palm" id="146">
<type>Fighting</type>
<class>Physical</class>
<power>60</power>
<accuracy>1.00</accuracy>
<pp>10</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[ParalysisEffect, 0.3]]);
]]>
</init>
</move>

<move name="Foresight" id="147">
<type>Normal</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>40</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeForesightMove(this, [Type.NORMAL, Type.FIGHTING]);
]]>
</init>
</move>

<move name="Frenzy Plant" id="148">
<type>Grass</type>
<class>Special</class>
<power>150</power>
<accuracy>0.90</accuracy>
<pp>5</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makeRechargeMove(this);
]]>
</init>
</move>

<move name="Frustration" id="149">
<type>Normal</type>
<class>Physical</class>
<power>1</power>
<accuracy>1.00</accuracy>
<pp>20</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
this.prepareSelf = function(field, user) {
    this.power = Math.floor((255 - user.happiness) * 2 / 5);
};
]]>
</init>
</move>


Last edited by Admin on Wed Sep 21, 2011 10:53 pm; edited 1 time in total
Back to top Go down
https://pokelabfred.forumotion.com
Admin
Admin



Posts : 22
Join date : 2011-09-21

-Moves.xml-(another huge post) Empty
PostSubject: Re: -Moves.xml-(another huge post)   -Moves.xml-(another huge post) EmptyWed Sep 21, 2011 8:28 pm

Code:

<move name="Fury Attack" id="150">
<type>Normal</type>
<class>Physical</class>
<power>15</power>
<accuracy>0.85</accuracy>
<pp>20</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makeMultipleHitMove(this);
]]>
</init>
</move>

<move name="Fury Cutter" id="151">
<type>Bug</type>
<class>Physical</class>
<power>10</power>
<accuracy>0.95</accuracy>
<pp>20</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
this.power_ = this.power;
]]>
</init>
<attemptHit>
<![CDATA[
if (field.attemptHit(this, user, target))
    return true;
var effect = user.getStatus("FuryCutterEffect");
if (effect) {
    user.removeStatus(effect);
}
return false;
]]>
</attemptHit>
<use>
<![CDATA[
var effect = user.getStatus("FuryCutterEffect");
if (!effect) {
    effect = new StatusEffect("FuryCutterEffect");
    effect.multiplier = 0;
    effect.informFreeze = effect.informSleep = function() {
        this.subject.removeStatus(this);
    };
    effect.informFinishedSubjectExecution = function(move) {
        if ((move.name == "Fury Cutter") && !this.subject.lastMove) {
            this.subject.removeStatus(this);
        }
    };
    effect = user.applyStatus(user, effect);
}
this.power = this.power_ << effect.multiplier;
var damage = field.calculate(this, user, target, targets);
if (damage == 0) {
    user.removeStatus(effect);
    return;
}
target.hp -= damage;
if (effect.multiplier < 4) {
    ++effect.multiplier;
}
]]>
</use>
</move>

<move name="Fury Swipes" id="152">
<type>Normal</type>
<class>Physical</class>
<power>18</power>
<accuracy>0.80</accuracy>
<pp>15</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makeMultipleHitMove(this);
]]>
</init>
</move>

<move name="Future Sight" id="153">
<type>Psychic</type>
<class>Special</class>
<power>80</power>
<accuracy>0.90</accuracy>
<pp>15</pp>
<target>Non-user</target>
<flags>
    <no-critical/>
</flags>
<init>
<![CDATA[
makeDelayedAttackMove(this);
]]>
</init>
</move>

<move name="Gastro Acid" id="154">
<type>Poison</type>
<class>Other</class>
<power>0</power>
<accuracy>1.00</accuracy>
<pp>10</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <reflect/>
    <memorable/>
</flags>
<use>
<![CDATA[
if (target.getStatus("GastroAcidEffect")) {
    field.print(Text.battle_messages(0));
    return;
}
var effect = new StatusEffect("GastroAcidEffect");
target.applyStatus(user, effect);
field.print(Text.battle_messages_unique(38, target));
]]>
</use>
</move>

<move name="Giga Drain" id="155">
<type>Grass</type>
<class>Special</class>
<power>60</power>
<accuracy>1.00</accuracy>
<pp>10</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeRecoilMove(this, -2);
]]>
</init>
</move>

<move name="Giga Impact" id="156">
<type>Normal</type>
<class>Physical</class>
<power>150</power>
<accuracy>0.90</accuracy>
<pp>5</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makeRechargeMove(this);
]]>
</init>
</move>

<move name="Glare" id="157">
<type>Normal</type>
<class>Other</class>
<power>0</power>
<accuracy>0.75</accuracy>
<pp>30</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <reflect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[ParalysisEffect]]);
]]>
</init>
</move>

<move name="Grass Knot" id="158">
<type>Grass</type>
<class>Special</class>
<power>1</power>
<accuracy>1.00</accuracy>
<pp>20</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makeMassBasedMove(this);
]]>
</init>
</move>

<move name="GrassWhistle" id="159">
<type>Grass</type>
<class>Other</class>
<power>0</power>
<accuracy>0.55</accuracy>
<pp>15</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <reflect/>
    <memorable/>
    <sound/>
</flags>
<init>
makeStatusMove(this, [[SleepEffect]]);
</init>
</move>

<move name="Gravity" id="160">
<type>Psychic</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>5</pp>
<target>All</target>
<flags>

</flags>
<init>
<![CDATA[
this.prepareSelf = function(field, user) {
    var effect = getGlobalController(field);
    if (effect.flags[GlobalEffect.GRAVITY]) {
        field.print(Text.battle_messages(0));
        return;
    }
    effect.applyGlobalEffect(user, GlobalEffect.GRAVITY);
    field.print(Text.battle_messages_unique(113));
};
this.use = function() {
    // Does nothing.
};
]]>
</init>
</move>

<move name="Growl" id="161">
<type>Normal</type>
<class>Other</class>
<power>0</power>
<accuracy>1.00</accuracy>
<pp>40</pp>
<target>Enemies</target>
<flags>
    <protect/>
    <reflect/>
    <memorable/>
    <sound/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[new StatChangeEffect(Stat.ATTACK, -1)]]);
]]>
</init>
</move>

<move name="Growth" id="162">
<type>Normal</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>40</pp>
<target>User</target>
<flags>
    <snatch/>
</flags>
<use>
<![CDATA[
user.applyStatus(user, new StatChangeEffect(Stat.SPATTACK, 1));
]]>
</use>
</move>

<move name="Grudge" id="163">
<type>Ghost</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>5</pp>
<target>User</target>
<flags>

</flags>
<use>
<![CDATA[
var effect = user.getStatus("GrudgeEffect");
if (effect) {
    user.removeStatus(effect);
}
effect = new StatusEffect("GrudgeEffect");
effect.name = Text.battle_messages_unique(98);
effect.turns_ = 2;
effect.informDamaged = function(user, move, damage) {
    var subject = this.subject;
    if ((subject.hp <= 0) && (damage > 0) && (user.party != subject.party)) {
        var turn = user.turn;
        if (turn) {
            move = user.getMove(turn.move);
            user.setPp(move, 0);
            field.print(Text.battle_messages_unique(100, move));
        }
    }
};
effect.informFinishedSubjectExecution = function() {
    if (--this.turns_ == 0) {
        this.subject.removeStatus(this);
    }
};
user.applyStatus(user, effect);
field.print(Text.battle_messages_unique(99, user));
]]>
</use>
</move>

<move name="Guard Swap" id="164">
<type>Psychic</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>10</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatLevelSwapMove(this, [Stat.DEFENCE, Stat.SPDEFENCE]);
]]>
</init>
</move>

<move name="Guillotine" id="165">
<type>Normal</type>
<class>Physical</class>
<power>1</power>
<accuracy>0.30</accuracy>
<pp>5</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeOneHitKillMove(this);
]]>
</init>
</move>

<move name="Gunk Shot" id="166">
<type>Poison</type>
<class>Physical</class>
<power>120</power>
<accuracy>0.70</accuracy>
<pp>5</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[PoisonEffect, 0.3]]);
]]>
</init>
</move>

<move name="Gust" id="167">
<type>Flying</type>
<class>Special</class>
<power>40</power>
<accuracy>1.00</accuracy>
<pp>35</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
this.power_ = this.power;
]]>
</init>
<use>
<![CDATA[
this.power = this.power_;
var effect = target.getStatus("ChargeMoveEffect");
if (effect) {
    var name = effect.move.name;
    if ((name == "Fly") || (name == "Bounce")) {
        this.power *= 2;
    }
}
target.hp -= field.calculate(this, user, target, targets);
]]>
</use>
</move>

<move name="Gyro Ball" id="168">
<type>Steel</type>
<class>Physical</class>
<power>1</power>
<accuracy>1.00</accuracy>
<pp>5</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<use>
<![CDATA[
var speed = user.getStat(Stat.SPEED);
if (speed < 1) speed = 1;
this.power = Math.floor((target.getStat(Stat.SPEED) * 25) / speed) + 1;
if (this.power > 150) {
    this.power = 150;
}
target.hp -= field.calculate(this, user, target, targets);
]]>
</use>
</move>

<move name="Hail" id="169">
<type>Ice</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>10</pp>
<target>All</target>
<flags>

</flags>
<init>
<![CDATA[
makeWeatherMove(this, GlobalEffect.HAIL);
]]>
</init>
</move>

<move name="Hammer Arm" id="170">
<type>Fighting</type>
<class>Physical</class>
<power>100</power>
<accuracy>0.90</accuracy>
<pp>10</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[new StatChangeEffect(Stat.SPEED, -1), 1, true]]);
]]>
</init>
</move>

<move name="Harden" id="171">
<type>Normal</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>30</pp>
<target>User</target>
<flags>
    <snatch/>
</flags>
<use>
<![CDATA[
user.applyStatus(user, new StatChangeEffect(Stat.DEFENCE, 1));
]]>
</use>
</move>

<move name="Haze" id="172">
<type>Ice</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>30</pp>
<target>All</target>
<flags>

</flags>
<!--
    TODO: This move might have a message in prepareSelf.
-->
<use>
<![CDATA[
var effect = null;
while (effect = target.getStatus("StatChangeEffect")) {
    target.removeStatus(effect);
}
]]>
</use>
</move>

<move name="Head Smash" id="173">
<type>Rock</type>
<class>Physical</class>
<power>150</power>
<accuracy>0.80</accuracy>
<pp>5</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makeRecoilMove(this, 2);
]]>
</init>
</move>

<move name="Headbutt" id="174">
<type>Normal</type>
<class>Physical</class>
<power>70</power>
<accuracy>1.00</accuracy>
<pp>15</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[FlinchEffect, 0.3]]);
]]>
</init>
</move>

<move name="Heal Bell" id="175">
<type>Normal</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>5</pp>
<target>Allies</target>
<flags>
    <snatch/>
    <sound/>
</flags>
<init>
<![CDATA[
makeStatusCureMove(this);
]]>
</init>
</move>

<move name="Heal Block" id="176">
<type>Psychic</type>
<class>Other</class>
<power>0</power>
<accuracy>1.00</accuracy>
<pp>15</pp>
<target>Enemies</target>
<flags>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
this.forbidden_ = ["Heal Order", "Milk Drink", "Moonlight", "Morning Sun",
                  "Recover", "Rest", "Roost", "Slack Off", "Softboiled",
                  "Swallow", "Synthesis", "Wish"];
]]>
</init>
<use>
<![CDATA[
// TODO: Handle interaction with Big Root (they both use the same message)!
if (target.getStatus("HealBlockEffect")) {
    field.print(Text.battle_messages(0));
    return;
}
var effect = new StatusEffect("HealBlockEffect");
effect.name = Text.battle_messages_unique(126);
effect.radius = StatusEffect.RADIUS_GLOBAL;
effect.vetoTier = 4;
// TODO: Get the correct tier for Heal Block. Note that it actually matters
//      whether Heal Block is before or after Aqua Ring / Ingrain healing.
effect.tier = 6;
effect.subtier = 3;
effect.turns = 5;
var forbidden_ = this.forbidden_;
effect.vetoSelection = function(user, move) {
    if (user != this.subject)
        return false;
    return (forbidden_.indexOf(move.name) != -1);
};
effect.vetoExecution = function(field, user, target, move) {
    if (target != null)
        return false;
    if (user != this.subject)
        return false;
    if (forbidden_.indexOf(move.name) == -1)
        return false;
    field.print(Text.battle_messages_unique(128, this.subject, move));
    return true;
};
effect.tick = function() {
    if (--this.turns <= 0) {
        field.print(Text.battle_messages_unique(129, this.subject));
        this.subject.removeStatus(this);
    }
};
effect.informRecoilDamage = function(recoil) {
    return (recoil < 0);
};
effect.informHealing = function() {
    return true;
};
target.applyStatus(user, effect);
field.print(Text.battle_messages_unique(127, target));
]]>
</use>
</move>

<move name="Heal Order" id="177">
<type>Bug</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>10</pp>
<target>User</target>
<flags>
    <snatch/>
</flags>
<init>
<![CDATA[
makeRecoveryMove(this);
]]>
</init>
</move>

<move name="Healing Wish" id="178">
<type>Psychic</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>10</pp>
<target>User</target>
<flags>

</flags>
<init>
<![CDATA[
makeSacrificeMove(this, function(field, p) {
    p.hp = p.getStat(Stat.HP);
    var effect = p.getStatus(StatusEffect.SPECIAL_EFFECT);
    if (effect) {
        field.print(Text.battle_messages_unique(1, p, effect));
        p.removeStatus(effect);
    }
});
]]>
</init>
</move>

<move name="Heart Swap" id="179">
<type>Psychic</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>10</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatLevelSwapMove(this, [Stat.ATTACK, Stat.DEFENCE, Stat.SPEED,
                            Stat.SPATTACK, Stat.SPDEFENCE, Stat.ACCURACY,
                            Stat.EVASION]);
]]>
</init>
</move>

<move name="Heat Wave" id="180">
<type>Fire</type>
<class>Special</class>
<power>100</power>
<accuracy>0.90</accuracy>
<pp>10</pp>
<target>Enemies</target>
<flags>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[BurnEffect, 0.1]]);
]]>
</init>
</move>

<move name="Helping Hand" id="181">
<type>Normal</type>
<class>Other</class>
<priority>5</priority>
<power>0</power>
<accuracy>0</accuracy>
<pp>20</pp>
<target>Ally</target>
<flags>

</flags>
<use>
<![CDATA[
if ((user == target) || !target.turn || target.getStatus("HelpingHandEffect")) {
    field.print(Text.battle_messages(0));
    return;
}
var effect = new StatusEffect("HelpingHandEffect");
// @mod 0, -1, Helping Hand
effect.modifier = function(field, user, target, move, critical) {
    if (user != this.subject)
        return null;
    return [0, 1.5, -1];
};
effect.informFinishedSubjectExecution = function() {
    this.subject.removeStatus(this);
};
target.applyStatus(user, effect);
field.print(Text.battle_messages_unique(93, user, target));
]]>
</use>
</move>

<move name="Hi Jump Kick" id="182">
<type>Fighting</type>
<class>Physical</class>
<power>100</power>
<accuracy>0.90</accuracy>
<pp>20</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makeJumpKickMove(this);
]]>
</init>
</move>

<move name="Hidden Power" id="183">
<type>Normal</type>
<class>Special</class>
<power>1</power>
<accuracy>1.00</accuracy>
<pp>15</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
var types_ = [
        Type.FIGHTING,
        Type.FLYING,
        Type.POISON,
        Type.GROUND,
        Type.ROCK,
        Type.BUG,
        Type.GHOST,
        Type.STEEL,
        Type.FIRE,
        Type.WATER,
        Type.GRASS,
        Type.ELECTRIC,
        Type.PSYCHIC,
        Type.ICE,
        Type.DRAGON,
        Type.DARK
    ];
this.prepareSelf = function(field, user) {
    var power = 0;
    var type = 0;
    var ivs = user.iv;
    for (var i = 0; i < 6; ++i) {
        var iv = ivs[i];
        var increment = 1 << i;
        if (iv % 2) {
            type += increment;
        }
        if (((iv % 4) == 2) || ((iv % 4) == 3)) {
            power += increment;
        }
    }
    this.power = Math.floor(power * 40.0 / 63.0 + 30.0);
    type = Math.floor(type * 15 / 63);
    this.type = types_[type];
};
]]>
</init>
</move>

<move name="Horn Attack" id="184">
<type>Normal</type>
<class>Physical</class>
<power>65</power>
<accuracy>1.00</accuracy>
<pp>25</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
</move>

<move name="Horn Drill" id="185">
<type>Normal</type>
<class>Physical</class>
<power>1</power>
<accuracy>0.30</accuracy>
<pp>5</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeOneHitKillMove(this);
]]>
</init>
</move>

<move name="Howl" id="186">
<type>Normal</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>40</pp>
<target>User</target>
<flags>
    <snatch/>
</flags>
<use>
<![CDATA[
user.applyStatus(user, new StatChangeEffect(Stat.ATTACK, 1));
]]>
</use>
</move>

<move name="Hydro Cannon" id="187">
<type>Water</type>
<class>Special</class>
<power>150</power>
<accuracy>0.90</accuracy>
<pp>5</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makeRechargeMove(this);
]]>
</init>
</move>

<move name="Hydro Pump" id="188">
<type>Water</type>
<class>Special</class>
<power>120</power>
<accuracy>0.80</accuracy>
<pp>5</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
</move>

<move name="Hyper Beam" id="189">
<type>Normal</type>
<class>Special</class>
<power>150</power>
<accuracy>0.90</accuracy>
<pp>5</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makeRechargeMove(this);
]]>
</init>
</move>

<move name="Hyper Fang" id="190">
<type>Normal</type>
<class>Physical</class>
<power>80</power>
<accuracy>0.90</accuracy>
<pp>15</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[FlinchEffect, 0.1]]);
]]>
</init>
</move>

<move name="Hyper Voice" id="191">
<type>Normal</type>
<class>Special</class>
<power>90</power>
<accuracy>1.00</accuracy>
<pp>10</pp>
<target>Enemies</target>
<flags>
    <protect/>
    <memorable/>
    <sound/>
</flags>
</move>

<move name="Hypnosis" id="192">
<type>Psychic</type>
<class>Other</class>
<power>0</power>
<accuracy>0.60</accuracy>
<pp>20</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <reflect/>
    <memorable/>
</flags>
<init>
// TODO: generation-specific accuracy
makeStatusMove(this, [[SleepEffect]]);
</init>
</move>

<move name="Ice Ball" id="193">
<type>Ice</type>
<class>Physical</class>
<power>30</power>
<accuracy>0.90</accuracy>
<pp>20</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makeMomentumMove(this);
]]>
</init>
</move>

<move name="Ice Beam" id="194">
<type>Ice</type>
<class>Special</class>
<power>95</power>
<accuracy>1.00</accuracy>
<pp>10</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[FreezeEffect, 0.1]]);
]]>
</init>
</move>

<move name="Ice Fang" id="195">
<type>Ice</type>
<class>Physical</class>
<power>65</power>
<accuracy>0.95</accuracy>
<pp>15</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[FlinchEffect, 0.1], [FreezeEffect, 0.1]]);
]]>
</init>
</move>

<move name="Ice Punch" id="196">
<type>Ice</type>
<class>Physical</class>
<power>75</power>
<accuracy>1.00</accuracy>
<pp>15</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[FreezeEffect, 0.1]]);
]]>
</init>
</move>

<move name="Ice Shard" id="197">
<type>Ice</type>
<class>Physical</class>
<priority>1</priority>
<power>40</power>
<accuracy>1.00</accuracy>
<pp>30</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
</move>

<move name="Icicle Spear" id="198">
<type>Ice</type>
<class>Physical</class>
<power>10</power>
<accuracy>1.00</accuracy>
<pp>30</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makeMultipleHitMove(this);
]]>
</init>
</move>

<move name="Icy Wind" id="199">
<type>Ice</type>
<class>Special</class>
<power>55</power>
<accuracy>0.95</accuracy>
<pp>15</pp>
<target>Enemies</target>
<flags>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[new StatChangeEffect(Stat.SPEED, -1), 1.0]]);
]]>
</init>
</move>


Last edited by Admin on Wed Sep 21, 2011 10:54 pm; edited 1 time in total
Back to top Go down
https://pokelabfred.forumotion.com
Admin
Admin



Posts : 22
Join date : 2011-09-21

-Moves.xml-(another huge post) Empty
PostSubject: Re: -Moves.xml-(another huge post)   -Moves.xml-(another huge post) EmptyWed Sep 21, 2011 8:28 pm

Code:

<move name="Imprison" id="200">
<type>Psychic</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>10</pp>
<target>User</target>
<flags>

</flags>
<use>
<![CDATA[
if (user.getStatus("ImprisonEffect")) {
    field.print(Text.battle_messages(0));
    return;
}
var moves = [];
for (var i = 0; i < user.moveCount; ++i) {
    moves.push(user.getMove(i));
}
var success = false;
var party = 1 - user.party;
for (var i = 0; i < field.partySize; ++i) {
    var p = field.getActivePokemon(party, i);
    if (p) {
        moves.forEach(function(move) {
            if (p.getPp(move) != -1) {
                success = true;
            }
        });
    }
}
if (!success) {
    field.print(Text.battle_messages(0));
    return;
}
var effect = new StatusEffect("ImprisonEffect");
effect.name = Text.battle_messages_unique(101);
effect.radius = StatusEffect.RADIUS_ENEMY_PARTY;
effect.vetoTier = 3;
effect.vetoExecution = function(field, user, target, move) {
    if (user.party == this.subject.party)
        return false;
    if (target != null)
        return false;
    if (this.subject.getPp(move) == -1)
        return false;
    field.print(Text.battle_messages_unique(148, user, move));
    return true;
};
effect.vetoSelection = function(user, move) {
    if (user.party == this.subject.party)
        return false;
    if (this.subject.getPp(move) == -1)
        return false;
    return true;
};
user.applyStatus(user, effect);
field.print(Text.battle_messages_unique(102, user));
]]>
</use>
</move>

<move name="Ingrain" id="201">
<type>Grass</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>20</pp>
<target>User</target>
<flags>
    <snatch/>
</flags>
<use>
<![CDATA[
if (user.getStatus("IngrainEffect")) {
    field.print(Text.battle_messages(0));
    return;
}
var move_ = this;
var effect = new StatusEffect("IngrainEffect");
effect.name = Text.battle_messages_unique(142);
effect.tier = 6;
effect.subtier = 1;
effect.tick = function() {
    var max = this.subject.getStat(Stat.HP);
    if (this.subject.hp == max)
        return;
    var delta = Math.floor(max / 16);
    if (this.subject.sendMessage("informRecoilDamage", -delta, move_))
        return;
    var adjusted = this.subject.sendMessage("informAbsorbHealth", this.subject, delta);
    if (adjusted)
        delta = adjusted;
    field.print(Text.battle_messages_unique(144, this.subject));
    this.subject.hp += delta;
};
effect.vulnerability = function(user, target) {
    if (target != this.subject)
        return -1;
    return Type.GROUND;
};
effect.vetoSwitch = function(subject) {
    return (subject == this.subject);
};
effect.informRandomSwitch = function() {
    // Block Roar and Whirlwind.
    return true;
};
user.applyStatus(user, effect);
field.print(Text.battle_messages_unique(143, user));
]]>
</use>
</move>

<move name="Iron Defense" id="202">
<type>Steel</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>15</pp>
<target>User</target>
<flags>
    <snatch/>
</flags>
<use>
<![CDATA[
user.applyStatus(user, new StatChangeEffect(Stat.DEFENCE, 2));
]]>
</use>
</move>

<move name="Iron Head" id="203">
<type>Steel</type>
<class>Physical</class>
<power>80</power>
<accuracy>1.00</accuracy>
<pp>15</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[FlinchEffect, 0.3]]);
]]>
</init>
</move>

<move name="Iron Tail" id="204">
<type>Steel</type>
<class>Physical</class>
<power>100</power>
<accuracy>0.75</accuracy>
<pp>15</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[new StatChangeEffect(Stat.DEFENCE, -1), 0.3]]);
]]>
</init>
</move>

<move name="Judgment" id="205">
<type>Normal</type>
<class>Special</class>
<power>100</power>
<accuracy>1.00</accuracy>
<pp>10</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
var type_ = this.type;
this.prepareSelf = function(field, user) {
    this.type = (user.item && user.item.plate_ && user.item.type_) || type_;
};
]]>
</init>
</move>

<move name="Jump Kick" id="206">
<type>Fighting</type>
<class>Physical</class>
<power>85</power>
<accuracy>0.95</accuracy>
<pp>25</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makeJumpKickMove(this);
]]>
</init>
</move>

<move name="Karate Chop" id="207">
<type>Fighting</type>
<class>Physical</class>
<power>50</power>
<accuracy>1.00</accuracy>
<pp>25</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
    <high-critical/>
</flags>
</move>

<move name="Kinesis" id="208">
<type>Psychic</type>
<class>Other</class>
<power>0</power>
<accuracy>0.80</accuracy>
<pp>15</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <reflect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[new StatChangeEffect(Stat.ACCURACY, -1)]]);
]]>
</init>
</move>

<move name="Knock Off" id="209">
<type>Dark</type>
<class>Physical</class>
<power>20</power>
<accuracy>1.00</accuracy>
<pp>20</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
</flags>
<use>
<![CDATA[
var damage = field.calculate(this, user, target, targets);
if (damage) {
    target.hp -= damage;
    if (target.item && !target.sendMessage("informRemoveItem")) {
        field.print(Text.battle_messages_unique(12, user, target, target.item));
        target.item = null;
    }
}
]]>
</use>
</move>

<move name="Last Resort" id="210">
<type>Normal</type>
<class>Physical</class>
<power>130</power>
<accuracy>1.00</accuracy>
<pp>5</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<use>
<![CDATA[
var usable = false;
var count = user.moveCount;
if (count != 1) {
    usable = true;
    for (var i = 0; i < count; ++i) {
        if (user.getMove(i) != this) {
            if (!user.isMoveUsed(i)) {
                usable = false;
                break;
            }
        }
    }
}
if (usable) {
    target.hp -= field.calculate(this, user, target, targets);
} else {
    field.print(Text.battle_messages(0));
}
]]>
</use>
</move>

<move name="Lava Plume" id="211">
<type>Fire</type>
<class>Special</class>
<power>80</power>
<accuracy>1.00</accuracy>
<pp>15</pp>
<target>Others</target>
<flags>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[BurnEffect, 0.3]]);
]]>
</init>
</move>

<!--
    TODO: This move has lower power (70) in RSE.
-->
<move name="Leaf Blade" id="212">
<type>Grass</type>
<class>Physical</class>
<power>90</power>
<accuracy>1.00</accuracy>
<pp>15</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
    <high-critical/>
</flags>
</move>

<move name="Leaf Storm" id="213">
<type>Grass</type>
<class>Special</class>
<power>140</power>
<accuracy>0.90</accuracy>
<pp>5</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[new StatChangeEffect(Stat.SPATTACK, -2), 1, true]]);
]]>
</init>
</move>

<move name="Leech Life" id="214">
<type>Bug</type>
<class>Physical</class>
<power>20</power>
<accuracy>1.00</accuracy>
<pp>15</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeRecoilMove(this, -2);
]]>
</init>
</move>

<move name="Leech Seed" id="215">
<type>Grass</type>
<class>Other</class>
<power>0</power>
<accuracy>0.90</accuracy>
<pp>10</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <reflect/>
    <memorable/>
</flags>
<use>
<![CDATA[
if (target.getStatus("LeechSeedEffect") || target.isType(Type.GRASS)) {
    field.print(Text.battle_messages(0));
    return;
}
var party_ = user.party;
var position_ = user.position;
var effect = new StatusEffect("LeechSeedEffect");
effect.name = Text.status_effects_leech_seed(0);
effect.tier = 6;
effect.subtier = 3;
effect.tick = function() {
    var p = field.getActivePokemon(party_, position_);
    if (!p) return;
    field.print(Text.status_effects_leech_seed(2, this.subject));
    var damage = Math.floor(this.subject.getStat(Stat.HP) / 8);
    if (damage < 1) damage = 1;
    this.subject.hp -= damage;
    if (target.sendMessage("informDrainHealth", p, damage))
        return;
    var adjusted = this.subject.sendMessage("informAbsorbHealth",
            this.subject, damage);
    if (adjusted) {
        damage = adjusted;
    }
    p.hp += damage;
};
target.applyStatus(user, effect);
field.print(Text.status_effects_leech_seed(1, target));
]]>
</use>
</move>

<move name="Leer" id="216">
<type>Normal</type>
<class>Other</class>
<power>0</power>
<accuracy>1.00</accuracy>
<pp>30</pp>
<target>Enemies</target>
<flags>
    <protect/>
    <reflect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[new StatChangeEffect(Stat.DEFENCE, -1)]]);
]]>
</init>
</move>

<move name="Lick" id="217">
<type>Ghost</type>
<class>Physical</class>
<power>20</power>
<accuracy>1.00</accuracy>
<pp>30</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[ParalysisEffect, 0.3]]);
]]>
</init>
</move>

<move name="Light Screen" id="218">
<type>Psychic</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>30</pp>
<target>Allies</target>
<flags>
    <snatch/>
</flags>
<init>
<![CDATA[
makePartyBuffMove(this, MoveClass.SPECIAL);
]]>
</init>
</move>

<move name="Lock-On" id="219">
<type>Normal</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>5</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeLockOnMove(this);
]]>
</init>
</move>

<move name="Lovely Kiss" id="220">
<type>Normal</type>
<class>Other</class>
<power>0</power>
<accuracy>0.75</accuracy>
<pp>10</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <reflect/>
    <memorable/>
</flags>
<init>
makeStatusMove(this, [[SleepEffect]]);
</init>
</move>

<move name="Low Kick" id="221">
<type>Fighting</type>
<class>Physical</class>
<power>1</power>
<accuracy>1.00</accuracy>
<pp>20</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makeMassBasedMove(this);
]]>
</init>
</move>

<move name="Lucky Chant" id="222">
<type>Normal</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>30</pp>
<target>Allies</target>
<flags>

</flags>
<init>
<![CDATA[
this.prepareSelf = function(field, user) {
    if (user.getStatus("LuckyChantEffect")) {
        field.print(Text.battle_messages(0));
        return;
    }
    var effect = new StatusEffect("LuckyChantEffect");
    effect.name = Text.battle_messages_unique(123);
    effect.radius = StatusEffect.RADIUS_USER_PARTY;
    effect.turns = 5;
    var party_ = user.party;
    effect.applyEffect = function() {
        return (this.subject.party == party_);
    };
    effect.beginTick = function() {
        if (--this.turns != 0)
            return;
        field.print(Text.battle_messages_unique(125));
        field.removeStatus(this);
    };
    effect.informAttemptCritical = function() {
        return true;
    };
    field.print(Text.battle_messages_unique(124, user));
    field.applyStatus(effect);
};
this.use = function() {
    // Does nothing.
};
]]>
</init>
</move>

<move name="Lunar Dance" id="223">
<type>Psychic</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>10</pp>
<target>User</target>
<flags>

</flags>
<init>
<![CDATA[
makeSacrificeMove(this, function(field, p) {
    p.hp = p.getStat(Stat.HP);
    var effect = p.getStatus(StatusEffect.SPECIAL_EFFECT);
    if (effect) {
        field.print(Text.battle_messages_unique(1, p, effect));
        p.removeStatus(effect);
    }
    for (var i = 0; i < p.moveCount; ++i) {
        var move = p.getMove(i);
        p.setPp(move, p.getMaxPp(move));
    }
});
]]>
</init>
</move>

<move name="Luster Purge" id="224">
<type>Psychic</type>
<class>Special</class>
<power>70</power>
<accuracy>1.00</accuracy>
<pp>5</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[new StatChangeEffect(Stat.SPDEFENCE, -1), 0.5]]);
]]>
</init>
</move>

<move name="Mach Punch" id="225">
<type>Fighting</type>
<class>Physical</class>
<priority>1</priority>
<power>40</power>
<accuracy>1.00</accuracy>
<pp>30</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
</move>

<move name="Magic Coat" id="226">
<type>Psychic</type>
<class>Other</class>
<priority>4</priority>
<power>0</power>
<accuracy>0</accuracy>
<pp>15</pp>
<target>None</target>
<flags>

</flags>
<use>
<![CDATA[
var effect = new StatusEffect("MagicCoatEffect");
effect.tier = 0;
effect.vetoExecution = function(field, user, target, move) {
    if (target != this.subject)
        return false;
    if (!move.flags[Flag.REFLECT])
        return false;
    if (move.prepareSelf) {
        move.prepareSelf(field, target, user);
    }
    if (move.use) {
        move.use(field, target, user, 1);
    }
    return true;
};
effect.tick = function() {
    this.subject.removeStatus(this);
};
user.applyStatus(user, effect);
field.print(Text.battle_messages_unique(43, user));
]]>
</use>
</move>

<move name="Magical Leaf" id="227">
<type>Grass</type>
<class>Special</class>
<power>60</power>
<accuracy>0</accuracy>
<pp>20</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
</move>

<move name="Magma Storm" id="228">
<type>Fire</type>
<class>Special</class>
<power>120</power>
<accuracy>0.70</accuracy>
<pp>5</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makeTemporaryTrappingMove(this, Text.battle_messages_unique.wrap(74));
]]>
</init>
</move>

<move name="Magnet Bomb" id="229">
<type>Steel</type>
<class>Physical</class>
<power>60</power>
<accuracy>0</accuracy>
<pp>20</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
</move>

<move name="Magnet Rise" id="230">
<type>Electric</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>10</pp>
<target>User</target>
<flags>

</flags>
<use>
<![CDATA[
if (user.getStatus("MagnetRiseEffect")
        || user.getStatus("IngrainEffect")
        || user.hasAbility("Levitate")) {
    field.print(Text.battle_messages(0));
    return;
}
var effect = new StatusEffect("MagnetRiseEffect");
effect.name = Text.battle_messages_unique(130);
effect.tier = 0;
effect.turns = 5;
effect.immunity = function(user, target) {
    if (target != this.subject)
        return -1;
    return Type.GROUND;
};
effect.tick = function() {
    if (--this.turns <= 0) {
        field.print(Text.battle_messages_unique(132, this.subject));
        this.subject.removeStatus(this);
    }
};
user.applyStatus(user, effect);
field.print(Text.battle_messages_unique(131, user));
]]>
</use>
</move>

<move name="Magnitude" id="231">
<type>Ground</type>
<class>Physical</class>
<power>1</power>
<accuracy>1.00</accuracy>
<pp>30</pp>
<target>Others</target>
<flags>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
this.prepareSelf = function(field, user) {
    var magnitude;
    var rand = field.random(0, 100);
    if (rand < 5) {
        this.power_ = 10;
        magnitude = 4;
    } else if (rand < 15) {
        this.power_ = 30;
        magnitude = 5;
    } else if (rand < 35) {
        this.power_ = 50;
        magnitude = 6;
    } else if (rand < 65) {
        this.power_ = 70;
        magnitude = 7;
    } else if (rand < 85) {
        this.power_ = 90;
        magnitude = 8;
    } else if (rand < 95) {
        this.power_ = 110;
        magnitude = 9;
    } else {
        this.power_ = 150;
        magnitude = 10;
    }
    field.print(Text.battle_messages_unique(14, magnitude));
};
]]>
</init>
<use>
<![CDATA[
this.power = this.power_;
var effect = target.getStatus("ChargeMoveEffect");
if (effect && (effect.move.name == "Dig")) {
    this.power *= 2;
}
target.hp -= field.calculate(this, user, target, targets);
]]>
</use>
</move>

<move name="Me First" id="232">
<type>Normal</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>20</pp>
<target>Enemy</target>
<flags>
    <protect/>
</flags>
<init>
<![CDATA[
this.forbidden_ = ["Counter", "Mirror Coat", "Thief", "Covet",
                  "Focus Punch", "Chatter"];
]]>
</init>
<use>
<![CDATA[
var turn = target.turn;
if (!turn) {
    // The target has already processed its turn, so Me First fails.
    field.print(Text.battle_messages(0));
    return;
}
/**
 * TODO: RESEARCH QUESTION
 * Does Me First fail if the target has a forced move and did not select its
 * move freely?
 */
var move = target.getMove(turn.move);
if ((move.moveClass == MoveClass.OTHER) ||
        (this.forbidden_.indexOf(move.name) != -1)) {
    field.print(Text.battle_messages(0));
    return;
}
var effect = new StatusEffect("MeFirstEffect");
// @mod 2, 1, Me First
effect.modifier = function(field, user) {
    if (user != this.subject)
        return null;
    return [2, 1.5, 1];
};
effect = user.applyStatus(user, effect);
user.execute(move);
user.removeStatus(effect);
]]>
</use>
</move>

<move name="Mean Look" id="233">
<type>Normal</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>5</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <reflect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeTrappingMove(this);
]]>
</init>
</move>

<move name="Meditate" id="234">
<type>Psychic</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>40</pp>
<target>User</target>
<flags>
    <snatch/>
</flags>
<use>
<![CDATA[
user.applyStatus(user, new StatChangeEffect(Stat.ATTACK, 1));
]]>
</use>
</move>

<move name="Mega Drain" id="235">
<type>Grass</type>
<class>Special</class>
<power>40</power>
<accuracy>1.00</accuracy>
<pp>15</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeRecoilMove(this, -2);
]]>
</init>
</move>

<move name="Mega Kick" id="236">
<type>Normal</type>
<class>Physical</class>
<power>120</power>
<accuracy>0.75</accuracy>
<pp>5</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
</move>

<move name="Mega Punch" id="237">
<type>Normal</type>
<class>Physical</class>
<power>80</power>
<accuracy>0.85</accuracy>
<pp>20</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
</move>

<move name="Megahorn" id="238">
<type>Bug</type>
<class>Physical</class>
<power>120</power>
<accuracy>0.85</accuracy>
<pp>10</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
</move>

<move name="Memento" id="239">
<type>Dark</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>10</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[new StatChangeEffect(Stat.ATTACK, -2)],
        [new StatChangeEffect(Stat.SPATTACK, -2)]]);
this.prepareSelf = function(field, user) {
    user.faint();
};
]]>
</init>
</move>

<move name="Metal Burst" id="240">
<type>Steel</type>
<class>Physical</class>
<power>1</power>
<accuracy>1.00</accuracy>
<pp>10</pp>
<target>None</target>
<flags>
    <memorable/>
</flags>
<init>
makeCounterMove(this, undefined, 1.5);
</init>
</move>

<move name="Metal Claw" id="241">
<type>Steel</type>
<class>Physical</class>
<power>50</power>
<accuracy>0.95</accuracy>
<pp>35</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[new StatChangeEffect(Stat.ATTACK, 1), 0.1, true]]);
]]>
</init>
</move>

<move name="Metal Sound" id="242">
<type>Steel</type>
<class>Other</class>
<power>0</power>
<accuracy>0.85</accuracy>
<pp>40</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <reflect/>
    <memorable/>
    <sound/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[new StatChangeEffect(Stat.SPDEFENCE, -2)]]);
]]>
</init>
</move>

<move name="Meteor Mash" id="243">
<type>Steel</type>
<class>Physical</class>
<power>100</power>
<accuracy>0.85</accuracy>
<pp>10</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[new StatChangeEffect(Stat.ATTACK, 1), 0.2, true]]);
]]>
</init>
</move>

<move name="Metronome" id="244">
<type>Normal</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>10</pp>
<target>None</target>
<flags>

</flags>
<use>
<![CDATA[
var forbidden = ["Metronome", "Struggle", "Sketch", "Mimic", "Chatter",
                "Sleep Talk", "Assist", "Mirror Move", "Counter",
                "Mirror Coat", "Protect", "Detect", "Endure", "Destiny Bond",
                "Thief", "Follow Me", "Snatch", "Helping Hand", "Covet",
                "Trick", "Focus Punch", "Feint", "Copycat", "Me First",
                "Switcheroo"];
for (var i = 0; i < user.moveCount; ++i) {
    var move = user.getMove(i);
    forbidden.push(move.name);
}
var length = field.getMoveCount();
var move = null;
while (!move || (forbidden.indexOf(move.name) != -1)
        || move.flags[Flag.INTERNAL]) {
    move = field.getMove(field.random(0, length - 1));
}
user.execute(move);
]]>
</use>
</move>

<move name="Milk Drink" id="245">
<type>Normal</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>10</pp>
<target>User</target>
<flags>
    <snatch/>
</flags>
<init>
<![CDATA[
makeRecoveryMove(this);
]]>
</init>
</move>

<move name="Mimic" id="246">
<type>Normal</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>10</pp>
<target>Non-user</target>
<flags>
    <protect/>
</flags>
<init>
<![CDATA[
this.forbidden_ = ["Metronome", "Struggle", "Sketch", "Mimic", "Chatter"];
]]>
</init>
<use>
<![CDATA[
var move = target.lastMove;
if (user.getStatus("TransformEffect") || !move
        || (this.forbidden_.indexOf(move.name) != -1)
        || (user.getPp(move) != -1)) {
    field.print(Text.battle_messages(0));
    return;
}
var id_ = user.getMoveId(this);
var original_ = user.getMove(id_);
var pp_ = user.getPp(original_);
var maxPp_ = user.getMaxPp(original_);
var effect = new StatusEffect("MimicEffect");
effect.unapplyEffect = function() {
    this.subject.setMove(id_, original_, pp_, maxPp_);
};
user.applyStatus(user, effect);
user.setMove(id_, move, 5, 5);
field.print(Text.battle_messages_unique(37, user, move));
]]>
</use>
</move>

<move name="Mind Reader" id="247">
<type>Normal</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>40</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeLockOnMove(this);
]]>
</init>
</move>

<move name="Minimize" id="248">
<type>Normal</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>20</pp>
<target>User</target>
<flags>
    <snatch/>
</flags>
<init>
this.isEvasionMove_ = true;
</init>
<use>
<![CDATA[
user.applyStatus(user, new StatChangeEffect(Stat.EVASION, 1));
var effect = new StatusEffect("MinimiseEffect");
user.applyStatus(user, effect);
]]>
</use>
</move>

<move name="Miracle Eye" id="249">
<type>Psychic</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>40</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeForesightMove(this, [Type.PSYCHIC]);
]]>
</init>
</move>
Back to top Go down
https://pokelabfred.forumotion.com
Admin
Admin



Posts : 22
Join date : 2011-09-21

-Moves.xml-(another huge post) Empty
PostSubject: Re: -Moves.xml-(another huge post)   -Moves.xml-(another huge post) EmptyWed Sep 21, 2011 10:57 pm

Code:
<move name="Mirror Coat" id="250">
<type>Psychic</type>
<class>Special</class>
<priority>-5</priority>
<power>1</power>
<accuracy>1.00</accuracy>
<pp>20</pp>
<target>None</target>
<flags>

</flags>
<init>
makeCounterMove(this, MoveClass.SPECIAL, 2);
</init>
</move>

<move name="Mirror Move" id="251">
<type>Flying</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>20</pp>
<target>None</target>
<flags>

</flags>
<use>
<![CDATA[
var move = user.memory;
if ((move == null) || (move.name == "Encore")) {
    // Note: Mirror Move specifically fails when copying Encore
    field.print(Text.battle_messages(0));
    return;
}

// Execute the move on a randomised target.
user.execute(move);
]]>
</use>
</move>

<move name="Mirror Shot" id="252">
<type>Steel</type>
<class>Special</class>
<power>65</power>
<accuracy>0.85</accuracy>
<pp>10</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[new StatChangeEffect(Stat.ACCURACY, -1), 0.3]]);
]]>
</init>
</move>

<move name="Mist" id="253">
<type>Ice</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>30</pp>
<target>Allies</target>
<flags>
    <snatch/>
</flags>
<init>
<![CDATA[
this.prepareSelf = function(field, user) {
    if (user.getStatus("MistEffect")) {
        field.print(Text.battle_messages(0));
        return;
    }
    var effect = new StatusEffect("MistEffect");
    effect.name = Text.battle_messages_unique(106);
    effect.radius = StatusEffect.RADIUS_USER_PARTY;
    effect.turns = 5;
    var party_ = user.party;
    effect.applyEffect = function() {
        return (this.subject.party == party_);
    };
    effect.beginTick = function() {
        if (--this.turns != 0)
            return;
        // TODO: Reference trainer name in the message.
        field.print(Text.battle_messages_unique(108, this.subject));
        field.removeStatus(this);
    };
    effect.transformStatus = function(subject, status) {
        if (subject.party != party_)
            return status;
        if (status.inducer == subject)
            return status;
        if (status.id != "StatChangeEffect")
            return status;
        if (status.delta_ > 0)
            return status;
        return null;
    };
    field.print(Text.battle_messages_unique(107, user));
    field.applyStatus(effect);
};
this.use = function() {
    // Does nothing.
};
]]>
</init>
</move>

<move name="Mist Ball" id="254">
<type>Psychic</type>
<class>Special</class>
<power>70</power>
<accuracy>1.00</accuracy>
<pp>5</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[new StatChangeEffect(Stat.SPATTACK, -1), 0.5]]);
]]>
</init>
</move>

<move name="Moonlight" id="255">
<type>Normal</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>5</pp>
<target>User</target>
<flags>
    <snatch/>
</flags>
<init>
<![CDATA[
makeWeatherBasedHealingMove(this);
]]>
</init>
</move>

<move name="Morning Sun" id="256">
<type>Normal</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>5</pp>
<target>User</target>
<flags>
    <snatch/>
</flags>
<init>
<![CDATA[
makeWeatherBasedHealingMove(this);
]]>
</init>
</move>

<move name="Mud Bomb" id="257">
<type>Ground</type>
<class>Special</class>
<power>65</power>
<accuracy>0.85</accuracy>
<pp>10</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[new StatChangeEffect(Stat.ACCURACY, -1), 0.3]]);
]]>
</init>
</move>

<move name="Mud Shot" id="258">
<type>Ground</type>
<class>Special</class>
<power>55</power>
<accuracy>0.95</accuracy>
<pp>15</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[new StatChangeEffect(Stat.SPEED, -1), 0.1]]);
]]>
</init>
</move>

<move name="Mud Sport" id="259">
<type>Ground</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>15</pp>
<target>All</target>
<flags>

</flags>
<init>
<![CDATA[
makeTypeWeakeningMove(this, Type.ELECTRIC);
]]>
</init>
</move>

<move name="Mud-Slap" id="260">
<type>Ground</type>
<class>Special</class>
<power>20</power>
<accuracy>1.00</accuracy>
<pp>10</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[new StatChangeEffect(Stat.ACCURACY, -1), 1.0]]);
]]>
</init>
</move>

<move name="Muddy Water" id="261">
<type>Water</type>
<class>Special</class>
<power>95</power>
<accuracy>0.85</accuracy>
<pp>10</pp>
<target>Enemies</target>
<flags>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[new StatChangeEffect(Stat.ACCURACY, -1), 0.3]]);
]]>
</init>
</move>

<move name="Nasty Plot" id="262">
<type>Dark</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>20</pp>
<target>User</target>
<flags>
    <snatch/>
</flags>
<use>
<![CDATA[
user.applyStatus(user, new StatChangeEffect(Stat.SPATTACK, 2));
]]>
</use>
</move>

<move name="Natural Gift" id="263">
<type>Normal</type>
<class>Physical</class>
<power>1</power>
<accuracy>1.00</accuracy>
<pp>15</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
var table_ = {
    "Cheri Berry": [Type.FIRE, 60],
    "Chesto Berry": [Type.WATER, 60],
    "Pecha Berry": [Type.ELECTRIC, 60],
    "Rawst Berry": [Type.GRASS, 60],
    "Aspear Berry": [Type.ICE, 60],
    "Leppa Berry": [Type.FIGHTING, 60],
    "Oran Berry": [Type.POISON, 60],
    "Persim Berry": [Type.GROUND, 60],
    "Lum Berry": [Type.FLYING, 60],
    "Sitrus Berry": [Type.PSYCHIC, 60],
    "Figy Berry": [Type.BUG, 60],
    "Wiki Berry": [Type.ROCK, 60],
    "Mago Berry": [Type.GHOST, 60],
    "Aguav Berry": [Type.DRAGON, 60],
    "Iapapa Berry": [Type.DARK, 60],
    "Razz Berry": [Type.STEEL, 60],
    "Bluk Berry": [Type.FIRE, 70],
    "Nanab Berry": [Type.WATER, 70],
    "Wepear Berry": [Type.ELECTRIC, 70],
    "Pinap Berry": [Type.GRASS, 70],
    "Pomeg Berry": [Type.ICE, 70],
    "Kelpsy Berry": [Type.FIGHTING, 70],
    "Qualot Berry": [Type.POISON, 70],
    "Hondew Berry": [Type.GROUND, 70],
    "Grepa Berry": [Type.FLYING, 70],
    "Tamato Berry": [Type.PSYCHIC, 70],
    "Cornn Berry": [Type.BUG, 70],
    "Magost Berry": [Type.ROCK, 70],
    "Rabuta Berry": [Type.GHOST, 70],
    "Nomel Berry": [Type.DRAGON, 70],
    "Spelon Berry": [Type.DARK, 70],
    "Pamtre Berry": [Type.STEEL, 70],
    "Watmel Berry": [Type.FIRE, 80],
    "Durin Berry": [Type.WATER, 80],
    "Belue Berry": [Type.ELECTRIC, 80],
    "Occa Berry": [Type.FIRE, 60],
    "Passho Berry": [Type.WATER, 60],
    "Wacan Berry": [Type.ELECTRIC, 60],
    "Rindo Berry": [Type.GRASS, 60],
    "Yache Berry": [Type.ICE, 60],
    "Chople Berry": [Type.FIGHTING, 60],
    "Kebia Berry": [Type.POISON, 60],
    "Shuca Berry": [Type.GROUND, 60],
    "Coba Berry": [Type.FLYING, 60],
    "Payapa Berry": [Type.PSYCHIC, 60],
    "Tanga Berry": [Type.BUG, 60],
    "Charti Berry": [Type.ROCK, 60],
    "Kasib Berry": [Type.GHOST, 60],
    "Haban Berry": [Type.DRAGON, 60],
    "Colbur Berry": [Type.DARK, 60],
    "Babiri Berry": [Type.STEEL, 60],
    "Chilan Berry": [Type.NORMAL, 60],
    "Liechi Berry": [Type.GRASS, 80],
    "Ganlon Berry": [Type.ICE, 80],
    "Salac Berry": [Type.FIGHTING, 80],
    "Petaya Berry": [Type.POISON, 80],
    "Apicot Berry": [Type.GROUND, 80],
    "Lansat Berry": [Type.FLYING, 80],
    "Starf Berry": [Type.PSYCHIC, 80],
    "Enigma Berry": [Type.BUG, 80],
    "Micle Berry": [Type.ROCK, 80],
    "Custap Berry": [Type.GHOST, 80],
    "Jaboca Berry": [Type.DRAGON, 80],
    "Rowap Berry": [Type.DARK, 80],
};
var power_ = this.power;
var type_ = this.type;
this.prepareSelf = function(field, user) {
    this.power = power_;
    this.type = type_;
    this.usable_ = false;
    var item = user.item && user.item.id;
    var entry = item && table_[item];
    if (entry) {
        this.usable_ = true;
        this.type = entry[0];
        this.power = entry[1];
    }
};
this.use = function(field, user, target, targets) {
    if (user.hasAbility("Klutz") || user.getStatus("EmbargoEffect")
            || !this.usable_) {
        field.print(Text.battle_messages(0));
        return;
    }
    target.hp -= field.calculate(this, user, target, targets);
    user.item.consume();
};
]]>
</init>
</move>

<move name="Nature Power" id="264">
<type>Normal</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>20</pp>
<target>None</target>
<flags>

</flags>
<use>
<![CDATA[
// Nature Power always uses Tri Attack in link battles.
user.execute(field.getMove("Tri Attack"));
]]>
</use>
</move>

<move name="Needle Arm" id="265">
<type>Grass</type>
<class>Physical</class>
<power>60</power>
<accuracy>1.00</accuracy>
<pp>15</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[FlinchEffect, 0.3]]);
]]>
</init>
</move>

<move name="Night Shade" id="266">
<type>Ghost</type>
<class>Special</class>
<power>1</power>
<accuracy>1.00</accuracy>
<pp>15</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<use>
<![CDATA[
if (target.isImmune(this)) {
    field.print(Text.battle_messages(1, target));
    return;
}
target.hp -= user.level;
]]>
</use>
</move>

<move name="Night Slash" id="267">
<type>Dark</type>
<class>Physical</class>
<power>70</power>
<accuracy>1.00</accuracy>
<pp>15</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
    <high-critical/>
</flags>
</move>

<move name="Nightmare" id="268">
<type>Ghost</type>
<class>Other</class>
<power>0</power>
<accuracy>1.00</accuracy>
<pp>15</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
</flags>
<use>
<![CDATA[
if (!target.getStatus("SleepEffect") || target.getStatus("NightmareEffect")) {
    field.print(Text.battle_messages(0));
    return;
}
var effect = new StatusEffect("NightmareEffect");
effect.name = Text.battle_messages_unique(85);
effect.tier = 6;
effect.subtier = 4;
effect.tick = function() {
    field.print(Text.battle_messages_unique(87, this.subject));
    this.subject.hp -= Math.floor(this.subject.getStat(Stat.HP) / 4);
};
effect.informWakeUp = function() {
    this.subject.removeStatus(this);
};
target.applyStatus(user, effect);
field.print(Text.battle_messages_unique(86, target));
]]>
</use>
</move>

<move name="Octazooka" id="269">
<type>Water</type>
<class>Special</class>
<power>65</power>
<accuracy>0.85</accuracy>
<pp>10</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[new StatChangeEffect(Stat.ACCURACY, -1), 0.5]]);
]]>
</init>
</move>

<move name="Odor Sleuth" id="270">
<type>Normal</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>40</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeForesightMove(this, [Type.NORMAL, Type.FIGHTING]);
]]>
</init>
</move>

<move name="Ominous Wind" id="271">
<type>Ghost</type>
<class>Special</class>
<power>60</power>
<accuracy>1.00</accuracy>
<pp>5</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makeAllStatBoostMove(this);
]]>
</init>
</move>

<move name="Outrage" id="272">
<type>Dragon</type>
<class>Physical</class>
<power>120</power>
<accuracy>1.00</accuracy>
<pp>15</pp>
<target>Randenemy</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makeRampageMove(this);
]]>
</init>
</move>

<move name="Overheat" id="273">
<type>Fire</type>
<class>Special</class>
<power>140</power>
<accuracy>0.90</accuracy>
<pp>5</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[new StatChangeEffect(Stat.SPATTACK, -2), 1, true]]);
]]>
</init>
</move>

<move name="Pain Split" id="274">
<type>Normal</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>20</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
</flags>
<use>
<![CDATA[
var hp = Math.floor((target.hp + user.hp) / 2);
user.sendMessage("forceDirectDamage");
user.hp = hp;
target.hp = hp;
]]>
</use>
</move>

<move name="Pay Day" id="275">
<type>Normal</type>
<class>Physical</class>
<power>40</power>
<accuracy>1.00</accuracy>
<pp>20</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<use>
<![CDATA[
target.hp -= field.calculate(this, user, target, targets);
field.print(Text.battle_messages_unique(3));
]]>
</use>
</move>

<move name="Payback" id="276">
<type>Dark</type>
<class>Physical</class>
<power>50</power>
<accuracy>1.00</accuracy>
<pp>10</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
this.power_ = this.power;
]]>
</init>
<use>
<![CDATA[
this.power = this.power_;
if (!target.turn) {
    this.power *= 2;
}
target.hp -= field.calculate(this, user, target, targets);
]]>
</use>
</move>

<move name="Peck" id="277">
<type>Flying</type>
<class>Physical</class>
<power>35</power>
<accuracy>1.00</accuracy>
<pp>35</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
</move>

<move name="Perish Song" id="278">
<type>Normal</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>5</pp>
<target>All</target>
<flags>
    <sound/>
</flags>
<init>
<![CDATA[
this.prepareSelf = function(field) {
    field.print(Text.battle_messages_unique(50));
};
]]>
</init>
<use>
<![CDATA[
if (target.getStatus("PerishSongEffect")) {
    return;
}
var effect = new StatusEffect("PerishSongEffect");
effect.name = Text.battle_messages_unique(49);
effect.turns = 4;
effect.tier = 8;
effect.subtier = 0;
effect.tick = function() {
    --this.turns;
    this.subject.field.print(Text.battle_messages_unique(
            51, this.subject, this.turns));
    if (this.turns > 0)
        return;
    this.subject.faint();
};
target.applyStatus(user, effect);
]]>
</use>
</move>

<move name="Petal Dance" id="279">
<type>Grass</type>
<class>Special</class>
<power>90</power>
<accuracy>1.00</accuracy>
<pp>20</pp>
<target>Randenemy</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makeRampageMove(this);
]]>
</init>
</move>

<move name="Pin Missile" id="280">
<type>Bug</type>
<class>Physical</class>
<power>14</power>
<accuracy>0.85</accuracy>
<pp>20</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makeMultipleHitMove(this);
]]>
</init>
</move>

<move name="Pluck" id="281">
<type>Flying</type>
<class>Physical</class>
<power>60</power>
<accuracy>1.00</accuracy>
<pp>20</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makePluckMove(this);
]]>
</init>
</move>

<move name="Poison Fang" id="282">
<type>Poison</type>
<class>Physical</class>
<power>50</power>
<accuracy>1.00</accuracy>
<pp>15</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[ToxicEffect, 0.3]]);
]]>
</init>
</move>

<move name="Poison Gas" id="283">
<type>Poison</type>
<class>Other</class>
<power>0</power>
<accuracy>0.55</accuracy>
<pp>40</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <reflect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[PoisonEffect]]);
]]>
</init>
</move>

<move name="Poison Jab" id="284">
<type>Poison</type>
<class>Physical</class>
<power>80</power>
<accuracy>1.00</accuracy>
<pp>20</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[PoisonEffect, 0.3]]);
]]>
</init>
</move>

<move name="Poison Sting" id="285">
<type>Poison</type>
<class>Physical</class>
<power>15</power>
<accuracy>1.00</accuracy>
<pp>35</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[PoisonEffect, 0.3]]);
]]>
</init>
</move>

<move name="Poison Tail" id="286">
<type>Poison</type>
<class>Physical</class>
<power>50</power>
<accuracy>1.00</accuracy>
<pp>25</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
    <high-critical/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[PoisonEffect, 0.1]]);
]]>
</init>
</move>

<move name="PoisonPowder" id="287">
<type>Poison</type>
<class>Other</class>
<power>0</power>
<accuracy>0.75</accuracy>
<pp>35</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <reflect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[PoisonEffect]]);
]]>
</init>
</move>

<move name="Pound" id="288">
<type>Normal</type>
<class>Physical</class>
<power>40</power>
<accuracy>1.00</accuracy>
<pp>35</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
</move>

<move name="Powder Snow" id="289">
<type>Ice</type>
<class>Special</class>
<power>40</power>
<accuracy>1.00</accuracy>
<pp>25</pp>
<target>Enemies</target>
<flags>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[FreezeEffect, 0.1]]);
]]>
</init>
</move>

<move name="Power Gem" id="290">
<type>Rock</type>
<class>Special</class>
<power>70</power>
<accuracy>1.00</accuracy>
<pp>20</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
</move>

<move name="Power Swap" id="291">
<type>Psychic</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>10</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatLevelSwapMove(this, [Stat.ATTACK, Stat.SPATTACK]);
]]>
</init>
</move>

<move name="Power Trick" id="292">
<type>Psychic</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>10</pp>
<target>User</target>
<flags>

</flags>
<use>
<![CDATA[
field.print(Text.battle_messages_unique(120, user));
var effect = user.getStatus("PowerTrickEffect");
if (effect) {
    user.removeStatus(effect);
    return;
}
effect = new StatusEffect("PowerTrickEffect");
effect.name = Text.battle_messages_unique(119);
effect.applyEffect = effect.unapplyEffect = function() {
    var attack = this.subject.getRawStat(Stat.ATTACK);
    var defence = this.subject.getRawStat(Stat.DEFENCE);
    this.subject.setRawStat(Stat.ATTACK, defence);
    this.subject.setRawStat(Stat.DEFENCE, attack);
    return true;
};
user.applyStatus(user, effect);
]]>
</use>
</move>

<move name="Power Whip" id="293">
<type>Grass</type>
<class>Physical</class>
<power>120</power>
<accuracy>0.85</accuracy>
<pp>10</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
</move>

<move name="Present" id="294">
<type>Normal</type>
<class>Physical</class>
<power>1</power>
<accuracy>0.90</accuracy>
<pp>15</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
</flags>
<use>
<![CDATA[
var rand = field.random(0, 255);
if (rand < 52) {
    user.hp += Math.floor(user.getStat(Stat.HP) / 4);
} else {
    if (rand < 154) {
        this.power = 40;
    } else if (rand < 230) {
        this.power = 80;
    } else {
        this.power = 120;
    }
    target.hp -= field.calculate(this, user, target, targets);
}
]]>
</use>
</move>

<move name="Protect" id="295">
<type>Normal</type>
<class>Other</class>
<priority>3</priority>
<power>0</power>
<accuracy>0</accuracy>
<pp>10</pp>
<target>User</target>
<flags>

</flags>
<init>
<![CDATA[
makeProtectMove(this);
]]>
</init>
</move>

<move name="Psybeam" id="296">
<type>Psychic</type>
<class>Special</class>
<power>65</power>
<accuracy>1.00</accuracy>
<pp>20</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[ConfusionEffect, 0.1]]);
]]>
</init>
</move>

<move name="Psych Up" id="297">
<type>Normal</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>10</pp>
<target>Non-user</target>
<flags>
    <snatch/>
</flags>
<use>
<![CDATA[
for (var i = 1; i < 8; ++i) {
    var level = target.getStatLevel(i) - user.getStatLevel(i);
    if (level) {
        var effect = new StatChangeEffect(i, level);
        effect.silent = true;
        user.applyStatus(user, effect);
    }
}
field.print(Text.battle_messages_unique(17, user));
]]>
</use>
</move>

<move name="Psychic" id="298">
<type>Psychic</type>
<class>Special</class>
<power>90</power>
<accuracy>1.00</accuracy>
<pp>10</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[new StatChangeEffect(Stat.SPDEFENCE, -1), 0.1]]);
]]>
</init>
</move>

<move name="Psycho Boost" id="299">
<type>Psychic</type>
<class>Special</class>
<power>140</power>
<accuracy>0.90</accuracy>
<pp>5</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[new StatChangeEffect(Stat.SPATTACK, -2), 1, true]]);
]]>
</init>
</move>
Back to top Go down
https://pokelabfred.forumotion.com
Admin
Admin



Posts : 22
Join date : 2011-09-21

-Moves.xml-(another huge post) Empty
PostSubject: Re: -Moves.xml-(another huge post)   -Moves.xml-(another huge post) EmptyThu Sep 22, 2011 7:03 pm

Code:

<move name="Psycho Cut" id="300">
<type>Psychic</type>
<class>Physical</class>
<power>70</power>
<accuracy>1.00</accuracy>
<pp>20</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
    <flinch/>
    <high-critical/>
</flags>
</move>

<move name="Psycho Shift" id="301">
<type>Psychic</type>
<class>Other</class>
<power>0</power>
<accuracy>0.90</accuracy>
<pp>10</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
</flags>
<use>
<![CDATA[
var effect = user.getStatus(StatusEffect.SPECIAL_EFFECT);
if (!effect || !target.applyStatus(user, effect)) {
    field.print(Text.battle_messages(0));
    return;
}
user.removeStatus(effect);
]]>
</use>
</move>

<move name="Psywave" id="302">
<type>Psychic</type>
<class>Special</class>
<power>1</power>
<accuracy>0.80</accuracy>
<pp>15</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<use>
<![CDATA[
if (target.isImmune(this)) {
    field.print(Text.battle_messages(1, target));
    return;
}
var damage = Math.floor(user.level * (field.random(0, 10) * 10 + 50) / 100);
target.hp -= damage;
]]>
</use>
</move>

<move name="Punishment" id="303">
<type>Dark</type>
<class>Physical</class>
<power>60</power>
<accuracy>1.00</accuracy>
<pp>5</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<use>
<![CDATA[
var n = 0;
for (var i = 1; i < 8; ++i) {
    var level = target.getStatLevel(i);
    if (level > 0) {
        n += level;
    }
}
this.power = 60 + 20 * n;
if (this.power > 200) {
    this.power = 200;
}
target.hp -= field.calculate(this, user, target, targets);
]]>
</use>
</move>

<move name="Pursuit" id="304">
<type>Dark</type>
<class>Physical</class>
<power>40</power>
<accuracy>1.00</accuracy>
<pp>20</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
this.power_ = this.power;
var move = this;
this.beginTurn = function(field, user, target) {
    if (user.sendMessage("informBeginTurn")) {
        return;
    }
    var effect = new StatusEffect("PursuitEffect");
    effect.vetoTier = -5;  // TODO (?)
    effect.target = target;
    effect.tier = 0;
    effect.tick = function() {
        this.subject.removeStatus(this);
    };
    effect.informWithdraw = function(subject) {
        if (subject != this.target)
            return;
        this.executed = true;
        this.subject.executePendingAction();
    };
    user.applyStatus(user, effect);
};
]]>
</init>
<use>
<![CDATA[
this.power = this.power_;
var effect = user.getStatus("PursuitEffect");
var switching = effect && effect.executed;
if (switching) {
    this.power *= 2;
}
target.hp -= field.calculate(this, user, target, targets);
if (target.fainted && switching && (user.party == field.host)) {
    getGlobalController(field).simulateBufferOverflow();
}
]]>
</use>
</move>

<move name="Quick Attack" id="305">
<type>Normal</type>
<class>Physical</class>
<priority>1</priority>
<power>40</power>
<accuracy>1.00</accuracy>
<pp>30</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
</move>

<move name="Rage" id="306">
<type>Normal</type>
<class>Physical</class>
<power>20</power>
<accuracy>1.00</accuracy>
<pp>20</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<use>
<![CDATA[
var damage = field.calculate(this, user, target, targets);
if (damage == 0) {
    return;
}
target.hp -= damage;
var effect = user.getStatus("RageEffect");
if (effect) {
    user.removeStatus(effect);
}
effect = new StatusEffect("RageEffect");
effect.turns_ = 2;
effect.informFinishedSubjectExecution = function() {
    if (--this.turns_ == 0) {
        this.subject.removeStatus(this);
    }
};
effect.activate_ = function() {
    var effect = new StatChangeEffect(Stat.ATTACK, 1);
    effect.silent = true;
    if (this.subject.applyStatus(this.subject, effect)) {
        field.print(Text.battle_messages_unique(42, this.subject));
    }
};
effect.informDamaged = function(user, move, damage) {
    if (damage > 0) {
        this.activate_();
    }
};
user.applyStatus(user, effect);
]]>
</use>
</move>

<move name="Rain Dance" id="307">
<type>Water</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>5</pp>
<target>All</target>
<flags>

</flags>
<init>
<![CDATA[
makeWeatherMove(this, GlobalEffect.RAIN);
]]>
</init>
</move>

<move name="Rapid Spin" id="308">
<type>Normal</type>
<class>Physical</class>
<power>20</power>
<accuracy>1.00</accuracy>
<pp>40</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<use>
<![CDATA[
var damage = field.calculate(this, user, target, targets);
if (damage == 0)
    return;
target.hp -= damage;
var released = false;
["LeechSeedEffect", "TemporaryTrappingEffect"].forEach(function(id) {
    var effect = user.getStatus(id);
    if (effect) {
        released = true;
        user.removeStatus(effect);
    }
});
if (released) {
    field.print(Text.battle_messages_unique(18, user));
}
var hazards = getHazardController(user);
var effects = hazards.effects_[user.party];
for (var i in effects) {
    var layers = effects[i];
    if (layers > 0) {
        field.print(Text.battle_messages_unique(19, user, EntryHazard[i].name));
    }
}
hazards.clearHazards(user.party);
]]>
</use>
</move>

<move name="Razor Leaf" id="309">
<type>Grass</type>
<class>Physical</class>
<power>55</power>
<accuracy>0.95</accuracy>
<pp>25</pp>
<target>Enemies</target>
<flags>
    <protect/>
    <memorable/>
    <flinch/>
    <high-critical/>
</flags>
</move>

<move name="Razor Wind" id="310">
<type>Normal</type>
<class>Special</class>
<power>80</power>
<accuracy>1.00</accuracy>
<pp>10</pp>
<target>Enemies</target>
<flags>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makeChargeMove(this, Text.battle_messages_charge.wrap(1));
]]>
</init>
</move>

<move name="Recover" id="311">
<type>Normal</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>10</pp>
<target>User</target>
<flags>
    <snatch/>
</flags>
<init>
<![CDATA[
makeRecoveryMove(this);
]]>
</init>
</move>

<move name="Recycle" id="312">
<type>Normal</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>10</pp>
<target>User</target>
<flags>

</flags>
<use>
<![CDATA[
var effect = user.getStatus("ItemConsumedEffect");
if (user.item || !effect) {
    field.print(Text.battle_messages(0));
    return;
}
user.item = HoldItem[effect.item_];
field.print(Text.battle_messages_unique(146, user, user.item));
]]>
</use>
</move>

<move name="Reflect" id="313">
<type>Psychic</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>20</pp>
<target>Allies</target>
<flags>
    <snatch/>
</flags>
<init>
<![CDATA[
makePartyBuffMove(this, MoveClass.PHYSICAL);
]]>
</init>
</move>

<move name="Refresh" id="314">
<type>Normal</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>20</pp>
<target>User</target>
<flags>
    <snatch/>
</flags>
<use>
<![CDATA[
var effect = user.getStatus(StatusEffect.SPECIAL_EFFECT);
if (!effect || (effect.id == "SleepEffect")) {
    field.print(Text.battle_messages(0));
    return;
}
field.print(Text.battle_messages_unique(1, user, effect));
user.removeStatus(effect);
]]>
</use>
</move>

<move name="Rest" id="315">
<type>Psychic</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>10</pp>
<target>User</target>
<flags>
    <snatch/>
</flags>
<use>
<![CDATA[
var max = user.getStat(Stat.HP);
if (user.getStatus("SleepEffect") || (user.hp == max)) {
    field.print(Text.battle_messages(0));
    return;
}
var status = user.getStatus(StatusEffect.SPECIAL_EFFECT);
var effect = new SleepEffect();
effect.lock = 0;
if (status) {
    effect.text_ = Text.battle_messages_unique.wrap(5);
}
effect = user.applyStatus(user, effect);
if (!effect) {
    field.print(Text.battle_messages(0));
    return;
}
effect.lock = StatusEffect.SPECIAL_EFFECT;
effect.turns = 2;
if (status) {
    user.removeStatus(status);
}
user.hp = max;
]]>
</use>
</move>

<move name="Return" id="316">
<type>Normal</type>
<class>Physical</class>
<power>1</power>
<accuracy>1.00</accuracy>
<pp>20</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
this.prepareSelf = function(field, user) {
    this.power = Math.floor(user.happiness * 2 / 5);
};
]]>
</init>
</move>

<move name="Revenge" id="317">
<type>Fighting</type>
<class>Physical</class>
<priority>-4</priority>
<power>60</power>
<accuracy>1.00</accuracy>
<pp>10</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makeRevengeMove(this);
]]>
</init>
</move>

<move name="Reversal" id="318">
<type>Fighting</type>
<class>Physical</class>
<power>1</power>
<accuracy>1.00</accuracy>
<pp>15</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makeUserLowHealthMove(this);
]]>
</init>
</move>

<move name="Roar" id="319">
<type>Normal</type>
<class>Other</class>
<priority>-6</priority>
<power>0</power>
<accuracy>1.00</accuracy>
<pp>20</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
    <sound/>
</flags>
<init>
<![CDATA[
makeRandomSwitchMove(this);
]]>
</init>
</move>

<move name="Roar of Time" id="320">
<type>Dragon</type>
<class>Special</class>
<power>150</power>
<accuracy>0.90</accuracy>
<pp>5</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
    <flinch/>
    <sound/>
</flags>
<init>
<![CDATA[
makeRechargeMove(this);
]]>
</init>
</move>

<move name="Rock Blast" id="321">
<type>Rock</type>
<class>Physical</class>
<power>25</power>
<accuracy>0.80</accuracy>
<pp>10</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makeMultipleHitMove(this);
]]>
</init>
</move>

<move name="Rock Climb" id="322">
<type>Normal</type>
<class>Physical</class>
<power>90</power>
<accuracy>0.85</accuracy>
<pp>20</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[ConfusionEffect, 0.2]]);
]]>
</init>
</move>

<move name="Rock Polish" id="323">
<type>Rock</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>20</pp>
<target>User</target>
<flags>
    <snatch/>
</flags>
<use>
<![CDATA[
user.applyStatus(user, new StatChangeEffect(Stat.SPEED, 2));
]]>
</use>
</move>

<move name="Rock Slide" id="324">
<type>Rock</type>
<class>Physical</class>
<power>75</power>
<accuracy>0.90</accuracy>
<pp>10</pp>
<target>Enemies</target>
<flags>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[FlinchEffect, 0.3]]);
]]>
</init>
</move>

<move name="Rock Smash" id="325">
<type>Fighting</type>
<class>Physical</class>
<power>40</power>
<accuracy>1.00</accuracy>
<pp>15</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[new StatChangeEffect(Stat.DEFENCE, -1), 0.5]]);
]]>
</init>
</move>

<move name="Rock Throw" id="326">
<type>Rock</type>
<class>Physical</class>
<power>50</power>
<accuracy>0.90</accuracy>
<pp>15</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
</move>

<move name="Rock Tomb" id="327">
<type>Rock</type>
<class>Physical</class>
<power>50</power>
<accuracy>0.80</accuracy>
<pp>10</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[new StatChangeEffect(Stat.SPEED, -1), 0.1]]);
]]>
</init>
</move>

<move name="Rock Wrecker" id="328">
<type>Rock</type>
<class>Physical</class>
<power>150</power>
<accuracy>0.90</accuracy>
<pp>5</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makeRechargeMove(this);
]]>
</init>
</move>

<move name="Role Play" id="329">
<type>Psychic</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>10</pp>
<target>Non-user</target>
<flags>

</flags>
<use>
<![CDATA[
if (!target.ability || target.hasAbility("Wonder Guard")
        || target.hasAbility("Multitype")) {
    field.print(Text.battle_messages(0));
    return;
}
user.ability = target.ability;
field.print(Text.battle_messages_unique(16, user));
user.ability.switchIn();
]]>
</use>
</move>

<move name="Rolling Kick" id="330">
<type>Fighting</type>
<class>Physical</class>
<power>60</power>
<accuracy>0.85</accuracy>
<pp>15</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[FlinchEffect, 0.3]]);
]]>
</init>
</move>

<move name="Rollout" id="331">
<type>Rock</type>
<class>Physical</class>
<power>30</power>
<accuracy>0.90</accuracy>
<pp>20</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makeMomentumMove(this);
]]>
</init>
</move>

<move name="Roost" id="332">
<type>Flying</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>10</pp>
<target>User</target>
<flags>
    <snatch/>
</flags>
<use>
<![CDATA[
var max = user.getStat(Stat.HP);
if (user.hp == max) {
    field.print(Text.battle_messages(0));
    return;
}
user.hp += Math.floor(max / 2);
var types = user.getTypes();
var resultant = types.filter(function(type) {
    return (type != Type.FLYING);
});
if (types.length == resultant.length) {
    return;
}
// NOTE (TODO): There is a bug here with the extremely unlikely interaction
//              of a Colour Change pokemon changing type in the same turn it
//              uses Roost. This isn't worth dealing with right now.
user.setTypes(resultant);
var effect = new StatusEffect("RoostEffect");
effect.tier = 0;
effect.tick = function() {
    this.subject.setTypes(types);
    this.subject.removeStatus(this);
};
user.applyStatus(user, effect);
]]>
</use>
</move>

<move name="Sacred Fire" id="333">
<type>Fire</type>
<class>Physical</class>
<power>100</power>
<accuracy>0.95</accuracy>
<pp>5</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[BurnEffect, 0.5]]);
]]>
</init>
</move>

<move name="Safeguard" id="334">
<type>Normal</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>25</pp>
<target>Allies</target>
<flags>
    <snatch/>
</flags>
<init>
<![CDATA[
this.prepareSelf = function(field, user) {
    if (user.getStatus("SafeguardEffect")) {
        field.print(Text.battle_messages(0));
        return;
    }
    var effect = new StatusEffect("SafeguardEffect");
    effect.name = Text.battle_messages_unique(109);
    effect.radius = StatusEffect.RADIUS_USER_PARTY;
    effect.turns = 5;
    var party_ = user.party;
    effect.applyEffect = function() {
        return (this.subject.party == party_);
    };
    effect.beginTick = function() {
        if (--this.turns != 0)
            return;
        // TODO: Reference trainer name in the message.
        field.print(Text.battle_messages_unique(111, this.subject));
        field.removeStatus(this);
    };
    effect.transformStatus = function(subject, status) {
        if (subject.party != party_)
            return status;
        if (status.inducer == subject)
            return status;
        if ((status.lock != StatusEffect.SPECIAL_EFFECT)
                && (status.id != "ConfusionEffect"))
            return status;
        return null;
    };
    effect.vetoExecution = function(field, user, target, move) {
        if (!target || (target.party != party_))
            return false;
        if (move.name != "Yawn")
            return false;
        field.print(Text.battle_messages(0));
        return true;
    };
    field.print(Text.battle_messages_unique(110, user));
    field.applyStatus(effect);
};
this.use = function() {
    // Does nothing.
};
]]>
</init>
</move>

<move name="Sand Tomb" id="335">
<type>Ground</type>
<class>Physical</class>
<power>15</power>
<accuracy>0.70</accuracy>
<pp>15</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makeTemporaryTrappingMove(this, Text.battle_messages_unique.wrap(74));
]]>
</init>
</move>

<move name="Sand-Attack" id="336">
<type>Ground</type>
<class>Other</class>
<power>0</power>
<accuracy>1.00</accuracy>
<pp>15</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <reflect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[new StatChangeEffect(Stat.ACCURACY, -1)]]);
]]>
</init>
</move>

<move name="Sandstorm" id="337">
<type>Rock</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>10</pp>
<target>All</target>
<flags>

</flags>
<init>
<![CDATA[
makeWeatherMove(this, GlobalEffect.SAND);
]]>
</init>
</move>

<move name="Scary Face" id="338">
<type>Normal</type>
<class>Other</class>
<power>0</power>
<accuracy>0.90</accuracy>
<pp>10</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <reflect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[new StatChangeEffect(Stat.SPEED, -2)]]);
]]>
</init>
</move>

<move name="Scratch" id="339">
<type>Normal</type>
<class>Physical</class>
<power>40</power>
<accuracy>1.00</accuracy>
<pp>35</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
</move>

<move name="Screech" id="340">
<type>Normal</type>
<class>Other</class>
<power>0</power>
<accuracy>0.85</accuracy>
<pp>40</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <reflect/>
    <memorable/>
    <sound/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[new StatChangeEffect(Stat.DEFENCE, -2)]]);
]]>
</init>
</move>

<move name="Secret Power" id="341">
<type>Normal</type>
<class>Physical</class>
<power>70</power>
<accuracy>1.00</accuracy>
<pp>20</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
// Secret Power's secondary effect is always paralysis in a link battle.
makeStatusMove(this, [[ParalysisEffect, 0.3]]);
]]>
</init>
</move>

<move name="Seed Bomb" id="342">
<type>Grass</type>
<class>Physical</class>
<power>80</power>
<accuracy>1.00</accuracy>
<pp>15</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
</move>

<move name="Seed Flare" id="343">
<type>Grass</type>
<class>Special</class>
<power>120</power>
<accuracy>0.85</accuracy>
<pp>5</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[new StatChangeEffect(Stat.SPDEFENCE, -2), 0.4]]);
]]>
</init>
</move>

<move name="Seismic Toss" id="344">
<type>Fighting</type>
<class>Physical</class>
<power>1</power>
<accuracy>1.00</accuracy>
<pp>20</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<use>
<![CDATA[
if (target.isImmune(this)) {
    field.print(Text.battle_messages(1, target));
    return;
}
target.hp -= user.level;
]]>
</use>
</move>

<move name="Selfdestruct" id="345">
<type>Normal</type>
<class>Physical</class>
<power>200</power>
<accuracy>1.00</accuracy>
<pp>5</pp>
<target>Others</target>
<flags>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makeExplosionMove(this);
]]>
</init>
</move>

<move name="Shadow Ball" id="346">
<type>Ghost</type>
<class>Special</class>
<power>80</power>
<accuracy>1.00</accuracy>
<pp>15</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[new StatChangeEffect(Stat.SPDEFENCE, -1), 0.2]]);
]]>
</init>
</move>

<move name="Shadow Claw" id="347">
<type>Ghost</type>
<class>Physical</class>
<power>70</power>
<accuracy>1.00</accuracy>
<pp>15</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
    <high-critical/>
</flags>
</move>

<move name="Shadow Force" id="348">
<type>Ghost</type>
<class>Physical</class>
<power>120</power>
<accuracy>1.00</accuracy>
<pp>5</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makeChargeMove(this, Text.battle_messages_charge.wrap(8), []);
]]>
</init>
</move>

<move name="Shadow Punch" id="349">
<type>Ghost</type>
<class>Physical</class>
<power>60</power>
<accuracy>0</accuracy>
<pp>20</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
</move>
Back to top Go down
https://pokelabfred.forumotion.com
Admin
Admin



Posts : 22
Join date : 2011-09-21

-Moves.xml-(another huge post) Empty
PostSubject: Re: -Moves.xml-(another huge post)   -Moves.xml-(another huge post) EmptyThu Sep 22, 2011 7:04 pm

Code:

<move name="Shadow Sneak" id="350">
<type>Ghost</type>
<class>Physical</class>
<priority>1</priority>
<power>40</power>
<accuracy>1.00</accuracy>
<pp>30</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
</move>

<move name="Sharpen" id="351">
<type>Normal</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>30</pp>
<target>User</target>
<flags>
    <snatch/>
</flags>
<use>
<![CDATA[
user.applyStatus(user, new StatChangeEffect(Stat.ATTACK, 1));
]]>
</use>
</move>

<move name="Sheer Cold" id="352">
<type>Ice</type>
<class>Special</class>
<power>1</power>
<accuracy>0.30</accuracy>
<pp>5</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeOneHitKillMove(this);
]]>
</init>
</move>

<move name="Shock Wave" id="353">
<type>Electric</type>
<class>Special</class>
<power>60</power>
<accuracy>0</accuracy>
<pp>20</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
</move>

<move name="Signal Beam" id="354">
<type>Bug</type>
<class>Special</class>
<power>75</power>
<accuracy>1.00</accuracy>
<pp>15</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[ConfusionEffect, 0.1]]);
]]>
</init>
</move>

<move name="Silver Wind" id="355">
<type>Bug</type>
<class>Special</class>
<power>60</power>
<accuracy>1.00</accuracy>
<pp>5</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makeAllStatBoostMove(this);
]]>
</init>
</move>

<move name="Sing" id="356">
<type>Normal</type>
<class>Other</class>
<power>0</power>
<accuracy>0.55</accuracy>
<pp>15</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <reflect/>
    <memorable/>
    <sound/>
</flags>
<init>
makeStatusMove(this, [[SleepEffect]]);
</init>
</move>

<move name="Sketch" id="357">
<type>Normal</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>1</pp>
<target>Non-user</target>
<flags>
    <unimplemented/>
</flags>
<use>
<![CDATA[

]]>
</use>
</move>

<move name="Skill Swap" id="358">
<type>Psychic</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>10</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
</flags>
<use>
<![CDATA[
if (!user.ability || !target.ability
        || user.hasAbility("Wonder Guard")
        || user.hasAbility("Multitype")
        || target.hasAbility("Wonder Guard")
        || target.hasAbility("Multitype")) {
    field.print(Text.battle_messages(0));
    return;
}
field.print(Text.battle_messages_unique(15, user));
var id_ = user.ability.id;
user.ability = target.ability;
target.ability = Ability[id_];
// Note (TODO): The following two lines happen only in Platinum, not DP.
user.ability.switchIn();
target.ability.switchIn();
]]>
</use>
</move>

<move name="Skull Bash" id="359">
<type>Normal</type>
<class>Physical</class>
<power>100</power>
<accuracy>1.00</accuracy>
<pp>15</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makeChargeMove(this, Text.battle_messages_charge.wrap(2));
this.additional = function(user) {
    // Additional effect on charge turn: +1 defence.
    user.applyStatus(user, new StatChangeEffect(Stat.DEFENCE, 1));
};
]]>
</init>
</move>

<move name="Sky Attack" id="360">
<type>Flying</type>
<class>Physical</class>
<power>140</power>
<accuracy>0.90</accuracy>
<pp>5</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[FlinchEffect, 0.3]]);
makeChargeMove(this, Text.battle_messages_charge.wrap(3));
]]>
</init>
</move>

<move name="Sky Uppercut" id="361">
<type>Fighting</type>
<class>Physical</class>
<power>85</power>
<accuracy>0.90</accuracy>
<pp>15</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
</move>

<move name="Slack Off" id="362">
<type>Normal</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>10</pp>
<target>User</target>
<flags>
    <snatch/>
</flags>
<init>
<![CDATA[
makeRecoveryMove(this);
]]>
</init>
</move>

<move name="Slam" id="363">
<type>Normal</type>
<class>Physical</class>
<power>80</power>
<accuracy>0.75</accuracy>
<pp>20</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
</move>

<move name="Slash" id="364">
<type>Normal</type>
<class>Physical</class>
<power>70</power>
<accuracy>1.00</accuracy>
<pp>20</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
    <high-critical/>
</flags>
</move>

<move name="Sleep Powder" id="365">
<type>Grass</type>
<class>Other</class>
<power>0</power>
<accuracy>0.75</accuracy>
<pp>15</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <reflect/>
    <memorable/>
</flags>
<init>
makeStatusMove(this, [[SleepEffect]]);
</init>
</move>

<move name="Sleep Talk" id="366">
<type>Normal</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>10</pp>
<target>None</target>
<flags>

</flags>
<init>
<![CDATA[
this.forbidden_ = ["Assist", "Bide", "Chatter", "Copycat", "Focus Punch",
                  "Me First", "Metronome", "Mirror Move", "Sleep Talk",
                  "Uproar", "Skull Bash", "Razor Wind", "Sky Attack",
                  "SolarBeam", "Fly", "Dig", "Dive", "Bounce", "Shadow Force"];
]]>
</init>
<use>
<![CDATA[
if (!user.getStatus("SleepEffect") || user.getStatus("EncoreEffect")) {
    field.print(Text.battle_messages(0));
    return;
}
var choices = [];
for (var i = 0; i < user.moveCount; ++i) {
    var move = user.getMove(i);
    if ((user.getPp(move) > 0) && (this.forbidden_.indexOf(move.name) == -1)
            && user.isSelectable(move)) {
        choices.push(move);
    }
}
var length = choices.length;
if (length == 0) {
    field.print(Text.battle_messages(0));
    return;
}
var move = choices[field.random(0, length - 1)];
user.execute(move);
]]>
</use>
</move>

<move name="Sludge" id="367">
<type>Poison</type>
<class>Special</class>
<power>65</power>
<accuracy>1.00</accuracy>
<pp>20</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[PoisonEffect, 0.3]]);
]]>
</init>
</move>

<move name="Sludge Bomb" id="368">
<type>Poison</type>
<class>Special</class>
<power>90</power>
<accuracy>1.00</accuracy>
<pp>10</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[PoisonEffect, 0.3]]);
]]>
</init>
</move>

<move name="SmellingSalt" id="369">
<type>Normal</type>
<class>Physical</class>
<power>60</power>
<accuracy>1.00</accuracy>
<pp>10</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
this.power_ = this.power;
]]>
</init>
<use>
<![CDATA[
this.power = this.power_;
var effect = target.getStatus("ParalysisEffect");
if (target.getStatus("SubstituteEffect")) {
    effect = null;
}
if (effect) {
    this.power *= 2;
}
target.hp -= field.calculate(this, user, target, targets);
if (effect) {
    target.removeStatus(effect);
}
]]>
</use>
</move>

<move name="Smog" id="370">
<type>Poison</type>
<class>Special</class>
<power>20</power>
<accuracy>0.70</accuracy>
<pp>20</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[PoisonEffect, 0.4]]);
]]>
</init>
</move>

<move name="SmokeScreen" id="371">
<type>Normal</type>
<class>Other</class>
<power>0</power>
<accuracy>1.00</accuracy>
<pp>20</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <reflect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[new StatChangeEffect(Stat.ACCURACY, -1)]]);
]]>
</init>
</move>

<move name="Snatch" id="372">
<type>Dark</type>
<class>Other</class>
<priority>4</priority>
<power>0</power>
<accuracy>0</accuracy>
<pp>10</pp>
<target>None</target>
<flags>
    <unimplemented/>
</flags>
<use>
<![CDATA[

]]>
</use>
</move>

<move name="Snore" id="373">
<type>Normal</type>
<class>Special</class>
<power>40</power>
<accuracy>1.00</accuracy>
<pp>15</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
    <flinch/>
    <sound/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[FlinchEffect, 0.3]]);
var parent = this.use;
this.use = function(field, user, target, targets) {
    if (user.getStatus("SleepEffect") == null) {
        field.print(Text.battle_messages(0));
        return;
    }
    parent.call(this, field, user, target, targets);
};
]]>
</init>
</move>

<move name="Softboiled" id="374">
<type>Normal</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>10</pp>
<target>User</target>
<flags>
    <snatch/>
</flags>
<init>
<![CDATA[
makeRecoveryMove(this);
]]>
</init>
</move>

<move name="SolarBeam" id="375">
<type>Grass</type>
<class>Special</class>
<power>120</power>
<accuracy>1.00</accuracy>
<pp>10</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makeChargeMove(this, Text.battle_messages_charge.wrap(0));
var parentPrepareSelf = this.prepareSelf;
var parentUse = this.use;
var power_ = this.power;
this.prepareSelf = function(field, user, target) {
    var flags = getGlobalController(field).getFlags();
    if (flags[GlobalEffect.SUN]) {
        return;
    }
    parentPrepareSelf.call(this, field, user, target);
};
this.use = function(field, user, target, targets) {
    this.power = power_;
    var flags = getGlobalController(field).getFlags();
    if (flags[GlobalEffect.RAIN]
            || flags[GlobalEffect.SAND]
            || flags[GlobalEffect.HAIL]) {
        this.power /= 2;
    }
    if (flags[GlobalEffect.SUN]) {
        target.hp -= field.calculate(this, user, target, targets);
        return;
    }
    parentUse.call(this, field, user, target, targets);
};
]]>
</init>
</move>

<move name="SonicBoom" id="376">
<type>Normal</type>
<class>Special</class>
<power>1</power>
<accuracy>0.90</accuracy>
<pp>20</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
    <flinch/>
    <sound/>
</flags>
<use>
<![CDATA[
if (target.isImmune(this)) {
    field.print(Text.battle_messages(1, target));
    return;
}
target.hp -= 20;
]]>
</use>
</move>

<move name="Spacial Rend" id="377">
<type>Dragon</type>
<class>Special</class>
<power>100</power>
<accuracy>0.95</accuracy>
<pp>5</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
    <flinch/>
    <high-critical/>
</flags>
</move>

<move name="Spark" id="378">
<type>Electric</type>
<class>Physical</class>
<power>65</power>
<accuracy>1.00</accuracy>
<pp>20</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[ParalysisEffect, 0.3]]);
]]>
</init>
</move>

<move name="Spider Web" id="379">
<type>Bug</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>10</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <reflect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeTrappingMove(this);
]]>
</init>
</move>

<move name="Spike Cannon" id="380">
<type>Normal</type>
<class>Physical</class>
<power>20</power>
<accuracy>1.00</accuracy>
<pp>15</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makeMultipleHitMove(this);
]]>
</init>
</move>

<move name="Spikes" id="381">
<type>Ground</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>20</pp>
<target>Enemyfield</target>
<flags>

</flags>
<init>
<![CDATA[
makeEntryHazardMove(this, EntryHazard.SPIKES);
]]>
</init>
</move>

<move name="Spit Up" id="382">
<type>Normal</type>
<class>Special</class>
<power>1</power>
<accuracy>1.00</accuracy>
<pp>10</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <flinch/>
</flags>
<attemptHit>
<![CDATA[
return true;
]]>
</attemptHit>
<use>
<![CDATA[
var effect = user.getStatus("StockpileEffect");
if (!effect) {
    field.print(Text.status_effects_stockpile(2));
    return;
}
if (field.attemptHit(this, user, target)) {
    this.power = effect.levels * 100;
    // Note: Damage weighting (randomisation) is not performed by this attack,
    //      which is the significance of the final parameter to calculate()
    //      being false.
    target.hp -= field.calculate(this, user, target, targets, false);
} else {
    field.print(Text.battle_messages(2, user, target));
}
user.removeStatus(effect);
]]>
</use>
</move>

<move name="Spite" id="383">
<type>Ghost</type>
<class>Other</class>
<power>0</power>
<accuracy>1.00</accuracy>
<pp>10</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
</flags>
<use>
<![CDATA[
var move = target.lastMove;
var pp = -1;
if (!move || ((pp = target.getPp(move)) == 0)) {
    field.print(Text.battle_messages(0));
    return;
}
const PP_LOSS = 4;
target.setPp(move, pp - PP_LOSS);
field.print(Text.battle_messages_unique(60, target, move, PP_LOSS));
]]>
</use>
</move>

<move name="Splash" id="384">
<type>Normal</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>40</pp>
<target>User</target>
<flags>

</flags>
<use>
<![CDATA[
field.print(Text.battle_messages_unique(2));
]]>
</use>
</move>

<move name="Spore" id="385">
<type>Grass</type>
<class>Other</class>
<power>0</power>
<accuracy>1.00</accuracy>
<pp>15</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <reflect/>
    <memorable/>
</flags>
<init>
makeStatusMove(this, [[SleepEffect]]);
</init>
</move>

<move name="Stealth Rock" id="386">
<type>Rock</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>20</pp>
<target>Enemyfield</target>
<flags>

</flags>
<init>
<![CDATA[
makeEntryHazardMove(this, EntryHazard.STEALTH_ROCK);
]]>
</init>
</move>

<move name="Steel Wing" id="387">
<type>Steel</type>
<class>Physical</class>
<power>70</power>
<accuracy>0.90</accuracy>
<pp>25</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[new StatChangeEffect(Stat.DEFENCE, 1), 0.1, true]]);
]]>
</init>
</move>

<move name="Stockpile" id="388">
<type>Normal</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>20</pp>
<target>User</target>
<flags>
    <snatch/>
</flags>
<use>
<![CDATA[
var effect = user.getStatus("StockpileEffect");
if (effect) {
    effect.addLevel();
    return;
}
effect = new StatusEffect("StockpileEffect");
effect.name = Text.status_effects_stockpile(0);
effect.levels = 0;
effect.boosts_ = [];
effect.addBoost = function(stat) {
    var boost = new StatChangeEffect(stat, 1);
    boost.silent = true;
    boost = this.subject.applyStatus(this.subject, boost);
    if (boost) {
        this.boosts_.push(boost);
    }
};
effect.addLevel = function() {
    var subject = this.subject;
    if (this.levels == 3) {
        field.print(Text.status_effects_stockpile(4, subject));
        return;
    }
    ++this.levels;
    field.print(Text.status_effects_stockpile(1, subject, this.levels));
    this.addBoost(Stat.DEFENCE);
    this.addBoost(Stat.SPDEFENCE);
};
effect.unapplyEffect = function() {
    this.boosts_.forEach(this.subject.removeStatus, this.subject);
};
effect = user.applyStatus(user, effect);
effect.addLevel();
]]>
</use>
</move>

<move name="Stomp" id="389">
<type>Normal</type>
<class>Physical</class>
<power>65</power>
<accuracy>1.00</accuracy>
<pp>20</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[FlinchEffect, 0.3]]);
var parent_ = this.use;
var power_ = this.power;
this.use = function(field, user, target, targets) {
    this.power = power_;
    if (target.getStatus("MinimiseEffect")) {
        this.power *= 2;
    }
    parent_.call(this, field, user, target, targets);
};
]]>
</init>
</move>

<move name="Stone Edge" id="390">
<type>Rock</type>
<class>Physical</class>
<power>100</power>
<accuracy>0.80</accuracy>
<pp>5</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
    <flinch/>
    <high-critical/>
</flags>
</move>

<move name="Strength" id="391">
<type>Normal</type>
<class>Physical</class>
<power>80</power>
<accuracy>1.00</accuracy>
<pp>15</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
</move>

<move name="String Shot" id="392">
<type>Bug</type>
<class>Other</class>
<power>0</power>
<accuracy>0.95</accuracy>
<pp>40</pp>
<target>Enemies</target>
<flags>
    <protect/>
    <reflect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[new StatChangeEffect(Stat.SPEED, -1)]]);
]]>
</init>
</move>

<move name="Struggle" id="393">
<type>Normal</type>
<class>Physical</class>
<power>50</power>
<accuracy>0</accuracy>
<pp>1</pp>
<target>Randenemy</target>
<flags>
    <contact/>
    <protect/>
    <flinch/>
</flags>
<use>
<![CDATA[
var type_ = this.type;
this.type = Type.TYPELESS;
target.hp -= field.calculate(this, user, target, targets);
this.type = type_;

var recoil = Math.floor(user.getStat(Stat.HP) / 4);
if (recoil < 1) recoil = 1;
user.sendMessage("forceDirectDamage");
user.hp -= recoil;
]]>
</use>
</move>

<move name="Stun Spore" id="394">
<type>Grass</type>
<class>Other</class>
<power>0</power>
<accuracy>0.75</accuracy>
<pp>30</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <reflect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[ParalysisEffect]]);
]]>
</init>
</move>

<move name="Submission" id="395">
<type>Fighting</type>
<class>Physical</class>
<power>80</power>
<accuracy>0.80</accuracy>
<pp>25</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makeRecoilMove(this, 4);
]]>
</init>
</move>

<move name="Substitute" id="396">
<type>Normal</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>10</pp>
<target>User</target>
<flags>
    <snatch/>
</flags>
<init>
<![CDATA[
this.forbidden_ = ["Acupressure", "Block", "Dream Eater", "Embargo",
                  "Gastro Acid", "Grudge", "Heal Block", "Leech Seed",
                  "Lock-On", "Mean Look", "Mimic", "Mind Reader",
                  "Nightmare", "Pain Split", "Psycho Shift", "Spider Web",
                  "Sketch", "Switcheroo", "Trick", "Worry Seed", "Yawn",
                  "Swagger", "Flatter"];
]]>
</init>
<use>
<![CDATA[
var hp = Math.floor(user.getStat(Stat.HP) / 4);
if (user.getStatus("SubstituteEffect") || (user.hp <= hp)) {
    field.print(Text.battle_messages(0));
    return;
}
user.sendMessage("forceDirectDamage");
user.hp -= hp;
var effect = new StatusEffect("SubstituteEffect");
effect.name = Text.battle_messages_unique(133);
effect.hp_ = effect.max_ = hp;
effect.getEffectiveHp = function() {
    return [this.hp_, this.max_];
};
effect.takeDamage = function(delta) {
    this.hp_ -= delta;
    if (delta > 0) {
        field.print(Text.battle_messages_unique(135, this.subject));
    }
    if (this.hp_ > 0)
        return false;
    this.hp_ = 0;
    field.print(Text.battle_messages_unique(136, this.subject));
    return true;
};
effect.transformHealthChange = function(delta, user, indirect) {
    if ((this.hp_ == 0) || indirect || (delta < 0))
        return delta;
    if (this.takeDamage(delta)) {
        var this_ = this;
        var effect_ = new StatusEffect("SubstituteUnapplyEffect");
        effect_.informFinishedExecution = function() {
            this.subject.removeStatus(this_);
            this.subject.removeStatus(this);
        };
        this.subject.applyStatus(this.subject, effect_);
    }
    return 0;
};
var forbidden_ = this.forbidden_;
effect.vetoExecution = function(field, user, target, move) {
    if (target != this.subject)
        return false;
    if (forbidden_.indexOf(move.name) == -1)
        return false;
    field.print(Text.battle_messages(0));
    return true;
};
effect.transformStatus = function(subject, effect) {
    if (subject != this.subject)
        return effect;
    if (effect.inducer == subject)
        return effect;
    if (effect.lock == StatusEffect.SPECIAL_EFFECT)
        return null;
    if (effect.id == "ConfusionEffect")
        return null;
    if (effect.id == "FlinchEffect")
        return null;
    if (effect.id != "StatChangeEffect")
        return effect;
    if (effect.delta_ > 0)
        return effect;
    return null;
};
effect.informRemoveItem = function() {
    return true;
};
user.applyStatus(user, effect);
field.print(Text.battle_messages_unique(134, user));
]]>
</use>
</move>

<move name="Sucker Punch" id="397">
<type>Dark</type>
<class>Physical</class>
<priority>1</priority>
<power>80</power>
<accuracy>1.00</accuracy>
<pp>5</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<use>
<![CDATA[
var turn = target.turn;
if (!turn) {
    field.print(Text.battle_messages(0));
    return;
}
/**
 * TODO: RESEARCH QUESTION
 * Does Sucker Punch fail if the target has a forced move and did not select
 * its move freely?
 */
var move = target.getMove(turn.move);
if (move.moveClass == MoveClass.OTHER) {
    field.print(Text.battle_messages(0));
    return;
}
target.hp -= field.calculate(this, user, target, targets);
]]>
</use>
</move>

<move name="Sunny Day" id="398">
<type>Fire</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>5</pp>
<target>All</target>
<flags>

</flags>
<init>
<![CDATA[
makeWeatherMove(this, GlobalEffect.SUN);
]]>
</init>
</move>

<move name="Super Fang" id="399">
<type>Normal</type>
<class>Physical</class>
<power>1</power>
<accuracy>0.90</accuracy>
<pp>10</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
</flags>
<use>
<![CDATA[
if (target.isImmune(this)) {
    field.print(Text.battle_messages(1, target));
    return;
}
var damage = target.hp / 2;
target.hp -= damage;
]]>
</use>
</move>
Back to top Go down
https://pokelabfred.forumotion.com
Admin
Admin



Posts : 22
Join date : 2011-09-21

-Moves.xml-(another huge post) Empty
PostSubject: Re: -Moves.xml-(another huge post)   -Moves.xml-(another huge post) EmptyThu Sep 22, 2011 7:06 pm

Code:
<move name="Superpower" id="400">
<type>Fighting</type>
<class>Physical</class>
<power>120</power>
<accuracy>1.00</accuracy>
<pp>5</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [
        [new StatChangeEffect(Stat.ATTACK, -1), 1, true],
        [new StatChangeEffect(Stat.DEFENCE, -1), 1, true]
    ]);
]]>
</init>
</move>

<move name="Supersonic" id="401">
<type>Normal</type>
<class>Other</class>
<power>0</power>
<accuracy>0.55</accuracy>
<pp>20</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <reflect/>
    <memorable/>
    <sound/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[ConfusionEffect]]);
]]>
</init>
</move>

<move name="Surf" id="402">
<type>Water</type>
<class>Special</class>
<power>95</power>
<accuracy>1.00</accuracy>
<pp>15</pp>
<target>Others</target>
<flags>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
</move>

<move name="Swagger" id="403">
<type>Normal</type>
<class>Other</class>
<power>0</power>
<accuracy>0.90</accuracy>
<pp>15</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <reflect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatusMove(this,
        [[ConfusionEffect], [new StatChangeEffect(Stat.ATTACK, 2)]]
    );
]]>
</init>
</move>

<move name="Swallow" id="404">
<type>Normal</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>10</pp>
<target>User</target>
<flags>
    <snatch/>
</flags>
<use>
<![CDATA[
var effect = user.getStatus("StockpileEffect");
if (!effect) {
    field.print(Text.status_effects_stockpile(3));
    return;
}
var max = user.getStat(Stat.HP);
if (user.hp != max) {
    var factor = 0.5 * Math.pow(2, effect.levels - 2);
    user.hp += Math.floor(max * factor);
}
user.removeStatus(effect);
]]>
</use>
</move>

<move name="Sweet Kiss" id="405">
<type>Normal</type>
<class>Other</class>
<power>0</power>
<accuracy>0.75</accuracy>
<pp>10</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <reflect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[ConfusionEffect]]);
]]>
</init>
</move>

<move name="Sweet Scent" id="406">
<type>Normal</type>
<class>Other</class>
<power>0</power>
<accuracy>1.00</accuracy>
<pp>20</pp>
<target>Enemies</target>
<flags>
    <protect/>
    <reflect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[new StatChangeEffect(Stat.EVASION, -1)]]);
]]>
</init>
</move>

<move name="Swift" id="407">
<type>Normal</type>
<class>Special</class>
<power>60</power>
<accuracy>0</accuracy>
<pp>20</pp>
<target>Enemies</target>
<flags>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
</move>

<move name="Switcheroo" id="408">
<type>Dark</type>
<class>Other</class>
<power>0</power>
<accuracy>1.00</accuracy>
<pp>10</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeItemSwitchMove(this);
]]>
</init>
</move>

<move name="Swords Dance" id="409">
<type>Normal</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>30</pp>
<target>User</target>
<flags>
    <snatch/>
</flags>
<use>
<![CDATA[
user.applyStatus(user, new StatChangeEffect(Stat.ATTACK, 2));
]]>
</use>
</move>

<move name="Synthesis" id="410">
<type>Grass</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>5</pp>
<target>User</target>
<flags>
    <snatch/>
</flags>
<init>
<![CDATA[
makeWeatherBasedHealingMove(this);
]]>
</init>
</move>

<move name="Tackle" id="411">
<type>Normal</type>
<class>Physical</class>
<power>35</power>
<accuracy>0.95</accuracy>
<pp>35</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
</move>

<move name="Tail Glow" id="412">
<type>Bug</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>20</pp>
<target>User</target>
<flags>
    <snatch/>
</flags>
<use>
<![CDATA[
user.applyStatus(user, new StatChangeEffect(Stat.SPATTACK, 2));
]]>
</use>
</move>

<move name="Tail Whip" id="413">
<type>Normal</type>
<class>Other</class>
<power>0</power>
<accuracy>1.00</accuracy>
<pp>30</pp>
<target>Enemies</target>
<flags>
    <protect/>
    <reflect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[new StatChangeEffect(Stat.DEFENCE, -1)]]);
]]>
</init>
</move>

<move name="Tailwind" id="414">
<type>Flying</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>30</pp>
<target>Allies</target>
<flags>
    <snatch/>
</flags>
<init>
<![CDATA[
this.prepareSelf = function(field, user) {
    if (user.getStatus("TailwindEffect")) {
        field.print(Text.battle_messages(0));
        return;
    }
    var effect = new StatusEffect("TailwindEffect");
    effect.name = Text.battle_messages_unique(137);
    effect.radius = StatusEffect.RADIUS_USER_PARTY;
    effect.turns = 3;
    var party_ = user.party;
    effect.applyEffect = function() {
        return (this.subject.party == party_);
    };
    effect.beginTick = function() {
        if (--this.turns != 0)
            return;
        // TODO: Reference trainer name in the message.
        field.print(Text.battle_messages_unique(139, this.subject));
        field.removeStatus(this);
    };
    // @stat SPEED, 9, Tailwind
    effect.statModifier = function(field, stat, subject) {
        if (subject.party != party_)
            return null;
        if (stat != Stat.SPEED)
            return null;
        // doubles speed, priority of 9
        return [2, 9];
    };
    field.print(Text.battle_messages_unique(138, user));
    field.applyStatus(effect);
};
this.use = function() {
    // Does nothing.
};
]]>
</init>
</move>

<move name="Take Down" id="415">
<type>Normal</type>
<class>Physical</class>
<power>90</power>
<accuracy>0.85</accuracy>
<pp>20</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makeRecoilMove(this, 4);
]]>
</init>
</move>

<move name="Taunt" id="416">
<type>Dark</type>
<class>Other</class>
<power>0</power>
<accuracy>1.00</accuracy>
<pp>20</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
</flags>
<use>
<![CDATA[
if (target.getStatus("TauntEffect")) {
    field.print(Text.battle_messages(0));
    return;
}
var effect = new StatusEffect("TauntEffect");
effect.name = Text.battle_messages_unique(29);
effect.turns = field.random(3, 5);
effect.tier = 0;
effect.vetoTier = 7;
effect.applyEffect = function() {
    field.print(Text.battle_messages_unique(28, this.subject));
    return true;
};
effect.tick = function() {
    if (--this.turns <= 0) {
        field.print(Text.battle_messages_unique(26, this.subject));
        this.subject.removeStatus(this);
    }
};
effect.vetoSelection = function(user, move) {
    if (user != this.subject)
        return false;
    return (move.moveClass == MoveClass.OTHER);
};
effect.vetoExecution = function(field, user, target, move) {
    if (target != null)
        return false;
    if (user != this.subject)
        return false;
    if (move.moveClass != MoveClass.OTHER)
        return false;
    field.print(Text.battle_messages_unique(27, this.subject, move));
    return true;
};
target.applyStatus(user, effect);
]]>
</use>
</move>

<move name="Teeter Dance" id="417">
<type>Normal</type>
<class>Other</class>
<power>0</power>
<accuracy>1.00</accuracy>
<pp>20</pp>
<target>Others</target>
<flags>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[ConfusionEffect]]);
]]>
</init>
</move>

<move name="Teleport" id="418">
<type>Psychic</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>20</pp>
<target>User</target>
<flags>

</flags>
<use>
<![CDATA[
field.print(Text.battle_messages(0));
]]>
</use>
</move>

<move name="Thief" id="419">
<type>Dark</type>
<class>Physical</class>
<power>40</power>
<accuracy>1.00</accuracy>
<pp>10</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeThiefMove(this);
]]>
</init>
</move>

<move name="Thrash" id="420">
<type>Normal</type>
<class>Physical</class>
<power>90</power>
<accuracy>1.00</accuracy>
<pp>20</pp>
<target>Randenemy</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makeRampageMove(this);
]]>
</init>
</move>

<move name="Thunder" id="421">
<type>Electric</type>
<class>Special</class>
<power>120</power>
<accuracy>0.70</accuracy>
<pp>10</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
/**
  * TODO: WARNING! Mechanics MADE UP by me here.
  */
makeStatusMove(this, [[ParalysisEffect, 0.3]]);
var accuracy_ = this.accuracy;
this.attemptHit = function(field, user, target) {
    this.accuracy = accuracy_;
    var flags = getGlobalController(field).getFlags();
    if (flags[GlobalEffect.RAIN]) {
        this.accuracy = 0;
        // TODO: maybe apply effect for x0 instead...
    } else if (flags[GlobalEffect.SUN]) {
        this.accuracy = 0.50;
    }
    return field.attemptHit(this, user, target);
};
]]>
</init>
</move>

<move name="Thunder Fang" id="422">
<type>Electric</type>
<class>Physical</class>
<power>65</power>
<accuracy>0.95</accuracy>
<pp>15</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[FlinchEffect, 0.1], [ParalysisEffect, 0.1]]);
]]>
</init>
</move>

<move name="Thunder Wave" id="423">
<type>Electric</type>
<class>Other</class>
<power>0</power>
<accuracy>1.00</accuracy>
<pp>20</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <reflect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[ParalysisEffect]], true);
]]>
</init>
</move>

<move name="Thunderbolt" id="424">
<type>Electric</type>
<class>Special</class>
<power>95</power>
<accuracy>1.00</accuracy>
<pp>15</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[ParalysisEffect, 0.1]]);
]]>
</init>
</move>

<move name="ThunderPunch" id="425">
<type>Electric</type>
<class>Physical</class>
<power>75</power>
<accuracy>1.00</accuracy>
<pp>15</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[ParalysisEffect, 0.1]]);
]]>
</init>
</move>

<move name="ThunderShock" id="426">
<type>Electric</type>
<class>Special</class>
<power>40</power>
<accuracy>1.00</accuracy>
<pp>30</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[ParalysisEffect, 0.1]]);
]]>
</init>
</move>

<move name="Tickle" id="427">
<type>Normal</type>
<class>Other</class>
<power>0</power>
<accuracy>1.00</accuracy>
<pp>20</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <reflect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [
        [new StatChangeEffect(Stat.ATTACK, -1)],
        [new StatChangeEffect(Stat.DEFENCE, -1)]
    ]);
]]>
</init>
</move>

<move name="Torment" id="428">
<type>Dark</type>
<class>Other</class>
<power>0</power>
<accuracy>1.00</accuracy>
<pp>15</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
</flags>
<use>
<![CDATA[
if (target.getStatus("TormentEffect")) {
    field.print(Text.battle_messages(0));
    return;
}
var effect = new StatusEffect("TormentEffect");
effect.name = Text.battle_messages_unique(65);
effect.vetoSelection = function(user, move) {
    if (user != this.subject)
        return false;
    if (!this.set_) {
        this.move = user.lastMove;
        this.set_ = true;
    }
    if (!this.move)
        return false;
    return (this.move.name == move.name);
};
effect.informFinishedSubjectExecution = function() {
    this.move = this.subject.lastMove;
    this.set_ = true;
};
target.applyStatus(user, effect);
field.print(Text.battle_messages_unique(66, target));
]]>
</use>
</move>

<move name="Toxic" id="429">
<type>Poison</type>
<class>Other</class>
<power>0</power>
<accuracy>0.85</accuracy>
<pp>10</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <reflect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[ToxicEffect]]);
]]>
</init>
</move>

<move name="Toxic Spikes" id="430">
<type>Poison</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>20</pp>
<target>Enemyfield</target>
<flags>

</flags>
<init>
<![CDATA[
makeEntryHazardMove(this, EntryHazard.TOXIC_SPIKES);
]]>
</init>
</move>

<move name="Transform" id="431">
<type>Normal</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>10</pp>
<target>Non-user</target>
<flags>
    <unimplemented/>
</flags>
<use>
<![CDATA[

]]>
</use>
</move>

<move name="Tri Attack" id="432">
<type>Normal</type>
<class>Special</class>
<power>80</power>
<accuracy>1.00</accuracy>
<pp>10</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
var effect = function(field) {
    var rand = field.random(1, 3);
    if (rand == 1) return BurnEffect;
    if (rand == 2) return FreezeEffect;
    return ParalysisEffect;
};
effect.delayed = true;
makeStatusMove(this, [[effect, 0.20]]);
]]>
</init>
</move>

<move name="Trick" id="433">
<type>Psychic</type>
<class>Other</class>
<power>0</power>
<accuracy>1.00</accuracy>
<pp>10</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeItemSwitchMove(this);
]]>
</init>
</move>

<move name="Trick Room" id="434">
<type>Psychic</type>
<class>Other</class>
<priority>-7</priority>
<power>0</power>
<accuracy>0</accuracy>
<pp>5</pp>
<target>All</target>
<flags>

</flags>
<init>
<![CDATA[
this.prepareSelf = function(field, user) {
    var effect = getGlobalController(field);
    if (effect.flags[GlobalEffect.TRICK_ROOM]) {
        effect.removeGlobalEffect(field, GlobalEffect.TRICK_ROOM);
    } else {
        effect.applyGlobalEffect(user, GlobalEffect.TRICK_ROOM);
        field.print(Text.battle_messages_unique(24, user));
    }
};
this.use = function() {
    // Does nothing.
};
]]>
</init>
</move>

<move name="Triple Kick" id="435">
<type>Fighting</type>
<class>Physical</class>
<power>10</power>
<accuracy>0.90</accuracy>
<pp>10</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
this.power_ = this.power;
]]>
</init>
<attemptHit>
<![CDATA[
return true;
]]>
</attemptHit>
<use>
<![CDATA[
target.sendMessage("informPartialDamage");
var i = 0;
for (; i < 3; ++i) {
    if (target.fainted)
        break;
    if (!field.attemptHit(this, user, target)) {
        field.print(Text.battle_messages(2, user, target));
        break;
    }
    this.power = this.power_ * (i + 1);
    target.hp -= field.calculate(this, user, target, targets);

    // Todo: Count how many actually hit
}
field.print(Text.battle_messages_unique(0, i));
]]>
</use>
</move>

<move name="Trump Card" id="436">
<type>Normal</type>
<class>Special</class>
<power>1</power>
<accuracy>0</accuracy>
<pp>5</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<use>
<![CDATA[
// Note that the relevant move for the purposes of deciding Trump Card's power
// is the move that the user actually selected, not necessarily this object.
var move = user.getMove(user.turn.move);
var pp = user.getPp(move);
if (pp <= 1) {
    this.power = 200;
} else if (pp == 2) {
    this.power = 80;
} else if (pp == 3) {
    this.power = 60;
} else if (pp == 4) {
    this.power = 50;
} else {
    this.power = 40;
}
target.hp -= field.calculate(this, user, target, targets);
]]>
</use>
</move>

<move name="Twineedle" id="437">
<type>Bug</type>
<class>Physical</class>
<power>25</power>
<accuracy>1.00</accuracy>
<pp>20</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[PoisonEffect, 0.2]]);
makeTwoHitMove(this);
]]>
</init>
</move>

<move name="Twister" id="438">
<type>Dragon</type>
<class>Special</class>
<power>40</power>
<accuracy>1.00</accuracy>
<pp>20</pp>
<target>Enemies</target>
<flags>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
var power_ = this.power;
this.prepare = function(field, user, target, targets) {
    this.power = power_;
    var effect = target.getStatus("ChargeMoveEffect");
    if (effect) {
        var name = effect.move.name;
        if ((name == "Fly") || (name == "Bounce")) {
            this.power *= 2;
        }
    }
};
makeStatusMove(this, [[FlinchEffect, 0.20]]);
]]>
</init>
</move>

<move name="U-turn" id="439">
<type>Bug</type>
<class>Physical</class>
<power>70</power>
<accuracy>1.00</accuracy>
<pp>20</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<use>
<![CDATA[
var damage = field.calculate(this, user, target, targets);
if (!damage)
    return;
target.hp -= damage;
if (user.hp <= 0) {
    return;
}
if (field.getAliveCount(target.party) == 0) {
    return;
}
var selection = field.requestInactivePokemon(user);
if (selection) {
    user.replaceBy(selection);
    var trainer = field.getTrainer(user.party);
    field.print(Text.battle_messages_unique(96, user, trainer));
}
]]>
</use>
</move>

<move name="Uproar" id="440">
<type>Normal</type>
<class>Special</class>
<power>50</power>
<accuracy>1.00</accuracy>
<pp>10</pp>
<target>Randenemy</target>
<flags>
    <protect/>
    <memorable/>
    <flinch/>
    <sound/>
</flags>
<init>
<![CDATA[
this.prepareSelf = function(field, user) {
    user.setForcedMove(this, null, false);
    if (user.getStatus("RampageEffect"))
        return;
    var effect = new StatusEffect("RampageEffect");
    effect.tier = 6.1; // Arbitrary, but needs to be after sleep.
    effect.turns = field.random(2, 5);
    effect.vetoSwitch = function(subject) {
        return (subject == this.subject);
    };
    effect.unapplyEffect = function() {
        this.subject.clearForcedMove();
        var effect = field.getStatus("UproarEffect");
        if (effect) {
            effect.removeUser();
        }
        if (!this.subject.fainted) {
            field.print(Text.battle_messages_unique(153, this.subject));
        }
    };
    // The side effects of unapplyEffect must run when the subject faints, so
    // this function is necessary.
    effect.informReplacePokemon = function(subject) {
        if (subject == this.subject) {
            this.subject.removeStatus(this);
        }
    };
    effect.informFreeze = effect.informSleep = function() {
        this.subject.removeStatus(this);
    };
    effect.informFinishedSubjectExecution = function() {
        if (!this.subject.lastMove) {
            this.subject.removeStatus(this);
        }
    };
    effect.tick = function() {
        if (--this.turns == 0) {
            this.subject.removeStatus(this);
        }
    };
    user.applyStatus(user, effect);
    effect = field.getStatus("UproarEffect");
    if (!effect) {
        effect = getGlobalController(field).applyGlobalEffect(user,
                GlobalEffect.UPROAR);
    }
    ++effect.users_;
    field.print(Text.battle_messages_unique(152, user));
};
]]>
</init>
</move>

<move name="Vacuum Wave" id="441">
<type>Fighting</type>
<class>Special</class>
<priority>1</priority>
<power>40</power>
<accuracy>1.00</accuracy>
<pp>30</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
</move>

<move name="ViceGrip" id="442">
<type>Normal</type>
<class>Physical</class>
<power>55</power>
<accuracy>1.00</accuracy>
<pp>30</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
</move>

<move name="Vine Whip" id="443">
<type>Grass</type>
<class>Physical</class>
<power>35</power>
<accuracy>1.00</accuracy>
<pp>15</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
</move>

<move name="Vital Throw" id="444">
<type>Fighting</type>
<class>Physical</class>
<priority>-1</priority>
<power>70</power>
<accuracy>0</accuracy>
<pp>10</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
</move>

<move name="Volt Tackle" id="445">
<type>Electric</type>
<class>Physical</class>
<power>120</power>
<accuracy>1.00</accuracy>
<pp>15</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[ParalysisEffect, 0.1]]);
makeRecoilMove(this, 3);
]]>
</init>
</move>

<move name="Wake-Up Slap" id="446">
<type>Fighting</type>
<class>Physical</class>
<power>60</power>
<accuracy>1.00</accuracy>
<pp>10</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
this.power_ = this.power;
]]>
</init>
<use>
<![CDATA[
this.power = this.power_;
var effect = target.getStatus("SleepEffect");
if (target.getStatus("SubstituteEffect")) {
    effect = null;
}
if (effect) {
    this.power *= 2;
}
target.hp -= field.calculate(this, user, target, targets);
if (effect) {
    target.removeStatus(effect);
}
]]>
</use>
</move>

<move name="Water Gun" id="447">
<type>Water</type>
<class>Special</class>
<power>40</power><move name="Superpower" id="400">
<type>Fighting</type>
<class>Physical</class>
<power>120</power>
<accuracy>1.00</accuracy>
<pp>5</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [
        [new StatChangeEffect(Stat.ATTACK, -1), 1, true],
        [new StatChangeEffect(Stat.DEFENCE, -1), 1, true]
    ]);
]]>
</init>
</move>

<move name="Supersonic" id="401">
<type>Normal</type>
<class>Other</class>
<power>0</power>
<accuracy>0.55</accuracy>
<pp>20</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <reflect/>
    <memorable/>
    <sound/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[ConfusionEffect]]);
]]>
</init>
</move>

<move name="Surf" id="402">
<type>Water</type>
<class>Special</class>
<power>95</power>
<accuracy>1.00</accuracy>
<pp>15</pp>
<target>Others</target>
<flags>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
</move>

<move name="Swagger" id="403">
<type>Normal</type>
<class>Other</class>
<power>0</power>
<accuracy>0.90</accuracy>
<pp>15</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <reflect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatusMove(this,
        [[ConfusionEffect], [new StatChangeEffect(Stat.ATTACK, 2)]]
    );
]]>
</init>
</move>

<move name="Swallow" id="404">
<type>Normal</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>10</pp>
<target>User</target>
<flags>
    <snatch/>
</flags>
<use>
<![CDATA[
var effect = user.getStatus("StockpileEffect");
if (!effect) {
    field.print(Text.status_effects_stockpile(3));
    return;
}
var max = user.getStat(Stat.HP);
if (user.hp != max) {
    var factor = 0.5 * Math.pow(2, effect.levels - 2);
    user.hp += Math.floor(max * factor);
}
user.removeStatus(effect);
]]>
</use>
</move>

<move name="Sweet Kiss" id="405">
<type>Normal</type>
<class>Other</class>
<power>0</power>
<accuracy>0.75</accuracy>
<pp>10</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <reflect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[ConfusionEffect]]);
]]>
</init>
</move>

<move name="Sweet Scent" id="406">
<type>Normal</type>
<class>Other</class>
<power>0</power>
<accuracy>1.00</accuracy>
<pp>20</pp>
<target>Enemies</target>
<flags>
    <protect/>
    <reflect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[new StatChangeEffect(Stat.EVASION, -1)]]);
]]>
</init>
</move>

<move name="Swift" id="407">
<type>Normal</type>
<class>Special</class>
<power>60</power>
<accuracy>0</accuracy>
<pp>20</pp>
<target>Enemies</target>
<flags>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
</move>
Back to top Go down
https://pokelabfred.forumotion.com
Admin
Admin



Posts : 22
Join date : 2011-09-21

-Moves.xml-(another huge post) Empty
PostSubject: Re: -Moves.xml-(another huge post)   -Moves.xml-(another huge post) EmptyThu Sep 22, 2011 7:07 pm

Code:

<move name="Switcheroo" id="408">
<type>Dark</type>
<class>Other</class>
<power>0</power>
<accuracy>1.00</accuracy>
<pp>10</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeItemSwitchMove(this);
]]>
</init>
</move>

<move name="Swords Dance" id="409">
<type>Normal</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>30</pp>
<target>User</target>
<flags>
    <snatch/>
</flags>
<use>
<![CDATA[
user.applyStatus(user, new StatChangeEffect(Stat.ATTACK, 2));
]]>
</use>
</move>

<move name="Synthesis" id="410">
<type>Grass</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>5</pp>
<target>User</target>
<flags>
    <snatch/>
</flags>
<init>
<![CDATA[
makeWeatherBasedHealingMove(this);
]]>
</init>
</move>

<move name="Tackle" id="411">
<type>Normal</type>
<class>Physical</class>
<power>35</power>
<accuracy>0.95</accuracy>
<pp>35</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
</move>

<move name="Tail Glow" id="412">
<type>Bug</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>20</pp>
<target>User</target>
<flags>
    <snatch/>
</flags>
<use>
<![CDATA[
user.applyStatus(user, new StatChangeEffect(Stat.SPATTACK, 2));
]]>
</use>
</move>

<move name="Tail Whip" id="413">
<type>Normal</type>
<class>Other</class>
<power>0</power>
<accuracy>1.00</accuracy>
<pp>30</pp>
<target>Enemies</target>
<flags>
    <protect/>
    <reflect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[new StatChangeEffect(Stat.DEFENCE, -1)]]);
]]>
</init>
</move>

<move name="Tailwind" id="414">
<type>Flying</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>30</pp>
<target>Allies</target>
<flags>
    <snatch/>
</flags>
<init>
<![CDATA[
this.prepareSelf = function(field, user) {
    if (user.getStatus("TailwindEffect")) {
        field.print(Text.battle_messages(0));
        return;
    }
    var effect = new StatusEffect("TailwindEffect");
    effect.name = Text.battle_messages_unique(137);
    effect.radius = StatusEffect.RADIUS_USER_PARTY;
    effect.turns = 3;
    var party_ = user.party;
    effect.applyEffect = function() {
        return (this.subject.party == party_);
    };
    effect.beginTick = function() {
        if (--this.turns != 0)
            return;
        // TODO: Reference trainer name in the message.
        field.print(Text.battle_messages_unique(139, this.subject));
        field.removeStatus(this);
    };
    // @stat SPEED, 9, Tailwind
    effect.statModifier = function(field, stat, subject) {
        if (subject.party != party_)
            return null;
        if (stat != Stat.SPEED)
            return null;
        // doubles speed, priority of 9
        return [2, 9];
    };
    field.print(Text.battle_messages_unique(138, user));
    field.applyStatus(effect);
};
this.use = function() {
    // Does nothing.
};
]]>
</init>
</move>

<move name="Take Down" id="415">
<type>Normal</type>
<class>Physical</class>
<power>90</power>
<accuracy>0.85</accuracy>
<pp>20</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makeRecoilMove(this, 4);
]]>
</init>
</move>

<move name="Taunt" id="416">
<type>Dark</type>
<class>Other</class>
<power>0</power>
<accuracy>1.00</accuracy>
<pp>20</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
</flags>
<use>
<![CDATA[
if (target.getStatus("TauntEffect")) {
    field.print(Text.battle_messages(0));
    return;
}
var effect = new StatusEffect("TauntEffect");
effect.name = Text.battle_messages_unique(29);
effect.turns = field.random(3, 5);
effect.tier = 0;
effect.vetoTier = 7;
effect.applyEffect = function() {
    field.print(Text.battle_messages_unique(28, this.subject));
    return true;
};
effect.tick = function() {
    if (--this.turns <= 0) {
        field.print(Text.battle_messages_unique(26, this.subject));
        this.subject.removeStatus(this);
    }
};
effect.vetoSelection = function(user, move) {
    if (user != this.subject)
        return false;
    return (move.moveClass == MoveClass.OTHER);
};
effect.vetoExecution = function(field, user, target, move) {
    if (target != null)
        return false;
    if (user != this.subject)
        return false;
    if (move.moveClass != MoveClass.OTHER)
        return false;
    field.print(Text.battle_messages_unique(27, this.subject, move));
    return true;
};
target.applyStatus(user, effect);
]]>
</use>
</move>

<move name="Teeter Dance" id="417">
<type>Normal</type>
<class>Other</class>
<power>0</power>
<accuracy>1.00</accuracy>
<pp>20</pp>
<target>Others</target>
<flags>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[ConfusionEffect]]);
]]>
</init>
</move>

<move name="Teleport" id="418">
<type>Psychic</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>20</pp>
<target>User</target>
<flags>

</flags>
<use>
<![CDATA[
field.print(Text.battle_messages(0));
]]>
</use>
</move>

<move name="Thief" id="419">
<type>Dark</type>
<class>Physical</class>
<power>40</power>
<accuracy>1.00</accuracy>
<pp>10</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeThiefMove(this);
]]>
</init>
</move>

<move name="Thrash" id="420">
<type>Normal</type>
<class>Physical</class>
<power>90</power>
<accuracy>1.00</accuracy>
<pp>20</pp>
<target>Randenemy</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makeRampageMove(this);
]]>
</init>
</move>

<move name="Thunder" id="421">
<type>Electric</type>
<class>Special</class>
<power>120</power>
<accuracy>0.70</accuracy>
<pp>10</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
/**
  * TODO: WARNING! Mechanics MADE UP by me here.
  */
makeStatusMove(this, [[ParalysisEffect, 0.3]]);
var accuracy_ = this.accuracy;
this.attemptHit = function(field, user, target) {
    this.accuracy = accuracy_;
    var flags = getGlobalController(field).getFlags();
    if (flags[GlobalEffect.RAIN]) {
        this.accuracy = 0;
        // TODO: maybe apply effect for x0 instead...
    } else if (flags[GlobalEffect.SUN]) {
        this.accuracy = 0.50;
    }
    return field.attemptHit(this, user, target);
};
]]>
</init>
</move>

<move name="Thunder Fang" id="422">
<type>Electric</type>
<class>Physical</class>
<power>65</power>
<accuracy>0.95</accuracy>
<pp>15</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[FlinchEffect, 0.1], [ParalysisEffect, 0.1]]);
]]>
</init>
</move>

<move name="Thunder Wave" id="423">
<type>Electric</type>
<class>Other</class>
<power>0</power>
<accuracy>1.00</accuracy>
<pp>20</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <reflect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[ParalysisEffect]], true);
]]>
</init>
</move>

<move name="Thunderbolt" id="424">
<type>Electric</type>
<class>Special</class>
<power>95</power>
<accuracy>1.00</accuracy>
<pp>15</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[ParalysisEffect, 0.1]]);
]]>
</init>
</move>

<move name="ThunderPunch" id="425">
<type>Electric</type>
<class>Physical</class>
<power>75</power>
<accuracy>1.00</accuracy>
<pp>15</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[ParalysisEffect, 0.1]]);
]]>
</init>
</move>

<move name="ThunderShock" id="426">
<type>Electric</type>
<class>Special</class>
<power>40</power>
<accuracy>1.00</accuracy>
<pp>30</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[ParalysisEffect, 0.1]]);
]]>
</init>
</move>

<move name="Tickle" id="427">
<type>Normal</type>
<class>Other</class>
<power>0</power>
<accuracy>1.00</accuracy>
<pp>20</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <reflect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [
        [new StatChangeEffect(Stat.ATTACK, -1)],
        [new StatChangeEffect(Stat.DEFENCE, -1)]
    ]);
]]>
</init>
</move>

<move name="Torment" id="428">
<type>Dark</type>
<class>Other</class>
<power>0</power>
<accuracy>1.00</accuracy>
<pp>15</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
</flags>
<use>
<![CDATA[
if (target.getStatus("TormentEffect")) {
    field.print(Text.battle_messages(0));
    return;
}
var effect = new StatusEffect("TormentEffect");
effect.name = Text.battle_messages_unique(65);
effect.vetoSelection = function(user, move) {
    if (user != this.subject)
        return false;
    if (!this.set_) {
        this.move = user.lastMove;
        this.set_ = true;
    }
    if (!this.move)
        return false;
    return (this.move.name == move.name);
};
effect.informFinishedSubjectExecution = function() {
    this.move = this.subject.lastMove;
    this.set_ = true;
};
target.applyStatus(user, effect);
field.print(Text.battle_messages_unique(66, target));
]]>
</use>
</move>

<move name="Toxic" id="429">
<type>Poison</type>
<class>Other</class>
<power>0</power>
<accuracy>0.85</accuracy>
<pp>10</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <reflect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[ToxicEffect]]);
]]>
</init>
</move>

<move name="Toxic Spikes" id="430">
<type>Poison</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>20</pp>
<target>Enemyfield</target>
<flags>

</flags>
<init>
<![CDATA[
makeEntryHazardMove(this, EntryHazard.TOXIC_SPIKES);
]]>
</init>
</move>

<move name="Transform" id="431">
<type>Normal</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>10</pp>
<target>Non-user</target>
<flags>
    <unimplemented/>
</flags>
<use>
<![CDATA[

]]>
</use>
</move>

<move name="Tri Attack" id="432">
<type>Normal</type>
<class>Special</class>
<power>80</power>
<accuracy>1.00</accuracy>
<pp>10</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
var effect = function(field) {
    var rand = field.random(1, 3);
    if (rand == 1) return BurnEffect;
    if (rand == 2) return FreezeEffect;
    return ParalysisEffect;
};
effect.delayed = true;
makeStatusMove(this, [[effect, 0.20]]);
]]>
</init>
</move>

<move name="Trick" id="433">
<type>Psychic</type>
<class>Other</class>
<power>0</power>
<accuracy>1.00</accuracy>
<pp>10</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeItemSwitchMove(this);
]]>
</init>
</move>

<move name="Trick Room" id="434">
<type>Psychic</type>
<class>Other</class>
<priority>-7</priority>
<power>0</power>
<accuracy>0</accuracy>
<pp>5</pp>
<target>All</target>
<flags>

</flags>
<init>
<![CDATA[
this.prepareSelf = function(field, user) {
    var effect = getGlobalController(field);
    if (effect.flags[GlobalEffect.TRICK_ROOM]) {
        effect.removeGlobalEffect(field, GlobalEffect.TRICK_ROOM);
    } else {
        effect.applyGlobalEffect(user, GlobalEffect.TRICK_ROOM);
        field.print(Text.battle_messages_unique(24, user));
    }
};
this.use = function() {
    // Does nothing.
};
]]>
</init>
</move>

<move name="Triple Kick" id="435">
<type>Fighting</type>
<class>Physical</class>
<power>10</power>
<accuracy>0.90</accuracy>
<pp>10</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
this.power_ = this.power;
]]>
</init>
<attemptHit>
<![CDATA[
return true;
]]>
</attemptHit>
<use>
<![CDATA[
target.sendMessage("informPartialDamage");
var i = 0;
for (; i < 3; ++i) {
    if (target.fainted)
        break;
    if (!field.attemptHit(this, user, target)) {
        field.print(Text.battle_messages(2, user, target));
        break;
    }
    this.power = this.power_ * (i + 1);
    target.hp -= field.calculate(this, user, target, targets);

    // Todo: Count how many actually hit
}
field.print(Text.battle_messages_unique(0, i));
]]>
</use>
</move>

<move name="Trump Card" id="436">
<type>Normal</type>
<class>Special</class>
<power>1</power>
<accuracy>0</accuracy>
<pp>5</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<use>
<![CDATA[
// Note that the relevant move for the purposes of deciding Trump Card's power
// is the move that the user actually selected, not necessarily this object.
var move = user.getMove(user.turn.move);
var pp = user.getPp(move);
if (pp <= 1) {
    this.power = 200;
} else if (pp == 2) {
    this.power = 80;
} else if (pp == 3) {
    this.power = 60;
} else if (pp == 4) {
    this.power = 50;
} else {
    this.power = 40;
}
target.hp -= field.calculate(this, user, target, targets);
]]>
</use>
</move>

<move name="Twineedle" id="437">
<type>Bug</type>
<class>Physical</class>
<power>25</power>
<accuracy>1.00</accuracy>
<pp>20</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[PoisonEffect, 0.2]]);
makeTwoHitMove(this);
]]>
</init>
</move>

<move name="Twister" id="438">
<type>Dragon</type>
<class>Special</class>
<power>40</power>
<accuracy>1.00</accuracy>
<pp>20</pp>
<target>Enemies</target>
<flags>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
var power_ = this.power;
this.prepare = function(field, user, target, targets) {
    this.power = power_;
    var effect = target.getStatus("ChargeMoveEffect");
    if (effect) {
        var name = effect.move.name;
        if ((name == "Fly") || (name == "Bounce")) {
            this.power *= 2;
        }
    }
};
makeStatusMove(this, [[FlinchEffect, 0.20]]);
]]>
</init>
</move>

<move name="U-turn" id="439">
<type>Bug</type>
<class>Physical</class>
<power>70</power>
<accuracy>1.00</accuracy>
<pp>20</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<use>
<![CDATA[
var damage = field.calculate(this, user, target, targets);
if (!damage)
    return;
target.hp -= damage;
if (user.hp <= 0) {
    return;
}
if (field.getAliveCount(target.party) == 0) {
    return;
}
var selection = field.requestInactivePokemon(user);
if (selection) {
    user.replaceBy(selection);
    var trainer = field.getTrainer(user.party);
    field.print(Text.battle_messages_unique(96, user, trainer));
}
]]>
</use>
</move>

<move name="Uproar" id="440">
<type>Normal</type>
<class>Special</class>
<power>50</power>
<accuracy>1.00</accuracy>
<pp>10</pp>
<target>Randenemy</target>
<flags>
    <protect/>
    <memorable/>
    <flinch/>
    <sound/>
</flags>
<init>
<![CDATA[
this.prepareSelf = function(field, user) {
    user.setForcedMove(this, null, false);
    if (user.getStatus("RampageEffect"))
        return;
    var effect = new StatusEffect("RampageEffect");
    effect.tier = 6.1; // Arbitrary, but needs to be after sleep.
    effect.turns = field.random(2, 5);
    effect.vetoSwitch = function(subject) {
        return (subject == this.subject);
    };
    effect.unapplyEffect = function() {
        this.subject.clearForcedMove();
        var effect = field.getStatus("UproarEffect");
        if (effect) {
            effect.removeUser();
        }
        if (!this.subject.fainted) {
            field.print(Text.battle_messages_unique(153, this.subject));
        }
    };
    // The side effects of unapplyEffect must run when the subject faints, so
    // this function is necessary.
    effect.informReplacePokemon = function(subject) {
        if (subject == this.subject) {
            this.subject.removeStatus(this);
        }
    };
    effect.informFreeze = effect.informSleep = function() {
        this.subject.removeStatus(this);
    };
    effect.informFinishedSubjectExecution = function() {
        if (!this.subject.lastMove) {
            this.subject.removeStatus(this);
        }
    };
    effect.tick = function() {
        if (--this.turns == 0) {
            this.subject.removeStatus(this);
        }
    };
    user.applyStatus(user, effect);
    effect = field.getStatus("UproarEffect");
    if (!effect) {
        effect = getGlobalController(field).applyGlobalEffect(user,
                GlobalEffect.UPROAR);
    }
    ++effect.users_;
    field.print(Text.battle_messages_unique(152, user));
};
]]>
</init>
</move>

<move name="Vacuum Wave" id="441">
<type>Fighting</type>
<class>Special</class>
<priority>1</priority>
<power>40</power>
<accuracy>1.00</accuracy>
<pp>30</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
</move>

<move name="ViceGrip" id="442">
<type>Normal</type>
<class>Physical</class>
<power>55</power>
<accuracy>1.00</accuracy>
<pp>30</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
</move>

<move name="Vine Whip" id="443">
<type>Grass</type>
<class>Physical</class>
<power>35</power>
<accuracy>1.00</accuracy>
<pp>15</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
</move>

<move name="Vital Throw" id="444">
<type>Fighting</type>
<class>Physical</class>
<priority>-1</priority>
<power>70</power>
<accuracy>0</accuracy>
<pp>10</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
</move>

<move name="Volt Tackle" id="445">
<type>Electric</type>
<class>Physical</class>
<power>120</power>
<accuracy>1.00</accuracy>
<pp>15</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[ParalysisEffect, 0.1]]);
makeRecoilMove(this, 3);
]]>
</init>
</move>

<move name="Wake-Up Slap" id="446">
<type>Fighting</type>
<class>Physical</class>
<power>60</power>
<accuracy>1.00</accuracy>
<pp>10</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
this.power_ = this.power;
]]>
</init>
<use>
<![CDATA[
this.power = this.power_;
var effect = target.getStatus("SleepEffect");
if (target.getStatus("SubstituteEffect")) {
    effect = null;
}
if (effect) {
    this.power *= 2;
}
target.hp -= field.calculate(this, user, target, targets);
if (effect) {
    target.removeStatus(effect);
}
]]>
</use>
</move>
<accuracy>1.00</accuracy>
<pp>25</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
</move>

<move name="Water Pulse" id="448">
<type>Water</type>
<class>Special</class>
<power>60</power>
<accuracy>1.00</accuracy>
<pp>20</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[ConfusionEffect, 0.2]]);
]]>
</init>
</move>

<move name="Water Sport" id="449">
<type>Water</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>15</pp>
<target>All</target>
<flags>

</flags>
<init>
<![CDATA[
makeTypeWeakeningMove(this, Type.FIRE);
]]>
</init>
</move>

<move name="Water Spout" id="450">
<type>Water</type>
<class>Special</class>
<power>150</power>
<accuracy>1.00</accuracy>
<pp>5</pp>
<target>Enemies</target>
<flags>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeUserHealthMove(this);
]]>
</init>
</move>

<move name="Waterfall" id="451">
<type>Water</type>
<class>Physical</class>
<power>80</power>
<accuracy>1.00</accuracy>
<pp>15</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[FlinchEffect, 0.2]]);
]]>
</init>
</move>

<move name="Weather Ball" id="452">
<type>Normal</type>
<class>Special</class>
<power>50</power>
<accuracy>1.00</accuracy>
<pp>10</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
var power_ = this.power;
var type_ = this.type;
this.prepareSelf = function(field, user) {
    // TODO (NOTE): More mechanics made up by me.
    this.type = type_;
    this.power = power_;
    var flags = getGlobalController(field).getFlags();
    if (flags[GlobalEffect.SUN]) {
        this.type = Type.FIRE;
    } else if (flags[GlobalEffect.RAIN]) {
        this.type = Type.WATER;
    } else if (flags[GlobalEffect.SAND]) {
        this.type = Type.ROCK;
    } else if (flags[GlobalEffect.HAIL]) {
        this.type = Type.ICE;
    }
    if ((this.type != type_) || flags[GlobalEffect.FOG]) {
        this.power *= 2;
    }
};
]]>
</init>
</move>

<move name="Whirlpool" id="453">
<type>Water</type>
<class>Special</class>
<power>15</power>
<accuracy>0.70</accuracy>
<pp>15</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makeTemporaryTrappingMove(this, Text.battle_messages_unique.wrap(74));
]]>
</init>
</move>

<move name="Whirlwind" id="454">
<type>Normal</type>
<class>Other</class>
<priority>-6</priority>
<power>0</power>
<accuracy>1.00</accuracy>
<pp>20</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeRandomSwitchMove(this);
]]>
</init>
</move>

<move name="Will-O-Wisp" id="455">
<type>Fire</type>
<class>Other</class>
<power>0</power>
<accuracy>0.75</accuracy>
<pp>15</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <reflect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[BurnEffect]]);
]]>
</init>
</move>

<move name="Wing Attack" id="456">
<type>Flying</type>
<class>Physical</class>
<power>60</power>
<accuracy>1.00</accuracy>
<pp>35</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
</move>

<move name="Wish" id="457">
<type>Normal</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>10</pp>
<target>User</target>
<flags>

</flags>
<use>
<![CDATA[
if (user.getStatus("WishEffect")) {
    field.print(Text.battle_messages(0));
    return;
}
var effect = new StatusEffect("WishEffect");
effect.name = "Wish";
effect.turns = 2;
effect.party_ = user.party;
effect.position_ = user.position;
effect.tier = 2;
effect.subtier = 0;
effect.applyEffect = function() {
    if (this.subject.party != this.party_)
        return false;
    if (this.subject.position != this.position_)
        return false;
    return true;
};
effect.tick = function() {
    if (this.turns != 1)
        return;
    if (this.subject.sendMessage("informHealing"))
        return;
    this.subject.field.print(Text.battle_messages_unique(78));
    var hp = Math.floor(this.subject.getStat(Stat.HP) / 2);
    if (hp < 1) hp = 1;
    this.subject.hp += hp;
};
effect.endTick = function(field) {
    if (--this.turns <= 0) {
        field.removeStatus(this);
    }
};
field.print(Text.battle_messages_unique(77, user));
field.applyStatus(effect);
]]>
</use>
</move>

<move name="Withdraw" id="458">
<type>Water</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>40</pp>
<target>User</target>
<flags>
    <snatch/>
</flags>
<use>
<![CDATA[
user.applyStatus(user, new StatChangeEffect(Stat.DEFENCE, 1));
]]>
</use>
</move>

<move name="Wood Hammer" id="459">
<type>Grass</type>
<class>Physical</class>
<power>120</power>
<accuracy>1.00</accuracy>
<pp>15</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makeRecoilMove(this, 3);
]]>
</init>
</move>

<move name="Worry Seed" id="460">
<type>Grass</type>
<class>Other</class>
<power>0</power>
<accuracy>1.00</accuracy>
<pp>10</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <reflect/>
    <memorable/>
</flags>
<use>
<![CDATA[
if (target.ability && (target.ability.id == "Multitype")) {
    field.print(Text.battle_messages(0));
    return;
}
target.ability = Ability["Insomnia"];
field.print(Text.battle_messages_unique(140, target, target.ability));
]]>
</use>
</move>

<move name="Wrap" id="461">
<type>Normal</type>
<class>Physical</class>
<power>15</power>
<accuracy>0.85</accuracy>
<pp>20</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makeTemporaryTrappingMove(this, Text.battle_messages_unique.wrap(75));
]]>
</init>
</move>

<move name="Wring Out" id="462">
<type>Normal</type>
<class>Special</class>
<power>1</power>
<accuracy>1.00</accuracy>
<pp>5</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makeTargetHealthMove(this);
]]>
</init>
</move>

<move name="X-Scissor" id="463">
<type>Bug</type>
<class>Physical</class>
<power>80</power>
<accuracy>1.00</accuracy>
<pp>15</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
</move>

<move name="Yawn" id="464">
<type>Normal</type>
<class>Other</class>
<power>0</power>
<accuracy>0</accuracy>
<pp>10</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <reflect/>
    <memorable/>
</flags>
<use>
<![CDATA[
if (target.getStatus("YawnEffect")
        || target.getStatus(StatusEffect.SPECIAL_EFFECT)) {
    field.print(Text.battle_messages(0));
    return;
}
var effect = new StatusEffect("YawnEffect");
effect.name = Text.battle_messages_unique(91);
effect.tier = 6;
effect.subtier = 10;
effect.turns_ = 2;
effect.tick = function() {
    if (--this.turns_ > 0)
        return;
    this.subject.applyStatus(user, new SleepEffect());
    this.subject.removeStatus(this);
};
target.applyStatus(user, effect);
field.print(Text.battle_messages_unique(92, target));
]]>
</use>
</move>

<move name="Zap Cannon" id="465">
<type>Electric</type>
<class>Special</class>
<power>120</power>
<accuracy>0.50</accuracy>
<pp>5</pp>
<target>Non-user</target>
<flags>
    <protect/>
    <memorable/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[ParalysisEffect]]);
]]>
</init>
</move>

<move name="Zen Headbutt" id="466">
<type>Psychic</type>
<class>Physical</class>
<power>80</power>
<accuracy>0.90</accuracy>
<pp>15</pp>
<target>Non-user</target>
<flags>
    <contact/>
    <protect/>
    <memorable/>
    <flinch/>
</flags>
<init>
<![CDATA[
makeStatusMove(this, [[FlinchEffect, 0.2]]);
]]>
</init>
</move>

<!--
  This is the move that a pokemon uses when it hits itself in confusion. It
  is referenced only by the implementation of confusion in statuses.js.
-->
<move name="__confusion" id="467">
<type>Typeless</type>
<class>Physical</class>
<power>40</power>
<accuracy>0</accuracy>
<pp>0</pp>
<target>Non-user</target>
<flags>
    <no-critical/>
    <internal/>
</flags>
</move>

</shoddybattle>
Back to top Go down
https://pokelabfred.forumotion.com
Sponsored content





-Moves.xml-(another huge post) Empty
PostSubject: Re: -Moves.xml-(another huge post)   -Moves.xml-(another huge post) Empty

Back to top Go down
 
-Moves.xml-(another huge post)
Back to top 
Page 1 of 1
 Similar topics
-
» -species.xml-(warning- huge post)

Permissions in this forum:You cannot reply to topics in this forum
Fred (pokemon lab bot) source :: Source code-
Jump to: