from enum import StrEnum, auto from ttfrog.db.base import EnumField class Conditions(StrEnum): blinded = auto() charmed = auto() deafened = auto() frightened = auto() grappled = auto() incapacitated = auto() invisible = auto() paralyzed = auto() petrified = auto() poisoned = auto() prone = auto() restrained = auto() stunned = auto() unconscious = auto() dead = auto() class DamageType(StrEnum): piercing = auto() slashing = auto() bludgeoning = auto() fire = auto() cold = auto() lightning = auto() thunder = auto() acid = auto() poison = auto() radiant = auto() necrotic = auto() psychic = auto() force = auto() magical = auto() magical_piercing = auto() magical_slashing = auto() magical_bludgeoning = auto() silvered_piercing = auto() silvered_slashing = auto() silvered_bludgeoning = auto() adamantium_piercing = auto() adamantium_slashing = auto() adamantium_bludgeoning = auto() ranged_weapon_attacks = auto() melee_weapon_attacks = auto() class Defenses(StrEnum): vulnerable = auto() resistant = auto() immune = auto() absorbs = auto() class InventoryType(EnumField): EQUIPMENT = "EQUIPMENT" SPELL = "SPELL"