clr.mac - my cleric macro, short and simple

Macro depository for macros written before the user variable changes that broke all of them.

Moderator: MacroQuest Developers

sempi
orc pawn
orc pawn
Posts: 22
Joined: Wed Jul 10, 2002 10:31 pm

clr.mac - my cleric macro, short and simple

Post by sempi » Sat Aug 10, 2002 12:53 am

since the other cleric macro was posted, thought I'd post mine. Very simple yet fully functional.
The follow command is more of a goto, then a follow. Like, "her cleric cleric cleric.. here cleric cleric cleric cleric."

I don't use any kind of authenticity, anyone who sends the cleric a tell in the correct format will get healed. This serves my purposed better. Lets me play the cleric and go afk or just chat the entire fight. At the same time though it completely ignores tells not in the right format (allowing me to chat ;oP)
Gem 1 is CH
Gem 2 is remedy/divine light
Gem 3 is celestial healing/elixir
Gem 4 is herioc bond (could be replaces by aegolism/BoA)
Gem 5 is symbol (single or group)
Gem 6 is reckoning/judgement
Gem 7 is divine aura
Gem 8 is divine barrier

The nuke will target whichever mob you tell it (multiple targets with similair names aren't handled so well, use for single targets only). Only targets npcs, so as no waste of mana trying to nuke a PC

Code: Select all

| clr.mac
| cleric botting macro
| written by dreamer
| modified by sempi

 #include spellsub.mac
 #chat tell 

 Sub Main 
  
 :a 
 /doevents 
 /goto :a 
  
 /return   
  
 Sub follow 
 /stand 
 :begin 
 /face 
 /if n $target(distance)>20 /sendkey down up 
 /if n $target(distance)<18 /sendkey up up 
 /if n $target(distance)<18 /return
 /goto :begin 
 /return 
  
 Sub nuke
 /cleanup
 /target npc $arg(2,"$v3") 
 /g nuking %t
 /call SpellSub 6 70
 /tell $p1 $char(mana,pct) mana
 /return

 Sub Event_Chat 
 /varset v3 "$p2" /target $arg(2,"$v3") 
 /if "$arg(2,"$v3")"=="self" { 
     /target myself 
   } else /if "$arg(2,"$v3")"=="me" { 
     /target $p1 
   }  
 /delay 5 
 /if "$arg(1,"$v3")"=="ch" { 
     /call SpellSub 1 105 
   } else /if "$arg(1,"$v3")"=="dl" { 
     /call SpellSub 2 50 
   } else /if "$arg(1,"$v3")"=="ce" { 
     /call SpellSub 3 45 
   } else /if "$arg(1,"$v3")"=="hb" {
     /call SpellSub 4 40
   } else /if "$arg(1,"$v3")"=="symbol" {
     /call SpellSub 5 65
   } else /if "$arg(1,"$v3")"=="nuke" {
     /call nuke
   } else /if "$arg(1,"$v3")"=="da" {
     /call SpellSub 7 10
   } else /if "$arg(1,"$v3")"=="db" {
     /call Spellsub 8 15
   } else /if "$p2"~~"follow" {
     /call follow 
   } else /if "$p2"~~"sit" }
     /sit
   } else /if "$arg(1,"$v3")"=="mana" {
     /tell $p1 $char(mana,pct) mana sire
   }
 /return 
I use a modified spellsub.mac which I posted below. It does all the sitting and all that good stuff for me.

Code: Select all


| - SpellSub.mac - 
| Spell Casting Sub routine - Usage "/call SpellSub <gem> <delay *actual cast time plus recast*>" 
| Will return $v99 = 999 if you go oom. 
| 
| Modified by GD to work with the 7-4-2002 Release 
| 
| modified by sempi to include sitting/standing and be more cleric oriented

#Event CastFizzle "Your spell fizzles!" 
#Event CastStart "You begin casting" 
#Event CastInterrupt "Your spell is interrupted." 

Sub SpellSub 
   /varset v98 $p0 
   /varset v99 $p1 
   :ReCast 
   /sit off
   /varset v1 0 
   /cast $v98 
   /delay 1s 
   /doevents 
   /if n $v1>1 /goto :ReCast 
   /if n $v1==0 /goto :SpellSubGetMana 
/return 

:SpellSubGetMana
   /g OOM 
   /varset v99 999
   /delay 5 
/return 

Sub Event_CastStart 
   /varset v1 1 
   /delay $v99
   /sit
/return 

Sub Event_CastFizzle 
   /varset v1 2 
/return 

Sub Event_CastInterrupt 
   /varset v1 3 
/return 
Last edited by sempi on Sat Aug 10, 2002 4:52 pm, edited 1 time in total.

User avatar
L124RD
Site Admin
Site Admin
Posts: 1343
Joined: Fri Jun 14, 2002 12:15 am
Location: Cyberspace
Contact:

Post by L124RD » Sat Aug 10, 2002 1:28 pm

Salutations,
I'd format the thing like this, putting the commands you use most at the top, least at the bottom, so less if statements are being processed:

Code: Select all

 Sub Event_Chat
/varset v3 "$p2"
/target $arg(2,"$v3")
/if "$arg(2,"$v3")"=="self" {
 /target myself
 } else /if "$arg(2,"$v3")"=="me" {
  /target $p1
 }  
/delay 5
/if "$arg(1,"$v3")"=="ch" {
  /call SpellSub 1 105
 } else /if "$arg(1,"$v3")"=="dl" {
   /call SpellSub 2 50
 } else /if "$arg(1,"$v3")"=="ce" {
   /call SpellSub 3 45
 } else /if "$arg(1,"$v3")"=="hb" 
  ...

sempi
orc pawn
orc pawn
Posts: 22
Joined: Wed Jul 10, 2002 10:31 pm

Post by sempi » Sat Aug 10, 2002 4:43 pm

Good Point, I had thought about writing it that way, but when I was still designing it, it was easier for me to mentally parse it the way it was.

User avatar
rizwank
Huggle Police
Huggle Police
Posts: 524
Joined: Tue Jul 23, 2002 12:07 am
Contact:

Post by rizwank » Fri Aug 16, 2002 12:56 pm

I still like l124rd'as version...

/sit
/g Gimme money for pdots
/gem
::plays gems for an hr::
/g Damn you all, you think rezz's are free
/target corpse 1
/click right equip primary
/delay 12
/target corpse 2
/click right equip primary
/delay 12
/g ok now gimme xp and loots
/return

User avatar
L124RD
Site Admin
Site Admin
Posts: 1343
Joined: Fri Jun 14, 2002 12:15 am
Location: Cyberspace
Contact:

Post by L124RD » Fri Aug 16, 2002 2:06 pm

Salutations,
THE NEW UI DOESN'T HAVE GEMS! I'M SO PISSED!

sempi
orc pawn
orc pawn
Posts: 22
Joined: Wed Jul 10, 2002 10:31 pm

Post by sempi » Fri Aug 16, 2002 6:14 pm

Gems? is that all you think clerics do? sheesh

User avatar
L124RD
Site Admin
Site Admin
Posts: 1343
Joined: Fri Jun 14, 2002 12:15 am
Location: Cyberspace
Contact:

Post by L124RD » Fri Aug 16, 2002 6:45 pm

Salutations,
thats all my cleric does... until some people get low on health... then i heal till my manas out, manastone myself to near death, and the mob jumps me and i die...

sempi
orc pawn
orc pawn
Posts: 22
Joined: Wed Jul 10, 2002 10:31 pm

Post by sempi » Fri Aug 16, 2002 10:41 pm

well then.. need some clericing lessons.. I don't ahve a manastone.... mod rods are my friend.. and I don't die.. unless the tanks sux0r