2024-12-21 10:04:04 +08:00
|
|
|
|
#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 )
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
|
|
}
|