BattleCustomRandomize
Exakt gesteuerte Befüllung einer Kampfszene
battleCustomRandomize( {"RandomSize":true, "minsize":{"x":15,"y":15}, "maxsize":{"x":30,"y":30}, "RandomPC":true, "RandomNPC":4, "objects":["object-01","object-02","object-03], "coverage":55 });
RandomSize: optional, die Arena wird ausgewürfelt. Nur wenn noch keine Elemente platziert wurden
minsize: optional, Standard 80% Normalgröße, Mindestgröße der Zufallsarena
maxsize: optional, Standard 100% Normalgröße, Maximalgröße der Zufallsarena
RandomPC: optional, die Platzierung der Spielerchars wird ausgewürfelt
RandomNPC: optional, die Platzierung der Gegner wird ausgewürfelt, die Zahl gibt den Feldradius an
objects: optional, Standard alle Objekte, nur die angegebenen Objekte werden zufällig platziert
coverage: optional, Standard 40 (%), es wird versucht, mit den Objekten eine Abdeckung etwa dieser Größenordnung zu erreichen
battleCustomRandomize löscht die aktuelle Arenadefinition NICHT so wie battleRandomize, sondern arbeitet ggf. mit den bereits gesetzten Daten und Objekten weiter. Allerdings sind alle "Random..."-Einstellungen wirkungslos, sobald das erste Objekt in der Arena gesetzt wurde, diese werden dann ignoriert.
Beispiel
function prepare() { battleSetSize( 42, 51 ); battleSetPlayerStart( 17, 24 ); battleAddNPCStart( 3, 47, 2 ); battleAddNPCStart( 38, 47, 2 ); battleAddNPCStart( 3, 3, 2 ); battleAddNPCStart( 38, 3, 2 ); battlePlaceObject( "trees-02", 13, 16, 90 ); battlePlaceObject( "small-03", 34, 9, 270 ); battlePlaceObject( "field-03", 13, 48, 270 ); battlePlaceObject( "lager-01", 23, 24, 270 ); battlePlaceObject( "lager-01", 18, 29, 90 ); battlePlaceObject( "lager-02", 22, 27, 0 ); battleCustomRandomize({ "objects":["trees-01","trees-02","trees-03"], "coverage":55 }); }