#pragma once #include "Camera.h" struct EffectInfo; class SkillScriptInfo; class Object; #include "SkillEventEffectInfoParser.h" namespace SkillEffectFunc { // ½ºÅ³ ÀÌÆåÆ® »ý¼º HANDLE AddSkillEffectEfftct( Character* pTarget, WzID EffectID ); // ½ºÅ³ ÀÌÆåÆ®¸¦ ¹ß»çü ¹æ½ÄÀ¸·Î »ý¼º DWORD AddSkillEffectProjectile( Character* pCharacter, WzID EffectID ); DWORD AddSkillEffectProjectile( Character* pCharacter, EffectInfo* pEffectInfo, BOOL bSyncAngle ); // ½ºÅ³ÀÌ ½ÃÀ۵ɶ§ »ç¿ëµÇ´Â ÀÌÆåÆ®Ã³¸® DWORD CreateStartSkillEffect(DWORD dwSkillClassCode, Character* pCharacter ); DWORD CreateDirtyStartSkillEffect( DWORD dwSkillClassCode, Character* pCharacter ); // ½ºÅ³ °á°ú ó¸® ½ÃÁ¡¿¡¼­ 󸮵Ǵ ÀÌÆåÆ® void CreateReceiverSkillEffect(DWORD dwSkillCode, int TargetIndex, Character* pTarget, Character* pChr); DWORD CreateDirtyReceiverSkillEffect(DWORD dwSkillClassCode, Character *pTarget ); // ½ºÅ³À» »ç¿ë½Ã ij½ºÆÃ ÀÌÆåÆ® 2Á¾ HANDLE CreateCastingSkillEffect(DWORD dwSkillClassCode, Character* pCharacter ); HANDLE CreateCastingSkillBottomEffect(DWORD dwSkillClassCode, Character* pCharacter ); // Custom À̺¥Æ®½Ã Ç¥ÇöµÇ´Â ´Ü¼ø ÀÌÆåÆ®µéÀÇ Ã³¸® BOOL ProcessSkillEffect( Character* pCharacter, DWORD dwSkillClassCode, int HitCount ); void ProcessSkillHitEffect( Character* pCharacter, DWORD dwSkillClassCode, int HitCount ); void ProcessSkillProjectile( Character* pCharacter, DWORD dwSkillClassCode, SkillScriptInfo* pSkillInfo, int HitCount ); void CreateCameraViberation( const cSkillEventEffectInfoData* data, const WzVector& Position ); void CreateFieldEffect( const cSkillEventEffectInfoData* data, const WzVector& Position ); void CreateTargetEffect( const cSkillEventEffectInfoData* data, Character* pCharacter ); void CreateSkillEventEffectByFieldSkill( DWORD dwSkillClassCode, const WzVector& Position ); void CreateSkillEventEffectByAnimationEvent( DWORD dwSkillClassCode, Character* pCharacter, int HitCount ); void CreateSkillEventEffect( DWORD dwSkillClassCode, Character* pCharacter, cSkillEventEffectInfoData::eEventType EventType ); // ¹ßÀÚ±¹ ÀÌÆåÆ® (ÁÖ·Î µ¹°Ý·ùÀÇ È¿°ú) void CreateFootEffect( DWORD dwObjectKey, const WzVector& vPosition, DWORD dwTerrainAttribute); // ¿¤¸®¸àÅ»ÀÌ ½ºÅ³À» »ç¿ëÇÒ¶§ ¼Õ¾Õ¿¡¼­ Ç¥½ÃµÇ´Â ÀÌÆåÆ® void CreateHandEffect(Object* pOwner, DWORD dwId, WzID effectID, const WzVector& vPos); // Ä«¸Þ¶ó Èçµé±â void AddCameraVibration( Character* pCharacter, float fTime, Camera::VIBE_TYPE VibeType = Camera::VIBE_TYPE_ALL, float fPower = 0.05f ); };