risinglegends.git
14 months agofeat: cleanup chat commands
xangelo [Thu, 7 Sep 2023 17:56:29 +0000 (13:56 -0400)]
feat: cleanup chat commands

It's now easy to add chat commands independently without touching the
main server code. You get
- raw string without the `/server` prefix
- Socket.io Server
- Socket.io Socket
- Calling Player

Adn you are free to do whatever you need. All existing commands have
been moved to this format.

14 months agochore(release): 0.3.6 v0.3.6
xangelo [Wed, 6 Sep 2023 19:35:15 +0000 (15:35 -0400)]
chore(release): 0.3.6

14 months agofeat: chat command to set player level
xangelo [Wed, 6 Sep 2023 19:34:46 +0000 (15:34 -0400)]
feat: chat command to set player level

`/server set-level xxx` will reset the currently logged in players level
and give them the right number of stat points for that level

14 months agofeat: rbac support with admin permission
xangelo [Wed, 6 Sep 2023 18:54:41 +0000 (14:54 -0400)]
feat: rbac support with admin permission

There is now a permissions array on the player object loaded from
`loadPlayer` that includes a `permissions` array that lets us check if
the user has certain permissions.

Support permissions: admin,moderator

The first thing we did was remove the hard-coded key during chat resets

14 months agochore(release): 0.3.5 v0.3.5
xangelo [Wed, 6 Sep 2023 17:32:54 +0000 (13:32 -0400)]
chore(release): 0.3.5

14 months agofix: reduce specials to 10%
xangelo [Wed, 6 Sep 2023 17:32:45 +0000 (13:32 -0400)]
fix: reduce specials to 10%

14 months agochore(release): 0.3.4 v0.3.4
xangelo [Wed, 6 Sep 2023 17:31:14 +0000 (13:31 -0400)]
chore(release): 0.3.4

14 months agofix: add missing migration
xangelo [Wed, 6 Sep 2023 17:31:04 +0000 (13:31 -0400)]
fix: add missing migration

14 months agochore(release): 0.3.3 v0.3.3
xangelo [Wed, 6 Sep 2023 17:28:29 +0000 (13:28 -0400)]
chore(release): 0.3.3

14 months agofeat: display equippable hand option only
xangelo [Wed, 6 Sep 2023 17:25:27 +0000 (13:25 -0400)]
feat: display equippable hand option only

When you are equipping items it will only show you the equip button for
the hand that you have available

14 months agofeat: monster variants
xangelo [Wed, 6 Sep 2023 17:16:29 +0000 (13:16 -0400)]
feat: monster variants

Introduced Elder, Skittish, and Brute monster variants. These adjust the
stats/rewards of the monsters further.

14 months agofeat: remove body-part targeting
xangelo [Tue, 5 Sep 2023 19:37:32 +0000 (15:37 -0400)]
feat: remove body-part targeting

The body part targeting stopped working once we moved over to the new
vigor system ,but the UI was left in just in case.

14 months agofix: min/max level definitions for monsters
xangelo [Tue, 5 Sep 2023 18:12:51 +0000 (14:12 -0400)]
fix: min/max level definitions for monsters

There was some confusion over types and whether or not we needed to
included faction data with monsters (We don't). This should sort out
that mess and give us a clearer definition for monsters.

14 months agofeat: migrate to augmenting express.Request interface
xangelo [Tue, 5 Sep 2023 15:39:00 +0000 (11:39 -0400)]
feat: migrate to augmenting express.Request interface

We were originally extending the express.Request interface inline in
`src/server/auth.ts`, We are now just augmenting the actual
express.Request interface via typescript definition.

14 months agofeat: add debug/error methods to logger
xangelo [Tue, 5 Sep 2023 15:21:00 +0000 (11:21 -0400)]
feat: add debug/error methods to logger

14 months agochore: move healer handler
xangelo [Tue, 5 Sep 2023 14:58:59 +0000 (10:58 -0400)]
chore: move healer handler

14 months agochore: remove unused websocket handlers
xangelo [Tue, 5 Sep 2023 14:55:30 +0000 (10:55 -0400)]
chore: remove unused websocket handlers

14 months agofeat: variable level monsters
xangelo [Fri, 1 Sep 2023 18:47:24 +0000 (14:47 -0400)]
feat: variable level monsters

Monsters now define a min/max level. When you start a fight a monster is
generated within that level range. We use that to define a modifier for
all stats on the monster and adjust accordingly.

The stats defined on the monster sheet in airtable reference the
min-stats on the monster.

14 months agochore: ignore migrations during live reload
xangelo [Fri, 1 Sep 2023 18:46:37 +0000 (14:46 -0400)]
chore: ignore migrations during live reload

14 months agochore(release): 0.3.2 v0.3.2
xangelo [Fri, 1 Sep 2023 17:43:19 +0000 (13:43 -0400)]
chore(release): 0.3.2

14 months agofix: skills not progressing with use
xangelo [Fri, 1 Sep 2023 17:43:03 +0000 (13:43 -0400)]
fix: skills not progressing with use

14 months agofeat: `/online` to list usernames of all online players
xangelo [Fri, 1 Sep 2023 17:39:41 +0000 (13:39 -0400)]
feat: `/online` to list usernames of all online players

14 months agofix: small chat style tweaks
xangelo [Fri, 1 Sep 2023 17:14:26 +0000 (13:14 -0400)]
fix: small chat style tweaks

14 months agofix: add missing "Back to Town" button
xangelo [Fri, 1 Sep 2023 17:14:04 +0000 (13:14 -0400)]
fix: add missing "Back to Town" button

14 months agochore(release): 0.3.1 v0.3.1
xangelo [Thu, 31 Aug 2023 21:10:16 +0000 (17:10 -0400)]
chore(release): 0.3.1

14 months agofix: spells support durability
xangelo [Thu, 31 Aug 2023 21:08:45 +0000 (17:08 -0400)]
fix: spells support durability

Spells have "Uses" which function the same as durability except they
don't take damage after a battle (like weapons).

For now you go to the "repair" store to repair this.. but eventually you
can go to the:
- Mageshop to recharge spells
- Armoury to repair armour
- Forge to repair weapons

14 months agofix: add button that goes back to town from any page
xangelo [Thu, 31 Aug 2023 21:08:26 +0000 (17:08 -0400)]
fix: add button that goes back to town from any page

14 months agofix: tooltip text centered due to media-query
xangelo [Thu, 31 Aug 2023 20:39:00 +0000 (16:39 -0400)]
fix: tooltip text centered due to media-query

14 months agofix: stop z-stacking alert messages
xangelo [Wed, 30 Aug 2023 15:44:28 +0000 (11:44 -0400)]
fix: stop z-stacking alert messages

14 months agochore(release): 0.3.0 v0.3.0
xangelo [Wed, 30 Aug 2023 13:51:33 +0000 (09:51 -0400)]
chore(release): 0.3.0

14 months agofeat: move alerts to bottom of main section
xangelo [Wed, 30 Aug 2023 13:51:26 +0000 (09:51 -0400)]
feat: move alerts to bottom of main section

14 months agofeat: repairing damaged equipment
xangelo [Tue, 29 Aug 2023 19:34:47 +0000 (15:34 -0400)]
feat: repairing damaged equipment

If your equipment is damaged in battle, you can visit the Iron Smith to
repair it for a fraction of what you would pay to buy new equipment!

14 months agofix: spacing for stat increase button
xangelo [Sat, 26 Aug 2023 03:24:13 +0000 (23:24 -0400)]
fix: spacing for stat increase button

14 months agofeat: display optimal level range for monsters
xangelo [Sat, 26 Aug 2023 03:23:55 +0000 (23:23 -0400)]
feat: display optimal level range for monsters

14 months agofeat: unequip items if they hit 0 ap in battle
xangelo [Sat, 26 Aug 2023 03:14:55 +0000 (23:14 -0400)]
feat: unequip items if they hit 0 ap in battle

14 months agofeat!: vigor mortensen
xangelo [Fri, 25 Aug 2023 20:13:04 +0000 (16:13 -0400)]
feat!: vigor mortensen

This introduces the new vigor system which replaces the previous armour
point system.

The new Vigor system introduces a new stat based on constitution that
comprises your "vigor". At 100% vigor your defence + damage are at their
highest possible base values. As you fight your vigor drops (until you
visit a healer). As it drops it starts affecting your defence + damage
negatively.

Armour Points still exist, but have been converted into a "durability"
system which goes down much slower per fight and a bit more drastically
if you die. However, nowhere near the same rate as before.

As such, mitigation no longer has any effect.

14 months agochore(release): 0.2.17 v0.2.17
xangelo [Fri, 25 Aug 2023 16:05:16 +0000 (12:05 -0400)]
chore(release): 0.2.17

14 months agofix: xss username on signup
xangelo [Fri, 25 Aug 2023 16:05:04 +0000 (12:05 -0400)]
fix: xss username on signup

14 months agochore(release): 0.2.16 v0.2.16
xangelo [Fri, 25 Aug 2023 15:57:15 +0000 (11:57 -0400)]
chore(release): 0.2.16

14 months agofix: properly increment skill level
xangelo [Fri, 25 Aug 2023 15:57:09 +0000 (11:57 -0400)]
fix: properly increment skill level

14 months agochore(release): 0.2.15 v0.2.15
xangelo [Fri, 25 Aug 2023 15:37:18 +0000 (11:37 -0400)]
chore(release): 0.2.15

14 months agofeat: expoential exp drop-off/gain
xangelo [Fri, 25 Aug 2023 15:04:25 +0000 (11:04 -0400)]
feat: expoential exp drop-off/gain

When you are over 3 levels of the monster you are fighting you start
gaining less exp.

When you are under 3 levels of the monster you are fighting, you start
gaining more exp.

14 months agofix: rate limit fights!
xangelo [Fri, 25 Aug 2023 14:39:45 +0000 (10:39 -0400)]
fix: rate limit fights!

You can only start 1 fight every 2 seconds.

15 months agochore: separate fight round into its own file
xangelo [Thu, 24 Aug 2023 17:53:54 +0000 (13:53 -0400)]
chore: separate fight round into its own file

15 months agofix: add block timer for casting and clear after fight
xangelo [Thu, 24 Aug 2023 17:53:27 +0000 (13:53 -0400)]
fix: add block timer for casting and clear after fight

15 months agofix: standardize blocking timeouts for buttons
xangelo [Thu, 24 Aug 2023 16:35:11 +0000 (12:35 -0400)]
fix: standardize blocking timeouts for buttons

All buttons that block have been extracted into a single Button
component and the values for blocking have been extracted into a
"constants" file.

This file also includes constants for things like how long an alert
notification is displayed for.

15 months agofix: make signup collapsible
xangelo [Wed, 23 Aug 2023 19:23:12 +0000 (15:23 -0400)]
fix: make signup collapsible

If you are using a session account, we make the actual form portion
collapsible so that you can hide it and play.

15 months agofix: time displays at 0 for midnight
xangelo [Wed, 23 Aug 2023 19:14:06 +0000 (15:14 -0400)]
fix: time displays at 0 for midnight

15 months agochore(release): 0.2.14 v0.2.14
xangelo [Mon, 21 Aug 2023 20:39:17 +0000 (16:39 -0400)]
chore(release): 0.2.14

15 months agofeat: display travel progress
xangelo [Mon, 21 Aug 2023 20:34:03 +0000 (16:34 -0400)]
feat: display travel progress

When you're travelling it shows you your:
- Starting city
- Destination
- How long it will take you to get there

15 months agochore(release): 0.2.13 v0.2.13
xangelo [Mon, 21 Aug 2023 20:04:39 +0000 (16:04 -0400)]
chore(release): 0.2.13

15 months agofix: strip all tags in chat
xangelo [Mon, 21 Aug 2023 20:04:33 +0000 (16:04 -0400)]
fix: strip all tags in chat

15 months agochore(release): 0.2.12 v0.2.12
xangelo [Mon, 21 Aug 2023 19:52:39 +0000 (15:52 -0400)]
chore(release): 0.2.12

15 months agofix: xss chat input
xangelo [Mon, 21 Aug 2023 19:52:32 +0000 (15:52 -0400)]
fix: xss chat input

15 months agofeat: return to town button while travelling
xangelo [Mon, 21 Aug 2023 19:06:54 +0000 (15:06 -0400)]
feat: return to town button while travelling

When you're travelling between towns, there's always an option to return
to the starting town.

15 months agochore(release): 0.2.11 v0.2.11
xangelo [Mon, 21 Aug 2023 17:28:30 +0000 (13:28 -0400)]
chore(release): 0.2.11

15 months agofix: chat history clearning existing chat on load
xangelo [Mon, 21 Aug 2023 17:27:14 +0000 (13:27 -0400)]
fix: chat history clearning existing chat on load

Since we delay chat history loading for 1s, when it does load there is
the possibility that the history messages wipe out any existing
messages. This ensures that they get prepended to the chat and appear
before any new messages.

15 months agofix: green button colors
xangelo [Mon, 21 Aug 2023 17:24:46 +0000 (13:24 -0400)]
fix: green button colors

15 months agofix: migrate recruiter to htmx
xangelo [Mon, 21 Aug 2023 17:24:23 +0000 (13:24 -0400)]
fix: migrate recruiter to htmx

15 months agochore(release): 0.2.10 v0.2.10
xangelo [Fri, 18 Aug 2023 18:40:05 +0000 (14:40 -0400)]
chore(release): 0.2.10

15 months agofix: missing % from player bar
xangelo [Fri, 18 Aug 2023 18:38:28 +0000 (14:38 -0400)]
fix: missing % from player bar

15 months agofeat: add icons for beginner equipment
xangelo [Fri, 18 Aug 2023 18:38:16 +0000 (14:38 -0400)]
feat: add icons for beginner equipment

15 months agofix: move purchase button under icon in stores
xangelo [Fri, 18 Aug 2023 18:18:28 +0000 (14:18 -0400)]
fix: move purchase button under icon in stores

15 months agofeat: increase hp gain rate
xangelo [Thu, 17 Aug 2023 19:28:06 +0000 (15:28 -0400)]
feat: increase hp gain rate

15 months agofix: background not appearing if reload during fight
xangelo [Thu, 17 Aug 2023 17:55:14 +0000 (13:55 -0400)]
fix: background not appearing if reload during fight

If you reload during a fight the city background was not properly
appearing. You would need to complete the fight, then revisit the
Explore tab for the city background to load.

15 months agofix: chat timeline to messages show up chronologically
xangelo [Thu, 17 Aug 2023 17:54:29 +0000 (13:54 -0400)]
fix: chat timeline to messages show up chronologically

The orginal setup was appending history to the wrong element causing
chat to appear out of order.

15 months agofix: only disable equipping/unequipping in a fight
xangelo [Thu, 17 Aug 2023 15:11:32 +0000 (11:11 -0400)]
fix: only disable equipping/unequipping in a fight

15 months agofix: cant perform other actions in a fight
xangelo [Wed, 16 Aug 2023 20:00:17 +0000 (16:00 -0400)]
fix: cant perform other actions in a fight

15 months agofix: dont display death text after fleeing
xangelo [Wed, 16 Aug 2023 18:30:59 +0000 (14:30 -0400)]
fix: dont display death text after fleeing

The check now validates that the player has ACTUALLY died before
displaying that they died on the front end.

15 months agochore(release): 0.2.9 v0.2.9
xangelo [Tue, 15 Aug 2023 18:33:04 +0000 (14:33 -0400)]
chore(release): 0.2.9

15 months agofeat: new UI
xangelo [Tue, 15 Aug 2023 18:31:53 +0000 (14:31 -0400)]
feat: new UI

This is a huge overhaul of the existing UI away from the temp white
boxes setup to something that embodies the game a bit more. No
functionality has changed, but there's been a ton of CSS updates to
ensure that we keep load times short but still provide a good looking
experience to players.

15 months agochore: update credits
xangelo [Tue, 15 Aug 2023 18:31:33 +0000 (14:31 -0400)]
chore: update credits

15 months agofix: avatar takes up too much space on mobile
xangelo [Thu, 10 Aug 2023 19:01:24 +0000 (15:01 -0400)]
fix: avatar takes up too much space on mobile

On mobile views the 128px square avatar is too large and doesn't convey
much information. We still want it to be present since it's a
representation of the player and fosters further connection. As a result
we've shrunken the size to 96px on desktop.. down to 32px on lower
resolutions

15 months agofeat: default player to the Explore tab
xangelo [Thu, 10 Aug 2023 18:11:18 +0000 (14:11 -0400)]
feat: default player to the Explore tab

15 months agochore(release): 0.2.8 v0.2.8
xangelo [Thu, 10 Aug 2023 15:22:07 +0000 (11:22 -0400)]
chore(release): 0.2.8

15 months agofix: migrate signup/login form to htmx
xangelo [Thu, 10 Aug 2023 15:21:51 +0000 (11:21 -0400)]
fix: migrate signup/login form to htmx

15 months agochore: copy changelog to website
xangelo [Thu, 10 Aug 2023 15:21:20 +0000 (11:21 -0400)]
chore: copy changelog to website

15 months agochore(release): 0.2.7 v0.2.7
xangelo [Wed, 9 Aug 2023 17:24:45 +0000 (13:24 -0400)]
chore(release): 0.2.7

15 months agofix: reduce spam requests on /status
xangelo [Wed, 9 Aug 2023 17:22:26 +0000 (13:22 -0400)]
fix: reduce spam requests on /status

Instead of pinging the `/status` endpoint we send a status ws event when
there's a new connect/disconnect to the server.

15 months agofix: time displays 0pm at noon instead of 12pm
xangelo [Wed, 9 Aug 2023 17:08:00 +0000 (13:08 -0400)]
fix: time displays 0pm at noon instead of 12pm

15 months agofix: seed equipment info
xangelo [Wed, 9 Aug 2023 15:02:19 +0000 (11:02 -0400)]
fix: seed equipment info

15 months agochore(release): 0.2.6 v0.2.6
xangelo [Wed, 9 Aug 2023 14:55:12 +0000 (10:55 -0400)]
chore(release): 0.2.6

15 months agofix: migrate stat increase to htmx
xangelo [Wed, 9 Aug 2023 14:55:02 +0000 (10:55 -0400)]
fix: migrate stat increase to htmx

15 months agofix: armour icon support
xangelo [Wed, 9 Aug 2023 14:37:46 +0000 (10:37 -0400)]
fix: armour icon support

15 months agochore: move unused js
xangelo [Tue, 8 Aug 2023 18:48:52 +0000 (14:48 -0400)]
chore: move unused js

15 months agofix: chat history calls clearing chat
xangelo [Tue, 8 Aug 2023 18:35:44 +0000 (14:35 -0400)]
fix: chat history calls clearing chat

15 months agofix: auto-load player object and place in request
xangelo [Tue, 8 Aug 2023 14:46:40 +0000 (10:46 -0400)]
fix: auto-load player object and place in request

15 months agochore(release): 0.2.5 v0.2.5
xangelo [Sat, 5 Aug 2023 12:59:04 +0000 (08:59 -0400)]
chore(release): 0.2.5

15 months agofix: migrate chat to htmx
xangelo [Sat, 5 Aug 2023 11:35:21 +0000 (07:35 -0400)]
fix: migrate chat to htmx

15 months agofix: remove unnecessary console.log
xangelo [Sat, 5 Aug 2023 11:25:36 +0000 (07:25 -0400)]
fix: remove unnecessary console.log

15 months agofix: migrate item usage to htmx
xangelo [Sat, 5 Aug 2023 09:08:36 +0000 (05:08 -0400)]
fix: migrate item usage to htmx

15 months agofix: migrate exploring to htmx
xangelo [Fri, 4 Aug 2023 19:39:35 +0000 (15:39 -0400)]
fix: migrate exploring to htmx

15 months agofix: migrate explore fight to htmx
xangelo [Fri, 4 Aug 2023 17:58:50 +0000 (13:58 -0400)]
fix: migrate explore fight to htmx

15 months agofix: migrate shops to htmx
xangelo [Fri, 4 Aug 2023 16:14:30 +0000 (12:14 -0400)]
fix: migrate shops to htmx

15 months agofix: migrate healer to htmx
xangelo [Thu, 3 Aug 2023 19:52:24 +0000 (15:52 -0400)]
fix: migrate healer to htmx

15 months agofix: migrate inventory to htmx
xangelo [Thu, 3 Aug 2023 18:43:51 +0000 (14:43 -0400)]
fix: migrate inventory to htmx

15 months agofix: support time display
xangelo [Thu, 3 Aug 2023 16:36:24 +0000 (12:36 -0400)]
fix: support time display

15 months agofix: migrate skills page to htmx
xangelo [Thu, 3 Aug 2023 16:31:51 +0000 (12:31 -0400)]
fix: migrate skills page to htmx

15 months agofix: profile page to html (wip)
xangelo [Thu, 3 Aug 2023 15:31:57 +0000 (11:31 -0400)]
fix: profile page to html (wip)

15 months agofeat: purchasable items from the store
xangelo [Thu, 3 Aug 2023 13:17:20 +0000 (09:17 -0400)]
feat: purchasable items from the store

Health potions are now available from the Magehop! This also introduces
a cool new feature where we're actually moving off socket-binding to
http so that we're tracking less state on the server.