feat!: dungeon traversal
authorxangelo <me@xangelo.ca>
Tue, 12 Sep 2023 19:24:37 +0000 (15:24 -0400)
committerxangelo <me@xangelo.ca>
Tue, 12 Sep 2023 19:24:37 +0000 (15:24 -0400)
commit2ec43dfb71243db8c51cca67f240c3148bc9c13a
treee3d1c54ce419b61b53f49320b1cd0ba9c8f45a1a
parent074d6ad45d7afae4b03f07a92f6e173e4083a1c8
feat!: dungeon traversal

Dungeons are built in twine and exported as Twison. It's then placed
into the "/data/dungeons" folder and imported. This correctly parses all
the configuration data and generates a dungeon that you get to walk
around.

A single room is designated as the "end" room and it will result in the
dungeon rewards being presented to the user and all tracking removed.
Eventually this tracking will migrate over to influx or clickhouse to
allow for longer term queries.
23 files changed:
data/dungeons/storage_cellar.json [new file with mode: 0644]
migrations/20230908160725_dungeons.ts [new file with mode: 0644]
package-lock.json
package.json
public/assets/bundle.js
public/assets/css/game.css
seeds/dungeons.ts [new file with mode: 0644]
src/client/htmx.ts
src/server/admin.ts [new file with mode: 0644]
src/server/api.ts
src/server/chat-commands/give-permission.ts [new file with mode: 0644]
src/server/chat-commands/index.ts
src/server/dungeon.ts [new file with mode: 0644]
src/server/locations/dungeon.ts [new file with mode: 0644]
src/server/map.ts
src/server/views/dungeons/room.ts [new file with mode: 0644]
src/server/views/fight.ts
src/server/views/map.ts
src/shared/constants.ts
src/shared/dungeon.ts [new file with mode: 0644]
src/shared/map.ts
src/shared/monsters.ts
src/shared/player.ts