risinglegends.git
10 months agochore(release): 0.4.5 main v0.4.5
xangelo [Wed, 22 Jan 2025 04:43:10 +0000 (23:43 -0500)]
chore(release): 0.4.5

10 months agofeat: make travel an idle activity
xangelo [Wed, 22 Jan 2025 04:19:22 +0000 (23:19 -0500)]
feat: make travel an idle activity

instead of clicking "next step" for each step during traveling, the game
will automatically move you to the next step every second (this is adjustable).

10 months agofix: clean up ui for alerts to make them more visible
xangelo [Mon, 20 Jan 2025 18:03:34 +0000 (13:03 -0500)]
fix: clean up ui for alerts to make them more visible

10 months agofix: add confirmation to repair
xangelo [Mon, 20 Jan 2025 16:57:51 +0000 (11:57 -0500)]
fix: add confirmation to repair

10 months agofix: spacing of filter-container on repair page
xangelo [Mon, 20 Jan 2025 16:04:26 +0000 (11:04 -0500)]
fix: spacing of filter-container on repair page

10 months agofeat: add confirmation check to buy buttom
xangelo [Mon, 20 Jan 2025 15:55:54 +0000 (10:55 -0500)]
feat: add confirmation check to buy buttom

This was a small feature that ended up fixing a data deviation between
the equipment and items tables. Equipment had a cost column, but items
had a price_per_unit column. I've renamed the price_per_unit column
to cost and updated the seeds to reflect that.

This allowed me to simplify the purchase and check code and allow for
a consistent interface for the two item types. In addition, when you
click on the buy button it now checks the db for the actual cost of the
item and only lets you purchase it if you have enough gold.

Previously it would always display the confirm button and only show you
and error after.

10 months agofix: typo in description for dex
xangelo [Sun, 19 Jan 2025 04:36:19 +0000 (23:36 -0500)]
fix: typo in description for dex

10 months agofix: tab bottom margins no longer extend into tab body
xangelo [Sun, 19 Jan 2025 04:34:41 +0000 (23:34 -0500)]
fix: tab bottom margins no longer extend into tab body

10 months agofix: spacing on inventory tabs does not exceed parent bounds
xangelo [Sun, 19 Jan 2025 04:28:54 +0000 (23:28 -0500)]
fix: spacing on inventory tabs does not exceed parent bounds

10 months agofix: remove the grid size from being displayed on the inventory page
xangelo [Sun, 19 Jan 2025 04:20:30 +0000 (23:20 -0500)]
fix: remove the grid size from being displayed on the inventory page

10 months agochore(release): 0.4.4 v0.4.4
xangelo [Thu, 16 Jan 2025 04:49:51 +0000 (23:49 -0500)]
chore(release): 0.4.4

10 months agofix: reduce fight attack delay
xangelo [Thu, 16 Jan 2025 04:44:17 +0000 (23:44 -0500)]
fix: reduce fight attack delay

10 months agofeat: remove stamina as a game mechanic
xangelo [Thu, 16 Jan 2025 04:41:33 +0000 (23:41 -0500)]
feat: remove stamina as a game mechanic

after play-testing, its come up that the stamina mechanic is just confusing players.

it is called "vigor", which most games don't use, It regens too quicklt to actually
slow user actions down. The whole game is an active pbbg, so restricting actions
that the player has to manually do is just not fun.

11 months agofix(ux): fix disabled button styling
xangelo [Tue, 31 Dec 2024 20:07:40 +0000 (15:07 -0500)]
fix(ux): fix disabled button styling

12 months agochore(monsters): add monster icons
xangelo [Fri, 6 Dec 2024 22:10:35 +0000 (17:10 -0500)]
chore(monsters): add monster icons

- cheeky bandit
- juvenile wolf
- lost kobold
- sneaky bandit
- young boar

12 months agochore(monsters): add monster icons
xangelo [Fri, 6 Dec 2024 21:19:50 +0000 (16:19 -0500)]
chore(monsters): add monster icons

- training dummy
- slime
- rat
- vagabond
- drunk thug

12 months agofeat(monsters): add monster icons for fights
xangelo [Fri, 6 Dec 2024 20:56:25 +0000 (15:56 -0500)]
feat(monsters): add monster icons for fights

12 months agofix(repair): fix rendering of repair equipment view
xangelo [Fri, 6 Dec 2024 16:51:55 +0000 (11:51 -0500)]
fix(repair): fix rendering of repair equipment view

We missed this when we refactored the shop/inventory views

12 months agoci(changelog): add changelog to deployment notification
xangelo [Thu, 5 Dec 2024 21:55:16 +0000 (16:55 -0500)]
ci(changelog): add changelog to deployment notification

12 months agoci(deploy): notify discord on deploy
xangelo [Thu, 5 Dec 2024 21:32:44 +0000 (16:32 -0500)]
ci(deploy): notify discord on deploy

12 months agoci(build): only build on PR
xangelo [Thu, 5 Dec 2024 21:32:15 +0000 (16:32 -0500)]
ci(build): only build on PR

12 months agoci(github-actions): make github trigger DO deploy
xangelo [Thu, 5 Dec 2024 21:11:53 +0000 (16:11 -0500)]
ci(github-actions): make github trigger DO deploy

12 months agochore(logs): swap remaining console.log for logger
xangelo [Thu, 5 Dec 2024 18:51:04 +0000 (13:51 -0500)]
chore(logs): swap remaining console.log for logger

12 months agodocs(content): new monster drops
xangelo [Thu, 5 Dec 2024 18:49:40 +0000 (13:49 -0500)]
docs(content): new monster drops

- broken dagger
- rat tail
- slime residue
- small tusk
- splintered wood

12 months agofix(fight): equipment exp gains were causing errors if nothing was equipped
xangelo [Thu, 5 Dec 2024 15:02:08 +0000 (10:02 -0500)]
fix(fight): equipment exp gains were causing errors if nothing was equipped

12 months agofix(infra): express trust proxy for rate limiting
xangelo [Thu, 5 Dec 2024 06:27:29 +0000 (01:27 -0500)]
fix(infra): express trust proxy for rate limiting

12 months agofix(locations): only show locations that are accessible to the player (by level)
xangelo [Thu, 5 Dec 2024 05:30:55 +0000 (00:30 -0500)]
fix(locations): only show locations that are accessible to the player (by level)

12 months agochore(infra): trying supabase w/ do app
xangelo [Thu, 5 Dec 2024 05:12:08 +0000 (00:12 -0500)]
chore(infra): trying supabase w/ do app

12 months agochore(infra): package whole directory for easy deploy
xangelo [Wed, 4 Dec 2024 22:04:17 +0000 (17:04 -0500)]
chore(infra): package whole directory for easy deploy

12 months agochore(infra): optimize build for only dist
xangelo [Wed, 4 Dec 2024 21:42:22 +0000 (16:42 -0500)]
chore(infra): optimize build for only dist

12 months agochore(infra): remove DO, so much for that plan
xangelo [Wed, 4 Dec 2024 21:38:32 +0000 (16:38 -0500)]
chore(infra): remove DO, so much for that plan

12 months agochore(DO): trying loading cert form file
xangelo [Wed, 4 Dec 2024 20:27:42 +0000 (15:27 -0500)]
chore(DO): trying loading cert form file

12 months agochore(build): fix db ssl for DO
xangelo [Wed, 4 Dec 2024 20:00:13 +0000 (15:00 -0500)]
chore(build): fix db ssl for DO

12 months agochore(db): fix db ssl for DO
xangelo [Wed, 4 Dec 2024 18:26:13 +0000 (13:26 -0500)]
chore(db): fix db ssl for DO

12 months agochore(db): update migrations to use DATABASE_URL
xangelo [Wed, 4 Dec 2024 18:16:57 +0000 (13:16 -0500)]
chore(db): update migrations to use DATABASE_URL

12 months agochore(env): debug db connection string
xangelo [Wed, 4 Dec 2024 18:09:54 +0000 (13:09 -0500)]
chore(env): debug db connection string

12 months agochore(build): add webpack and fix paths for build
xangelo [Wed, 4 Dec 2024 17:46:11 +0000 (12:46 -0500)]
chore(build): add webpack and fix paths for build

We're using typescript paths, so we need to include tsconfig-paths in the
build process. Also added webpack to build to the build and simplified:

```
npm run build -> build FE + BE
npm start -> start server
```

This is more in line with what DO is expecting and a more standard build
process.

12 months agochore(env): standardize environment variables
xangelo [Wed, 4 Dec 2024 16:47:09 +0000 (11:47 -0500)]
chore(env): standardize environment variables

To prep for the DO Apps move, this standardizes the environment variables

12 months agochore(admin): add endpoints for refreshing content
xangelo [Wed, 4 Dec 2024 16:33:53 +0000 (11:33 -0500)]
chore(admin): add endpoints for refreshing content

The content refresh endpoints are now accessible to admins only via
the Admin panel that is integrated with the "Settings" page.

12 months agochore(build): build using github actions
xangelo [Tue, 3 Dec 2024 23:43:03 +0000 (18:43 -0500)]
chore(build): build using github actions

12 months agochore(deps): update node(22 LTS) and typescript(4.9.5)
xangelo [Tue, 3 Dec 2024 23:38:07 +0000 (18:38 -0500)]
chore(deps): update node(22 LTS) and typescript(4.9.5)

12 months agochore(deps): update opentelemetry to 0.53.0
xangelo [Tue, 3 Dec 2024 20:47:07 +0000 (15:47 -0500)]
chore(deps): update opentelemetry to 0.53.0

12 months agochore(deps): add honeycomb and opentelemetry
xangelo [Tue, 3 Dec 2024 20:37:19 +0000 (15:37 -0500)]
chore(deps): add honeycomb and opentelemetry

12 months agochore(changelog): render the changelog as html
xangelo [Tue, 3 Dec 2024 19:46:42 +0000 (14:46 -0500)]
chore(changelog): render the changelog as html

12 months agochore(scripts): make content scripts executable from package.json
xangelo [Tue, 3 Dec 2024 19:46:04 +0000 (14:46 -0500)]
chore(scripts): make content scripts executable from package.json

12 months agofix(ui): make gradient background more consistent
xangelo [Tue, 3 Dec 2024 18:17:56 +0000 (13:17 -0500)]
fix(ui): make gradient background more consistent

12 months agofeat(chat): add widgetbot for discord-based chat
xangelo [Tue, 3 Dec 2024 15:28:50 +0000 (10:28 -0500)]
feat(chat): add widgetbot for discord-based chat

Instead of using a custom chat system, we're now using Widgetbot so
that the chat integrates with the Discord server.

12 months agofeat(crafting): add monster drops
xangelo [Tue, 3 Dec 2024 05:53:33 +0000 (00:53 -0500)]
feat(crafting): add monster drops

We now have per-monster drop tables that link back to items (Airtable).

It allows us to select an item + monster, and set a drop rate for that item,
as well as a min/max quantity. When the monster is killed, we use the drop table
to determine how many of that item to drop.

That item gets added to the players Items inventory.

In order to support the fact that crafting isn't in play yet, if an item
doesn't have an effect_name, we disable the "use" button.

Eventually these crafting items will be only usable through the crafting
system to improve your existing weapons/armour

12 months agochore(logging): update to use winston for more structured logging
xangelo [Mon, 2 Dec 2024 18:44:45 +0000 (13:44 -0500)]
chore(logging): update to use winston for more structured logging

12 months agofix(inventory): users were getting their equipment buffed every fight
xangelo [Thu, 28 Nov 2024 06:52:03 +0000 (01:52 -0500)]
fix(inventory): users were getting their equipment buffed every fight

we were using expToLevel to check if the equipment had leveled up, but
we should have been using levelFromExp.

12 months agofeat(infra): add pm2ecosystem config
xangelo [Mon, 25 Nov 2024 21:53:14 +0000 (16:53 -0500)]
feat(infra): add pm2ecosystem config

12 months agochore(release): 0.4.3 v0.4.3
xangelo [Mon, 25 Nov 2024 21:31:52 +0000 (16:31 -0500)]
chore(release): 0.4.3

12 months agofeat(store): moved confirmation dialog to button
xangelo [Mon, 25 Nov 2024 21:31:09 +0000 (16:31 -0500)]
feat(store): moved confirmation dialog to button

12 months agofix(store, inventory): improve display of requirements
xangelo [Mon, 25 Nov 2024 18:53:01 +0000 (13:53 -0500)]
fix(store, inventory): improve display of requirements

12 months agochore: adjust no-account text on html
xangelo [Mon, 25 Nov 2024 18:44:48 +0000 (13:44 -0500)]
chore: adjust no-account text on html

12 months agofix(inventory): clean up requirement display
xangelo [Fri, 15 Nov 2024 20:22:33 +0000 (15:22 -0500)]
fix(inventory): clean up requirement display

Between requirements and boosts the items were getting a bit messy. This
makes sure that the content is the boost, but the requirements are easily
accessible if they matter.

12 months agochore(deps): introduce `@shared` path alias
xangelo [Fri, 15 Nov 2024 17:08:07 +0000 (12:08 -0500)]
chore(deps): introduce `@shared` path alias

12 months agochore(inventory,stores): cleaned up the styling
xangelo [Fri, 15 Nov 2024 07:44:40 +0000 (02:44 -0500)]
chore(inventory,stores): cleaned up the styling

The styling for both inventory and stores started the same and then
slowly diverged. This commit cleans up the duplication and makes
the styling more consistent across both pages.

It also creates a generic nav-based listing that can be used for
whatever else needs a list.

12 months agofeat: equipment exp
xangelo [Tue, 12 Nov 2024 18:21:05 +0000 (13:21 -0500)]
feat: equipment exp

All equipment now gains experience when used in combat. The levels are
calculated using a logarithmic progression so it isn't stored anywhere.

This also requires some UI updates to a players inventory to include
the new experience bar.

13 months agofix: enhance durability visibility
xangelo [Wed, 23 Oct 2024 16:25:11 +0000 (12:25 -0400)]
fix: enhance durability visibility

Durability used to be present as a progress bar on the item, but made
it hard to view durability on equipped items.

Durability is now present in the title attribute, and there's a visual
gradient applied to the items to denote how "damaged" it is

13 months agochore(release): 0.4.2 v0.4.2
xangelo [Fri, 18 Oct 2024 19:06:26 +0000 (15:06 -0400)]
chore(release): 0.4.2

13 months agofix: bg gradient should span entire window height
xangelo [Fri, 18 Oct 2024 19:00:13 +0000 (15:00 -0400)]
fix: bg gradient should span entire window height

13 months agofeat: display base damage and level-based boost
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.

14 months agochore: add the current task list
xangelo [Mon, 30 Sep 2024 14:32:37 +0000 (10:32 -0400)]
chore: add the current task list

15 months agofeat: support adding locations without them being visible to players
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

15 months agofix: adjust border color for main viewport to be less stark
xangelo [Tue, 27 Aug 2024 12:51:41 +0000 (08:51 -0400)]
fix: adjust border color for main viewport to be less stark

20 months agofix: give players max vigor on character creation
xangelo [Wed, 13 Mar 2024 17:32:53 +0000 (13:32 -0400)]
fix: give players max vigor on character creation

20 months agofix: make gradient span site height
xangelo [Wed, 13 Mar 2024 16:43:01 +0000 (12:43 -0400)]
fix: make gradient span site height

20 months agofeat: add class stats to professions
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"

23 months agofix: migrate existing routers to new router folder
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.

23 months agofix: migrate store routes to separate file
xangelo [Mon, 18 Dec 2023 06:01:43 +0000 (01:01 -0500)]
fix: migrate store routes to separate file

23 months agofix: migrate missing inventory routes to separate file
xangelo [Mon, 18 Dec 2023 05:50:21 +0000 (00:50 -0500)]
fix: migrate missing inventory routes to separate file

23 months agofix: migrate travel to separate route file
xangelo [Mon, 18 Dec 2023 05:11:14 +0000 (00:11 -0500)]
fix: migrate travel to separate route file

23 months agofix: refs to minLevel and maxLevel columns not being quoted in queries
xangelo [Mon, 18 Dec 2023 05:10:50 +0000 (00:10 -0500)]
fix: refs to minLevel and maxLevel columns not being quoted in queries

23 months agofix: migrate profile to separate route file
xangelo [Mon, 18 Dec 2023 04:38:19 +0000 (23:38 -0500)]
fix: migrate profile to separate route file

2 years agofix: make route imports dynamic
xangelo [Sat, 21 Oct 2023 03:26:42 +0000 (23:26 -0400)]
fix: make route imports dynamic

2 years agofix: migrate inventory to separate route file
xangelo [Sat, 21 Oct 2023 03:25:53 +0000 (23:25 -0400)]
fix: migrate inventory to separate route file

2 years agofix: migrate chat to separate route file
xangelo [Sat, 21 Oct 2023 03:11:23 +0000 (23:11 -0400)]
fix: migrate chat to separate route file

2 years agofeat: extend Express.Request to include base RL object
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.

2 years agofix: remove event date bucketing
xangelo [Mon, 16 Oct 2023 17:32:01 +0000 (13:32 -0400)]
fix: remove event date bucketing

2 years agofix: count current dungeon run
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.

2 years agochore(release): 0.4.1 v0.4.1
xangelo [Fri, 29 Sep 2023 16:17:06 +0000 (12:17 -0400)]
chore(release): 0.4.1

2 years agofix: add missing migration
xangelo [Fri, 29 Sep 2023 16:17:02 +0000 (12:17 -0400)]
fix: add missing migration

2 years agofix: remove clickhouse
xangelo [Fri, 29 Sep 2023 16:14:07 +0000 (12:14 -0400)]
fix: remove clickhouse

2 years agochore(release): 0.4.0 v0.4.0
xangelo [Fri, 29 Sep 2023 16:12:39 +0000 (12:12 -0400)]
chore(release): 0.4.0

2 years agofix: remove log of 0 events being flushed
xangelo [Fri, 29 Sep 2023 16:12:24 +0000 (12:12 -0400)]
fix: remove log of 0 events being flushed

2 years agofeat: min level for all locations
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.

2 years agofeat: psql based event system
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.

2 years agofix: auto-enter dungeon if you are in it
xangelo [Thu, 14 Sep 2023 16:11:49 +0000 (12:11 -0400)]
fix: auto-enter dungeon if you are in it

2 years agofeat!: dungeon traversal
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.

2 years 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.

2 years 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

2 years 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

2 years 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

2 years 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

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

2 years 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

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

2 years 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

2 years 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