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>
76 lines
1.9 KiB
C
76 lines
1.9 KiB
C
#ifndef _MONSTER_STRUCTURE_H_
|
|
#define _MONSTER_STRUCTURE_H_
|
|
|
|
#include "../CreatureStructure.h"
|
|
|
|
#pragma pack(8)
|
|
|
|
struct MonsterInfo
|
|
{
|
|
enum MaxNumber
|
|
{
|
|
MAX_MOTION_NUM = 4, // 최대 모션 개수
|
|
MAX_ORIGINAL_ITEM_NUM = 2,
|
|
MAX_AWARD_KIND = 9,
|
|
|
|
MAX_NAME_LENGTH = 32,
|
|
MAX_MODELING_FLAG_LENGTH = 32
|
|
};
|
|
|
|
enum MonsterPattern
|
|
{
|
|
PATTERN_COMMON = 0,
|
|
PATTERN_WARRIOR, // 워리어
|
|
PATTERN_DEFENDER, // 디펜더
|
|
PATTERN_MAGE, // 메이지
|
|
PATTERN_ACOLYTE, // 어콜라이트
|
|
PATTERN_BOSS, // 보스
|
|
PATTERN_BG // 배경(?)
|
|
};
|
|
|
|
enum HitBox
|
|
{
|
|
XPlus = 0, XMinus, YPlus, YMinus,
|
|
MAX_HITBOX_NUM = 4
|
|
};
|
|
|
|
enum Z3D_CHR_ACTION
|
|
{
|
|
Z3D_CA_WALK = 8, // 걷기
|
|
Z3D_CA_RUN = 1, // 달리기
|
|
Z3D_CA_CASTING = 50, // 캐스팅
|
|
Z3D_CA_ATTACK = 51 // 공격
|
|
};
|
|
|
|
|
|
MotionInfo m_MonsterMotions[MAX_MOTION_NUM]; // 몬스터의 행동 정보 (걷기, 달리기, 공격, 캐스팅)
|
|
char m_strName[MAX_NAME_LENGTH]; // 이름
|
|
char m_strModelingFlag[MAX_MODELING_FLAG_LENGTH]; // 모델링 형태 플래그
|
|
float m_fHitBox[MAX_HITBOX_NUM]; // 타격박스
|
|
|
|
unsigned long m_AwardItem[MAX_ORIGINAL_ITEM_NUM]; // 몬스터가 가지고 있는 오리지날 아이템들
|
|
int m_nDropRate[MAX_AWARD_KIND]; // 아이템 종류별 드랍률
|
|
|
|
DWORD m_dwKID; // 종류 ID
|
|
float m_fSize; // 사이즈
|
|
|
|
DWORD m_dwRespawnTime; // 리스폰 타임
|
|
float m_fAttackAngle; // 공격 각도
|
|
|
|
int m_nSkillPattern; // 스킬 패턴
|
|
int m_nSkillLevel; // 스킬 레벨
|
|
|
|
bool m_bStealth; // 스텔스 타입인지 여부
|
|
bool m_bFirstAttack; // 선제공격 여부
|
|
bool m_bReturnPosition; // 타겟이 도망가면 제자리로 돌아가는지 여부
|
|
bool m_bEscape; // 자신의 HP가 떨어졌을 때, 도망침 여부
|
|
|
|
MonsterInfo();
|
|
static MonsterPattern GetMonsterPattern(const char* szMonsterType);
|
|
};
|
|
|
|
|
|
#pragma pack()
|
|
|
|
#endif
|