Allow GrantCondition to grant conditions permanently.

This commit is contained in:
matjaeck
2019-11-03 23:06:37 +01:00
committed by reaperrr
parent 900e857bfa
commit ba73842747

View File

@@ -21,6 +21,9 @@ namespace OpenRA.Mods.Common.Traits
[Desc("Condition to grant.")]
public readonly string Condition = null;
[Desc("Is the condition irrevocable once it has been activated?")]
public readonly bool GrantPermanently = false;
public override object Create(ActorInitializer init) { return new GrantCondition(this); }
}
@@ -47,7 +50,7 @@ namespace OpenRA.Mods.Common.Traits
protected override void TraitDisabled(Actor self)
{
if (conditionToken == ConditionManager.InvalidConditionToken)
if (Info.GrantPermanently || conditionToken == ConditionManager.InvalidConditionToken)
return;
conditionToken = conditionManager.RevokeCondition(self, conditionToken);