Blöde Idee: Mit Find_Func irgendetwas suchen, was tatsächlich irgendetwas tut. Das steht auch in der Doku, aber ich hebe es hier lieber noch einmal hervor. Find_Func ruft die jeweilige Funktion tatsächlich in allen Objekten auf, sodass Hit alle Flints explodieren lässt, usw. Und ich weiß nicht, was mit dem Objektregister schreckliches geschieht, wenn während der Suche neue Objekte erstellt werden.
(Wem es Spaß macht, der kann natürlich die Find_Func-Aufrufe zählen oder so etwas, aber es gibt generell keinen Grund. Wenn jemand es aber mag, Spielregeln anzuzünden und dergleichen: Nur zu
)
Andererseits eignet es sich dadurch als hackige, evtl. geringfügig performantere (?) Kurzschreibweise zum Massenaufrufen von Befehlen nach Suchkategorie.
Vorsicht mit StringTable-Inhalten in syncrelevanten Dingen. Dazu zählt auch Random: Wird zufällig aus Strings/Arrays aus der String Table was ausgewählt, sollten diese in allen erdenklichen Sprachen vollständig sein und die Variablen sollten die gleiche Länge haben. Sonst entgleist der Zufallsseed und das Netzwerkspiel wird abgebrochen.
StringTbl-Strings per eval auszuführen, kann ebenfalls zu nichts Gutem führen.
Blöde Idee: Unbegrenzte rekursive Aufrufe. Wenn eine Funktion sich irgendwie implizit selbst aufruft (ein Objekt, das mehr Instanzen von sich selbst erstellt o. ä.), gibt es einen Stack Overflow und das ist gar nicht schön.
Wenn die Aufrufer an sich mengenmäßig begrenzt sind (explosive Objekte, die einander gegenseitig sprengen o. ä.), reicht es, den Aufruf per Schedule zu verzögern (am Beispiel vom Ölfass und Eke-Reloaded-Sprengstoffen ersichtlich).
Ansonsten sollte die Funktion einen Zusatzparameter kriegen, der die Rekursionsstufen zählt und bei zu tiefer Rekursion abbricht.
Blöde Idee: Fling überladen. Irgendein Feature davon ist hartgecodet, und wenn man es irgendwie überlädt (und sei es nur mit einem neuen Callback und inherited), werden Clonks ins Nirwana geschossen und ähnlich interessante Dinge.