knightonline/server/shared/database/QuestMonsterSet.h

32 lines
981 B
C++

#pragma once
class CQuestMonsterSet : public OdbcRecordset
{
public:
CQuestMonsterSet(OdbcConnection * dbConnection, QuestMonsterArray * pMap)
: OdbcRecordset(dbConnection), m_pMap(pMap) {}
virtual tstring GetTableName() { return _T("QUEST_MONSTER"); }
virtual tstring GetColumns() { return _T("sQuestNum, sNum1a, sNum1b, sNum1c, sNum1d, sCount1, sNum2a, sNum2b, sNum2c, sNum2d, sCount2, sNum3a, sNum3b, sNum3c, sNum3d, sCount3, sNum4a, sNum4b, sNum4c, sNum4d, sCount4"); }
virtual bool Fetch()
{
_QUEST_MONSTER *pData = new _QUEST_MONSTER();
uint32 col = 1;
_dbCommand->FetchUInt16(col++, pData->sQuestNum);
for (uint32 group = 0; group < QUEST_MOB_GROUPS; group++)
{
for (uint32 i = 0; i < QUEST_MOBS_PER_GROUP; i++)
_dbCommand->FetchUInt16(col++, pData->sNum[group][i]);
_dbCommand->FetchUInt16(col++, pData->sCount[group]);
}
if (!m_pMap->PutData(pData->sQuestNum, pData))
delete pData;
return true;
}
QuestMonsterArray *m_pMap;
};