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}