Correct the ordering on DamageState
This commit is contained in:
@@ -61,19 +61,15 @@ namespace OpenRA.Mods.RA.Render
|
||||
if (!e.DamageStateChanged)
|
||||
return;
|
||||
|
||||
switch( e.DamageState )
|
||||
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)
|
||||
{
|
||||
case DamageState.Medium: case DamageState.Light: case DamageState.Undamaged:
|
||||
anim.ReplaceAnim("idle");
|
||||
break;
|
||||
case DamageState.Heavy: case DamageState.Critical:
|
||||
anim.ReplaceAnim("damaged-idle");
|
||||
Sound.Play(self.Info.Traits.Get<BuildingInfo>().DamagedSound, self.CenterLocation);
|
||||
break;
|
||||
case DamageState.Dead:
|
||||
self.World.AddFrameEndTask(w => w.Add(new Explosion(w, self.CenterLocation.ToInt2(), "building", false)));
|
||||
break;
|
||||
anim.ReplaceAnim("damaged-idle");
|
||||
Sound.Play(self.Info.Traits.Get<BuildingInfo>().DamagedSound, self.CenterLocation);
|
||||
}
|
||||
else
|
||||
anim.ReplaceAnim("idle");
|
||||
}
|
||||
|
||||
public void Selling( Actor self )
|
||||
|
||||
@@ -33,16 +33,13 @@ namespace OpenRA.Mods.RA.Render
|
||||
{
|
||||
if (!e.DamageStateChanged) return;
|
||||
|
||||
switch( e.DamageState )
|
||||
if (e.DamageState >= DamageState.Heavy)
|
||||
{
|
||||
case DamageState.Medium: case DamageState.Light: case DamageState.Undamaged:
|
||||
anim.ReplaceAnim("idle");
|
||||
break;
|
||||
case DamageState.Heavy: case DamageState.Critical:
|
||||
anim.ReplaceAnim("damaged-idle");
|
||||
Sound.Play(self.Info.Traits.Get<BuildingInfo>().DamagedSound, self.CenterLocation);
|
||||
break;
|
||||
anim.ReplaceAnim("damaged-idle");
|
||||
Sound.Play(self.Info.Traits.Get<BuildingInfo>().DamagedSound, self.CenterLocation);
|
||||
}
|
||||
else
|
||||
anim.ReplaceAnim("idle");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -27,7 +27,7 @@ namespace OpenRA.Mods.RA.Render
|
||||
|
||||
string GetPrefix(Actor self)
|
||||
{
|
||||
return self.GetDamageState() <= DamageState.Heavy ? "damaged-" : "";
|
||||
return self.GetDamageState() >= DamageState.Heavy ? "damaged-" : "";
|
||||
}
|
||||
|
||||
public RenderWarFactory(Actor self)
|
||||
@@ -55,15 +55,10 @@ namespace OpenRA.Mods.RA.Render
|
||||
{
|
||||
if (!e.DamageStateChanged) return;
|
||||
|
||||
switch( e.DamageState )
|
||||
{
|
||||
case DamageState.Medium: case DamageState.Light: case DamageState.Undamaged:
|
||||
roof.ReplaceAnim(roof.CurrentSequence.Name.Replace("damaged-",""));
|
||||
break;
|
||||
case DamageState.Heavy: case DamageState.Critical:
|
||||
roof.ReplaceAnim("damaged-" + roof.CurrentSequence.Name);
|
||||
break;
|
||||
}
|
||||
if (e.DamageState >= DamageState.Heavy)
|
||||
roof.ReplaceAnim("damaged-" + roof.CurrentSequence.Name);
|
||||
else
|
||||
roof.ReplaceAnim(roof.CurrentSequence.Name.Replace("damaged-",""));
|
||||
}
|
||||
|
||||
public void UnitProduced(Actor self, Actor other)
|
||||
|
||||
@@ -37,7 +37,7 @@ namespace OpenRA.Mods.RA.Render
|
||||
|
||||
public void Damaged(Actor self, AttackInfo e)
|
||||
{
|
||||
if (e.DamageState > DamageState.Heavy) return;
|
||||
if (e.DamageState < DamageState.Heavy) return;
|
||||
if (isSmoking) return;
|
||||
|
||||
isSmoking = true;
|
||||
|
||||
Reference in New Issue
Block a user