Files
mir_server/server/LogicServer/config/MonsterConfig.cpp
aixianling 5c9f1dae4a init
2025-01-09 17:45:40 +08:00

67 lines
2.2 KiB
C++
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#include "StdAfx.h"
#include "LogicDataProvider.h"
/*
bool CLogicDataProvider::LoadMonsterConfig(LPCTSTR sFilePath)
{
if (!openGlobalTable("Monster"))
{
return false;
}
m_vMonsterList.nCount = lua_objlen(m_pLua, -1);
if (m_vMonsterList.nCount > 0)
{
int nSize = sizeof(MONSTERCONFIG)*m_vMonsterList.nCount;
m_vMonsterList.pList = (MONSTERCONFIG*)m_DataAllocator.allocObjects(nSize);
ZeroMemory(m_vMonsterList.pList,nSize);
}
int nId = 0;
if (enumTableFirst())
{
do
{
MONSTERCONFIG* config = m_vMonsterList.pList + nId;
config->nEntityId = getFieldInt("entityid");
if (nId != config->nEntityId)
{
OutputMsg(rmError,_T("非期待的实体ID配置值应为%d却配置为%d"), nId, config->nEntityId);
delete config;
return FALSE;
}
config->nLevel = getFieldInt("level");
getFieldStringBuffer("name",config->szName,ArrayCount(config->szName));
//config->nIcon = getFieldInt("icon");
config->cal.reset(); //重置计算器
CREATUREDATA data;
data.nMaxHp = getFieldInt("maxhp");
data.nMaxMp = getFieldInt("maxmp");
data.nInnerAttack = getFieldInt("innerattack");
data.nOutAttack = getFieldInt("outattack");
data.fOutCriticalStrikesRate = (float)getFieldNumber("outcriticalstrikesrate");
data.fOutDodgeRate = (float)getFieldNumber("outdodgerate");
data.fOutHitRate = (float)getFieldNumber("outhitrate");
data.nOutDefence = getFieldInt("outdefence");
data.nInnerDefence = getFieldInt("innerdefence");
data.fInnerCriticalStrikesRate = (float)getFieldNumber("innercriticalstrikesrate");
data.fInnerDodgeRate = (float)getFieldNumber("innerdodgerate");
data.fInnerHitRate = (float)getFieldNumber("innerhitrate");
data.nCure = getFieldInt("cure");
data.nHpRateRenew = (float)getFieldNumber("hprenew");
data.nMpRateRenew = (float)getFieldNumber("mprenew");
data.nMoveOneSlotTime = getFieldInt("moveoneslottime");
CPropertySystem::InitMonsterCalculator(data,config->cal);
config->nModelId = getFieldInt("modelid");
int nDef = 10;//默认值
config->nAttackSpeed = getFieldInt("attackSpeed",&nDef);
nId++;
} while (enumTableNext());
}
closeTable();//close Monster
return true;
}
*/