Combat Backend & Data Models

- Implement Combat Service
- Implement Damage Calculator
- Implement Effect Processor
- Implement Combat Actions
- Created Combat API Endpoints
This commit is contained in:
2025-11-26 15:43:20 -06:00
parent 30c3b800e6
commit 03ab783eeb
22 changed files with 9091 additions and 5 deletions

View File

@@ -18,8 +18,10 @@ from app.services.session_service import (
SessionNotFound,
SessionLimitExceeded,
SessionValidationError,
MAX_ACTIVE_SESSIONS,
)
# Session limits are now tier-based, using a test default
MAX_ACTIVE_SESSIONS_TEST = 3
from app.models.session import GameSession, GameState, ConversationEntry
from app.models.enums import SessionStatus, SessionType, LocationType
from app.models.character import Character
@@ -116,7 +118,7 @@ class TestSessionServiceCreation:
def test_create_solo_session_limit_exceeded(self, mock_db, mock_appwrite, mock_character_service, sample_character):
"""Test session creation fails when limit exceeded."""
mock_character_service.get_character.return_value = sample_character
mock_db.count_documents.return_value = MAX_ACTIVE_SESSIONS
mock_db.count_documents.return_value = MAX_ACTIVE_SESSIONS_TEST
service = SessionService()
with pytest.raises(SessionLimitExceeded):