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,120 @@
#ifndef _CHARACTER_CLASS_H_
#define _CHARACTER_CLASS_H_
#include <DB/DBDefine.h>
// <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
struct CharacterDBData;
struct ChState;
class CClass
{
public:
enum JobType
{
NONE_JOB = 0,
// <20>ΰ<EFBFBD> <20>⺻Ŭ<E2BABB><C5AC><EFBFBD><EFBFBD>
Fighter = 1, Rogue = 2,
Mage = 3, Acolyte = 4,
// <20>ΰ<EFBFBD> 1stŬ<74><C5AC><EFBFBD><EFBFBD>
Defender = 5, Warrior = 6,
Assassin = 7, Archer = 8,
Sorcerer = 9, Enchanter = 10,
Priest = 11, Cleric = 12,
// <20><>ĭ <20>⺻Ŭ<E2BABB><C5AC><EFBFBD><EFBFBD>
Combatant = 17, Officiator = 18,
// <20><>ĭ 1stŬ<74><C5AC><EFBFBD><EFBFBD>
Templar = 19, Attacker = 20,
Gunner = 21, RuneOff = 22,
LifeOff = 23, ShadowOff = 24,
MAX_CLASS = 25
};
enum StatusType
{
NONE_STAT = 0,
STR = 1,
DEX = 2,
CON = 3,
INT = 4,
WIS = 5,
MAX_TYPE = 6
};
enum JobLevel
{
NONE_CLASS = 0,
DEFAULT_CLASS = 1,
JOB_CHANGE_1ST = 2
};
enum RaceType
{
HUMAN = 0,
AKHAN = 1,
MAX_RACE = 2
};
CClass(const JobType eJobType, const JobType ePrevJobType, const JobLevel eJobLevel, const RaceType eRace,
const StatusType eType1, const unsigned char cIncrement1,
const StatusType eType2, const unsigned char cIncrement2,
const bool bLevelSwap);
CClass();
void LevelUp(CHAR_INFOST* InfoSt);
bool JobChange(CharacterDBData* DBData, unsigned char cClassType);
bool UpgradeClass(CharacterDBData* DBData, unsigned char cClassType);
bool DowngradeClass(CharacterDBData* DBData, unsigned char cClassType);
bool InitializeClass(CharacterDBData* DBData, unsigned char cClassType); // <20><><EFBFBD><EFBFBD> 1<><31> <20>⺻ Ŭ<><C5AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
bool CheckState(ChState& State, unsigned char cLevel);
bool CheckMinState(ChState& State, unsigned char cLevel);
unsigned short GetMinState(StatusType eType, unsigned char cLevel);
static JobLevel GetJobLevel(unsigned char cClass);
static unsigned char GetPreviousJob(unsigned char cClass);
static unsigned char GetRequiredIP(unsigned short usClass, unsigned char cType);
static RaceType GetRace(unsigned char cClass);
protected:
StatusType m_eIncrementType[2]; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>߰<EFBFBD> <20>ɷ<EFBFBD>ġ Ÿ<><C5B8>
unsigned char m_cIncrementValue[2]; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>߰<EFBFBD> <20>ɷ<EFBFBD>ġ <20><>
JobType m_eJobType; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
JobType m_ePrevJobType; // <20>ٷ<EFBFBD> <20><><EFBFBD><EFBFBD> Ŭ<><C5AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
JobLevel m_eJobLevel; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
RaceType m_eRace; // <20>Ҽ<EFBFBD> <20><><EFBFBD><EFBFBD>
bool m_bLevelSwap; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD><C6B0><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><C2A6> 2/1 <20><><EFBFBD><EFBFBD><EFBFBD≯<EFBFBD> Ȧ<><C8A6> 1/2 <20><><EFBFBD><EFBFBD>)
inline void IncrementByType(CHAR_INFOST* InfoSt,
unsigned char cTypeIndex, unsigned char cIncrementIndex);
};
extern CClass ClassTable[CClass::MAX_CLASS];
inline void CClass::IncrementByType(CHAR_INFOST* InfoSt,
unsigned char cTypeIndex, unsigned char cIncrementIndex)
{
switch(m_eIncrementType[cTypeIndex]) {
case STR: InfoSt->STR += m_cIncrementValue[cIncrementIndex]; break;
case DEX: InfoSt->DEX += m_cIncrementValue[cIncrementIndex]; break;
case CON: InfoSt->CON += m_cIncrementValue[cIncrementIndex]; break;
case INT: InfoSt->INT += m_cIncrementValue[cIncrementIndex]; break;
case WIS: InfoSt->WIS += m_cIncrementValue[cIncrementIndex]; break;
}
}
#endif