DofusClass="9" --[[ 1 = multi 2 = feu 3 = eau 4 = air 5 = terre --]] Id_Mode=5 function Main() if (Id_Mode == 1) then combat_multi() end if (Id_Mode == 2) then combat_feu() end if (Id_Mode == 3) then combat_eau() end if (Id_Mode == 4) then combat_air() end if (Id_Mode == 5) then combat_terre() end end --[[ Mode Multi -- Must have : Tir Eloigne Tir Puissant Maitrise de l'Arc Fleche de Recul Fleche Cinglante Fleche Explosive Fleche de Redemption Fleche d'Immobilisation Optionnal : 12 PA ]] function boost_turn() if (fight:getDistance(fight:getPlayerCell(), fight:getNearestEnemy()) >= 16) then fight:moveToWardCell(fight:getNearestEnemy()) end SpellTir_EloigneMoi15() SpellTir_PuissantMoi16() SpellMaitrise_De_L_ArcMoi17() SpellFleche_ExplosiveEnemy11() fighter:passTurn() end function check_cac() if (fighter:isHandToHand() == true) then SpellFleche_De_ReculEnemy9() if (fight:launchSpellInCell(fight:getNearestEnemy(), "Fleche de Recul") == 1) then fight:launchSpellInCell(fight:getNearestEnemy(), "Fleche Cinglante") end return false end return true end function other_turn() if (check_cac() ~= true) then check_cac() end if (fight:getDistance(fight:getPlayerCell(), fight:getNearestEnemy()) >= 20) then fight:moveToWardCell(fight:getNearestEnemy()) end if (fight:getDistance(fight:getPlayerCell(), fight:getNearestEnemy()) >= 20) then fighter:passTurn() end if (fight:getDistance(fight:getPlayerCell(), fight:getNearestEnemy()) <= 12) then fight:moveFarthestCell(fight:getNearestEnemy()) SpellFleche_ExplosiveEnemy11() SpellFleche_de_RedemptionEnemy12() SpellFleche_de_RedemptionEnemy12() SpellFleche_d_ImmobilisationEnemy13() fighter:passTurn() elseif (fight:getDistance(fight:getPlayerCell(), fight:getNearestEnemy()) >= 13 and fight:getDistance(fight:getPlayerCell(), fight:getNearestEnemy()) <= 20) then SpellFleche_ExplosiveEnemy11() SpellFleche_de_RedemptionEnemy12() SpellFleche_de_RedemptionEnemy12() SpellFleche_d_ImmobilisationEnemy13() fight:moveToWardCell(fight:getNearestEnemy()) fighter:passTurn() end no_action() fighter:passTurn() end --[[ Fin mode Multi --]] --[[ Mode feu -- Must have: Tir Eloigne Tir Puissant Maitrise de l'Arc Fleche Emflamme Fleche Glacee Fleche Cinglante Fleche Explosive Requirement : 11 PA ]] function boost_turn_feu() if (fight:getDistance(fight:getPlayerCell(), fight:getNearestEnemy()) >= 16) then fight:moveToWardCell(fight:getNearestEnemy()) end SpellTir_EloigneMoi15() SpellTir_PuissantMoi16() SpellMaitrise_De_L_ArcMoi17() SpellFleche_ExplosiveEnemy11() fighter:passTurn() end function check_cac_feu() if (fighter:isHandToHand() == true) then SpellFleche_Emflammee25() if (fight:launchSpellInCell(fight:getNearestEnemy(), "Fleche Emflammee") == 1) then fight:launchSpellInCell(fight:getNearestEnemy(), "Fleche Cinglante") end return false end return true end function other_turn_feu() if (check_cac_feu() ~= true) then check_cac_feu() end if (fight:getDistance(fight:getPlayerCell(), fight:getNearestEnemy()) >= 20) then fight:moveToWardCell(fight:getNearestEnemy()) end if (fight:getDistance(fight:getPlayerCell(), fight:getNearestEnemy()) >= 20) then fighter:passTurn() end if (fight:getDistance(fight:getPlayerCell(), fight:getNearestEnemy()) <= 12) then fight:moveFarthestCell(fight:getNearestEnemy()) SpellFleche_ExplosiveEnemy11() SpellFleche_Glacee18() SpellFleche_Glacee18() fighter:passTurn() elseif (fight:getDistance(fight:getPlayerCell(), fight:getNearestEnemy()) >= 13 and fight:getDistance(fight:getPlayerCell(), fight:getNearestEnemy()) <= 20) then SpellFleche_ExplosiveEnemy11() SpellFleche_Glacee18() SpellFleche_Glacee18() fight:moveToWardCell(fight:getNearestEnemy()) fighter:passTurn() end no_action() fighter:passTurn() end --[[ Fin mode feu --]] --[[ mode eau -- Must have: Tir Eloigne Tir Puissant Maitrise de l'Arc Fleche de Recul Fleche Cinglante Oeil de Taupe Fleche de Redemption Fleche d'Immobilisation Requirement : 11 PA ]] function boost_turn_eau() if (fight:getDistance(fight:getPlayerCell(), fight:getNearestEnemy()) >= 16) then fight:moveToWardCell(fight:getNearestEnemy()) end SpellTir_EloigneMoi15() SpellTir_PuissantMoi16() SpellMaitrise_De_L_ArcMoi17() SpellOeil_de_Taupe26() fighter:passTurn() end function check_cac_eau() if (fighter:isHandToHand() == true) then SpellFleche_De_ReculEnemy9() if (fight:launchSpellInCell(fight:getNearestEnemy(), "Fleche de Recul") == 1) then fight:launchSpellInCell(fight:getNearestEnemy(), "Fleche Cinglante") end return false end return true end function other_turn_eau() if (check_cac_eau() ~= true) then check_cac_eau() end if (fight:getDistance(fight:getPlayerCell(), fight:getNearestEnemy()) >= 20) then fight:moveToWardCell(fight:getNearestEnemy()) end if (fight:getDistance(fight:getPlayerCell(), fight:getNearestEnemy()) >= 20) then fighter:passTurn() end if (fight:getDistance(fight:getPlayerCell(), fight:getNearestEnemy()) <= 12) then fight:moveFarthestCell(fight:getNearestEnemy()) SpellFleche_de_RedemptionEnemy12() SpellFleche_de_RedemptionEnemy12() SpellFleche_d_ImmobilisationEnemy13() SpellFleche_d_ImmobilisationEnemy13() fighter:passTurn() elseif (fight:getDistance(fight:getPlayerCell(), fight:getNearestEnemy()) >= 13 and fight:getDistance(fight:getPlayerCell(), fight:getNearestEnemy()) <= 20) then SpellFleche_de_RedemptionEnemy12() SpellFleche_de_RedemptionEnemy12() SpellFleche_d_ImmobilisationEnemy13() SpellFleche_d_ImmobilisationEnemy13() fight:moveToWardCell(fight:getNearestEnemy()) fighter:passTurn() end no_action() fighter:passTurn() end --[[ Fin mode eau --]] --[[-- mode air -- Must have: Tir Eloigne Tir Puissant Maitrise de l'Arc Fleche de Recul Fleche Cinglante Fleche Absorbante Fleche Harcelante Requirement : 11 PA ]] function boost_turn_air() if (fight:getDistance(fight:getPlayerCell(), fight:getNearestEnemy()) >= 16) then fight:moveToWardCell(fight:getNearestEnemy()) end SpellTir_EloigneMoi15() SpellTir_PuissantMoi16() SpellMaitrise_De_L_ArcMoi17() SpellFleche_Absorbante19() fighter:passTurn() end function check_cac_air() if (fighter:isHandToHand() == true) then SpellFleche_De_ReculEnemy9() if (fight:launchSpellInCell(fight:getNearestEnemy(), "Fleche de Recul") == 1) then fight:launchSpellInCell(fight:getNearestEnemy(), "Fleche Cinglante") end return false end return true end function other_turn_air() if (check_cac_air() ~= true) then check_cac_air() end if (fight:getDistance(fight:getPlayerCell(), fight:getNearestEnemy()) >= 20) then fight:moveToWardCell(fight:getNearestEnemy()) end if (fight:getDistance(fight:getPlayerCell(), fight:getNearestEnemy()) >= 20) then fighter:passTurn() end if (fight:getDistance(fight:getPlayerCell(), fight:getNearestEnemy()) <= 12) then fight:moveFarthestCell(fight:getNearestEnemy()) SpellFleche_Absorbante19() SpellFleche_Absorbante19() SpellFleche_Harcelante21() fighter:passTurn() elseif (fight:getDistance(fight:getPlayerCell(), fight:getNearestEnemy()) >= 13 and fight:getDistance(fight:getPlayerCell(), fight:getNearestEnemy()) <= 20) then SpellFleche_Absorbante19() SpellFleche_Absorbante19() SpellFleche_Harcelante21() fight:moveToWardCell(fight:getNearestEnemy()) fighter:passTurn() end no_action() fighter:passTurn() end --[[-- Fin mode air --]] --[[-- mode Terre -- Must have: Tir Eloigne Tir Puissant Maitrise de l'Arc Fleche Cinglante Fleche Erosive Fleche du Jugement Tir de Barrage Requirement : 11 PA ]] function boost_turn_terre() if (fight:getDistance(fight:getPlayerCell(), fight:getNearestEnemy()) >= 16) then fight:moveToWardCell(fight:getNearestEnemy()) end SpellTir_EloigneMoi15() SpellTir_PuissantMoi16() SpellMaitrise_De_L_ArcMoi17() SpellTir_de_Barrage22() fighter:passTurn() end function check_cac_terre() if (fighter:isHandToHand() == true) then SpellFleche_CinglanteEnemy10() return false end return true end function other_turn_terre() if (check_cac_terre() ~= true) then check_cac_terre() end if (fight:getDistance(fight:getPlayerCell(), fight:getNearestEnemy()) >= 20) then fight:moveToWardCell(fight:getNearestEnemy()) end if (fight:getDistance(fight:getPlayerCell(), fight:getNearestEnemy()) >= 20) then fighter:passTurn() end if (fight:getDistance(fight:getPlayerCell(), fight:getNearestEnemy()) <= 12 or fight:getDistance(fight:getPlayerCell(), fight:getNearestEnemy()) > 20) then fight:moveFarthestCell(fight:getNearestEnemy()) SpellFleche_Erosive23() SpellTir_de_Barrage22() SpellTir_de_Barrage22() fighter:passTurn() elseif (fight:getDistance(fight:getPlayerCell(), fight:getNearestEnemy()) >= 13 and fight:getDistance(fight:getPlayerCell(), fight:getNearestEnemy()) <= 20) then SpellFleche_du_Jugement24() SpellFleche_du_Jugement24() SpellFleche_Erosive23() fight:moveToWardCell(fight:getNearestEnemy()) fighter:passTurn() end no_action() fighter:passTurn() end --[[-- Fin mode Terre --]] --[[-- Useful Functions --]] function no_action() if (fight:isVisible(fight:getPlayerCell(), fight:getNearestEnemy(), true) == false) then fighter:passTurn() else return end end function combat_multi() if (fight:getCurrentTour() == 1 or (fight:getCurrentTour() % 5 == 0)) then boost_turn() else other_turn() end end function combat_feu() if (fight:getCurrentTour() == 1 or (fight:getCurrentTour() % 5 == 0)) then boost_turn_feu() else other_turn_feu() end end function combat_eau() if (fight:getCurrentTour() == 1 or (fight:getCurrentTour() % 5 == 0)) then boost_turn_eau() else other_turn_eau() end end function combat_air() if (fight:getCurrentTour() == 1 or (fight:getCurrentTour() % 5 == 0)) then boost_turn_air() else other_turn_air() end end function combat_terre() if (fight:getCurrentTour() == 1 or (fight:getCurrentTour() % 5 == 0)) then boost_turn_terre() else other_turn_terre() end end --[[-- Function Spells --]] function SpellFleche_De_ReculEnemy9() fight:launchSpellInCell(fight:getNearestEnemy(), "Fleche de Recul") end function SpellFleche_CinglanteEnemy10() fight:launchSpellInCell(fight:getNearestEnemy(), "Fleche Cinglante") end function SpellFleche_ExplosiveEnemy11() if (fight:launchSpellInCell(fight:getNearestEnemy(), "Fleche Explosive") ~= 0) then return end end function SpellFleche_de_RedemptionEnemy12() if (fight:launchSpellInCell(fight:getNearestEnemy(), "Fleche de Redemption") ~= 0) then return end end function SpellFleche_d_ImmobilisationEnemy13() if (fight:launchSpellInCell(fight:getNearestEnemy(), "Fleche d'Immobilisation") ~= 0) then return end end function SpellTir_EloigneMoi15() fight:launchSpellInCell(fight:getPlayerCell(), "Tir Eloigne") end function SpellTir_PuissantMoi16() fight:launchSpellInCell(fight:getPlayerCell(), "Tir Puissant") end function SpellMaitrise_De_L_ArcMoi17() fight:launchSpellInCell(fight:getPlayerCell(), "Maitrise de l'Arc") end function SpellFleche_Glacee18() if (fight:launchSpellInCell(fight:getNearestEnemy(), "Fleche Glacee") ~= 0) then return end end function SpellFleche_Absorbante19() if (fight:launchSpellInCell(fight:getNearestEnemy(), "Fleche Absorbante") ~= 0) then return end end function SpellFleche_Magique20() if (fight:launchSpellInCell(fight:getNearestEnemy(), "Fleche Magique") ~= 0) then return end end function SpellFleche_Harcelante21() if (fight:launchSpellInCell(fight:getNearestEnemy(), "Fleche Harcelante") ~= 0) then return end end function SpellTir_de_Barrage22() if (fight:launchSpellInCell(fight:getNearestEnemy(), "Tir de Barrage") ~= 0) then return end end function SpellFleche_Erosive23() if (fight:launchSpellInCell(fight:getNearestEnemy(), "Fleche Erosive") ~= 0) then return end end function SpellFleche_du_Jugement24() if (fight:launchSpellInCell(fight:getNearestEnemy(), "Fleche du Jugement") ~= 0) then return end end function SpellFleche_Emflammee25() if (fight:launchSpellInCell(fight:getNearestEnemy(), "Fleche Emflammee") ~= 0) then return end end function SpellOeil_de_Taupe26() if (fight:launchSpellInCell(fight:getNearestEnemy(), "Œil de Taupe") ~= 0) then return end end