diff --git a/src/game/CHUD.cpp b/src/game/CHUD.cpp index 4f93589cb..4b2ac9e14 100644 --- a/src/game/CHUD.cpp +++ b/src/game/CHUD.cpp @@ -635,7 +635,10 @@ void CHUD::Render(NVGcontext *ctx) { ColorManager::getEnergyGaugeColor().IntoNVG(), ColorManager::getPlasmaGauge1Color().IntoNVG(), ColorManager::getPlasmaGauge2Color().IntoNVG(), - ColorManager::getShieldGaugeColor().IntoNVG() + (int)shields >= (int)full/1.5 || itsGame->frameNumber == 0 || (int)shields == 0 ? ColorManager::getShieldGaugeColor().IntoNVG() : + itsGame->frameNumber % (int)shields == 0 ? ColorManager::getShieldZapColor().IntoNVG() : + itsGame->frameNumber % (int)shields == 1 ? ColorManager::getShieldDamageColor().IntoNVG() : + ColorManager::getShieldGaugeColor().IntoNVG() }; NVGcolor g2c[] = { ColorManager::getPinwheel1Color().IntoNVG(), diff --git a/src/gui/ColorManager.cpp b/src/gui/ColorManager.cpp index e4ab3c76f..c8232eced 100644 --- a/src/gui/ColorManager.cpp +++ b/src/gui/ColorManager.cpp @@ -24,6 +24,8 @@ ARGBColor ColorManager::plasmaGauge2Color = 0xffff4e00; ARGBColor ColorManager::plasmaSightsOffColor = 0xff008e00; ARGBColor ColorManager::plasmaSightsOnColor = 0xffff2600; ARGBColor ColorManager::shieldGaugeColor = 0xff0053b4; +ARGBColor ColorManager::shieldDamageColor = 0xffff0000; +ARGBColor ColorManager::shieldZapColor = 0xffffffff; ARGBColor ColorManager::hudColor = 0xff03f5f5; ARGBColor ColorManager::hudPositiveColor = 0xff51e87e; ARGBColor ColorManager::hudWarningColor = 0xffedd62d; diff --git a/src/gui/ColorManager.h b/src/gui/ColorManager.h index d508e42c7..61c7320aa 100644 --- a/src/gui/ColorManager.h +++ b/src/gui/ColorManager.h @@ -106,6 +106,14 @@ class ColorManager { return shieldGaugeColor; } + static inline ARGBColor getShieldDamageColor() { + return shieldDamageColor; + } + + static inline ARGBColor getShieldZapColor() { + return shieldZapColor; + } + static inline ARGBColor getHUDColor() { return hudColor; } @@ -226,6 +234,8 @@ class ColorManager { static ARGBColor plasmaSightsOffColor; static ARGBColor plasmaSightsOnColor; static ARGBColor shieldGaugeColor; + static ARGBColor shieldDamageColor; + static ARGBColor shieldZapColor; static ARGBColor teamColors[kMaxTeamColors + 1]; static ARGBColor teamTextColors[kMaxTeamColors + 1]; static std::string teamColorNames[kMaxTeamColors + 1];