#pragma once #ifndef SKILL_SYSTEM_VERSION_ROUTING_INL #error "can't direct include this file" #endif #include "Skill.h" //================================================================================================== class NormalAttack : public Skill { public: NormalAttack() {} virtual ~NormalAttack() {} // virtual void Init(Character* owner, const SkillInfo* skill_info, const ROOT_SKILLINFO* root_skill_info); //virtual void Release(); virtual eSKILL_TYPE GetSkillType() const; virtual BOOL StartExecute(); //virtual void EndExecute(); // Interval ÈÄ¿¡ ½ÇÇàµÇ´Â ºÎºÐ //virtual void CancelExcute(); // Interval Áß¿¡ ½ºÅ³ ½ÃÀü Ãë¼ÒµÇ´Â ºÎºÐ. //virtual void SendAIMessage(Character* target, DAMAGETYPE damage = 0); // ÇÊ¿äÇÑ °æ¿ì NPC¿¡°Ô AIMessage¸¦ ³¯¸°´Ù. virtual BOOL CheckMainTarget(BattleResult* const detailed_result); // MainTargetÀÌ À¯È¿ÇÑÁö üũÇÑ´Ù. virtual bool FindTargets(ns_object::SearchOption::SingleSearch::result_type* const result); //virtual BYTE FindTargets(Character** target_array); // Ÿ°Ù¸®½ºÆ®¸¦ ±¸ÇÏ´Â ºÎºÐ virtual void SetExecuteInterval(); //virtual WORD GetExecuteInterval(); protected: // added by NormalAttack virtual BOOL CalcDamage(Character* target); private: // added by NormalAttack virtual void SetAttribution() {} // void Broadcast_Normal_Result(); protected: BYTE m_byAttackSequence; // °ø°ÝŸÀÔ(1Ÿ, 2Ÿ) Character* m_pMainTarget; // ¸ÞÀΟ°Ù //_NA_0_20100211_SD_EFFECT_MODIFY DAMAGETYPE m_wDamage; // Ÿ°ÙÀÇ µ¥¹ÌÁö // MainTargetÀÇ µ¥¹ÌÁö, used by NormalAreaAttack DAMAGETYPE m_wMainTargetDamage; }; //================================================================================================== inline eSKILL_TYPE NormalAttack::GetSkillType() const { return SKILL_TYPE_NORMAL; }