diff --git a/src/TSMapEditor/Models/Trigger.cs b/src/TSMapEditor/Models/Trigger.cs index fe261003a..b502fd30d 100644 --- a/src/TSMapEditor/Models/Trigger.cs +++ b/src/TSMapEditor/Models/Trigger.cs @@ -2,6 +2,7 @@ using Rampastring.Tools; using System; using System.Collections.Generic; +using TSMapEditor.CCEngine; using TSMapEditor.Misc; using TSMapEditor.Models.Enums; @@ -179,12 +180,12 @@ public void ParseConditions(string data, EditorConfig editorConfig) for (int i = 0; i < eventCount; i++) { int conditionIndex = Conversions.IntFromString(dataArray[startIndex], -1); - if (conditionIndex >= editorConfig.TriggerEventTypes.Count) + if (!editorConfig.TriggerEventTypes.TryGetValue(conditionIndex, out TriggerEventType triggerEventType)) { throw new INIConfigException("The map contains a trigger event that is not defined in the editor's config. To prevent data loss, the map cannot be loaded. Event index: " + conditionIndex); } - bool usesP3 = editorConfig.TriggerEventTypes[conditionIndex].UsesP3; + bool usesP3 = triggerEventType.UsesP3; var triggerEvent = TriggerCondition.ParseFromArray(dataArray, startIndex, usesP3); if (triggerEvent == null)