CvTacticalTarget::IsTargetValidInThisDomain(DomainTypes)
- Defined in
- CvTacticalAI.cpp, line 148
- Class
- CvTacticalTarget
- Hook name
CivHooks::CvTacticalTarget_IsTargetValidInThisDomain
Hooks
static bool BeforeCvTacticalTarget_IsTargetValidInThisDomain(CvTacticalTarget* self, DomainTypes eDomain, bool& result);static void AfterCvTacticalTarget_IsTargetValidInThisDomain(CvTacticalTarget* self, DomainTypes eDomain, bool& result);static bool ReplaceCvTacticalTarget_IsTargetValidInThisDomain(bool (*original)(CvTacticalTarget*, DomainTypes), CvTacticalTarget* self, DomainTypes eDomain);CivRegisterBefore<CivHooks::CvTacticalTarget_IsTargetValidInThisDomain>(host, &BeforeCvTacticalTarget_IsTargetValidInThisDomain);CivRegisterAfter<CivHooks::CvTacticalTarget_IsTargetValidInThisDomain>(host, &AfterCvTacticalTarget_IsTargetValidInThisDomain);CivRegisterReplace<CivHooks::CvTacticalTarget_IsTargetValidInThisDomain>(host, &ReplaceCvTacticalTarget_IsTargetValidInThisDomain);
Code
147/// This target make sense for this domain of unit/zone?148bool CvTacticalTarget::IsTargetValidInThisDomain(DomainTypes eDomain)149{150 bool bRtnValue = false;151152 switch(GetTargetType())153 {154 case AI_TACTICAL_TARGET_DEFENSIVE_BASTION:155 case AI_TACTICAL_TARGET_BARBARIAN_CAMP:156 case AI_TACTICAL_TARGET_IMPROVEMENT:157 case AI_TACTICAL_TARGET_IMPROVEMENT_TO_DEFEND:158 case AI_TACTICAL_TARGET_ANCIENT_RUINS:159 case AI_TACTICAL_TARGET_TRADE_UNIT_LAND:160 case AI_TACTICAL_TARGET_TRADE_UNIT_LAND_PLOT:161 case AI_TACTICAL_TARGET_CITADEL:162 case AI_TACTICAL_TARGET_IMPROVEMENT_RESOURCE:163 bRtnValue = (eDomain == DOMAIN_LAND);164 break;165166 case AI_TACTICAL_TARGET_BLOCKADE_RESOURCE_POINT:167 case AI_TACTICAL_TARGET_BOMBARDMENT_ZONE:168 case AI_TACTICAL_TARGET_EMBARKED_CIVILIAN:169 case AI_TACTICAL_TARGET_EMBARKED_MILITARY_UNIT:170 case AI_TACTICAL_TARGET_TRADE_UNIT_SEA:171 case AI_TACTICAL_TARGET_TRADE_UNIT_SEA_PLOT:172 bRtnValue = (eDomain == DOMAIN_SEA);173 break;174175 case AI_TACTICAL_TARGET_CITY:176 case AI_TACTICAL_TARGET_CITY_TO_DEFEND:177 case AI_TACTICAL_TARGET_LOW_PRIORITY_CIVILIAN:178 case AI_TACTICAL_TARGET_MEDIUM_PRIORITY_CIVILIAN:179 case AI_TACTICAL_TARGET_HIGH_PRIORITY_CIVILIAN:180 case AI_TACTICAL_TARGET_VERY_HIGH_PRIORITY_CIVILIAN:181 case AI_TACTICAL_TARGET_LOW_PRIORITY_UNIT:182 case AI_TACTICAL_TARGET_MEDIUM_PRIORITY_UNIT:183 case AI_TACTICAL_TARGET_HIGH_PRIORITY_UNIT:184 bRtnValue = true;185 break;186 }187188 return bRtnValue;189}