Add a bunch more sound effects
This commit is contained in:
1 parent
6446a4654b
commit
0e1bd91075
15 files changed
+91
-17
No files matched your search
+42
-6
@@ -296,7 +296,12 @@ export class Cell extends Array {
|
|||||||
if (actor === level.player) {
|
if (actor === level.player) {
|
||||||
level._set_tile_prop(actor, 'is_pushing', true);
|
level._set_tile_prop(actor, 'is_pushing', true);
|
||||||
}
|
}
|
||||||
if (! level.attempt_out_of_turn_step(tile, direction)) {
|
if (level.attempt_out_of_turn_step(tile, direction)) {
|
||||||
|
if (actor === level.player) {
|
||||||
|
level.sfx.play_once('push');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
// If the push failed and the obstacle is in the middle of a slide,
|
// If the push failed and the obstacle is in the middle of a slide,
|
||||||
// remember this as the next move it'll make.
|
// remember this as the next move it'll make.
|
||||||
if (tile.slide_mode !== null && tile.movement_cooldown > 0) {
|
if (tile.slide_mode !== null && tile.movement_cooldown > 0) {
|
||||||
@@ -1174,7 +1179,9 @@ export class Level extends LevelInterface {
|
|||||||
this.p1_released &= ~INPUT_BITS.cycle;
|
this.p1_released &= ~INPUT_BITS.cycle;
|
||||||
}
|
}
|
||||||
if ((new_input & INPUT_BITS.drop) && may_move) {
|
if ((new_input & INPUT_BITS.drop) && may_move) {
|
||||||
this.drop_item(this.player);
|
if (this.drop_item(this.player)) {
|
||||||
|
this.sfx.play_once('drop');
|
||||||
|
}
|
||||||
this.p1_released &= ~INPUT_BITS.drop;
|
this.p1_released &= ~INPUT_BITS.drop;
|
||||||
}
|
}
|
||||||
if ((new_input & INPUT_BITS.swap) && this.remaining_players > 1) {
|
if ((new_input & INPUT_BITS.swap) && this.remaining_players > 1) {
|
||||||
@@ -1510,10 +1517,6 @@ export class Level extends LevelInterface {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (actor === this.player && goal_cell[0].type.name === 'floor') {
|
|
||||||
this.sfx.play_once('step-floor');
|
|
||||||
}
|
|
||||||
|
|
||||||
// Announce we're approaching. Slide mode is set here, since it's about the tile we're
|
// Announce we're approaching. Slide mode is set here, since it's about the tile we're
|
||||||
// moving towards and needs to last through our next decision
|
// moving towards and needs to last through our next decision
|
||||||
this.make_slide(actor, null);
|
this.make_slide(actor, null);
|
||||||
@@ -1597,6 +1600,39 @@ export class Level extends LevelInterface {
|
|||||||
tile.type.on_arrive(tile, this, actor);
|
tile.type.on_arrive(tile, this, actor);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Play step sound
|
||||||
|
if (actor === this.player) {
|
||||||
|
let terrain = cell.get_terrain();
|
||||||
|
if (actor.slide_mode === 'ice') {
|
||||||
|
this.sfx.play_once('slide-ice');
|
||||||
|
}
|
||||||
|
else if (actor.slide_mode === 'force') {
|
||||||
|
this.sfx.play_once('slide-force');
|
||||||
|
}
|
||||||
|
else if (terrain.type.name === 'floor') {
|
||||||
|
this.sfx.play_once('step-floor');
|
||||||
|
}
|
||||||
|
else if (terrain.type.name === 'gravel' || terrain.type.name === 'railroad') {
|
||||||
|
this.sfx.play_once('step-gravel');
|
||||||
|
}
|
||||||
|
else if (terrain.type.name === 'water') {
|
||||||
|
if (actor.ignores(terrain.type.name)) {
|
||||||
|
this.sfx.play_once('step-water');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (terrain.type.name === 'fire') {
|
||||||
|
if (actor.has_item('fire_boots')) {
|
||||||
|
this.sfx.play_once('step-fire');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (terrain.type.slide_mode === 'force') {
|
||||||
|
this.sfx.play_once('step-force');
|
||||||
|
}
|
||||||
|
else if (terrain.type.slide_mode === 'ice') {
|
||||||
|
this.sfx.play_once('step-ice');
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
attempt_teleport(actor) {
|
attempt_teleport(actor) {
|
||||||
|
|||||||
+27
-1
@@ -141,23 +141,49 @@ class SFXPlayer {
|
|||||||
'button-release': 'sfx/button-release.ogg',
|
'button-release': 'sfx/button-release.ogg',
|
||||||
// https://jummbus.bitbucket.io/#j2N04doorn110s0k0l00e00t3Mmfa3g00j07i0r1O_U00o30T0v0zL0OD0Ou00q0d1f8y0z2C0w2c0h0T2v0pL0OD0Ou02q0d1f8y3ziC0w1b4gp1f0aqEQ0lCNzrYUY0
|
// https://jummbus.bitbucket.io/#j2N04doorn110s0k0l00e00t3Mmfa3g00j07i0r1O_U00o30T0v0zL0OD0Ou00q0d1f8y0z2C0w2c0h0T2v0pL0OD0Ou02q0d1f8y3ziC0w1b4gp1f0aqEQ0lCNzrYUY0
|
||||||
door: 'sfx/door.ogg',
|
door: 'sfx/door.ogg',
|
||||||
|
// https://jummbus.bitbucket.io/#j3N04dropn100s0k0l00e00t3Mm6a3g00j07i0r1O_U0o2T0v0pL0OaD0Ou00q1d1f4y2z9C0w2c0h0b4p1bGqKHGjner00
|
||||||
|
drop: 'sfx/drop.ogg',
|
||||||
|
// https://jummbus.bitbucket.io/#j3N09get-bonusn100s1k0l00e00t50mba3g00j07i0r1O_U0o4T0v0pL0OaD0Ou00q1d5f8y0z2C1w0c0h8b4p1iFyWAxoHwmacOem8s60
|
||||||
|
'get-bonus': 'sfx/get-bonus.ogg',
|
||||||
// https://jummbus.bitbucket.io/#j2N08get-chipn100s0k0l00e00t3Mmca3g00j07i0r1O_U0o4T0v0zL0OD0Ou00q1d1f6y1z2C0wac0h0b4p1dFyW7czgUK7aw0
|
// https://jummbus.bitbucket.io/#j2N08get-chipn100s0k0l00e00t3Mmca3g00j07i0r1O_U0o4T0v0zL0OD0Ou00q1d1f6y1z2C0wac0h0b4p1dFyW7czgUK7aw0
|
||||||
'get-chip': 'sfx/get-chip.ogg',
|
'get-chip': 'sfx/get-chip.ogg',
|
||||||
// https://jummbus.bitbucket.io/#j2N07get-keyn100s0k0l00e00t3Mmfa3g00j07i0r1O_U0o5T0v0pL0OD0Ou00q1d5f8y0z2C0w1c0h0b4p1dFyW85CbwwzBg0
|
// https://jummbus.bitbucket.io/#j2N07get-keyn100s0k0l00e00t3Mmfa3g00j07i0r1O_U0o5T0v0pL0OD0Ou00q1d5f8y0z2C0w1c0h0b4p1dFyW85CbwwzBg0
|
||||||
'get-key': 'sfx/get-key.ogg',
|
'get-key': 'sfx/get-key.ogg',
|
||||||
// https://jummbus.bitbucket.io/#j2N08get-tooln100s0k0l00e00t3Mm6a3g00j07i0r1O_U0o2T0v0pL0OD0Ou00q1d1f4y2z9C0w2c0h0b4p1bGqKNW4isVk0
|
// https://jummbus.bitbucket.io/#j2N08get-tooln100s0k0l00e00t3Mm6a3g00j07i0r1O_U0o2T0v0pL0OD0Ou00q1d1f4y2z9C0w2c0h0b4p1bGqKNW4isVk0
|
||||||
'get-tool': 'sfx/get-tool.ogg',
|
'get-tool': 'sfx/get-tool.ogg',
|
||||||
|
// https://jummbus.bitbucket.io/#j3N04pushn110s0k0l00e00t3Mm3a3g00j07i0r1O_U00o30T5v0pL0OaD0Ou50q1d5f8y1z6C1c0h0H-JJAArrqiih999T2v01L0OaD0Ou02q2d2f6y1zhC0w0h0b4gp1f0bkoUzCcqy1FMo0
|
||||||
|
// TODO less sure about this one
|
||||||
|
push: 'sfx/push.ogg',
|
||||||
// https://jummbus.bitbucket.io/#j2N06socketn110s0k0l00e00t3Mm4a3g00j07i0r1O_U00o30T5v0pL0OD0Ou05q1d1f8y1z7C1c0h0HU7000U0006000ET2v0pL0OD0Ou02q1d6f5y3z2C0w0b4gp1xGoKHGhFBcn2FyPkxk0rE2AGcNCQyHwUY0
|
// https://jummbus.bitbucket.io/#j2N06socketn110s0k0l00e00t3Mm4a3g00j07i0r1O_U00o30T5v0pL0OD0Ou05q1d1f8y1z7C1c0h0HU7000U0006000ET2v0pL0OD0Ou02q1d6f5y3z2C0w0b4gp1xGoKHGhFBcn2FyPkxk0rE2AGcNCQyHwUY0
|
||||||
socket: 'sfx/socket.ogg',
|
socket: 'sfx/socket.ogg',
|
||||||
// https://jummbus.bitbucket.io/#j2N06splashn110s0k0l00e00t3Mm5a3g00j07i0r1O_U00o20T0v0pL0OD0Ou00q0d0fay0z0C0w9c0h8T2v05L0OD0Ou02q2d6fay0z1C0w0b4gp1lGqKQy02gUY1qh7D1wb2Y0
|
|
||||||
// https://jummbus.bitbucket.io/#j2N06splashn110s0k0l00e00t3Mm5a3g00j07i0r1O_U00o20T0v0pL0OD0Ou00q0d0fay0z0C0w9c0h8T2v05L0OD0Ou02q2d6fay0z1C0w0b4gp1lGqKQxw_zzM5F4us60IbM0
|
// https://jummbus.bitbucket.io/#j2N06splashn110s0k0l00e00t3Mm5a3g00j07i0r1O_U00o20T0v0pL0OD0Ou00q0d0fay0z0C0w9c0h8T2v05L0OD0Ou02q2d6fay0z1C0w0b4gp1lGqKQxw_zzM5F4us60IbM0
|
||||||
splash: 'sfx/splash.ogg',
|
splash: 'sfx/splash.ogg',
|
||||||
|
// https://jummbus.bitbucket.io/#j3N0csplash-slimen110s0k0l00e00t3Mm2a3g00j07i0r1O_U00o20T0v0pL0OaD0Ou00q3d7f3y2z1C0w9c3h0T2v01L0OaD0Ou02q2d7f2y1z0C0w0h0b4gp1nJ5nqgGgGusu0J0zjb0i9Hw0
|
||||||
|
'splash-slime': 'sfx/splash-slime.ogg',
|
||||||
|
// https://jummbus.bitbucket.io/#j3N0bslide-forcen110s1k0l00e00t4Im3a3g00j07i0r1O_U00o40T1v05L0OaD0Ou01q0d7f3y0z1C0c0h0A0F0B0V1Q0000Pff00E0711T2v01L0OaD0Ou02q2d7fay5z1C0w0h0b4gp1bJ8n55isS000
|
||||||
|
'slide-force': 'sfx/slide-force.ogg',
|
||||||
|
// https://jummbus.bitbucket.io/#j3N09slide-icen110s0k0l00e00t3Mm3a3g00j07i0r1O_U00o50T0v0fL0OaD0Ou00q2d2f8y0z1C0w9c3h0T2v01L0OaD0Ou02q2d3fay5z5C0w0h0b4gp1jGgKb8er0l5mlg84Ddw0
|
||||||
|
// https://jummbus.bitbucket.io/#j3N09slide-icen110s1k0l00e00t4Im3a3g00j07i0r1O_U00o50T1v0aL0OaD0Ou01q3d7f5y0z9C0c0h0A9F3B2VdQ5428Paa74E0019T2v01L0OaD0Ou02q2d7fay5z1C0w0h0b4gp1kLwb2HbEBer0l0l509Po0
|
||||||
|
'slide-ice': 'sfx/slide-ice.ogg',
|
||||||
|
// https://jummbus.bitbucket.io/#j3N09step-firen110s0k0l00e00t3Mm6a3g00j07i0r1O_U00o10T0v05L0OaD0Ou10q0d0f8y0z1C2w2c0Gc0h0T2v0pL0OaD0Ou02q3d7fay3z1C0w1h0b4gp1b0ayH2w40VI0
|
||||||
|
'step-fire': 'sfx/step-fire.ogg',
|
||||||
|
// https://jummbus.bitbucket.io/#j3N0astep-forcen110s0k0l00e00t3Mm4a3g00j07i0r1O_U00o30T0v0aL0OaD0Ou00q1d1fay2z6C1wdc0h3T2v01L0OaD0zu02q0d1f9y2z1C1w8h0b4gp1mJdlagwgQsu0J5mqhK0qsu0
|
||||||
|
'step-force': 'sfx/step-force.ogg',
|
||||||
// https://jummbus.bitbucket.io/#j2N0astep-floorn100s0k0l00e00t3Mm6a3g00j07i0r1O_U0o1T0v05L0OD0Ou00q0d2f1y1zjC2w0c0h0b4p1aGaKaxqer00
|
// https://jummbus.bitbucket.io/#j2N0astep-floorn100s0k0l00e00t3Mm6a3g00j07i0r1O_U0o1T0v05L0OD0Ou00q0d2f1y1zjC2w0c0h0b4p1aGaKaxqer00
|
||||||
'step-floor': 'sfx/step-floor.ogg',
|
'step-floor': 'sfx/step-floor.ogg',
|
||||||
|
// https://jummbus.bitbucket.io/#j3N0bstep-graveln110s0k0l00e00t3Mm6a3g00j07i0r1O_U00o50T0v05L0OaD0Ou00q0d1f7y4z2C0wic0h0T2v05L0OaD0Ou02q0d2f2y0z0C1w0h0b4gp1lLp719LjCM5EGOEJ3per00
|
||||||
|
// https://jummbus.bitbucket.io/#j3N0bstep-graveln110s0k0l00e00t3Mm6a3g00j07i0r1O_U00o50T0v05L0OaD0Ou00q0d1f7y4z2C0wic0h0T2v01L0OaD0zu02q0d1f9y2z1C2w0Gc0h0b4gp1d0bhlCAmxID7w0
|
||||||
|
'step-gravel': 'sfx/step-gravel.ogg',
|
||||||
|
// https://jummbus.bitbucket.io/#j3N08step-icen100s0k0l00e00t3Mm6a3g00j07i0r1O_U0o5T0v05L0OaD0Ou00q0d1f7y4z2C0wic0h0b4p1aLp719LjCM0
|
||||||
|
'step-ice': 'sfx/step-ice.ogg',
|
||||||
|
// https://jummbus.bitbucket.io/#j3N0astep-watern100s0k0l00e00t3Mm2a3g00j07i0r1O_U0o3T0v0kL0OaD0Ou00q1d6f2y0z0C1w9c0h3b4p1dJ5moMMAa16sG0
|
||||||
|
'step-water': 'sfx/step-water.ogg',
|
||||||
// https://jummbus.bitbucket.io/#j2N08teleportn110s1k0l00e00t3Mm7a3g00j07i0r1O_U00o50T0v0pL0OD0Ou00q1d1f8y4z6C2w5c4h0T2v0kL0OD0Ou02q1d7f8y4z3C1w4b4gp1wF2Uzh5wdC18yHH4hhBhHwaATXu0Asds0
|
// https://jummbus.bitbucket.io/#j2N08teleportn110s1k0l00e00t3Mm7a3g00j07i0r1O_U00o50T0v0pL0OD0Ou00q1d1f8y4z6C2w5c4h0T2v0kL0OD0Ou02q1d7f8y4z3C1w4b4gp1wF2Uzh5wdC18yHH4hhBhHwaATXu0Asds0
|
||||||
teleport: 'sfx/teleport.ogg',
|
teleport: 'sfx/teleport.ogg',
|
||||||
// https://jummbus.bitbucket.io/#j2N05thiefn100s1k0l00e00t3Mm3a3g00j07i0r1O_U0o1T0v0pL0OD0Ou00q1d1f5y1z8C2w2c0h0b4p1fFyUBBr9mGkKKds0
|
// https://jummbus.bitbucket.io/#j2N05thiefn100s1k0l00e00t3Mm3a3g00j07i0r1O_U0o1T0v0pL0OD0Ou00q1d1f5y1z8C2w2c0h0b4p1fFyUBBr9mGkKKds0
|
||||||
thief: 'sfx/thief.ogg',
|
thief: 'sfx/thief.ogg',
|
||||||
|
// https://jummbus.bitbucket.io/#j3N0ctransmogrifyn110s1k0l00e00t3Mm7a3g00j07i0r1O_U00o50T0v0pL0OaD0Ou00q1d0f8y4z6C1w1c1h0T2v05L0OaD0Ou02q1d7f8y4zcC1w4h0b4gp1BINp2j8mhPcn1R8xQSAb8oyUiPt0l9LOYq0qU0
|
||||||
|
transmogrify: 'sfx/transmogrify.ogg',
|
||||||
|
|
||||||
// handcrafted
|
// handcrafted
|
||||||
lose: 'sfx/bummer.ogg',
|
lose: 'sfx/bummer.ogg',
|
||||||
|
|||||||
+22
-10
@@ -186,6 +186,7 @@ const TILE_TYPES = {
|
|||||||
// Blobs spread slime onto floor
|
// Blobs spread slime onto floor
|
||||||
if (other.previous_cell && other.previous_cell.has('slime')) {
|
if (other.previous_cell && other.previous_cell.has('slime')) {
|
||||||
level.transmute_tile(me, 'slime');
|
level.transmute_tile(me, 'slime');
|
||||||
|
level.sfx.play_once('splash-slime', me.cell);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -588,6 +589,9 @@ const TILE_TYPES = {
|
|||||||
if (other.type.name === 'ghost' && ! other.has_item('hiking_boots'))
|
if (other.type.name === 'ghost' && ! other.has_item('hiking_boots'))
|
||||||
return;
|
return;
|
||||||
level.transmute_tile(me, 'floor');
|
level.transmute_tile(me, 'floor');
|
||||||
|
if (other === level.player) {
|
||||||
|
level.sfx.play_once('step-gravel', me.cell);
|
||||||
|
}
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
gravel: {
|
gravel: {
|
||||||
@@ -619,8 +623,9 @@ const TILE_TYPES = {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
else if (other.type.name === 'ice_block') {
|
else if (other.type.name === 'ice_block') {
|
||||||
level.transmute_tile(other, 'explosion');
|
level.transmute_tile(other, 'splash');
|
||||||
level.transmute_tile(me, 'water');
|
level.transmute_tile(me, 'water');
|
||||||
|
level.sfx.play_once('splash', me.cell);
|
||||||
}
|
}
|
||||||
else if (other.type.is_real_player) {
|
else if (other.type.is_real_player) {
|
||||||
level.fail('burned');
|
level.fail('burned');
|
||||||
@@ -665,8 +670,8 @@ const TILE_TYPES = {
|
|||||||
blocks_collision: COLLISION.ghost | COLLISION.fireball,
|
blocks_collision: COLLISION.ghost | COLLISION.fireball,
|
||||||
on_depart(me, level, other) {
|
on_depart(me, level, other) {
|
||||||
level.transmute_tile(me, 'water');
|
level.transmute_tile(me, 'water');
|
||||||
// TODO feels like we should spawn water underneath us, then transmute ourselves into the splash?
|
|
||||||
level.spawn_animation(me.cell, 'splash');
|
level.spawn_animation(me.cell, 'splash');
|
||||||
|
level.sfx.play_once('splash', me.cell);
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
ice: {
|
ice: {
|
||||||
@@ -833,18 +838,20 @@ const TILE_TYPES = {
|
|||||||
slime: {
|
slime: {
|
||||||
draw_layer: DRAW_LAYERS.terrain,
|
draw_layer: DRAW_LAYERS.terrain,
|
||||||
on_arrive(me, level, other) {
|
on_arrive(me, level, other) {
|
||||||
|
if (other.type.name === 'ghost' || other.type.name === 'blob') {
|
||||||
|
// No effect
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
level.sfx.play_once('splash-slime', me.cell);
|
||||||
if (other.type.name === 'dirt_block' || other.type.name === 'ice_block') {
|
if (other.type.name === 'dirt_block' || other.type.name === 'ice_block') {
|
||||||
level.transmute_tile(me, 'floor');
|
level.transmute_tile(me, 'floor');
|
||||||
}
|
}
|
||||||
else if (other.type.name === 'ghost' || other.type.name === 'blob') {
|
|
||||||
// No effect
|
|
||||||
}
|
|
||||||
else if (other.type.is_real_player) {
|
else if (other.type.is_real_player) {
|
||||||
level.fail('slimed');
|
level.fail('slimed');
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
// FIXME needs a sound effect
|
|
||||||
level.sfx.play_once('splash', me.cell);
|
|
||||||
level.transmute_tile(other, 'splash_slime');
|
level.transmute_tile(other, 'splash_slime');
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -957,14 +964,14 @@ const TILE_TYPES = {
|
|||||||
frame_block: true,
|
frame_block: true,
|
||||||
},
|
},
|
||||||
on_bumped(me, level, other) {
|
on_bumped(me, level, other) {
|
||||||
// Fireballs melt ice blocks on regular floor
|
// Fireballs melt ice blocks on regular floor FIXME and water!
|
||||||
// XXX what if i'm in motion?
|
// XXX what if i'm in motion?
|
||||||
if (other.type.name === 'fireball') {
|
if (other.type.name === 'fireball') {
|
||||||
let terrain = me.cell.get_terrain();
|
let terrain = me.cell.get_terrain();
|
||||||
if (terrain.type.name === 'floor') {
|
if (terrain.type.name === 'floor') {
|
||||||
level.remove_tile(me);
|
level.transmute_tile(me, 'splash');
|
||||||
level.transmute_tile(terrain, 'water');
|
level.transmute_tile(terrain, 'water');
|
||||||
// FIXME splash?
|
level.sfx.play_once('splash', me.cell);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -1210,6 +1217,7 @@ const TILE_TYPES = {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
level.spawn_animation(me.cell, 'transmogrify_flash');
|
level.spawn_animation(me.cell, 'transmogrify_flash');
|
||||||
|
level.sfx.play_once('transmogrify', me.cell);
|
||||||
},
|
},
|
||||||
on_power(me, level) {
|
on_power(me, level) {
|
||||||
// No need to do anything, we just need this here as a signal that our .powered_edges
|
// No need to do anything, we just need this here as a signal that our .powered_edges
|
||||||
@@ -2557,6 +2565,7 @@ const TILE_TYPES = {
|
|||||||
on_arrive(me, level, other) {
|
on_arrive(me, level, other) {
|
||||||
if (other.type.is_real_player) {
|
if (other.type.is_real_player) {
|
||||||
level.adjust_bonus(10);
|
level.adjust_bonus(10);
|
||||||
|
level.sfx.play_once('get-bonus', me.cell);
|
||||||
}
|
}
|
||||||
// TODO turn this into a flag on those types?? idk
|
// TODO turn this into a flag on those types?? idk
|
||||||
if (other.type.is_player || other.type.name === 'rover' || other.type.name === 'bowling_ball') {
|
if (other.type.is_player || other.type.name === 'rover' || other.type.name === 'bowling_ball') {
|
||||||
@@ -2570,6 +2579,7 @@ const TILE_TYPES = {
|
|||||||
on_arrive(me, level, other) {
|
on_arrive(me, level, other) {
|
||||||
if (other.type.is_real_player) {
|
if (other.type.is_real_player) {
|
||||||
level.adjust_bonus(100);
|
level.adjust_bonus(100);
|
||||||
|
level.sfx.play_once('get-bonus', me.cell);
|
||||||
}
|
}
|
||||||
if (other.type.is_player || other.type.name === 'rover' || other.type.name === 'bowling_ball') {
|
if (other.type.is_player || other.type.name === 'rover' || other.type.name === 'bowling_ball') {
|
||||||
level.remove_tile(me);
|
level.remove_tile(me);
|
||||||
@@ -2582,6 +2592,7 @@ const TILE_TYPES = {
|
|||||||
on_arrive(me, level, other) {
|
on_arrive(me, level, other) {
|
||||||
if (other.type.is_real_player) {
|
if (other.type.is_real_player) {
|
||||||
level.adjust_bonus(1000);
|
level.adjust_bonus(1000);
|
||||||
|
level.sfx.play_once('get-bonus', me.cell);
|
||||||
}
|
}
|
||||||
if (other.type.is_player || other.type.name === 'rover' || other.type.name === 'bowling_ball') {
|
if (other.type.is_player || other.type.name === 'rover' || other.type.name === 'bowling_ball') {
|
||||||
level.remove_tile(me);
|
level.remove_tile(me);
|
||||||
@@ -2594,6 +2605,7 @@ const TILE_TYPES = {
|
|||||||
on_arrive(me, level, other) {
|
on_arrive(me, level, other) {
|
||||||
if (other.type.is_real_player) {
|
if (other.type.is_real_player) {
|
||||||
level.adjust_bonus(0, 2);
|
level.adjust_bonus(0, 2);
|
||||||
|
level.sfx.play_once('get-bonus', me.cell);
|
||||||
}
|
}
|
||||||
if (other.type.is_player || other.type.name === 'rover' || other.type.name === 'bowling_ball') {
|
if (other.type.is_player || other.type.name === 'rover' || other.type.name === 'bowling_ball') {
|
||||||
level.remove_tile(me);
|
level.remove_tile(me);
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Reference in new issue
Block a user