risinglegends.git
15 months agofix: rename shop_items to shop_equipment
xangelo [Wed, 2 Aug 2023 17:47:49 +0000 (13:47 -0400)]
fix: rename shop_items to shop_equipment

shop_equipment is more explanatory as the items listed are only
equipment types (weapon/armour/spells).

15 months agofeat: add health-potion functionality
xangelo [Wed, 2 Aug 2023 16:13:33 +0000 (12:13 -0400)]
feat: add health-potion functionality

Once the user has health potions, they are displayed on the Inventory
page. In order to do that we had to split up inventory + profile. We
also introduced the new "Modal" system which utilizes the default
`<dialog>` HTML element to display more information about an item.

It also introduces the ability to filter equipment in shops based on
whatever it actually sells. The idea is that you can switch to a tab
that matches what you're trying to buy.

16 months agochore(release): 0.2.4 v0.2.4
xangelo [Sat, 29 Jul 2023 12:03:32 +0000 (08:03 -0400)]
chore(release): 0.2.4

16 months agofix: time gradients not scaled properly
xangelo [Sat, 29 Jul 2023 12:03:27 +0000 (08:03 -0400)]
fix: time gradients not scaled properly

16 months agofix: filtered shop views
xangelo [Sat, 29 Jul 2023 11:58:49 +0000 (07:58 -0400)]
fix: filtered shop views

Shop views now display the different tabs for the different item types
that the shop sells making it easier to buy stuff.

16 months agochore(release): 0.2.3 v0.2.3
xangelo [Fri, 28 Jul 2023 19:38:10 +0000 (15:38 -0400)]
chore(release): 0.2.3

16 months agofix: spacing of time on mobile
xangelo [Fri, 28 Jul 2023 19:38:04 +0000 (15:38 -0400)]
fix: spacing of time on mobile

16 months agochore(release): 0.2.2 v0.2.2
xangelo [Fri, 28 Jul 2023 19:35:16 +0000 (15:35 -0400)]
chore(release): 0.2.2

16 months agofeat: first profile picture
xangelo [Fri, 28 Jul 2023 19:35:10 +0000 (15:35 -0400)]
feat: first profile picture

16 months agofix: display right background based on travelled distance
xangelo [Fri, 28 Jul 2023 18:49:31 +0000 (14:49 -0400)]
fix: display right background based on travelled distance

16 months agofix: 3s delay when clicking the button to keep walking
xangelo [Fri, 28 Jul 2023 18:35:22 +0000 (14:35 -0400)]
fix: 3s delay when clicking the button to keep walking

You have to wait 3s before you're able to take the next step.

Fixes: #11

16 months agofix: extend in-game day to 2 IRL hours
xangelo [Fri, 28 Jul 2023 16:28:01 +0000 (12:28 -0400)]
fix: extend in-game day to 2 IRL hours

16 months agochore(release): 0.2.1 v0.2.1
xangelo [Thu, 27 Jul 2023 16:54:48 +0000 (12:54 -0400)]
chore(release): 0.2.1

16 months agofix: only run into monsters 20% of the time
xangelo [Thu, 27 Jul 2023 16:53:11 +0000 (12:53 -0400)]
fix: only run into monsters 20% of the time

16 months agochore(release): 0.2.0 v0.2.0
xangelo [Thu, 27 Jul 2023 16:48:31 +0000 (12:48 -0400)]
chore(release): 0.2.0

16 months agochore: remove unused dependencies
xangelo [Thu, 27 Jul 2023 16:48:21 +0000 (12:48 -0400)]
chore: remove unused dependencies

16 months agofix: display stat vals without sign or coloring
xangelo [Thu, 27 Jul 2023 16:29:52 +0000 (12:29 -0400)]
fix: display stat vals without sign or coloring

16 months agofix: disable switching tabs in a fight
xangelo [Thu, 27 Jul 2023 16:25:16 +0000 (12:25 -0400)]
fix: disable switching tabs in a fight

16 months agofix: replace city background if you die while travelling
xangelo [Thu, 27 Jul 2023 15:04:00 +0000 (11:04 -0400)]
fix: replace city background if you die while travelling

16 months agofix: back to town button after healing
xangelo [Thu, 27 Jul 2023 14:50:29 +0000 (10:50 -0400)]
fix: back to town button after healing

16 months agofeat: return to town button if killed while travelling
xangelo [Thu, 27 Jul 2023 14:47:11 +0000 (10:47 -0400)]
feat: return to town button if killed while travelling

16 months agofeat: when you die your travel plan is discarded
xangelo [Thu, 27 Jul 2023 14:42:34 +0000 (10:42 -0400)]
feat: when you die your travel plan is discarded

When you die your travel plan is deleted and you are moved back to the
town you started at.

You are unable to start a new travel session if you don't have any HP.

16 months agofeat: paths now define a distance between them
xangelo [Tue, 25 Jul 2023 19:43:53 +0000 (15:43 -0400)]
feat: paths now define a distance between them

When you travel from town to town, the distance is defined the in asset
spreadsheet. The actual distance you travel is between 3-10% of the
total distance applied as min/max bounds.

At 50% of the distance between two towns the background image will
change to denote that you are approaching that town. At this point the
monsters you start to encounter will be ones tied to the destination town.

16 months agofix: display the image from the destination city at 50% progress
xangelo [Tue, 25 Jul 2023 19:43:42 +0000 (15:43 -0400)]
fix: display the image from the destination city at 50% progress

16 months agofix: travel now takes X steps
xangelo [Tue, 25 Jul 2023 17:47:04 +0000 (13:47 -0400)]
fix: travel now takes X steps

X is some random number between 150-200, but this will eventually be set
based on the "paths" between towns and then randomized a bit.

16 months agofeat!: travelling between towns!
xangelo [Tue, 25 Jul 2023 17:45:42 +0000 (13:45 -0400)]
feat!: travelling between towns!

For now travelling does nothing except introduce a "mid" screen that you
have to click through to move to the next town.

Eventually this will turn into multiple "steps" that the player has to
take with the chance for random encounters or finding things.

16 months agorefactor: simplify player damage to monster workflow
xangelo [Thu, 13 Jul 2023 18:26:36 +0000 (14:26 -0400)]
refactor: simplify player damage to monster workflow

This majorly simplifies the player damage to monster damage workflow. It
also identified a couple bugs with how we were calculating damage.

16 months agochore(release): 0.1.1 v0.1.1
xangelo [Thu, 13 Jul 2023 17:28:56 +0000 (13:28 -0400)]
chore(release): 0.1.1

16 months agofeat: display current deployed version in UI
xangelo [Thu, 13 Jul 2023 17:28:09 +0000 (13:28 -0400)]
feat: display current deployed version in UI

16 months agofix: casting now uses INT instead of CON
xangelo [Thu, 13 Jul 2023 17:20:19 +0000 (13:20 -0400)]
fix: casting now uses INT instead of CON

Fighting was defaulting to constitution instead of intelligence for
calculating magical damage.

16 months agofeat: allow users to log out
xangelo [Thu, 13 Jul 2023 11:32:51 +0000 (07:32 -0400)]
feat: allow users to log out

There's a settings page that lets users log out. It displays additional
warnings/prompts if they haven't signed in to this user with a
username/email address yet.

16 months agofix: move jquery to a webpack external to reduce bundle size
xangelo [Thu, 13 Jul 2023 10:55:11 +0000 (06:55 -0400)]
fix: move jquery to a webpack external to reduce bundle size

The bundle is growing and this is the first step -> make jquery an
external dependency loaded by the browser instead of packaged.

16 months agofix: check players hp before allowing them to start a battle
xangelo [Thu, 13 Jul 2023 10:21:42 +0000 (06:21 -0400)]
fix: check players hp before allowing them to start a battle

We display an error on the client side to stop them from starting a
battle.

We return a 400 on the server if the player doesn't have enough HP

fixes: #2

16 months agofix: prod build process + migration
xangelo [Thu, 13 Jul 2023 10:15:51 +0000 (06:15 -0400)]
fix: prod build process + migration

Since we pre-build webpack, we're just running the typescript migration
and copying `public/` into `dist/`.

We also tweak the migration script so that it runs ALL migrations since
releases are more spread out now.

16 months agochore(release): 0.1.0 v0.1.0
xangelo [Wed, 12 Jul 2023 18:46:13 +0000 (14:46 -0400)]
chore(release): 0.1.0

16 months agofeat!: players get stat points on every level up
xangelo [Wed, 12 Jul 2023 18:45:34 +0000 (14:45 -0400)]
feat!: players get stat points on every level up

resolve: Issue #5

16 months agofix: define stats as an enum for easier iteration
xangelo [Wed, 12 Jul 2023 18:40:36 +0000 (14:40 -0400)]
fix: define stats as an enum for easier iteration

Stats make more sense as a string-based enum for most of our usecases,
even accounting for odd typescript enum things.

16 months agofix: spacing of stats/equipped items section on mobile
xangelo [Wed, 12 Jul 2023 18:39:21 +0000 (14:39 -0400)]
fix: spacing of stats/equipped items section on mobile

16 months agorefactor: remove unused requirements/boost columns
xangelo [Mon, 10 Jul 2023 19:13:46 +0000 (15:13 -0400)]
refactor: remove unused requirements/boost columns

When we migrated to json column types for boosts/requirements, we had to
leave the old columns in for a smooth migration (no data loss). This
migration removes that.

16 months agochore(release): 0.0.3 v0.0.3
xangelo [Mon, 10 Jul 2023 18:47:51 +0000 (14:47 -0400)]
chore(release): 0.0.3

16 months agofeat: add damage mitigation to armour
xangelo [Mon, 10 Jul 2023 18:47:12 +0000 (14:47 -0400)]
feat: add damage mitigation to armour

Damage mitigation (up to 99%) is now available on every piece of armour.

When you're hit, if that piece of armour has damage mitigation you'll
take that percentage of damage less.

IE: Damage Mitigation = 10% then you'll take 90% of the damage

This should since it feels like armour doesn't really do too much.

Fixes: #3

16 months agorefactor: make `ShopItem` a subset of `InventoryItem`
xangelo [Mon, 10 Jul 2023 18:00:28 +0000 (14:00 -0400)]
refactor: make `ShopItem` a subset of `InventoryItem`

The `ShopItem` type takes the `InventoryItem` type and removes the
unnecessary params and adds its own. That way we maintain the parity
between the two but enforce a much simpler mental model of the
inheritance hierarchy.

16 months agochore(release): 0.0.2 v0.0.2
xangelo [Fri, 7 Jul 2023 17:14:58 +0000 (13:14 -0400)]
chore(release): 0.0.2

16 months agofix: give users free healing if they have less than 20g
xangelo [Fri, 7 Jul 2023 17:12:42 +0000 (13:12 -0400)]
fix: give users free healing if they have less than 20g

16 months agofix: type in temp professional services
xangelo [Tue, 4 Jul 2023 17:13:25 +0000 (13:13 -0400)]
fix: type in temp professional services

16 months agobuild: generate changelog via husky+standard-version
xangelo [Tue, 4 Jul 2023 16:19:20 +0000 (12:19 -0400)]
build: generate changelog via husky+standard-version

husky is used to enforce conventional commits. The `standard-version`
package is used to enforce semver on the codebase. This also generates a
`CHANGELOG.md` file that outlines all the changes that have been made.

16 months agochore(release): 0.0.1 v0.0.1
xangelo [Tue, 4 Jul 2023 16:17:17 +0000 (12:17 -0400)]
chore(release): 0.0.1

16 months agobuild: fix node package name/version
xangelo [Tue, 4 Jul 2023 16:13:31 +0000 (12:13 -0400)]
build: fix node package name/version

16 months agocicd: nodemon only restarts on server changes
xangelo [Tue, 4 Jul 2023 15:19:55 +0000 (11:19 -0400)]
cicd: nodemon only restarts on server changes

16 months agorefactor: give socket event default `Promise<any>` to prep for testing
xangelo [Tue, 4 Jul 2023 15:19:05 +0000 (11:19 -0400)]
refactor: give socket event default `Promise<any>` to prep for testing

16 months agofix: level <= 3 is free healing
xangelo [Tue, 4 Jul 2023 15:18:23 +0000 (11:18 -0400)]
fix: level <= 3 is free healing

16 months agoFix readme
xangelo [Tue, 4 Jul 2023 13:30:32 +0000 (09:30 -0400)]
Fix readme

16 months agoadd simple readme
xangelo [Mon, 3 Jul 2023 11:38:35 +0000 (07:38 -0400)]
add simple readme

16 months agofix signup box on mobile
xangelo [Mon, 3 Jul 2023 11:33:50 +0000 (07:33 -0400)]
fix signup box on mobile

16 months agofix: new players didn't get profession level set
xangelo [Mon, 3 Jul 2023 11:05:21 +0000 (07:05 -0400)]
fix: new players didn't get profession level set

Because their profession level wasn't set, they were unable to do
anything because loading a player attempts to join that table.

16 months agomap: stether
xangelo [Fri, 30 Jun 2023 21:11:55 +0000 (17:11 -0400)]
map: stether

16 months agoremove unused file
xangelo [Fri, 30 Jun 2023 20:59:17 +0000 (16:59 -0400)]
remove unused file

16 months agostop fight buttons jumping around
xangelo [Fri, 30 Jun 2023 20:38:06 +0000 (16:38 -0400)]
stop fight buttons jumping around

16 months agofix margins on map
xangelo [Fri, 30 Jun 2023 19:44:32 +0000 (15:44 -0400)]
fix margins on map

16 months agoadd default texts for all healers
xangelo [Fri, 30 Jun 2023 18:39:09 +0000 (14:39 -0400)]
add default texts for all healers

16 months agoseparate healers to their own events
xangelo [Fri, 30 Jun 2023 16:05:33 +0000 (12:05 -0400)]
separate healers to their own events

Healers now have their own events.. coupled with a bunch of randomized
lines from Windcross to Davelfell.

16 months agomap image for davelfell
xangelo [Fri, 30 Jun 2023 13:31:59 +0000 (09:31 -0400)]
map image for davelfell

16 months agointroduce formula field + override for monster stat seed
xangelo [Fri, 30 Jun 2023 10:16:17 +0000 (06:16 -0400)]
introduce formula field + override for monster stat seed

16 months agobg image for Wildegard
xangelo [Fri, 30 Jun 2023 09:55:08 +0000 (05:55 -0400)]
bg image for Wildegard

16 months agomonsters now appear at certain times
xangelo [Thu, 29 Jun 2023 16:43:26 +0000 (12:43 -0400)]
monsters now appear at certain times

Monsters can appear during any time period and also the `any` period.

When we search for monsters, it defaults to looking to any monsters that
are available in `any` period and the current time period (server-side).
This is configurable (for example if we are in a cave we might want to
force night monsters) by the caller.

16 months agofix: make main page section more legible
xangelo [Thu, 29 Jun 2023 14:29:28 +0000 (10:29 -0400)]
fix: make main page section more legible

16 months agofix: background gradient doesnt span full height
xangelo [Thu, 29 Jun 2023 13:00:46 +0000 (09:00 -0400)]
fix: background gradient doesnt span full height

16 months agoadd time to the game
xangelo [Thu, 29 Jun 2023 10:27:16 +0000 (06:27 -0400)]
add time to the game

Every hour is 1 day and the background of the game changes to show the
current time. Everything is scaled to the 30 gradients that we have and
we haven't tested past a common multiple of 60.

Everything is happening client side.

17 months agofix: monster selector autoselects previous monster
xangelo [Mon, 26 Jun 2023 09:56:48 +0000 (05:56 -0400)]
fix: monster selector autoselects previous monster

17 months agoremove unused `calc:ap` event
xangelo [Fri, 23 Jun 2023 16:26:11 +0000 (12:26 -0400)]
remove unused `calc:ap` event

17 months agoremove unused methods/imports
xangelo [Thu, 22 Jun 2023 17:55:30 +0000 (13:55 -0400)]
remove unused methods/imports

17 months agoferbalt highlands map image
xangelo [Thu, 22 Jun 2023 17:54:24 +0000 (13:54 -0400)]
ferbalt highlands map image

17 months agofix: display HP+ for restoration spells
xangelo [Tue, 20 Jun 2023 15:07:59 +0000 (11:07 -0400)]
fix: display HP+ for restoration spells

17 months agoindicate if player is above/below requirements for shop items
xangelo [Tue, 20 Jun 2023 13:58:43 +0000 (09:58 -0400)]
indicate if player is above/below requirements for shop items

17 months agofix: users city location not persisting
xangelo [Mon, 19 Jun 2023 18:52:33 +0000 (14:52 -0400)]
fix: users city location not persisting

17 months agodont display empty location types
xangelo [Mon, 19 Jun 2023 18:33:28 +0000 (14:33 -0400)]
dont display empty location types

17 months agorefresh-cities and refresh-shops commands added to chat
xangelo [Mon, 19 Jun 2023 09:34:08 +0000 (05:34 -0400)]
refresh-cities and refresh-shops commands added to chat

17 months agomade generic city:stores event for all stores
xangelo [Mon, 19 Jun 2023 09:26:26 +0000 (05:26 -0400)]
made generic city:stores event for all stores

Stores can carry whatever they want, and they can be added on the fly as
they now have a dedicated event.

17 months agomigrate to int ids for location primary key + manual event_name
xangelo [Sun, 18 Jun 2023 10:12:36 +0000 (06:12 -0400)]
migrate to int ids for location primary key + manual event_name

Rather than generating the event name from the id/type of the location
we've instead made the id's autoincrementing integers with a custom
event_name field that defines the event they trigger.

It makes it a lot easier to build generic functionality and we can
always swap the id's to uuids if we really care that much.

17 months agolarge equipment modification to support integer ids for shop items
xangelo [Fri, 16 Jun 2023 18:00:55 +0000 (14:00 -0400)]
large equipment modification to support integer ids for shop items

For now we only support being able to buy items from the stores..
eventually you'll be able to craft stuff and probably get custom item
drops.

We also support inventory being created via airtable

17 months agofactions!
xangelo [Fri, 16 Jun 2023 16:50:07 +0000 (12:50 -0400)]
factions!

This adds a simple "faction" system which is that a monster may belong
to a single faction. For now nothing is done with this but later on this
can be expanded to include a reputation system or titles and the like.

17 months agoset order of city locations
xangelo [Fri, 16 Jun 2023 14:55:43 +0000 (10:55 -0400)]
set order of city locations

You can set the display order for each type of location in a city

17 months agomake it a bit easiser to read text
xangelo [Fri, 16 Jun 2023 14:11:38 +0000 (10:11 -0400)]
make it a bit easiser to read text

17 months agolots of small fixes!
xangelo [Fri, 16 Jun 2023 13:39:30 +0000 (09:39 -0400)]
lots of small fixes!

This includes a bunch of fixes like:
- generic exploration instead of an event for every place
- background images for the Explore screen
- a way to re-import monsters via chat command
- removes a table for flexbox on the explore screen

17 months agowip: we can now travel between towns
xangelo [Wed, 14 Jun 2023 19:22:51 +0000 (15:22 -0400)]
wip: we can now travel between towns

The travel system is very rudimentary right now.

Each city has a path that it leads to, and a path that leads to it.

The city/travel paths are done via the new socket event code layout and
is integrated with AirTable. The new seed for cities will create missing
cities and add missing links. It will also modify city names if the ID
already exists.

Weve also done a large change to migrate content over to integer ids so
that its' easier to create content from AirTable.

Monsters/Locations/Cities are all done via integer Ids.. when a fight is
created, we utilize a uuid, but maintain a reference back to the core
monster via `ref_id`.

17 months agofix: client socket sometimes sends events before server finished auth
xangelo [Wed, 14 Jun 2023 09:10:35 +0000 (05:10 -0400)]
fix: client socket sometimes sends events before server finished auth

The auth process is long and the connection event will fire before it's
complete. This adds a secondary "ready" event for when the socket is
actual ready to start receiving connections.

17 months agoinfra: move rest of commands to new event system
xangelo [Wed, 14 Jun 2023 09:06:51 +0000 (05:06 -0400)]
infra: move rest of commands to new event system

17 months agoinfra: migrate equip/unequip to new event system
xangelo [Wed, 14 Jun 2023 08:53:46 +0000 (04:53 -0400)]
infra: migrate equip/unequip to new event system

17 months agofix: display login message to all players
xangelo [Wed, 14 Jun 2023 08:45:20 +0000 (04:45 -0400)]
fix: display login message to all players

17 months agofix: new players don't get their profession set
xangelo [Wed, 14 Jun 2023 08:32:13 +0000 (04:32 -0400)]
fix: new players don't get their profession set

17 months agoprod migration/seed commands
xangelo [Wed, 14 Jun 2023 08:24:10 +0000 (04:24 -0400)]
prod migration/seed commands

17 months agofix: empty skills usage causes fights to freeze
xangelo [Wed, 14 Jun 2023 08:08:47 +0000 (04:08 -0400)]
fix: empty skills usage causes fights to freeze

17 months agofirst level professions!
xangelo [Tue, 13 Jun 2023 19:17:16 +0000 (15:17 -0400)]
first level professions!

Wanderers can become Warriors, Mages, or Rogues at level 25!

This also introduces a new model for manging events across
server/clients that keeps related entities together! It also allows us
to add unit tests for areas we're concerned about (like fighting).

17 months agoremove discord integration
xangelo [Mon, 12 Jun 2023 19:04:38 +0000 (15:04 -0400)]
remove discord integration

17 months agodiscord support via widgetbot
xangelo [Fri, 9 Jun 2023 17:23:27 +0000 (13:23 -0400)]
discord support via widgetbot

17 months agoremove unnecessary logs/vars
xangelo [Fri, 9 Jun 2023 15:26:34 +0000 (11:26 -0400)]
remove unnecessary logs/vars

17 months agofix height of main sections
xangelo [Fri, 9 Jun 2023 15:26:25 +0000 (11:26 -0400)]
fix height of main sections

17 months agotest discord chat integration
xangelo [Fri, 9 Jun 2023 14:13:36 +0000 (10:13 -0400)]
test discord chat integration

17 months agosupport restoration_magic spells
xangelo [Thu, 8 Jun 2023 16:48:17 +0000 (12:48 -0400)]
support restoration_magic spells

restoration magic heals you. Healing is done after monster damage is
applied. You can't heal over max hp. You don't do any damage if you only
have healing spells equipped during your casting.

17 months agoignore compiled files
xangelo [Wed, 7 Jun 2023 18:25:06 +0000 (14:25 -0400)]
ignore compiled files