diff options
author | Tyler Murphy <tylerm@tylerm.dev> | 2023-06-29 11:40:46 -0400 |
---|---|---|
committer | Tyler Murphy <tylerm@tylerm.dev> | 2023-06-29 11:40:46 -0400 |
commit | f5fcce110a915fca1b114001962170733276e5df (patch) | |
tree | 6ce82c649d7377b42e75c9feb88d73e4aa15d713 /client/src/logic/items.ts | |
parent | ghost (diff) | |
download | tuxman-f5fcce110a915fca1b114001962170733276e5df.tar.gz tuxman-f5fcce110a915fca1b114001962170733276e5df.tar.bz2 tuxman-f5fcce110a915fca1b114001962170733276e5df.zip |
audio, finalize gameplay, wrap around map, stuff
Diffstat (limited to 'client/src/logic/items.ts')
-rw-r--r-- | client/src/logic/items.ts | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/client/src/logic/items.ts b/client/src/logic/items.ts index 5f8a38e..79624d3 100644 --- a/client/src/logic/items.ts +++ b/client/src/logic/items.ts @@ -1,5 +1,5 @@ import { getMap, getItemKey } from "../map.js" -import { GameState, Map, Player } from "../types.js" +import { GameState, ItemType, Map, Player } from "../types.js" const ceilHalf = (n: number): number => { return Math.ceil(n*2)/2 @@ -12,10 +12,24 @@ const floorHalf = (n: number): number => { const eatItems = (data: GameState, map: Map, player: Player) => { let pos = player.pos + + player.atePellets = Math.max(player.atePellets - 1, 0) for (let x = ceilHalf(pos.x-.5); x <= floorHalf(pos.x+.5); x += .5) { for (let y = ceilHalf(pos.y-.5); y <= floorHalf(pos.y+.5); y += .5) { let item_key = getItemKey(x, y, map.width) + + let item = data.items[item_key] + if (!item) { + continue + } + + player.atePellets = 30 + + if (item.type == ItemType.THICC_DOT) { + player.thiccLeft += 60 * 10 + } + delete data.items[item_key] } } |