pokemon-showdown-client/data/graphics.js
2017-08-17 12:51:53 -07:00

32064 lines
605 KiB
JavaScript

/*
License: CC0 (public domain)
<http://creativecommons.org/publicdomain/zero/1.0/>
This license DOES extend to all images in the fx/ folder, with the exception of icicle.png, lightning.png, and bone.png.
icicle.png and lightning.png by Clint Bellanger are triple-licensed GPLv2/GPLv3/CC-BY-SA-3.0.
<http://opengameart.org/content/icicle-spell>
<http://opengameart.org/content/lightning-shock-spell>
rocks.png, rock1.png, rock2.png by PO user "Gilad" is licensed GPLv3.
This license DOES NOT extend to any images in the sprites/ folder.
This license DOES NOT extend to any other files of the Pokemon replay viewer.
*/
var BattleEffects = {
wisp: {
url: 'wisp.png',
w: 100, h: 100
},
poisonwisp: {
url: 'poisonwisp.png',
w: 100, h: 100
},
waterwisp: {
url: 'waterwisp.png',
w: 100, h: 100
},
mudwisp: {
url: 'mudwisp.png',
w: 100, h: 100
},
fireball: {
url: 'fireball.png',
w: 64, h: 64
},
bluefireball: {
url: 'bluefireball.png',
w: 64, h: 64
},
icicle: {
url: 'icicle.png', // http://opengameart.org/content/icicle-spell
w: 80, h: 60
},
lightning: {
url: 'lightning.png', // by Pokemon Showdown user SailorCosmos
w: 41, h: 229
},
rocks: {
url: 'rocks.png', // Pokemon Online - Gilad
w: 100, h: 100
},
rock1: {
url: 'rock1.png', // Pokemon Online - Gilad
w: 64, h: 80
},
rock2: {
url: 'rock2.png', // Pokemon Online - Gilad
w: 66, h: 72
},
rock3: {
url: 'rock3.png', // by Pokemon Showdown user SailorCosmos
w: 66, h: 72
},
leaf1: {
url: 'leaf1.png',
w: 32, h: 26
},
leaf2: {
url: 'leaf2.png',
w: 40, h: 26
},
bone: {
url: 'bone.png',
w: 29, h: 29
},
caltrop: {
url: 'caltrop.png', // by Pokemon Showdown user SailorCosmos
w: 80, h: 80
},
poisoncaltrop: {
url: 'poisoncaltrop.png', // by Pokemon Showdown user SailorCosmos
w: 80, h: 80
},
shadowball: {
url: 'shadowball.png',
w: 100, h: 100
},
energyball: {
url: 'energyball.png',
w: 100, h: 100
},
electroball: {
url: 'electroball.png',
w: 100, h: 100
},
mistball: {
url: 'mistball.png',
w: 100, h: 100
},
iceball: {
url: 'iceball.png',
w: 100, h: 100
},
flareball: {
url: 'flareball.png',
w: 100, h: 100
},
pokeball: {
url: 'pokeball.png',
w: 24, h: 24
},
fist: {
url: 'fist.png', // by Pokemon Showdown user SailorCosmos
w: 55, h: 49
},
fist1: {
url: 'fist1.png',
w: 49, h: 55
},
foot: {
url: 'foot.png', // by Pokemon Showdown user SailorCosmos
w: 50, h: 75
},
topbite: {
url: 'topbite.png',
w: 108, h: 64
},
bottombite: {
url: 'bottombite.png',
w: 108, h: 64
},
web: {
url: 'web.png', // by Pokemon Showdown user SailorCosmos
w: 120, h: 122
},
leftclaw: {
url: 'leftclaw.png',
w: 44, h: 60
},
rightclaw: {
url: 'rightclaw.png',
w: 44, h: 60
},
leftslash: {
url: 'leftslash.png', // by Pokemon Showdown user Modeling Clay
w: 57, h: 56
},
rightslash: {
url: 'rightslash.png', // by Pokemon Showdown user Modeling Clay
w: 57, h: 56
},
leftchop: {
url: 'leftchop.png', // by Pokemon Showdown user SailorCosmos
w: 100, h: 130
},
rightchop: {
url: 'rightchop.png', // by Pokemon Showdown user SailorCosmos
w: 100, h: 130
},
angry: {
url: 'angry.png', // by Pokemon Showdown user SailorCosmos
w: 30, h: 30
},
heart: {
url: 'heart.png', // by Pokemon Showdown user SailorCosmos
w: 30, h: 30
},
pointer: {
url: 'pointer.png', // by Pokemon Showdown user SailorCosmos
w: 100, h: 100
},
sword: {
url: 'sword.png', // by Pokemon Showdown user SailorCosmos
w: 48, h: 100
},
impact: {
url: 'impact.png', // by Pokemon Showdown user SailorCosmos
w: 127, h: 119
},
stare: {
url: 'stare.png',
w: 100, h: 35
},
shine: {
url: 'shine.png', // by Smogon user Jajoken
w: 127, h: 119
},
feather: {
url: 'feather.png', // Ripped from http://www.clker.com/clipart-black-and-white-feather.html
w: 100, h: 38
},
shell: {
url: 'shell.png', // by Smogon user Jajoken
w: 100, h: 91.5
},
petal: {
url: 'petal.png', // by Smogon user Jajoken
w: 60, h: 60
},
gear: {
url: 'gear.png', // by Smogon user Jajoken
w: 100, h: 100
},
alpha: {
url: 'alpha.png', // Ripped from Pokemon Global Link
w: 80, h: 80
},
omega: {
url: 'omega.png', // Ripped from Pokemon Global Link
w: 80, h: 80
},
rainbow: {
url: 'rainbow.png',
w: 128, h: 128
},
zsymbol: {
url: 'z-symbol.png', // From http://froggybutt.deviantart.com/art/Pokemon-Z-Move-symbol-633125033
w: 150, h: 100
},
none: {
// this is for passing to battle.pos() and battle.posT() for CSS effects
w: 100, h: 100
}
};
(function () {
if (!window.Tools || !Tools.resourcePrefix) return;
for (var i in BattleEffects) {
if (!BattleEffects[i].url) continue;
BattleEffects[i].url = Tools.fxPrefix + BattleEffects[i].url;
}
})();
var BattleBackdropsThree = [
'bg-gen3.png',
'bg-gen3-cave.png',
'bg-gen3-ocean.png',
'bg-gen3-sand.png',
'bg-gen3-forest.png',
'bg-gen3-arena.png'
];
var BattleBackdropsFour = [
'bg-gen4.png',
'bg-gen4-cave.png',
'bg-gen4-snow.png',
'bg-gen4-indoors.png',
'bg-gen4-water.png'
];
var BattleBackdropsFive = [
'bg-beach.png',
'bg-beachshore.png',
'bg-desert.png',
'bg-meadow.png',
'bg-thunderplains.png',
'bg-city.png',
'bg-earthycave.png',
'bg-mountain.png',
'bg-volcanocave.png',
'bg-dampcave.png',
'bg-forest.png',
'bg-river.png',
'bg-deepsea.png',
'bg-icecave.png',
'bg-route.png'
];
var BattleBackdrops = [
'bg-aquacordetown.jpg',
'bg-beach.jpg',
'bg-city.jpg',
'bg-dampcave.jpg',
'bg-darkbeach.jpg',
'bg-darkcity.jpg',
'bg-darkmeadow.jpg',
'bg-deepsea.jpg',
'bg-desert.jpg',
'bg-earthycave.jpg',
'bg-elite4drake.jpg',
'bg-forest.jpg',
'bg-icecave.jpg',
'bg-leaderwallace.jpg',
'bg-library.jpg',
'bg-meadow.jpg',
'bg-orasdesert.jpg',
'bg-orassea.jpg',
'bg-skypillar.jpg'
];
var BattleStats = {
atk: 'Attack', def: 'Defense', spa: 'Special Attack', spd: 'Special Defense', spe: 'Speed', accuracy: 'accuracy', evasion: 'evasiveness', spc: 'Special'
};
var BattleItems = {
};
var BattleOtherAnims = {
attack: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('wisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.1,
opacity: 1
}, {
x: defender.x,
y: defender.y,
z: defender.behind(40),
scale: 1,
opacity: 0.5
}, 'linear');
}
},
contactattack: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
attacker.anim({
x: defender.x,
y: defender.y + 80,
z: defender.behind(-30),
time: 400
}, 'ballistic');
attacker.anim({
x: defender.x,
y: defender.y + 5,
z: defender.z,
time: 100
});
attacker.anim({
time: 500
}, 'ballistic2Back');
defender.delay(450);
defender.anim({
z: defender.behind(20),
time: 100
}, 'swing');
defender.anim({
time: 300
}, 'swing');
battle.activityWait(500);
}
},
xattack: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
attacker.anim({
x: defender.leftof(-30),
y: defender.y + 80,
z: defender.behind(-30),
time: 400
}, 'ballistic');
attacker.anim({
x: defender.leftof(30),
y: defender.y + 5,
z: defender.z,
time: 100
});
attacker.anim({
x: defender.leftof(30),
y: defender.y + 80,
z: defender.behind(-30),
time: 200
}, 'ballisticUp');
attacker.anim({
x: defender.leftof(-30),
y: defender.y + 5,
z: defender.z,
time: 100
});
attacker.anim({
time: 500
}, 'ballistic2Back');
defender.delay(450);
defender.anim({
z: defender.behind(20),
time: 100
}, 'swing');
defender.anim({
time: 200
}, 'swing');
defender.anim({
z: defender.behind(20),
time: 100
}, 'swing');
defender.anim({
time: 300
}, 'swing');
battle.activityWait(800);
}
},
slashattack: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
attacker.anim({
x: defender.x,
y: defender.y + 80,
z: defender.behind(-30),
time: 400
}, 'ballistic');
attacker.anim({
x: defender.x,
y: defender.y + 5,
z: defender.z,
time: 100
});
attacker.anim({
time: 500
}, 'ballistic2Back');
defender.delay(450);
defender.anim({
z: defender.behind(20),
time: 100
}, 'swing');
defender.anim({
time: 300
}, 'swing');
battle.activityWait(500);
battle.showEffect('rightslash', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 1,
opacity: 1,
time: 500
}, {
scale: 3,
opacity: 0,
time: 800
}, 'linear', 'fade');
}
},
clawattack: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
attacker.anim({
x: defender.leftof(-30),
y: defender.y + 80,
z: defender.behind(-30),
time: 400
}, 'ballistic');
attacker.anim({
x: defender.leftof(30),
y: defender.y + 5,
z: defender.z,
time: 100
});
attacker.anim({
x: defender.leftof(30),
y: defender.y + 80,
z: defender.behind(-30),
time: 200
}, 'ballisticUp');
attacker.anim({
x: defender.leftof(-30),
y: defender.y + 5,
z: defender.z,
time: 100
});
attacker.anim({
time: 500
}, 'ballistic2Back');
defender.delay(450);
defender.anim({
z: defender.behind(20),
time: 100
}, 'swing');
defender.anim({
time: 200
}, 'swing');
defender.anim({
z: defender.behind(20),
time: 100
}, 'swing');
defender.anim({
time: 300
}, 'swing');
battle.activityWait(800);
battle.showEffect('leftclaw', {
x: defender.x - 20,
y: defender.y + 20,
z: defender.z,
scale: 0,
opacity: 1,
time: 400
}, {
x: defender.x - 20,
y: defender.y + 20,
z: defender.z,
scale: 3,
opacity: 0,
time: 700
}, 'linear', 'fade');
battle.showEffect('leftclaw', {
x: defender.x - 20,
y: defender.y - 20,
z: defender.z,
scale: 0,
opacity: 1,
time: 400
}, {
x: defender.x - 20,
y: defender.y - 20,
z: defender.z,
scale: 3,
opacity: 0,
time: 700
}, 'linear', 'fade');
battle.showEffect('rightclaw', {
x: defender.x + 20,
y: defender.y + 20,
z: defender.z,
scale: 0,
opacity: 1,
time: 700
}, {
x: defender.x + 20,
y: defender.y + 20,
z: defender.z,
scale: 3,
opacity: 0,
time: 1000
}, 'linear', 'fade');
battle.showEffect('rightclaw', {
x: defender.x + 20,
y: defender.y - 20,
z: defender.z,
scale: 0,
opacity: 1,
time: 700
}, {
x: defender.x + 20,
y: defender.y - 20,
z: defender.z,
scale: 3,
opacity: 0,
time: 1000
}, 'linear', 'fade');
}
},
punchattack: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('wisp', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 1,
time: 400
}, {
x: defender.leftof(-20),
y: defender.y,
z: defender.behind(20),
scale: 3,
opacity: 0,
time: 700
}, 'linear');
battle.showEffect('wisp', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 1,
time: 500
}, {
x: defender.leftof(-20),
y: defender.y,
z: defender.behind(20),
scale: 3,
opacity: 0,
time: 800
}, 'linear');
battle.showEffect('fist', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 1,
opacity: 1,
time: 400
}, {
x: defender.leftof(-20),
y: defender.y,
z: defender.behind(20),
scale: 2,
opacity: 0,
time: 800
}, 'linear');
attacker.anim({
x: defender.leftof(20),
y: defender.y,
z: defender.behind(-20),
time: 400
}, 'ballistic2Under');
attacker.anim({
x: defender.x,
y: defender.y,
z: defender.z,
time: 50
});
attacker.anim({
time: 500
}, 'ballistic2');
defender.delay(425);
defender.anim({
x: defender.leftof(-15),
y: defender.y,
z: defender.behind(15),
time: 50
}, 'swing');
defender.anim({
time: 300
}, 'swing');
}
},
bite: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('topbite', {
x: defender.x,
y: defender.y + 50,
z: defender.z,
scale: .5,
opacity: 0,
time: 370
}, {
x: defender.x,
y: defender.y + 10,
z: defender.z,
scale: .5,
opacity: 1,
time: 500
}, 'linear', 'fade');
battle.showEffect('bottombite', {
x: defender.x,
y: defender.y - 50,
z: defender.z,
scale: .5,
opacity: 0,
time: 370
}, {
x: defender.x,
y: defender.y - 10,
z: defender.z,
scale: .5,
opacity: 1,
time: 500
}, 'linear', 'fade');
}
},
kick: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('foot', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 1,
opacity: 1,
time: 400
}, {
x: defender.x,
y: defender.y - 20,
z: defender.behind(15),
scale: 2,
opacity: 0,
time: 800
}, 'linear');
}
},
fastattack: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('wisp', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 0.5,
time: 260
}, {
scale: 2,
opacity: 0,
time: 560
}, 'linear');
battle.showEffect('wisp', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 0.5,
time: 310
}, {
scale: 2,
opacity: 0,
time: 610
}, 'linear');
battle.showEffect(attacker.sp, {
x: attacker.x,
y: attacker.y,
z: attacker.z,
opacity: 0.3,
time: 50
}, {
x: defender.x,
y: defender.y,
z: defender.behind(70),
time: 350
}, 'accel', 'fade');
battle.showEffect(attacker.sp, {
x: attacker.x,
y: attacker.y,
z: attacker.z,
opacity: 0.3,
time: 100
}, {
x: defender.x,
y: defender.y,
z: defender.behind(70),
time: 400
}, 'accel', 'fade');
attacker.anim({
x: defender.x,
y: defender.y,
z: defender.behind(70),
time: 300,
opacity: .5
}, 'accel');
attacker.anim({
x: defender.x,
y: defender.x,
z: defender.behind(100),
opacity: 0,
time: 100
}, 'linear');
attacker.anim({
x: attacker.x,
y: attacker.y,
z: attacker.behind(70),
opacity: 0,
time: 1
}, 'linear');
attacker.anim({
opacity: 1,
time: 500
}, 'decel');
defender.delay(260);
defender.anim({
z: defender.behind(30),
time: 100
}, 'swing');
defender.anim({
time: 300
}, 'swing');
}
},
sneakattack: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
attacker.anim({
x: attacker.leftof(-20),
y: attacker.y,
z: attacker.behind(-20),
opacity: 0,
time: 200
}, 'linear');
attacker.anim({
x: defender.x,
y: defender.y,
z: defender.behind(-120),
opacity: 0,
time: 1
}, 'linear');
attacker.anim({
x: defender.x,
y: defender.y,
z: defender.behind(40),
opacity: 1,
time: 250
}, 'linear');
attacker.anim({
x: defender.x,
y: defender.y,
z: defender.behind(-5),
opacity: 0,
time: 300
}, 'linear');
attacker.anim({
opacity: 0,
time: 1
}, 'linear');
attacker.anim({
time: 300,
opacity: 1
}, 'linear');
defender.delay(330);
defender.anim({
z: defender.behind(20),
time: 100
}, 'swing');
defender.anim({
time: 300
}, 'swing');
battle.activityWait(350);
}
},
spinattack: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
attacker.anim({
x: defender.x,
y: defender.y + 60,
z: defender.behind(-30),
time: 400
}, 'ballistic2');
attacker.anim({
x: defender.x,
y: defender.y + 5,
z: defender.z,
time: 100
});
attacker.anim({
time: 500
}, 'ballistic2');
defender.delay(450);
defender.anim({
z: defender.behind(20),
time: 100
}, 'swing');
defender.anim({
time: 300
}, 'swing');
battle.activityWait(500);
}
},
bound: {
anim: function (battle, args) {
var attacker = args[0];
battle.showEffect('iceball', {
x: attacker.x,
y: attacker.y + 15,
z: attacker.z,
scale: 0.7,
xscale: 2,
opacity: 0.3,
time: 0
}, {
scale: 0.4,
xscale: 1,
opacity: 0.1,
time: 500
}, 'decel', 'fade');
battle.showEffect('iceball', {
x: attacker.x,
y: attacker.y - 5,
z: attacker.z,
scale: 0.7,
xscale: 2,
opacity: 0.3,
time: 50
}, {
scale: 0.4,
xscale: 1,
opacity: 0.1,
time: 550
}, 'decel', 'fade');
battle.showEffect('iceball', {
x: attacker.x,
y: attacker.y - 20,
z: attacker.z,
scale: 0.7,
xscale: 2,
opacity: 0.3,
time: 100
}, {
scale: 0.4,
xscale: 1,
opacity: 0.1,
time: 600
}, 'decel', 'fade');
attacker.anim({
y: attacker.y + 15,
z: attacker.behind(10),
yscale: 1.3,
time: 200
}, 'swing');
attacker.anim({
time: 200
}, 'swing');
attacker.delay(25);
attacker.anim({
x: attacker.leftof(-10),
y: attacker.y + 15,
z: attacker.behind(5),
yscale: 1.3,
time: 200
}, 'swing');
attacker.anim({
time: 200
}, 'swing');
}
},
selfstatus: {
anim: function (battle, args) {
var attacker = args[0];
battle.showEffect('wisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 2,
opacity: 0.2,
time: 0
}, {
scale: 0,
opacity: 1,
time: 300
}, 'linear');
battle.showEffect('wisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 2,
opacity: 0.2,
time: 200
}, {
scale: 0,
opacity: 1,
time: 500
}, 'linear');
}
},
lightstatus: {
anim: function (battle, args) {
var attacker = args[0];
battle.showEffect('electroball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 2,
opacity: 0.1,
time: 0
}, {
scale: 0,
opacity: .5,
time: 600
}, 'linear');
}
},
chargestatus: {
anim: function (battle, args) {
var attacker = args[0];
battle.showEffect('electroball', {
x: attacker.x - 60,
y: attacker.y + 40,
z: attacker.z,
scale: 0.7,
opacity: 0.7,
time: 0
}, {
x: attacker.x,
y: attacker.y,
scale: 0.2,
opacity: 0.2,
time: 300
}, 'linear', 'fade');
battle.showEffect('electroball', {
x: attacker.x + 60,
y: attacker.y - 5,
z: attacker.z,
scale: 0.7,
opacity: 0.7,
time: 100
}, {
x: attacker.x,
y: attacker.y,
scale: 0.2,
opacity: 0.2,
time: 300
}, 'linear', 'fade');
battle.showEffect('electroball', {
x: attacker.x - 30,
y: attacker.y + 60,
z: attacker.z,
scale: 0.7,
opacity: 0.7,
time: 100
}, {
x: attacker.x,
y: attacker.y,
scale: 0.2,
opacity: 0.2,
time: 400
}, 'linear', 'fade');
battle.showEffect('electroball', {
x: attacker.x + 20,
y: attacker.y - 50,
z: attacker.z,
scale: 0.7,
opacity: 0.7,
time: 100
}, {
x: attacker.x,
y: attacker.y,
scale: 0.2,
opacity: 0.2,
time: 400
}, 'linear', 'fade');
battle.showEffect('electroball', {
x: attacker.x - 70,
y: attacker.y - 50,
z: attacker.z,
scale: 0.7,
opacity: 0.7,
time: 200
}, {
x: attacker.x,
y: attacker.y,
scale: 0.2,
opacity: 0.2,
time: 500
}, 'linear', 'fade');
}
},
heal: {
anim: function (battle, args) {
var attacker = args[0];
battle.showEffect('iceball', {
x: attacker.x + 30,
y: attacker.y + 5,
z: attacker.z,
scale: 0.1,
opacity: 0.7,
time: 200
}, {
x: attacker.x + 40,
y: attacker.y + 10,
opacity: 0,
time: 600
}, 'accel');
battle.showEffect('iceball', {
x: attacker.x - 30,
y: attacker.y - 10,
z: attacker.z,
scale: 0.1,
opacity: 0.7,
time: 300
}, {
x: attacker.x - 40,
y: attacker.y - 20,
opacity: 0,
time: 700
}, 'accel');
battle.showEffect('iceball', {
x: attacker.x + 15,
y: attacker.y + 10,
z: attacker.z,
scale: 0.1,
opacity: 0.7,
time: 400
}, {
x: attacker.x + 25,
y: attacker.y + 20,
opacity: 0,
time: 800
}, 'accel');
battle.showEffect('iceball', {
x: attacker.x - 15,
y: attacker.y - 30,
z: attacker.z,
scale: 0.1,
opacity: 0.7,
time: 500
}, {
x: attacker.x - 25,
y: attacker.y - 40,
opacity: 0,
time: 900
}, 'accel');
}
},
shiny: {
anim: function (battle, args) {
var attacker = args[0];
battle.backgroundEffect('#000000', 800, 0.3, 100);
battle.showEffect('shine', {
x: attacker.x + 5,
y: attacker.y + 20,
z: attacker.z,
scale: 0.1,
opacity: 0.7,
time: 450
}, {
y: attacker.y + 35,
opacity: 0,
time: 675
}, 'decel');
battle.showEffect('shine', {
x: attacker.x + 15,
y: attacker.y + 20,
z: attacker.z,
scale: 0.2,
opacity: 0.7,
time: 475
}, {
x: attacker.x + 25,
y: attacker.y + 30,
opacity: 0,
time: 700
}, 'decel');
battle.showEffect('shine', {
x: attacker.x - 15,
y: attacker.y + 20,
z: attacker.z,
scale: 0.2,
opacity: 0.7,
time: 500
}, {
x: attacker.x - 25,
y: attacker.y + 30,
opacity: 0,
time: 725
}, 'decel');
battle.showEffect('shine', {
x: attacker.x - 20,
y: attacker.y + 5,
z: attacker.z,
scale: 0.2,
opacity: 0.7,
time: 550
}, {
x: attacker.x - 30,
y: attacker.y - 5,
opacity: 0,
time: 775
}, 'decel');
battle.showEffect('shine', {
x: attacker.x + 15,
y: attacker.y + 10,
z: attacker.z,
scale: 0.2,
opacity: 0.7,
time: 650
}, {
x: attacker.x + 35,
y: attacker.y - 5,
opacity: 0,
time: 875
}, 'decel');
battle.showEffect('shine', {
x: attacker.x + 5,
y: attacker.y - 5,
z: attacker.z,
scale: 0.2,
opacity: 0.7,
time: 675
}, {
y: attacker.y - 20,
opacity: 0,
time: 900
}, 'decel');
}
},
flight: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
attacker.anim({
x: attacker.leftof(-200),
y: attacker.y + 80,
z: attacker.z,
opacity: 0,
time: 350
}, 'accel');
attacker.anim({
x: defender.leftof(-200),
y: defender.y + 80,
z: defender.z,
time: 1
}, 'linear');
attacker.anim({
x: defender.x,
y: defender.y,
z: defender.z,
opacity: 1,
time: 350
}, 'accel');
battle.showEffect('wisp', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 0.5,
time: 700
}, {
scale: 2,
opacity: 0,
time: 900
}, 'linear');
attacker.anim({
x: defender.leftof(100),
y: defender.y - 40,
z: defender.z,
opacity: 0,
time: 175
});
attacker.anim({
x: attacker.x,
y: attacker.y + 40,
z: attacker.behind(40),
time: 1
});
attacker.anim({
x: attacker.x,
y: attacker.y,
z: attacker.z,
time: 250
}, 'decel');
defender.delay(700);
defender.anim({
z: defender.behind(20),
time: 100
}, 'swing');
defender.anim({
time: 300
}, 'swing');
}
},
shake: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
attacker.anim({x: attacker.x - 10, time: 200});
attacker.anim({x: attacker.x + 10, time: 300});
attacker.anim({x: attacker.x, time: 200});
}
},
dance: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
attacker.anim({x: attacker.x - 10});
attacker.anim({x: attacker.x + 10});
attacker.anim({x: attacker.x});
}
},
consume: {
anim: function (battle, args) {
var defender = args[0];
battle.showEffect('wisp', {
x: defender.leftof(-25),
y: defender.y + 40,
z: defender.behind(-20),
scale: 0.5,
opacity: 1
}, {
x: defender.leftof(-15),
y: defender.y + 35,
z: defender.z,
scale: 0,
opacity: 0.2,
time: 500
}, 'swing', 'fade');
defender.delay(400);
defender.anim({
y: defender.y + 5,
yscale: 1.1,
time: 200
}, 'swing');
defender.anim({
time: 200
}, 'swing');
defender.anim({
y: defender.y + 5,
yscale: 1.1,
time: 200
}, 'swing');
defender.anim({
time: 200
}, 'swing');
}
},
leech: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('energyball', {
x: defender.x - 30,
y: defender.y - 40,
z: defender.z,
scale: .2,
opacity: .7,
time: 0
}, {
x: attacker.x,
y: attacker.y,
z: attacker.z,
time: 500,
opacity: 0.1
}, 'ballistic2', 'fade');
battle.showEffect('energyball', {
x: defender.x + 40,
y: defender.y - 35,
z: defender.z,
scale: .2,
opacity: .7,
time: 50
}, {
x: attacker.x,
y: attacker.y,
z: attacker.z,
time: 550,
opacity: 0.1
}, 'linear', 'fade');
battle.showEffect('energyball', {
x: defender.x + 20,
y: defender.y - 25,
z: defender.z,
scale: .2,
opacity: .7,
time: 100
}, {
x: attacker.x,
y: attacker.y,
z: attacker.z,
time: 600,
opacity: 0.1
}, 'ballistic2Under', 'fade');
}
},
drain: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('energyball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0.6,
opacity: .6,
time: 0
}, {
x: attacker.x,
y: attacker.y,
z: attacker.z,
time: 500,
opacity: 0
}, 'ballistic2');
battle.showEffect('energyball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0.6,
opacity: .6,
time: 50
}, {
x: attacker.x,
y: attacker.y,
z: attacker.z,
time: 550,
opacity: 0
}, 'linear');
battle.showEffect('energyball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0.6,
opacity: .6,
time: 100
}, {
x: attacker.x,
y: attacker.y,
z: attacker.z,
time: 600,
opacity: 0
}, 'ballistic2Under');
}
},
hydroshot: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('waterwisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.4,
opacity: 0.3
}, {
x: defender.x + 10,
y: defender.y + 5,
z: defender.behind(30),
scale: 1,
opacity: 0.6
}, 'decel', 'explode');
battle.showEffect('waterwisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.4,
opacity: 0.3,
time: 75
}, {
x: defender.x - 10,
y: defender.y - 5,
z: defender.behind(30),
scale: 1,
opacity: 0.6
}, 'decel', 'explode');
battle.showEffect('waterwisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.4,
opacity: 0.3,
time: 150
}, {
x: defender.x,
y: defender.y + 5,
z: defender.behind(30),
scale: 1,
opacity: 0.6
}, 'decel', 'explode');
}
},
sound: {
anim: function (battle, args) {
var attacker = args[0];
battle.showEffect('wisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0,
opacity: 0.7,
time: 0
}, {
z: attacker.behind(-50),
scale: 5,
opacity: 0,
time: 400
}, 'linear');
battle.showEffect('wisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0,
opacity: 0.7,
time: 150
}, {
z: attacker.behind(-50),
scale: 5,
opacity: 0,
time: 600
}, 'linear');
battle.showEffect('wisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0,
opacity: 0.7,
time: 300
}, {
z: attacker.behind(-50),
scale: 5,
opacity: 0,
time: 800
}, 'linear');
}
},
gravity: {
anim: function (battle, args) {
var attacker = args[0];
attacker.anim({
y: attacker.y - 20,
yscale: 0.5,
time: 300
}, 'decel');
attacker.delay(200);
attacker.anim({
time: 300
});
}
},
futuresighthit: {
anim: function (battle, args) {
var defender = args[0];
battle.backgroundEffect('#AA44BB', 250, 0.6);
battle.backgroundEffect('#AA44FF', 250, 0.6, 400);
defender.anim({
scale: 1.2,
time: 100
});
defender.anim({
scale: 1,
time: 100
});
defender.anim({
scale: 1.4,
time: 150
});
defender.anim({
scale: 1,
time: 150
});
battle.activityWait(700);
}
},
doomdesirehit: {
anim: function (battle, args) {
var defender = args[0];
battle.backgroundEffect('#ffffff', 600, 0.6);
battle.showEffect('fireball', {
x: defender.x + 40,
y: defender.y,
z: defender.z,
scale: 0,
opacity: .6
}, {
scale: 6,
opacity: 0
}, 'linear');
battle.showEffect('fireball', {
x: defender.x - 40,
y: defender.y - 20,
z: defender.z,
scale: 0,
opacity: .6,
time: 150
}, {
scale: 6,
opacity: 0
}, 'linear');
battle.showEffect('fireball', {
x: defender.x + 10,
y: defender.y + 20,
z: defender.z,
scale: 0,
opacity: .6,
time: 300
}, {
scale: 6,
opacity: 0
}, 'linear');
defender.delay(100);
defender.anim({
x: defender.x - 30,
time: 75
});
defender.anim({
x: defender.x + 30,
time: 100
});
defender.anim({
x: defender.x - 30,
time: 100
});
defender.anim({
x: defender.x + 30,
time: 100
});
defender.anim({
x: defender.x,
time: 100
});
}
},
itemoff: {
anim: function (battle, args) {
var defender = args[0];
battle.showEffect('pokeball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 1,
opacity: 1
}, {
x: defender.x,
y: defender.y + 40,
z: defender.behind(70),
opacity: 0,
time: 400
}, 'ballistic2');
}
},
anger: {
anim: function (battle, args) {
var attacker = args[0];
battle.showEffect('angry', {
x: attacker.x + 20,
y: attacker.y + 20,
z: attacker.z,
scale: 0.5,
opacity: 0.5,
time: 0
}, {
scale: 1,
opacity: 1,
time: 300
}, 'ballistic2Under', 'fade');
battle.showEffect('angry', {
x: attacker.x - 20,
y: attacker.y + 10,
z: attacker.z,
scale: 0.5,
opacity: 0.5,
time: 100
}, {
scale: 1,
opacity: 1,
time: 400
}, 'ballistic2Under', 'fade');
battle.showEffect('angry', {
x: attacker.x,
y: attacker.y + 40,
z: attacker.z,
scale: 0.5,
opacity: 0.5,
time: 200
}, {
scale: 1,
opacity: 1,
time: 500
}, 'ballistic2Under', 'fade');
}
},
bidecharge: {
anim: function (battle, args) {
var attacker = args[0];
battle.showEffect('wisp', {
x: attacker.x + 30,
y: attacker.y,
z: attacker.z,
scale: 1,
opacity: 1,
time: 0
}, {
y: attacker.y + 60,
opacity: 0.2,
time: 400
}, 'linear', 'fade');
battle.showEffect('wisp', {
x: attacker.x - 30,
y: attacker.y,
z: attacker.z,
scale: 1,
opacity: 1,
time: 100
}, {
y: attacker.y + 60,
opacity: 0.2,
time: 500
}, 'linear', 'fade');
battle.showEffect('wisp', {
x: attacker.x + 15,
y: attacker.y,
z: attacker.z,
scale: 1,
opacity: 1,
time: 200
}, {
y: attacker.y + 60,
opacity: 0.2,
time: 600
}, 'linear', 'fade');
battle.showEffect('wisp', {
x: attacker.x - 15,
y: attacker.y,
z: attacker.z,
scale: 1,
opacity: 1,
time: 300
}, {
y: attacker.y + 60,
opacity: 0.2,
time: 700
}, 'linear', 'fade');
attacker.anim({
x: attacker.x - 2.5,
time: 75
}, 'swing');
attacker.anim({
x: attacker.x + 2.5,
time: 75
}, 'swing');
attacker.anim({
x: attacker.x - 2.5,
time: 75
}, 'swing');
attacker.anim({
x: attacker.x + 2.5,
time: 75
}, 'swing');
attacker.anim({
x: attacker.x - 2.5,
time: 75
}, 'swing');
attacker.anim({
time: 100
}, 'accel');
}
},
bideunleash: {
anim: function (battle, args) {
var attacker = args[0];
battle.showEffect('fireball', {
x: attacker.x + 40,
y: attacker.y,
z: attacker.z,
scale: 0,
opacity: 0.6
}, {
scale: 6,
opacity: 0
}, 'linear');
battle.showEffect('fireball', {
x: attacker.x - 40,
y: attacker.y - 20,
z: attacker.z,
scale: 0,
opacity: 0.6,
time: 150
}, {
scale: 6,
opacity: 0
}, 'linear');
battle.showEffect('fireball', {
x: attacker.x + 10,
y: attacker.y + 20,
z: attacker.z,
scale: 0,
opacity: 0.6,
time: 300
}, {
scale: 6,
opacity: 0
}, 'linear');
attacker.anim({
x: attacker.x - 30,
time: 75
});
attacker.anim({
x: attacker.x + 30,
time: 100
});
attacker.anim({
x: attacker.x - 30,
time: 100
});
attacker.anim({
x: attacker.x + 30,
time: 100
});
attacker.anim({
x: attacker.x - 30,
time: 100
});
attacker.anim({
x: attacker.x + 30,
time: 100
});
attacker.anim({
x: attacker.x,
time: 100
});
}
},
spectralthiefboost: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.backgroundEffect('linear-gradient(#000000 30%, #440044', 1400, 0.5);
battle.showEffect('shadowball', {
x: defender.x,
y: defender.y - 30,
z: defender.z,
scale: 0.5,
xscale: 0.5,
yscale: 1,
opacity: 0.5
}, {
scale: 2,
xscale: 4,
opacity: 0.1,
time: 400
}, 'decel', 'fade');
battle.showEffect('poisonwisp', {
x: defender.x,
y: defender.y - 25,
z: defender.z,
scale: 1
}, {
x: defender.x + 50,
scale: 3,
xscale: 3.5,
opacity: 0.3,
time: 500
}, 'linear', 'fade');
battle.showEffect('poisonwisp', {
x: defender.x,
y: defender.y - 25,
z: defender.z,
scale: 1
}, {
x: defender.x - 50,
scale: 3,
xscale: 3.5,
opacity: 0.3,
time: 500
}, 'linear', 'fade');
battle.showEffect('shadowball', {
x: defender.x + 35,
y: defender.y,
z: defender.z,
opacity: 0.4,
scale: 0.25,
time: 50
}, {
y: defender.y - 40,
opacity: 0,
time: 300
}, 'accel');
battle.showEffect('shadowball', {
x: defender.x - 35,
y: defender.y,
z: defender.z,
opacity: 0.4,
scale: 0.25,
time: 100
}, {
y: defender.y - 40,
opacity: 0,
time: 350
}, 'accel');
battle.showEffect('shadowball', {
x: defender.x + 15,
y: defender.y,
z: defender.z,
opacity: 0.4,
scale: 0.5,
time: 150
}, {
y: defender.y - 40,
opacity: 0,
time: 400
}, 'accel');
battle.showEffect('shadowball', {
x: defender.x + 15,
y: defender.y,
z: defender.z,
opacity: 0.4,
scale: 0.25,
time: 200
}, {
y: defender.y - 40,
opacity: 0,
time: 450
}, 'accel');
battle.showEffect('poisonwisp', {
x: defender.x - 50,
y: defender.y - 40,
z: defender.z,
scale: 2,
opacity: 0.3,
time: 300
}, {
x: attacker.x - 50,
y: attacker.y - 40,
z: attacker.z,
time: 900
}, 'decel', 'fade');
battle.showEffect('poisonwisp', {
x: defender.x - 50,
y: defender.y - 40,
z: defender.z,
scale: 2,
opacity: 0.3,
time: 400
}, {
x: attacker.x - 50,
y: attacker.y - 40,
z: attacker.z,
time: 900
}, 'decel', 'fade');
battle.showEffect('poisonwisp', {
x: defender.x,
y: defender.y - 40,
z: defender.z,
scale: 2,
opacity: 0.3,
time: 450
}, {
x: attacker.x,
y: attacker.y - 40,
z: attacker.z,
time: 950
}, 'decel', 'fade');
battle.showEffect('shadowball', {
x: attacker.x,
y: attacker.y - 30,
z: attacker.z,
scale: 0,
xscale: 0.5,
yscale: 1,
opacity: 0.5,
time: 750
}, {
scale: 2,
xscale: 4,
opacity: 0.1,
time: 1200
}, 'decel', 'fade');
battle.showEffect('shadowball', {
x: attacker.x + 35,
y: attacker.y - 40,
z: attacker.z,
opacity: 0.4,
scale: 0.25,
time: 750
}, {
y: attacker.y,
opacity: 0,
time: 1000
}, 'decel');
battle.showEffect('shadowball', {
x: attacker.x - 35,
y: attacker.y - 40,
z: attacker.z,
opacity: 1,
scale: 0.25,
time: 800
}, {
y: attacker.y,
opacity: 0,
time: 1150
}, 'decel');
battle.showEffect('shadowball', {
x: attacker.x + 15,
y: attacker.y - 40,
z: attacker.z,
opacity: 1,
scale: 0.25,
time: 950
}, {
y: attacker.y,
opacity: 0,
time: 1200
}, 'decel');
battle.showEffect('shadowball', {
x: attacker.x + 15,
y: attacker.y - 40,
z: attacker.z,
opacity: 1,
scale: 0.25,
time: 1000
}, {
y: attacker.y,
opacity: 0,
time: 1350
}, 'decel');
battle.showEffect('poisonwisp', {
x: attacker.x,
y: attacker.y - 25,
z: attacker.z,
scale: 2,
opacity: 1,
time: 750
}, {
x: attacker.x + 75,
opacity: 0.3,
time: 1200
}, 'linear', 'fade');
battle.showEffect('poisonwisp', {
x: attacker.x,
y: attacker.y - 25,
z: attacker.z,
scale: 2,
opacity: 1,
time: 750
}, {
x: attacker.x - 75,
opacity: 0.3,
time: 1200
}, 'linear', 'fade');
defender.anim({
x: defender.x - 15,
time: 75
});
defender.anim({
x: defender.x + 15,
time: 100
});
defender.anim({
x: defender.x - 15,
time: 100
});
defender.anim({
x: defender.x + 15,
time: 100
});
defender.anim({
x: defender.x - 15,
time: 100
});
defender.anim({
x: defender.x + 15,
time: 100
});
defender.anim({
x: defender.x,
time: 100
});
}
},
schoolingin: {
anim: function (battle, args) {
var attacker = args[0];
battle.backgroundEffect('#0000DD', 600, 0.2);
battle.showEffect('wisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 2.5,
opacity: 1
}, {
scale: 3,
time: 600
}, 'linear', 'explode');
battle.showEffect('waterwisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 3,
opacity: 0.3
}, {
scale: 3.25,
time: 600
}, 'linear', 'explode');
battle.showEffect('iceball', {
x: attacker.leftof(200),
y: attacker.y + 40,
z: attacker.z,
scale: 0.5,
opacity: 0.5
}, {
x: attacker.x,
y: attacker.y,
z: attacker.z,
opacity: 0,
time: 200
}, 'ballistic', 'fade');
battle.showEffect('iceball', {
x: attacker.leftof(-140),
y: attacker.y - 60,
z: attacker.z,
scale: 0.5,
opacity: 0.5,
time: 100
}, {
x: attacker.x,
y: attacker.y,
z: attacker.z,
opacity: 0,
time: 300
}, 'ballistic2Under', 'fade');
battle.showEffect('iceball', {
x: attacker.leftof(-140),
y: attacker.y + 50,
z: attacker.behind(170),
scale: 0.5,
opacity: 0.5,
time: 200
}, {
x: attacker.x,
y: attacker.y,
z: attacker.z,
opacity: 0,
time: 400
}, 'ballistic2', 'fade');
battle.showEffect('iceball', {
x: attacker.x,
y: attacker.y + 30,
z: attacker.behind(-250),
scale: 0.5,
opacity: 0.5,
time: 200
}, {
x: attacker.x,
y: attacker.y,
z: attacker.z,
opacity: 0,
time: 500
}, 'ballistic', 'fade');
battle.showEffect('iceball', {
x: attacker.leftof(240),
y: attacker.y - 80,
z: attacker.z,
scale: 0.5,
opacity: 0.5,
time: 300
}, {
x: attacker.x,
y: attacker.y,
z: attacker.z,
opacity: 0,
time: 600
}, 'ballistic2Under');
}
},
schoolingout: {
anim: function (battle, args) {
var attacker = args[0];
battle.backgroundEffect('#0000DD', 600, 0.2);
battle.showEffect('wisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 3,
opacity: 1
}, {
scale: 2,
time: 600
}, 'linear', 'explode');
battle.showEffect('waterwisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 3.25,
opacity: 0.3
}, {
scale: 2.5,
time: 600
}, 'linear', 'explode');
battle.showEffect('iceball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.5,
opacity: 0
}, {
x: attacker.leftof(200),
y: attacker.y + 40,
z: attacker.z,
scale: 0.5,
opacity: 0.5,
time: 200
}, 'ballistic', 'fade');
battle.showEffect('iceball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.5,
opacity: 0,
time: 100
}, {
x: attacker.leftof(-140),
y: attacker.y - 60,
z: attacker.z,
opacity: 0.5,
time: 300
}, 'ballistic2Under', 'fade');
battle.showEffect('iceball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.5,
opacity: 0,
time: 200
}, {
x: attacker.leftof(-140),
y: attacker.y + 50,
z: attacker.behind(170),
opacity: 0.5,
time: 400
}, 'ballistic2', 'fade');
battle.showEffect('iceball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.5,
opacity: 0,
time: 200
}, {
x: attacker.x,
y: attacker.y + 30,
z: attacker.behind(-250),
opacity: 0.5,
time: 500
}, 'ballistic', 'fade');
battle.showEffect('iceball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.5,
opacity: 0,
time: 300
}, {
x: attacker.leftof(240),
y: attacker.y - 80,
z: attacker.z,
opacity: 0.5,
time: 600
}, 'ballistic2Under');
}
},
primalalpha: {
anim: function (battle, args) {
var attacker = args[0];
battle.backgroundEffect('#0000DD', 500, 0.4);
battle.showEffect('iceball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 2,
opacity: 0.2,
time: 0
}, {
scale: 0.5,
opacity: 1,
time: 300
}, 'linear', 'fade');
battle.showEffect('iceball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.5,
opacity: 1,
time: 300
}, {
scale: 4,
opacity: 0,
time: 700
}, 'linear', 'fade');
battle.showEffect('shadowball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.5,
opacity: 0.5,
time: 300
}, {
scale: 5,
opacity: 0,
time: 600
}, 'linear', 'fade');
battle.showEffect('alpha', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.5,
opacity: 1,
time: 300
}, {
scale: 2.5,
opacity: 0,
time: 600
}, 'decel');
}
},
primalomega: {
anim: function (battle, args) {
var attacker = args[0];
battle.backgroundEffect('linear-gradient(#390000 30%, #B84038)', 500, 0.4);
battle.showEffect('flareball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 2,
opacity: 0.2,
time: 0
}, {
scale: 0.5,
opacity: 1,
time: 300
}, 'linear', 'fade');
battle.showEffect('flareball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.5,
opacity: 1,
time: 300
}, {
scale: 4,
opacity: 0,
time: 700
}, 'linear', 'fade');
battle.showEffect('shadowball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.5,
opacity: 0.5,
time: 300
}, {
scale: 5,
opacity: 0,
time: 600
}, 'linear', 'fade');
battle.showEffect('omega', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.5,
opacity: 1,
time: 300
}, {
scale: 2.5,
opacity: 0,
time: 600
}, 'decel');
}
},
megaevo: {
anim: function (battle, args) {
var attacker = args[0];
battle.backgroundEffect('#835BA5', 500, 0.6);
battle.showEffect('iceball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 2,
opacity: 0.2,
time: 0
}, {
scale: 0.5,
opacity: 1,
time: 300
}, 'linear', 'fade');
battle.showEffect('iceball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.5,
opacity: 1,
time: 300
}, {
scale: 4,
opacity: 0,
time: 700
}, 'linear', 'fade');
battle.showEffect('mistball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.5,
opacity: 0.5,
time: 300
}, {
scale: 5,
opacity: 0,
time: 600
}, 'linear', 'fade');
battle.showEffect('rainbow', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.5,
opacity: 1,
time: 300
}, {
scale: 5,
opacity: 0,
time: 600
}, 'linear', 'fade');
}
},
zpower: {
anim: function (battle, args) {
var attacker = args[0];
battle.backgroundEffect('linear-gradient(#000000 20%, #0000DD)', 1800, 0.4);
battle.showEffect('electroball', {
x: attacker.x - 60,
y: attacker.y + 40,
z: attacker.z,
scale: 0.7,
opacity: 0.7,
time: 0
}, {
x: attacker.x,
y: attacker.y,
scale: 0.2,
opacity: 0.2,
time: 300
}, 'linear', 'fade');
battle.showEffect('electroball', {
x: attacker.x + 60,
y: attacker.y - 5,
z: attacker.z,
scale: 0.7,
opacity: 0.7,
time: 100
}, {
x: attacker.x,
y: attacker.y,
scale: 0.2,
opacity: 0.2,
time: 300
}, 'linear', 'fade');
battle.showEffect('electroball', {
x: attacker.x - 30,
y: attacker.y + 60,
z: attacker.z,
scale: 0.7,
opacity: 0.7,
time: 100
}, {
x: attacker.x,
y: attacker.y,
scale: 0.2,
opacity: 0.2,
time: 400
}, 'linear', 'fade');
battle.showEffect('electroball', {
x: attacker.x + 20,
y: attacker.y - 50,
z: attacker.z,
scale: 0.7,
opacity: 0.7,
time: 100
}, {
x: attacker.x,
y: attacker.y,
scale: 0.2,
opacity: 0.2,
time: 400
}, 'linear', 'fade');
battle.showEffect('electroball', {
x: attacker.x - 70,
y: attacker.y - 50,
z: attacker.z,
scale: 0.7,
opacity: 0.7,
time: 200
}, {
x: attacker.x,
y: attacker.y,
scale: 0.2,
opacity: 0.2,
time: 500
}, 'linear', 'fade');
battle.showEffect('zsymbol', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.7,
opacity: 1,
time: 500
}, {
scale: 1,
opacity: 0.5,
time: 800
}, 'decel', 'explode');
battle.showEffect(attacker.sp, {
x: attacker.x,
y: attacker.y,
z: attacker.z,
opacity: 0.3,
time: 800
}, {
y: attacker.y + 20,
scale: 2,
opacity: 0,
time: 1200
}, 'accel');
battle.showEffect(attacker.sp, {
x: attacker.x,
y: attacker.y,
z: attacker.z,
opacity: 0.3,
time: 1000
}, {
y: attacker.y + 20,
scale: 2,
opacity: 0,
time: 1400
}, 'accel');
battle.showEffect(attacker.sp, {
x: attacker.x,
y: attacker.y,
z: attacker.z,
opacity: 0.3,
time: 1200
}, {
y: attacker.y + 20,
scale: 2,
opacity: 0,
time: 1600
}, 'accel');
}
},
powerconstruct: {
anim: function (battle, args) {
var attacker = args[0];
var xf = [1, -1, 1, -1];
var yf = [1, -1, -1, 1];
var xf2 = [1, 0, -1, 0];
var yf2 = [0, 1, 0, -1];
battle.backgroundEffect('#000000', 1000, 0.7);
for (var i = 0; i < 4; i++) {
battle.showEffect('energyball', {
x: attacker.x + 150 * xf[i],
y: attacker.y - 50,
z: attacker.z + 70 * yf[i],
scale: 0.1,
xscale: 0.5,
opacity: 0.4
}, {
x: attacker.x,
y: attacker.y - 50,
z: attacker.z,
scale: 0.3,
xscale: 0.8,
opacity: 0,
time: 500
}, 'decel', 'fade');
battle.showEffect('energyball', {
x: attacker.x + 200 * xf2[i],
y: attacker.y - 50,
z: attacker.z + 90 * yf2[i],
scale: 0.1,
xscale: 0.5,
opacity: 0.4
}, {
x: attacker.x,
y: attacker.y - 50,
z: attacker.z,
scale: 0.3,
xscale: 0.8,
opacity: 0,
time: 500
}, 'decel', 'fade');
battle.showEffect('energyball', {
x: attacker.x + 50 * xf[i],
y: attacker.y - 50,
z: attacker.z + 100 * yf[i],
scale: 0.1,
xscale: 0.5,
opacity: 0.4,
time: 200
}, {
x: attacker.x,
y: attacker.y - 50,
z: attacker.z,
scale: 0.3,
xscale: 0.8,
opacity: 0,
time: 500
}, 'decel', 'fade');
battle.showEffect('energyball', {
x: attacker.x + 100 * xf2[i],
y: attacker.y - 50,
z: attacker.z + 90 * yf2[i],
scale: 0.1,
xscale: 0.5,
opacity: 0.4,
time: 200
}, {
x: attacker.x,
y: attacker.y - 50,
z: attacker.z,
scale: 0.3,
xscale: 0.8,
opacity: 0,
time: 500
}, 'decel', 'fade');
}
battle.showEffect('energyball', {
x: attacker.x,
y: attacker.y - 25,
z: attacker.z,
scale: 3,
opacity: 0,
time: 50
}, {
scale: 1,
opacity: 0.8,
time: 300
}, 'linear', 'fade');
battle.showEffect('energyball', {
x: attacker.x,
y: attacker.y - 25,
z: attacker.z,
scale: 3.5,
opacity: 0,
time: 150
}, {
scale: 1.5,
opacity: 1,
time: 350
}, 'linear', 'fade');
battle.showEffect('energyball', {
x: attacker.x,
y: attacker.y - 25,
z: attacker.z,
scale: 0.5,
opacity: 1,
time: 200
}, {
scale: 3,
opacity: 0,
time: 600
}, 'linear', 'fade');
battle.showEffect('wisp', {
x: attacker.x,
y: attacker.y - 25,
z: attacker.z,
scale: 1,
opacity: 0.6,
time: 100
}, {
scale: 3.5,
opacity: 0.8,
time: 500
}, 'linear', 'explode');
}
}
};
var BattleStatusAnims = {
brn: {
anim: function (battle, args) {
var attacker = args[0];
battle.showEffect('fireball', {
x: attacker.x - 20,
y: attacker.y - 15,
z: attacker.z,
scale: 0.2,
opacity: 0.3
}, {
x: attacker.x + 40,
y: attacker.y + 15,
z: attacker.z,
scale: 1,
opacity: 1,
time: 300
}, 'swing', 'fade');
}
},
psn: {
anim: function (battle, args) {
var attacker = args[0];
battle.showEffect('poisonwisp', {
x: attacker.x + 30,
y: attacker.y - 40,
z: attacker.z,
scale: 0.2,
opacity: 1,
time: 0
}, {
y: attacker.y,
scale: 1,
opacity: 0.5,
time: 300
}, 'decel', 'fade');
battle.showEffect('poisonwisp', {
x: attacker.x - 30,
y: attacker.y - 40,
z: attacker.z,
scale: 0.2,
opacity: 1,
time: 100
}, {
y: attacker.y,
scale: 1,
opacity: 0.5,
time: 400
}, 'decel', 'fade');
battle.showEffect('poisonwisp', {
x: attacker.x,
y: attacker.y - 40,
z: attacker.z,
scale: 0.2,
opacity: 1,
time: 200
}, {
y: attacker.y,
scale: 1,
opacity: 0.5,
time: 500
}, 'decel', 'fade');
}
},
slp: {
anim: function (battle, args) {
var attacker = args[0];
battle.showEffect('wisp', {
x: attacker.x,
y: attacker.y + 20,
z: attacker.z,
scale: 0.5,
opacity: 0.1
}, {
x: attacker.x,
y: attacker.y + 20,
z: attacker.behind(-50),
scale: 1.5,
opacity: 1,
time: 400
}, 'ballistic2Under', 'fade');
battle.showEffect('wisp', {
x: attacker.x,
y: attacker.y + 20,
z: attacker.z,
scale: 0.5,
opacity: 0.1,
time: 200
}, {
x: attacker.x,
y: attacker.y + 20,
z: attacker.behind(-50),
scale: 1.5,
opacity: 1,
time: 600
}, 'ballistic2Under', 'fade');
}
},
par: {
anim: function (battle, args) {
var attacker = args[0];
battle.showEffect('electroball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 1.5,
opacity: 0.2
}, {
scale: 2,
opacity: .1,
time: 300
}, 'linear', 'fade');
attacker.delay(100);
attacker.anim({
x: attacker.x - 1,
time: 75
}, 'swing');
attacker.anim({
x: attacker.x + 1,
time: 75
}, 'swing');
attacker.anim({
x: attacker.x - 1,
time: 75
}, 'swing');
attacker.anim({
x: attacker.x + 1,
time: 75
}, 'swing');
attacker.anim({
x: attacker.x - 1,
time: 75
}, 'swing');
attacker.anim({
time: 100
}, 'accel');
}
},
frz: {
anim: function (battle, args) {
var attacker = args[0];
battle.showEffect('icicle', {
x: attacker.x - 30,
y: attacker.y,
z: attacker.z,
scale: 0.5,
opacity: 0.5,
time: 200
}, {
scale: 0.9,
opacity: 0,
time: 600
}, 'linear', 'fade');
battle.showEffect('icicle', {
x: attacker.x,
y: attacker.y - 30,
z: attacker.z,
scale: 0.5,
opacity: 0.5,
time: 300
}, {
scale: 0.9,
opacity: 0,
time: 650
}, 'linear', 'fade');
battle.showEffect('icicle', {
x: attacker.x + 15,
y: attacker.y,
z: attacker.z,
scale: 0.5,
opacity: 0.5,
time: 400
}, {
scale: 0.9,
opacity: 0,
time: 700
}, 'linear', 'fade');
battle.showEffect('wisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 1,
opacity: 0.5
}, {
scale: 3,
opacity: 0,
time: 600
}, 'linear', 'fade');
}
},
flinch: {
anim: function (battle, args) {
var attacker = args[0];
battle.showEffect('shadowball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 1,
opacity: 0.2
}, {
scale: 3,
opacity: .1,
time: 300
}, 'linear', 'fade');
}
},
attracted: {
anim: function (battle, args) {
var attacker = args[0];
battle.showEffect('heart', {
x: attacker.x + 20,
y: attacker.y + 20,
z: attacker.z,
scale: 0.5,
opacity: 0.5,
time: 0
}, {
scale: 1,
opacity: 1,
time: 300
}, 'ballistic2Under', 'fade');
battle.showEffect('heart', {
x: attacker.x - 20,
y: attacker.y + 10,
z: attacker.z,
scale: 0.5,
opacity: 0.5,
time: 100
}, {
scale: 1,
opacity: 1,
time: 400
}, 'ballistic2Under', 'fade');
battle.showEffect('heart', {
x: attacker.x,
y: attacker.y + 40,
z: attacker.z,
scale: 0.5,
opacity: 0.5,
time: 200
}, {
scale: 1,
opacity: 1,
time: 500
}, 'ballistic2Under', 'fade');
}
},
confused: {
anim: function (battle, args) {
var attacker = args[0];
battle.showEffect('electroball', {
x: attacker.x + 50,
y: attacker.y + 30,
z: attacker.z,
scale: .1,
opacity: 1,
time: 400
}, {
x: attacker.x - 50,
scale: .15,
opacity: .4,
time: 600
}, 'linear', 'fade');
battle.showEffect('electroball', {
x: attacker.x - 50,
y: attacker.y + 30,
z: attacker.z,
scale: .1,
opacity: 1,
time: 400
}, {
x: attacker.x + 50,
scale: .15,
opacity: .4,
time: 600
}, 'linear', 'fade');
battle.showEffect('electroball', {
x: attacker.x + 50,
y: attacker.y + 30,
z: attacker.z,
scale: .1,
opacity: 1,
time: 600
}, {
x: attacker.x - 50,
scale: .4,
opacity: .4,
time: 800
}, 'linear', 'fade');
battle.showEffect('electroball', {
x: attacker.x - 50,
y: attacker.y + 30,
z: attacker.z,
scale: .15,
opacity: 1,
time: 600
}, {
x: attacker.x + 50,
scale: .4,
opacity: .4,
time: 800
}, 'linear', 'fade');
}
}
};
BattleStatusAnims['focuspunch'] = {anim:BattleStatusAnims['flinch'].anim};
var BattleMoveAnims = {
taunt: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
BattleOtherAnims.dance.anim(battle, args);
battle.showEffect('pointer', {
x: attacker.x + 50,
y: attacker.y + 30,
z: attacker.z,
scale: 0.4,
opacity: 1
}, {
x: attacker.x + 30,
y: attacker.y + 35,
scale: 0.5,
xscale: 0.3,
yscale: 0.6,
opacity: 1,
time: 400
}, 'decel', 'fade');
battle.showEffect('pointer', {
x: attacker.x + 30,
y: attacker.y + 35,
z: attacker.z,
scale: 0.5,
xscale: 0.3,
yscale: 0.6,
opacity: 1,
time: 400
}, {
x: attacker.x + 60,
y: attacker.y + 30,
scale: 0.4,
xscale: 0.4,
yscale: 0.4,
opacity: 0,
time: 900
}, 'linear');
battle.showEffect('angry', {
x: defender.x + 20,
y: defender.y + 20,
z: defender.z,
scale: 0.5,
opacity: 0.5,
time: 200
}, {
scale: 1,
opacity: 1,
time: 500
}, 'ballistic2Under', 'fade');
battle.showEffect('angry', {
x: defender.x - 20,
y: defender.y + 10,
z: defender.z,
scale: 0.5,
opacity: 0.5,
time: 300
}, {
scale: 1,
opacity: 1,
time: 600
}, 'ballistic2Under', 'fade');
battle.showEffect('angry', {
x: defender.x,
y: defender.y + 40,
z: defender.z,
scale: 0.5,
opacity: 0.5,
time: 400
}, {
scale: 1,
opacity: 1,
time: 700
}, 'ballistic2Under', 'fade');
}
},
instruct: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
BattleOtherAnims.dance.anim(battle, args);
battle.showEffect('pointer', {
x: attacker.x + 50,
y: attacker.y + 30,
z: attacker.z,
scale: 0.4,
opacity: 1
}, {
x: attacker.x + 30,
y: attacker.y + 35,
scale: 0.5,
xscale: 0.3,
yscale: 0.6,
opacity: 1,
time: 400
}, 'decel', 'fade');
battle.showEffect('pointer', {
x: attacker.x + 30,
y: attacker.y + 35,
z: attacker.z,
scale: 0.5,
xscale: 0.3,
yscale: 0.6,
opacity: 1,
time: 400
}, {
x: attacker.x + 60,
y: attacker.y + 30,
scale: 0.4,
xscale: 0.4,
yscale: 0.4,
opacity: 0,
time: 900
}, 'linear');
battle.showEffect('poisonwisp', {
x: attacker.x + 60,
y: attacker.y + 50,
z: attacker.z,
scale: 0.5,
opacity: 0.1,
time: 700
}, {
x: defender.x,
y: defender.y,
z: defender.z,
opacity: 0.3,
time: 1000
}, 'ballistic', 'explode');
battle.showEffect('wisp', {
x: attacker.x + 60,
y: attacker.y + 50,
z: attacker.z,
scale: 0.5,
opacity: 0.3,
time: 700
}, {
x: defender.x,
y: defender.y,
z: defender.z,
opacity: 0.6,
time: 1000
}, 'ballistic', 'explode');
}
},
quash: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
attacker.anim({
x: defender.x,
y: defender.y + 80,
z: defender.behind(-30),
time: 400
}, 'ballistic');
attacker.anim({
x: defender.x,
y: defender.y + 5,
z: defender.z,
time: 100
});
attacker.anim({
time: 500
}, 'ballistic2Back');
defender.delay(450);
defender.anim({
y: defender.y - 15,
yscale: 0.5,
time: 300
}, 'swing');
defender.anim({
time: 300
}, 'decel');
battle.showEffect('rightchop', {
x: defender.x,
y: defender.y + 10,
z: defender.z,
scale: 0.5,
opacity: 0.1,
time: 400
}, {
y: defender.y,
scale: 0.25,
opacity: 1,
time: 700
}, 'decel', 'explode');
}
},
swagger: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
BattleOtherAnims.shake.anim(battle, args);
battle.showEffect('angry', {
x: defender.x + 20,
y: defender.y + 20,
z: defender.z,
scale: 0.5,
opacity: 0.5,
time: 0
}, {
scale: 1,
opacity: 1,
time: 300
}, 'ballistic2Under', 'fade');
battle.showEffect('angry', {
x: defender.x - 20,
y: defender.y + 10,
z: defender.z,
scale: 0.5,
opacity: 0.5,
time: 100
}, {
scale: 1,
opacity: 1,
time: 400
}, 'ballistic2Under', 'fade');
battle.showEffect('angry', {
x: defender.x,
y: defender.y + 40,
z: defender.z,
scale: 0.5,
opacity: 0.5,
time: 200
}, {
scale: 1,
opacity: 1,
time: 500
}, 'ballistic2Under', 'fade');
}
},
swordsdance: {
anim: function (battle, args) {
var defender = args[1];
BattleOtherAnims.shake.anim(battle, args);
battle.showEffect('sword', {
x: defender.x + 50,
y: defender.y,
z: defender.z,
scale: 0.5,
opacity: 1
}, {
x: defender.x - 50,
scale: 1,
opacity: 0.4,
time: 200
}, 'ballistic2', 'fade');
battle.showEffect('sword', {
x: defender.x - 50,
y: defender.y,
z: defender.z,
scale: 0.5,
opacity: 1
}, {
x: defender.x + 50,
scale: 1,
opacity: .4,
time: 200
}, 'ballistic2back', 'fade');
battle.showEffect('sword', {
x: defender.x + 50,
y: defender.y,
z: defender.z,
scale: 0.5,
opacity: 1,
time: 200
}, {
x: defender.x - 50,
scale: 1,
opacity: .4,
time: 400
}, 'ballistic2', 'fade');
battle.showEffect('sword', {
x: defender.x - 50,
y: defender.y,
z: defender.z,
scale: 0.5,
opacity: 1,
time: 200
}, {
x: defender.x + 50,
scale: 1,
opacity: .4,
time: 400
}, 'ballistic2back', 'fade');
battle.showEffect('sword', {
x: defender.x + 50,
y: defender.y,
z: defender.z,
scale: 0.5,
opacity: 1,
time: 400
}, {
x: defender.x - 50,
scale: 1,
opacity: .4,
time: 600
}, 'ballistic2', 'fade');
battle.showEffect('sword', {
x: defender.x - 50,
y: defender.y,
z: defender.z,
scale: 0.5,
opacity: 1,
time: 400
}, {
x: defender.x + 50,
scale: 1,
opacity: .4,
time: 600
}, 'ballistic2Back', 'fade');
}
},
quiverdance: {
anim: function (battle, args) {
var attacker = args[0];
battle.backgroundEffect('#987058', 800, 0.3, 400);
BattleOtherAnims.shake.anim(battle, args);
battle.showEffect('wisp', {
x: attacker.x + 40,
y: attacker.y - 40,
z: attacker.z,
scale: 0.2,
opacity: 1,
time: 0
}, {
y: attacker.y + 60,
opacity: 0,
time: 400
}, 'accel');
battle.showEffect('wisp', {
x: attacker.x - 40,
y: attacker.y - 40,
z: attacker.z,
scale: 0.2,
opacity: 1,
time: 200
}, {
y: attacker.y + 60,
opacity: 0,
time: 600
}, 'accel');
battle.showEffect('wisp', {
x: attacker.x,
y: attacker.y - 40,
z: attacker.z,
scale: 0.2,
opacity: 1,
time: 400
}, {
y: attacker.y + 60,
opacity: 0,
time: 800
}, 'accel');
}
},
dragondance: {
anim: function (battle, args) {
var attacker = args[0];
BattleOtherAnims.shake.anim(battle, args);
battle.showEffect('poisonwisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0,
opacity: 1,
time: 0
}, {
x: attacker.x - 50,
y: attacker.y - 50,
scale: 2,
opacity: 0,
time: 300
}, 'ballistic');
battle.showEffect('poisonwisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0,
opacity: 1,
time: 150
}, {
x: attacker.x + 60,
y: attacker.y - 50,
scale: 2,
opacity: 0,
time: 450
}, 'ballistic');
battle.showEffect('poisonwisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0,
opacity: 1,
time: 300
}, {
x: attacker.x + 10,
y: attacker.y - 60,
scale: 2,
opacity: 0,
time: 600
}, 'ballistic');
}
},
agility: {
anim: function (battle, args) {
var attacker = args[0];
attacker.anim({x: attacker.x - 10, time: 200});
attacker.anim({x: attacker.x + 10, time: 300});
attacker.anim({x: attacker.x - 20, time: 150});
attacker.anim({x: attacker.x + 20, time: 150});
attacker.anim({x: attacker.x, opacity: 0, time: 1});
attacker.delay(550);
attacker.anim({x: attacker.x, time: 150});
battle.showEffect(attacker.sp, {
x: attacker.x + 20,
y: attacker.y,
z: attacker.z,
opacity: 0.5,
time: 800
}, {
x: attacker.x - 30,
opacity: 0,
time: 1300
}, 'decel');
battle.showEffect(attacker.sp, {
x: attacker.x,
y: attacker.y,
z: attacker.z,
opacity: 0.5,
time: 800
}, {
x: attacker.x + 30,
opacity: 0,
time: 1200
}, 'decel');
}
},
doubleteam: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
BattleOtherAnims.shake.anim(battle, args);
battle.showEffect(attacker.sp, {
x: defender.x,
y: attacker.y,
z: attacker.z,
opacity: 0.3
}, {
x: defender.x - 60,
y: defender.y,
z: defender.z,
opacity: 0,
time: 500
}, 'decel');
battle.showEffect(attacker.sp, {
x: defender.x,
y: attacker.y,
z: attacker.z,
opacity: 0.3
}, {
x: defender.x + 60,
y: defender.y,
z: defender.z,
opacity: 0,
time: 500
}, 'decel');
}
},
metronome: {
anim: function (battle, args) {
var attacker = args[0];
battle.showEffect('pointer', {
x: attacker.x + 30,
y: attacker.y + 30,
z: attacker.z,
scale: 0.4,
opacity: 1
}, {
x: attacker.x + 40,
y: attacker.y + 35,
scale: 0.5,
xscale: 0.3,
yscale: 0.6,
opacity: 1,
time: 200
}, 'decel', 'fade');
battle.showEffect('pointer', {
x: attacker.x + 40,
y: attacker.y + 35,
z: attacker.z,
scale: 0.5,
xscale: 0.3,
yscale: 0.6,
opacity: 1,
time: 200
}, {
x: attacker.x + 30,
y: attacker.y + 30,
scale: 0.4,
xscale: 0.4,
yscale: 0.4,
opacity: 0,
time: 400
}, 'decel');
}
},
teeterdance: {
anim: BattleOtherAnims.shake.anim
},
splash: {
anim: function (battle, args) {
var attacker = args[0];
battle.showEffect('waterwisp', {
x: attacker.x + 20,
y: attacker.y + 20,
z: attacker.z,
scale: 0.5,
opacity: 0.1,
time: 150
}, {
x: attacker.x + 40,
y: attacker.y + 60,
z: attacker.z,
opacity: 0.3
}, 'ballistic', 'fade');
battle.showEffect('waterwisp', {
x: attacker.x - 20,
y: attacker.y + 20,
z: attacker.z,
scale: 0.5,
opacity: 0.1,
time: 300
}, {
x: attacker.x - 40,
y: attacker.y + 60,
z: attacker.z,
opacity: 0.3
}, 'ballistic', 'fade');
battle.showEffect('waterwisp', {
x: attacker.x + 20,
y: attacker.y + 40,
z: attacker.z,
scale: 0.5,
opacity: 0.1,
time: 450
}, {
x: attacker.x + 60,
y: attacker.y + 40,
z: attacker.z,
opacity: 0.3
}, 'ballistic', 'fade');
attacker.anim({
y: attacker.y + 15,
time: 150
}, 'decel');
attacker.anim({
time: 150
}, 'accel');
attacker.anim({
y: attacker.y + 15,
time: 150
}, 'decel');
attacker.anim({
time: 150
}, 'accel');
attacker.anim({
y: attacker.y + 15,
time: 150
}, 'decel');
attacker.anim({
time: 150
}, 'accel');
}
},
encore: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
attacker.anim({x: attacker.x - 10, time: 100});
attacker.anim({x: attacker.x + 10, time: 200});
attacker.anim({x: attacker.x, time: 100});
}
},
attract: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
BattleOtherAnims.shake.anim(battle, args);
battle.showEffect('heart', {
x: defender.x + 20,
y: defender.y + 20,
z: defender.z,
scale: 0.5,
opacity: 0.5,
time: 0
}, {
scale: 1,
opacity: 1,
time: 300
}, 'ballistic2Under', 'fade');
battle.showEffect('heart', {
x: defender.x - 20,
y: defender.y + 10,
z: defender.z,
scale: 0.5,
opacity: 0.5,
time: 100
}, {
scale: 1,
opacity: 1,
time: 400
}, 'ballistic2Under', 'fade');
battle.showEffect('heart', {
x: defender.x,
y: defender.y + 40,
z: defender.z,
scale: 0.5,
opacity: 0.5,
time: 200
}, {
scale: 1,
opacity: 1,
time: 500
}, 'ballistic2Under', 'fade');
}
},
raindance: {
anim: BattleOtherAnims.dance.anim
},
sunnyday: {
anim: BattleOtherAnims.dance.anim
},
hail: {
anim: BattleOtherAnims.dance.anim
},
sandstorm: {
anim: BattleOtherAnims.dance.anim
},
gravity: {
anim: function () {
// do not give Gravity an animation,
// it'll conflict with the gravity animation in BattleOtherAnims
// this one prevents the wisp from showing up
}
},
trickroom: {
anim: BattleOtherAnims.dance.anim
},
magicroom: {
anim: BattleOtherAnims.dance.anim
},
wonderroom: {
anim: BattleOtherAnims.dance.anim
},
afteryou: {
anim: BattleOtherAnims.dance.anim
},
allyswitch: {
anim: function () {
// do not give Ally Switch an animation,
// it'll conflict with the animation of the switch itself
}
},
babydolleyes: {
anim: BattleOtherAnims.dance.anim
},
faketears: {
anim: BattleOtherAnims.dance.anim
},
tearfullook: {
anim: BattleOtherAnims.dance.anim
},
featherdance: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
BattleOtherAnims.dance.anim(battle, args);
battle.showEffect('feather', {
x: attacker.x,
y: attacker.y + 10,
z: attacker.z,
scale: 0.3,
opacity: 1,
time: 0
}, {
x: defender.x + 50,
y: defender.y,
z: defender.z,
scale: 0.5,
opacity: .4,
time: 600
}, 'ballistic2Under', 'fade');
battle.showEffect('feather', {
x: attacker.x,
y: attacker.y + 10,
z: attacker.z,
scale: 0.3,
opacity: 1,
time: 100
}, {
x: defender.x - 50,
y: defender.y,
z: defender.z,
scale: 0.5,
opacity: .4,
time: 700
}, 'ballistic2Under', 'fade');
battle.showEffect('feather', {
x: attacker.x,
y: attacker.y + 10,
z: attacker.z,
scale: 0.3,
opacity: 1,
time: 200
}, {
x: defender.x + 25,
y: defender.y,
z: defender.z,
scale: 0.5,
opacity: .4,
time: 800
}, 'ballistic2Under', 'fade');
battle.showEffect('feather', {
x: attacker.x,
y: attacker.y + 10,
z: attacker.z,
scale: 0.3,
opacity: 1,
time: 300
}, {
x: defender.x - 25,
y: defender.y,
z: defender.z,
scale: 0.5,
opacity: .4,
time: 900
}, 'ballistic2Under', 'fade');
battle.showEffect('feather', {
x: defender.x + 50,
y: defender.y,
z: defender.z,
scale: 0.5,
opacity: 1,
time: 400
}, {
x: defender.x + 5,
y: defender.y - 20,
z: defender.z,
scale: .1,
opacity: .4,
time: 700
}, 'ballistic2Under', 'fade');
battle.showEffect('feather', {
x: defender.x - 50,
y: defender.y,
z: defender.z,
scale: 0.5,
opacity: 1,
time: 500
}, {
x: defender.x - 10,
y: defender.y - 20,
z: defender.z,
scale: .1,
opacity: .4,
time: 800
}, 'ballistic2Under', 'fade');
battle.showEffect('feather', {
x: defender.x + 25,
y: defender.y,
z: defender.z,
scale: 0.5,
opacity: 1,
time: 600
}, {
x: defender.x,
y: defender.y - 20,
z: defender.z,
scale: .1,
opacity: .4,
time: 900
}, 'ballistic2Under', 'fade');
battle.showEffect('feather', {
x: defender.x - 25,
y: defender.y,
z: defender.z,
scale: 0.5,
opacity: 1,
time: 700
}, {
x: defender.x,
y: defender.y - 20,
z: defender.z,
scale: .1,
opacity: .4,
time: 1000
}, 'ballistic2Under', 'fade');
}
},
followme: {
anim: function (battle, args) {
var attacker = args[0];
BattleOtherAnims.dance.anim(battle, args);
battle.showEffect('pointer', {
x: attacker.x,
y: attacker.y + 30,
z: attacker.z,
scale: 0.4,
opacity: 1,
time: 100
}, {
y: attacker.y + 60,
opacity: 1,
time: 550
}, 'decel', 'fade');
}
},
foresight: {
anim: BattleOtherAnims.dance.anim
},
mimic: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect(defender.sp, {
x: defender.x,
y: defender.y,
z: defender.z,
opacity: 0.5
}, {
scale: 0.2,
opacity: 0,
time: 300
}, 'accel');
battle.showEffect('electroball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0.7,
opacity: 0.5,
time: 300
}, {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.4,
opacity: 0.2,
time: 600
}, 'accel', 'fade');
}
},
sketch: {
anim: BattleOtherAnims.dance.anim
},
odorsleuth: {
anim: BattleOtherAnims.dance.anim
},
celebrate: {
anim: BattleOtherAnims.dance.anim
},
playnice: {
anim: BattleOtherAnims.dance.anim
},
tailwhip: {
anim: BattleOtherAnims.dance.anim
},
leer: {
anim: BattleOtherAnims.dance.anim
},
kinesis: {
anim: function (battle, args) {
battle.backgroundEffect('#AA44BB', 450, 0.6, 450);
battle.backgroundEffect('#AA44FF', 250, 0.6, 800);
BattleOtherAnims.dance.anim(battle, args);
}
},
haze: {
anim: function (battle, args) {
battle.backgroundEffect('#FFFFFF', 1000, 0.3);
BattleOtherAnims.dance.anim(battle, args);
}
},
electricterrain: {
anim: function (battle, args) {
battle.backgroundEffect('#FFFF00', 1000, 0.3);
BattleOtherAnims.dance.anim(battle, args);
}
},
grassyterrain: {
anim: function (battle, args) {
battle.backgroundEffect('#9AB440', 1000, 0.3);
BattleOtherAnims.dance.anim(battle, args);
}
},
mistyterrain: {
anim: function (battle, args) {
battle.backgroundEffect('#FF99FF', 1000, 0.3);
BattleOtherAnims.dance.anim(battle, args);
}
},
topsyturvy: {
anim: function (battle, args) {
var defender = args[1];
battle.showEffect('wisp', {
x: defender.x + 50,
y: defender.y,
z: defender.z,
scale: .2,
opacity: 1,
time: 400
}, {
x: defender.x - 50,
y: defender.y,
z: defender.z,
scale: .4,
opacity: .4,
time: 600
}, 'linear', 'fade');
battle.showEffect('poisonwisp', {
x: defender.x - 50,
y: defender.y,
z: defender.z,
scale: .2,
opacity: 1,
time: 400
}, {
x: defender.x + 50,
y: defender.y,
z: defender.z,
scale: .4,
opacity: .4,
time: 600
}, 'linear', 'fade');
battle.showEffect('poisonwisp', {
x: defender.x + 50,
y: defender.y,
z: defender.z,
scale: .2,
opacity: 1,
time: 600
}, {
x: defender.x - 50,
y: defender.y,
z: defender.z,
scale: .4,
opacity: .4,
time: 800
}, 'linear', 'fade');
battle.showEffect('wisp', {
x: defender.x - 50,
y: defender.y,
z: defender.z,
scale: .2,
opacity: 1,
time: 600
}, {
x: defender.x + 50,
y: defender.y,
z: defender.z,
scale: .4,
opacity: .4,
time: 800
}, 'linear', 'fade');
}
},
embargo: {
anim: function (battle, args) {
var defender = args[1];
battle.showEffect('poisonwisp', {
x: defender.x + 50,
y: defender.y,
z: defender.z,
scale: .2,
opacity: 1,
time: 400
}, {
x: defender.x - 50,
y: defender.y,
z: defender.z,
scale: .4,
opacity: .4,
time: 600
}, 'linear', 'fade');
battle.showEffect('poisonwisp', {
x: defender.x - 50,
y: defender.y,
z: defender.z,
scale: .2,
opacity: 1,
time: 400
}, {
x: defender.x + 50,
y: defender.y,
z: defender.z,
scale: .4,
opacity: .4,
time: 600
}, 'linear', 'fade');
battle.showEffect('poisonwisp', {
x: defender.x + 50,
y: defender.y,
z: defender.z,
scale: .2,
opacity: 1,
time: 600
}, {
x: defender.x - 50,
y: defender.y,
z: defender.z,
scale: .4,
opacity: .4,
time: 800
}, 'linear', 'fade');
battle.showEffect('poisonwisp', {
x: defender.x - 50,
y: defender.y,
z: defender.z,
scale: .2,
opacity: 1,
time: 600
}, {
x: defender.x + 50,
y: defender.y,
z: defender.z,
scale: .4,
opacity: .4,
time: 800
}, 'linear', 'fade');
}
},
healblock: {
anim: function (battle, args) {
var defender = args[1];
battle.showEffect('wisp', {
x: defender.x + 50,
y: defender.y,
z: defender.z,
scale: .2,
opacity: 1,
time: 400
}, {
x: defender.x - 50,
y: defender.y,
z: defender.z,
scale: .4,
opacity: .4,
time: 600
}, 'linear', 'fade');
battle.showEffect('wisp', {
x: defender.x - 50,
y: defender.y,
z: defender.z,
scale: .2,
opacity: 1,
time: 400
}, {
x: defender.x + 50,
y: defender.y,
z: defender.z,
scale: .4,
opacity: .4,
time: 600
}, 'linear', 'fade');
battle.showEffect('wisp', {
x: defender.x + 50,
y: defender.y,
z: defender.z,
scale: .2,
opacity: 1,
time: 600
}, {
x: defender.x - 50,
y: defender.y,
z: defender.z,
scale: .4,
opacity: .4,
time: 800
}, 'linear', 'fade');
battle.showEffect('wisp', {
x: defender.x - 50,
y: defender.y,
z: defender.z,
scale: .2,
opacity: 1,
time: 600
}, {
x: defender.x + 50,
y: defender.y,
z: defender.z,
scale: .4,
opacity: .4,
time: 800
}, 'linear', 'fade');
}
},
flash: {
anim: function (battle, args) {
var attacker = args[0];
battle.backgroundEffect('#ffffff', 600, 0.6);
battle.showEffect('wisp', {
x: attacker.leftof(-10),
y: attacker.y + 10,
z: attacker.z,
scale: 0.1,
opacity: 0.8
}, {
scale: 15,
opacity: 0.8,
time: 500
}, 'linear', 'fade');
}
},
tailwind: {
anim: function (battle, args) {
var attacker = args[0];
battle.showEffect('iceball', {
x: attacker.x,
y: attacker.y,
z: attacker.behind(40),
scale: 0.3,
opacity: 1
}, {
z: attacker.behind(-40),
scale: 2,
opacity: 0.2,
time: 300
}, 'linear', 'fade');
battle.showEffect('iceball', {
x: attacker.x,
y: attacker.y,
z: attacker.behind(40),
scale: 0.3,
opacity: 1,
time: 200
}, {
z: attacker.behind(-40),
scale: 2,
opacity: 0.2,
time: 500
}, 'linear', 'fade');
battle.showEffect('iceball', {
x: attacker.x,
y: attacker.y,
z: attacker.behind(40),
scale: 0.3,
opacity: 1,
time: 400
}, {
z: attacker.behind(-40),
scale: 2,
opacity: 0.2,
time: 700
}, 'linear', 'fade');
}
},
aerialace: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('leftslash', {
x: defender.x - 10,
y: defender.y - 10,
z: defender.z,
scale: 1.5,
opacity: 0.6,
time: 260
}, {
scale: 2,
opacity: 0,
time: 560
}, 'accel', 'fade');
battle.showEffect('wisp', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 0.5,
time: 260
}, {
scale: 2,
opacity: 0,
time: 560
}, 'linear');
battle.showEffect('wisp', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 0.5,
time: 310
}, {
scale: 2,
opacity: 0,
time: 610
}, 'linear');
battle.showEffect(attacker.sp, {
x: attacker.x,
y: attacker.y,
z: attacker.z,
opacity: 0.3,
time: 50
}, {
x: defender.x - 60,
y: defender.y + 60,
z: defender.behind(-40),
time: 250
}, 'ballistic', 'fade');
battle.showEffect(attacker.sp, {
x: attacker.x,
y: attacker.y,
z: attacker.z,
opacity: 0.3,
time: 100
}, {
x: defender.leftof(20),
y: defender.y,
z: defender.behind(-40),
time: 300
}, 'ballistic2Under', 'fade');
battle.showEffect(attacker.sp, {
x: defender.x - 60,
y: defender.y + 60,
z: defender.behind(-40),
opacity: 0.5,
time: 250
}, {
x: defender.leftof(-5),
y: defender.y - 5,
z: defender.behind(20),
time: 350
}, 'ballistic', 'fade');
battle.showEffect(attacker.sp, {
x: defender.leftof(20),
y: defender.y,
z: defender.behind(-40),
opacity: 0.5,
time: 300
}, {
x: defender.leftof(-5),
y: defender.y - 5,
z: defender.behind(20),
time: 400
}, 'ballistic2', 'fade');
attacker.anim({
x: defender.x,
y: defender.y + 60,
z: defender.behind(-80),
time: 200,
opacity: 0.5
}, 'ballistic');
attacker.anim({
x: defender.leftof(-5),
y: defender.y - 5,
z: defender.behind(20),
time: 100,
opacity: 0.5
});
attacker.anim({
x: defender.x,
y: defender.y + 5,
z: defender.z,
time: 100
});
attacker.anim({
time: 500
}, 'ballistic2');
defender.delay(260);
defender.anim({
z: defender.behind(30),
time: 100
}, 'swing');
defender.anim({
time: 300
}, 'swing');
}
},
bravebird: {
anim: BattleOtherAnims.flight.anim
},
acrobatics: {
anim: BattleOtherAnims.flight.anim
},
flyingpress: {
anim: BattleOtherAnims.flight.anim
},
steelwing: {
anim: BattleOtherAnims.flight.anim
},
wingattack: {
anim: BattleOtherAnims.flight.anim
},
dragonbreath: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('poisonwisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.1,
opacity: .5
}, {
x: defender.x,
y: defender.y,
z: defender.behind(40),
scale: 1,
opacity: .2
}, 'decel');
battle.showEffect('poisonwisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.1,
opacity: .5,
time: 50
}, {
x: defender.x,
y: defender.y,
z: defender.behind(40),
scale: 1,
opacity: .2
}, 'decel');
battle.showEffect('poisonwisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.1,
opacity: .5,
time: 100
}, {
x: defender.x,
y: defender.y,
z: defender.behind(40),
scale: 1,
opacity: .2
}, 'decel');
}
},
dragonpulse: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
var xstep = (defender.x - attacker.x) / 5;
var ystep = (defender.y - attacker.y) / 5;
var zstep = (defender.z - attacker.z) / 5;
for (var i = 0; i < 5; i++) {
battle.showEffect('wisp', {
x: attacker.x + xstep * (i + 1),
y: attacker.y + ystep * (i + 1),
z: attacker.z + zstep * (i + 1),
scale: 1,
opacity: 1,
time: 20 * i
}, {
scale: 2,
opacity: 0,
time: 40 * i + 600
}, 'linear');
battle.showEffect('poisonwisp', {
x: attacker.x + xstep * (i + 1),
y: attacker.y + ystep * (i + 1),
z: attacker.z + zstep * (i + 1),
scale: 0.5,
opacity: 0.3,
time: 20 * i
}, {
scale: 2,
opacity: 0,
time: 40 * i + 600
}, 'linear');
}
battle.showEffect('shadowball', {
x: attacker.x,
y: attacker.y,
z: attacker.behind(-15),
scale: 0.5,
opacity: 0.6
}, {
scale: 0.6,
opacity: 0.2,
time: 400
}, 'linear', 'fade');
battle.showEffect('shadowball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.3,
opacity: 0.1,
time: 0
}, {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 1,
time: 200
}, 'linear', 'explode');
battle.showEffect('shadowball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.3,
opacity: 0.1,
time: 100
}, {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 1,
time: 300
}, 'linear', 'explode');
battle.showEffect('shadowball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.3,
opacity: 0.1,
time: 200
}, {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 1,
time: 400
}, 'linear', 'explode');
battle.showEffect('shadowball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.3,
opacity: 0.1,
time: 300
}, {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 1,
time: 500
}, 'linear', 'explode');
}
},
focusblast: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.backgroundEffect('#B84038', 700, .6);
battle.showEffect('electroball', {
x: attacker.x,
y: attacker.y,
z: attacker.behind(-30),
scale: 3,
opacity: .3
}, {
scale: .6,
opacity: 1,
time: 300
}, 'decel', 'fade');
battle.showEffect('electroball', {
x: attacker.x,
y: attacker.y,
z: attacker.behind(-30),
scale: 3,
opacity: .3,
time: 100
}, {
scale: .8,
opacity: .6,
time: 400
}, 'decel', 'fade');
battle.showEffect('electroball', {
x: attacker.x,
y: attacker.y,
z: attacker.behind(-30),
scale: .6,
opacity: .8,
time: 400
}, {
x: defender.x,
y: defender.y,
z: defender.behind(20),
scale: 1,
opacity: .8,
time: 800
}, 'accel', 'explode');
defender.delay(800);
defender.anim({
z: defender.behind(10),
time: 200
}, 'swing');
defender.anim({
time: 300
}, 'swing');
}
},
aurasphere: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.backgroundEffect('#cc9900', 500, 0.3);
battle.showEffect('iceball', {
x: attacker.x,
y: attacker.y,
z: attacker.behind(-30),
scale: 3,
opacity: 0.3
}, {
z: attacker.behind(-30),
scale: 0.6,
opacity: 1,
time: 300
}, 'decel', 'fade');
battle.showEffect('iceball', {
x: attacker.x,
y: attacker.y,
z: attacker.behind(-30),
scale: 3,
opacity: 0.3,
time: 100
}, {
z: attacker.behind(-30),
scale: 0.8,
opacity: 0.6,
time: 400
}, 'decel', 'fade');
battle.showEffect('iceball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 1,
opacity: 1,
time: 400
}, {
scale: 3,
opacity: 0.1,
time: 800
}, 'linear', 'fade');
battle.showEffect('iceball', {
x: attacker.x,
y: attacker.y,
z: attacker.behind(-30),
scale: 0.6,
opacity: 0.8,
time: 400
}, {
x: defender.x,
y: defender.y,
z: defender.behind(20),
scale: 1,
opacity: 0.8,
time: 800
}, 'accel', 'explode');
defender.delay(800);
defender.anim({
z: defender.behind(5),
time: 100
}, 'swing');
defender.anim({
time: 300
}, 'swing');
}
},
technoblast: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('iceball', {
x: attacker.x,
y: attacker.y,
z: attacker.behind(-30),
scale: 3,
opacity: .3
}, {
z: attacker.behind(-30),
scale: .6,
opacity: 1,
time: 300
}, 'decel', 'fade');
battle.showEffect('iceball', {
x: attacker.x,
y: attacker.y,
z: attacker.behind(-30),
scale: 3,
opacity: .3,
time: 100
}, {
z: attacker.behind(-30),
scale: .8,
opacity: .6,
time: 400
}, 'decel', 'fade');
battle.showEffect('iceball', {
x: attacker.x,
y: attacker.y,
z: attacker.behind(-30),
scale: .6,
opacity: .8,
time: 400
}, {
x: defender.x,
y: defender.y,
z: defender.behind(20),
scale: 1,
opacity: .8,
time: 800
}, 'accel', 'explode');
defender.delay(800);
defender.anim({
z: defender.behind(5),
time: 200
}, 'swing');
defender.anim({
time: 300
}, 'swing');
}
},
painsplit: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('wisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0,
opacity: 1,
time: 0
}, {
scale: 3,
opacity: 0,
time: 300
}, 'linear');
battle.showEffect('wisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0,
opacity: 1,
time: 200
}, {
scale: 3,
opacity: 0,
time: 500
}, 'linear');
battle.showEffect('wisp', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 1,
time: 0
}, {
scale: 3,
opacity: 0,
time: 300
}, 'linear');
battle.showEffect('wisp', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 1,
time: 200
}, {
scale: 3,
opacity: 0,
time: 500
}, 'linear');
}
},
flail: {
anim: BattleOtherAnims.xattack.anim
},
uturn: {
anim: BattleOtherAnims.spinattack.anim
},
rapidspin: {
anim: BattleOtherAnims.spinattack.anim
},
gyroball: {
anim: BattleOtherAnims.spinattack.anim
},
voltswitch: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('electroball', {
x: attacker.x,
y: attacker.y,
z: defender.behind(-130),
opacity: 0.8,
time: 275
}, {
x: defender.x,
y: defender.y,
z: defender.z,
time: 500
}, 'linear', 'explode');
battle.showEffect('electroball', {
x: defender.x,
y: defender.y,
z: defender.behind(10),
opacity: 0.7,
scale: 0,
time: 500
}, {
scale: 4,
opacity: 0,
time: 800
}, 'linear');
battle.showEffect('electroball', {
x: defender.x,
y: defender.y,
z: defender.z,
opacity: 0.7,
scale: 0,
time: 700
}, {
scale: 4,
opacity: 0,
time: 1000
}, 'linear');
attacker.anim({
z: attacker.behind(15),
time: 200
}, 'decel');
attacker.anim({
z: defender.behind(-170),
time: 100
}, 'accel');
attacker.anim({
z: attacker.z,
time: 300
}, 'swing');
defender.delay(500);
defender.anim({
x: defender.leftof(5),
y: defender.y,
z: defender.behind(15),
time: 50
}, 'swing');
defender.anim({
time: 300
}, 'swing');
}
},
thunderwave: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('electroball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 1,
opacity: 0.2,
time: 0
}, {
scale: 8,
opacity: .1,
time: 600
}, 'linear', 'fade');
battle.showEffect('electroball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 1,
opacity: 0.2,
time: 200
}, {
scale: 8,
opacity: .1,
time: 800
}, 'linear', 'fade');
battle.showEffect('electroball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 1,
opacity: 0.2,
time: 500
}, {
scale: 4,
opacity: .1,
time: 800
}, 'linear', 'fade');
}
},
shockwave: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('electroball', {
x: attacker.x,
y: attacker.y - 70,
z: attacker.z,
scale: 1,
xscale: 5,
opacity: 0.6,
time: 0
}, {
scale: 3,
xscale: 10,
opacity: 0.1,
time: 600
}, 'decel', 'fade');
battle.showEffect('electroball', {
x: attacker.x,
y: attacker.y - 70,
z: attacker.z,
scale: 1,
xscale: 5,
opacity: 0.6,
time: 300
}, {
scale: 3,
xscale: 10,
opacity: 0.1,
time: 700
}, 'decel', 'fade');
battle.showEffect('electroball', {
x: defender.x,
y: defender.y,
z: defender.z,
opacity: 0.3,
scale: 0,
time: 250
}, {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 2,
opacity: 0,
time: 550
}, 'linear');
battle.showEffect('electroball', {
x: defender.x,
y: defender.y,
z: defender.z,
opacity: 0.3,
scale: 0,
time: 500
}, {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 2,
opacity: 0,
time: 800
}, 'linear');
}
},
discharge: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('electroball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 1,
opacity: 0.2,
time: 0
}, {
scale: 8,
opacity: .1,
time: 600
}, 'linear', 'fade');
battle.showEffect('electroball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 1,
opacity: 0.2,
time: 150
}, {
scale: 8,
opacity: .1,
time: 750
}, 'linear', 'fade');
battle.showEffect('electroball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 1,
opacity: 0.2,
time: 300
}, {
scale: 8,
opacity: .1,
time: 900
}, 'linear', 'fade');
}
},
bugbuzz: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('energyball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 1,
opacity: 0.3,
time: 0
}, {
scale: 8,
opacity: .07,
time: 400
}, 'linear', 'fade');
battle.showEffect('energyball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 1,
opacity: 0.3,
time: 100
}, {
scale: 8,
opacity: .07,
time: 500
}, 'linear', 'fade');
battle.showEffect('energyball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 1,
opacity: 0.3,
time: 200
}, {
scale: 8,
opacity: .07,
time: 600
}, 'linear', 'fade');
battle.showEffect('energyball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 1,
opacity: 0.3,
time: 500
}, {
scale: 2,
opacity: .1,
time: 800
}, 'linear', 'fade');
}
},
explosion: {
anim: function (battle, args) {
var attacker = args[0];
battle.showEffect('fireball', {
x: attacker.x + 40,
y: attacker.y,
z: attacker.z,
scale: 0,
opacity: .6
}, {
scale: 6,
opacity: 0
}, 'linear');
battle.showEffect('fireball', {
x: attacker.x - 40,
y: attacker.y - 20,
z: attacker.z,
scale: 0,
opacity: .6,
time: 150
}, {
scale: 6,
opacity: 0
}, 'linear');
battle.showEffect('fireball', {
x: attacker.x + 10,
y: attacker.y + 20,
z: attacker.z,
scale: 0,
opacity: .6,
time: 300
}, {
scale: 6,
opacity: 0
}, 'linear');
attacker.delay(450).anim({
scale: 4,
time: 400,
opacity: 0
}, 'linear');
}
},
auroraveil: {
anim: function () {}
},
reflect: {
anim: function () {}
},
safeguard: {
anim: function () {}
},
lightscreen: {
anim: function () {}
},
mist: {
anim: function () {}
},
transform: {
anim: function () {}
},
bellydrum: {
anim: function (battle, args) {
var attacker = args[0];
battle.showEffect('leftchop', {
x: attacker.x - 20,
y: attacker.y,
z: attacker.z,
scale: 0.6,
opacity: 1
}, {
z: attacker.behind(5),
scale: 0.4,
time: 100
}, 'linear', 'fade');
battle.showEffect('rightchop', {
x: attacker.x + 20,
y: attacker.y - 10,
z: attacker.z,
scale: 0.6,
opacity: 1,
time: 150
}, {
z: attacker.behind(5),
scale: 0.4,
time: 250
}, 'linear', 'fade');
battle.showEffect('leftchop', {
x: attacker.x - 20,
y: attacker.y - 10,
z: attacker.z,
scale: 0.6,
opacity: 1,
time: 350
}, {
z: attacker.behind(5),
scale: 0.4,
time: 450
}, 'linear', 'fade');
battle.showEffect('rightchop', {
x: attacker.x + 20,
y: attacker.y - 10,
z: attacker.z,
scale: 0.6,
opacity: 1,
time: 500
}, {
z: attacker.behind(5),
scale: 0.4,
time: 600
}, 'linear', 'fade');
battle.showEffect('impact', {
x: attacker.x - 20,
y: attacker.y - 10,
z: attacker.behind(5),
scale: 0.75,
opacity: 0.3,
time: 100
}, {
scale: 1,
opacity: 0,
time: 300
}, 'linear');
battle.showEffect('impact', {
x: attacker.x + 20,
y: attacker.y - 10,
z: attacker.behind(5),
scale: 0.75,
opacity: 0.3,
time: 250
}, {
scale: 1,
opacity: 0,
time: 550
}, 'linear');
battle.showEffect('impact', {
x: attacker.x - 20,
y: attacker.y - 10,
z: attacker.behind(5),
scale: 0.75,
opacity: 0.3,
time: 400
}, {
scale: 1,
opacity: 0,
time: 700
}, 'linear');
battle.showEffect('impact', {
x: attacker.x + 20,
y: attacker.y - 10,
z: attacker.behind(5),
scale: 0.75,
opacity: 0.3,
time: 550
}, {
scale: 1,
opacity: 0,
time: 800
}, 'linear');
}
},
aromatherapy: {
anim: BattleOtherAnims.selfstatus.anim
},
healbell: {
anim: BattleOtherAnims.selfstatus.anim
},
magiccoat: {
anim: BattleOtherAnims.selfstatus.anim
},
protect: {
anim: BattleOtherAnims.selfstatus.anim
},
detect: {
anim: BattleOtherAnims.selfstatus.anim
},
kingsshield: {
anim: BattleOtherAnims.selfstatus.anim
},
spikyshield: {
anim: BattleOtherAnims.selfstatus.anim
},
banefulbunker: {
anim: function (battle, args) {
var attacker = args[0];
battle.backgroundEffect('linear-gradient(#440044 30%, #000000', 600, 0.2);
battle.showEffect('shadowball', {
x: attacker.x,
y: attacker.y - 30,
z: attacker.z,
scale: 0.5,
xscale: 0.25,
yscale: 0.75,
opacity: 0.5
}, {
scale: 2,
xscale: 3.5,
opacity: 0.1,
time: 500
}, 'decel', 'fade');
battle.showEffect('shadowball', {
x: attacker.x,
y: attacker.y - 15,
z: attacker.z,
opacity: 0.5,
scale: 1.5
}, {
scale: 1.8,
opacity: 0.1,
time: 500
}, 'decel', 'fade');
battle.showEffect('poisonwisp', {
x: attacker.x,
y: attacker.y - 15,
z: attacker.z,
opacity: 1,
scale: 3
}, {
scale: 1.8,
opacity: 0.5,
time: 500
}, 'decel', 'fade');
}
},
craftyshield: {
anim: BattleOtherAnims.selfstatus.anim
},
matblock: {
anim: BattleOtherAnims.selfstatus.anim
},
quickguard: {
anim: BattleOtherAnims.selfstatus.anim
},
wideguard: {
anim: BattleOtherAnims.selfstatus.anim
},
endure: {
anim: BattleOtherAnims.selfstatus.anim
},
bide: {
anim: BattleOtherAnims.bidecharge.anim
},
focusenergy: {
anim: BattleOtherAnims.selfstatus.anim
},
rockpolish: {
anim: function (battle, args) {
var attacker = args[0];
battle.showEffect('leftslash', {
x: attacker.x - 10,
y: attacker.y - 10,
z: attacker.z,
scale: 0.7,
opacity: 0.3
}, {
opacity: 0,
time: 300
}, 'decel');
battle.showEffect('rightslash', {
x: attacker.x + 20,
y: attacker.y - 15,
z: attacker.z,
scale: 0.7,
opacity: 0.3,
time: 100
}, {
opacity: 0,
time: 400
}, 'decel');
battle.showEffect('leftslash', {
x: attacker.x - 5,
y: attacker.y + 15,
z: attacker.z,
scale: 0.7,
opacity: 0.3,
time: 200
}, {
opacity: 0,
time: 500
}, 'decel');
battle.showEffect('rightslash', {
x: attacker.x + 5,
y: attacker.y - 10,
z: attacker.z,
scale: 0.7,
opacity: 0.3,
time: 200
}, {
opacity: 0,
time: 500
}, 'decel');
battle.showEffect('shine', {
x: attacker.x - 10,
y: attacker.y - 10,
z: attacker.z,
scale: 0.3,
opacity: 0.6
}, {
opacity: 0,
time: 300
}, 'decel');
battle.showEffect('shine', {
x: attacker.x + 20,
y: attacker.y - 15,
z: attacker.z,
scale: 0.3,
opacity: 0.6,
time: 100
}, {
opacity: 0,
time: 400
}, 'decel');
battle.showEffect('shine', {
x: attacker.x - 5,
y: attacker.y + 15,
z: attacker.z,
scale: 0.3,
opacity: 0.6,
time: 200
}, {
opacity: 0,
time: 500
}, 'decel');
battle.showEffect('shine', {
x: attacker.x + 5,
y: attacker.y - 10,
z: attacker.z,
scale: 0.3,
opacity: 0.6,
time: 300
}, {
opacity: 0,
time: 600
}, 'accel');
battle.showEffect('shine', {
x: attacker.x + 20,
y: attacker.y - 30,
z: attacker.z,
scale: 0.2,
opacity: 1,
time: 0
}, {
y: attacker.y + 40,
opacity: 0,
time: 400
}, 'accel');
battle.showEffect('shine', {
x: attacker.x - 20,
y: attacker.y + 40,
z: attacker.z,
scale: 0.2,
opacity: 1,
time: 200
}, {
y: attacker.y + 40,
opacity: 0,
time: 600
}, 'accel');
battle.showEffect('shine', {
x: attacker.x,
y: attacker.y + 30,
z: attacker.z,
scale: 0.2,
opacity: 1,
time: 400
}, {
y: attacker.y + 40,
opacity: 0,
time: 800
}, 'accel');
}
},
harden: {
anim: BattleOtherAnims.selfstatus.anim
},
defensecurl: {
anim: BattleOtherAnims.selfstatus.anim
},
irondefense: {
anim: BattleOtherAnims.selfstatus.anim
},
rest: {
anim: function (battle, args) {
var attacker = args[0];
battle.showEffect('wisp', {
x: attacker.x,
y: attacker.y + 20,
z: attacker.z,
scale: 0.5,
opacity: 0.1
}, {
x: attacker.x,
y: attacker.y + 20,
z: attacker.behind(-50),
scale: 1.5,
opacity: 1,
time: 400
}, 'ballistic2Under', 'fade');
battle.showEffect('wisp', {
x: attacker.x,
y: attacker.y + 20,
z: attacker.z,
scale: 0.5,
opacity: 0.1,
time: 200
}, {
x: attacker.x,
y: attacker.y + 20,
z: attacker.behind(-50),
scale: 1.5,
opacity: 1,
time: 600
}, 'ballistic2Under', 'fade');
}
},
howl: {
anim: BattleOtherAnims.selfstatus.anim
},
acupressure: {
anim: function (battle, args) {
var attacker = args[0];
battle.showEffect('pointer', {
x: attacker.x - 5,
y: attacker.y,
z: attacker.z,
scale: 0.5,
opacity: 0.1
}, {
scale: 0.25,
opacity: 1,
time: 300
}, 'linear', 'explode');
battle.showEffect('lightning', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0,
opacity: 1,
time: 300
}, {
scale: 0.8,
opacity: 0,
time: 600
}, 'linear');
}
},
curse: {
anim: BattleOtherAnims.selfstatus.anim
},
autotomize: {
anim: function (battle, args) {
var attacker = args[0];
battle.showEffect('iceball', {
x: attacker.x,
y: attacker.y - 60,
z: attacker.z,
scale: 1,
xscale: 3,
opacity: 0.5,
time: 100
}, {
xscale: 6,
opacity: 0,
time: 1000
}, 'linear', 'fade');
battle.showEffect('wisp', {
x: attacker.x,
y: attacker.y - 60,
z: attacker.z,
scale: 2,
opacity: 1,
time: 100
}, {
y: attacker.y - 50,
opacity: 0,
time: 1000
}, 'accel', 'fade');
battle.showEffect('wisp', {
x: attacker.x,
y: attacker.y - 40,
z: attacker.z,
scale: 0.2,
opacity: 1,
time: 100
}, {
x: attacker.x + 40,
y: attacker.y + 60,
opacity: 0,
time: 500
}, 'accel');
battle.showEffect('wisp', {
x: attacker.x,
y: attacker.y - 40,
z: attacker.z,
scale: 0.2,
opacity: 1,
time: 200
}, {
x: attacker.x + 40,
y: attacker.y + 60,
opacity: 0,
time: 600
}, 'accel');
battle.showEffect('wisp', {
x: attacker.x,
y: attacker.y - 40,
z: attacker.z,
scale: 0.2,
opacity: 1,
time: 400
}, {
y: attacker.y + 60,
opacity: 0,
time: 800
}, 'accel');
attacker.anim({x: attacker.x - 5, time: 75});
attacker.anim({x: attacker.x + 5, time: 100});
attacker.anim({x: attacker.x - 10, time: 50});
attacker.anim({x: attacker.x + 10, time: 50});
attacker.anim({x: attacker.x - 10, time: 50});
attacker.anim({x: attacker.x + 10, time: 50});
attacker.anim({x: attacker.x - 10, time: 50});
attacker.anim({x: attacker.x + 10, time: 50});
attacker.anim({x: attacker.x - 10, time: 50});
attacker.anim({x: attacker.x + 10, time: 150});
attacker.anim({x: attacker.x, time: 150});
}
},
shiftgear: {
anim: function (battle, args) {
var attacker = args[0];
battle.showEffect('gear', {
x: attacker.x + 50,
y: attacker.y,
z: attacker.z,
scale: .4,
opacity: 0,
time: 100
}, {
x: attacker.x + 20,
opacity: 1,
time: 200
}, 'linear', 'explode');
battle.showEffect('gear', {
x: attacker.x - 50,
y: attacker.y,
z: attacker.z,
scale: .4,
opacity: 0,
time: 100
}, {
x: attacker.x - 20,
opacity: 1,
time: 200
}, 'linear', 'explode');
battle.showEffect('gear', {
x: attacker.x + 50,
y: attacker.y,
z: attacker.z,
scale: .4,
opacity: 0,
time: 250
}, {
x: attacker.x + 20,
opacity: 1,
time: 350
}, 'linear', 'explode');
battle.showEffect('gear', {
x: attacker.x - 50,
y: attacker.y,
z: attacker.z,
scale: .4,
opacity: 0,
time: 250
}, {
x: attacker.x - 20,
opacity: 1,
time: 350
}, 'linear', 'explode');
battle.showEffect('gear', {
x: attacker.x + 50,
y: attacker.y,
z: attacker.z,
scale: .4,
opacity: 0,
time: 400
}, {
x: attacker.x + 20,
opacity: 1,
time: 500
}, 'linear', 'explode');
battle.showEffect('gear', {
x: attacker.x - 50,
y: attacker.y,
z: attacker.z,
scale: .4,
opacity: 0,
time: 400
}, {
x: attacker.x - 20,
opacity: 1,
time: 500
}, 'linear', 'explode');
battle.showEffect('shine', {
x: attacker.x - 10,
y: attacker.y - 10,
z: attacker.z,
scale: 0.3,
opacity: 0.6,
time: 100
}, {
opacity: 0,
time: 300
}, 'decel');
battle.showEffect('shine', {
x: attacker.x + 20,
y: attacker.y - 15,
z: attacker.z,
scale: 0.3,
opacity: 0.6,
time: 100
}, {
opacity: 0,
time: 400
}, 'decel');
battle.showEffect('shine', {
x: attacker.x - 5,
y: attacker.y + 15,
z: attacker.z,
scale: 0.3,
opacity: 0.6,
time: 200
}, {
opacity: 0,
time: 500
}, 'decel');
battle.showEffect('shine', {
x: attacker.x + 5,
y: attacker.y - 10,
z: attacker.z,
scale: 0.3,
opacity: 0.6,
time: 300
}, {
opacity: 0,
time: 600
}, 'accel');
battle.showEffect('shine', {
x: attacker.x + 20,
y: attacker.y - 30,
z: attacker.z,
scale: 0.2,
opacity: 1,
time: 100
}, {
y: attacker.y + 40,
opacity: 0,
time: 400
}, 'accel');
battle.showEffect('shine', {
x: attacker.x - 20,
y: attacker.y + 40,
z: attacker.z,
scale: 0.2,
opacity: 1,
time: 200
}, {
y: attacker.y + 40,
opacity: 0,
time: 600
}, 'accel');
battle.showEffect('shine', {
x: attacker.x,
y: attacker.y + 30,
z: attacker.z,
scale: 0.2,
opacity: 1,
time: 400
}, {
y: attacker.y + 40,
opacity: 0,
time: 800
}, 'accel');
attacker.delay(100);
attacker.anim({
y: attacker.y + 2.5,
yscale: 1.5,
time: 100
}, 'linear');
attacker.anim({
time: 100
}, 'linear');
attacker.anim({
y: attacker.y + 2.5,
yscale: 1.5,
time: 100
}, 'linear');
attacker.anim({
time: 100
}, 'linear');
attacker.anim({
y: attacker.y + 2.5,
yscale: 1.5,
time: 100
}, 'linear');
attacker.anim({
time: 100
}, 'linear');
}
},
bulkup: {
anim: function (battle, args) {
var attacker = args[0];
battle.showEffect('wisp', {
x: attacker.x,
y: attacker.y + 20,
z: attacker.z,
scale: 0.5,
opacity: 0.1,
time: 500
}, {
x: attacker.leftof(-30),
y: attacker.y + 20,
z: attacker.behind(-50),
scale: 1,
opacity: 0.3,
time: 800
}, 'ballistic2Under', 'fade');
attacker.anim({
y: attacker.y + 4,
scale: 1.15,
time: 200
}, 'linear');
attacker.delay(300);
attacker.anim({
time: 200
}, 'decel');
}
},
shellsmash: {
anim: function (battle, args) {
var attacker = args[0];
battle.showEffect('shell', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 1,
opacity: 0.5,
time: 0
}, {
scale: 0.8,
opacity: .8,
time: 400
}, 'linear', 'explode');
battle.showEffect('impact', {
x: attacker.x + 40,
y: attacker.y,
z: attacker.z,
scale: 0.7,
opacity: 0.4,
time: 400
}, {
scale: 1.2,
opacity: 0,
time: 600
}, 'linear');
battle.showEffect('impact', {
x: attacker.x - 40,
y: attacker.y - 20,
z: attacker.z,
scale: 0.7,
opacity: 0.4,
time: 450
}, {
scale: 1.2,
opacity: 0,
time: 650
}, 'linear');
battle.showEffect('impact', {
x: attacker.x + 10,
y: attacker.y + 20,
z: attacker.z,
scale: 0.7,
opacity: 0.4,
time: 560
}, {
scale: 1.2,
opacity: 0,
time: 700
}, 'linear');
attacker.anim({
scale: 0.4,
opacity: 0,
time: 400
}, 'linear');
attacker.delay(75);
attacker.anim({x: attacker.x - 20, time: 75});
attacker.anim({x: attacker.x + 20, time: 100});
attacker.anim({x: attacker.x - 20, time: 100});
attacker.anim({x: attacker.x + 20, time: 100});
attacker.anim({x: attacker.x - 20, time: 100});
attacker.anim({x: attacker.x + 20, time: 100});
attacker.anim({x: attacker.x, time: 75});
}
},
stockpile: {
anim: BattleOtherAnims.selfstatus.anim
},
swallow: {
anim: BattleOtherAnims.selfstatus.anim
},
ingrain: {
anim: BattleOtherAnims.selfstatus.anim
},
aquaring: {
anim: function (battle, args) {
var attacker = args[0];
battle.showEffect('iceball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 2,
opacity: 0.2,
time: 0
}, {
scale: 1.5,
opacity: .5,
time: 400
}, 'linear', 'fade');
}
},
coil: {
anim: function (battle, args) {
var attacker = args[0];
battle.showEffect('iceball', {
x: attacker.x,
y: attacker.y + 15,
z: attacker.z,
scale: 0.7,
xscale: 2,
opacity: 0.6,
time: 0
}, {
scale: 0.4,
xscale: 1,
opacity: 0.1,
time: 500
}, 'decel', 'fade');
battle.showEffect('iceball', {
x: attacker.x,
y: attacker.y - 5,
z: attacker.z,
scale: 0.7,
xscale: 2,
opacity: 0.6,
time: 50
}, {
scale: 0.4,
xscale: 1,
opacity: 0.1,
time: 550
}, 'decel', 'fade');
battle.showEffect('iceball', {
x: attacker.x,
y: attacker.y - 20,
z: attacker.z,
scale: 0.7,
xscale: 2,
opacity: 0.6,
time: 100
}, {
scale: 0.4,
xscale: 1,
opacity: 0.1,
time: 600
}, 'decel', 'fade');
attacker.anim({
y: attacker.y + 5,
yscale: 1.1,
time: 300
}, 'swing');
attacker.delay(400);
attacker.anim({
time: 300
}, 'swing');
}
},
conversion: {
anim: function (battle, args) {
var attacker = args[0];
battle.showEffect(attacker.sp, {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 2,
opacity: 0.3
}, {
scale: 1,
opacity: 0,
time: 600
}, 'decel');
}
},
powertrick: {
anim: BattleOtherAnims.selfstatus.anim
},
ragepowder: {
anim: BattleOtherAnims.selfstatus.anim
},
refresh: {
anim: function (battle, args) {
var attacker = args[0];
battle.showEffect('energyball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.5,
opacity: 0.5
}, {
scale: 1.5,
opacity: 0,
time: 500
}, 'linear', 'fade');
battle.showEffect('rainbow', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.5,
opacity: 1
}, {
scale: 2,
opacity: 0,
time: 500
}, 'linear', 'fade');
}
},
recycle: {
anim: BattleOtherAnims.selfstatus.anim
},
doomdesire: {
anim: function (battle, args) {
battle.backgroundEffect('#000000', 300, 0.2);
battle.backgroundEffect('#000000', 300, 0.3, 200);
}
},
teleport: {
anim: BattleOtherAnims.selfstatus.anim
},
cottonguard: {
anim: BattleOtherAnims.selfstatus.anim
},
defendorder: {
anim: BattleOtherAnims.selfstatus.anim
},
meditate: {
anim: BattleOtherAnims.selfstatus.anim
},
sharpen: {
anim: BattleOtherAnims.selfstatus.anim
},
withdraw: {
anim: function (battle, args) {
var attacker = args[0];
battle.showEffect('shell', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 1,
opacity: 0.5,
time: 0
}, {
scale: 0.8,
opacity: .8,
time: 400
}, 'linear', 'fade');
attacker.anim({
scale: 0.4,
opacity: 0,
time: 400
}, 'linear');
attacker.delay(75);
attacker.anim({x: attacker.x, time: 75});
}
},
roost: {
anim: function (battle, args) {
var defender = args[1];
battle.showEffect('feather', {
x: defender.x + 50,
y: defender.y,
z: defender.z,
scale: 0.5,
opacity: 1,
time: 0
}, {
x: defender.x + 5,
y: defender.y - 20,
scale: .1,
opacity: .4,
time: 300
}, 'ballistic2Under', 'fade');
battle.showEffect('feather', {
x: defender.x - 50,
y: defender.y,
z: defender.z,
scale: 0.5,
opacity: 1,
time: 100
}, {
x: defender.x - 10,
y: defender.y - 20,
scale: .1,
opacity: .4,
time: 400
}, 'ballistic2Under', 'fade');
battle.showEffect('feather', {
x: defender.x + 25,
y: defender.y,
z: defender.z,
scale: 0.5,
opacity: 1,
time: 200
}, {
y: defender.y - 20,
scale: .1,
opacity: .4,
time: 500
}, 'ballistic2Under', 'fade');
battle.showEffect('feather', {
x: defender.x - 25,
y: defender.y,
z: defender.z,
scale: 0.5,
opacity: 1,
time: 300
}, {
y: defender.y - 20,
scale: .1,
opacity: .4,
time: 600
}, 'ballistic2Under', 'fade');
}
},
softboiled: {
anim: function (battle, args) {
var attacker = args[0];
battle.showEffect('iceball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.75,
yscale: 1,
opacity: 0.2,
time: 0
}, {
scale: 0.5,
yscale: 0.75,
opacity: 0.5,
time: 400
}, 'linear', 'explode');
battle.showEffect('wisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 1,
yscale: 1.5,
opacity: 0.2,
time: 0
}, {
scale: 0.6,
yscale: 0.75,
opacity: 0.8,
time: 400
}, 'linear', 'explode');
}
},
milkdrink: {
anim: BattleOtherAnims.consume.anim
},
slackoff: {
anim: BattleOtherAnims.selfstatus.anim
},
happyhour: {
anim: BattleOtherAnims.selfstatus.anim
},
snatch: {
anim: BattleOtherAnims.dance.anim
},
acidarmor: {
anim: function (battle, args) {
var attacker = args[0];
battle.showEffect('poisonwisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 2,
opacity: 0.2,
time: 0
}, {
scale: 0,
opacity: 1,
time: 300
}, 'linear');
battle.showEffect('poisonwisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 2,
opacity: 0.2,
time: 200
}, {
scale: 0,
opacity: 1,
time: 500
}, 'linear');
}
},
barrier: {
anim: BattleOtherAnims.lightstatus.anim
},
morningsun: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.backgroundEffect("url('fx/weather-sunnyday.jpg')", 700, 0.5);
battle.showEffect('wisp', {
x: attacker.x + 40,
y: attacker.y - 40,
z: attacker.z,
scale: 0.2,
opacity: 0.8,
time: 200
}, {
y: attacker.y + 130,
opacity: 0,
time: 600
}, 'accel', 'fade');
battle.showEffect('electroball', {
x: attacker.x - 40,
y: attacker.y - 40,
z: attacker.z,
scale: 0.2,
opacity: 0.8,
time: 300
}, {
y: attacker.y + 130,
opacity: 0,
time: 700
}, 'accel', 'fade');
battle.showEffect('electroball', {
x: attacker.x + 20,
y: attacker.y - 40,
z: attacker.z,
scale: 0.2,
opacity: 0.8,
time: 400
}, {
y: attacker.y + 130,
opacity: 0,
time: 800
}, 'accel', 'fade');
battle.showEffect('wisp', {
x: attacker.x - 20,
y: attacker.y - 40,
z: attacker.z,
scale: 0.2,
opacity: 0.8,
time: 500
}, {
y: attacker.y + 130,
opacity: 0,
time: 900
}, 'accel', 'fade');
}
},
moonlight: {
anim: function (battle, args) {
var attacker = args[0];
battle.backgroundEffect("url('fx/bg-space.jpg')", 800, 0.6);
battle.showEffect('shine', {
x: attacker.x + 40,
y: attacker.y - 40,
z: attacker.z,
scale: 0.2,
opacity: 0.8,
time: 200
}, {
y: attacker.y + 130,
opacity: 0,
time: 600
}, 'accel', 'fade');
battle.showEffect('wisp', {
x: attacker.x - 40,
y: attacker.y - 40,
z: attacker.z,
scale: 0.2,
opacity: 0.8,
time: 300
}, {
y: attacker.y + 130,
opacity: 0,
time: 700
}, 'accel', 'fade');
battle.showEffect('wisp', {
x: attacker.x + 20,
y: attacker.y - 40,
z: attacker.z,
scale: 0.2,
opacity: 0.8,
time: 400
}, {
y: attacker.y + 130,
opacity: 0,
time: 800
}, 'accel', 'fade');
battle.showEffect('shine', {
x: attacker.x - 20,
y: attacker.y - 40,
z: attacker.z,
scale: 0.2,
opacity: 0.8,
time: 500
}, {
y: attacker.y + 130,
opacity: 0,
time: 900
}, 'accel', 'fade');
battle.showEffect('wisp', {
x: 0,
y: +175,
z: +50,
scale: 1.5,
opacity: 1
}, {
time: 700
}, 'accel', 'fade');
battle.showEffect('iceball', {
x: 0,
y: +175,
z: +50,
scale: 0.5,
opacity: 0.8
}, {
time: 700
}, 'accel', 'fade');
}
},
cosmicpower: {
anim: function (battle, args) {
var attacker = args[0];
battle.backgroundEffect("url('fx/bg-space.jpg')", 600, 0.6);
battle.showEffect('wisp', {
x: attacker.x + 40,
y: attacker.y - 40,
z: attacker.z,
scale: 0.2,
opacity: 1,
time: 0
}, {
y: attacker.y + 60,
opacity: 0,
time: 400
}, 'accel');
battle.showEffect('wisp', {
x: attacker.x - 40,
y: attacker.y - 40,
z: attacker.z,
scale: 0.2,
opacity: 1,
time: 200
}, {
y: attacker.y + 60,
opacity: 0,
time: 600
}, 'accel');
battle.showEffect('wisp', {
x: attacker.x,
y: attacker.y - 40,
z: attacker.z,
scale: 0.2,
opacity: 1,
time: 400
}, {
y: attacker.y + 60,
opacity: 0,
time: 800
}, 'accel');
}
},
charge: {
anim: BattleOtherAnims.lightstatus.anim
},
luckychant: {
anim: BattleOtherAnims.lightstatus.anim
},
geomancy: {
anim: function (battle, args) {
var attacker = args[0];
battle.backgroundEffect('#000000', 700, 0.3);
battle.showEffect('rainbow', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.5,
opacity: 1,
time: 0
}, {
scale: 2,
opacity: 0,
time: 500
}, 'decel', 'fade');
battle.showEffect('mistball', {
x: attacker.x + 40,
y: attacker.y - 40,
z: attacker.z,
scale: 0.5,
opacity: 1,
time: 0
}, {
y: attacker.y + 130,
opacity: 0,
time: 400
}, 'accel');
battle.showEffect('electroball', {
x: attacker.x - 40,
y: attacker.y - 40,
z: attacker.z,
scale: 0.5,
opacity: 1,
time: 200
}, {
y: attacker.y + 130,
opacity: 0,
time: 600
}, 'accel');
battle.showEffect('energyball', {
x: attacker.x,
y: attacker.y - 40,
z: attacker.z,
scale: 0.5,
opacity: 1,
time: 400
}, {
y: attacker.y + 130,
opacity: 0,
time: 800
}, 'accel');
},
prepareAnim: BattleOtherAnims.chargestatus.anim,
prepareMessage: function (pokemon) {
return pokemon.getName() + ' is absorbing power!';
}
},
magnetrise: {
anim: function (battle, args) {
var attacker = args[0];
battle.showEffect('wisp', {
x: attacker.x + 40,
y: attacker.y - 40,
z: attacker.z,
scale: 0.5,
opacity: 1,
time: 0
}, {
y: attacker.y + 130,
opacity: 0,
time: 400
}, 'accel');
battle.showEffect('wisp', {
x: attacker.x - 40,
y: attacker.y - 40,
z: attacker.z,
scale: 0.5,
opacity: 1,
time: 200
}, {
y: attacker.y + 130,
opacity: 0,
time: 600
}, 'accel');
battle.showEffect('wisp', {
x: attacker.x0,
y: attacker.y - 40,
z: attacker.z,
scale: 0.5,
opacity: 1,
time: 400
}, {
y: attacker.y + 130,
opacity: 0,
time: 800
}, 'accel');
}
},
substitute: {
anim: function () {}
},
batonpass: {
anim: function (battle, args) {
var attacker = args[0];
battle.showEffect('wisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 1,
opacity: 1
}, {
x: attacker.x,
y: attacker.y + 100,
z: attacker.z,
opacity: 0.1,
time: 200
}, 'accel');
battle.showEffect('wisp', {
x: attacker.x,
y: attacker.y + 100,
z: attacker.z,
scale: 1,
opacity: 0.1,
time: 200
}, {
scale: 4,
opacity: 1,
time: 400
}, 'linear', 'explode');
}
},
calmmind: {
anim: function (battle, args) {
var attacker = args[0];
battle.showEffect('shadowball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 2,
opacity: 0.1,
time: 0
}, {
scale: 0,
opacity: .5,
time: 400
}, 'linear');
battle.showEffect('shadowball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 2,
opacity: 0.1,
time: 200
}, {
scale: 0,
opacity: .5,
time: 600
}, 'linear');
}
},
nastyplot: {
anim: function (battle, args) {
var attacker = args[0];
battle.backgroundEffect('#000000', 700, 0.3);
battle.showEffect('wisp', {
x: attacker.x + 20,
y: attacker.y + 30,
z: attacker.z,
scale: 2,
opacity: 1,
time: 0
}, {
scale: 1,
opacity: 0,
time: 500
}, 'linear');
battle.showEffect('wisp', {
x: attacker.x - 20,
y: attacker.y + 30,
z: attacker.z,
scale: 2,
opacity: 1,
time: 50
}, {
scale: 1,
opacity: 0,
time: 500
}, 'linear');
battle.showEffect('wisp', {
x: attacker.x,
y: attacker.y + 60,
z: attacker.z,
scale: 2,
opacity: 1,
time: 100
}, {
scale: 1,
opacity: 0,
time: 500
}, 'linear');
battle.showEffect('electroball', {
x: attacker.x,
y: attacker.y + 30,
z: attacker.z,
scale: 0.5,
opacity: 1,
time: 300
}, {
x: attacker.x,
y: attacker.y + 40,
z: attacker.z,
scale: 0.25,
time: 750
}, 'decel', 'fade');
battle.showEffect('electroball', {
x: attacker.x,
y: attacker.y + 70,
z: attacker.z,
scale: 0.5,
xscale: 0.25,
yscale: 0.75,
opacity: 1,
time: 300
}, {
x: attacker.x,
y: attacker.y + 80,
z: attacker.z,
scale: 0.25,
time: 750
}, 'decel', 'fade');
}
},
minimize: {
anim: function (battle, args) {
var attacker = args[0];
battle.showEffect(attacker.sp, {
x: attacker.x,
y: attacker.y,
z: attacker.z,
opacity: 0.3,
time: 0
}, {
y: attacker.y - 20,
scale: 0.75,
opacity: 0,
time: 400
}, 'accel');
battle.showEffect(attacker.sp, {
x: attacker.x,
y: attacker.y,
z: attacker.z,
opacity: 0.3,
time: 200
}, {
y: attacker.y - 25,
scale: 0.5,
opacity: 0,
time: 600
}, 'accel');
attacker.anim({
y: attacker.y - 30,
scale: 0.25,
time: 600
}, 'linear');
attacker.anim({
time: 300
}, 'accel');
}
},
growth: {
anim: function (battle, args) {
var attacker = args[0];
battle.showEffect(attacker.sp, {
x: attacker.x,
y: attacker.y,
z: attacker.z,
opacity: 0.3,
time: 0
}, {
y: attacker.y + 20,
scale: 2,
opacity: 0,
time: 400
}, 'accel');
battle.showEffect(attacker.sp, {
x: attacker.x,
y: attacker.y,
z: attacker.z,
opacity: 0.3,
time: 200
}, {
y: attacker.y + 20,
scale: 2,
opacity: 0,
time: 600
}, 'accel');
attacker.anim({
scale: 1.25,
time: 600
}, 'linear');
attacker.anim({
time: 300
}, 'accel');
}
},
tailglow: {
anim: function (battle, args) {
var attacker = args[0];
battle.showEffect('electroball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 2,
opacity: 0.2,
time: 0
}, {
scale: 1,
opacity: .5,
time: 400
}, 'linear', 'explode');
}
},
trick: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('pokeball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
time: 0
}, {
x: defender.x,
y: defender.y - 30,
z: defender.z,
time: 300
}, 'ballistic2', 'fade');
battle.showEffect('pokeball', {
x: defender.x,
y: defender.y,
z: defender.z,
time: 0
}, {
x: attacker.x,
y: attacker.y - 30,
z: attacker.z,
time: 300
}, 'ballistic2Under', 'fade');
battle.showEffect('pokeball', {
x: defender.x,
y: defender.y - 30,
z: defender.z,
time: 300
}, {
x: attacker.x - 50,
y: attacker.y,
z: attacker.z,
time: 600
}, 'ballistic2', 'fade');
battle.showEffect('pokeball', {
x: attacker.x,
y: attacker.y - 30,
z: attacker.z,
time: 300
}, {
x: defender.x - 50,
y: defender.y,
z: defender.z,
time: 600
}, 'ballistic2Under', 'fade');
battle.showEffect('pokeball', {
x: attacker.x - 50,
y: attacker.y,
z: attacker.z,
time: 600
}, {
x: defender.x,
y: defender.y,
z: defender.z,
time: 900
}, 'ballistic2', 'explode');
battle.showEffect('pokeball', {
x: defender.x - 50,
y: defender.y,
z: defender.z,
time: 600
}, {
x: attacker.x,
y: attacker.y,
z: attacker.z,
time: 900
}, 'ballistic2Under', 'explode');
}
},
switcheroo: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('pokeball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
time: 0
}, {
x: defender.x,
y: defender.y - 30,
z: defender.z,
time: 300
}, 'ballistic2', 'fade');
battle.showEffect('pokeball', {
x: defender.x,
y: defender.y,
z: defender.z,
time: 0
}, {
x: attacker.x,
y: attacker.y - 30,
z: attacker.z,
time: 300
}, 'ballistic2Under', 'fade');
battle.showEffect('pokeball', {
x: defender.x,
y: defender.y - 30,
z: defender.z,
time: 300
}, {
x: attacker.x - 50,
y: attacker.y,
z: attacker.z,
time: 600
}, 'ballistic2', 'fade');
battle.showEffect('pokeball', {
x: attacker.x,
y: attacker.y - 30,
z: attacker.z,
time: 300
}, {
x: defender.x - 50,
y: defender.y,
z: defender.z,
time: 600
}, 'ballistic2Under', 'fade');
battle.showEffect('pokeball', {
x: attacker.x - 50,
y: attacker.y,
z: attacker.z,
time: 600
}, {
x: defender.x,
y: defender.y,
z: defender.z,
time: 900
}, 'ballistic2', 'explode');
battle.showEffect('pokeball', {
x: defender.x - 50,
y: defender.y,
z: defender.z,
time: 600
}, {
x: attacker.x,
y: attacker.y,
z: attacker.z,
time: 900
}, 'ballistic2Under', 'explode');
}
},
skillswap: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('wisp', {
x: attacker.x,
y: attacker.y - 30,
z: attacker.z,
scale: 1,
opacity: 1,
time: 0
}, {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0.5,
opacity: 0,
time: 400
}, 'ballistic2Under');
battle.showEffect('wisp', {
x: attacker.x,
y: attacker.y - 30,
z: attacker.z,
scale: 1,
opacity: 1,
time: 200
}, {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0.5,
opacity: 0,
time: 600
}, 'ballistic2Under');
battle.showEffect('wisp', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 1,
opacity: 1,
time: 200
}, {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.5,
opacity: 0,
time: 600
}, 'ballistic');
battle.showEffect('wisp', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 1,
opacity: 1,
time: 400
}, {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.5,
opacity: 0,
time: 800
}, 'ballistic');
}
},
recover: {
anim: BattleOtherAnims.chargestatus.anim
},
shadowforce: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('shadowball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 0.5,
time: 400
}, {
scale: 3,
opacity: 0,
time: 600
}, 'linear');
battle.showEffect('shadowball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 0.5,
time: 500
}, {
scale: 3,
opacity: 0,
time: 700
}, 'linear');
attacker.anim({
opacity: 0,
time: 100
}, 'linear');
attacker.anim({
x: defender.x,
y: defender.y,
z: defender.behind(-120),
opacity: 0,
time: 1
}, 'linear');
attacker.anim({
x: defender.x,
y: defender.y,
z: defender.behind(-5),
opacity: 1,
time: 350
}, 'linear');
attacker.anim({
x: defender.x,
y: defender.y,
z: defender.behind(-5),
opacity: 0,
time: 300
}, 'linear');
attacker.anim({
opacity: 0,
time: 1
}, 'linear');
attacker.anim({
time: 300,
opacity: 1
}, 'linear');
defender.delay(380);
defender.anim({
z: defender.behind(20),
time: 100
}, 'swing');
defender.anim({
time: 300
}, 'swing');
},
prepareAnim: function (battle, args) {
var attacker = args[0];
attacker.anim({
opacity: 0.2,
time: 300
}, 'linear');
},
prepareMessage: function (pokemon) {
return pokemon.getName() + ' vanished instantly!';
}
},
bounce: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('wisp', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 0.5,
time: 350
}, {
scale: 3,
opacity: 0,
time: 500
}, 'linear');
battle.showEffect('wisp', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 0.5,
time: 450
}, {
scale: 3,
opacity: 0,
time: 600
}, 'linear');
attacker.anim({
y: attacker.y + 80,
opacity: 0,
time: 100
}, 'linear');
attacker.anim({
x: defender.x,
y: defender.y + 80,
z: defender.z,
opacity: 0,
time: 1
}, 'linear');
attacker.anim({
x: defender.x,
y: defender.y + 10,
z: defender.z,
opacity: 1,
time: 350
}, 'linear');
attacker.anim({
x: defender.x,
y: defender.y + 80,
z: defender.z,
opacity: 0,
time: 300
}, 'linear');
attacker.anim({
x: attacker.x,
y: attacker.y + 80,
z: defender.z,
opacity: 0,
time: 1
}, 'linear');
attacker.anim({
time: 300,
opacity: 1
}, 'linear');
defender.delay(380);
defender.anim({
z: defender.behind(20),
time: 100
}, 'swing');
defender.anim({
time: 300
}, 'swing');
},
prepareAnim: function (battle, args) {
var attacker = args[0];
attacker.anim({
opacity: 0.2,
y: attacker.y + 80,
time: 300
}, 'linear');
},
prepareMessage: function (pokemon) {
return pokemon.getName() + ' sprang up!';
}
},
dig: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('wisp', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 0.5,
time: 350
}, {
scale: 3,
opacity: 0,
time: 500
}, 'linear');
battle.showEffect('wisp', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 0.5,
time: 450
}, {
scale: 3,
opacity: 0,
time: 600
}, 'linear');
attacker.anim({
y: attacker.y - 80,
opacity: 0,
time: 100
}, 'linear');
attacker.anim({
x: defender.x,
y: defender.y - 80,
z: defender.z,
opacity: 0,
time: 1
}, 'linear');
attacker.anim({
x: defender.x,
y: defender.y + 10,
z: defender.z,
opacity: 1,
time: 350
}, 'linear');
attacker.anim({
x: defender.x,
y: defender.y - 80,
z: defender.z,
opacity: 0,
time: 300
}, 'linear');
attacker.anim({
x: attacker.x,
y: attacker.y - 80,
z: defender.z,
opacity: 0,
time: 1
}, 'linear');
attacker.anim({
time: 300,
opacity: 1
}, 'linear');
defender.delay(380);
defender.anim({
z: defender.behind(20),
time: 100
}, 'swing');
defender.anim({
time: 300
}, 'swing');
},
prepareAnim: function (battle, args) {
var attacker = args[0];
attacker.anim({
opacity: 0.2,
y: attacker.y - 80,
time: 300
}, 'linear');
},
prepareMessage: function (pokemon) {
return pokemon.getName() + ' burrowed its way under the ground!';
}
},
dive: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('waterwisp', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 0.5,
time: 350
}, {
scale: 3,
opacity: 0,
time: 500
}, 'linear');
battle.showEffect('waterwisp', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 0.5,
time: 450
}, {
scale: 3,
opacity: 0,
time: 600
}, 'linear');
attacker.anim({
y: attacker.y - 80,
opacity: 0,
time: 100
}, 'linear');
attacker.anim({
x: defender.x,
y: defender.y - 80,
z: defender.z,
opacity: 0,
time: 1
}, 'linear');
attacker.anim({
x: defender.x,
y: defender.y + 10,
z: defender.z,
opacity: 1,
time: 350
}, 'decel');
attacker.anim({
x: defender.x,
y: defender.y - 80,
z: defender.z,
opacity: 0,
time: 300
}, 'accel');
attacker.anim({
y: attacker.y - 80,
opacity: 0,
time: 1
}, 'linear');
attacker.anim({
time: 300,
opacity: 1
}, 'decel');
defender.delay(380);
defender.anim({
z: defender.behind(20),
time: 100
}, 'swing');
defender.anim({
time: 300
}, 'swing');
},
prepareAnim: function (battle, args) {
var attacker = args[0];
attacker.anim({
opacity: 0.2,
y: attacker.y - 80,
time: 300
}, 'swing');
},
prepareMessage: function (pokemon) {
return pokemon.getName() + ' hid underwater!';
}
},
fly: {
anim: BattleOtherAnims.flight.anim,
prepareAnim: function (battle, args) {
var attacker = args[0];
attacker.anim({
opacity: 0.2,
y: attacker.y + 80,
time: 300
}, 'linear');
},
prepareMessage: function (pokemon) {
return pokemon.getName() + ' flew up high!';
}
},
skydrop: {
anim: BattleOtherAnims.contactattack.anim,
prepareAnim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
attacker.anim({
opacity: 0.2,
y: attacker.y + 80,
time: 300
}, 'linear');
defender.anim({
opacity: 0.2,
y: defender.y + 80,
time: 300
}, 'linear');
},
prepareMessage: function (pokemon, pokemon2) {
return pokemon.getName() + ' took ' + pokemon2.getLowerName() + ' into the sky!';
}
},
skullbash: {
anim: BattleOtherAnims.contactattack.anim,
prepareAnim: function (battle, args) {
var attacker = args[0];
attacker.anim({
opacity: 0.8,
time: 300
}, 'linear');
},
prepareMessage: function (pokemon) {
return pokemon.getName() + ' tucked in its head!';
}
},
skyattack: {
anim: BattleOtherAnims.flight.anim,
prepareAnim: function (battle, args) {
var attacker = args[0];
attacker.anim({
opacity: 0.8,
time: 300
}, 'linear');
},
prepareMessage: function (pokemon) {
return pokemon.getName() + ' became cloaked in a harsh light!';
}
},
hiddenpower: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
var xf = [1, -1, 1, -1];
var yf = [1, -1, -1, 1];
var xf2 = [1, 0, -1, 0];
var yf2 = [0, 1, 0, -1];
for (var i = 0; i < 4; i++) {
battle.showEffect('electroball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.5,
opacity: 1
}, {
x: attacker.x + 240 * xf[i],
y: attacker.y,
z: attacker.z + 137 * yf[i],
scale: 1,
opacity: 0.5,
time: 800
}, 'accel', 'fade');
battle.showEffect('electroball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.5,
opacity: 1
}, {
x: attacker.x + 339 * xf2[i],
y: attacker.y,
z: attacker.z + 194 * yf2[i],
scale: 1,
opacity: 0.5,
time: 800
}, 'accel', 'fade');
}
}
},
storedpower: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
var xf = [1, -1, 1, -1];
var yf = [1, -1, -1, 1];
var xf2 = [1, 0, -1, 0];
var yf2 = [0, 1, 0, -1];
for (var i = 0; i < 4; i++) {
battle.showEffect('poisonwisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.5,
opacity: 1
}, {
x: attacker.x + 240 * xf[i],
y: attacker.y,
z: attacker.z + 137 * yf[i],
scale: 1,
opacity: 0.5,
time: 800
}, 'accel');
battle.showEffect('poisonwisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.5,
opacity: 1
}, {
x: attacker.x + 339 * xf2[i],
y: attacker.y,
z: attacker.z + 194 * yf2[i],
scale: 1,
opacity: 0.5,
time: 800
}, 'accel');
}
}
},
seedflare: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
var xf = [1, -1, 1, -1];
var yf = [1, -1, -1, 1];
var xf2 = [1, 0, -1, 0];
var yf2 = [0, 1, 0, -1];
battle.showEffect('energyball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 1,
opacity: .4,
time: 0
}, {
scale: 8,
opacity: .1,
time: 600
}, 'linear', 'fade');
for (var i = 0; i < 4; i++) {
battle.showEffect('wisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: .2,
opacity: 1
}, {
x: attacker.x + 240 * xf[i],
y: attacker.y,
z: attacker.z + 137 * yf[i],
scale: .3,
opacity: 0.5,
time: 800
}, 'accel');
battle.showEffect('wisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: .2,
opacity: 1
}, {
x: attacker.x + 339 * xf2[i],
y: attacker.y,
z: attacker.z + 194 * yf2[i],
scale: .3,
opacity: 0.5,
time: 800
}, 'accel');
}
}
},
powerwhip: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
BattleOtherAnims.contactattack.anim(battle, args);
battle.showEffect('energyball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 1,
time: 420
}, {
x: defender.leftof(-20),
y: defender.y,
z: defender.behind(20),
scale: 3,
opacity: 0,
time: 700
}, 'linear');
battle.showEffect('energyball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 1,
time: 520
}, {
x: defender.leftof(-20),
y: defender.y,
z: defender.behind(20),
scale: 3,
opacity: 0,
time: 800
}, 'linear');
battle.showEffect('leaf1', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 1,
opacity: 1,
time: 500
}, {
x: defender.x,
y: defender.y - 60,
scale: 1.5,
opacity: 0,
time: 1100
}, 'linear', 'fade');
battle.showEffect('leaf2', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 1,
opacity: 1,
time: 500
}, {
x: defender.x + 60,
y: defender.y,
scale: 1.5,
opacity: 0,
time: 1100
}, 'linear', 'fade');
battle.showEffect('leaf2', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 1,
opacity: 1,
time: 500
}, {
x: defender.x,
y: defender.y + 60,
scale: 1.5,
opacity: 0,
time: 1100
}, 'linear', 'fade');
battle.showEffect('leaf1', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 1,
opacity: 1,
time: 500
}, {
x: defender.x - 60,
y: defender.y,
scale: 1.5,
opacity: 0,
time: 1100
}, 'linear', 'fade');
}
},
woodhammer: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
BattleOtherAnims.contactattack.anim(battle, args);
battle.showEffect('energyball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 1,
time: 420
}, {
x: defender.leftof(-20),
y: defender.y,
z: defender.behind(20),
scale: 3,
opacity: 0,
time: 700
}, 'linear');
battle.showEffect('energyball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 1,
time: 520
}, {
x: defender.leftof(-20),
y: defender.y,
z: defender.behind(20),
scale: 3,
opacity: 0,
time: 800
}, 'linear');
battle.showEffect('leaf1', {
x: defender.x,
y: defender.y - 40,
z: defender.z,
scale: 1,
opacity: 1,
time: 500
}, {
x: defender.x,
y: defender.y + 10,
z: defender.z,
scale: 2,
opacity: 0.4,
time: 700
}, 'decel', 'fade');
battle.showEffect('leaf2', {
x: defender.x - 40,
y: defender.y - 40,
z: defender.z,
scale: 1,
opacity: 1,
time: 600
}, {
x: defender.x - 30,
y: defender.y,
z: defender.z,
scale: 2,
opacity: 0.4,
time: 800
}, 'decel', 'fade');
battle.showEffect('leaf2', {
x: defender.x + 40,
y: defender.y - 40,
z: defender.z,
scale: 1,
opacity: 1,
time: 700
}, {
x: defender.x + 40,
y: defender.y,
z: defender.z,
scale: 2,
opacity: 0.4,
time: 900
}, 'decel', 'fade');
}
},
crushclaw: {
anim: BattleOtherAnims.clawattack.anim
},
falseswipe: {
anim: BattleOtherAnims.slashattack.anim
},
dragonclaw: {
anim: BattleOtherAnims.clawattack.anim
},
metalclaw: {
anim: BattleOtherAnims.clawattack.anim
},
furycutter: {
anim: BattleOtherAnims.slashattack.anim
},
scratch: {
anim: BattleOtherAnims.slashattack.anim
},
cut: {
anim: BattleOtherAnims.slashattack.anim
},
slash: {
anim: BattleOtherAnims.slashattack.anim
},
nightslash: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.backgroundEffect('#000000', 700, 0.3);
BattleOtherAnims.contactattack.anim(battle, args);
battle.showEffect('rightslash', {
x: defender.x + 5,
y: defender.y + 20,
z: defender.z,
scale: 1,
opacity: 1,
time: 500
}, {
scale: 3,
opacity: 0,
time: 800
}, 'linear', 'fade');
battle.showEffect('rightslash', {
x: defender.x - 5,
y: defender.y - 20,
z: defender.z,
scale: 1,
opacity: 1,
time: 600
}, {
scale: 3,
opacity: 0,
time: 900
}, 'linear', 'fade');
}
},
shadowclaw: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.backgroundEffect('#000000', 700, 0.3);
BattleOtherAnims.clawattack.anim(battle, args);
}
},
multiattack: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.backgroundEffect('#000000', 1100, 0.3);
attacker.delay(300);
defender.delay(300);
BattleOtherAnims.contactattack.anim(battle, args);
battle.showEffect('flareball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 1,
opacity: 0.5
}, {
scale: 2,
opacity: 0,
time: 300
}, 'decel');
battle.showEffect('rightslash', {
x: defender.x + 5,
y: defender.y + 20,
z: defender.z,
scale: 1,
opacity: 1,
time: 800
}, {
scale: 3,
opacity: 0,
time: 1100
}, 'linear', 'fade');
battle.showEffect('rightslash', {
x: defender.x - 5,
y: defender.y - 20,
z: defender.z,
scale: 1,
opacity: 1,
time: 800
}, {
scale: 3,
opacity: 0,
time: 1100
}, 'linear', 'fade');
}
},
holdback: {
anim: BattleOtherAnims.contactattack.anim
},
knockdown: {
anim: BattleOtherAnims.contactattack.anim
},
seismictoss: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.backgroundEffect("url('fx/bg-space.jpg')", 500, 0.6, 300);
battle.showEffect('wisp', {
x: defender.x,
y: defender.y + 10,
z: defender.z,
scale: 0,
opacity: 0.5,
time: 400
}, {
scale: 3,
opacity: 0,
time: 600
}, 'linear');
attacker.anim({
x: defender.x,
y: defender.y,
z: defender.behind(-5),
time: 350
}, 'ballistic2Under');
attacker.anim({
x: defender.x,
y: defender.y + 10,
z: defender.behind(5),
time: 50
}, 'ballistic2Under');
attacker.anim({
time: 500
}, 'ballistic2Back');
defender.delay(380);
defender.anim({
y: defender.y + 100,
z: defender.behind(5),
opacity: 0.5,
time: 300
}, 'decel');
defender.anim({
time: 250
}, 'accel');
defender.anim({
x: defender.x,
y: defender.y - 30,
yscale: 0.25,
time: 50
}, 'swing');
defender.anim({
time: 300
}, 'swing');
battle.activityWait(1150);
}
},
peck: {
anim: BattleOtherAnims.contactattack.anim
},
drillpeck: {
anim: BattleOtherAnims.contactattack.anim
},
irontail: {
anim: BattleOtherAnims.contactattack.anim
},
bite: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
BattleOtherAnims.contactattack.anim(battle, args);
BattleOtherAnims.bite.anim(battle, args);
}
},
superfang: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
BattleOtherAnims.contactattack.anim(battle, args);
BattleOtherAnims.bite.anim(battle, args);
}
},
bugbite: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
BattleOtherAnims.contactattack.anim(battle, args);
BattleOtherAnims.bite.anim(battle, args);
}
},
crunch: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.backgroundEffect('#000000', 800, 0.3);
BattleOtherAnims.contactattack.anim(battle, args);
battle.showEffect('topbite', {
x: defender.x,
y: defender.y + 70,
z: defender.z,
scale: .65,
opacity: 0,
time: 370
}, {
y: defender.y + 20,
opacity: 1,
time: 500
}, 'linear', 'explode');
battle.showEffect('bottombite', {
x: defender.x,
y: defender.y - 70,
z: defender.z,
scale: .65,
opacity: 0,
time: 370
}, {
y: defender.y - 20,
opacity: 1,
time: 500
}, 'linear', 'explode');
}
},
pursuit: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('shadowball', {
x: defender.x,
y: defender.y,
z: defender.behind(15),
scale: 0,
opacity: 0.2,
time: 600
}, {
scale: 1.5,
opacity: 0,
time: 1000
}, 'linear');
attacker.delay(300);
attacker.anim({
x: defender.leftof(20),
y: defender.y,
z: defender.behind(-20),
time: 300
}, 'ballistic2Under');
attacker.anim({
x: defender.leftof(5),
y: defender.y,
z: defender.behind(15),
time: 50
});
attacker.anim({
time: 500
}, 'ballistic2');
defender.anim({
x: defender.x,
y: defender.y,
z: defender.behind(15),
time: 600
}, 'accel');
defender.delay(25);
defender.anim({
x: defender.x,
y: defender.y,
z: defender.behind(30),
time: 100
}, 'swing');
defender.anim({
time: 400
}, 'swing');
}
},
blazekick: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('fireball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 1,
time: 400
}, {
x: defender.leftof(-20),
y: defender.y,
z: defender.behind(20),
scale: 3,
opacity: 0,
time: 700
}, 'linear');
battle.showEffect('fireball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 1,
time: 500
}, {
x: defender.leftof(-20),
y: defender.y,
z: defender.behind(20),
scale: 3,
opacity: 0,
time: 800
}, 'linear');
BattleOtherAnims.contactattack.anim(battle, args);
BattleOtherAnims.kick.anim(battle, args);
}
},
lowkick: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('foot', {
x: defender.x,
y: defender.y - 40,
z: defender.behind(15),
scale: 1,
opacity: 1,
time: 400
}, {
x: defender.x - 50,
z: defender.behind(20),
scale: 1.7,
opacity: 0,
time: 650
}, 'linear');
attacker.anim({
x: defender.leftof(20),
y: defender.y,
z: defender.behind(-20),
time: 400
}, 'ballistic2Under');
attacker.anim({
x: defender.x,
y: defender.y,
z: defender.z,
time: 50
});
attacker.anim({
time: 500
}, 'ballistic2');
defender.delay(425);
defender.anim({
x: defender.leftof(-15),
y: defender.y,
z: defender.behind(20),
time: 50
}, 'swing');
defender.anim({
time: 300
}, 'swing');
}
},
stomp: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('foot', {
x: defender.x,
y: defender.y + 80,
z: defender.behind(-15),
scale: 1.5,
opacity: 0.8,
time: 400
}, {
y: defender.y - 10,
z: defender.z,
scale: 1,
opacity: 1,
time: 500
}, 'linear', 'explode');
battle.showEffect('wisp', {
x: defender.x,
y: defender.y - 30,
z: defender.z,
scale: 1,
time: 500
}, {
x: defender.x + 70,
scale: 0.8,
opacity: 0.3,
time: 800
}, 'linear', 'fade');
battle.showEffect('wisp', {
x: defender.x,
y: defender.y - 30,
z: defender.z,
scale: 1,
time: 500
}, {
x: defender.x - 70,
scale: 0.8,
opacity: 0.3,
time: 800
}, 'linear', 'fade');
attacker.anim({
x: defender.x,
y: defender.y + 80,
z: defender.behind(-30),
time: 400
}, 'ballistic');
attacker.anim({
x: defender.x,
y: defender.y + 5,
z: defender.z,
time: 100
});
attacker.anim({
time: 600
}, 'ballistic2Back');
defender.delay(450);
defender.anim({
y: defender.y - 30,
z: defender.behind(20),
yscale: 0.5,
time: 200
}, 'swing');
defender.anim({
time: 300
}, 'swing');
}
},
tropkick: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
BattleOtherAnims.contactattack.anim(battle, args);
BattleOtherAnims.kick.anim(battle, args);
battle.backgroundEffect('#9AB440', 300, 0.3, 500);
battle.showEffect('energyball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 1,
time: 420
}, {
x: defender.leftof(-20),
y: defender.y,
z: defender.behind(20),
scale: 3,
opacity: 0,
time: 700
}, 'linear');
battle.showEffect('energyball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 1,
time: 520
}, {
x: defender.leftof(-20),
y: defender.y,
z: defender.behind(20),
scale: 3,
opacity: 0,
time: 800
}, 'linear');
battle.showEffect('petal', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0.6,
opacity: 0.8,
time: 550
}, {
x: defender.x + 60,
y: defender.y - 20,
z: defender.z,
scale: 1,
opacity: 0.5,
time: 825
}, 'decel', 'explode');
battle.showEffect('petal', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0.6,
opacity: 0.8,
time: 575
}, {
x: defender.x - 50,
y: defender.y - 20,
z: defender.z,
scale: 1,
opacity: 0.5,
time: 850
}, 'decel', 'explode');
battle.showEffect('petal', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0.6,
opacity: 0.8,
time: 600
}, {
x: defender.x - 60,
y: defender.y + 20,
z: defender.z,
scale: 1,
opacity: 0.5,
time: 875
}, 'decel', 'explode');
battle.showEffect('petal', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0.6,
opacity: 0.8,
time: 625
}, {
x: defender.x + 50,
y: defender.y + 30,
z: defender.z,
scale: 1,
opacity: 0.5,
time: 900
}, 'decel', 'explode');
battle.showEffect('petal', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0.6,
opacity: 0.8,
time: 650
}, {
x: defender.x - 10,
y: defender.y + 60,
z: defender.z,
scale: 1,
opacity: 0.5,
time: 925
}, 'decel', 'explode');
}
},
jumpkick: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
BattleOtherAnims.contactattack.anim(battle, args);
BattleOtherAnims.kick.anim(battle, args);
}
},
highjumpkick: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect(attacker.sp, {
x: defender.leftof(-10),
y: attacker.y + 170,
z: attacker.behind(-35),
opacity: 0.3,
time: 25
}, {
x: defender.x,
y: defender.y,
z: defender.behind(0)
}, 'ballistic', 'fade');
battle.showEffect(attacker.sp, {
x: defender.leftof(-10),
y: attacker.y + 170,
z: attacker.behind(-35),
opacity: 0.3,
time: 75
}, {
x: defender.x,
y: defender.y,
z: defender.behind(0)
}, 'ballistic', 'fade');
battle.showEffect('foot', {
x: defender.x,
y: defender.y + 20,
z: defender.z,
scale: 1,
opacity: 1,
time: 500
}, {
x: defender.x,
y: defender.y + 10,
z: defender.behind(15),
scale: 2,
opacity: 0,
time: 900
}, 'linear');
battle.showEffect('shadowball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 0.7,
time: 500
}, {
scale: 3,
opacity: 0,
time: 750
}, 'linear', 'fade');
attacker.anim({
x: defender.x,
y: defender.y + 170,
z: defender.behind(-30),
time: 400
}, 'ballistic');
attacker.anim({
x: defender.x,
y: defender.y + 5,
z: defender.z,
time: 200
});
attacker.anim({
time: 500
}, 'ballistic2Back');
defender.delay(500);
defender.anim({
y: defender.y - 5,
z: defender.behind(40),
yscale: 0.9,
time: 300
}, 'swing');
defender.anim({
time: 300
}, 'swing');
}
},
ironhead: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
BattleOtherAnims.contactattack.anim(battle, args);
battle.showEffect('shadowball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 0.2,
time: 450
}, {
scale: 2,
opacity: 0,
time: 700
}, 'linear');
}
},
heartstamp: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
BattleOtherAnims.contactattack.anim(battle, args);
battle.showEffect('heart', {
x: defender.leftof(-20),
y: defender.y + 15,
z: defender.z,
scale: 1,
opacity: 0.5,
time: 450
}, {
scale: 4,
opacity: 0,
time: 700
}, 'linear');
}
},
slam: {
anim: BattleOtherAnims.contactattack.anim
},
dragontail: {
anim: BattleOtherAnims.contactattack.anim
},
reversal: {
anim: BattleOtherAnims.contactattack.anim
},
punishment: {
anim: BattleOtherAnims.contactattack.anim
},
forcepalm: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('rightchop', {
x: defender.x,
y: defender.y,
z: defender.z - 10,
scale: 0.6,
opacity: 0.1,
time: 350
}, {
x: defender.x + 20,
scale: 0.5,
opacity: 1,
time: 500
}, 'linear', 'fade');
battle.showEffect('rightchop', {
x: defender.x + 20,
y: defender.y,
z: defender.z - 10,
scale: 0.5,
opacity: 1,
time: 500
}, {
x: defender.x - 15,
opacity: 0,
time: 800
}, 'decel', 'fade');
battle.showEffect('rightchop', {
x: defender.x + 20,
y: defender.y,
z: defender.z - 10,
scale: 0.5,
opacity: 0.3,
time: 575
}, {
x: defender.x - 15,
opacity: 0,
time: 850
}, 'decel', 'fade');
attacker.anim({
x: defender.leftof(20),
y: defender.y,
z: defender.behind(-20),
time: 400
}, 'ballistic2Under');
attacker.anim({
x: defender.x,
y: defender.y,
z: defender.z,
time: 50
});
attacker.anim({
time: 500
}, 'ballistic2');
defender.delay(425);
defender.anim({
x: defender.leftof(-15),
y: defender.y,
z: defender.behind(15),
time: 50
}, 'swing');
defender.anim({
time: 300
}, 'swing');
}
},
circlethrow: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('wisp', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 1,
time: 400
}, {
x: defender.leftof(-20),
z: defender.behind(20),
scale: 3,
opacity: 0,
time: 700
}, 'linear');
battle.showEffect('wisp', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 1,
time: 500
}, {
x: defender.leftof(-20),
z: defender.behind(20),
scale: 0.6,
opacity: 0,
time: 800
}, 'linear');
battle.showEffect('rightchop', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0.6,
opacity: 1,
time: 400
}, {
x: defender.leftof(-20),
z: defender.behind(20),
scale: 1,
opacity: 0,
time: 800
}, 'linear');
attacker.anim({
x: defender.leftof(20),
y: defender.y,
z: defender.behind(-20),
time: 400
}, 'ballistic2Under');
attacker.anim({
x: defender.x,
y: defender.y,
z: defender.z,
time: 50
});
attacker.anim({
time: 500
}, 'ballistic2');
defender.delay(425);
defender.anim({
x: defender.leftof(-15),
y: defender.y,
z: defender.behind(15),
time: 50
}, 'swing');
defender.anim({
time: 300
}, 'swing');
}
},
knockoff: {
anim: BattleOtherAnims.contactattack.anim
},
assurance: {
anim: BattleOtherAnims.contactattack.anim
},
chipaway: {
anim: BattleOtherAnims.contactattack.anim
},
bodyslam: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('wisp', {
x: defender.x,
y: defender.y - 30,
z: defender.z,
scale: 1,
time: 500
}, {
x: defender.x + 70,
scale: 0.8,
opacity: 0.3,
time: 800
}, 'linear', 'fade');
battle.showEffect('wisp', {
x: defender.x,
y: defender.y - 30,
z: defender.z,
scale: 1,
time: 500
}, {
x: defender.x - 70,
scale: 0.8,
opacity: 0.3,
time: 800
}, 'linear', 'fade');
attacker.anim({
x: defender.x,
y: defender.y + 80,
z: defender.behind(-30),
time: 400
}, 'ballistic');
attacker.anim({
x: defender.x,
y: defender.y + 5,
z: defender.z,
time: 100
});
attacker.anim({
time: 600
}, 'ballistic2Back');
defender.delay(450);
defender.anim({
y: defender.y - 30,
z: defender.behind(20),
yscale: 0.5,
time: 200
}, 'swing');
defender.anim({
time: 300
}, 'swing');
battle.activityWait(500);
}
},
heavyslam: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('shadowball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 0.5,
time: 450
}, {
scale: 2,
opacity: 0,
time: 700
}, 'linear');
battle.showEffect('wisp', {
x: defender.x,
y: defender.y - 30,
z: defender.z,
scale: 1,
time: 500
}, {
x: defender.x + 70,
scale: 0.8,
opacity: 0.3,
time: 800
}, 'linear', 'fade');
battle.showEffect('wisp', {
x: defender.x,
y: defender.y - 30,
z: defender.z,
scale: 1,
time: 500
}, {
x: defender.x - 70,
scale: 0.8,
opacity: 0.3,
time: 800
}, 'linear', 'fade');
attacker.anim({
x: defender.x,
y: defender.y + 80,
z: defender.behind(-30),
time: 400
}, 'ballistic');
attacker.anim({
x: defender.x,
y: defender.y + 5,
z: defender.behind(20),
time: 100
});
attacker.anim({
time: 600
}, 'ballistic2Back');
defender.delay(450);
defender.anim({
y: defender.y - 30,
z: defender.behind(20),
yscale: 0.5,
time: 200
}, 'swing');
defender.anim({
time: 300
}, 'swing');
battle.activityWait(500);
}
},
steamroller: {
anim: BattleOtherAnims.contactattack.anim
},
pound: {
anim: BattleOtherAnims.contactattack.anim
},
clamp: {
anim: BattleOtherAnims.contactattack.anim
},
wakeupslap: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
BattleOtherAnims.contactattack.anim(battle, args);
battle.showEffect('rightchop', {
x: defender.x + 30,
y: defender.y,
z: defender.behind(-10),
scale: 0.6,
opacity: 1,
time: 400
}, {
x: defender.x - 10,
y: defender.y - 10,
xscale: 0,
opacity: 0.5,
time: 512.5
}, 'linear', 'fade');
battle.showEffect('leftchop', {
x: defender.x,
y: defender.y - 10,
z: defender.behind(-10),
scale: 0.6,
xscale: 0,
opacity: 1,
time: 512.5
}, {
x: defender.x - 30,
y: defender.y,
xscale: 0.6,
opacity: 0,
time: 625
}, 'linear', 'fade');
}
},
smellingsalts: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('wisp', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 1,
time: 400
}, {
x: defender.leftof(-20),
y: defender.y,
z: defender.behind(20),
scale: 3,
opacity: 0,
time: 700
}, 'linear');
battle.showEffect('wisp', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 1,
time: 500
}, {
x: defender.leftof(-20),
y: defender.y,
z: defender.behind(20),
scale: 3,
opacity: 0,
time: 800
}, 'linear');
battle.showEffect('rightchop', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0.6,
opacity: 1,
time: 400
}, {
x: defender.leftof(-20),
y: defender.y,
z: defender.behind(20),
scale: 0.9,
opacity: 0,
time: 800
}, 'linear');
attacker.anim({
x: defender.leftof(20),
y: defender.y,
z: defender.behind(-20),
time: 400
}, 'ballistic2Under');
attacker.anim({
x: defender.x,
y: defender.y,
z: defender.z,
time: 50
});
attacker.anim({
time: 500
}, 'ballistic2');
defender.delay(425);
defender.anim({
x: defender.leftof(-15),
y: defender.y,
z: defender.behind(15),
time: 50
}, 'swing');
defender.anim({
time: 300
}, 'swing');
}
},
karatechop: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
BattleOtherAnims.contactattack.anim(battle, args);
battle.showEffect('rightchop', {
x: defender.leftof(30),
y: defender.y + 50,
z: defender.behind(-10),
scale: 0.6,
opacity: 1,
time: 475
}, {
y: defender.y - 20,
opacity: 0.5,
time: 550
}, 'linear', 'fade');
}
},
crosschop: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
BattleOtherAnims.contactattack.anim(battle, args);
battle.showEffect('rightslash', {
x: defender.x - 10,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 1,
time: 425
}, {
scale: 3,
opacity: 0,
time: 800
}, 'linear', 'fade');
battle.showEffect('leftslash', {
x: defender.x + 10,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 1,
time: 425
}, {
scale: 3,
opacity: 0,
time: 800
}, 'linear', 'fade');
battle.showEffect('leftchop', {
x: defender.x + 60,
y: defender.y + 70,
z: defender.z,
scale: 0.75,
opacity: 1,
time: 400
}, {
x: defender.x - 60,
y: defender.y - 70,
scale: 0.5,
opacity: 0,
time: 600
}, 'linear', 'fade');
battle.showEffect('rightchop', {
x: defender.x - 60,
y: defender.y + 70,
z: defender.z,
scale: 0.75,
opacity: 1,
time: 400
}, {
x: defender.x + 60,
y: defender.y - 70,
scale: 0.5,
opacity: 0,
time: 600
}, 'linear', 'fade');
}
},
lick: {
anim: BattleOtherAnims.contactattack.anim
},
vicegrip: {
anim: BattleOtherAnims.contactattack.anim
},
headbutt: {
anim: BattleOtherAnims.contactattack.anim
},
block: {
anim: function (battle, args) {
var defender = args[1];
battle.showEffect('rightslash', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 2,
opacity: 0.5
}, {
scale: 1,
opacity: 1,
time: 400
}, 'linear', 'explode');
battle.showEffect('leftslash', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 2,
opacity: 0.5
}, {
scale: 1,
opacity: 1,
time: 400
}, 'linear', 'explode');
}
},
xscissor: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
attacker.anim({
x: defender.leftof(-30),
y: defender.y + 80,
z: defender.behind(-30),
time: 300
}, 'ballistic');
attacker.anim({
x: defender.leftof(30),
y: defender.y + 5,
z: defender.z,
time: 100
});
attacker.anim({
x: defender.leftof(30),
y: defender.y + 80,
z: defender.behind(-30),
time: 200
}, 'ballisticUp');
attacker.anim({
x: defender.leftof(-30),
y: defender.y + 5,
z: defender.z,
time: 100
});
attacker.anim({
time: 500
}, 'ballistic2Back');
defender.delay(450);
defender.anim({
z: defender.behind(20),
time: 100
}, 'swing');
defender.anim({
time: 200
}, 'swing');
defender.anim({
z: defender.behind(20),
time: 100
}, 'swing');
defender.anim({
time: 300
}, 'swing');
battle.activityWait(800);
battle.showEffect('rightslash', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 1,
opacity: 1,
time: 425
}, {
scale: 2,
opacity: 0.5,
time: 725
}, 'linear', 'fade');
battle.showEffect('rightslash', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 1,
time: 625
}, {
scale: 3,
opacity: 0,
time: 1000
}, 'linear', 'fade');
battle.showEffect('leftslash', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 1,
time: 625
}, {
scale: 3,
opacity: 0,
time: 1000
}, 'linear', 'fade');
}
},
crosspoison: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
attacker.anim({
x: defender.leftof(-30),
y: defender.y + 80,
z: defender.behind(-30),
time: 300
}, 'ballistic');
attacker.anim({
x: defender.leftof(30),
y: defender.y + 5,
z: defender.z,
time: 100
});
attacker.anim({
x: defender.leftof(30),
y: defender.y + 80,
z: defender.behind(-30),
time: 200
}, 'ballisticUp');
attacker.anim({
x: defender.leftof(-30),
y: defender.y + 5,
z: defender.z,
time: 100
});
attacker.anim({
time: 500
}, 'ballistic2Back');
defender.delay(450);
defender.anim({
z: defender.behind(20),
time: 100
}, 'swing');
defender.anim({
time: 200
}, 'swing');
defender.anim({
z: defender.behind(20),
time: 100
}, 'swing');
defender.anim({
time: 300
}, 'swing');
battle.activityWait(800);
battle.showEffect('rightslash', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 1,
opacity: 1,
time: 425
}, {
scale: 2,
opacity: 0.5,
time: 725
}, 'linear', 'fade');
battle.showEffect('rightslash', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 1,
time: 625
}, {
scale: 3,
opacity: 0,
time: 1000
}, 'linear', 'fade');
battle.showEffect('leftslash', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 1,
time: 625
}, {
scale: 3,
opacity: 0,
time: 1000
}, 'linear', 'fade');
battle.showEffect('poisonwisp', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0.2,
opacity: 1,
time: 450
}, {
x: defender.x + 30,
y: defender.y + 10,
scale: 1,
opacity: 0.5,
time: 750
}, 'decel', 'fade');
battle.showEffect('poisonwisp', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0.2,
opacity: 1,
time: 550
}, {
x: defender.x - 30,
y: defender.y - 40,
scale: 1,
opacity: 0.5,
time: 850
}, 'decel', 'fade');
battle.showEffect('poisonwisp', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0.2,
opacity: 1,
time: 650
}, {
x: defender.x - 10,
y: defender.y + 40,
scale: 1,
opacity: 0.5,
time: 950
}, 'decel', 'fade');
}
},
facade: {
anim: BattleOtherAnims.xattack.anim
},
guillotine: {
anim: BattleOtherAnims.xattack.anim
},
'return': {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('heart', {
x: attacker.x - 10,
y: attacker.y + 50,
z: attacker.z,
scale: 0.5,
opacity: 1,
time: 0
}, {
scale: 3,
opacity: 0,
time: 300
}, 'ballistic2Under', 'fade');
attacker.delay(300);
attacker.anim({
x: defender.leftof(-30),
y: defender.y + 80,
z: defender.behind(-30),
time: 300
}, 'ballistic');
attacker.anim({
x: defender.leftof(30),
y: defender.y + 5,
z: defender.z,
time: 100
});
attacker.anim({
x: defender.leftof(30),
y: defender.y + 80,
z: defender.behind(-30),
time: 200
}, 'ballisticUp');
attacker.anim({
x: defender.leftof(-30),
y: defender.y + 5,
z: defender.z,
time: 100
});
attacker.anim({
time: 500
}, 'ballistic2Back');
defender.delay(750);
defender.anim({
z: defender.behind(20),
time: 100
}, 'swing');
defender.anim({
time: 200
}, 'swing');
defender.anim({
z: defender.behind(15),
time: 300
}, 'decel');
defender.anim({
time: 300
}, 'swing');
battle.activityWait(800);
battle.showEffect('foot', {
x: defender.x - 10,
y: defender.y + 20,
z: defender.z,
scale: 1,
opacity: 1,
time: 650
}, {
x: defender.x - 15,
y: defender.y + 10,
z: defender.behind(15),
scale: 2,
opacity: 0,
time: 950
}, 'linear');
battle.showEffect('fist', {
x: defender.x - 5,
y: defender.y - 5,
z: defender.z,
scale: 0.6,
opacity: 0.6,
time: 675
}, {
x: defender.x - 10,
y: defender.y - 10,
z: defender.z,
scale: 1,
opacity: 1,
time: 875
}, 'linear', 'explode');
battle.showEffect('fist', {
x: defender.x + 10,
y: defender.y + 10,
z: defender.z,
scale: 0.6,
opacity: 0.6,
time: 700
}, {
x: defender.x + 20,
y: defender.y + 20,
z: defender.z,
scale: 1,
opacity: 1,
time: 900
}, 'linear', 'explode');
battle.showEffect('fist', {
x: defender.x + 20,
y: defender.y - 30,
z: defender.z,
scale: 0.6,
opacity: 0.6,
time: 725
}, {
x: defender.x + 30,
y: defender.y - 25,
z: defender.z,
scale: 1,
opacity: 1,
time: 925
}, 'linear', 'explode');
battle.showEffect('foot', {
x: defender.x,
y: defender.y + 20,
z: defender.z,
scale: 1,
opacity: 1,
time: 1000
}, {
x: defender.x,
y: defender.y + 10,
z: defender.behind(15),
scale: 2,
opacity: 0,
time: 1300
}, 'linear');
}
},
leafblade: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
BattleOtherAnims.xattack.anim(battle, args);
battle.showEffect('energyball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0.5,
opacity: 0.5,
time: 450
}, {
scale: 2,
opacity: 0.2,
time: 750
}, 'linear', 'fade');
battle.showEffect('energyball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0.5,
opacity: 0.5,
time: 750
}, {
scale: 2,
opacity: 0.2,
time: 1050
}, 'linear', 'fade');
battle.showEffect('leaf1', {
x: defender.x - 35,
y: defender.y - 10,
z: defender.z,
scale: 0.5,
opacity: 0.7,
time: 450
}, {
scale: 3,
opacity: 0,
time: 750
}, 'linear');
battle.showEffect('leaf2', {
x: defender.x + 35,
y: defender.y - 15,
z: defender.z,
scale: 0.8,
opacity: 0.7,
time: 550
}, {
scale: 3.5,
opacity: 0,
time: 850
}, 'linear');
battle.showEffect('leftslash', {
x: defender.x - 10,
y: defender.y - 10,
z: defender.z,
scale: 1.5,
opacity: 0.6,
time: 450
}, {
scale: 2,
opacity: 0,
time: 800
}, 'accel', 'fade');
battle.showEffect('leaf1', {
x: defender.x - 35,
y: defender.y - 15,
z: defender.z,
scale: 0.5,
opacity: 0.7,
time: 750
}, {
scale: 3,
opacity: 0,
time: 1050
}, 'linear');
battle.showEffect('leaf2', {
x: defender.x + 35,
y: defender.y - 10,
z: defender.z,
scale: 0.8,
opacity: 0.7,
time: 800
}, {
scale: 3.5,
opacity: 0,
time: 1190
}, 'linear');
battle.showEffect('rightslash', {
x: defender.x - 10,
y: defender.y - 10,
z: defender.z,
scale: 1.5,
opacity: 0.6,
time: 750
}, {
scale: 2,
opacity: 0,
time: 1100
}, 'accel', 'fade');
}
},
thrash: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('angry', {
x: attacker.x - 10,
y: attacker.y + 50,
z: attacker.z,
scale: 0.5,
opacity: 1,
time: 0
}, {
scale: 3,
opacity: 0,
time: 300
}, 'ballistic2Under', 'fade');
attacker.delay(300);
attacker.anim({
x: defender.leftof(-30),
y: defender.y + 80,
z: defender.behind(-30),
time: 300
}, 'ballistic');
attacker.anim({
x: defender.leftof(30),
y: defender.y + 5,
z: defender.z,
time: 100
});
attacker.anim({
x: defender.leftof(30),
y: defender.y + 80,
z: defender.behind(-30),
time: 200
}, 'ballisticUp');
attacker.anim({
x: defender.leftof(-30),
y: defender.y + 5,
z: defender.z,
time: 100
});
attacker.anim({
time: 500
}, 'ballistic2Back');
defender.delay(750);
defender.anim({
z: defender.behind(20),
time: 100
}, 'swing');
defender.anim({
time: 200
}, 'swing');
defender.anim({
z: defender.behind(15),
time: 300
}, 'decel');
defender.anim({
time: 300
}, 'swing');
battle.activityWait(800);
battle.showEffect('foot', {
x: defender.x - 10,
y: defender.y + 20,
z: defender.z,
scale: 1,
opacity: 1,
time: 650
}, {
x: defender.x - 15,
y: defender.y + 10,
z: defender.behind(15),
scale: 2,
opacity: 0,
time: 950
}, 'linear');
battle.showEffect('fist', {
x: defender.x - 5,
y: defender.y - 5,
z: defender.z,
scale: 0.6,
opacity: 0.6,
time: 675
}, {
x: defender.x - 10,
y: defender.y - 10,
z: defender.z,
scale: 1,
opacity: 1,
time: 875
}, 'linear', 'explode');
battle.showEffect('fist', {
x: defender.x + 10,
y: defender.y + 10,
z: defender.z,
scale: 0.6,
opacity: 0.6,
time: 700
}, {
x: defender.x + 20,
y: defender.y + 20,
z: defender.z,
scale: 1,
opacity: 1,
time: 900
}, 'linear', 'explode');
battle.showEffect('fist', {
x: defender.x + 20,
y: defender.y - 30,
z: defender.z,
scale: 0.6,
opacity: 0.6,
time: 725
}, {
x: defender.x + 30,
y: defender.y - 25,
z: defender.z,
scale: 1,
opacity: 1,
time: 925
}, 'linear', 'explode');
battle.showEffect('foot', {
x: defender.x,
y: defender.y + 20,
z: defender.z,
scale: 1,
opacity: 1,
time: 1000
}, {
x: defender.x,
y: defender.y + 10,
z: defender.behind(15),
scale: 2,
opacity: 0,
time: 1300
}, 'linear');
}
},
pluck: {
anim: BattleOtherAnims.xattack.anim
},
bind: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('iceball', {
x: defender.x,
y: defender.y + 15,
z: defender.z,
scale: 0.7,
xscale: 2,
opacity: 0.3,
time: 500
}, {
scale: 0.4,
xscale: 1,
opacity: 0.1,
time: 1100
}, 'decel', 'fade');
battle.showEffect('iceball', {
x: defender.x,
y: defender.y - 5,
z: defender.z,
scale: 0.7,
xscale: 2,
opacity: 0.3,
time: 550
}, {
scale: 0.4,
xscale: 1,
opacity: 0.1,
time: 1150
}, 'decel', 'fade');
battle.showEffect('iceball', {
x: defender.x,
y: defender.y - 20,
z: defender.z,
scale: 0.7,
xscale: 2,
opacity: 0.3,
time: 600
}, {
scale: 0.4,
xscale: 1,
opacity: 0.1,
time: 1200
}, 'decel', 'fade');
attacker.anim({
x: defender.leftof(-30),
y: defender.y + 80,
z: defender.behind(-30),
time: 400
}, 'ballistic');
attacker.anim({
x: defender.leftof(30),
y: defender.y + 5,
z: defender.z,
time: 100
});
attacker.anim({
x: defender.leftof(30),
y: defender.y + 80,
z: defender.behind(-30),
time: 200
}, 'ballisticUp');
attacker.anim({
x: defender.leftof(-30),
y: defender.y + 5,
z: defender.z,
time: 100
});
attacker.anim({
time: 500
}, 'ballistic2Back');
defender.delay(450);
defender.anim({
y: defender.y + 15,
z: defender.behind(10),
yscale: 1.3,
time: 200
}, 'swing');
defender.anim({
time: 200
}, 'swing');
defender.delay(25);
defender.anim({
x: defender.leftof(-10),
y: defender.y + 15,
z: defender.behind(5),
yscale: 1.3,
time: 200
}, 'swing');
defender.anim({
time: 200
}, 'swing');
}
},
dualchop: {
anim: BattleOtherAnims.xattack.anim,
multihit: true
},
doublehit: {
anim: BattleOtherAnims.xattack.anim,
multihit: true
},
doubleslap: {
anim: BattleOtherAnims.xattack.anim,
multihit: true
},
closecombat: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
attacker.anim({
x: defender.leftof(-30),
y: defender.y + 80,
z: defender.behind(-30),
time: 350
}, 'ballistic');
attacker.anim({
x: defender.leftof(30),
y: defender.y + 5,
z: defender.z,
time: 100
});
attacker.anim({
x: defender.leftof(30),
y: defender.y + 80,
z: defender.behind(-30),
time: 150
}, 'ballisticUp');
attacker.anim({
x: defender.leftof(-30),
y: defender.y + 5,
z: defender.z,
time: 100
});
attacker.anim({
time: 500
}, 'ballistic2Back');
defender.delay(450);
defender.anim({
z: defender.behind(20),
time: 100
}, 'swing');
defender.anim({
time: 200
}, 'swing');
defender.anim({
z: defender.behind(20),
time: 100
}, 'swing');
defender.anim({
time: 300
}, 'swing');
battle.activityWait(800);
battle.showEffect('fist', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0.6,
opacity: 0.6,
time: 425
}, {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 1,
opacity: 1,
time: 525
}, 'linear', 'explode');
battle.showEffect('fist', {
x: defender.x - 10,
y: defender.y + 20,
z: defender.z,
scale: 0.6,
opacity: 0.6,
time: 450
}, {
x: defender.x - 20,
y: defender.y + 30,
z: defender.z,
scale: 1,
opacity: 1,
time: 550
}, 'linear', 'explode');
battle.showEffect('fist', {
x: defender.x + 30,
y: defender.y - 20,
z: defender.z,
scale: 0.6,
opacity: 0.6,
time: 475
}, {
x: defender.x + 35,
y: defender.y - 30,
z: defender.z,
scale: 1,
opacity: 1,
time: 575
}, 'linear', 'explode');
battle.showEffect('fist', {
x: defender.x - 30,
y: defender.y - 20,
z: defender.z,
scale: 0.6,
opacity: 0.6,
time: 575
}, {
x: defender.x - 35,
y: defender.y - 30,
z: defender.z,
scale: 1,
opacity: 1,
time: 775
}, 'linear', 'explode');
battle.showEffect('fist', {
x: defender.x,
y: defender.y - 10,
z: defender.z,
scale: 0.6,
opacity: 0.6,
time: 600
}, {
x: defender.x + 10,
y: defender.y - 15,
z: defender.z,
scale: 1,
opacity: 1,
time: 750
}, 'linear', 'explode');
battle.showEffect('fist', {
x: defender.x,
y: defender.y + 10,
z: defender.z,
scale: 0.6,
opacity: 0.6,
time: 650
}, {
x: defender.x - 10,
y: defender.y + 15,
z: defender.z,
scale: 1,
opacity: 1,
time: 800
}, 'linear', 'explode');
battle.showEffect('impact', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 0.4,
time: 525
}, {
scale: 3,
opacity: 0,
time: 825
}, 'linear');
battle.showEffect('impact', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 0.4,
time: 750
}, {
scale: 3,
opacity: 0,
time: 1050
}, 'linear');
}
},
doublekick: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
BattleOtherAnims.xattack.anim(battle, args);
battle.showEffect('foot', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 1,
opacity: 1,
time: 450
}, {
x: defender.leftof(20),
y: defender.y,
z: defender.behind(20),
scale: 2,
opacity: 0,
time: 750
}, 'linear');
battle.showEffect('foot', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 1,
opacity: 1,
time: 750
}, {
x: defender.leftof(-20),
y: defender.y,
z: defender.behind(20),
scale: 2,
opacity: 0,
time: 1050
}, 'linear');
},
multihit: true
},
endeavor: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
BattleOtherAnims.xattack.anim(battle, args);
battle.showEffect('shadowball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 2,
opacity: 0,
time: 450
}, {
x: defender.leftof(20),
y: defender.y,
z: defender.behind(20),
scale: 0,
opacity: 1,
time: 750
}, 'linear', 'fade');
battle.showEffect('shadowball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 2,
opacity: 0,
time: 750
}, {
x: defender.leftof(-20),
y: defender.y,
z: defender.behind(20),
scale: 0,
opacity: 1,
time: 1050
}, 'linear', 'fade');
}
},
playrough: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
attacker.anim({
x: defender.leftof(-30),
y: defender.y + 80,
z: defender.behind(-30),
time: 350
}, 'ballistic');
attacker.anim({
x: defender.leftof(30),
y: defender.y + 5,
z: defender.z,
time: 100
});
attacker.anim({
x: defender.leftof(30),
y: defender.y + 80,
z: defender.behind(-30),
time: 150
}, 'ballisticUp');
attacker.anim({
x: defender.leftof(-30),
y: defender.y + 5,
z: defender.z,
time: 100
});
attacker.anim({
time: 500
}, 'ballistic2Back');
defender.delay(450);
defender.anim({
z: defender.behind(20),
time: 100
}, 'swing');
defender.anim({
time: 200
}, 'swing');
defender.anim({
z: defender.behind(20),
time: 100
}, 'swing');
defender.anim({
time: 300
}, 'swing');
battle.activityWait(800);
battle.showEffect('fist', {
x: defender.x - 10,
y: defender.y,
z: defender.z,
scale: 1,
opacity: 1,
time: 425
}, {
x: defender.x - 15,
y: defender.y - 10,
z: defender.behind(15),
scale: 2,
opacity: 0,
time: 725
}, 'linear');
battle.showEffect('mudwisp', {
x: defender.x - 5,
y: defender.y - 5,
z: defender.z,
scale: 0.6,
opacity: 0.6,
time: 450
}, {
x: defender.x - 10,
y: defender.y - 10,
z: defender.z,
scale: 1,
opacity: 0.8,
time: 550
}, 'linear', 'explode');
battle.showEffect('mudwisp', {
x: defender.x + 10,
y: defender.y + 10,
z: defender.z,
scale: 0.6,
opacity: 0.6,
time: 575
}, {
x: defender.x + 20,
y: defender.y + 20,
z: defender.z,
scale: 1,
opacity: 0.8,
time: 675
}, 'linear', 'explode');
battle.showEffect('mudwisp', {
x: defender.x + 20,
y: defender.y - 30,
z: defender.z,
scale: 0.6,
opacity: 0.6,
time: 600
}, {
x: defender.x + 30,
y: defender.y - 25,
z: defender.z,
scale: 1,
opacity: 0.8,
time: 700
}, 'linear', 'explode');
battle.showEffect('foot', {
x: defender.x,
y: defender.y + 20,
z: defender.z,
scale: 1,
opacity: 1,
time: 750
}, {
x: defender.x,
y: defender.y + 10,
z: defender.behind(15),
scale: 2,
opacity: 0,
time: 1100
}, 'linear');
battle.showEffect('heart', {
x: defender.x - 10,
y: defender.y + 20,
z: defender.z,
scale: 0.6,
opacity: 0.6,
time: 450
}, {
x: defender.x - 20,
y: defender.y + 30,
z: defender.z,
scale: 1,
opacity: 1,
time: 550
}, 'linear', 'explode');
battle.showEffect('heart', {
x: defender.x - 30,
y: defender.y - 20,
z: defender.z,
scale: 0.6,
opacity: 0.6,
time: 675
}, {
x: defender.x - 35,
y: defender.y - 30,
z: defender.z,
scale: 1,
opacity: 1,
time: 775
}, 'linear', 'explode');
battle.showEffect('heart', {
x: defender.x,
y: defender.y + 10,
z: defender.z,
scale: 0.6,
opacity: 0.6,
time: 750
}, {
x: defender.x - 10,
y: defender.y + 15,
z: defender.z,
scale: 1,
opacity: 1,
time: 900
}, 'linear', 'explode');
battle.showEffect('mistball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0.5,
opacity: 1,
time: 450
}, {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 2,
opacity: 0.2,
time: 750
}, 'linear', 'fade');
battle.showEffect('mistball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0.5,
opacity: 1,
time: 750
}, {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 2,
opacity: 0.2,
time: 1050
}, 'linear', 'fade');
}
},
strength: {
anim: BattleOtherAnims.contactattack.anim
},
hammerarm: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('fist1', {
x: defender.x,
y: defender.y + 80,
z: defender.behind(-15),
scale: 1.2,
opacity: 0.8,
time: 400
}, {
y: defender.y - 10,
z: defender.z,
scale: 1.6,
opacity: 1,
time: 500
}, 'accel', 'explode');
battle.showEffect('shadowball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 0.5,
time: 450
}, {
scale: 2,
opacity: 0,
time: 700
}, 'linear');
battle.showEffect('wisp', {
x: defender.x,
y: defender.y - 30,
z: defender.z,
scale: 1,
time: 500
}, {
x: defender.x + 70,
scale: 0.8,
opacity: 0.3,
time: 800
}, 'linear', 'fade');
battle.showEffect('wisp', {
x: defender.x,
y: defender.y - 30,
z: defender.z,
scale: 1,
time: 500
}, {
x: defender.x - 70,
scale: 0.8,
opacity: 0.3,
time: 800
}, 'linear', 'fade');
attacker.anim({
x: defender.x,
y: defender.y + 80,
z: defender.behind(-30),
time: 400
}, 'ballistic');
attacker.anim({
x: defender.x,
y: defender.y + 5,
z: defender.behind(20),
time: 100
});
attacker.anim({
time: 600
}, 'ballistic2Back');
defender.delay(450);
defender.anim({
y: defender.y - 30,
z: defender.behind(20),
yscale: 0.5,
time: 200
}, 'swing');
defender.anim({
time: 300
}, 'swing');
}
},
icehammer: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.backgroundEffect('#FFFFFF', 600, 0.3, 400);
battle.showEffect('fist1', {
x: defender.x,
y: defender.y + 80,
z: defender.behind(-15),
scale: 1.2,
opacity: 0.8,
time: 400
}, {
y: defender.y - 10,
z: defender.z,
scale: 1.6,
opacity: 1,
time: 500
}, 'accel', 'explode');
battle.showEffect('iceball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 0.5,
time: 450
}, {
scale: 2,
opacity: 0,
time: 700
}, 'linear');
battle.showEffect('wisp', {
x: defender.x,
y: defender.y - 30,
z: defender.z,
scale: 1,
time: 500
}, {
x: defender.x + 70,
scale: 0.8,
opacity: 0.3,
time: 800
}, 'linear', 'fade');
battle.showEffect('wisp', {
x: defender.x,
y: defender.y - 30,
z: defender.z,
scale: 1,
time: 500
}, {
x: defender.x - 70,
scale: 0.8,
opacity: 0.3,
time: 800
}, 'linear', 'fade');
battle.showEffect('icicle', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
yscale: 1,
opacity: 1,
time: 450
}, {
x: defender.leftof(-20),
y: defender.y,
z: defender.behind(20),
scale: 3,
yscale: 4,
opacity: 0,
time: 750
}, 'linear');
battle.showEffect('icicle', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
yscale: 1,
opacity: 1,
time: 550
}, {
x: defender.leftof(-20),
y: defender.y,
z: defender.behind(20),
scale: 3,
yscale: 4,
opacity: 0,
time: 850
}, 'linear');
attacker.anim({
x: defender.x,
y: defender.y + 80,
z: defender.behind(-30),
time: 400
}, 'ballistic');
attacker.anim({
x: defender.x,
y: defender.y + 5,
z: defender.behind(20),
time: 100
});
attacker.anim({
time: 600
}, 'ballistic2Back');
defender.delay(450);
defender.anim({
y: defender.y - 30,
z: defender.behind(20),
yscale: 0.5,
time: 200
}, 'swing');
defender.anim({
time: 300
}, 'swing');
}
},
skyuppercut: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('wisp', {
x: defender.x,
y: defender.y + 10,
z: defender.z,
scale: 0,
opacity: 0.5,
time: 400
}, {
scale: 3,
opacity: 0,
time: 600
}, 'linear');
battle.showEffect('fist1', {
x: defender.leftof(-20),
y: defender.y + 10,
z: defender.behind(20),
scale: 1.2,
opacity: 0.8,
time: 400
}, {
y: defender.y + 80,
opacity: 1,
time: 500
}, 'decel', 'explode');
attacker.anim({
x: defender.x,
y: defender.y,
z: defender.behind(-5),
time: 350
}, 'ballistic2Under');
attacker.anim({
x: defender.x,
y: defender.y + 80,
z: defender.behind(5),
time: 300
}, 'decel');
attacker.anim({
x: defender.x,
y: defender.y,
z: defender.behind(-5),
time: 250
}, 'accel');
attacker.anim({
time: 500
}, 'ballistic2Back');
defender.delay(380);
defender.anim({
y: defender.y + 100,
z: defender.behind(5),
opacity: 0.5,
time: 300
}, 'decel');
defender.anim({
time: 250
}, 'accel');
defender.anim({
x: defender.x,
y: defender.y - 30,
yscale: 0.25,
time: 50
}, 'swing');
defender.anim({
time: 300
}, 'swing');
battle.activityWait(1150);
}
},
meteormash: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.backgroundEffect("url('fx/bg-space.jpg')", 1000, 0.4);
BattleOtherAnims.punchattack.anim(battle, args);
battle.showEffect(attacker.sp, {
x: attacker.leftof(20),
y: attacker.y,
z: attacker.behind(-25),
opacity: 0.3,
time: 25
}, {
x: defender.x,
z: defender.behind(-5),
opacity: 0,
time: 425
}, 'ballistic2Under');
battle.showEffect(attacker.sp, {
x: attacker.leftof(20),
y: attacker.y,
z: attacker.behind(-25),
opacity: 0.3,
time: 50
}, {
x: defender.x,
z: defender.behind(-5),
opacity: 0,
time: 450
}, 'ballistic2Under');
battle.showEffect('shadowball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 0.7,
time: 450
}, {
scale: 3,
opacity: 0,
time: 700
}, 'linear', 'fade');
battle.showEffect('wisp', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0.5,
opacity: 0.7,
time: 500
}, {
y: defender.y + 100,
scale: 1,
opacity: 0,
time: 800
}, 'linear', 'fade');
battle.showEffect('wisp', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0.5,
opacity: 0.7,
time: 500
}, {
x: defender.x - 60,
y: defender.y - 80,
scale: 1,
opacity: 0,
time: 800
}, 'linear', 'fade');
battle.showEffect('wisp', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0.5,
opacity: 0.7,
time: 500
}, {
x: defender.x + 60,
y: defender.y - 80,
scale: 1,
opacity: 0,
time: 800
}, 'linear', 'fade');
battle.showEffect('wisp', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0.5,
opacity: 0.7,
time: 500
}, {
x: defender.x - 90,
y: defender.y + 40,
scale: 1,
opacity: 0,
time: 800
}, 'linear', 'fade');
battle.showEffect('wisp', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0.5,
opacity: 0.7,
time: 500
}, {
x: defender.x + 90,
y: defender.y + 40,
scale: 1,
opacity: 0,
time: 800
}, 'linear', 'fade');
}
},
brickbreak: {
anim: BattleOtherAnims.punchattack.anim
},
shadowpunch: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.backgroundEffect('#000000', 700, 0.3);
battle.showEffect('wisp', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 1,
time: 400
}, {
x: defender.leftof(-20),
y: defender.y,
z: defender.behind(20),
scale: 3,
opacity: 0,
time: 700
}, 'linear');
battle.showEffect('wisp', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 1,
time: 500
}, {
x: defender.leftof(-20),
y: defender.y,
z: defender.behind(20),
scale: 3,
opacity: 0,
time: 800
}, 'linear');
battle.showEffect('fist', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 1,
opacity: 1,
time: 400
}, {
x: defender.leftof(-20),
y: defender.y,
z: defender.behind(20),
scale: 2,
opacity: 0,
time: 800
}, 'linear');
attacker.anim({
x: attacker.leftof(-20),
y: attacker.y,
z: attacker.behind(-20),
opacity: 0,
time: 200
}, 'linear');
attacker.anim({
x: defender.x,
y: defender.y,
z: defender.behind(-120),
opacity: 0,
time: 1
}, 'linear');
attacker.anim({
x: defender.x,
y: defender.y,
z: defender.behind(5),
opacity: 1,
time: 200
}, 'linear');
attacker.anim({
x: defender.x,
y: defender.y,
z: defender.behind(-25),
opacity: 0,
time: 300
}, 'linear');
attacker.anim({
opacity: 0,
time: 1
}, 'linear');
attacker.anim({
time: 300,
opacity: 1
}, 'linear');
defender.delay(400);
defender.anim({
z: defender.behind(20),
time: 100
}, 'swing');
defender.anim({
time: 300
}, 'swing');
battle.activityWait(350);
}
},
focuspunch: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.backgroundEffect('#000000', 700, 0.2);
battle.showEffect('impact', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 0.4,
time: 300
}, {
scale: 4,
opacity: 0,
time: 600
}, 'linear');
battle.showEffect('impact', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 0.4,
time: 500
}, {
scale: 4,
opacity: 0,
time: 800
}, 'linear');
battle.showEffect('fist', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 1,
opacity: 1,
time: 300
}, {
x: defender.leftof(-20),
y: defender.y,
z: defender.behind(20),
scale: 2,
opacity: 0,
time: 600
}, 'linear');
battle.showEffect(attacker.sp, {
x: attacker.x,
y: attacker.y,
z: attacker.z,
opacity: .3,
time: 50
}, {
x: defender.x,
y: defender.y,
z: defender.behind(-5),
time: 350
}, 'accel', 'fade');
battle.showEffect(attacker.sp, {
x: attacker.x,
y: attacker.y,
z: attacker.z,
opacity: .3,
time: 100
}, {
x: defender.x,
y: defender.y,
z: defender.behind(-5),
time: 400
}, 'accel', 'fade');
attacker.anim({
x: defender.x,
y: defender.y,
z: defender.behind(-5),
time: 300
}, 'accel');
attacker.anim({
time: 500
}, 'ballistic2Back');
defender.delay(280);
defender.anim({
z: defender.behind(20),
time: 100
}, 'swing');
defender.anim({
time: 300
}, 'swing');
}
},
drainpunch: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
BattleOtherAnims.punchattack.anim(battle, args);
battle.showEffect('electroball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0.6,
opacity: 1,
time: 600
}, {
x: attacker.x,
y: attacker.y,
z: attacker.z,
time: 900,
opacity: 0
}, 'ballistic2');
battle.showEffect('electroball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0.6,
opacity: 1,
time: 650
}, {
x: attacker.x,
y: attacker.y,
z: attacker.z,
time: 950,
opacity: 0
}, 'linear');
battle.showEffect('electroball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0.6,
opacity: 1,
time: 700
}, {
x: attacker.x,
y: attacker.y,
z: attacker.z,
time: 1000,
opacity: 0
}, 'ballistic2Under');
}
},
dynamicpunch: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.backgroundEffect('#000000', 700, 0.3);
BattleOtherAnims.punchattack.anim(battle, args);
battle.showEffect('fireball', {
x: defender.x + 40,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 0.6,
time: 350
}, {
scale: 4,
opacity: 0
}, 'linear');
battle.showEffect('fireball', {
x: defender.x - 40,
y: defender.y - 20,
z: defender.z,
scale: 0,
opacity: 0.6,
time: 500
}, {
scale: 4,
opacity: 0
}, 'linear');
battle.showEffect('fireball', {
x: defender.x + 10,
y: defender.y + 20,
z: defender.z,
scale: 0,
opacity: 0.6,
time: 650
}, {
scale: 4,
opacity: 0
}, 'linear');
}
},
cometpunch: {
anim: BattleOtherAnims.punchattack.anim,
multihit: true
},
megapunch: {
anim: BattleOtherAnims.punchattack.anim
},
poweruppunch: {
anim: BattleOtherAnims.punchattack.anim
},
dizzypunch: {
anim: BattleOtherAnims.punchattack.anim
},
needlearm: {
anim: BattleOtherAnims.punchattack.anim
},
rocksmash: {
anim: BattleOtherAnims.punchattack.anim
},
hornleech: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('wisp', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 1,
time: 400
}, {
x: defender.leftof(-20),
y: defender.y,
z: defender.behind(20),
scale: 3,
opacity: 0,
time: 700
}, 'linear');
battle.showEffect('wisp', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 1,
time: 500
}, {
x: defender.leftof(-20),
y: defender.y,
z: defender.behind(20),
scale: 3,
opacity: 0,
time: 800
}, 'linear');
battle.showEffect('energyball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0.6,
opacity: 1,
time: 600
}, {
x: attacker.x,
y: attacker.y,
z: attacker.z,
time: 900,
opacity: 0
}, 'ballistic2');
battle.showEffect('energyball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0.6,
opacity: 1,
time: 650
}, {
x: attacker.x,
y: attacker.y,
z: attacker.z,
time: 950,
opacity: 0
}, 'linear');
battle.showEffect('energyball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0.6,
opacity: 1,
time: 700
}, {
x: attacker.x,
y: attacker.y,
z: attacker.z,
time: 1000,
opacity: 0
}, 'ballistic2Under');
attacker.anim({
x: defender.leftof(20),
y: defender.y,
z: defender.behind(-20),
time: 400
}, 'ballistic2Under');
attacker.anim({
x: defender.x,
y: defender.y,
z: defender.z,
time: 50
});
attacker.anim({
time: 500
}, 'ballistic2');
defender.delay(425);
defender.anim({
x: defender.leftof(-15),
y: defender.y,
z: defender.behind(15),
time: 50
}, 'swing');
defender.anim({
time: 300
}, 'swing');
}
},
absorb: {
anim: BattleOtherAnims.drain.anim
},
megadrain: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.backgroundEffect('#9AB440', 900, 0.2);
BattleOtherAnims.drain.anim(battle, args);
}
},
gigadrain: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.backgroundEffect('#9AB440', 900, 0.5);
BattleOtherAnims.drain.anim(battle, args);
}
},
leechlife: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.backgroundEffect('#987058', 800, 0.3, 400);
battle.showEffect('wisp', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 1,
time: 400
}, {
x: defender.leftof(-20),
y: defender.y,
z: defender.behind(50),
scale: 3,
opacity: 0,
time: 700
}, 'linear');
battle.showEffect('electroball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0.6,
opacity: 1,
time: 600
}, {
x: attacker.x,
y: attacker.y,
z: attacker.z,
time: 900,
opacity: 0
}, 'ballistic2');
battle.showEffect('electroball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0.6,
opacity: 1,
time: 650
}, {
x: attacker.x,
y: attacker.y,
z: attacker.z,
time: 950,
opacity: 0
}, 'linear');
battle.showEffect('electroball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0.6,
opacity: 1,
time: 700
}, {
x: attacker.x,
y: attacker.y,
z: attacker.z,
time: 1000,
opacity: 0
}, 'ballistic2Under');
attacker.anim({
x: defender.leftof(20),
y: defender.y,
z: defender.behind(-20),
time: 400
}, 'ballistic2Under');
attacker.anim({
x: defender.x,
y: defender.y,
z: defender.z,
time: 50
});
attacker.anim({
time: 500
}, 'ballistic2');
defender.delay(425);
defender.anim({
x: defender.leftof(-20),
y: defender.y,
z: defender.behind(20),
time: 50
}, 'swing');
defender.anim({
time: 300
}, 'swing');
}
},
extremespeed: {
anim: BattleOtherAnims.fastattack.anim
},
quickattack: {
anim: BattleOtherAnims.fastattack.anim
},
suckerpunch: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
BattleOtherAnims.fastattack.anim(battle, args);
battle.showEffect('impact', {
x: defender.x,
y: defender.y,
z: defender.behind(5),
scale: 0,
opacity: 0.3,
time: 260
}, {
scale: 1.25,
opacity: 0,
time: 500
}, 'linear');
}
},
astonish: {
anim: BattleOtherAnims.fastattack.anim
},
rollout: {
anim: BattleOtherAnims.fastattack.anim
},
accelerock: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
BattleOtherAnims.fastattack.anim(battle, args);
battle.showEffect('rock3', {
x: defender.x + 30,
y: defender.y + 25,
z: defender.z,
scale: 0.3,
opacity: 1,
time: 260
}, {
x: defender.x + 50,
y: defender.y + 10,
opacity: 0,
time: 500
}, 'accel');
battle.showEffect('rock3', {
x: defender.x - 30,
y: defender.y - 20,
z: defender.z,
scale: 0.3,
opacity: 1,
time: 260
}, {
x: defender.x - 50,
y: defender.y - 20,
opacity: 0,
time: 500
}, 'accel');
battle.showEffect('rock3', {
x: defender.x + 15,
y: defender.y + 10,
z: defender.z,
scale: 0.3,
opacity: 1,
time: 360
}, {
x: defender.x + 35,
y: defender.y + 30,
opacity: 0,
time: 600
}, 'accel');
battle.showEffect('rock3', {
x: defender.x - 15,
y: defender.y - 30,
z: defender.z,
scale: 0.3,
opacity: 1,
time: 360
}, {
x: defender.x - 35,
y: defender.y - 40,
opacity: 0,
time: 600
}, 'accel');
battle.showEffect('impact', {
x: defender.x,
y: defender.y,
z: defender.behind(5),
scale: 1,
opacity: 0.3,
time: 260
}, {
scale: 1.25,
opacity: 0,
time: 500
}, 'linear');
}
},
bulletpunch: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
BattleOtherAnims.fastattack.anim(battle, args);
battle.showEffect('fist', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 1,
opacity: 1,
time: 260
}, {
z: defender.behind(20),
scale: 2,
opacity: 0,
time: 500
}, 'linear');
battle.showEffect('impact', {
x: defender.x,
y: defender.y,
z: defender.behind(5),
scale: 1,
opacity: 0.3,
time: 260
}, {
scale: 1.25,
opacity: 0,
time: 500
}, 'linear');
}
},
machpunch: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
BattleOtherAnims.fastattack.anim(battle, args);
battle.showEffect('fist', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 1,
opacity: 1,
time: 260
}, {
x: defender.x,
y: defender.y,
z: defender.behind(20),
scale: 2,
opacity: 0,
time: 500
}, 'linear');
}
},
vacuumwave: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('fist', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.1,
opacity: 1
}, {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 1,
time: 200
}, 'accel', 'fade');
}
},
assist: {
anim: function () {}
},
mirrormove: {
anim: function () {}
},
naturepower: {
anim: function () {}
},
copycat: {
anim: function () {}
},
sleeptalk: {
anim: function () {}
},
megahorn: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.backgroundEffect('#987058', 400, .3);
battle.showEffect('wisp', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 0.5,
time: 300
}, {
scale: 3,
opacity: 0,
time: 600
}, 'linear');
battle.showEffect('wisp', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 0.5,
time: 500
}, {
scale: 3,
opacity: 0,
time: 800
}, 'linear');
attacker.anim({
x: defender.x,
y: defender.y,
z: defender.behind(-5),
time: 300
}, 'accel');
attacker.anim({
time: 500
}, 'ballistic2Back');
defender.delay(280);
defender.anim({
z: defender.behind(20),
time: 100
}, 'swing');
defender.anim({
time: 300
}, 'swing');
}
},
firepunch: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('fireball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 1,
time: 400
}, {
x: defender.leftof(-20),
y: defender.y,
z: defender.behind(20),
scale: 3,
opacity: 0,
time: 700
}, 'linear');
battle.showEffect('fireball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 1,
time: 500
}, {
x: defender.leftof(-20),
y: defender.y,
z: defender.behind(20),
scale: 3,
opacity: 0,
time: 800
}, 'linear');
battle.showEffect('fist', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 1,
opacity: 1,
time: 400
}, {
x: defender.leftof(-20),
y: defender.y,
z: defender.behind(20),
scale: 2,
opacity: 0,
time: 800
}, 'linear');
attacker.anim({
x: defender.leftof(20),
y: defender.y,
z: defender.behind(-20),
time: 400
}, 'ballistic2Under');
attacker.anim({
x: defender.x,
y: defender.y,
z: defender.z,
time: 50
});
attacker.anim({
time: 500
}, 'ballistic2');
defender.delay(425);
defender.anim({
x: defender.leftof(-20),
y: defender.y,
z: defender.behind(20),
time: 50
}, 'swing');
defender.anim({
time: 300
}, 'swing');
}
},
icepunch: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('icicle', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 1,
time: 400
}, {
x: defender.leftof(-20),
y: defender.y,
z: defender.behind(20),
scale: 3,
opacity: 0,
time: 700
}, 'linear');
battle.showEffect('icicle', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 1,
time: 500
}, {
x: defender.leftof(-20),
y: defender.y,
z: defender.behind(20),
scale: 3,
opacity: 0,
time: 800
}, 'linear');
battle.showEffect('fist', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 1,
opacity: 1,
time: 400
}, {
x: defender.leftof(-20),
y: defender.y,
z: defender.behind(20),
scale: 2,
opacity: 0,
time: 800
}, 'linear');
attacker.anim({
x: defender.leftof(20),
y: defender.y,
z: defender.behind(-20),
time: 400
}, 'ballistic2Under');
attacker.anim({
x: defender.x,
y: defender.y,
z: defender.z,
time: 50
});
attacker.anim({
time: 500
}, 'ballistic2');
defender.delay(425);
defender.anim({
x: defender.leftof(-20),
y: defender.y,
z: defender.behind(20),
time: 50
}, 'swing');
defender.anim({
time: 300
}, 'swing');
}
},
thunderpunch: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('electroball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 1,
time: 400
}, {
x: defender.leftof(-20),
y: defender.y,
z: defender.behind(20),
scale: 3,
opacity: 0,
time: 700
}, 'linear');
battle.showEffect('lightning', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 1,
time: 500
}, {
x: defender.leftof(-20),
y: defender.y,
z: defender.behind(20),
scale: 3,
opacity: 0,
time: 800
}, 'linear');
battle.showEffect('fist', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 1,
opacity: 1,
time: 400
}, {
x: defender.leftof(-20),
y: defender.y,
z: defender.behind(20),
scale: 2,
opacity: 0,
time: 800
}, 'linear');
attacker.anim({
x: defender.leftof(20),
y: defender.y,
z: defender.behind(-20),
time: 400
}, 'ballistic2Under');
attacker.anim({
x: defender.x,
y: defender.y,
z: defender.z,
time: 50
});
attacker.anim({
time: 500
}, 'ballistic2');
defender.delay(425);
defender.anim({
x: defender.leftof(-20),
y: defender.y,
z: defender.behind(20),
time: 50
}, 'swing');
defender.anim({
time: 300
}, 'swing');
}
},
poisonfang: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('poisonwisp', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 1,
time: 450
}, {
x: defender.x,
y: defender.y - 40,
z: defender.behind(15),
scale: 3,
opacity: 0,
time: 800
}, 'linear');
battle.showEffect('poisonwisp', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 1,
time: 550
}, {
x: defender.x,
y: defender.y - 40,
z: defender.behind(15),
scale: 3,
opacity: 0,
time: 900
}, 'linear');
BattleOtherAnims.contactattack.anim(battle, args);
BattleOtherAnims.bite.anim(battle, args);
}
},
psychicfangs: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.backgroundEffect('#AA44BB', 450, 0.6, 450);
BattleOtherAnims.bite.anim(battle, args);
attacker.anim({
x: defender.x,
y: defender.y + 80,
z: defender.behind(-30),
time: 400
}, 'ballistic');
attacker.anim({
x: defender.x,
y: defender.y + 5,
z: defender.z,
time: 100
});
attacker.anim({
time: 500
}, 'ballistic2Back');
defender.delay(450);
defender.anim({
z: defender.behind(20),
scale: 1.2,
time: 100
}, 'swing');
defender.anim({
scale: 1,
time: 300
});
battle.activityWait(700);
}
},
icefang: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('icicle', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 1,
time: 450
}, {
x: defender.x,
y: defender.y - 40,
z: defender.behind(15),
scale: 3,
opacity: 0,
time: 800
}, 'linear');
battle.showEffect('icicle', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 1,
time: 550
}, {
x: defender.x,
y: defender.y - 40,
z: defender.behind(15),
scale: 3,
opacity: 0,
time: 900
}, 'linear');
BattleOtherAnims.contactattack.anim(battle, args);
BattleOtherAnims.bite.anim(battle, args);
}
},
firefang: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('fireball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 1,
time: 450
}, {
x: defender.x,
y: defender.y - 40,
z: defender.behind(15),
scale: 3,
opacity: 0,
time: 800
}, 'linear');
battle.showEffect('fireball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 1,
time: 550
}, {
x: defender.x,
y: defender.y - 40,
z: defender.behind(15),
scale: 3,
opacity: 0,
time: 900
}, 'linear');
BattleOtherAnims.contactattack.anim(battle, args);
BattleOtherAnims.bite.anim(battle, args);
}
},
thunderfang: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('electroball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 1,
time: 450
}, {
x: defender.x,
y: defender.y - 40,
z: defender.behind(15),
scale: 3,
opacity: 0,
time: 800
}, 'linear');
battle.showEffect('lightning', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 1,
time: 550
}, {
x: defender.x,
y: defender.y - 40,
z: defender.behind(15),
scale: 3,
opacity: 0,
time: 900
}, 'linear');
BattleOtherAnims.contactattack.anim(battle, args);
BattleOtherAnims.bite.anim(battle, args);
}
},
wildcharge: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('electroball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 0.7,
time: 300
}, {
scale: 4,
opacity: 0,
time: 600
}, 'linear');
battle.showEffect('electroball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 0.7,
time: 500
}, {
scale: 4,
opacity: 0,
time: 800
}, 'linear');
battle.showEffect('lightning', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 1,
time: 400
}, {
x: defender.x,
y: defender.y - 40,
z: defender.behind(15),
scale: 3,
opacity: 0,
time: 750
}, 'linear');
battle.showEffect(attacker.sp, {
x: attacker.x,
y: attacker.y,
z: attacker.z,
opacity: .3,
time: 50
}, {
x: defender.x,
y: defender.y,
z: defender.behind(-5),
opacity: 0,
time: 350
}, 'accel', 'fade');
battle.showEffect(attacker.sp, {
x: attacker.x,
y: attacker.y,
z: attacker.z,
opacity: .3,
time: 100
}, {
x: defender.x,
y: defender.y,
z: defender.behind(-5),
opacity: 0,
time: 400
}, 'accel', 'fade');
attacker.anim({
x: defender.x,
y: defender.y,
z: defender.behind(-5),
time: 300
}, 'accel');
attacker.anim({
time: 500
}, 'ballistic2Back');
defender.delay(280);
defender.anim({
z: defender.behind(20),
time: 100
}, 'swing');
defender.anim({
time: 300
}, 'swing');
}
},
spark: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('electroball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 1,
time: 450
}, {
x: defender.x,
y: defender.y - 40,
z: defender.behind(15),
scale: 3,
opacity: 0,
time: 800
}, 'linear');
BattleOtherAnims.contactattack.anim(battle, args);
}
},
zapcannon: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.backgroundEffect('#2630A9', 700, 0.6);
battle.showEffect('electroball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: .4,
opacity: 0.6
}, {
x: defender.x + 30,
y: defender.y + 30,
z: defender.z,
scale: .6,
opacity: 0.3,
time: 200
}, 'linear', 'explode');
battle.showEffect('electroball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: .4,
opacity: 0.6,
time: 75
}, {
x: defender.x + 20,
y: defender.y - 30,
z: defender.z,
scale: .6,
opacity: 0.3,
time: 275
}, 'linear', 'explode');
battle.showEffect('electroball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: .4,
opacity: 0.6,
time: 150
}, {
x: defender.x - 30,
y: defender.y,
z: defender.z,
scale: .6,
opacity: 0.3,
time: 350
}, 'linear', 'explode');
battle.showEffect('electroball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: .4,
opacity: 0.6,
time: 225
}, {
x: defender.x - 10,
y: defender.y + 10,
z: defender.z,
scale: .6,
opacity: 0.3,
time: 425
}, 'linear', 'explode');
battle.showEffect('electroball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: .4,
opacity: 0.6,
time: 300
}, {
x: defender.x + 10,
y: defender.y - 10,
z: defender.z,
scale: .6,
opacity: 0.3,
time: 500
}, 'linear', 'explode');
battle.showEffect('electroball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: .4,
opacity: 0.6,
time: 375
}, {
x: defender.x - 20,
y: defender.y,
z: defender.z,
scale: .6,
opacity: 0.3,
time: 575
}, 'linear', 'explode');
battle.showEffect('shadowball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 0.5,
time: 550
}, {
scale: 4,
opacity: 0,
time: 750
}, 'linear');
battle.showEffect('shadowball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 0.5,
time: 600
}, {
scale: 4,
opacity: 0,
time: 800
}, 'linear');
battle.showEffect('lightning', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 0.5,
time: 550
}, {
scale: 4,
opacity: 0,
time: 750
}, 'linear');
battle.showEffect('lightning', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 0.5,
time: 600
}, {
scale: 4,
opacity: 0,
time: 800
}, 'linear');
defender.delay(125);
defender.anim({
z: defender.behind(5),
time: 75
}, 'swing');
defender.anim({
time: 75
}, 'swing');
defender.anim({
z: defender.behind(5),
time: 75
}, 'swing');
defender.anim({
time: 75
}, 'swing');
defender.anim({
z: defender.behind(5),
time: 75
}, 'swing');
defender.anim({
time: 75
}, 'swing');
defender.anim({
z: defender.behind(5),
time: 75
}, 'swing');
defender.anim({
time: 150
}, 'swing');
}
},
hyperbeam: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.backgroundEffect('#000000', 700, 0.2);
battle.showEffect('electroball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: .4,
opacity: 0.6
}, {
x: defender.x + 30,
y: defender.y + 30,
z: defender.z,
scale: .6,
opacity: 0.3,
time: 200
}, 'linear', 'explode');
battle.showEffect('electroball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: .4,
opacity: 0.6,
time: 75
}, {
x: defender.x + 20,
y: defender.y - 30,
z: defender.z,
scale: .6,
opacity: 0.3,
time: 275
}, 'linear', 'explode');
battle.showEffect('electroball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: .4,
opacity: 0.6,
time: 150
}, {
x: defender.x - 30,
y: defender.y,
z: defender.z,
scale: .6,
opacity: 0.3,
time: 350
}, 'linear', 'explode');
battle.showEffect('electroball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: .4,
opacity: 0.6,
time: 225
}, {
x: defender.x - 10,
y: defender.y + 10,
z: defender.z,
scale: .6,
opacity: 0.3,
time: 425
}, 'linear', 'explode');
battle.showEffect('electroball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: .4,
opacity: 0.6,
time: 300
}, {
x: defender.x + 10,
y: defender.y - 10,
z: defender.z,
scale: .6,
opacity: 0.3,
time: 500
}, 'linear', 'explode');
battle.showEffect('electroball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: .4,
opacity: 0.6,
time: 375
}, {
x: defender.x - 20,
y: defender.y,
z: defender.z,
scale: .6,
opacity: 0.3,
time: 575
}, 'linear', 'explode');
battle.showEffect('shadowball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 0.5,
time: 550
}, {
scale: 4,
opacity: 0,
time: 750
}, 'linear');
battle.showEffect('shadowball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 0.5,
time: 600
}, {
scale: 4,
opacity: 0,
time: 800
}, 'linear');
defender.delay(125);
defender.anim({
z: defender.behind(5),
time: 75
}, 'swing');
defender.anim({
time: 75
}, 'swing');
defender.anim({
z: defender.behind(5),
time: 75
}, 'swing');
defender.anim({
time: 75
}, 'swing');
defender.anim({
z: defender.behind(5),
time: 75
}, 'swing');
defender.anim({
time: 75
}, 'swing');
defender.anim({
z: defender.behind(5),
time: 75
}, 'swing');
defender.anim({
time: 150
}, 'swing');
}
},
gigaimpact: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.backgroundEffect('#000000', 700, 0.2);
battle.showEffect('impact', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 0.4,
time: 300
}, {
scale: 4,
opacity: 0,
time: 600
}, 'linear');
battle.showEffect('impact', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 0.4,
time: 500
}, {
scale: 4,
opacity: 0,
time: 800
}, 'linear');
battle.showEffect(attacker.sp, {
x: attacker.x,
y: attacker.y,
z: attacker.z,
opacity: .3,
time: 50
}, {
x: defender.x,
y: defender.y,
z: defender.behind(-5),
time: 350
}, 'accel', 'fade');
battle.showEffect(attacker.sp, {
x: attacker.x,
y: attacker.y,
z: attacker.z,
opacity: .3,
time: 100
}, {
x: defender.x,
y: defender.y,
z: defender.behind(-5),
time: 400
}, 'accel', 'fade');
attacker.anim({
x: defender.x,
y: defender.y,
z: defender.behind(-5),
time: 300
}, 'accel');
attacker.anim({
time: 500
}, 'ballistic2Back');
defender.delay(280);
defender.anim({
z: defender.behind(20),
time: 100
}, 'swing');
defender.anim({
time: 300
}, 'swing');
}
},
shelltrap: {
anim: function (battle, args) {
var attacker = args[0];
var defender;
for (var i = 1; i < args.length; i++) {
defender = args[i];
defender.delay(280);
defender.anim({
z: defender.behind(20),
time: 100
}, 'swing');
defender.anim({
time: 300
}, 'swing');
}
if (args.length > 2) defender = args[2];
var xf = [1, -1, 1, -1];
var yf = [1, -1, -1, 1];
var xf2 = [1, 0, -1, 0];
var yf2 = [0, 1, 0, -1];
battle.backgroundEffect('#000000', 600, 0.3);
for (var i = 0; i < 4; i++) {
battle.showEffect('flareball', {
x: attacker.x,
y: attacker.y,
z: attacker.behind(-5),
scale: 0.5,
opacity: 1
}, {
x: defender.x + 240 * xf[i],
y: defender.y,
z: defender.z + 137 * yf[i],
opacity: 0,
time: 600
}, 'decel');
battle.showEffect('flareball', {
x: attacker.x,
y: attacker.y,
z: attacker.behind(-5),
scale: 0.5,
opacity: 1
}, {
x: defender.x + 339 * xf2[i],
y: defender.y + 10,
z: defender.z + 194 * yf2[i],
scale: 1,
opacity: 0,
time: 600
}, 'decel');
}
battle.showEffect('fireball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 1,
opacity: 0.7
}, {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 1.5,
opacity: 0.6,
time: 300
}, 'linear', 'explode');
},
prepareAnim: BattleOtherAnims.chargestatus.anim,
prepareMessage: function (pokemon) {
return pokemon.getName() + ' set a shell trap!';
}
},
flamecharge: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('fireball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0,
opacity: 1,
time: 0
}, {
x: attacker.x - 25,
y: attacker.y - 25,
scale: 2,
opacity: 0,
time: 300
}, 'ballistic');
battle.showEffect('fireball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0,
opacity: 1,
time: 150
}, {
x: attacker.x + 30,
y: attacker.y - 20,
scale: 2,
opacity: 0,
time: 450
}, 'ballistic');
battle.showEffect('fireball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0,
opacity: 1,
time: 250
}, {
x: attacker.x + 5,
y: attacker.y - 40,
scale: 2,
opacity: 0,
time: 550
}, 'ballistic');
battle.showEffect('fireball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0,
opacity: 1,
time: 300
}, {
x: attacker.x - 20,
y: attacker.y - 20,
scale: 2,
opacity: 0,
time: 600
}, 'ballistic');
battle.showEffect('fireball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 1,
time: 600
}, {
scale: 5,
opacity: 0,
time: 900
}, 'linear');
battle.showEffect('fireball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 1,
time: 700
}, {
scale: 8,
opacity: 0,
time: 1000
}, 'linear');
attacker.delay(300);
attacker.anim({
x: defender.x,
y: defender.y,
z: defender.behind(-5),
time: 300
}, 'accel');
attacker.anim({
time: 500
}, 'ballistic2Back');
defender.delay(580);
defender.anim({
z: defender.behind(20),
time: 100
}, 'swing');
defender.anim({
time: 300
}, 'swing');
}
},
flareblitz: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.backgroundEffect('linear-gradient(#390000 30%, #B84038)', 600, 0.6);
battle.showEffect('fireball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 1,
time: 300
}, {
scale: 8,
opacity: 0,
time: 600
}, 'linear');
battle.showEffect('fireball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 1,
time: 500
}, {
scale: 8,
opacity: 0,
time: 800
}, 'linear');
attacker.anim({
x: defender.x,
y: defender.y,
z: defender.behind(-5),
time: 300
}, 'accel');
attacker.anim({
time: 500
}, 'ballistic2Back');
defender.delay(280);
defender.anim({
z: defender.behind(20),
time: 100
}, 'swing');
defender.anim({
time: 300
}, 'swing');
}
},
burnup: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.backgroundEffect('linear-gradient(#390000 30%, #B84038)', 800, 0.6);
battle.showEffect('fireball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 1,
time: 300
}, {
scale: 8,
opacity: 0,
time: 600
}, 'linear');
battle.showEffect('fireball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 1,
time: 500
}, {
scale: 8,
opacity: 0,
time: 800
}, 'linear');
battle.showEffect('flareball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 0.4,
time: 300
}, {
scale: 4,
opacity: 0,
time: 600
}, 'linear');
battle.showEffect('flareball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 0.4,
time: 500
}, {
scale: 4,
opacity: 0,
time: 800
}, 'linear');
battle.showEffect('flareball', {
x: attacker.x,
y: attacker.y,
z: attacker.behind(-5),
scale: 1.5,
opacity: 0,
time: 0
}, {
x: defender.x,
y: defender.y,
z: defender.z,
opacity: 0.8,
time: 300
}, 'accel', 'explode');
battle.showEffect(attacker.sp, {
x: attacker.x,
y: attacker.y,
z: attacker.z,
opacity: 0.3,
time: 50
}, {
x: defender.x,
y: defender.y,
z: defender.behind(-5),
time: 350
}, 'accel', 'fade');
battle.showEffect(attacker.sp, {
x: attacker.x,
y: attacker.y,
z: attacker.z,
opacity: 0.3,
time: 100
}, {
x: defender.x,
y: defender.y,
z: defender.behind(-5),
time: 400
}, 'accel', 'fade');
battle.showEffect('wisp', {
x: attacker.x + 30,
y: attacker.y,
z: attacker.z,
scale: 1,
opacity: 1,
time: 900
}, {
y: attacker.y + 60,
opacity: 0,
time: 1300
}, 'linear');
battle.showEffect('wisp', {
x: attacker.x - 30,
y: attacker.y,
z: attacker.z,
scale: 1,
opacity: 1,
time: 1000
}, {
y: defender.y + 60,
opacity: 0,
time: 1400
}, 'linear');
battle.showEffect('wisp', {
x: attacker.x + 15,
y: attacker.y,
z: attacker.z,
scale: 1,
opacity: 1,
time: 1100
}, {
y: attacker.y + 60,
opacity: 0,
time: 1500
}, 'linear');
battle.showEffect('wisp', {
x: attacker.x - 15,
y: attacker.y,
z: attacker.z,
scale: 1,
opacity: 1,
time: 1200
}, {
y: attacker.y + 60,
opacity: 0,
time: 1600
}, 'linear');
attacker.anim({
x: defender.x,
y: defender.y,
z: defender.behind(-5),
time: 300
}, 'accel');
attacker.anim({
time: 500
}, 'ballistic2Back');
defender.delay(280);
defender.anim({
z: defender.behind(15),
time: 200
}, 'decel');
defender.anim({
time: 300
}, 'decel');
}
},
beakblast: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.backgroundEffect('#000000', 1200, 0.6);
battle.showEffect('fireball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0,
opacity: 1,
time: 0
}, {
x: attacker.x - 25,
y: attacker.y - 25,
scale: 2,
opacity: 0,
time: 300
}, 'ballistic');
battle.showEffect('fireball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0,
opacity: 1,
time: 150
}, {
x: attacker.x + 30,
y: attacker.y - 20,
scale: 2,
opacity: 0,
time: 450
}, 'ballistic');
battle.showEffect('fireball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0,
opacity: 1,
time: 250
}, {
x: attacker.x + 5,
y: attacker.y - 40,
scale: 2,
opacity: 0,
time: 550
}, 'ballistic');
battle.showEffect('fireball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0,
opacity: 1,
time: 300
}, {
x: attacker.x - 20,
y: attacker.y - 20,
scale: 2,
opacity: 0,
time: 600
}, 'ballistic');
battle.showEffect('flareball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 1,
time: 600
}, {
scale: 2,
opacity: 0,
time: 900
}, 'linear');
battle.showEffect('flareball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 1,
time: 700
}, {
scale: 5,
opacity: 0,
time: 1000
}, 'linear');
attacker.delay(300);
attacker.anim({
x: defender.x,
y: defender.y,
z: defender.behind(-5),
time: 300
}, 'accel');
attacker.anim({
time: 500
}, 'ballistic2Back');
defender.delay(580);
defender.anim({
z: defender.behind(20),
time: 100
}, 'swing');
defender.anim({
time: 300
}, 'swing');
}
},
vcreate: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.backgroundEffect('#000000', 700, 0.3);
battle.showEffect('fireball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 1,
time: 300
}, {
scale: 6,
opacity: 0,
time: 600
}, 'linear');
battle.showEffect('fireball', {
x: defender.x - 30,
y: defender.y + 30,
z: defender.z,
scale: 0,
opacity: 1,
time: 350
}, {
scale: 6,
opacity: 0,
time: 650
}, 'linear');
battle.showEffect('fireball', {
x: defender.x + 30,
y: defender.y + 30,
z: defender.z,
scale: 0,
opacity: 1,
time: 350
}, {
scale: 6,
opacity: 0,
time: 650
}, 'linear');
battle.showEffect('fireball', {
x: defender.x - 70,
y: defender.y + 70,
z: defender.z,
scale: 0,
opacity: 1,
time: 400
}, {
scale: 6,
opacity: 0,
time: 700
}, 'linear');
battle.showEffect('fireball', {
x: defender.x + 70,
y: defender.y + 70,
z: defender.z,
scale: 0,
opacity: 1,
time: 400
}, {
scale: 6,
opacity: 0,
time: 700
}, 'linear');
battle.showEffect('fireball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 1,
time: 500
}, {
scale: 6,
opacity: 0,
time: 800
}, 'linear');
battle.showEffect('fireball', {
x: defender.x - 30,
y: defender.y + 30,
z: defender.z,
scale: 0,
opacity: 1,
time: 550
}, {
scale: 6,
opacity: 0,
time: 850
}, 'linear');
battle.showEffect('fireball', {
x: defender.x + 30,
y: defender.y + 30,
z: defender.z,
scale: 0,
opacity: 1,
time: 550
}, {
scale: 6,
opacity: 0,
time: 850
}, 'linear');
battle.showEffect('fireball', {
x: defender.x - 70,
y: defender.y + 70,
z: defender.z,
scale: 0,
opacity: 1,
time: 600
}, {
scale: 6,
opacity: 0,
time: 900
}, 'linear');
battle.showEffect('fireball', {
x: defender.x + 70,
y: defender.y + 70,
z: defender.z,
scale: 0,
opacity: 1,
time: 600
}, {
scale: 6,
opacity: 0,
time: 900
}, 'linear');
battle.showEffect('flareball', {
x: attacker.x,
y: attacker.y,
z: attacker.behind(-5),
scale: 1.5,
opacity: 0,
time: 0
}, {
x: defender.x,
y: defender.y,
z: defender.z,
opacity: 0.8,
time: 300
}, 'accel', 'explode');
battle.showEffect(attacker.sp, {
x: attacker.x,
y: attacker.y,
z: attacker.z,
opacity: 0.3,
time: 50
}, {
x: defender.x,
y: defender.y,
z: defender.behind(-5),
time: 350
}, 'accel', 'fade');
battle.showEffect(attacker.sp, {
x: attacker.x,
y: attacker.y,
z: attacker.z,
opacity: 0.3,
time: 100
}, {
x: defender.x,
y: defender.y,
z: defender.behind(-5),
time: 400
}, 'accel', 'fade');
attacker.anim({
x: defender.x,
y: defender.y,
z: defender.behind(-5),
time: 300
}, 'accel');
attacker.anim({
time: 500
}, 'ballistic2Back');
defender.delay(280);
defender.anim({
z: defender.behind(15),
time: 200
}, 'decel');
defender.anim({
time: 300
}, 'swing');
}
},
outrage: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.backgroundEffect('linear-gradient(#390000 30%, #B84038)', 600, 0.6, 400);
battle.showEffect('angry', {
x: attacker.x - 10,
y: attacker.y + 50,
z: attacker.z,
scale: 0.5,
opacity: 1,
time: 0
}, {
scale: 3,
opacity: 0,
time: 300
}, 'ballistic2Under', 'fade');
battle.showEffect('poisonwisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0,
opacity: 1,
time: 0
}, {
x: attacker.x - 50,
y: attacker.y - 50,
scale: 2,
opacity: 0,
time: 300
}, 'ballistic');
battle.showEffect('poisonwisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0,
opacity: 1,
time: 150
}, {
x: attacker.x + 60,
y: attacker.y - 50,
scale: 2,
opacity: 0,
time: 450
}, 'ballistic');
battle.showEffect('poisonwisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0,
opacity: 1,
time: 300
}, {
x: attacker.x + 10,
y: attacker.y - 60,
scale: 2,
opacity: 0,
time: 600
}, 'ballistic');
battle.showEffect('flareball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 0.5,
time: 600
}, {
scale: 4,
opacity: 0,
time: 900
}, 'linear');
battle.showEffect('flareball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 0.5,
time: 800
}, {
scale: 4,
opacity: 0,
time: 1100
}, 'linear');
attacker.delay(300);
attacker.anim({
x: defender.leftof(20),
y: defender.y,
z: defender.behind(-5),
time: 300
}, 'accel');
attacker.anim({
time: 500
}, 'ballistic2Back');
defender.delay(580);
defender.anim({
z: defender.behind(20),
time: 200
}, 'decel');
defender.anim({
time: 300
}, 'swing');
}
},
boltstrike: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.backgroundEffect('#00CCCC', 900, 0.3);
battle.showEffect('waterwisp', {
x: attacker.x,
y: attacker.y,
z: attacker.behind(-5),
opacity: 1
}, {
x: defender.x,
y: defender.y,
z: defender.z,
time: 300
}, 'accel', 'fade');
battle.showEffect('iceball', {
x: attacker.x,
y: attacker.y,
z: attacker.behind(-5),
opacity: 1
}, {
x: defender.x,
y: defender.y,
z: defender.z,
time: 300
}, 'accel', 'fade');
battle.showEffect('iceball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 0.7,
time: 300
}, {
scale: 4,
opacity: 0,
time: 600
}, 'linear');
battle.showEffect('iceball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 0.7,
time: 500
}, {
scale: 4,
opacity: 0,
time: 800
}, 'linear');
battle.showEffect(attacker.sp, {
x: attacker.x,
y: attacker.y,
z: attacker.z,
opacity: .3,
time: 50
}, {
x: defender.x,
y: defender.y,
z: defender.behind(-5),
opacity: 0,
time: 350
}, 'accel', 'fade');
battle.showEffect(attacker.sp, {
x: attacker.x,
y: attacker.y,
z: attacker.z,
opacity: .3,
time: 100
}, {
x: defender.x,
y: defender.y,
z: defender.behind(-5),
opacity: 0,
time: 400
}, 'accel', 'fade');
attacker.anim({
x: defender.x,
y: defender.y,
z: defender.behind(-5),
opacity: 0,
time: 300
}, 'accel');
attacker.anim({
opacity: 1,
time: 500
}, 'ballistic2Back');
defender.delay(280);
defender.anim({
z: defender.behind(20),
time: 100
}, 'swing');
defender.anim({
time: 300
}, 'swing');
}
},
fusionflare: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.backgroundEffect('#000000', 700, 0.3);
battle.showEffect('flareball', {
x: attacker.x,
y: attacker.y + 90,
z: attacker.z,
scale: 0
}, {
x: attacker.x,
y: attacker.y + 90,
z: attacker.z,
scale: 2,
time: 200
}, 'accel', 'fade');
battle.showEffect('flareball', {
x: attacker.x,
y: attacker.y + 90,
z: attacker.z,
opacity: 0.4,
scale: 0,
time: 150
}, {
x: attacker.x,
y: attacker.y + 90,
z: attacker.z,
scale: 3,
opacity: 0,
time: 800
}, 'linear');
battle.showEffect('flareball', {
x: attacker.x,
y: attacker.y + 90,
z: attacker.z,
opacity: 0.8,
scale: 2,
time: 200
}, {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 2.5,
time: 500
}, 'accel', 'fade');
battle.showEffect('flareball', {
x: defender.x,
y: defender.y - 50,
z: defender.z,
scale: 1,
xscale: 3,
opacity: 0.5,
time: 550
}, {
scale: 3,
xscale: 8,
opacity: 0.1,
time: 1000
}, 'linear', 'fade');
battle.showEffect('flareball', {
x: defender.x,
y: defender.y,
z: defender.z,
opacity: 0.3,
scale: 0,
time: 500
}, {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 4,
opacity: 0,
time: 800
}, 'linear');
battle.showEffect('flareball', {
x: defender.x,
y: defender.y,
z: defender.z,
opacity: 0.7,
scale: 0,
time: 700
}, {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 4,
opacity: 0,
time: 1000
}, 'linear');
defender.delay(500);
defender.anim({
z: defender.behind(20),
time: 100
}, 'swing');
defender.anim({
time: 300
}, 'swing');
battle.activityWait(550);
}
},
fusionbolt: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.backgroundEffect('#000000', 700, 0.3);
battle.showEffect('iceball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 2,
opacity: 1
}, {
y: attacker.y + 90,
opacity: 0,
time: 200
}, 'accel');
battle.showEffect('iceball', {
x: defender.leftof(-165),
y: defender.y + 170,
z: defender.z,
scale: 1,
opacity: 0,
time: 400
}, {
x: defender.leftof(10),
y: defender.y - 20,
z: defender.behind(-10),
scale: 3,
opacity: 1,
time: 650
}, 'accel', 'fade');
battle.showEffect('waterwisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 1,
opacity: 1
}, {
y: attacker.y + 90,
opacity: 0,
time: 200
}, 'accel');
battle.showEffect('waterwisp', {
x: defender.leftof(-165),
y: defender.y + 170,
z: defender.z,
scale: 0.5,
opacity: 0,
time: 400
}, {
x: defender.leftof(10),
y: defender.y - 20,
z: defender.behind(-10),
scale: 1.5,
opacity: 1,
time: 650
}, 'accel', 'fade');
battle.showEffect('iceball', {
x: defender.x,
y: defender.y - 60,
z: defender.z,
scale: 1,
xscale: 3,
opacity: 0.5,
time: 700
}, {
scale: 3,
xscale: 8,
opacity: 0.1,
time: 1100
}, 'linear', 'fade');
battle.showEffect('iceball', {
x: defender.x,
y: defender.y,
z: defender.z,
opacity: 1,
scale: 0,
time: 700
}, {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 4,
opacity: 0,
time: 900
}, 'linear');
battle.showEffect('iceball', {
x: defender.x,
y: defender.y,
z: defender.z,
opacity: 1,
scale: 0,
time: 800
}, {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 3,
opacity: 0,
time: 1000
}, 'linear');
attacker.anim({
y: defender.y + 120,
xscale: 0,
yscale: 0,
opacity: 0,
time: 300
}, 'accel');
attacker.delay(625);
attacker.anim({
x: attacker.x,
y: attacker.y + 40,
z: attacker.behind(40),
xscale: 1,
yscale: 1,
time: 1
});
attacker.anim({
x: attacker.x,
y: attacker.y,
z: attacker.z,
time: 250
}, 'decel');
defender.delay(625);
defender.anim({
z: defender.behind(20),
time: 250
}, 'decel');
defender.anim({
time: 200
}, 'swing');
battle.activityWait(550);
}
},
zenheadbutt: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
BattleOtherAnims.contactattack.anim(battle, args);
battle.showEffect('mistball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 0.5,
time: 450
}, {
scale: 2,
opacity: 0,
time: 700
}, 'linear');
}
},
fakeout: {
anim: BattleOtherAnims.sneakattack.anim
},
covet: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
attacker.delay(300);
attacker.anim({
x: attacker.leftof(-20),
y: attacker.y,
z: attacker.behind(-20),
opacity: 0,
time: 200
}, 'linear');
attacker.anim({
x: defender.x,
y: defender.y,
z: defender.behind(-120),
opacity: 0,
time: 1
}, 'linear');
attacker.anim({
x: defender.x,
y: defender.y,
z: defender.behind(40),
opacity: 1,
time: 250
}, 'linear');
attacker.anim({
x: defender.x,
y: defender.y,
z: defender.behind(-5),
opacity: 0,
time: 300
}, 'linear');
attacker.anim({
opacity: 0,
time: 1
}, 'linear');
attacker.anim({
time: 300,
opacity: 1
}, 'linear');
defender.delay(630);
defender.anim({
z: defender.behind(20),
time: 100
}, 'swing');
defender.anim({
time: 300
}, 'swing');
battle.activityWait(350);
battle.showEffect('heart', {
x: attacker.x - 10,
y: attacker.y + 50,
z: attacker.z,
scale: 0.5,
opacity: 1,
time: 0
}, {
scale: 3,
opacity: 0,
time: 300
}, 'ballistic2Under', 'fade');
}
},
feint: {
anim: BattleOtherAnims.sneakattack.anim
},
thief: {
anim: BattleOtherAnims.sneakattack.anim
},
shadowsneak: {
anim: BattleOtherAnims.sneakattack.anim
},
feintattack: {
anim: BattleOtherAnims.sneakattack.anim
},
struggle: {
anim: BattleOtherAnims.contactattack.anim
},
earthquake: {
anim: function (battle, args) {
var attacker = args[0];
var defender;
attacker.anim({
x: attacker.x - 30,
time: 75
});
attacker.anim({
x: attacker.x + 30,
time: 100
});
attacker.anim({
x: attacker.x - 30,
time: 100
});
attacker.anim({
x: attacker.x + 30,
time: 100
});
attacker.anim({
x: attacker.x - 30,
time: 100
});
attacker.anim({
x: attacker.x + 30,
time: 100
});
attacker.anim({
x: attacker.x,
time: 100
});
for (var i = 1; i < args.length; i++) {
defender = args[i];
defender.anim({
x: defender.x - 30,
time: 75
});
defender.anim({
x: defender.x + 30,
time: 100
});
defender.anim({
x: defender.x - 30,
time: 100
});
defender.anim({
x: defender.x + 30,
time: 100
});
defender.anim({
x: defender.x - 30,
time: 100
});
defender.anim({
x: defender.x + 30,
time: 100
});
defender.anim({
x: defender.x,
time: 100
});
battle.showEffect('rock3', {
x: defender.x + 30,
y: defender.y - 35,
z: defender.z,
scale: 0.1,
opacity: 1,
time: 0
}, {
x: defender.x + 50,
y: defender.y - 10,
z: defender.z,
scale: 0.2,
opacity: 0,
time: 300
}, 'decel', 'fade');
battle.showEffect('rock3', {
x: defender.x - 50,
y: defender.y - 35,
z: defender.z,
scale: 0.2,
opacity: 1,
time: 25
}, {
x: defender.x + 70,
y: defender.y - 10,
z: defender.z,
scale: 0.3,
opacity: 0,
time: 325
}, 'decel', 'fade');
battle.showEffect('mudwisp', {
x: defender.x - 20,
y: defender.y - 35,
z: defender.z,
scale: 0.5,
opacity: 0.5,
time: 50
}, {
x: defender.x - 40,
y: defender.y - 10,
z: defender.z,
scale: 0.7,
opacity: 0,
time: 350
}, 'decel', 'fade');
battle.showEffect('rock3', {
x: defender.x - 70,
y: defender.y - 35,
z: defender.z,
scale: 0.1,
opacity: 1,
time: 75
}, {
x: defender.x - 90,
y: defender.y - 10,
z: defender.z,
scale: 0.2,
opacity: 0,
time: 375
}, 'decel', 'fade');
battle.showEffect('mudwisp', {
x: defender.x + 20,
y: defender.y - 35,
z: defender.z,
scale: 0.5,
opacity: 0.5,
time: 100
}, {
x: defender.x + 40,
y: defender.y - 10,
z: defender.z,
scale: 0.7,
opacity: 0,
time: 400
}, 'decel', 'fade');
battle.showEffect('rock2', {
x: defender.x + 20,
y: defender.y - 35,
z: defender.z,
scale: 0.2,
opacity: 0.5,
time: 125
}, {
x: defender.x + 40,
y: defender.y - 10,
z: defender.z,
scale: 0.3,
opacity: 0,
time: 425
}, 'decel', 'fade');
battle.showEffect('mudwisp', {
x: defender.x - 40,
y: defender.y - 35,
z: defender.z,
scale: 0.5,
opacity: 0.5,
time: 150
}, {
x: defender.x - 60,
y: defender.y - 10,
z: defender.z,
scale: 0.7,
opacity: 0,
time: 450
}, 'decel', 'fade');
battle.showEffect('rock2', {
x: defender.x,
y: defender.y - 35,
z: defender.z,
scale: 0.1,
opacity: 0.5,
time: 150
}, {
x: defender.x + 10,
y: defender.y - 10,
z: defender.z,
scale: 0.2,
opacity: 0,
time: 450
}, 'decel', 'fade');
battle.showEffect('rock3', {
x: defender.x + 5,
y: defender.y - 35,
z: defender.z,
scale: 0.1,
opacity: 1,
time: 175
}, {
x: defender.x + 10,
y: defender.y - 10,
z: defender.z,
scale: 0.2,
opacity: 0,
time: 475
}, 'decel', 'fade');
battle.showEffect('mudwisp', {
x: defender.x + 70,
y: defender.y - 35,
z: defender.z,
scale: 0.5,
opacity: 0.5,
time: 200
}, {
x: defender.x + 90,
y: defender.y - 10,
z: defender.z,
scale: 0.7,
opacity: 0,
time: 500
}, 'decel', 'fade');
battle.showEffect('rock1', {
x: defender.x - 30,
y: defender.y - 35,
z: defender.z,
scale: 0.2,
opacity: 1,
time: 225
}, {
x: defender.x - 55,
y: defender.y - 10,
z: defender.z,
scale: 0.3,
opacity: 0,
time: 525
}, 'decel', 'fade');
battle.showEffect('rock1', {
x: defender.x + 30,
y: defender.y - 35,
z: defender.z,
scale: 0.1,
opacity: 1,
time: 250
}, {
x: defender.x + 55,
y: defender.y - 10,
z: defender.z,
scale: 0.2,
opacity: 0,
time: 550
}, 'decel', 'fade');
battle.showEffect('rock2', {
x: defender.x - 50,
y: defender.y - 35,
z: defender.z,
scale: 0.1,
opacity: 1,
time: 275
}, {
x: defender.x - 60,
y: defender.y - 10,
z: defender.z,
scale: 0.2,
opacity: 0,
time: 475
}, 'decel', 'fade');
battle.showEffect('rock2', {
x: defender.x + 50,
y: defender.y - 35,
z: defender.z,
scale: 0.1,
opacity: 1,
time: 300
}, {
x: defender.x + 60,
y: defender.y - 10,
z: defender.z,
scale: 0.2,
opacity: 0,
time: 500
}, 'decel', 'fade');
battle.showEffect('mudwisp', {
x: defender.x - 70,
y: defender.y - 35,
z: defender.z,
scale: 0.5,
opacity: 0.5,
time: 325
}, {
x: defender.x - 90,
y: defender.y - 10,
z: defender.z,
scale: 0.7,
opacity: 0,
time: 525
}, 'decel', 'fade');
battle.showEffect('rock2', {
x: defender.x + 40,
y: defender.y - 35,
z: defender.z,
scale: 0.2,
opacity: 1,
time: 350
}, {
x: defender.x + 60,
y: defender.y - 10,
z: defender.z,
scale: 0.3,
opacity: 0,
time: 550
}, 'decel', 'fade');
battle.showEffect('mudwisp', {
x: defender.x + 10,
y: defender.y - 35,
z: defender.z,
scale: 0.5,
opacity: 0.5,
time: 375
}, {
x: defender.x + 30,
y: defender.y - 10,
z: defender.z,
scale: 0.7,
opacity: 0,
time: 575
}, 'decel', 'fade');
battle.activityWait(325);
}
}
},
tickle: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
defender.anim({
x: defender.x - 20,
time: 75
});
defender.anim({
x: defender.x + 20,
time: 100
});
defender.anim({
x: defender.x - 20,
time: 100
});
defender.anim({
x: defender.x + 20,
time: 100
});
defender.anim({
x: defender.x,
time: 100
});
battle.activityWait(425);
}
},
earthpower: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('fireball', {
x: defender.x + 10,
y: defender.y - 35,
z: defender.z,
scale: 0,
opacity: 0.8
}, {
scale: 3,
opacity: 0
}, 'linear');
battle.showEffect('rock3', {
x: defender.x + 10,
y: defender.y - 35,
z: defender.z,
scale: 0.4,
opacity: 0.6,
time: 0
}, {
x: defender.x + 30,
y: defender.y + 50,
scale: 0.5,
opacity: 0,
time: 300
}, 'linear', 'fade');
battle.showEffect('rock3', {
x: defender.x + 10,
y: defender.y - 35,
z: defender.z,
scale: 0.4,
opacity: 0.6,
time: 100
}, {
x: defender.x - 10,
y: defender.y + 50,
scale: 0.5,
opacity: 0,
time: 400
}, 'linear', 'fade');
battle.showEffect('rock3', {
x: defender.x + 40,
y: defender.y - 35,
z: defender.z,
scale: 0.4,
opacity: 0.6,
time: 200
}, {
x: defender.x + 35,
y: defender.y + 50,
scale: 0.5,
opacity: 0,
time: 500
}, 'linear', 'fade');
battle.showEffect('fireball', {
x: defender.x - 40,
y: defender.y - 35,
z: defender.z,
scale: 0,
opacity: 0.8,
time: 150
}, {
scale: 3,
opacity: 0
}, 'linear');
battle.showEffect('rock3', {
x: defender.x - 40,
y: defender.y - 35,
z: defender.z,
scale: 0.4,
opacity: 0.6,
time: 150
}, {
x: defender.x - 60,
y: defender.y + 45,
scale: 0.5,
opacity: 0,
time: 450
}, 'linear', 'fade');
battle.showEffect('rock3', {
x: defender.x - 40,
y: defender.y - 35,
z: defender.z,
scale: 0.4,
opacity: 0.6,
time: 250
}, {
x: defender.x - 20,
y: defender.y + 45,
scale: 0.5,
opacity: 0,
time: 550
}, 'linear', 'fade');
battle.showEffect('rock3', {
x: defender.x - 40,
y: defender.y - 35,
z: defender.z,
scale: 0.4,
opacity: 0.6,
time: 350
}, {
x: defender.x - 35,
y: defender.y + 45,
scale: 0.5,
opacity: 0,
time: 650
}, 'linear', 'fade');
battle.showEffect('fireball', {
x: defender.x + 40,
y: defender.y - 35,
z: defender.z,
scale: 0,
opacity: 0.8,
time: 300
}, {
scale: 3,
opacity: 0
}, 'linear');
battle.showEffect('rock3', {
x: defender.x + 40,
y: defender.y - 35,
z: defender.z,
scale: 0.4,
opacity: 0.6,
time: 300
}, {
x: defender.x + 60,
y: defender.y + 65,
scale: 0.5,
opacity: 0,
time: 600
}, 'linear', 'fade');
battle.showEffect('rock3', {
x: defender.x + 40,
y: defender.y - 35,
z: defender.z,
scale: 0.4,
opacity: 0.6,
time: 400
}, {
x: defender.x + 20,
y: defender.y + 65,
scale: 0.5,
opacity: 0,
time: 700
}, 'linear', 'fade');
battle.showEffect('rock3', {
x: defender.x + 40,
y: defender.y - 35,
z: defender.z,
scale: 0.4,
opacity: 0.6,
time: 500
}, {
x: defender.x + 30,
y: defender.y + 65,
scale: 0.5,
opacity: 0,
time: 800
}, 'linear', 'fade');
defender.anim({
x: defender.x - 30,
time: 75
});
defender.anim({
x: defender.x + 30,
time: 100
});
defender.anim({
x: defender.x - 30,
time: 100
});
defender.anim({
x: defender.x + 30,
time: 100
});
defender.anim({
x: defender.x - 30,
time: 100
});
defender.anim({
x: defender.x + 30,
time: 100
});
defender.anim({
x: defender.x,
time: 100
});
}
},
drillrun: { // todo: rip horn sprite and redo animation
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
attacker.anim({
x: defender.x,
y: defender.y,
z: defender.behind(-5),
time: 300
}, 'accel');
attacker.anim({
time: 500
}, 'ballistic2Back');
defender.delay(280);
defender.anim({
z: defender.behind(20),
time: 200
});
defender.anim({
z: defender.behind(0),
time: 200
});
battle.showEffect('wisp', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 0.5,
time: 300
}, {
scale: 3,
opacity: 0,
time: 600
}, 'linear');
battle.showEffect('wisp', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 0.5,
time: 400
}, {
scale: 3,
opacity: 0,
time: 700
}, 'linear');
battle.showEffect('impact', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 0.4,
time: 300
}, {
scale: 2,
opacity: 0,
time: 500
}, 'linear');
battle.showEffect('impact', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 0.4,
time: 500
}, {
scale: 2,
opacity: 0,
time: 700
}, 'linear');
battle.showEffect('flareball', {
x: defender.leftof(10),
y: defender.y - 10,
z: defender.behind(-40),
scale: 0.7,
yscale: 1,
opacity: 0.8,
time: 300
}, {
z: defender.behind(5),
scale: 0,
xscale: 0,
yscale: 0,
time: 450
}, 'accel');
battle.showEffect('flareball', {
x: defender.leftof(10),
y: defender.y - 10,
z: defender.behind(-40),
scale: 0.7,
yscale: 1,
opacity: 0.8,
time: 350
}, {
z: defender.behind(5),
scale: 0,
xscale: 0,
yscale: 0,
time: 500
}, 'accel');
battle.showEffect('flareball', {
x: defender.leftof(10),
y: defender.y - 10,
z: defender.behind(-40),
scale: 0.7,
yscale: 1,
opacity: 0.8,
time: 400
}, {
z: defender.behind(5),
scale: 0,
xscale: 0,
yscale: 0,
time: 550
}, 'accel');
}
},
poisongas: {
anim: function (battle, args) {
var defender = args[1];
battle.showEffect('poisonwisp', {
x: defender.x + 10,
y: defender.y - 35,
z: defender.z,
scale: .4,
opacity: 1,
time: 0
}, {
x: defender.x + 10,
y: defender.y + 20,
scale: 0.7,
opacity: 0,
time: 300
}, 'linear');
battle.showEffect('poisonwisp', {
x: defender.x - 30,
y: defender.y - 35,
z: defender.z,
scale: .4,
opacity: 1,
time: 100
}, {
x: defender.x - 30,
y: defender.y + 20,
scale: 0.7,
opacity: 0,
time: 400
}, 'linear');
battle.showEffect('poisonwisp', {
x: defender.x + 40,
y: defender.y - 35,
z: defender.z,
scale: .4,
opacity: 1,
time: 200
}, {
x: defender.x + 40,
y: defender.y + 20,
scale: 0.7,
opacity: 0,
time: 500
}, 'linear');
}
},
smog: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('poisonwisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.7,
opacity: 0.6,
time: 0
}, {
x: defender.x,
y: defender.y + 10,
z: defender.behind(10),
scale: 1,
opacity: 0.3,
time: 400
}, 'decel', 'explode');
battle.showEffect('poisonwisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.7,
opacity: 1,
time: 100
}, {
x: defender.x - 20,
y: defender.y + 5,
z: defender.behind(10),
scale: 1,
opacity: 0.3,
time: 500
}, 'decel', 'explode');
battle.showEffect('poisonwisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.7,
opacity: 1,
time: 200
}, {
x: defender.x + 25,
y: defender.y,
z: defender.behind(10),
scale: 1,
opacity: 0.3,
time: 600
}, 'decel', 'explode');
battle.showEffect('poisonwisp', {
x: defender.x + 30,
y: defender.y,
z: defender.z,
scale: 1,
opacity: 1,
time: 400
}, {
x: defender.x + 50,
y: defender.y + 30,
scale: 1.4,
opacity: 0.2,
time: 800
}, 'decel', 'fade');
battle.showEffect('poisonwisp', {
x: defender.x - 30,
y: defender.y,
z: defender.z,
scale: 1,
opacity: 1,
time: 500
}, {
x: defender.x - 50,
y: defender.y + 30,
scale: 1.4,
opacity: 0.2,
time: 900
}, 'decel', 'fade');
battle.showEffect('poisonwisp', {
x: defender.x + 15,
y: defender.y,
z: defender.z,
scale: 1,
opacity: 1,
time: 600
}, {
x: defender.x + 25,
y: defender.y + 20,
scale: 1.4,
opacity: 0.2,
time: 1000
}, 'decel', 'fade');
}
},
clearsmog: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('wisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.7,
opacity: 0.6,
time: 0
}, {
x: defender.x,
y: defender.y + 10,
z: defender.behind(10),
scale: 1,
opacity: 0.3,
time: 400
}, 'decel', 'explode');
battle.showEffect('wisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.7,
opacity: 1,
time: 100
}, {
x: defender.x - 20,
y: defender.y + 5,
z: defender.behind(10),
scale: 1,
opacity: 0.3,
time: 500
}, 'decel', 'explode');
battle.showEffect('wisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.7,
opacity: 1,
time: 200
}, {
x: defender.x + 25,
y: defender.y,
z: defender.behind(10),
scale: 1,
opacity: 0.3,
time: 600
}, 'decel', 'explode');
battle.showEffect('wisp', {
x: defender.x + 30,
y: defender.y,
z: defender.z,
scale: 1,
opacity: 1,
time: 400
}, {
x: defender.x + 40,
y: defender.y + 20,
scale: 1.4,
opacity: 0.2,
time: 800
}, 'linear', 'fade');
battle.showEffect('wisp', {
x: defender.x - 30,
y: defender.y,
z: defender.z,
scale: 1,
opacity: 1,
time: 500
}, {
x: defender.x - 40,
y: defender.y + 20,
scale: 1.4,
opacity: 0.2,
time: 900
}, 'linear', 'fade');
battle.showEffect('wisp', {
x: defender.x + 15,
y: defender.y,
z: defender.z,
scale: 1,
opacity: 1,
time: 600
}, {
x: defender.x + 20,
y: defender.y + 20,
scale: 1.4,
opacity: 0.2,
time: 1000
}, 'linear', 'fade');
}
},
bonemerang: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('bone', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
opacity: 0
}, {
z: defender.behind(20),
opacity: 1,
time: 300
}, 'ballistic2');
battle.showEffect('bone', {
x: defender.x,
y: defender.y,
z: defender.behind(20),
opacity: 1,
time: 300
}, {
z: attacker.z,
opacity: 0,
time: 600
}, 'ballistic2Under', 'fade');
},
multihit: true
},
boneclub: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('wisp', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 1,
time: 400
}, {
x: defender.leftof(-20),
y: defender.y,
z: defender.behind(20),
scale: 3,
opacity: 0,
time: 700
}, 'linear');
battle.showEffect('wisp', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 1,
time: 500
}, {
x: defender.leftof(-20),
y: defender.y,
z: defender.behind(20),
scale: 3,
opacity: 0,
time: 800
}, 'linear');
battle.showEffect('bone', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 1,
opacity: 1,
time: 400
}, {
x: defender.leftof(-20),
y: defender.y,
z: defender.behind(20),
scale: 2,
opacity: 0,
time: 800
}, 'linear');
BattleOtherAnims.contactattack.anim(battle, args);
}
},
shadowbone: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.backgroundEffect('#000000', 600, 0.3);
battle.showEffect('wisp', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 1,
time: 400
}, {
x: defender.leftof(-20),
y: defender.y,
z: defender.behind(20),
scale: 3,
opacity: 0,
time: 700
}, 'linear');
battle.showEffect('shadowball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 0.5,
time: 450
}, {
scale: 2.5,
opacity: 0,
time: 700
}, 'linear');
battle.showEffect('wisp', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 1,
time: 500
}, {
x: defender.leftof(-20),
y: defender.y,
z: defender.behind(20),
scale: 3,
opacity: 0,
time: 800
}, 'linear');
battle.showEffect('bone', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 1,
opacity: 1,
time: 400
}, {
x: defender.leftof(-20),
y: defender.y,
z: defender.behind(20),
scale: 2,
opacity: 0,
time: 800
}, 'linear');
BattleOtherAnims.contactattack.anim(battle, args);
}
},
whirlwind: {
anim: function (battle, args) {
var defender = args[1];
for (var i = 0; i < 3; i++) {
battle.showEffect('wisp', {
x: defender.x + 30,
y: defender.y - 35,
z: defender.behind(i * 40 - 60),
scale: .2,
opacity: 1,
time: 200 * i
}, {
x: defender.x - 30,
y: defender.y,
z: defender.behind(i * 40 - 60),
scale: .4,
opacity: .4,
time: 200 * i + 200
}, 'linear', 'fade');
battle.showEffect('wisp', {
x: defender.x - 30,
y: defender.y + 35,
z: defender.behind(i * 40 - 60),
scale: .2,
opacity: 1,
time: 200 * i
}, {
x: defender.x + 30,
y: defender.y,
z: defender.behind(i * 40 - 60),
scale: .4,
opacity: .4,
time: 200 * i + 200
}, 'linear', 'fade');
battle.showEffect('wisp', {
x: defender.x + 30,
y: defender.y,
z: defender.behind(i * 40 - 60),
scale: .2,
opacity: 1,
time: 200 * i
}, {
x: defender.x - 30,
y: defender.y - 35,
z: defender.behind(i * 40 - 60),
scale: .4,
opacity: .4,
time: 200 * i + 200
}, 'linear', 'fade');
battle.showEffect('wisp', {
x: defender.x - 30,
y: defender.y,
z: defender.behind(i * 40 - 60),
scale: .2,
opacity: 1,
time: 200 * i
}, {
x: defender.x + 30,
y: defender.y - 35,
z: defender.behind(i * 40 - 60),
scale: .4,
opacity: .4,
time: 200 * i + 200
}, 'linear', 'fade');
}
}
},
hurricane: {
anim: function (battle, args) {
var defender = args[1];
battle.backgroundEffect('#000000', 900, 0.6);
for (var i = 0; i < 4; i++) {
battle.showEffect('wisp', {
x: defender.x + 50,
y: defender.y - 35,
z: defender.z,
scale: .2,
opacity: 1,
time: 200 * i
}, {
x: defender.x - 50,
y: defender.y,
z: defender.z,
scale: .4,
opacity: .4,
time: 200 * i + 200
}, 'linear', 'fade');
battle.showEffect('wisp', {
x: defender.x - 50,
y: defender.y + 35,
z: defender.z,
scale: .2,
opacity: 1,
time: 200 * i
}, {
x: defender.x + 50,
y: defender.y,
z: defender.z,
scale: .4,
opacity: .4,
time: 200 * i + 200
}, 'linear', 'fade');
battle.showEffect('wisp', {
x: defender.x + 50,
y: defender.y,
z: defender.z,
scale: .2,
opacity: 1,
time: 200 * i
}, {
x: defender.x - 50,
y: defender.y - 35,
z: defender.z,
scale: .4,
opacity: .4,
time: 200 * i + 200
}, 'linear', 'fade');
battle.showEffect('wisp', {
x: defender.x - 50,
y: defender.y,
z: defender.z,
scale: .2,
opacity: 1,
time: 200 * i
}, {
x: defender.x + 50,
y: defender.y - 35,
z: defender.z,
scale: .4,
opacity: .4,
time: 200 * i + 200
}, 'linear', 'fade');
}
}
},
ominouswind: {
anim: function (battle, args) {
var defender = args[1];
for (var i = 0; i < 3; i++) {
battle.showEffect('poisonwisp', {
x: defender.x + 30,
y: defender.y - 35,
z: defender.behind(i * 40 - 60),
scale: .2,
opacity: 1,
time: 200 * i
}, {
x: defender.x - 30,
y: defender.y,
z: defender.behind(i * 40 - 60),
scale: .4,
opacity: .4,
time: 200 * i + 200
}, 'linear', 'fade');
battle.showEffect('poisonwisp', {
x: defender.x - 30,
y: defender.y + 35,
z: defender.behind(i * 40 - 60),
scale: .2,
opacity: 1,
time: 200 * i
}, {
x: defender.x + 30,
y: defender.y,
z: defender.behind(i * 40 - 60),
scale: .4,
opacity: .4,
time: 200 * i + 200
}, 'linear', 'fade');
battle.showEffect('poisonwisp', {
x: defender.x + 30,
y: defender.y,
z: defender.behind(i * 40 - 60),
scale: .2,
opacity: 1,
time: 200 * i
}, {
x: defender.x - 30,
y: defender.y - 35,
z: defender.behind(i * 40 - 60),
scale: .4,
opacity: .4,
time: 200 * i + 200
}, 'linear', 'fade');
battle.showEffect('poisonwisp', {
x: defender.x - 30,
y: defender.y,
z: defender.behind(i * 40 - 60),
scale: .2,
opacity: 1,
time: 200 * i
}, {
x: defender.x + 30,
y: defender.y - 35,
z: defender.behind(i * 40 - 60),
scale: .4,
opacity: .4,
time: 200 * i + 200
}, 'linear', 'fade');
}
}
},
magmastorm: {
anim: function (battle, args) {
var defender = args[1];
battle.backgroundEffect('#CC3300', 900, 0.2);
for (var i = 0; i < 4; i++) {
battle.showEffect('fireball', {
x: defender.x + 50,
y: defender.y - 35,
z: defender.z,
scale: .5,
opacity: 1,
time: 200 * i
}, {
x: defender.x - 50,
y: defender.y,
z: defender.z,
scale: 1,
opacity: .4,
time: 200 * i + 200
}, 'linear', 'fade');
battle.showEffect('fireball', {
x: defender.x - 50,
y: defender.y + 35,
z: defender.z,
scale: .5,
opacity: 1,
time: 200 * i
}, {
x: defender.x + 50,
y: defender.y,
z: defender.z,
scale: 1,
opacity: .4,
time: 200 * i + 200
}, 'linear', 'fade');
battle.showEffect('fireball', {
x: defender.x + 50,
y: defender.y,
z: defender.z,
scale: .5,
opacity: 1,
time: 200 * i
}, {
x: defender.x - 50,
y: defender.y - 35,
z: defender.z,
scale: 1,
opacity: .4,
time: 200 * i + 200
}, 'linear', 'fade');
battle.showEffect('fireball', {
x: defender.x - 50,
y: defender.y,
z: defender.z,
scale: .5,
opacity: 1,
time: 200 * i
}, {
x: defender.x + 50,
y: defender.y - 35,
z: defender.z,
scale: 1,
opacity: .4,
time: 200 * i + 200
}, 'linear', 'fade');
}
}
},
firespin: {
anim: function (battle, args) {
var defender = args[1];
for (var i = 0; i < 4; i++) {
battle.showEffect('fireball', {
x: defender.x + 50,
y: defender.y - 35,
z: defender.z,
scale: .5,
opacity: 1,
time: 200 * i
}, {
x: defender.x - 50,
y: defender.y,
z: defender.z,
scale: 1,
opacity: .4,
time: 200 * i + 200
}, 'linear', 'fade');
battle.showEffect('fireball', {
x: defender.x - 50,
y: defender.y + 35,
z: defender.z,
scale: .5,
opacity: 1,
time: 200 * i
}, {
x: defender.x + 50,
y: defender.y,
z: defender.z,
scale: 1,
opacity: .4,
time: 200 * i + 200
}, 'linear', 'fade');
battle.showEffect('fireball', {
x: defender.x + 50,
y: defender.y,
z: defender.z,
scale: .5,
opacity: 1,
time: 200 * i
}, {
x: defender.x - 50,
y: defender.y - 35,
z: defender.z,
scale: 1,
opacity: .4,
time: 200 * i + 200
}, 'linear', 'fade');
battle.showEffect('fireball', {
x: defender.x - 50,
y: defender.y,
z: defender.z,
scale: .5,
opacity: 1,
time: 200 * i
}, {
x: defender.x + 50,
y: defender.y - 35,
z: defender.z,
scale: 1,
opacity: .4,
time: 200 * i + 200
}, 'linear', 'fade');
}
}
},
leaftornado: {
anim: function (battle, args) {
var defender = args[1];
for (var i = 0; i < 4; i++) {
battle.showEffect('leaf1', {
x: defender.x + 50,
y: defender.y - 35,
z: defender.z,
scale: .5,
opacity: 1,
time: 200 * i
}, {
x: defender.x - 50,
y: defender.y,
z: defender.z,
scale: 1,
opacity: .4,
time: 200 * i + 200
}, 'linear', 'fade');
battle.showEffect('leaf2', {
x: defender.x - 50,
y: defender.y + 35,
z: defender.z,
scale: .5,
opacity: 1,
time: 200 * i
}, {
x: defender.x + 50,
y: defender.y,
z: defender.z,
scale: 1,
opacity: .4,
time: 200 * i + 200
}, 'linear', 'fade');
battle.showEffect('leaf1', {
x: defender.x + 50,
y: defender.y,
z: defender.z,
scale: .5,
opacity: 1,
time: 200 * i
}, {
x: defender.x - 50,
y: defender.y - 35,
z: defender.z,
scale: 1,
opacity: .4,
time: 200 * i + 200
}, 'linear', 'fade');
battle.showEffect('leaf2', {
x: defender.x - 50,
y: defender.y,
z: defender.z,
scale: .5,
opacity: 1,
time: 200 * i
}, {
x: defender.x + 50,
y: defender.y - 35,
z: defender.z,
scale: 1,
opacity: .4,
time: 200 * i + 200
}, 'linear', 'fade');
}
}
},
roar: {
anim: BattleOtherAnims.sound.anim
},
round: {
anim: BattleOtherAnims.sound.anim
},
yawn: {
anim: BattleOtherAnims.sound.anim
},
sing: {
anim: BattleOtherAnims.sound.anim
},
perishsong: {
anim: BattleOtherAnims.sound.anim
},
partingshot: {
anim: BattleOtherAnims.sound.anim
},
nobleroar: {
anim: BattleOtherAnims.sound.anim
},
disarmingvoice: {
anim: BattleOtherAnims.sound.anim
},
growl: {
anim: BattleOtherAnims.sound.anim
},
screech: {
anim: BattleOtherAnims.sound.anim
},
snore: {
anim: BattleOtherAnims.sound.anim
},
synchronoise: {
anim: BattleOtherAnims.sound.anim
},
sonicboom: {
anim: BattleOtherAnims.sound.anim
},
eerieimpulse: {
anim: BattleOtherAnims.sound.anim
},
metalsound: {
anim: BattleOtherAnims.sound.anim
},
supersonic: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('electroball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0,
opacity: 0.5,
time: 0
}, {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 1,
opacity: 0,
time: 200
}, 'linear');
battle.showEffect('electroball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0,
opacity: 0.5,
time: 150
}, {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 1,
opacity: 0,
time: 350
}, 'linear');
battle.showEffect('electroball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0,
opacity: 0.5,
time: 300
}, {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 1,
opacity: 0,
time: 500
}, 'linear');
}
},
confide: {
anim: BattleOtherAnims.sound.anim
},
defog: {
anim: function (battle, args) {
battle.backgroundEffect('#FFFFFF', 900, 0.5);
BattleOtherAnims.sound.anim(battle, args);
}
},
grasswhistle: {
anim: function (battle, args) {
battle.backgroundEffect('#9AB440', 900, 0.3);
BattleOtherAnims.sound.anim(battle, args);
}
},
hypervoice: {
anim: function (battle, args) {
var attacker = args[0];
battle.showEffect('iceball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0,
opacity: 0.5,
time: 0
}, {
z: attacker.behind(-50),
scale: 7,
opacity: 0,
time: 400
}, 'linear');
battle.showEffect('iceball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0,
opacity: 0.5,
time: 150
}, {
z: attacker.behind(-50),
scale: 7,
opacity: 0,
time: 600
}, 'linear');
battle.showEffect('iceball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0,
opacity: 0.5,
time: 300
}, {
z: attacker.behind(-50),
scale: 7,
opacity: 0,
time: 800
}, 'linear');
}
},
boomburst: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.backgroundEffect('#000000', 900, 0.5);
battle.showEffect('iceball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0,
opacity: 0.5,
time: 0
}, {
z: attacker.behind(-50),
scale: 7,
opacity: 0,
time: 400
}, 'linear');
battle.showEffect('iceball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0,
opacity: 0.5,
time: 150
}, {
z: attacker.behind(-50),
scale: 7,
opacity: 0,
time: 600
}, 'linear');
battle.showEffect('iceball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0,
opacity: 0.5,
time: 300
}, {
z: attacker.behind(-50),
scale: 7,
opacity: 0,
time: 800
}, 'linear');
defender.delay(125);
defender.anim({
z: defender.behind(5),
time: 75
}, 'swing');
defender.anim({
time: 75
}, 'swing');
defender.anim({
z: defender.behind(5),
time: 75
}, 'swing');
defender.anim({
time: 75
}, 'swing');
defender.anim({
z: defender.behind(5),
time: 75
}, 'swing');
defender.anim({
time: 75
}, 'swing');
defender.anim({
z: defender.behind(5),
time: 75
}, 'swing');
defender.anim({
time: 150
}, 'swing');
}
},
heatwave: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.backgroundEffect('#CC3300', 900, 0.1);
battle.showEffect('flareball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0,
opacity: 0.5,
time: 0
}, {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 2.5,
opacity: 0,
time: 400
}, 'linear');
battle.showEffect('flareball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0,
opacity: 0.5,
time: 150
}, {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 2.5,
opacity: 0,
time: 600
}, 'linear');
battle.showEffect('flareball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0,
opacity: 0.5,
time: 300
}, {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 2.5,
opacity: 0,
time: 800
}, 'linear');
defender.delay(125);
defender.anim({
z: defender.behind(5),
time: 75
}, 'swing');
defender.anim({
time: 75
}, 'swing');
defender.anim({
z: defender.behind(5),
time: 75
}, 'swing');
defender.anim({
time: 75
}, 'swing');
defender.anim({
z: defender.behind(5),
time: 75
}, 'swing');
defender.anim({
time: 75
}, 'swing');
defender.anim({
z: defender.behind(5),
time: 75
}, 'swing');
defender.anim({
time: 150
}, 'swing');
}
},
snarl: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('shadowball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0,
opacity: 0.4,
time: 0
}, {
scale: 7,
opacity: 0,
time: 400
}, 'linear');
battle.showEffect('shadowball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0,
opacity: 0.4,
time: 150
}, {
scale: 7,
opacity: 0,
time: 600
}, 'linear');
battle.showEffect('shadowball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0,
opacity: 0.4,
time: 300
}, {
scale: 7,
opacity: 0,
time: 800
}, 'linear');
}
},
thunder: {
anim: function (battle, args) {
var defender = args[1];
battle.backgroundEffect('#ffffff', 300, 0.7);
battle.backgroundEffect('#000000', 1000, 0.7, 100);
battle.showEffect('lightning', {
x: defender.x,
y: defender.y + 150,
z: defender.z,
yscale: 0,
xscale: 2
}, {
y: defender.y + 50,
yscale: 1,
xscale: 1.5,
opacity: 0,
time: 200
}, 'linear');
battle.showEffect('lightning', {
x: defender.x,
y: defender.y + 50,
z: defender.z,
yscale: 1,
xscale: 1.5,
time: 200
}, {
opacity: 0,
time: 700
}, 'linear');
battle.showEffect('lightning', {
x: defender.x,
y: defender.y + 50,
z: defender.z,
yscale: 1,
xscale: 1.5,
time: 600
}, {
opacity: 0,
time: 1100
}, 'linear');
battle.showEffect('electroball', {
x: defender.x,
y: defender.y - 60,
z: defender.z,
scale: 1,
xscale: 1.5,
opacity: 0.5,
time: 200
}, {
scale: 2,
xscale: 4,
opacity: 0.1,
time: 900
}, 'linear', 'fade');
battle.showEffect('electroball', {
x: defender.x,
y: defender.y - 30,
z: defender.z,
opacity: 0.5,
scale: 1.5,
time: 200
}, {
scale: 1.8,
opacity: 0.1,
time: 900
}, 'linear', 'fade');
defender.delay(200);
defender.anim({
x: defender.x - 5,
time: 75
}, 'swing');
defender.anim({
x: defender.x + 5,
time: 75
}, 'swing');
defender.anim({
x: defender.x - 5,
time: 75
}, 'swing');
defender.anim({
x: defender.x + 5,
time: 75
}, 'swing');
defender.anim({
x: defender.x - 5,
time: 75
}, 'swing');
defender.anim({
time: 100
}, 'accel');
}
},
thunderbolt: {
anim: function (battle, args) {
var defender = args[1];
battle.backgroundEffect('#000000', 600, 0.2);
battle.showEffect('lightning', {
x: defender.x,
y: defender.y + 150,
z: defender.z,
yscale: 0,
xscale: 2
}, {
y: defender.y + 50,
yscale: 1,
xscale: 1.5,
opacity: .8,
time: 200
}, 'linear', 'fade');
battle.showEffect('lightning', {
x: defender.x - 15,
y: defender.y + 150,
z: defender.z,
yscale: 0,
xscale: 2,
time: 200
}, {
y: defender.y + 50,
yscale: 1,
xscale: 1.5,
opacity: .8,
time: 400
}, 'linear', 'fade');
battle.showEffect('lightning', {
x: defender.x + 15,
y: defender.y + 150,
z: defender.z,
yscale: 0,
xscale: 2,
time: 400
}, {
y: defender.y + 50,
yscale: 1,
xscale: 1.5,
opacity: .8,
time: 600
}, 'linear', 'fade');
}
},
psychic: {
anim: function (battle, args) {
var defender = args[1];
battle.backgroundEffect('#AA44BB', 250, 0.6);
battle.backgroundEffect('#AA44FF', 250, 0.6, 400);
defender.anim({
scale: 1.2,
time: 100
});
defender.anim({
scale: 1,
time: 100
});
defender.anim({
scale: 1.4,
time: 150
});
defender.anim({
scale: 1,
time: 150
});
battle.activityWait(700);
}
},
meanlook: {
anim: function (battle, args) {
var defender = args[1];
battle.backgroundEffect('#AA0000', 250, 0.3);
battle.backgroundEffect('#000000', 250, 0.2, 400);
battle.showEffect('stare', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 1,
yscale: 0,
opacity: 1
}, {
yscale: 1,
time: 700
}, 'decel', 'fade');
}
},
nightshade: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.backgroundEffect('#550000', 250, 0.3);
battle.backgroundEffect('#000000', 250, 0.2, 400);
battle.showEffect(attacker.sp, {
x: attacker.x,
y: attacker.y + 30,
z: attacker.z,
scale: 3,
opacity: 0.3,
time: 50
}, {
x: defender.x,
y: defender.y + 35,
z: defender.z,
scale: 3.5,
opacity: 0.1,
time: 600
}, 'accel', 'fade');
battle.activityWait(700);
}
},
fairylock: {
anim: function (battle, args) {
var defender = args[1];
battle.backgroundEffect('#FF99FF', 250, 0.3);
battle.backgroundEffect('#AA44BB', 250, 0.2, 400);
battle.activityWait(700);
}
},
rockblast: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('rock3', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: .6,
opacity: 0.4
}, {
x: defender.x,
y: defender.y,
z: defender.z,
scale: .6,
opacity: 1,
time: 400
}, 'linear', 'explode');
},
multihit: true
},
geargrind: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('gear', {
x: defender.x + 70,
y: defender.y + 70,
z: defender.z,
scale: .65,
opacity: 0,
time: 450
}, {
x: defender.x + 20,
y: defender.y,
opacity: 1,
time: 565
}, 'linear', 'explode');
battle.showEffect('gear', {
x: defender.x - 70,
y: defender.y - 70,
z: defender.z,
scale: .65,
opacity: 0,
time: 450
}, {
x: defender.x - 20,
y: defender.y,
opacity: 1,
time: 565
}, 'linear', 'explode');
battle.showEffect('wisp', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 1,
time: 550
}, {
x: defender.leftof(-20),
y: defender.y,
z: defender.behind(20),
scale: 3,
opacity: 0,
time: 700
}, 'linear');
battle.showEffect('gear', {
x: defender.x + 70,
y: defender.y - 70,
z: defender.z,
scale: .65,
opacity: 0,
time: 650
}, {
x: defender.x + 20,
y: defender.y,
opacity: 1,
time: 765
}, 'linear', 'explode');
battle.showEffect('gear', {
x: defender.x - 70,
y: defender.y + 70,
z: defender.z,
scale: .65,
opacity: 0,
time: 650
}, {
x: defender.x - 20,
y: defender.y,
opacity: 1,
time: 765
}, 'linear', 'explode');
battle.showEffect('wisp', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 1,
time: 750
}, {
x: defender.leftof(-20),
y: defender.y,
z: defender.behind(20),
scale: 3,
opacity: 0,
time: 900
}, 'linear');
attacker.anim({
x: defender.leftof(-30),
y: defender.y + 80,
z: defender.behind(-30),
time: 400
}, 'ballistic');
attacker.anim({
x: defender.leftof(30),
y: defender.y + 5,
z: defender.z,
time: 100
});
attacker.anim({
x: defender.leftof(30),
y: defender.y + 80,
z: defender.behind(-30),
time: 200
}, 'ballisticUp');
attacker.anim({
x: defender.leftof(-30),
y: defender.y + 5,
z: defender.z,
time: 100
});
attacker.anim({
time: 500
}, 'ballistic2Back');
defender.delay(450);
defender.anim({
y: defender.y + 15,
z: defender.behind(10),
yscale: 1.3,
time: 100
}, 'swing');
defender.anim({
time: 100
}, 'swing');
defender.delay(225);
defender.anim({
x: defender.leftof(-10),
y: defender.y + 15,
z: defender.behind(5),
yscale: 1.3,
time: 100
}, 'swing');
defender.anim({
time: 100
}, 'swing');
},
multihit: true
},
iciclespear: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('icicle', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 1,
opacity: 0.6
}, {
x: defender.x,
y: defender.y,
z: defender.z,
opacity: 0.6,
time: 300
}, 'linear', 'explode');
battle.showEffect('icicle', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: .5,
opacity: 0.6,
time: 75
}, {
x: defender.x,
y: defender.y,
z: defender.z,
opacity: 0.6,
time: 375
}, 'linear', 'fade');
battle.showEffect('icicle', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: .5,
opacity: 0.6,
time: 150
}, {
x: defender.x,
y: defender.y,
z: defender.z,
opacity: 0.6,
time: 450
}, 'linear', 'fade');
},
multihit: true
},
tailslap: {
anim: BattleOtherAnims.contactattack.anim,
multihit: true
},
furyswipes: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
BattleOtherAnims.xattack.anim(battle, args);
battle.showEffect('leftslash', {
x: defender.x - 20,
y: defender.y + 20,
z: defender.z,
scale: 1,
opacity: 1,
time: 400
}, {
x: defender.x - 20,
y: defender.y + 20,
z: defender.z,
scale: 1.5,
opacity: 0,
time: 700
}, 'linear', 'fade');
battle.showEffect('leftslash', {
x: defender.x - 20,
y: defender.y - 20,
z: defender.z,
scale: 1,
opacity: 1,
time: 400
}, {
x: defender.x - 20,
y: defender.y - 20,
z: defender.z,
scale: 1.5,
opacity: 0,
time: 700
}, 'linear', 'fade');
battle.showEffect('rightslash', {
x: defender.x + 20,
y: defender.y + 20,
z: defender.z,
scale: 1,
opacity: 1,
time: 700
}, {
x: defender.x + 20,
y: defender.y + 20,
z: defender.z,
scale: 1.5,
opacity: 0,
time: 1000
}, 'linear', 'fade');
battle.showEffect('rightslash', {
x: defender.x + 20,
y: defender.y - 20,
z: defender.z,
scale: 1,
opacity: 1,
time: 700
}, {
x: defender.x + 20,
y: defender.y - 20,
z: defender.z,
scale: 1.5,
opacity: 0,
time: 1000
}, 'linear', 'fade');
},
multihit: true
},
furyattack: {
anim: BattleOtherAnims.xattack.anim,
multihit: true
},
bulletseed: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('energyball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: .4,
opacity: 0.6
}, {
x: defender.x,
y: defender.y,
z: defender.z,
opacity: 0.6,
time: 300
}, 'linear', 'explode');
battle.showEffect('energyball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: .2,
opacity: 0.6,
time: 30
}, {
x: defender.x,
y: defender.y,
z: defender.z,
opacity: 0.6,
time: 330
}, 'linear', 'fade');
},
multihit: true
},
spikecannon: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('electroball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: .4,
opacity: 0.6
}, {
x: defender.x,
y: defender.y,
z: defender.z,
opacity: 0.6,
time: 300
}, 'linear', 'explode');
battle.showEffect('electroball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: .2,
opacity: 0.6,
time: 30
}, {
x: defender.x,
y: defender.y,
z: defender.z,
opacity: 0.6,
time: 330
}, 'linear', 'fade');
},
multihit: true
},
twineedle: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('energyball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: .4,
opacity: 0.6
}, {
x: defender.x - 35,
y: defender.y + 10,
z: defender.z,
opacity: 0.6,
time: 300
}, 'linear', 'explode');
battle.showEffect('energyball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: .4,
opacity: 0.6,
time: 200
}, {
x: defender.x + 20,
y: defender.y - 20,
z: defender.z,
opacity: 0.6,
time: 500
}, 'linear', 'explode');
},
multihit: true
},
razorshell: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
BattleOtherAnims.contactattack.anim(battle, args);
battle.showEffect('iceball', {
x: defender.x + 10,
y: defender.y - 10,
z: defender.z,
scale: 1.5,
opacity: 0.6,
time: 700
}, {
scale: 2,
opacity: 0,
time: 1000
}, 'accel', 'fade');
battle.showEffect('leftslash', {
x: defender.x - 10,
y: defender.y - 10,
z: defender.z,
scale: 1.5,
opacity: 0.6,
time: 600
}, {
scale: 2,
opacity: 0,
time: 1000
}, 'accel', 'fade');
battle.showEffect('shell', {
x: defender.x - 60,
y: defender.y + 70,
z: defender.z,
scale: 0.75,
opacity: 1,
time: 400
}, {
x: defender.x + 60,
y: defender.y - 70,
scale: 0.6,
opacity: 0,
time: 700
}, 'decel');
}
},
crabhammer: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
BattleOtherAnims.contactattack.anim(battle, args);
battle.showEffect('waterwisp', {
x: defender.x,
y: defender.y + 80,
z: defender.behind(-15),
scale: 1.5,
opacity: 0.8,
time: 400
}, {
y: defender.y,
z: defender.z,
scale: 0.5,
opacity: 1,
time: 500
}, 'linear', 'explode');
battle.showEffect('waterwisp', {
x: defender.x,
y: defender.y - 25,
z: defender.z,
scale: 1,
time: 500
}, {
x: defender.x + 50,
scale: 0.6,
opacity: 0.3,
time: 800
}, 'linear', 'fade');
battle.showEffect('waterwisp', {
x: defender.x,
y: defender.y - 25,
z: defender.z,
scale: 1,
time: 500
}, {
x: defender.x - 50,
scale: 0.6,
opacity: 0.3,
time: 800
}, 'linear', 'fade');
}
},
aquajet: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('waterwisp', {
x: attacker.x + 20,
y: attacker.y + 30,
z: defender.z,
scale: 0,
opacity: 1
}, {
y: attacker.y - 20,
scale: 4,
opacity: 0
}, 'decel');
battle.showEffect('waterwisp', {
x: Math.floor((attacker.x + defender.x) / 2) - 20,
y: Math.floor((attacker.y + defender.y) / 2) + 30,
z: Math.floor((attacker.z + defender.z) / 2),
scale: 0,
opacity: 1,
time: 150
}, {
y: Math.floor((attacker.y + defender.y) / 2) - 20,
scale: 4,
opacity: 0
}, 'decel');
battle.showEffect('waterwisp', {
x: defender.x + 10,
y: defender.y + 30,
z: defender.z,
scale: 0,
opacity: 1,
time: 300
}, {
y: defender.y - 20,
scale: 4,
opacity: 0
}, 'decel');
battle.showEffect(attacker.sp, {
x: attacker.x,
y: attacker.y,
z: attacker.z,
opacity: .3,
time: 50
}, {
x: defender.x,
y: defender.y,
z: defender.behind(70),
time: 350
}, 'accel', 'fade');
battle.showEffect(attacker.sp, {
x: attacker.x,
y: attacker.y,
z: attacker.z,
opacity: .3,
time: 100
}, {
x: defender.x,
y: defender.y,
z: defender.behind(70),
time: 400
}, 'accel', 'fade');
attacker.anim({
x: defender.x,
y: defender.y,
z: defender.behind(70),
time: 300,
opacity: .5
}, 'accel');
attacker.anim({
x: defender.x,
y: defender.x,
z: defender.behind(100),
opacity: 0,
time: 100
}, 'linear');
attacker.anim({
x: attacker.x,
y: attacker.y,
z: attacker.behind(70),
opacity: 0,
time: 1
}, 'linear');
attacker.anim({
opacity: 1,
time: 500
}, 'decel');
defender.delay(260);
defender.anim({
z: defender.behind(30),
time: 100
}, 'swing');
defender.anim({
time: 300
}, 'swing');
}
},
iceshard: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('icicle', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 1.5,
opacity: 0.2
}, {
x: defender.x,
y: defender.y,
z: defender.z,
opacity: 0.6,
time: 300
}, 'linear', 'explode');
battle.showEffect('icicle', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 1.5,
opacity: 0.1,
time: 100
}, {
x: defender.x,
y: defender.y,
z: defender.z,
opacity: 0.3,
time: 400
}, 'linear', 'fade');
battle.showEffect('icicle', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 1.5,
opacity: 0.1,
time: 200
}, {
x: defender.x,
y: defender.y,
z: defender.z,
opacity: 0.3,
time: 500
}, 'linear', 'fade');
}
},
watershuriken: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('waterwisp', {
x: attacker.x + 20,
y: attacker.y + 30,
z: defender.z,
scale: 0,
opacity: 1
}, {
y: attacker.y - 20,
scale: 4,
opacity: 0
}, 'decel');
battle.showEffect('waterwisp', {
x: Math.floor((attacker.x + defender.x) / 2) - 20,
y: Math.floor((attacker.y + defender.y) / 2) + 30,
z: Math.floor((attacker.z + defender.z) / 2),
scale: 0,
opacity: 1,
time: 150
}, {
y: Math.floor((attacker.y + defender.y) / 2) - 20,
scale: 4,
opacity: 0
}, 'decel');
battle.showEffect('waterwisp', {
x: defender.x + 10,
y: defender.y + 30,
z: defender.z,
scale: 0,
opacity: 1,
time: 300
}, {
y: defender.y - 20,
scale: 4,
opacity: 0
}, 'decel');
battle.showEffect('icicle', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
opacity: .3,
time: 50
}, {
x: defender.x,
y: defender.y,
z: defender.behind(70),
time: 350
}, 'accel', 'fade');
battle.showEffect('icicle', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
opacity: .3,
time: 100
}, {
x: defender.x,
y: defender.y,
z: defender.behind(70),
time: 400
}, 'accel', 'fade');
battle.showEffect('icicle', {
x: attacker.x,
y: attacker.y,
z: attacker.z
}, {
x: defender.x,
y: defender.y,
z: defender.behind(70),
time: 300,
opacity: .5
}, 'accel', 'fade');
},
multihit: true
},
icebeam: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
var xstep = (defender.x - attacker.x) / 5;
var ystep = (defender.y - attacker.y) / 5;
var zstep = (defender.z - attacker.z) / 5;
for (var i = 0; i < 4; i++) {
battle.showEffect('icicle', {
x: attacker.x + xstep * (i + 1),
y: attacker.y + ystep * (i + 1),
z: attacker.z + zstep * (i + 1),
scale: 1.5,
opacity: 0.6,
time: 40 * i
}, {
opacity: 0,
time: 40 * i + 600
}, 'linear');
}
battle.showEffect('iceball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 1,
time: 100
}, {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 2,
opacity: 0,
time: 400
}, 'linear');
battle.showEffect('iceball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 1,
time: 300
}, {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 2,
opacity: 0,
time: 600
}, 'linear');
battle.showEffect('wisp', {
x: defender.x - 30,
y: defender.y,
z: defender.z,
scale: 2,
opacity: 0.5,
time: 200
}, {
scale: 4,
opacity: 0,
time: 600
}, 'linear', 'fade');
battle.showEffect('wisp', {
x: defender.x,
y: defender.y - 30,
z: defender.z,
scale: 2,
opacity: 0.5,
time: 300
}, {
scale: 4,
opacity: 0,
time: 650
}, 'linear', 'fade');
battle.showEffect('wisp', {
x: defender.x + 15,
y: defender.y,
z: defender.z,
scale: 2,
opacity: 0.5,
time: 400
}, {
scale: 4,
opacity: 0,
time: 700
}, 'linear', 'fade');
}
},
freezedry: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('icicle', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 1,
opacity: 0.2
}, {
x: defender.x,
y: defender.y,
z: defender.behind(20),
opacity: 0.6,
time: 400
}, 'linear', 'explode');
battle.showEffect('icicle', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 1,
opacity: 0.2,
time: 100
}, {
x: defender.x + 10,
y: defender.y - 5,
z: defender.behind(20),
opacity: 0.6,
time: 500
}, 'linear', 'explode');
battle.showEffect('icicle', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 1,
opacity: 0.2,
time: 200
}, {
x: defender.x - 10,
y: defender.y + 5,
z: defender.behind(20),
opacity: 0.6,
time: 600
}, 'linear', 'explode');
battle.showEffect('icicle', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.5,
opacity: 0.2,
time: 300
}, {
x: defender.x,
y: defender.y - 5,
z: defender.behind(20),
opacity: 0.6,
time: 700
}, 'linear', 'explode');
battle.showEffect('wisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 2.4,
opacity: 0.3
}, {
x: defender.x + 10,
y: defender.y + 5,
z: defender.behind(30),
scale: 3,
opacity: 0.6,
time: 400
}, 'linear', 'explode');
battle.showEffect('wisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 2.4,
opacity: 0.3,
time: 100
}, {
x: defender.x - 10,
y: defender.y - 5,
z: defender.behind(30),
scale: 3,
opacity: 0.6,
time: 500
}, 'linear', 'explode');
battle.showEffect('wisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 2.4,
opacity: 0.3,
time: 200
}, {
x: defender.x,
y: defender.y + 5,
z: defender.behind(30),
scale: 3,
opacity: 0.6,
time: 600
}, 'linear', 'explode');
battle.showEffect('wisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 2.4,
opacity: 0.3,
time: 300
}, {
x: defender.x,
y: defender.y + 5,
z: defender.behind(30),
scale: 3,
opacity: 0.6,
time: 700
}, 'linear', 'explode');
}
},
icywind: {
anim: function (battle, args) {
var attacker = args[0];
var defender;
for (var i = 1; i < args.length; i++) {
defender = args[i];
battle.showEffect('wisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 1.7,
opacity: 0.3
}, {
x: defender.x + 10,
y: defender.y + 5,
z: defender.behind(30),
scale: 2.5,
opacity: 0.4,
time: 400
}, 'linear', 'explode');
battle.showEffect('wisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 1.7,
opacity: 0.3,
time: 100
}, {
x: defender.x - 10,
y: defender.y - 5,
z: defender.behind(30),
scale: 2.5,
opacity: 0.4,
time: 500
}, 'linear', 'explode');
battle.showEffect('wisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 1.7,
opacity: 0.3,
time: 200
}, {
x: defender.x,
y: defender.y + 5,
z: defender.behind(30),
scale: 2.5,
opacity: 0.4,
time: 600
}, 'linear', 'explode');
battle.showEffect('wisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 1.7,
opacity: 0.3,
time: 300
}, {
x: defender.x,
y: defender.y + 5,
z: defender.behind(30),
scale: 2.5,
opacity: 0.4,
time: 700
}, 'linear', 'explode');
battle.showEffect('icicle', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.3,
opacity: 0.2
}, {
x: defender.x,
y: defender.y,
z: defender.behind(20),
opacity: 0.6,
time: 400
}, 'linear', 'fade');
battle.showEffect('icicle', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.3,
opacity: 0.2,
time: 200
}, {
x: defender.x - 10,
y: defender.y + 5,
z: defender.behind(20),
opacity: 0.6,
time: 600
}, 'linear', 'fade');
battle.showEffect('icicle', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.3,
opacity: 0.2,
time: 300
}, {
x: defender.x,
y: defender.y - 5,
z: defender.behind(20),
opacity: 0.6,
time: 700
}, 'linear', 'fade');
}
}
},
ancientpower: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('rock3', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: .2,
opacity: 0.2
}, {
x: defender.x + 50,
y: defender.y + 20,
z: defender.behind(20),
opacity: 0.6,
scale: .7,
time: 400
}, 'linear', 'explode');
battle.showEffect('rock3', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: .2,
opacity: 0.2
}, {
x: defender.x + 40,
y: defender.y - 30,
z: defender.behind(20),
opacity: 0.6,
scale: .7,
time: 400
}, 'linear', 'explode');
battle.showEffect('rock3', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: .2,
opacity: 0.7
}, {
x: defender.x - 50,
y: defender.y + 5,
z: defender.behind(20),
opacity: 0.6,
scale: .8,
time: 400
}, 'linear', 'explode');
}
},
powergem: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('iceball', {
x: attacker.x,
y: attacker.y + 45,
z: attacker.z,
scale: 0.4,
opacity: 0.2
}, {
x: defender.x - 10,
y: defender.y + 5,
z: defender.behind(5),
opacity: 0.3,
time: 300
}, 'linear', 'explode');
battle.showEffect('iceball', {
x: attacker.x - 45,
y: attacker.y - 20,
z: attacker.z,
scale: 0.4,
opacity: 0.2,
time: 100
}, {
x: defender.x - 10,
y: defender.y + 5,
z: defender.behind(5),
opacity: 0.3,
time: 400
}, 'linear', 'explode');
battle.showEffect('iceball', {
x: attacker.x + 45,
y: attacker.y - 20,
z: attacker.z,
scale: 0.4,
opacity: 0.2,
time: 200
}, {
x: defender.x - 10,
y: defender.y + 5,
z: defender.behind(5),
opacity: 0.3,
time: 500
}, 'linear', 'explode');
battle.showEffect('shine', {
x: attacker.x,
y: attacker.y + 45,
z: attacker.z,
scale: 0.4,
opacity: 0.2
}, {
x: defender.x - 10,
y: defender.y + 5,
z: defender.behind(5),
opacity: 0.3,
time: 300
}, 'linear', 'explode');
battle.showEffect('shine', {
x: attacker.x - 45,
y: attacker.y - 20,
z: attacker.z,
scale: 0.4,
opacity: 0.2,
time: 100
}, {
x: defender.x - 10,
y: defender.y + 5,
z: defender.behind(5),
opacity: 0.3,
time: 400
}, 'linear', 'explode');
battle.showEffect('shine', {
x: attacker.x + 45,
y: attacker.y - 20,
z: attacker.z,
scale: 0.4,
opacity: 0.2,
time: 200
}, {
x: defender.x - 10,
y: defender.y + 5,
z: defender.behind(5),
opacity: 0.3,
time: 500
}, 'linear', 'explode');
battle.showEffect('iceball', {
x: defender.x - 15,
y: defender.y,
z: defender.z,
scale: 0.5,
opacity: 0.5,
time: 300
}, {
scale: 2,
opacity: 0,
time: 600
}, 'linear');
battle.showEffect('iceball', {
x: defender.x + 15,
y: defender.y,
z: defender.z,
scale: 0.5,
opacity: 0.5,
time: 400
}, {
scale: 2,
opacity: 0,
time: 700
}, 'linear');
battle.showEffect('iceball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0.5,
opacity: 0.5,
time: 500
}, {
scale: 2,
opacity: 0,
time: 800
}, 'linear');
defender.delay(325);
defender.anim({
z: defender.behind(5),
time: 75
}, 'swing');
defender.anim({
time: 75
}, 'swing');
defender.anim({
z: defender.behind(5),
time: 75
}, 'swing');
defender.anim({
time: 75
}, 'swing');
defender.anim({
z: defender.behind(5),
time: 75
}, 'swing');
defender.anim({
time: 150
}, 'swing');
}
},
chargebeam: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('electroball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: .5,
opacity: 0.2
}, {
x: defender.x,
y: defender.y,
z: defender.behind(20),
opacity: 0.6,
time: 200
}, 'linear', 'explode');
battle.showEffect('electroball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: .5,
opacity: 0.2,
time: 50
}, {
x: defender.x + 10,
y: defender.y - 5,
z: defender.behind(20),
opacity: 0.6,
time: 250
}, 'linear', 'explode');
battle.showEffect('electroball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: .5,
opacity: 0.2,
time: 100
}, {
x: defender.x - 10,
y: defender.y + 5,
z: defender.behind(20),
opacity: 0.6,
time: 300
}, 'linear', 'explode');
battle.showEffect('electroball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: .5,
opacity: 0.2,
time: 150
}, {
x: defender.x,
y: defender.y - 5,
z: defender.behind(20),
opacity: 0.6,
time: 350
}, 'linear', 'explode');
}
},
psybeam: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('mistball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: .5,
opacity: 0.2
}, {
x: defender.x,
y: defender.y,
z: defender.behind(20),
opacity: 0.6,
time: 200
}, 'linear', 'explode');
battle.showEffect('poisonwisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: .5,
opacity: 0.2,
time: 50
}, {
x: defender.x + 10,
y: defender.y - 5,
z: defender.behind(20),
opacity: 0.6,
time: 250
}, 'linear', 'explode');
battle.showEffect('mistball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: .5,
opacity: 0.2,
time: 100
}, {
x: defender.x - 10,
y: defender.y + 5,
z: defender.behind(20),
opacity: 0.6,
time: 300
}, 'linear', 'explode');
battle.showEffect('poisonwisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: .5,
opacity: 0.2,
time: 150
}, {
x: defender.x,
y: defender.y - 5,
z: defender.behind(20),
opacity: 0.6,
time: 350
}, 'linear', 'explode');
}
},
flamethrower: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('fireball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 1,
opacity: 0.7
}, {
x: defender.x,
y: defender.y,
z: defender.z,
opacity: 0.6,
time: 400
}, 'decel', 'explode');
battle.showEffect('fireball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 1,
opacity: 0.7,
time: 100
}, {
x: defender.x + 10,
y: defender.y - 5,
z: defender.behind(0),
opacity: 0.6,
time: 500
}, 'decel', 'explode');
battle.showEffect('fireball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 1,
opacity: 0.7,
time: 200
}, {
x: defender.x - 10,
y: defender.y + 5,
z: defender.behind(0),
opacity: 0.6,
time: 600
}, 'decel', 'explode');
battle.showEffect('fireball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 1,
opacity: 0.7,
time: 300
}, {
x: defender.x,
y: defender.y - 5,
z: defender.behind(0),
opacity: 0.6,
time: 700
}, 'decel', 'explode');
}
},
toxic: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('poisonwisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.1,
opacity: 0
}, {
x: defender.x,
y: defender.y,
z: defender.z,
scale: .6,
opacity: 1,
time: 400
}, 'ballistic', 'explode');
}
},
sludge: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('poisonwisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.1,
opacity: 0
}, {
x: defender.x,
y: defender.y,
z: defender.z,
scale: .7,
opacity: 1,
time: 400
}, 'ballistic', 'fade');
battle.showEffect('poisonwisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.1,
opacity: 0,
time: 100
}, {
x: defender.x,
y: defender.y,
z: defender.z,
scale: .7,
opacity: 1,
time: 500
}, 'ballistic', 'fade');
battle.showEffect('poisonwisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.1,
opacity: 0,
time: 200
}, {
x: defender.x,
y: defender.y,
z: defender.z,
scale: .7,
opacity: 1,
time: 600
}, 'ballistic', 'fade');
}
},
sludgewave: {
anim: function (battle, args) {
var attacker = args[0];
var defender;
for (var i = 1; i < args.length; i++) {
defender = args[i];
defender.delay(125);
defender.anim({
z: defender.behind(5),
time: 75
}, 'swing');
defender.anim({
time: 75
}, 'swing');
defender.anim({
z: defender.behind(5),
time: 75
}, 'swing');
defender.anim({
time: 75
}, 'swing');
defender.anim({
z: defender.behind(5),
time: 75
}, 'swing');
defender.anim({
time: 75
}, 'swing');
}
if (args.length > 2) defender = args[2];
battle.backgroundEffect('#AA00AA', 700, 0.2);
battle.showEffect('poisonwisp', {
x: attacker.x,
y: attacker.y - 25,
z: attacker.z,
scale: 0.3,
opacity: 0.3
}, {
x: defender.x,
y: defender.y + 10,
z: defender.behind(50),
scale: 2,
opacity: 0.6
}, 'decel', 'explode');
battle.showEffect('poisonwisp', {
x: attacker.x - 30,
y: attacker.y - 25,
z: attacker.z,
scale: 0.3,
opacity: 0.3
}, {
x: defender.x - 60,
y: defender.y,
z: defender.behind(50),
scale: 2,
opacity: 0.6
}, 'decel', 'explode');
battle.showEffect('poisonwisp', {
x: attacker.x + 30,
y: attacker.y - 25,
z: attacker.z,
scale: 0.3,
opacity: 0.3
}, {
x: defender.x + 60,
y: defender.y,
z: defender.behind(50),
scale: 2,
opacity: 0.6
}, 'decel', 'explode');
}
},
sludgebomb: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('poisonwisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.1,
opacity: 0
}, {
x: defender.x,
y: defender.y,
z: defender.z,
scale: .7,
opacity: 1,
time: 400
}, 'ballistic', 'explode');
battle.showEffect('poisonwisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.1,
opacity: 0,
time: 100
}, {
x: defender.x + 40,
y: defender.y - 20,
z: defender.z,
scale: .7,
opacity: 1,
time: 500
}, 'ballistic', 'explode');
battle.showEffect('poisonwisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.1,
opacity: 0,
time: 200
}, {
x: defender.x - 30,
y: defender.y - 10,
z: defender.z,
scale: .7,
opacity: 1,
time: 600
}, 'ballistic', 'explode');
}
},
mudbomb: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('mudwisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.1,
opacity: 0
}, {
x: defender.x,
y: defender.y,
z: defender.z,
scale: .7,
opacity: 1,
time: 400
}, 'ballistic', 'explode');
battle.showEffect('mudwisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.1,
opacity: 0,
time: 100
}, {
x: defender.x + 40,
y: defender.y - 20,
z: defender.z,
scale: .7,
opacity: 1,
time: 500
}, 'ballistic', 'explode');
battle.showEffect('mudwisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.1,
opacity: 0,
time: 200
}, {
x: defender.x - 30,
y: defender.y - 10,
z: defender.z,
scale: .7,
opacity: 1,
time: 600
}, 'ballistic', 'explode');
}
},
magnetbomb: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('iceball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.1,
opacity: 0
}, {
x: defender.x,
y: defender.y,
z: defender.z,
scale: .7,
opacity: 1,
time: 400
}, 'ballistic', 'explode');
battle.showEffect('iceball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.1,
opacity: 0,
time: 100
}, {
x: defender.x + 40,
y: defender.y - 20,
z: defender.z,
scale: .7,
opacity: 1,
time: 500
}, 'ballistic', 'explode');
battle.showEffect('iceball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.1,
opacity: 0,
time: 200
}, {
x: defender.x - 30,
y: defender.y - 10,
z: defender.z,
scale: .7,
opacity: 1,
time: 600
}, 'ballistic', 'explode');
}
},
seedbomb: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('energyball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.1,
opacity: 0
}, {
x: defender.x,
y: defender.y,
z: defender.z,
scale: .7,
opacity: 1,
time: 400
}, 'ballistic', 'explode');
battle.showEffect('energyball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.1,
opacity: 0,
time: 100
}, {
x: defender.x + 40,
y: defender.y - 20,
z: defender.z,
scale: .7,
opacity: 1,
time: 500
}, 'ballistic', 'explode');
battle.showEffect('energyball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.1,
opacity: 0,
time: 200
}, {
x: defender.x - 30,
y: defender.y - 10,
z: defender.z,
scale: .7,
opacity: 1,
time: 600
}, 'ballistic', 'explode');
}
},
willowisp: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('bluefireball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.4,
opacity: 0
}, {
x: defender.leftof(40),
y: defender.y + 15,
z: defender.z,
scale: 0.8,
opacity: .7,
time: 500
}, 'decel', 'fade');
if (defender.isMissedPokemon) return;
battle.showEffect('bluefireball', {
x: defender.leftof(40),
y: defender.y + 15,
z: defender.z,
scale: 0.8,
opacity: .7,
time: 500
}, {
x: defender.leftof(-40),
y: defender.y,
z: defender.z,
scale: .7,
opacity: 1,
time: 700
}, 'swing', 'fade');
battle.showEffect('bluefireball', {
x: defender.leftof(-40),
y: defender.y,
z: defender.z,
scale: 0.1,
opacity: 0,
time: 700
}, {
x: defender.leftof(10),
y: defender.y - 15,
z: defender.z,
scale: .7,
opacity: 1,
time: 900
}, 'swing', 'explode');
}
},
confuseray: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('electroball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.15,
opacity: 0
}, {
x: defender.leftof(40),
y: defender.y + 15,
z: defender.z,
scale: 0.3,
opacity: .7,
time: 500
}, 'decel', 'fade');
if (defender.isMissedPokemon) return;
battle.showEffect('electroball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.15,
opacity: 0
}, {
x: defender.leftof(40),
y: defender.y + 15,
z: defender.z,
scale: 0.3,
opacity: .7,
time: 500
}, 'decel', 'fade');
battle.showEffect('electroball', {
x: defender.leftof(40),
y: defender.y + 15,
z: defender.z,
scale: 0.3,
opacity: .7,
time: 500
}, {
x: defender.leftof(-40),
y: defender.y,
z: defender.z,
scale: 0.2,
opacity: 1,
time: 700
}, 'swing', 'fade');
battle.showEffect('electroball', {
x: defender.leftof(-40),
y: defender.y,
z: defender.z,
scale: 0.1,
opacity: 0,
time: 700
}, {
x: defender.leftof(10),
y: defender.y - 15,
z: defender.z,
scale: 0.5,
opacity: 1,
time: 900
}, 'swing', 'explode');
}
},
lovelykiss: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('heart', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.6,
opacity: 0
}, {
x: defender.leftof(40),
y: defender.y + 15,
z: defender.z,
scale: 0.7,
opacity: .7,
time: 500
}, 'decel', 'fade');
if (defender.isMissedPokemon) return;
battle.showEffect('heart', {
x: defender.leftof(40),
y: defender.y + 15,
z: defender.z,
scale: 0.7,
opacity: .7,
time: 500
}, {
x: defender.leftof(-40),
y: defender.y,
z: defender.z,
scale: 0.6,
opacity: 1,
time: 700
}, 'swing', 'fade');
battle.showEffect('heart', {
x: defender.leftof(-40),
y: defender.y,
z: defender.z,
scale: 0.7,
opacity: 0,
time: 700
}, {
x: defender.leftof(10),
y: defender.y - 15,
z: defender.z,
scale: 1,
opacity: 1,
time: 900
}, 'swing', 'explode');
}
},
rockwrecker: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.backgroundEffect('#000000', 700, 0.7);
battle.showEffect('rock3', {
x: attacker.x,
y: attacker.y - 20,
z: attacker.z,
scale: 1,
opacity: 0.6
}, {
x: attacker.x,
y: attacker.y + 20,
opacity: 0,
time: 350
}, 'decel');
battle.showEffect('rock3', {
x: attacker.x,
y: attacker.y + 20,
z: attacker.z,
scale: 1,
opacity: 0.4,
time: 350
}, {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 1.2,
opacity: 1,
time: 550
}, 'linear', 'explode');
battle.showEffect('rock3', {
x: attacker.x,
y: attacker.y + 20,
z: attacker.z,
scale: 1,
opacity: 0.2,
time: 400
}, {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 1.2,
opacity: 0.2,
time: 600
}, 'linear', 'explode');
defender.delay(600);
defender.anim({
z: defender.behind(20),
time: 200
}, 'swing');
defender.anim({
time: 300
}, 'swing');
}
},
stoneedge: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('rock3', {
x: defender.x + 15,
y: defender.y - 50,
z: defender.z,
scale: 0.5
}, {
y: defender.y + 60,
yscale: 1,
opacity: 0,
time: 350
}, 'accel');
battle.showEffect('rock3', {
x: defender.x + 30,
y: defender.y - 50,
z: defender.z,
scale: 0.5,
time: 150
}, {
y: defender.y + 60,
yscale: 1,
opacity: 0,
time: 500
}, 'accel');
battle.showEffect('rock3', {
x: defender.x - 30,
y: defender.y - 50,
z: defender.z,
scale: 0.5,
time: 300
}, {
y: defender.y + 60,
yscale: 1,
opacity: 0,
time: 650
}, 'accel');
battle.showEffect('rock3', {
x: defender.x,
y: defender.y - 50,
z: defender.z,
scale: 0.5,
time: 400
}, {
y: defender.y + 60,
yscale: 1,
opacity: 0,
time: 750
}, 'accel');
battle.showEffect('rock3', {
x: defender.x - 15,
y: defender.y - 50,
z: defender.z,
scale: 0.5,
time: 500
}, {
y: defender.y + 60,
yscale: 1,
opacity: 0,
time: 850
}, 'accel');
}
},
rockslide: {
anim: function (battle, args) {
var attacker = args[0];
var defender;
for (var i = 1; i < args.length; i++) {
defender = args[i];
defender.delay(200);
defender.anim({
y: defender.y - 7,
yscale: 0.9,
time: 100
}, 'decel');
defender.anim({
time: 200
});
defender.delay(200);
defender.anim({
y: defender.y - 7,
yscale: 0.9,
time: 100
}, 'decel');
defender.anim({
time: 200
});
battle.showEffect('rock1', {
x: defender.x + 15,
y: defender.y + 100,
z: defender.z,
opacity: 0,
scale: .5
}, {
y: defender.y - 30,
opacity: 1,
time: 300
}, 'accel', 'explode');
battle.showEffect('rock2', {
x: defender.x + 30,
y: defender.y + 100,
z: defender.z,
opacity: 0,
scale: .5,
time: 100
}, {
y: defender.y - 30,
opacity: 1,
time: 400
}, 'accel', 'explode');
battle.showEffect('rock1', {
x: defender.x - 30,
y: defender.y + 100,
z: defender.z,
opacity: 0,
scale: .5,
time: 200
}, {
y: defender.y - 30,
opacity: 1,
time: 500
}, 'accel', 'explode');
battle.showEffect('rock2', {
x: defender.x,
y: defender.y + 100,
z: defender.z,
opacity: 0,
scale: .5,
time: 300
}, {
y: defender.y - 30,
opacity: 1,
time: 600
}, 'accel', 'explode');
battle.showEffect('rock1', {
x: defender.x - 15,
y: defender.y + 100,
z: defender.z,
opacity: 0,
scale: .5,
time: 400
}, {
y: defender.y - 30,
opacity: 1,
time: 700
}, 'accel', 'explode');
battle.showEffect('mudwisp', {
x: defender.x + 40,
y: defender.y - 40,
z: defender.z,
scale: 0,
opacity: 0.4,
time: 300
}, {
scale: 2,
opacity: 0
}, 'decel');
battle.showEffect('mudwisp', {
x: defender.x - 40,
y: defender.y - 40,
z: defender.z,
scale: 0,
opacity: 0.4,
time: 450
}, {
scale: 2,
opacity: 0
}, 'decel');
battle.showEffect('mudwisp', {
x: defender.x + 10,
y: defender.y - 40,
z: defender.z,
scale: 0,
opacity: 0.4,
time: 600
}, {
scale: 2,
opacity: 0
}, 'decel');
}
}
},
avalanche: {
anim: function (battle, args) {
var defender = args[1];
defender.delay(200);
defender.anim({
y: defender.y - 7,
yscale: 0.9,
time: 100
}, 'decel');
defender.anim({
time: 200
});
defender.delay(200);
defender.anim({
y: defender.y - 7,
yscale: 0.9,
time: 100
}, 'decel');
defender.anim({
time: 200
});
battle.showEffect('wisp', {
x: defender.x + 15,
y: defender.y + 100,
z: defender.z,
opacity: 0,
scale: 0.8
}, {
y: defender.y - 30,
opacity: 1,
time: 300
}, 'accel', 'explode');
battle.showEffect('wisp', {
x: defender.x + 30,
y: defender.y + 100,
z: defender.z,
opacity: 0,
scale: 0.8,
time: 100
}, {
y: defender.y - 30,
opacity: 1,
time: 400
}, 'accel', 'explode');
battle.showEffect('wisp', {
x: defender.x - 30,
y: defender.y + 100,
z: defender.z,
opacity: 0,
scale: 0.8,
time: 200
}, {
y: defender.y - 30,
opacity: 1,
time: 500
}, 'accel', 'explode');
battle.showEffect('wisp', {
x: defender.x,
y: defender.y + 100,
z: defender.z,
opacity: 0,
scale: 0.8,
time: 300
}, {
y: defender.y - 30,
opacity: 1,
time: 600
}, 'accel', 'explode');
battle.showEffect('wisp', {
x: defender.x - 15,
y: defender.y + 100,
z: defender.z,
opacity: 0,
scale: 0.8,
time: 400
}, {
y: defender.y - 30,
opacity: 1,
time: 700
}, 'accel', 'explode');
battle.showEffect('wisp', {
x: defender.x + 40,
y: defender.y - 40,
z: defender.z,
scale: 0,
opacity: 0.4,
time: 300
}, {
scale: 2,
opacity: 0
}, 'decel');
battle.showEffect('wisp', {
x: defender.x - 40,
y: defender.y - 40,
z: defender.z,
scale: 0,
opacity: 0.4,
time: 450
}, {
scale: 2,
opacity: 0
}, 'decel');
battle.showEffect('wisp', {
x: defender.x + 10,
y: defender.y - 40,
z: defender.z,
scale: 0,
opacity: 0.4,
time: 600
}, {
scale: 2,
opacity: 0
}, 'decel');
}
},
thousandarrows: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[i];
for (var i = 1; i < args.length; i++) {
defender = args[i];
defender.delay(425);
defender.anim({
x: defender.x - 5,
time: 75
}, 'swing');
defender.anim({
x: defender.x + 5,
time: 75
}, 'swing');
defender.anim({
x: defender.x - 5,
time: 75
}, 'swing');
defender.anim({
x: defender.x + 5,
time: 75
}, 'swing');
defender.anim({
x: defender.x - 5,
time: 75
}, 'swing');
defender.anim({
x: defender.x + 5,
time: 75
}, 'swing');
defender.anim({
time: 100
}, 'accel');
}
battle.backgroundEffect('#000000', 1100, 0.3);
battle.showEffect('energyball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 1,
opacity: 0.5
}, {
scale: 6,
opacity: 0
}, 'linear');
battle.showEffect('wisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 1,
opacity: 0.5
}, {
scale: 3,
opacity: 0.3,
time: 600
}, 'decel', 'fade');
battle.showEffect('energyball', {
x: attacker.x,
y: attacker.y - 35,
z: attacker.z,
scale: 0.1,
opacity: 0.4,
time: 0
}, {
x: attacker.x + 30,
y: attacker.y + 200,
z: attacker.z,
scale: 0.2,
opacity: 0,
time: 300
}, 'decel');
battle.showEffect('energyball', {
x: attacker.x,
y: attacker.y - 35,
z: attacker.z,
scale: 0.1,
opacity: 0.4,
time: 50
}, {
x: attacker.x - 30,
y: attacker.y + 200,
z: attacker.z,
scale: 0.2,
opacity: 0,
time: 350
}, 'decel');
battle.showEffect('energyball', {
x: attacker.x,
y: attacker.y - 35,
z: attacker.z,
scale: 0.1,
opacity: 0.4,
time: 100
}, {
x: attacker.x - 10,
y: attacker.y + 200,
z: attacker.z,
scale: 0.2,
opacity: 0,
time: 400
}, 'decel');
battle.showEffect('energyball', {
x: attacker.x,
y: attacker.y - 35,
z: attacker.z,
scale: 0.1,
opacity: 0.4,
time: 150
}, {
x: attacker.x + 10,
y: attacker.y + 200,
z: attacker.z,
scale: 0.2,
opacity: 0,
time: 450
}, 'decel');
battle.showEffect('energyball', {
x: attacker.x,
y: attacker.y - 35,
z: attacker.z,
scale: 0.1,
opacity: 0.4,
time: 175
}, {
x: attacker.x + 35,
y: attacker.y + 200,
z: attacker.z,
scale: 0.2,
opacity: 0,
time: 500
}, 'decel', 'fade');
battle.showEffect('energyball', {
x: attacker.x,
y: attacker.y - 35,
z: attacker.z,
scale: 0.1,
opacity: 0.4,
time: 200
}, {
x: attacker.x,
y: attacker.y + 200,
z: attacker.behind(-10),
scale: 0.2,
opacity: 0,
time: 550
}, 'decel', 'fade');
battle.showEffect('energyball', {
x: defender.x - 20,
y: defender.y + 200,
z: defender.behind(5),
opacity: 0.4,
xscale: 0.1,
yscale: 5,
time: 375
}, {
y: defender.y + 150,
opacity: 0,
time: 675
}, 'decel');
battle.showEffect('energyball', {
x: defender.x - 20,
y: defender.y - 50,
z: defender.behind(5),
opacity: 0.4,
xscale: 0.3,
yscale: 0.1,
time: 390
}, {
xscale: 0.6,
yscale: 0.1,
opacity: 0,
time: 675
}, 'linear');
battle.showEffect('energyball', {
x: defender.x + 40,
y: defender.y + 200,
z: defender.behind(-5),
opacity: 0.4,
xscale: 0.1,
yscale: 5,
time: 525
}, {
y: defender.y + 150,
opacity: 0,
time: 800
}, 'decel');
battle.showEffect('energyball', {
x: defender.x + 40,
y: defender.y - 50,
z: defender.behind(-5),
opacity: 0.4,
xscale: 0.3,
yscale: 0.1,
time: 540
}, {
xscale: 0.6,
yscale: 0.1,
opacity: 0,
time: 800
}, 'linear');
battle.showEffect('energyball', {
x: defender.x - 70,
y: defender.y + 200,
z: defender.behind(-10),
opacity: 0.4,
xscale: 0.1,
yscale: 5,
time: 575
}, {
y: defender.y + 150,
z: defender.behind(-10),
opacity: 0,
time: 825
}, 'decel');
battle.showEffect('energyball', {
x: defender.x - 70,
y: defender.y - 50,
z: defender.z,
opacity: 0.4,
xscale: 0.3,
yscale: 0.1,
time: 590
}, {
xscale: 0.6,
yscale: 0.1,
opacity: 0,
time: 825
}, 'linear');
battle.showEffect('energyball', {
x: defender.x + 70,
y: defender.y + 200,
z: defender.behind(10),
opacity: 0.4,
xscale: 0.1,
yscale: 5,
time: 650
}, {
y: defender.y + 150,
opacity: 0,
time: 950
}, 'decel');
battle.showEffect('energyball', {
x: defender.x + 70,
y: defender.y - 50,
z: defender.behind(10),
opacity: 0.4,
xscale: 0.3,
yscale: 0.1,
time: 665
}, {
xscale: 0.6,
yscale: 0.1,
opacity: 0,
time: 950
}, 'linear');
battle.showEffect('energyball', {
x: defender.x,
y: defender.y + 200,
z: defender.z,
opacity: 0.4,
xscale: 0.1,
yscale: 5,
time: 700
}, {
y: defender.y + 150,
opacity: 0,
time: 1000
}, 'decel');
battle.showEffect('energyball', {
x: defender.x,
y: defender.y - 50,
z: defender.z,
opacity: 0.4,
xscale: 0.3,
yscale: 0.1,
time: 720
}, {
xscale: 0.6,
yscale: 0.1,
opacity: 0,
time: 1000
}, 'linear');
battle.showEffect('energyball', {
x: defender.x,
y: defender.y + 200,
z: defender.behind(-20),
opacity: 0.4,
xscale: 0.1,
yscale: 5,
time: 725
}, {
y: defender.y + 150,
opacity: 0,
time: 1025
}, 'decel');
battle.showEffect('energyball', {
x: defender.x,
y: defender.y - 35,
z: defender.behind(-20),
opacity: 0.4,
xscale: 0.3,
yscale: 0.1,
time: 740
}, {
xscale: 0.6,
yscale: 0.1,
opacity: 0,
time: 1025
}, 'linear');
}
},
thousandwaves: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[i];
for (var i = 1; i < args.length; i++) {
defender = args[i];
defender.delay(825);
defender.anim({
z: defender.behind(5),
time: 75
}, 'swing');
defender.anim({
time: 75
}, 'swing');
defender.anim({
z: defender.behind(5),
time: 75
}, 'swing');
defender.anim({
time: 75
}, 'swing');
defender.anim({
z: defender.behind(5),
time: 75
}, 'swing');
defender.anim({
time: 75
}, 'swing');
}
battle.backgroundEffect('#000000', 600, 0.3);
battle.backgroundEffect('#199C27', 600, 0.5, 500);
battle.showEffect('energyball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 1,
opacity: 0.5
}, {
scale: 6,
opacity: 0
}, 'linear');
battle.showEffect('wisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 1,
opacity: 0.5
}, {
scale: 3,
opacity: 0.3,
time: 600
}, 'decel', 'fade');
battle.showEffect('energyball', {
x: attacker.x,
y: attacker.y,
z: attacker.behind(-30),
scale: 0,
opacity: 0
}, {
y: attacker.y - 50,
scale: 0.1,
yscale: 0.4,
opacity: 0.3,
time: 400
}, 'decel', 'fade');
battle.showEffect('energyball', {
x: attacker.x,
y: attacker.y,
z: attacker.behind(-30),
scale: 0,
opacity: 0
}, {
y: attacker.y + 50,
scale: 0.1,
yscale: 0.4,
opacity: 0.5,
time: 400
}, 'decel', 'fade');
battle.showEffect('energyball', {
x: attacker.x,
y: attacker.y,
z: attacker.behind(-30),
scale: 0,
opacity: 0
}, {
x: attacker.x - 35,
y: attacker.y + 30,
scale: 0.1,
yscale: 0.4,
opacity: 0.6,
time: 400
}, 'decel', 'fade');
battle.showEffect('energyball', {
x: attacker.x,
y: attacker.y,
z: attacker.behind(-30),
scale: 0,
opacity: 0
}, {
x: attacker.x + 35,
y: attacker.y + 30,
scale: 0.1,
yscale: 0.4,
opacity: 0.4,
time: 400
}, 'decel', 'fade');
battle.showEffect('energyball', {
x: attacker.x,
y: attacker.y,
z: attacker.behind(-30),
scale: 0,
opacity: 0
}, {
x: attacker.x - 35,
y: attacker.y - 30,
scale: 0.1,
yscale: 0.4,
opacity: 1,
time: 400
}, 'decel', 'fade');
battle.showEffect('energyball', {
x: attacker.x,
y: attacker.y,
z: attacker.behind(-30),
scale: 0,
opacity: 0
}, {
x: attacker.x + 35,
y: attacker.y - 30,
scale: 0.1,
yscale: 0.4,
opacity: 1,
time: 400
}, 'decel', 'fade');
battle.showEffect('energyball', {
x: attacker.x,
y: attacker.y - 50,
z: attacker.behind(-30),
scale: 0.1,
yscale: 0.4,
opacity: 1,
time: 400
}, {
x: attacker.x - 5,
y: attacker.y - 25,
z: attacker.behind(-70),
scale: 0.2,
yscale: 0.3,
opacity: 0,
time: 600
}, 'ballistic', 'fade');
battle.showEffect('energyball', {
x: attacker.x,
y: attacker.y + 50,
z: attacker.behind(-30),
scale: 0.1,
yscale: 0.4,
opacity: 1,
time: 400
}, {
x: attacker.x - 5,
y: attacker.y - 25,
z: attacker.behind(-70),
scale: 0.2,
yscale: 0.3,
opacity: 0,
time: 620
}, 'ballistic', 'fade');
battle.showEffect('energyball', {
x: attacker.x - 35,
y: attacker.y - 10,
z: attacker.behind(-30),
scale: 0.1,
yscale: 0.4,
opacity: 1,
time: 400
}, {
x: attacker.x - 5,
y: attacker.y - 25,
z: attacker.behind(-70),
scale: 0.2,
yscale: 0.3,
opacity: 0,
time: 600
}, 'ballistic', 'fade');
battle.showEffect('energyball', {
x: attacker.x + 35,
y: attacker.y - 30,
z: attacker.behind(-30),
scale: 0.1,
yscale: 0.4,
opacity: 1,
time: 400
}, {
x: attacker.x - 5,
y: attacker.y - 25,
z: attacker.behind(-70),
scale: 0.2,
yscale: 0.3,
opacity: 0,
time: 630
}, 'ballistic', 'fade');
battle.showEffect('energyball', {
x: attacker.x - 35,
y: attacker.y + 30,
z: attacker.behind(-30),
scale: 0.1,
yscale: 0.4,
opacity: 1,
time: 400
}, {
x: attacker.x - 5,
y: attacker.y - 25,
z: attacker.behind(-70),
scale: 0.2,
yscale: 0.3,
opacity: 0,
time: 640
}, 'ballistic', 'fade');
battle.showEffect('energyball', {
x: attacker.x + 35,
y: attacker.y + 30,
z: attacker.behind(-30),
scale: 0.1,
yscale: 0.5,
opacity: 1,
time: 400
}, {
x: attacker.x - 5,
y: attacker.y - 25,
z: attacker.behind(-70),
scale: 0.2,
yscale: 0.4,
opacity: 0,
time: 600
}, 'ballistic', 'fade');
battle.showEffect('wisp', {
x: attacker.x,
y: attacker.y - 25,
z: attacker.behind(-70),
scale: 0.7,
opacity: 0.3,
time: 600
}, {
x: defender.x,
y: defender.y - 10,
z: defender.behind(30),
scale: 1.3,
opacity: 0.6
}, 'decel', 'explode');
battle.showEffect('wisp', {
x: attacker.x - 5,
y: attacker.y - 25,
z: attacker.behind(-70),
scale: 0.7,
opacity: 0.3,
time: 600
}, {
x: defender.x - 80,
y: defender.y - 10,
z: defender.behind(30),
scale: 1.3,
opacity: 0.6
}, 'decel', 'explode');
battle.showEffect('wisp', {
x: attacker.x + 5,
y: attacker.y - 25,
z: attacker.behind(-70),
scale: 0.7,
opacity: 0.3,
time: 600
}, {
x: defender.x + 55,
y: defender.y - 10,
z: defender.behind(30),
scale: 1.3,
opacity: 0.6
}, 'decel', 'explode');
battle.showEffect('energyball', {
x: attacker.x,
y: attacker.y - 50,
z: attacker.z,
scale: 1.5,
xscale: 6,
opacity: 0.1,
time: 900
}, {
scale: 1,
xscale: 3,
opacity: 0.6,
time: 1200
}, 'linear', 'fade');
attacker.anim({
y: attacker.y - 40,
scale: 0,
opacity: 0,
time: 300
}, 'linear');
attacker.delay(900);
attacker.anim({
time: 300
}, 'linear');
battle.activityWait(800);
}
},
iciclecrash: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('icicle', {
x: defender.x + 15,
y: defender.y + 70,
z: defender.z,
opacity: 0,
scale: 1
}, {
y: defender.y - 20,
opacity: 1,
xscale: 2,
time: 300
}, 'linear', 'explode');
battle.showEffect('icicle', {
x: defender.x + 30,
y: defender.y + 70,
z: defender.z,
opacity: 0,
scale: 1,
time: 100
}, {
y: defender.y - 20,
opacity: 1,
xscale: 2,
time: 400
}, 'linear', 'explode');
battle.showEffect('icicle', {
x: defender.x - 30,
y: defender.y + 70,
z: defender.z,
opacity: 0,
scale: 1,
time: 200
}, {
y: defender.y - 20,
opacity: 1,
xscale: 2,
time: 500
}, 'linear', 'explode');
battle.showEffect('icicle', {
x: defender.x,
y: defender.y + 70,
z: defender.z,
opacity: 0,
scale: 1,
time: 300
}, {
y: defender.y - 20,
opacity: 1,
xscale: 2,
time: 600
}, 'linear', 'explode');
battle.showEffect('icicle', {
x: defender.x - 15,
y: defender.y + 70,
z: defender.z,
opacity: 0,
scale: 1,
time: 400
}, {
y: defender.y - 20,
opacity: 1,
xscale: 2,
time: 700
}, 'linear', 'explode');
}
},
spore: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('poisonwisp', {
x: defender.x + 10,
y: defender.y + 90,
z: defender.z,
opacity: 0,
scale: .4
}, {
y: defender.y - 5,
opacity: 1,
time: 500
}, 'decel', 'fade');
battle.showEffect('poisonwisp', {
x: defender.x + 30,
y: defender.y + 90,
z: defender.z,
opacity: 0,
scale: .4,
time: 150
}, {
y: defender.y - 5,
opacity: 1,
time: 650
}, 'decel', 'fade');
battle.showEffect('poisonwisp', {
x: defender.x - 30,
y: defender.y + 90,
z: defender.z,
opacity: 0,
scale: .4,
time: 300
}, {
y: defender.y - 5,
opacity: 1,
time: 800
}, 'decel', 'fade');
}
},
fireblast: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.backgroundEffect('#000000', 500, 0.7);
battle.backgroundEffect('linear-gradient(#390000 30%, #B84038)', 600, 0.4, 500);
battle.showEffect('fireball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 1,
opacity: 0.2
}, {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 2,
opacity: 1,
time: 500
}, 'linear', 'fade');
battle.showEffect('fireball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 1,
opacity: 0.2,
time: 50
}, {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 2,
opacity: 1,
time: 550
}, 'linear', 'fade');
battle.showEffect('fireball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 2,
opacity: 1,
time: 500
}, {
x: defender.x,
y: defender.y + 100,
scale: 3,
opacity: 0,
time: 1100
}, 'linear', 'fade');
battle.showEffect('fireball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 2,
opacity: 1,
time: 500
}, {
x: defender.x - 60,
y: defender.y - 80,
scale: 3,
opacity: 0,
time: 1100
}, 'linear', 'fade');
battle.showEffect('fireball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 2,
opacity: 1,
time: 500
}, {
x: defender.x + 60,
y: defender.y - 80,
scale: 3,
opacity: 0,
time: 1100
}, 'linear', 'fade');
battle.showEffect('fireball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 2,
opacity: 1,
time: 500
}, {
x: defender.x - 90,
y: defender.y + 40,
scale: 3,
opacity: 0,
time: 1100
}, 'linear', 'fade');
battle.showEffect('fireball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 2,
opacity: 1,
time: 500
}, {
x: defender.x + 90,
y: defender.y + 40,
scale: 3,
opacity: 0,
time: 1100
}, 'linear', 'fade');
defender.delay(500);
defender.anim({
z: defender.behind(10),
time: 200
}, 'swing');
defender.anim({
time: 300
}, 'swing');
}
},
judgment: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.backgroundEffect('#000000', 950, 0.6);
battle.showEffect('wisp', {
x: defender.x - 100,
y: defender.y,
z: defender.z,
scale: .5,
opacity: 0.2
}, {
x: defender.x,
y: defender.y,
scale: 1,
opacity: 1,
time: 250
}, 'decel', 'fade');
battle.showEffect('wisp', {
x: defender.x + 70,
y: defender.y - 70,
z: defender.z,
scale: .5,
opacity: 0.2,
time: 100
}, {
x: defender.x,
y: defender.y,
scale: 1,
opacity: 1,
time: 350
}, 'decel', 'fade');
battle.showEffect('wisp', {
x: defender.x,
y: defender.y + 100,
z: defender.z,
scale: .5,
opacity: 0.2,
time: 200
}, {
x: defender.x,
y: defender.y,
scale: 1,
opacity: 1,
time: 450
}, 'decel', 'fade');
battle.showEffect('wisp', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 1,
opacity: 1,
time: 450
}, {
x: defender.x,
y: defender.y - 100,
scale: 0.9,
opacity: 0,
time: 950
}, 'linear', 'fade');
battle.showEffect('wisp', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 1,
opacity: 1,
time: 450
}, {
x: defender.x - 60,
y: defender.y + 80,
scale: 0.9,
opacity: 0,
time: 950
}, 'linear', 'fade');
battle.showEffect('wisp', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 1,
opacity: 1,
time: 450
}, {
x: defender.x + 60,
y: defender.y + 80,
scale: 0.9,
opacity: 0,
time: 950
}, 'linear', 'fade');
battle.showEffect('wisp', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 1,
opacity: 1,
time: 450
}, {
x: defender.x - 90,
y: defender.y - 40,
scale: 0.9,
opacity: 0,
time: 950
}, 'linear', 'fade');
battle.showEffect('wisp', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 1,
opacity: 1,
time: 450
}, {
x: defender.x + 90,
y: defender.y - 40,
scale: 0.9,
opacity: 0,
time: 950
}, 'linear', 'fade');
defender.delay(450);
defender.anim({
z: defender.behind(10),
time: 200
}, 'swing');
defender.anim({
time: 300
}, 'swing');
}
},
psystrike: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.backgroundEffect("url('fx/weather-psychicterrain.png')", 950, 0.6);
battle.showEffect('poisonwisp', {
x: defender.x - 100,
y: defender.y,
z: defender.z,
scale: .5,
opacity: 0.2
}, {
x: defender.x,
y: defender.y,
scale: 1,
opacity: 1,
time: 250
}, 'decel', 'fade');
battle.showEffect('poisonwisp', {
x: defender.x + 70,
y: defender.y - 70,
z: defender.z,
scale: .5,
opacity: 0.2,
time: 100
}, {
x: defender.x,
y: defender.y,
scale: 1,
opacity: 1,
time: 350
}, 'decel', 'fade');
battle.showEffect('poisonwisp', {
x: defender.x,
y: defender.y + 100,
z: defender.z,
scale: .5,
opacity: 0.2,
time: 200
}, {
x: defender.x,
y: defender.y,
scale: 1,
opacity: 1,
time: 450
}, 'decel', 'fade');
battle.showEffect('poisonwisp', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 1,
opacity: 1,
time: 450
}, {
x: defender.x,
y: defender.y - 100,
scale: 0.9,
opacity: 0,
time: 950
}, 'linear', 'fade');
battle.showEffect('poisonwisp', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 1,
opacity: 1,
time: 450
}, {
x: defender.x - 60,
y: defender.y + 80,
scale: 0.9,
opacity: 0,
time: 950
}, 'linear', 'fade');
battle.showEffect('poisonwisp', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 1,
opacity: 1,
time: 450
}, {
x: defender.x + 60,
y: defender.y + 80,
scale: 0.9,
opacity: 0,
time: 950
}, 'linear', 'fade');
battle.showEffect('poisonwisp', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 1,
opacity: 1,
time: 450
}, {
x: defender.x - 90,
y: defender.y - 40,
scale: 0.9,
opacity: 0,
time: 950
}, 'linear', 'fade');
battle.showEffect('poisonwisp', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 1,
opacity: 1,
time: 450
}, {
x: defender.x + 90,
y: defender.y - 40,
scale: 0.9,
opacity: 0,
time: 950
}, 'linear', 'fade');
defender.delay(450);
defender.anim({
z: defender.behind(10),
time: 200
}, 'swing');
defender.anim({
time: 300
}, 'swing');
}
},
shadowball: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.backgroundEffect('#000000', 1000, 0.1);
battle.showEffect('poisonwisp', {
x: attacker.x,
y: attacker.y + 100,
z: attacker.behind(-20),
scale: 0.5,
opacity: 0,
time: 0
}, {
x: attacker.x,
y: attacker.y,
scale: 1,
opacity: 0.8,
time: 200
}, 'decel', 'fade');
battle.showEffect('poisonwisp', {
x: attacker.x - 60,
y: attacker.y - 80,
z: attacker.behind(-20),
scale: 0.5,
opacity: 0,
time: 50
}, {
x: attacker.x,
y: attacker.y,
scale: 1,
opacity: 0.8,
time: 300
}, 'decel', 'fade');
battle.showEffect('poisonwisp', {
x: attacker.x + 60,
y: attacker.y - 80,
z: attacker.behind(-20),
scale: 0.5,
opacity: 0,
time: 100
}, {
x: attacker.x,
y: attacker.y,
scale: 1,
opacity: 0.8,
time: 400
}, 'decel', 'fade');
battle.showEffect('poisonwisp', {
x: attacker.x - 90,
y: attacker.y + 40,
z: attacker.behind(-20),
scale: 0.5,
opacity: 0,
time: 150
}, {
x: attacker.x,
y: attacker.y,
scale: 1,
opacity: 0.8,
time: 500
}, 'decel', 'fade');
battle.showEffect('poisonwisp', {
x: attacker.x + 90,
y: attacker.y + 40,
z: attacker.behind(-20),
scale: 0.5,
opacity: 0,
time: 200
}, {
x: attacker.x,
y: attacker.y,
scale: 1,
opacity: 0.8,
time: 600
}, 'decel', 'fade');
battle.showEffect('shadowball', {
x: attacker.x,
y: attacker.y,
z: attacker.behind(-20),
scale: 0,
opacity: 0,
time: 0
}, {
scale: 0.8,
opacity: 0.5,
time: 600
}, 'decel', 'fade');
battle.showEffect('poisonwisp', {
x: attacker.x,
y: attacker.y,
z: attacker.behind(-20),
scale: 0,
opacity: 0,
time: 0
}, {
scale: 1.5,
opacity: 0.8,
time: 600
}, 'decel', 'fade');
battle.showEffect('shadowball', {
x: attacker.x,
y: attacker.y,
z: attacker.behind(-20),
scale: 0.8,
opacity: 0.8,
time: 600
}, {
x: defender.x,
y: defender.y,
z: defender.z,
time: 900
}, 'accel', 'explode');
battle.showEffect('poisonwisp', {
x: attacker.x,
y: attacker.y,
z: attacker.behind(-20),
scale: 1.5,
opacity: 0.8,
time: 600
}, {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 2,
time: 900
}, 'accel', 'explode');
defender.delay(900);
defender.anim({
z: defender.behind(10),
time: 200
}, 'swing');
defender.anim({
time: 300
}, 'swing');
}
},
hex: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.backgroundEffect('#000000', 700, 0.3);
battle.showEffect('poisonwisp', {
x: defender.x + 40,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 1
}, {
scale: 3,
opacity: 0
}, 'decel');
battle.showEffect('poisonwisp', {
x: defender.x - 40,
y: defender.y - 20,
z: defender.z,
scale: 0,
opacity: 1,
time: 150
}, {
scale: 3,
opacity: 0
}, 'decel');
battle.showEffect('poisonwisp', {
x: defender.x + 10,
y: defender.y + 20,
z: defender.z,
scale: 0,
opacity: 1,
time: 300
}, {
scale: 3,
opacity: 0
}, 'decel');
battle.showEffect('bluefireball', {
x: defender.x + 40,
y: defender.y + 30,
z: defender.z,
scale: 0.8,
opacity: 0.5,
time: 0
}, {
y: defender.y + 60,
opacity: 0,
time: 400
}, 'accel');
battle.showEffect('bluefireball', {
x: defender.x - 40,
y: defender.y + 30,
z: defender.z,
scale: 0.8,
opacity: 0.5,
time: 200
}, {
y: defender.y + 60,
opacity: 0,
time: 600
}, 'accel');
battle.showEffect('bluefireball', {
x: defender.x,
y: defender.y + 40,
z: defender.z,
scale: 0.8,
opacity: 0.5,
time: 400
}, {
y: defender.y + 60,
opacity: 0,
time: 800
}, 'accel');
}
},
darkpulse: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
var xf = [1, -1, 1, -1];
var yf = [1, -1, -1, 1];
var xf2 = [1, 0, -1, 0];
var yf2 = [0, 1, 0, -1];
battle.backgroundEffect('#000000', 900, 0.3);
battle.showEffect('shadowball', {
x: attacker.x,
y: attacker.y - 50,
z: attacker.z,
scale: 1,
xscale: 5,
opacity: 0.8,
time: 0
}, {
scale: 2,
xscale: 8,
opacity: 0.1,
time: 800
}, 'linear', 'fade');
battle.showEffect('shadowball', {
x: defender.x,
y: defender.y,
z: defender.z,
opacity: 0.3,
scale: 0,
time: 300
}, {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 2,
opacity: 0,
time: 600
}, 'linear');
battle.showEffect('shadowball', {
x: defender.x,
y: defender.y,
z: defender.z,
opacity: 0.3,
scale: 0,
time: 500
}, {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 2,
opacity: 0,
time: 800
}, 'linear');
for (var i = 0; i < 4; i++) {
battle.showEffect('poisonwisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.3,
opacity: 0.4
}, {
x: attacker.x + 240 * xf[i],
y: attacker.y,
z: attacker.z + 137 * yf[i],
scale: 0.7,
opacity: 0.4,
time: 600
}, 'accel', 'fade');
battle.showEffect('poisonwisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.2,
opacity: 0.4
}, {
x: attacker.x + 339 * xf2[i],
y: attacker.y,
z: attacker.z + 194 * yf2[i],
scale: 0.5,
opacity: 0.4,
time: 600
}, 'accel', 'fade');
}
}
},
naturesmadness: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.backgroundEffect('#000000', 800, 0.1);
battle.showEffect('mistball', {
x: attacker.x,
y: attacker.y - 50,
z: attacker.z,
scale: 1,
xscale: 5,
opacity: 0.6,
time: 0
}, {
scale: 2,
xscale: 8,
opacity: 0.1,
time: 300
}, 'linear', 'fade');
battle.showEffect('iceball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 5,
opacity: 0,
time: 200
}, {
scale: 0.5,
opacity: 0.6,
time: 600
}, 'linear', 'fade');
battle.showEffect('iceball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 5,
opacity: 0,
time: 350
}, {
scale: 0.5,
opacity: 0.2,
time: 800
}, 'linear', 'fade');
}
},
energyball: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('energyball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.8,
opacity: 0.3
}, {
x: defender.x,
y: defender.y,
z: defender.z,
opacity: 0.6,
time: 400
}, 'linear', 'explode');
battle.showEffect('wisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 1,
opacity: 0.2
}, {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 1.5,
time: 400
}, 'linear', 'explode');
battle.showEffect('energyball', {
x: defender.x + 30,
y: defender.y + 25,
z: defender.z,
scale: 0.2,
opacity: 0.6,
time: 400
}, {
x: defender.x + 50,
y: defender.y + 10,
opacity: 0.3,
time: 700
}, 'accel', 'explode');
battle.showEffect('energyball', {
x: defender.x - 30,
y: defender.y - 20,
z: defender.z,
scale: 0.2,
opacity: 0.6,
time: 500
}, {
x: defender.x - 50,
y: defender.y - 20,
opacity: 0.3,
time: 700
}, 'accel', 'explode');
battle.showEffect('energyball', {
x: defender.x + 15,
y: defender.y + 10,
z: defender.z,
scale: 0.2,
opacity: 0.7,
time: 600
}, {
x: defender.x + 35,
y: defender.y + 30,
opacity: 0.3,
time: 800
}, 'accel', 'explode');
battle.showEffect('energyball', {
x: defender.x - 15,
y: defender.y - 30,
z: defender.z,
scale: 0.2,
opacity: 0.7,
time: 600
}, {
x: defender.x - 35,
y: defender.y - 40,
opacity: 0.3,
time: 800
}, 'accel', 'explode');
defender.delay(400);
defender.anim({
z: defender.behind(5),
time: 200
}, 'swing');
defender.anim({
time: 300
}, 'swing');
}
},
electroball: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('electroball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 1,
opacity: 0.3
}, {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 1,
opacity: 0.6,
time: 500
}, 'linear', 'explode');
defender.delay(500);
defender.anim({
z: defender.behind(5),
time: 200
}, 'swing');
defender.anim({
time: 300
}, 'swing');
}
},
moonblast: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.backgroundEffect("url('fx/bg-space.jpg')", 800, 0.6);
battle.showEffect('mistball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 1,
opacity: 0.3
}, {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 1,
opacity: 0.6,
time: 500
}, 'linear', 'explode');
battle.showEffect('wisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 1,
opacity: 0.3
}, {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 1,
opacity: 0.8,
time: 500
}, 'linear', 'explode');
battle.showEffect('wisp', {
x: 0,
y: +175,
z: +50,
scale: 1.5,
opacity: 1
}, {
time: 800
}, 'accel', 'fade');
battle.showEffect('iceball', {
x: 0,
y: +175,
z: +50,
scale: 0.5,
opacity: 0.8
}, {
time: 800
}, 'accel', 'fade');
defender.delay(500);
defender.anim({
z: defender.behind(5),
time: 200
}, 'swing');
defender.anim({
time: 300
}, 'swing');
}
},
mistball: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('iceball', {
x: attacker.x,
y: attacker.y,
z: attacker.behind(-30),
scale: 3,
opacity: 0.3
}, {
x: attacker.x,
y: attacker.y,
z: attacker.behind(-30),
scale: 0.6,
opacity: 1,
time: 300
}, 'decel', 'fade');
battle.showEffect('iceball', {
x: attacker.x,
y: attacker.y,
z: attacker.behind(-30),
scale: 3,
opacity: 0.3,
time: 100
}, {
x: attacker.x,
y: attacker.y,
z: attacker.behind(-30),
scale: 0.8,
opacity: 0.6,
time: 400
}, 'decel', 'fade');
battle.showEffect('iceball', {
x: attacker.x,
y: attacker.y,
z: attacker.behind(-30),
scale: 0.6,
opacity: 0.8,
time: 400
}, {
x: defender.x,
y: defender.y,
z: defender.behind(0),
scale: 1,
opacity: 0.8,
time: 800
}, 'accel', 'explode');
battle.showEffect('wisp', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 1,
opacity: 1,
time: 800
}, {
x: defender.x - 60,
y: defender.y + 80,
scale: 0.9,
opacity: 0,
time: 1050
}, 'linear', 'fade');
battle.showEffect('wisp', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 1,
opacity: 1,
time: 800
}, {
x: defender.x + 60,
y: defender.y - 80,
scale: 0.9,
opacity: 0,
time: 1050
}, 'linear', 'fade');
battle.showEffect('wisp', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 1,
opacity: 1,
time: 800
}, {
x: defender.x + 90,
y: defender.y + 40,
scale: 0.9,
opacity: 0,
time: 1050
}, 'linear', 'fade');
battle.showEffect('wisp', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 1,
opacity: 1,
time: 800
}, {
x: defender.x - 90,
y: defender.y - 40,
scale: 0.9,
opacity: 0,
time: 1050
}, 'linear', 'fade');
battle.showEffect('wisp', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 1,
opacity: 1,
time: 800
}, {
x: defender.x,
y: defender.y + 100,
scale: 0.9,
opacity: 0,
time: 1050
}, 'linear', 'fade');
battle.showEffect('wisp', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 1,
opacity: 1,
time: 800
}, {
x: defender.x,
y: defender.y - 100,
scale: 0.9,
opacity: 0,
time: 1050
}, 'linear', 'fade');
defender.delay(500);
defender.anim({
z: defender.behind(5),
time: 200
}, 'swing');
defender.anim({
time: 300
}, 'swing');
}
},
present: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('iceball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 1,
opacity: 0.3
}, {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 1,
opacity: 0.6,
time: 500
}, 'linear', 'explode');
}
},
iceball: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('iceball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.6,
opacity: 0.3
}, {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 1,
opacity: 0.6,
time: 500
}, 'ballistic', 'explode');
}
},
weatherball: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('iceball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.5,
opacity: 1
}, {
y: attacker.y + 90,
opacity: 0
}, 'linear');
battle.showEffect('iceball', {
x: defender.x,
y: defender.y + 90,
z: defender.z,
scale: 0.5,
opacity: 0,
time: 500
}, {
y: defender.y,
opacity: 1,
time: 1000
}, 'linear', 'explode');
}
},
wish: {
anim: function (battle, args) {
var attacker = args[0];
battle.backgroundEffect("url('fx/bg-space.jpg')", 600, 0.4);
battle.showEffect('wisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 1,
opacity: 1
}, {
y: attacker.y + 130,
opacity: 0
}, 'accel');
},
residualAnim: function (battle, args) {
var attacker = args[0];
battle.showEffect('wisp', {
x: attacker.x,
y: attacker.y + 130,
z: attacker.z,
scale: 1,
opacity: 0
}, {
x: attacker.x,
y: attacker.y,
z: attacker.z,
opacity: 1
}, 'decel', 'explode');
}
},
healingwish: {
anim: function (battle, args) {
var attacker = args[0];
battle.showEffect('wisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 1,
opacity: 1
}, {
x: attacker.x,
y: attacker.y + 130,
z: attacker.z,
opacity: 0
}, 'accel');
},
residualAnim: function (battle, args) {
var attacker = args[0];
battle.showEffect('wisp', {
x: attacker.x,
y: attacker.y + 130,
z: attacker.z,
scale: 1,
opacity: 0
}, {
x: attacker.x,
y: attacker.y,
z: attacker.z,
opacity: 1
}, 'decel', 'explode');
}
},
stealthrock: {
anim: function (battle, args) {
var attacker = args[0];
var defender = battle.sides[args[1].siden];
battle.showEffect('rock1', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.1,
opacity: 0.5
}, {
x: defender.leftof(-40),
y: defender.y - 10,
z: defender.z,
scale: .2,
opacity: 1
}, 'ballistic');
battle.showEffect('rock2', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.1,
opacity: 0.5,
time: 75
}, {
x: defender.leftof(-20),
y: defender.y - 40,
z: defender.z,
scale: .2,
opacity: 1
}, 'ballistic');
battle.showEffect('rock1', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.1,
opacity: 0.5,
time: 150
}, {
x: defender.leftof(30),
y: defender.y - 20,
z: defender.z,
scale: .2,
opacity: 1
}, 'ballistic');
battle.showEffect('rock2', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.1,
opacity: 0.5,
time: 225
}, {
x: defender.leftof(10),
y: defender.y - 30,
z: defender.z,
scale: .2,
opacity: 1
}, 'ballistic');
}
},
spikes: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('caltrop', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.1,
opacity: 0.5
}, {
x: -25,
y: defender.y - 40,
z: defender.z,
scale: .3,
opacity: 1
}, 'ballistic');
battle.showEffect('caltrop', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.1,
opacity: 0.5,
time: 125
}, {
x: +50,
y: defender.y - 40,
z: defender.z,
scale: .3,
opacity: 1
}, 'ballistic');
battle.showEffect('caltrop', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.1,
opacity: 0.5,
time: 250
}, {
x: +30,
y: defender.y - 45,
z: defender.z,
scale: .3,
opacity: 1
}, 'ballistic');
}
},
toxicspikes: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('poisoncaltrop', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.1,
opacity: 0.5
}, {
x: +5,
y: defender.y - 40,
z: defender.z,
scale: .3,
opacity: 1
}, 'ballistic');
battle.showEffect('poisoncaltrop', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.1,
opacity: 0.5,
time: 200
}, {
x: -15,
y: defender.y - 35,
z: defender.z,
scale: .3,
opacity: 1
}, 'ballistic');
}
},
stickyweb: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('web', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.1,
opacity: 0.5
}, {
x: 0,
y: defender.y,
z: defender.z,
scale: 0.5,
opacity: 1
}, 'ballistic');
}
},
leechseed: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('energyball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.1,
opacity: 0.5
}, {
x: defender.x - 30,
y: defender.y - 40,
z: defender.z,
scale: .2,
opacity: .6
}, 'ballistic');
battle.showEffect('energyball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.1,
opacity: 0.5,
time: 125
}, {
x: defender.x + 40,
y: defender.y - 35,
z: defender.z,
scale: .2,
opacity: .6
}, 'ballistic');
battle.showEffect('energyball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.1,
opacity: 0.5,
time: 250
}, {
x: defender.x + 20,
y: defender.y - 25,
z: defender.z,
scale: .2,
opacity: .6
}, 'ballistic');
}
},
psyshock: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('poisonwisp', {
x: defender.x + 40,
y: defender.y,
z: defender.z,
scale: 0,
opacity: .6
}, {
scale: 3,
opacity: 0
}, 'decel');
battle.showEffect('poisonwisp', {
x: defender.x - 40,
y: defender.y - 20,
z: defender.z,
scale: 0,
opacity: .6,
time: 150
}, {
scale: 3,
opacity: 0
}, 'decel');
battle.showEffect('waterwisp', {
x: defender.x + 10,
y: defender.y + 20,
z: defender.z,
scale: 0,
opacity: .6,
time: 300
}, {
scale: 3,
opacity: 0
}, 'decel');
}
},
sandtomb: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('mudwisp', {
x: defender.x + 40,
y: defender.y,
z: defender.z,
scale: 0,
opacity: .6
}, {
scale: 3,
opacity: 0
}, 'decel');
battle.showEffect('mudwisp', {
x: defender.x - 40,
y: defender.y - 20,
z: defender.z,
scale: 0,
opacity: .6,
time: 150
}, {
scale: 3,
opacity: 0
}, 'decel');
battle.showEffect('mudwisp', {
x: defender.x + 10,
y: defender.y + 20,
z: defender.z,
scale: 0,
opacity: .6,
time: 300
}, {
scale: 3,
opacity: 0
}, 'decel');
}
},
flashcannon: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('wisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: .5,
opacity: 0.2
}, {
x: defender.x,
y: defender.y,
z: defender.behind(20),
opacity: 0.6,
time: 200
}, 'linear', 'explode');
battle.showEffect('waterwisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: .5,
opacity: 0.2,
time: 50
}, {
x: defender.x + 10,
y: defender.y - 5,
z: defender.behind(20),
opacity: 0.6,
time: 250
}, 'linear', 'explode');
battle.showEffect('waterwisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: .5,
opacity: 0.2,
time: 100
}, {
x: defender.x - 10,
y: defender.y + 5,
z: defender.behind(20),
opacity: 0.6,
time: 300
}, 'linear', 'explode');
battle.showEffect('wisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: .5,
opacity: 0.2,
time: 150
}, {
x: defender.x,
y: defender.y - 5,
z: defender.behind(20),
opacity: 0.6,
time: 350
}, 'linear', 'explode');
}
},
lusterpurge: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.backgroundEffect('#ffffff', 600, 0.6);
battle.showEffect('wisp', {
x: attacker.leftof(-10),
y: attacker.y + 10,
z: attacker.z,
scale: 0.1,
opacity: 0.5
}, {
scale: 15,
opacity: 0.8,
time: 500
}, 'linear', 'fade');
battle.showEffect('impact', {
x: defender.x - 25,
y: defender.y,
z: defender.behind(5),
scale: 0.7,
opacity: 0.2,
time: 175
}, {
scale: 1,
opacity: 0,
time: 375
}, 'linear');
battle.showEffect('impact', {
x: defender.x + 25,
y: defender.y - 5,
z: defender.behind(5),
scale: 0.7,
opacity: 0.2,
time: 300
}, {
scale: 1,
opacity: 0,
time: 500
}, 'linear');
battle.showEffect('impact', {
x: defender.x - 25,
y: defender.y + 10,
z: defender.behind(5),
scale: 0.7,
opacity: 0.2,
time: 400
}, {
scale: 1,
opacity: 0,
time: 600
}, 'linear');
battle.showEffect('impact', {
x: defender.x + 2,
y: defender.y + 5,
z: defender.behind(5),
scale: 1,
opacity: 0.2,
time: 500
}, {
scale: 1.25,
opacity: 0,
time: 700
}, 'linear');
attacker.anim({
opacity: 0,
time: 75
});
attacker.delay(500);
attacker.anim({
opacity: 1,
time: 100
});
defender.delay(200);
defender.anim({
x: defender.x - 30,
time: 75
});
defender.anim({
x: defender.x + 30,
time: 100
});
defender.anim({
x: defender.x - 30,
time: 100
});
defender.anim({
x: defender.x,
time: 100
});
}
},
grassknot: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('energyball', {
x: defender.x + 30,
y: defender.y - 30,
z: defender.z,
scale: 0,
opacity: 0.6,
time: 50
}, {
scale: 3,
opacity: 0
}, 'decel');
battle.showEffect('energyball', {
x: defender.x - 30,
y: defender.y - 40,
z: defender.z,
scale: 0,
opacity: 0.6,
time: 200
}, {
scale: 3,
opacity: 0
}, 'decel');
battle.showEffect('leaf1', {
x: defender.x + 30,
y: defender.y - 30,
z: defender.z,
scale: 0,
opacity: 0.6,
time: 50
}, {
y: defender.y - 40,
scale: 3,
opacity: 0
}, 'decel');
battle.showEffect('leaf2', {
x: defender.x - 30,
y: defender.y - 40,
z: defender.z,
scale: 0,
opacity: 0.6,
time: 200
}, {
y: defender.y - 50,
scale: 3,
opacity: 0
}, 'decel');
}
},
aeroblast: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
var xstep = (defender.x - attacker.x) / 5;
var ystep = (defender.y - attacker.y) / 5;
var zstep = (defender.behind(50) - attacker.z) / 5;
battle.backgroundEffect('#000000', 700, 0.6);
for (var i = 0; i < 5; i++) {
battle.showEffect('wisp', {
x: attacker.x + xstep * (i + 1),
y: attacker.y + ystep * (i + 1),
z: attacker.z + zstep * (i + 1),
scale: 1,
opacity: 1,
time: 20 * i
}, {
scale: 3,
opacity: 0,
time: 40 * i + 600
}, 'linear');
}
battle.showEffect('iceball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: .4,
opacity: 0.6
}, {
x: defender.x + 30,
y: defender.y + 30,
z: defender.z,
scale: .6,
opacity: 0.2,
time: 200
}, 'linear', 'explode');
battle.showEffect('iceball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: .4,
opacity: 0.6,
time: 75
}, {
x: defender.x + 20,
y: defender.y - 30,
z: defender.z,
scale: .6,
opacity: 0.2,
time: 275
}, 'linear', 'explode');
battle.showEffect('iceball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: .4,
opacity: 0.6,
time: 150
}, {
x: defender.x - 30,
y: defender.y,
z: defender.z,
scale: .6,
opacity: 0.2,
time: 350
}, 'linear', 'explode');
battle.showEffect('iceball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: .4,
opacity: 0.6,
time: 225
}, {
x: defender.x - 10,
y: defender.y + 10,
z: defender.z,
scale: .6,
opacity: 0.2,
time: 425
}, 'linear', 'explode');
battle.showEffect('iceball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: .4,
opacity: 0.6,
time: 300
}, {
x: defender.x + 10,
y: defender.y - 10,
z: defender.z,
scale: .6,
opacity: 0.2,
time: 500
}, 'linear', 'explode');
battle.showEffect('iceball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: .4,
opacity: 0.6,
time: 375
}, {
x: defender.x - 20,
y: defender.y,
z: defender.z,
scale: .6,
opacity: 0.2,
time: 575
}, 'linear', 'explode');
battle.showEffect('iceball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 0.5,
time: 550
}, {
scale: 4,
opacity: 0,
time: 750
}, 'linear');
battle.showEffect('iceball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 0.5,
time: 600
}, {
scale: 4,
opacity: 0,
time: 800
}, 'linear');
defender.delay(125);
defender.anim({
z: defender.behind(5),
time: 75
}, 'swing');
defender.anim({
time: 75
}, 'swing');
defender.anim({
z: defender.behind(5),
time: 75
}, 'swing');
defender.anim({
time: 75
}, 'swing');
defender.anim({
z: defender.behind(5),
time: 75
}, 'swing');
defender.anim({
time: 75
}, 'swing');
defender.anim({
z: defender.behind(5),
time: 75
}, 'swing');
defender.anim({
time: 150
}, 'swing');
}
},
airslash: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('wisp', {
x: defender.x + 60,
y: defender.y + 30,
z: defender.z,
scale: .2,
opacity: 1
}, {
x: defender.x - 70,
y: defender.y - 40,
z: defender.z,
scale: .4,
opacity: .4,
time: 200
}, 'linear', 'fade');
battle.showEffect('wisp', {
x: defender.x + 60,
y: defender.y + 30,
z: defender.z,
scale: .2,
opacity: 1,
time: 100
}, {
x: defender.x - 70,
y: defender.y - 40,
z: defender.z,
scale: .4,
opacity: .4,
time: 300
}, 'linear', 'fade');
battle.showEffect('wisp', {
x: defender.x + 80,
y: defender.y + 10,
z: defender.z,
scale: .2,
opacity: 1,
time: 100
}, {
x: defender.x - 50,
y: defender.y - 60,
z: defender.z,
scale: .4,
opacity: .4,
time: 300
}, 'linear', 'fade');
battle.showEffect('wisp', {
x: defender.x + 80,
y: defender.y + 10,
z: defender.z,
scale: .2,
opacity: 1,
time: 200
}, {
x: defender.x - 50,
y: defender.y - 60,
z: defender.z,
scale: .4,
opacity: .4,
time: 400
}, 'linear', 'fade');
}
},
aircutter: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('wisp', {
x: defender.x + 60,
y: defender.y - 10,
z: defender.z,
scale: .2,
opacity: 1
}, {
x: defender.x - 60,
y: defender.y - 10,
z: defender.z,
scale: .4,
opacity: .4,
time: 200
}, 'linear', 'fade');
battle.showEffect('wisp', {
x: defender.x + 60,
y: defender.y + 20,
z: defender.z,
scale: .2,
opacity: 1,
time: 100
}, {
x: defender.x - 60,
y: defender.y + 20,
z: defender.z,
scale: .4,
opacity: .4,
time: 300
}, 'linear', 'fade');
battle.showEffect('wisp', {
x: defender.x + 60,
y: defender.y + 50,
z: defender.z,
scale: .2,
opacity: 1,
time: 200
}, {
x: defender.x - 60,
y: defender.y + 50,
z: defender.z,
scale: .4,
opacity: .4,
time: 400
}, 'linear', 'fade');
}
},
dracometeor: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.backgroundEffect("url('fx/bg-space.jpg')", 1100, 0.8);
battle.showEffect('flareball', {
x: defender.leftof(-200),
y: defender.y + 175,
z: defender.z,
scale: 0.1,
opacity: 0
}, {
x: defender.x + 50,
y: defender.y,
scale: 1.5,
opacity: 0.8
}, 'accel', 'explode');
battle.showEffect('flareball', {
x: defender.leftof(-200),
y: defender.y + 20 + 175,
z: defender.z,
scale: 0.1,
opacity: 0,
time: 150
}, {
x: defender.x - 30,
y: defender.y - 5,
scale: 1.5,
opacity: 0.8
}, 'accel', 'explode');
battle.showEffect('flareball', {
x: defender.leftof(-200),
y: defender.y - 20 + 175,
z: defender.z,
scale: 0.1,
opacity: 0,
time: 300
}, {
x: defender.x + 30,
y: defender.y - 10,
scale: 1.5,
opacity: 0.8
}, 'accel', 'explode');
battle.showEffect('rock3', {
x: defender.leftof(-200),
y: defender.y + 175,
z: defender.z,
scale: 0.1,
opacity: 0
}, {
x: defender.x + 30,
y: defender.y,
scale: 1.5,
opacity: 0.4
}, 'accel', 'explode');
battle.showEffect('rock3', {
x: defender.leftof(-200),
y: defender.y + 20 + 175,
z: defender.z,
scale: 0.1,
opacity: 0,
time: 150
}, {
x: defender.x - 20,
y: defender.y - 5,
scale: 1.5,
opacity: 0.4
}, 'accel', 'explode');
battle.showEffect('rock3', {
x: defender.leftof(-200),
y: defender.y - 20 + 175,
z: defender.z,
scale: 0.1,
opacity: 0,
time: 300
}, {
x: defender.x + 20,
y: defender.y,
scale: 1.5,
opacity: 0.4
}, 'accel', 'explode');
battle.showEffect('shadowball', {
x: defender.x + 30,
y: defender.y - 50,
z: defender.z,
scale: 1,
xscale: 2,
opacity: 0.5,
time: 500
}, {
scale: 3,
xscale: 8,
opacity: 0.1,
time: 700
}, 'linear', 'fade');
battle.showEffect('shadowball', {
x: defender.x,
y: defender.y,
z: defender.z,
opacity: 0.3,
scale: 0,
time: 500
}, {
scale: 3,
opacity: 0,
time: 700
}, 'linear');
battle.showEffect('shadowball', {
x: defender.x - 20,
y: defender.y - 50,
z: defender.z,
scale: 1,
xscale: 2,
opacity: 0.5,
time: 650
}, {
scale: 3,
xscale: 8,
opacity: 0.1,
time: 850
}, 'linear', 'fade');
battle.showEffect('shadowball', {
x: defender.x,
y: defender.y,
z: defender.z,
opacity: 0.3,
scale: 0,
time: 650
}, {
scale: 4,
opacity: 0,
time: 850
}, 'linear');
battle.showEffect('shadowball', {
x: defender.x + 20,
y: defender.y - 50,
z: defender.z,
scale: 1,
xscale: 2,
opacity: 0.5,
time: 700
}, {
scale: 3,
xscale: 8,
opacity: 0.1,
time: 900
}, 'linear', 'fade');
battle.showEffect('shadowball', {
x: defender.x,
y: defender.y,
z: defender.z,
opacity: 0.3,
scale: 0,
time: 700
}, {
scale: 4,
opacity: 0,
time: 900
}, 'linear');
battle.showEffect('rock3', {
x: defender.leftof(-200),
y: defender.y - 20 + 150,
z: defender.z,
scale: 0.1,
opacity: 0.6,
time: 50
}, {
x: defender.x - 250,
y: defender.y - 80,
z: defender.behind(60),
scale: 0.8,
opacity: 0
}, 'accel', 'fade');
battle.showEffect('rock3', {
x: defender.leftof(-220),
y: defender.y + 20 + 130,
z: defender.z,
scale: 0.1,
opacity: 0.6,
time: 150
}, {
x: defender.x + 80,
y: defender.y - 50,
z: defender.behind(30),
scale: 0.8,
opacity: 0
}, 'accel', 'fade');
battle.showEffect('rock3', {
x: defender.leftof(-180),
y: defender.y + 20 + 130,
z: defender.z,
scale: 0.1,
opacity: 0.6,
time: 300
}, {
x: defender.x - 200,
y: defender.y + 20,
z: defender.behind(30),
scale: 0.8,
opacity: 0
}, 'accel', 'fade');
defender.delay(500);
defender.anim({
x: defender.x + 30,
z: defender.behind(10),
time: 75
});
defender.anim({
x: defender.x - 30,
time: 100
});
defender.anim({
x: defender.x + 30,
time: 100
});
defender.anim({
x: defender.x - 30,
z: defender.behind(10),
time: 100
});
defender.anim({
x: defender.x,
time: 100
});
}
},
brine: {
anim: BattleOtherAnims.hydroshot.anim
},
octazooka: {
anim: BattleOtherAnims.hydroshot.anim
},
waterpledge: {
anim: BattleOtherAnims.hydroshot.anim
},
soak: {
anim: BattleOtherAnims.hydroshot.anim
},
watersport: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('waterwisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.1,
opacity: 0.6
}, {
x: defender.x + 30,
y: defender.y + 20,
z: defender.z,
scale: 1,
opacity: 0.3
}, 'ballistic', 'explode');
battle.showEffect('waterwisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.1,
opacity: 0.6,
time: 75
}, {
x: defender.x + 20,
y: defender.y - 20,
z: defender.z,
scale: 1,
opacity: 0.3
}, 'ballistic', 'explode');
battle.showEffect('waterwisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.1,
opacity: 0.6,
time: 150
}, {
x: defender.x - 30,
y: defender.y,
z: defender.z,
scale: 1,
opacity: 0.3
}, 'ballistic', 'explode');
battle.showEffect('waterwisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.1,
opacity: 0.6,
time: 225
}, {
x: defender.x - 10,
y: defender.y + 5,
z: defender.z,
scale: 1,
opacity: 0.3
}, 'ballistic', 'explode');
}
},
scald: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
BattleOtherAnims.hydroshot.anim(battle, args);
battle.showEffect('wisp', {
x: defender.x + 30,
y: defender.y,
z: defender.z,
scale: 1,
opacity: 1,
time: 300
}, {
y: defender.y + 60,
opacity: 0.2,
time: 700
}, 'linear', 'fade');
battle.showEffect('wisp', {
x: defender.x - 30,
y: defender.y,
z: defender.z,
scale: 1,
opacity: 1,
time: 400
}, {
y: defender.y + 60,
opacity: 0.2,
time: 800
}, 'linear', 'fade');
battle.showEffect('wisp', {
x: defender.x + 15,
y: defender.y,
z: defender.z,
scale: 1,
opacity: 1,
time: 500
}, {
y: defender.y + 60,
opacity: 0.2,
time: 900
}, 'linear', 'fade');
battle.showEffect('wisp', {
x: defender.x - 15,
y: defender.y,
z: defender.z,
scale: 1,
opacity: 1,
time: 600
}, {
y: defender.y + 60,
opacity: 0.2,
time: 1000
}, 'linear', 'fade');
}
},
steameruption: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.backgroundEffect('#0000DD', 700, 0.2);
BattleOtherAnims.hydroshot.anim(battle, args);
defender.delay(200);
defender.anim({
z: defender.behind(20),
time: 400
}, 'swing');
defender.anim({
time: 300
}, 'swing');
battle.showEffect('wisp', {
x: defender.x + 30,
y: defender.y,
z: defender.behind(5),
scale: 1,
opacity: 1,
time: 300
}, {
y: defender.y + 60,
opacity: 0.2,
time: 700
}, 'linear', 'fade');
battle.showEffect('wisp', {
x: defender.x - 30,
y: defender.y,
z: defender.behind(10),
scale: 1,
opacity: 1,
time: 400
}, {
y: defender.y + 60,
opacity: 0.2,
time: 800
}, 'linear', 'fade');
battle.showEffect('wisp', {
x: defender.x + 15,
y: defender.y,
z: defender.behind(15),
scale: 1,
opacity: 1,
time: 500
}, {
y: defender.y + 60,
opacity: 0.2,
time: 900
}, 'linear', 'fade');
battle.showEffect('wisp', {
x: defender.x - 15,
y: defender.y,
z: defender.behind(20),
scale: 1,
opacity: 1,
time: 600
}, {
y: defender.y + 60,
opacity: 0.2,
time: 1000
}, 'linear', 'fade');
}
},
waterpulse: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('iceball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 1,
opacity: 0.8
}, {
x: defender.x,
y: defender.y,
z: defender.behind(0),
opacity: 0.7,
time: 400
}, 'decel', 'explode');
battle.showEffect('waterwisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.4,
opacity: 0.3
}, {
x: defender.x,
y: defender.y,
z: defender.behind(0),
opacity: 0.7,
time: 400
}, 'decel', 'explode');
}
},
bubblebeam: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('iceball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.5,
opacity: 0.7
}, {
x: defender.x,
y: defender.y,
z: defender.behind(0),
opacity: 0.6,
time: 400
}, 'decel', 'explode');
battle.showEffect('iceball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.5,
opacity: 0.7,
time: 100
}, {
x: defender.x + 20,
y: defender.y - 10,
z: defender.behind(0),
opacity: 0.6,
time: 500
}, 'decel', 'explode');
battle.showEffect('iceball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.5,
opacity: 0.7,
time: 200
}, {
x: defender.x - 20,
y: defender.y + 10,
z: defender.behind(0),
opacity: 0.6,
time: 600
}, 'decel', 'explode');
battle.showEffect('iceball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.5,
opacity: 0.7,
time: 300
}, {
x: defender.x,
y: defender.y - 5,
z: defender.behind(0),
opacity: 0.6,
time: 700
}, 'decel', 'explode');
}
},
surf: {
anim: function (battle, args) {
var attacker = args[0];
var defender;
for (var i = 1; i < args.length; i++) {
defender = args[i];
defender.delay(125);
defender.anim({
z: defender.behind(5),
time: 75
}, 'swing');
defender.anim({
time: 75
}, 'swing');
defender.anim({
z: defender.behind(5),
time: 75
}, 'swing');
defender.anim({
time: 75
}, 'swing');
defender.anim({
z: defender.behind(5),
time: 75
}, 'swing');
defender.anim({
time: 75
}, 'swing');
}
if (args.length > 2) defender = args[2];
battle.backgroundEffect('#0000DD', 700, 0.2);
battle.showEffect('waterwisp', {
x: attacker.x,
y: attacker.y - 25,
z: attacker.z,
scale: 0.4,
opacity: 0.3
}, {
x: defender.x,
y: defender.y + 10,
z: defender.behind(50),
scale: 1,
opacity: 0.6
}, 'decel', 'explode');
battle.showEffect('waterwisp', {
x: attacker.x - 30,
y: attacker.y - 25,
z: attacker.z,
scale: 0.4,
opacity: 0.3
}, {
x: defender.x - 60,
y: defender.y,
z: defender.behind(50),
scale: 1,
opacity: 0.6
}, 'decel', 'explode');
battle.showEffect('waterwisp', {
x: attacker.x + 30,
y: attacker.y - 25,
z: attacker.z,
scale: 0.4,
opacity: 0.3
}, {
x: defender.x + 60,
y: defender.y,
z: defender.behind(50),
scale: 1,
opacity: 0.6
}, 'decel', 'explode');
}
},
hydropump: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.backgroundEffect('#0000DD', 700, 0.2);
BattleOtherAnims.hydroshot.anim(battle, args);
defender.delay(200);
defender.anim({
z: defender.behind(20),
time: 400
}, 'swing');
defender.anim({
time: 300
}, 'swing');
}
},
muddywater: {
anim: function (battle, args) {
var attacker = args[0];
var defender;
for (var i = 1; i < args.length; i++) {
defender = args[i];
defender.delay(125);
defender.anim({
z: defender.behind(5),
time: 75
}, 'swing');
defender.anim({
time: 75
}, 'swing');
defender.anim({
z: defender.behind(5),
time: 75
}, 'swing');
defender.anim({
time: 75
}, 'swing');
defender.anim({
z: defender.behind(5),
time: 75
}, 'swing');
defender.anim({
time: 75
}, 'swing');
}
if (args.length > 2) defender = args[2];
battle.backgroundEffect('#996600', 700, 0.2);
battle.showEffect('mudwisp', {
x: attacker.x,
y: attacker.y - 25,
z: attacker.z,
scale: 0.4,
opacity: 0.3
}, {
x: defender.x,
y: defender.y + 10,
z: defender.behind(50),
scale: 1,
opacity: 0.6
}, 'decel', 'explode');
battle.showEffect('mudwisp', {
x: attacker.x - 30,
y: attacker.y - 25,
z: attacker.z,
scale: 0.4,
opacity: 0.3
}, {
x: defender.x - 60,
y: defender.y,
z: defender.behind(50),
scale: 1,
opacity: 0.6
}, 'decel', 'explode');
battle.showEffect('mudwisp', {
x: attacker.x + 30,
y: attacker.y - 25,
z: attacker.z,
scale: 0.4,
opacity: 0.3
}, {
x: defender.x + 60,
y: defender.y,
z: defender.behind(50),
scale: 1,
opacity: 0.6
}, 'decel', 'explode');
}
},
mudshot: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('mudwisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.4,
opacity: 0.3
}, {
x: defender.x + 10,
y: defender.y + 5,
z: defender.behind(30),
scale: 1,
opacity: 0.6
}, 'decel', 'explode');
battle.showEffect('mudwisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.4,
opacity: 0.3,
time: 75
}, {
x: defender.x - 10,
y: defender.y - 5,
z: defender.behind(30),
scale: 1,
opacity: 0.6
}, 'decel', 'explode');
battle.showEffect('mudwisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.4,
opacity: 0.3,
time: 150
}, {
x: defender.x,
y: defender.y + 5,
z: defender.behind(30),
scale: 1,
opacity: 0.6
}, 'decel', 'explode');
}
},
lavaplume: {
anim: function (battle, args) {
var attacker = args[0];
var defender;
for (var i = 1; i < args.length; i++) {
defender = args[i];
battle.showEffect('fireball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.1,
opacity: 1
}, {
x: defender.x + 30,
y: defender.y + 20,
z: defender.z,
scale: 1,
opacity: 0.7
}, 'ballistic', 'explode');
battle.showEffect('fireball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.1,
opacity: 1,
time: 75
}, {
x: defender.x + 20,
y: defender.y - 20,
z: defender.z,
scale: 1,
opacity: 0.7
}, 'ballistic', 'explode');
battle.showEffect('fireball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.1,
opacity: 1,
time: 150
}, {
x: defender.x - 30,
y: defender.y,
z: defender.z,
scale: 1,
opacity: 0.7
}, 'ballistic', 'explode');
battle.showEffect('fireball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.1,
opacity: 1,
time: 225
}, {
x: defender.x - 10,
y: defender.y + 5,
z: defender.z,
scale: 1,
opacity: 0.7
}, 'ballistic', 'explode');
}
}
},
eruption: {
anim: function (battle, args) {
var attacker = args[0];
var defender;
for (var i = 1; i < args.length; i++) {
defender = args[i];
defender.delay(625);
defender.anim({
x: defender.x - 30,
time: 75
});
defender.anim({
x: defender.x + 30,
time: 100
});
defender.anim({
x: defender.x - 30,
time: 100
});
defender.anim({
x: defender.x + 30,
time: 100
});
defender.anim({
x: defender.x,
time: 100
});
}
battle.backgroundEffect('linear-gradient(#390000 30%, #B84038)', 1100, 0.4);
battle.showEffect('flareball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 1,
opacity: 1
}, {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 6,
opacity: 0
}, 'linear', 'fade');
battle.showEffect('flareball', {
x: attacker.x,
y: attacker.y - 35,
z: attacker.z,
scale: 0.4,
opacity: 0.6,
time: 0
}, {
x: attacker.x + 30,
y: attacker.y + 150,
z: attacker.z,
scale: 0.5,
opacity: 0,
time: 300
}, 'decel', 'fade');
battle.showEffect('flareball', {
x: attacker.x,
y: attacker.y - 35,
z: attacker.z,
scale: 0.4,
opacity: 0.6,
time: 100
}, {
x: attacker.x - 10,
y: attacker.y + 150,
z: attacker.z,
scale: 0.5,
opacity: 0,
time: 400
}, 'decel', 'fade');
battle.showEffect('flareball', {
x: attacker.x,
y: attacker.y - 35,
z: attacker.z,
scale: 0.4,
opacity: 0.6,
time: 200
}, {
x: attacker.x + 35,
y: attacker.y + 150,
z: attacker.z,
scale: 0.5,
opacity: 0,
time: 500
}, 'decel', 'fade');
battle.showEffect('rock3', {
x: attacker.x,
y: attacker.y - 35,
z: attacker.z,
scale: 0.4,
opacity: 0.6,
time: 0
}, {
x: attacker.x + 30,
y: attacker.y + 150,
z: attacker.z,
scale: 0.5,
opacity: 0,
time: 300
}, 'decel', 'fade');
battle.showEffect('fireball', {
x: attacker.x,
y: attacker.y - 35,
z: attacker.z,
scale: 0.9,
opacity: 0.6,
time: 50
}, {
x: attacker.x - 30,
y: attacker.y + 150,
z: attacker.z,
scale: 1,
opacity: 0,
time: 350
}, 'decel', 'fade');
battle.showEffect('rock3', {
x: attacker.x,
y: attacker.y - 35,
z: attacker.z,
scale: 0.4,
opacity: 0.6,
time: 100
}, {
x: attacker.x - 10,
y: attacker.y + 150,
z: attacker.z,
scale: 0.5,
opacity: 0,
time: 400
}, 'decel', 'fade');
battle.showEffect('fireball', {
x: attacker.x,
y: attacker.y - 35,
z: attacker.z,
scale: 0.9,
opacity: 0.6,
time: 150
}, {
x: attacker.x + 10,
y: attacker.y + 150,
z: attacker.z,
scale: 1,
opacity: 0,
time: 450
}, 'decel', 'fade');
battle.showEffect('rock3', {
x: attacker.x,
y: attacker.y - 35,
z: attacker.z,
scale: 0.4,
opacity: 0.6,
time: 200
}, {
x: attacker.x + 35,
y: attacker.y + 150,
z: attacker.z,
scale: 0.5,
opacity: 0,
time: 500
}, 'decel', 'fade');
battle.showEffect('fireball', {
x: attacker.x,
y: attacker.y + 175,
z: attacker.behind(-90),
scale: 0.4,
opacity: 1,
time: 300
}, {
x: defender.x + 45,
y: defender.y + 20,
z: defender.z,
scale: 1.5,
opacity: 0.7,
time: 600
}, 'accel', 'explode');
battle.showEffect('rock3', {
x: attacker.x,
y: attacker.y + 175,
z: attacker.behind(-90),
scale: 0.4,
opacity: 1,
time: 375
}, {
x: defender.x - 20,
y: defender.y - 20,
z: defender.z,
scale: 1,
opacity: 0.7,
time: 675
}, 'accel', 'explode');
battle.showEffect('flareball', {
x: attacker.x,
y: attacker.y + 175,
z: attacker.behind(-90),
scale: 0.4,
opacity: 1,
time: 375
}, {
x: defender.x - 20,
y: defender.y - 20,
z: defender.z,
scale: 1,
opacity: 0.7,
time: 675
}, 'accel', 'explode');
battle.showEffect('fireball', {
x: attacker.x,
y: attacker.y + 175,
z: attacker.behind(-90),
scale: 0.4,
opacity: 1,
time: 450
}, {
x: defender.x + 30,
y: defender.y,
z: defender.z,
scale: 1.5,
opacity: 0.7,
time: 750
}, 'accel', 'explode');
battle.showEffect('rock3', {
x: attacker.x,
y: attacker.y + 175,
z: attacker.behind(-90),
scale: 0.4,
opacity: 1,
time: 525
}, {
x: defender.x + 40,
y: defender.y + 5,
z: defender.z,
scale: 1,
opacity: 0.7,
time: 825
}, 'accel', 'explode');
battle.showEffect('flareball', {
x: attacker.x,
y: attacker.y + 175,
z: attacker.behind(-90),
scale: 0.4,
opacity: 1,
time: 525
}, {
x: defender.x + 40,
y: defender.y + 5,
z: defender.z,
scale: 1,
opacity: 0.7,
time: 825
}, 'accel', 'explode');
battle.showEffect('fireball', {
x: attacker.x,
y: attacker.y + 175,
z: attacker.behind(-90),
scale: 0.4,
opacity: 1,
time: 575
}, {
x: defender.x - 70,
y: defender.y + 5,
z: defender.z,
scale: 1.5,
opacity: 0.7,
time: 875
}, 'accel', 'explode');
battle.showEffect('fireball', {
x: attacker.x,
y: attacker.y + 175,
z: attacker.behind(-90),
scale: 0.4,
opacity: 1,
time: 650
}, {
x: defender.x + 70,
y: defender.y + 5,
z: defender.z,
scale: 1.5,
opacity: 0.7,
time: 950
}, 'accel', 'explode');
}
},
waterspout: {
anim: function (battle, args) {
var attacker = args[0];
var defender;
for (var i = 1; i < args.length; i++) {
defender = args[i];
defender.delay(625);
defender.anim({
x: defender.x - 30,
time: 75
});
defender.anim({
x: defender.x + 30,
time: 100
});
defender.anim({
x: defender.x - 30,
time: 100
});
defender.anim({
x: defender.x + 30,
time: 100
});
defender.anim({
x: defender.x,
time: 100
});
}
battle.backgroundEffect('#0000DD', 1100, 0.2);
battle.showEffect('iceball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 1,
opacity: 1
}, {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 6,
opacity: 0
}, 'linear', 'fade');
battle.showEffect('waterwisp', {
x: attacker.x,
y: attacker.y - 35,
z: attacker.z,
scale: 0.4,
opacity: 0.6,
time: 0
}, {
x: attacker.x + 30,
y: attacker.y + 150,
z: attacker.z,
scale: 0.5,
opacity: 0,
time: 300
}, 'decel', 'fade');
battle.showEffect('waterwisp', {
x: attacker.x,
y: attacker.y - 35,
z: attacker.z,
scale: 0.9,
opacity: 0.6,
time: 50
}, {
x: attacker.x - 30,
y: attacker.y + 150,
z: attacker.z,
scale: 1,
opacity: 0,
time: 350
}, 'decel', 'fade');
battle.showEffect('waterwisp', {
x: attacker.x,
y: attacker.y - 35,
z: attacker.z,
scale: 0.4,
opacity: 0.6,
time: 100
}, {
x: attacker.x - 10,
y: attacker.y + 150,
z: attacker.z,
scale: 0.5,
opacity: 0,
time: 400
}, 'decel', 'fade');
battle.showEffect('waterwisp', {
x: attacker.x,
y: attacker.y - 35,
z: attacker.z,
scale: 0.9,
opacity: 0.6,
time: 150
}, {
x: attacker.x + 10,
y: attacker.y + 150,
z: attacker.z,
scale: 1,
opacity: 0,
time: 450
}, 'decel', 'fade');
battle.showEffect('waterwisp', {
x: attacker.x,
y: attacker.y - 35,
z: attacker.z,
scale: 0.4,
opacity: 0.6,
time: 200
}, {
x: attacker.x + 35,
y: attacker.y + 150,
z: attacker.z,
scale: 0.5,
opacity: 0,
time: 500
}, 'decel', 'fade');
battle.showEffect('waterwisp', {
x: attacker.x,
y: attacker.y + 175,
z: attacker.behind(-90),
scale: 0.4,
opacity: 1,
time: 300
}, {
x: defender.x + 45,
y: defender.y + 20,
z: defender.z,
scale: 1.5,
opacity: 0.7,
time: 600
}, 'accel', 'explode');
battle.showEffect('waterwisp', {
x: attacker.x,
y: attacker.y + 175,
z: attacker.behind(-90),
scale: 0.4,
opacity: 1,
time: 375
}, {
x: defender.x - 20,
y: defender.y - 20,
z: defender.z,
scale: 1,
opacity: 0.7,
time: 675
}, 'accel', 'explode');
battle.showEffect('waterwisp', {
x: attacker.x,
y: attacker.y + 175,
z: attacker.behind(-90),
scale: 0.4,
opacity: 1,
time: 450
}, {
x: defender.x + 30,
y: defender.y,
z: defender.z,
scale: 1.5,
opacity: 0.7,
time: 750
}, 'accel', 'explode');
battle.showEffect('waterwisp', {
x: attacker.x,
y: attacker.y + 175,
z: attacker.behind(-90),
scale: 0.4,
opacity: 1,
time: 525
}, {
x: defender.x - 40,
y: defender.y + 5,
z: defender.z,
scale: 1,
opacity: 0.7,
time: 825
}, 'accel', 'explode');
battle.showEffect('waterwisp', {
x: attacker.x,
y: attacker.y + 175,
z: attacker.behind(-90),
scale: 0.4,
opacity: 1,
time: 525
}, {
x: defender.x + 40,
y: defender.y + 5,
z: defender.z,
scale: 1,
opacity: 0.7,
time: 825
}, 'accel', 'explode');
battle.showEffect('waterwisp', {
x: attacker.x,
y: attacker.y + 175,
z: attacker.behind(-90),
scale: 0.4,
opacity: 1,
time: 575
}, {
x: defender.x - 70,
y: defender.y + 5,
z: defender.z,
scale: 1.5,
opacity: 0.7,
time: 875
}, 'accel', 'explode');
battle.showEffect('waterwisp', {
x: attacker.x,
y: attacker.y + 175,
z: attacker.behind(-90),
scale: 0.4,
opacity: 1,
time: 650
}, {
x: defender.x + 70,
y: defender.y + 5,
z: defender.z,
scale: 1.5,
opacity: 0.7,
time: 950
}, 'accel', 'explode');
}
},
solarbeam: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
var xstep = (defender.x - attacker.x) / 5;
var ystep = (defender.x - 200 - attacker.x) / 5;
var zstep = (defender.z - attacker.z) / 5;
battle.backgroundEffect("url('fx/weather-sunnyday.jpg')", 900, 0.5);
for (var i = 0; i < 5; i++) {
battle.showEffect('energyball', {
x: attacker.x + xstep * (i + 1),
y: (attacker.y + 200) + ystep * (i + 1),
z: attacker.z + zstep * (i + 1),
scale: 0.7,
opacity: 0.6,
time: 40 * i + 300
}, {
opacity: 0,
time: 100 * i + 500
}, 'linear');
}
battle.showEffect('electroball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.75,
opacity: 0.6
}, {
x: attacker.x,
y: attacker.y + 200,
z: attacker.z,
scale: 1.25,
opacity: 0,
time: 200
}, 'decel');
battle.showEffect('wisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 1,
opacity: 0.6
}, {
x: attacker.x,
y: attacker.y + 200,
z: attacker.z,
scale: 1.5,
opacity: 0,
time: 200
}, 'decel');
battle.showEffect('flareball', {
x: attacker.x,
y: attacker.y + 200,
z: attacker.z,
scale: 0.4,
opacity: 0.6,
time: 300
}, {
x: defender.x + 30,
y: defender.y + 30,
z: defender.z,
scale: 0.6,
opacity: 0.3,
time: 500
}, 'linear', 'explode');
battle.showEffect('electroball', {
x: attacker.x,
y: attacker.y + 200,
z: attacker.z,
scale: 0.4,
opacity: 0.6,
time: 375
}, {
x: defender.x + 20,
y: defender.y - 30,
z: defender.z,
scale: 0.6,
opacity: 0.3,
time: 575
}, 'linear', 'explode');
battle.showEffect('electroball', {
x: attacker.x,
y: attacker.y + 200,
z: attacker.z,
scale: 0.4,
opacity: 0.6,
time: 425
}, {
x: defender.x - 10,
y: defender.y + 10,
z: defender.z,
scale: 0.6,
opacity: 0.3,
time: 625
}, 'linear', 'explode');
battle.showEffect('flareball', {
x: attacker.x,
y: attacker.y + 200,
z: attacker.z,
scale: 0.4,
opacity: 0.6,
time: 450
}, {
x: defender.x - 30,
y: defender.y,
z: defender.z,
scale: 0.6,
opacity: 0.3,
time: 650
}, 'linear', 'explode');
battle.showEffect('flareball', {
x: attacker.x,
y: attacker.y + 200,
z: attacker.z,
scale: 0.4,
opacity: 0.6,
time: 500
}, {
x: defender.x + 10,
y: defender.y - 10,
z: defender.z,
scale: 0.6,
opacity: 0.3,
time: 700
}, 'linear', 'explode');
battle.showEffect('electroball', {
x: attacker.x,
y: attacker.y + 200,
z: attacker.z,
scale: 0.4,
opacity: 0.6,
time: 575
}, {
x: defender.x - 20,
y: defender.y,
z: defender.z,
scale: 0.6,
opacity: 0.3,
time: 775
}, 'linear', 'explode');
},
prepareAnim: BattleOtherAnims.chargestatus.anim,
prepareMessage: function (pokemon) {
return pokemon.getName() + ' absorbed light!';
}
},
solarblade: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
var xstep = (attacker.x - attacker.x) / 5;
var ystep = (attacker.x + 200 - attacker.x) / 5;
var zstep = (attacker.z - attacker.z) / 5;
battle.backgroundEffect("url('fx/weather-sunnyday.jpg')", 900, 0.5);
battle.showEffect('sword', {
x: attacker.leftof(10),
y: attacker.y - 10,
z: attacker.z,
scale: 0.5,
opacity: 1
}, {
y: attacker.y + 10,
scale: 1,
opacity: 0.4,
time: 300
}, 'decel', 'fade');
for (var i = 0; i < 5; i++) {
battle.showEffect('wisp', {
x: attacker.leftof(10) + xstep * (i + 1),
y: attacker.y - 20 + ystep * (i + 1),
z: attacker.z + zstep * (i + 1),
scale: 1.5,
opacity: 1,
time: 40 * i + 0
}, {
opacity: 0,
time: 45 * i + 500
}, 'linear');
}
battle.showEffect('flareball', {
x: defender.x + 30,
y: defender.y + 25,
z: defender.z,
scale: 0.2,
opacity: 1,
time: 500
}, {
x: defender.x + 50,
y: defender.y + 10,
opacity: 0.5,
time: 800
}, 'accel', 'explode');
battle.showEffect('energyball', {
x: defender.x - 30,
y: defender.y - 20,
z: defender.z,
scale: 0.2,
opacity: 1,
time: 600
}, {
x: defender.x - 50,
y: defender.y - 20,
opacity: 0.5,
time: 800
}, 'accel', 'explode');
battle.showEffect('energyball', {
x: defender.x + 15,
y: defender.y + 10,
z: defender.z,
scale: 0.2,
opacity: 1,
time: 700
}, {
x: defender.x + 35,
y: defender.y + 30,
opacity: 0.5,
time: 900
}, 'accel', 'explode');
battle.showEffect('flareball', {
x: defender.x - 15,
y: defender.y - 30,
z: defender.z,
scale: 0.2,
opacity: 1,
time: 700
}, {
x: defender.x - 35,
y: defender.y - 40,
opacity: 0.5,
time: 900
}, 'accel', 'explode');
battle.showEffect('flareball', {
x: defender.x + 10,
y: defender.y - 10,
z: defender.z,
scale: 1.5,
opacity: 0.6,
time: 700
}, {
scale: 2,
opacity: 0,
time: 1000
}, 'accel', 'fade');
battle.showEffect('leftslash', {
x: defender.x - 10,
y: defender.y - 10,
z: defender.z,
scale: 3,
opacity: 0.6,
time: 600
}, {
scale: 3.5,
opacity: 0,
time: 1000
}, 'accel', 'fade');
defender.delay(550);
defender.anim({
z: defender.behind(20),
time: 200
}, 'swing');
defender.anim({
time: 300
}, 'swing');
},
prepareAnim: BattleOtherAnims.chargestatus.anim,
prepareMessage: function (pokemon) {
return pokemon.getName() + ' absorbed light!';
}
},
lightofruin: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.backgroundEffect('#000000', 700, 0.2);
battle.showEffect('rainbow', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 3,
opacity: 2,
time: 0
}, {
scale: 0,
opacity: 0.5,
time: 200
}, 'accel');
battle.showEffect('mistball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.4,
opacity: 0.6,
time: 200
}, {
x: defender.x + 30,
y: defender.y + 30,
z: defender.z,
scale: 0.6,
opacity: 0.3,
time: 400
}, 'linear', 'explode');
battle.showEffect('mistball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.4,
opacity: 0.6,
time: 275
}, {
x: defender.x + 20,
y: defender.y - 30,
z: defender.z,
scale: 0.6,
opacity: 0.3,
time: 475
}, 'linear', 'explode');
battle.showEffect('mistball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.4,
opacity: 0.6,
time: 350
}, {
x: defender.x - 30,
y: defender.y,
z: defender.z,
scale: 0.6,
opacity: 0.3,
time: 550
}, 'linear', 'explode');
battle.showEffect('mistball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.4,
opacity: 0.6,
time: 425
}, {
x: defender.x - 10,
y: defender.y + 10,
z: defender.z,
scale: 0.6,
opacity: 0.3,
time: 625
}, 'linear', 'explode');
battle.showEffect('mistball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.4,
opacity: 0.6,
time: 500
}, {
x: defender.x + 10,
y: defender.y - 10,
z: defender.z,
scale: 0.6,
opacity: 0.3,
time: 700
}, 'linear', 'explode');
battle.showEffect('mistball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.4,
opacity: 0.6,
time: 575
}, {
x: defender.x - 20,
y: defender.y,
z: defender.z,
scale: 0.6,
opacity: 0.3,
time: 775
}, 'linear', 'explode');
battle.showEffect('shadowball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 0.5,
time: 750
}, {
scale: 4,
opacity: 0,
time: 950
}, 'linear');
battle.showEffect('shadowball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 0.5,
time: 800
}, {
scale: 4,
opacity: 0,
time: 1000
}, 'linear');
defender.delay(325);
defender.anim({
z: defender.behind(5),
time: 75
}, 'swing');
defender.anim({
time: 75
}, 'swing');
defender.anim({
z: defender.behind(5),
time: 75
}, 'swing');
defender.anim({
time: 75
}, 'swing');
defender.anim({
z: defender.behind(5),
time: 75
}, 'swing');
defender.anim({
time: 75
}, 'swing');
defender.anim({
z: defender.behind(5),
time: 75
}, 'swing');
defender.anim({
time: 150
}, 'swing');
}
},
blizzard: { // todo: better blizzard anim
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.backgroundEffect('#009AA4', 700, 0.5);
battle.showEffect('icicle', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.6,
opacity: 0.6
}, {
x: defender.x + 60,
y: defender.y + 40,
z: defender.z,
scale: 2,
opacity: 0.3
}, 'accel', 'explode');
battle.showEffect('icicle', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.6,
opacity: 0.6,
time: 75
}, {
x: defender.x + 40,
y: defender.y - 40,
z: defender.z,
scale: 2,
opacity: 0.3
}, 'accel', 'explode');
battle.showEffect('icicle', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.6,
opacity: 0.6,
time: 150
}, {
x: defender.x - 60,
y: defender.y,
z: defender.z,
scale: 2,
opacity: 0.3
}, 'accel', 'explode');
battle.showEffect('icicle', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.6,
opacity: 0.6,
time: 225
}, {
x: defender.x - 20,
y: defender.y + 10,
z: defender.z,
scale: 2,
opacity: 0.3
}, 'accel', 'explode');
}
},
sheercold: { // Reminder: Improve this later
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.backgroundEffect("url('sprites/gen6bgs/bg-icecave.jpg')", 1000, 0.6);
battle.showEffect('icicle', {
x: defender.x,
y: defender.y,
z: defender.z,
xscale: 2,
yscale: 5,
opacity: 0.6
}, {
xscale: 2.2,
yscale: 5.25,
scale: .6,
time: 800
}, 'linear', 'explode');
}
},
freezeshock: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('iceball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: .4,
opacity: 0.6
}, {
x: defender.x + 30,
y: defender.y + 30,
z: defender.z,
scale: .6,
opacity: 0.3,
time: 200
}, 'linear', 'explode');
battle.showEffect('iceball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: .4,
opacity: 0.6,
time: 75
}, {
x: defender.x + 20,
y: defender.y - 30,
z: defender.z,
scale: .6,
opacity: 0.3,
time: 275
}, 'linear', 'explode');
battle.showEffect('iceball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: .4,
opacity: 0.6,
time: 150
}, {
x: defender.x - 30,
y: defender.y,
z: defender.z,
scale: .6,
opacity: 0.3,
time: 350
}, 'linear', 'explode');
battle.showEffect('iceball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: .4,
opacity: 0.6,
time: 225
}, {
x: defender.x - 10,
y: defender.y + 10,
z: defender.z,
scale: .6,
opacity: 0.3,
time: 425
}, 'linear', 'explode');
battle.showEffect('iceball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: .4,
opacity: 0.6,
time: 300
}, {
x: defender.x + 10,
y: defender.y - 10,
z: defender.z,
scale: .6,
opacity: 0.3,
time: 500
}, 'linear', 'explode');
battle.showEffect('iceball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: .4,
opacity: 0.6,
time: 375
}, {
x: defender.x - 20,
y: defender.y,
z: defender.z,
scale: .6,
opacity: 0.3,
time: 575
}, 'linear', 'explode');
battle.showEffect('electroball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 0.5,
time: 550
}, {
scale: 4,
opacity: 0,
time: 750
}, 'linear');
battle.showEffect('electroball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 0.5,
time: 600
}, {
scale: 4,
opacity: 0,
time: 800
}, 'linear');
},
prepareAnim: BattleOtherAnims.selfstatus.anim,
prepareMessage: function (pokemon) {
return pokemon.getName() + ' became cloaked in a freezing light!';
}
},
iceburn: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('iceball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: .4,
opacity: 0.6
}, {
x: defender.x + 30,
y: defender.y + 30,
z: defender.z,
scale: .6,
opacity: 0.3,
time: 200
}, 'linear', 'explode');
battle.showEffect('iceball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: .4,
opacity: 0.6,
time: 75
}, {
x: defender.x + 20,
y: defender.y - 30,
z: defender.z,
scale: .6,
opacity: 0.3,
time: 275
}, 'linear', 'explode');
battle.showEffect('iceball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: .4,
opacity: 0.6,
time: 150
}, {
x: defender.x - 30,
y: defender.y,
z: defender.z,
scale: .6,
opacity: 0.3,
time: 350
}, 'linear', 'explode');
battle.showEffect('iceball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: .4,
opacity: 0.6,
time: 225
}, {
x: defender.x - 10,
y: defender.y + 10,
z: defender.z,
scale: .6,
opacity: 0.3,
time: 425
}, 'linear', 'explode');
battle.showEffect('iceball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: .4,
opacity: 0.6,
time: 300
}, {
x: defender.x + 10,
y: defender.y - 10,
z: defender.z,
scale: .6,
opacity: 0.3,
time: 500
}, 'linear', 'explode');
battle.showEffect('iceball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: .4,
opacity: 0.6,
time: 375
}, {
x: defender.x - 20,
y: defender.y,
z: defender.z,
scale: .6,
opacity: 0.3,
time: 575
}, 'linear', 'explode');
battle.showEffect('flareball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 0.5,
time: 550
}, {
scale: 4,
opacity: 0,
time: 750
}, 'linear');
battle.showEffect('flareball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 0.5,
time: 600
}, {
scale: 4,
opacity: 0,
time: 800
}, 'linear');
},
prepareAnim: BattleOtherAnims.selfstatus.anim,
prepareMessage: function (pokemon) {
return pokemon.getName() + ' became cloaked in freezing air!';
}
},
razorwind: {
prepareAnim: BattleOtherAnims.selfstatus.anim,
prepareMessage: function (pokemon) {
return pokemon.getName() + ' whipped up a whirlwind!';
}
},
overheat: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.backgroundEffect('linear-gradient(#390000 30%, #B84038)', 700, 0.4);
battle.showEffect('fireball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.6,
opacity: 0.8
}, {
x: defender.x + 60,
y: defender.y + 40,
z: defender.z,
scale: 2,
opacity: 0.5
}, 'decel', 'explode');
battle.showEffect('fireball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.6,
opacity: 0.8,
time: 75
}, {
x: defender.x + 40,
y: defender.y - 40,
z: defender.z,
scale: 2,
opacity: 0.5
}, 'decel', 'explode');
battle.showEffect('fireball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.6,
opacity: 0.8,
time: 150
}, {
x: defender.x - 60,
y: defender.y,
z: defender.z,
scale: 2,
opacity: 0.5
}, 'decel', 'explode');
battle.showEffect('fireball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.6,
opacity: 0.8,
time: 225
}, {
x: defender.x - 20,
y: defender.y + 10,
z: defender.z,
scale: 2,
opacity: 0.5
}, 'decel', 'explode');
battle.showEffect('wisp', {
x: attacker.x + 30,
y: attacker.y,
z: attacker.z,
scale: 1,
opacity: 1,
time: 100
}, {
y: attacker.y + 60,
opacity: 0.2,
time: 500
}, 'linear', 'fade');
battle.showEffect('wisp', {
x: attacker.x - 30,
y: attacker.y,
z: attacker.z,
scale: 1,
opacity: 1,
time: 200
}, {
y: defender.y + 60,
opacity: 0.2,
time: 600
}, 'linear', 'fade');
battle.showEffect('wisp', {
x: attacker.x + 15,
y: attacker.y,
z: attacker.z,
scale: 1,
opacity: 1,
time: 300
}, {
y: attacker.y + 60,
opacity: 0.2,
time: 700
}, 'linear', 'fade');
battle.showEffect('wisp', {
x: attacker.x - 15,
y: attacker.y,
z: attacker.z,
scale: 1,
opacity: 1,
time: 400
}, {
y: attacker.y + 60,
opacity: 0.2,
time: 800
}, 'linear', 'fade');
defender.delay(200);
defender.anim({
x: defender.x - 5,
time: 75
}, 'swing');
defender.anim({
x: defender.x + 5,
time: 75
}, 'swing');
defender.anim({
x: defender.x - 5,
time: 75
}, 'swing');
defender.anim({
x: defender.x + 5,
time: 75
}, 'swing');
defender.anim({
x: defender.x - 5,
time: 75
}, 'swing');
defender.anim({
x: defender.x + 5,
time: 75
}, 'swing');
defender.anim({
x: defender.x - 5,
time: 75
}, 'swing');
defender.anim({
time: 100
}, 'accel');
}
},
blastburn: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.backgroundEffect('linear-gradient(#390000 30%, #B84038)', 700, 0.4);
battle.showEffect('fireball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.6,
opacity: 0.8
}, {
x: defender.x + 60,
y: defender.y + 40,
z: defender.z,
scale: 2,
opacity: 0.5
}, 'decel', 'explode');
battle.showEffect('fireball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.6,
opacity: 0.8,
time: 75
}, {
x: defender.x + 40,
y: defender.y - 40,
z: defender.z,
scale: 2,
opacity: 0.5
}, 'decel', 'explode');
battle.showEffect('fireball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.6,
opacity: 0.8,
time: 150
}, {
x: defender.x - 60,
y: defender.y,
z: defender.z,
scale: 2,
opacity: 0.5
}, 'decel', 'explode');
battle.showEffect('fireball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.6,
opacity: 0.8,
time: 225
}, {
x: defender.x - 20,
y: defender.y + 10,
z: defender.z,
scale: 2,
opacity: 0.5
}, 'decel', 'explode');
defender.delay(200);
defender.anim({
x: defender.x - 5,
time: 75
}, 'swing');
defender.anim({
x: defender.x + 5,
time: 75
}, 'swing');
defender.anim({
x: defender.x - 5,
time: 75
}, 'swing');
defender.anim({
x: defender.x + 5,
time: 75
}, 'swing');
defender.anim({
x: defender.x - 5,
time: 75
}, 'swing');
defender.anim({
x: defender.x + 5,
time: 75
}, 'swing');
defender.anim({
x: defender.x - 5,
time: 75
}, 'swing');
defender.anim({
time: 100
}, 'accel');
}
},
sacredfire: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.backgroundEffect('#2630A9', 900, 0.6);
battle.showEffect('bluefireball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 1,
opacity: 0.2
}, {
x: defender.x,
y: defender.y - 40,
z: defender.z,
scale: 1.5,
opacity: 1,
time: 500
}, 'linear', 'fade');
battle.showEffect('bluefireball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 1,
opacity: 0.2,
time: 50
}, {
x: defender.x,
y: defender.y - 40,
z: defender.z,
scale: 1.5,
opacity: 1,
time: 550
}, 'linear', 'fade');
battle.showEffect('iceball', {
x: defender.x,
y: defender.y,
z: defender.z,
opacity: 0.8,
scale: 0,
time: 550
}, {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 4,
opacity: 0.3,
time: 850
}, 'linear', 'fade');
battle.showEffect('iceball', {
x: defender.x,
y: defender.y,
z: defender.z,
opacity: 0.8,
scale: 0,
time: 650
}, {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 4,
opacity: 0.3,
time: 950
}, 'linear', 'fade');
battle.showEffect('bluefireball', {
x: defender.x,
y: defender.y - 50,
z: defender.z,
scale: 0.6,
opacity: 0.8,
time: 550
}, {
x: defender.x + 60,
y: defender.y - 20,
z: defender.z,
scale: 1.5,
opacity: 0.5,
time: 825
}, 'decel', 'explode');
battle.showEffect('bluefireball', {
x: defender.x,
y: defender.y - 50,
z: defender.z,
scale: 0.6,
opacity: 0.8,
time: 575
}, {
x: defender.x - 50,
y: defender.y - 20,
z: defender.z,
scale: 1,
opacity: 0.5,
time: 850
}, 'decel', 'explode');
battle.showEffect('bluefireball', {
x: defender.x,
y: defender.y - 50,
z: defender.z,
scale: 0.6,
opacity: 0.8,
time: 600
}, {
x: defender.x - 60,
y: defender.y + 20,
z: defender.z,
scale: 1.5,
opacity: 0.5,
time: 875
}, 'decel', 'explode');
battle.showEffect('bluefireball', {
x: defender.x,
y: defender.y - 50,
z: defender.z,
scale: 0.6,
opacity: 0.8,
time: 625
}, {
x: defender.x + 50,
y: defender.y + 30,
z: defender.z,
scale: 1.5,
opacity: 0.5,
time: 900
}, 'decel', 'explode');
battle.showEffect('bluefireball', {
x: defender.x,
y: defender.y - 50,
z: defender.z,
scale: 0.6,
opacity: 0.8,
time: 650
}, {
x: defender.x - 10,
y: defender.y + 60,
z: defender.z,
scale: 1.5,
opacity: 0.5,
time: 925
}, 'decel', 'explode');
}
},
blueflare: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.backgroundEffect('#4499FF', 600, 0.6);
battle.showEffect('bluefireball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.6,
opacity: 0.8
}, {
x: defender.x + 60,
y: defender.y + 40,
z: defender.z,
scale: 2,
opacity: 0.5
}, 'decel', 'explode');
battle.showEffect('bluefireball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.6,
opacity: 0.8,
time: 75
}, {
x: defender.x + 40,
y: defender.y - 40,
z: defender.z,
scale: 2,
opacity: 0.5
}, 'decel', 'explode');
battle.showEffect('bluefireball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.6,
opacity: 0.8,
time: 150
}, {
x: defender.x - 60,
y: defender.y,
z: defender.z,
scale: 2,
opacity: 0.5
}, 'decel', 'explode');
battle.showEffect('bluefireball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.6,
opacity: 0.8,
time: 225
}, {
x: defender.x - 20,
y: defender.y + 10,
z: defender.z,
scale: 2,
opacity: 0.5
}, 'decel', 'explode');
}
},
electroweb: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('web', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.1,
opacity: 0
}, {
x: defender.x,
y: defender.y,
z: defender.z,
scale: .5,
opacity: 1,
time: 400
}, 'ballistic', 'explode');
battle.showEffect('web', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.1,
opacity: 0,
time: 100
}, {
x: defender.x + 40,
y: defender.y - 20,
z: defender.z,
scale: .5,
opacity: 1,
time: 500
}, 'ballistic', 'explode');
battle.showEffect('web', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.1,
opacity: 0,
time: 200
}, {
x: defender.x - 30,
y: defender.y - 10,
z: defender.z,
scale: .5,
opacity: 1,
time: 600
}, 'ballistic', 'explode');
}
},
fling: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('shadowball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.1,
opacity: 0
}, {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0.4,
opacity: 1,
time: 400
}, 'ballistic', 'explode');
}
},
worryseed: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('energyball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.1,
opacity: 0
}, {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0.4,
opacity: 1,
time: 400
}, 'ballistic', 'explode');
}
},
rockthrow: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('rock1', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.3,
opacity: 0
}, {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 1,
opacity: 1,
time: 400
}, 'ballistic', 'explode');
}
},
paraboliccharge: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('electroball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 7,
opacity: 0,
time: 0
}, {
scale: 0,
opacity: 0.5,
time: 400
}, 'linear', 'fade');
battle.showEffect('electroball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 7,
opacity: 0,
time: 150
}, {
scale: 0,
opacity: 0.5,
time: 600
}, 'linear', 'fade');
}
},
drainingkiss: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('mistball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0.6,
opacity: .6,
time: 0
}, {
x: attacker.x,
y: attacker.y,
z: attacker.z,
time: 500,
opacity: 0
}, 'ballistic2');
battle.showEffect('mistball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0.6,
opacity: .6,
time: 50
}, {
x: attacker.x,
y: attacker.y,
z: attacker.z,
time: 550,
opacity: 0
}, 'linear');
battle.showEffect('mistball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0.6,
opacity: .6,
time: 100
}, {
x: attacker.x,
y: attacker.y,
z: attacker.z,
time: 600,
opacity: 0
}, 'ballistic2Under');
}
},
oblivionwing: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
var xstep = (defender.x - attacker.x) / 5;
var ystep = (defender.x - 165 - attacker.x) / 5;
var zstep = (defender.z - attacker.z) / 5;
battle.backgroundEffect('#000000', 900, 0.5);
for (var i = 0; i < 5; i++) {
battle.showEffect('flareball', {
x: attacker.x + xstep * (i + 1),
y: (attacker.y + 165) + ystep * (i + 1),
z: attacker.z + zstep * (i + 1),
scale: 1,
opacity: 0.9,
time: 40 * i + 500
}, {
opacity: 0,
time: 100 * i + 800
}, 'linear');
}
battle.showEffect('poisonwisp', {
x: attacker.x,
y: attacker.y + 165,
z: attacker.z,
scale: 0.8,
opacity: 0.7,
time: 500
}, {
x: defender.x + 30,
y: defender.y + 30,
z: defender.z,
scale: 1.4,
opacity: 0.3,
time: 700
}, 'linear', 'explode');
battle.showEffect('poisonwisp', {
x: attacker.x,
y: attacker.y + 165,
z: attacker.z,
scale: 0.8,
opacity: 0.7,
time: 575
}, {
x: defender.x + 20,
y: defender.y - 30,
z: defender.z,
scale: 1.4,
opacity: 0.3,
time: 775
}, 'linear', 'explode');
battle.showEffect('poisonwisp', {
x: attacker.x,
y: attacker.y + 165,
z: attacker.z,
scale: 0.8,
opacity: 0.7,
time: 625
}, {
x: defender.x - 10,
y: defender.y + 10,
z: defender.z,
scale: 1.4,
opacity: 0.3,
time: 825
}, 'linear', 'explode');
battle.showEffect('poisonwisp', {
x: attacker.x,
y: attacker.y + 165,
z: attacker.z,
scale: 0.8,
opacity: 0.7,
time: 650
}, {
x: defender.x - 30,
y: defender.y,
z: defender.z,
scale: 1.4,
opacity: 0.3,
time: 850
}, 'linear', 'explode');
battle.showEffect('poisonwisp', {
x: attacker.x,
y: attacker.y + 165,
z: attacker.z,
scale: 0.8,
opacity: 0.7,
time: 700
}, {
x: defender.x + 10,
y: defender.y - 10,
z: defender.z,
scale: 1.4,
opacity: 0.3,
time: 900
}, 'linear', 'explode');
battle.showEffect('poisonwisp', {
x: attacker.x,
y: attacker.y + 165,
z: attacker.z,
scale: 0.8,
opacity: 0.7,
time: 775
}, {
x: defender.x - 20,
y: defender.y,
z: defender.z,
scale: 1.4,
opacity: 0.3,
time: 975
}, 'linear', 'explode');
battle.showEffect('poisonwisp', {
x: defender.x,
y: defender.y + 20,
z: defender.z,
scale: 1,
opacity: 0.5,
time: 1000
}, {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.3,
opacity: 0,
time: 1500
}, 'ballistic2');
battle.showEffect('poisonwisp', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 1.5,
opacity: 0.5,
time: 1050
}, {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.3,
opacity: 0,
time: 1550
}, 'linear');
battle.showEffect('poisonwisp', {
x: defender.x,
y: defender.y - 20,
z: defender.z,
scale: 1.5,
opacity: 0.3,
time: 1100
}, {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.5,
opacity: 0,
time: 1600
}, 'ballistic2Under');
attacker.anim({
y: defender.y + 120,
opacity: 0,
time: 300
}, 'accel');
attacker.delay(725);
attacker.anim({
x: attacker.x,
y: attacker.y + 40,
z: attacker.behind(40),
time: 1
});
attacker.anim({
x: attacker.x,
y: attacker.y,
z: attacker.z,
time: 250
}, 'decel');
defender.delay(600);
defender.anim({
x: defender.x - 5,
time: 75
}, 'swing');
defender.anim({
x: defender.x + 5,
time: 75
}, 'swing');
defender.anim({
x: defender.x - 5,
time: 75
}, 'swing');
defender.anim({
x: defender.x + 5,
time: 75
}, 'swing');
defender.anim({
x: defender.x - 5,
time: 75
}, 'swing');
defender.anim({
x: defender.x + 5,
time: 75
}, 'swing');
defender.anim({
x: defender.x - 5,
time: 75
}, 'swing');
defender.anim({
time: 100
}, 'accel');
}
},
signalbeam: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('energyball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.5,
opacity: 0.2
}, {
x: defender.x,
y: defender.y,
z: defender.behind(20),
opacity: 0.6,
time: 400
}, 'linear', 'explode');
battle.showEffect('electroball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.5,
opacity: 0.2,
time: 100
}, {
x: defender.x + 10,
y: defender.y - 5,
z: defender.behind(20),
opacity: 0.6,
time: 500
}, 'linear', 'explode');
battle.showEffect('energyball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.5,
opacity: 0.2,
time: 200
}, {
x: defender.x - 10,
y: defender.y + 5,
z: defender.behind(20),
opacity: 0.6,
time: 600
}, 'linear', 'explode');
battle.showEffect('energyball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.5,
opacity: 0.2,
time: 300
}, {
x: defender.x,
y: defender.y - 5,
z: defender.behind(20),
opacity: 0.6,
time: 700
}, 'linear', 'explode');
}
},
simplebeam: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('iceball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.5,
opacity: 0.2
}, {
x: defender.x,
y: defender.y,
z: defender.behind(20),
opacity: 0.6,
time: 400
}, 'linear', 'explode');
battle.showEffect('iceball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.5,
opacity: 0.2,
time: 100
}, {
x: defender.x + 10,
y: defender.y - 5,
z: defender.behind(20),
opacity: 0.6,
time: 500
}, 'linear', 'explode');
battle.showEffect('iceball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.5,
opacity: 0.2,
time: 200
}, {
x: defender.x - 10,
y: defender.y + 5,
z: defender.behind(20),
opacity: 0.6,
time: 600
}, 'linear', 'explode');
battle.showEffect('iceball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.5,
opacity: 0.2,
time: 300
}, {
x: defender.x,
y: defender.y - 5,
z: defender.behind(20),
opacity: 0.6,
time: 700
}, 'linear', 'explode');
}
},
triattack: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('flareball', {
x: attacker.x,
y: attacker.y + 45,
z: attacker.z,
scale: 0,
opacity: 0.2
}, {
scale: 0.5,
opacity: 0.6,
time: 400
}, 'decel', 'fade');
battle.showEffect('iceball', {
x: attacker.x - 45,
y: attacker.y - 20,
z: attacker.z,
scale: 0,
opacity: 0.2,
time: 100
}, {
scale: 0.5,
opacity: 0.6,
time: 500
}, 'decel', 'fade');
battle.showEffect('electroball', {
x: attacker.x + 45,
y: attacker.y - 20,
z: attacker.z,
scale: 0,
opacity: 0.2,
time: 200
}, {
scale: 0.5,
opacity: 0.6,
time: 600
}, 'decel', 'fade');
battle.showEffect('flareball', {
x: attacker.x,
y: attacker.y + 45,
z: attacker.z,
scale: 0.5,
opacity: 0.6,
time: 400
}, {
x: defender.x - 10,
y: defender.y + 5,
z: defender.behind(5),
opacity: 0.8,
time: 700
}, 'accel', 'explode');
battle.showEffect('electroball', {
x: attacker.x - 45,
y: attacker.y - 20,
z: attacker.z,
scale: 0.5,
opacity: 0.6,
time: 500
}, {
x: defender.x - 10,
y: defender.y + 5,
z: defender.behind(5),
opacity: 0.8,
time: 800
}, 'accel', 'explode');
battle.showEffect('iceball', {
x: attacker.x + 45,
y: attacker.y - 20,
z: attacker.z,
scale: 0.5,
opacity: 0.6,
time: 600
}, {
x: defender.x - 10,
y: defender.y + 5,
z: defender.behind(5),
opacity: 0.8,
time: 900
}, 'accel', 'explode');
battle.showEffect('fireball', {
x: defender.x - 15,
y: defender.y,
z: defender.z,
scale: 0.5,
opacity: 0.8,
time: 600
}, {
scale: 3,
opacity: 0,
time: 900
}, 'linear');
battle.showEffect('lightning', {
x: defender.x + 15,
y: defender.y,
z: defender.z,
scale: 0.5,
opacity: 0.8,
time: 700
}, {
scale: 5,
opacity: 0,
time: 1000
}, 'linear');
battle.showEffect('icicle', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0.5,
opacity: 0.8,
time: 800
}, {
scale: 3,
opacity: 0,
time: 1100
}, 'linear');
defender.delay(675);
defender.anim({
z: defender.behind(5),
time: 75
}, 'swing');
defender.anim({
time: 75
}, 'swing');
defender.anim({
z: defender.behind(5),
time: 75
}, 'swing');
defender.anim({
time: 75
}, 'swing');
defender.anim({
z: defender.behind(5),
time: 75
}, 'swing');
defender.anim({
time: 150
}, 'swing');
}
},
hypnosis: {
anim: function (battle, args) {
var defender = args[1];
battle.showEffect('mistball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 0.8,
time: 0
}, {
scale: 2,
opacity: 0,
time: 400
}, 'decel');
battle.showEffect('mistball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 0.8,
time: 100
}, {
scale: 2,
opacity: 0,
time: 500
}, 'decel');
battle.showEffect('mistball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 0.8,
time: 200
}, {
scale: 2,
opacity: 0,
time: 600
}, 'decel');
}
},
darkvoid: {
anim: function (battle, args) {
var attacker = args[0];
var defender;
for (var i = 1; i < args.length; i++) {
defender = args[i];
defender.anim({
y: defender.y - 80,
opacity: 0,
time: 300
}, 'accel', 'fade');
defender.anim({
y: defender.y,
opacity: 0,
time: 200
});
defender.delay(200);
defender.anim({
y: defender.y,
opacity: 1,
time: 200
});
}
if (args.length > 2) defender = args[2];
battle.backgroundEffect('#AA0000', 700, 0.3);
battle.showEffect('shadowball', {
x: defender.x,
y: defender.y - 50,
z: defender.z,
scale: 1,
xscale: 3,
opacity: 0.8,
time: 0
}, {
scale: 2,
xscale: 8,
opacity: 0.1,
time: 600
}, 'accel', 'fade');
}
},
roaroftime: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.backgroundEffect('#000000', 1800, 0.5);
battle.showEffect('iceball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0,
opacity: 0.5,
time: 0
}, {
z: attacker.behind(-70),
scale: 7,
opacity: 0,
time: 400
}, 'linear');
battle.showEffect('iceball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0,
opacity: 0.5,
time: 150
}, {
z: attacker.behind(-70),
scale: 7,
opacity: 0,
time: 600
}, 'linear');
battle.showEffect('iceball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0,
opacity: 0.5,
time: 300
}, {
z: attacker.behind(-70),
scale: 7,
opacity: 0,
time: 800
}, 'linear');
battle.showEffect('poisonwisp', {
x: defender.x + 40,
y: defender.y,
z: defender.z,
scale: 0,
opacity: .6,
time: 900
}, {
scale: 5,
opacity: 0,
time: 1300
}, 'decel');
battle.showEffect('waterwisp', {
x: defender.x - 40,
y: defender.y - 20,
z: defender.z,
scale: 0,
opacity: .6,
time: 1050
}, {
scale: 5,
opacity: 0,
time: 1450
}, 'decel');
battle.showEffect('poisonwisp', {
x: defender.x + 10,
y: defender.y + 20,
z: defender.z,
scale: 0,
opacity: .6,
time: 1200
}, {
scale: 5,
opacity: 0,
time: 1600
}, 'decel');
battle.showEffect('waterwisp', {
x: defender.x - 10,
y: defender.y,
z: defender.z,
scale: 0,
opacity: .6,
time: 1350
}, {
scale: 5,
opacity: 0,
time: 1750
}, 'decel');
defender.delay(925);
defender.anim({
x: defender.x - 30,
time: 75
});
defender.anim({
x: defender.x + 30,
time: 100
});
defender.anim({
x: defender.x - 30,
time: 100
});
defender.anim({
x: defender.x + 30,
time: 100
});
defender.anim({
x: defender.x - 30,
time: 100
});
defender.anim({
x: defender.x + 30,
time: 100
});
defender.anim({
x: defender.x,
time: 100
});
}
},
spacialrend: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.backgroundEffect('#000000', 650, 0.5);
battle.showEffect('mistball', {
x: defender.x + 30,
y: defender.y + 25,
z: defender.z,
scale: 0.2,
opacity: 1,
time: 0
}, {
x: defender.x + 50,
y: defender.y + 10,
opacity: 0.5,
time: 300
}, 'accel', 'explode');
battle.showEffect('mistball', {
x: defender.x - 30,
y: defender.y - 20,
z: defender.z,
scale: 0.2,
opacity: 1,
time: 100
}, {
x: defender.x - 50,
y: defender.y - 20,
opacity: 0.5,
time: 300
}, 'accel', 'explode');
battle.showEffect('mistball', {
x: defender.x + 15,
y: defender.y + 10,
z: defender.z,
scale: 0.2,
opacity: 1,
time: 200
}, {
x: defender.x + 35,
y: defender.y + 30,
opacity: 0.5,
time: 400
}, 'accel', 'explode');
battle.showEffect('mistball', {
x: defender.x - 15,
y: defender.y - 30,
z: defender.z,
scale: 0.2,
opacity: 1,
time: 200
}, {
x: defender.x - 35,
y: defender.y - 40,
opacity: 0.5,
time: 400
}, 'accel', 'explode');
battle.showEffect('mistball', {
x: defender.x + 10,
y: defender.y - 10,
z: defender.z,
scale: 1.5,
opacity: 0.6,
time: 300
}, {
scale: 2,
opacity: 0,
time: 500
}, 'accel', 'fade');
battle.showEffect('leftslash', {
x: defender.x - 10,
y: defender.y - 10,
z: defender.z,
scale: 1.5,
opacity: 0.7,
time: 100
}, {
scale: 2,
opacity: 0,
time: 500
}, 'decel', 'fade');
battle.showEffect(defender.sp, {
x: defender.x,
y: defender.y,
z: defender.z,
opacity: 0.5,
time: 125
}, {
x: defender.x - 5,
y: defender.y - 5,
z: defender.z - 5,
time: 425
}, 'decel');
battle.showEffect(defender.sp, {
x: defender.x - 5,
y: defender.y - 5,
z: defender.z - 5,
opacity: 0.5,
time: 425
}, {
x: defender.x,
y: defender.y,
z: defender.z,
time: 625
}, 'accel');
defender.delay(125);
defender.anim({
x: defender.x + 5,
y: defender.y + 5,
z: defender.z + 5,
opacity: 0.5,
time: 300
}, 'decel');
defender.anim({
x: defender.x,
opacity: 1,
time: 199
}, 'accel');
}
},
sacredsword: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
attacker.delay(300);
attacker.anim({
x: defender.x,
y: defender.y,
z: defender.behind(70),
time: 300,
opacity: .5
}, 'accel');
attacker.anim({
x: defender.x,
y: defender.x,
z: defender.behind(100),
opacity: 0,
time: 100
}, 'linear');
attacker.anim({
x: attacker.x,
y: attacker.y,
z: attacker.behind(70),
opacity: 0,
time: 1
}, 'linear');
attacker.anim({
opacity: 1,
time: 500
}, 'decel');
defender.delay(600);
defender.anim({
z: defender.behind(30),
time: 100
}, 'swing');
defender.anim({
time: 300
}, 'swing');
battle.showEffect('sword', {
x: attacker.leftof(-10),
y: attacker.y - 10,
z: attacker.z,
scale: 0.5,
opacity: 1
}, {
y: attacker.y + 10,
scale: 1,
opacity: 0.4,
time: 300
}, 'decel', 'fade');
battle.showEffect('iceball', {
x: defender.x + 30,
y: defender.y + 25,
z: defender.z,
scale: 0.2,
opacity: 1,
time: 410
}, {
x: defender.x + 50,
y: defender.y + 10,
opacity: 0.5,
time: 710
}, 'accel', 'explode');
battle.showEffect('iceball', {
x: defender.x - 30,
y: defender.y - 20,
z: defender.z,
scale: 0.2,
opacity: 1,
time: 510
}, {
x: defender.x - 50,
y: defender.y - 20,
opacity: 0.5,
time: 710
}, 'accel', 'explode');
battle.showEffect('iceball', {
x: defender.x + 15,
y: defender.y + 10,
z: defender.z,
scale: 0.2,
opacity: 1,
time: 610
}, {
x: defender.x + 35,
y: defender.y + 30,
opacity: 0.5,
time: 810
}, 'accel', 'explode');
battle.showEffect('iceball', {
x: defender.x - 15,
y: defender.y - 30,
z: defender.z,
scale: 0.2,
opacity: 1,
time: 610
}, {
x: defender.x - 35,
y: defender.y - 40,
opacity: 0.5,
time: 910
}, 'accel', 'explode');
battle.showEffect('iceball', {
x: defender.x + 10,
y: defender.y - 10,
z: defender.z,
scale: 1.5,
opacity: 0.6,
time: 610
}, {
scale: 2,
opacity: 0,
time: 910
}, 'accel', 'fade');
battle.showEffect('leftslash', {
x: defender.x - 10,
y: defender.y - 10,
z: defender.z,
scale: 1.5,
opacity: 0.6,
time: 610
}, {
scale: 2,
opacity: 0,
time: 910
}, 'accel', 'fade');
}
},
secretsword: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
defender.delay(400);
defender.anim({
z: defender.behind(20),
time: 100
}, 'swing');
defender.anim({
time: 300
}, 'swing');
battle.showEffect('sword', {
x: attacker.leftof(-10),
y: attacker.y - 10,
z: attacker.z,
scale: 0.5,
opacity: 1
}, {
y: attacker.y + 10,
scale: 1,
opacity: 0.4,
time: 300
}, 'decel', 'fade');
battle.showEffect('flareball', {
x: defender.x + 30,
y: defender.y + 25,
z: defender.z,
scale: 0.2,
opacity: 1,
time: 400
}, {
x: defender.x + 50,
y: defender.y + 10,
opacity: 0.5,
time: 700
}, 'accel', 'explode');
battle.showEffect('flareball', {
x: defender.x - 30,
y: defender.y - 20,
z: defender.z,
scale: 0.2,
opacity: 1,
time: 500
}, {
x: defender.x - 50,
y: defender.y - 20,
opacity: 0.5,
time: 700
}, 'accel', 'explode');
battle.showEffect('flareball', {
x: defender.x + 15,
y: defender.y + 10,
z: defender.z,
scale: 0.2,
opacity: 1,
time: 600
}, {
x: defender.x + 35,
y: defender.y + 30,
opacity: 0.5,
time: 800
}, 'accel', 'explode');
battle.showEffect('flareball', {
x: defender.x - 15,
y: defender.y - 30,
z: defender.z,
scale: 0.2,
opacity: 1,
time: 600
}, {
x: defender.x - 35,
y: defender.y - 40,
opacity: 0.5,
time: 800
}, 'accel', 'explode');
battle.showEffect('flareball', {
x: defender.x + 10,
y: defender.y - 10,
z: defender.z,
scale: 1.5,
opacity: 0.6,
time: 700
}, {
scale: 2,
opacity: 0,
time: 900
}, 'accel', 'fade');
battle.showEffect('leftslash', {
x: defender.x - 10,
y: defender.y - 10,
z: defender.z,
scale: 1.5,
opacity: 0.6,
time: 500
}, {
scale: 2,
opacity: 0,
time: 900
}, 'accel', 'fade');
}
},
psychocut: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('poisonwisp', {
x: defender.x + 60,
y: defender.y + 30,
z: defender.z,
scale: .2,
opacity: 1
}, {
x: defender.x - 70,
y: defender.y - 40,
z: defender.z,
scale: .4,
opacity: .4,
time: 200
}, 'linear', 'fade');
battle.showEffect('poisonwisp', {
x: defender.x + 60,
y: defender.y + 30,
z: defender.z,
scale: .2,
opacity: 1,
time: 100
}, {
x: defender.x - 70,
y: defender.y - 40,
z: defender.z,
scale: .4,
opacity: .4,
time: 300
}, 'linear', 'fade');
battle.showEffect('poisonwisp', {
x: defender.x + 80,
y: defender.y + 10,
z: defender.z,
scale: .2,
opacity: 1,
time: 100
}, {
x: defender.x - 50,
y: defender.y - 60,
z: defender.z,
scale: .4,
opacity: .4,
time: 300
}, 'linear', 'fade');
battle.showEffect('wisp', {
x: defender.x + 80,
y: defender.y + 10,
z: defender.z,
scale: .2,
opacity: 1,
time: 200
}, {
x: defender.x - 50,
y: defender.y - 60,
z: defender.z,
scale: .4,
opacity: .4,
time: 400
}, 'linear', 'fade');
}
},
precipiceblades: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.backgroundEffect('linear-gradient(#390000 30%, #B84038)', 800, 0.4);
battle.showEffect('flareball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 1,
opacity: 1
}, {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 6,
opacity: 0
}, 'linear', 'fade');
battle.showEffect('fireball', {
x: attacker.x,
y: attacker.y - 35,
z: attacker.behind(-50),
scale: 0,
opacity: 0.8
}, {
scale: 3,
opacity: 0,
time: 200
}, 'linear');
battle.showEffect('rock2', {
x: attacker.x,
y: attacker.y - 20,
z: attacker.behind(-50),
scale: 0.5,
yscale: 1.4,
opacity: 0.7,
time: 25
}, {
y: attacker.y,
yscale: 1.5,
time: 250
}, 'decel', 'fade');
battle.showEffect('fireball', {
x: attacker.x,
y: attacker.y - 35,
z: attacker.behind(-125),
scale: 0,
opacity: 0.8,
time: 150
}, {
scale: 3,
opacity: 0
}, 'linear');
battle.showEffect('rock1', {
x: attacker.x,
y: attacker.y - 20,
z: attacker.behind(-125),
scale: 0.5,
yscale: 1.5,
opacity: 0.7,
time: 175
}, {
y: attacker.y,
yscale: 1.6,
time: 400
}, 'decel', 'fade');
battle.showEffect('fireball', {
x: defender.x,
y: defender.y - 35,
z: defender.z,
scale: 0,
opacity: 0.8,
time: 300
}, {
scale: 6,
opacity: 0
}, 'linear');
battle.showEffect('rock2', {
x: defender.x - 15,
y: defender.y - 20,
z: defender.z,
scale: 0.5,
yscale: 1.6,
opacity: 0.7,
time: 350
}, {
y: attacker.y,
yscale: 1.7,
time: 550
}, 'decel', 'fade');
battle.showEffect('rock2', {
x: defender.x + 15,
y: defender.y - 20,
z: defender.z,
scale: 0.5,
yscale: 1.6,
opacity: 0.7,
time: 375
}, {
y: attacker.y,
yscale: 1.7,
time: 575
}, 'decel', 'fade');
battle.showEffect('rock1', {
x: defender.x,
y: defender.y - 20,
z: defender.z,
scale: 0.5,
yscale: 1.8,
opacity: 0.7,
time: 400
}, {
y: defender.y + 10,
yscale: 1.9,
time: 600
}, 'accel', 'fade');
defender.delay(325);
defender.anim({
x: defender.x - 30,
time: 75
});
defender.anim({
x: defender.x + 30,
time: 100
});
defender.anim({
x: defender.x - 30,
time: 100
});
defender.anim({
x: defender.x + 30,
time: 100
});
defender.anim({
x: defender.x - 30,
time: 100
});
defender.anim({
x: defender.x + 30,
time: 100
});
defender.anim({
x: defender.x,
time: 100
});
}
},
originpulse: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.backgroundEffect('#00CCCC', 700, 0.5);
battle.showEffect('iceball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 1,
opacity: 1
}, {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 6,
opacity: 0
}, 'linear', 'fade');
battle.showEffect('waterwisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.4,
opacity: 0.3
}, {
x: defender.x + 10,
y: defender.y + 5,
z: defender.behind(30),
scale: 1,
opacity: 0.6
}, 'decel', 'explode');
battle.showEffect('waterwisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.4,
opacity: 0.3,
time: 75
}, {
x: defender.x - 10,
y: defender.y - 5,
z: defender.behind(30),
scale: 1,
opacity: 0.6
}, 'decel', 'explode');
battle.showEffect('waterwisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.4,
opacity: 0.3,
time: 150
}, {
x: defender.x,
y: defender.y + 5,
z: defender.behind(30),
scale: 1,
opacity: 0.6
}, 'decel', 'explode');
}
},
dragonascent: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.backgroundEffect("url('fx/bg-space.jpg')", 1000, 0.7);
battle.showEffect('iceball', {
x: attacker.leftof(-25),
y: attacker.y + 250,
z: attacker.z,
scale: 0.5,
opacity: 0.8,
time: 400
}, {
x: defender.x,
y: defender.y,
z: defender.behind(5),
scale: 2,
time: 700
}, 'accel', 'explode');
battle.showEffect('energyball', {
x: attacker.leftof(-25),
y: attacker.y + 250,
z: attacker.z,
scale: 0.5,
opacity: 0.1,
time: 400
}, {
x: defender.x,
y: defender.y,
z: defender.behind(5),
scale: 2,
time: 700
}, 'accel', 'explode');
battle.showEffect('electroball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0.5,
opacity: 0.7,
time: 650
}, {
scale: 4,
opacity: 0,
time: 900
}, 'linear', 'fade');
battle.showEffect('energyball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0.5,
opacity: 0.7,
time: 750
}, {
scale: 4,
opacity: 0,
time: 1000
}, 'linear', 'fade');
attacker.anim({
opacity: 0,
y: defender.y + 120,
time: 300
}, 'accel');
attacker.delay(625);
attacker.anim({
x: attacker.x,
y: attacker.y + 40,
z: attacker.behind(40),
time: 1
});
attacker.anim({
x: attacker.x,
y: attacker.y,
z: attacker.z,
time: 250
}, 'decel');
defender.delay(725);
defender.anim({
z: defender.behind(20),
time: 250
}, 'decel');
defender.anim({
time: 200
}, 'swing');
}
},
diamondstorm: { // todo: new animation involving icicles
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.backgroundEffect('#FF99FF', 700, 0.3);
battle.showEffect('mistball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: .4,
opacity: 0.6
}, {
x: defender.x + 30,
y: defender.y + 30,
z: defender.z,
scale: .6,
opacity: 0.3,
time: 200
}, 'linear', 'explode');
battle.showEffect('mistball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: .4,
opacity: 0.6,
time: 75
}, {
x: defender.x + 20,
y: defender.y - 30,
z: defender.z,
scale: .6,
opacity: 0.3,
time: 275
}, 'linear', 'explode');
battle.showEffect('mistball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: .4,
opacity: 0.6,
time: 150
}, {
x: defender.x - 30,
y: defender.y,
z: defender.z,
scale: .6,
opacity: 0.3,
time: 350
}, 'linear', 'explode');
battle.showEffect('mistball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: .4,
opacity: 0.6,
time: 225
}, {
x: defender.x - 10,
y: defender.y + 10,
z: defender.z,
scale: .6,
opacity: 0.3,
time: 425
}, 'linear', 'explode');
battle.showEffect('mistball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: .4,
opacity: 0.6,
time: 300
}, {
x: defender.x + 10,
y: defender.y - 10,
z: defender.z,
scale: .6,
opacity: 0.3,
time: 500
}, 'linear', 'explode');
battle.showEffect('mistball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: .4,
opacity: 0.6,
time: 375
}, {
x: defender.x - 20,
y: defender.y,
z: defender.z,
scale: .6,
opacity: 0.3,
time: 575
}, 'linear', 'explode');
}
},
dazzlinggleam: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.backgroundEffect('#FF99FF', 700, 0.5);
battle.showEffect('wisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.6,
opacity: 0.6
}, {
x: defender.x + 30,
y: defender.y + 30,
z: defender.z,
scale: 1,
opacity: 0.3,
time: 200
}, 'linear', 'explode');
battle.showEffect('wisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.6,
opacity: 0.6,
time: 75
}, {
x: defender.x + 20,
y: defender.y - 30,
z: defender.z,
scale: 1,
opacity: 0.3,
time: 275
}, 'linear', 'explode');
battle.showEffect('wisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.6,
opacity: 0.6,
time: 150
}, {
x: defender.x - 30,
y: defender.y,
z: defender.z,
scale: 1,
opacity: 0.3,
time: 350
}, 'linear', 'explode');
battle.showEffect('wisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.6,
opacity: 0.6,
time: 225
}, {
x: defender.x - 10,
y: defender.y + 10,
z: defender.z,
scale: 1,
opacity: 0.3,
time: 425
}, 'linear', 'explode');
battle.showEffect('wisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.6,
opacity: 0.6,
time: 300
}, {
x: defender.x + 10,
y: defender.y - 10,
z: defender.z,
scale: 1,
opacity: 0.3,
time: 500
}, 'linear', 'explode');
battle.showEffect('wisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.6,
opacity: 0.6,
time: 375
}, {
x: defender.x - 20,
y: defender.y,
z: defender.z,
scale: 1,
opacity: 0.3,
time: 575
}, 'linear', 'explode');
}
},
payday: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('electroball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.1,
opacity: 0.6
}, {
x: defender.x + 30,
y: defender.y + 30,
z: defender.z,
scale: 0.3,
opacity: 0.3,
time: 200
}, 'linear', 'explode');
battle.showEffect('electroball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.1,
opacity: 0.6,
time: 75
}, {
x: defender.x + 20,
y: defender.y - 30,
z: defender.z,
scale: 0.3,
opacity: 0.3,
time: 275
}, 'linear', 'explode');
battle.showEffect('electroball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.1,
opacity: 0.6,
time: 150
}, {
x: defender.x - 30,
y: defender.y,
z: defender.z,
scale: 0.3,
opacity: 0.3,
time: 350
}, 'linear', 'explode');
battle.showEffect('electroball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.1,
opacity: 0.6,
time: 225
}, {
x: defender.x - 10,
y: defender.y + 10,
z: defender.z,
scale: 0.3,
opacity: 0.3,
time: 425
}, 'linear', 'explode');
battle.showEffect('electroball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.1,
opacity: 0.6,
time: 300
}, {
x: defender.x + 10,
y: defender.y - 10,
z: defender.z,
scale: 0.3,
opacity: 0.3,
time: 500
}, 'linear', 'explode');
battle.showEffect('electroball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.1,
opacity: 0.6,
time: 375
}, {
x: defender.x - 20,
y: defender.y,
z: defender.z,
scale: 0.3,
opacity: 0.3,
time: 575
}, 'linear', 'explode');
}
},
swift: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('wisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.6,
opacity: 0.6
}, {
x: defender.x + 30,
y: defender.y + 30,
z: defender.z,
scale: 1,
opacity: 0.3,
time: 200
}, 'linear', 'explode');
battle.showEffect('wisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.6,
opacity: 0.6,
time: 75
}, {
x: defender.x + 20,
y: defender.y - 30,
z: defender.z,
scale: 1,
opacity: 0.3,
time: 275
}, 'linear', 'explode');
battle.showEffect('wisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.6,
opacity: 0.6,
time: 150
}, {
x: defender.x - 30,
y: defender.y,
z: defender.z,
scale: 1,
opacity: 0.3,
time: 350
}, 'linear', 'explode');
battle.showEffect('wisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.6,
opacity: 0.6,
time: 225
}, {
x: defender.x - 10,
y: defender.y + 10,
z: defender.z,
scale: 1,
opacity: 0.3,
time: 425
}, 'linear', 'explode');
battle.showEffect('wisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.6,
opacity: 0.6,
time: 300
}, {
x: defender.x + 10,
y: defender.y - 10,
z: defender.z,
scale: 1,
opacity: 0.3,
time: 500
}, 'linear', 'explode');
battle.showEffect('wisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.6,
opacity: 0.6,
time: 375
}, {
x: defender.x - 20,
y: defender.y,
z: defender.z,
scale: 1,
opacity: 0.3,
time: 575
}, 'linear', 'explode');
}
},
leafstorm: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.backgroundEffect('#9AB440', 700, 0.7);
battle.showEffect('leaf1', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 1.1,
opacity: 1
}, {
x: defender.x + 30,
y: defender.y + 30,
z: defender.z,
scale: 2,
opacity: 0.6,
time: 200
}, 'linear', 'explode');
battle.showEffect('leaf2', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 1.1,
opacity: 1,
time: 75
}, {
x: defender.x + 20,
y: defender.y - 30,
z: defender.z,
scale: 2,
opacity: 0.6,
time: 275
}, 'linear', 'explode');
battle.showEffect('energyball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.6,
opacity: 0.6,
time: 150
}, {
x: defender.x - 30,
y: defender.y,
z: defender.z,
scale: 1,
opacity: 0.3,
time: 350
}, 'linear', 'explode');
battle.showEffect('leaf2', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 1.1,
opacity: 1,
time: 225
}, {
x: defender.x - 10,
y: defender.y + 10,
z: defender.z,
scale: 2,
opacity: 0.6,
time: 425
}, 'linear', 'explode');
battle.showEffect('leaf1', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 1.1,
opacity: 1,
time: 300
}, {
x: defender.x + 10,
y: defender.y - 10,
z: defender.z,
scale: 2,
opacity: 0.6,
time: 500
}, 'linear', 'explode');
battle.showEffect('energyball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.6,
opacity: 0.6,
time: 375
}, {
x: defender.x - 20,
y: defender.y,
z: defender.z,
scale: 1,
opacity: 0.3,
time: 575
}, 'linear', 'explode');
defender.delay(125);
defender.anim({
z: defender.behind(5),
time: 75
}, 'swing');
defender.anim({
time: 75
}, 'swing');
defender.anim({
z: defender.behind(5),
time: 75
}, 'swing');
defender.anim({
time: 75
}, 'swing');
defender.anim({
z: defender.behind(5),
time: 75
}, 'swing');
defender.anim({
time: 75
}, 'swing');
defender.anim({
z: defender.behind(5),
time: 75
}, 'swing');
defender.anim({
time: 150
}, 'swing');
}
},
petaldance: { // Work on this later
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.backgroundEffect('#FF99FF', 1400, 0.5);
attacker.anim({x: attacker.x - 10, time: 100});
attacker.anim({x: attacker.x + 10, time: 200});
attacker.anim({x: attacker.x, time: 100});
attacker.anim({
x: defender.x,
y: defender.y + 50,
z: defender.behind(-150),
time: 200
}, 'ballistic2');
attacker.anim({
x: defender.x,
y: defender.y,
z: defender.behind(-100),
time: 100
}, 'accel');
attacker.anim({z: attacker.z, time: 400}, 'swing');
battle.showEffect('petal', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0,
opacity: 1,
time: 0
}, {
x: attacker.x - 45,
y: attacker.y - 45,
scale: 2,
opacity: 0,
time: 300
}, 'decel');
battle.showEffect('petal', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0,
opacity: 1,
time: 150
}, {
x: attacker.x + 50,
y: attacker.y - 30,
scale: 2,
opacity: 0,
time: 450
}, 'decel');
battle.showEffect('petal', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0,
opacity: 1,
time: 250
}, {
x: attacker.x + 25,
y: attacker.y - 60,
scale: 2,
opacity: 0,
time: 550
}, 'decel');
battle.showEffect('petal', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0,
opacity: 1,
time: 300
}, {
x: attacker.x - 40,
y: attacker.y - 40,
scale: 2,
opacity: 0,
time: 600
}, 'decel');
battle.showEffect('mistball', {
x: attacker.x,
y: attacker.y,
z: defender.behind(-100),
scale: 0.6,
opacity: 1,
time: 700
}, {
x: defender.x + 30,
y: defender.y + 30,
z: defender.z,
scale: 0.8,
opacity: 0.6,
time: 900
}, 'ballistic', 'explode');
battle.showEffect('petal', {
x: attacker.x,
y: attacker.y,
z: defender.behind(-100),
scale: 0.7,
opacity: 1,
time: 775
}, {
x: defender.x + 20,
y: defender.y - 30,
z: defender.z,
scale: 0.9,
opacity: 0.6,
time: 975
}, 'ballistic2Under', 'explode');
battle.showEffect('mistball', {
x: attacker.x,
y: attacker.y,
z: defender.behind(-100),
scale: 0.5,
opacity: 0.6,
time: 850
}, {
x: defender.x - 30,
y: defender.y,
z: defender.z,
scale: 0.8,
opacity: 0.3,
time: 1050
}, 'ballistic2', 'explode');
battle.showEffect('petal', {
x: attacker.x,
y: attacker.y,
z: defender.behind(-100),
scale: 0.6,
opacity: 1,
time: 925
}, {
x: defender.x - 10,
y: defender.y + 10,
z: defender.z,
scale: 0.9,
opacity: 0.6,
time: 1125
}, 'ballistic', 'explode');
battle.showEffect('petal', {
x: attacker.x,
y: attacker.y,
z: defender.behind(-100),
scale: 0.8,
opacity: 1,
time: 1000
}, {
x: defender.x + 10,
y: defender.y - 10,
z: defender.z,
scale: 1,
opacity: 0.6,
time: 1200
}, 'linear', 'explode');
battle.showEffect('petal', {
x: attacker.x,
y: attacker.y,
z: defender.behind(-100),
scale: 0.8,
opacity: 0.6,
time: 1075
}, {
x: defender.x - 20,
y: defender.y,
z: defender.z,
scale: 0.9,
opacity: 0.3,
time: 1175
}, 'ballistic2', 'explode');
defender.delay(825);
defender.anim({
z: defender.behind(5),
time: 75
}, 'swing');
defender.anim({
time: 75
}, 'swing');
defender.anim({
z: defender.behind(5),
time: 75
}, 'swing');
defender.anim({
time: 75
}, 'swing');
defender.anim({
z: defender.behind(5),
time: 75
}, 'swing');
defender.anim({
time: 75
}, 'swing');
defender.anim({
z: defender.behind(5),
time: 75
}, 'swing');
defender.anim({
time: 150
}, 'swing');
}
},
petalblizzard: {
anim: function (battle, args) {
var attacker = args[0];
var defender;
battle.backgroundEffect('#FF99FF', 700, 0.3);
for (var i = 1; i < args.length; i++) {
defender = args[i];
defender.delay(350);
defender.anim({
z: defender.behind(5),
time: 75
}, 'swing');
defender.anim({
time: 75
}, 'swing');
defender.anim({
z: defender.behind(5),
time: 75
}, 'swing');
defender.anim({
time: 75
}, 'swing');
defender.anim({
z: defender.behind(5),
time: 75
}, 'swing');
defender.anim({
time: 75
}, 'swing');
}
if (args.length > 2) defender = args[2];
battle.showEffect('petal', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.6,
opacity: 0.6
}, {
x: defender.x + 80,
y: defender.y + 60,
z: defender.z,
scale: 2,
opacity: 0.3
}, 'accel', 'explode');
battle.showEffect('petal', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.6,
opacity: 0.6,
time: 75
}, {
x: defender.x + 60,
y: defender.y - 60,
z: defender.z,
scale: 2,
opacity: 0.3
}, 'accel', 'explode');
battle.showEffect('petal', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.6,
opacity: 0.6,
time: 150
}, {
x: defender.x - 80,
y: defender.y - 20,
z: defender.z,
scale: 2,
opacity: 0.3
}, 'accel', 'explode');
battle.showEffect('petal', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.6,
opacity: 0.6,
time: 225
}, {
x: defender.x - 60,
y: defender.y + 20,
z: defender.z,
scale: 2,
opacity: 0.3
}, 'accel', 'explode');
battle.showEffect('petal', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.6,
opacity: 0.6,
time: 275
}, {
x: defender.x + 40,
y: defender.y - 40,
z: defender.z,
scale: 2,
opacity: 0.3
}, 'accel', 'explode');
battle.showEffect('petal', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.6,
opacity: 0.6,
time: 300
}, {
x: defender.x - 60,
y: defender.y - 30,
z: defender.z,
scale: 2,
opacity: 0.3
}, 'accel', 'explode');
}
},
magicalleaf: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('leaf1', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 1.1,
opacity: 1
}, {
x: defender.x + 30,
y: defender.y + 30,
z: defender.z,
scale: 2,
opacity: 0.6,
time: 200
}, 'linear', 'explode');
battle.showEffect('leaf2', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 1.1,
opacity: 1,
time: 75
}, {
x: defender.x + 20,
y: defender.y - 30,
z: defender.z,
scale: 2,
opacity: 0.6,
time: 275
}, 'linear', 'explode');
battle.showEffect('leaf1', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 1.1,
opacity: 1,
time: 150
}, {
x: defender.x - 30,
y: defender.y,
z: defender.z,
scale: 2,
opacity: 0.6,
time: 350
}, 'linear', 'explode');
battle.showEffect('leaf2', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 1.1,
opacity: 1,
time: 225
}, {
x: defender.x - 10,
y: defender.y + 10,
z: defender.z,
scale: 2,
opacity: 0.6,
time: 425
}, 'linear', 'explode');
battle.showEffect('leaf1', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 1.1,
opacity: 1,
time: 300
}, {
x: defender.x + 10,
y: defender.y - 10,
z: defender.z,
scale: 2,
opacity: 0.6,
time: 500
}, 'linear', 'explode');
battle.showEffect('leaf2', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 1.1,
opacity: 1,
time: 375
}, {
x: defender.x - 20,
y: defender.y,
z: defender.z,
scale: 2,
opacity: 0.6,
time: 575
}, 'linear', 'explode');
}
},
leafage: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('energyball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: .4,
opacity: 0.6
}, {
x: defender.x,
y: defender.y,
z: defender.z,
opacity: 0.6,
time: 300
}, 'linear', 'explode');
battle.showEffect('energyball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: .4,
opacity: 0.6,
time: 100
}, {
x: defender.x + 10,
y: defender.y + 5,
z: defender.z,
opacity: 0.6,
time: 400
}, 'ballistic2', 'explode');
battle.showEffect('energyball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: .4,
opacity: 0.6,
time: 200
}, {
x: defender.x - 10,
y: defender.y - 10,
z: defender.z,
opacity: 0.6,
time: 500
}, 'ballistic2Under', 'explode');
battle.showEffect('feather', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: .4,
opacity: 0.6
}, {
x: defender.x,
y: defender.y,
z: defender.z,
scale: .2,
opacity: 0.1,
time: 300
}, 'linear', 'explode');
battle.showEffect('feather', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: .4,
opacity: 0.6,
time: 100
}, {
x: defender.x + 10,
y: defender.y + 5,
z: defender.z,
scale: .2,
opacity: 0.1,
time: 400
}, 'ballistic2', 'explode');
battle.showEffect('feather', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: .4,
opacity: 0.6,
time: 200
}, {
x: defender.x - 10,
y: defender.y - 10,
z: defender.z,
scale: .2,
opacity: 0.1,
time: 500
}, 'ballistic2Under', 'explode');
}
},
gunkshot: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('poisonwisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 1,
opacity: 0.6
}, {
x: defender.x + 30,
y: defender.y + 30,
z: defender.z,
scale: 2,
opacity: 0.3,
time: 200
}, 'linear', 'explode');
battle.showEffect('poisonwisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 1,
opacity: 0.6,
time: 75
}, {
x: defender.x + 20,
y: defender.y - 30,
z: defender.z,
scale: 2,
opacity: 0.3,
time: 275
}, 'linear', 'explode');
battle.showEffect('poisonwisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 1,
opacity: 0.6,
time: 150
}, {
x: defender.x - 30,
y: defender.y,
z: defender.z,
scale: 2,
opacity: 0.3,
time: 350
}, 'linear', 'explode');
battle.showEffect('poisonwisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 1,
opacity: 0.6,
time: 225
}, {
x: defender.x - 10,
y: defender.y + 10,
z: defender.z,
scale: 2,
opacity: 0.3,
time: 425
}, 'linear', 'explode');
battle.showEffect('poisonwisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 1,
opacity: 0.6,
time: 300
}, {
x: defender.x + 10,
y: defender.y - 10,
z: defender.z,
scale: 2,
opacity: 0.3,
time: 500
}, 'linear', 'explode');
battle.showEffect('poisonwisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 1,
opacity: 0.6,
time: 375
}, {
x: defender.x - 20,
y: defender.y,
z: defender.z,
scale: 2,
opacity: 0.3,
time: 575
}, 'linear', 'explode');
}
},
hyperspacehole: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.backgroundEffect('#ffffff', 900, 0.6);
attacker.anim({
opacity: 0,
y: attacker.y - 80,
time: 300
}, 'swing');
attacker.anim({
x: defender.x,
y: defender.y - 80,
z: defender.z,
opacity: 0,
time: 1
}, 'linear');
attacker.anim({
x: defender.x,
y: defender.y + 10,
z: defender.z,
opacity: 1,
time: 350
}, 'decel');
battle.showEffect('mistball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 0.8,
time: 550
}, {
scale: 3,
opacity: 0,
time: 700
}, 'linear');
battle.showEffect('mistball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 0.8,
time: 650
}, {
scale: 3,
opacity: 0,
time: 800
}, 'linear');
battle.showEffect('mistball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 0.8,
time: 750
}, {
scale: 3,
opacity: 0,
time: 900
}, 'linear');
attacker.anim({
x: defender.x,
y: defender.y - 80,
z: defender.z,
opacity: 0,
time: 300
}, 'accel');
attacker.anim({
y: attacker.y - 80,
opacity: 0,
time: 1
}, 'linear');
attacker.anim({
time: 300,
opacity: 1
}, 'decel');
defender.delay(500);
defender.anim({
z: defender.behind(20),
time: 100
}, 'swing');
defender.anim({
time: 300
}, 'swing');
}
},
hyperspacefury: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.backgroundEffect('#000000', 900, 0.3);
battle.showEffect('shadowball', {
x: defender.x,
y: defender.y,
z: defender.behind(-100),
scale: 0.8,
opacity: 0.8
}, {
x: defender.x,
y: defender.y,
z: defender.behind(-100),
scale: 1,
opacity: 1
}, 'linear', 'fade');
battle.showEffect('fist', {
x: defender.x,
y: defender.y,
z: defender.behind(-100),
scale: 0.6,
opacity: 0.6
}, {
x: defender.x + 30,
y: defender.y + 30,
z: defender.z,
scale: 1,
opacity: 1,
time: 200
}, 'linear', 'explode');
battle.showEffect('fist', {
x: defender.x,
y: defender.y,
z: defender.behind(-100),
scale: 0.6,
opacity: 0.6,
time: 75
}, {
x: defender.x + 20,
y: defender.y - 30,
z: defender.z,
scale: 1,
opacity: 1,
time: 275
}, 'linear', 'explode');
battle.showEffect('fist', {
x: defender.x,
y: defender.y,
z: defender.behind(-100),
scale: 0.6,
opacity: 0.6,
time: 150
}, {
x: defender.x - 30,
y: defender.y,
z: defender.z,
scale: 1,
opacity: 1,
time: 350
}, 'linear', 'explode');
battle.showEffect('fist', {
x: defender.x,
y: defender.y,
z: defender.behind(-100),
scale: 0.6,
opacity: 0.6,
time: 225
}, {
x: defender.x - 10,
y: defender.y + 10,
z: defender.z,
scale: 1,
opacity: 1,
time: 425
}, 'linear', 'explode');
battle.showEffect('fist', {
x: defender.x,
y: defender.y,
z: defender.behind(-100),
scale: 0.6,
opacity: 0.6,
time: 300
}, {
x: defender.x + 10,
y: defender.y - 10,
z: defender.z,
scale: 1,
opacity: 1,
time: 500
}, 'linear', 'explode');
battle.showEffect('fist', {
x: defender.x,
y: defender.y,
z: defender.behind(-100),
scale: 0.6,
opacity: 0.6,
time: 375
}, {
x: defender.x - 20,
y: defender.y,
z: defender.z,
scale: 1,
opacity: 1,
time: 575
}, 'linear', 'explode');
attacker.anim({
x: attacker.leftof(-20),
y: attacker.y,
z: attacker.behind(-20),
opacity: 0,
time: 200
}, 'linear');
attacker.anim({
opacity: 0,
time: 300
}, 'linear');
attacker.anim({
opacity: 1,
time: 200
}, 'linear');
defender.delay(125);
defender.anim({
z: defender.behind(5),
time: 75
}, 'swing');
defender.anim({
time: 75
}, 'swing');
defender.anim({
z: defender.behind(5),
time: 75
}, 'swing');
defender.anim({
time: 75
}, 'swing');
defender.anim({
z: defender.behind(5),
time: 75
}, 'swing');
defender.anim({
time: 75
}, 'swing');
defender.anim({
z: defender.behind(5),
time: 75
}, 'swing');
defender.anim({
time: 150
}, 'swing');
}
},
poisonjab: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('poisonwisp', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 1,
time: 400
}, {
x: defender.leftof(-20),
y: defender.y,
z: defender.behind(50),
scale: 3,
opacity: 0,
time: 700
}, 'linear');
battle.showEffect('poisonwisp', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 1,
time: 500
}, {
x: defender.leftof(-20),
y: defender.y,
z: defender.behind(50),
scale: 3,
opacity: 0,
time: 800
}, 'linear');
battle.showEffect('poisonwisp', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 1,
opacity: 1,
time: 400
}, {
x: defender.leftof(-20),
y: defender.y,
z: defender.behind(50),
scale: 2,
opacity: 0,
time: 800
}, 'linear');
attacker.anim({
x: defender.leftof(20),
y: defender.y,
z: defender.behind(-20),
time: 400
}, 'ballistic2Under');
attacker.anim({
x: defender.x,
y: defender.y,
z: defender.z,
time: 50
});
attacker.anim({
time: 500
}, 'ballistic2');
defender.delay(425);
defender.anim({
x: defender.leftof(-20),
y: defender.y,
z: defender.behind(20),
time: 50
}, 'swing');
defender.anim({
time: 300
}, 'swing');
}
},
psychoboost: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.backgroundEffect('#000000', 700, 0.3);
battle.showEffect('mistball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.6,
opacity: 0.5
}, {
scale: 3,
opacity: 0.3,
time: 300
}, 'decel', 'fade');
battle.showEffect('mistball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.8,
opacity: 0.6,
time: 100
}, {
scale: 3,
opacity: 0.5,
time: 400
}, 'decel', 'fade');
battle.showEffect('mistball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 2,
opacity: 0.8,
time: 400
}, {
x: defender.x,
y: defender.y,
z: defender.behind(20),
scale: 1.25,
time: 600
}, 'accel', 'explode');
battle.showEffect('poisonwisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.8,
opacity: 0.6,
time: 100
}, {
scale: 4,
opacity: 0.5,
time: 400
}, 'decel', 'fade');
battle.showEffect('poisonwisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 2.5,
opacity: .8,
time: 400
}, {
x: defender.x,
y: defender.y,
z: defender.behind(20),
scale: 1.5,
opacity: .8,
time: 600
}, 'accel', 'explode');
battle.showEffect('mistball', {
x: defender.x + 30,
y: defender.y + 25,
z: defender.z,
scale: 0.2,
opacity: 1,
time: 800
}, {
x: defender.x + 50,
y: defender.y + 10,
opacity: 0.5,
time: 1000
}, 'accel', 'explode');
battle.showEffect('mistball', {
x: defender.x - 30,
y: defender.y - 20,
z: defender.z,
scale: 0.2,
opacity: 1,
time: 900
}, {
x: defender.x - 50,
y: defender.y - 20,
opacity: 0.5,
time: 1100
}, 'accel', 'explode');
battle.showEffect('mistball', {
x: defender.x + 15,
y: defender.y + 10,
z: defender.z,
scale: 0.2,
opacity: 1,
time: 900
}, {
x: defender.x + 35,
y: defender.y + 30,
opacity: 0.5,
time: 1100
}, 'accel', 'explode');
battle.showEffect('mistball', {
x: defender.x - 15,
y: defender.y - 30,
z: defender.z,
scale: 0.2,
opacity: 1,
time: 800
}, {
x: defender.x - 35,
y: defender.y - 40,
opacity: 0.5,
time: 1000
}, 'accel', 'explode');
attacker.delay(400);
attacker.anim({
z: attacker.behind(20),
time: 300
}, 'swing');
attacker.anim({
time: 300
}, 'swing');
defender.delay(600);
defender.anim({
z: defender.behind(10),
time: 300
}, 'swing');
defender.anim({
time: 300
}, 'swing');
}
},
bestow: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('pokeball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.1,
opacity: 0
}, {
x: defender.x,
y: defender.y,
z: defender.z,
scale: .6,
opacity: 1,
time: 400
}, 'ballistic', 'fade');
}
},
finalgambit: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('wisp', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 0.3,
time: 500
}, {
scale: 4,
opacity: 0,
time: 800
}, 'linear');
battle.showEffect(attacker.sp, {
x: attacker.x,
y: attacker.y,
z: attacker.z,
opacity: .3,
time: 50
}, {
x: defender.x,
y: defender.y,
z: defender.behind(-5),
time: 350
}, 'accel', 'fade');
battle.showEffect(attacker.sp, {
x: attacker.x,
y: attacker.y,
z: attacker.z,
opacity: .3,
time: 100
}, {
x: defender.x,
y: defender.y,
z: defender.behind(-5),
time: 400
}, 'accel', 'fade');
attacker.anim({
x: defender.x,
y: defender.y,
z: defender.behind(-5),
time: 300
}, 'accel');
attacker.anim({
x: defender.x,
y: defender.y,
z: defender.behind(-5),
scale: 5,
opacity: 0,
time: 300
}, 'linear');
attacker.anim({
opacity: 0,
time: 1
}, 'linear');
attacker.anim({
time: 300
}, 'linear');
defender.delay(280);
defender.anim({
z: defender.behind(20),
time: 100
}, 'swing');
defender.anim({
time: 300
}, 'swing');
}
},
forestscurse: {
anim: function (battle, args) {
var defender = args[1];
battle.showEffect('energyball', {
x: defender.x,
y: defender.y - 50,
z: defender.z,
scale: 0
}, {
y: defender.y,
scale: 3,
opacity: 0
}, 'accel');
}
},
trickortreat: {
anim: function (battle, args) {
var defender = args[1];
battle.showEffect('shadowball', {
x: defender.x,
y: defender.y - 50,
z: defender.z,
scale: 0
}, {
y: defender.y,
scale: 3,
opacity: 0
}, 'accel');
}
},
healpulse: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
var xf = [1, -1, 1, -1];
var yf = [1, -1, -1, 1];
var xf2 = [1, 0, -1, 0];
var yf2 = [0, 1, 0, -1];
battle.showEffect('mistball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 1,
opacity: 0.4,
time: 0
}, {
scale: 8,
opacity: 0.1,
time: 600
}, 'linear', 'fade');
battle.showEffect('mistball', {
x: defender.x,
y: defender.y,
z: defender.z,
opacity: 0.3,
scale: 0,
time: 300
}, {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 2,
opacity: 0,
time: 600
}, 'linear');
battle.showEffect('mistball', {
x: defender.x,
y: defender.y,
z: defender.z,
opacity: 0.3,
scale: 0,
time: 500
}, {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 2,
opacity: 0,
time: 800
}, 'linear');
for (var i = 0; i < 4; i++) {
battle.showEffect('wisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.2,
opacity: 1
}, {
x: attacker.x + 240 * xf[i],
y: attacker.y,
z: attacker.z + 137 * yf[i],
scale: 0.3,
opacity: 0.5,
time: 800
}, 'accel');
battle.showEffect('wisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.2,
opacity: 1
}, {
x: attacker.x + 339 * xf2[i],
y: attacker.y,
z: attacker.z + 194 * yf2[i],
scale: 0.3,
opacity: 0.5,
time: 800
}, 'accel');
}
}
},
spite: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('poisonwisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.5
}, {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 1.5
}, 'decel', 'explode');
}
},
lockon: {
anim: function (battle, args) {
var defender = args[1];
battle.showEffect('rightslash', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 1,
opacity: 0.5
}, {
opacity: 1,
time: 400
}, 'linear', 'explode');
battle.showEffect('leftslash', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 1,
opacity: 0.5
}, {
opacity: 1,
time: 400
}, 'linear', 'explode');
battle.showEffect('iceball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 1,
opacity: 1
}, {
opacity: 0.5,
time: 400
}, 'linear', 'explode');
}
},
mindreader: {
anim: function (battle, args) {
var defender = args[1];
battle.showEffect('mistball', {
x: defender.x,
y: defender.y,
z: defender.z,
opacity: 0,
scale: 2
}, {
opacity: 1,
scale: 0.5
}, 'accel', 'explode');
}
},
memento: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.backgroundEffect('#000000', 900, 0.2);
battle.showEffect(attacker.sp, {
x: attacker.x,
y: attacker.y,
z: attacker.z,
opacity: 0
}, {
y: attacker.y + 600,
yscale: 10,
opacity: 0.3,
time: 400
}, 'accel', 'fade');
battle.showEffect(attacker.sp, {
x: defender.x,
y: defender.y + 500,
z: defender.z,
yscale: 10,
opacity: 0.3,
time: 500
}, {
y: defender.y,
opacity: 0,
yscale: 1,
time: 900
}, 'decel', 'fade');
}
},
spiritshackle: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.backgroundEffect('linear-gradient(#440044 30%, #000000', 1000, 0.4);
battle.showEffect('shadowball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 1,
opacity: 0.5
}, {
scale: 3,
opacity: 0
}, 'linear');
battle.showEffect('shadowball', {
x: attacker.x,
y: attacker.y - 35,
z: attacker.z,
scale: 0.1,
opacity: 0.4,
time: 0
}, {
x: attacker.x,
y: attacker.y + 200,
z: attacker.z,
scale: 0.2,
opacity: 0,
time: 300
}, 'decel');
battle.showEffect('shadowball', {
x: defender.x,
y: defender.y + 200,
z: defender.behind(-10),
opacity: 0.4,
xscale: 0.1,
yscale: 5,
time: 575
}, {
y: defender.y + 150,
z: defender.behind(-10),
opacity: 0,
time: 825
}, 'decel');
battle.showEffect('shadowball', {
x: defender.x,
y: defender.y - 50,
z: defender.z,
opacity: 0.4,
xscale: 0.3,
yscale: 0.1,
time: 590
}, {
xscale: 0.6,
yscale: 0.1,
opacity: 0,
time: 825
}, 'linear', 'explode');
defender.delay(825);
defender.anim({
z: defender.behind(5),
time: 100
}, 'swing');
defender.anim({
time: 300
}, 'swing');
}
},
brutalswing: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.backgroundEffect('#000000', 1300, 0.3);
attacker.anim({
x: defender.x,
y: defender.y + 80,
z: defender.behind(-30),
time: 400
}, 'ballistic');
attacker.anim({
x: defender.x,
y: defender.y,
z: defender.behind(-50),
time: 100
});
attacker.anim({
time: 500
}, 'ballistic2Back');
for (var i = 1; i < args.length; i++) {
defender = args[i];
defender.delay(700);
defender.anim({
z: defender.behind(10),
time: 100
}, 'swing');
defender.anim({
time: 200
}, 'swing');
defender.anim({
z: defender.behind(10),
time: 100
}, 'swing');
defender.anim({
time: 300
}, 'swing');
battle.showEffect('shadowball', {
x: defender.x,
y: defender.y,
z: defender.z,
opacity: 0.3,
scale: 0,
time: 700
}, {
scale: 2,
opacity: 0,
time: 1000
}, 'linear');
battle.showEffect('shadowball', {
x: defender.x,
y: defender.y,
z: defender.z,
opacity: 0.3,
scale: 0,
time: 900
}, {
scale: 2,
opacity: 0,
time: 1200
}, 'linear');
}
battle.activityWait(500);
if (args.length > 2) defender = args[2];
var xf = [1, -1, 1, -1];
var yf = [1, -1, -1, 1];
var xf2 = [1, 0, -1, 0];
var yf2 = [0, 1, 0, -1];
battle.showEffect('shadowball', {
x: attacker.x,
y: attacker.y - 50,
z: defender.behind(-50),
scale: 1,
xscale: 5,
opacity: 0.8,
time: 500
}, {
scale: 2,
xscale: 8,
opacity: 0.1,
time: 1300
}, 'decel', 'fade');
}
},
revelationdance: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.backgroundEffect('#000000', 1300, 0.3);
battle.showEffect('electroball', {
x: attacker.x + 20,
y: attacker.y - 60,
z: attacker.behind(15),
scale: 1,
xscale: 2,
opacity: 0.5,
time: 150
}, {
scale: 1.5,
xscale: 4,
opacity: 0
}, 'linear', 'fade');
battle.showEffect('electroball', {
x: attacker.x - 20,
y: attacker.y - 60,
z: attacker.behind(15),
scale: 1,
xscale: 2,
opacity: 0.5,
time: 500
}, {
scale: 1.5,
xscale: 4,
opacity: 0
}, 'linear', 'fade');
battle.showEffect('electroball', {
x: attacker.x,
y: attacker.y - 60,
z: attacker.behind(15),
scale: 1,
xscale: 2,
opacity: 0.5,
time: 650
}, {
scale: 1.5,
xscale: 4,
opacity: 0
}, 'linear', 'fade');
battle.showEffect('electroball', {
x: attacker.x,
y: attacker.y,
z: attacker.behind(-15),
scale: 0.7,
xscale: 1,
opacity: 0.8,
time: 900
}, {
x: defender.x,
y: defender.y,
z: defender.behind(5),
time: 1100
}, 'linear', 'explode');
battle.showEffect('wisp', {
x: defender.x + 30,
y: defender.y + 25,
z: defender.z,
scale: 0.2,
opacity: 0.6,
time: 1100
}, {
x: defender.x + 50,
y: defender.y + 10,
opacity: 0.3,
time: 1400
}, 'accel', 'explode');
battle.showEffect('wisp', {
x: defender.x - 30,
y: defender.y - 20,
z: defender.z,
scale: 0.2,
opacity: 0.6,
time: 1200
}, {
x: defender.x - 50,
y: defender.y - 20,
opacity: 0.3,
time: 1400
}, 'accel', 'explode');
battle.showEffect('wisp', {
x: defender.x + 15,
y: defender.y + 10,
z: defender.z,
scale: 0.2,
opacity: 0.7,
time: 1300
}, {
x: defender.x + 35,
y: defender.y + 30,
opacity: 0.3,
time: 1500
}, 'accel', 'explode');
battle.showEffect('wisp', {
x: defender.x - 15,
y: defender.y - 30,
z: defender.z,
scale: 0.2,
opacity: 0.7,
time: 1300
}, {
x: defender.x - 35,
y: defender.y - 40,
opacity: 0.3,
time: 1500
}, 'accel', 'explode');
attacker.anim({
x: attacker.x + 5,
y: attacker.y + 10,
time: 100
}, 'ballistic');
attacker.anim({
x: attacker.x + 10,
y: attacker.y,
time: 50
});
attacker.anim({
x: attacker.x - 5,
y: attacker.y + 10,
time: 200
}, 'ballistic');
attacker.anim({
x: attacker.x - 10,
y: attacker.y,
time: 100
});
attacker.anim({
x: attacker.x - 5,
y: attacker.y + 10,
time: 100
}, 'ballistic');
attacker.anim({
x: attacker.x,
y: attacker.y,
time: 50
});
attacker.anim({
z: attacker.behind(15),
time: 200
}, 'decel');
attacker.anim({
z: attacker.behind(-15),
time: 100
}, 'accel');
attacker.anim({
z: attacker.z,
time: 300
}, 'swing');
defender.delay(1100);
defender.anim({
z: defender.behind(15),
time: 100
}, 'swing');
defender.anim({
time: 300
}, 'swing');
}
},
prismaticlaser: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
var xstep = (defender.x - attacker.x) / 5;
var ystep = (defender.y - attacker.y) / 5;
var zstep = (defender.z - attacker.z) / 5;
for (var i = 0; i < 5; i++) {
battle.showEffect('wisp', {
x: attacker.x + xstep * (i + 1),
y: attacker.y + ystep * (i + 1),
z: attacker.z + zstep * (i + 1),
scale: 1,
opacity: 1,
time: 20 * i
}, {
scale: 2,
opacity: 0,
time: 40 * i + 600
}, 'linear');
battle.showEffect('poisonwisp', {
x: attacker.x + xstep * (i + 1),
y: attacker.y + ystep * (i + 1),
z: attacker.z + zstep * (i + 1),
scale: 0.5,
opacity: 0.3,
time: 20 * i
}, {
scale: 2,
opacity: 0,
time: 40 * i + 600
}, 'linear');
}
battle.backgroundEffect('#000000', 700, 0.6);
battle.showEffect('flareball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: .4,
opacity: 0.6
}, {
x: defender.x + 30,
y: defender.y + 30,
z: defender.z,
scale: .6,
opacity: 0.2,
time: 200
}, 'linear', 'explode');
battle.showEffect('electroball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: .4,
opacity: 0.6,
time: 75
}, {
x: defender.x + 20,
y: defender.y - 30,
z: defender.z,
scale: .6,
opacity: 0.2,
time: 275
}, 'linear', 'explode');
battle.showEffect('energyball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: .4,
opacity: 0.6,
time: 150
}, {
x: defender.x - 30,
y: defender.y,
z: defender.z,
scale: .6,
opacity: 0.2,
time: 350
}, 'linear', 'explode');
battle.showEffect('iceball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: .4,
opacity: 0.6,
time: 225
}, {
x: defender.x - 10,
y: defender.y + 10,
z: defender.z,
scale: .6,
opacity: 0.2,
time: 425
}, 'linear', 'explode');
battle.showEffect('mistball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: .4,
opacity: 0.6,
time: 300
}, {
x: defender.x + 10,
y: defender.y - 10,
z: defender.z,
scale: .6,
opacity: 0.2,
time: 500
}, 'linear', 'explode');
battle.showEffect('shadowball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: .4,
opacity: 0.6,
time: 375
}, {
x: defender.x - 20,
y: defender.y,
z: defender.z,
scale: .6,
opacity: 0.2,
time: 575
}, 'linear', 'explode');
battle.showEffect('iceball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 0.5,
time: 550
}, {
scale: 4,
opacity: 0,
time: 750
}, 'linear');
battle.showEffect('iceball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 0.5,
time: 600
}, {
scale: 4,
opacity: 0,
time: 800
}, 'linear');
defender.delay(125);
defender.anim({
z: defender.behind(5),
time: 75
}, 'swing');
defender.anim({
time: 75
}, 'swing');
defender.anim({
z: defender.behind(5),
time: 75
}, 'swing');
defender.anim({
time: 75
}, 'swing');
defender.anim({
z: defender.behind(5),
time: 75
}, 'swing');
defender.anim({
time: 75
}, 'swing');
defender.anim({
z: defender.behind(5),
time: 75
}, 'swing');
defender.anim({
time: 150
}, 'swing');
}
},
firstimpression: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.backgroundEffect('#987058', 600, .3, 400);
battle.showEffect('electroball', {
x: attacker.x,
y: attacker.y + 60,
z: attacker.z,
scale: 0.5,
opacity: 1
}, {
scale: 0.25,
opacity: 0,
time: 400
}, 'linear');
battle.showEffect('electroball', {
x: attacker.x,
y: attacker.y + 100,
z: attacker.z,
scale: 0.5,
xscale: 0.25,
yscale: 0.75,
opacity: 1
}, {
scale: 0.25,
opacity: 0,
time: 400
}, 'linear');
battle.showEffect('electroball', {
x: defender.x,
y: defender.y + 60,
z: defender.z,
scale: 0.5,
opacity: 1
}, {
scale: 0.25,
opacity: 0,
time: 400
}, 'linear');
battle.showEffect('electroball', {
x: defender.x,
y: defender.y + 100,
z: defender.z,
scale: 0.5,
xscale: 0.25,
yscale: 0.75,
opacity: 1
}, {
scale: 0.25,
opacity: 0,
time: 400
}, 'linear');
battle.showEffect('impact', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 0.5,
time: 500
}, {
scale: 3,
opacity: 0,
time: 800
}, 'linear');
battle.showEffect('impact', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 0.5,
time: 700
}, {
scale: 3,
opacity: 0,
time: 1000
}, 'linear');
attacker.anim({
y: attacker.y + 5,
xscale: 0.9,
yscale: 1.1,
time: 100
}, 'swing');
attacker.anim({
time: 100
}, 'swing');
attacker.anim({
x: defender.x,
y: defender.y,
z: defender.behind(-5),
time: 300
}, 'accel');
attacker.anim({
time: 500
}, 'ballistic2Back');
defender.anim({
y: defender.y + 5,
xscale: 0.9,
yscale: 1.1,
time: 100
}, 'swing');
defender.anim({
time: 100
}, 'swing');
defender.delay(280);
defender.anim({
z: defender.behind(20),
time: 100
}, 'swing');
defender.anim({
time: 300
}, 'swing');
}
},
shoreup: {
anim: BattleOtherAnims.lightstatus.anim
},
firelash: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('fireball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 1,
time: 450
}, {
x: defender.x,
y: defender.y - 40,
z: defender.behind(15),
scale: 3,
opacity: 0,
time: 800
}, 'linear');
battle.showEffect('fireball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 1,
time: 550
}, {
x: defender.x,
y: defender.y - 40,
z: defender.behind(15),
scale: 3,
opacity: 0,
time: 900
}, 'linear');
BattleOtherAnims.contactattack.anim(battle, args);
}
},
powertrip: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('poisonwisp', {
x: attacker.x + 30,
y: attacker.y,
z: attacker.z,
scale: 1,
opacity: 0.4,
time: 100
}, {
y: attacker.y + 60,
opacity: 0.2,
time: 500
}, 'linear', 'fade');
battle.showEffect('poisonwisp', {
x: attacker.x - 30,
y: attacker.y,
z: attacker.z,
scale: 1,
opacity: 0.4,
time: 200
}, {
y: defender.y + 60,
opacity: 0.2,
time: 600
}, 'linear', 'fade');
battle.showEffect('poisonwisp', {
x: attacker.x + 15,
y: attacker.y,
z: attacker.z,
scale: 1,
opacity: 0.4,
time: 300
}, {
y: attacker.y + 60,
opacity: 0.2,
time: 700
}, 'linear', 'fade');
battle.showEffect('poisonwisp', {
x: attacker.x - 15,
y: attacker.y,
z: attacker.z,
scale: 1,
opacity: 0.4,
time: 400
}, {
y: attacker.y + 60,
opacity: 0.2,
time: 800
}, 'linear', 'fade');
battle.showEffect('wisp', {
x: attacker.x,
y: attacker.y + 20,
z: attacker.z,
scale: 0.5,
opacity: 0.1,
time: 500
}, {
x: attacker.leftof(-30),
y: attacker.y + 20,
z: attacker.behind(-50),
scale: 1,
opacity: 0.3,
time: 800
}, 'ballistic2Under', 'fade');
attacker.anim({
y: attacker.y + 5,
xscale: 0.9,
yscale: 1.1,
time: 100
}, 'swing');
attacker.anim({
time: 100
}, 'swing');
attacker.anim({
y: attacker.y + 5,
xscale: 0.9,
yscale: 1.1,
time: 100
}, 'swing');
attacker.anim({
time: 100
}, 'swing');
attacker.anim({
y: attacker.y + 5,
xscale: 0.9,
yscale: 1.1,
time: 100
}, 'swing');
attacker.anim({
time: 100
}, 'swing');
attacker.delay(200);
attacker.anim({
x: defender.x,
y: defender.y + 80,
z: defender.behind(-30),
time: 400
}, 'ballistic');
attacker.anim({
x: defender.x,
y: defender.y + 5,
z: defender.z,
time: 100
});
attacker.anim({
time: 500
}, 'ballistic2Back');
defender.delay(1250);
defender.anim({
z: defender.behind(20),
time: 100
}, 'swing');
defender.anim({
time: 300
}, 'swing');
battle.activityWait(1450);
}
},
smartstrike: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.showEffect('rightslash', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 1,
opacity: 0.5
}, {
opacity: 1,
time: 400
}, 'linear', 'explode');
battle.showEffect('leftslash', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 1,
opacity: 0.5
}, {
opacity: 1,
time: 400
}, 'linear', 'explode');
battle.showEffect('iceball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 1,
opacity: 1
}, {
opacity: 0.5,
time: 400
}, 'linear', 'explode');
battle.showEffect('wisp', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 0.5,
time: 860
}, {
scale: 2,
opacity: 0,
time: 1160
}, 'linear');
battle.showEffect('wisp', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 0.5,
time: 910
}, {
scale: 2,
opacity: 0,
time: 1210
}, 'linear');
battle.showEffect(attacker.sp, {
x: attacker.x,
y: attacker.y,
z: attacker.z,
opacity: 0.3,
time: 550
}, {
x: defender.x,
y: defender.y,
z: defender.behind(70),
time: 850
}, 'accel', 'fade');
battle.showEffect(attacker.sp, {
x: attacker.x,
y: attacker.y,
z: attacker.z,
opacity: 0.3,
time: 600
}, {
x: defender.x,
y: defender.y,
z: defender.behind(70),
time: 900
}, 'accel', 'fade');
attacker.delay(500);
attacker.anim({
x: defender.x,
y: defender.y,
z: defender.behind(70),
time: 300,
opacity: .5
}, 'accel');
attacker.anim({
x: defender.x,
y: defender.x,
z: defender.behind(100),
opacity: 0,
time: 100
}, 'linear');
attacker.anim({
x: attacker.x,
y: attacker.y,
z: attacker.behind(70),
opacity: 0,
time: 1
}, 'linear');
attacker.anim({
opacity: 1,
time: 500
}, 'decel');
defender.delay(760);
defender.anim({
z: defender.behind(30),
time: 100
}, 'swing');
defender.anim({
time: 300
}, 'swing');
}
},
spotlight: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
BattleOtherAnims.dance.anim(battle, args);
battle.showEffect('pointer', {
x: attacker.x + 50,
y: attacker.y + 30,
z: attacker.z,
scale: 0.4,
opacity: 1
}, {
x: attacker.x + 30,
y: attacker.y + 35,
scale: 0.5,
xscale: 0.3,
yscale: 0.6,
opacity: 1,
time: 400
}, 'decel', 'fade');
battle.showEffect('pointer', {
x: attacker.x + 30,
y: attacker.y + 35,
z: attacker.z,
scale: 0.5,
xscale: 0.3,
yscale: 0.6,
opacity: 1,
time: 400
}, {
x: attacker.x + 60,
y: attacker.y + 30,
scale: 0.4,
xscale: 0.4,
yscale: 0.4,
opacity: 0,
time: 900
}, 'linear');
defender.delay(400);
defender.anim({
y: defender.y + 15,
time: 150
}, 'decel');
defender.anim({
time: 150
}, 'accel');
defender.anim({
y: defender.y + 15,
time: 150
}, 'decel');
defender.anim({
time: 150
}, 'accel');
}
},
anchorshot: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
var xstep = (defender.x - attacker.x) / 5;
var ystep = (defender.y - attacker.y) / 5;
var zstep = (defender.z - attacker.z) / 5;
for (var i = 0; i < 5; i++) {
battle.showEffect('energyball', {
x: attacker.x + xstep * (i + 1),
y: attacker.y + ystep * (i + 1),
z: attacker.z + zstep * (i + 1),
scale: 0.5,
opacity: 1,
time: 20 * i
}, {
opacity: 0,
time: 40 * i + 600
}, 'linear');
}
battle.showEffect('energyball', {
x: defender.x,
y: defender.y + 15,
z: defender.z,
scale: 0.7,
xscale: 2,
opacity: 0.3,
time: 300
}, {
scale: 0.4,
xscale: 1,
opacity: 0.1,
time: 900
}, 'decel', 'fade');
battle.showEffect('energyball', {
x: defender.x,
y: defender.y - 5,
z: defender.z,
scale: 0.7,
xscale: 2,
opacity: 0.3,
time: 350
}, {
scale: 0.4,
xscale: 1,
opacity: 0.1,
time: 950
}, 'decel', 'fade');
battle.showEffect('energyball', {
x: defender.x,
y: defender.y - 20,
z: defender.z,
scale: 0.7,
xscale: 2,
opacity: 0.3,
time: 400
}, {
scale: 0.4,
xscale: 1,
opacity: 0.1,
time: 1000
}, 'decel', 'fade');
defender.delay(300);
defender.anim({
y: defender.y + 15,
z: defender.behind(10),
yscale: 1.3,
time: 200
}, 'swing');
defender.anim({
time: 200
}, 'swing');
defender.delay(25);
defender.anim({
x: defender.leftof(-10),
y: defender.y + 15,
z: defender.behind(5),
yscale: 1.3,
time: 200
}, 'swing');
defender.anim({
time: 200
}, 'swing');
}
},
clangingscales: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.backgroundEffect('#440044', 700, 0.2);
battle.showEffect('shadowball', {
x: attacker.x,
y: attacker.y,
z: attacker.behind(-5),
scale: 1,
opacity: 0.5
}, {
z: attacker.behind(-10),
scale: 6,
opacity: 0
}, 'linear');
battle.showEffect('shadowball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: .4,
opacity: 0.6
}, {
x: defender.x + 30,
y: defender.y + 30,
z: defender.z,
scale: .6,
opacity: 0.3,
time: 200
}, 'linear', 'explode');
battle.showEffect('shadowball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: .4,
opacity: 0.6,
time: 75
}, {
x: defender.x + 20,
y: defender.y - 30,
z: defender.z,
scale: .6,
opacity: 0.3,
time: 275
}, 'linear', 'explode');
battle.showEffect('shadowball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: .4,
opacity: 0.6,
time: 150
}, {
x: defender.x - 30,
y: defender.y,
z: defender.z,
scale: .6,
opacity: 0.3,
time: 350
}, 'linear', 'explode');
battle.showEffect('shadowball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: .4,
opacity: 0.6,
time: 225
}, {
x: defender.x - 10,
y: defender.y + 10,
z: defender.z,
scale: .6,
opacity: 0.3,
time: 425
}, 'linear', 'explode');
battle.showEffect('shadowball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: .4,
opacity: 0.6,
time: 300
}, {
x: defender.x + 10,
y: defender.y - 10,
z: defender.z,
scale: .6,
opacity: 0.3,
time: 500
}, 'linear', 'explode');
battle.showEffect('shadowball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: .4,
opacity: 0.6,
time: 375
}, {
x: defender.x - 20,
y: defender.y,
z: defender.z,
scale: .6,
opacity: 0.3,
time: 575
}, 'linear', 'explode');
battle.showEffect('shadowball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 0.5,
time: 550
}, {
scale: 4,
opacity: 0,
time: 750
}, 'linear');
battle.showEffect('shadowball', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 0.5,
time: 600
}, {
scale: 4,
opacity: 0,
time: 800
}, 'linear');
defender.delay(125);
defender.anim({
z: defender.behind(5),
time: 75
}, 'swing');
defender.anim({
time: 75
}, 'swing');
defender.anim({
z: defender.behind(5),
time: 75
}, 'swing');
defender.anim({
time: 75
}, 'swing');
defender.anim({
z: defender.behind(5),
time: 75
}, 'swing');
defender.anim({
time: 75
}, 'swing');
defender.anim({
z: defender.behind(5),
time: 75
}, 'swing');
defender.anim({
time: 150
}, 'swing');
}
},
spectralthief: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.backgroundEffect('linear-gradient(#000000 30%, #440044', 1700, 0.5);
battle.showEffect('shadowball', {
x: attacker.x,
y: attacker.y - 30,
z: attacker.z,
scale: 0.5,
xscale: 0.5,
yscale: 1,
opacity: 0.5
}, {
scale: 2,
xscale: 4,
opacity: 0.1,
time: 400
}, 'decel', 'fade');
battle.showEffect('poisonwisp', {
x: attacker.x,
y: attacker.y - 25,
z: attacker.z,
scale: 1,
}, {
x: attacker.x + 50,
scale: 3,
xscale: 3.5,
opacity: 0.5,
time: 500
}, 'linear', 'fade');
battle.showEffect('poisonwisp', {
x: attacker.x,
y: attacker.y - 25,
z: attacker.z,
scale: 1,
}, {
x: attacker.x - 50,
scale: 3,
xscale: 3.5,
opacity: 0.5,
time: 500
}, 'linear', 'fade');
battle.showEffect('poisonwisp', {
x: attacker.x - 50,
y: attacker.y - 40,
z: attacker.z,
scale: 2,
opacity: 0.3,
time: 300,
}, {
x: defender.x - 50,
y: defender.y - 40,
z: defender.z,
time: 900
}, 'decel', 'fade');
battle.showEffect('poisonwisp', {
x: attacker.x - 50,
y: attacker.y - 40,
z: attacker.z,
scale: 2,
opacity: 0.3,
time: 400,
}, {
x: defender.x - 50,
y: defender.y - 40,
z: defender.z,
time: 900
}, 'decel', 'fade');
battle.showEffect('poisonwisp', {
x: attacker.x,
y: attacker.y - 40,
z: attacker.z,
scale: 2,
opacity: 0.3,
time: 450,
}, {
x: defender.x,
y: defender.y - 40,
z: defender.z,
time: 925
}, 'decel', 'fade');
battle.showEffect('shadowball', {
x: defender.x,
y: defender.y - 30,
z: defender.z,
scale: 0,
xscale: 0.5,
yscale: 1,
opacity: 0.5,
time: 750
}, {
scale: 2,
xscale: 4,
opacity: 0.1,
time: 1200
}, 'decel', 'fade');
battle.showEffect('poisonwisp', {
x: defender.x,
y: defender.y - 25,
z: defender.z,
scale: 2,
opacity: 0.3,
time: 750
}, {
x: defender.x + 75,
opacity: 1,
scale: 3,
time: 1200
}, 'linear', 'explode');
battle.showEffect('poisonwisp', {
x: defender.x,
y: defender.y - 25,
z: defender.z,
scale: 2,
opacity: 0.3,
time: 750
}, {
x: defender.x - 75,
opacity: 1,
scale: 3,
time: 1200
}, 'linear', 'explode');
battle.showEffect(attacker.sp, {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 3,
opacity: 0.3,
time: 700
}, {
y: defender.y + 600,
yscale: 10,
time: 1200
}, 'linear', 'fade');
battle.showEffect(attacker.sp, {
x: defender.x + 30,
y: defender.y,
z: defender.z,
scale: 3,
opacity: 0.3,
time: 800
}, {
y: defender.y + 600,
yscale: 10,
time: 1300
}, 'linear', 'fade');
battle.showEffect(attacker.sp, {
x: defender.x - 30,
y: defender.y,
z: defender.z,
scale: 3,
opacity: 0.3,
time: 900
}, {
y: defender.y + 600,
yscale: 10,
time: 1400
}, 'linear', 'fade');
battle.showEffect(attacker.sp, {
x: defender.x - 15,
y: defender.y,
z: defender.z,
scale: 3,
opacity: 0.3,
time: 1000
}, {
y: defender.y + 600,
yscale: 10,
time: 1500
}, 'linear', 'fade');
battle.showEffect(attacker.sp, {
x: defender.x - 15,
y: defender.y,
z: defender.z,
scale: 3,
opacity: 0.3,
time: 1100
}, {
y: defender.y + 600,
yscale: 10,
time: 1600
}, 'linear', 'fade');
battle.showEffect('impact', {
x: defender.x - 25,
y: defender.y,
z: defender.behind(5),
scale: 0.6,
opacity: 0.5,
time: 700
}, {
scale: 1,
opacity: 0,
time: 900
}, 'linear');
battle.showEffect('impact', {
x: defender.x + 25,
y: defender.y - 5,
z: defender.behind(5),
scale: 0.6,
opacity: 0.5,
time: 800
}, {
scale: 1,
opacity: 0,
time: 1000
}, 'linear');
battle.showEffect('impact', {
x: defender.x - 25,
y: defender.y + 10,
z: defender.behind(5),
scale: 0.6,
opacity: 0.5,
time: 900
}, {
scale: 1,
opacity: 0,
time: 1100
}, 'linear');
battle.showEffect('impact', {
x: defender.x + 2,
y: defender.y + 5,
z: defender.behind(5),
scale: 0.6,
opacity: 0.5,
time: 1000
}, {
scale: 1,
opacity: 0,
time: 1200
}, 'linear');
battle.showEffect('impact', {
x: defender.x - 20,
y: defender.y - 5,
z: defender.behind(5),
scale: 0.6,
opacity: 0.2,
time: 1100
}, {
scale: 1,
opacity: 0,
time: 1300
}, 'linear');
battle.showEffect('poisonwisp', {
x: attacker.x,
y: attacker.y - 30,
z: attacker.z,
scale: 1,
time: 1700
}, {
x: attacker.x + 70,
scale: 0.8,
opacity: 0,
time: 2200
}, 'linear', 'fade');
battle.showEffect('poisonwisp', {
x: attacker.x,
y: attacker.y - 30,
z: attacker.z,
scale: 1,
time: 1700
}, {
x: attacker.x - 70,
scale: 0.8,
opacity: 0,
time: 2200
}, 'linear', 'fade');
attacker.anim({
opacity: 0,
y: attacker.y - 40,
time: 200
}, 'swing');
attacker.delay(1200);
attacker.anim({
opacity: 0,
y: attacker.y + 60,
time: 1
});
attacker.anim({
time: 200
}, 'swing');
defender.delay(725);
defender.anim({
x: defender.x - 30,
time: 75
});
defender.anim({
x: defender.x + 30,
time: 100
});
defender.anim({
x: defender.x - 30,
time: 100
});
defender.anim({
x: defender.x + 30,
time: 100
});
defender.anim({
x: defender.x - 30,
time: 100
});
defender.anim({
x: defender.x + 30,
time: 100
});
defender.anim({
x: defender.x,
time: 100
});
}
},
sunsteelstrike: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
var xstep = (defender.x - attacker.x) / 5;
var ystep = (defender.x - 200 - attacker.x) / 5;
var zstep = (defender.z - attacker.z) / 5;
battle.backgroundEffect('linear-gradient(#390000 30%, #B84038)', 500, 0.6);
battle.backgroundEffect('linear-gradient(#FFFFFF 30%, #B84038)', 1200, 0.6, 500);
battle.showEffect('flareball', {
x: attacker.x,
y: attacker.y + 200,
z: attacker.z,
scale: 2.5,
opacity: 1,
time: 500
}, {
scale: 3,
opacity: 0,
time: 1200
}, 'decel');
for (var i = 0; i < 5; i++) {
battle.showEffect('flareball', {
x: attacker.x + xstep * (i + 1),
y: (attacker.y + 200) + ystep * (i + 1),
z: attacker.z + zstep * (i + 1),
scale: 2,
opacity: 0.4,
time: 40 * i + 700
}, {
scale: 1.5,
opacity: 0,
time: 60 * i + 1500
}, 'linear');
}
battle.showEffect('flareball', {
x: defender.x,
y: defender.y - 50,
z: defender.z,
scale: 1,
xscale: 3,
opacity: 0.5,
time: 1075
}, {
scale: 3,
xscale: 8,
opacity: 0.1,
time: 1675
}, 'linear', 'fade');
battle.showEffect('fireball', {
x: defender.x,
y: defender.y,
z: defender.behind(5),
scale: 0,
opacity: 1,
time: 1075
}, {
scale: 8,
opacity: 0,
time: 1375
}, 'linear');
battle.showEffect('fireball', {
x: defender.x,
y: defender.y,
z: defender.behind(10),
scale: 0,
opacity: 1,
time: 1175
}, {
scale: 8,
opacity: 0,
time: 1575
}, 'linear');
attacker.anim({
y: defender.y + 120,
opacity: 0,
time: 300
}, 'accel');
attacker.delay(425);
attacker.anim({
y: defender.y + 200,
opacity: 1,
time: 1
}, 'accel');
attacker.anim({
x: defender.x,
y: defender.y,
z: defender.z,
opacity: 1,
scale: 1,
time: 350
}, 'accel');
attacker.anim({
x: defender.leftof(50),
y: defender.y - 20,
z: defender.z,
opacity: 0,
time: 75
});
attacker.delay(300);
attacker.anim({
x: attacker.x,
y: attacker.y + 40,
z: attacker.behind(40),
time: 1
});
attacker.anim({
x: attacker.x,
y: attacker.y,
z: attacker.z,
time: 250
}, 'decel');
defender.delay(1075);
defender.anim({
z: defender.behind(30),
time: 400
}, 'decel');
defender.anim({
time: 300
}, 'swing');
}
},
moongeistbeam: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
var xstep = (defender.x - attacker.x) / 5;
var ystep = (defender.x - 200 - attacker.x) / 5;
var zstep = (defender.z - attacker.z) / 5;
battle.backgroundEffect('#000000', 600, 0.6);
battle.backgroundEffect('linear-gradient(#000000 10%, #2630A9)', 1100, 0.6, 600);
battle.showEffect('iceball', {
x: attacker.x,
y: attacker.y + 200,
z: attacker.z,
scale: 2.5,
opacity: 1,
time: 500
}, {
scale: 3,
opacity: 0,
time: 1300
}, 'decel');
for (var i = 0; i < 5; i++) {
battle.showEffect('wisp', {
x: attacker.x + xstep * (i + 1),
y: (attacker.y + 200) + ystep * (i + 1),
z: attacker.z + zstep * (i + 1),
scale: 2.5,
opacity: 1,
time: 40 * i + 700
}, {
scale: 2,
opacity: 0,
time: 60 * i + 1500
}, 'linear');
}
battle.showEffect('iceball', {
x: attacker.x,
y: attacker.y + 200,
z: attacker.z,
scale: .4,
opacity: 0.6,
time: 800
}, {
x: defender.x + 30,
y: defender.y + 30,
z: defender.z,
scale: .6,
opacity: 0.3,
time: 1000
}, 'linear', 'explode');
battle.showEffect('iceball', {
x: attacker.x,
y: attacker.y + 200,
z: attacker.z,
scale: .4,
opacity: 0.6,
time: 875
}, {
x: defender.x + 20,
y: defender.y - 30,
z: defender.z,
scale: .6,
opacity: 0.3,
time: 1075
}, 'linear', 'explode');
battle.showEffect('iceball', {
x: attacker.x,
y: attacker.y + 200,
z: attacker.z,
scale: .4,
opacity: 0.6,
time: 950
}, {
x: defender.x - 30,
y: defender.y,
z: defender.z,
scale: .6,
opacity: 0.3,
time: 1150
}, 'linear', 'explode');
battle.showEffect('iceball', {
x: attacker.x,
y: attacker.y + 200,
z: attacker.z,
scale: .4,
opacity: 0.6,
time: 1025
}, {
x: defender.x - 10,
y: defender.y + 10,
z: defender.z,
scale: .6,
opacity: 0.3,
time: 1225
}, 'linear', 'explode');
battle.showEffect('iceball', {
x: attacker.x,
y: attacker.y + 200,
z: attacker.z,
scale: .4,
opacity: 0.6,
time: 1100
}, {
x: defender.x + 10,
y: defender.y - 10,
z: defender.z,
scale: .6,
opacity: 0.3,
time: 1300
}, 'linear', 'explode');
battle.showEffect('iceball', {
x: attacker.x,
y: attacker.y + 200,
z: attacker.z,
scale: .4,
opacity: 0.6,
time: 1175
}, {
x: defender.x - 20,
y: defender.y,
z: defender.z,
scale: .6,
opacity: 0.3,
time: 1375
}, 'linear', 'explode');
battle.showEffect('iceball', {
x: defender.x,
y: defender.y - 50,
z: defender.z,
scale: 1,
xscale: 3,
opacity: 0.5,
time: 1375
}, {
scale: 3,
xscale: 8,
opacity: 0.1,
time: 1675
}, 'linear', 'explode');
battle.showEffect('bluefireball', {
x: defender.x,
y: defender.y,
z: defender.behind(5),
scale: 0,
opacity: 1,
time: 1175
}, {
scale: 8,
opacity: 0,
time: 1375
}, 'linear');
battle.showEffect('bluefireball', {
x: defender.x,
y: defender.y,
z: defender.behind(10),
scale: 0,
opacity: 1,
time: 1275
}, {
scale: 8,
opacity: 0,
time: 1675
}, 'linear');
attacker.anim({
y: defender.y + 120,
opacity: 0,
time: 300
}, 'accel');
attacker.delay(1150);
attacker.anim({
x: attacker.x,
y: attacker.y + 40,
z: attacker.behind(40),
time: 1
});
attacker.anim({
x: attacker.x,
y: attacker.y,
z: attacker.z,
time: 250
}, 'decel');
defender.delay(775);
defender.anim({
z: defender.behind(5),
time: 75
}, 'swing');
defender.anim({
time: 75
}, 'swing');
defender.anim({
z: defender.behind(5),
time: 75
}, 'swing');
defender.anim({
time: 75
}, 'swing');
defender.anim({
z: defender.behind(5),
time: 75
}, 'swing');
defender.anim({
time: 75
}, 'swing');
defender.anim({
z: defender.behind(5),
time: 75
}, 'swing');
defender.anim({
time: 75
}, 'swing');
defender.anim({
z: defender.behind(10),
time: 300
}, 'decel');
defender.anim({
time: 300
}, 'swing');
}
},
coreenforcer: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.backgroundEffect('#082179', 1600, 0.5, 300);
battle.backgroundEffect('linear-gradient(#46AF71 20%, #1170F0)', 1600, 0.4, 300);
attacker.anim({
y: defender.y + 120,
opacity: 0,
time: 300
}, 'accel');
attacker.delay(1525);
attacker.anim({
x: attacker.x,
y: attacker.y + 40,
z: attacker.behind(40),
time: 1
});
attacker.anim({
x: attacker.x,
y: attacker.y,
z: attacker.z,
time: 250
}, 'decel');
attacker.delay(600);
for (var i = 1; i < args.length; i++) {
defender = args[i];
defender.delay(2075);
defender.anim({
x: defender.x - 30,
time: 75
});
defender.anim({
x: defender.x + 30,
time: 100
});
defender.anim({
x: defender.x - 30,
time: 100
});
defender.anim({
x: defender.x + 30,
time: 100
});
defender.anim({
x: defender.x - 30,
time: 100
});
defender.anim({
x: defender.x + 30,
time: 100
});
defender.anim({
x: defender.x,
time: 100
});
}
if (args.length > 2) defender = args[2];
var xstep = (defender.x - defender.leftof(-25)) / 5;
var ystep = (defender.y - 225 - attacker.y) / 5;
var zstep = (defender.z - attacker.z) / 5;
for (var i = 0; i < 6; i++) {
battle.showEffect('wisp', {
x: attacker.leftof(50) + xstep * (i + 1),
y: (attacker.y + 300) + ystep * (i + 1),
z: attacker.z + zstep * (i + 1),
scale: 1.3,
opacity: 1,
time: 5 * i + 700
}, {
x: defender.leftof(50) + xstep * (i + 1),
opacity: 0,
time: 100 * i + 800
}, 'linear');
}
var xstep = (defender.x - defender.leftof(25)) / 5;
var ystep = (defender.y - 250 - attacker.y) / 5;
var zstep = (defender.behind(-100) - attacker.z) / 5;
for (var i = 0; i < 6; i++) {
battle.showEffect('wisp', {
x: attacker.leftof(-50) + xstep * (i + 1),
y: (attacker.y + 275) + ystep * (i + 1),
z: attacker.behind(-150) + zstep * (i + 1),
scale: 1.3,
opacity: 1,
time: 5 * i + 900
}, {
x: defender.leftof(-50) + xstep * (i + 1),
z: attacker.z + zstep * (i + 1),
opacity: 0,
time: 100 * i + 1000
}, 'linear');
}
var xstep = (defender.x - defender.leftof(-15)) / 5;
var ystep = (defender.y - 275 - attacker.y - 25) / 5;
var zstep = (defender.z - attacker.z) / 5;
for (var i = 0; i < 6; i++) {
battle.showEffect('wisp', {
x: attacker.leftof(50) + xstep * (i + 1),
y: (attacker.y + 275) + ystep * (i + 1),
z: attacker.z + zstep * (i + 1),
scale: 1.3,
opacity: 1,
time: 5 * i + 1100
}, {
x: defender.leftof(50) + xstep * (i + 1),
opacity: 0,
time: 100 * i + 1200
}, 'linear');
}
battle.showEffect('iceball', {
x: attacker.x,
y: attacker.y + 200,
z: attacker.z,
scale: 0.4,
opacity: 0.6,
time: 1100
}, {
x: defender.x + 60,
y: defender.y + 30,
z: defender.behind(20),
scale: 1,
opacity: 0.6,
time: 1300
}, 'linear', 'fade');
battle.showEffect('flareball', {
x: attacker.x,
y: attacker.y + 200,
z: attacker.z,
scale: 0.4,
opacity: 1,
time: 1175
}, {
x: defender.x - 10,
y: defender.y - 30,
z: defender.behind(20),
scale: 1,
opacity: 0.6,
time: 1375
}, 'linear', 'fade');
battle.showEffect('iceball', {
x: attacker.x,
y: attacker.y + 200,
z: attacker.z,
scale: 0.4,
opacity: 1,
time: 1225
}, {
x: defender.x + 20,
y: defender.y + 10,
z: defender.behind(10),
scale: 1,
opacity: 1,
time: 1425
}, 'linear', 'fade');
battle.showEffect('flareball', {
x: attacker.x,
y: attacker.y + 200,
z: attacker.z,
scale: 0.4,
opacity: 1,
time: 1250
}, {
x: defender.x - 30,
y: defender.y,
z: defender.behind(-10),
scale: 1,
opacity: 0.6,
time: 1450
}, 'linear', 'fade');
battle.showEffect('iceball', {
x: attacker.x,
y: attacker.y + 200,
z: attacker.z,
scale: 0.4,
opacity: 1,
time: 1325
}, {
x: defender.x - 50,
y: defender.y + 10,
z: defender.behind(-20),
scale: 1,
opacity: 1,
time: 1525
}, 'linear', 'fade');
battle.showEffect('flareball', {
x: attacker.x,
y: attacker.y + 200,
z: attacker.z,
scale: 0.4,
opacity: 1,
time: 1350
}, {
x: defender.x - 30,
y: defender.y,
z: defender.behind(-25),
scale: 1,
opacity: 0.6,
time: 1550
}, 'linear', 'fade');
battle.showEffect('iceball', {
x: attacker.x,
y: attacker.y + 200,
z: attacker.z,
scale: 0.4,
opacity: 1.4,
time: 1400
}, {
x: defender.x - 60,
y: defender.y - 10,
z: defender.behind(-40),
scale: 1,
opacity: 1,
time: 1600
}, 'linear', 'fade');
battle.showEffect('flareball', {
x: attacker.x,
y: attacker.y + 200,
z: attacker.z,
scale: 0.4,
opacity: 1.4,
time: 1475
}, {
x: defender.x - 30,
y: defender.y,
z: defender.behind(-30),
scale: 1,
opacity: 0.6,
time: 1675
}, 'linear', 'fade');
battle.showEffect('iceball', {
x: attacker.x,
y: attacker.y + 200,
z: attacker.z,
scale: 0.4,
opacity: 1,
time: 1525
}, {
x: defender.x + 40,
y: defender.y + 10,
z: defender.behind(-40),
scale: 1,
opacity: 1,
time: 1725
}, 'linear', 'fade');
battle.showEffect('flareball', {
x: attacker.x,
y: attacker.y + 200,
z: attacker.z,
scale: 0.4,
opacity: 1,
time: 1550
}, {
x: defender.x + 80,
y: defender.y,
z: defender.behind(-50),
scale: 1,
opacity: 0.6,
time: 1750
}, 'linear', 'fade');
battle.backgroundEffect('#ffffff', 800, 0.8, 2000);
battle.showEffect('fireball', {
x: defender.x + 40,
y: defender.y,
z: defender.z,
scale: 0,
opacity: .6,
time: 2000
}, {
scale: 6,
opacity: 0
}, 'linear');
battle.showEffect('fireball', {
x: defender.x - 40,
y: defender.y - 20,
z: defender.z,
scale: 0,
opacity: .6,
time: 2150
}, {
scale: 6,
opacity: 0
}, 'linear');
battle.showEffect('fireball', {
x: defender.x + 10,
y: defender.y + 20,
z: defender.z,
scale: 0,
opacity: .6,
time: 2300
}, {
scale: 6,
opacity: 0
}, 'linear');
}
},
// z-move animations
gigavolthavoc: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.backgroundEffect('#000000', 800, 0.7);
battle.backgroundEffect('#ffffff', 200, 0.7, 700);
battle.backgroundEffect('#000000', 800, 0.7, 900);
battle.showEffect('electroball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 8,
opacity: 0,
time: 0
}, {
scale: 0,
opacity: 0.5,
time: 300
}, 'linear', 'fade');
battle.showEffect('electroball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 8,
opacity: 0,
time: 150
}, {
scale: 0,
opacity: 0.5,
time: 500
}, 'linear', 'fade');
battle.showEffect('lightning', {
x: attacker.x - 10,
y: attacker.y,
z: attacker.z,
scale: 0,
opacity: 1,
time: 200
}, {
scale: 3,
opacity: 0,
time: 400
}, 'decel');
battle.showEffect('lightning', {
x: attacker.x + 10,
y: attacker.y,
z: attacker.z,
scale: 0,
opacity: 1,
time: 350
}, {
scale: 3,
opacity: 0,
time: 550
}, 'decel');
battle.showEffect('electroball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.8,
opacity: .8,
time: 600
}, {
x: defender.x,
y: defender.y,
z: defender.behind(20),
scale: 1.2,
opacity: .8,
time: 800
}, 'linear', 'explode');
battle.showEffect('electroball', {
x: defender.x,
y: defender.y - 60,
z: defender.z,
scale: 1,
xscale: 3,
opacity: 1,
time: 850
}, {
scale: 2,
xscale: 12,
opacity: 0,
time: 1250
}, 'linear', 'fade');
battle.showEffect('electroball', {
x: defender.x,
y: defender.y,
z: defender.z,
opacity: 0.7,
scale: 1,
time: 850
}, {
scale: 6,
opacity: 0,
time: 1400
}, 'linear');
battle.showEffect('wisp', {
x: defender.x,
y: defender.y + 350,
z: defender.z,
opacity: 1,
scale: 3,
yscale: 10,
time: 850
}, {
xscale: 0,
opacity: 0.5,
time: 1200
}, 'accel', 'fade');
battle.showEffect('wisp', {
x: defender.x,
y: defender.y,
z: defender.z,
opacity: 1,
scale: 3,
time: 850
}, {
scale: 9,
time: 1400
}, 'linear', 'explode');
battle.showEffect('lightning', {
x: defender.x + 40,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 0.6,
time: 800
}, {
scale: 6,
opacity: 0
}, 'linear');
battle.showEffect('lightning', {
x: defender.x - 40,
y: defender.y - 20,
z: defender.z,
scale: 0,
opacity: 0.6,
time: 950
}, {
scale: 6,
opacity: 0
}, 'linear');
battle.showEffect('lightning', {
x: defender.x + 10,
y: defender.y + 20,
z: defender.z,
scale: 0,
opacity: 0.6,
time: 1100
}, {
scale: 6,
opacity: 0
}, 'linear');
defender.delay(825);
defender.anim({
z: defender.behind(20),
opacity: 0.5,
time: 400
}, 'swing');
defender.anim({
time: 400
}, 'swing');
}
},
infernooverdrive: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.backgroundEffect('linear-gradient(#421800 40%, #B8652F)', 800, 0.7);
battle.backgroundEffect('#ffffff', 200, 0.7, 700);
battle.backgroundEffect('#000000', 800, 0.7, 900);
battle.showEffect('fireball', {
x: attacker.x,
y: attacker.y + 20,
z: attacker.behind(-30),
scale: 1,
opacity: 0.3
}, {
x: attacker.x,
y: attacker.y,
z: attacker.behind(-30),
scale: 0.6,
opacity: 1,
time: 100
}, 'accel', 'fade');
battle.showEffect('fireball', {
x: attacker.x + 20,
y: attacker.y,
z: attacker.behind(-30),
scale: 1,
opacity: 0.3,
time: 100
}, {
x: attacker.x,
y: attacker.y,
z: attacker.behind(-30),
scale: 0.6,
opacity: 1,
time: 200
}, 'accel', 'fade');
battle.showEffect('fireball', {
x: attacker.x,
y: attacker.y - 20,
z: attacker.behind(-30),
scale: 1,
opacity: 0.3,
time: 200
}, {
x: attacker.x,
y: attacker.y,
z: attacker.behind(-30),
scale: 0.6,
opacity: 1,
time: 300
}, 'accel', 'fade');
battle.showEffect('fireball', {
x: attacker.x - 20,
y: attacker.y,
z: attacker.behind(-30),
scale: 1,
opacity: 0.3,
time: 300
}, {
x: attacker.x,
y: attacker.y,
z: attacker.behind(-30),
scale: 0.6,
opacity: 1,
time: 400
}, 'accel', 'fade');
battle.showEffect('flareball', {
x: attacker.x,
y: attacker.y,
z: attacker.behind(-30),
scale: 3,
opacity: 0.3
}, {
scale: 0.6,
opacity: 1,
time: 300
}, 'decel', 'fade');
battle.showEffect('flareball', {
x: attacker.x,
y: attacker.y,
z: attacker.behind(-30),
scale: 3,
opacity: 0.3,
time: 100
}, {
scale: .8,
opacity: 0.6,
time: 400
}, 'decel', 'fade');
battle.showEffect('flareball', {
x: attacker.x,
y: attacker.y,
z: attacker.behind(-30),
scale: 0.6,
opacity: .8,
time: 400
}, {
x: defender.x,
y: defender.y,
z: defender.behind(20),
scale: 5,
opacity: .8,
time: 800
}, 'accel', 'explode');
battle.showEffect('flareball', {
x: defender.x,
y: defender.y - 60,
z: defender.z,
scale: 1,
xscale: 3,
opacity: 0.5,
time: 900
}, {
scale: 3,
xscale: 8,
opacity: 0.1,
time: 1300
}, 'linear', 'fade');
battle.showEffect('electroball', {
x: defender.x,
y: defender.y,
z: defender.z,
opacity: 1,
scale: 1,
time: 900
}, {
scale: 6,
opacity: 0,
time: 1100
}, 'linear');
battle.showEffect('flareball', {
x: defender.x,
y: defender.y,
z: defender.z,
opacity: 1,
scale: 1,
time: 1000
}, {
scale: 6,
opacity: 0,
time: 1300
}, 'linear');
battle.showEffect('wisp', {
x: defender.x,
y: defender.y,
z: defender.z,
opacity: 1,
scale: 5,
time: 800
}, {
scale: 12,
opacity: 0.5,
time: 1500
}, 'linear', 'fade');
battle.showEffect('fireball', {
x: defender.x + 40,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 0.6,
time: 800
}, {
scale: 6,
opacity: 0
}, 'linear');
battle.showEffect('fireball', {
x: defender.x - 40,
y: defender.y - 20,
z: defender.z,
scale: 0,
opacity: 0.6,
time: 950
}, {
scale: 6,
opacity: 0
}, 'linear');
battle.showEffect('fireball', {
x: defender.x + 10,
y: defender.y + 20,
z: defender.z,
scale: 0,
opacity: 0.6,
time: 1100
}, {
scale: 6,
opacity: 0
}, 'linear');
defender.delay(825);
defender.anim({
z: defender.behind(20),
time: 300
}, 'swing');
defender.anim({
time: 400
}, 'swing');
}
},
alloutpummeling: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.backgroundEffect('linear-gradient(#390000 30%, #B84038)', 2000, 0.8);
battle.showEffect('flareball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 1,
opacity: 1
}, {
scale: 6,
opacity: 0
}, 'linear');
battle.showEffect('fist', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.6,
opacity: 0.6
}, {
x: defender.x + 30,
y: defender.y + 30,
z: defender.z,
scale: 1,
opacity: 1,
time: 200
}, 'ballistic', 'explode');
battle.showEffect('fist', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.6,
opacity: 0.6,
time: 75
}, {
x: defender.x + 20,
y: defender.y - 30,
z: defender.z,
scale: 1,
opacity: 1,
time: 275
}, 'ballistic2', 'explode');
battle.showEffect('fist', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.6,
opacity: 0.6,
time: 150
}, {
x: defender.x - 30,
y: defender.y,
z: defender.z,
scale: 1,
opacity: 1,
time: 350
}, 'ballistic2Under', 'explode');
battle.showEffect('fist', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.6,
opacity: 0.6,
time: 225
}, {
x: defender.x - 10,
y: defender.y + 10,
z: defender.z,
scale: 1,
opacity: 1,
time: 425
}, 'ballistic', 'explode');
battle.showEffect('fist', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.6,
opacity: 0.6,
time: 300
}, {
x: defender.x + 10,
y: defender.y - 10,
z: defender.z,
scale: 1,
opacity: 1,
time: 500
}, 'ballistic2', 'explode');
battle.showEffect('fist', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.6,
opacity: 0.6,
time: 375
}, {
x: defender.x - 20,
y: defender.y,
z: defender.z,
scale: 1,
opacity: 1,
time: 575
}, 'ballistic2Under', 'explode');
battle.showEffect('flareball', {
x: attacker.x,
y: attacker.y,
z: attacker.behind(-5),
scale: 1.5,
opacity: 0,
time: 800
}, {
x: defender.x,
y: defender.y,
z: defender.z,
opacity: 1,
time: 1150
}, 'accel', 'explode');
battle.showEffect('wisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
opacity: 1,
time: 800
}, {
x: defender.x,
y: defender.y,
z: defender.behind(-5),
time: 1100
}, 'accel', 'fade');
battle.showEffect('wisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
opacity: 1,
time: 800
}, {
x: defender.x,
y: defender.y,
z: defender.behind(-5),
time: 1125
}, 'accel', 'fade');
battle.showEffect('wisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
opacity: 1,
time: 800
}, {
x: defender.x,
y: defender.y,
z: defender.behind(-5),
time: 1150
}, 'accel', 'fade');
battle.showEffect('iceball', {
x: defender.x,
y: defender.y - 60,
z: defender.z,
scale: 1,
xscale: 2,
opacity: 0.8,
time: 1150
}, {
scale: 1,
xscale: 12,
opacity: 0,
time: 1450
}, 'decel', 'fade');
battle.showEffect('iceball', {
x: defender.x,
y: defender.y - 30,
z: defender.z,
opacity: 0.7,
scale: 0.5,
time: 1150
}, {
scale: 3,
opacity: 0,
time: 1650
}, 'decel');
battle.showEffect('flareball', {
x: defender.x,
y: defender.y - 30,
z: defender.z,
opacity: 1,
scale: 0.5,
time: 1150
}, {
scale: 6,
opacity: 0,
time: 1650
}, 'decel');
battle.showEffect('wisp', {
x: defender.x,
y: defender.y + 350,
z: defender.z,
opacity: 1,
scale: 5,
yscale: 13,
time: 1150
}, {
opacity: 0.5,
xscale: 0,
time: 2000
}, 'accel', 'fade');
battle.showEffect('wisp', {
x: defender.x,
y: defender.y - 30,
z: defender.z,
opacity: 1,
scale: 2,
time: 1150
}, {
opacity: 0.5,
scale: 6,
time: 2000
}, 'decel', 'explode');
attacker.delay(600);
attacker.anim({
z: attacker.behind(15),
time: 200
}, 'decel');
attacker.anim({
z: defender.behind(-170),
opacity: 0,
time: 100
}, 'accel');
attacker.delay(1000);
attacker.anim({
z: attacker.behind(70),
opacity: 0,
time: 1
}, 'linear');
attacker.anim({
z: attacker.z,
time: 300
}, 'swing');
defender.delay(200);
defender.anim({
z: defender.behind(5),
time: 75
}, 'swing');
defender.anim({
time: 75
}, 'swing');
defender.anim({
z: defender.behind(5),
time: 75
}, 'swing');
defender.anim({
time: 75
}, 'swing');
defender.anim({
z: defender.behind(5),
time: 75
}, 'swing');
defender.anim({
time: 75
}, 'swing');
defender.anim({
z: defender.behind(5),
time: 75
}, 'swing');
defender.anim({
time: 75
}, 'swing');
defender.delay(300);
defender.anim({
z: defender.behind(5),
opacity: 0,
time: 75
}, 'swing');
defender.delay(750);
defender.anim({
time: 150
}, 'swing');
}
},
supersonicskystrike: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.backgroundEffect('linear-gradient(#46BFFF 20%, #241714)', 1300, 0.5);
battle.showEffect(attacker.sp, {
x: attacker.x,
y: attacker.y,
z: attacker.z,
opacity: 0.3,
time: 25
}, {
y: attacker.y + 250,
opacity: 0,
time: 325
}, 'decel');
battle.showEffect(attacker.sp, {
x: attacker.x,
y: attacker.y + 250,
z: attacker.z,
opacity: 0.3,
time: 625
}, {
x: defender.leftof(-10),
y: defender.y + 5,
z: defender.behind(10),
opacity: 0,
time: 825
}, 'decel');
battle.showEffect('iceball', {
x: attacker.x,
y: attacker.y + 250,
z: attacker.z,
scale: 1,
opacity: 0.6,
time: 600
}, {
x: defender.leftof(-10),
y: defender.y + 5,
z: defender.behind(10),
opacity: 0.3,
time: 800
}, 'accel', 'explode');
battle.showEffect('wisp', {
x: attacker.x,
y: attacker.y + 250,
z: attacker.behind(-50),
scale: 1,
opacity: 0.5,
time: 600
}, {
x: defender.leftof(-10),
y: defender.y + 5,
z: defender.behind(10),
opacity: 0.6,
time: 800
}, 'accel', 'explode');
battle.showEffect('iceball', {
x: defender.x,
y: defender.y - 60,
z: defender.z,
scale: 1,
xscale: 3,
opacity: 1,
time: 850
}, {
scale: 2,
xscale: 12,
opacity: 0,
time: 1250
}, 'linear', 'fade');
battle.showEffect('iceball', {
x: defender.x,
y: defender.y,
z: defender.z,
opacity: 0.7,
scale: 1,
time: 850
}, {
scale: 6,
opacity: 0,
time: 1400
}, 'linear');
battle.showEffect('wisp', {
x: defender.x,
y: defender.y + 350,
z: defender.z,
opacity: 1,
scale: 3,
yscale: 10,
time: 850
}, {
xscale: 0,
time: 1500
}, 'accel', 'fade');
battle.showEffect('wisp', {
x: defender.x,
y: defender.y,
z: defender.z,
opacity: 1,
scale: 3,
time: 850
}, {
scale: 9,
time: 1400
}, 'linear', 'explode');
attacker.anim({
x: attacker.x,
y: attacker.y + 250,
z: attacker.z,
time: 300
}, 'decel');
attacker.delay(300);
attacker.anim({
x: defender.leftof(-10),
y: defender.y + 5,
z: defender.behind(10),
opacity: 1,
time: 200
}, 'ballistic2Under');
attacker.delay(50);
attacker.anim({
opacity: 0,
time: 1
});
attacker.delay(700);
attacker.anim({
opacity: 1,
time: 200
});
defender.delay(650);
defender.anim({
y: defender.y - 10,
z: defender.behind(5),
time: 50
}, 'swing');
defender.anim({
y: defender.y - 20,
z: defender.behind(20),
time: 200
}, 'swing');
defender.anim({
time: 300
}, 'swing');
battle.activityWait(1450);
}
},
blackholeeclipse: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.backgroundEffect('linear-gradient(#440044 30%, #000000', 2500, 0.6);
battle.showEffect('wisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 1,
opacity: 0.2,
time: 0
}, {
scale: 2,
opacity: .5,
time: 600
}, 'linear', 'explode');
battle.showEffect('iceball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 1,
opacity: 0.1,
time: 0
}, {
scale: 0,
opacity: 0.5,
time: 400
}, 'accel');
battle.showEffect('iceball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 1,
opacity: 0.1,
time: 200
}, {
scale: 0,
opacity: 0.5,
time: 600
}, 'accel');
battle.showEffect('shadowball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 1,
opacity: 0.1,
time: 550
}, {
scale: 0.7,
opacity: 0.5,
time: 900
}, 'decel', 'fade');
battle.showEffect('poisonwisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 2,
opacity: 0.1,
time: 550
}, {
scale: 1.5,
opacity: 1,
time: 900
}, 'decel', 'fade');
battle.showEffect('shadowball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.7,
opacity: 0.5,
time: 900
}, {
x: defender.x,
y: defender.y + 80,
z: defender.z,
opacity: 0.7,
scale: 2,
time: 1500
}, 'accel', 'explode');
battle.showEffect('poisonwisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 1.5,
opacity: 1,
time: 900
}, {
x: defender.x,
y: defender.y + 80,
z: defender.z,
scale: 3,
time: 1500
}, 'accel', 'explode');
battle.showEffect('shadowball', {
x: defender.x,
y: defender.y + 80,
z: defender.z,
scale: 1,
opacity: 0.7,
time: 1500
}, {
scale: 2,
time: 2200
}, 'linear', 'fade');
battle.showEffect('poisonwisp', {
x: defender.x,
y: defender.y + 80,
z: defender.z,
scale: 4,
opacity: 1,
time: 1500
}, {
scale: 4.2,
time: 2200
}, 'linear', 'fade');
battle.showEffect('flareball', {
x: defender.x,
y: defender.y + 80,
z: defender.z,
scale: 1,
opacity: 0.1,
time: 1600
}, {
scale: 3,
opacity: 0,
time: 1900
}, 'linear');
battle.showEffect('flareball', {
x: defender.x,
y: defender.y + 80,
z: defender.z,
scale: 1,
opacity: 0.1,
time: 1900
}, {
scale: 3,
opacity: 0,
time: 2200
}, 'linear');
battle.showEffect('poisonwisp', {
x: defender.x,
y: defender.y + 80,
z: defender.z,
scale: 4.2,
opacity: 0.5,
time: 2200
}, {
scale: 0,
time: 2500
}, 'accel');
defender.delay(1500);
defender.anim({
y: defender.y + 50,
xscale: 0,
yscale: 0,
opacity: 0,
time: 400
}, 'accel');
defender.delay(1500);
defender.anim({
y: defender.y,
opacity: 0,
time: 1
});
defender.anim({
time: 400
});
}
},
continentalcrush: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.backgroundEffect('linear-gradient(#421800 40%, #B8652F)', 2200, 0.6);
battle.showEffect(attacker.sp, {
x: attacker.x,
y: attacker.y,
z: attacker.z,
opacity: 0.3,
time: 25
}, {
x: attacker.x,
y: attacker.y + 250,
z: defender.behind(-50),
opacity: 0,
time: 325
}, 'accel');
battle.showEffect('rock2', {
x: attacker.x,
y: attacker.y,
z: attacker.behind(-40),
scale: 0.4,
opacity: 0,
time: 225
}, {
x: attacker.x,
y: attacker.y + 250,
z: defender.behind(-30),
opacity: 1,
time: 525
}, 'accel');
battle.showEffect('rocks', {
x: attacker.x,
y: attacker.y,
z: attacker.behind(-70),
scale: 0.8,
opacity: 0,
time: 300
}, {
x: attacker.x,
y: attacker.y + 250,
z: defender.behind(-20),
scale: 0.4,
opacity: 1,
time: 650
}, 'accel');
battle.showEffect('rock2', {
x: attacker.x,
y: attacker.y,
z: attacker.behind(-90),
scale: 0.2,
opacity: 0,
time: 325
}, {
x: attacker.x,
y: attacker.y + 250,
z: defender.behind(-50),
opacity: 1,
time: 675
}, 'accel');
battle.showEffect('rock1', {
x: defender.x,
y: defender.y + 175,
z: defender.z,
scale: 0.5,
opacity: 0.5,
time: 1000
}, {
x: defender.x,
y: defender.y + 55,
z: defender.z,
scale: 5.5,
opacity: 1,
time: 1800
}, 'decel', 'fade');
battle.showEffect('iceball', {
x: defender.x,
y: defender.y - 60,
z: defender.z,
scale: 1,
xscale: 3,
opacity: 1,
time: 1650
}, {
scale: 2,
xscale: 12,
opacity: 0,
time: 2050
}, 'linear', 'fade');
battle.showEffect('iceball', {
x: defender.x,
y: defender.y,
z: defender.z,
opacity: 0.7,
scale: 1,
time: 1650
}, {
scale: 6,
opacity: 0,
time: 2200
}, 'linear');
battle.showEffect('wisp', {
x: defender.x,
y: defender.y + 350,
z: defender.z,
opacity: 1,
scale: 3,
yscale: 8,
time: 1650
}, {
xscale: 12,
opacity: 0.5,
time: 2000
}, 'accel', 'fade');
battle.showEffect('wisp', {
x: defender.x,
y: defender.y,
z: defender.z,
opacity: 1,
scale: 6,
time: 1650
}, {
scale: 12,
opacity: 0.7,
time: 2200
}, 'linear', 'explode');
attacker.anim({
x: attacker.x,
y: attacker.y + 250,
z: attacker.behind(-50),
time: 300
}, 'decel');
attacker.delay(1700);
attacker.anim({
opacity: 0,
time: 1
});
attacker.anim({
opacity: 1,
time: 200
});
defender.delay(1450);
defender.anim({
y: defender.y - 10,
yscale: 0.4,
time: 50
}, 'swing');
defender.anim({
y: defender.y - 20,
yscale: 0.3,
time: 300
}, 'swing');
defender.delay(200);
defender.anim({
time: 400
}, 'swing');
}
},
neverendingnightmare: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.backgroundEffect('linear-gradient(#440044 30%, #000000', 1500, 0.6);
var xstep = (defender.x + 200 - defender.x) / 5;
var ystep = (defender.x - 200 - defender.x) / 5;
var zstep = (defender.z - defender.z) / 5;
for (var i = 0; i < 5; i++) {
battle.showEffect('poisonwisp', {
x: defender.x - 200 + xstep * (i + 1),
y: (defender.y + 200) + ystep * (i + 1),
z: defender.z + zstep * (i + 1),
scale: 0.6,
opacity: 0.7,
time: 40 * i + 0
}, {
opacity: 0,
time: 50 * i + 1000
}, 'linear');
}
var xstep = (defender.x + 150 - defender.x) / 5;
for (var i = 0; i < 5; i++) {
battle.showEffect('poisonwisp', {
x: defender.x - 150 + xstep * (i + 1),
y: (defender.y + 200) + ystep * (i + 1),
z: defender.z + zstep * (i + 1),
scale: 0.6,
opacity: 0.7,
time: 40 * i + 100
}, {
opacity: 0,
time: 50 * i + 1000
}, 'linear');
}
var xstep = (defender.x + 100 - defender.x) / 5;
for (var i = 0; i < 5; i++) {
battle.showEffect('poisonwisp', {
x: defender.x - 100 + xstep * (i + 1),
y: (defender.y + 200) + ystep * (i + 1),
z: defender.z + zstep * (i + 1),
scale: 1.2,
opacity: 1,
time: 40 * i + 200
}, {
opacity: 0,
time: 50 * i + 1000
}, 'linear');
}
var xstep = (defender.x + 50 - defender.x) / 5;
for (var i = 0; i < 5; i++) {
battle.showEffect('poisonwisp', {
x: defender.x - 50 + xstep * (i + 1),
y: (defender.y + 200) + ystep * (i + 1),
z: defender.z + zstep * (i + 1),
scale: 0.6,
opacity: 0.7,
time: 40 * i + 300
}, {
opacity: 0,
time: 50 * i + 1000
}, 'linear');
}
var xstep = (defender.x - 50 - defender.x) / 5;
for (var i = 0; i < 5; i++) {
battle.showEffect('poisonwisp', {
x: defender.x + 50 + xstep * (i + 1),
y: (defender.y + 200) + ystep * (i + 1),
z: defender.z + zstep * (i + 1),
scale: 1.2,
opacity: 1,
time: 40 * i + 400
}, {
opacity: 0,
time: 50 * i + 1000
}, 'linear');
}
var xstep = (defender.x - 100 - defender.x) / 5;
for (var i = 0; i < 5; i++) {
battle.showEffect('poisonwisp', {
x: defender.x + 100 + xstep * (i + 1),
y: (defender.y + 200) + ystep * (i + 1),
z: defender.z + zstep * (i + 1),
scale: 0.6,
opacity: 0.7,
time: 40 * i + 500
}, {
opacity: 0,
time: 50 * i + 1000
}, 'linear');
}
var xstep = (defender.x - 150 - defender.x) / 5;
for (var i = 0; i < 5; i++) {
battle.showEffect('poisonwisp', {
x: defender.x + 150 + xstep * (i + 1),
y: (defender.y + 200) + ystep * (i + 1),
z: defender.z + zstep * (i + 1),
scale: 0.6,
opacity: 0.7,
time: 40 * i + 600
}, {
opacity: 0,
time: 50 * i + 1000
}, 'linear');
}
var xstep = (defender.x - 200 - defender.x) / 5;
for (var i = 0; i < 5; i++) {
battle.showEffect('poisonwisp', {
x: defender.x + 200 + xstep * (i + 1),
y: (defender.y + 200) + ystep * (i + 1),
z: defender.z + zstep * (i + 1),
scale: 0.6,
opacity: 0.7,
time: 40 * i + 700
}, {
opacity: 0,
time: 50 * i + 1000
}, 'linear');
}
battle.showEffect('shadowball', {
x: defender.x,
y: defender.y - 60,
z: defender.z,
scale: 1,
xscale: 3,
opacity: 0.5,
time: 200
}, {
scale: 3,
xscale: 8,
opacity: 0.1,
time: 1300
}, 'linear', 'fade');
battle.showEffect('shadowball', {
x: defender.x,
y: defender.y - 30,
z: defender.z,
opacity: 1,
scale: 2,
time: 200
}, {
scale: 2.5,
opacity: 0,
time: 1500
}, 'linear', 'fade');
battle.showEffect('poisonwisp', {
x: defender.x,
y: defender.y,
z: defender.z,
opacity: 0.7,
scale: 3,
time: 200
}, {
scale: 9,
opacity: 1,
time: 1500
}, 'linear', 'fade');
}
},
corkscrewcrash: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.backgroundEffect('#000000', 1200, 0.3);
battle.showEffect('impact', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 0.5,
time: 500
}, {
scale: 3,
opacity: 0,
time: 800
}, 'linear');
battle.showEffect('impact', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 0.5,
time: 700
}, {
scale: 3,
opacity: 0,
time: 1000
}, 'linear');
battle.showEffect('iceball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 2,
opacity: 1
}, {
y: attacker.y + 90,
opacity: 0,
time: 200
}, 'accel');
battle.showEffect('iceball', {
x: defender.leftof(-165),
y: defender.y + 170,
z: defender.z,
scale: 1,
opacity: 0,
time: 400
}, {
x: defender.leftof(10),
y: defender.y - 20,
z: defender.behind(-10),
scale: 2,
opacity: 0.5,
time: 650
}, 'accel', 'explode');
battle.showEffect('iceball', {
x: defender.leftof(-65),
y: defender.y + 90,
z: defender.z,
scale: 3,
yscale: 3.3,
opacity: 0.8,
time: 500
}, {
x: defender.leftof(10),
y: defender.y - 20,
z: defender.behind(-10),
scale: 0,
xscale: 0,
yscale: 0,
time: 650
}, 'accel');
battle.showEffect('iceball', {
x: defender.leftof(-65),
y: defender.y + 90,
z: defender.z,
scale: 3,
yscale: 3.3,
opacity: 0.8,
time: 550
}, {
x: defender.leftof(10),
y: defender.y - 20,
z: defender.behind(-10),
scale: 0,
xscale: 0,
yscale: 0,
time: 700
}, 'accel');
battle.showEffect('iceball', {
x: defender.leftof(-65),
y: defender.y + 90,
z: defender.z,
scale: 3,
yscale: 3.3,
opacity: 0.8,
time: 600
}, {
x: defender.leftof(10),
y: defender.y - 20,
z: defender.behind(-10),
scale: 0,
xscale: 0,
yscale: 0,
time: 750
}, 'accel');
battle.showEffect('iceball', {
x: defender.leftof(-65),
y: defender.y + 90,
z: defender.z,
scale: 3,
yscale: 3.3,
opacity: 0.8,
time: 650
}, {
x: defender.leftof(10),
y: defender.y - 20,
z: defender.behind(-10),
scale: 0,
xscale: 0,
yscale: 0,
time: 800
}, 'accel');
battle.showEffect('iceball', {
x: defender.leftof(-65),
y: defender.y + 90,
z: defender.z,
scale: 3,
yscale: 3.3,
opacity: 0.8,
time: 700
}, {
x: defender.leftof(10),
y: defender.y - 20,
z: defender.behind(-10),
scale: 0,
xscale: 0,
yscale: 0,
time: 850
}, 'accel');
battle.showEffect('iceball', {
x: defender.leftof(-65),
y: defender.y + 90,
z: defender.z,
scale: 3,
yscale: 3.3,
opacity: 0.8,
time: 750
}, {
x: defender.leftof(10),
y: defender.y - 20,
z: defender.behind(-10),
scale: 0,
xscale: 0,
yscale: 0,
time: 900
}, 'accel');
battle.showEffect('iceball', {
x: defender.leftof(-65),
y: defender.y + 90,
z: defender.z,
scale: 3,
yscale: 3.3,
opacity: 0.8,
time: 800
}, {
x: defender.leftof(10),
y: defender.y - 20,
z: defender.behind(-10),
scale: 0,
xscale: 0,
yscale: 0,
time: 950
}, 'accel');
battle.showEffect('iceball', {
x: defender.leftof(-65),
y: defender.y + 90,
z: defender.z,
scale: 3,
yscale: 3.3,
opacity: 0.8,
time: 900
}, {
x: defender.leftof(10),
y: defender.y - 20,
z: defender.behind(-10),
scale: 0,
xscale: 0,
yscale: 0,
time: 1050
}, 'accel');
attacker.anim({
y: defender.y + 120,
xscale: 0,
yscale: 0,
opacity: 0,
time: 300
}, 'accel');
attacker.delay(825);
attacker.anim({
x: attacker.x,
y: attacker.y + 40,
z: attacker.behind(40),
xscale: 1,
yscale: 1,
time: 1
});
attacker.anim({
x: attacker.x,
y: attacker.y,
z: attacker.z,
time: 250
}, 'decel');
defender.delay(625);
defender.anim({
z: defender.behind(5),
time: 75
}, 'swing');
defender.anim({
time: 75
}, 'swing');
defender.anim({
z: defender.behind(5),
time: 75
}, 'swing');
defender.anim({
time: 75
}, 'swing');
defender.anim({
z: defender.behind(15),
time: 200
}, 'decel');
defender.anim({
time: 350
}, 'swing');
battle.activityWait(550);
}
},
twinkletackle: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.backgroundEffect('#FF99FF', 1700, 0.5);
battle.showEffect('shine', {
x: attacker.x - 10,
y: attacker.y - 10,
z: attacker.z,
scale: 0.3,
opacity: 0.6
}, {
opacity: 0,
time: 200
}, 'decel');
battle.showEffect('shine', {
x: attacker.x + 20,
y: attacker.y - 30,
z: attacker.z,
scale: 0.2,
opacity: 1,
time: 0
}, {
y: attacker.y + 40,
opacity: 0,
time: 250
}, 'accel');
battle.showEffect('shine', {
x: attacker.x + 20,
y: attacker.y - 15,
z: attacker.z,
scale: 0.3,
opacity: 0.6,
time: 150
}, {
opacity: 0,
time: 250
}, 'decel');
battle.showEffect('shine', {
x: attacker.x - 20,
y: attacker.y + 40,
z: attacker.z,
scale: 0.2,
opacity: 1,
time: 175
}, {
y: attacker.y + 40,
opacity: 0,
time: 275
}, 'accel');
battle.showEffect('shine', {
x: attacker.x - 5,
y: attacker.y + 15,
z: attacker.z,
scale: 0.3,
opacity: 0.6,
time: 100
}, {
opacity: 0,
time: 300
}, 'decel');
battle.showEffect('shine', {
x: attacker.x + 5,
y: attacker.y - 10,
z: attacker.z,
scale: 0.3,
opacity: 0.6,
time: 125
}, {
opacity: 0,
time: 325
}, 'accel');
battle.showEffect('impact', {
x: defender.x,
y: defender.y + 2,
z: defender.behind(5),
scale: 0,
opacity: 0.2,
time: 600
}, {
scale: 2,
opacity: 0,
time: 900
}, 'linear');
battle.showEffect('shine', {
x: defender.x + 30,
y: defender.y + 5,
z: defender.z,
scale: 0.3,
opacity: 0.7,
time: 600
}, {
x: defender.x + 40,
y: defender.y + 10,
opacity: 0,
time: 900
}, 'accel');
battle.showEffect('shine', {
x: defender.x - 30,
y: defender.y - 10,
z: defender.z,
scale: 0.3,
opacity: 0.7,
time: 700
}, {
x: defender.x - 40,
y: defender.y - 20,
opacity: 0,
time: 900
}, 'accel');
battle.showEffect('shine', {
x: defender.x + 15,
y: defender.y + 10,
z: defender.z,
scale: 0.3,
opacity: 0.7,
time: 700
}, {
x: defender.x + 25,
y: defender.y + 20,
opacity: 0,
time: 1000
}, 'accel');
battle.showEffect('shine', {
x: defender.x - 15,
y: defender.y - 30,
z: defender.z,
scale: 0.3,
opacity: 0.7,
time: 800
}, {
x: defender.x - 25,
y: defender.y - 40,
opacity: 0,
time: 1100
}, 'accel');
attacker.delay(200);
attacker.anim({
x: defender.x,
y: defender.y,
z: defender.behind(5),
time: 375
}, 'accel');
attacker.anim({
x: defender.x,
y: defender.y,
z: defender.behind(20),
time: 250
}, 'decel');
attacker.anim({
time: 700
}, 'ballistic2Back');
defender.delay(600);
defender.anim({
x: defender.leftof(75),
y: defender.y + 50,
z: defender.behind(150),
opacity: 0,
time: 400
}, 'swing');
defender.delay(500);
defender.anim({
opacity: 0,
time: 1
});
defender.anim({
time: 400
});
battle.activityWait(800);
}
},
pulverizingpancake: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.backgroundEffect('linear-gradient(#421800 40%, #B8652F)', 600, 0.7, 1200);
battle.showEffect('iceball', {
x: defender.x,
y: defender.y - 60,
z: defender.z,
scale: 1,
xscale: 3,
opacity: 1,
time: 1450
}, {
scale: 2,
xscale: 12,
opacity: 0,
time: 1850
}, 'linear', 'fade');
battle.showEffect('iceball', {
x: defender.x,
y: defender.y,
z: defender.z,
opacity: 0.7,
scale: 1,
time: 1450
}, {
scale: 6,
opacity: 0,
time: 2000
}, 'linear');
battle.showEffect('wisp', {
x: defender.x,
y: defender.y + 350,
z: defender.z,
opacity: 1,
scale: 3,
yscale: 10,
time: 1450
}, {
xscale: 0,
opacity: 0.5,
time: 1800
}, 'accel', 'fade');
battle.showEffect('wisp', {
x: defender.x,
y: defender.y,
z: defender.z,
opacity: 1,
scale: 3,
time: 1450
}, {
scale: 9,
opacity: 0.7,
time: 2000
}, 'linear', 'explode');
attacker.anim({
x: defender.x,
y: defender.y + 50,
z: defender.behind(-150),
time: 400
}, 'ballistic');
attacker.anim({
x: defender.x,
y: defender.y,
z: defender.behind(-125),
time: 200
}, 'ballistic2Back');
attacker.anim({
x: defender.x,
y: defender.y - 7,
z: defender.behind(-125),
yscale: 0.7,
time: 50
}, 'ballistic2Back');
attacker.anim({
x: defender.x,
y: defender.y + 200,
z: defender.behind(-30),
time: 600
}, 'ballistic');
attacker.anim({
x: defender.leftof(-10),
y: defender.y + 5,
z: defender.behind(10),
time: 200
});
attacker.anim({
time: 500
}, 'ballistic2Back');
defender.delay(1450);
defender.anim({
y: defender.y - 10,
z: defender.behind(5),
yscale: 0.3,
time: 50
}, 'swing');
defender.anim({
y: defender.y - 20,
z: defender.behind(20),
yscale: 0.3,
time: 300
}, 'swing');
defender.anim({
time: 400
}, 'swing');
battle.activityWait(1450);
}
},
stokedsparksurfer: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.backgroundEffect('#0000DD', 1100, 0.2, 500);
battle.showEffect('electroball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 2,
opacity: 1
}, {
y: attacker.y + 120,
opacity: 0,
time: 300
}, 'accel');
battle.showEffect('electroball', {
x: defender.leftof(-200),
y: defender.y + 80,
z: defender.z,
scale: 1,
opacity: 0,
time: 700
}, {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 2,
opacity: 1,
time: 1100
}, 'accel', 'explode');
battle.showEffect('electroball', {
x: defender.x,
y: defender.y - 60,
z: defender.z,
scale: 1,
xscale: 3,
opacity: 1,
time: 1050
}, {
scale: 2,
xscale: 12,
opacity: 0,
time: 1450
}, 'linear', 'fade');
battle.showEffect('electroball', {
x: defender.x,
y: defender.y,
z: defender.z,
opacity: 0.7,
scale: 1,
time: 1050
}, {
scale: 6,
opacity: 0,
time: 1600
}, 'linear');
battle.showEffect('wisp', {
x: defender.x,
y: defender.y + 350,
z: defender.z,
opacity: 1,
scale: 3,
yscale: 10,
time: 1050
}, {
xscale: 0,
opacity: 0.5,
time: 1600
}, 'accel', 'fade');
battle.showEffect('wisp', {
x: defender.x,
y: defender.y,
z: defender.z,
opacity: 1,
scale: 3,
time: 1050
}, {
scale: 9,
time: 1600
}, 'linear', 'explode');
battle.showEffect('lightning', {
x: defender.x + 40,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 0.6,
time: 1000
}, {
scale: 6,
opacity: 0
}, 'linear');
battle.showEffect('lightning', {
x: defender.x - 40,
y: defender.y - 20,
z: defender.z,
scale: 0,
opacity: 0.6,
time: 1150
}, {
scale: 6,
opacity: 0
}, 'linear');
battle.showEffect('lightning', {
x: defender.x + 10,
y: defender.y + 20,
z: defender.z,
scale: 0,
opacity: 0.6,
time: 1300
}, {
scale: 6,
opacity: 0
}, 'linear');
attacker.anim({
y: attacker.y + 120,
opacity: 0,
time: 300
}, 'accel');
attacker.delay(100);
attacker.anim({
x: attacker.leftof(-200),
y: attacker.y + 80,
z: attacker.z,
opacity: 0,
time: 350
}, 'accel');
attacker.anim({
x: defender.leftof(-200),
y: defender.y + 80,
z: defender.z,
time: 1
}, 'linear');
attacker.anim({
x: defender.x,
y: defender.y,
z: defender.z,
opacity: 1,
time: 350
}, 'accel');
battle.showEffect('wisp', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 0.5,
time: 1000
}, {
scale: 2,
opacity: 0,
time: 1300
}, 'linear');
attacker.anim({
x: defender.leftof(100),
y: defender.y - 40,
z: defender.z,
opacity: 0,
time: 175
});
attacker.delay(700);
attacker.anim({
x: attacker.x,
y: attacker.y + 40,
z: attacker.behind(40),
time: 1
});
attacker.anim({
x: attacker.x,
y: attacker.y,
z: attacker.z,
time: 250
}, 'decel');
defender.delay(1000);
defender.anim({
z: defender.behind(20),
time: 300
}, 'swing');
defender.anim({
time: 300
}, 'swing');
}
},
catastropika: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.backgroundEffect('#0000DD', 800, 0.2, 500);
battle.showEffect(attacker.sp, {
x: attacker.x,
y: attacker.y,
z: attacker.z,
opacity: 0.3,
time: 25
}, {
x: attacker.x,
y: attacker.y + 250,
z: attacker.behind(-50),
opacity: 0,
time: 325
}, 'decel');
battle.showEffect('electroball', {
x: attacker.x,
y: attacker.y + 250,
z: attacker.behind(-50),
scale: 1,
opacity: 1,
time: 600
}, {
x: defender.leftof(-10),
y: defender.y + 5,
z: defender.behind(10),
opacity: 0.8,
time: 800
}, 'accel', 'explode');
battle.showEffect('wisp', {
x: attacker.x,
y: attacker.y + 250,
z: attacker.behind(-50),
scale: 1,
opacity: 0.5,
time: 600
}, {
x: defender.leftof(-10),
y: defender.y + 5,
z: defender.behind(10),
opacity: 0.6,
time: 800
}, 'accel', 'explode');
battle.showEffect('electroball', {
x: defender.x,
y: defender.y - 60,
z: defender.z,
scale: 1,
xscale: 3,
opacity: 1,
time: 850
}, {
scale: 2,
xscale: 12,
opacity: 0,
time: 1250
}, 'linear', 'fade');
battle.showEffect('electroball', {
x: defender.x,
y: defender.y,
z: defender.z,
opacity: 0.7,
scale: 1,
time: 850
}, {
scale: 6,
opacity: 0,
time: 1400
}, 'linear');
battle.showEffect('wisp', {
x: defender.x,
y: defender.y + 350,
z: defender.z,
opacity: 1,
scale: 3,
yscale: 10,
time: 850
}, {
xscale: 0,
opacity: 0.5,
time: 1400
}, 'accel', 'fade');
battle.showEffect('wisp', {
x: defender.x,
y: defender.y,
z: defender.z,
opacity: 1,
scale: 3,
time: 850
}, {
scale: 9,
time: 1400
}, 'linear', 'explode');
battle.showEffect('lightning', {
x: defender.x + 40,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 0.6,
time: 800
}, {
scale: 6,
opacity: 0
}, 'linear');
battle.showEffect('lightning', {
x: defender.x - 40,
y: defender.y - 20,
z: defender.z,
scale: 0,
opacity: 0.6,
time: 950
}, {
scale: 6,
opacity: 0
}, 'linear');
battle.showEffect('lightning', {
x: defender.x + 10,
y: defender.y + 20,
z: defender.z,
scale: 0,
opacity: 0.6,
time: 1100
}, {
scale: 6,
opacity: 0
}, 'linear');
attacker.anim({
x: attacker.x,
y: attacker.y + 250,
z: attacker.behind(-50),
time: 300
}, 'decel');
attacker.delay(300);
attacker.anim({
x: defender.leftof(-10),
y: defender.y + 5,
z: defender.behind(10),
opacity: 0,
time: 200
});
attacker.delay(50);
attacker.anim({
opacity: 0,
time: 1
});
attacker.delay(700);
attacker.anim({
opacity: 1,
time: 200
});
defender.delay(850);
defender.anim({
y: defender.y - 10,
z: defender.behind(5),
yscale: 0.3,
time: 50
}, 'swing');
defender.anim({
y: defender.y - 20,
z: defender.behind(20),
yscale: 0.3,
time: 300
}, 'swing');
defender.anim({
time: 400
}, 'swing');
battle.activityWait(1450);
}
},
sinisterarrowraid: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[i];
for (var i = 1; i < args.length; i++) {
defender = args[i];
defender.delay(1050);
defender.anim({
z: defender.behind(20),
time: 300
}, 'swing');
defender.anim({
time: 200
}, 'swing');
defender.anim({
x: defender.x - 5,
time: 75
}, 'swing');
defender.anim({
x: defender.x + 5,
time: 75
}, 'swing');
defender.anim({
x: defender.x - 5,
time: 75
}, 'swing');
defender.anim({
x: defender.x + 5,
time: 75
}, 'swing');
defender.anim({
x: defender.x - 5,
time: 75
}, 'swing');
defender.anim({
x: defender.x + 5,
time: 75
}, 'swing');
defender.anim({
time: 100
}, 'accel');
}
attacker.anim({
y: attacker.y + 120,
opacity: 0,
time: 300
}, 'accel');
attacker.delay(100);
attacker.anim({
x: attacker.leftof(-200),
y: attacker.y + 80,
z: attacker.z,
opacity: 0,
time: 350
}, 'accel');
attacker.anim({
x: defender.leftof(-200),
y: defender.y + 80,
z: defender.z,
time: 1
}, 'linear');
attacker.anim({
x: defender.x,
y: defender.y,
z: defender.z,
opacity: 1,
time: 350
}, 'accel');
battle.showEffect('wisp', {
x: defender.x,
y: defender.y,
z: defender.z,
scale: 0,
opacity: 0.5,
time: 1000
}, {
scale: 2,
opacity: 0,
time: 1300
}, 'linear');
attacker.anim({
x: defender.leftof(100),
y: defender.y - 40,
z: defender.z,
opacity: 0,
time: 175
});
attacker.delay(700);
attacker.anim({
x: attacker.x,
y: attacker.y + 40,
z: attacker.behind(40),
time: 1
});
attacker.anim({
x: attacker.x,
y: attacker.y,
z: attacker.z,
time: 250
}, 'decel');
battle.backgroundEffect('linear-gradient(#440044 30%, #000000', 2300, 0.4);
battle.showEffect('shadowball', {
x: defender.x - 20,
y: defender.y + 200,
z: defender.behind(5),
opacity: 0.4,
xscale: 0.1,
yscale: 5,
time: 1475
}, {
y: defender.y + 150,
opacity: 0,
time: 1775
}, 'decel');
battle.showEffect('shadowball', {
x: defender.x - 20,
y: defender.y - 50,
z: defender.behind(5),
opacity: 0.4,
xscale: 0.3,
yscale: 0.1,
time: 1490
}, {
xscale: 0.6,
yscale: 0.1,
opacity: 0,
time: 1775
}, 'linear');
battle.showEffect('shadowball', {
x: defender.x + 40,
y: defender.y + 200,
z: defender.behind(-5),
opacity: 0.4,
xscale: 0.1,
yscale: 5,
time: 1625
}, {
y: defender.y + 150,
opacity: 0,
time: 1900
}, 'decel');
battle.showEffect('shadowball', {
x: defender.x + 40,
y: defender.y - 50,
z: defender.behind(-5),
opacity: 0.4,
xscale: 0.3,
yscale: 0.1,
time: 1640
}, {
xscale: 0.6,
yscale: 0.1,
opacity: 0,
time: 1900
}, 'linear');
battle.showEffect('shadowball', {
x: defender.x - 70,
y: defender.y + 200,
z: defender.behind(-10),
opacity: 0.4,
xscale: 0.1,
yscale: 5,
time: 1675
}, {
y: defender.y + 150,
z: defender.behind(-10),
opacity: 0,
time: 1925
}, 'decel');
battle.showEffect('shadowball', {
x: defender.x - 70,
y: defender.y - 50,
z: defender.z,
opacity: 0.4,
xscale: 0.3,
yscale: 0.1,
time: 1690
}, {
xscale: 0.6,
yscale: 0.1,
opacity: 0,
time: 1925
}, 'linear');
battle.showEffect('shadowball', {
x: defender.x + 70,
y: defender.y + 200,
z: defender.behind(10),
opacity: 0.4,
xscale: 0.1,
yscale: 5,
time: 1750
}, {
y: defender.y + 150,
opacity: 0,
time: 2050
}, 'decel');
battle.showEffect('shadowball', {
x: defender.x + 70,
y: defender.y - 50,
z: defender.behind(10),
opacity: 0.4,
xscale: 0.3,
yscale: 0.1,
time: 1765
}, {
xscale: 0.6,
yscale: 0.1,
opacity: 0,
time: 2050
}, 'linear');
battle.showEffect('shadowball', {
x: defender.x,
y: defender.y + 200,
z: defender.z,
opacity: 0.4,
xscale: 0.1,
yscale: 5,
time: 1800
}, {
y: defender.y + 150,
opacity: 0,
time: 2100
}, 'decel');
battle.showEffect('shadowball', {
x: defender.x,
y: defender.y - 50,
z: defender.z,
opacity: 0.4,
xscale: 0.3,
yscale: 0.1,
time: 1820
}, {
xscale: 0.6,
yscale: 0.1,
opacity: 0,
time: 2100
}, 'linear');
battle.showEffect('shadowball', {
x: defender.x,
y: defender.y + 200,
z: defender.behind(-20),
opacity: 0.4,
xscale: 0.1,
yscale: 5,
time: 1825
}, {
y: defender.y + 150,
opacity: 0,
time: 2125
}, 'decel');
battle.showEffect('shadowball', {
x: defender.x,
y: defender.y - 35,
z: defender.behind(-20),
opacity: 0.4,
xscale: 0.3,
yscale: 0.1,
time: 1840
}, {
xscale: 0.6,
yscale: 0.1,
opacity: 0,
time: 2125
}, 'linear');
}
},
oceanicoperatta: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.backgroundEffect('linear-gradient(#000000 20%, #0000DD)', 2700, 0.4);
battle.backgroundEffect("url('fx/weather-raindance.jpg')", 700, 0.2, 2000);
battle.showEffect('iceball', {
x: attacker.x,
y: attacker.y + 120,
z: attacker.z,
scale: 2.5,
opacity: 0
}, {
scale: 3,
opacity: 1,
time: 599
}, 'linear', 'fade');
battle.showEffect('waterwisp', {
x: attacker.x,
y: attacker.y + 120,
z: attacker.z,
scale: 3,
opacity: 0
}, {
scale: 3.25,
opacity: 0.7,
time: 599
}, 'linear', 'fade');
battle.showEffect('iceball', {
x: attacker.x,
y: attacker.y + 120,
z: attacker.z,
scale: 3,
opacity: 1,
time: 600
}, {
x: defender.x,
y: defender.y + 10,
z: defender.z,
time: 2000
}, 'accel', 'explode');
battle.showEffect('waterwisp', {
x: attacker.x,
y: attacker.y + 120,
z: attacker.z,
scale: 3.25,
opacity: 0.7,
time: 600
}, {
x: defender.x,
y: defender.y + 10,
z: defender.z,
time: 2000
}, 'accel', 'explode');
}
},
extremeevoboost: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.backgroundEffect('#000000', 1000, 0.3);
var xstep = (attacker.x + 200 - attacker.x) / 5;
var ystep = (attacker.x - 200 - attacker.x) / 5;
var zstep = (defender.z - attacker.z) / 5;
for (var i = 0; i < 5; i++) {
battle.showEffect('flareball', {
x: attacker.x - 200 + xstep * (i + 1),
y: (attacker.y + 200) + ystep * (i + 1),
z: attacker.z + zstep * (i + 1),
scale: 0.6,
opacity: 0.7,
time: 40 * i + 0
}, {
opacity: 0,
time: 50 * i + 1000
}, 'linear');
}
var xstep = (attacker.x + 150 - attacker.x) / 5;
for (var i = 0; i < 5; i++) {
battle.showEffect('electroball', {
x: attacker.x - 150 + xstep * (i + 1),
y: (attacker.y + 200) + ystep * (i + 1),
z: attacker.z + zstep * (i + 1),
scale: 0.6,
opacity: 0.7,
time: 40 * i + 100
}, {
opacity: 0,
time: 50 * i + 1000
}, 'linear');
}
var xstep = (attacker.x + 100 - attacker.x) / 5;
for (var i = 0; i < 5; i++) {
battle.showEffect('waterwisp', {
x: attacker.x - 100 + xstep * (i + 1),
y: (attacker.y + 200) + ystep * (i + 1),
z: attacker.z + zstep * (i + 1),
scale: 1.2,
opacity: 1,
time: 40 * i + 200
}, {
opacity: 0,
time: 50 * i + 1000
}, 'linear');
}
var xstep = (attacker.x + 50 - attacker.x) / 5;
for (var i = 0; i < 5; i++) {
battle.showEffect('shadowball', {
x: attacker.x - 50 + xstep * (i + 1),
y: (attacker.y + 200) + ystep * (i + 1),
z: attacker.z + zstep * (i + 1),
scale: 0.6,
opacity: 0.7,
time: 40 * i + 300
}, {
opacity: 0,
time: 50 * i + 1000
}, 'linear');
}
var xstep = (attacker.x - 50 - attacker.x) / 5;
for (var i = 0; i < 5; i++) {
battle.showEffect('poisonwisp', {
x: attacker.x + 50 + xstep * (i + 1),
y: (attacker.y + 200) + ystep * (i + 1),
z: attacker.z + zstep * (i + 1),
scale: 1.2,
opacity: 1,
time: 40 * i + 400
}, {
opacity: 0,
time: 50 * i + 1000
}, 'linear');
}
var xstep = (attacker.x - 100 - attacker.x) / 5;
for (var i = 0; i < 5; i++) {
battle.showEffect('iceball', {
x: attacker.x + 100 + xstep * (i + 1),
y: (attacker.y + 200) + ystep * (i + 1),
z: attacker.z + zstep * (i + 1),
scale: 0.6,
opacity: 0.7,
time: 40 * i + 500
}, {
opacity: 0,
time: 50 * i + 1000
}, 'linear');
}
var xstep = (attacker.x - 150 - attacker.x) / 5;
for (var i = 0; i < 5; i++) {
battle.showEffect('energyball', {
x: attacker.x + 150 + xstep * (i + 1),
y: (attacker.y + 200) + ystep * (i + 1),
z: attacker.z + zstep * (i + 1),
scale: 0.6,
opacity: 0.7,
time: 40 * i + 600
}, {
opacity: 0,
time: 50 * i + 1000
}, 'linear');
}
var xstep = (attacker.x - 200 - attacker.x) / 5;
for (var i = 0; i < 5; i++) {
battle.showEffect('mistball', {
x: attacker.x + 200 + xstep * (i + 1),
y: (attacker.y + 200) + ystep * (i + 1),
z: attacker.z + zstep * (i + 1),
scale: 0.6,
opacity: 0.7,
time: 40 * i + 700
}, {
opacity: 0,
time: 50 * i + 1000
}, 'linear');
}
battle.showEffect('rainbow', {
x: attacker.x,
y: attacker.y - 5,
z: attacker.z,
scale: 0.8,
opacity: 0,
time: 0
}, {
scale: 1,
opacity: 0.6,
time: 1000
}, 'linear', 'explode');
battle.showEffect('wisp', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 2,
opacity: 0
}, {
scale: 2.5,
opacity: 0.7,
time: 1000
}, 'linear', 'explode');
}
},
guardianofalola: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.backgroundEffect('linear-gradient(#421800 40%, #B8652F)', 1700, 0.6, 300);
battle.showEffect('fist1', {
x: attacker.leftof(200),
y: defender.y + 175,
z: defender.z,
scale: 0.5,
opacity: 1,
time: 400
}, {
x: defender.x,
y: defender.y + 15,
z: defender.z,
scale: 5.5,
opacity: 0.5,
time: 799
}, 'accel', 'fade');
battle.showEffect('fist1', {
x: defender.x,
y: defender.y + 15,
z: defender.z,
scale: 5.5,
opacity: 1,
time: 800
}, {
x: defender.x,
y: defender.y - 10,
z: defender.z,
xscale: 10,
opacity: 0,
time: 1050
}, 'linear');
battle.showEffect('electroball', {
x: defender.x,
y: defender.y - 60,
z: defender.z,
scale: 1,
xscale: 3,
opacity: 1,
time: 850
}, {
scale: 2,
xscale: 12,
opacity: 0,
time: 1200
}, 'linear', 'fade');
battle.showEffect('electroball', {
x: defender.x,
y: defender.y - 60,
z: defender.z,
scale: 1,
xscale: 3,
opacity: 1,
time: 1050
}, {
scale: 2,
xscale: 12,
opacity: 0,
time: 1500
}, 'linear', 'fade');
battle.showEffect('electroball', {
x: defender.x,
y: defender.y - 60,
z: defender.z,
scale: 1,
xscale: 3,
opacity: 1,
time: 1250
}, {
scale: 2,
xscale: 12,
opacity: 0,
time: 1800
}, 'linear', 'fade');
battle.showEffect('electroball', {
x: defender.x,
y: defender.y,
z: defender.z,
opacity: 0.7,
scale: 1,
time: 850
}, {
scale: 6,
opacity: 0,
time: 2000
}, 'linear');
battle.showEffect('wisp', {
x: defender.x,
y: defender.y,
z: defender.z,
opacity: 1,
scale: 6,
time: 850
}, {
scale: 12,
opacity: 0.8,
time: 2000
}, 'linear', 'explode');
attacker.anim({
x: attacker.x,
y: attacker.y + 60,
z: attacker.behind(40),
opacity: 0,
time: 250
}, 'accel');
attacker.delay(1300);
attacker.anim({
x: attacker.x,
y: attacker.y,
z: attacker.z,
time: 250
}, 'decel');
defender.delay(750);
defender.anim({
y: defender.y - 30,
z: defender.z,
yscale: 0.5,
time: 200
}, 'swing');
defender.delay(700);
defender.anim({
time: 300
}, 'swing');
}
},
soulstealing7starstrike: {
anim: function (battle, args) {
var attacker = args[0];
var defender = args[1];
battle.backgroundEffect('linear-gradient(#043B13 55%, #3FBF99', 3600, 0.7);
battle.backgroundEffect('#ffffff', 700, 0.7, 3300);
battle.showEffect('fist', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 1,
opacity: 1,
time: 300
}, {
x: attacker.leftof(-20),
y: attacker.y,
z: attacker.behind(-40),
opacity: 0,
time: 500
}, 'decel');
battle.showEffect('fist', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 1,
opacity: 1,
time: 350
}, {
x: attacker.leftof(20),
y: attacker.y - 5,
z: attacker.behind(-40),
opacity: 0,
time: 600
}, 'decel');
battle.showEffect('fist', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 1,
opacity: 1,
time: 400
}, {
x: attacker.x,
y: attacker.y + 5,
z: attacker.behind(-40),
opacity: 0,
time: 700
}, 'decel');
battle.showEffect('iceball', {
x: defender.x - 30,
y: defender.y + 20,
z: defender.z,
scale: 0.1,
opacity: 1,
time: 250
}, {
opacity: 0,
scale: 0.5,
time: 300
}, 'linear', 'explode');
battle.showEffect('iceball', {
x: attacker.x,
y: defender.y + 30,
z: defender.z,
scale: 0,
opacity: 1,
time: 450
}, {
opacity: 0,
scale: 0.5,
time: 550
}, 'linear', 'explode');
battle.showEffect('iceball', {
x: defender.x + 30,
y: defender.y + 20,
z: defender.z,
scale: 0,
opacity: 1,
time: 650
}, {
opacity: 0,
scale: 0.5,
time: 700
}, 'linear', 'explode');
battle.showEffect('iceball', {
x: defender.x - 10,
y: attacker.y,
z: defender.z,
scale: 0,
opacity: 1,
time: 850
}, {
opacity: 0,
scale: 0.5,
time: 900
}, 'linear', 'explode');
battle.showEffect('iceball', {
x: defender.x + 10,
y: attacker.y,
z: defender.z,
scale: 0,
opacity: 1,
time: 1050
}, {
opacity: 0,
scale: 0.5,
time: 1100
}, 'linear', 'explode');
battle.showEffect('iceball', {
x: defender.x - 10,
y: defender.y - 10,
z: defender.z,
scale: 0,
opacity: 1,
time: 1250
}, {
opacity: 0,
scale: 0.5,
time: 1300
}, 'linear', 'explode');
battle.showEffect('iceball', {
x: defender.x + 10,
y: defender.y - 10,
z: defender.z,
scale: 0,
opacity: 1,
time: 1450
}, {
opacity: 0,
scale: 0.5,
time: 1500
}, 'linear', 'explode');
battle.showEffect('shine', {
x: defender.x - 30,
y: defender.y + 20,
z: defender.z,
scale: 0.1,
opacity: 0.7,
time: 300
}, {
opacity: 0.9,
scale: 0.2,
time: 2500
}, 'decel', 'explode');
battle.showEffect('shine', {
x: defender.x,
y: defender.y + 30,
z: defender.z,
scale: 0.1,
opacity: 0.7,
time: 500
}, {
opacity: 0.9,
scale: 0.2,
time: 2500
}, 'decel', 'explode');
battle.showEffect('shine', {
x: defender.x + 30,
y: defender.y + 20,
z: defender.z,
scale: 0.1,
opacity: 0.7,
time: 700
}, {
opacity: 0.9,
scale: 0.2,
time: 2500
}, 'decel', 'explode');
battle.showEffect('shine', {
x: defender.x - 10,
y: defender.y,
z: defender.z,
scale: 0.1,
opacity: 0.7,
time: 900
}, {
opacity: 0.9,
scale: 0.2,
time: 2500
}, 'decel', 'explode');
battle.showEffect('shine', {
x: defender.x + 10,
y: defender.y,
z: defender.z,
scale: 0.1,
opacity: 0.7,
time: 1100
}, {
opacity: 0.9,
scale: 0.2,
time: 2500
}, 'decel', 'explode');
battle.showEffect('shine', {
x: defender.x - 10,
y: defender.y - 10,
z: defender.z,
scale: 0.1,
opacity: 0.7,
time: 1300
}, {
opacity: 0.9,
scale: 0.2,
time: 2500
}, 'decel', 'explode');
battle.showEffect('shine', {
x: defender.x + 10,
y: defender.y - 10,
z: defender.z,
scale: 0.1,
opacity: 0.7,
time: 1500
}, {
opacity: 0.9,
scale: 0.2,
time: 2500
}, 'decel', 'explode');
battle.showEffect('zsymbol', {
x: defender.x,
y: defender.y + 10,
z: defender.z,
scale: 0.7,
opacity: 1,
time: 1600
}, {
scale: 1,
opacity: 0,
time: 2600
}, 'decel');
battle.showEffect(attacker.sp, {
x: attacker.x,
y: attacker.y,
z: attacker.z,
opacity: 0.3,
scale: 1,
time: 1920
}, {
x: attacker.x,
y: attacker.y + 250,
z: attacker.behind(-50),
opacity: 0,
time: 2320
}, 'accel');
battle.showEffect(attacker.sp, {
x: attacker.x,
y: attacker.y,
z: attacker.z,
opacity: 0.3,
scale: 1,
time: 1940
}, {
x: attacker.x,
y: attacker.y + 250,
z: attacker.behind(-50),
opacity: 0,
time: 2340
}, 'accel');
battle.showEffect(attacker.sp, {
x: attacker.x,
y: attacker.y,
z: attacker.z,
opacity: 0.3,
scale: 1,
time: 1960
}, {
x: attacker.x,
y: attacker.y + 250,
z: attacker.behind(-50),
opacity: 0,
time: 2360
}, 'accel');
battle.showEffect('shadowball', {
x: defender.x,
y: defender.y - 60,
z: defender.z,
scale: 1,
xscale: 2,
opacity: 0.5,
time: 3350
}, {
scale: 1,
xscale: 12,
opacity: 0,
time: 3750
}, 'decel', 'fade');
battle.showEffect('shadowball', {
x: defender.x,
y: defender.y - 30,
z: defender.z,
opacity: 0.4,
scale: 0.5,
time: 3350
}, {
scale: 3,
opacity: 0,
time: 3900
}, 'decel');
battle.showEffect('poisonwisp', {
x: defender.x,
y: defender.y + 350,
z: defender.z,
opacity: 1,
scale: 5,
yscale: 13,
time: 3350
}, {
opacity: 0.5,
xscale: 0,
time: 4200
}, 'accel', 'fade');
battle.showEffect('poisonwisp', {
x: defender.x,
y: defender.y - 30,
z: defender.z,
opacity: 1,
scale: 2,
time: 3350
}, {
opacity: 0.5,
scale: 6,
time: 4200
}, 'decel', 'explode');
attacker.anim({
z: attacker.behind(15),
time: 200
}, 'decel');
attacker.anim({
z: defender.behind(-175),
time: 300
}, 'accel');
attacker.anim({
z: attacker.z,
time: 400
}, 'swing');
attacker.delay(1100);
attacker.anim({
x: attacker.x,
y: attacker.y + 250,
z: attacker.behind(-50),
time: 300
}, 'decel');
attacker.delay(300);
attacker.anim({
x: defender.leftof(-10),
y: defender.y,
z: defender.behind(-10),
opacity: 1,
time: 300
}, 'linear', 'fade');
attacker.anim({
x: defender.leftof(-10),
y: defender.y,
z: defender.behind(-10),
opacity: 0,
time: 0
}, 'linear');
attacker.delay(600);
attacker.anim({
x: attacker.x,
y: attacker.y,
z: attacker.behind(70),
opacity: 0,
time: 1
}, 'linear');
attacker.delay(600);
attacker.anim({
opacity: 1,
time: 500
}, 'decel');
defender.delay(400);
defender.anim({
z: defender.behind(5),
time: 75
}, 'swing');
defender.anim({
time: 75
}, 'swing');
defender.anim({
z: defender.behind(5),
time: 75
}, 'swing');
defender.anim({
time: 75
}, 'swing');
defender.anim({
z: defender.behind(5),
time: 75
}, 'swing');
defender.anim({
time: 75
}, 'swing');
defender.anim({
z: defender.behind(5),
time: 75
}, 'swing');
defender.anim({
time: 75
}, 'swing');
defender.anim({
z: defender.behind(5),
time: 75
}, 'swing');
defender.anim({
time: 75
}, 'swing');
defender.delay(2275);
defender.anim({
z: defender.behind(5),
opacity: 0,
time: 75
}, 'swing');
defender.delay(600);
defender.anim({
time: 150
}, 'swing');
}
},
};
// placeholder animations
BattleMoveAnims['torment'] = {anim:BattleMoveAnims['swagger'].anim};
BattleMoveAnims['mefirst'] = {anim:BattleMoveAnims['mimic'].anim};
BattleMoveAnims['conversion2'] = {anim:BattleMoveAnims['conversion'].anim};
BattleMoveAnims['gearup'] = {anim:BattleMoveAnims['shiftgear'].anim};
BattleMoveAnims['honeclaws'] = {anim:BattleMoveAnims['rockpolish'].anim};
BattleMoveAnims['workup'] = {anim:BattleMoveAnims['bulkup'].anim};
BattleMoveAnims['heatcrash'] = {anim:BattleMoveAnims['flareblitz'].anim};
BattleMoveAnims['darkestlariat'] = {anim:BattleMoveAnims['flareblitz'].anim};
BattleMoveAnims['flameburst'] = {anim:BattleMoveAnims['shelltrap'].anim};
BattleMoveAnims['searingshot'] = {anim:BattleMoveAnims['shelltrap'].anim};
BattleMoveAnims['fierydance'] = {anim:BattleMoveAnims['magmastorm'].anim};
BattleMoveAnims['inferno'] = {anim:BattleMoveAnims['magmastorm'].anim};
BattleMoveAnims['mysticalfire'] = {anim:BattleMoveAnims['flamethrower'].anim};
BattleMoveAnims['firepledge'] = {anim:BattleMoveAnims['flamethrower'].anim};
BattleMoveAnims['ember'] = {anim:BattleMoveAnims['flamethrower'].anim};
BattleMoveAnims['incinerate'] = {anim:BattleMoveAnims['flamethrower'].anim};
BattleMoveAnims['flamewheel'] = {anim:BattleMoveAnims['flamecharge'].anim};
BattleMoveAnims['razorleaf'] = {anim:BattleMoveAnims['magicalleaf'].anim};
BattleMoveAnims['grasspledge'] = {anim:BattleMoveAnims['magicalleaf'].anim};
BattleMoveAnims['sleeppowder'] = {anim:BattleMoveAnims['spore'].anim};
BattleMoveAnims['poisonpowder'] = {anim:BattleMoveAnims['spore'].anim};
BattleMoveAnims['stunspore'] = {anim:BattleMoveAnims['spore'].anim};
BattleMoveAnims['powder'] = {anim:BattleMoveAnims['spore'].anim};
BattleMoveAnims['cottonspore'] = {anim:BattleMoveAnims['spore'].anim};
BattleMoveAnims['vinewhip'] = {anim:BattleMoveAnims['powerwhip'].anim};
BattleMoveAnims['bubble'] = {anim:BattleMoveAnims['bubblebeam'].anim};
BattleMoveAnims['sparklingaria'] = {anim:BattleMoveAnims['bubblebeam'].anim};
BattleMoveAnims['watergun'] = {anim:BattleMoveAnims['watersport'].anim};
BattleMoveAnims['whirlpool'] = {anim:BattleMoveAnims['watersport'].anim};
BattleMoveAnims['waterfall'] = {anim:BattleMoveAnims['aquajet'].anim};
BattleMoveAnims['aquatail'] = {anim:BattleMoveAnims['crabhammer'].anim};
BattleMoveAnims['liquidation'] = {anim:BattleMoveAnims['crabhammer'].anim};
BattleMoveAnims['magikarpsrevenge'] = {anim:BattleMoveAnims['outrage'].anim};
BattleMoveAnims['electrify'] = {anim:BattleMoveAnims['thunderwave'].anim};
BattleMoveAnims['volttackle'] = {anim:BattleMoveAnims['wildcharge'].anim};
BattleMoveAnims['zingzap'] = {anim:BattleMoveAnims['wildcharge'].anim};
BattleMoveAnims['nuzzle'] = {anim:BattleMoveAnims['spark'].anim};
BattleMoveAnims['thundershock'] = {anim:BattleMoveAnims['electroball'].anim};
BattleMoveAnims['glaciate'] = {anim:BattleMoveAnims['freezedry'].anim};
BattleMoveAnims['frostbreath'] = {anim:BattleMoveAnims['freezedry'].anim};
BattleMoveAnims['aurorabeam'] = {anim:BattleMoveAnims['icebeam'].anim};
BattleMoveAnims['powdersnow'] = {anim:BattleMoveAnims['icywind'].anim};
BattleMoveAnims['pinmissile'] = {anim:BattleMoveAnims['bulletseed'].anim, multihit: true};
BattleMoveAnims['attackorder'] = {anim:BattleMoveAnims['bulletseed'].anim};
BattleMoveAnims['fellstinger'] = {anim:BattleMoveAnims['bulletseed'].anim};
BattleMoveAnims['strugglebug'] = {anim:BattleMoveAnims['bulletseed'].anim};
BattleMoveAnims['infestation'] = {anim:BattleMoveAnims['bulletseed'].anim};
BattleMoveAnims['nightdaze'] = {anim:BattleMoveAnims['darkpulse'].anim};
BattleMoveAnims['strengthsap'] = {anim:BattleMoveAnims['leechlife'].anim};
BattleMoveAnims['hornattack'] = {anim:BattleMoveAnims['megahorn'].anim};
BattleMoveAnims['lunge'] = {anim:BattleMoveAnims['megahorn'].anim};
BattleMoveAnims['constrict'] = {anim:BattleMoveAnims['bind'].anim};
BattleMoveAnims['wrap'] = {anim:BattleMoveAnims['bind'].anim};
BattleMoveAnims['lowsweep'] = {anim:BattleMoveAnims['lowkick'].anim};
BattleMoveAnims['megakick'] = {anim:BattleMoveAnims['jumpkick'].anim};
BattleMoveAnims['frustration'] = {anim:BattleMoveAnims['thrash'].anim};
BattleMoveAnims['rage'] = {anim:BattleMoveAnims['thrash'].anim};
BattleMoveAnims['headsmash'] = {anim:BattleMoveAnims['gigaimpact'].anim};
BattleMoveAnims['headcharge'] = {anim:BattleMoveAnims['gigaimpact'].anim};
BattleMoveAnims['takedown'] = {anim:BattleMoveAnims['gigaimpact'].anim};
BattleMoveAnims['dragonrush'] = {anim:BattleMoveAnims['gigaimpact'].anim};
BattleMoveAnims['lastresort'] = {anim:BattleMoveAnims['gigaimpact'].anim};
BattleMoveAnims['horndrill'] = {anim:BattleMoveAnims['gigaimpact'].anim};
BattleMoveAnims['trumpcard'] = {anim:BattleMoveAnims['gigaimpact'].anim};
BattleMoveAnims['doubleedge'] = {anim:BattleMoveAnims['gigaimpact'].anim};
BattleMoveAnims['paleowave'] = {anim:BattleMoveAnims['muddywater'].anim};
BattleMoveAnims['rocktomb'] = {anim:BattleMoveAnims['rockslide'].anim};
BattleMoveAnims['frenzyplant'] = {anim:BattleMoveAnims['leafstorm'].anim};
BattleMoveAnims['hydrocannon'] = {anim:BattleMoveAnims['hydropump'].anim};
BattleMoveAnims['guardsplit'] = {anim:BattleMoveAnims['skillswap'].anim};
BattleMoveAnims['powersplit'] = {anim:BattleMoveAnims['skillswap'].anim};
BattleMoveAnims['guardswap'] = {anim:BattleMoveAnims['skillswap'].anim};
BattleMoveAnims['heartswap'] = {anim:BattleMoveAnims['skillswap'].anim};
BattleMoveAnims['powerswap'] = {anim:BattleMoveAnims['skillswap'].anim};
BattleMoveAnims['speedswap'] = {anim:BattleMoveAnims['skillswap'].anim};
BattleMoveAnims['psychoshift'] = {anim:BattleMoveAnims['painsplit'].anim};
BattleMoveAnims['helpinghand'] = {anim:BattleMoveAnims['painsplit'].anim};
BattleMoveAnims['entrainment'] = {anim:BattleMoveAnims['painsplit'].anim};
BattleMoveAnims['roleplay'] = {anim:BattleMoveAnims['painsplit'].anim};
BattleMoveAnims['psychup'] = {anim:BattleMoveAnims['painsplit'].anim};
BattleMoveAnims['holdhands'] = {anim:BattleMoveAnims['painsplit'].anim};
BattleMoveAnims['lunardance'] = {anim:BattleMoveAnims['wish'].anim};
BattleMoveAnims['brickbreak'] = {anim:BattleMoveAnims['karatechop'].anim};
BattleMoveAnims['wringout'] = {anim:BattleMoveAnims['forcepalm'].anim};
BattleMoveAnims['stormthrow'] = {anim:BattleMoveAnims['circlethrow'].anim};
BattleMoveAnims['vitalthrow'] = {anim:BattleMoveAnims['circlethrow'].anim};
BattleMoveAnims['doubleslap'] = {anim:BattleMoveAnims['wakeupslap'].anim};
BattleMoveAnims['crushgrip'] = {anim:BattleMoveAnims['quash'].anim};
BattleMoveAnims['beatup'] = {anim:BattleMoveAnims['slam'].anim};
BattleMoveAnims['counter'] = {anim:BattleMoveAnims['slam'].anim};
BattleMoveAnims['payback'] = {anim:BattleMoveAnims['slam'].anim};
BattleMoveAnims['revenge'] = {anim:BattleMoveAnims['slam'].anim};
BattleMoveAnims['rockclimb'] = {anim:BattleMoveAnims['slam'].anim};
BattleMoveAnims['tackle'] = {anim:BattleMoveAnims['slam'].anim};
BattleMoveAnims['dragonhammer'] = {anim:BattleMoveAnims['heavyslam'].anim};
BattleMoveAnims['highhorsepower'] = {anim:BattleMoveAnims['stomp'].anim};
BattleMoveAnims['retaliate'] = {anim:BattleMoveAnims['closecombat'].anim};
BattleMoveAnims['superpower'] = {anim:BattleMoveAnims['closecombat'].anim};
BattleMoveAnims['submission'] = {anim:BattleMoveAnims['closecombat'].anim};
BattleMoveAnims['bonerush'] = {anim:BattleMoveAnims['boneclub'].anim, multihit:true};
BattleMoveAnims['dragonrage'] = {anim:BattleMoveAnims['dragonbreath'].anim};
BattleMoveAnims['silverwind'] = {anim:BattleMoveAnims['whirlwind'].anim};
BattleMoveAnims['gust'] = {anim:BattleMoveAnims['whirlwind'].anim};
BattleMoveAnims['twister'] = {anim:BattleMoveAnims['whirlwind'].anim};
BattleMoveAnims['razorwind'].anim = BattleMoveAnims['airslash'].anim;
BattleMoveAnims['chatter'] = {anim:BattleMoveAnims['hypervoice'].anim};
BattleMoveAnims['echoedvoice'] = {anim:BattleMoveAnims['hypervoice'].anim};
BattleMoveAnims['relicsong'] = {anim:BattleMoveAnims['hypervoice'].anim};
BattleMoveAnims['uproar'] = {anim:BattleMoveAnims['hypervoice'].anim};
BattleMoveAnims['destinybond'] = {anim:BattleMoveAnims['painsplit'].anim};
BattleMoveAnims['reflecttype'] = {anim:BattleMoveAnims['painsplit'].anim};
BattleMoveAnims['selfdestruct'] = {anim:BattleMoveAnims['explosion'].anim};
BattleMoveAnims['acid'] = {anim:BattleMoveAnims['sludge'].anim};
BattleMoveAnims['acidspray'] = {anim:BattleMoveAnims['sludge'].anim};
BattleMoveAnims['belch'] = {anim:BattleMoveAnims['gunkshot'].anim};
BattleMoveAnims['venoshock'] = {anim:BattleMoveAnims['sludgebomb'].anim};
BattleMoveAnims['venomdrench'] = {anim:BattleMoveAnims['sludge'].anim};
BattleMoveAnims['poisonsting'] = {anim:BattleMoveAnims['poisonjab'].anim};
BattleMoveAnims['poisontail'] = {anim:BattleMoveAnims['poisonjab'].anim};
BattleMoveAnims['gastroacid'] = {anim:BattleMoveAnims['toxic'].anim};
BattleMoveAnims['magnitude'] = {anim:BattleMoveAnims['earthquake'].anim};
BattleMoveAnims['fissure'] = {anim:BattleMoveAnims['earthquake'].anim};
BattleMoveAnims['bulldoze'] = {anim:BattleMoveAnims['earthquake'].anim};
BattleMoveAnims['landswrath'] = {anim:BattleMoveAnims['earthquake'].anim};
BattleMoveAnims['stompingtantrum'] = {anim:BattleMoveAnims['earthquake'].anim};
BattleMoveAnims['camouflage'] = {anim:BattleMoveAnims['tailglow'].anim};
BattleMoveAnims['telekinesis'] = {anim:BattleMoveAnims['kinesis'].anim};
BattleMoveAnims['foulplay'] = {anim:BattleMoveAnims['psyshock'].anim};
BattleMoveAnims['psywave'] = {anim:BattleMoveAnims['psybeam'].anim};
BattleMoveAnims['extrasensory'] = {anim:BattleMoveAnims['psychic'].anim};
BattleMoveAnims['confusion'] = {anim:BattleMoveAnims['psychic'].anim};
BattleMoveAnims['miracleeye'] = {anim:BattleMoveAnims['mindreader'].anim};
BattleMoveAnims['futuresight'] = {anim:BattleMoveAnims['doomdesire'].anim};
BattleMoveAnims['glare'] = {anim:BattleMoveAnims['meanlook'].anim};
BattleMoveAnims['grudge'] = {anim:BattleMoveAnims['meanlook'].anim};
BattleMoveAnims['scaryface'] = {anim:BattleMoveAnims['meanlook'].anim};
BattleMoveAnims['disable'] = {anim:BattleMoveAnims['meanlook'].anim};
BattleMoveAnims['laserfocus'] = {anim:BattleMoveAnims['meanlook'].anim};
BattleMoveAnims['nightmare'] = {anim:BattleMoveAnims['nightshade'].anim};
BattleMoveAnims['captivate'] = {anim:BattleMoveAnims['attract'].anim};
BattleMoveAnims['charm'] = {anim:BattleMoveAnims['attract'].anim};
BattleMoveAnims['flatter'] = {anim:BattleMoveAnims['attract'].anim};
BattleMoveAnims['armthrust'] = {anim:BattleMoveAnims['smellingsalts'].anim, multhit:true};
BattleMoveAnims['phantomforce'] = {anim:BattleMoveAnims['shadowforce'].anim, prepareAnim:BattleMoveAnims['shadowforce'].prepareAnim, prepareMessage:BattleMoveAnims['shadowforce'].prepareMessage};
BattleMoveAnims['shadowstrike'] = {anim:BattleMoveAnims['shadowforce'].anim};
BattleMoveAnims['smackdown'] = {anim:BattleMoveAnims['rockblast'].anim};
BattleMoveAnims['fairywind'] = {anim:BattleMoveAnims['dazzlinggleam'].anim};
BattleMoveAnims['dreameater'] = {anim:BattleMoveAnims['drainingkiss'].anim};
BattleMoveAnims['sweetkiss'] = {anim:BattleMoveAnims['lovelykiss'].anim};
BattleMoveAnims['mirrorshot'] = {anim:BattleMoveAnims['flashcannon'].anim};
BattleMoveAnims['mirrorcoat'] = {anim:BattleMoveAnims['flashcannon'].anim};
BattleMoveAnims['metalburst'] = {anim:BattleMoveAnims['flashcannon'].anim};
BattleMoveAnims['mudslap'] = {anim:BattleMoveAnims['mudshot'].anim};
BattleMoveAnims['sandattack'] = {anim:BattleMoveAnims['mudshot'].anim};
BattleMoveAnims['mudsport'] = {anim:BattleMoveAnims['mudbomb'].anim};
BattleMoveAnims['spiderweb'] = {anim:BattleMoveAnims['electroweb'].anim};
BattleMoveAnims['stringshot'] = {anim:BattleMoveAnims['electroweb'].anim};
BattleMoveAnims['toxicthread'] = {anim:BattleMoveAnims['electroweb'].anim};
BattleMoveAnims['hyperfang'] = {anim:BattleMoveAnims['superfang'].anim};
BattleMoveAnims['barrage'] = {anim:BattleMoveAnims['magnetbomb'].anim, multihit:true};
BattleMoveAnims['eggbomb'] = {anim:BattleMoveAnims['magnetbomb'].anim};
BattleMoveAnims['smokescreen'] = {anim:BattleMoveAnims['magnetbomb'].anim};
BattleMoveAnims['spitup'] = {anim:BattleMoveAnims['magnetbomb'].anim};
BattleMoveAnims['rollingkick'] = {anim:BattleMoveAnims['doublekick'].anim};
BattleMoveAnims['triplekick'] = {anim:BattleMoveAnims['doublekick'].anim};
BattleMoveAnims['aromaticmist'] = {anim:BattleMoveAnims['mistyterrain'].anim};
BattleMoveAnims['sweetscent'] = {anim:BattleMoveAnims['mistyterrain'].anim};
BattleMoveAnims['psychicterrain'] = {anim:BattleMoveAnims['mistyterrain'].anim};
BattleMoveAnims['iondeluge'] = {anim:BattleMoveAnims['electricterrain'].anim};
BattleMoveAnims['magneticflux'] = {anim:BattleMoveAnims['electricterrain'].anim};
BattleMoveAnims['rototiller'] = {anim:BattleMoveAnims['electricterrain'].anim};
BattleMoveAnims['flowershield'] = {anim:BattleMoveAnims['grassyterrain'].anim};
BattleMoveAnims['imprison'] = {anim:BattleMoveAnims['embargo'].anim};
BattleMoveAnims['healorder'] = {anim:BattleMoveAnims['recover'].anim};
BattleMoveAnims['synthesis'] = {anim:BattleMoveAnims['recover'].anim};
BattleMoveAnims['floralhealing'] = {anim:BattleMoveAnims['healpulse'].anim};
BattleMoveAnims['purify'] = {anim:BattleMoveAnims['weatherball'].anim};
BattleMoveAnims['pollenpuff'] = {anim:BattleMoveAnims['revelationdance'].anim};
BattleMoveAnims['amnesia'] = {anim:BattleMoveAnims['rest'].anim};
BattleMoveAnims['secretpower'] = {anim:BattleMoveAnims['technoblast'].anim};
BattleMoveAnims['naturalgift'] = {anim:BattleMoveAnims['technoblast'].anim};
BattleMoveAnims['firelash'] = {anim:BattleMoveAnims['multiattack'].anim};
BattleMoveAnims['fleurcannon'] = {anim:BattleMoveAnims['diamondstorm'].anim};
BattleMoveAnims['bloomdoom'] = {anim:BattleMoveAnims['petaldance'].anim};
BattleMoveAnims['hydrovortex'] = {anim:BattleMoveAnims['originpulse'].anim};
BattleMoveAnims['breakneckblitz'] = {anim:BattleMoveAnims['gigaimpact'].anim};
BattleMoveAnims['aciddownpour'] = {anim:BattleMoveAnims['gunkshot'].anim};
BattleMoveAnims['savagespinout'] = {anim:BattleMoveAnims['electroweb'].anim};
BattleMoveAnims['maliciousmoonsault'] = {anim:BattleMoveAnims['pulverizingpancake'].anim};
BattleMoveAnims['devastatingdrake'] = {anim:BattleMoveAnims['dragonpulse'].anim};
BattleMoveAnims['tectonicrage'] = {anim:BattleMoveAnims['precipiceblades'].anim};
BattleMoveAnims['subzeroslammer'] = {anim:BattleMoveAnims['sheercold'].anim};
BattleMoveAnims['shatteredpsyche'] = {anim:BattleMoveAnims['psychic'].anim};
BattleMoveAnims['maximumpsybreaker'] = {anim:BattleMoveAnims['psychic'].anim};
BattleMoveAnims['genesissupernova'] = {anim:BattleMoveAnims['psychoboost'].anim};
BattleMoveAnims['10000000voltthunderbolt'] = {anim:BattleMoveAnims['triattack'].anim};