Skip to content

Commit

Permalink
Modify animation for Stomping Tantrum, add one for Temper Flare (#2274)
Browse files Browse the repository at this point in the history
* Add Temper Flare anim

* Modify animations for Stomping Tantrum and Temper Flare

* Satisfy linter, move smoke after fireballs

* Fix linter again
  • Loading branch information
shrianshChari authored Aug 8, 2024
1 parent 3410986 commit 2071d20
Showing 1 changed file with 295 additions and 1 deletion.
296 changes: 295 additions & 1 deletion play.pokemonshowdown.com/src/battle-animations-moves.ts
Original file line number Diff line number Diff line change
Expand Up @@ -35885,6 +35885,301 @@ export const BattleMoveAnims: AnimTable = {
BattleOtherAnims.contactattack.anim(scene, [attacker, defender]);
},
},
stompingtantrum: {
anim(scene, [attacker, defender]) {
BattleOtherAnims.anger.anim(scene, [attacker, defender]);

attacker.anim({
y: attacker.y + 20,
time: 175,
}, 'swing');
attacker.anim({
y: attacker.y,
time: 125,
}, 'accel');
attacker.anim({
y: attacker.y + 40,
time: 175,
}, 'swing');
attacker.anim({
y: attacker.y,
time: 75,
}, 'accel');

let xf = [1, -1, 1, -1];
let yf = [1, -1, -1, 1];
let xf2 = [1, 0, -1, 0];
let yf2 = [0, 1, 0, -1];

scene.backgroundEffect('#000000', 1000, 0.3);
for (let i = 0; i < 4; i++) {
scene.showEffect('flareball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.3,
opacity: 0.8,
time: 500,
}, {
x: attacker.x + 120 * xf[i],
y: attacker.y,
z: attacker.z + 68 * yf[i],
scale: 0.5,
opacity: 0,
time: 800,
}, 'decel', 'fade', {filter: 'hue-rotate(-15deg) brightness(0.5) saturate(0.7)'});
scene.showEffect('flareball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.3,
opacity: 0.8,
time: 500,
}, {
x: attacker.x + 113 * xf2[i],
y: attacker.y + 5,
z: attacker.z + 97 * yf2[i],
scale: 0.5,
opacity: 0,
time: 800,
}, 'decel', 'fade', {filter: 'hue-rotate(-15deg) brightness(0.5) saturate(0.7)'});
}

defender.delay(500);

scene.showEffect('rock1', {
x: defender.x,
y: defender.y - 5,
z: defender.z,
scale: 0.2,
opacity: 1,
time: 800,
}, {
x: defender.x,
y: defender.y + 20,
z: defender.z,
scale: 0.4,
opacity: 0,
time: 1100,
}, 'ballistic', 'fade');

scene.showEffect('rock2', {
x: defender.x + 20,
y: defender.y - 5,
z: defender.z,
scale: 0.2,
opacity: 1,
time: 800,
}, {
x: defender.x + 80,
y: defender.y + 20,
z: defender.z,
scale: 0.4,
opacity: 0,
time: 1100,
}, 'ballistic', 'fade');

scene.showEffect('rock3', {
x: defender.x - 20,
y: defender.y - 5,
z: defender.z,
scale: 0.2,
opacity: 1,
time: 800,
}, {
x: defender.x - 80,
y: defender.y + 20,
z: defender.z,
scale: 0.4,
opacity: 0,
time: 1100,
}, 'ballistic', 'fade');

scene.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(-5),
time: 850,
}, 'accel', 'fade');
scene.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(-5),
time: 900,
}, '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');
},
},
temperflare: {
anim(scene, [attacker, defender]) {
BattleOtherAnims.anger.anim(scene, [attacker, defender]);

attacker.anim({
y: attacker.y + 20,
time: 175,
}, 'swing');
attacker.anim({
y: attacker.y,
time: 125,
}, 'accel');
attacker.anim({
y: attacker.y + 40,
time: 175,
}, 'swing');
attacker.anim({
y: attacker.y,
time: 75,
}, 'accel');
defender.delay(500);

let xf = [1, -1, 1, -1];
let yf = [1, -1, -1, 1];
let xf2 = [1, 0, -1, 0];
let yf2 = [0, 1, 0, -1];

scene.backgroundEffect('linear-gradient(#390000 30%, #B84038)', 1000, 0.3);
for (let i = 0; i < 4; i++) {
scene.showEffect('flareball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.3,
opacity: 0.8,
time: 500,
}, {
x: attacker.x + 120 * xf[i],
y: attacker.y,
z: attacker.z + 68 * yf[i],
scale: 0.5,
opacity: 0,
time: 800,
}, 'decel', 'fade', {filter: 'hue-rotate(-15deg)'});
scene.showEffect('flareball', {
x: attacker.x,
y: attacker.y,
z: attacker.z,
scale: 0.3,
opacity: 0.8,
time: 500,
}, {
x: attacker.x + 113 * xf2[i],
y: attacker.y + 5,
z: attacker.z + 97 * yf2[i],
scale: 0.5,
opacity: 0,
time: 800,
}, 'decel', 'fade', {filter: 'hue-rotate(-15deg)'});
scene.showEffect('blackwisp', {
x: attacker.x + 120 * xf[i],
y: attacker.y,
z: attacker.z + 68 * yf[i],
scale: 0.5,
opacity: 0.5,
time: 650,
}, {
x: attacker.x + 120 * xf[i],
y: attacker.y + 30,
z: attacker.z + 68 * yf[i],
scale: 0.5,
opacity: 0,
time: 950,
}, 'decel', 'explode');
}

scene.showEffect('fireball', {
x: defender.x + 20,
y: defender.y - 5,
z: defender.z,
scale: 0.4,
opacity: 1,
time: 800,
}, {
x: defender.x + 80,
y: defender.y + 20,
z: defender.z,
scale: 0.8,
opacity: 0,
time: 1100,
}, 'ballistic', 'fade');

scene.showEffect('fireball', {
x: defender.x,
y: defender.y - 5,
z: defender.z,
scale: 0.4,
opacity: 1,
time: 800,
}, {
x: defender.x,
y: defender.y + 20,
z: defender.z,
scale: 0.8,
opacity: 0,
time: 1100,
}, 'ballistic', 'fade');

scene.showEffect('fireball', {
x: defender.x - 20,
y: defender.y - 5,
z: defender.z,
scale: 0.4,
opacity: 1,
time: 800,
}, {
x: defender.x - 80,
y: defender.y + 20,
z: defender.z,
scale: 0.8,
opacity: 0,
time: 1100,
}, 'ballistic', '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');
},
},
};

// placeholder animations
Expand Down Expand Up @@ -36043,7 +36338,6 @@ BattleMoveAnims['gastroacid'] = {anim: BattleMoveAnims['toxic'].anim};
BattleMoveAnims['magnitude'] = {anim: BattleMoveAnims['earthquake'].anim};
BattleMoveAnims['fissure'] = {anim: BattleMoveAnims['earthquake'].anim};
BattleMoveAnims['landswrath'] = {anim: BattleMoveAnims['earthquake'].anim};
BattleMoveAnims['stompingtantrum'] = {anim: BattleMoveAnims['bulldoze'].anim};

BattleMoveAnims['mindblown'] = {anim: BattleMoveAnims['iceball'].anim};

Expand Down

0 comments on commit 2071d20

Please sign in to comment.