const MODE_DETERMINATION = 0;
const MODE_JUSTICE = 1;
const SPEED_PLAYER = 150;
- const SPEED_PROJECTILE = 500;
+ const SPEED_PPROJECTILE = 500;
+ const SPEED_MPROJECTILE = 200;
window.addEventListener("keydown", function(e) {
// Prevent default browser action for arrows and spacebar
this.lasttime_shoot = 0;
this.lasttime_mode = 0;
this.lasttime_damage = 0;
- this.speed = 150;
+ 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.anchor.setTo(0.5, 0.5);
this.health = MONSTER_HEALTH;
this.nexttime_shoot = game.time.now;
- this.weapon = new Phaser.Weapon(game, this);
- this.weapon.x = x;
- this.weapon.y = y;
- this.weapon.createBullets(20, 'projectile');
+ this.weapon = new JusticeBlaster(game, this);
+ this.weapon.bulletSpeed = SPEED_MPROJECTILE;
+ this.weapon.trackSprite(this);
}
enablePhysics() {
this.weapon.fireAtSprite(player);
this.nexttime_shoot = game.time.now + (WAIT_MONSTERSHOOT / 2) + (Math.random() * WAIT_MONSTERSHOOT);
}
- game.physics.arcade.overlap(player, this.weapon.bullets, function(p,b) { p.damage(p.love); });
+ game.physics.arcade.overlap(player, this.weapon.bullets, function(p,b) { b.overlap_player(p); });
}
}
entity.damage(player.love);
this.kill();
}
+
+ overlap_player(player) {
+ player.damage(player.love);
+ this.kill();
+ }
}
class JusticeBlaster extends Phaser.Weapon {
constructor(game, parent) {
super(game, parent);
this.bulletClass = Justice;
- this.bulletSpeed = SPEED_PROJECTILE;
this.multiFire = true;
this.createBullets(100, null);
}
nexttime_determination = Math.random() * WAIT_DETERMINATION;
monsters = game.add.group();
- monsters.add(new Monster(400, 500));
- monsters.children.forEach(function(monster) { monster.enablePhysics(); });
- nexttime_monsterspawn = WAIT_MONSTERSPAWN;
+ nexttime_monsterspawn = WAIT_MONSTERSPAWN / 4;
player = new Player(game.world.width / 2, game.world.height / 2);
player.enablePhysics();
game.camera.follow(player);
cursors = game.input.keyboard.createCursorKeys();
- keyboard_handler = keyPress_default;
-
}
function update () {
var monster = new Monster(Math.random() * game.world.width, Math.random() * game.world.height);
monster.enablePhysics();
monsters.add(monster);
- nexttime_monsterspawn = game.time.now + (WAIT_MONSTERSPAWN / player.love) + (Math.random() * WAIT_MONSTERSPAWN);
+ var waittime = WAIT_MONSTERSPAWN - ((Math.random() * 2000) * player.love);
+ nexttime_monsterspawn = game.time.now + waittime;
+ console.log('Next monster in ' + waittime);
}
if ((game.time.now - player.lastmovetime) > WAIT_KEY) player.body.velocity.x = player.body.velocity.y = 0;
- if (keyboard_handler) keyboard_handler();
-
- }
-
- function keyPress_default() {
-
- // Maybe needed later.
}