Kampfscript: Unterschied zwischen den Versionen

Aus Sternenschweif Wiki
Wechseln zu: Navigation, Suche
(Die Seite wurde neu angelegt: „Category:Modding Das Kampfskript hat folgende Standardfunktionen: =Vor dem Kampf= ==prepare()== Die function prepare() wird vor einem Kampf aufgerufen und…“)
(kein Unterschied)

Version vom 12. Juni 2017, 18:52 Uhr


Das Kampfskript hat folgende Standardfunktionen:

Vor dem Kampf

prepare()

Die function prepare() wird vor einem Kampf aufgerufen und dient der "Befüllung" der Arena. Sollte kein Prepare-Skript vorhanden sein, so wird die Arena per Zufall befüllt

Im Kampf

Während des Kampfes wird die Javascript-Umgebung neu initialisiert, sodass der Zugriff auf in der Location (zB im Dungeon) definierte Variablen NICHT mehr möglich ist. Dies passiert, um die ohnehin komplexe Dungeon-Script-Umgebung nicht noch weiter durch den Kampf zu belasten. Nur während des Kampfes sind die Kampffunktionen verfügbar!

OnRoundStart( which )

Wird während des Kampfes am Beginn jeder Runde sowie beim Laden eines Kampfes direkt vor Kampfbeginn aufgerufen.

ACHTUNG: Wenn diese Funktion einen Wert außer "false" zurückgibt (zB return true), so wird die Ausführung des Kampfes so lange gestoppt, bis ResumeBattle aufgerufen wird.

OnCharacterTurn( which )

Wird während des Kampfes am Beginn des Zuges des Kampfcharakters mit der id which aufgerufen.

ACHTUNG: Wenn diese Funktion einen Wert außer "false" zurückgibt (zB return true), so wird die Ausführung des Kampfes so lange gestoppt, bis ResumeBattle aufgerufen wird.

Nach dem Kampf

OnFightOver( battleresult )

Wird nach einem Kampf aufgerufen, sofern es vorhanden ist.

Der Parameter "battleresult" enthält ein Objekt mit folgendem Inhalt:

{
  'escaped': { 
    'npc':[ 'monsterid1', 'monsterid2' ], 
    'hero':[ '6ef7c87b-89c2-4a0b-94b1-3e7649e44644', 'e47ba6e3-ce9d-47b9-8e97-b71746fce4d2' ] 
  },
  'killed' : { 
    'npc':[ 'monsterid3' ], 
    'hero':['11ef765f-82b1-448e-b62b-c3fec53162af'] 
  },
  'result' : 'flee',
  'incap' : ['7298e0b9-ef18-4a79-af92-940eb2a6e26b','53b0e49f-eb68-4e1c-97e5-ce956a21ba50']
}

Die Felder haben folgende Bedeutungen:

  • escaped enthält die geflohenen Monster und Helden, wobei Helden jeweils mit ihrer UniqueID angegeben werden (siehe auch getCharidByUniqueId), Monster mit ihrer Monsterid, wobei diese auch mehrfach vorkommen können, um mehrere gleichartige Monster zu repräsentieren
  • killed gleiches Format wie escaped, nur für getötete Monster und Helden
  • incap Helden, die nach dem Kampf handlungsunfähig sind
  • result "victory" für einen Sieg der Helden, "flee" wenn alle Helden geflohen sind, "die" wenn alle Helden ausgeschalten oder tot sind