848 lines
No EOL
20 KiB
C++
848 lines
No EOL
20 KiB
C++
#include "StdAfx.h"
|
|
#include "DnTotalLevelSkillBlows.h"
|
|
|
|
#if defined(_GAMESERVER)
|
|
#include "DnPlayerActor.h"
|
|
#include "SecondarySkillRepository.h"
|
|
#include "SecondarySkill.h"
|
|
#include "DNUserSession.h"
|
|
#include "DNGameDataManager.h"
|
|
#endif // _GAMESERVER
|
|
|
|
#ifdef _DEBUG
|
|
#define new new(_NORMAL_BLOCK,__FILE__,__LINE__)
|
|
#endif
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
//공격용
|
|
CDnAddCriticalRateBlow::CDnAddCriticalRateBlow( DnActorHandle hActor, const char* szValue ) : CDnBlow( hActor )
|
|
{
|
|
m_StateBlow.emBlowIndex = STATE_BLOW::BLOW_267;
|
|
|
|
SetValue( szValue );
|
|
|
|
m_nCoolTime = 0;
|
|
m_fLeftCoolTime = 0.0f;
|
|
m_bActivated = false;
|
|
m_fCriticalRate = 0.0f;
|
|
|
|
SetValue(szValue);
|
|
m_fValue = 0.0f;
|
|
}
|
|
CDnAddCriticalRateBlow::~CDnAddCriticalRateBlow(void)
|
|
{
|
|
|
|
}
|
|
|
|
void CDnAddCriticalRateBlow::SetInfo(const char* szValue)
|
|
{
|
|
std::string str = szValue;//"크리티컬증가지속시간(1/1000초);크리티컬증가수치(0.0~1.0)";
|
|
std::vector<std::string> tokens;
|
|
std::string delimiters = ";";
|
|
|
|
//1. 구분
|
|
TokenizeA(str, tokens, delimiters);
|
|
|
|
if (tokens.size() != 2)
|
|
{
|
|
OutputDebug("%s :: %s --> 상태효과 정보 점검 필요!!!\n", __FUNCTION__, szValue);
|
|
}
|
|
else
|
|
{
|
|
m_nCoolTime = atoi(tokens[0].c_str());
|
|
m_fCriticalRate = (float)atof(tokens[1].c_str());
|
|
}
|
|
}
|
|
|
|
#if defined(_GAMESERVER)
|
|
void CDnAddCriticalRateBlow::ApplyCriticalIncBlow()
|
|
{
|
|
char szParam[128] = {0, };
|
|
_snprintf_s(szParam, _countof(szParam), _TRUNCATE, "%f", m_fCriticalRate);
|
|
|
|
m_hActor->CmdAddStateEffect(&m_ParentSkillInfo, STATE_BLOW::BLOW_251, m_nCoolTime, szParam);
|
|
|
|
m_bActivated = true;
|
|
m_fLeftCoolTime = m_nCoolTime * 0.001f;
|
|
}
|
|
#endif // _GAMESERVER
|
|
|
|
void CDnAddCriticalRateBlow::OnBegin( LOCAL_TIME LocalTime, float fDelta )
|
|
{
|
|
__super::OnBegin(LocalTime, fDelta);
|
|
|
|
OutputDebug("%s\n", __FUNCTION__);
|
|
}
|
|
void CDnAddCriticalRateBlow::Process( LOCAL_TIME LocalTime, float fDelta )
|
|
{
|
|
__super::Process(LocalTime, fDelta);
|
|
|
|
if (m_bActivated == true)
|
|
{
|
|
m_fLeftCoolTime -= fDelta;
|
|
|
|
if (m_fLeftCoolTime <= 0.0f)
|
|
{
|
|
m_fLeftCoolTime = 0.0f;
|
|
m_bActivated = false;
|
|
}
|
|
}
|
|
}
|
|
void CDnAddCriticalRateBlow::OnEnd( LOCAL_TIME LocalTime, float fDelta )
|
|
{
|
|
__super::OnEnd(LocalTime, fDelta);
|
|
|
|
OutputDebug("%s\n", __FUNCTION__);
|
|
}
|
|
|
|
#if defined(PRE_ADD_PREFIX_SYSTE_RENEW)
|
|
void CDnAddCriticalRateBlow::AddStateEffectValue(const char* szOrigValue, const char* szAddValue, std::string& szNewValue)
|
|
{
|
|
|
|
}
|
|
void CDnAddCriticalRateBlow::RemoveStateEffectValue(const char* szOrigValue, const char* szAddValue, std::string& szNewValue)
|
|
{
|
|
|
|
}
|
|
#endif // PRE_ADD_PREFIX_SYSTE_RENEW
|
|
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
//방어용
|
|
CDnDamageChagneBlow::CDnDamageChagneBlow( DnActorHandle hActor, const char* szValue ) : CDnBlow( hActor )
|
|
{
|
|
m_StateBlow.emBlowIndex = STATE_BLOW::BLOW_268;
|
|
|
|
SetValue( szValue );
|
|
|
|
m_nCoolTime = 0;
|
|
m_fLeftCoolTime = 0.0f;
|
|
m_bActivated = false;
|
|
m_fDamagRate = 0.0f;
|
|
m_fLimitHPRate = 0.0f;
|
|
|
|
SetValue(szValue);
|
|
m_fValue = 0.0f;
|
|
}
|
|
CDnDamageChagneBlow::~CDnDamageChagneBlow(void)
|
|
{
|
|
|
|
}
|
|
|
|
void CDnDamageChagneBlow::SetInfo(const char* szValue)
|
|
{
|
|
std::string str = szValue;//"데미지감소 지속시간(1/1000초);데미지감소(0.0~1.0)";
|
|
std::vector<std::string> tokens;
|
|
std::string delimiters = ";";
|
|
|
|
//1. 구분
|
|
TokenizeA(str, tokens, delimiters);
|
|
|
|
if (tokens.size() != 2)
|
|
{
|
|
OutputDebug("%s :: %s --> 상태효과 정보 점검 필요!!!\n", __FUNCTION__, szValue);
|
|
}
|
|
else
|
|
{
|
|
m_nCoolTime = atoi(tokens[0].c_str());
|
|
m_fDamagRate = (float)atof(tokens[1].c_str());
|
|
}
|
|
}
|
|
|
|
#if defined(_GAMESERVER)
|
|
void CDnDamageChagneBlow::ApplyDamageChange()
|
|
{
|
|
m_bActivated = true;
|
|
m_fLeftCoolTime = m_nCoolTime * 0.001f;
|
|
}
|
|
#endif // _GAMESERVER
|
|
|
|
void CDnDamageChagneBlow::OnBegin( LOCAL_TIME LocalTime, float fDelta )
|
|
{
|
|
__super::OnBegin(LocalTime, fDelta);
|
|
|
|
OutputDebug("%s\n", __FUNCTION__);
|
|
}
|
|
void CDnDamageChagneBlow::Process( LOCAL_TIME LocalTime, float fDelta )
|
|
{
|
|
__super::OnBegin(LocalTime, fDelta);
|
|
|
|
OutputDebug("%s\n", __FUNCTION__);
|
|
}
|
|
void CDnDamageChagneBlow::OnEnd( LOCAL_TIME LocalTime, float fDelta )
|
|
{
|
|
__super::OnBegin(LocalTime, fDelta);
|
|
|
|
OutputDebug("%s\n", __FUNCTION__);
|
|
}
|
|
|
|
#if defined(PRE_ADD_PREFIX_SYSTE_RENEW)
|
|
void CDnDamageChagneBlow::AddStateEffectValue(const char* szOrigValue, const char* szAddValue, std::string& szNewValue)
|
|
{
|
|
|
|
}
|
|
void CDnDamageChagneBlow::RemoveStateEffectValue(const char* szOrigValue, const char* szAddValue, std::string& szNewValue)
|
|
{
|
|
|
|
}
|
|
#endif // PRE_ADD_PREFIX_SYSTE_RENEW
|
|
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
//기능용 상태효과들...
|
|
//1. 사냥시 경험치 추가 n%증가
|
|
CDnExpIncBlow::CDnExpIncBlow( DnActorHandle hActor, const char* szValue ) : CDnBlow( hActor )
|
|
{
|
|
m_StateBlow.emBlowIndex = STATE_BLOW::BLOW_255;
|
|
|
|
SetValue( szValue );
|
|
|
|
m_fValue = (float)atof(szValue);
|
|
}
|
|
CDnExpIncBlow::~CDnExpIncBlow(void)
|
|
{
|
|
|
|
}
|
|
|
|
void CDnExpIncBlow::OnBegin( LOCAL_TIME LocalTime, float fDelta )
|
|
{
|
|
__super::OnBegin(LocalTime, fDelta);
|
|
|
|
OutputDebug("%s\n", __FUNCTION__);
|
|
}
|
|
void CDnExpIncBlow::Process( LOCAL_TIME LocalTime, float fDelta )
|
|
{
|
|
__super::Process(LocalTime, fDelta);
|
|
|
|
}
|
|
void CDnExpIncBlow::OnEnd( LOCAL_TIME LocalTime, float fDelta )
|
|
{
|
|
__super::OnEnd(LocalTime, fDelta);
|
|
|
|
OutputDebug("%s\n", __FUNCTION__);
|
|
}
|
|
|
|
#if defined(PRE_ADD_PREFIX_SYSTE_RENEW)
|
|
void CDnExpIncBlow::AddStateEffectValue(const char* szOrigValue, const char* szAddValue, std::string& szNewValue)
|
|
{
|
|
|
|
}
|
|
void CDnExpIncBlow::RemoveStateEffectValue(const char* szOrigValue, const char* szAddValue, std::string& szNewValue)
|
|
{
|
|
|
|
}
|
|
#endif // PRE_ADD_PREFIX_SYSTE_RENEW
|
|
|
|
|
|
//2. 펫 경험치 n%증가
|
|
CDnPetExpIncBlow::CDnPetExpIncBlow( DnActorHandle hActor, const char* szValue ) : CDnBlow( hActor )
|
|
{
|
|
m_StateBlow.emBlowIndex = STATE_BLOW::BLOW_256;
|
|
|
|
SetValue( szValue );
|
|
|
|
m_fValue = (float)atof(szValue);
|
|
}
|
|
CDnPetExpIncBlow::~CDnPetExpIncBlow(void)
|
|
{
|
|
|
|
}
|
|
|
|
void CDnPetExpIncBlow::OnBegin( LOCAL_TIME LocalTime, float fDelta )
|
|
{
|
|
__super::OnBegin(LocalTime, fDelta);
|
|
|
|
OutputDebug("%s\n", __FUNCTION__);
|
|
}
|
|
void CDnPetExpIncBlow::Process( LOCAL_TIME LocalTime, float fDelta )
|
|
{
|
|
__super::Process(LocalTime, fDelta);
|
|
|
|
|
|
}
|
|
void CDnPetExpIncBlow::OnEnd( LOCAL_TIME LocalTime, float fDelta )
|
|
{
|
|
__super::OnEnd(LocalTime, fDelta);
|
|
|
|
OutputDebug("%s\n", __FUNCTION__);
|
|
}
|
|
|
|
#if defined(PRE_ADD_PREFIX_SYSTE_RENEW)
|
|
void CDnPetExpIncBlow::AddStateEffectValue(const char* szOrigValue, const char* szAddValue, std::string& szNewValue)
|
|
{
|
|
|
|
}
|
|
void CDnPetExpIncBlow::RemoveStateEffectValue(const char* szOrigValue, const char* szAddValue, std::string& szNewValue)
|
|
{
|
|
|
|
}
|
|
#endif // PRE_ADD_PREFIX_SYSTE_RENEW
|
|
|
|
|
|
//3. 마을에서 캐릭터 이동속도 n%증가
|
|
CDnMoveSpeedIncBlow::CDnMoveSpeedIncBlow( DnActorHandle hActor, const char* szValue ) : CDnBlow( hActor )
|
|
{
|
|
m_StateBlow.emBlowIndex = STATE_BLOW::BLOW_257;
|
|
|
|
SetValue( szValue );
|
|
|
|
m_fValue = (float)atof(szValue);
|
|
}
|
|
CDnMoveSpeedIncBlow::~CDnMoveSpeedIncBlow(void)
|
|
{
|
|
|
|
}
|
|
|
|
void CDnMoveSpeedIncBlow::OnBegin( LOCAL_TIME LocalTime, float fDelta )
|
|
{
|
|
__super::OnBegin(LocalTime, fDelta);
|
|
|
|
OutputDebug("%s\n", __FUNCTION__);
|
|
}
|
|
void CDnMoveSpeedIncBlow::Process( LOCAL_TIME LocalTime, float fDelta )
|
|
{
|
|
__super::Process(LocalTime, fDelta);
|
|
|
|
}
|
|
void CDnMoveSpeedIncBlow::OnEnd( LOCAL_TIME LocalTime, float fDelta )
|
|
{
|
|
__super::OnEnd(LocalTime, fDelta);
|
|
|
|
OutputDebug("%s\n", __FUNCTION__);
|
|
}
|
|
|
|
#if defined(PRE_ADD_PREFIX_SYSTE_RENEW)
|
|
void CDnMoveSpeedIncBlow::AddStateEffectValue(const char* szOrigValue, const char* szAddValue, std::string& szNewValue)
|
|
{
|
|
|
|
}
|
|
void CDnMoveSpeedIncBlow::RemoveStateEffectValue(const char* szOrigValue, const char* szAddValue, std::string& szNewValue)
|
|
{
|
|
|
|
}
|
|
#endif // PRE_ADD_PREFIX_SYSTE_RENEW
|
|
|
|
|
|
//4. 탈것으 이동 속고 n%증가
|
|
CDnVehicleMoveSpeedBlow::CDnVehicleMoveSpeedBlow( DnActorHandle hActor, const char* szValue ) : CDnBlow( hActor )
|
|
{
|
|
m_StateBlow.emBlowIndex = STATE_BLOW::BLOW_258;
|
|
|
|
SetValue( szValue );
|
|
|
|
m_fValue = (float)atof(szValue);
|
|
}
|
|
CDnVehicleMoveSpeedBlow::~CDnVehicleMoveSpeedBlow(void)
|
|
{
|
|
|
|
}
|
|
|
|
void CDnVehicleMoveSpeedBlow::OnBegin( LOCAL_TIME LocalTime, float fDelta )
|
|
{
|
|
__super::OnBegin(LocalTime, fDelta);
|
|
|
|
OutputDebug("%s\n", __FUNCTION__);
|
|
}
|
|
void CDnVehicleMoveSpeedBlow::Process( LOCAL_TIME LocalTime, float fDelta )
|
|
{
|
|
__super::Process(LocalTime, fDelta);
|
|
|
|
|
|
}
|
|
void CDnVehicleMoveSpeedBlow::OnEnd( LOCAL_TIME LocalTime, float fDelta )
|
|
{
|
|
__super::OnEnd(LocalTime, fDelta);
|
|
|
|
OutputDebug("%s\n", __FUNCTION__);
|
|
}
|
|
|
|
#if defined(PRE_ADD_PREFIX_SYSTE_RENEW)
|
|
void CDnVehicleMoveSpeedBlow::AddStateEffectValue(const char* szOrigValue, const char* szAddValue, std::string& szNewValue)
|
|
{
|
|
|
|
}
|
|
void CDnVehicleMoveSpeedBlow::RemoveStateEffectValue(const char* szOrigValue, const char* szAddValue, std::string& szNewValue)
|
|
{
|
|
|
|
}
|
|
#endif // PRE_ADD_PREFIX_SYSTE_RENEW
|
|
|
|
|
|
//5. 캐릭터 사망시 내구도 깍이지 않는 스킬(사망시만)
|
|
CDnIgnoreDurationBlow::CDnIgnoreDurationBlow( DnActorHandle hActor, const char* szValue ) : CDnBlow( hActor )
|
|
{
|
|
m_StateBlow.emBlowIndex = STATE_BLOW::BLOW_259;
|
|
|
|
SetValue( szValue );
|
|
|
|
m_fValue = (float)atof(szValue);
|
|
}
|
|
CDnIgnoreDurationBlow::~CDnIgnoreDurationBlow(void)
|
|
{
|
|
|
|
}
|
|
|
|
void CDnIgnoreDurationBlow::OnBegin( LOCAL_TIME LocalTime, float fDelta )
|
|
{
|
|
__super::OnBegin(LocalTime, fDelta);
|
|
|
|
OutputDebug("%s\n", __FUNCTION__);
|
|
}
|
|
void CDnIgnoreDurationBlow::Process( LOCAL_TIME LocalTime, float fDelta )
|
|
{
|
|
__super::Process(LocalTime, fDelta);
|
|
|
|
|
|
}
|
|
void CDnIgnoreDurationBlow::OnEnd( LOCAL_TIME LocalTime, float fDelta )
|
|
{
|
|
__super::OnEnd(LocalTime, fDelta);
|
|
|
|
OutputDebug("%s\n", __FUNCTION__);
|
|
}
|
|
|
|
#if defined(PRE_ADD_PREFIX_SYSTE_RENEW)
|
|
void CDnIgnoreDurationBlow::AddStateEffectValue(const char* szOrigValue, const char* szAddValue, std::string& szNewValue)
|
|
{
|
|
|
|
}
|
|
void CDnIgnoreDurationBlow::RemoveStateEffectValue(const char* szOrigValue, const char* szAddValue, std::string& szNewValue)
|
|
{
|
|
|
|
}
|
|
#endif // PRE_ADD_PREFIX_SYSTE_RENEW
|
|
|
|
|
|
//6. NPC에게 선물할 때 호감도 10%증가
|
|
CDnNpcReputationIncBlow::CDnNpcReputationIncBlow( DnActorHandle hActor, const char* szValue ) : CDnBlow( hActor )
|
|
{
|
|
m_StateBlow.emBlowIndex = STATE_BLOW::BLOW_260;
|
|
|
|
SetValue( szValue );
|
|
|
|
m_fValue = (float)atof(szValue);
|
|
}
|
|
CDnNpcReputationIncBlow::~CDnNpcReputationIncBlow(void)
|
|
{
|
|
|
|
}
|
|
|
|
void CDnNpcReputationIncBlow::OnBegin( LOCAL_TIME LocalTime, float fDelta )
|
|
{
|
|
__super::OnBegin(LocalTime, fDelta);
|
|
|
|
OutputDebug("%s\n", __FUNCTION__);
|
|
}
|
|
void CDnNpcReputationIncBlow::Process( LOCAL_TIME LocalTime, float fDelta )
|
|
{
|
|
__super::Process(LocalTime, fDelta);
|
|
|
|
|
|
}
|
|
void CDnNpcReputationIncBlow::OnEnd( LOCAL_TIME LocalTime, float fDelta )
|
|
{
|
|
__super::OnEnd(LocalTime, fDelta);
|
|
|
|
OutputDebug("%s\n", __FUNCTION__);
|
|
}
|
|
|
|
#if defined(PRE_ADD_PREFIX_SYSTE_RENEW)
|
|
void CDnNpcReputationIncBlow::AddStateEffectValue(const char* szOrigValue, const char* szAddValue, std::string& szNewValue)
|
|
{
|
|
|
|
}
|
|
void CDnNpcReputationIncBlow::RemoveStateEffectValue(const char* szOrigValue, const char* szAddValue, std::string& szNewValue)
|
|
{
|
|
|
|
}
|
|
#endif // PRE_ADD_PREFIX_SYSTE_RENEW
|
|
|
|
|
|
//7. 콜로세움 메달 n개 추가 획득
|
|
CDnAddMedalBlow::CDnAddMedalBlow( DnActorHandle hActor, const char* szValue ) : CDnBlow( hActor )
|
|
{
|
|
m_StateBlow.emBlowIndex = STATE_BLOW::BLOW_261;
|
|
|
|
SetValue( szValue );
|
|
m_fValue = 0.0f;
|
|
|
|
m_nAddMedal = 0;
|
|
m_nLimitMedal = 0;
|
|
|
|
std::string str = szValue;
|
|
std::vector<std::string> tokens;
|
|
TokenizeA(str, tokens, ";" );
|
|
|
|
if (tokens.size() == 2)
|
|
{
|
|
m_nAddMedal = atoi(tokens[0].c_str());
|
|
m_nLimitMedal = atoi(tokens[1].c_str());
|
|
}
|
|
else
|
|
{
|
|
OutputDebug("%s Invalid Value %s\n ", __FUNCTION__, szValue);
|
|
}
|
|
}
|
|
CDnAddMedalBlow::~CDnAddMedalBlow(void)
|
|
{
|
|
|
|
}
|
|
|
|
void CDnAddMedalBlow::OnBegin( LOCAL_TIME LocalTime, float fDelta )
|
|
{
|
|
__super::OnBegin(LocalTime, fDelta);
|
|
|
|
OutputDebug("%s\n", __FUNCTION__);
|
|
}
|
|
void CDnAddMedalBlow::Process( LOCAL_TIME LocalTime, float fDelta )
|
|
{
|
|
__super::Process(LocalTime, fDelta);
|
|
|
|
|
|
}
|
|
void CDnAddMedalBlow::OnEnd( LOCAL_TIME LocalTime, float fDelta )
|
|
{
|
|
__super::OnEnd(LocalTime, fDelta);
|
|
|
|
OutputDebug("%s\n", __FUNCTION__);
|
|
}
|
|
|
|
#if defined(PRE_ADD_PREFIX_SYSTE_RENEW)
|
|
void CDnAddMedalBlow::AddStateEffectValue(const char* szOrigValue, const char* szAddValue, std::string& szNewValue)
|
|
{
|
|
|
|
}
|
|
void CDnAddMedalBlow::RemoveStateEffectValue(const char* szOrigValue, const char* szAddValue, std::string& szNewValue)
|
|
{
|
|
|
|
}
|
|
#endif // PRE_ADD_PREFIX_SYSTE_RENEW
|
|
|
|
|
|
//8. 농장 재배 시간 n% 감소
|
|
CDnFarmingTimeBlow::CDnFarmingTimeBlow( DnActorHandle hActor, const char* szValue ) : CDnBlow( hActor )
|
|
{
|
|
m_StateBlow.emBlowIndex = STATE_BLOW::BLOW_262;
|
|
|
|
SetValue( szValue );
|
|
|
|
m_fValue = (float)atof(szValue);
|
|
}
|
|
CDnFarmingTimeBlow::~CDnFarmingTimeBlow(void)
|
|
{
|
|
|
|
}
|
|
|
|
void CDnFarmingTimeBlow::OnBegin( LOCAL_TIME LocalTime, float fDelta )
|
|
{
|
|
__super::OnBegin(LocalTime, fDelta);
|
|
|
|
OutputDebug("%s\n", __FUNCTION__);
|
|
}
|
|
void CDnFarmingTimeBlow::Process( LOCAL_TIME LocalTime, float fDelta )
|
|
{
|
|
__super::Process(LocalTime, fDelta);
|
|
|
|
|
|
}
|
|
void CDnFarmingTimeBlow::OnEnd( LOCAL_TIME LocalTime, float fDelta )
|
|
{
|
|
__super::OnEnd(LocalTime, fDelta);
|
|
|
|
OutputDebug("%s\n", __FUNCTION__);
|
|
}
|
|
|
|
#if defined(PRE_ADD_PREFIX_SYSTE_RENEW)
|
|
void CDnFarmingTimeBlow::AddStateEffectValue(const char* szOrigValue, const char* szAddValue, std::string& szNewValue)
|
|
{
|
|
|
|
}
|
|
void CDnFarmingTimeBlow::RemoveStateEffectValue(const char* szOrigValue, const char* szAddValue, std::string& szNewValue)
|
|
{
|
|
|
|
}
|
|
#endif // PRE_ADD_PREFIX_SYSTE_RENEW
|
|
|
|
|
|
//9. 래더 상점 아이템 1% 할인
|
|
CDnLadderStoreSaleBlow::CDnLadderStoreSaleBlow( DnActorHandle hActor, const char* szValue ) : CDnBlow( hActor )
|
|
{
|
|
m_StateBlow.emBlowIndex = STATE_BLOW::BLOW_263;
|
|
|
|
SetValue( szValue );
|
|
|
|
m_fValue = (float)atof(szValue);
|
|
}
|
|
CDnLadderStoreSaleBlow::~CDnLadderStoreSaleBlow(void)
|
|
{
|
|
|
|
}
|
|
|
|
void CDnLadderStoreSaleBlow::OnBegin( LOCAL_TIME LocalTime, float fDelta )
|
|
{
|
|
__super::OnBegin(LocalTime, fDelta);
|
|
|
|
OutputDebug("%s\n", __FUNCTION__);
|
|
}
|
|
void CDnLadderStoreSaleBlow::Process( LOCAL_TIME LocalTime, float fDelta )
|
|
{
|
|
__super::Process(LocalTime, fDelta);
|
|
|
|
|
|
}
|
|
void CDnLadderStoreSaleBlow::OnEnd( LOCAL_TIME LocalTime, float fDelta )
|
|
{
|
|
__super::OnEnd(LocalTime, fDelta);
|
|
|
|
OutputDebug("%s\n", __FUNCTION__);
|
|
}
|
|
|
|
#if defined(PRE_ADD_PREFIX_SYSTE_RENEW)
|
|
void CDnLadderStoreSaleBlow::AddStateEffectValue(const char* szOrigValue, const char* szAddValue, std::string& szNewValue)
|
|
{
|
|
|
|
}
|
|
void CDnLadderStoreSaleBlow::RemoveStateEffectValue(const char* szOrigValue, const char* szAddValue, std::string& szNewValue)
|
|
{
|
|
|
|
}
|
|
#endif // PRE_ADD_PREFIX_SYSTE_RENEW
|
|
|
|
//10. 자동 낚시 시간 n초 감소
|
|
CDnAutoFishingTimeBlow::CDnAutoFishingTimeBlow( DnActorHandle hActor, const char* szValue ) : CDnBlow( hActor )
|
|
{
|
|
m_StateBlow.emBlowIndex = STATE_BLOW::BLOW_264;
|
|
|
|
SetValue( szValue );
|
|
|
|
m_fValue = (float)atof(szValue);
|
|
}
|
|
CDnAutoFishingTimeBlow::~CDnAutoFishingTimeBlow(void)
|
|
{
|
|
|
|
}
|
|
|
|
void CDnAutoFishingTimeBlow::OnBegin( LOCAL_TIME LocalTime, float fDelta )
|
|
{
|
|
__super::OnBegin(LocalTime, fDelta);
|
|
|
|
OutputDebug("%s\n", __FUNCTION__);
|
|
}
|
|
void CDnAutoFishingTimeBlow::Process( LOCAL_TIME LocalTime, float fDelta )
|
|
{
|
|
__super::Process(LocalTime, fDelta);
|
|
|
|
|
|
}
|
|
void CDnAutoFishingTimeBlow::OnEnd( LOCAL_TIME LocalTime, float fDelta )
|
|
{
|
|
__super::OnEnd(LocalTime, fDelta);
|
|
|
|
OutputDebug("%s\n", __FUNCTION__);
|
|
}
|
|
|
|
#if defined(PRE_ADD_PREFIX_SYSTE_RENEW)
|
|
void CDnAutoFishingTimeBlow::AddStateEffectValue(const char* szOrigValue, const char* szAddValue, std::string& szNewValue)
|
|
{
|
|
|
|
}
|
|
void CDnAutoFishingTimeBlow::RemoveStateEffectValue(const char* szOrigValue, const char* szAddValue, std::string& szNewValue)
|
|
{
|
|
|
|
}
|
|
#endif // PRE_ADD_PREFIX_SYSTE_RENEW
|
|
|
|
|
|
//11. 요리 숙련 n% 증가
|
|
CDnCookingExpIncBlow::CDnCookingExpIncBlow( DnActorHandle hActor, const char* szValue ) : CDnBlow( hActor )
|
|
{
|
|
m_StateBlow.emBlowIndex = STATE_BLOW::BLOW_265;
|
|
|
|
SetValue( szValue );
|
|
|
|
m_fValue = (float)atof(szValue);
|
|
|
|
m_AddExpValue = 0;
|
|
}
|
|
CDnCookingExpIncBlow::~CDnCookingExpIncBlow(void)
|
|
{
|
|
|
|
}
|
|
|
|
void CDnCookingExpIncBlow::OnBegin( LOCAL_TIME LocalTime, float fDelta )
|
|
{
|
|
__super::OnBegin(LocalTime, fDelta);
|
|
|
|
OutputDebug("%s\n", __FUNCTION__);
|
|
}
|
|
void CDnCookingExpIncBlow::Process( LOCAL_TIME LocalTime, float fDelta )
|
|
{
|
|
__super::Process(LocalTime, fDelta);
|
|
|
|
|
|
}
|
|
void CDnCookingExpIncBlow::OnEnd( LOCAL_TIME LocalTime, float fDelta )
|
|
{
|
|
__super::OnEnd(LocalTime, fDelta);
|
|
|
|
OutputDebug("%s\n", __FUNCTION__);
|
|
}
|
|
|
|
#if defined(PRE_ADD_PREFIX_SYSTE_RENEW)
|
|
void CDnCookingExpIncBlow::AddStateEffectValue(const char* szOrigValue, const char* szAddValue, std::string& szNewValue)
|
|
{
|
|
|
|
}
|
|
void CDnCookingExpIncBlow::RemoveStateEffectValue(const char* szOrigValue, const char* szAddValue, std::string& szNewValue)
|
|
{
|
|
|
|
}
|
|
#endif // PRE_ADD_PREFIX_SYSTE_RENEW
|
|
|
|
|
|
//12. 금화 획득량 n%증가
|
|
CDnGoldIncBlow::CDnGoldIncBlow( DnActorHandle hActor, const char* szValue ) : CDnBlow( hActor )
|
|
{
|
|
m_StateBlow.emBlowIndex = STATE_BLOW::BLOW_266;
|
|
|
|
SetValue( szValue );
|
|
|
|
m_fValue = (float)atof(szValue);
|
|
}
|
|
CDnGoldIncBlow::~CDnGoldIncBlow(void)
|
|
{
|
|
|
|
}
|
|
|
|
void CDnGoldIncBlow::OnBegin( LOCAL_TIME LocalTime, float fDelta )
|
|
{
|
|
__super::OnBegin(LocalTime, fDelta);
|
|
|
|
OutputDebug("%s\n", __FUNCTION__);
|
|
}
|
|
void CDnGoldIncBlow::Process( LOCAL_TIME LocalTime, float fDelta )
|
|
{
|
|
__super::Process(LocalTime, fDelta);
|
|
|
|
|
|
}
|
|
void CDnGoldIncBlow::OnEnd( LOCAL_TIME LocalTime, float fDelta )
|
|
{
|
|
__super::OnEnd(LocalTime, fDelta);
|
|
|
|
OutputDebug("%s\n", __FUNCTION__);
|
|
}
|
|
|
|
#if defined(PRE_ADD_PREFIX_SYSTE_RENEW)
|
|
void CDnGoldIncBlow::AddStateEffectValue(const char* szOrigValue, const char* szAddValue, std::string& szNewValue)
|
|
{
|
|
|
|
}
|
|
void CDnGoldIncBlow::RemoveStateEffectValue(const char* szOrigValue, const char* szAddValue, std::string& szNewValue)
|
|
{
|
|
|
|
}
|
|
#endif // PRE_ADD_PREFIX_SYSTE_RENEW
|
|
|
|
//13. 궁극기 쿨타임 감소
|
|
CDnGlobalCoolTimeBlow::CDnGlobalCoolTimeBlow( DnActorHandle hActor, const char* szValue ) : CDnBlow( hActor )
|
|
{
|
|
m_StateBlow.emBlowIndex = STATE_BLOW::BLOW_269;
|
|
|
|
SetValue( szValue );
|
|
|
|
m_fValue = (float)atof(szValue);
|
|
}
|
|
|
|
CDnGlobalCoolTimeBlow::~CDnGlobalCoolTimeBlow(void)
|
|
{
|
|
|
|
}
|
|
|
|
void CDnGlobalCoolTimeBlow::OnBegin( LOCAL_TIME LocalTime, float fDelta )
|
|
{
|
|
__super::OnBegin(LocalTime, fDelta);
|
|
|
|
//이미 시작 된 글로벌 쿨타임 시간 조정..
|
|
#if defined( PRE_ADD_TOTAL_LEVEL_SKILL )
|
|
if (m_hActor)
|
|
m_hActor->UpdateGlobalCoolTime(m_fValue);
|
|
#endif // PRE_ADD_TOTAL_LEVEL_SKILL
|
|
|
|
OutputDebug("%s\n", __FUNCTION__);
|
|
}
|
|
|
|
void CDnGlobalCoolTimeBlow::Process( LOCAL_TIME LocalTime, float fDelta )
|
|
{
|
|
__super::OnBegin(LocalTime, fDelta);
|
|
|
|
}
|
|
|
|
void CDnGlobalCoolTimeBlow::OnEnd( LOCAL_TIME LocalTime, float fDelta )
|
|
{
|
|
__super::OnEnd(LocalTime, fDelta);
|
|
|
|
//이미 시작 된 글로벌 쿨타임 시간 조정..
|
|
#if defined(PRE_ADD_TOTAL_LEVEL_SKILL)
|
|
if (m_hActor)
|
|
m_hActor->ResetGlobalCoolTime(m_fValue);
|
|
#endif // PRE_ADD_TOTAL_LEVEL_SKILL
|
|
|
|
OutputDebug("%s\n", __FUNCTION__);
|
|
}
|
|
|
|
#if defined(PRE_ADD_PREFIX_SYSTE_RENEW)
|
|
void CDnGlobalCoolTimeBlow::AddStateEffectValue(const char* szOrigValue, const char* szAddValue, std::string& szNewValue)
|
|
{
|
|
|
|
}
|
|
void CDnGlobalCoolTimeBlow::RemoveStateEffectValue(const char* szOrigValue, const char* szAddValue, std::string& szNewValue)
|
|
{
|
|
|
|
}
|
|
#endif // PRE_ADD_PREFIX_SYSTE_RENEW
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
//귀환자 시스템 관련 상태효과
|
|
//파티원의 드랍율 n%상승
|
|
CDnPartyDropRateBlow::CDnPartyDropRateBlow( DnActorHandle hActor, const char* szValue ) : CDnBlow( hActor )
|
|
{
|
|
m_StateBlow.emBlowIndex = STATE_BLOW::BLOW_270;
|
|
|
|
SetValue( szValue );
|
|
|
|
m_fValue = (float)atof(szValue);
|
|
}
|
|
CDnPartyDropRateBlow::~CDnPartyDropRateBlow(void)
|
|
{
|
|
|
|
}
|
|
|
|
void CDnPartyDropRateBlow::OnBegin( LOCAL_TIME LocalTime, float fDelta )
|
|
{
|
|
__super::OnBegin(LocalTime, fDelta);
|
|
|
|
OutputDebug("%s\n", __FUNCTION__);
|
|
}
|
|
void CDnPartyDropRateBlow::Process( LOCAL_TIME LocalTime, float fDelta )
|
|
{
|
|
__super::Process(LocalTime, fDelta);
|
|
|
|
}
|
|
void CDnPartyDropRateBlow::OnEnd( LOCAL_TIME LocalTime, float fDelta )
|
|
{
|
|
__super::OnEnd(LocalTime, fDelta);
|
|
|
|
OutputDebug("%s\n", __FUNCTION__);
|
|
}
|
|
|
|
#if defined(PRE_ADD_PREFIX_SYSTE_RENEW)
|
|
void CDnPartyDropRateBlow::AddStateEffectValue(const char* szOrigValue, const char* szAddValue, std::string& szNewValue)
|
|
{
|
|
|
|
}
|
|
void CDnPartyDropRateBlow::RemoveStateEffectValue(const char* szOrigValue, const char* szAddValue, std::string& szNewValue)
|
|
{
|
|
|
|
}
|
|
#endif // PRE_ADD_PREFIX_SYSTE_RENEW
|