X-Git-Url: http://git.megabrutal.com/?p=ld40.git;a=blobdiff_plain;f=ld40.js;h=7bd582e1413288af1753a4c0c22bfebe3fec2a60;hp=01a65ce0f788eb5b318ca822f083dbbffcac5b34;hb=731aa57b3da0e89209ae2aaf19ee4960a7ae564f;hpb=ec8eeabbaf8576510fcd67a78f56b7d94575e8f9 diff --git a/ld40.js b/ld40.js index 01a65ce..7bd582e 100644 --- a/ld40.js +++ b/ld40.js @@ -14,6 +14,7 @@ const WAIT_MONSTERSHOOT = 500; const WAIT_MONSTERSPAWN = 20000; const WAIT_DETERMINATION = 4000; + const WAIT_DEATH = 4000; const WALL_THICKNESS = 16; const WALL_BORDER = 8; const WALL_BORDERBOTTOM = 48; @@ -48,11 +49,16 @@ this.lasttime_shoot = 0; this.lasttime_mode = 0; this.lasttime_damage = 0; + this.lasttime_death = 0; this.speed = SPEED_PLAYER; this.switchmode(MODE_DETERMINATION); this.weapon = new JusticeBlaster(game, this); this.weapon.bulletSpeed = SPEED_PPROJECTILE; this.healthBar = new HealthBar(60, game.world.height - (WALL_BORDERBOTTOM / 2)); + this.soulbreakEmitter = this.game.add.emitter(0, 0, 8); + this.soulbreakEmitter.gravity = 1000; + this.soulbreakEmitter.setXSpeed(-300, 300); + this.soulbreakEmitter.makeParticles('soulbreak'); } enablePhysics() { @@ -81,7 +87,10 @@ this.health = 0; this.healthBar.update(this.love, this.maxHealth, this.health); super.kill(); - this.game.state.start('GameOver'); + this.soulbreakEmitter.x = this.x; + this.soulbreakEmitter.y = this.y; + this.soulbreakEmitter.explode(2000, 8); + this.lasttime_death = this.game.time.now; } loveUp() { @@ -267,6 +276,7 @@ game.load.image('monster', 'monster.png'); game.load.image('determination', 'determination.png'); game.load.image('projectile', 'projectile.png'); + game.load.image('soulbreak', 'soulbreak.png'); } @@ -326,6 +336,11 @@ if ((game.time.now - player.lastmovetime) > WAIT_KEY) player.body.velocity.x = player.body.velocity.y = 0; + if ((!player.alive) && (game.time.now > (player.lasttime_death + WAIT_DEATH))) + { + game.state.start('GameOver'); + } + } }