Fix damage transition sounds
This commit is contained in:
@@ -110,6 +110,7 @@ namespace OpenRA.Traits
|
||||
Attacker = attacker,
|
||||
Damage = damage,
|
||||
DamageState = this.DamageState,
|
||||
PreviousDamageState = oldState,
|
||||
DamageStateChanged = this.DamageState != oldState,
|
||||
Warhead = warhead
|
||||
});
|
||||
|
||||
@@ -26,6 +26,7 @@ namespace OpenRA.Traits
|
||||
public WarheadInfo Warhead;
|
||||
public int Damage;
|
||||
public DamageState DamageState;
|
||||
public DamageState PreviousDamageState;
|
||||
public bool DamageStateChanged;
|
||||
}
|
||||
|
||||
|
||||
@@ -63,12 +63,12 @@ namespace OpenRA.Mods.RA.Render
|
||||
|
||||
if (e.DamageState == DamageState.Dead)
|
||||
self.World.AddFrameEndTask(w => w.Add(new Explosion(w, self.CenterLocation.ToInt2(), "building", false)));
|
||||
else if (e.DamageState >= DamageState.Heavy)
|
||||
else if (e.DamageState >= DamageState.Heavy && e.PreviousDamageState < DamageState.Heavy)
|
||||
{
|
||||
anim.ReplaceAnim("damaged-idle");
|
||||
Sound.Play(self.Info.Traits.Get<BuildingInfo>().DamagedSound, self.CenterLocation);
|
||||
}
|
||||
else
|
||||
else if (e.DamageState < DamageState.Heavy)
|
||||
anim.ReplaceAnim("idle");
|
||||
}
|
||||
|
||||
|
||||
@@ -33,12 +33,12 @@ namespace OpenRA.Mods.RA.Render
|
||||
{
|
||||
if (!e.DamageStateChanged) return;
|
||||
|
||||
if (e.DamageState >= DamageState.Heavy)
|
||||
if (e.DamageState >= DamageState.Heavy && e.PreviousDamageState < DamageState.Heavy)
|
||||
{
|
||||
anim.ReplaceAnim("damaged-idle");
|
||||
Sound.Play(self.Info.Traits.Get<BuildingInfo>().DamagedSound, self.CenterLocation);
|
||||
}
|
||||
else
|
||||
else if (e.DamageState < DamageState.Heavy)
|
||||
anim.ReplaceAnim("idle");
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user