CvPlayerAchievements::AttackedUnitWithUnit(CvUnit *, CvUnit *)
- Defined in
- CvAchievementUnlocker.cpp, line 294
- Class
- CvPlayerAchievements
- Hook name
CivHooks::CvPlayerAchievements_AttackedUnitWithUnit
Hooks
static bool BeforeCvPlayerAchievements_AttackedUnitWithUnit(CvPlayerAchievements* self, CvUnit* pAttackingUnit, CvUnit* pDefendingUnit);static void AfterCvPlayerAchievements_AttackedUnitWithUnit(CvPlayerAchievements* self, CvUnit* pAttackingUnit, CvUnit* pDefendingUnit);static void ReplaceCvPlayerAchievements_AttackedUnitWithUnit(void (*original)(CvPlayerAchievements*, CvUnit*, CvUnit*), CvPlayerAchievements* self, CvUnit* pAttackingUnit, CvUnit* pDefendingUnit);CivRegisterBefore<CivHooks::CvPlayerAchievements_AttackedUnitWithUnit>(host, &BeforeCvPlayerAchievements_AttackedUnitWithUnit);CivRegisterAfter<CivHooks::CvPlayerAchievements_AttackedUnitWithUnit>(host, &AfterCvPlayerAchievements_AttackedUnitWithUnit);CivRegisterReplace<CivHooks::CvPlayerAchievements_AttackedUnitWithUnit>(host, &ReplaceCvPlayerAchievements_AttackedUnitWithUnit);
Code
294void CvPlayerAchievements::AttackedUnitWithUnit(CvUnit* pAttackingUnit, CvUnit* pDefendingUnit)295{296#if !defined(NO_ACHIEVEMENTS)297 if(m_kPlayer.GetID() != GC.getGame().getActivePlayer())298 return;299300 if(m_eCarthageType == UNDEFINED_TYPE)301 {302 m_eCarthageType = (CivilizationTypes)GC.getInfoTypeForString("CIVILIZATION_CARTHAGE", true);303 }304305 if(m_eRomeType == UNDEFINED_TYPE)306 {307 m_eRomeType = (CivilizationTypes)GC.getInfoTypeForString("CIVILIZATION_ROME", true);308 }309310 if(m_eAfricanForestElephantType == UNDEFINED_TYPE)311 {312 m_eAfricanForestElephantType = (UnitTypes)GC.getInfoTypeForString("UNIT_CARTHAGINIAN_FOREST_ELEPHANT", true);313 }314 315 if(m_eCarthageType != NO_CIVILIZATION && m_eRomeType != NO_CIVILIZATION && m_eAfricanForestElephantType != NO_UNIT)316 {317 if(pAttackingUnit->getCivilizationType() == m_eCarthageType &&318 pAttackingUnit->getUnitType() == m_eAfricanForestElephantType &&319 pAttackingUnit->plot()->getPlotType() == PLOT_MOUNTAIN &&320 pDefendingUnit->getCivilizationType() == m_eRomeType)321 {322 gDLL->UnlockAchievement(ACHIEVEMENT_XP1_29);323 }324 }325#endif326}