Add default combat delay to all non-overworld enemy encounters
authorLiza Carvelli <liza@carvel.li>
Sun, 25 Aug 2024 14:24:54 +0000 (16:24 +0200)
committerLiza Carvelli <liza@carvel.li>
Sun, 25 Aug 2024 14:51:52 +0000 (16:51 +0200)
Questionable/Controller/Steps/Interactions/Combat.cs

index 8776280aa62836c8a63f1a6a238e0d46e54330db..108751267e1343fc9b8d74e7f1bb66bd1418b2ac 100644 (file)
@@ -41,6 +41,7 @@ internal static class Combat
                     ArgumentNullException.ThrowIfNull(step.DataId);
 
                     yield return interactFactory.Interact(step.DataId.Value, quest, EInteractionType.None, true);
+                    yield return new WaitAtEnd.WaitDelay(TimeSpan.FromSeconds(2));
                     yield return CreateTask(quest, sequence, step);
                     break;
                 }
@@ -52,11 +53,15 @@ internal static class Combat
 
                     yield return useItemFactory.OnObject(quest.Id, step.DataId.Value, step.ItemId.Value,
                         step.CompletionQuestVariablesFlags, true);
+                    yield return new WaitAtEnd.WaitDelay(TimeSpan.FromSeconds(2));
                     yield return CreateTask(quest, sequence, step);
                     break;
                 }
 
                 case EEnemySpawnType.AutoOnEnterArea:
+                    if (step.CombatDelaySecondsAtStart == null)
+                        yield return new WaitAtEnd.WaitDelay(TimeSpan.FromSeconds(2));
+
                     // automatically triggered when entering area, i.e. only unmount
                     yield return CreateTask(quest, sequence, step);
                     break;