📄 stepmigration.cpp
字号:
// StepMigration.cpp: implementation of the CStepMigration class.
//
//////////////////////////////////////////////////////////////////////
#include "..\stdafx.h"
#include "StepMigration.h"
///////////////////////////////////////////////////////////////////////////////
// Construction/Destruction
///////////////////////////////////////////////////////////////////////////////
CStepMigration::CStepMigration()
{
m_vtBuffer.clear();
}
CStepMigration::~CStepMigration()
{
m_vtBuffer.clear();
}
///////////////////////////////////////////////////////////////////////////////
// Public Method
///////////////////////////////////////////////////////////////////////////////
void CStepMigration::Load(char* pData)
{ // 单捞鸥海捞胶俊辑 巩磊凯 历厘篮 箭磊 0阑 NULL肺 牢侥窍骨肺 1究 哗辑 肺靛
char aBuffer[MAX_STEP];
memcpy(aBuffer, pData, MAX_STEP);
for (int i = 0; i < MAX_STEP; ++i)
{
*(pData + i) -= 1;
}
memcpy(aBuffer, pData, MAX_STEP);
CheckStepInfo(pData);
}
void CStepMigration::Save(char* pData)
{ // 单捞鸥海捞胶俊辑 巩磊凯 历厘篮 箭磊 0阑 NULL肺 牢侥窍骨肺 1究 歹秦辑 历厘
CheckStepInfo(pData);
char aBuffer[MAX_STEP];
memcpy(aBuffer, pData, MAX_STEP);
for (int i = 0; i < MAX_STEP; ++i)
{
*(pData + i) += 1;
}
}
///////////////////////////////////////////////////////////////////////////////
// Protected Method
///////////////////////////////////////////////////////////////////////////////
void CStepMigration::CheckStepInfo(char* pData)
{ // 某腐磐狼 窜拌 沥焊 八荤
m_vtBuffer.assign(pData, pData + MAX_STEP);
CheckClassStep(CLS_STEP);
CheckDualClass(DUAL_CLS);
CheckCombatPoint(CSP_STEP);
CheckExpStep(EXP_STEP);
for (int i = T01_STEP; i <= T13_STEP; ++i)
{
CheckTacStep(i);
}
copy(m_vtBuffer.begin(), m_vtBuffer.end(), pData);
*(pData + MAX_STEP) = 0;
m_vtBuffer.clear();
}
///////////////////////////////////////////////////////////////////////////////
// Private Method
///////////////////////////////////////////////////////////////////////////////
void CStepMigration::CheckClassStep(int nStepType)
{ // 努贰胶 窜拌 八荤
const char cStep = m_vtBuffer[nStepType];
if (cStep >= 0 && cStep <= 5)
{
return;
}
MyLog(LOG_NORMAL, "[%d]Class Step : %d", nStepType, cStep);
m_vtBuffer[nStepType] = 0;
}
void CStepMigration::CheckDualClass(int nStepType)
{ // 掂倔 努贰胶 辆幅 八荤
const char cStep = m_vtBuffer[nStepType];
if (cStep >= WARRIOR && cStep <= PRIEST)
{
return;
}
MyLog(LOG_NORMAL, "[%d]Dual Class : %d", nStepType, cStep);
m_vtBuffer[nStepType] = WARRIOR;
}
void CStepMigration::CheckExpStep(int nStepType)
{ // 版氰摹 窜拌 八荤
const char cStep = m_vtBuffer[nStepType];
if (cStep >= 0 && cStep <= NPC_Lev_Ref[MAX_EXP_LEVEL].nStep)
{ // 单捞鸥海捞胶俊辑 历厘捞 登瘤 臼绰 巩磊
switch (cStep)
{
case 31:
{
m_vtBuffer[nStepType] = 32;
break;
}
case 38:
{
m_vtBuffer[nStepType] = 39;
break;
}
}
return;
}
MyLog(LOG_NORMAL, "[%d]Experience Step : %d", nStepType, cStep);
m_vtBuffer[nStepType] = 0;
}
void CStepMigration::CheckTacStep(int nStepType)
{ // 版氰摹 窜拌 八荤
const char cStep = m_vtBuffer[nStepType];
if (cStep >= 0 && cStep <= NPC_Lev_Ref[MAX_TAC_LEVEL].nStep)
{ // 单捞鸥海捞胶俊辑 历厘捞 登瘤 臼绰 巩磊
switch (cStep)
{
case 31:
{
m_vtBuffer[nStepType] = 32;
break;
}
case 38:
{
m_vtBuffer[nStepType] = 39;
break;
}
}
return;
}
MyLog(LOG_NORMAL, "[%d]Tactic Step : %d", nStepType, cStep);
m_vtBuffer[nStepType] = 0;
}
void CStepMigration::CheckCombatPoint(int nStepType)
{ // 傈捧胶懦 器牢磐 八荤
const char cStep = m_vtBuffer[nStepType];
if (cStep >= 0 && cStep <= NPC_Lev_Ref[MAX_EXP_LEVEL].nCspMax)
{
return;
}
MyLog(LOG_NORMAL, "[%d]Combat Point : %d", nStepType, cStep);
m_vtBuffer[nStepType] = 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -