Bazaar developer reference

CvPlayer::doArmySize()

Defined in
CvPlayer.cpp, line 27909
Class
CvPlayer
Hook name
CivHooks::CvPlayer_doArmySize

Hooks

static bool BeforeCvPlayer_doArmySize(CvPlayer* self);static void AfterCvPlayer_doArmySize(CvPlayer* self);static void ReplaceCvPlayer_doArmySize(void (*original)(CvPlayer*), CvPlayer* self);CivRegisterBefore<CivHooks::CvPlayer_doArmySize>(host, &BeforeCvPlayer_doArmySize);CivRegisterAfter<CivHooks::CvPlayer_doArmySize>(host, &AfterCvPlayer_doArmySize);CivRegisterReplace<CivHooks::CvPlayer_doArmySize>(host, &ReplaceCvPlayer_doArmySize);

Code

27909void CvPlayer::doArmySize()27910{27911#if !defined(NO_ACHIEVEMENTS)27912	int numUnits = 0;27913	int32 nLargestArmy = 0;27914	int iI;2791527916	for(iI = 0; iI < NUM_UNITAI_TYPES; iI++)27917	{27918		if((UnitAITypes)iI == UNITAI_ARTIST ||(UnitAITypes)iI == UNITAI_ENGINEER || (UnitAITypes)iI == UNITAI_UNKNOWN ||27919		        (UnitAITypes)iI == UNITAI_GENERAL || (UnitAITypes)iI == UNITAI_SETTLE || (UnitAITypes)iI == UNITAI_WORKER ||27920		        (UnitAITypes)iI == UNITAI_SCIENTIST || (UnitAITypes)iI == UNITAI_MERCHANT || (UnitAITypes)iI == UNITAI_WORKER_SEA ||27921		        (UnitAITypes)iI == UNITAI_SPACESHIP_PART || (UnitAITypes)iI == UNITAI_TREASURE || (UnitAITypes)iI == UNITAI_PROPHET ||27922		        (UnitAITypes)iI == UNITAI_MISSIONARY || (UnitAITypes)iI == UNITAI_INQUISITOR || (UnitAITypes)iI == UNITAI_ADMIRAL ||27923				(UnitAITypes)iI == UNITAI_WRITER || (UnitAITypes)iI == UNITAI_MUSICIAN)27924		{27925			continue;27926		}27927		else27928		{27929			numUnits += GetNumUnitsWithUnitAI((UnitAITypes)iI, false, true);27930		}27931	}27932	gDLL->GetSteamStat(ESTEAMSTAT_STANDINGARMY, &nLargestArmy);2793327934	if(nLargestArmy < numUnits)27935	{27936		gDLL->SetSteamStat(ESTEAMSTAT_STANDINGARMY, numUnits);2793727938		CvAchievementUnlocker::Check_PSG();27939	}27940#endif27941}

Called by