Thank you for your interest in the Quick Jump Daily Digest. Get notified of all new content on QJ.Net in our free Daily Digest.
To receive our Daily Newsletter, you must first be a member of the QJ website. Becoming a member is FREE and easy to do. To get your own
membership, click here to sign-up.
If you are already a member, click here to log-in. You
can then click on "Newsletter Settings" to customize your daily digest experience.
Description : Baden's ManaSaver Mod, version 2.2.2
INTRODUCTION
I made this mod to address a problem with my own druid play style. I, like most people that I know, use the most powerful healing abilities that they own, all the time. However, if you look at the healing abilities, like "Healing Touch," you will see that each level of the ability heals a different amount of health and costs a different amount of mana. So, I was finding that in an instance, I was healing a mage at half health using Healing Touch and always filling her health back up to full. I realized that this was "over-kill," as I was healing more health than needed to get her to full health, and the extra health was wasted. But, how to figure out the most efficient level Healing Touch to cast? That is where this mod came into existence.
The mod, ManaSaver, basically calculates how much health a target needs to be brought up to full health (called health delta). Then, ManaSaver progressively looks at each level of a healing spell, starting at level 1, and determines the lowest level spell that can reasonably heal the target to full health. It then casts that level of the spell, rather than your maximum level. In the case where the target is so hurt you cannot heal to full health, it casts the maximum level of the spell. In the case where the target is already fully healed, it posts a note tell you as much. In the case where your target is a monster, the mod retargets you and casts the appropriate healing spell on you (thanks to Garnock, from whose macros I took the targeting and discovered I inadvertently gained this ability).
Enjoy.
OVERHEALING
I have also added a function for Overhealing. This basically means that you can force the program to cast healing spells at a higher or lower level that the mod calculates. Some feedback received indicated that because most spells have a casting time, and your target may be getting damaged while you cast the spell, some players may want to force the mod to cast at a level or two higher than calculated to make sure the target is fully healed. Seeing how the logic was the same, the mod allows for a negative overhealing value, so you would heal less than the level the mod calculated, though I cannot imagine why you would want to do this. Overheal is an optional value.
INSTALLATION INSTRUCTIONS
1) Unzip the zip file and place in World of Warcraft directory (default is C:Program FilesWorld of Warcraft). The zip file preserves the folder names for add ons, but if you need to do this manually, the total path should be (World of WarcraftInterfaceAddonsManaSaver).
2) Start World of Warcraft and make sure that ManaSaver is enabled in the Addon page on the character logon screen.
3) Hit Escape and go to the macro tool. Add a new macro, making its name what ever you like and picking an appropriate icon. The text of the macro should be as follows:
/script MSaver ("NAME OF SPELL", YOUR MAX SPELL LEVEL, OVERHEAL AMOUNT WHICH IS OPTIONAL, TARGET WHICH IS OPTIONAL AND USED FOR OTHER MODS);
For example,
/script MSaver ("Healing Touch", 7, 2); This would cast Healing Touch, up to level 7, with an overheal value of two levels or /script MSaver ("Flash of Light", 3); This would cast Flash of Light up to level 3, with no overheal set or /script MSaver ("Greater Heal", 3, -1); This would cast Greater Heal, up to level 3, with a negative overheal of one level
4) Create additional buttons for all of the spells you have covered by ManaSaver (for list of spells, see below).
5) Use the buttons as you would normally use the spell buttons.
6) Enjoy the mod and report any problems on Curse Gaming.
PRIEST HEAL SPELL ANALYSIS OPTION (ALL HEAL)
Tekkub on the Curse Gaming forums brought to our attention that the three priest Heal spells (Lesser Heal, Heal, Greater Heal) provide overlapping functionality that could easily be combined into one ManaSaver call. It would be beneficial to modify ManaSaver to analyze which one of these spells should be used to best heal the target, rather than have a separate button for each one and have to guess which is most appropriate. Tekkub also provided some very helpful code to accomplish this. To use this option, you use the same script call as above, but the name of the spell is "All Heal." The only difference comes in your spell rank, which you combine all spells together, stacked on top of each other. So, if your character has all the levels of lesser heal and heal and only the first level of greater heal, your rank would be 8 (3 + 4 + 1 = 8). PLEASE NOTE THAT "ALL HEAL" IS THE SPELL NAME FOR ALL LANGUAGES.
For example,
/script MSaver ("All Heal", 6, 0); - This would cast all 3 ranks of lesser heal and up three ranks of heal, with no overheal
or
/script MSaver ("All Heal", 10, 1); - This would cast all 3 ranks of lesser heal, all four ranks of heal, and up to three ranks of greater heal, with an overheal of 1
TARGETING
Again, thanks to Tekkub on Curse Gaming, we now have dramatically increased targetting functionality.
- If no target passed, use "target" - If target is hostile, use "player" - If target does not need healing don't cast - If target is in party/raid use best spell by HP missing - If not in group use best rank available
Tekkub has also added functionality to pass a target in the MSaver function call. This maybe helpful for those of you who use ManaSaver with other targeting or one-click mods.
SLASH COMMANDS
The following slash commands have been added to control the announcements:
/msaverq off (This turns on quiet mode. No messages will be sent to party or raid chat.) /msaverq on (This turns on the smart aleck comments.) /msaverq default (This mode is on by default and will display the generic messages in party or raid chat.) /msaverq menu (This displays a menu of the manasaver slash commands)
Please note that ManaSaver now uses saved variables to remember your ManaSaver Quiet settings.
ERROR HANDLING
- Unit to low to receive spell, casts the highest level spell they can receive (for regrowth and rejuvenation) - "Out of Range" - "Target not in line of sight" - "Not enough mana" - "Unit not in Party" - "A more powerfull spell is already active"
LANGUAGES
Helpful translations have been posted on Curse Gaming, so ManaSaver now supports the following languages: - English (DUH!!!) - German (Thanks Voodoomaker and Bryll!!!) - French (Thanks Mordame!!!)
COVERED SPELLS AND TECHNICAL INFORMATION
Below are the spells covered by the mod and the cut off thresholds I used for them. By cut off thresholds, I mean that these are the health comparison levels I used to determine what level the spell is cast. The healing level values are from http://www.thottbot.com/. The list is organized alphabetically, grouped by spell class (healing, healing spells over time, and heal self). If I missed any spells, please post them on the Curse forums and I will try to add them in future versions.
- HEALING SPELLS
I used the average healing value for each level for each of these spells. The F and G after the spell name means it is supported in French or German.
A HUGE, HUGE, HUGE thank you to Tekkeb on the Curse Forms. Anything from Version 2.2.2 and later has a SIGNIFICANT amount of code that he supplied to us. He reorganized the code in a much cleaner fashion and added a bunch of very helpful and logical functionalilty. Also, continued thanks to Arax, for working so hard to make this mod better. This mod has grown into a join effort from both of us. I would like to thank Garnock, Icemaiden and Husband, especially, for encouraging me to continue to work on this mod, even when I was ready to throw the computer across the room. I would like to thank Husband for suggesting the overheal idea. I would also like to thank Kathii who tested the priest functions for me. Changes : VERSION HISTORY
The following is the version history of ManaSaver:
Version 0.1 - 09/01/05 This is the beta version first released for Dragonmarch Officers for play testing Version 1.0 - 09/08/05 Removed damage modules, as not practical, put overheal in, and added self healing spell. Available to all of Dragonmarch. Version 2.0 - 10/17/05 Added Arax's changes. Added Rejuvenation. Removed Desparate Prayer. Fixed bugs. Available to wider WoW community. Version 2.1.5 - 10/24/05 Fixed/added error handlers. Added German spell names. Added Shaman spells. Added menu slash command. Fixed bugs. version 2.1.6 - 10/29/05 Added missed ranks in Rejuvenation. Added Renew as a supported spell. Version 2.2.1 - 11/01/05 Added PriestHeal function. Added more random sayings. Split code into more functions for simplicity. Version 2.2.2 - 12/16/05 Added All Heal ability. Added French localization. Completely reorganized things with help from Tekkub. Changed target handling. Added saved variable for msaverq. Added ability to cast highest level spell on target not in party. Pass target in MSaver function call.