fix crash in EmitInfantryOnSell when destroying things that are not Valued

This commit is contained in:
Chris Forbes
2010-05-27 22:02:36 +12:00
parent a259a0aca0
commit 996344ea6e

View File

@@ -40,7 +40,8 @@ namespace OpenRA.Mods.RA
{
var info = self.Info.Traits.Get<EmitInfantryOnSellInfo>();
var csv = self.Info.Traits.GetOrDefault<CustomSellValueInfo>();
var cost = csv != null ? csv.Value : self.Info.Traits.Get<ValuedInfo>().Cost;
var valued = self.Info.Traits.GetOrDefault<ValuedInfo>();
var cost = csv != null ? csv.Value : (valued != null ? valued.Cost : 0);
var hp = self.Info.Traits.Get<OwnedActorInfo>().HP;
var hpFraction = Math.Max(info.MinHpFraction, hp / self.GetMaxHP());
var dudesValue = (int)(hpFraction * info.ValueFraction * cost);