Hello everyone. I figured since I had helped many people with their bard macro's, I would ask for help with one of my own. This is the FIRST macro I have ever written, (kind of). It is basically a disfigured, wanna-be piece of shit macro lol, that works the way I want it to, just not as efficient as I wanted to. I was looking at the Necromancer macro that was written by Fredflintstone, so I took some stuff from it and from the FH bard mac's that I have tweaked. I have gotten it to do what I want, but not exactly. I am looking for help writing a macro that will recognize when spells land, resist, ect. That will FD when I get hit, and will check buffs on me and pet. Also looking to twitch, when triggered in group chat. The one I have just casts the spells, gets the target, pet tanks, and then loots. It is being used with the afcleric.mac i have. I want it to go back to the anchorpoint that i have, its the only /warp loc i have in the mac. so if anyone wants to help me out, i would appreciate it. or if not, i will figure it out and post for those who need it. below is the shitty one i made, as well as the necromancer.mac by Fredflinstone. The zone I am looking at is Forgotten Halls, due to be instanced.
Rich (BB code):
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~FHNecro.mac~~~~~~~~~~~~~~~~
~~~~~~~~~~~~Written by SS44~~~~~~~~~~~~~~~
~~~~~~~~~~~~For RedGuides~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#turbo
#chat group
#chat tell
#Event MobDied "#*#has been slain by#*#"
#event MobDied "#*#you have slain#*#"
#event MobDied "#*#corpse lets out a sharp squeak, then topples over#*#"
#event MobDied "#*#corpse lets out a sharp squeak#*#"
#Event TwitchModeOn "#*#TwitchOn#*#"
#Event TwitchModeOff "#*#TwitchOff#*#"
#Event TwitchMeOff "#*#Stop Twitching#*#"
#event magic_dotoff "#*#Your Dark Nightmare spell has worn off of#*#"
#event fire_dotoff "#*#Your Pyre of Mori spell has worn off of#*#"
#event fire_dot2off "#*#Your Funeral Pyre of Kelador spell has worn off of#*#"
#event pet_haste "#*#Your pet's Glyph of Darkness spell has worn off#*#"
#event dzadd "PERSONYOUWANTTOADD tells you, 'CODEWORD'"
#event invite "#*#invites you to join#*#"
#event Zoned "#*#You have entered Guild Lobby#*#"
#event dzquit "#*#You have entered Nedaria's Landing#*#"
#event PoK "You have entered Guild Lobby."
|Change this to the ^^^^^^^^^^^^^^
|zone you are bound in
|-- Destroys Silver if you have more than the given amount! 0=disable
#define DESTROY_SILVER_IF_ABOVE 1
|-- Destroys Copper if you have more than the given amount! 0=disable
#define DESTROY_COPPER_IF_ABOVE 1
|~~~~~~~~~~~~~~~~~~~~Buffs~~~~~~~~~~~~~~~~~~~~~~~~|
/declare Rune outer "Dull Pain"
/declare Shielding outer "Shadow Guard"
/declare Lich outer "Dark Possession"
/declare Pet outer "Dark Assassin"
/declare Twitch1 string outer "Sedulous Subversion"
/declare Twitch2 string outer "Covetous Subversion"
|~~~~~~~~~~~~~~~~~~~Pet Buffs~~~~~~~~~~~~~~~~~~~~~~|
/declare Pethaste outer "Glyph of Darkness"
/declare DiseaseDot1 outer "Force Shield"
/declare DiseaseDot1Resisted int outer 0
/declare DiseaseDot1Landed bool outer FALSE
/declare DiseaseDot1Resistant bool outer FALSE
/declare DiseaseDot2 outer "Seduction of Saryrn"
/declare DiseaseDot2Resisted int outer 0
/declare DiseaseDot2Landed bool outer FALSE
/declare DiseaseDot2Resistant bool outer FALSE
/declare DiseaseDot2Ready bool outer TRUE
/declare Twitch1 string outer "Sedulous Subversion"
/declare Twitch2 string outer "Covetous Subversion"
Sub Main
/declare LootAllItems int outer 1
/declare LootSlot int outer 0
|We are waiting for the hotkey to start the macro
:waitforit
/doevents
/doevents
/goto :waitforit
/return
| We have the extra long delay to account for zoneing Time.
| You may set the delay to what you want.
| You also need to change the twist to your line up.
| We then Clear our target so we don't cast on anything.
Sub indz
:begin
/delay 1s
/warp loc -599.12 212.05 6.76
/delay 1s
/call loopstart
/return
|This loop calls the events to be redone along with a GM check.
|It checks to insure that the mobs it targets are not over
| level 67(a left over from the vxed mac i think)
|It then check the range of the target if it over 220 it clears it
|The 3rd If command targets an NPC if you do not have a target
|The final Line Watches your health and succor you when you hit 30%
| you could change the command to gate if you like.
| ex /if (${Me.PctHPs}<=30) /gate
Sub Event_Chat(string ChatType,string ChatSender,string ChatText)
/if (${ChatText.Equal[Twitch Me]} && ${Twitch}) {
/target ${ChatSender}
}
/if (!${Spawn[${ChatSender}].ID}) {
/echo ${ChatSender} is not in zone for me to Twitch!
/t ${ChatSender} Im not even in the same zone as you!
/return
}
/delay 2
/if (${Target.Distance}<100) {
/book
/memspell 8 ${Twitch1}
/delay 40
/memspell 9 ${Twitch2}
/tell ${ChatSender} Chain twitching in a sec!
/delay 60
:Twitch_Loop
/doevents
/if (${Twitch}) {
/target ${ChatSender}
/call cast ${Twitch1} gem8
/call cast ${Twitch2} gem9
/delay 5
/goto :Twitch_Loop
}
/memspell 8 ${DiseaseDot1}
/delay 20
/memspell 9 ${DiseaseDot2}
/delay 20
} else {
/t ${ChatSender} Your oor sry.
/memspell 8 ${DiseaseDot1}
/delay 20
/memspell 9 ${DiseaseDot2}
/delay 20
}
}
}
/return
Sub loopstart
:loopstart
/delay 1s
/call GMcheck
/call buffs
/if (${Target.Level}>67) /tar npc next
/if (${Target.Distance}>220) /keypress esc
/if (${Target.ID}==FALSE) /tar NPC radius 220 rat
/if (${Me.PctMana}<=20) /call med
/if (${Me.PctHPs}<=20) /call succor
/if (${Me.PctHPs}<=80) {
/g Heal Me
}
/if (${Me.PctHPs}<=40) /potionbelt activate 2
/face
/call attack
/doevents
/delay 10
/goto :loopstart
/return
|I never had this one called while i was in zone.
| but it warps you to that loc turn circle off
| and twists selos and heal song then when you reach
| 80% health you go back to killing
Sub succor
/warp loc 245 -33 0
/delay 1s
/fade
/delay 120s
/return
/delay 60
/call regen
/return
| This is the GM check it is called about every 10 seconds.
| It beeps at you then /quits the game.
Sub GMcheck
/if (${Spawn[gm].ID}) {
/echo Gm detected
/beep
/beep
/beep
/q
/endmac
/unload
/q
}
/return
|This next bit removes you from the expdition if you still have it after
| you zone out
|Targets Eldros Danmor warps to him gets the adventure window then it
| warps back to Nideno and says forgotten halls allowing you to zone in.
|You then warp closer to the rock look at point behind the rock and
| press use or u, also you click with the mouse so you mouse needs to be
| in the center of the screen.
Sub event_dzquit
/doevents
/call gmcheck
/disband
/dzremove Gajar
/dzremove Gajar
/twist off
/delay 2s
/target Eldros Danmor
/warp target
/delay 2s
/say interested in visiting
/delay 3s
/target Nideno Eliagy
/warp target
/delay 2s
/say Forgotten halls
/delay 2s
/doevents
/warp loc 1544 -665 94
/face loc 1540, -675
/look 0
/doortarget
/delay 10s
/keypress u
/keypress u
/delay 1s
/target clear
/call destroysilver
/call indz
/return
|In the event of a water landing....
| This camps you out.
Sub Event_PoK
/echo sorry i don't know how or why but you died.
/circle off
/twist off
/delay 45s
/sit on
/camp desktop
/q
/endmacro
/return
Sub Event_MobDied
/doevents
/twist off
/call GMcheck
/circle off
/keypress forward
/delay 1s
/squelch /declare LootSlot int inner 0
/declare LootCheck int inner 0
/declare LootTotal int inner 0
/target npc corpse radius 200
:MovementLoop
/face fast nolook
/if (${Int[${Target.Distance}]}>13) {
/keypress forward hold
}
/if (${Int[${Target.Distance}]}<13&&${Int[${Target.Distance}]}>11) {
/keypress forward
}
/if (${Int[${Target.Distance}]}<9) {
/keypress back
}
/if (${Int[${Target.Distance}]}>13) {
/goto :MovementLoop
}
/keypress forward
/keypress back
/delay 5
/loot
/delay 5
/if (!${Corpse.Items}) {
/echo NO LOOT!
/notify LootWnd DoneButton leftmouseup
/call DestroyCopper
/delay 1s
/call checkanchor
/face heading 270
/circle on 21
/keypress forward hold
/return
}
/varset LootTotal ${Corpse.Items}
/for LootSlot 1 to ${LootTotal}
/itemnotify loot${LootSlot} leftmouseup
/delay 5
/if (${LootAllItems}) {
/echo Keeping a ${Cursor.Name}... WOOT!
/autoinventory
/autoinventory
/delay 5
} else {
/for LootCheck 1 to ${ItemsToLoot.Size}
/if (${Cursor.Name.Find[${ItemsToLoot[${LootCheck}]}]}) {
/echo Keeping a ${Cursor.Name}... WOOT!
/autoinventory
/autoinventory
/delay 5
}
/next LootCheck
}
/if (${Cursor.ID}) {
/echo Destroying a ${Cursor.Name}...
/destroy
/destroy
/delay 5
}
/next LootSlot
/delay 5
/notify LootWnd DoneButton leftmouseup
/delay 2
/call checkanchor
/face heading 270
/circle on 21
/keypress forward hold
/return
Sub CheckAnchor
/if (${Math.Distance[${AnchorY},${AnchorX}]}>12) /call MoveToAnchor
/return
Sub MoveToAnchor
/call indz
/return
|----------------------------------------------------------------------------
|SUB: DestroyCopper - Destroy all the copper
|----------------------------------------------------------------------------
Sub DestroyCopper
/squelch /windowstate InventoryWindow open
/shift /notify InventoryWindow IW_Money3 leftmouseup
/delay 1s ${Cursor.ID}>0
/destroy
/cleanup
/return
|----------------------------------------------------------------------------
|SUB: DestroySilver - Destroy all the silver
|----------------------------------------------------------------------------
Sub DestroySilver
/squelch /windowstate InventoryWindow open
/shift /notify InventoryWindow IW_Money2 leftmouseup
/delay 1s ${Cursor.ID}>0
/destroy
/cleanup
/return
Sub Pet_Buff
| Put these in the macro your inc this from
| /declare Pethaste outer "Glyph of Darkness"
| /declare Shrink outer "Tiny Companion"
/if (${Me.Pet.ID}) {
/if (!${Me.PetBuff[Glyph of Darkness]} || (!${Me.PetBuff[Bulwark of Calliav]})) {
/call PBuffShieldHaste
}
} else {
/echo You dont have a pet!
}
/echo Shrinking pet twice!!!
/call cast ${Shrink}
/delay 10
/call cast ${Shrink}
/echo And im spent!
/pet taunt on
/return
Sub PBuffShieldHaste
/sit on
/book 35
/echo Meming Haste
/memspell 2 ${Pethaste}
/memspell 2 ${Pethaste}
/memspell 2 ${Pethaste}
/delay 35
/echo Waiting...
/sit off
/delay 325
/if (!${Me.PetBuff[Glyph of Darkness]}) {
/echo Pet needed Haste!
/call Cast ${Pethaste} gem7 15s
}
/sit off
/return
Sub mana
/echo Need mana, medding
/warp loc -599.12 212.05 6.76
/sit on
/if (${Me.PctHPs}<=50) {
/g Heal Me
}
/if (${Me.PctMana}>=50) /call attack
/return
Sub buffs
/if (!${Me.Buff[Dark Possession].ID}) {
/memspell 9 ${Lich}
/call cast ${Lich} gem9
/delay 5
}
/if (!${Me.Buff[Dull Pain].ID}) {
/memspell 9 ${Rune}
/call cast ${Rune} gem9
/return
Sub fire_dotoff2
/call fire_dot2
/return
Sub fire_dotoff
/call fire_dot
/return
Sub magic_dotoff
/call magic_dot
/return
Sub magic_dot
/cast 1
/delay 3s
/keypress 5
/delay 10s
/keypress 9
/call attack
/return
Sub fire_dot2
/cast 3
/delay 3s
/keypress 5
/delay 10s
/keypress 9
/call attack
/return
Sub fire_dot
/cast 2
/delay 3s
/keypress 5
/delay 10s
/keypress 9
/call attack
/return
Sub pet_haste
/cast 7
/delay 6s
/assist
/delay 10
/call attack
/return
Sub attack
/pet attack
/delay 10s
/if (${Target.PctHPs}>=90) /call magic_dot
/if (${Target.PctHPs}>=80) /call fire_dot2
/if (${Target.PctHPs}>=65) /call fire_dot
/if (${Target.PctHPs}>=40) /call magic_dot
/if (${Target.PctHPs}>=30) /call fire_dot2
/return
Rich (BB code):
| ***********************************************************
| ******************** FredFlintstone ***********************
| ***********************************************************
| Necromancer Ver 0.2.0
| started 5/10/05 released 6/10/05 updated 7/23/05
| Just type /mac necromancer with the Main Assist Targeted
| Functions: (These also work in tells, say, group, etc...)
| type /e Raid Mode - for Raid dot casting
| type /e Normal Group Mode - for Group casting
| type /e POF Group Mode - for Plane of Fire group casting
| type /e Stop Robe - to stop using mana robe
| type /e Start Robe - to start using mana robe
| type /e Option Check - to check options
| Following:
| have someone tell or say in group "This way" - for follow mode
| have someone tell or say in group "Wait here" - to stop following
| (for follow commands you need to add the names of people
| you want to follow on in the FollowOnly array. This way
| not just anyone will be able to tell you to follow
| them.)
|
| DMF Functions:
| Auto DMF from tells or group chat, to common requests (not all)
| have someone type "Group DMF" in tell or group for Group DMF
|
| Group Buff Functions: (Also works in tells, say, group, etc...)
| type /e Check group buffs - to check for buffs needed by
| class in group. It will then ask in /group for them (beta)
| type /e Check group buffs off - to turn this feature off
|
| You must also make a spell set with all the 1st level spells
| called xxxx this is used to clear out all the spell gems so
| the proper spell can be put in the proper slot.
|
| Ver 0.1.2 additions
| (These also work in tells, say, group, etc...)
| Stay Feigned Function:
| type /e FD FD FD - to FD and stay feigned (re-feign if its broke)
| type /e Get up now - to end stay feigned
| Face Mob Function:
| type /e Face off - to stop turning to MOB
| type /e Face on - to start again
| Twitch Function:
| /type /e TwitchOn - to turn twitching on.
| /type /e TwitchOff - to turn twitching off.
| Works when someone sends you a tell or group chat saying "Twitch Me",
| it will chain twitch both spells until you say "Stop Twitching" anywhere.
|
| Ver 0.1.3 Additions
| (These also work in tells, say, group, etc...)
| Epic casting Function: (Even gets in range, then backs up again.)
| type /e Epic On - to turn epic casting on.
| type /e Epic Off - to turn epic casting off.
| AoD usage function:
| type /e AOD On - to turn Army on.
| type /e AOD Off - to turn Army off.
| Skel Archers function
| type /e Arch On - to turn Archers on.
| type /e Arch Off - to turn Archers off.
|
| Ver 0.1.4 Additions
| (These also work in tells, say, group, etc...)
| FD switch to not FD unless you are hit, usually toon FD's during DOT casting.
| type /e Good Tank - Turns FD off.
| type /e Shitty Tank - Turns auto FD on
|
| Ver 0.1.5 Additions
| Added mend companion and FD for pet
| type /e MindW On - to turn mind wrack usage on.
| type /e MindW Off - to turn mind wrack off.
| type /e OOW Zone - to MW everything.
|
| Ver 0.2.0 Changes
| Removed the use of Pet.inc because of the string issues
|
| This was about 85% writen by me but, I took pieces from other mac's
| too many to list so I would just like to thank anyone who posted
| a macro in the VIP area.
|
| You MUST have the following;
| MQ2MoveUtils
| MQ2Exchange Plugin from VIP area
| Spell_Routines.inc
| PetBuff.inc in MQ2\Release\Macros\common folder
|
| In Works;
|
|
#turbo 40
#chat group
#chat tell
#Event Enrage "#*#has become ENRAGED#*#"
#Event Rampage "#*#goes on a RAMPAGE!#*#"
#Event Attacked "#*#You have been summoned#*#"
#Event Attacked "#*#but YOUR magical skin absorbs the blow!#*#"
#Event Attacked "#*#YOU for #*##*# points of damage.#*#"
#Event Attacked "#*#YOU, but misses!#*#"
#Event Attacked "#*#YOU, but YOU dodge!#*#"
#Event EmeFD "#*#FD FD FD#*#"
#Event EmeFDOff "#*#Get up now#*#"
#Event FaceOff "#*#Face Off#*#"
#Event FaceOn "#*#Face On#*#"
#Event EpicOn "#*#Epic On#*#"
#Event EpicOff "#*#Epic Off#*#"
#Event AODOn "#*#AOD On#*#"
#Event AODOff "#*#AOD Off#*#"
#Event ArchOn "#*#Arch On#*#"
#Event ArchOff "#*#Arch Off#*#"
#Event GoodTank "#*#Good Tank#*#"
#Event GoodTankOff "#*#Shitty Tank#*#"
#Event TrashMobs "#*#Normal Group Mode#*#"
#Event BossMob "#*#Raid Mode#*#"
#Event FireGroup "#*#POF Group mode#*#"
#Event NoHorse "#*#You can not summon a mount here#*#"
#Event TwitchModeOn "#*#TwitchOn#*#"
#Event TwitchModeOff "#*#TwitchOff#*#"
#Event TwitchMeOff "#*#Stop Twitching#*#"
#Event PetFocusOff "#*#No longer focusing on one target, Master#*#"
#Event FollowOff "#*#Wait here#*#"
#Event CheckGroupBuff "#*#Check group buffs#*#"
#Event CheckGroupBuffOff "#*#Check group buffs off#*#"
#Event NoSOW "#*#You can only cast this spell in the outdoors#*#"
#Event CantDMFHere "#*#This spell does not work here#*#"
#Event StuckLoop "#*#You must first select a target for this spell#*#"
#Event StopRobe "#*#stop robe#*#"
#Event StartRobe "#*#Start robe#*#"
#Event SymbolOff "#*#The mystic symbol fades#*#"
#Event SpellHasteOff "#*#Your thoughts slow#*#"
#Event FocusOff "#*#You lose your focus#*#"
#Event SenseOff "#*#The ancestral grace fades#*#"
#Event StaOff "#*#The ancestral vigor fades#*#"
#Event BBBOff "#*#The brawny bulwark fades#*#"
#Event SteelOakOff "#*#Your skin loses its oaken resilience#*#"
#Event SOTOff "#*#The hunter's strength departs#*#"
#Event GOBOff "#*#Your gift of brilliance fades#*#"
#Event CheckOptions "#*#Check Options#*#"
#Event PetFeignFailed "#*#|${Me.Pet.Name}| has fallen to the ground#*#"
#Event MindWrackOn "#*#MindW On#*#"
#Event MindWrackOff "#*#MindW Off#*#"
#Event OOWZoneSwitch "#*#OOW Zone#*#"
| ------------------------ Magic Dots ------------------------------------
#Event MagicDot1Off "#*#Your Dark Nightmare spell has worn off#*#"
#Event MagicResisted "#*#Your target resisted the Dark Nightmare spell#*#"
#Event MagicDot1LandedEvent "#*#mind is consumed in dark nightmares#*#"
#Event MagicDot2Off "#*#Your Horror spell has worn off#*#"
#Event MagicDot2Resisted "#*#Your target resisted the Horror spell#*#"
#Event MagicDot2LandedEvent "#*#screams in abject terror#*#"
#Event LeachedOn "#*#is pierced by a dark fang#*#"
#Event LeachedOff "#*#Your Fang of Death spell has worn off#*#"
| ------------------------ Fire Dots -------------------------------------
#Event FireDot1Off "#*#Your Pyre of Mori spell has worn off#*#"
#Event FireResisted "#*#Your target resisted the Pyre of Mori spell#*#"
#Event FireDot1LandedEvent "#*#is enveloped in the pyre of Mori#*#"
#Event FireDot2Off "#*#Your Pyrocruor spell has worn off#*#"
#Event FireDot2Resisted "#*#Your target resisted the Pyrocruor spell#*#"
#Event FireDot2LandedEvent "#*#blood ignites#*#"
| ----------------------- Poison Dots ------------------------------------
#Event PoisonDot1Off "#*#Your Chaos Venom spell has worn off#*#"
#Event PoisonDot1Resisted "#*#Your target resisted the Chaos Venom spell#*#"
#Event PoisonDot1LandedEvent "#*#blood burns with the venom of chaos#*#"
#Event PoisonDot2Off "#*#Your Blood of Thule spell has worn off#*#"
#Event PoisonDot2Resisted "#*#Your target resisted the Blood of Thule spell#*#"
#Event PoisonDot2LandedEvent "#*#veins turn a vile shade of green#*#"
| ----------------------- Disease Dots -----------------------------------
#Event DiseaseDot1Off "#*#Your Grip of Mori spell has worn off#*#"
#Event DiseaseDot1Resisted "#*#Your target resisted the Grip of Mori spell#*#"
#Event DiseaseDot1LandedEvent "#*#staggers under the grip of Mori#*#"
#Event DiseaseDot2Off "#*#Your Chaos Plague spell has worn off#*#"
#Event DiseaseDot2Resisted "#*#Your target resisted the Chaos Plague spell#*#"
#Event DiseaseDot2LandedEvent "#*#muscles begin to decay#*#"
| ---------------------------- Snare -------------------------------------
#Event SnareOff "#*#Your Desecrating Darkness spell has worn off#*#"
#Event SnareResisted "#*#Your target resisted the Desecrating Darkness spell#*#"
#Event SnareLandedEvent "#*#is covered in bubbling black shadows#*#"
#Event SnareImmune "#*#Your target is immune to changes in its run speed#*#"
#Event LeachOff "#*#Your Fang of Death spell has worn off#*#"
#include Spell_Routines.inc
#include common\PetBuff.inc
Sub Main
/declare MaxCastsResist int outer 3
/declare M_Assist string outer
/declare FollowOn string outer
| -------------------------------------------------------------------
| - Change these to the people you want to follow add or sub if nec.
| -------------------------------------------------------------------
/declare FollowOnly[4] string outer
/varset FollowOnly[1] Fred
/varset FollowOnly[2] Wilma
/varset FollowOnly[3] Barney
/varset FollowOnly[4] Bam Bam
| -------------------------------------------------------------------
/declare Following int outer 0
/declare TrashMob bool outer FALSE
/declare TimesFeigned int outer 0
/declare TimesFeignedEnd int outer 0
/declare TimesFeidnedNumber int outer 3
/declare FeignNow bool outer FALSE
/declare CanMount bool outer TRUE
/declare CanSOW bool outer TRUE
/declare CanDMFHere bool outer TRUE
/declare CheckGroupBuffs bool outer FALSE
/declare FireGroupDots bool outer FALSE
/declare FaceMOB bool outer TRUE
/declare FDFDFD bool outer TRUE
/declare EpicSwitch bool outer FALSE
/declare EpicReady bool outer TRUE
/declare EpicMoved bool outer FALSE
/declare EpicDistance int outer
/declare Epic outer "Soulwhisper"
/declare AOD bool outer FALSE
/declare AODMoved bool outer FALSE
/declare AODDistance int outer
/declare Arch bool outer FALSE
/declare ArchMoved bool outer FALSE
/declare ArchDistance int outer
/declare DoNotFD bool outer FALSE
/declare PetFeignReady bool outer TRUE
| ----------------------- Buffs -------------------------------------
/declare Rune outer "Dull Pain"
/declare Shielding outer "Shadow Guard"
/declare Boot outer "Fabled Journeyman's Boots"
/declare Ring outer "Coldain Hero's Insignia Ring"
/declare Belt outer "Belt of Tidal Energy"
/declare Mount outer "White Chain Bridle"
/declare Lich outer "Dark Possession"
/declare DMF outer "Dead Man Floating"
/declare GroupDMF outer "Dead Men Floating"
/declare Rune1 outer "Wand of Impenetrable Force"
/declare Robe1 outer "Mana Robe"
/declare Robe2 outer "Miragul's Shroud of Risen Souls"
/declare ManaRobe bool outer TRUE
/declare Twitch bool outer FALSE
/declare Twitch1 string outer "Sedulous Subversion"
/declare Twitch2 string outer "Covetous Subversion"
/declare MindW string outer "Mind Wrack"
/declare MindWrackSwitch bool outer FALSE
/declare OOWZone bool outer FALSE
/declare Pet outer "Dark Assassin"
| --------------------- Group Buffs Section --------------------------
/declare SymbolAsked bool outer FALSE
/declare SpellHasteAsked bool outer FALSE
/declare ClericInGroup bool outer FALSE
/declare OakAsked bool outer FALSE
/declare DruidInGroup bool outer FALSE
/declare FocusAsked bool outer FALSE
/declare StaAsked bool outer FALSE
/declare SenseAsked bool outer FALSE
/declare ShamanInGroup bool outer FALSE
/declare BBBAsked bool outer FALSE
/declare PalidinInGroup bool outer FALSE
/declare SOTAsked bool outer FALSE
/declare RangerInGroup bool outer FALSE
/declare GOBAsked bool outer FALSE
/declare EnchanterInGroup bool outer FALSE
| --------------------- Pet Buffs ------------------------------------
/declare Pethaste outer "Glyph of Darkness"
/declare PetShield outer "Bulwark of Calliav"
/declare PetAC outer "Spirit Armor"
/declare Shrink outer "Algae Covered Stiletto"
| -------------------- Magic Dots ------------------------------------
/declare MagicDot1 outer "Dark Nightmare"
/declare MagicDot1Resisted int outer 0
/declare MagicDot1Landed bool outer FALSE
/declare MagicDot1Resistant bool outer FALSE
/declare MagicDot2 outer "Dagger of Death"
/declare MagicDot2Resisted int outer 0
/declare MagicDot2Landed bool outer FALSE
/declare MagicDot2Resistant bool outer FALSE
/declare MagicDot2Ready bool outer TRUE
| -------------------- Fire Dots -------------------------------------
/declare FireDot1 outer "Pyre of Mori"
/declare FireDot1Resisted int outer 0
/declare FireDot1Landed bool outer FALSE
/declare FireDot1Resistant bool outer FALSE
/declare FireDot2 outer "Miragul's Greaves of Risen Souls"
/declare FireDot2Resisted int outer 0
/declare FireDot2Landed bool outer FALSE
/declare FireDot2Resistant bool outer FALSE
| -------------------- Poison Dots -----------------------------------
/declare PoisonDot1 outer "Chaos Venom"
/declare PoisonDot1Resisted int outer 0
/declare PoisonDot1Landed bool outer FALSE
/declare PoisonDot1Resistant bool outer FALSE
/declare PoisonDot2 outer "Blood of Thule"
/declare PoisonDot2Resisted int outer 0
/declare PoisonDot2Landed bool outer FALSE
/declare PoisonDot2Resistant bool outer FALSE
| -------------------- Disease Dots ----------------------------------
/declare DiseaseDot1 outer "Grip of Mori"
/declare DiseaseDot1Resisted int outer 0
/declare DiseaseDot1Landed bool outer FALSE
/declare DiseaseDot1Resistant bool outer FALSE
/declare DiseaseDot2 outer "Chaos Plague"
/declare DiseaseDot2Resisted int outer 0
/declare DiseaseDot2Landed bool outer FALSE
/declare DiseaseDot2Resistant bool outer FALSE
/declare DiseaseDot2Ready bool outer TRUE
| --------------------- Tap/Leach/DD ---------------------------------
/declare Lifetap outer "Soulspike"
/declare Leach outer "Fang of Death"
/declare LeachedMob bool outer FALSE
/declare NukePoi outer "Acikin"
/declare NumberOfNukes int outer 0
| ------------------------ Snare ------------------------------------
/declare Snare outer "Desecrating Darkness"
/declare SnareResisted int outer 0
/declare SnareLanded bool outer FALSE
/declare SnareResistant bool outer FALSE
/echo Necromancer(tm) by FredFlintstone Loading...
/if (!${Target.ID} || ${Target.Type.NotEqual[PC]}) {
/echo Your target is NOT a player, make sure its a player character!
/endmacro
} else {
/varset M_Assist ${Target.Name}
/echo Assist set to ${M_Assist}
/assist off
}
/echo Checking Personal/Pet buffs, casting if needed.
/if (!${Me.Pet.ID}) {
/memspell 9 ${Pet}
/delay 70
/call cast ${Pet} 9
/call cast ${Pet} 9
} else {
/echo You have a pet!
}
/call Pet_Buff
/pet focus
/call CheckSelfBuffs
/call MemSpells
:Main_Loop
/if (!${Me.Pet.ID}) {
/memspell 9 ${Pet}
/delay 70
/call cast ${Pet} 9
/pet focus
/call Pet_Buff
/call MemSpells
}
/if (${FeignNow}) {
/call FeignDeath
}
:Hold_Main
/doevents
/call CheckSelfBuffs
/if (${ManaRobe}) {
/if (${Me.PctMana} < 50) {
/call NeedMana
}
}
/call GetTarget
/if (${Target.Type.Equal[NPC]} && ${Target.Distance}<200 && ${Target.PctHPs}<=98) {
/pet attack
/call DotCasting
/goto :Hold_Main
} else {
/goto :Main_Loop
}
/goto :Main_Loop
/return
| ############################ Sub's ################################
Sub GetTarget
/assist ${M_Assist}
/if (${Target.Type.Equal[NPC]} && ${Target.Distance}<200) {
/if (${FaceMOB}) {
/face
}
}
/delay 1
/return
Sub CheckSelfBuffs
/if (${CanSOW}) {
/if (!${Me.Buff[Bootstrutter's Blessing].ID} && !${Me.Buff[Flight of Eagles].ID} && !${Me.Buff[Spirit of Eagle].ID} && !${Me.Buff[Spirit of Bih`Li].ID}) {
/call cast ${Boot} item
/delay 5
}
}
/if (!${Me.Buff[Shield of the Eighth].ID}) {
/call cast ${Ring} item
/delay 5
}
/if (!${Me.Buff[Form of Rejuvenation].ID}) {
/call cast ${Belt} item
/delay 5
}
/if (${CanDMFHere}) {
/if (!${Me.Buff[Dead Man Floating].ID} && !${Me.Buff[Dead Men Floating].ID}) {
/target ${Me.CleanName}
/delay 5
/memspell 6 ${DMF}
/memspell 6 ${DMF}
/call cast ${DMF} gem6
/memspell 6 ${NukePoi}
/delay 5
}
}
/if (!${Me.Buff[Dark Possession].ID}) {
/memspell 6 ${Lich}
/call cast ${Lich} gem6
/memspell 6 ${NukePoi}
/delay 5
}
/if (!${Me.Buff[Dull Pain].ID}) {
/memspell 6 ${Rune}
/call cast ${Rune} gem6
/memspell 6 ${NukePoi}
/delay 5
}
/if (!${ShamanInGroup}) {
/if (!${Me.Buff[Wunshi's Focusing].ID} && !${Me.Buff[Talisman of Wunshi].ID} && !${Me.Buff[Shadow Guard].ID}) {
/memspell 6 ${Shielding}
/call cast ${Shielding} gem6
/memspell 6 ${NukePoi}
/delay 5
}
}
/if (!${Me.Buff[Summon Horse].ID}) {
/if (${CanMount}) {
/call cast ${Mount} item
/delay 5
}
}
/if (${Me.Pet.ID}) {
/if (!${Me.PetBuff[Glyph of Darkness]}) {
/memspell 6 ${Pethaste}
/delay 350
/call cast ${Pethaste} gem6
/memspell 6 ${NukePoi}
/delay 5
}
}
| -------------------------------------------------------------------------------------------
| -------------------------------- Check Buff Section in Beta -------------------------------
| -------------------------------------------------------------------------------------------
/if (${CheckGroupBuffs}) {
/declare i int local
/for i 0 to ${Group}
/if (${Group.Member[${i}].Class.ShortName.Equal[CLR]}) {
/varset ClericInGroup TRUE
}
/if (${Group.Member[${i}].Class.ShortName.Equal[DRU]}) {
/varset DruidInGroup TRUE
}
/if (${Group.Member[${i}].Class.ShortName.Equal[SHM]}) {
/varset ShamanInGroup TRUE
}
/if (${Group.Member[${i}].Class.ShortName.Equal[PAL]}) {
/varset PalidinInGroup TRUE
}
/if (${Group.Member[${i}].Class.ShortName.Equal[RNG]}) {
/varset RangerInGroup TRUE
}
/if (${Group.Member[${i}].Class.ShortName.Equal[ENC]}) {
/varset EnchanterInGroup TRUE
}
/next i
/if (!${SymbolAsked} && ${ClericInGroup} && ${DruidInGroup}) {
/if (!${Me.Buff[Balikor's Mark].ID} && !${Me.Buff[Symbol of Balikor].ID}) {
/g Need Symbol pls
/delay 20
/varset SymbolAsked TRUE
/timed 300 /varset SymbolAsked FALSE
}
}
/if (!${OakAsked} && ${ClericInGroup} && ${DruidInGroup}) {
/if (!${Me.Buff[Blessing of Steeloak].ID} && !${Me.Buff[Steeloak Skin].ID}) {
/g Need Oak pls
/delay 20
/varset OakAsked TRUE
/timed 300 /varset OakAsked FALSE
}
}
/if (!${SymbolAsked} && ${ClericInGroup}) {
/if (!${Me.Buff[Conviction].ID} && !${Me.Buff[Hand of Conviction].ID} && !${Me.Buff[Blessing of Steeloak].ID} && !${Me.Buff[Steeloak Skin].ID}) {
/g Need Conviction pls
/delay 20
/varset SymbolAsked TRUE
/timed 300 /varset SymbolAsked FALSE
}
}
/if (!${SpellHasteAsked} && ${ClericInGroup}) {
/if (!${Me.Buff[Aura of Devotion].ID} && !${Me.Buff[Blessing of Devotion].ID}) {
/g Need Spell Haste pls
/delay 20
/varset SpellHasteAsked TRUE
/timed 300 /varset SpellHasteAsked FALSE
}
}
/if (!${FocusAsked} && ${ShamanInGroup}) {
/if (!${Me.Buff[Wunshi's Focusing].ID} && !${Me.Buff[Talisman of Wunshi].ID}) {
/g Focus pls
/delay 20
/varset FocusAsked TRUE
/timed 300 /varset FocusAsked FALSE
}
}
/if (!${StaAsked} && ${ShamanInGroup}) {
/if (!${Me.Buff[Spirit of Fortitude].ID} && !${Me.Buff[Talisman of Fortitude].ID}) {
/g STA pls
/delay 20
/varset StaAsked TRUE
/timed 300 /varset StaAsked FALSE
}
}
/if (!${SenseAsked} && ${ShamanInGroup}) {
/if (!${Me.Buff[Spirit of Sense].ID} && !${Me.Buff[Talisman of Sense].ID}) {
/g Sense pls
/delay 20
/varset SenseAsked TRUE
/timed 300 /varset SenseAsked FALSE
}
}
/if (!${BBBAsked} && ${PalidinInGroup}) {
/if (!${Me.Buff[Brell's Brawny Bulwark].ID}) {
/g BBB pls
/delay 20
/varset BBBAsked TRUE
/timed 300 /varset BBBAsked FALSE
}
}
/if (!${SOTAsked} && ${RangerInGroup} && !${PalidinInGroup}) {
/if (!${Me.Buff[Strength of the Hunter].ID} && !${Me.Buff[Brell's Brawny Bulwark].ID}) {
/g SotH pls
/delay 20
/varset SOTAsked TRUE
/timed 300 /varset SOTAsked FALSE
}
}
/if (!${GOBAsked} && ${EnchanterInGroup}) {
/if (!${Me.Buff[Gift of Brilliance].ID}) {
/g GoB pls
/delay 20
/varset GOBAsked TRUE
/timed 300 /varset GOBAsked FALSE
}
}
}
| -------------------------------------------------------------------------------------------
| -------------------------------------------------------------------------------------------
| -------------------------------------------------------------------------------------------
/return
Sub FeignDeath
:Feign_Loop
/aa act death peace
/if (${Me.State.Equal[FEIGN]}) {
/delay 15
/sit
/varset FeignNow FALSE
/if (${CanMount}) {
/call cast ${Mount} item
/delay 10
}
/return
} else {
/delay 5
/goto :Feign_Loop
}
/return
Sub MemSpells
/book 43
/memspellset xxxx
/delay 30
/book
/echo Meming 1st level spells to clear slots
/echo Memming real spells. Hang on.
/book
/delay 10
/if (!${Me.Gem[${MagicDot1}]} ) {
/memspell 1 ${MagicDot1}
/memspell 1 ${MagicDot1}
/delay 20
}
/if (!${Me.Gem[${FireDot1}]} ) {
/memspell 2 ${FireDot1}
/delay 20
}
/if (!${Me.Gem[${PoisonDot1}]} ) {
/memspell 3 ${PoisonDot1}
/delay 20
}
/if (!${Me.Gem[${Leach}]} ) {
/memspell 4 ${Leach}
/delay 20
}
/if ( !${Me.Gem[${Lifetap}]} ) {
/memspell 5 ${Lifetap}
/delay 20
}
/if (!${Me.Gem[${NukePoi}]} ) {
/memspell 6 ${NukePoi}
/delay 20
}
/if (!${Me.Gem[${PoisonDot2}]} ) {
/memspell 7 ${PoisonDot2}
/delay 30
}
/if (!${Me.Gem[${DiseaseDot1}]} ) {
/memspell 8 ${DiseaseDot1}
/delay 30
}
/if (!${Me.Gem[${DiseaseDot2}]} ) {
/memspell 9 ${DiseaseDot2}
/delay 30
}
/echo Spells are memmed.
/echo Waiting on Target!
/if (${Me.Mount.ID}) {
/book
}
/if (${Me.State.Equal[Sit]}) {
/sit
}
/return
Sub NeedMana
/exchange ${Robe1} Chest
/echo Putting on Mana Robe, casting till you are 100%!!!
/echo Starting now!!!
:Mana_Loop
/doevents
| /call CheckRune
/if (${ManaRobe}) {
/if (${Me.PctMana} < 100) {
/call CastRobe
/goto :Mana_Loop
}
/echo Your at 98% (at least with this shitty robe)
/echo Switching Robes and stopping.
/echo Remember when the robes are switched back you will be at 97%
/exchange ${Robe2} Chest
/return
}
/return
Sub CheckRune
/if (!${Me.Buff[Force Shield].ID} && !${Me.Buff[Dull Pain]}) {
/call cast ${Rune1} Item
}
/return
Sub CastRobe
/call cast ${Robe1} Item
/return
| ######################### Dot Casting ##############################
Sub DotCasting
/echo Starting D.O.T's on ${Target.CleanName}!!!
:Main_Dot_Loop
/doevents
/if (${FeignNow}) {
/call FeignDeath
}
/if (${FaceMOB}) {
/face
}
/call Leachifneeded
/call Tapifneeded
/if (${Me.Pet.PctHPs} < 60 && ${Me.AltAbilityReady["Mend Companion"]}) {
/aa act mend companion
}
/if (${Me.Pet.PctHPs} < 30 && !${Me.AltAbilityReady["Mend Companion"]} && ${PetFeignReady} && !${Me.Pet.State.Equal[FEIGN]}) {
/pet feign
}
/if (${Target.ID}) {
/delay 3
:MagicDot_Loop
/if (${Me.SpellReady[${MagicDot1}]}) {
/if (!${MagicDot1Landed} && !${MagicDot1Resistant}) {
/if (${MagicDot1Resisted} < ${MaxCastsResist}) {
/call cast ${MagicDot1} gem1
/goto :Main_Dot_Loop
} else {
/echo Mob is resistant to ${MagicDot1}
/varset MagicDot1Resistant TRUE
/goto :MagicDot2_Loop
}
} else {
/echo ${MagicDot1} is going, on to next spell!
/goto :MagicDot2_Loop
}
} else {
/goto :MagicDot2_Loop
}
:MagicDot2_Loop
/if (${MagicDot2Ready}) {
/if (!${MagicDot2Landed} && !${MagicDot2Resistant}) {
/if (${MagicDot2Resisted} < ${MaxCastsResist}) {
/call cast ${MagicDot2} Item
/varset MagicDot2Ready FALSE
/timed 1200 /varset MagicDot2Ready TRUE
/goto :Main_Dot_Loop
} else {
/echo Mob is resistant to ${MagicDot2}
/varset MagicDot2Resistant TRUE
/goto :Epic_Loop
}
} else {
/echo ${MagicDot2} is going, on to next spell!
/goto :Epic_Loop
}
} else {
/goto :Epic_Loop
}
:Epic_Loop
/if (${EpicSwitch} && ${EpicReady}) {
/if (${Target.Distance}<=85) {
/call cast ${Epic} item
/varset EpicReady FALSE
/timed 3600 /varset EpicReady TRUE
/if (${EpicMoved}) {
/stick moveback ${EpicDistance}
/delay 20
/stick off
}
/goto :MindWrack_Loop
}
/if (${Target.Distance}>86) {
/dismount
/varset EpicDistance ${Target.Distance}
/varset EpicMoved TRUE
/timed 100 /varset EpicMoved FALSE
/stick 75
/delay 20
/stick off
/delay 20
/goto :Epic_Loop
}
}
:MindWrack_Loop
/if (${MindWrackSwitch}) {
/if (${Me.SpellReady[${MindW}]}) {
/if (${Target.Class.Name.Equal[Cleric]} || ${Target.Class.Name.Equal[Ranger]} || ${Target.Class.Name.Equal[Palidin]} || ${Target.Class.Name.Equal[Shadow Knight]} || ${Target.Class.Name.Equal[Druid]} || ${Target.Class.Name.Equal[Magi]} || ${Target.Class.Name.Equal[Enchanter]} || ${Target.Class.Name.Equal[Necromancer]} || ${Target.Class.Name.Equal[Wizard]} || ${Target.Class.Name.Equal[Shaman]} || ${Target.Class.Name.Equal[Beastlord]} || ${OOWZone}) {
/call cast ${MindW} gem9
/goto :SnareDot_Loop
}
}
}
:SnareDot_Loop
/if (${FireGroupDots} || ${TrashMob}) {
/if (!${SnareLanded} && !${SnareResistant}) {
/call Snare
}
}
/if (${AOD}) {
/if (${Target.PctHPs}<=98 && ${Me.AltAbilityReady["Army of the Dead"]}) {
:AOD_Loop
/if (${Target.Distance}<=85) {
/e AoD Casting!
/aa act Army of the Dead
/if (${AODMoved}) {
/stick moveback ${AODDistance}
/delay 20
/stick off
}
}
/if (${Target.Distance}>86) {
/dismount
/varset AODDistance ${Target.Distance}
/varset AODMoved TRUE
/timed 100 /varset AODMoved FALSE
/stick 75
/delay 20
/stick off
/delay 20
/goto :AOD_Loop
}
}
}
/if (${Arch}) {
/if (${Target.PctHPs}<=98 && ${Me.AltAbilityReady["Swarm of Decay"]}) {
:Arch_Loop
/if (${Target.Distance}<=85) {
/e Swarm of Decay Casting!
/aa act Swarm of Decay
/if (${ArchMoved}) {
/stick moveback ${ArchDistance}
/delay 20
/stick off
}
}
/if (${Target.Distance}>86) {
/dismount
/varset ArchDistance ${Target.Distance}
/varset ArchMoved TRUE
/timed 100 /varset ArchMoved FALSE
/stick 75
/delay 20
/stick off
/delay 20
/goto :Arch_Loop
}
}
}
:FireDot_Loop
/if (!${FireGroupDots}) {
/if (!${FireDot1Landed} && !${FireDot1Resistant}) {
/if (${FireDot1Resisted} < ${MaxCastsResist}) {
/call cast ${FireDot1} gem2
/goto :Main_Dot_Loop
} else {
/echo Mob is resistant to ${FireDot1}
/varset FireDot1Resistant TRUE
/goto :FireDot2_Loop
}
} else {
/echo ${FireDot1} is going, on to next spell!
/goto :FireDot2_Loop
}
}
:FireDot2_Loop
/if (!${FireGroupDots}) {
/if (!${FireDot2Landed} && !${FireDot2Resistant}) {
/if (${FireDot2Resisted} < ${MaxCastsResist}) {
/call cast ${FireDot2} Item
/goto :Main_Dot_Loop
} else {
/echo Mob is resistant to ${FireDot2}
/varset FireDot2Resistant TRUE
/goto :PoisonDot1_Loop
}
} else {
/echo ${FireDot2} is going, on to next spell!
/goto :PoisonDot1_Loop
}
}
:PoisonDot1_Loop
/if (${TimesFeigned} < ${TimesFeidnedNumber} && !${DoNotFD}) {
/varset TimesFeigned ${Math.Calc[${TimesFeigned}+1]}
/call FeignDeath
}
/if (!${PoisonDot1Landed} && !${PoisonDot1Resistant}) {
/if (${PoisonDot1Resisted} < ${MaxCastsResist}) {
/call cast ${PoisonDot1} gem3
/goto :Main_Dot_Loop
} else {
/echo Mob is resistant to ${PoisonDot1}
/varset PoisonDot1Resistant TRUE
/goto :PoisonDot2_Loop
}
} else {
/echo ${PoisonDot1} is going, on to next spell!!
/goto :PoisonDot2_Loop
}
:PoisonDot2_Loop
/if (!${TrashMob} && !${FireGroupDots}) {
/if (!${PoisonDot2Landed} && !${PoisonDot2Resistant}) {
/if (${PoisonDot2Resisted} < ${MaxCastsResist}) {
/call cast ${PoisonDot2} gem7
/goto :Main_Dot_Loop
} else {
/echo Mob is resistant to ${PoisonDot2}
/varset PoisonDot2Resistant TRUE
/goto :DiseaseDot1_Loop
}
} else {
/echo ${PoisonDot2} is going, on to next spell!!
/goto :DiseaseDot1_Loop
}
}
:DiseaseDot1_Loop
/if (!${TrashMob}) {
/if (!${DiseaseDot1Landed} && !${DiseaseDot1Resistant}) {
/if (${DiseaseDot1Resisted} < ${MaxCastsResist}) {
/call cast ${DiseaseDot1} gem8
/goto :Main_Dot_Loop
} else {
/echo Mob is resistant to ${DiseaseDot1}
/varset DiseaseDot1Resistant TRUE
/goto :DiseaseDot2_Loop
}
} else {
/echo ${DiseaseDot1} is going, on to next spell!!
/goto :DiseaseDot2_Loop
}
}
:DiseaseDot2_Loop
/if (!${TrashMob} && !${FireGroupDots}) {
/if (!${DiseaseDot2Landed} && !${DiseaseDot2Resistant}) {
/if (${DiseaseDot2Resisted} < ${MaxCastsResist}) {
/call cast ${DiseaseDot2} gem9
/goto :Main_Dot_Loop
} else {
/echo Mob is resistant to ${DiseaseDot2}
/varset DiseaseDot2Resistant TRUE
/goto :Dot_Loop_End
}
} else {
/echo ${DiseaseDot2} is going, on to next spell!!
/goto :Dot_Loop_End
}
}
:Dot_Loop_End
/if (${TrashMob}) {
/if (${NumberOfNukes} < 2) {
/call cast ${NukePoi} gem6
/varset NumberOfNukes ${Math.Calc[${NumberOfNukes}+1]}
}
}
/echo End of DotCasting, time to FD, then recast if needed...
/if (${TimesFeignedEnd} < 2 && !${DoNotFD}) {
/varset TimesFeignedEnd ${Math.Calc[${TimesFeignedEnd}+1]}
/call FeignDeath
}
/delay 3s
/goto :Main_Dot_Loop
}
/if (!${Target.ID}) {
/call ResetVars
/return
}
Sub ResetVars
/echo Resetting Vars
/varset MagicDot1Landed FALSE
/varset MagicDot1Resistant FALSE
/varset MagicDot1Resisted 0
/varset MagicDot2Landed FALSE
/varset MagicDot2Resistant FALSE
/varset MagicDot2Resisted 0
/varset FireDot1Landed FALSE
/varset FireDot1Resistant FALSE
/varset FireDot1Resisted 0
/varset FireDot2Landed FALSE
/varset FireDot2Resistant FALSE
/varset FireDot2Resisted 0
/varset PoisonDot1Landed FALSE
/varset PoisonDot1Resistant FALSE
/varset PoisonDot1Resisted 0
/varset PoisonDot2Landed FALSE
/varset PoisonDot2Resistant FALSE
/varset PoisonDot2Resisted 0
/varset DiseaseDot1Landed FALSE
/varset DiseaseDot1Resistant FALSE
/varset DiseaseDot1Resisted 0
/varset DiseaseDot2Landed FALSE
/varset DiseaseDot2Resistant FALSE
/varset DiseaseDot2Resisted 0
/varset SnareLanded FALSE
/varset SnareResistant FALSE
/varset SnareResisted 0
/varset LeachedMob FALSE
/varset TimesFeigned 0
/varset TimesFeignedEnd 0
/varset NumberOfNukes 0
/pet back off
/pet back off
/pet hold
/return
| ########################## LT's/ Snare ###############################
Sub Tapifneeded
:Tap_Loop
/doevents
/if (${Me.PctHPs} < 90 && ${Target.PctHPs} < 90) {
/call cast ${Lifetap} gem5
}
/return
Sub Leachifneeded
:Leach_Loop
/doevents
/if (${Me.PctHPs} < 95 && ${Target.PctHPs} < 90) {
/if (!${LeachedMob}) {
/call cast ${Leach} gem4
}
}
/return
Sub Snare
:Snare_Loop
/doevents
/if (!${SnareLanded} && !${SnareResistant}) {
/if (${SnareResisted} < 5) {
/call cast ${Snare} gem7
/if (!${Target.ID}) {
/call ResetVars
/return
}
/goto :Snare_Loop
} else {
/echo Mob is resistant to ${Snare}
/g Cant get snare on ${Target.CleanName} 5 resists...
/varset SnareResistant TRUE
/return
}
} else {
/echo ${Target.CleanName} is snared!!!
/return
}
/return
| ########################### EVENTS #################################
Sub Event_Enrage
/pet back off
/pet back off
/pet hold
/return
Sub Event_Rampage
/pet back off
/pet back off
/pet hold
/return
Sub Event_Attacked
/varset FeignNow TRUE
/return
Sub Event_TrashMobs
/varset FireGroupDots FALSE
/varset TrashMob TRUE
/varset TimesFeidnedNumber 2
/echo Changing to 3 Dot n Nuke Mode with snare.
/if (!${Me.Gem[${Snare}]} ) {
/memspell 7 ${Snare}
/delay 40
}
/if (${Me.Mount.ID}) {
/book
}
/return
Sub Event_BossMob
/varset FireGroupDots FALSE
/varset TrashMob FALSE
/varset TimesFeidnedNumber 3
/echo Setting to normal dot casting
/if (!${Me.Gem[${NukePoi}]} ) {
/memspell 6 ${NukePoi}
/delay 20
}
/if (!${Me.Gem[${PoisonDot2}]} ) {
/memspell 7 ${PoisonDot2}
/delay 20
}
/if (${Me.Mount.ID}) {
/book
}
/return
Sub Event_FireGroup
/varset FireGroupDots TRUE
/varset TrashMob FALSE
/varset TimesFeidnedNumber 2
/echo Fire Resist Dots OFF!
/if (!${Me.Gem[${Snare}]} ) {
/memspell 7 ${Snare}
/delay 30
}
/if (${Me.Mount.ID}) {
/book
}
/return
Sub Event_NoHorse
/varset CanMount FALSE
/echo Cant have a horse in this zone.
/return
Sub Event_NoSOW
/varset CanSOW FALSE
/echo Cant SOW here.
/return
Sub Event_CantDMFHere
/varset CanDMFHere FALSE
/echo Cant DMF here.
/return
Sub Event_FaceOFF
/e Turning MOB Facing OFF.
/varset FaceMOB FALSE
/return
Sub Event_FaceON
/e Turning MOB Facing ON.
/varset FaceMOB TRUE
/return
Sub Event_EpicOn
/e Turning Epic usage ON.
/varset EpicSwitch TRUE
/return
Sub Event_EpicOff
/e Turning Epic usage OFF.
/varset EpicSwitch FALSE
/return
Sub Event_AODOn
/e Turning AOD usage ON.
/varset AOD TRUE
/return
Sub Event_AODOff
/e Turning AOD usage OFF.
/varset AOD FALSE
/return
Sub Event_ArchOn
/e Turning Archers ON.
/varset Arch TRUE
/return
Sub Event_ArchOff
/e Turning Archers OFF.
/varset Arch FALSE
/return
Sub Event_GoodTank
/e Great Tank not going to FD unless hit.
/varset DoNotFD TRUE
/return
Sub Event_GoodTankOff
/e Tank Sucks going to FD.
/varset DoNotFD FALSE
/return
Sub Event_PetFocusOff
/pet focus
/return
Sub Event_Chat(string ChatType,string ChatSender,string ChatText)
/if (!${ChatType.Equal[GROUP]} && !${ChatType.Equal[TELL]}) {
/return
}
/declare j int local
/for j 1 to ${FollowOnly.Size}
/if (${ChatSender.Equal[${FollowOnly[${j}]}]}) {
/if (${ChatText.Equal[Come this way]}) {
/if (!${Spawn[${ChatSender}].ID}) {
/echo ${ChatSender} is not in zone for me to follow!
/return
}
/varset FollowOn ${ChatSender}
/varset Following 1
/echo ${ChatSender} I am following you!!!
/if ( ${Me.Mount.ID} ) /dismount
:targetfoll
/target pc ${FollowOn}
/delay 1s ${Target.Name.Equal[${FollowOn}]}
/if (${Target.Name.Equal[${FollowOn}]}) {
/goto :Loop
} else {
/goto :targetfoll
}
:Loop
/face fast
/if (${Target.Distance}>20) /keypress forward hold
/if (${Target.Distance}<19) /keypress back
/if (!${Target.ID}) /varset Following 0
/doevents
/if ((${Target.Name.Equal[${FollowOn}]})&&(${Following}>0)) {
/goto :Loop
} else {
/keypress forward
/keypress back
}
}
}
/next j
/if (${ChatText.Equal[DMF]} || ${ChatText.Equal[dmf]} || ${ChatText.Equal[can i get a dmf pls]} || ${ChatText.Equal[DMF pls]} || ${ChatText.Equal[try now]} || ${ChatText.Equal[ok dmf please]} || ${ChatText.Equal[dmf please :)]} || ${ChatText.Equal[dmf plz]}) {
/target ${ChatSender}
/if (!${Spawn[${ChatSender}].ID}) {
/echo ${ChatSender} is not in zone for me DMF!
/t ${ChatSender} Im not even in the same zone as you!
/return
}
/delay 2
/if (${Target.Distance}<100) {
/memspell 6 ${DMF}
/tell ${ChatSender} inc in a sec!
/delay 5
/call cast ${DMF} gem6
/memspell 6 ${NukePoi}
/delay 5
} else {
/t ${ChatSender} Your oor sry.
/memspell 6 ${NukePoi}
/delay 5
}
}
/if (${ChatText.Equal[Group DMF]}) {
/target ${ChatSender}
/if (!${Spawn[${ChatSender}].ID}) {
/echo ${ChatSender} is not in zone for me DMF!
/t ${ChatSender} Im not even in the same zone as you!
/return
}
/delay 2
/if (${Target.Distance}<100) {
/memspell 6 ${GroupDMF}
/tell ${ChatSender} inc in a sec!
/call cast ${GroupDMF} gem6
/memspell 6 ${NukePoi}
/delay 5
} else {
/t ${ChatSender} Your oor sry.
/memspell 6 ${NukePoi}
/delay 5
}
}
/if (${ChatText.Equal[Twitch Me]} && ${Twitch}) {
/target ${ChatSender}
/if (!${Spawn[${ChatSender}].ID}) {
/echo ${ChatSender} is not in zone for me to Twitch!
/t ${ChatSender} Im not even in the same zone as you!
/return
}
/delay 2
/if (${Target.Distance}<100) {
/book
/memspell 8 ${Twitch1}
/delay 40
/memspell 9 ${Twitch2}
/tell ${ChatSender} Chain twitching in a sec!
/delay 60
:Twitch_Loop
/doevents
/if (${Twitch}) {
/target ${ChatSender}
/call cast ${Twitch1} gem8
/call cast ${Twitch2} gem9
/delay 5
/goto :Twitch_Loop
}
/memspell 8 ${DiseaseDot1}
/delay 20
/memspell 9 ${DiseaseDot2}
/delay 20
} else {
/t ${ChatSender} Your oor sry.
/memspell 8 ${DiseaseDot1}
/delay 20
/memspell 9 ${DiseaseDot2}
/delay 20
}
}
}
/return
Sub Event_FollowOff
/varset Following 0
/echo No Longer Following
/return
Sub Event_CheckGroupBuff
/varset CheckGroupBuffs TRUE
/echo Group buff check ON!
/return
Sub Event_CheckGroupBuffOff
/varset CheckGroupBuffs FALSE
/echo Group buff check OFF!
/return
Sub Event_SymbolOff
/varset SymbolAsked FALSE
/return
Sub Event_SpellHasteOff
/varset SpellHasteAsked FALSE
/return
Sub Event_SteelOakOff
/varset OakAsked FALSE
/return
Sub Event_FocusOff
/varset FocusAsked FALSE
/return
Sub Event_SenseOff
/varset SenseAsked FALSE
/return
Sub Event_StaOff
/varset StaAsked FALSE
/return
Sub Event_BBBOff
/varset BBBAsked FALSE
/return
Sub Event_SOTOff
/varset SOTAsked FALSE
/return
Sub Event_GOBOff
/varset GOBAsked FALSE
/return
Sub Event_StuckLoop
/call GetTarget
/return
Sub Event_StopRobe
/echo Stopping and switching robes back.
/keypress esc
/varset ManaRobe FALSE
/exchange ${Robe2} Chest
/return
Sub Event_StartRobe
/echo Turning ManaRobe back on.
/varset ManaRobe TRUE
/return
Sub Event_CheckOptions
/if (${TrashMob}) /e You are in --------------------- NORMAL GROUP MODE.
/if (${FireGroupDots}) /e You are in --------------------- PLANE OF FIRE GROUP MODE.
/if (!${TrashMob} && !${FireGroupDots}) /e You are in --------------------- RAID MOB MODE.
/if (${CheckGroupBuffs}) /e Group buffs check set to - ON.
/if (!${CheckGroupBuffs}) /e Group buffs check set to - OFF.
/if (${ManaRobe}) /e ManaRobe option is ------- ON.
/if (!${ManaRobe}) /e ManaRobe option is ------- OFF.
/if (${FaceMOB}) /e Monster Facing is ---------- ON.
/if (!${FaceMOB}) /e Monster Facing is ---------- OFF.
/if (${Twitch}) /e Twitch mode set to -------- ON.
/if (!${Twitch}) /e Twitch mode set to -------- OFF.
/if (${EpicSwitch}) /e Epic usage is --------------- ON.
/if (!${EpicSwitch}) /e Epic usage is --------------- OFF.
/if (${AOD}) /e AOD usage is -------------- ON.
/if (!${AOD}) /e AOD usage is -------------- OFF.
/if (${Arch}) /e Archers usage is ---------- ON.
/if (!${Arch}) /e Archers usage is ---------- OFF.
/if (${DoNotFD}) /e FD usage is ----------------- OFF.
/if (!${DoNotFD}) /e FD usage is ----------------- ON.
/if (${MindWrackSwitch}) /e MWrack usage is ---------- ON.
/if (!${MindWrackSwitch}) /e MWrack usage is ---------- OFF.
/if (${OOWZone}) /e Omens of War zone ------- ON.
/if (!${OOWZone}) /e Omens of War zone ------- OFF.
/return
Sub Event_EmeFD
/aa act death peace
/pet feign
/delay 5
:FD_Loop
/doevents
/if (${FDFDFD}) {
/if (!${Me.Pet.State.Equal[FEIGN]} && ${PetFeignReady}) {
/pet feign
/delay 5
}
/if (${Me.State.Equal[FEIGN]}) {
/goto :FD_Loop
} else {
/aa act death peace
/delay 5
/goto :FD_Loop
}
}
/return
Sub Event_EmeFDOff
/varset FDFDFD FALSE
/timed 100 /varset FDFDFD TRUE
/sit
/pet guard me
/pet back off
/pet back off
/pet hold
/return
Sub Event_TwitchModeOn
/varset Twitch TRUE
/e Turning Twitch Mode ON, send tell or group chat to Twitch.
/return
Sub Event_TwitchModeOff
/varset Twitch FALSE
/e Turning Twitch Mode OFF
/return
Sub Event_TwitchMeOff
/varset Twitch FALSE
/e Stopping Twitch
/return
Sub Event_PetFeignFailed
/pet guard me
/varset PetFeignReady FALSE
/timed 60 /varset PetFeignReady TRUE
/return
Sub Event_MindWrackOn
/varset MindWrackSwitch TRUE
/e Mind Wrack set to ON
/if (!${Me.Gem[${MindW}]} ) {
/memspell 9 ${MindW}
/delay 20
}
/return
Sub Event_MindWrackOff
/varset MindWrackSwitch FALSE
/e Mind Wrack set to OFF
/if (!${Me.Gem[${DiseaseDot2}]} ) {
/memspell 9 ${DiseaseDot2}
/delay 20
}
/return
Sub Event_OOWZoneSwitch
/if (!${OOWZone}) {
/e Omens of War Zone MWing everything!
/varset OOWZone TRUE
} else {
/e Not a Omens of War Zone MWing casters only!
/varset OOWZone FALSE
}
/return
| ######################### Dot Events ###############################
| ######################### Magic Dot ################################
Sub Event_MagicDot1LandedEvent
/varset MagicDot1Landed TRUE
/return
Sub Event_MagicDot1Off
/varset MagicDot1Landed FALSE
/return
Sub Event_MagicResisted
/varset MagicDot1Resisted ${Math.Calc[${MagicDot1Resisted}+1]}
/return
Sub Event_MagicDot2LandedEvent
/varset MagicDot2Landed TRUE
/return
Sub Event_MagicDot2Off
/varset MagicDot2Landed FALSE
/return
Sub Event_MagicDot2Resisted
/varset MagicDot2Resisted ${Math.Calc[${MagicDot2Resisted}+1]}
/return
| ########################## Fire Dot ################################
Sub Event_FireDot1LandedEvent
/varset FireDot1Landed TRUE
/return
Sub Event_FireDot1Off
/varset FireDot1Landed FALSE
/return
Sub Event_FireResisted
/varset FireDot1Resisted ${Math.Calc[${FireDot1Resisted}+1]}
/return
Sub Event_FireDot2LandedEvent
/varset FireDot2Landed TRUE
/return
Sub Event_FireDot2Off
/varset FireDot2Landed FALSE
/return
Sub Event_FireDot2Resisted
/varset FireDot2Resisted ${Math.Calc[${FireDot2Resisted}+1]}
/return
| ######################### Poison Dot ###############################
Sub Event_PoisonDot1LandedEvent
/varset PoisonDot1Landed TRUE
/return
Sub Event_PoisonDot1Off
/varset PoisonDot1Landed FALSE
/return
Sub Event_PoisonDot1Resisted
/varset PoisonDot1Resisted ${Math.Calc[${PoisonDot1Resisted}+1]}
/return
Sub Event_PoisonDot2LandedEvent
/varset PoisonDot2Landed TRUE
/return
Sub Event_PoisonDot2Off
/varset PoisonDot2Landed FALSE
/return
Sub Event_PoisonDot2Resisted
/varset PoisonDot2Resisted ${Math.Calc[${PoisonDot2Resisted}+1]}
/return
| ######################## Disease Dot ##############################
Sub Event_DiseaseDot1LandedEvent
/varset DiseaseDot1Landed TRUE
/return
Sub Event_DiseaseDot1Off
/varset DiseaseDot1Landed FALSE
/return
Sub Event_DiseaseResisted
/varset DiseaseDot1Resisted ${Math.Calc[${DiseaseDot1Resisted}+1]}
/return
Sub Event_DiseaseDot2LandedEvent
/varset DiseaseDot2Landed TRUE
/return
Sub Event_DiseaseDot2Off
/varset DiseaseDot2Landed FALSE
/return
Sub Event_DiseaseDot2Resisted
/varset DiseaseDot2Resisted ${Math.Calc[${DiseaseDot2Resisted}+1]}
/return
| ########################## Snare ###################################
Sub Event_SnareLandedEvent
/varset SnareLanded TRUE
/return
Sub Event_SnareOff
/varset SnareLanded FALSE
/return
Sub Event_SnareResisted
/varset SnareResisted ${Math.Calc[${SnareResisted}+1]}
/return
Sub Event_SnareImmune
/e This MOB is Immune to snare.
/varset SnareResistant TRUE
/return
| ########################### Leach ##################################
Sub Event_LeachedOn
/varset LeachedMob TRUE
/return
Sub Event_LeachedOff
/varset LeachedMob FALSE
/return
| ####################### End of line... #############################
Last edited: