# Role You are a Senior Flutter Developer working on "Colosseum's Choice". You need to fix a critical bug in the **HP Calculation Logic** within the `Character` model. # Problem 1. **Sudden Death:** Unequipping an item subtracts the HP bonus from Current HP. If Current HP is low, the player dies instantly. 2. **Accidental Revive:** Equipping an item adds the HP bonus to Current HP. If the player is dead (0 HP), this revives them. # Solution 1. **Unequip Logic:** Do NOT subtract the bonus. Instead, check if `Current HP > New Total Max HP`. If so, set `Current HP = New Total Max HP`. (Clamp logic). 2. **Equip Logic:** Only add the HP bonus to Current HP if the player is **Alive** (`hp > 0`). # Required Changes Please generate the updated code for the following file. --- ## 1. `lib/models/character.dart` (Fix) **Methods to Update:** - `equip(Item item)`: - Handle swapping (unequip old item first). - Add new item to `equipment`. - **Fix:** Only execute `hp += item.hpBonus` if `hp > 0` (Player is alive). - `unequip(Item item)`: - Remove item from `equipment`. - **Fix:** Do NOT do `hp -= hpBonus`. Instead, calculate `totalMaxHp` (which uses the updated equipment list) and ensure `hp` does not exceed it (`if (hp > totalMaxHp) hp = totalMaxHp;`). --- # Output Format Please provide the complete code for `lib/models/character.dart`.