|
Post by jbrady33 on Jul 7, 2011 9:59:02 GMT -5
Just recently paid up and registered CMUD, have a scripting question. Hope this isn't bad form, but this is the link to the question on CMUD's support forum. Any help would be appreciated, thanks! forums.zuggsoft.com/forums/viewtopic.php?t=36961
|
|
|
Post by Dank on Jul 9, 2011 15:43:46 GMT -5
I've looked into automating healing before, and each time, I've decided that trying to accommodate the vagaries of healing in melee are too risky for general group use.
I would proceed only if you wish to use this approach for limited (2x) multi.
There are several issues to consider when using automated (trigger-based) healing:
1. Wimpy Factor
This is a personal preference. If your healer has low ac or is glowing, then a tank could easily flee out and rescue back in after a heal. Under most 2x multi scenarios, you won't be fighting uber-mobs anyway, so this approach will work, especially if you lose conc alot in healing.
2. Tank HP Value
Because the healing AI uses the prompt, the value of good, fair, POOR and AWFUL are relative to your tank's total hitpoints. Be sure to set your healing point accordingly.
3. Healing Point
If you tank is small, you might want to cast a few cure critics at fair rather than waiting to heal at POOR. Depending on your healer's wisdom, you might find that cure critics are doing the job. Dank's cure critics heal about 100 HP at 25 wis. This is sufficient for healing my smaller tanks, where a 25 wis heal (up to 350 HP) would simply be wasted on a small tank anyway.
4. Losing Concentration
Is an issue with any healing, whether it be automated or not. Make sure that your healer is always full/full in order to reduce loss of concentration during heals.
5. Prompt
You'll need to create a mud prompt that supports tank status. Make sure that the mnemonic %S (auto-warn tank status) is somewhere in your prompt.
Methodology
The basic auto-healing trigger pattern would look something like this (if you're healing on poor):
%* POOR %*
Note that you shouldn't anchor it, as mud output is often garbled in the chaos of melee. If you use ANSI supported terminal emulation, you could add a specific color pattern match to your zmud/cmud pattern options.
When this pattern is received, I execute the following:
#IF (@healing) {cast 'cure critic' @tank} #VAR healing 0
In order to use this methodology, you'll need to establish a healing variable (default 1). You can optionally define a tank variable. My tank wear a cham cloak and when he attacks, he fades into existence. My assist triggers on that event:
There is a blinding flash of light as (%w) slowly fades into existence.
#VAR tank %1 assist @tank
The Healing Variable
When I attempt a heal, I set the healing variable to 0. This prevents re-healing until I see a healing result.
In order to confirm a heal, these triggers are important:
Your spell has closed some of (%w)'s wounds #VAR healing 1
You heal (%w) #VAR healing 1
If you have lost concentration, you won't see this message and you'll continue to cast heals until you get one of the two messages. Then healing is re-enabled.
Try it out and let me know if you find special circumstances where this approach doesn't work. I believe that the best solution is the most simple and elegant one. Sometimes that just not possible.
Good luck!
|
|
|
Post by jbrady33 on Jul 11, 2011 9:55:50 GMT -5
Thanks Dank, I think the issue I was having was the result of 2 things: 1. Occasional lag (2 prompts of "Fair" fires multiple heals that queue up on my lagged client) - not much to do there 2. My choice of trigger - I had the Tank responding to his own prompt at "fair" and "tell" the cleric to HEAL NOW. The "Tell" of course creates another prompt and triggers another heal even before the cleric gets the message and sets the variable. Went super simple now. Cleric responds to a /fair> prompt with a cure critic (no variables), and if 2 fire off it's ok - not much mana and not a waste either. Thanks for the help! especially the 'cure critic' over 'heal' advise.
|
|