#pragma once class CDNUserBase; /** Äù½ºÆ® Á¶°Çüũ ÀÎÅÍÆäÀ̽º ½ºÆ®·°ÃÄ */ class ConditionBase { public: bool bUse; virtual void Init(std::wstring& data) { if( data.empty() ) bUse = false; } virtual bool Check(CDNUserBase * pUserBase) { return false; } ConditionBase() { bUse = false; } virtual ~ConditionBase(){ } }; /** Äù½ºÆ® Á¶°ÇüũÇÏ´Â °´Ã¼ ÀÌ´Ù. Äù½ºÆ® ¼ö¶ô½Ã ÇöÀç ·¹º§º¸´Ù ³ô°Å³ª ÀÌ·¯ÇÑ °æ¿ìµéÀ» ¸¸Á· ½ÃŰÁö ¸øÇϸé Äù½ºÆ® ¼ö¶ôÀ» ÇÏÁö ¸øÇÑ´Ù. ÀÌ·± Á¶°ÇµéÀ» üũÇÏ´Â °´Ã¼ÀÌ´Ù. */ class QuestCondition { public: UINT nQuestIndex; std::vector ConditionList; bool Check( CDNUserBase * pUserBase ); QuestCondition(); virtual ~QuestCondition(); }; ////////////////////////////////////////////////////////////////////////// // __HaveNormalItem ////////////////////////////////////////////////////////////////////////// class __HaveNormalItem : public ConditionBase { public: ~__HaveNormalItem() {} int nItemTableNumber; int nItemNumber; virtual void Init(std::wstring& data); virtual bool Check(CDNUserBase * pUserBase); }; ////////////////////////////////////////////////////////////////////////// // __UserLevel ////////////////////////////////////////////////////////////////////////// class __UserLevel : public ConditionBase { public: ~__UserLevel() {} int nMinUserLevel; int nMaxUserLevel; virtual void Init(std::wstring& data); virtual bool Check(CDNUserBase * pUserBase); }; ////////////////////////////////////////////////////////////////////////// // __UserClass ////////////////////////////////////////////////////////////////////////// class __UserClass : public ConditionBase { public: ~__UserClass() {} std::vector ClassIDList; virtual void Init(std::wstring& data); virtual bool Check(CDNUserBase * pUserBase); }; ////////////////////////////////////////////////////////////////////////// // __PrevQuest ////////////////////////////////////////////////////////////////////////// class __PrevQuest : public ConditionBase { public: ~__PrevQuest() {} std::vector PrevQuestList; virtual void Init(std::wstring& data); virtual bool Check(CDNUserBase * pUserBase); }; ////////////////////////////////////////////////////////////////////////// // __CompleteMission ////////////////////////////////////////////////////////////////////////// class __CompleteMission : public ConditionBase { public: ~__CompleteMission() {} std::vector MissionIDList; virtual void Init(std::wstring& data); virtual bool Check(CDNUserBase * pUserBase); }; ////////////////////////////////////////////////////////////////////////// // __Reputation_Favor ////////////////////////////////////////////////////////////////////////// class __Reputation_Favor : public ConditionBase // ÁÁ¾ÆÇÔ ¼öÄ¡ { public: ~__Reputation_Favor() {} int nNpcID; int nReputationValue_Min; int nReputationValue_Max; virtual void Init(std::wstring& data); virtual bool Check(CDNUserBase * pUserBase); }; ////////////////////////////////////////////////////////////////////////// // __Reputation_Hatred ////////////////////////////////////////////////////////////////////////// struct __Reputation_Hatred : public ConditionBase // ½È¾îÇÔ ¼öÄ¡ { public: ~__Reputation_Hatred() {} int nNpcID; int nReputationValue_Min; int nReputationValue_Max; virtual void Init(std::wstring& data); virtual bool Check(CDNUserBase * pUserBase); }; #if defined(PRE_ADD_QUEST_CHECKCAHEITEM) ////////////////////////////////////////////////////////////////////////// // __HaveCashlItem ////////////////////////////////////////////////////////////////////////// class __HaveCashItem : public ConditionBase { public: ~__HaveCashItem() {} int nItemTableNumber; int nItemNumber; virtual void Init(std::wstring& data); virtual bool Check(CDNUserBase * pUserBase); }; #endif