xangelo [Thu, 17 Oct 2024 20:21:32 +0000 (16:21 -0400)]
feat: display base damage and level-based boost
Weapon and spell damage has two components:
- A static value, that the item comes with
- A "dynamic" value based on your skills
The total damage that it deals is a combination of those two values.
This change displays the static value AND the amount you gain based on
your skills.
xangelo [Mon, 30 Sep 2024 14:32:37 +0000 (10:32 -0400)]
chore: add the current task list
xangelo [Tue, 27 Aug 2024 12:52:57 +0000 (08:52 -0400)]
feat: support adding locations without them being visible to players
This gives us the ability to add items to airtable without them being
visible to the user
xangelo [Tue, 27 Aug 2024 12:51:41 +0000 (08:51 -0400)]
fix: adjust border color for main viewport to be less stark
xangelo [Wed, 13 Mar 2024 17:32:53 +0000 (13:32 -0400)]
fix: give players max vigor on character creation
xangelo [Wed, 13 Mar 2024 16:43:01 +0000 (12:43 -0400)]
fix: make gradient span site height
xangelo [Tue, 12 Mar 2024 03:21:50 +0000 (23:21 -0400)]
feat: add class stats to professions
When you select a profession, there are a certain number of stats that
are considered "class stats". They may automatically increases on level
up.
For example:
Warrior class stats: Strength, Constitution.
On even level up, you gain +2 strength, +1 constitution
On odd level up, you gain +1 strength, +2 constitution
Class stats only cost a single stat point to increase, and non-class
stats cost 2 stat points.
You only ever gain 1 stat point on level up.
Wanderers are a special profession that do not gain any stats on level
up.. but all stats are considered "class stats"
xangelo [Mon, 18 Dec 2023 06:11:13 +0000 (01:11 -0500)]
fix: migrate existing routers to new router folder
There were some existing routers for dungeons, healers, recruiters, and
repair systems that were in their own folder. They've since been folded
into the main router configuration.
xangelo [Mon, 18 Dec 2023 06:01:43 +0000 (01:01 -0500)]
fix: migrate store routes to separate file
xangelo [Mon, 18 Dec 2023 05:50:21 +0000 (00:50 -0500)]
fix: migrate missing inventory routes to separate file
xangelo [Mon, 18 Dec 2023 05:11:14 +0000 (00:11 -0500)]
fix: migrate travel to separate route file
xangelo [Mon, 18 Dec 2023 05:10:50 +0000 (00:10 -0500)]
fix: refs to minLevel and maxLevel columns not being quoted in queries
xangelo [Mon, 18 Dec 2023 04:38:19 +0000 (23:38 -0500)]
fix: migrate profile to separate route file
xangelo [Sat, 21 Oct 2023 03:26:42 +0000 (23:26 -0400)]
fix: make route imports dynamic
xangelo [Sat, 21 Oct 2023 03:25:53 +0000 (23:25 -0400)]
fix: migrate inventory to separate route file
xangelo [Sat, 21 Oct 2023 03:11:23 +0000 (23:11 -0400)]
fix: migrate chat to separate route file
xangelo [Sat, 21 Oct 2023 03:09:27 +0000 (23:09 -0400)]
feat: extend Express.Request to include base RL object
The `rl` property on `Express.Request` provides a standard way to access
the cache and socket server objects across requests. This allows us to
split up the routes into multiple files for easier development.
xangelo [Mon, 16 Oct 2023 17:32:01 +0000 (13:32 -0400)]
fix: remove event date bucketing
xangelo [Fri, 29 Sep 2023 18:32:18 +0000 (14:32 -0400)]
fix: count current dungeon run
Dungeon completion was triggered after the count of number of runs
instead of before allowing users to get 1 extra run in.
xangelo [Fri, 29 Sep 2023 16:17:06 +0000 (12:17 -0400)]
chore(release): 0.4.1
xangelo [Fri, 29 Sep 2023 16:17:02 +0000 (12:17 -0400)]
fix: add missing migration
xangelo [Fri, 29 Sep 2023 16:14:07 +0000 (12:14 -0400)]
fix: remove clickhouse
xangelo [Fri, 29 Sep 2023 16:12:39 +0000 (12:12 -0400)]
chore(release): 0.4.0
xangelo [Fri, 29 Sep 2023 16:12:24 +0000 (12:12 -0400)]
fix: remove log of 0 events being flushed
xangelo [Fri, 29 Sep 2023 14:31:19 +0000 (10:31 -0400)]
feat: min level for all locations
All locations default to a min level of 1, so they're always visible.
but some things (stores, dungeons) can have a higher level where they
will not be visible until the player meets the requirement.
xangelo [Thu, 28 Sep 2023 19:04:20 +0000 (15:04 -0400)]
feat: psql based event system
you can now track arbitrary events that get flushed to postgres so that
you can track things. To start we're tracking dungeon completions so
that we can give users 20% rewards after 5 daily completions.
xangelo [Thu, 14 Sep 2023 16:11:49 +0000 (12:11 -0400)]
fix: auto-enter dungeon if you are in it
xangelo [Tue, 12 Sep 2023 19:24:37 +0000 (15:24 -0400)]
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.
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.
xangelo [Wed, 6 Sep 2023 19:35:15 +0000 (15:35 -0400)]
chore(release): 0.3.6
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
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
xangelo [Wed, 6 Sep 2023 17:32:54 +0000 (13:32 -0400)]
chore(release): 0.3.5
xangelo [Wed, 6 Sep 2023 17:32:45 +0000 (13:32 -0400)]
fix: reduce specials to 10%
xangelo [Wed, 6 Sep 2023 17:31:14 +0000 (13:31 -0400)]
chore(release): 0.3.4
xangelo [Wed, 6 Sep 2023 17:31:04 +0000 (13:31 -0400)]
fix: add missing migration
xangelo [Wed, 6 Sep 2023 17:28:29 +0000 (13:28 -0400)]
chore(release): 0.3.3
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
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.
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.
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.
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.
xangelo [Tue, 5 Sep 2023 15:21:00 +0000 (11:21 -0400)]
feat: add debug/error methods to logger
xangelo [Tue, 5 Sep 2023 14:58:59 +0000 (10:58 -0400)]
chore: move healer handler
xangelo [Tue, 5 Sep 2023 14:55:30 +0000 (10:55 -0400)]
chore: remove unused websocket handlers
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.
xangelo [Fri, 1 Sep 2023 18:46:37 +0000 (14:46 -0400)]
chore: ignore migrations during live reload
xangelo [Fri, 1 Sep 2023 17:43:19 +0000 (13:43 -0400)]
chore(release): 0.3.2
xangelo [Fri, 1 Sep 2023 17:43:03 +0000 (13:43 -0400)]
fix: skills not progressing with use
xangelo [Fri, 1 Sep 2023 17:39:41 +0000 (13:39 -0400)]
feat: `/online` to list usernames of all online players
xangelo [Fri, 1 Sep 2023 17:14:26 +0000 (13:14 -0400)]
fix: small chat style tweaks
xangelo [Fri, 1 Sep 2023 17:14:04 +0000 (13:14 -0400)]
fix: add missing "Back to Town" button
xangelo [Thu, 31 Aug 2023 21:10:16 +0000 (17:10 -0400)]
chore(release): 0.3.1
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
xangelo [Thu, 31 Aug 2023 21:08:26 +0000 (17:08 -0400)]
fix: add button that goes back to town from any page
xangelo [Thu, 31 Aug 2023 20:39:00 +0000 (16:39 -0400)]
fix: tooltip text centered due to media-query
xangelo [Wed, 30 Aug 2023 15:44:28 +0000 (11:44 -0400)]
fix: stop z-stacking alert messages
xangelo [Wed, 30 Aug 2023 13:51:33 +0000 (09:51 -0400)]
chore(release): 0.3.0
xangelo [Wed, 30 Aug 2023 13:51:26 +0000 (09:51 -0400)]
feat: move alerts to bottom of main section
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!
xangelo [Sat, 26 Aug 2023 03:24:13 +0000 (23:24 -0400)]
fix: spacing for stat increase button
xangelo [Sat, 26 Aug 2023 03:23:55 +0000 (23:23 -0400)]
feat: display optimal level range for monsters
xangelo [Sat, 26 Aug 2023 03:14:55 +0000 (23:14 -0400)]
feat: unequip items if they hit 0 ap in battle
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.
xangelo [Fri, 25 Aug 2023 16:05:16 +0000 (12:05 -0400)]
chore(release): 0.2.17
xangelo [Fri, 25 Aug 2023 16:05:04 +0000 (12:05 -0400)]
fix: xss username on signup
xangelo [Fri, 25 Aug 2023 15:57:15 +0000 (11:57 -0400)]
chore(release): 0.2.16
xangelo [Fri, 25 Aug 2023 15:57:09 +0000 (11:57 -0400)]
fix: properly increment skill level
xangelo [Fri, 25 Aug 2023 15:37:18 +0000 (11:37 -0400)]
chore(release): 0.2.15
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.
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.
xangelo [Thu, 24 Aug 2023 17:53:54 +0000 (13:53 -0400)]
chore: separate fight round into its own file
xangelo [Thu, 24 Aug 2023 17:53:27 +0000 (13:53 -0400)]
fix: add block timer for casting and clear after fight
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.
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.
xangelo [Wed, 23 Aug 2023 19:14:06 +0000 (15:14 -0400)]
fix: time displays at 0 for midnight
xangelo [Mon, 21 Aug 2023 20:39:17 +0000 (16:39 -0400)]
chore(release): 0.2.14
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
xangelo [Mon, 21 Aug 2023 20:04:39 +0000 (16:04 -0400)]
chore(release): 0.2.13
xangelo [Mon, 21 Aug 2023 20:04:33 +0000 (16:04 -0400)]
fix: strip all tags in chat
xangelo [Mon, 21 Aug 2023 19:52:39 +0000 (15:52 -0400)]
chore(release): 0.2.12
xangelo [Mon, 21 Aug 2023 19:52:32 +0000 (15:52 -0400)]
fix: xss chat input
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.
xangelo [Mon, 21 Aug 2023 17:28:30 +0000 (13:28 -0400)]
chore(release): 0.2.11
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.
xangelo [Mon, 21 Aug 2023 17:24:46 +0000 (13:24 -0400)]
fix: green button colors
xangelo [Mon, 21 Aug 2023 17:24:23 +0000 (13:24 -0400)]
fix: migrate recruiter to htmx
xangelo [Fri, 18 Aug 2023 18:40:05 +0000 (14:40 -0400)]
chore(release): 0.2.10
xangelo [Fri, 18 Aug 2023 18:38:28 +0000 (14:38 -0400)]
fix: missing % from player bar
xangelo [Fri, 18 Aug 2023 18:38:16 +0000 (14:38 -0400)]
feat: add icons for beginner equipment
xangelo [Fri, 18 Aug 2023 18:18:28 +0000 (14:18 -0400)]
fix: move purchase button under icon in stores
xangelo [Thu, 17 Aug 2023 19:28:06 +0000 (15:28 -0400)]
feat: increase hp gain rate
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.
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.
xangelo [Thu, 17 Aug 2023 15:11:32 +0000 (11:11 -0400)]
fix: only disable equipping/unequipping in a fight
xangelo [Wed, 16 Aug 2023 20:00:17 +0000 (16:00 -0400)]
fix: cant perform other actions in a fight
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.
xangelo [Tue, 15 Aug 2023 18:33:04 +0000 (14:33 -0400)]
chore(release): 0.2.9
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.
xangelo [Tue, 15 Aug 2023 18:31:33 +0000 (14:31 -0400)]
chore: update credits