#include "StdAfx.h" #include "DnBreakSuperArmorBlow.h" #if !defined( USE_BOOST_MEMPOOL ) #ifdef _DEBUG #define new new(_NORMAL_BLOCK,__FILE__,__LINE__) #endif #endif // #if !defined( USE_BOOST_MEMPOOL ) CDnBreakSuperArmorBlow::CDnBreakSuperArmorBlow( DnActorHandle hActor, const char* szValue ) : CDnBlow( hActor ) #if !defined(_GAMESERVER) ,m_IntervalChecker( hActor, GetMySmartPtr() ) #endif // _GAMESERVER { m_StateBlow.emBlowIndex = STATE_BLOW::BLOW_162; SetValue( szValue ); //È®·ü°ª m_fValue = (float)atof(szValue); #if !defined(_GAMESERVER) //±âº»ÀûÀ¸·Î ÀÌÆåÆ® Ç¥½Ã ÇÏÁö ¾Êµµ·Ï.. UseTableDefinedGraphicEffect( false ); m_bGraphicEffectShow = false; m_bTrigger = false; #endif // _GAMESERVER } CDnBreakSuperArmorBlow::~CDnBreakSuperArmorBlow(void) { } void CDnBreakSuperArmorBlow::OnBegin( LOCAL_TIME LocalTime, float fDelta ) { __super::OnBegin(LocalTime, fDelta); } void CDnBreakSuperArmorBlow::Process( LOCAL_TIME LocalTime, float fDelta ) { __super::Process( LocalTime, fDelta ); #if !defined(_GAMESERVER) if (m_bTrigger) { if (m_bGraphicEffectShow) { _AttachGraphicEffect(); if( m_hEtcObjectEffect ) { CEtActionBase::ActionElementStruct* pStruct = m_hEtcObjectEffect->GetElement( "Idle" ); if( pStruct ) m_IntervalChecker.OnBegin( LocalTime, pStruct->dwLength + 1000); } } else { if (m_hEtcObjectEffect) { _DetachGraphicEffect(); m_IntervalChecker.OnEnd(LocalTime, fDelta); } } m_bTrigger = false; } m_IntervalChecker.Process( LocalTime, fDelta ); #endif // _GAMESERVER } void CDnBreakSuperArmorBlow::OnEnd( LOCAL_TIME LocalTime, float fDelta ) { __super::OnEnd(LocalTime, fDelta); #if !defined(_GAMESERVER) _DetachGraphicEffect(); #endif // _GAMESERVER } #if !defined(_GAMESERVER) bool CDnBreakSuperArmorBlow::OnCustomIntervalProcess( void ) { if (m_hEtcObjectEffect) { _DetachGraphicEffect(); m_IntervalChecker.OnEnd(0, 0.0f); } return true; } void CDnBreakSuperArmorBlow::ShowGraphicEffect(bool bShow) { m_bGraphicEffectShow = bShow; m_bTrigger = true; } #endif // _GAMESERVER #if defined(PRE_ADD_PREFIX_SYSTE_RENEW) void CDnBreakSuperArmorBlow::AddStateEffectValue(const char* szOrigValue, const char* szAddValue, std::string& szNewValue) { char szBuff[128] = {0, }; //ÇÊ¿äÇÑ °ª º¯¼ö float fValue[2]; ////////////////////////////////////////////////////////////////////////// //ù¹øÂ° °ª fValue[0] = (float)atof( szOrigValue ); ////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////// //µÎ¹øÂ° fValue[1] = (float)atof( szAddValue ); ////////////////////////////////////////////////////////////////////////// //µÎ °ªÀ» ´õÇÑ´Ù. float fResultValue = fValue[0] + fValue[1]; sprintf_s(szBuff, "%f", fResultValue); szNewValue = szBuff; } void CDnBreakSuperArmorBlow::RemoveStateEffectValue(const char* szOrigValue, const char* szAddValue, std::string& szNewValue) { char szBuff[128] = {0, }; //ÇÊ¿äÇÑ °ª º¯¼ö float fValue[2]; ////////////////////////////////////////////////////////////////////////// //ù¹øÂ° °ª fValue[0] = (float)atof( szOrigValue ); ////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////// //µÎ¹øÂ° fValue[1] = (float)atof( szAddValue ); ////////////////////////////////////////////////////////////////////////// //°ª °è»ê float fResultValue = fValue[0] - fValue[1]; sprintf_s(szBuff, "%f", fResultValue); szNewValue = szBuff; } #endif // PRE_ADD_PREFIX_SYSTE_RENEW