Add LL-specific exit poses for Lexy and Cerise

This commit is contained in:
Eevee (Evelyn Woods) 2020-12-09 20:22:35 -07:00
parent 5f804dde14
commit 235cc79e8b
3 changed files with 15 additions and 1 deletions

View File

@ -1531,6 +1531,7 @@ export class Level {
win() { win() {
this.sfx.play_once('win'); this.sfx.play_once('win');
this.state = 'success'; this.state = 'success';
this._set_tile_prop(this.player, 'exited', true);
throw new GameEnded; throw new GameEnded;
} }

View File

@ -454,6 +454,7 @@ export const CC2_TILESET_LAYOUT = {
south: [2, 23], south: [2, 23],
west: [10, 23], west: [10, 23],
}, },
exited: 'normal',
// These are frames from the splash/explosion animations // These are frames from the splash/explosion animations
drowned: [5, 5], drowned: [5, 5],
slimed: [5, 5], slimed: [5, 5],
@ -577,6 +578,7 @@ export const CC2_TILESET_LAYOUT = {
south: [2, 28], south: [2, 28],
west: [10, 28], west: [10, 28],
}, },
exited: 'normal',
// These are frames from the splash/explosion animations // These are frames from the splash/explosion animations
drowned: [5, 5], drowned: [5, 5],
slimed: [5, 5], slimed: [5, 5],
@ -817,6 +819,7 @@ export const LL_TILESET_LAYOUT = Object.assign({}, CC2_TILESET_LAYOUT, {
west: [3, 33], west: [3, 33],
}, },
forced: 'skating', forced: 'skating',
exited: [14, 32],
burned: { burned: {
north: [4, 33], north: [4, 33],
east: [5, 33], east: [5, 33],
@ -825,8 +828,15 @@ export const LL_TILESET_LAYOUT = Object.assign({}, CC2_TILESET_LAYOUT, {
}, },
slimed: [1, 38], slimed: [1, 38],
}), }),
// TODO player2 equivalents
player2: Object.assign({}, CC2_TILESET_LAYOUT.player2, { player2: Object.assign({}, CC2_TILESET_LAYOUT.player2, {
// TODO skating
exited: [15, 32],
burned: {
north: [12, 33],
east: [13, 33],
south: [14, 33],
west: [15, 33],
},
slimed: [1, 38], slimed: [1, 38],
}), }),
bogus_player_burned_fire: { bogus_player_burned_fire: {

View File

@ -63,6 +63,9 @@ function player_visual_state(me) {
else if (me.fail_reason) { else if (me.fail_reason) {
return 'failed'; return 'failed';
} }
else if (me.exited) {
return 'exited';
}
else if (me.cell && (me.previous_cell || me.cell).some(t => t.type.name === 'water')) { else if (me.cell && (me.previous_cell || me.cell).some(t => t.type.name === 'water')) {
// CC2 shows a swimming pose while still in water, or moving away from water // CC2 shows a swimming pose while still in water, or moving away from water
return 'swimming'; return 'swimming';