#pragma once //============================================================================================================================= /// ÄÁµð¼Ç Æ®¸®°ÅµéÀÇ ±¸Çö Ŭ·¡½º /** @author Kim Min Wook < taiyo@webzen.com > @since 2004. 12. 29 @remark - @note - @history - */ //============================================================================================================================= #include #include "..\\..\\SolarTrigger\\ConditionInfo.h" #include "IConditionTriggerEx.h" __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_COMPARE_SWITCH_EX ) 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[1]; __END_DECL_CONDITION __BEGIN_DECL_CONDITION( CONDITION_PASS_TIME ) virtual VOID OnInit(); virtual BOOL IsSatisfied(); virtual BOOL NeedUpdate() { return TRUE; } //_NA_008069_20150210_ADD_SPA_SYSTEM virtual VOID OnReset(); 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(); TriggerAreaLocalStorage local_storage_; __END_DECL_CONDITION // _NA_002098_20110307_ADD_NPC_CONTROL_TRIGGER // NPC°¡ ƯÁ¤ ¿µ¿ª¿¡ µé¾î°¬À» ¶§ __BEGIN_DECL_CONDITION(CONDITION_NPC_ENTER_AREA) virtual void OnInit(); virtual BOOL IsSatisfied(); virtual void OnReset(); virtual void onMsg(TRIGGER_MSG* trigger_msg); TriggerAreaLocalStorageForNpc local_storage_; __END_DECL_CONDITION __BEGIN_DECL_CONDITION( CONDITION_HAVE_ITEM ) static const DWORD c_dwDelayCheckTime = 100; virtual VOID OnInit(); virtual BOOL IsSatisfied(); //_NA_008069_20150210_ADD_SPA_SYSTEM virtual VOID OnReset(); 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 __BEGIN_DECL_CONDITION( CONDITION_NPCKILL_FOR_UNITID ) virtual VOID onMsg( TRIGGER_MSG * pmsg ); __END_DECL_CONDITION __BEGIN_DECL_CONDITION( CONDITION_LIVE_PARTY_MEMBER ) virtual BOOL IsSatisfied(); __END_DECL_CONDITION __BEGIN_DECL_CONDITION( CONDITION_CHECK_OBJECT_HP ) virtual VOID OnInit(); virtual BOOL IsSatisfied(); virtual BOOL NeedUpdate() { return TRUE; } private: DWORD m_dwStartTick; __END_DECL_CONDITION __BEGIN_DECL_CONDITION( CONDITION_DESTROY_OBJECT ) virtual VOID OnInit(); virtual BOOL IsSatisfied(); virtual BOOL NeedUpdate() { return TRUE; } private: DWORD m_dwStartTick; __END_DECL_CONDITION //_NA_0_20100222_UNIT_TRIGGERS_ADD __BEGIN_DECL_CONDITION( CONDITION_CHECK_OBJECTKIND_HP ) virtual VOID OnInit(); virtual BOOL IsSatisfied(); virtual BOOL NeedUpdate() { return TRUE; } private: DWORD start_tick_; __END_DECL_CONDITION //_NA_004777_20120428_ADD_COMPLETE_COLLECTION_TRIGGER // ¹Ì¼Ç³» äÁý Æ®¸®°Å __BEGIN_DECL_CONDITION(CONDITION_COMPLETE_COLLECTION) virtual void OnInit(); virtual BOOL IsSatisfied(); virtual void OnReset(); virtual void onMsg(TRIGGER_MSG* trigger_msg); __END_DECL_CONDITION // _NA_000000_20130103_ADD_SERVER_EVENT_TRIGGER // ¼­¹ö À̺¥Æ® Æ®¸®°Å __BEGIN_DECL_CONDITION(CONDITION_SERVER_EVENT) virtual void OnInit(); virtual BOOL IsSatisfied(); virtual void OnReset(); virtual void onMsg(TRIGGER_MSG* trigger_msg); __END_DECL_CONDITION // _NA_000000_20130104_ADD_CONDITION_TRIGGER_CHECK_TEAM // ÆÀ üũ Æ®¸®°Å __BEGIN_DECL_CONDITION(CONDITION_CHECK_TEAM) virtual BOOL IsSatisfied(); __END_DECL_CONDITION __BEGIN_DECL_CONDITION(CONDITION_MONSTER_ENTER_AREA) virtual void OnInit(); virtual void OnReset(); virtual BOOL IsSatisfied(); virtual void onMsg(TRIGGER_MSG* trigger_msg); TriggerAreaLocalStorageForNpc local_storage_; __END_DECL_CONDITION // ////////////////////////////////////////////////////////////////////////////////////////// // // ¾Ö¸ÅÇÑ »ç·Ê /* »óÈ£¹èŸÀûÀÓ 1. Ŭ¸¯ÇÑ À¯Àú 2. ¿µ¿ª¿¡ µé¾î¿Â À¯Àú 3. ¿µ¿ª¿¡ µé¾î¿À°í ¹Ì¼Ç Æ÷ÀÎÆ® ¸¸Á·ÇÏ´Â À¯Àú »óÈ£¿¬°üÀûÀÓ 4. ƯÁ¤ ¿ÀºêÁ§Æ®¿¡ µ¥¹ÌÁö¸¦ ÀÔÈù À¯Àú 5. ¾ÆÀÌÅÛÀ» °¡Áø À¯Àú 1. À̺¥Æ® ¾ÆÀÌÅÛÀ» °¡Áö°í ÀÖ´Ù. ¿µ¿ª¿¡ µé¾î ¿Â óÀ½ À¯Àú°¡ ¾ÆÀÌÅÛÀ» °¡Áö°í ÀÖÁö ¾Ê°í ´ÙÀ½ À¯Àú°¡ ¾ÆÀÌÅÛÀ» °¡Áö°í ÀÖÀ» ¶§ ActionTrigger¿¡¼­ ´ë»óÀ¯Àú´Â ¾î¶² À¯Àú¸¦ °¡¸£Å°´Â°¡? */ //////////////////////////////////////////////////////////////////////////////////////////