Tipp: Lass die leeren ELSE CASEs weg, wenn du sie nicht nutzt. Die machen den Code nicht nur unnötig lang, sonder, kosten noch dazu Performance, da der Maker jede Zeile einzeln durchgeht, egal ob was drin steht oder nicht.
Ein Problem kann (wird) es aber noch geben: Da alle Gegner vermutlich den selben Switch für den Wasserschaden verwenden, wird jeder Gegner, in dessen Umkreis der Spieler nicht steht, den Switch ausstellen - völlig egal, ob der Spieler in einer vorherigen Abfrage eines anderen Gegner, in dessen Umkreis er tatsächlich steht, den Switch gerade erst eingeschaltet hat. Daher habe ich das ausstellen hier rausgenommen. Deswegen bräuchtest du streng genommen für jedes Event einen eigenen "dmg water"-Switch, das müsstest du also jedes Mal individuell anpassen.
Davion ab hier eine etwas gekürzte Version deines Codes:
...das mit den Switches könnte man umgehen, indem man die Gegner-Koordinaten alle geordnet in einem Event abfragt, da muss man dann allerdings die Gegner einzeln auswählen anstatt das über "this Event" zu regeln.