void CvPlot::getVisibleBonusState(BonusTypes& eType, bool& bImproved, bool& bWorked)
{
eType = NO_BONUS;
bImproved = false;
bWorked = false;
if (GC.getGameINLINE().getActiveTeam() == NO_TEAM)
{
return;
}
if (GC.getGameINLINE().isDebugMode())
{
eType = getBonusVarietyType();
if (eType == NO_BONUS)
{
eType = getBonusType();
}
}
else if (isRevealed(GC.getGameINLINE().getActiveTeam(), false))
{
eType = getBonusVarietyType(GC.getGameINLINE().getActiveTeam());
if (eType == NO_BONUS)
{
eType = getBonusType(GC.getGameINLINE().getActiveTeam());
}
}
// improved and worked states ...
if (eType != NO_BONUS)
{
ImprovementTypes eRevealedImprovement = getRevealedImprovementType(GC.getGameINLINE().getActiveTeam(), true);
if ((eRevealedImprovement != NO_IMPROVEMENT) && GC.getImprovementInfo(eRevealedImprovement).isImprovementBonusTrade(eType))
{
bImproved = true;
bWorked = isBeingWorked();
}
}
}