DragonNest/GameCommon/DnApplySEWhenActionSetBlowEnabledProcessor.cpp

94 lines
2.8 KiB
C++
Raw Permalink Normal View History

#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 )
{
//// <20>θ<EFBFBD> <20><><EFBFBD><EFBFBD>ȿ<EFBFBD><C8BF> <20>߿<EFBFBD> ChangeActionSet <20><><EFBFBD><EFBFBD>ȿ<EFBFBD><C8BF><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϰ<EFBFBD> <20>߰<EFBFBD><DFB0><EFBFBD>.
//// <20><>ų <20>ʿ<EFBFBD><CABF><EFBFBD><EFBFBD><EFBFBD> <20>ߵ<EFBFBD><DFB5><EFBFBD> <20><> <20><> <20><><EFBFBD><EFBFBD>ȿ<EFBFBD><C8BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>߰<EFBFBD><DFB0><EFBFBD><EFBFBD><EFBFBD> <20>ʵ<EFBFBD><CAB5><EFBFBD> <20>Ǿ<EFBFBD><C7BE>ִ<EFBFBD>.
//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 <20><><EFBFBD><EFBFBD>ȿ<EFBFBD><C8BF><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϰ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ȿ<EFBFBD><C8BF><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>޾Ƶд<C6B5>.
// {
// m_vlStateEffect
// }
//}
}
#ifdef _GAMESERVER
void CDnApplySEWhenActionSetBlowEnabledProcessor::AddStateEffect( const CDnSkill::StateEffectStruct* pStateEffect )
{
// <20><>ų <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20><>ų <20><>ü<EFBFBD>ʿ<EFBFBD><CABF><EFBFBD> <20>ڽſ<DABD><C5BF><EFBFBD> <20>־<EFBFBD><D6BE><EFBFBD> <20><><EFBFBD><EFBFBD>ȿ<EFBFBD><C8BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD> change action set <20><><EFBFBD><EFBFBD>ȿ<EFBFBD><C8BF><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϰ<EFBFBD>
// <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>־<EFBFBD><D6BE><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>..
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 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>θ<EFBFBD> <20><>ų<EFBFBD><C5B3> <20>Ӽ<EFBFBD> <20>ο<EFBFBD>
if( m_hParentSkill )
{
CDnState::ElementEnum eElement = m_hParentSkill->GetElement();
m_hHasActor->PushForceHitElement( eElement );
}
}
void CDnApplySEWhenActionSetBlowEnabledProcessor::OnChangeActionSetBlowEnd( void )
{
// <20>߰<EFBFBD><DFB0>ߴ<EFBFBD> <20><><EFBFBD><EFBFBD>ȿ<EFBFBD><C8BF><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>.
for( int i = 0; i < (int)m_vlAppliedStateEffectID.size(); ++i )
{
m_hHasActor->CmdRemoveStateEffectFromID( m_vlAppliedStateEffectID.at(i) );
}
m_vlAppliedStateEffectID.clear();
// #33312 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>θ<EFBFBD> <20><>ų<EFBFBD><C5B3> <20>Ӽ<EFBFBD> <20>ο<EFBFBD><CEBF>ߴ<EFBFBD><DFB4><EFBFBD> Ǯ<><C7AE><EFBFBD><EFBFBD>.
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 )
{
}