Cleric: Single Target Heal Spam

demoante

New member
Joined
Oct 25, 2006
Messages
76
Reaction score
0
Points
0
Raid'n Cleric: Single Target Heal Spam

I wrote this quick lil' .MAC to help keep up with Cleric Spell Weave, DI, Shining, Uses VP, and a few others lil bells and whistles. I'm not a great coder, and I thought perhaps some might want to help me clean it up, perhaps get the Quiet Miracle line to work where it might target myself, then targets last target.

There is an event where you can tell the cleric to change to your target, and it will assist you.

Code:
|----------------------------------------------------------------------- 
| Program     : raidspam.mac 
| Author's      : DemoAnte / Warwolf911
| Purpose     : Raid Spam heal and send messages to a spam chat channel
| 
| Version     : 2.0 02/21/2014
| 
| Useage      : /mac raidspam
|		Restarting this mac from another toon through EQBC
|			/tell bc *toonname* //mac raidspam
|		Picking target from another toon
|		/tell *toonname* target *tankname*
|			if the raid tanks use messages such as  - /vr 006 "Heal / Voice Macro"
|				- This will cause the healer to target the new tank to heal
|			Will report mana to raidsay if asked "ready check!" and sit and med if less than 85% at a ready check...
|
| Note: 		Some peices of MoDBoT were used for Event Chat
|
| Other: 	
|----------------------------------------------------------------------- 
#turbo 10
#include spell_routines.inc
#include wait4rez.inc

#event Targeting		"#*# tells you, 'target #1#
#event ImDead     		"You have been slain by#*#" 
#event Zoned 		"LOADING, PLEASE WAIT..." 
#event Tanking		"#1# BREAKvoice-tells the raid, #*#"Heal"#*#"
#event Quit		"#*# tells you, 'quit'"
#event Ready		"#*#'ready check!'#*#"
#event Select		"#*#You must first select a target for this spell!#*#"

Sub Main
|-----------------------------
	/echo Ready to fire on all cylinders!
:mainloop
	/doevents
	/if (${Spawn[gm].ID}) /call GMCheck 
|-- MOD ROD Mana less than 80%, Health greater than 80%
|--	/if (${Cast.Ready[Summoned: Large Modulation Shard]} && ${Me.PctMana}<=80 && ${Me.PctHPs}>=80) /multiline ; /timed 20; /casting item|79322
|-- Self Health Check :myhealth
	/if (${Me.PctHPs}<=50) /goto :myhealth
|-- Veturika's Perseverance
	/if (${Me.AltAbilityReady[Veturika's Perseverance]} && ${Me.PctMana}<=75) /goto :mana1
|-- Quiet Miracle
|-BROKE	/if (${Me.AltAbilityReady[Quiet Miracle]} && ${Me.PctMana}<=50) /goto :mana2
|--- Yaulp if not on mount, and yaulp up... MAKE SURE CURRECT SPELL
	/If (!${Me.Mount.ID} && !${Me.Buff[Yaulp XIII Rk.III].ID}) /cast "Yaulp XIII Rk. III"
|--- Shining...  announce to raid and heal channel
	/if (!${Target.Buff[Shining Bastion].ID} && !${Target.Buff[Shining Bastion Rk. II].ID} && !${Target.Buff[Shining Bastion Rk. III].ID} && ${Cast.Ready[Shining Bastion Rk. III]} && ${Target.Distance} <= 80) /goto :shine
|--- DI...  announce to raid and heal channel
	/if (!${Target.Buff[Divine Interposition].ID} && !${Target.Buff[Divine Interposition Rk. II].ID} && !${Target.Buff[Divine Interposition Rk. III].ID} && ${Cast.Ready[Divine Interposition Rk. III]} && ${Target.Distance} <= 80) /goto :divine
|--- Third Spire TANK
|-STOP	/if (!${Target.Buff[Third Spire of Divinity].ID} && ${Me.AltAbilityReady[Fundament: Third Spire of Divinity]} ) /alt activate 1472
|-----Healing Burst AA's
|-- Silent Casting 494
	/if (${Me.AltAbilityReady[Silent Casting]}) /alt activate 494
|-- Healing Frenzy 8500
	/if (${Me.AltAbilityReady[Healing Frenzy]}) /alt activate 8500
|-- Flurry of Life 6488
	/if (${Me.AltAbilityReady[Flurry of Life]}) /alt activate 6488
|-- Celestial Rapidity 997
	/if (${Me.AltAbilityReady[Celestial Rapidity]}) /alt activate 997
|-- Improved Twincast 515
	/if (${Me.AltAbilityReady[Improved Twincast]}) /alt activate 515
|-- Totems
	/if (${Me.AltAbilityReady[Exquisite Benediction]}) /alt activate 255
|-- Burst of Life
	/if (${Me.AltAbilityReady[Burst of Life]} ) /alt activate 7689
|-- Heal Spell Line up... >>>  ENTER CORRECT SPELLS! <<<  renew spellgem1/ renew spellgem2/ intervention spellgem3/ intervention spellgem4/ Light spellgem5...
|--- :Renewheals
	/if (${Me.SpellReady[Fraught Renewal]} ) /multiline ; /cast "Fraught Renewal"; /delay 3; /goto :mainloop
	/if (${Me.SpellReady[Fervent Renewal]} && !${Me.SpellReady[Fraught Renewal]} ) /multiline ; /cast "Fervent Renewal"; /delay 3; /goto :mainloop
|--- :Interventionheals
	/if (${Me.SpellReady[Virtuous Intervention]} && !${Me.SpellReady[Fraught Renewal]} && !${Me.SpellReady[Fervent Renewal]} ) /multiline ; /cast "Virtuous Intervention"; /delay 3; /goto :mainloop
	/if (${Me.SpellReady[Elysian Intervention]} && !${Me.SpellReady[Virtuous Intervention]} ) /multiline ; /cast "Elysian Intervention"; /delay 3; /goto :mainloop
	/if (${Me.AltAbilityReady[Forceful Rejuvenation]} && !${Me.SpellReady[Virtuous Intervention]} && !${Me.SpellReady[Elysian Intervention]}) /goto :aaspellgemreset
|--- :Lightheals
	/if (${Me.SpellReady[Reverent Light]} ) /cast "Reverent Light"
	/delay 5
/goto :mainloop
/return

/return



|-------------------------------------------------------------------------------- 
|SUB: :myhealth --------------/cast spell is a group heal check the name.
|--------------------------------------------------------------------------------
:myhealth 
	/if (${Me.PctHPs}<=50) /casting 20076|item
	/delay 6
	/if (${Me.PctHPs}<=50) /alt act 137
	/delay 6
	/if (${Me.PctHPs}<=50) /alt act 169
	/delay 6
	/if (${Me.PctHPs}<=50) /cast "Word of Reformation"
	/delay 6
	/goto :mainloop
/return

|-------------------------------------------------------------------------------- 
|SUB: :shine ----------------ANNOUNCE /1 *NOT CURRENTLY USED
|-------------------------------------------------------------------------------- 
:shine
	/cast "Shining Bastion Rk. III"
|--	/1  Shining Bastion to <<(( %T ))>>
	/goto :mainloop
/return

|-------------------------------------------------------------------------------- 
|SUB: :divine ----------------ANNOUNCE /1 *NOT CURRENTLY USED
|-------------------------------------------------------------------------------- 
:divine
	/cast "Divine Interposition Rk. III"
	/1  DI to <<(( %T ))>>
	/goto :mainloop
/return

|-------------------------------------------------------------------------------- 
|SUB: :third  ----------------ANNOUNCE /1 *NOT CURRENTLY USED
|-------------------------------------------------------------------------------- 
:third
	/alt activate 1472
|--	/delay 1s
|--	/1 Third Spire of Divinity to <<(( %T ))>>
	/goto :mainloop
/return

|-------------------------------------------------------------------------------- 
|SUB: :mana1  -----------------------   TESTING Veturika's Perseverance
|-------------------------------------------------------------------------------- 
:mana1
|-- Veturika's Perseverance
/if (${Me.AltAbilityReady[Veturika's Perseverance]} && ${Me.PctMana}<=75) {
		/alt act ${Me.AltAbility[Veturika's Perseverance].ID}
		/delay 3
	}
	/goto :mainloop
/return

|-------------------------------------------------------------------------------- 
|SUB: :mana2  ----------------------- >>> BROKE <<<  TESTING Quiet Miracle
|-------------------------------------------------------------------------------- 
:mana2
|-- Quiet Miracle
/if (${Me.AltAbilityReady[Quiet Miracle]} && ${Me.PctMana}<=50) {
			/squelch /tar myself
			/delay 1s
			/alt act ${Me.AltAbility[Quiet Miracle].ID}
			/delay 2
			/squelch /keypress `
			/delay 2
		}
	/goto :mainloop
/return

|-------------------------------------------------------------------------------- 
|SUB: aaspellgemreset - Resets all AA's with Fresh Timers
|-------------------------------------------------------------------------------- 
:aaspellgemreset
|-- AA RESET: Force Rejuvination 7003
/if (${Me.AltAbilityReady[Forceful Rejuvenation]}) {
			/alt activate 7003
			/delay 3
		}
	/goto :mainloop
/return

|-------------------------------------------------------------------------------- 
|SUB: Event Target
|-------------------------------------------------------------------------------- 
Sub Event_Targeting(line, gimp)
   	/echo Targeting stated Tank
   	/target ${gimp.Right[-2].Left[-1]} 
   	/delay 1s
/return

|-------------------------------------------------------------------------------- 
|SUB: Event Tank
|-------------------------------------------------------------------------------- 
Sub Event_Tanking(line, gimp)
   	/echo Targeting "NEW" Tank
   	/target ${gimp.Right[-2].Left[-1]} 
   	/delay 1s
/return

|-------------------------------------------------------------------------------- 
|SUB: Zoned 
|-------------------------------------------------------------------------------- 
Sub Event_Zoned 
  /echo Zoned going AFK!
  /delay 10s
  /sit
  /afk Bio, BRB!
  /endmacro 
/return

|-------------------------------------------------------------------------------- 
|SUB: ImDead
|-------------------------------------------------------------------------------- 
Sub Event_ImDead 

   /echo Bummer ! 
   /delay 20s
   /afk Bio, BRB!
   /endmacro
/return 

|-------------------------------------------------------------------------------- 
|SUB: Event GM Check 
|-------------------------------------------------------------------------------- 
Sub GMCheck 
   /if (${Spawn[gm].ID}) { 
      /beep 
      /beep 
      /beep 
 
      /echo GM has entered the zone! 
      /keypress forward 
      /keypress back 
      /afk Bio, BRB!
      /endmacro 
   } 
 
/return 

|-------------------------------------------------------------------------------- 
|SUB: Event Quit
|-------------------------------------------------------------------------------- 
Sub Event_Quit
      /delay 3s
      /echo #1# has called for you to stop your macro!
      /delay 1s
      /endmacro 
/return
 
Last edited: