diff --git a/Languages/English/Keyed/Keys.xml b/Languages/English/Keyed/Keys.xml index cc9a74c5..224be516 100644 --- a/Languages/English/Keyed/Keys.xml +++ b/Languages/English/Keyed/Keys.xml @@ -55,6 +55,8 @@ {Grappler} is dead {Exec} is dead + {Grappler} is stunned + {Exec} is stunned {Target} is not adjacent to {Exec}, and cannot be lassoed or walked to. {Target} cannot be reached {Target} is dead diff --git a/Source/ThingGenerator/Controller/ActionController.cs b/Source/ThingGenerator/Controller/ActionController.cs index 111ab1b7..be796125 100644 --- a/Source/ThingGenerator/Controller/ActionController.cs +++ b/Source/ThingGenerator/Controller/ActionController.cs @@ -77,6 +77,10 @@ public GrappleAttemptReport GetGrappleReport(in GrappleAttemptRequest req) if (req.Grappler.Downed) return new GrappleAttemptReport(req, "Downed"); + // Stunned. + if (req.Grappler.stances?.stunner.Stunned ?? false) + return new GrappleAttemptReport(req, "Stunned"); + // Check if grappler is in an animation. if (req.Grappler.IsInAnimation()) return new GrappleAttemptReport(req, "SelfInAnimation"); @@ -227,6 +231,13 @@ public IEnumerable GetExecutionReport(ExecutionAttemptRe yield break; } + // Check stunned. + if (req.Executioner.stances?.stunner.Stunned ?? false) + { + yield return new ExecutionAttemptReport(req, "Stunned"); + yield break; + } + // Check if grappler is in an animation. if (req.Executioner.IsInAnimation()) {