- Tokens 타입 string? → Dictionary<string,string>? (Go API JSON object 역직렬화 실패 수정) - 409 응답 핸들러 return false → return null (컴파일 에러 수정) - INTO_BOSS_RAID 파티원 각자에게 본인 토큰과 함께 전달 (기존: 파티장에게 N번 중복) - GetPlayer null 체크 추가 (NullReferenceException 방지) - BossId 하드코딩 1 → packet.RaidId 사용 - Player 클래스에 Experience/AttackPower 등 전투 스탯 필드 추가 - ToPlayerInfo에서 새 필드 매핑 추가 - OnIntoChannelParty Nickname을 Session.UserName에서 가져오도록 수정 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
124 lines
1.5 KiB
C#
124 lines
1.5 KiB
C#
namespace MMOserver.Game;
|
|
|
|
public class Player
|
|
{
|
|
public int HashKey
|
|
{
|
|
get;
|
|
set;
|
|
}
|
|
|
|
public int PlayerId
|
|
{
|
|
get;
|
|
set;
|
|
}
|
|
|
|
public string Nickname
|
|
{
|
|
get;
|
|
set;
|
|
} = string.Empty;
|
|
|
|
public int Level
|
|
{
|
|
get;
|
|
set;
|
|
}
|
|
|
|
public int Hp
|
|
{
|
|
get;
|
|
set;
|
|
}
|
|
|
|
public int MaxHp
|
|
{
|
|
get;
|
|
set;
|
|
}
|
|
|
|
public int Mp
|
|
{
|
|
get;
|
|
set;
|
|
}
|
|
|
|
public int MaxMp
|
|
{
|
|
get;
|
|
set;
|
|
}
|
|
|
|
// 위치/방향 (클라이언트 패킷과 동일하게 float)
|
|
public float PosX
|
|
{
|
|
get;
|
|
set;
|
|
}
|
|
|
|
public float PosY
|
|
{
|
|
get;
|
|
set;
|
|
}
|
|
|
|
public float PosZ
|
|
{
|
|
get;
|
|
set;
|
|
}
|
|
|
|
public float RotY
|
|
{
|
|
get;
|
|
set;
|
|
}
|
|
|
|
// 경험치
|
|
public int Experience
|
|
{
|
|
get;
|
|
set;
|
|
}
|
|
|
|
public int NextExp
|
|
{
|
|
get;
|
|
set;
|
|
}
|
|
|
|
// 전투 스탯
|
|
public float AttackPower
|
|
{
|
|
get;
|
|
set;
|
|
}
|
|
|
|
public float AttackRange
|
|
{
|
|
get;
|
|
set;
|
|
}
|
|
|
|
public float SprintMultiplier
|
|
{
|
|
get;
|
|
set;
|
|
}
|
|
|
|
// 현재 위치한 맵 ID
|
|
public int CurrentMapId
|
|
{
|
|
get;
|
|
set;
|
|
}
|
|
|
|
// 레이드 입장 전 이전 맵 ID (레이드 종료 후 복귀용, 서버 캐싱)
|
|
public int PreviousMapId
|
|
{
|
|
get;
|
|
set;
|
|
}
|
|
}
|