# 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.
