Personally I'd suggest a new section for it - perhaps similar to the way that the <skills_priest> sections work. So a <skills_COT> for instance.
That way we can customise which skills to use in different instances even
The stuff I was referring to was in the files I posted a while back based of lisas 2.5 waypoint. It works ok, but takes me a while to test as I only have 1 50+ character. The idea is that you tell it how many tiles will be hit with each AOE skill you list (so, for instance, Whirlwind Shield has a value of 3, as it hits the bizarre mech by the character + 2 more on each side - so its more of a radius value of the AOE circle). Then it teleports you around the circle using the skills that are listed. For example:
Given the usual numbering system:
Code: Select all
--=== Table numbering system ===--
1 7 13 19 25 31
2 8 14 20 26 32
3 9 15 21 27 33
4 10 16 22 28 34
5 11 17 23 29 35
6 12 18 24 30 36
* -- entrance to room.
My code has a list of AOE skills and their radius + cooldowns (cant use normal skill cooldowns as I'm using an item-set FULL MOON CLEAVE):
Code: Select all
local orderlist = {6,12,18,24,30,36,35,34,33,32,31,25,19,13,7,1,2,3,4,5}
local attackSkills = {"KNIGHT_WHIRLWIND_SHIELD", "ALL_FULL_MOON_CLEAVE", "KNIGHT_DISARMAMENT"}
local attackAOE = {3, 3, 1}
local attackCooldown = {6,20,0}
local lastUsedTime = {os.time(), os.time(), os.time()}
local listsize = #orderlist
So the bot will:
1) run into the room, look at the orderlist and start at position 0 -> no tile as yet.
2) find the first available attackSkill --> KNIGHT_WHIRLWIND_SHIELD
3) read the radius of the attack : attackAOE --> 3 for index 1
4) add the attackAOE onto the current orderlist position (was 0, is now 0+3 = > 3 -> tile #18)
5) teleport to #18 and cast the attack skill
6) find the first available attackSkill --> ALL_FULL_MOON_CLEAVE as KNIGHT_WHIRLWIND_SHIELD is on cooldown
3) read the radius of the attack : attackAOE --> 3 for index 2
4) add the attackAOE onto the current orderlist position (was 3, is now 3+3 = > 6 -> tile #36)
5) teleport to #36 and cast the attack skill
and so on
This way it maximises efficiency and speed as it doesn't have to wait for cooldowns (notice that attackSkill[3] is a random basic melee attack that takes no time and will be used while other stuff is cooling down). Very useful for those of us who's characters don't have insta-cast spells with next to 0 cooldown
