From 84246d287d1f85628d627ea2743ffbdc8f8f4069 Mon Sep 17 00:00:00 2001 From: reaperrr Date: Thu, 28 May 2020 00:46:13 +0200 Subject: [PATCH] Merge two ifs into one in SpawnActorOnDeath --- OpenRA.Mods.Common/Traits/Explodes.cs | 14 +++++--------- OpenRA.Mods.Common/Traits/SpawnActorOnDeath.cs | 5 +---- 2 files changed, 6 insertions(+), 13 deletions(-) diff --git a/OpenRA.Mods.Common/Traits/Explodes.cs b/OpenRA.Mods.Common/Traits/Explodes.cs index 6a28712134..40a6d17897 100644 --- a/OpenRA.Mods.Common/Traits/Explodes.cs +++ b/OpenRA.Mods.Common/Traits/Explodes.cs @@ -84,8 +84,6 @@ namespace OpenRA.Mods.Common.Traits BuildingInfo buildingInfo; Armament[] armaments; - bool anyArmaments; - public Explodes(ExplodesInfo info, Actor self) : base(info) { @@ -96,7 +94,6 @@ namespace OpenRA.Mods.Common.Traits { buildingInfo = self.Info.TraitInfoOrDefault(); armaments = self.TraitsImplementing().ToArray(); - anyArmaments = armaments.Length > 0; base.Created(self); } @@ -106,14 +103,13 @@ namespace OpenRA.Mods.Common.Traits if (IsTraitDisabled || !self.IsInWorld) return; - var sharedRandom = self.World.SharedRandom.Next(100); - if (sharedRandom > Info.Chance) + if (self.World.SharedRandom.Next(100) > Info.Chance) return; if (!Info.DeathTypes.IsEmpty && !e.Damage.DamageTypes.Overlaps(Info.DeathTypes)) return; - var weapon = ChooseWeaponForExplosion(self, sharedRandom); + var weapon = ChooseWeaponForExplosion(self); if (weapon == null) return; @@ -134,11 +130,11 @@ namespace OpenRA.Mods.Common.Traits weapon.Impact(Target.FromPos(self.CenterPosition), source); } - WeaponInfo ChooseWeaponForExplosion(Actor self, int sharedRandom) + WeaponInfo ChooseWeaponForExplosion(Actor self) { - if (!anyArmaments) + if (armaments.Length == 0) return Info.WeaponInfo; - else if (sharedRandom > Info.LoadedChance) + else if (self.World.SharedRandom.Next(100) > Info.LoadedChance) return Info.EmptyWeaponInfo; // PERF: Avoid LINQ diff --git a/OpenRA.Mods.Common/Traits/SpawnActorOnDeath.cs b/OpenRA.Mods.Common/Traits/SpawnActorOnDeath.cs index 4f983834bb..6640291cb3 100644 --- a/OpenRA.Mods.Common/Traits/SpawnActorOnDeath.cs +++ b/OpenRA.Mods.Common/Traits/SpawnActorOnDeath.cs @@ -77,10 +77,7 @@ namespace OpenRA.Mods.Common.Traits void INotifyKilled.Killed(Actor self, AttackInfo e) { - if (!enabled || IsTraitDisabled) - return; - - if (!self.IsInWorld) + if (!enabled || IsTraitDisabled || !self.IsInWorld) return; if (self.World.SharedRandom.Next(100) > Info.Probability)