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}