game/prompt/66_consumable_items.md

1.5 KiB

Consumable Items (Potions) Implementation

Objective

Implement a consumable item system to provide immediate effects or short-term buffs during battle.

Features

1. New Item Type: Consumables

  • Category: EquipmentSlot.consumable
  • Items:
    1. Healing Potion: Restores HP immediately.
    2. Ironskin Potion (Armor): Grants Armor immediately.
    3. Strength Potion: Grants "Attack Up" buff for 1 turn.

2. Battle Mechanics

  • Usage: Consumables can be used from the inventory during the player's turn.
  • Action Cost: Usage is a Free Action (does not consume the turn). Players can use a potion and then Attack/Defend in the same turn.
  • Effects:
    • Heal: hp += value (capped at maxHp)
    • Armor: armor += value
    • Buff: Apply StatusEffectType.attackUp (increases damage by 20% or flat amount).

3. Shop Update

  • Shop now stocks 6 items total:
    • 4 Equipment (Weapons/Shields/Armor/Accessories)
    • 2 Consumables (Potions)

4. UI Updates

  • Battle Controls: Added an "Items" button (Bag icon) to open the battle inventory.
  • Shop UI: Updated to display and sell consumable items.
  • Battle Inventory: A dialog to view and use owned consumable items.

Technical Details

  • Item model updated to handle hpBonus (Heal), armorBonus (Armor), and effects (Buffs) for consumables.
  • BattleProvider.useItem(Item) implements the application logic.
  • CombatCalculator logic handles the Attack Up status effect multiplier.