Skip to content

Commit

Permalink
chore: randomly fire pokey projectile
Browse files Browse the repository at this point in the history
  • Loading branch information
remarkablemark committed Jan 24, 2025
1 parent 79aa372 commit f94e3db
Show file tree
Hide file tree
Showing 4 changed files with 21 additions and 5 deletions.
Binary file added public/sprites/pokey-projectile.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions src/constants/sprites.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ export enum Sprite {
Bubbie = 'Bubbie',
Gooba = 'Gooba',
Pokey = 'Pokey',
PokeyProjectile = 'PokeyProjectile',
Shellie = 'Shellie',
Spiny = 'Spiny',
}
24 changes: 19 additions & 5 deletions src/gameobjects/enemy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,16 +11,13 @@ const State = Animation

export function addEnemy(x: number, y: number, player: Player) {
const sprites = [
/*
Sprite.Bubbie,
Sprite.Gooba,
*/
Sprite.Pokey,
/*
Sprite.Shellie,
Sprite.Spiny,
*/
]

const speed = rand(100, 300)
const damage = rand(1, 10)
const hp = randi(Health.Min, Health.Max)
Expand Down Expand Up @@ -67,12 +64,29 @@ export function addEnemy(x: number, y: number, player: Player) {
try {
enemy.play(State.Attack)
} catch (error) {} // eslint-disable-line
if (enemy.sprite === Sprite.Pokey) {
const direction = player.pos.sub(enemy.pos).unit()
add([
sprite(Sprite.PokeyProjectile),
pos(enemy.pos),
move(direction, 300),
area(),
offscreen({ destroy: true }),
anchor('center'),
scale(0.2),
])
}
})

enemy.onStateUpdate(State.Attack, () => {
enemy.onStateUpdate(State.Attack, async () => {
if (!player.exists()) {
return
}

if (enemy.sprite === Sprite.Pokey && Number(rand()) < 0.005) {
return enemy.enterState(State.Idle)
}

const direction = player.pos.sub(enemy.pos).unit()
enemy.move(direction.scale(enemy.speed))
})
Expand Down
1 change: 1 addition & 0 deletions src/scenes/preload.ts
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ scene(Scene.Preload, () => {
[Sprite.Bean, 'sprites/bean.png'],
[Sprite.Bubbie, 'sprites/bubbie.png'],
[Sprite.Gooba, 'sprites/gooba.png'],
[Sprite.PokeyProjectile, 'sprites/pokey-projectile.png'],
[Sprite.Spiny, 'sprites/spiny.png'],
]

Expand Down

0 comments on commit f94e3db

Please sign in to comment.