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>
This commit is contained in:
2025-11-29 20:17:20 +09:00
parent 5d3cd64a25
commit dd97ddec92
11602 changed files with 1446576 additions and 0 deletions

View File

@@ -0,0 +1,205 @@
#ifndef _SKILL_STRUCTURE_H_
#define _SKILL_STRUCTURE_H_
#pragma once
#include <Utility/TypeArray.h>
#include <Item/ItemStructure.h>
#pragma pack(8)
namespace Skill
{
enum Const
{
SKILL_MASK = 0x8000,
ERROR_OF_DISTANCE = 10 // <20>Ÿ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> (<28><>ų Ÿ<><C5B8> <20>Ÿ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>)
};
namespace Type
{
enum AbilityType
{
AB_ANIMAL_TALK = 0, // <20><><EFBFBD><EFBFBD>NPC<50><43> <20><>ȭ
AB_SOCIALEX = 1, // Ȯ<><C8AE> <20>Ҽȸ<D2BC><C8B8><EFBFBD> <20><><EFBFBD><EFBFBD><EBB0A1>
AB_NOFIRSTATK = 2, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ȴ<EFBFBD><C8B4><EFBFBD>
AB_MOUNT_SPEEDUP = 3, // Ż<><C5BB> <20>̼<EFBFBD> <20><><EFBFBD><EFBFBD>
AB_TEMPINVEN_TIMEUP = 4, // <20>ӽ<EFBFBD><D3BD>κ<EFBFBD><CEBA><20>ð<EFBFBD><C3B0><EFBFBD><EFBFBD><EFBFBD>
AB_GETUP_GOLD = 5, // <20><><EFBFBD><EFBFBD> ȹ<><20><><EFBFBD><EFBFBD>
AB_RESPAWN_EX = 6, // Ȯ<><C8AE> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
AB_FOOD_UP = 7, // <20><><EFBFBD>ķ<EFBFBD> <20>ɷ<EFBFBD>ġ <20><><EFBFBD><EFBFBD>
AB_SHOP_MEMBERSHIP = 8, // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28><><EFBFBD>Ű<EFBFBD><C5B0><EFBFBD> <20>϶<EFBFBD>, <20>ǸŰ<C7B8><C5B0><EFBFBD> <20><><EFBFBD><EFBFBD>)
AB_CHEMICAL = 9, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ȸ<><C8B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
AB_ENDUR_SHILD = 10, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>϶<EFBFBD> <20><><EFBFBD><EFBFBD>
AB_RECOVERY_UP = 11, // HP,MP ȸ<><C8B8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
AB_GATHER_FIND = 12, // <20>̴ϸʿ<CFB8> <20>Դ<EFBFBD><D4B4><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ش<EFBFBD>
AB_MYEQUIP_UP = 13, // <20>ڽ<EFBFBD><DABD><EFBFBD> <20><><EFBFBD><EFBFBD> ȹ<><C8B9><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
AB_LUCK_UP = 14, // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
AB_EQUIP_LEVELDOWN = 15, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ٿ<EFBFBD><D9BF><EFBFBD>Ų<EFBFBD><C5B2>.
AB_HERBS = 16, // <20><><EFBFBD><EFBFBD> ä<><C3A4>
AB_MINING = 17, // ä<><C3A4>
MAX_ABILITY_TYPE = 18
};
enum SkillType
{
NONE = 0,
PASSIVE = 1,
INSTANCE = 2,
CAST = 3,
CHANT = 4,
ENCHANT = 5,
ITEM = 6,
SET = 7,
ACTION = 8,
ABILITY = 9,
GATHER = 10,
MAX_SKILL_TYPE = 11
};
extern const CTypeName SkillTypes[MAX_SKILL_TYPE];
enum DRCType
{
MAGIC = 0,
RIGHT_WEAPON = 1,
LEFT_WEAPON = 2
};
};
namespace UseLimit
{
enum Type
{
NONE = 0,
// <20>ΰ<EFBFBD>
FOR_FIGHTER = 1, // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>Ǽ<EFBFBD> Ȱ <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ұ<EFBFBD>
WITH_SHIELD = 2, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> : <20><><EFBFBD>а<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD>.
FOR_FIGHTER_TWOHANDED = 3, // <20><><EFBFBD>չ<EFBFBD><D5B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) : <20><><EFBFBD>չ<EFBFBD><D5B9><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ÿ<EFBFBD><C3BF><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><ECBFA1> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>Ұ<EFBFBD><D2B0><EFBFBD><EFBFBD>ϴ<EFBFBD>.
FOR_ALL_ONEHAND = 4, // <20>Ѽչ<D1BC><D5B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> : <20><><EFBFBD>չ<EFBFBD><D5B9><20>Ǽ<EFBFBD><C7BC><EFBFBD><EFBFBD>δ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>Ұ<EFBFBD><D2B0><EFBFBD><EFBFBD>ϴ<EFBFBD>. <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
WITH_DAGGER = 5, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> : <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ÿ<EFBFBD><C3BF><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>.
WITH_THROWING_DAGGER = 6, // <20><><EFBFBD><EFBFBD><EFBFBD>״<EFBFBD><D7B4>żҸ<C5BC> : <20>κ<EFBFBD><CEBA><EFBFBD><E4B8AE> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>Ű<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>. (<28>տ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ǿ<EFBFBD> <20><><EFBFBD><EFBFBD> <20>ʿ<EFBFBD><CABF><EFBFBD> <20><><EFBFBD><EFBFBD>.)
RANGED = 7, // Ȱ/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><C8AD><EFBFBD>Ҹ<EFBFBD> : Ȱ<>̳<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ǿ<EFBFBD> <20>ְ<EFBFBD> <20>κ<EFBFBD><CEBA><EFBFBD><E4B8AE> ȭ<><C8AD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>.
// <20><>ĭ
LEFT_ARM = 8, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> : <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϰ<EFBFBD> <20>־<EFBFBD><D6BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>.
GUARD_ARM = 9, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> : <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϰ<EFBFBD> <20>־<EFBFBD><D6BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>.
WITH_WEAPON = 10, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> : <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>Ǽ<EFBFBD><C7BC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>Ұ<EFBFBD><D2B0><EFBFBD><EFBFBD>ϴ<EFBFBD>.
ATTACK_ARM = 11, // <20><><EFBFBD>þ<EFBFBD><C3BE><EFBFBD><EFBFBD><EFBFBD> : <20><><EFBFBD>ݿ<EFBFBD><DDBF><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϰ<EFBFBD> <20>־<EFBFBD><D6BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>.
GUN_ARM = 12, // <20>Ǿ<EFBFBD><C7BE><EFBFBD><EFBFBD><EFBFBD> ź<><C5BA><EFBFBD>Ҹ<EFBFBD> : <20><><EFBFBD>Ÿ<EFBFBD><C5B8><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϰ<EFBFBD> ź<><C5BA><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>־<EFBFBD><D6BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>.
KNIFE_ARM = 13, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> : <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϰ<EFBFBD> <20>־<EFBFBD><D6BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>.
WITH_CLOW = 14, // Ŭ<>ο<EFBFBD><CEBF><EFBFBD><EFBFBD><EFBFBD> : Ŭ<>ο<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ÿ<EFBFBD><C3BF><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>.
MAX_USE_LIMIT = 15
};
extern const CTypeName UseLimits[MAX_USE_LIMIT];
};
// <20><>ų <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
namespace StatusLimit
{
enum Type
{
NONE = 0, // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
STR = 1, // STR<54><52> <20><><EFBFBD><EFBFBD> <20>̻<EFBFBD> <20>ʿ<EFBFBD>
DEX = 2, // DEX<45><58> <20><><EFBFBD><EFBFBD> <20>̻<EFBFBD> <20>ʿ<EFBFBD>
CON = 3, // CON<4F><4E> <20><><EFBFBD><EFBFBD> <20>̻<EFBFBD> <20>ʿ<EFBFBD>
INT = 4, // INT<4E><54> <20><><EFBFBD><EFBFBD> <20>̻<EFBFBD> <20>ʿ<EFBFBD>
WIS = 5, // WIS<49><53> <20><><EFBFBD><EFBFBD> <20>̻<EFBFBD> <20>ʿ<EFBFBD>
LEVEL = 6, // LEVEL<45><4C> <20><><EFBFBD><EFBFBD> <20>̻<EFBFBD> <20>ʿ<EFBFBD> //--//
MAX_STATUS_LIMIT = 7 //--//
};
extern const CTypeName StatusLimits[MAX_STATUS_LIMIT];
};
namespace Target
{
enum Type
{
NONE = 0,
MELEE = 1,
FRIEND = 2,
ENEMY = 3,
DEAD_FRIEND = 4,
DEAD_ENEMY = 5,
FRIEND_OBJECT = 6,
ENEMY_OBJECT = 7,
PARTY = 8,
FRIEND_EXCEPT_SELF = 9,
LINE_ENEMY = 10,
SUMMON = 11,
MAX_TARGET_TYPE = 12
};
extern const CTypeName TargetTypes[MAX_TARGET_TYPE];
};
struct ProtoType
{
enum
{
MAX_LIMIT_NUM = 2,
MAX_FILE_NAME = 32,
MAX_SKILL_NAME = 32,
MAX_SKILL_DESCRIBE = 256
};
char m_szEffectFileName[MAX_FILE_NAME]; // <20><><EFBFBD><EFBFBD>Ʈ <20><><EFBFBD>ϸ<EFBFBD>
char m_szHitFileName[MAX_FILE_NAME]; // <20><>Ʈ <20><><EFBFBD>ϸ<EFBFBD>
char m_szCastingFileName[MAX_FILE_NAME]; // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD>ϸ<EFBFBD>
Item::SpriteData m_SpriteInfo; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ <20><><EFBFBD><EFBFBD>
char m_szSkillDescribe[MAX_SKILL_DESCRIBE]; // <20><>ų <20><><EFBFBD><EFBFBD>
Type::SkillType m_eSkillType; // See Namespace Type
Target::Type m_eTargetType; // See Namespace Target
UseLimit::Type m_eUseLimit; // See Namespace UseLimit
unsigned char m_StatusLimitType[MAX_LIMIT_NUM]; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
char m_StatusLimitValue[MAX_LIMIT_NUM]; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>
unsigned short m_usSkill_ID; // <20><>ų <20><><EFBFBD>̵<EFBFBD>
unsigned short m_StartMP; // <20><><EFBFBD><EFBFBD> <20>Ҹ<EFBFBD> MP
unsigned short m_LevelMP; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>Ҹ<EFBFBD> MP
unsigned short m_LockMP; // <20><>ī<EFBFBD><C4AB>Ʈ<EFBFBD><C6AE> <20>Ҹ<EFBFBD> MP
unsigned short m_StartTick; // <20><><EFBFBD><EFBFBD> ƽī<C6BD><C4AB>Ʈ
unsigned short m_LevelTick; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ƽī<C6BD><C4AB>Ʈ
unsigned short m_usParentSkill; // <20>θ<EFBFBD> <20><>ų <20><><EFBFBD>̵<EFBFBD>
unsigned short m_usChildSkill; // <20>ڽ<EFBFBD> <20><>ų <20><><EFBFBD>̵<EFBFBD>
unsigned long m_dwCoolDownTime; // <20><><EFBFBD>ٿ<EFBFBD> <20>ð<EFBFBD>
float m_fMinRange; // <20>ּ<EFBFBD> <20><><EFBFBD><EFBFBD> <20>Ÿ<EFBFBD>
float m_fMaxRange; // <20>ִ<EFBFBD> <20><><EFBFBD><EFBFBD> <20>Ÿ<EFBFBD>
float m_fEffectExtent; // ȿ<><C8BF> <20><><EFBFBD><EFBFBD>
bool m_bProtection; // <20><>ȣ <20><>ų<EFBFBD><C5B3> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>°<EFBFBD>?
bool m_bGauge; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ų<EFBFBD>ΰ<EFBFBD>? (ex. <20>н<EFBFBD>Ʈ<EFBFBD><C6AE><EFBFBD><EFBFBD>)
bool m_bIsClassSkill; // Ŭ<><C5AC><EFBFBD><EFBFBD> <20><>ų<EFBFBD>ΰ<EFBFBD>?
bool m_bInterrupt; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ų<EFBFBD>ΰ<EFBFBD>?
bool m_bCounter; // ī<><C4AB><EFBFBD><EFBFBD> <20><><EFBFBD>ϴ<EFBFBD> <20><>ų<EFBFBD>ΰ<EFBFBD>?
unsigned char m_cEndScript; // EndScript<70><74> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ°<CFB4>?
unsigned char m_cEndCoolDown; // <20><>ų ȿ<><C8BF><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ٿ<EFBFBD><D9BF><EFBFBD> <20><><EFBFBD>ư<EFBFBD><C6B0><EFBFBD>. (ex. <20><><EFBFBD>ڽ<EFBFBD>)
unsigned char m_cStrikeNum; // <20>ٴ<EFBFBD> <20><>Ʈ Ƚ<><C8BD>
unsigned char m_cPadding[1];
ProtoType();
void Initialize();
};
}
#pragma pack()
#endif