property.cpp

来自「国外网游源码....除工具源码缺少之外,其余程序都全...至于,什么游戏,因为国」· C++ 代码 · 共 154 行

CPP
154
字号
//--------------------------------------------------------------------------------------------------------
//	File. Property.cpp
//--------------------------------------------------------------------------------------------------------

#include "StdAfx.h"

CProperty::CProperty()
{
	m_bActive		= true;
	m_pInfoEquip	= NULL;
	m_cpPart		= NULL;
	m_pObject		= NULL;
	
	m_dwLastTime	= 0;
	m_dwCurTime		= 0;
	m_dwAccTime		= 0;

	m_dwShock		= 0;
}

CProperty::~CProperty()
{
	SAFE_DELETE(m_pInfoEquip);
	SAFE_DELETE(m_cpPart);
}

void CProperty::SetInfoEquip(_WEAPON_DATA *pInfo)
{
	SAFE_DELETE(m_pInfoEquip);

	m_pInfoEquip = new _WEAPON_DATA;
	*m_pInfoEquip = *pInfo;

	// 俩 蠢赴 加档 - (欺季飘 * 俩 蠢赴加档狼 1% ); => 荤侩窍瘤 臼澜.
//	m_pInfoEquip->fShootSpeed		=	(float)FIRESPEED-(m_pInfoEquip->nShootSpeed * FIRESPEED/100);
//	m_pInfoEquip->fBulletSpeed		=	BULLETSPEED/100 * m_pInfoEquip->nBulletSpeed;

	// fshootSpeed => 10檬寸 惯荤 惯荐 捞促..
	// fshootSpeed Max = 150, Min = 3

	m_pInfoEquip->fShootSpeed		=	(float)(1000 / (m_pInfoEquip->nShootSpeed/10));
	m_pInfoEquip->fBulletSpeed		=	BULLETSPEED/100 * m_pInfoEquip->nBulletSpeed;

	m_pInfoEquip->fScale[0] = 0.01f;
	m_pInfoEquip->fScale[1] = 0.01f;
	m_pInfoEquip->fScale[2] = 0.01f;
	
	this->ResetBullet();
}

bool CProperty::ResetBullet()
{
	if( !m_pInfoEquip )
	{
		CUtility::printf_Debug("\n府悸呼飘 角菩");
		return false;
	}
	m_nMaxBulletNum = m_pInfoEquip->nBulletNum * m_pInfoEquip->nMagazine;
	m_nCurBulletNum = m_pInfoEquip->nBulletNum;
	return true;
}

PROPERTY_TYPE CProperty::GetProType()
{
	return (PROPERTY_TYPE)m_pInfoEquip->sItemData.nSpecies;	
}

bool CProperty::FrameShock(long *pDelta)
{	
	// 矫埃备窍扁
	m_dwSCTime = timeGetTime();	
	DWORD dwElapsed = m_dwSCTime - m_dwSLTime;
	m_dwSLTime = m_dwSCTime;

	DWORD dwMaxLimit = m_pInfoEquip->nDex + m_pInfoEquip->nShock;	// 烙矫~ 弊成 沁澜

	// 沥犬档 拌魂
	long nDex = (dwMaxLimit - m_pInfoEquip->nDex)*0.1f;		// (府乖-沥犬档)*0.1f; 窜困甫 临捞扁 困秦辑 0.1阑 蚌窃
	(*pDelta) += m_dwShock;
	
	if( dwMaxLimit < (*pDelta) )	// 府固飘 盲农
	{	(*pDelta)=dwMaxLimit;	}
	
	// 沥犬档啊 100捞搁 Delta绰 0
	if( nDex < (*pDelta) )
	{
		// dwElaspsed 蔼捞 呈公 累霸 唱客辑 *5肺 辉妨霖促.
		(*pDelta) -= CUtility::FrameSecDist(50,dwElapsed*5);
	}

	if( nDex >= (*pDelta) )	// 沥犬档焊促 蔼捞 累栏搁
	{	
		(*pDelta) = nDex;	// 弥历 沥犬档甫 墨乔
	}

	m_dwShock = 0;	// 茄锅 静绊 官肺 檬扁拳 秦拎具窃 (Fire俊辑 促矫 拌魂秦霖促)
	return true;
}

bool CProperty::Reload()
{
	// Reload绰 Reload 局聪概捞记捞 场唱搁, 单捞磐啊 贸府 等促.		
	if( m_nMaxBulletNum <= 0 )
	{ return false; }
	
	// 25 - 4 =
	// (藕距樊 - 泅犁藕距樊) - 弥措藕距樊 = 盎脚等 弥措 藕距樊		
	short nNum = (m_pInfoEquip->nBulletNum - m_nCurBulletNum);
	
	if( m_nMaxBulletNum >= nNum )
	{
		m_nMaxBulletNum -= nNum;
		m_nCurBulletNum = m_pInfoEquip->nBulletNum;
	}
	else
	{
		m_nCurBulletNum += m_nMaxBulletNum;
		m_nMaxBulletNum = 0;
	}

	return true;
}

/*
short CProperty::GetShockDelta()
{
	return m_dwAccuracy/100 * m_pInfoEquip->nShock;
}
*/
//
//void CProperty::SetInfoAttack(AttackItemInfo *pInfo)	// m_pInfoAttack俊 单捞磐甫 汗荤秦淋
//{
//	// Bass Info 历厘
//	this->SetInfoEquip( &pInfo->Item );
//
//	SAFE_DELETE(m_pInfoAttack);
//
//	// Attack Info 历厘
//	m_pInfoAttack	=	new ATTACKINFO;
//	m_pInfoAttack->nBulletNum		=	pInfo->Bullet;
//	m_pInfoAttack->MagazineNum		=	pInfo->Magazine;
//	m_pInfoAttack->fDistance		=	15.0f;					//pInfo->AttackDistance;
//	m_pInfoAttack->nDamage			=	pInfo->power;
//	m_pInfoAttack->Accuracy			=	pInfo->Dex;
//	m_pInfoAttack->nStyle			=	pInfo->nStyle;
//
//	// 俩 蠢赴 加档 - (欺季飘 * 俩 蠢赴加档狼 1% );
//	m_pInfoAttack->fFireSpeed		=	(float)FIRESPEED-(pInfo->speed * FIRESPEED/100);
//
//	m_pInfoAttack->fBulletSpeed		=	BULLETSPEED/100 * pInfo->BulletSpeed;
//
//	m_pInfoAttack->vScale = D3DXVECTOR3(0.01f,0.01f,0.01f);
//}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?