Maskoi
old and salty
- Joined
- Sep 28, 2005
- RedCents
- 82,796¢
**** Update 7/1/09 ****
OMFG this is a lot of work but making progress.
Some excellent Feedback so far. Thanks for the suggestions and please keep them coming.
|--- Changes from Original Healer.mac
[05-18-2009]
- Quick fix to be able to select Merc as MT
- Implemented Promised heal feature to include new expansions Promised Renewal@73 Promised Restoration@78 Promised Recuperation@83
- Changed recast time to 24 secs instead of 18 secs since Extended Spell Duration AAs affect PRHeal line of spells
[06-03-2009]
- Adjusted GoMana event to recognize all Gift of Mana AA messages
- Added Cleric Aura feature
[06-14-2009]
- Separated Nuke/DS/HammerPet into individual variables. Removed Autonuke feature that all these were grouped under previously.
- Removed the hard coded buff beg section was obsolete.
- Reorganized all Variables/spells into 4 areas Healing/Damage/Buffs/Misc for simplification
- Started to label/comment all subroutines for simplification and debugging
- Revised PRenewal timer to recognize if cleric has Spell Casting Reinforcement AA's.
- Removed nuke 2 and stun 2
- Will now dismount and turn off mount when using "Follow Me" command and reactivate mount with "Stop follow" command if to use mount is on.
- Added Mercenary recognition to turn off tells if Mercenary is MT
- Fixed Chat event channel wasn't recognizing requests from chat channel if active.
[06-23-2009]
- Added Clicky Support
- Reset all Gem9 code to Gem8
- Added "Use Mount" Chat/Tell Command to toggle mount usage on and off
[06-26-2009]
- Rewrote most of Nuke/DS/HammerPet section. Added a better targeting subroutine. All damage spells can be customized. % mana, % mob health, turn on/off, chat commands
- Added Epic 1.5 and epic 2.0 support under Divine arbitration. (Thanks to alt228's suggestion)
- Added Zoning protection to Divine Arbitration/Epics to prevent them from firing after cleric zones. (Thanks to alt228's suggestion)
- Added a chat/tell to activate Divine Arbitration/Epics
- Separated Variables into an INC not an ini file but it works. (I blame alt228)
[06-27-2009]
- Total rewrite of the :tankwatchloop tank targeting loop by Alatyami. (Thanks so much)
- Added resurrection support to chat request function
[06-29-2009]
- Sycn'd up help function with current spell casting commands
- Automatic recognition of complete heal vs promised heal line.
- Add timer to prevent over nuking
*** Preview of new settings file with renamed variables at the bottom of page ***
|--- Working on currently
- Syncing, rewriting, and cleaning up chat commands for buffs, nukes, and toggles
- Still cleaning up code and variables names.
- writing in macro help function/command list
- Rewriting the spell mem ruotines and gem 9/10 support.
|--- To Do List
- Add Spell Gem 9 and 10 recognition
- Add better HoT support i.e. hot tank automatically on inc.
- Define GoMana Event better code from my previous quick fix
- Add Divine Intervention support - Buffs Section
- Further definition of Mercenary recognition
- Revise /tell-say events to reflect current changes
- Add secondary tank recognition
- Add pet as main tank recognition
- Separate out main tank as controller functionality since MT can be mercenaries.
- Add a PL mode for recognizing tanks out of group (suggestion by Alatyami)
- Add Autohealmode 4 - Tank, cleric and my group will be healed but not manasponge merc warriors.
|--- Wish List
- Macro to search spell book and add predefined spell sets according to cleric level and settings
- Add chat recognition from healer mercs to prevent over healing
|--- Original Post Below
In my other post I updated the code for healer.mac. I have used this macro for about 5 years on and off and have loved it. The changes made it usable but it has gotten patchy over the years from those of us that have updated it. I want to try and streamline healer.mac so it is was as easy to use when it first came out. There are lots of macros out there for clerics but they all need 500 settings or 16 active plugins running. That is why this macro has always been my favorite because of its ease of use.
Unfortunately this will probably become a complete rewrite for healer.mac. I want to base it on the logical progression of a cleric though leveling from 1-85 and a clerics role in that party. So it will scale according to level of the cleric including AA's and gear.
I have played clerics as my main before and as boxes so I have a decent grasp of the class overall. I am starting this thread to present my logic behind the update. I am asking for ideas and suggestions because everyone plays a cleric different and may have different needs I have not thought of.
Main Goals
1. Rewrite healer.mac keeping the original functions and ideas intact while updating it for current EQ and MQ2.
2. Use as few plugins as possible
a. Macro will based on spell_routines.inc
3. Base logic on cleric level progression and role in group settings
a. Example a level 30 cleric will only have 8 spells slots, Spell gems 9 and 10 aren't even available until level 55 and 75.
4. Make macro settings intuitive and easy to use.
a. Lots of documentation and no obscure ini files with 500 settings only the original programmer understands
5 Make macro scalable for future expansions
a. Spell gem 11 and 12 lol?
What this macro won't do.
1. Run your cleric as a faceless box on raids in ch rotations.
2. Run your cleric around soloing acting a main tank or battle cleric
3. Run your shammy or druid or any other class.
Here are my ideas about basing the variables and spells on the game itself and level progression. For my first example I am only using healing spells and all that covers. This would be the core for the macro's base healing logic and routines. To start and to keep it simple stupid (KISS) items and AA's will be added later and only where they can replace or fit into these healing categories. i.e. Resurrection 96% - level 56 > Epic 1.0 - Level 46 > Blessing of Resurrection - level 65
Heals
Heal - level 1
Duration Heal - level 19
Heal Group - level 30
Heal Complete - level 39
Duration Heal Group - level 44
Quick Heal - level 51
Delayed Heal - level 73
Cures
Cure Poison - level 1
Cure Blindness - level 2
Cure Disease - level 4
Cure Curse - level 23
Cure Group - level 51 poison/disease
Cure Corruption - level 74
Resurrection
Resurrection 0% - level 12
Resurrection 96% - level 56
Realistically most people will power level their cleric to make them useful. The initial spell gems will be based on a 60 level cleric with no AA's or only 8 spell gems keeping the macro compatible with a lv 1 cleric. This line up in my experience is a good start allowing the cleric to heal and dps with a minimum of swapping spells in and out. I have left out DA initially because in my experience of a macro'd cleric it made little difference overall and the gem slot was better utilized for dps but it will be interesting to hear thoughts on leaving DA out.
Spell Gem 1 Heal/Quick Heal
Spell Gem 2 Heal Complete - CH
Spell Gem 3 Duration Heal - HoT
Spell Gem 4 Heal Group/Duration Heal Group
Spell Gem 5 Direct Damage - Nuke
Spell Gem 6 Pet
Spell Gem 7 Damage Shield/DA/DI
Spell Gem 8 Stun/Buffs/Misc/Cure/Resurrection/Pacify
Please post your ideas and comments. I am open to criticism if it is constructive and will help improve the macro.
`
OMFG this is a lot of work but making progress.
Some excellent Feedback so far. Thanks for the suggestions and please keep them coming.
|--- Changes from Original Healer.mac
[05-18-2009]
- Quick fix to be able to select Merc as MT
- Implemented Promised heal feature to include new expansions Promised Renewal@73 Promised Restoration@78 Promised Recuperation@83
- Changed recast time to 24 secs instead of 18 secs since Extended Spell Duration AAs affect PRHeal line of spells
[06-03-2009]
- Adjusted GoMana event to recognize all Gift of Mana AA messages
- Added Cleric Aura feature
[06-14-2009]
- Separated Nuke/DS/HammerPet into individual variables. Removed Autonuke feature that all these were grouped under previously.
- Removed the hard coded buff beg section was obsolete.
- Reorganized all Variables/spells into 4 areas Healing/Damage/Buffs/Misc for simplification
- Started to label/comment all subroutines for simplification and debugging
- Revised PRenewal timer to recognize if cleric has Spell Casting Reinforcement AA's.
- Removed nuke 2 and stun 2
- Will now dismount and turn off mount when using "Follow Me" command and reactivate mount with "Stop follow" command if to use mount is on.
- Added Mercenary recognition to turn off tells if Mercenary is MT
- Fixed Chat event channel wasn't recognizing requests from chat channel if active.
[06-23-2009]
- Added Clicky Support
- Reset all Gem9 code to Gem8
- Added "Use Mount" Chat/Tell Command to toggle mount usage on and off
[06-26-2009]
- Rewrote most of Nuke/DS/HammerPet section. Added a better targeting subroutine. All damage spells can be customized. % mana, % mob health, turn on/off, chat commands
- Added Epic 1.5 and epic 2.0 support under Divine arbitration. (Thanks to alt228's suggestion)
- Added Zoning protection to Divine Arbitration/Epics to prevent them from firing after cleric zones. (Thanks to alt228's suggestion)
- Added a chat/tell to activate Divine Arbitration/Epics
- Separated Variables into an INC not an ini file but it works. (I blame alt228)
[06-27-2009]
- Total rewrite of the :tankwatchloop tank targeting loop by Alatyami. (Thanks so much)
- Added resurrection support to chat request function
[06-29-2009]
- Sycn'd up help function with current spell casting commands
- Automatic recognition of complete heal vs promised heal line.
- Add timer to prevent over nuking
*** Preview of new settings file with renamed variables at the bottom of page ***
|--- Working on currently
- Syncing, rewriting, and cleaning up chat commands for buffs, nukes, and toggles
- Still cleaning up code and variables names.
- writing in macro help function/command list
- Rewriting the spell mem ruotines and gem 9/10 support.
|--- To Do List
- Add Spell Gem 9 and 10 recognition
- Add better HoT support i.e. hot tank automatically on inc.
- Define GoMana Event better code from my previous quick fix
- Add Divine Intervention support - Buffs Section
- Further definition of Mercenary recognition
- Revise /tell-say events to reflect current changes
- Add secondary tank recognition
- Add pet as main tank recognition
- Separate out main tank as controller functionality since MT can be mercenaries.
- Add a PL mode for recognizing tanks out of group (suggestion by Alatyami)
- Add Autohealmode 4 - Tank, cleric and my group will be healed but not manasponge merc warriors.
|--- Wish List
- Macro to search spell book and add predefined spell sets according to cleric level and settings
- Add chat recognition from healer mercs to prevent over healing
|--- Original Post Below
In my other post I updated the code for healer.mac. I have used this macro for about 5 years on and off and have loved it. The changes made it usable but it has gotten patchy over the years from those of us that have updated it. I want to try and streamline healer.mac so it is was as easy to use when it first came out. There are lots of macros out there for clerics but they all need 500 settings or 16 active plugins running. That is why this macro has always been my favorite because of its ease of use.
Unfortunately this will probably become a complete rewrite for healer.mac. I want to base it on the logical progression of a cleric though leveling from 1-85 and a clerics role in that party. So it will scale according to level of the cleric including AA's and gear.
I have played clerics as my main before and as boxes so I have a decent grasp of the class overall. I am starting this thread to present my logic behind the update. I am asking for ideas and suggestions because everyone plays a cleric different and may have different needs I have not thought of.
Main Goals
1. Rewrite healer.mac keeping the original functions and ideas intact while updating it for current EQ and MQ2.
2. Use as few plugins as possible
a. Macro will based on spell_routines.inc
3. Base logic on cleric level progression and role in group settings
a. Example a level 30 cleric will only have 8 spells slots, Spell gems 9 and 10 aren't even available until level 55 and 75.
4. Make macro settings intuitive and easy to use.
a. Lots of documentation and no obscure ini files with 500 settings only the original programmer understands
5 Make macro scalable for future expansions
a. Spell gem 11 and 12 lol?
What this macro won't do.
1. Run your cleric as a faceless box on raids in ch rotations.
2. Run your cleric around soloing acting a main tank or battle cleric
3. Run your shammy or druid or any other class.
Here are my ideas about basing the variables and spells on the game itself and level progression. For my first example I am only using healing spells and all that covers. This would be the core for the macro's base healing logic and routines. To start and to keep it simple stupid (KISS) items and AA's will be added later and only where they can replace or fit into these healing categories. i.e. Resurrection 96% - level 56 > Epic 1.0 - Level 46 > Blessing of Resurrection - level 65
Heals
Heal - level 1
Duration Heal - level 19
Heal Group - level 30
Heal Complete - level 39
Duration Heal Group - level 44
Quick Heal - level 51
Delayed Heal - level 73
Cures
Cure Poison - level 1
Cure Blindness - level 2
Cure Disease - level 4
Cure Curse - level 23
Cure Group - level 51 poison/disease
Cure Corruption - level 74
Resurrection
Resurrection 0% - level 12
Resurrection 96% - level 56
Realistically most people will power level their cleric to make them useful. The initial spell gems will be based on a 60 level cleric with no AA's or only 8 spell gems keeping the macro compatible with a lv 1 cleric. This line up in my experience is a good start allowing the cleric to heal and dps with a minimum of swapping spells in and out. I have left out DA initially because in my experience of a macro'd cleric it made little difference overall and the gem slot was better utilized for dps but it will be interesting to hear thoughts on leaving DA out.
Spell Gem 1 Heal/Quick Heal
Spell Gem 2 Heal Complete - CH
Spell Gem 3 Duration Heal - HoT
Spell Gem 4 Heal Group/Duration Heal Group
Spell Gem 5 Direct Damage - Nuke
Spell Gem 6 Pet
Spell Gem 7 Damage Shield/DA/DI
Spell Gem 8 Stun/Buffs/Misc/Cure/Resurrection/Pacify
Please post your ideas and comments. I am open to criticism if it is constructive and will help improve the macro.
Rich (BB code):
Sub Healer_Variables
| - healer_settings.inc
| ---DO NOT DELETE THE FIRST OR LAST LINE
| - First Line: Sub Healer_Variables
| - Last Line: /return
| ------------------READ THIS SECTION AND EDIT IF NEEDED------------------------|
| - The following declarations are used to determine spell names and spell
| - ranges for the spells you would like to use.
|----------------------------------------------------------------------------
| Healing Spells and AA's
|----------------------------------------------------------------------------
| - Spells
/varset complete_heal Promised Restoration
/varset promised_heal_on 1
/varset patch_heal Solemn Light Rk. II
/varset heal_over_time Devout Elixir Rk. II
/varset group_heal Elixir of Atonement
/varset group_heal_on 1
/varset remove_curse Remove Greater Curse
| - Heal percentages
/varset heal_self_% 70
/varset interrupt_heal_self_hp_% 60
/varset stop_healing_point_% 85
| - Heal at % for WAR/PAL/SK
/varset heal_tank_% 69
| - Heal at % for WIZ/MAG/ENC/DRU
/varset heal_over_time_caster_% 75
/varset heal_caster_% 55
| - Heal at % for NEC/SHM
/varset heal_nec_shm_% 45
| - Heal at % for all other classes
/varset heal_default_% 60
| - Autohealmode 0 Tank only will be healed
| - Autohealmode 1 Tank and cleric only will be healed
| - Autohealmode 2 Tank, cleric and my group will be healed
| - Autohealmode 3 Tank and cleric will be healed before the rest of the group
/varset autohealmode 3
| - Switches 0=OFF 1=ON
/varset interrupt_on 1
/varset heal_only_while_fd 1
/varset interrupt_heal_self 1
/varset divine_arbitration_on 1
/varset divine_arbitration_heal_% 28
/varset divine_arbitration_group_heal_after_on 1
/varset divine_arbitration_interrupt_at_% 26
Last edited:


