Update move animations, round 13 (#762)

This commit is contained in:
Ridaz 2016-08-26 15:42:36 +01:00 committed by Guangcong Luo
parent 3d92d0fcaf
commit b4536dc69d
2 changed files with 355 additions and 10 deletions

View File

@ -194,6 +194,10 @@ var BattleEffects = {
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
},
alpha: {
url: 'alpha.png', // Ripped from Pokemon Global Link
w: 80, h: 80
@ -2043,6 +2047,58 @@ var BattleOtherAnims = {
}, 'linear', 'fade');
}
},
zmove: {
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');
battle.showEffect('electroball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 1.5,
opacity: 0.2,
}, {
scale: 2,
opacity: .1,
time: 400
}, 'linear', 'fade');
battle.showEffect('electroball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 1.5,
opacity: 0.2,
time: 200
}, {
scale: 2,
opacity: .1,
time: 600
}, 'linear', 'fade');
}
},
powerconstruct: {
anim: function (battle, args) {
var attacker = args[0];
@ -2801,7 +2857,40 @@ var BattleMoveAnims = {
}
},
agility: {
anim: BattleOtherAnims.shake.anim
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) {
@ -4588,11 +4677,73 @@ var BattleMoveAnims = {
}, 'decel');
}
},
workup: {
anim: BattleOtherAnims.selfstatus.anim
},
shellsmash: {
anim: BattleOtherAnims.selfstatus.anim
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
@ -4607,7 +4758,62 @@ var BattleMoveAnims = {
anim: BattleOtherAnims.selfstatus.anim
},
coil: {
anim: BattleOtherAnims.selfstatus.anim
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: BattleOtherAnims.selfstatus.anim
@ -4674,7 +4880,30 @@ var BattleMoveAnims = {
anim: BattleOtherAnims.selfstatus.anim
},
withdraw: {
anim: BattleOtherAnims.selfstatus.anim
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) {
@ -6453,6 +6682,77 @@ var BattleMoveAnims = {
}, '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');
}
},
jumpkick: {
anim: function (battle, args) {
var attacker = args[0];
@ -8214,7 +8514,7 @@ var BattleMoveAnims = {
opacity: 0.8,
time: 400
}, {
y: defender.y,
y: defender.y - 10,
z: defender.z,
scale: 1,
opacity: 1,
@ -12518,6 +12818,52 @@ var BattleMoveAnims = {
},
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];
@ -22090,6 +22436,7 @@ BattleMoveAnims['mefirst'] = {anim:BattleMoveAnims['mimic'].anim};
BattleMoveAnims['autotomize'] = {anim:BattleMoveAnims['rockpolish'].anim};
BattleMoveAnims['honeclaws'] = {anim:BattleMoveAnims['rockpolish'].anim};
BattleMoveAnims['workup'] = {anim:BattleMoveAnims['bulkup'].anim};
BattleMoveAnims['heatcrash'] = {anim:BattleMoveAnims['flareblitz'].anim};
BattleMoveAnims['searingshot'] = {anim:BattleMoveAnims['flamethrower'].anim};
@ -22122,7 +22469,6 @@ BattleMoveAnims['watergun'] = {anim:BattleMoveAnims['watersport'].anim};
BattleMoveAnims['whirlpool'] = {anim:BattleMoveAnims['watersport'].anim};
BattleMoveAnims['waterfall'] = {anim:BattleMoveAnims['aquajet'].anim};
BattleMoveAnims['razorshell'] = {anim:BattleMoveAnims['crabhammer'].anim};
BattleMoveAnims['aquatail'] = {anim:BattleMoveAnims['crabhammer'].anim};
BattleMoveAnims['magikarpsrevenge'] = {anim:BattleMoveAnims['outrage'].anim};
@ -22151,7 +22497,6 @@ BattleMoveAnims['hornattack'] = {anim:BattleMoveAnims['megahorn'].anim};
BattleMoveAnims['lowsweep'] = {anim:BattleMoveAnims['lowkick'].anim};
BattleMoveAnims['megakick'] = {anim:BattleMoveAnims['jumpkick'].anim};
BattleMoveAnims['stomp'] = {anim:BattleMoveAnims['jumpkick'].anim};
BattleMoveAnims['frustration'] = {anim:BattleMoveAnims['thrash'].anim};
BattleMoveAnims['rage'] = {anim:BattleMoveAnims['thrash'].anim};
BattleMoveAnims['headsmash'] = {anim:BattleMoveAnims['gigaimpact'].anim};

BIN
fx/shell.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB