⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 iteminfo.cpp

📁 天之炼狱1服务器端源文件游戏服务端不完整
💻 CPP
字号:
////////////////////////////////////////////////////////////////////////////// // Filename    : ItemInfo.cpp// Written by  : excel96// Description : //////////////////////////////////////////////////////////////////////////////#include "ItemInfo.h"#include "ItemUtil.h"#include "VolumeInfo.h"#include "OptionInfo.h"//////////////////////////////////////////////////////////////////////////////// class ItemInfo member methods//////////////////////////////////////////////////////////////////////////////ItemInfo::ItemInfo()	throw(){	m_ItemType    = 0;	m_Name        = "";	m_EName       = "";	m_Price       = 0;	m_VolumeType  = 0;	m_Weight      = 0;	m_Ratio       = 0;	m_Description = "";	m_ReqSTR      = 0;	m_ReqDEX      = 0;	m_ReqINT      = 0;	m_ReqSum      = 0;	m_ReqLevel    = 0;	m_ReqGender   = GENDER_BOTH;	m_bDefaultOptions = false;	m_UpgradeRatio = 0;	m_UpgradeCrashPercent = 0;	m_bUnique = false;	m_NextOptionRatio = 0;	m_NextItemType = 0;	m_DowngradeRatio = 0;}ItemInfo::~ItemInfo()	throw(){}VolumeWidth_t ItemInfo::getVolumeWidth () const 	throw () { 	__BEGIN_TRY	return g_pVolumeInfoManager->getVolumeInfo(m_VolumeType)->getVolumeWidth(); 	__END_CATCH}VolumeHeight_t ItemInfo::getVolumeHeight () const 	throw () { 	__BEGIN_TRY	return g_pVolumeInfoManager->getVolumeInfo(m_VolumeType)->getVolumeHeight(); 	__END_CATCH}void ItemInfo::setReqAbility(const string& req)	throw(){	uint a = 0, b = 0, c = 0;	do	{		//////////////////////////////////////////////		// (DEX,40) (INT,40)		// a   b  c a		//////////////////////////////////////////////		a = req.find_first_of('(', c);		b = req.find_first_of(',', a+1);		c = req.find_first_of(')', b+1);		if (a > b || b > c) break;		Assert(a+1<b && b+1<c);		string  identifier =              req.substr(a+1, b-a-1);		Attr_t  reqAbility = (Attr_t)atoi(req.substr(b+1, c-b-1).c_str());		if (identifier == "STR")      { setReqSTR(reqAbility);    }		else if (identifier == "DEX") { setReqDEX(reqAbility);    }		else if (identifier == "INT") { setReqINT(reqAbility);    }		else if (identifier == "LEV") { setReqLevel(reqAbility);  }		else if (identifier == "GEN") { setReqGender(reqAbility); }		else if (identifier == "SUM") { setReqSum(reqAbility);    } 	} while (c < req.size() -1);}void ItemInfo::setDefaultOptions(const string& options)	throw(Error){	//////////////////////////////////////////////	// DEX+1,INT+2	// a     ba     b	//////////////////////////////////////////////	if (options.size()<=1)	{		clearDefaultOptions();		return;	}	makeOptionList( options, m_DefaultOptions );	/*do	{		b = options.find_first_of(',', a);		string  optionName = trim( options.substr(a, b-a) );		OptionType_t optionType;				try {			optionType = g_pOptionInfoManager->getOptionType(optionName);		} catch (NoSuchElementException&) {			throw Error("弊繁 可记捞 绝窜促.");		}		addDefaultOptions( optionType );		a = b+1;	} while (b!=string::npos && b < options.size() -1);*/}void ItemInfo::addDefaultOptions(OptionType_t optionType)	throw(){	m_bDefaultOptions = true;	m_DefaultOptions.push_back( optionType );}void ItemInfo::clearDefaultOptions()	throw(){	m_bDefaultOptions = false;	m_DefaultOptions.clear();}// 促澜 窜拌狼 可记栏肺 upgrade啊 己傍沁唱?bool ItemInfo::isUpgradeSucceed() const{	// 0捞 酒聪绊	// 犬伏父怒 rand()沁阑锭 漂沥茄 茄 蔼(0)捞 唱坷绰 版快啊 己傍捞促.	//return m_UpgradeRatio!=0 && (rand()%m_UpgradeRatio==0);	// 弊繁单.. 扁裙捞 归盒啦肺 唱吭促. -_-;	return (rand()%100 < (int)m_UpgradeRatio);}// 促澜 窜拌狼 可记栏肺 upgrade 窍促啊 角菩秦辑 item捞 何辑脸唱?bool ItemInfo::isUpgradeCrash() const{	return (rand()%100 < m_UpgradeCrashPercent);}

⌨️ 快捷键说明

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