0.4.0 (2023-09-22)
- api: only log 5xx errors (15cb866)
- api: recapture http errors as real errors, split user messages and errors up (35b09b5)
- api: refactor all manual usages of notifications into a wrapped function for consistent usage (67173d8)
- api: rework lots of internal getters to guarantee existence rather than check in every subfunction (f468476)
- auth: auth should not throw errors, instead should return them (7444cdd)
- explore: explore will no longer throw when you try to find an item (2cb92c9)
- explore: wave now shows the correct profile picture for the recipient (173588a)
- inventory: item stats recalculate properly (f00bc1f)
- lottery: allow players to buy lottery tickets at any time (862f6b6)
- lottery: jackpot updates after buying a ticket (44c039c)
- lottery: move daily reset to me page, do it correctly (2004bc6)
- lottery: ticket lottery shouldn't break the server anymore (ff25e16)
- notifications: disable actions on old notifications (1bc0110)
- town: list was not 100% width (c576533)
- auth: forgot password feature. email verification feature. change email/password feature. email verification badge on public profile for the cool kids (afd68ce)
- combat: sort abilities by whether or not you can use them (ad11229)
- lottery: notify winner if they win via ticket numbers (01bdf63)
- town: add worship center (bbdf35d)
- town: add worship feature. add worship leaderboard. add worship to headless runner (94edd14)
0.3.1 (2023-09-19)
- combat: combat page shouldn't fail when no fight exists (16ecf0c)
- crafting: fix crafting time display for seconds (cd65c0f)
- itemstats: sort stats alphabetically when displaying them in a list (bae4680)
- markdown: markdown renderers shouldn't try to render something that doesn't exist (8bfd769)
- me: me page shouldn't error when you don't have job levels set (435c3c3)
- rollbar: do not track errors that dont have a message (c2e693f)
- combat: add tooltips on elements to indicate bonus damage (cdaf0ac)
- explore: job change now has a dialog (ffc87a9)
- inventory: show stats in inventory table, rework some table (92a0bb7)
- lottery: add notification for lottery claiming (a652d4f)
- lottery: add ticket lottery. closes #100 (1e4222e)
- profile: separate weapon/basic abilities, add move/flee to basic (d2734b8)
0.3.0 (2023-09-17)
- ability: ability display synced between list and combat (a82bc83)
- api: add a rate limiter to prevent duplicate actions from seeping through (1304f48)
- api: api will no longer send patches with _id in them, closes #79 (54b9d03)
- api: internal ids for market and fight should work better (32204ac)
- collection: better card number display (e0f3982)
- collections: ui now looks better in firefox (71edd01)
- combat: add a safeguard for restarting combats when all enemies are dead but combat is frozen (4b9002c)
- combat: background image no longer blocks ground targetted skills (4a361bf)
- combat: correctly adjust combat ability display for current element multiplier (ee3d068)
- combat: fix combat freeze when trying to give item rewards (45c82dd)
- combat: fix elemental damage math to actually boost hit chance (05cdeb8)
- combat: fix twohorizontal and threevertical targetting. fix up visuals (2e76cfe)
- combat: hide special gauge if you have no special moves (773dcaf)
- combat: npcs will no longer try to use things that are on cooldown (45a117c)
- combat: show ability icons (a1c2874)
- core: rework all _id/id to internalId (417fe1c)
- crafting: crafting page should show collected items correctly. closes #122 (fc4d3f7)
- crafting: crafting that no longer gives xp will have a different button color. closes #90 (1ff38f3)
- equipment: chips are no longer clickable, even though that's really fun. closes #86 (f1454cd)
- fight: fix check for invalid fights (a7208dc)
- fight: running away no longer puts you in a phantom fight (a9b4c3e)
- leaderboard: leaderboard queries shouldnt throw an error (345ac54)
- leaderboard: walking to a location will correctly put you on the leaderboard for that location (8100022)
- login: update latest announcement visuals to be slightly better (3ee6d69)
- notification: fix notification generating with incorrect ids for actions (2db2e8e)
- profile: add loading spinner, better validation for invalid profiles (94a504e)
- profile: can no longer open and click confirm to set your portrait to itself. closes #98 (4d1db50)
- profile: can now select bg/portrait 0 (6b5d899)
- profile: fix people who dont have otherJobLevels set (56d92f7)
- profile: fix some errors causing the page to not render correctly (d7fbca8)
- profile: stats query for profile should work correctly (b8fde7b)
- sprite: no more -1git statusgit status! (719e021)
- table: all data tables are less bad looking now. closes #66 (f4c6c68)
- travel: can no longer travel when looking at monsters. travel resets your action. closes #169 (cdc5fe2)
- ui: background images load correctly on first load. closes #147 (dab403c)
- ui: claim coin notif will no longer persist until refresh (3303202)
- ui: no more -1 in sprite icons (ff4ac76)
- combat: add 'all enemies' targetting (4cb2bde)
- combat: add neat background underlay for fights (e2529e1)
- combat: add special gauge, make special attacks require special gauge (8fe5908)
- combat: combat can now drop items. closes #106 (7ac4312)
- combat: damage is more random - more resist/toughness merely improves chance for damage to be 0 (6f10969)
- combat: make skill popup bigger (57ad440)
- combat: show hit percentage for each creature (7e5a9a9)
- combat: show tooltip for damage calculations for abilities (0c2bed7)
- combat: some abilities hit multiple times (c682e35)
- combat: some skills can require a specific piece of equipment to function (827993c)
- content: load game content from server instead of global if the server is available (5682eee)
- equipment: can now unequip from equipment page. closes #103 (29c83a0)
- equipment: show equipment level on equipment page (c626ddc)
- explore: you can only wave at a person once every 12 hours, closes #51 (6400445)
- job: jobs have their own level, xp, and equipment. profile and public profile pages updated to match. (7c48a4d)
- login: auto redirect to game from login page if you're authed (c25f48c)
- login: login page vastly improved (82e7b49)
- lottery: there is now a daily player lottery for players to get rewards from. closes #99 (f66a22a)
- notifications: clear expired notifications. closes #49 (53475dc)
- notifications: levelup notifications now include your class (2cb17b5)
- player: inform players of newly learned abilities on levelup (57c3478)
- profile: add abilities tab for classes (e078643)
- showcase: add profile page, showcases. closes #36 (7d37ad8)
- testing: add test script to run a bunch of players. closes #60 (33e2262)
- ui: add a loading screen so users can see what's going on. closes #175 (83d206a)
- ui: add textures (b3e4848)
- ui: oats/coins in hero will be monospaced (6dc17f1)
- ui: pages with tabs now remember what tab you were looking at (5d0928b)
- ui: sidebar will now show if you have coins to claim from the market (on refresh, not pushed), closes #91 (5a6a250)
0.2.0 (2023-09-10)
- collections: Fix off-by-one error in portrait display, closes #154 (#165) (82bea8a)
- combat: make time between turns go 5x faster, closes #168 (7d49e2b)
- explore: disable explore button immediately, closes #125 (#162) (6c644e7)
- combat: rework display area to not have name on the sprite. closes #164 (f35f928)
- dx: PRs will now have a required title or commit format (2592041)
- explore: can find npcs that unlock backgrounds and sprites (4283587)
- explore: you can now encounter npcs who will let you change your class (a4e3fd1)
- town: add leaderboards to towns. closes #123 (17b6bab)
- ui: can choose backgrounds. one background can be found (fdf5707)
0.1.12 (2023-09-08)
- client: put version.json in the correct folder. closes #155 (1bdb25e)
- combat: actually skip characters who have no turn - no glowing (3a4ba9a)
- combat: remove invalid fights if they ever occur. closes #127 (c39e8fb)
- combat: ui should downscale better for fights. closes #119 (44957eb)
- discoveries: you can now discover a monster multiple times (03121d4)
- inventory: can take resources when your normal inventory is full (c4770f1)
- ui: when taking an item from explore, the update event is fired correctly. closes #150 (80cec50)
- combat: use toughness/resistance. closes #115 (bff0e25)
- explore: monster formations are weighted (4929a08)
0.1.11 (2023-09-07)
0.1.10 (2023-09-07)
- combat: enemies now respect ability cooldowns (2c48b6d)
- core: remove optional values in items, closes #97 (e4fba4b)
- core: use ws instead of sse. closes #149 (4ca44a6)
- explore: no explore while in combat, closes #148 (a4c9756)
0.1.9 (2023-08-31)
- core: do not show full urls for sse - they flood logs. closes #117 (56391b8)
- errors: rethrow some db-adjacent errors (52634c8)
0.1.8 (2023-08-31)
- combat: combat ends correctly (983e075)
0.1.7 (2023-08-31)
- core: hopefully add better error handling. closes #133 (32f7944)
- core: merge all event sources into one websocket, fix client to utilize one, using a united interface. closes #131 (00ed143)
- crafting: change ambiguous collect to take (d1826c1)
- fight: fix fleeing a fight throwing fight not found [ending the fight twice is not sensible]. (1a41808)
- migration: items will no longer migrate if they have an instance id (which triggers every time) (11fe9c7)
- ui: segments are now colored by tertiary, instead of primary, to not clash with xp bars. closes #142 (8b72209)
- xp: make xp require more every 10 levels (5154541)
- ui: add number formatting to more things on collections page (865cf4d)
- ui: improve descriptions for non-raw-percent values in travel screen, closes #121 (145f88c)
0.1.6 (2023-08-30)
- popover: add attribute to make popovers load in the right place (1e0d29e)
- ui: improve coloration on rarities. closes #130 (2b8d9e7)
- analytics: track more game events. closes #118 (6b60cd5)
- api: add game stats api endpoint to double check constants. closes #138 (1d7fa2e)
- combat: show if ability is physical or magical (b71e952)
- core: rip out discovery totals/rewards as constants (d38d049)
- core: rip out find rates as constants (14b461b)
- inventory: add loading spinner when loading inventory (a7ffb2d)
- stats: track more stats - combat, explores, items. closes #124 (7ce1b75)
- ui: add tooltips to profile for stats, total collected to increase user clarity. closes #136 (197fd1e)
0.1.5 (2023-08-30)
- item: discovering a bad equipment item will remove it (2d2d1c8)
- item: items/resources now cross-check so you can't get them in the wrong spots (8f89d09)
- market: market now always costs 1 coin to list at least (49c5b11)
0.1.4 (2023-08-29)
- combat: enemies will no longer attempt to move to the wrong side, halting the fight (957fd3b)
- fight: elemental damage is no longer wack. ground targetted spells work (06b29f3)
- fight: fights can end again (079e22e)
- fight: you can no longer kill dead creatures (fa4e3cd)
0.1.3 (2023-08-29)
0.1.2 (2023-08-29)
- build: generate blog posts correctly (902326e)
0.1.1 (2023-08-29)
0.1.0 (2023-08-29)
- action: wave should have an actual user id (05a8f7d)
- action: wave should not default to waveback=true (c187f57)
- analytics: gameanalytics starts a session every time it sends an event now (bdecd8a)
- analytics: swallow error for sessionStart (a8c6150)
- api: never trust the client. closes #70 (7f4027e)
- api: unite response values of services/controllers to all be the same interface (aeadbda)
- auth: add auth guard to pages, closes #52 (2f35dcb)
- avatar: default avatar shown in modal is no longer +1'd (d78e40e)
- client: fix rollbar sending client error cases (91c545d)
- combat: combat doesnt end every action (e083f20)
- combat: fix fight not found errors (654387a)
- equipment: equipment will no longer lose its instance id when equipped (cb5fa25)
- explore: explore would display negative xp if you leveled up from it (96a671a)
- icon: fix icon component to fill space correctly (2071220)
- inventory: can equip accessories again. closes #89 (e12cec5)
- inventory: names will wrap if needed (8e156d9)
- login: get notifications on login. closes #54 (2d028e1)
- login: no unauthorized error on homepage. closes #53 (ee575ce)
- market: can now list the last of a resource (1901f37)
- notifications: mark all read should not send 1 event per notification (2c52a6e)
- notifications: notifications with actions will no longer race to submit data and clear the actions (6293a4f)
- portrait: portrait selection is in the right place again (2aec357)
- profile: tiny avatar shows again. closes #63 (c079201)
- setup: add setup script for client, fix error for server setup (37733aa)
- workflow: only deploy server/client on tags (6895cc3)
- actions: better, more robust action handling. closes #57 (2b9b497)
- analytics: add gameanalytics to server. needs further refinement based on GA team. closes #33 (f787309)
- api: add swagger api docs. closes #56 (8760899)
- assets: better loading of background/portrait counts (d4532f7)
- assets: drastically improve asset load speed by caching spritesheet urls. closes #10 (45783ee)
- assets: load all qualities of asset, closes #7 (b539704)
- assets: properly cache assets and only bust if hash doesn't match (00e6b77), closes #19
- assets: properly cache bust/store spritesheets for medium quality (5c68b84)
- asset: support actually selecting different qualities of assets. closes #6 (4b50d8f)
- background: cache background urls (6ee80ac)
- collectibles: add progress to collectibles. closes #73 (36a4997)
- collections: add collections page for viewing all stuff in the game (d91848c)
- collections: add scaffolded collections page (38ebcf6)
- collections: collections now impart rewards. closes #39 (b097634)
- collections: hide collectible information for unfound ones (4ed7124)
- collections: show collectible description (cc9627a)
- core: add exp xp multiplier variable for faster dev (2b7d069)
- core: add explore speed multiplier to make local testing faster (4aeabd2)
- core: add nestia. closes #2 (fbb6ca6)
- core: can now collect resources (330af1c), closes #46
- craft: add confirm to craft (fc21e6e)
- crafting: add crafting. update some old systems. closes #46 (953944d)
- database: add indexes to non-fulluser schemas (0b218b1)
- equip: better nothing equipped messaging (2c8c86e)
- error: handle errors by myself instead of using a library because I want to send some back to the user too (78d9d8b)
- errors: add rollbar for error tracking. closes #29 (660703f)
- explore: add wave option from explore (based on npcChance). targets a random player at that location. creates a notification that target user can use to wave back to the originating player (ffcb7b6)
- explore: collectible rarity now matters (92220bd)
- inventory: add item compare modal pre-equip. closes #76 (4d0e234)
- inventory: allow multiple collects for collectibles and equipment (b95bfcf)
- item: can find items, collectibles, view them in inventory (99fa6fe)
- item: can now equip items, closes #68 (5ee41b1)
- item: can now sell items (0740d47)
- linkage: add discord join link (8a7b3e7)
- location: show location stats on travel screen and explore screen (b5d2b55), closes #15 #20
- logging: add more logging (a29bbe4)
- login: login page will show latest announcement. closes #30 (470f2dc)
- market: can list items on market, market interface (a8d7e4f)
- market: sales history is tracked per sale. closes #83 (2ed1c46)
- me: add my total stat calculations (25f8295)
- me: can now set bio and longbio (bfc618f), closes #12
- notification: add location discovery notification (b7b2a97)
- notifications: add notification system. add levelup notifications that auto dismiss after an hour (0f26cbe)
- notification: support one notification action to travel (b4ad5b3)
- notifications: use SSE instead of long polling to get new notifications (c7f4857)
- options: add options page, it does nothing. closes #37 (0e6915a)
- player: show player stats (45ea36a)
- profile: add censor-sensor to stop people from being unnecessarily profane. closes #11 (429fbf8)
- profile: add logout button. closes #55 (2cf7cae)
- travel: show # collectibles found per location, closes #77 (8112255)
- ui: add background-art component to make it easier to update when it happens (85a52db)
- ui: add modals to confirm travel/walk (b2494c2), closes #22
- ui: add my profile page (4b2598c)
- ui: cache background images (184a82b)
- ui: can collect items/collectibles. closes #21 (8fa6fcf)
- ui: server can run arbitrary ui actions (f0a6074)
- updates: add game updates page, closes #80 (4850a97)
- updates: blogpost generator puts version in title (42e669c)