- 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)
90 lines
1.6 KiB
Python
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",
|
|
]
|