Style 1

Au début du tour du combattant, et après chaque action (sort ou déplacement), la fonction fight_action() dans votre script sera appelée.

C'est dans cette fonction que vous devez construire votre logique avec les méthodes de l'IA avancée, et effectuer l'une des actions :

  • Lancer un sort.

  • Effectuer un déplacement.

  • Passer le tour.

  • Abandonner le combat.

  • Jouer avec l'IA basique.

Voici les méthodes disponibles pour effectuer ces actions :

Actions

Quand l'une de ces méthodes est appelée, le personnage effectue l'action, et l'exécution de la fonction fight_action() est interrompu, pour mieux comprendre ça, voici un exemple :

function fight_action()
	console.print("Hello") 	-- "Hello" est affiché dans la console.
	fight.finishTurn() 	-- Passe le tour et interrompt l'exécution.
	console.print("Hey") 	-- "Hey" n'est pas affiché dans la console.
end

Si l'exécution de la fonction fight_action() se termine sans aucune action, le personnage ne fait rien.

Exemple

function fight_action()

	-- Afficher
	console.print("Round: "..fight.currentRound())
	console.print("Action: "..fight.currentAction())

	-- Récupérer mon combattant
	local me = fight.currentFighter()

	-- Récupérer l'ennemi le plus proche
	local nearestEnemy = fight.nearestEnemy()

	-- S'approcher de l'ennemi
	fight.moveTowardCell(nearestEnemy.cellId)

	-- Lancer le sort "Stase" sur l'ennemi
	if fight.canCastSpell(12728, me.cellId, nearestEnemy.cellId) == enum_SpellCastError.NoError then
		fight.castSpell(12728, nearestEnemy.cellId)
	end

	-- Passer le tour
	fight.finishTurn()
end

Mis à jour