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);
// Sending info about taking damage
if (!m_damaging)
{
SetDamaging(true);
m_main->UpdateShortcuts();
}
m_damageTime = m_time;
}
else
{
@ -429,10 +434,6 @@ bool COldObject::DamageObject(DamageType type, float force, CObject* killer)
{
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;
}
@ -2157,6 +2158,12 @@ bool COldObject::EventFrame(const Event &event)
SetShield(GetShield() + event.rTime*(1.0f/GetShieldFullRegenTime()));
}
if (m_damaging && m_time - m_damageTime > 2.0f)
{
SetDamaging(false);
m_main->UpdateShortcuts();
}
return true;
}

View File

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

View File

@ -109,7 +109,7 @@ void CShortcut::Draw()
zoom = 1.0f;
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;
zoom = 0.8f;