76 lines
3.1 KiB
Markdown
76 lines
3.1 KiB
Markdown
# User Story Observations
|
||
|
||
## Domain Model Overview
|
||
|
||
The domain has **four core entities**:
|
||
|
||
| Entity | Key Properties |
|
||
| ---------------------- | ------------------------------------------------------------------------------------------------- |
|
||
| **Character** | Health (max 1000/1500), Level (1–10), Alive/Dead, Factions (many), damage survived, faction count |
|
||
| **Magical Object** | Health, maxHealth, type (Healing or Weapon), destroyed flag |
|
||
| **Faction** | String/name, members |
|
||
| **Damage/Heal events** | Source, target, amount, level-adjusted |
|
||
|
||
---
|
||
|
||
## User Story Groups
|
||
|
||
### 1. Damage & Health (3 rules)
|
||
|
||
- Characters start at 1000 HP, Alive
|
||
- Damage subtracts from HP; death at 0
|
||
- Self-damage forbidden
|
||
- Healing: self only, dead can't heal
|
||
|
||
### 2. Levels (2 rules)
|
||
|
||
- Base level 1; max HP scales at level 6 (→ 1500)
|
||
- Level gap ≥ 5: damage ±50% (target higher = -50%, target lower = +50%)
|
||
|
||
### 3. Factions (3 rules)
|
||
|
||
- Characters can join/leave multiple factions
|
||
- Same faction = Allies: no damage between allies, ally-only healing
|
||
|
||
### 4. Magical Objects (3 rules)
|
||
|
||
- **Healing objects**: give HP to characters, can't deal damage, can't be healed
|
||
- **Weapons**: deal fixed damage, lose 1 HP per use, can't heal
|
||
- Objects are faction-neutral
|
||
|
||
### 5. Leveling Up (3 rules)
|
||
|
||
- **Survived damage**: Level 1 → 1000, then +2000 per level (cumulative)
|
||
- **Faction diversity**: Level 1 → 3 factions, then +3 per level (cumulative)
|
||
- Max level 10, no level loss
|
||
|
||
---
|
||
|
||
## Observations & Ambiguities
|
||
|
||
1. **Max HP scaling**: Only mentions the jump at level 6. What about levels 7–10? Is max HP flat at 1500, or does it increase further?
|
||
|
||
2. **Level gap rule**: "5 or more levels" — is it strictly `≥ 5` or `> 5`? The wording says "5 or more" so `≥ 5`.
|
||
|
||
3. **Survived damage counter**: Is it per-character global (across all battles), or per-battle? The story says "counted over several battles" → global.
|
||
|
||
4. **Faction diversity counter**: "ever been part of" — cumulative across the character's lifetime, not just current factions.
|
||
|
||
5. **Level-up timing**: "happens directly afterwards (if the player is still alive)" — level-ups are synchronous, not deferred.
|
||
|
||
6. **Magical Object durability**: Weapons lose 1 HP per use — does that mean they can be "used" until destroyed (HP = 0)? Healing objects presumably can also be depleted.
|
||
|
||
7. **Healing cap**: Characters heal up to their max HP (which depends on level), and objects heal up to their own max.
|
||
|
||
8. **No explicit interface**: The stories describe behavior but don't specify method signatures — we'll need to design the API.
|
||
|
||
---
|
||
|
||
## Suggested Implementation Order
|
||
|
||
1. **Character** (HP, level, alive state, factions)
|
||
2. **Damage/Heal mechanics** with faction ally checks
|
||
3. **Level-based damage modifiers**
|
||
4. **Magical Objects** (Weapons + Healers)
|
||
5. **Leveling up** (survived damage + faction diversity)
|