Files
Sun1602/SolarQuest/QuestActionInfo_Concrete.h
T
2022-10-26 12:25:11 +08:00

137 lines
3.6 KiB
C++

#ifndef __SOLARQUEST_QUESTACTIONINFO_CONCRETE_H
#define __SOLARQUEST_QUESTACTIONINFO_CONCRETE_H
#pragma once
#include "QuestActionInfo.h"
class QUEST_ACTION_ITEM_INFO:public QuestActionInfo
{
public:
QUEST_ACTION_ITEM_INFO():QuestActionInfo(eQUEST_ACTION_ITEM){}
virtual ~QUEST_ACTION_ITEM_INFO(){}
enum { _DEF_CHECK_NUM=3, _MAX_CHECK_NUM=5, };
public:
void SetDelete(bool bValue=true) {m_Delete=bValue;}
bool IsDelete()const {return m_Delete;}
void SetItemArrayCount(WORD value) {m_ItemArrayCount=value;}
WORD GetItemArrayCount()const {return m_ItemArrayCount;}
void SetItemCode(const DWORD idx,WORD value)
{
if(FlowControl::FCAssert(idx<_countof(m_pItemCode)))
m_pItemCode[idx]=value;
}
WORD GetItemCode(const DWORD idx)
{
if(FlowControl::FCAssert(idx<_countof(m_pItemCode)))
return m_pItemCode[idx];
return WORD();
}
WORD* GetItemCodePtr(){return m_pItemCode;}
void SetItemNum(const DWORD idx,WORD value)
{
if(FlowControl::FCAssert(idx<_countof(m_pItemNum)))
m_pItemNum[idx]=value;
}
WORD GetItemNum(const DWORD idx)
{
if(FlowControl::FCAssert(idx<_countof(m_pItemNum)))
return m_pItemNum[idx];
return WORD();
}
WORD* GetItemNumPtr(){return m_pItemNum;}
protected:
WORD m_ItemArrayCount;
bool m_Delete;
WORD m_pItemCode[_MAX_CHECK_NUM];
WORD m_pItemNum[_MAX_CHECK_NUM];
};
class QUEST_ACTION_CHANGEofCLASS_INFO:public QuestActionInfo
{
public:
QUEST_ACTION_CHANGEofCLASS_INFO():QuestActionInfo(eQUEST_ACTION_CHANGEofCLASS){}
virtual ~QUEST_ACTION_CHANGEofCLASS_INFO(){}
PROPERTY<eSPECIAL_QUEST_REWARD> ChangeOfClassStep;
};
class QUEST_ACTION_SPAWN_MONSTER_INFO:public QuestActionInfo
{
public:
QUEST_ACTION_SPAWN_MONSTER_INFO():QuestActionInfo(eQUEST_ACTION_SPAWN_MONSTER){}
virtual ~QUEST_ACTION_SPAWN_MONSTER_INFO(){}
void SetHideNpcCode(DWORD value){m_HideNpcCode=value;}
DWORD GetHideNpcCode()const {return m_HideNpcCode;}
void SetSummonMonsterCode(DWORD value){m_SummonMonsterCode=value;}
DWORD GetSummonMonsterCode()const {return m_SummonMonsterCode;}
protected:
DWORD m_HideNpcCode;
DWORD m_SummonMonsterCode;
};
class QUEST_ACTION_SPAWN_MONSTER_ABANDON_INFO:public QuestActionInfo
{
public:
QUEST_ACTION_SPAWN_MONSTER_ABANDON_INFO():QuestActionInfo(eQUEST_ACTION_SPAWN_MONSTER_ABANDON){}
virtual ~QUEST_ACTION_SPAWN_MONSTER_ABANDON_INFO(){}
};
class QUEST_ACTION_CREATE_PORTAL_INFO:public QuestActionInfo
{
public:
QUEST_ACTION_CREATE_PORTAL_INFO():QuestActionInfo(eQUEST_ACTION_CREATE_PORTAL){}
virtual ~QUEST_ACTION_CREATE_PORTAL_INFO(){}
void SetMapPortalCode(MAPCODE value){m_MapPortalCode=value;}
MAPCODE GetMapPortalCode()const {return m_MapPortalCode;}
protected:
MAPCODE m_MapPortalCode;
};
class QUEST_ACTION_CLOSE_PORTAL_INFO:public QuestActionInfo
{
public:
QUEST_ACTION_CLOSE_PORTAL_INFO():QuestActionInfo(eQUEST_ACTION_CLOSE_PORTAL){}
virtual ~QUEST_ACTION_CLOSE_PORTAL_INFO(){}
};
class QUEST_ACTION_DELETE_COLLECTIONID_INFO:public QuestActionInfo
{
public:
QUEST_ACTION_DELETE_COLLECTIONID_INFO():QuestActionInfo(eQUEST_ACTION_DELETE_COLLECTIONID){}
virtual ~QUEST_ACTION_DELETE_COLLECTIONID_INFO(){}
};
#ifdef _NA_003027_20111013_HONOR_SYSTEM
class QUEST_ACTION_DAILY_QUEST_INFO:public QuestActionInfo
{
public:
QUEST_ACTION_DAILY_QUEST_INFO():QuestActionInfo(eQUEST_ACTION_DAILY_QUEST){}
virtual ~QUEST_ACTION_DAILY_QUEST_INFO(){}
};
class QUEST_ACTION_DAILY_QUEST_DELETE_INFO:public QuestActionInfo
{
public:
QUEST_ACTION_DAILY_QUEST_DELETE_INFO():QuestActionInfo(eQUEST_ACTION_DAILY_QUEST_DELETE){}
virtual ~QUEST_ACTION_DAILY_QUEST_DELETE_INFO(){}
};
#endif //_NA_003027_20111013_HONOR_SYSTEM
#endif