step 10.12: done

This commit is contained in:
bepis
2026-10-23 04:33:19 +11:00
parent 08d880ab73
commit 4277b9c273
8 changed files with 286 additions and 51 deletions
+3 -16
View File
@@ -2,6 +2,8 @@
// Sell value = 40% of buy_price (materials with buy_price=0 use rarity default).
const { getDb } = require('../db');
const { AppError } = require('../utils/errors');
const { getEquipmentBonuses } = require('../game/equipment');
const { calcDerived } = require('../game/stats');
// Rarity defaults for materials (buy_price = 0).
const MATERIAL_SELL_DEFAULTS = { common: 2, uncommon: 4, rare: 8, epic: 16, legendary: 32 };
@@ -278,22 +280,7 @@ function listInventory(characterId) {
const rows = s.listInventory.all(characterId);
// Calculate current derived stats including equipment bonuses.
const equipBonuses = {
bonus_str: 0, bonus_agi: 0, bonus_int: 0, bonus_vit: 0,
bonus_attack: 0, bonus_defense: 0,
};
for (const row of rows) {
if (row.equipped_slot) {
equipBonuses.bonus_str += row.bonus_str || 0;
equipBonuses.bonus_agi += row.bonus_agi || 0;
equipBonuses.bonus_int += row.bonus_int || 0;
equipBonuses.bonus_vit += row.bonus_vit || 0;
equipBonuses.bonus_attack += row.bonus_attack || 0;
equipBonuses.bonus_defense += row.bonus_defense || 0;
}
}
const { calcDerived } = require('../game/stats');
const equipBonuses = getEquipmentBonuses(characterId);
const derived = calcDerived(
{ str: ch.str, agi: ch.agi, int: ch.int, vit: ch.vit },
ch.level,