#pragma once #include "QuestConditionInfo.h" #include #include "Quest.h" //¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬ BEGIN_DECL_QCONDITION_INFO( QUEST_CONDITION_REPEAT ) RC::eQUEST_RESULT IsSatisfy( QUESTCOUNT CurRepeatNum ); __PROPERTY( QUESTCOUNT, MaxRepeatNum ) //< ÃÖ´ë Äù½ºÆ® ¹Ýº¹ Ç÷¹ÀÌ ÇÒ ¼ö Àִ Ƚ¼ö END_DECL_QCONDITION_INFO //¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬ BEGIN_DECL_QCONDITION_INFO( QUEST_CONDITION_CHARLV ) RC::eQUEST_RESULT IsSatisfy( WORD CurCharLV ); __PROPERTY( WORD, MinCharLV ) __PROPERTY( WORD, MaxCharLV ) END_DECL_QCONDITION_INFO //¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬ BEGIN_DECL_QCONDITION_INFO( QUEST_CONDITION_CHARCLASS ) RC::eQUEST_RESULT IsSatisfy( BYTE byCharClass ); __PROPERTY( BYTE, CharClassBit ) END_DECL_QCONDITION_INFO //¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬ BEGIN_DECL_QCONDITION_INFO( QUEST_CONDITION_QUEST ) enum { _DEF_CHECK_NUM=3, _MAX_CHECK_NUM=5, }; __PROPERTY( BYTE, QuestArrayCount ) //< ÃÑ 3°³, 5°³ : ÃÖÀûÈ­¸¦ À§ÇÑ°Í __ARRAY_PROPERTY( QCODE, _MAX_CHECK_NUM, QuestCode ) __ARRAY_PROPERTY( QCODE, _MAX_CHECK_NUM, QuestNum ) //< ¿Ï·á Äù½ºÆ®¸¸ »ç¿ë __PROPERTY( BYTE, Operator ) //< eQUEST_OPERATORÂüÁ¶ => 0 : AND , 1 : OR __BOOL_PROPERTY( ProgrQuest ) //< Äù½ºÆ®°¡ ÁøÇàÁßÀΰ¡ or ¿Ï·áµÈ°Ç°¡ __BOOL_PROPERTY( NecessaryQuest ) //< ÀÌ ¹è¿­ÀÇ Äù½ºÆ®°¡ ÀÖ¾î¾ßÇϴ°¡(TRUE) or ¾ø¾î¾ß Çϴ°¡(FALSE) END_DECL_QCONDITION_INFO //¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬ BEGIN_DECL_QCONDITION_INFO( QUEST_CONDITION_ITEM ) enum { _DEF_CHECK_NUM=3, _MAX_CHECK_NUM=5, }; __BOOL_PROPERTY( NecessaryItem ) //< ÀÌ ¾ÆÀÌÅÛÀÌ ÀÖ¾î¾ß ÇÑ´Ù(TRUE) or ¾ø¾î¾ß ÇÑ´Ù(FALSE) __PROPERTY( BYTE, ItemArrayCount ) //< ÃÑ 3°³, 5°³ : ÃÖÀûÈ­¸¦ À§ÇÑ°Í __ARRAY_PROPERTY( WORD, _MAX_CHECK_NUM, ItemCode ) __ARRAY_PROPERTY( BYTE, _MAX_CHECK_NUM, ItemNum ) END_DECL_QCONDITION_INFO //¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬ BEGIN_DECL_QCONDITION_INFO( QUEST_CONDITION_CLASSITEM ) __PROPERTY( BYTE, CharClassLimit ) //< Á¦ÇÑµÈ Å¬·¡½ºÀÇ ¾ÆÀÌÅÛÀ» °¡Áö¸é ¾ÈµÊ END_DECL_QCONDITION_INFO //¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬ BEGIN_DECL_QCONDITION_INFO( QUEST_CONDITION_CHAO ) RC::eQUEST_RESULT IsSatisfy( BYTE byChaoState ); __PROPERTY( BYTE, ChaoState ) //< Ä«¿À »óÅÂ( ÀϹÝ, ÇÁ¸®Ä«¿À, Ä«¿À ) END_DECL_QCONDITION_INFO //¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬ BEGIN_DECL_QCONDITION_INFO(QUEST_CONDITION_CREATE_PORTAL) __PROPERTY(MAPCODE, MapPortalCode) //< ÇØ´ç ¸ÊÀ¸·Î °¡±â À§ÇÑ Æ÷Å» »ý¼º °Ë»ç END_DECL_QCONDITION_INFO //¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬ BEGIN_DECL_QCONDITION_INFO(QUEST_CONDITION_HONOR_RATING) __PROPERTY(BYTE, HonorType) __PROPERTY(WORD, HonorCode) __PROPERTY(BYTE, HonorRating) END_DECL_QCONDITION_INFO BEGIN_DECL_QCONDITION_INFO(QUEST_CONDITION_DAILY_QUEST) END_DECL_QCONDITION_INFO //¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬ // ¿Ï·á Á¶°Ç¿¡¸¸ ÀÖÀ½ BEGIN_DECL_QCONDITION_INFO( QUEST_CONDITION_MONEY ) RC::eQUEST_RESULT IsSatisfy( DWORD64 CurMoney ); __PROPERTY( DWORD64, NeedMoney ) END_DECL_QCONDITION_INFO //¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬ // ¿Ï·á Á¶°Ç¿¡¸¸ ÀÖÀ½ BEGIN_DECL_QCONDITION_INFO( QUEST_CONDITION_KILLMONSTER ) enum { _MAX_CHECK_NUM=5, }; __ARRAY_PROPERTY( DWORD, _MAX_CHECK_NUM, MonsterCode ) __ARRAY_PROPERTY( BYTE, _MAX_CHECK_NUM, MonsterGrade ) __ARRAY_PROPERTY( WORD, _MAX_CHECK_NUM, MonsterLevel ) __ARRAY_PROPERTY( BYTE, _MAX_CHECK_NUM, MonsterNum ) END_DECL_QCONDITION_INFO //¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬ BEGIN_DECL_QCONDITION_INFO( QUEST_CONDITION_MISSION ) enum { _MAX_CHECK_NUM=2, }; __ARRAY_PROPERTY( WORD, _MAX_CHECK_NUM, MissionCode ) __ARRAY_PROPERTY( WORD, _MAX_CHECK_NUM, MissionNum ) END_DECL_QCONDITION_INFO //¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬ // ¿Ï·á Á¶°Ç¿¡¸¸ ÀÖÀ½ BEGIN_DECL_QCONDITION_INFO( QUEST_CONDITION_AREA ) enum { _MAX_CHECK_NUM=3, }; __ARRAY_PROPERTY( DWORD, _MAX_CHECK_NUM, AreaID ) END_DECL_QCONDITION_INFO //¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬ // 20060711_PM12:19:10 BEGIN_DECL_QCONDITION_INFO( QUEST_CONDITION_ITEM_SPACE ) enum { _MAX_CHECK_NUM=5, }; __PROPERTY( BYTE, ItemArrayCount ) //< ÃÑ 3°³, 5°³ : ÃÖÀûÈ­¸¦ À§ÇÑ°Í __ARRAY_PROPERTY( WORD, _MAX_CHECK_NUM, ItemCode ) __ARRAY_PROPERTY( BYTE, _MAX_CHECK_NUM, ItemNum ) END_DECL_QCONDITION_INFO //¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬ #ifdef _NA_006607_20130402_ADD_QUESTTYPE BEGIN_DECL_QCONDITION_INFO( QUEST_CONDITION_MISSION_CLEAR) enum { _MAX_CHECK_NUM=2, }; __ARRAY_PROPERTY( WORD, _MAX_CHECK_NUM, MissionCode ) __ARRAY_PROPERTY( WORD, _MAX_CHECK_NUM, MissionNum ) END_DECL_QCONDITION_INFO #endif //_NA_006607_20130402_ADD_QUESTTYPE //¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬ //¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬ #ifdef _DEVTAIYO_QUEST_TRIGGER_WORK // ¿Ï·á Á¶°Ç¿¡¸¸ ÀÖÀ½ BEGIN_DECL_QCONDITION_INFO( QUEST_CONDITION_TRIGGER ) enum { _MAX_CHECK_NUM=4, }; __ARRAY_PROPERTY( DWORD, _MAX_CHECK_NUM, TriggerNCode ) END_DECL_QCONDITION_INFO #endif //¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬