diff --git a/Maple2.Server.Game/Model/Field/Actor/ActorState/AiState.cs b/Maple2.Server.Game/Model/Field/Actor/ActorState/AiState.cs index 25789bb3..e68ca514 100644 --- a/Maple2.Server.Game/Model/Field/Actor/ActorState/AiState.cs +++ b/Maple2.Server.Game/Model/Field/Actor/ActorState/AiState.cs @@ -33,6 +33,10 @@ public bool SetAi(string name) { return false; } + if (name == "AI_DefaultNew.xml") { + name = "AI_Default.xml"; + } + AiMetadata? metadata; if (!actor.Field.AiMetadata.TryGet(name, out metadata)) { @@ -54,7 +58,8 @@ public void Update(long tickCount) { if (nextUpdate > tickCount) { return; } - if (AiMetadata is null || lastEvaluated != AiMetadata) { + + if (AiMetadata is null) { if (actor.Value.Metadata.AiPath != "") { actor.AppendDebugMessage("Missing AI\n"); actor.AppendDebugMessage(actor.Value.Metadata.AiPath); @@ -65,6 +70,10 @@ public void Update(long tickCount) { return; } + if (lastEvaluated != AiMetadata) { + aiStack.Clear(); + } + lastEvaluated = AiMetadata; if (aiStack.Count == 0) {