Files
Client/GameTools/GLOBALSCRIPT/Creature/Character/CharacterStructure.h
LGram16 dd97ddec92 Restructure repository to include all source folders
Move git root from Client/ to src/ to track all source code:
- Client: Game client source (moved to Client/Client/)
- Server: Game server source
- GameTools: Development tools
- CryptoSource: Encryption utilities
- database: Database scripts
- Script: Game scripts
- rylCoder_16.02.2008_src: Legacy coder tools
- GMFont, Game: Additional resources

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 20:17:20 +09:00

89 lines
2.1 KiB
C++

#ifndef _CHARACTER_STRUCTURE_H_
#define _CHARACTER_STRUCTURE_H_
#include "../CreatureStructure.h"
// 전방 참조
class CCharacter;
// 캐릭터에 대한 속성
struct CharacterStatus
{
short m_nSTR; // 캐릭터 STR
short m_nDEX; // 캐릭터 DEX
short m_nCON; // 캐릭터 CON
short m_nINT; // 캐릭터 INT
short m_nWIS; // 캐릭터 WIS
CharacterStatus();
CharacterStatus(CHAR_INFOST& characterDBData);
void Init(CHAR_INFOST& characterDBData);
};
typedef CharacterStatus* LPCharacterStatus;
// -----------------------------------------------------------------------
// DB 에서 처음에 읽어 오는 데이터들. 중간중간 저장해서 DB에 갱신함.
// 되도록이면 게임 처리중에는 건드리지 않는다. ( 레벨업 등등을 제외하고 ... )
struct CharacterDBData
{
CHAR_INFOST m_Info; // 외모, 이름, 능력치, hp,mp 등 기본 정보
CHAR_POS m_Pos; // 종료시 위치 정보, 저장된 위치 정보 ( Respawn 장소 )
SKILL m_Skill;
QUICK m_Quick;
bool m_Admin;
};
typedef CharacterDBData* LPCharacterDBData;
// 유저 접속 정보. 유저의 IP를 넣음.
struct ConnectInfo
{
SOCKADDR_IN m_siAgentHost; // agent UDP address of host
SOCKADDR_IN m_siPrivateHost; // private UDP address of host
SOCKADDR_IN m_siPublicHost; // public UDP address of host
};
typedef ConnectInfo* LPConnectInfo;
// 캐릭터끼리의 전투 정보 (듀얼, 전쟁)
struct CharacterFightInfo
{
enum _VictoryOrDefeat { DRAW = 0, WIN = 1, LOSE = 2, DEAD_TO_CHARACTER = 3 };
CCharacter* m_pDuelOpponent;
char m_cResult;
CharacterFightInfo();
};
typedef CharacterFightInfo* LPCharacterFightInfo;
// 캐릭터 마스터리 정보
struct CharacterMasteryInfo
{
union {
struct {
unsigned short m_SwordMastery : 2;
unsigned short m_AxeMastery : 2;
unsigned short m_BluntMastery : 2;
unsigned short m_DaggerMastery : 2;
unsigned short m_CrushWeapon : 2;
unsigned short m_Blade : 2;
unsigned short m_ClawMastery : 2;
unsigned short m_Remainder : 2;
} MasteryKind;
unsigned short m_wMasteryInfo;
};
CharacterMasteryInfo() : m_wMasteryInfo(0) { }
CharacterMasteryInfo(unsigned short wMasteryInfo) : m_wMasteryInfo(wMasteryInfo) { }
};
typedef CharacterMasteryInfo* LPCharacterMasteryInfo;
#endif