Hooks
static bool BeforeCvUnit_ShowDamageDeltaText(CvUnit* self, int iDelta, CvPlot* pkPlot, float fAdditionalTextDelay, const CvString* pAppendText);static void AfterCvUnit_ShowDamageDeltaText(CvUnit* self, int iDelta, CvPlot* pkPlot, float fAdditionalTextDelay, const CvString* pAppendText);static void ReplaceCvUnit_ShowDamageDeltaText(void (*original)(CvUnit*, int, CvPlot*, float, const CvString*), CvUnit* self, int iDelta, CvPlot* pkPlot, float fAdditionalTextDelay, const CvString* pAppendText);CivRegisterBefore<CivHooks::CvUnit_ShowDamageDeltaText>(host, &BeforeCvUnit_ShowDamageDeltaText);CivRegisterAfter<CivHooks::CvUnit_ShowDamageDeltaText>(host, &AfterCvUnit_ShowDamageDeltaText);CivRegisterReplace<CivHooks::CvUnit_ShowDamageDeltaText>(host, &ReplaceCvUnit_ShowDamageDeltaText);
Code
16645void CvUnit::ShowDamageDeltaText(int iDelta, CvPlot* pkPlot, float fAdditionalTextDelay /* = 0.f */, const CvString* pAppendText /* = NULL */)16646{16647 if (pkPlot)16648 {16649 if(pkPlot->GetActiveFogOfWarMode() == FOGOFWARMODE_OFF)16650 {16651 float fDelay = 0.0f + fAdditionalTextDelay;16652 CvString text;16653 if(iDelta <= 0)16654 {16655 text.Format("[COLOR_GREEN]+%d", -iDelta);16656 fDelay = GC.getPOST_COMBAT_TEXT_DELAY() * 2;16657 }16658 else16659 {16660 text.Format("[COLOR_RED]%d", -iDelta);16661 }16662 if(pAppendText != NULL)16663 {16664 text += " ";16665 text += *pAppendText;16666 }16667 text += "[ENDCOLOR]";1666816669#if defined(SHOW_PLOT_POPUP)16670 // SHOW_PLOT_POPUP(pkPlot, getOwner(), text.c_str(), fDelay);16671#else16672 DLLUI->AddPopupText(pkPlot->getX(), pkPlot->getY(), text.c_str(), fDelay);16673#endif16674 }16675 }16676}