Пример #1
0
bool CAI_Stalker::AllowItemToTrade 					(CInventoryItem const * item, EItemPlace place) const
{
	if (!g_Alive())
		return				(trade_parameters().enabled(CTradeParameters::action_show(0),item->object().cNameSect()));

	return					(const_cast<CAI_Stalker*>(this)->can_sell(item));
}
Пример #2
0
bool CInventoryOwner::AllowItemToTrade 			(CInventoryItem const * item, EItemPlace place) const
{
	return						(
		trade_parameters().enabled(
			CTradeParameters::action_sell(0),
			item->object().cNameSect()
		)
	);
}
Пример #3
0
bool CAI_Stalker::tradable_item					(CInventoryItem *inventory_item, const u16 &current_owner_id)
{
	if (!inventory_item->useful_for_NPC())
		return			(false);

	if (CLSID_DEVICE_PDA == inventory_item->object().CLS_ID) {
		CPda			*pda = smart_cast<CPda*>(inventory_item);
		VERIFY			(pda);
		if (pda->GetOriginalOwnerID() == current_owner_id)
			return		(false);
	}

	return				(
		trade_parameters().enabled(
			CTradeParameters::action_sell(0),
			inventory_item->object().cNameSect()
		)
	);
}