#pragma once //============================================================================================================================= /// ÄÁµð¼Ç Æ®¸®°ÅµéÀÇ ±¸Çö Ŭ·¡½º /** @author Kim Min Wook < taiyo@webzen.com > @since 2004. 12. 29 @remark - @note - @history - */ //============================================================================================================================= #include #ifdef __NA_000360_20070323_TRIGGER_LIBRARY #include "..\\..\\SolarTrigger\\ConditionInfo.h" #include "IConditionTriggerEx.h" #else #include "ConditionInfo.h" #include "IConditionTrigger.h" #include #endif __BEGIN_DECL_CONDITION( CONDITION_ALWAYS ) virtual VOID OnInit(); __END_DECL_CONDITION __BEGIN_DECL_CONDITION( CONDITION_COMPARE_SWITCH ) virtual BOOL IsSatisfied(); __END_DECL_CONDITION __BEGIN_DECL_CONDITION( CONDITION_CLICK_OBJECT ) virtual VOID onMsg( TRIGGER_MSG * pmsg ); virtual VOID OnReset(); __END_DECL_CONDITION __BEGIN_DECL_CONDITION( CONDITION_DAMAGE_OBJECT ) virtual VOID onMsg( TRIGGER_MSG * pmsg ); __END_DECL_CONDITION __BEGIN_DECL_CONDITION( CONDITION_COUNT_NPCKILL ) virtual VOID OnInstanciate(); virtual VOID OnInit(); virtual VOID onMsg( TRIGGER_MSG * pmsg ); private: struct PARTY_MEMBER { DWORD m_dwPlayerKey; int m_iKillCount; } m_PartyMember[MAX_PARTYMEMBER_NUM]; util::SolarHashTable m_PartyMemberHash; __END_DECL_CONDITION __BEGIN_DECL_CONDITION( CONDITION_PASS_TIME ) virtual VOID OnInit(); virtual BOOL IsSatisfied(); virtual BOOL NeedUpdate() { return TRUE; } private: DWORD m_dwStartTick; __END_DECL_CONDITION __BEGIN_DECL_CONDITION( CONDITION_ENTER_AREA ) virtual VOID OnInit(); virtual BOOL IsSatisfied(); virtual VOID onMsg( TRIGGER_MSG * pmsg ); virtual VOID OnReset(); __END_DECL_CONDITION __BEGIN_DECL_CONDITION( CONDITION_HAVE_ITEM ) static const DWORD c_dwDelayCheckTime = 100; virtual VOID OnInit(); virtual BOOL IsSatisfied(); private: DWORD m_dwCheckTimer; __END_DECL_CONDITION __BEGIN_DECL_CONDITION( CONDITION_MULTI_SWITCH ) virtual BOOL IsSatisfied(); __END_DECL_CONDITION __BEGIN_DECL_CONDITION( CONDITION_MISSION_POINT ) virtual VOID OnInit(); virtual VOID onMsg( TRIGGER_MSG * pmsg ); private: //INT m_iNumberOfPlayersInArea; __END_DECL_CONDITION __BEGIN_DECL_CONDITION( CONDITION_COMPARE_VARIABLE ) virtual BOOL IsSatisfied(); __END_DECL_CONDITION // Quest ¿Ï·á üũ Æ®¸®°Å, Àִ°ÍÀÎÁö È®ÀÎÇÒ °Í __BEGIN_DECL_CONDITION( CONDITION_QUEST_PROGRESS ) virtual BOOL IsSatisfied(); __END_DECL_CONDITION // À¯Àú Ŭ·¡½º ¼³Á¤(ÀÇÁ¸ Æ®¸®°Å) // [USER CLASS ID] À̸é, //0:¸ðµÎ, 1:¹ö¼­Ä¿, 2:µå·¡°ï, 3:½¦µµ¿ì, 4:¹ß۸®, 5:¿¤¸®¸àÅ»¸®½ºÆ® __BEGIN_DECL_CONDITION( CONDITION_CHECK_CLASS_ID ) virtual BOOL IsSatisfied(); __END_DECL_CONDITION #ifdef __NA_000328_UNIT_DESTROY_TRIGGER __BEGIN_DECL_CONDITION( CONDITION_NPCKILL_FOR_UNITID ) virtual VOID onMsg( TRIGGER_MSG * pmsg ); __END_DECL_CONDITION #endif ////////////////////////////////////////////////////////////////////////////////////////// // // ¾Ö¸ÅÇÑ »ç·Ê /* »óÈ£¹èŸÀûÀÓ 1. Ŭ¸¯ÇÑ À¯Àú 2. ¿µ¿ª¿¡ µé¾î¿Â À¯Àú 3. ¿µ¿ª¿¡ µé¾î¿À°í ¹Ì¼Ç Æ÷ÀÎÆ® ¸¸Á·ÇÏ´Â À¯Àú »óÈ£¿¬°üÀûÀÓ 4. ƯÁ¤ ¿ÀºêÁ§Æ®¿¡ µ¥¹ÌÁö¸¦ ÀÔÈù À¯Àú 5. ¾ÆÀÌÅÛÀ» °¡Áø À¯Àú 1. À̺¥Æ® ¾ÆÀÌÅÛÀ» °¡Áö°í ÀÖ´Ù. ¿µ¿ª¿¡ µé¾î ¿Â óÀ½ À¯Àú°¡ ¾ÆÀÌÅÛÀ» °¡Áö°í ÀÖÁö ¾Ê°í ´ÙÀ½ À¯Àú°¡ ¾ÆÀÌÅÛÀ» °¡Áö°í ÀÖÀ» ¶§ ActionTrigger¿¡¼­ ´ë»óÀ¯Àú´Â ¾î¶² À¯Àú¸¦ °¡¸£Å°´Â°¡? */ //////////////////////////////////////////////////////////////////////////////////////////