Bazaar developer reference

CvUnit::canTrade(const CvPlot *, bool) const

Defined in
CvUnit.cpp, line 9379
Class
CvUnit
Hook name
CivHooks::CvUnit_canTrade

Hooks

static bool BeforeCvUnit_canTrade(const CvUnit* self, const CvPlot* pPlot, bool bTestVisible, bool& result);static void AfterCvUnit_canTrade(const CvUnit* self, const CvPlot* pPlot, bool bTestVisible, bool& result);static bool ReplaceCvUnit_canTrade(bool (*original)(const CvUnit*, const CvPlot*, bool), const CvUnit* self, const CvPlot* pPlot, bool bTestVisible);CivRegisterBefore<CivHooks::CvUnit_canTrade>(host, &BeforeCvUnit_canTrade);CivRegisterAfter<CivHooks::CvUnit_canTrade>(host, &AfterCvUnit_canTrade);CivRegisterReplace<CivHooks::CvUnit_canTrade>(host, &ReplaceCvUnit_canTrade);

Code

9379bool CvUnit::canTrade(const CvPlot* pPlot, bool bTestVisible) const9380{9381	VALIDATE_OBJECT9382	if(isDelayedDeath())9383	{9384		return false;9385	}93869387	if(m_pUnitInfo->GetBaseGold() == 0)9388	{9389		return false;9390	}93919392	// Things that block usage but not visibility9393	if(!bTestVisible)9394	{9395		// Not owned9396		if(pPlot->getOwner() == NO_PLAYER)9397			return false;93989399		// Owned by a non-minor civ9400		if(!GET_PLAYER(pPlot->getOwner()).isMinorCiv())9401			return false;94029403		if(GET_TEAM(pPlot->getTeam()).isAtWar(getTeam()))9404		{9405			return false;9406		}9407	}94089409	return true;9410}

Calls

Called by