Fixed team health colors and spy disguise interaction

This commit is contained in:
Curtis Shmyr
2014-03-16 19:32:44 -06:00
parent 76f7e87633
commit cc8284740c
2 changed files with 6 additions and 2 deletions

View File

@@ -66,6 +66,7 @@ NEW:
Removed the submarine detection ability from Cruiser and Transport. Removed the submarine detection ability from Cruiser and Transport.
Added the submarine detection ability to Submarines and Missile Subs. Added the submarine detection ability to Submarines and Missile Subs.
Increased the submarine detection range of Gunboat from 3 to 4. Increased the submarine detection range of Gunboat from 3 to 4.
Fixed Spies having an enemy color health bar when disguised as a friendly unit (occurred using the Team Health Colors setting).
Tiberian Dawn: Tiberian Dawn:
Chinook rotors now counter-rotate. Chinook rotors now counter-rotate.
Commando can now plant C4 on bridges. Commando can now plant C4 on bridges.

View File

@@ -181,8 +181,11 @@ namespace OpenRA.Traits
Color GetHealthColor(Health health) Color GetHealthColor(Health health)
{ {
if (Game.Settings.Game.TeamHealthColors) if (Game.Settings.Game.TeamHealthColors)
return self.Owner.IsAlliedWith(self.World.LocalPlayer) ? Color.LimeGreen : {
self.Owner.NonCombatant ? Color.Tan : Color.Red; var isAlly = self.Owner.IsAlliedWith(self.World.LocalPlayer)
|| (self.IsDisguised() && self.World.LocalPlayer.IsAlliedWith(self.EffectiveOwner.Owner));
return isAlly ? Color.LimeGreen : self.Owner.NonCombatant ? Color.Tan : Color.Red;
}
else else
return health.DamageState == DamageState.Critical ? Color.Red : return health.DamageState == DamageState.Critical ? Color.Red :
health.DamageState == DamageState.Heavy ? Color.Yellow : Color.LimeGreen; health.DamageState == DamageState.Heavy ? Color.Yellow : Color.LimeGreen;