Hooks de combate

Hooks de combate

Os hooks, ou “funções gancho”, são funções definidas no código da IA que o gerador de combates chama em momentos específicos.

Os hooks são totalmente opcionais.

beforeFight

Chamada no início do combate, antes do primeiro turno, esta função permite trocar o equipamento do alho-poró com setLoadout de acordo com o tipo de combate, por exemplo para se adaptar a um chefe ou a uma arena.

Esta função pode acessar as características do alho-poró, o terreno e algumas informações sobre as outras entidades, mas não as características delas: os inimigos também podem trocar de equipamento no beforeFight deles!

A função é executada antes da inicialização das variáveis globais, e o valor delas é sobrescrito no turno 1. No entanto, é possível escrever de forma persistente nos atributos estáticos.

beforeFight não tem um orçamento à parte: consome as operações do turno 1, que fica apenas com o que ela não consumiu.

Uma poção de restat só é consumida se o equipamento tirar pontos de capital de uma característica em relação ao último combate do alho-poró: vários combates seguidos com o mesmo equipamento custam apenas uma. Para trocar só as armas, os chips e os componentes, sem mexer no capital nem consumir poção, passe false como segundo parâmetro de setLoadout.

Exemplo:


function beforeFight() {
	if (getMapType() == MAP_CEMETERY) {
		setLoadout("potiron");
		debug("Loadout potiron")
	} else {
		setLoadout("normal");
	}
}

afterFight

Chamada no fim do combate, após o último turno, esta função permite saber quem venceu com getWinner, para guardar essa informação nos registros.