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}