Bazaar developer reference

CvUnitCombat::ApplyPostCityCombatEffects(CvUnit *, CvCity *, int)

Defined in
CvUnitCombat.cpp, line 3907
Class
CvUnitCombat
Hook name
CivHooks::CvUnitCombat_ApplyPostCityCombatEffects

Hooks

static bool BeforeCvUnitCombat_ApplyPostCityCombatEffects(CvUnit* pkAttacker, CvCity* pkDefender, int iAttackerDamageInflicted);static void AfterCvUnitCombat_ApplyPostCityCombatEffects(CvUnit* pkAttacker, CvCity* pkDefender, int iAttackerDamageInflicted);static void ReplaceCvUnitCombat_ApplyPostCityCombatEffects(void (*original)(CvUnit*, CvCity*, int), CvUnit* pkAttacker, CvCity* pkDefender, int iAttackerDamageInflicted);CivRegisterBefore<CivHooks::CvUnitCombat_ApplyPostCityCombatEffects>(host, &BeforeCvUnitCombat_ApplyPostCityCombatEffects);CivRegisterAfter<CivHooks::CvUnitCombat_ApplyPostCityCombatEffects>(host, &AfterCvUnitCombat_ApplyPostCityCombatEffects);CivRegisterReplace<CivHooks::CvUnitCombat_ApplyPostCityCombatEffects>(host, &ReplaceCvUnitCombat_ApplyPostCityCombatEffects);

Code

3907void CvUnitCombat::ApplyPostCityCombatEffects(CvUnit* pkAttacker, CvCity* pkDefender, int iAttackerDamageInflicted)3908{3909	CvString colorString;3910	int iPlunderModifier;3911#if !defined(SHOW_PLOT_POPUP)3912	float fDelay = GC.getPOST_COMBAT_TEXT_DELAY() * 3;3913#endif3914	iPlunderModifier = pkAttacker->GetCityAttackPlunderModifier();3915	if(iPlunderModifier > 0)3916	{3917		int iGoldPlundered = iAttackerDamageInflicted * iPlunderModifier;3918		iGoldPlundered /= 100;39193920		if(iGoldPlundered > 0)3921		{3922			GET_PLAYER(pkAttacker->getOwner()).GetTreasury()->ChangeGold(iGoldPlundered);39233924			CvPlayer& kCityPlayer = GET_PLAYER(pkDefender->getOwner());3925			int iDeduction = min(iGoldPlundered, kCityPlayer.GetTreasury()->GetGold());3926			kCityPlayer.GetTreasury()->ChangeGold(-iDeduction);39273928			if(pkAttacker->getOwner() == GC.getGame().getActivePlayer())3929			{3930				char text[256] = {0};3931				colorString = "[COLOR_YELLOW]+%d[ENDCOLOR][ICON_GOLD]";3932				sprintf_s(text, colorString, iGoldPlundered);3933#if defined(SHOW_PLOT_POPUP)3934				SHOW_PLOT_POPUP(pkAttacker->plot(), pkAttacker->getOwner(), text, 0.0);3935#else3936				GC.GetEngineUserInterface()->AddPopupText(pkAttacker->getX(), pkAttacker->getY(), text, fDelay);3937#endif3938			}3939		}3940	}3941}

Calls

Called by