start this with
/mac chain.mac
then /tank1 toonname
/tank2 toonname
/nextcleric tooname
/chdelay numsecs
First cleric then does
/varset myturn true
All clerics need to be in the same irc channel
/mac chain.mac
then /tank1 toonname
/tank2 toonname
/nextcleric tooname
/chdelay numsecs
First cleric then does
/varset myturn true
All clerics need to be in the same irc channel
Rich (BB code):
#Event IRCMYTURN "<#1##*#Next #2# #*#"
#CHAT chat
#turbo 40
Sub Main
/declare ChatChannel string outer ${Ini[MyCleric.ini,General,ChatChan]}
/declare ReportChannel string outer ${Ini[MyCleric.ini,General,ReportChan]}
/declare HealChannel string outer ${Ini[MyCleric.ini,General,HealChan]}
/declare ReportInterrupts string outer ${Ini[MyCleric.ini,General,ReportInterrupts]}
/declare FastHeal string outer ${Ini[MyCleric.ini,Spells,FastHeal]}
/declare CompleteHeal string outer ${Ini[MyCleric.ini,Spells,CompleteHeal]}
/declare YaulpSpell string outer ${Ini[MyCleric.ini,Spells,YaulpSpell]}
/declare EndCCH bool outer FALSE
/declare myturn bool outer FALSE
/declare Delay int outer 0
/declare nextcleric string outer NULL
/declare tank1 string outer NULL
/declare tank2 string outer NULL
/declare CHMsg string outer >>> CH on
/declare DArbMsg string outer >>> Attempting to Cast Divine Arb <<<
/squelch /alias /tank1 /varset tank1
/squelch /alias /tank2 /varset tank2
/squelch /alias /nextcleric /varset nextcleric
/squelch /alias /chdelay /varset Delay
/echo CH spell is ${CompleteHeal}
/echo Fast Heal spell is ${FastHeal}
/echo CH Spell assumed to be in Gem1
/echo Fastheal assumed to be in Gem2
/echo Divine arb only works if all of the clerics are in the same
/echo group It also only fires if its currently there turn to be casting CH
/echo .
/echo .
/echo /tank1 Bob
/echo /tank2 Frank
/echo /nextcleric Healbitch
/echo /chdelay 10
:loop
/doevents
|/delay 1
/if (${Delay} > 0) {
/call DO_CH ${tank1} ${tank2} ${nextcleric} ${Delay} ${CHMsg}
}
/goto :loop
/return
Sub DO_CH(TankOne, TankTwo, NextCleric, Delay, CHMsg)
/delay 5 !${Me.Moving}
/if (${Spawn[pc ${TankOne}].ID}) {
/target pc ${TankOne}
} else {
/varset TankOne ${TankTwo}
}
/doevents IRCMYTURN
/if (${EndCCH}) {
/endmacro
}
/doevents IRCMYTURN
/if (!${EndCCH}) {
/if (!${myturn}) {
/if (!${Me.Buff[${YaulpSpell}].ID} && ${Me.SpellReady[${YaulpSpell}]}) {
/casting "${YaulpSpell}"
}
}
/if (${myturn}) {
/varset myturn FALSE
/delay ${Delay}s
/if (${Target.Distance}<120) {
/if (${Target.PctHPs}<30) /call DoDivArb
/i say ${Time.Hour}:${Time.Minute}:${Time.Second} --- ${CHMsg} ${TankOne} <<< Next ${NextCleric} in ${Delay}
/casting "${CompleteHeal}" -maxtries|2
} else /if (${Target.Distance}<230) {
/i say Tank was out of Range for that cycle!! Casting ${FastHeal}
/i say ${Time.Hour}:${Time.Minute}:${Time.Second} --- ${CHMsg} ${TankOne} <<< Next ${NextCleric} in ${Delay}
/delay 55
/casting "${FastHeal}" -maxtries|2
}
}
}
/return
Sub Event_IRCMYTURN(IRCLine,IRCSender,IRCNextCleric)
/if (${IRCNextCleric.Find[${Me}]}) {
/varset myturn TRUE
}
/return
Sub DoDivArb
/if (${Me.Casting.ID}) /call DoInterrupt
/i say ${DArbMsg}
/if ((!${FindItem[Harmony of the Soul].Timer} && ${FindItem[Harmony of the Soul].ID}) || (!${FindItem[Aegis of Superior Divinity].Timer} && ${FindItem[Aegis of Superior Divinity].ID})) {
/if (${FindItem[Harmony of the Soul].ID}) /casting "Harmony of the Soul" item
/if (${FindItem[Aegis of Superior Divinity].ID}) /casting "Aegis of Superior Divinity" item
} else {
/casting "Divine Arbitration" alt
}
/delay 1s ((${Target.PctHPs}<30) || (${Me.Casting.ID}))
/casting ${FastHeal} -maxtries|2
/return
Sub DoInterrupt
/if (${Me.Casting.ID}) {
/if (${ReportInterrupts.Equal[True]}) /2 Interrupting ${Me.Casting}
/Interrupt
/delay 1s !${Me.Casting.ID}
}
/return
Rich (BB code):
[General]
ChatChan=1
ReportChan=1
HealChan=2
ReportInterrupts=True
[Spells]
FastHeal=Pious Light
CompleteHeal=Complete Healing
YaulpSpell=Yaulp VII
Last edited:

