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 :
ActionsQuand 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