本文整理汇总了C++中CItemBase::GetMakeValue方法的典型用法代码示例。如果您正苦于以下问题:C++ CItemBase::GetMakeValue方法的具体用法?C++ CItemBase::GetMakeValue怎么用?C++ CItemBase::GetMakeValue使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CItemBase
的用法示例。
在下文中一共展示了CItemBase::GetMakeValue方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: GetVendorPrice
LONG CItemVendable::GetVendorPrice( int iConvertFactor )
{
ADDTOCALLSTACK("CItemVendable::GetVendorPrice");
// Player is buying/selling from a vendor.
// ASSUME this item is on the vendor !
// Consider: (if not on a player vendor)
// Quality of the item.
// rareity of the item.
// ARGS:
// iConvertFactor will consider:
// Vendors Karma.
// Players Karma
// -100 = reduce price by 100% (player selling to vendor?)
// 0 = base price
// +100 = increase price by 100% (vendor selling to player?)
INT64 lPrice = m_price;
if ( lPrice <= 0 ) // set on player vendor.
{
if ( lPrice == 0 ) // set a new randomized price for the item
{
CItemBase * pItemDef;
if ( IsType( IT_DEED ))
{
// Deeds just represent the item they are deeding.
pItemDef = CItemBase::FindItemBase(static_cast<ITEMID_TYPE>(RES_GET_INDEX(m_itDeed.m_Type)));
if ( pItemDef == NULL )
return( 1 );
}
else
{
pItemDef = Item_GetDef();
}
lPrice = pItemDef->GetMakeValue(GetQuality());
m_price = static_cast<long>(-lPrice);
}
else
{
lPrice = -lPrice;
}
}
lPrice += IMULDIV( lPrice, maximum(iConvertFactor, -100), 100 );
if (lPrice > LONG_MAX)
return LONG_MAX;
else if (lPrice <= 0)
return 0;
return static_cast<long>(lPrice);
}
示例2: IsValidNPCSaleItem
bool CItemVendable::IsValidNPCSaleItem() const
{
ADDTOCALLSTACK("CItemVendable::IsValidNPCSaleItem");
// This item is in an NPC's vendor box.
// Is it a valid item that NPC's should be selling ?
CItemBase * pItemDef = Item_GetDef();
if ( m_price <= 0 && pItemDef->GetMakeValue(0) <= 0 )
{
DEBUG_ERR(( "Vendor uid=0%lx selling unpriced item %s='%s'\n", static_cast<DWORD>(GetTopLevelObj()->GetUID()), GetResourceName(), GetName()));
return( false );
}
if ( ! IsValidSaleItem( true ))
{
DEBUG_ERR(( "Vendor uid=0%lx selling bad item %s='%s'\n", static_cast<DWORD>(GetTopLevelObj()->GetUID()), GetResourceName(), GetName()));
return( false );
}
return( true );
}