Skip to content

Commit

Permalink
Update rule for WithPermanentInjury removal
Browse files Browse the repository at this point in the history
  • Loading branch information
reaperrr committed Jan 12, 2020
1 parent 47f5737 commit 9342e18
Show file tree
Hide file tree
Showing 3 changed files with 53 additions and 47 deletions.
47 changes: 0 additions & 47 deletions OpenRA.Mods.Cnc/Traits/Render/WithPermanentInjury.cs

This file was deleted.

@@ -0,0 +1,52 @@
#region Copyright & License Information
/*
* Copyright 2007-2020 The OpenRA Developers (see AUTHORS)
* This file is part of OpenRA, which is free software. It is made
* available to you under the terms of the GNU General Public License
* as published by the Free Software Foundation, either version 3 of
* the License, or (at your option) any later version. For more
* information, see COPYING.
*/
#endregion

using System.Collections.Generic;
using System.Linq;

namespace OpenRA.Mods.Common.UpdateRules.Rules
{
public class RemoveWithPermanentInjury : UpdateRule
{
public override string Name { get { return "WithPermanentInjury trait has been removed."; } }
public override string Description
{
get
{
return "The WithPermanentInjury trait has been removed, and should be replaced by\n" +
"TakeCover with negative ProneTime value + GrantConditionOnDamageState/-Health.\n" +
"Affected actors are listed so that these traits can be defined.";
}
}

readonly List<string> locations = new List<string>();

public override IEnumerable<string> AfterUpdate(ModData modData)
{
if (locations.Any())
yield return "The WithPermanentInjury trait has been removed from the following actors.\n" +
"You must manually define TakeCover with a negative ProneTime and use\n" +
"GrantConditionOnDamageState/-Health with 'GrantPermanently: true'\n" +
"to enable TakeCover at the desired damage state:\n" +
UpdateUtils.FormatMessageList(locations);

locations.Clear();
}

public override IEnumerable<string> UpdateActorNode(ModData modData, MiniYamlNode actorNode)
{
if (actorNode.RemoveNodes("WithPermanentInjury") > 0)
locations.Add("{0} ({1})".F(actorNode.Key, actorNode.Location.Filename));

yield break;
}
}
}
1 change: 1 addition & 0 deletions OpenRA.Mods.Common/UpdateRules/UpdatePath.cs
Expand Up @@ -144,6 +144,7 @@ public class UpdatePath
new RemoveInitialFacingHardcoding(),
new RemoveAirdropActorTypeDefault(),
new RenameProneTime(),
new RemoveWithPermanentInjury(),
})
};

Expand Down

0 comments on commit 9342e18

Please sign in to comment.