Maniac Patch ist ein inoffizielles Addon von BingShan1024 für den RPG Maker 2003 1.12 und eine Grundvoraussetzung, um Destiny auf die RPG_RT.exe selbiger Version anzuwenden. Dies liegt daran, dass beim Erarbeiten der Kompatibilität zwischen Destiny und dieser Engine-Version aus Aufwandsgründen zur Wahl stand, den sehr mächtigen und viel umfassenden Maniac Patch entweder vorauszusetzen oder gar nicht unterstützen zu können.
Beim Anwenden des Patches stehen eine "im"- ("Immediately"), sowie eine "pf"-Version ("Per frame") zur Auswahl, was dafür steht, zu welchem Zeitpunkt die Engine den Zustand aller Events updatet. "Immediately" stellt dabei das Standardverhalten des RPG Makers dar, bei dem dieser Prozess nach jeder Operation geschieht, die etwas beeinflussen könnte, während "Per frame" diese Überprüfung nur einmal zwischen den Frames erledigt.
Sich für letztere Methode zu entscheiden, kann Performancevorteile mit sich bringen, ist jedoch zu bestehenden Spielen, die möglicherweise auf dem bekannten Verhalten zu stark aufbauen, inkompatibel.
Maniac Patch fügt dem RPG Maker einige neue Eventbefehle hinzu.
Speichert die Informationen über einen Spielstand (1~...), die auch vom Standard-Spielstandmenü abgefragt werden würden (Datums- (Format: JJMMTT) und Zeitstempel, Face-IDs, Level, HP), in mehreren Variablen. Nicht vorhandene Spielstände werden daran erkannt, dass als Datum eine 0 ausgegeben wird.
Speichert einen Spielstand (1~...), ohne das Spielstandmenü aufzurufen. Es kann eine Variable bestimmt werden, die auf 1 oder 0 gesetzt wird, je nachdem, ob der Befehl erfolgreich ausgeführt wurde.
Lädt einen Spielstand (1~...), ohne das Spielstandmenü aufzurufen. Der zu ladende Spielstand kann, muss jedoch nicht zuvor automatisiert überprüft werden, um den Befehl bei einem Fehler abzubrechen.
Momentan ohne Funktion.
Fragt ab und speichert, wo sich die Maus momentan befindet, als Basis dient die Standardauflösung 320×240. Kann im DirectDraw-Vollbildmodus zu Problemen führen.
Setzt die Maus (beschränkt auf Koordinaten innerhalb des Spielfensters) auf die angegebene Position, als Basis dient die Standardauflösung 320×240. Kann im DirectDraw-Vollbildmodus zu Problemen führen.
Generiert mit einer beliebigen Systemgrafik, Font und Schriftgröße ein Picture aus dem angegebenen Text. Die Ausführung des Befehls wird durch Deaktivieren von Hintergrund, Rahmen und/oder Schatten beschleunigt.
Speichert die derzeitige Position und Abmessungen eines Pictures. Mehrere Formate sind möglich.
Erlaubt das forcierte Ausführen von ATB-Fortlauf, DamagePop, Anvisieren, Zustandsverteilung und Statuswertänderung. Funktioniert nur im Kampf und wird bei Kampfende abgebrochen.
Verändert den Status einer ATB-Leiste (0~300000).
Verändert die Gruppenbefehle für die Heldenfront (Kämpfen/Automatik/Flucht, inklusive Forcierung von Sieg oder Niederlage) temporär und kann den Reihe-Befehl an- und ausschalten. Funktioniert nur im Kampf und wird bei Kampfende zurückgesetzt.
Speichert diverse Kampfdaten von Helden oder Gegnern, bzw. deren Gruppen. Außerhalb eines Kampfes ohne Funktion.
Verändert Variablenwerte in einem bestimmten Bereich auf verschiedene mögliche Arten (kopieren, vertauschen, aufsteigend/absteigend sortieren, zufällig anordnen). Klassische arithmetische und logische Operatoren (siehe "Control Variables" unter "Veränderte Eventbefehle") sind ebenfalls möglich.
Erweiterte, separierte Version des normalen Inputbefehls, jedoch ohne Wartemöglichkeit. Kann den Status der gesamten Tastatur oder des ersten Gamepads gleichzeitig auslesen (wird in einem Variablenbereich gespeichert) oder eine Taste per Keycode (0~255), bzw. einen von bis zu 12 Buttons sowie die Steuerkreuzrichtungen abfragen. Zudem können Gamepad-Buttons mit Tasten verknüpft werden.
Verändert das Tile auf der unteren oder oberen Ebene an einer beliebigen Position. Änderungen werden nicht durch Spielstände gespeichert und gehen bei einem Teleport verloren.
Verwaltet die Datei "Save.gls" (öffnen/schließen/speichern), in der spielstandübergreifende Daten hinterlassen werden können.
Kann ein Picture auf eine andere ID verschieben, Pictures tauschen oder einen bestimmten ID-Bereich shiften. Wird ein Picture verschoben, wird das zuvor auf der Ziel-ID befindliche gelöscht.
Nimmt direkte Änderungen am Verhalten der Engine vor (Spiel ohne Fensterfokus nicht pausieren, FatalMix-Features (angepeilte FPS verändern (1~...), TestPlay (de-)aktivieren, Text mit RShift-Taste sofort anzeigen und automatisch schließen), Anzahl an Pictures (1~...) verändern, FrameSkip-Frequenz bestimmen (0, 1/5, 1/3, 1/2).
Manueller Aufruf eines anderen Befehls per ID mit beliebigen Parametern. Nur für sehr erfahrene Anwender gedacht und funktioniert mit einigen Befehlen nicht (Message Options, Battle Processing1, Shop Processing1, Inn Processing1, Conditional Branch, Loop, Show Message2, Note2).
Diverse existente Eventbefehle werden durch Maniac Patch verändert/erweitert.
Die Maustasten (L/M/R) sowie das Mausrad können abgefragt werden. Wird das Mausrad abgefragt, muss die Wartefunktion jedoch zwingend aktiviert werden.
Dieser Befehl besitzt ein neues Alternativlayout, welches im Menü des Programms aktiviert werden kann.
CommonEvents können per Variable oder variabler Var-ID bestimmt werden.
Schleifen können wahlweise unendlich, X mal (Index kann in Variable gespeichert werden), von A bis B (fest oder Variablen) hoch-/runterzählend oder gekoppelt an eine Bedingung (anfangs-/endgesteuert) ausgeführt werden.
Das Verhalten innerhalb verschachtelter Loops, wenn ein tieferer LoopStart vor dem Ende der laufenden Schleife existiert, verursacht keine falschen Code-Sprünge mehr.
Das Aufblitzen bei Kampfbeginn kann ausgeschalten werden.
Auch außerhalb von Eventbefehlen werden beim Anwenden des Patches einige Details im RPG Maker sowie in RPG_RT.exe verändert.