Hook di combattimento

Hook di combattimento

Gli hook, o «funzioni gancio», sono funzioni definite nel codice dell'IA che il generatore di combattimenti chiama in momenti precisi.

Gli hook sono del tutto facoltativi.

beforeFight

Chiamata all'inizio del combattimento, prima del primo turno, questa funzione permette di cambiare l'equipaggiamento del porro con setLoadout in base al tipo di combattimento, per esempio per adattarsi a un boss o a un'arena.

Questa funzione può accedere alle caratteristiche del porro, al terreno e ad alcune informazioni sulle altre entità, ma non alle loro caratteristiche: anche i nemici possono cambiare equipaggiamento nel loro beforeFight!

La funzione viene eseguita prima dell'inizializzazione delle variabili globali, il cui valore viene sovrascritto al turno 1. Si può però scrivere in modo persistente negli attributi statici.

Hai a disposizione un core in più rispetto a quelli del porro. Le operazioni del turno 1 vengono azzerate: beforeFight consuma un proprio conteggio di operazioni.

Una pozione di restat viene consumata solo se il loadout toglie punti capitale a una caratteristica rispetto all'ultimo combattimento del porro: più combattimenti di fila con lo stesso loadout ne costano una sola. Per cambiare solo armi, chip e componenti, senza toccare il capitale né consumare pozioni, passa false come secondo parametro di setLoadout.

Esempio:

afterFight

Chiamata alla fine del combattimento, dopo l'ultimo turno, questa funzione permette di sapere chi ha vinto con getWinner, per salvarlo nei registri.