WoWInterface SVN HealMeNow

[/] [trunk/] [Plans.txt] - Rev 3

Go to most recent revision | Compare with Previous | Blame | View Log

==HealMeNow Plans==

This will be a simple, emergency-use addon to heal you when you click/use hotkey.
While idle, addon will try to determine the following items:

   1. Healing spells known that you can use on yourself.
   2. Potions you have in you bags that you can use on yourself.
   3. Bandages you have in your bags that you can use.
   4. It will try to determine how long each of these items takes to cast.
   5. It will also try to determine if you have any "instant cast" abilities that can reduce the length of time for a spell to be cast.
   6. It builds a table of all these things, and assigns them some values

I don't know if there's currently a list somewhere for healing abilities, so I'll probably have to build it myself...

Structure will look like this:
[code]ABILITY NAME            MID HEAL AMOUNT        CAST TIME    COST    TIME
Healing Touch (1)        44            1.5        25    0
Rejuvenation (1)        32            0        25    12
Minor Healing Potion        80            0        0    0
[/code]To Determine the Value, we take the MID HEAL AMOUNT, Subtract (CAST TIME * X + (MANA COST/5) + (TIME / 2)) and Round Up
If the Player is in Battle, X = 20, otherwise, X = 10
So, the Values for the above abilities would be:
Out of Combat:
[code]
Healing Touch 1 =    24    44 - ( (1.5 * 10) + (25 / 5) + (0 / 2) )
Rejuvenation 1 =        21    32 - ( (0 * 10) + (25 / 5) + (12 / 2) )
Minor Healing Potion =    80    80 - ( (0 * 10) + (0 / 5) + (0 / 2) )
[/code]In Combat:
[code]
Healing Touch 1 =    9    44 - ( (1.5 * 20) + (25 / 5) + (0 / 2) )
Rejuvenation 1 =        21    32 - ( (0 * 20) + (25 / 5) + (12 / 2) )
Minor Healing Potion =    80    80 - ( (0 * 20) + (0 / 5) + (0 / 2) )
[/code]In either situation, the Potion is best, but if the Potion is unavailable (just used a potion, etc), then In combat, Rejuvenation is best, and out of Combat, Healing Touch is best.

Based on these ratings, when the button is pressed, the Addon will cast the best spell for that moment. Obviously, it will need to take into account if anything is unavailable at the time (cooldowns, OOM, recently bandaged, etc), so that when you click, you should be healed somehow, if at all possible.

In combat looks for the fastest solution, while out of combat looks for the largest amount of healing.

For talents that effect healing abilities, we'll want to just have another list:
[code]TALENT NAME            AFFECTED ABILITY    BONUS PER RANK
Naturalist            Healing Touch        1
Improved Rejuvenation        Rejuvenation        2
[/code]So, if the player has Healing Touch 1, and 2 points in Naturalist, and Rejuvenation 1 with 3 point in Improved Rejuvenation then we could figure that the Values for above would be recomputed as:

Out of Combat:
[code]
Healing Touch 1 =    26    44 - ( (1.5 * 10) + (25 / 5) + (0 / 2) ) + 2
Rejuvenation 1 =    27    32 - ( (0 * 10) + (25 / 5) + (12 / 2) ) + 6
[/code]In Combat:
[code]
Healing Touch 1 =    11    44 - ( (1.5 * 20) + (25 / 5) + (0 / 2) ) + 2
Rejuvenation 1 =    27    32 - ( (0 * 20) + (25 / 5) + (12 / 2) ) + 6
[/code]This would mean that Rejuvenation becomes the better option out of combat over Healing Touch.

Go to most recent revision | Compare with Previous | Blame