Files
Code_of_Conquest/api/app/models/__init__.py
Phillip Tarrant f3ac0c8647 feat(api): add ItemRarity enum to item system
- Add ItemRarity enum with 5 tiers (common, uncommon, rare, epic, legendary)
- Add rarity field to Item dataclass with COMMON default
- Update Item serialization (to_dict/from_dict) for rarity
- Export ItemRarity from models package
- Add 24 comprehensive unit tests for Item and ItemRarity

Part of Phase 4 Week 2: Inventory & Equipment System (Task 2.1)
2025-11-26 16:14:29 -06:00

90 lines
1.6 KiB
Python

"""
Data models for Code of Conquest.
This package contains all dataclass models used throughout the application.
"""
# Enums
from app.models.enums import (
EffectType,
DamageType,
ItemType,
ItemRarity,
StatType,
AbilityType,
CombatStatus,
SessionStatus,
ListingStatus,
ListingType,
)
# Core models
from app.models.stats import Stats
from app.models.effects import Effect
from app.models.abilities import Ability, AbilityLoader
from app.models.items import Item
# Progression
from app.models.skills import SkillNode, SkillTree, PlayerClass
# Character
from app.models.character import Character
# Combat
from app.models.combat import Combatant, CombatEncounter
# Session
from app.models.session import (
SessionConfig,
GameState,
ConversationEntry,
GameSession,
)
# Marketplace
from app.models.marketplace import (
Bid,
MarketplaceListing,
Transaction,
ShopItem,
)
__all__ = [
# Enums
"EffectType",
"DamageType",
"ItemType",
"ItemRarity",
"StatType",
"AbilityType",
"CombatStatus",
"SessionStatus",
"ListingStatus",
"ListingType",
# Core models
"Stats",
"Effect",
"Ability",
"AbilityLoader",
"Item",
# Progression
"SkillNode",
"SkillTree",
"PlayerClass",
# Character
"Character",
# Combat
"Combatant",
"CombatEncounter",
# Session
"SessionConfig",
"GameState",
"ConversationEntry",
"GameSession",
# Marketplace
"Bid",
"MarketplaceListing",
"Transaction",
"ShopItem",
]