Bazaar developer reference

CvUnit::CvUnit()

Defined in
CvUnit.cpp, line 131
Class
CvUnit
Not a hook point
constructor or destructor

Code

130// Public Functions...131CvUnit::CvUnit() :132	m_syncArchive(*this)133	, m_iID("CvUnit::m_iID", m_syncArchive)134	, m_iHotKeyNumber("CvUnit::m_iHotKeyNumber", m_syncArchive)135	, m_iX("CvUnit::m_iX", m_syncArchive, true)136	, m_iY("CvUnit::m_iY", m_syncArchive, true)137	, m_iLastMoveTurn(0)138	, m_iCycleOrder(-1)139#if defined(MOD_API_UNIT_STATS)140	, m_iStatsTravelled(0)141	, m_iStatsKilled(0)142#endif143	, m_iDeployFromOperationTurn("CvUnit::DeployFromOperationTurn", m_syncArchive)144	, m_iReconX("CvUnit::m_iReconX", m_syncArchive)145	, m_iReconY("CvUnit::m_iReconY", m_syncArchive)146	, m_iReconCount("CvUnit::m_iReconCount", m_syncArchive)147	, m_iGameTurnCreated("CvUnit::m_iGameTurnCreated", m_syncArchive)148	, m_iDamage("CvUnit::m_iDamage", m_syncArchive, true)149	, m_iMoves("CvUnit::m_iMoves", m_syncArchive, true)150	, m_bImmobile("CvUnit::m_bImmobile", m_syncArchive)151	, m_iExperience("CvUnit::m_iExperience", m_syncArchive)152#if defined(MOD_UNITS_XP_TIMES_100)153	, m_iExperienceTimes100(0)154#endif155	, m_iLevel("CvUnit::m_iLevel", m_syncArchive)156	, m_iCargo("CvUnit::m_iCargo", m_syncArchive)157	, m_iCargoCapacity("CvUnit::m_iCargoCapacity", m_syncArchive)158	, m_iAttackPlotX("CvUnit::m_iAttackPlotX", m_syncArchive)159	, m_iAttackPlotY("CvUnit::m_iAttackPlotY", m_syncArchive)160	, m_iCombatTimer("CvUnit::m_iCombatTimer", m_syncArchive)161	, m_iCombatFirstStrikes("CvUnit::m_iCombatFirstStrikes", m_syncArchive)162	, m_iCombatDamage("CvUnit::m_iCombatDamage", m_syncArchive)163	, m_iFortifyTurns("CvUnit::m_iFortifyTurns", m_syncArchive, true)164	, m_bFortifiedThisTurn("CvUnit::m_bFortifiedThisTurn", m_syncArchive)165	, m_iBlitzCount("CvUnit::m_iBlitzCount", m_syncArchive)166	, m_iAmphibCount("CvUnit::m_iAmphibCount", m_syncArchive)167	, m_iRiverCrossingNoPenaltyCount("CvUnit::m_iRiverCrossingNoPenaltyCount", m_syncArchive)168	, m_iEnemyRouteCount("CvUnit::m_iEnemyRouteCount", m_syncArchive)169	, m_iRivalTerritoryCount("CvUnit::m_iRivalTerritoryCount", m_syncArchive)170	, m_iMustSetUpToRangedAttackCount("CvUnit::m_iMustSetUpToRangedAttackCount", m_syncArchive)171	, m_iRangeAttackIgnoreLOSCount("CvUnit::m_iRangeAttackIgnoreLOSCount", m_syncArchive)172	, m_iCityAttackOnlyCount(0)173	, m_iCaptureDefeatedEnemyCount(0)174	, m_iRangedSupportFireCount("CvUnit::m_iRangedSupportFireCount", m_syncArchive)175	, m_iAlwaysHealCount("CvUnit::m_iAlwaysHealCount", m_syncArchive)176	, m_iHealOutsideFriendlyCount("CvUnit::m_iHealOutsideFriendlyCount", m_syncArchive)177	, m_iHillsDoubleMoveCount("CvUnit::m_iHillsDoubleMoveCount", m_syncArchive)178	, m_iImmuneToFirstStrikesCount("CvUnit::m_iImmuneToFirstStrikesCount", m_syncArchive)179	, m_iExtraVisibilityRange("CvUnit::m_iExtraVisibilityRange", m_syncArchive)180#if defined(MOD_PROMOTIONS_VARIABLE_RECON)181	, m_iExtraReconRange("CvUnit::m_iExtraReconRange", m_syncArchive)182#endif183	, m_iExtraMoves("CvUnit::m_iExtraMoves", m_syncArchive)184	, m_iExtraMoveDiscount("CvUnit::m_iExtraMoveDiscount", m_syncArchive)185	, m_iExtraRange("CvUnit::m_iExtraRange", m_syncArchive)186	, m_iExtraIntercept("CvUnit::m_iExtraIntercept", m_syncArchive)187	, m_iExtraEvasion("CvUnit::m_iExtraEvasion", m_syncArchive)188	, m_iExtraFirstStrikes("CvUnit::m_iExtraFirstStrikes", m_syncArchive)189	, m_iExtraChanceFirstStrikes("CvUnit::m_iExtraChanceFirstStrikes", m_syncArchive)190	, m_iExtraWithdrawal("CvUnit::m_iExtraWithdrawal", m_syncArchive)191	, m_iExtraEnemyHeal("CvUnit::m_iExtraEnemyHeal", m_syncArchive)192	, m_iExtraNeutralHeal("CvUnit::m_iExtraNeutralHeal", m_syncArchive)193	, m_iExtraFriendlyHeal("CvUnit::m_iExtraFriendlyHeal", m_syncArchive)194	, m_iSameTileHeal("CvUnit::m_iSameTileHeal", m_syncArchive)195	, m_iAdjacentTileHeal("CvUnit::m_iAdjacentTileHeal", m_syncArchive)196	, m_iEnemyDamageChance(0)197	, m_iNeutralDamageChance(0)198	, m_iEnemyDamage(0)199	, m_iNeutralDamage(0)200	, m_iNearbyEnemyCombatMod(0)201	, m_iNearbyEnemyCombatRange(0)202	, m_iSapperCount(0)203	, m_iCanHeavyCharge(0)204	, m_iNumExoticGoods(0)205	, m_iAdjacentModifier("CvUnit::m_iAdjacentModifier", m_syncArchive)206	, m_iRangedAttackModifier("CvUnit::m_iRangedAttackModifier", m_syncArchive)207	, m_iInterceptionCombatModifier("CvUnit::m_iInterceptionCombatModifier", m_syncArchive)208	, m_iInterceptionDefenseDamageModifier("CvUnit::m_iInterceptionDefenseDamageModifier", m_syncArchive)209	, m_iAirSweepCombatModifier("CvUnit::m_iAirSweepCombatModifier", m_syncArchive)210	, m_iAttackModifier("CvUnit::m_iAttackModifier", m_syncArchive)211	, m_iDefenseModifier("CvUnit::m_iDefenseModifier", m_syncArchive)212	, m_iExtraCombatPercent("CvUnit::m_iExtraCombatPercent", m_syncArchive)213	, m_iExtraCityAttackPercent("CvUnit::m_iExtraCityAttackPercent", m_syncArchive)214	, m_iExtraCityDefensePercent("CvUnit::m_iExtraCityDefensePercent", m_syncArchive)215	, m_iExtraRangedDefenseModifier("CvUnit::m_iExtraRangedDefenseModifier", m_syncArchive)216	, m_iExtraHillsAttackPercent("CvUnit::m_iExtraHillsAttackPercent", m_syncArchive)217	, m_iExtraHillsDefensePercent("CvUnit::m_iExtraHillsDefensePercent", m_syncArchive)218	, m_iExtraOpenAttackPercent("CvUnit::m_iExtraOpenAttackPercent", m_syncArchive)219	, m_iExtraOpenRangedAttackMod("CvUnit::m_iExtraOpenRangedAttackMod", m_syncArchive)220	, m_iExtraRoughAttackPercent("CvUnit::m_iExtraRoughAttackPercent", m_syncArchive)221	, m_iExtraRoughRangedAttackMod("CvUnit::m_iExtraRoughRangedAttackMod", m_syncArchive)222	, m_iExtraAttackFortifiedMod("CvUnit::m_iExtraAttackFortifiedMod", m_syncArchive)223	, m_iExtraAttackWoundedMod("CvUnit::m_iExtraAttackWoundedMod", m_syncArchive)224	, m_iFlankAttackModifier(0)225	, m_iExtraOpenDefensePercent("CvUnit::m_iExtraOpenDefensePercent", m_syncArchive)226	, m_iExtraRoughDefensePercent("CvUnit::m_iExtraRoughDefensePercent", m_syncArchive)227	, m_iPillageChange("CvUnit::m_iPillageChange", m_syncArchive)228	, m_iUpgradeDiscount("CvUnit::m_iUpgradeDiscount", m_syncArchive)229	, m_iExperiencePercent("CvUnit::m_iExperiencePercent", m_syncArchive)230	, m_iDropRange("CvUnit::m_iDropRange", m_syncArchive)231	, m_iAirSweepCapableCount("CvUnit::m_iAirSweepCapableCount", m_syncArchive)232	, m_iExtraNavalMoves("CvUnit::m_iExtraNavalMoves", m_syncArchive)233	, m_iKamikazePercent("CvUnit::m_iKamikazePercent", m_syncArchive)234	, m_iBaseCombat("CvUnit::m_iBaseCombat", m_syncArchive)235#if defined(MOD_API_EXTENSIONS)236	, m_iBaseRangedCombat(0)237#endif238	, m_eFacingDirection("CvUnit::m_eFacingDirection", m_syncArchive, true)239	, m_iArmyId("CvUnit::m_iArmyId", m_syncArchive)240	, m_iIgnoreTerrainCostCount("CvUnit::m_iIgnoreTerrainCostCount", m_syncArchive)241#if defined(MOD_API_PLOT_BASED_DAMAGE)242	, m_iIgnoreTerrainDamageCount("CvUnit::m_iIgnoreTerrainDamageCount", m_syncArchive)243	, m_iIgnoreFeatureDamageCount("CvUnit::m_iIgnoreFeatureDamageCount", m_syncArchive)244	, m_iExtraTerrainDamageCount("CvUnit::m_iExtraTerrainDamageCount", m_syncArchive)245	, m_iExtraFeatureDamageCount("CvUnit::m_iExtraFeatureDamageCount", m_syncArchive)246#endif247#if defined(MOD_PROMOTIONS_IMPROVEMENT_BONUS)248	, m_iNearbyImprovementCombatBonus("CvUnit::m_iNearbyImprovementCombatBonus", m_syncArchive)249	, m_iNearbyImprovementBonusRange("CvUnit::m_iNearbyImprovementBonusRange", m_syncArchive)250	, m_eCombatBonusImprovement("CvUnit::m_eCombatBonusImprovement", m_syncArchive)251#endif252#if defined(MOD_PROMOTIONS_CROSS_MOUNTAINS)253	, m_iCanCrossMountainsCount("CvUnit::m_iCanCrossMountainsCount", m_syncArchive)254#endif255#if defined(MOD_PROMOTIONS_CROSS_OCEANS)256	, m_iCanCrossOceansCount("CvUnit::m_iCanCrossOceansCount", m_syncArchive)257#endif258#if defined(MOD_PROMOTIONS_CROSS_ICE)259	, m_iCanCrossIceCount("CvUnit::m_iCanCrossIceCount", m_syncArchive)260#endif261#if defined(MOD_PROMOTIONS_GG_FROM_BARBARIANS)262	, m_iGGFromBarbariansCount("CvUnit::m_iGGFromBarbariansCount", m_syncArchive)263#endif264	, m_iRoughTerrainEndsTurnCount("CvUnit::m_iRoughTerrainEndsTurnCount", m_syncArchive)265	, m_iEmbarkAbilityCount("CvUnit::m_iEmbarkAbilityCount", m_syncArchive)266	, m_iHoveringUnitCount("CvUnit::m_iHoveringUnitCount", m_syncArchive)267	, m_iFlatMovementCostCount("CvUnit::m_iFlatMovementCostCount", m_syncArchive)268	, m_iCanMoveImpassableCount("CvUnit::m_iCanMoveImpassableCount", m_syncArchive)269	, m_iOnlyDefensiveCount("CvUnit::m_iOnlyDefensiveCount", m_syncArchive)270	, m_iNoDefensiveBonusCount("CvUnit::m_iNoDefensiveBonusCount", m_syncArchive)271	, m_iNoCaptureCount("CvUnit::m_iNoCaptureCount", m_syncArchive)272	, m_iNukeImmuneCount("CvUnit::m_iNukeImmuneCount", m_syncArchive)273	, m_iHiddenNationalityCount("CvUnit::m_iHiddenNationalityCount", m_syncArchive)274	, m_iAlwaysHostileCount("CvUnit::m_iAlwaysHostileCount", m_syncArchive)275	, m_iNoRevealMapCount("CvUnit::m_iNoRevealMapCount", m_syncArchive)276	, m_iCanMoveAllTerrainCount("CvUnit::m_iCanMoveAllTerrainCount", m_syncArchive)277	, m_iCanMoveAfterAttackingCount("CvUnit::m_iCanMoveAfterAttackingCount", m_syncArchive)278	, m_iFreePillageMoveCount("CvUnit::m_iFreePillageMoveCount", m_syncArchive)279	, m_iHealOnPillageCount(0)280	, m_iHPHealedIfDefeatEnemy("CvUnit::m_iHPHealedIfDefeatEnemy", m_syncArchive)281	, m_iGoldenAgeValueFromKills(0)282	, m_iHealIfDefeatExcludeBarbariansCount("CvUnit::m_iHealIfDefeatExcludeBarbariansCount", m_syncArchive)283	, m_iTacticalAIPlotX("CvUnit::m_iTacticalAIPlotX", m_syncArchive)284	, m_iTacticalAIPlotY("CvUnit::m_iTacticalAIPlotY", m_syncArchive)285	, m_iGarrisonCityID("CvUnit::m_iGarrisonCityID", m_syncArchive)   // unused286	, m_iFlags("CvUnit::m_iFlags", m_syncArchive)287	, m_iNumAttacks("CvUnit::m_iNumAttacks", m_syncArchive)288	, m_iAttacksMade("CvUnit::m_iAttacksMade", m_syncArchive)289	, m_iGreatGeneralCount("CvUnit::m_iGreatGeneralCount", m_syncArchive)290	, m_iGreatAdmiralCount(0)291#if defined(MOD_PROMOTIONS_AURA_CHANGE)292	, m_iAuraRangeChange(0)293	, m_iAuraEffectChange(0)294#endif295	, m_iGreatGeneralModifier("CvUnit::m_iGreatGeneralModifier", m_syncArchive)296#if defined(MOD_UNITS_NO_SUPPLY)297	, m_iNoSupply(0)298#endif299#if defined(MOD_UNITS_MAX_HP)300	, m_iMaxHitPointsBase(GC.getMAX_HIT_POINTS())301	, m_iMaxHitPointsChange(0)302	, m_iMaxHitPointsModifier(0)303#endif304	, m_iFriendlyLandsModifier("CvUnit::m_iFriendlyLandsModifier", m_syncArchive)305	, m_iFriendlyLandsAttackModifier("CvUnit::m_iFriendlyLandsAttackModifier", m_syncArchive)306	, m_iOutsideFriendlyLandsModifier("CvUnit::m_iOutsideFriendlyLandsModifier", m_syncArchive)307	, m_iNumInterceptions("CvUnit::m_iNumInterceptions", m_syncArchive)308	, m_iMadeInterceptionCount("CvUnit::m_iMadeInterceptionCount", m_syncArchive)309	, m_iEverSelectedCount(0)310	, m_bIgnoreDangerWakeup(false) // slewis - make autovariable when saved games are broken311	, m_iEmbarkedAllWaterCount(0)312#if defined(MOD_PROMOTIONS_DEEP_WATER_EMBARKATION)313	, m_iEmbarkedDeepWaterCount(0)314#endif315	, m_iEmbarkExtraVisibility(0)316	, m_iEmbarkDefensiveModifier(0)317	, m_iCapitalDefenseModifier(0)318	, m_iCapitalDefenseFalloff(0)319	, m_iCityAttackPlunderModifier(0)320	, m_iReligiousStrengthLossRivalTerritory(0)321	, m_iTradeMissionInfluenceModifier(0)322	, m_iTradeMissionGoldModifier(0)323#if defined(MOD_PROMOTIONS_UNIT_NAMING)324	, m_strUnitName("")325#endif326	, m_strName("")327#if defined(MOD_GLOBAL_NO_LOST_GREATWORKS)328	, m_strGreatName("")329#endif330	, m_eGreatWork(NO_GREAT_WORK)331	, m_iTourismBlastStrength(0)332	, m_bPromotionReady("CvUnit::m_bPromotionReady", m_syncArchive)333	, m_bDeathDelay("CvUnit::m_bDeathDelay", m_syncArchive)334	, m_bCombatFocus("CvUnit::m_bCombatFocus", m_syncArchive)335	, m_bInfoBarDirty("CvUnit::m_bInfoBarDirty", m_syncArchive)336	, m_bNotConverting("CvUnit::m_bNotConverting", m_syncArchive)337	, m_bAirCombat("CvUnit::m_bAirCombat", m_syncArchive)338	, m_bSetUpForRangedAttack("CvUnit::m_bSetUpForRangedAttack", m_syncArchive)339	, m_bEmbarked("CvUnit::m_bEmbarked", m_syncArchive)340	, m_bAITurnProcessed("CvUnit::m_bAITurnProcessed", m_syncArchive, false, true)341	, m_eTacticalMove("CvUnit::m_eTacticalMove", m_syncArchive)342	, m_eOwner("CvUnit::m_eOwner", m_syncArchive)343	, m_eOriginalOwner("CvUnit::m_eOriginalOwner", m_syncArchive)344	, m_eCapturingPlayer("CvUnit::m_eCapturingPlayer", m_syncArchive)345	, m_bCapturedAsIs(false)346	, m_eUnitType("CvUnit::m_eUnitType", m_syncArchive)347	, m_eLeaderUnitType("CvUnit::m_eLeaderUnitType", m_syncArchive)348	, m_eInvisibleType("CvUnit::m_eInvisibleType", m_syncArchive)349	, m_eSeeInvisibleType("CvUnit::m_eSeeInvisibleType", m_syncArchive)350	, m_eGreatPeopleDirectiveType("CvUnit::m_eGreatPeopleDirectiveType", m_syncArchive)351	, m_combatUnit()352	, m_transportUnit()353	, m_extraDomainModifiers()354	, m_strNameIAmNotSupposedToBeUsedAnyMoreBecauseThisShouldNotBeCheckedAndWeNeedToPreserveSaveGameCompatibility("CvUnit::m_strNameIAmNotSupposedToBeUsedAnyMoreBecauseThisShouldNotBeCheckedAndWeNeedToPreserveSaveGameCompatibility", m_syncArchive, "")355	, m_strScriptData("CvUnit::m_szScriptData", m_syncArchive)356	, m_iScenarioData(0)357	, m_terrainDoubleMoveCount("CvUnit::m_terrainDoubleMoveCount", m_syncArchive)358	, m_featureDoubleMoveCount("CvUnit::m_featureDoubleMoveCount", m_syncArchive)359#if defined(MOD_PROMOTIONS_HALF_MOVE)360	, m_terrainHalfMoveCount("CvUnit::m_terrainHalfMoveCount", m_syncArchive)361	, m_featureHalfMoveCount("CvUnit::m_featureHalfMoveCount", m_syncArchive)362#endif363	, m_terrainImpassableCount("CvUnit::m_terrainImpassableCount", m_syncArchive)364	, m_featureImpassableCount("CvUnit::m_featureImpassableCount", m_syncArchive)365	, m_extraTerrainAttackPercent("CvUnit::m_extraTerrainAttackPercent", m_syncArchive/*, true*/)366	, m_extraTerrainDefensePercent("CvUnit::m_extraTerrainDefensePercent", m_syncArchive/*, true*/)367	, m_extraFeatureAttackPercent("CvUnit::m_extraFeatureAttackPercent", m_syncArchive/*, true*/)368	, m_extraFeatureDefensePercent("CvUnit::m_extraFeatureDefensePercent", m_syncArchive/*, true*/)369#if defined(MOD_API_UNIFIED_YIELDS)370	, m_yieldFromKills("CvUnit::m_yieldFromKills", m_syncArchive/*, true*/)371	, m_yieldFromBarbarianKills("CvUnit::m_yieldFromBarbarianKills", m_syncArchive/*, true*/)372#endif373	, m_extraUnitCombatModifier("CvUnit::m_extraUnitCombatModifier", m_syncArchive/*, true*/)374	, m_unitClassModifier("CvUnit::m_unitClassModifier", m_syncArchive/*, true*/)375	, m_iMissionTimer(0)376	, m_iMissionAIX("CvUnit::m_iMissionAIX", m_syncArchive)377	, m_iMissionAIY("CvUnit::m_iMissionAIY", m_syncArchive)378	, m_eMissionAIType("CvUnit::m_eMissionAIType", m_syncArchive)379	, m_missionAIUnit()380	, m_eActivityType("CvUnit::m_eActivityType", m_syncArchive, true)381	, m_eAutomateType("CvUnit::m_eAutomateType", m_syncArchive)382	, m_eUnitAIType("CvUnit::m_eUnitAIType", m_syncArchive)383	, m_thisHandle(this)384	, m_bWaitingForMove(false)385	, m_pReligion(FNEW(CvUnitReligion, c_eCiv5GameplayDLL, 0))386	, m_iMapLayer(DEFAULT_UNIT_MAP_LAYER)387	, m_iNumGoodyHutsPopped(0)388	, m_iLastGameTurnAtFullHealth(-1)389{390	initPromotions();391	OBJECT_ALLOCATED392	FSerialization::unitsToCheck.insert(this);393	reset(0, NO_UNIT, NO_PLAYER, true);394}

Calls