Files

46 lines
2.0 KiB
Python

from pydantic import BaseModel, Field
from datetime import datetime
from typing import Optional
class AncestorDeathCreate(BaseModel):
name: str = Field(..., description="선조의 이름")
generation: int = Field(..., description="선조의 세대 수")
cause_of_death: str = Field(..., description="사망 원인 (예: 가시 함정, 화염 슬라임 등)")
floor: int = Field(..., description="사망한 던전 층수")
class DeathRecordRequest(BaseModel):
cause_of_death: str = Field(..., description="사망 원인 (누구에게 죽었는지)")
class NextGenerationResponse(BaseModel):
next_generation: int = Field(..., description="다음 플레이어 세대 번호")
class AncestorDeathResponse(BaseModel):
id: int
name: str
generation: int
cause_of_death: str
floor: int
created_at: datetime
class Config:
from_attributes = True
class DialogueRequest(BaseModel):
current_generation: int = Field(..., description="현재 플레이어의 세대")
class DialogueResponse(BaseModel):
dialogue: str = Field(..., description="늙은 문지기 NPC의 맞춤형 조언 대사")
class SkillCreateRequest(BaseModel):
prompt: str = Field(..., description="스킬 생성을 위한 플레이어 텍스트 입력")
player_level: int = Field(default=1, description="플레이어의 레벨 (스탯 밸런싱 기준)")
class SkillCreateResponse(BaseModel):
skill_name: str = Field(..., description="생성된 스킬의 이름")
scale: float = Field(..., description="스킬 크기 (수치)")
damage: float = Field(..., description="스킬 데미지 (수치)")
speed: float = Field(..., description="스킬 투사체 속도 또는 발동 속도 (수치)")
visual_effect: str = Field(..., description="유니티 이펙트 종류 (예: fire, ice, electric, physical, poison 등)")
skill_type: str = Field(..., description="스킬 형태 (예: projectile, splash, buff, aura 등)")
description: str = Field(..., description="스킬 설명")