Files
Client/GameTools/GLOBALSCRIPT/Creature/Monster/MonsterStructure.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

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