#include "StdAfx.h" #include "DnApplySEWhenActionSetBlowEnabledProcessor.h" #include "DnClericMentalChargeBlow.h" #ifdef _DEBUG #define new new(_NORMAL_BLOCK,__FILE__,__LINE__) #endif CDnApplySEWhenActionSetBlowEnabledProcessor::CDnApplySEWhenActionSetBlowEnabledProcessor( DnActorHandle hActor ) : IDnSkillProcessor( hActor ) { m_iType = APPLY_SE_WHEN_ACTIONSET_ENABLED; } CDnApplySEWhenActionSetBlowEnabledProcessor::~CDnApplySEWhenActionSetBlowEnabledProcessor(void) { } void CDnApplySEWhenActionSetBlowEnabledProcessor::OnBegin( LOCAL_TIME LocalTime, float fDelta, DnSkillHandle hParentSkill ) { //// ºÎ¸ð »óÅÂÈ¿°ú Áß¿¡ ChangeActionSet »óÅÂÈ¿°ú¸¦ Á¦¿ÜÇϰí Ãß°¡ÇÔ. //// ½ºÅ³ ÂÊ¿¡¼­´Â ¹ßµ¿µÉ ¶§ ÀÌ »óÅÂÈ¿°úµéÀ» Ãß°¡ÇÏÁö ¾Êµµ·Ï µÇ¾îÀÖ´Ù. //int iNumSE = m_hParentSkill->GetStateEffectCount(); //for( int i = 0; i < iNumSE; ++i ) //{ // const CDnSkill::StateEffectStruct* pStateEffect = m_hParentSkill->GetStateEffectFromIndex( i ); // if( STATE_BLOW::BLOW_129 != pStateEffect->nID ) // change action set »óÅÂÈ¿°ú¸¦ Á¦¿ÜÇϰí Àû¿ëÇÒ »óÅÂÈ¿°ú¸¦ µû·Î ¹Þ¾ÆµÐ´Ù. // { // m_vlStateEffect // } //} } #ifdef _GAMESERVER void CDnApplySEWhenActionSetBlowEnabledProcessor::AddStateEffect( const CDnSkill::StateEffectStruct* pStateEffect ) { // ½ºÅ³ »ý¼ºµÉ ¶§ ºÎÅÍ ½ºÅ³ °´Ã¼ÂÊ¿¡¼­ Àڽſ¡°Ô ÁÖ¾îÁø »óÅÂÈ¿°úµéÀ» change action set »óÅÂÈ¿°ú¸¸ Á¦¿ÜÇϰí // ÀüºÎ ÀÌÂÊÀ¸·Î ³Ö¾îÁØ ´ÙÀ½¿¡ Á¦°ÅÇÏ´Â °ÍÀ¸·Î.. m_vlpStateEffect.push_back( (CDnSkill::StateEffectStruct*)pStateEffect ); } void CDnApplySEWhenActionSetBlowEnabledProcessor::OnChangeActionBegin( void ) { for( int i = 0; i < (int)m_vlpStateEffect.size(); ++i ) { const CDnSkill::StateEffectStruct* pStateEffect = m_vlpStateEffect.at( i ); int iID = m_hHasActor->CmdAddStateEffect( m_hParentSkill->GetInfo(), (STATE_BLOW::emBLOW_INDEX)pStateEffect->nID, /*pStateEffect->nDurationTime*/-1, pStateEffect->szValue.c_str() ); if( -1 != iID ) m_vlAppliedStateEffectID.push_back( iID ); } // #33312 °­Á¦·Î ºÎ¸ð ½ºÅ³ÀÇ ¼Ó¼º ºÎ¿© if( m_hParentSkill ) { CDnState::ElementEnum eElement = m_hParentSkill->GetElement(); m_hHasActor->PushForceHitElement( eElement ); } } void CDnApplySEWhenActionSetBlowEnabledProcessor::OnChangeActionSetBlowEnd( void ) { // Ãß°¡Çß´ø »óÅÂÈ¿°úµé Á¦°Å. for( int i = 0; i < (int)m_vlAppliedStateEffectID.size(); ++i ) { m_hHasActor->CmdRemoveStateEffectFromID( m_vlAppliedStateEffectID.at(i) ); } m_vlAppliedStateEffectID.clear(); // #33312 °­Á¦·Î ºÎ¸ð ½ºÅ³ÀÇ ¼Ó¼º ºÎ¿´Çß´ø°Í Ç®¾îÁÜ. if( m_hParentSkill ) { CDnState::ElementEnum eElement = m_hParentSkill->GetElement(); m_hHasActor->PopForceHitElement(); } } #endif void CDnApplySEWhenActionSetBlowEnabledProcessor::Process( LOCAL_TIME LocalTime, float fDelta ) { } void CDnApplySEWhenActionSetBlowEnabledProcessor::OnEnd( LOCAL_TIME LocalTime, float fDelta ) { }