complete regen of hero classes, spells, races, etc
This commit is contained in:
27
app/game/models/enemies.py
Normal file
27
app/game/models/enemies.py
Normal file
@@ -0,0 +1,27 @@
|
||||
from __future__ import annotations
|
||||
from dataclasses import dataclass, field
|
||||
from typing import Dict, Literal
|
||||
|
||||
Difficulty = Literal["easy","standard","tough","elite","boss"]
|
||||
|
||||
@dataclass(frozen=True)
|
||||
class EnemyProfile:
|
||||
# Level selection relative to player
|
||||
level_bias: int = 0 # e.g., +2 spawns slightly above player level
|
||||
level_variance: int = 1 # random wiggle (0..variance)
|
||||
min_level: int = 1
|
||||
max_level: int = 999
|
||||
|
||||
# Global power multipliers (applied after base+per-level growth)
|
||||
hp_mult: float = 1.0
|
||||
dmg_mult: float = 1.0
|
||||
armor_mult: float = 1.0
|
||||
speed_mult: float = 1.0
|
||||
|
||||
# Optional stat emphasis for auto-building enemy ability scores
|
||||
stat_weights: Dict[str, float] = field(default_factory=dict) # e.g. {"STR":1.2,"DEX":1.1}
|
||||
|
||||
# Rewards
|
||||
xp_base: int = 10
|
||||
xp_per_level: int = 5
|
||||
loot_tier: str = "common"
|
||||
Reference in New Issue
Block a user