From 491a9dbae96459c3a6f329b33e97a5a7173d8f0c Mon Sep 17 00:00:00 2001
From: MagicBot <MagicBot@magicbane.com>
Date: Tue, 6 Aug 2024 17:07:07 -0400
Subject: [PATCH] Sanitize input

---
 src/engine/ConfigParsing/EffectsParser.java | 20 +++++++++++++-------
 1 file changed, 13 insertions(+), 7 deletions(-)

diff --git a/src/engine/ConfigParsing/EffectsParser.java b/src/engine/ConfigParsing/EffectsParser.java
index af903ec9..88cb1f50 100644
--- a/src/engine/ConfigParsing/EffectsParser.java
+++ b/src/engine/ConfigParsing/EffectsParser.java
@@ -14,9 +14,7 @@ import engine.gameManager.ConfigManager;
 import java.io.IOException;
 import java.nio.file.Files;
 import java.nio.file.Paths;
-import java.util.ArrayList;
 import java.util.HashMap;
-import java.util.List;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
@@ -32,18 +30,26 @@ public class EffectsParser {
 
         byte[] fileData = Files.readAllBytes(Paths.get(EffectsPath));
         String fileContents = new String(fileData);
+        Matcher matcher = EFFECT_REGEX.matcher(fileContents);
 
-        final List<String> effectEntries = new ArrayList<>();
-        final Matcher matcher = EFFECT_REGEX.matcher(fileContents);
+        // Iterate effect entries from .wpak config data
 
         while (matcher.find()) {
-            effectEntries.add(matcher.group(1));
-        }
+            EffectEntry effectEntry = parseEffectEntry(matcher.group(1));
 
+            if (effectEntry != null)
+                effect_data.put(effectEntry.id, effectEntry);
+        }
     }
 
-    private static void parseEffectEntry(String effectEntry) {
+    private static EffectEntry parseEffectEntry(String effectData) {
+        EffectEntry effectEntry = new EffectEntry();
+
+        // Remove all lines that contain a #
+
+        effectData.replaceAll("(?m)^.*#.*$", "");
 
+        return effectEntry;
 
     }
 }