This is not tested fully but has worked in theoretical testing using emotes.
To adjust priority of rescues you must update the primary variable and the primaryabbr variable and keep them synced, should be obvious if you try this.
I'm also not sure if it's properly adding anti paladins to group list.
commands to use:
rescon - turns on autorescue, rebuilds group and rescue list.
rescoff - turns off autorescue, deletes rescuelist only
rclear - clear the rescuelist
rgadd - build group and rescuelist
test - force the reset of all rescue variables as well as break down rescue priority for the group
I believe I have fixed all of the import problems of the last one, switches set wrong, etc.
Priority is:
Cleric
Enchanter
Battlechanter
Bard
Illusionist
Shaman
Druid
Elementalist
Psionicist
Invoker
Necromancer
Lich
Rogue
Ranger
Dire-Raider
Anon - Cuz i h9 anon bitches.
This is heavily based on Disotulip's which is heavily based on someone elses. I just had to throw my 2 cents in to make it right.
Enjoy and tell me if anything wrong.
#CLASS {Variables}
#VAR Looked {0} {0}
#VAR RescueBegin {0} {0}
#VAR Primary {Cleric|Enchanter|Battlechanter|Bard|Illusionist|Shaman|Druid|Elementalist|Psionicist|Invoker|Necromancer|Lich|Rogue|Ranger|Direraider|Paladin|Antipaladin|Warrior|Anon}
#VAR PrimaryAbbr {Cle|Enc|Ctr|Bar|Ill|Sha|Dru|Ele|Psi|Inv|Nec|Lic|Rog|Ran|Dir|Pal|A-P|War|Anon}
#VAR Attacks {beat|beats|choke|chokes|touch|touches|hit|hits|slash|slashes|crush|crushes|misses|whip|whips|pierce|pierces|smash|smashes|sting|stings|drain|drains|strike|strikes|pummel|pummels|pound|pounds|claw|claws|nip|nips|burn|burns|bite|bites}
#VAR RescueAbbr {Cle|Enc|Ctr|Bar|Ill|Sha|Dru|Ele|Psi|Inv|Nec|Lic|Rog|Ran|Dir|Anon}
#VAR AutoRescue {0} {0}
#CLASS 0
#CLASS {Commands}
#ALIAS test {#SAY %null;#SAY Resetting Rescue Variables to Next Trigger should Fire:;#VAR Looked {0} {0} "Variables";#VAR RescueBegin {0} {0} "Variables";#VAR AutoRescue {1} {0} "Variables";#VAR Queue {} {} "Variables";#VAR CRescue {} {} "Variables";#SAY Current Rescue List:;#SAY Current Priority Order and Sync Check:;#LOOP %numitems( @Primary) {#SAY %i:%item( @Primary, %i) - %item( @PrimaryAbbr, %i) - Group Members:@{%item( @Primary, %i)}}}
#ALIAS rgadd {#DELCLASS GBuild;#DELCLASS RescueVariables;#UNVAR RescueList;#UNVAR GroupList;#VAR RescueList {} {} "RescueVariables";#VAR GroupList {} {} "GBuild";#FORALL @Primary {#UNVAR %i};#FORALL @Primary {#VAR %i {} {} "GBuild"};#T+ GroupBuild;who ingr}
#ALIAS rclear {#DELCLASS RescueVariables;#UNVAR RescueList;#VAR RescueList {} {} "RescueVariables"}
#ALIAS gclear {#DELCLASS GBuild;#UNVAR GroupList;#VAR GroupList {} {} "GBuild";#FORALL @Primary {#UNVAR %i};#FORALL @Primary {#VAR %i {} {} "GBuild"}}
#ALIAS rescon {#Var AutoRescue {1} {0} "Variables";#SAY Rescue On Populating Rescue List;rgadd}
#ALIAS rescoff {#Var AutoRescue {0} {0} "Variables";#SAY Rescue Off Clearing List;rclear}
#CLASS 0
#CLASS {GroupBuild} {disable}
#TRIGGER {~[{*}~ ({%w})~] ({%w})~ } {#IF (%ismember( %1, @RescueAbbr)) {#ADDITEM RescueList {%2}};#ADDITEM %item( @Primary, %ismember( %1, @PrimaryAbbr)) {%2};#ADDITEM GroupList {%2}}
#TRIGGER {~[%s({%w})%s~] ({%w})~ } {#IF (%1 == Anon) {#ADDITEM Anon %2;#ADDITEM RescueList %2}}
#TRIGGER {Record number of players on this boot~:} {#VAR Trescue {} {} "Variables";#FORALL @Primary {#FORALL @{%i} {#IF (%ismember( %j, @RescueList) > 0) {#ADDITEM Trescue %j}}};#VAR RescueList {@Trescue} {} "RescueVariables";#UNVAR Trescue;#T- GroupBuild}
#CLASS 0
#CLASS {Rescue}
#ALIAS *addQ {#IF (@Queue == "") {#VAR RescueBegin {1} {0} "Variables"};#IF (%ismember( %1, @Queue) == 0 & @CRescue != %1) {#ADDITEM Queue %1};#VAR Trescue {} {} "RescueVariables";#FORALL @Primary {#FORALL @{%i} {#IF (%ismember( %j, @Queue) > 0) {#ADDITEM Trescue %j}}};#VAR Queue {@Trescue} {} "Variables";#UNVAR Trescue}
#ALIAS *resQ {#if (@Queue != "") {#VAR CRescue {%pop( Queue)} {} "Variables";#IF (@AutoRescue == 1) {resc @CRescue} {#SAY *resQ called resc @CRescue and It's not on}} {#VAR CRescue {} {} "Variables"}}
#TRIGGER { fighting *({@RescueList})} {#execute *addQ %1}
#TRIGGER {T: ({@RescueList})} {#execute *addQ} "" {nocr|prompt}
#TRIGGER {Banzai! To the rescue...} {#execute *resQ}
#TRIGGER {You fail the rescue.} {#execute resc @CRescue}
#TRIGGER {{But nobody is fighting|Who do you want to rescue?}} {#execute *resQ}
#TRIGGER {{Maybe you should get on your feet first?|Maybe you should get up off your knees first?|Sorry, you can't do that while laying around.}} {stand;#IF (@CRescue != "") {#IF (@AutoRescue == 1) {resc @CRescue} {#SAY Trigger Called @CRescue and It's not on}}}
#TRIGGER {^~<} {#IF (@RescueBegin == 1) {#VAR RescueBegin {0} {0} "Variables";#execute *resQ}} "" {nocr|prompt}
#CLASS 0
#CLASS {Rescue|Switches}
#TRIGGER {switches targets..} {#IF (@Looked != 1) {look;#VAR Looked {1} {0} "Variables"}}
#TRIGGER {Exits:} {#VAR Looked {0} {0} "Variables"}
#TRIGGER {With an arcane motion of its hand, a * gates in someone!} {#IF (@Looked != 1) {look;#VAR Looked {1} {0} "Variables"}}
#CLASS 0
#CLASS {Rescue|Respond}
#TRIGGER { {@Attacks} ({@RescueList})} {#execute *addQ %1}
#TRIGGER { enshrouds ({@RescueList}) in a mist of blood with its deadly {@Attacks}!} {#execute *addQ %1}
#TRIGGER { {lands a mighty * on|places * in the back of|tried to backstab} ({@RescueList})} {#execute *addQ %1}
#TRIGGER { ({@RescueList}) {gasps from * awesome|is nearly slain by the force of|staggers from a fearsome}} {#execute *addQ %1}
#CLASS 0
#CLASS {RescueVariables}
#VAR RescueList {} {}
#CLASS 0