252 lines
8.8 KiB
C++
252 lines
8.8 KiB
C++
|
|
|
|||
|
|
#include "stdafx.h"
|
|||
|
|
#include "./boost/scoped_ptr.hpp"
|
|||
|
|
#include "DNGameRoom.h"
|
|||
|
|
#include "DnPlayerActor.h"
|
|||
|
|
#include "TDnPlayerWarrior.h"
|
|||
|
|
|
|||
|
|
// --gtest_filter=PlayerState_unittest.*
|
|||
|
|
|
|||
|
|
#if !defined( _FINAL_BUILD ) && !defined (__COVERITY__)
|
|||
|
|
|
|||
|
|
class PlayerState_unittest:public testing::Test
|
|||
|
|
{
|
|||
|
|
protected:
|
|||
|
|
|
|||
|
|
virtual void SetUp()
|
|||
|
|
{
|
|||
|
|
MAGAReqRoomID Packet;
|
|||
|
|
memset( &Packet, 0, sizeof(Packet) );
|
|||
|
|
m_pRoom = new CDNGameRoom( NULL, 0, &Packet );
|
|||
|
|
m_pPlayerActor = (new TDnPlayerWarrior<CDnPlayerActor>( m_pRoom, 1 ) );
|
|||
|
|
m_pPlayerActor->InitializeRoom(m_pRoom);
|
|||
|
|
m_pPlayerActor->SetJobHistory(1);
|
|||
|
|
m_pPlayerActor->SetLevel(50);
|
|||
|
|
m_pPlayerActor->RefreshState();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
virtual void TearDown()
|
|||
|
|
{
|
|||
|
|
SAFE_DELETE(m_pPlayerActor);
|
|||
|
|
SAFE_DELETE(m_pRoom);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
static void SetUpTestCase()
|
|||
|
|
{
|
|||
|
|
m_pResMng = new CEtResourceMng( false, true );
|
|||
|
|
EXPECT_TRUE( m_pResMng->AddResourcePath( "r:\\gameres\\resource\\ext" ) );
|
|||
|
|
|
|||
|
|
m_pTableDB = new CDnTableDB();
|
|||
|
|
EXPECT_TRUE( m_pTableDB->Initialize() );
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
static void TearDownTestCase()
|
|||
|
|
{
|
|||
|
|
SAFE_DELETE(m_pTableDB);
|
|||
|
|
SAFE_DELETE(m_pResMng);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
CDNGameRoom *m_pRoom;
|
|||
|
|
CDnPlayerActor *m_pPlayerActor;
|
|||
|
|
|
|||
|
|
static CEtResourceMng* m_pResMng;
|
|||
|
|
static CDnTableDB* m_pTableDB;
|
|||
|
|
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
CEtResourceMng* PlayerState_unittest::m_pResMng = NULL;
|
|||
|
|
CDnTableDB* PlayerState_unittest::m_pTableDB = NULL;
|
|||
|
|
|
|||
|
|
#define USE_POST_UPGRADE_PLAYERSTATUS_VERSION
|
|||
|
|
|
|||
|
|
TEST_F( PlayerState_unittest, Test_AttackP )
|
|||
|
|
{
|
|||
|
|
int nOriginalAttackMin = m_pPlayerActor->GetAttackPMin();
|
|||
|
|
int nOriginalAttackMax = m_pPlayerActor->GetAttackPMax();
|
|||
|
|
|
|||
|
|
CDnState *pEquipStateAbsolute = new CDnState;
|
|||
|
|
pEquipStateAbsolute->ResetState();
|
|||
|
|
pEquipStateAbsolute->SetAttackPMin(100);
|
|||
|
|
pEquipStateAbsolute->SetAttackPMax(100);
|
|||
|
|
pEquipStateAbsolute->CalcValueType();
|
|||
|
|
|
|||
|
|
#ifdef USE_POST_UPGRADE_PLAYERSTATUS_VERSION
|
|||
|
|
m_pPlayerActor->AddBlowState( pEquipStateAbsolute , CDnActorState::Equip_Buff_Level , false );
|
|||
|
|
#else
|
|||
|
|
m_pPlayerActor->AddBlowState( pEquipStateAbsolute , CDnActorState::Equip_Buff_Level , false , false );
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
CDnState *pEquipStateRatio = new CDnState;
|
|||
|
|
pEquipStateRatio->ResetState();
|
|||
|
|
pEquipStateRatio->SetAttackPMinRatio(0.2f);
|
|||
|
|
pEquipStateRatio->SetAttackPMaxRatio(0.2f);
|
|||
|
|
pEquipStateRatio->CalcValueType();
|
|||
|
|
|
|||
|
|
#ifdef USE_POST_UPGRADE_PLAYERSTATUS_VERSION
|
|||
|
|
m_pPlayerActor->AddBlowState( pEquipStateRatio , CDnActorState::Equip_Buff_Level , false );
|
|||
|
|
#else
|
|||
|
|
m_pPlayerActor->AddBlowState( pEquipStateRatio , CDnActorState::Equip_Buff_Level , false , false );
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
|
|||
|
|
CDnState *pBuffStateAbsolute = new CDnState;
|
|||
|
|
pBuffStateAbsolute->ResetState();
|
|||
|
|
pBuffStateAbsolute->SetAttackPMin(100);
|
|||
|
|
pBuffStateAbsolute->SetAttackPMax(100);
|
|||
|
|
pBuffStateAbsolute->CalcValueType();
|
|||
|
|
|
|||
|
|
#ifdef USE_POST_UPGRADE_PLAYERSTATUS_VERSION
|
|||
|
|
m_pPlayerActor->AddBlowState( pBuffStateAbsolute , CDnActorState::Equip_Buff_Level , true );
|
|||
|
|
#else
|
|||
|
|
m_pPlayerActor->AddBlowState( pBuffStateAbsolute , CDnActorState::Equip_Buff_Level , true , true );
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
CDnState *pBuffStateRatio = new CDnState;
|
|||
|
|
pBuffStateRatio->ResetState();
|
|||
|
|
pBuffStateRatio->SetAttackPMinRatio(-0.2f);
|
|||
|
|
pBuffStateRatio->SetAttackPMaxRatio(-0.2f);
|
|||
|
|
pBuffStateRatio->CalcValueType();
|
|||
|
|
|
|||
|
|
#ifdef USE_POST_UPGRADE_PLAYERSTATUS_VERSION
|
|||
|
|
m_pPlayerActor->AddBlowState( pBuffStateRatio , CDnActorState::Equip_Buff_Level , true );
|
|||
|
|
#else
|
|||
|
|
m_pPlayerActor->AddBlowState( pBuffStateRatio , CDnActorState::Equip_Buff_Level , true , true );
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
// <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ϸ<EFBFBD><CFB7><EFBFBD> GetUseRegulation() <20><> <20><><EFBFBD><EFBFBD><EFBFBD>ؾ<EFBFBD><D8BE>ϴµ<CFB4> <20><EFBFBD><D7B7><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ӷ뿡<D3B7><EBBFA1> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ũ<EFBFBD><C5A9> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ؾ<EFBFBD><D8BE>ϴµ<CFB4>
|
|||
|
|
// <20><> <20><><EFBFBD><EFBFBD><EFBFBD>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>ϴ<EFBFBD> <20>ʹ<EFBFBD> <20><><EFBFBD>Ƽ<EFBFBD> <20><> <20><EFBFBD>Ʈ <20><><EFBFBD><EFBFBD><EFBFBD>ϽǶ<CFBD><C7B6><EFBFBD> <20>ش<EFBFBD><D8B4>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ϴ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ°<CFB4> <20><> <20><><EFBFBD>Ұ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>
|
|||
|
|
// GetUseRegulation() <20>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> { return <20><><EFBFBD>ϴ°<CFB4>; } <20><><EFBFBD><EFBFBD><EFBFBD>ϰ<EFBFBD> <20><EFBFBD>Ʈ <20>ϼ<EFBFBD><CFBC><EFBFBD>
|
|||
|
|
|
|||
|
|
m_pPlayerActor->RefreshState( CDnPlayerState::RefreshAll , CDnPlayerState::ST_AttackP );
|
|||
|
|
|
|||
|
|
int nMinAttackP = m_pPlayerActor->GetAttackPMin();
|
|||
|
|
int nMaxAttackP = m_pPlayerActor->GetAttackPMax();
|
|||
|
|
|
|||
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> = <20><><EFBFBD>̽<EFBFBD> <20><>(<28><><EFBFBD>ݿ<EFBFBD><DDBF><EFBFBD><EFBFBD><EFBFBD> <20><>) +<2B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѽ<EFBFBD> <20><><EFBFBD><EFBFBD>) + ( <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> * <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ) + <20><>ų <20><><EFBFBD>갪
|
|||
|
|
|
|||
|
|
|
|||
|
|
int nBaseValue = nOriginalAttackMin;
|
|||
|
|
int nEquipLevel = ( nBaseValue + 100 ) + (int)( (nBaseValue + 100) * 0.2f ); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ü<EFBFBD><C3BC> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
|||
|
|
int nBuffLevel = ( nEquipLevel + 100 ) + (int)( (nEquipLevel + 100) * -0.2f );
|
|||
|
|
|
|||
|
|
EXPECT_TRUE(nMinAttackP == nBuffLevel);
|
|||
|
|
|
|||
|
|
nBaseValue = nOriginalAttackMax;
|
|||
|
|
nEquipLevel = ( nBaseValue + 100 ) + (int)( (nBaseValue + 100) * 0.2f ); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ü<EFBFBD><C3BC> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
|||
|
|
nBuffLevel = ( nEquipLevel + 100 ) + (int)( (nEquipLevel + 100) * -0.2f );
|
|||
|
|
|
|||
|
|
EXPECT_TRUE(nMaxAttackP == nBuffLevel);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
TEST_F( PlayerState_unittest, Test_Strength )
|
|||
|
|
{
|
|||
|
|
int nOriginalStrength = m_pPlayerActor->GetStrength();
|
|||
|
|
|
|||
|
|
CDnState *pEquipStateAbsolute = new CDnState;
|
|||
|
|
pEquipStateAbsolute->ResetState();
|
|||
|
|
pEquipStateAbsolute->SetStrength(100);
|
|||
|
|
pEquipStateAbsolute->CalcValueType();
|
|||
|
|
|
|||
|
|
#ifdef USE_POST_UPGRADE_PLAYERSTATUS_VERSION
|
|||
|
|
m_pPlayerActor->AddBlowState( pEquipStateAbsolute , CDnActorState::Equip_Buff_Level , false );
|
|||
|
|
#else
|
|||
|
|
m_pPlayerActor->AddBlowState( pEquipStateAbsolute , CDnActorState::Equip_Buff_Level , false , false );
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
CDnState *pEquipStateRatio = new CDnState;
|
|||
|
|
pEquipStateRatio->ResetState();
|
|||
|
|
pEquipStateRatio->SetStrengthRatio(0.2f);
|
|||
|
|
pEquipStateRatio->CalcValueType();
|
|||
|
|
|
|||
|
|
#ifdef USE_POST_UPGRADE_PLAYERSTATUS_VERSION
|
|||
|
|
m_pPlayerActor->AddBlowState( pEquipStateRatio , CDnActorState::Equip_Buff_Level , false );
|
|||
|
|
#else
|
|||
|
|
m_pPlayerActor->AddBlowState( pEquipStateRatio , CDnActorState::Equip_Buff_Level , false , false );
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
|
|||
|
|
CDnState *pBuffStateAbsolute = new CDnState;
|
|||
|
|
pBuffStateAbsolute->ResetState();
|
|||
|
|
pBuffStateAbsolute->SetStrength(100);
|
|||
|
|
pBuffStateAbsolute->CalcValueType();
|
|||
|
|
|
|||
|
|
#ifdef USE_POST_UPGRADE_PLAYERSTATUS_VERSION
|
|||
|
|
m_pPlayerActor->AddBlowState( pBuffStateAbsolute , CDnActorState::Equip_Buff_Level , true );
|
|||
|
|
#else
|
|||
|
|
m_pPlayerActor->AddBlowState( pBuffStateAbsolute , CDnActorState::Equip_Buff_Level , true , true );
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
CDnState *pBuffStateRatio = new CDnState;
|
|||
|
|
pBuffStateRatio->ResetState();
|
|||
|
|
pBuffStateRatio->SetStrengthRatio(-0.2f);
|
|||
|
|
pBuffStateRatio->CalcValueType();
|
|||
|
|
|
|||
|
|
#ifdef USE_POST_UPGRADE_PLAYERSTATUS_VERSION
|
|||
|
|
m_pPlayerActor->AddBlowState( pBuffStateRatio , CDnActorState::Equip_Buff_Level , true );
|
|||
|
|
#else
|
|||
|
|
m_pPlayerActor->AddBlowState( pBuffStateRatio , CDnActorState::Equip_Buff_Level , true , true );
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
// <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ϸ<EFBFBD><CFB7><EFBFBD> GetUseRegulation() <20><> <20><><EFBFBD><EFBFBD><EFBFBD>ؾ<EFBFBD><D8BE>ϴµ<CFB4> <20><EFBFBD><D7B7><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ӷ뿡<D3B7><EBBFA1> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ũ<EFBFBD><C5A9> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ؾ<EFBFBD><D8BE>ϴµ<CFB4>
|
|||
|
|
// <20><> <20><><EFBFBD><EFBFBD><EFBFBD>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>ϴ<EFBFBD> <20>ʹ<EFBFBD> <20><><EFBFBD>Ƽ<EFBFBD> <20><> <20><EFBFBD>Ʈ <20><><EFBFBD><EFBFBD><EFBFBD>ϽǶ<CFBD><C7B6><EFBFBD> <20>ش<EFBFBD><D8B4>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ϴ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ°<CFB4> <20><> <20><><EFBFBD>Ұ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>
|
|||
|
|
// GetUseRegulation() <20>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> { return <20><><EFBFBD>ϴ°<CFB4>; } <20><><EFBFBD><EFBFBD><EFBFBD>ϰ<EFBFBD> <20><EFBFBD>Ʈ <20>ϼ<EFBFBD><CFBC><EFBFBD>
|
|||
|
|
|
|||
|
|
m_pPlayerActor->RefreshState( CDnPlayerState::RefreshAll , CDnPlayerState::ST_Strength );
|
|||
|
|
|
|||
|
|
int nFinalValue = m_pPlayerActor->GetStrength();
|
|||
|
|
|
|||
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> = <20><><EFBFBD>̽<EFBFBD> <20><>(<28><><EFBFBD>ݿ<EFBFBD><DDBF><EFBFBD><EFBFBD><EFBFBD> <20><>) +<2B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѽ<EFBFBD> <20><><EFBFBD><EFBFBD>) + ( <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> * <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ) + <20><>ų <20><><EFBFBD>갪
|
|||
|
|
// <20><>Ţ(#<23>⺻# <20><><EFBFBD><EFBFBD> * <20><><EFBFBD><EFBFBD>) + <20><><EFBFBD><EFBFBD>(#<23><>Ţ# <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> * <20><><EFBFBD><EFBFBD>)
|
|||
|
|
|
|||
|
|
int nBaseValue = nOriginalStrength;
|
|||
|
|
int nEquipLevel = ( nBaseValue + 100 ) + (int)( (nBaseValue + 100) * 0.2f ); // + <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
|||
|
|
int nBuffLevel = ( nEquipLevel + 100 ) + (int)( (nEquipLevel + 100) * -0.2f );
|
|||
|
|
|
|||
|
|
EXPECT_TRUE( nFinalValue == nBuffLevel );
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
TEST_F( PlayerState_unittest, Test_ElementAttack )
|
|||
|
|
{
|
|||
|
|
float fOriginalElementAttack = m_pPlayerActor->GetElementAttack( CDnState::Fire);
|
|||
|
|
|
|||
|
|
CDnState *pEquipStateAbsolute = new CDnState;
|
|||
|
|
pEquipStateAbsolute->ResetState();
|
|||
|
|
pEquipStateAbsolute->SetElementAttack( CDnState::Fire ,0.3f );
|
|||
|
|
pEquipStateAbsolute->CalcValueType();
|
|||
|
|
|
|||
|
|
#ifdef USE_POST_UPGRADE_PLAYERSTATUS_VERSION
|
|||
|
|
m_pPlayerActor->AddBlowState( pEquipStateAbsolute , CDnActorState::Equip_Buff_Level , false );
|
|||
|
|
#else
|
|||
|
|
m_pPlayerActor->AddBlowState( pEquipStateAbsolute , CDnActorState::Equip_Buff_Level , false , false );
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
CDnState *pBuffStateAbsolute = new CDnState;
|
|||
|
|
pBuffStateAbsolute->ResetState();
|
|||
|
|
pBuffStateAbsolute->SetElementAttack( CDnState::Fire , 0.3f );
|
|||
|
|
pBuffStateAbsolute->CalcValueType();
|
|||
|
|
|
|||
|
|
#ifdef USE_POST_UPGRADE_PLAYERSTATUS_VERSION
|
|||
|
|
m_pPlayerActor->AddBlowState( pBuffStateAbsolute , CDnActorState::Equip_Buff_Level , true );
|
|||
|
|
#else
|
|||
|
|
m_pPlayerActor->AddBlowState( pBuffStateAbsolute , CDnActorState::Equip_Buff_Level , true , true );
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
|
|||
|
|
// <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ϸ<EFBFBD><CFB7><EFBFBD> GetUseRegulation() <20><> <20><><EFBFBD><EFBFBD><EFBFBD>ؾ<EFBFBD><D8BE>ϴµ<CFB4> <20><EFBFBD><D7B7><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ӷ뿡<D3B7><EBBFA1> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ũ<EFBFBD><C5A9> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ؾ<EFBFBD><D8BE>ϴµ<CFB4>
|
|||
|
|
// <20><> <20><><EFBFBD><EFBFBD><EFBFBD>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>ϴ<EFBFBD> <20>ʹ<EFBFBD> <20><><EFBFBD>Ƽ<EFBFBD> <20><> <20><EFBFBD>Ʈ <20><><EFBFBD><EFBFBD><EFBFBD>ϽǶ<CFBD><C7B6><EFBFBD> <20>ش<EFBFBD><D8B4>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ϴ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ°<CFB4> <20><> <20><><EFBFBD>Ұ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>
|
|||
|
|
// GetUseRegulation() <20>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> { return <20><><EFBFBD>ϴ°<CFB4>; } <20><><EFBFBD><EFBFBD><EFBFBD>ϰ<EFBFBD> <20><EFBFBD>Ʈ <20>ϼ<EFBFBD><CFBC><EFBFBD>
|
|||
|
|
|
|||
|
|
m_pPlayerActor->RefreshState( CDnPlayerState::RefreshAll , CDnPlayerState::ST_ElementAttack );
|
|||
|
|
float fFinalValue = m_pPlayerActor->GetElementAttack( CDnState::Fire );
|
|||
|
|
|
|||
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> = <20><><EFBFBD>̽<EFBFBD> <20><>(<28><><EFBFBD>ݿ<EFBFBD><DDBF><EFBFBD><EFBFBD><EFBFBD> <20><>) +<2B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѽ<EFBFBD> <20><><EFBFBD><EFBFBD>) + ( <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> * <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ) + <20><>ų <20><><EFBFBD>갪
|
|||
|
|
|
|||
|
|
float fBaseValue = fOriginalElementAttack;
|
|||
|
|
float fEquipLevel = ( fBaseValue + 0.3f ); // + <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
|||
|
|
float fBuffLevel = ( fEquipLevel + 0.3f );
|
|||
|
|
|
|||
|
|
EXPECT_TRUE( fFinalValue == fBuffLevel );
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
#endif
|