wiz.mac

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

Moderator: MacroQuest Developers

Samefudge
orc pawn
orc pawn
Posts: 20
Joined: Thu Sep 12, 2002 4:41 pm

wiz.mac

Post by Samefudge » Mon Nov 11, 2002 2:09 pm

Wiz == Wizard, of course.

This is a generic wizard / nuke support bot script adapted from Nuad's Druid.mac, and it intended to use while grouped, although it can be used outside of a group as well.

Spell delays on /call spellsub's are not fully tested nor optimized.

If you see anything wrong or have suggestions( other than auto-memming spell sets... :wink: ). feel free to post. Enjoy!

Code: Select all

| Wiz.mac - Wizard nuke & support bot script, for LVL 50+ Wizards
| Altered from Druid.mac by Nuad
| Slapped together by: Samefudge, 11-8-2002
|
| Start with /macro wiz <Controller Name>
|
| ** Not used at this time ** Start with /macro wiz <Controller Name> <Type> 
| ** Not used at this time ** e.g. /macro wiz Owner 1
| ** Not used at this time ** Spells for Hunting (Type 1)......: Diamondskin, LesserEvac, IC, Conflag, Atol, Root, Harvest, DS
| ** Not used at this time ** Spells for Porting (Type 2)......: 

#include SpellSub.mac
#chat tell
#event SnareOff "Your Bonds of Force spell has worn off."
#event SnareOff2 "Your Atol's Spectral Shackles spell has worn off."
#event LOM "Insufficient mana to cast this spell."
#event SkinDown "Your skin returns to normal."

/afk

Sub Main
    /varset v30 $p0
    /varset v29 0
    /varset v34 $p1
    /tell $v30 Ready
    :loop 
      /doevents
    /goto :loop
/return

Sub Event_Chat
   /stand
   /varset v33 $p1
   | Check if Tell is from the Controller, if not inform Controller
   /if "$v33"!="$v30" {
      /mqlog Tell from $p1 : $p2
      | /tell $p1 Sorry i'm really busy at the moment and not available for tells
      /delay 2
      /tell $v30 Tell from $p1 to $char(name) 
      /sit
      /return
   }
   /target $v33
   /if $p2~~"00nuke1" /call Nuke1Sub
   /if $p2~~"00nuke2" /call Nuke2Sub
   /if $p2~~"00snare" /call SnareSub
   /if $p2~~"00evac" /call EvacSub
   /if $p2~~"00DS" /call DsSub
   /if $p2~~"00DsPet" /call DsPetSub
   /if $p2~~"00root" /call RootSub
   /if $p2~~"00come" /call GoTargetSub
   /if $p2~~"00self" /call SelfBuffSub
   /if $p2~~"00home" /call GoHomeSub
   /if $p2~~"00debuff" /call DebuffSub
   /if $p2~~"00help" /call HelpSub
   /if $p2~~"00status" /tell $v33 Mana: $char(mana,pct), HP: $char(hp,pct)
   /sit
   /doevents
/return

Sub DsSub
    /tell $v33 INC Damage Shield for %T
    /call SpellSub 8 8
    /tell $v33 DS Buff done, Mana: $char(mana,pct), HP: $char(hp,pct)
/return

Sub DsPetSub
    /press ESC
    /press F2
    /press F2
    /tell $v33 INC Damage Shield for pet %T
    /call SpellSub 8 8
    /tell $v33 DS Buff done, Mana: $char(mana,pct), HP: $char(hp,pct)
/return

Sub SnareSub
    /assist $v33
    /delay 2s
    /tell $v33 Snaring %T
    /call SpellSub 5 6   
    /tell $v33 %T is snared, Mana: $char(mana,pct), HP: $char(hp,pct)
    /target $v33
/return

Sub RootSub
    /assist $v33
    /delay 2
    /tell $v33 Rooting %T
    /call SpellSub 6 6   
    /tell $v33 %T is rooted, Mana: $char(mana,pct), HP: $char(hp,pct)
    /target $v33
/return

Sub SelfBuffSub
    /press F1
    /tell $v33 Casting Diamondskin
    /Call SpellSub 1 10
    /target $v33
    /tell $v33 Selfbuffs done, Mana: $char(mana,pct), HP: $char(hp,pct)
    /target $v33
/return

Sub GoHomeSub
   /stand
   /sit
   /tell $v33 Camping...
   /camp desktop
   /endmacro
/return

Sub EvacSub
   /target $v33
   /invite $v33
   /tell $v33 You have 8 Seconds now to press Follow
   /call SpellSub 2 1
   /tell $v33 EVAC INC
   /g EVAC INC... GET CLOSE OR BE LEFT BEHIND!
   /endmacro
/return

Sub GoTargetSub
   /stand
   /target $v33
   /face
   /varset v90 $target(id)
   /varset t0 5m
   /tell $v33 I'm coming
   :CloserAF
      /doevents
      /if "$target(id)"!="$v90" /goto :EndAF
      /if n $target(distance)>14 /call AutoRunSub 1
      /if n $target(distance)<15 /goto :EndAf
      /face
      /doevents
      /if n $t0==0 /press esc
   /goto :CloserAF

   :EndAF
   /call AutoRun 0
   /tell $v33 Stopped
   /doevents
/return

Sub AutoRunSub
   /if $p0==$v80 /return
   /varset v80 $p0
   /if $p0==1 /sendkey down up
   /if $p0==0 /sendkey up up
/return

Sub Nuke1Sub
    /assist $v33
    /delay 6
    /tell $v33 Nuking %T
    /call SpellSub 3 10.3   
    /tell $v33 Nuke on %T done, Mana: $char(mana,pct), HP: $char(hp,pct)
    /target $v33
/return

Sub Nuke2Sub
    /assist $v33
    /delay 6
    /tell $v33 Nuking %T
    /call SpellSub 4 9.5   
    /tell $v33 Nuke on %T done, Mana: $char(mana,pct), HP: $char(hp,pct)
    /target $v33
/return

Sub DebuffSub
   /assist $v33
   /delay 3
   /tell $v33 Debuffing %T
   /press 1
   /press 1
   /tell $v33 Lower element (-6FR -6CR) done on %T, Mana: $char(mana,pct) HP: $char(hp,pct)
   /target $v33
/return 

Sub Event_SnareOff
   /tell $v33 Bonds of Force from $char(name) has worn off.
/return

Sub Event_SnareOff2
   /tell $v33 Atol's Spectral Shackles from $char(name) has worn off.
/return

Sub Event_LOM
   /tell $v33 I am LOM, firing off Harvest and sitting down.
   /call SpellSub 7 15   
   /tell $v33 Stunned for 10 seconds, cannot accept action commands.
   /sit on
   /delay 10s
   /tell $v33 Un-stunned, accepting all commands again.
/return

Sub Event_SkinDown
   /tell $v33 Diamondskin fell.
/return

Sub Help
    /tell $v33 DS(O'Keils), Dspet(as long as you are group slot F2), Snare(Atol's), Root(Immobilize), GoTarget(I come to you),
    /tell $v33 SelfBuff(Diamondskin), GoHome(Sit&CampDesktop), Evac(In-zone LesserEvac, invites you), Nuke1(IceComet),
    /tell $v33 Nuke2(Conflaguration), Debuff(SoTF), Help(This Message).
/return