Add Spider Queen, Frost Giant, Necromancer and Dragon bosses
This commit is contained in:
+14
-2
@@ -11,6 +11,10 @@ import { Brute } from './Brute';
|
||||
import { Golem } from './Golem';
|
||||
import { Krake } from './Krake';
|
||||
import { Minotaurus } from './Minotaurus';
|
||||
import { SpiderQueen } from './SpiderQueen';
|
||||
import { FrostGiant } from './FrostGiant';
|
||||
import { Necromancer } from './Necromancer';
|
||||
import { Dragon } from './Dragon';
|
||||
import { Crab } from './Crab';
|
||||
import { Turret } from './Turret';
|
||||
import { EnemyProjectile } from './EnemyProjectile';
|
||||
@@ -83,6 +87,10 @@ export class Game {
|
||||
[10, { name: 'Golem', spawn: () => new Golem() }],
|
||||
[20, { name: 'Krake', spawn: () => new Krake() }],
|
||||
[30, { name: 'Minotaurus', spawn: () => new Minotaurus() }],
|
||||
[40, { name: 'Spinnenkönigin', spawn: () => new SpiderQueen() }],
|
||||
[50, { name: 'Frostriese', spawn: () => new FrostGiant() }],
|
||||
[60, { name: 'Erz-Nekromant', spawn: () => new Necromancer() }],
|
||||
[70, { name: 'Drache', spawn: () => new Dragon() }],
|
||||
]);
|
||||
private bossFightActive = false;
|
||||
private shakeTime = 0;
|
||||
@@ -309,7 +317,8 @@ export class Game {
|
||||
return;
|
||||
}
|
||||
if (e.code === 'Space' && this.state === 'playing'
|
||||
&& this.player.pullTime <= 0 && this.player.stunTime <= 0) {
|
||||
&& this.player.pullTime <= 0 && this.player.stunTime <= 0
|
||||
&& this.player.rootTime <= 0) {
|
||||
this.player.jump();
|
||||
e.preventDefault();
|
||||
}
|
||||
@@ -1053,6 +1062,9 @@ export class Game {
|
||||
if (p.stunTime > 0) {
|
||||
// Gestunnt (Stampf-Schockwelle): keine Eingaben
|
||||
p.velocity.set(0, 0, 0);
|
||||
} else if (p.rootTime > 0) {
|
||||
// Netz-Fessel (Spinnenkönigin): keine Bewegung, Angriffe bleiben möglich
|
||||
p.velocity.set(0, 0, 0);
|
||||
} else if (p.pullTime > 0) {
|
||||
// Tentakel-Griff: Spieler wird komplett zum Boss gezogen
|
||||
p.pullTime -= dt;
|
||||
@@ -1083,7 +1095,7 @@ export class Game {
|
||||
}
|
||||
|
||||
// Jump / gravity
|
||||
if (!p.onGround && p.pullTime <= 0 && p.stunTime <= 0) {
|
||||
if (!p.onGround && p.pullTime <= 0 && p.stunTime <= 0 && p.rootTime <= 0) {
|
||||
p.jumpVelocity -= 20 * dt;
|
||||
p.body.position.y += p.jumpVelocity * dt;
|
||||
if (p.body.position.y <= 0.5) {
|
||||
|
||||
Reference in New Issue
Block a user