Fixed shortcut not changing to normal state

1008-fix
melex750 2017-10-17 02:33:05 +02:00 committed by DavivaD
parent a29a4f93ac
commit bf69b86233
3 changed files with 14 additions and 6 deletions

View File

@ -390,7 +390,12 @@ bool COldObject::DamageObject(DamageType type, float force, CObject* killer)
SetShield(shield); SetShield(shield);
// Sending info about taking damage // Sending info about taking damage
SetDamaging(true); if (!m_damaging)
{
SetDamaging(true);
m_main->UpdateShortcuts();
}
m_damageTime = m_time;
} }
else else
{ {
@ -429,10 +434,6 @@ bool COldObject::DamageObject(DamageType type, float force, CObject* killer)
{ {
m_engine->GetPyroManager()->Create(Gfx::PT_SHOTT, this, loss); m_engine->GetPyroManager()->Create(Gfx::PT_SHOTT, this, loss);
} }
/*if ( m_time < 2.0f && m_damaging == true ) SetDamaging(false);
m_time = 0.0f;*/ // TODO: Make DamageAlarm Icon Dissapear after 2 seconds
return false; return false;
} }
@ -2157,6 +2158,12 @@ bool COldObject::EventFrame(const Event &event)
SetShield(GetShield() + event.rTime*(1.0f/GetShieldFullRegenTime())); SetShield(GetShield() + event.rTime*(1.0f/GetShieldFullRegenTime()));
} }
if (m_damaging && m_time - m_damageTime > 2.0f)
{
SetDamaging(false);
m_main->UpdateShortcuts();
}
return true; return true;
} }

View File

@ -360,6 +360,7 @@ protected:
bool m_bCheckToken; // object with audited tokens bool m_bCheckToken; // object with audited tokens
bool m_underground; // object active but undetectable bool m_underground; // object active but undetectable
bool m_damaging; bool m_damaging;
float m_damageTime;
DeathType m_dying; DeathType m_dying;
bool m_bFlat; bool m_bFlat;
bool m_bTrainer; // drive vehicle (without remote) bool m_bTrainer; // drive vehicle (without remote)

View File

@ -109,7 +109,7 @@ void CShortcut::Draw()
zoom = 1.0f; zoom = 1.0f;
mode = Gfx::ENG_RSTATE_NORMAL; mode = Gfx::ENG_RSTATE_NORMAL;
} }
if ( m_state & STATE_DAMAGE ) if ( (m_state & STATE_DAMAGE) && Math::Mod(m_time, 0.7f) >= 0.3f )
{ {
icon = 59; icon = 59;
zoom = 0.8f; zoom = 0.8f;