Update game 1.0.27

This commit is contained in:
Warren H
2026-06-19 16:00:47 -04:00
parent 814eb1998d
commit bf12aefeeb
42 changed files with 1732 additions and 1225 deletions
+105 -138
View File
@@ -1,172 +1,139 @@
# Gearing System
## Goal
## Current Rule
Gearing should move from boss-specific multi-item drop tables to one clear currency loop:
The game uses fewer playable content tiers and more gear upgrade steps.
1. Kill bosses.
2. Earn boss coins.
3. Craft gear with those coins.
4. Upgrade that boss gear into the next item-level tier with higher-rarity coins.
Content tiers:
This keeps boss loot readable, removes low-percentage frustration, and makes every boss kill progress a targeted gear goal.
| Content Tier | Unlock Level | Purpose |
| --- | ---: | --- |
| iLvl 1 | 1 | First real gear set |
| iLvl 10 | 10 | Midgame jump |
| iLvl 20 | 20 | Endgame jump |
| iLvl 25 | 25 | Hard endgame |
Gear tiers:
| Gear Tier | How It Is Used |
| ---: | --- |
| 1 | Crafted from iLvl 1 content |
| 5 | Upgrade tier from iLvl 1 content coins |
| 10 | Crafted/upgraded from iLvl 10 content coins |
| 15 | Gear-only upgrade tier from iLvl 10 content coins |
| 20 | Crafted/upgraded from iLvl 20 content coins |
| 25 | Crafted/upgraded from iLvl 25 content coins |
This keeps the dungeon/raid picker simple while still giving players steady gear goals.
## New Characters
New characters start with no gear equipped.
The first goal is to clear iLvl 1 content, earn raw boss coins, and craft the first iLvl 1 set. Starter gear exists as craftable gear, not automatic inventory.
## Coin Tiers
Coins are component items. Each coin is tied to a boss source and an item-level tier.
Coins are component items. Each coin is tied to a boss and a content tier.
| Item Level | Display Color | Rarity Key | Example |
| --- | --- | --- | --- |
| 5 | White | common | Bulldrome Coin |
| Content Tier | Coin Prefix | Rarity Key | Example |
| ---: | --- | --- | --- |
| 1 | Raw | common | Raw Bulldrome Coin |
| 10 | Green | uncommon | Green Bulldrome Coin |
| 15 | Blue | rare | Blue Bulldrome Coin |
| 20 | Purple | epic | Purple Bulldrome Coin |
| 25 | Orange | legendary | Orange Bulldrome Coin |
Implementation note: the current TypeScript rarity union supports `common`, `uncommon`, `rare`, and `epic`. Orange needs a new rarity key, recommended as `legendary`, plus UI color styling.
iLvl 5 and iLvl 15 gear do not have their own playable content tier. They use coins from the previous playable tier:
| Gear Tier | Coin Tier Used |
| ---: | ---: |
| 1 | 1 |
| 5 | 1 |
| 10 | 10 |
| 15 | 10 |
| 20 | 20 |
| 25 | 25 |
## Boss Loot
Each boss has one loot roll.
For now, each successful boss loot roll awards 1 to 3 coins:
| Roll Result | Coins Awarded |
| --- | --- |
| Low roll | 1 coin |
| Normal roll | 2 coins |
| High roll | 3 coins |
Recommended weighting:
| Coins | Chance |
| --- | --- |
| 1 | 50% |
| 2 | 35% |
| 3 | 15% |
The coin source comes from the defeated boss. Bulldrome drops Bulldrome coins, Rathian drops Rathian coins, and so on.
The coin tier comes from content difficulty or roguelike depth:
| Source | Coin Tier |
| --- | --- |
| Item level 5 content | White level 5 coins |
| Item level 10 content | Green level 10 coins |
| Item level 15 content | Blue level 15 coins |
| Item level 20 content | Purple level 20 coins |
| Item level 25 content | Orange level 25 coins |
## Crafting Costs
Gear is crafted with boss coins from the same boss and item-level tier.
| Gear Item Level | Cost |
| --- | --- |
| 5 | 5 white boss coins |
| 10 | 10 green boss coins |
| 15 | 15 blue boss coins |
| 20 | 20 purple boss coins |
| 25 | 25 orange boss coins |
Example:
- Bulldrome item-level 5 helmet costs 5 white Bulldrome coins.
- Bulldrome item-level 10 helmet costs 10 green Bulldrome coins.
- Rathian item-level 20 gloves cost 20 purple Rathian coins.
## Gear Upgrades
Crafting can create gear directly, but upgrades should become the preferred long-term path.
Upgrade rule:
- Existing boss gear upgrades into the next item-level version of the same boss gear.
- Upgrade cost uses coins from the next tier.
- Required coin quantity equals the target item level.
Each boss drops one boss coin for the selected content tier.
Examples:
| Upgrade | Cost |
| --- | --- |
| Bulldrome item level 5 gear -> Bulldrome item level 10 gear | 10 green Bulldrome coins |
| Bulldrome item level 10 gear -> Bulldrome item level 15 gear | 15 blue Bulldrome coins |
| Bulldrome item level 15 gear -> Bulldrome item level 20 gear | 20 purple Bulldrome coins |
| Bulldrome item level 20 gear -> Bulldrome item level 25 gear | 25 orange Bulldrome coins |
- Bulldrome at iLvl 1 drops Raw Bulldrome Coins.
- Tigrex at iLvl 10 drops Green Tigrex Coins.
- Barroth at iLvl 20 drops Purple Barroth Coins.
- Anjanath at iLvl 25 drops Orange Anjanath Coins.
Upgrade should consume the old item and award the upgraded item. This avoids duplicate clutter and keeps equipment identity clear.
## Crafting And Upgrades
The first gear item in a boss/item line can be crafted directly. Higher versions should be reached through Upgrade.
Current rule:
- Craft iLvl 1 boss gear directly.
- Upgrade iLvl 1 -> 5 with iLvl 1 coins.
- Craft or upgrade iLvl 10 gear from iLvl 10 content.
- Upgrade iLvl 10 -> 15 with iLvl 10 coins.
- Craft or upgrade iLvl 20 gear from iLvl 20 content.
- Craft or upgrade iLvl 25 gear from iLvl 25 content.
Upgrade consumes the old item and awards the upgraded item. This avoids duplicate clutter and keeps item identity clear.
Examples:
| Upgrade | Cost Source |
| --- | --- |
| Raw Bulldrome Helmet iLvl 1 -> Honed Bulldrome Helmet iLvl 5 | Raw Bulldrome Coins |
| Green Tigrex Helmet iLvl 10 -> Blue Tigrex Helmet iLvl 15 | Green Tigrex Coins |
| Purple Bulldrome Helmet iLvl 20 -> Orange Bulldrome Helmet iLvl 25 | Orange Bulldrome Coins |
## UI Behavior
The dungeon and raid picker only shows playable content tiers:
```text
iLvl 1 -> iLvl 10 -> iLvl 20 -> iLvl 25
```
The equipment screen still shows gear recipes for:
```text
iLvl 1 -> iLvl 5 -> iLvl 10 -> iLvl 15 -> iLvl 20 -> iLvl 25
```
Direct crafting is blocked for recipes that have a lower item-level version in the same boss/item line. Use the selected item's Upgrade button for those.
## Roguelike Loot
Roguelike bosses should award coins when defeated, using the same 1 to 3 coin roll.
Roguelike gear should follow the same tier brackets.
Roguelike coin tier should scale by wave band:
Recommended mapping:
| Waves | Coin Tier |
| --- | --- |
| 1-4 | Level 5 white coins |
| 5-9 | Level 10 green coins |
| 10-14 | Level 15 blue coins |
| 15-19 | Level 20 purple coins |
| 20+ | Level 25 orange coins |
Boss identity can be handled two ways:
1. Boss-based coins: use the actual boss template selected for that roguelike boss.
2. Roguelike coins: use a generic roguelike coin per tier.
Recommended first pass: boss-based coins. It reuses the same crafting economy as dungeons and makes roguelike runs feel connected to the main gear chase.
## Roguelike Checkpoints
Checkpoints should unlock every 5 waves.
| Highest Cleared Wave | Future Start Wave |
| --- | --- |
| 0-4 | 1 |
| 5-9 | 5 |
| Stage Band | Coin Tier |
| --- | ---: |
| 1-4 | 1 |
| 5-9 | 10 |
| 10-14 | 10 |
| 15-19 | 15 |
| 20+ | Highest unlocked 5-wave checkpoint |
| 15-19 | 20 |
| 20+ | 25 |
Checkpoint rule:
Boss-based coins are still preferred. A roguelike boss should award coins for its actual boss template when possible.
- Unlock a checkpoint after clearing its boss band.
- Starting from a checkpoint begins at that wave band with matching coin tier.
- Runs should still record leaderboard progress from the selected start wave so full runs and checkpoint runs can be ranked separately later.
## Data Notes
Current implementation note: the roguelike screen always starts at stage 1 and only awards XP per boss. Checkpoints need saved character progress and a start-wave selector.
Authoritative gearing data lives in SQLite seed data:
## Current Code Fit
- `db/seed.sql`
- `src/offline-starter-profile.json`
The existing system already has most of the required foundation:
Run this after changing seed data:
- `items.slot = 'component'` can represent coins.
- `character_inventory.quantity` already stacks components.
- `crafting_recipes` and `crafting_recipe_components` already support coin costs.
- `encounter_loot_rolls` and `encounter_loot_roll_items` already persist retry-safe loot awards.
- `completeRoguelike` is already called after each roguelike boss kill for XP, so coin awards can attach to that same flow.
```sh
npm run db:init
npm run offline:export
```
Needed changes:
`npm run build` already runs `offline:export`, so a production build also refreshes the offline starter profile.
- Replace current 4-component boss drop tables with one boss coin per boss per tier.
- Change boss loot roll count from multiple chance slots to one 1-3 coin roll.
- Add orange/legendary rarity support.
- Add upgrade recipes or a dedicated upgrade endpoint.
- Add roguelike boss coin awards.
- Add roguelike checkpoint persistence and start-wave selection.
- Export updated offline starter data after seed changes.
## Suggestions
Use guaranteed coin drops for now. One to three coins per boss gives steady progress and makes craft timing easy to understand.
Keep coins boss-specific, not slot-specific. Slot-specific components add complexity without much decision value.
Use upgrade-first UI. Show the next upgrade for equipped gear before showing the full crafting catalog.
Keep direct crafting and upgrading at the same coin cost for the target tier. Direct crafting helps new slots catch up; upgrading preserves boss gear identity.
Add a pity floor only if needed later. If boss kills always award coins, the system already has deterministic progress.
Use one orange rarity key: `legendary`. Avoid storing display color names as rarity values; colors can change without data migration.
TrueNAS keeps its own persistent `data/game.db`. Pushing code does not merge or replace that database. The TrueNAS app applies seed/schema changes when the container starts and runs `npm run db:init`.