17 lines
524 B
Python
17 lines
524 B
Python
from __future__ import annotations
|
|
from dataclasses import dataclass
|
|
from typing import Dict
|
|
|
|
@dataclass(frozen=True)
|
|
class Ability:
|
|
id: str
|
|
name: str
|
|
class_name: str
|
|
path: str
|
|
tier: int # 1..level; use this as your learn/unlock gate
|
|
element: str
|
|
cost_mp: int
|
|
damage_power: float # abstract power; plug into your combat math
|
|
scaling_stat: str # e.g., "CHA"
|
|
scaling_coeff: float# e.g., 1.22 means +122% of stat modifier
|
|
rules_text: str # readable summary (optional) |