Page 1 of 1

druid_00.mac issue

Posted: Thu Mar 24, 2005 3:29 pm
by Ozzie
As i am worthless at this, i need some assistance with this since i dont get it to work.

Did Wiki , url = http://www.macroquest2.com/wiki/index.p ... s&rcid=906



I am to have it running with my SK automatically.

When i run it i typ /mac druid_00.mac % 1

% for target to assist and 1 for times to nuke.

Also modifed the original macro from 9 to 8 spellslots. Seems to work, just that the druid dont buff the SK automatically with 9, since it tosses oak skin on herself and settles with that.

Anyhow if you can spot in advance if i done something that is not going to work, i would be greatfull if ya let me know, since it would save me some time .

OK. here the error message i get .

No souch 'group' member 'class'

refers to line 357

then it scrolls all the melee classes

then

No souch 'group' member 'PctHPs'

Scrolls all me melee classes, still refering to line 357

then

No souch 'group' member 'Name'

refering to Line 357.

and it loops forever.


Its obvious that something is wrong in line 357, but since im noob, i cant see what.


Would be very greatful for help.


Here is the druid_00.mac wich i modified.


Also , since i lack all sense of logic, if you decide to help me, reply with the whole macro you modifed, id probably fuck it up if i am to modify with suggested changes, and no im not below 13. =)


|SirCheese
|Druid Bot 1.1 - Nov 10 2004 -
|----[ ]----
|Usage: Target the MA
| /Mac Druid (% to assist) (Number of Dots or Nukes)
|----[ ]----
|Description: Set Your Spells, Look over Variable Changes. Decide if you want Nukes, Dots, Type of Heals, When to heal Etc.
| Druid will do up to 2 Dots and continously refresh as they ware off. Will Nuke whatever amout desired.
| Will Heal the entire group.
| Druid Will keep grp buffs always on grp once they are on.
| Druid will always keep himself or herself Self Buffed
| Druid Will Sit to med Automaticly. When Mob is near it will stand or when its mana is good.
| For Chat activated Commands /tell *Druid* Druid Help
| For Chat Activated Druid Ports /tell *Druid* Druid Port Help
|
|----[ ]----
| Add This: ( ) Auto Spells, ( ) Announce when Below 10 Mana,
|----[ ]----
| Things To Fix: ( ) Stop Nuking When Lom,
|----[ ]----
| Things I would like to add: ( ) Snare, ( ) Auto Group Cure When Neg Effect, ( ) Loot Mobs, ( ) Wait 4 Rez, ( ) Auto Trade
|-----------------------------------------------------------------------------------------------------------------------------

|----------
| Includes
|----------
#include spell_routines.inc

|----------
| Chats
|----------
#chat group
#chat chat
#chat tell

|----------
| Events
|----------
#Event MagicDotOff "#*#Swarming Death spell has worn off#*#"
#Event FireDotOff "#*#Vengeance of Nature has worn off#*#"
#Event Invited "#*#To join the group, click on the 'FOLLOW' option, or 'DISBAND' to cancel#*#"

|----------
| Main Sub
|----------
Sub Main

|-----------------------------------------------------------------------------------------------------------------------------
| --- Make Your Changes Here ---
|-----------------------------------------------------------------------------------------------------------------------------

|---------------
| Declare Spells
|---------------

|-- Fast Heal --
/declare SpellFastHeal string outer Chlorotrope
/declare SpellFastHealRange int outer 200

|-- Complete Heal --
/declare SpellCompHeal string outer Karana's Renewal
/declare SpellCompHealRange int outer 100

|-- Cold DD --
/declare SpellColdDD string outer Winter's Frost
/declare SpellColdDDRange int outer 200

|-- Fire DD --
/declare SpellFireDD string outer Summer's Flame
/declare SpellFireDDRange int outer 200

|-- Fire DOT --
/declare SpellFireDOT string outer Vengeance of Tunare
/declare SpellFireDOTange int outer 200

|-- Magic DOT --
/declare SpellMagicDOT string outer Nature Walkers Scimitar
/declare SpellMagicDOTRange int outer 250

|-- Snare Spell --
/declare SpellSnare string outer Ensnare
/declare SpellSnareRange int outer 2000

|-- Group HP Buff --
/declare SpellGroupHPBuff string outer Blessing of the Nine
/declare SpellGroupHPBuffRange int outer 100

|-- Single HP Buff --
/declare SpellSingleHPBuff string outer Steeloak Skin
/declare SpellSingleHPBuffRange int outer 100

|-- Self Mana Regen --
/declare SpellSelfManaRegen string outer Mask of the Forest

|-- Single HP Regen Buff --
/declare SpellSingleHPRegenBuff string outer Replenishment
/declare SpellSingleHPRegenBuffRange int outer 100

|-- Group HP Regen Buff --
/declare SpellGroupHPRegenBuff string outer Blessing of Replenishment
/declare SpellGroupHPRegenBuffRange int outer 60

|-- Single DS Buff --
/declare SpellSingleDSBuff string outer Nettle shield
/declare SpellSingleDSBuffRange int outer 100

|-- Group DS Buff --
/declare SpellGroupDSBuff string outer Legacy of Thorn
/declare SpellGroupDSBuffRange int outer 100

|-- Single Outdoors Run Buff --
/declare SpellSingleORunBuff string outer Spirit of Eagle
/declare SpellSingleORunBuffRange int outer 100

|-- Group Outdoors Run Buff --
/declare SpellGroupORunBuff string outer Flight of Eagles
/declare SpellGroupORunBuffRange int outer 100

|-- Mount Item --
/declare Mount string outer Tan Rope Bridle

|-----------------------
| Variables Changeable
|-----------------------

|--- Use CH or Fast Heal (1= Complete Heal) (0= Fast Heal) (Adjust TankHeal Appropriatly) ---
/declare TankHealType int outer 1

|--- What Percent to heal the MA ---
/declare TankHeal int outer 95

|--- Use Dots or Nukes (1= Dots) (0= DD) ---
/declare DOTSorDD int outer 0

|--- Use Fire od Cold Nukes? (1= Fire) (0= Cold) ---
/declare NukeType int outer 1

|--- What Percent to heal Casters ---
/declare HealCasterAT int outer 70

|--- What Percet to heal Mele Class ---
/declare MeleeHeals int outer 60

|--- What Percent to heal the Myself ---
/declare SelfHeal int outer 70

|--- At what % Mana to stop Nuking / Doting ---
/declare StopNukeMana int outer 30

|--- Auto Sit or Not (1=Sit) (0=No) ---
/declare autosit int outer 1

|-----------------------
| Declare Chat Channels
|-----------------------
/declare mychannel string outer mychannel:password

|-----------------------------------------------------------------------------------------------------------------------------
| --- Do Not Edit Past this Line ---
|-----------------------------------------------------------------------------------------------------------------------------

|------------------------
| Set Character to Start
|------------------------
/tgb on
/assist off
/join ${mychannel}

|---------------------------------------
| Events Not Looped but done on start
|---------------------------------------
/call DefaultSpells

|------------------------
| Variable Sets
|------------------------
/declare MainAssist string outer ${Target}
/declare AssistAt int outer ${Param0}
/declare NukeAmount int outer ${Param1}
/declare TimesNuked outer
/varset TimesNuked 0
/declare GotTarget outer
/varset GotTarget 0
/declare CurrentMobID int local
/declare UseThisNuke outer
/declare ADot outer
/varset ADot 0
/declare BDot outer
/varset BDot 0
/declare Snared outer
/varset Snared 0
/declare distancetosit int outer 40
/declare following int outer 0
/declare follname string outer NULL

/if (${NukeType}==1) {
/varset UseThisNuke ${SpellFireDD}
}

/if (${NukeType}==0) {
/varset UseThisNuke ${SpellColdDD}
}

/if (${DOTSorDD}==1) {
/if (${NukeAmount}>2) {
/varset NukeAmount 2
}
}

|------------------------
| Announce Start
|------------------------
/if (${DOTSorDD}==0 && ${TankHealType}==0) {
/echo Druid Bot Started! Healing ${MainAssist} with ${SpellFastHeal} at ${TankHeal}%. Casting ${UseThisNuke} ${NukeAmount} times at ${AssistAt}%.
}
/if (${DOTSorDD}==0 && ${TankHealType}==1) {
/echo Druid Bot Started! Healing ${MainAssist} with ${SpellCompHeal} at ${TankHeal}%. Casting ${UseThisNuke} ${NukeAmount} times at ${AssistAt}%.
}
/if (${DOTSorDD}==1 && ${NukeAmount}==1 && ${TankHealType}==0) {
/echo Druid Bot Started! Healing ${MainAssist} with ${SpellFastHeal} at ${TankHeal}%. Casting ${SpellMagicDOT} at ${AssistAt}%.
}
/if (${DOTSorDD}==1 && ${NukeAmount}==1 && ${TankHealType}==1) {
/echo Druid Bot Started! Healing ${MainAssist} with ${SpellCompHeal} at ${TankHeal}%. Casting ${SpellMagicDOT} at ${AssistAt}%.
}
/if (${DOTSorDD}==1 && ${NukeAmount}==2 && ${TankHealType}==0) {
/echo Druid Bot Started! Healing ${MainAssist} with ${SpellFastHeal} at ${TankHeal}%. Casting ${SpellMagicDOT} and ${SpellFireDOT} at ${AssistAt}%.
}
/if (${DOTSorDD}==1 && ${NukeAmount}==2 && ${TankHealType}==1) {
/echo Druid Bot Started! Healing ${MainAssist} with ${SpellCompHeal} at ${TankHeal}%. Casting ${SpellMagicDOT} and ${SpellFireDOT} at ${AssistAt}%.
}

|-----------------------------------------------------------------------------------------------------------------------------
| Main Loop
|-----------------------------------------------------------------------------------------------------------------------------
:MainLoop
/delay 1s
/doevents
/call KeepHeal
/call GetTarget
/call CheckBuffs

|------------------
| Auto Sit
|------------------
/if ((${autosit}==1)&&(${Me.PctMana}<=90)&&(!${Me.Casting.ID})) {
/if ((${Bool[${Me.Standing}]})&&(${NearestSpawn[NPC].Distance}>=${Math.Calc[${NearestSpawn[NPC].MaxRange}+${distancetosit}]})&&(${Me.PctHPs}>90)) /sit
/if ((${Bool[${Me.Sitting}]})&&(!${Window[SpellBookWnd].Open})&&(${NearestSpawn[NPC].Distance}<=${Math.Calc[${NearestSpawn[NPC].MaxRange}+${Math.Calc[${distancetosit}/3]}]})) /stand
}
/if ((${autosit}==1)&&(${Me.PctMana}>90)) {
/if ((${Bool[${Me.Sitting}]})&&(!${Window[SpellBookWnd].Open})) /stand
}

|------------------
| Wait To Attack
|------------------
/if (${Target.PctHPs}<=${AssistAt} && ${Target.Type.Equal["NPC"]} && ${Target.Distance}<175 && !${Me.Moving} && !${Me.Casting.ID} && !${String[${Target}].Find["NULL"]}>0) {
/if (${GotTarget}==0) {
/doevents
/delay 5
/varset CurrentMobID ${Target.ID}
/popup Target Aquired >> ${Target.CleanName} <<
/echo Target Aquired >> ${Target.CleanName} <<
/varset GotTarget 1
/goto :StartCombat
}

} else {
/goto :MainLoop

|------------------
| Start Combat
|------------------
:StartCombat
/doevents
/call KeepHeal
/goto :WaitDead

|---------------------
| Wait for mod to die
|---------------------
:waitDead
/doevents
/if (${Spawn[${CurrentMobID}].Type.Equal[NPC]}) {
/call KeepHeal

/if (${DOTSorDD}==0) {
/call NukeCycle
}

/if (${DOTSorDD}==1) {
/call DoDamageOT
}
/goto :WaitDead

} Else {
/doevents
/echo Mob has Died, We Win EQ!
/varset GotTarget 0
/varset TimesNuked 0
/varset ADot 0
/varset BDot 0
/varset Snared 0
/goto :MainLoop
}

/goto :MainLoop
/return
|-----------------------------------------------------------------------------------------------------------------------------
| --- END MAIN LOOP ---
|-----------------------------------------------------------------------------------------------------------------------------

|------------------
| Heal MA
|------------------
Sub KeepHeal
/call HealGroup
/call HealMyself
/return

|------------------
| Heal Group
|------------------
Sub HealGroup
/declare i int local 1
/for i 1 to ${Group}

/if (${Group[${i}].Name.Equal[${MainAssist}]} && ${Group[${i}].PctHPs}<=${TankHeal}) {
/target pc ${Group[${i}]}
/if (${TankHealType}==0) {
/if (${Me.CurrentMana}<${Spell[${SpellFastHeal}].Mana}) {
/echo Not Enuf Mana to Heal ${Group[${i}]}
} else /if (${Target.Distance}<=100) {
/gsay ${SpellFastHeal} on >> %T <<
/call cast "${SpellFastHeal}" gem2 4s
}
}
/if (${TankHealType}==1) {
/if (${Me.CurrentMana}<${Spell[${SpellCompHeal}].Mana}) {
/echo Not Enuf Mana to Heal ${Group[${i}]}
} else /if (${Target.Distance}<=100) {
/gsay ${SpellCompHeal} on >> %T <<
/call cast "${SpellCompHeal}" gem2 4s
}
}
}

/if (${Group[${i}].Class.Name.Equal[Cleric]} || ${Group[${i}].Class.Name.Equal[Druid]} || ${Group[${i}].Class.Name.Equal[Wizard]} || ${Group[${i}].Class.Name.Equal[Magician]} || ${Group[${i}].Class.Name.Equal[Necromancer]} || ${Group[${i}].Class.Name.Equal[Shaman]} || ${Group[${i}].Class.Name.Equal[Enchanter]}) /if (${Group[${i}].PctHPs}<=${HealCasterAT}) {
/target pc ${Group[${i}]}
/if (${Me.CurrentMana}<${Spell[${SpellFastHeal}].Mana}) {
/echo Not Enuf Mana to Heal ${Group[${i}]}
} else /if (${Target.Distance}<=100) {
/gsay ${SpellFastHeal} on >> %T <<
/call cast "${SpellFastHeal}"
}
}

/if (${Group[${i}].Class.Name.Equal[Warrior]} || ${Group[${i}].Class.Name.Equal[Monk]} || ${Group[${i}].Class.Name.Equal[Rouge]} || ${Group[${i}].Class.Name.Equal[Ranger]} || ${Group[${i}].Class.Name.Equal[Beast]} || ${Group[${i}].Class.Name.Equal[Shadow Knight]} || ${Group[${i}].Class.Name.Equal[Paladin]}) /if (${Group[${i}].PctHPs}<=${MeleeHeals} && ${Group[${i}].Name.NotEqual[${MainAssist}]}) {
/target pc ${Group[${i}]}
/if (${Me.CurrentMana}<${Spell[${SpellCompHeal}].Mana}) {
/echo Not Enuf Mana to Heal ${Group[${i}]}
} else /if (${Target.Distance}<=100) {
/gsay ${SpellCompHeal} on >> %T <<
/call cast "${SpellCompHeal}"
}
}

/next i
/return

|------------------
| Heal Myself
|------------------
Sub HealMyself
/if (${Me.PctHPs}>${SelfHeal}) /return
/if (${Me.PctHPs}<=${SelfHeal}) {
/target Myself
/gsay ${SpellFastHeal} on >> %T <<
/call cast "${SpellFastHeal}" gem2
}
/return

|------------------
| Get A Target
|------------------
Sub GetTarget
:Target
/if (${Me.Casting.ID}) /return
/if (${Me.Moving}) /return
/if (${Spawn[${MainAssist}].ID}) {
/assist ${MainAssist}
} else {
/echo ${MainAssist} Is not in the Zone!
/delay 20s
}
/delay 1
/return

|------------------
| Nuke Cycle
|------------------
Sub NukeCycle
:NukeCycleLoop
|/if (${Me.PctMana}<=90) {
/if (${TimesNuked}<${NukeAmount}) {
/call KeepHeal
/assist ${MainAssist}
/delay 1
/call cast "${UseThisNuke}"
/varcalc TimesNuked ${TimesNuked} + 1
/delay 1s
/call KeepHeal
/delay 1s
/call KeepHeal
/delay 1s
/call KeepHeal
/delay 1s
/call KeepHeal
/delay 1s
/call KeepHeal
/goto :NukeCycleLoop
}
|}
/return

|--------------------
| Do Dots
|--------------------
Sub DoDamageOT
/call KeepHeal
/if (${NukeAmount}==1) {
/call OneDot
}
/if (${NukeAmount}==2) {
/call TwoDot
}
/return

|--------------------
| One Dot
|--------------------
Sub OneDot
/if (${ADot}==0) {
:DOT1Loop
/call KeepHeal
/assist ${MainAssist}
/if (${SpellMagicDOT}==Swarming Death) {
/if (${FindItem[Orb of Clinging Death].ID}) /call Cast "Orb of Clinging Death" item
/if (!${FindItem[Orb of Clinging Death].ID}) /call Cast "${SpellMagicDOT}"
/if (${Macro.Return.Equal["CAST_INTERRUPTED"]}) /goto :DOT1Loop
/if (${Macro.Return.Equal["CAST_RESISTED"]}) {
/gsay >> %t << Resisted ${SpellMagicDOT} Trying Again!
/delay 1s
/goto :DOT1Loop
}
/if (${Macro.Return.Equal["CAST_SUCCESS"]}) {
/varset ADot 1
}

} Else {
/call Cast "${SpellMagicDOT}"
/if (${Macro.Return.Equal["CAST_INTERRUPTED"]}) /goto :DOT1Loop
/if (${Macro.Return.Equal["CAST_RESISTED"]}) {
/gsay >> %t << Resisted ${SpellMagicDOT} Trying Again!
/delay 1s
/goto :DOT1Loop
}
/if (${Macro.Return.Equal["CAST_SUCCESS"]}) {
/varset ADot 1
}
}
/return

|--------------------
| Two Dots
|--------------------
Sub TwoDot
/if (${ADot}==0) {
:DOT2aLoop
/call KeepHeal
/assist ${MainAssist}
/call cast "${SpellMagicDOT}" item
/if (${Macro.Return.Equal["CAST_INTERRUPTED"]}) /goto :DOT2aLoop
/if (${Macro.Return.Equal["CAST_RESISTED"]}) {
/gsay >> %t << Resisted ${SpellMagicDOT} Trying Again!
/delay 4s
/goto :DOT2aLoop
}

/if (${Macro.Return.Equal["CAST_SUCCESS"]}) {
/varset ADot 1
}

}
/delay 7s

/if (${BDot}==0) {
:DOT2bLoop
/call KeepHeal
/assist ${MainAssist}
/call cast "${SpellFireDOT}"
/if (${Macro.Return.Equal["CAST_INTERRUPTED"]}) /goto :DOT2bLoop
/if (${Macro.Return.Equal["CAST_RESISTED"]}) {
/gsay >> %t << Resisted ${SpellFireDOT} Trying Again!
/delay 4s
/goto :DOT2bLoop
}

/if (${Macro.Return.Equal["CAST_SUCCESS"]}) {
/varset BDot 1
}

}

/return

|------------------
| Check Buffs
|------------------
Sub CheckBuffs

|-- Self Regen buff on at All Times --
/if (!${Me.Buff[${SpellSelfManaRegen}].ID}) {
/if ( !${Me.Gem["${SpellSelfManaRegen}"]} ) {
/memspell 8 "${SpellSelfManaRegen}"
/delay 22
}
/delay 10
/call cast "${SpellSelfManaRegen}"
}

|-- DS on at all times --
/if (!${Me.Buff[Circle of Fireskin].ID} && !${Me.Buff[Fireskin].ID} && !${Me.Buff[${SpellSingleDSBuff}].ID} && !${Me.Buff[${SpellGroupDSBuff}].ID}) {
/if ( !${Me.Gem["${SpellGroupDSBuff}"]} ) {
/memspell 8 "${SpellGroupDSBuff}"
/delay 28
}
/target myself
/delay 22
/call cast "${SpellGroupDSBuff}"
}

|-- Keep a HP Buff On --
/if (!${Me.Buff[Hand of Conviction].ID} && !${Me.Buff[Conviction].ID} && !${Me.Buff[Hand of Virtue].ID} && !${Me.Buff[Virtue].ID} && !${Me.Buff[${SpellGroupHPBuff}].ID} && !${Me.Buff[${SpellSingleHPBuff}].ID}) {
/if ( !${Me.Gem["${SpellSingleHPBuff}"]} ) {
/memspell 8 "${SpellSingleHPBuff}"
/delay 28
}
/target myself
/delay 22
/call cast "${SpellSingleHPBuff}"
}

|-- Keep a Regen on --
/if (!${Me.Buff[Talisman of Perseverance].ID} && !${Me.Buff[Spirit of Perseverance].ID} && !${Me.Buff[${SpellSingleHPRegenBuff}].ID} && !${Me.Buff[${SpellGroupHPRegenBuff}].ID}) {
/if ( !${Me.Gem["${SpellGroupHPRegenBuff}}"]} ) {
/memspell 8 "${SpellGroupHPRegenBuff}"
/delay 28
}
/target myself
/delay 22
/call cast "${SpellGroupHPRegenBuff}"
}

|-- Refresh Mask --
/if (${Me.Buff[${SpellSelfManaRegen}].ID}) {
/if (${Me.Buff[${SpellSelfManaRegen}].Duration}<20) {
/if ( !${Me.Gem["${SpellSelfManaRegen}"]} ) {
/memspell 8 "${SpellSelfManaRegen}"
/delay 22
}
/delay 10
/call cast "${SpellSelfManaRegen}"
}
}

|-- Refresh Group 9 --

/if (${Me.Buff[${SpellGroupHPBuff}].ID}) {
/if (${Me.Buff[${SpellGroupHPBuff}].Duration}<20) {
/if ( !${Me.Gem["${SpellGroupHPBuff}"]} ) {
/memspell 8 "${SpellGroupHPBuff}"
/delay 28
}
/target myself
/delay 22
/call cast "${SpellGroupHPBuff}"
}
}

|-- Refresh Single HP Buff --
/if (${Me.Buff[${SpellSingleHPBuff}].ID}) {
/if (${Me.Buff[${SpellSingleHPBuff}].Duration}<20) {
/if ( !${Me.Gem["${SpellSingleHPBuff}"]}) {
/memspell 8 "${SpellSingleHPBuff}"
/delay 28
}
/target myself
/delay 22
/call cast "${SpellSingleHPBuff}"
}
}

|-- Refresh Single Regen --
/if (${Me.Buff[${SpellSingleHPRegenBuff}].ID}) {
/if (${Me.Buff[${SpellSingleHPRegenBuff}].Duration}<20) {
/if ( !${Me.Gem["${SpellSingleHPRegenBuff}}"]}) {
/memspell 8 "${SpellSingleHPRegenBuff}"
/delay 28
}
/target myself
/delay 22
/call cast "${SpellSingleHPRegenBuff}"
}
}

|-- Refresh Group Regen --
/if (${Me.Buff[${SpellGroupHPRegenBuff}].ID}) {
/if (${Me.Buff[${SpellGroupHPRegenBuff}].Duration}<20) {
/if ( !${Me.Gem["${SpellGroupHPRegenBuff}"]}) {
/memspell 8 "${SpellGroupHPRegenBuff}"
/delay 28
}
/delay 22
/target myself
/call cast "${SpellGroupHPRegenBuff}"
}
}


|-- Refresh Single DS --
/if (${Me.Buff[${SpellSingleDSBuff}].ID}) {
/if (${Me.Buff[${SpellSingleDSBuff}].Duration}<20) {
/if ( !${Me.Gem["${SpellSingleDSBuff}) {
/memspell 8 "${SpellSingleDSBuff}"
/delay 28
}
/target myself
/delay 22
/call cast "${SpellSingleDSBuff}"
}
}

|-- Refresh Group DS --
/if (${Me.Buff[${SpellGroupDSBuff}].ID}) {
/if (${Me.Buff[${SpellGroupDSBuff}].Duration}<20) {
/if ( !${Me.Gem["${SpellGroupDSBuff}"]}) {
/memspell 8 "${SpellGroupDSBuff}"
/delay 28
}
/target myself
/delay 22
/call cast "${SpellGroupDSBuff}"
}
}


|-- Refres SOE --
/if (${Me.Buff[${SpellSingleORunBuff}].ID}) {
/if (${Me.Buff[${SpellSingleORunBuff}].Duration}<20) {
/if ( !${Me.Gem["${SpellSingleORunBuff}"]}) {
/memspell 8 "${SpellSingleORunBuff}"
/delay 28
}
/target myself
/delay 22
/call cast "${SpellSingleORunBuff}"
}
}


|-- Refres FOE --
/if (${Me.Buff[${SpellGroupORunBuff}].ID}) {
/if (${Me.Buff[${SpellGroupORunBuff}].Duration}<20) {
/if ( !${Me.Gem["${SpellGroupORunBuff}"]}) {
/memspell 8 "${SpellGroupORunBuff}"
/delay 28
}
/target myself
/delay 22
/call cast "${SpellGroupORunBuff}"
}
}
/return

|------------------
| Dots Wore off
|------------------
Sub Event_MagicDotOff
/varset ADot 0
/return

Sub Event_FireDotOff
/varset BDot 0
/return

|------------------
| Invited To Group
|------------------
Sub Event_Invited
/invite
/return

|------------------
| Check Events
|------------------
Sub CheckEvents
/delay 1
/doevents Chat
/doevents flush
/return

|------------------
| Find Exact PC
|------------------
Sub FindExactPC(string name)
/declare nameid int local
/declare counter int local 1
:FindNext
/if (!${NearestSpawn[${counter}, pc ${name}].ID}) /return NOT_FOUND
/varset nameid ${NearestSpawn[${counter}, pc ${name}].ID}
/if (${Spawn[${nameid}].CleanName.Equal[${name}]}) {
/target id ${nameid}
/delay 1s ${Target.ID}==${nameid}
/if (${Target.ID}==${nameid}) /return TARGET_SUCCESS
}
/varcalc counter ${counter}+1
/if (${NearestSpawn[${counter}, pc ${name}].ID}) /goto :FindNext
/return NOT_FOUND

|------------------
| Default Spells
|------------------
Sub DefaultSpells
/echo Memming spells. Hang on.

|-- Fire DD --
/if (${DOTSorDD}==0 && ${NukeType}==1) {
/if ( !${Me.Gem["${SpellCompHeal}"]} ) {
/memspell 1 "${SpellCompHeal}"
/delay 23
}
/if ( !${Me.Gem["${SpellFastHeal}"]} ) {
/memspell 2 "${SpellFastHeal}"
/delay 26
}
/if ( !${Me.Gem["${SpellFireDD}"]} ) {
/memspell 3 "${SpellFireDD}"
/delay 20
}
/if ( !${Me.Gem["${SpellSingleHPBuff}"]} ) {
/memspell 4 "${SpellSingleHPBuff}"
/delay 20
}
/if ( !${Me.Gem["${SpellGroupDSBuff}"]} ) {
/memspell 5 "${SpellGroupDSBuff}"
/delay 20
}
/if ( !${Me.Gem["${SpellGroupHPRegenBuff}"]} ) {
/memspell 6 "${SpellGroupHPRegenBuff}"
/delay 20
}
/if ( !${Me.Gem["${SpellGroupORunBuff}"]} ) {
/memspell 7 "${SpellGroupORunBuff}"
/delay 20
}
/memspell 8 "${SpellSelfManaRegen}"
/delay 20
/echo Spells are memmed for Fire Nukes!
/stand
}

|-- Cold DD --
/if (${DOTSorDD}==0 && ${NukeType}==0) {
/if ( !${Me.Gem["${SpellCompHeal}"]} ) {
/memspell 1 "${SpellCompHeal}"
/delay 23
}
/if ( !${Me.Gem["${SpellFastHeal}"]} ) {
/memspell 2 "${SpellFastHeal}"
/delay 26
}
/if ( !${Me.Gem["${SpellColdDD}"]} ) {
/memspell 3 "${SpellFireDD}"
/delay 20
}
/if ( !${Me.Gem["${SpellSingleHPBuff}"]} ) {
/memspell 4 "${SpellSingleHPBuff}"
/delay 20
}
/if ( !${Me.Gem["${SpellGroupDSBuff}"]} ) {
/memspell 5 "${SpellGroupDSBuff}"
/delay 20
}
/if ( !${Me.Gem["${SpellGroupHPRegenBuff}"]} ) {
/memspell 6 "${SpellGroupHPRegenBuff}"
/delay 20
}
/if ( !${Me.Gem["${SpellGroupORunBuff}"]} ) {
/memspell 7 "${SpellGroupORunBuff}"
/delay 20
}
/memspell 8 "${SpellSelfManaRegen}"
/delay 20
/echo Spells are memmed for Cold Nukes!
/stand
}

|-- DOT'S --
/if (${DOTSorDD}==1 && ${NukeType}==0) {
/if ( !${Me.Gem["${SpellCompHeal}"]} ) {
/memspell 1 "${SpellCompHeal}"
/delay 23
}
/if ( !${Me.Gem["${SpellFastHeal}"]} ) {
/memspell 2 "${SpellFastHeal}"
/delay 26
}
/if ( !${Me.Gem["${SpellFireDOT}"]} ) {
/memspell 3 "${SpellFireDOT}"
/delay 20
}
/if ( !${Me.Gem["${SpellSingleHPBuff}"]} ) {
/memspell 4 "${SpellSingleHPBuff}"
/delay 20
}
/if ( !${Me.Gem["${SpellGroupDSBuff}"]} ) {
/memspell 5 "${SpellGroupDSBuff}"
/delay 20
}
/if ( !${Me.Gem["${SpellGroupHPRegenBuff}"]} ) {
/memspell 6 "${SpellGroupHPRegenBuff}"
/delay 20
}
/if ( !${Me.Gem["${SpellGroupORunBuff}"]} ) {
/memspell 7 "${SpellGroupORunBuff}"
/delay 20
}
/memspell 8 "${SpellSelfManaRegen}"
/delay 20
/echo Spells are memmed for Cold Nukes!
/stand
}




/return




|-----------------------------------------------------------------------------------------------------------------------------
| Chat Activated Events
|-----------------------------------------------------------------------------------------------------------------------------
Sub Event_Chat(string ChatType,string Sender,string ChatText,Sender,ChatText)

|----------------------
| Heal
|----------------------
/if ((${ChatText.Equal[Heal]})||(${ChatText.Equal[Heal Me]})||(${ChatText.Equal[Heal Plz]})) {
/if (${String[${Macro.Return}].NotEqual[TARGET_SUCCESS]}) /return
/if (${Target.Distance}<=${SpellFastHealRange}) {
/target ${Sender}
/delay 1
/call cast "${SpellFastHeal}"
} else /tell ${Sender} Your Out of Range for ${SpellFastHeal}, Come Closer!
}

|-----------------------
|Natures Boon
|-----------------------
/if ((${ChatText.Equal[Natures Boon]})||(${ChatText.Equal[Druid Ward]})||(${ChatText.Equal[Druid Boon]})) {
/alt activate 257
}

|-----------------------
|Spirit of the Wood
|-----------------------
/if ((${ChatText.Equal[Wood]})||(${ChatText.Equal[SoTW]})) {
/alt activate 185
/g Dont look now you got Wood! ** Spirit of The Wood **
}

|-----------------------
|Radiant Cure
|-----------------------
/if ((${ChatText.Equal[Rad Cure]})||(${ChatText.Equal[Group Cure]})||(${ChatText.Equal[Grp Cure]})) {
/alt activate 153
}

|-----------------------
|MGB
|-----------------------
/if ((${ChatText.Equal[Druid MGB]})) {
/alt activate 35
/chat 1 The next GROUP spell will be MGB!
}

|-----------------------
| Mana Check
|-----------------------
/if ((${ChatText.Equal[Druid Mana]})||(${ChatText.Equal[Mana Check]})) {
/g Druid Mana = ${Me.PctMana}%
}

|-----------------------
|Exodus
|-----------------------
/if ((${ChatText.Equal[Exodus]})||(${ChatText.Equal[Evac]})||(${ChatText.Equal[Evac NOW]})) {
/doevents flush
/alt activate 43
}

|----------------------
| Group FOE
|----------------------
/if ((${ChatText.Equal[FOE]})||(${ChatText.Equal[FOE Plz]})||(${ChatText.Equal[FOE Please]})) {
/if (${String[${Macro.Return}].NotEqual[TARGET_SUCCESS]}) /return
/if (${Target.Distance}<=${SpellGroupORunBuffRange}) {
/target ${Sender}
/delay 1
/g ${SpellGroupORunBuff} to >> %t's << Group!
/call cast "${SpellGroupORunBuff}"
} else /tell ${Sender} Your Out of Range for ${SpellGroupORunBuff}, Come Closer!
}

|----------------------
| Single SOE
|----------------------
/if ((${ChatText.Equal[SOE]})||(${ChatText.Equal[SOE Plz]})||(${ChatText.Equal[SOE Please]})) {
/if (${String[${Macro.Return}].NotEqual[TARGET_SUCCESS]}) /return
/if (${Target.Distance}<=${SpellSingleORunBuffRange}) {
/target ${Sender}
/delay 1
/g ${SpellSingleORunBuff} to >> %t <<
/call cast "${SpellSingleORunBuff}" gem8
} else /tell ${Sender} Your Out of Range for ${SpellSingleORunBuff}, Come Closer!
}

|----------------------
| Group DS
|----------------------
/if ((${ChatText.Equal[Group DS]})||(${ChatText.Equal[Grp Druid DS]})||(${ChatText.Equal[Group Thorns]})) {
/if (${String[${Macro.Return}].NotEqual[TARGET_SUCCESS]}) /return
/if (${Target.Distance}<=${SpellGroupDSBuffRange}) {
/target ${Sender}
/delay 1
/g ${SpellGroupDSBuffRange} to >> %t's << Group!
/call cast "${SpellGroupDSBuffRange}" gem8
} else /tell ${Sender} Your Out of Range for ${SpellGroupDSBuffRange}, Come Closer!
}

|----------------------
| Single DS
|----------------------
/if ((${ChatText.Equal[Druid DS]})||(${ChatText.Equal[Thorns]})||(${ChatText.Equal[Druid DS Plz]})) {
/if (${String[${Macro.Return}].NotEqual[TARGET_SUCCESS]}) /return
/if (${Target.Distance}<=${SpellSingleDSBuffRange}) {
/target ${Sender}
/delay 1
/g ${SpellSingleDSBuff} to >> %t <<
/call cast "${SpellSingleDSBuff}" gem8
} else /tell ${Sender} Your Out of Range for ${SpellSingleDSBuff}, Come Closer!
}

|----------------------
| Group HP Regen Buff
|----------------------
/if ((${ChatText.Equal[Group Regen]})||(${ChatText.Equal[Grp Regen]})||(${ChatText.Equal[Grp Regen Plz]})) {
/if (${String[${Macro.Return}].NotEqual[TARGET_SUCCESS]}) /return
/if (${Target.Distance}<=${SpellGroupHPRegenBuffRange}) {
/target ${Sender}
/delay 1
/g ${SpellGroupHPRegenBuff} to >> %t's << Group!
/call cast "${SpellGroupHPRegenBuff}" gem8
} else /tell ${Sender} Your Out of Range for ${SpellGroupHPRegenBuff}, Come Closer!
}

|----------------------
| Single HP Regen Buff
|----------------------
/if ((${ChatText.Equal[Regen]})||(${ChatText.Equal[Regen Plz]})||(${ChatText.Equal[Regen please]})) {
/if (${String[${Macro.Return}].NotEqual[TARGET_SUCCESS]}) /return
/if (${Target.Distance}<=${SpellSingleHPRegenBuffRange}) {
/target ${Sender}
/delay 1
/g ${SpellSingleHPRegenBuff} to >> %t <<
/call cast "${SpellSingleHPRegenBuff}" gem8
} else /tell ${Sender} Your Out of Range for ${SpellSingleHPRegenBuff}, Come Closer!
}

|----------------------
| Group HP Buff
|----------------------
/if ((${ChatText.Equal[Group 9]})||(${ChatText.Equal[bot9]})||(${ChatText.Equal[G9]})) {
/if (${String[${Macro.Return}].NotEqual[TARGET_SUCCESS]}) /return
/if (${Target.Distance}<=${SpellGroupHPBuffRange}) {
/target ${Sender}
/delay 1
/g ${SpellGroupHPBuff} to >> %t's << Group!
/call cast "${SpellGroupHPBuff}" gem8
} else /tell ${Sender} Your Out of Range for ${SpellGroupHPBuff}, Come Closer!
}

|----------------------
| Single HP Buff
|----------------------
/if ((${ChatText.Equal[p9]})||(${ChatText.Equal[p10]})||(${ChatText.Equal[Oak Skin]})) {
/if (${String[${Macro.Return}].NotEqual[TARGET_SUCCESS]}) /return
/if ( !${Me.Gem["${SpellSingleHPBuff}"]} ) {
/memspell 8 "${SpellSingleHPBuff}"
/delay 17
}
/if (${Target.Distance}<=${SpellSingleHPBuffRange}) {
/target ${Sender}
/delay 1
/g ${SpellSingleHPBuff} to >> %t <<
/call cast "${SpellSingleHPBuff}"
} else /tell ${Sender} Your Out of Range for ${SpellSingleHPBuff}, Come Closer!
}

|-----------------------
| Nuke on Command
|-----------------------
/if ((${ChatText.Equal[Druid Nuke]})||(${ChatText.Equal[All Nuke]})) {
/if (${Me.PctMana}<=30) {
/1 My Mana is at ${Me.PctMana}%, holding nukes for now.
} Else {
/assist ${Sender}
/delay 1s
/call cast "${UseThisNuke}"
}
}

|-----------------------
| Invis
|-----------------------
/if ((${ChatText.Equal[Druid Invis]})||(${ChatText.Equal[All Invis]})||(${ChatText.Equal[Invis Up]})) {
/chat 1 Castng Invis on myself!
/alt activate 80
}

|-----------------------
| Gate
|-----------------------
/if ((${ChatText.Equal[Druid Gate]})||(${ChatText.Equal[All Gate]})) {
/if ( !${Me.Gem["Gate"]} ) {
/memspell 8 "Gate"
/delay 17
}
/delay 112
/1 Druid is going to Gate Now!
/call Cast "Gate"
}

|-----------------------
| Camp
|-----------------------
/if ((${ChatText.Equal[Druid Camp]})||(${ChatText.Equal[All Camp]})) {
/dismount
/camp desktop
/endmacro
}

|-----------------------
| Mount
|-----------------------
/if ((${ChatText.Equal[Druid Mount]})||(${ChatText.Equal[All Mount]})) {
/if (!${Me.Mount.ID}) /call cast "${Mount}" item 4s
}

|-----------------------
| Dismount
|-----------------------
/if ((${ChatText.Equal[Druid DisMount]})||(${ChatText.Equal[All DisMount]})) {
/Dismount
}

|----------------------
| Buff Me
|----------------------
/if ((${ChatText.Equal[Buff Me]})||(${ChatText.Equal[Buffs]})) {
/if (${String[${Macro.Return}].NotEqual[TARGET_SUCCESS]}) /return
/if (${Target.Distance}<=${SpellSingleHPBuffRange}) {
/if ( !${Me.Gem["${SpellSingleHPBuff}"]} ) {
/memspell 8 "${SpellGroupHPBuff}"
/delay 17
}
/call KeepHeal
/if ( !${Me.Gem["${SpellGroupHPRegenBuff}"]} ) {
/memspell 8 "${SpellGroupHPRegenBuff}"
/delay 17
}
/call KeepHeal
/if ( !${Me.Gem["${SpellGroupDSBuff}"]} ) {
/memspell 7 "${SpellGroupDSBuff}"
/delay 17
}
/call KeepHeal

/target ${Sender}
/delay 1
/g Buffing >> %t <<
/call cast "${SpellSingleHPBuff}"
/delay 6

/call KeepHeal

/target ${Sender}
/delay 1
/call cast "${SpellGroupHPRegenBuff}"
/delay 6

/call KeepHeal

/target ${Sender}
/delay 1
/call cast "${SpellGroupDSBuff}"
/delay 5
} else /tell ${Sender} Your Out of Range, Come Closer!
}

|----------------------
| Group Buff
|----------------------
/if ((${ChatText.Equal[Group Buffs]})||(${ChatText.Equal[Group Buff]})) {
/if (${String[${Macro.Return}].NotEqual[TARGET_SUCCESS]}) /return
/if (${Target.Distance}<=${SpellSingleHPBuffRange}) {
/call KeepHeal
/if ( !${Me.Gem["${SpellGroupHPBuff}"]} ) {
/memspell 8 "${SpellGroupHPBuff}"
/delay 17
}
/call KeepHeal
/if ( !${Me.Gem["${SpellGroupHPRegenBuff}"]} ) {
/memspell 8 "${SpellGroupHPRegenBuff}"
/delay 17
}
/call KeepHeal
/if ( !${Me.Gem["${SpellGroupDSBuff}"]} ) {
/memspell 7 "${SpellGroupDSBuff}"
/delay 17
}
/call KeepHeal
/delay 190
/target ${Sender}
/delay 1
/g Buffing >> %t's << Group
/call cast "${SpellGroupHPBuff}"
/delay 6
/call KeepHeal
/target ${Sender}
/delay 1
/call cast "${SpellGroupHPRegenBuff}"
/delay 6
/call KeepHeal
/target ${Sender}
/delay 1
/call cast "${SpellGroupDSBuff}"
/delay 5
/call DefaultSpells
} else /tell ${Sender} Your Out of Range, Come Closer!
}

|-----------------------
| Follow Me
|-----------------------
/if ((${ChatText.Equal[Follow me]})||(${ChatText.Equal[Druid Follow Me]})||(${ChatText.Equal[Druid Follow]})) {
/delay 5
/if (!${Spawn[${Sender}].ID}) {
/1 ${Sender} is not in zone for me to follow!
/return
}
/varset follname ${Sender}
/varset following 1
:targetfoll
/target pc ${follname}
/delay 1s ${Target.Name.Equal[${follname}]}
/if (${Target.Name.Equal[${follname}]}) {
/goto :Loop
} else /goto :targetfoll
:Loop
/face fast
/if (${Target.Distance}>10) /keypress forward hold
/if (${Target.Distance}<9) /keypress back
/if (!${Target.ID}) /varset following 0
/call CheckEvents
/if ((${Target.Name.Equal[${follname}]})&&(${following}>0)) {
/goto :Loop
} else {
/keypress forward
/keypress back
}
}

|-----------------------
| Wait Here
|-----------------------
/if ((${ChatText.Equal[Wait Here]})||(${ChatText.Equal[Mage Wait]})||(${ChatText.Equal[Mage Wait Here]})||(${ChatText.Equal[Stay Here]})||(${ChatText.Equal[Mage Stay Here]})||(${ChatText.Equal[Mage Stay]})) {
/varset following 0
/keypress forward
/keypress back
/timed 50 /face pc ${follname}
}

|-----------------------
| Help
|-----------------------
/if (${ChatText.Equal[Druid Help]}) {
/chat 1 Druid Help: | Buff Me | Group Buff | Folloq Me (All Bots) | Druid Follow | All Mount (All Bots) | Druid Mount | All Dismount (All Bots) | Druid Dismount | All Camp (All Bots) | Druid Camp | All Gate (All Bots) | Druid Gate | All Invis (All Bots) | Druid Invis | All Nuke (All Bots) | Druid Nuke | P9 | Regen | Grp Regen | Thorns | Group Thorns | SOE | FOE | Evac | Mana Check (All Bots) | Druid Mana | Druid MGB | Grp Cure | Wood | Heal |
}


|-----------------------
| Port Help
|-----------------------
/if (${ChatText.Equal[Druid Port Help]}) {
/chat 1 Druid Teleport Help: | Port WOS | Port Bloodfields | Port Barindu | Port Natimbi | Port CS | Port WL | Port POK | Port DSP | Port EJ | Port Skyfire | Port GD | Port EK | Port SRO | Port Lava | Port TS | Port DL | Port IC | Port BB | Port Steam | Port Feerrott | Port SB | Port Nexus | Port Grimling | Port SFG | Port Tox | Port WC | Port NK |
}

|-----------------------
| WOS
|-----------------------
/if ((${ChatText.Equal[Port WOS]})) {
/if ( !${Me.Gem["Circle of Slaughter"]} ) {
/memspell 8 "Circle of Slaughter"
/delay 17
}
/delay 112
/call cast "Circle of Slaughter"
/g Walls of Slaughter INC [Loc 13,-943,130]
}

|-----------------------
| Circle of Bloodfields
|-----------------------
/if ((${ChatText.Equal[Port Bloodfield]})) {
/if ( !${Me.Gem["Circle of Bloodfields"]} ) {
/memspell 8 "Circle of Bloodfields"
/delay 17
}
/delay 112
/call cast "Circle of Bloodfields"
/g Bloodfields INC [Loc 524,-183,-565]
}

|-----------------------
| Circle of Barindu
|-----------------------
/if ((${ChatText.Equal[Port Barindu]})) {
/if ( !${Me.Gem["Circle of Barindu"]} ) {
/memspell 8 "Circle of Barindu"
/delay 17
}
/delay 112
/call cast "Circle of Barindu"
/g Barindu INC [Loc -515,209,-119]
}

|-----------------------
| Circle of Natimbi
|-----------------------
/if ((${ChatText.Equal[Port Natimbi]})) {
/if ( !${Me.Gem["Circle of Natimbi"]} ) {
/memspell 8 "Circle of Natimbi"
/delay 17
}
/delay 112
/call cast "Circle of Natimbi"
/g Walls of Slaughter INC [Loc -853,-1557,237]
}

|-----------------------
| Circle of Cobalt Scar
|-----------------------
/if ((${ChatText.Equal[Port CS]})) {
/if ( !${Me.Gem["Circle of Cobalt Scar"]} ) {
/memspell 8 "Circle of Cobalt Scar"
/delay 17
}
/delay 112
/call cast "Circle of Cobalt Scar"
/g Cobalt Scar INC [-1065,-1634,299 ]
}

|-----------------------
| Circle of Wakening Lands
|-----------------------
/if ((${ChatText.Equal[Port WL]})) {
/if ( !${Me.Gem["Circle of Wakening Lands"]} ) {
/memspell 8 "Circle of Wakening Lands"
/delay 17
}
/delay 112
/call cast "Circle of Wakening Lands"
/g Wakening Lands INC [Loc -3040,-3032,28]
}

|-----------------------
| Circle of Knowledge
|-----------------------
/if ((${ChatText.Equal[Port POK]})) {
/if ( !${Me.Gem["Circle of Knowledge"]} ) {
/memspell 8 "Circle of Knowledge"
/delay 17
}
/delay 112
/call cast "Circle of Knowledge"
/g Plane of Knowledge INC [Loc -368,1335,-125]
}

|-----------------------
| Circle of Dawnshroud
|-----------------------
/if ((${ChatText.Equal[Port DSP]})) {
/if ( !${Me.Gem["Circle of Dawnshroud"]} ) {
/memspell 8 "Circle of Dawnshroud"
/delay 17
}
/delay 112
/call cast "Circle of Dawnshroud"
/g Dawnshroud Peek INC [Loc 325,-996,121]
}

|-----------------------
| Wind of the South
|-----------------------
/if ((${ChatText.Equal[Port EJ]})) {
/if ( !${Me.Gem["Wind of the South"]} ) {
/memspell 8 "Wind of the South"
/delay 17
}
/delay 112
/call cast "Wind of the South"
/g Emerald Jungle INC [Loc -3100,3500,-340]
}

|-----------------------
| Wind of the North
|-----------------------
/if ((${ChatText.Equal[Port Skyfire]})) {
/if ( !${Me.Gem["Wind of the North"]} ) {
/memspell 8 "Wind of the North"
/delay 17
}
/delay 112
/call cast "Wind of the North"
/g Skyfire INC [Loc -3186,2732,-161]
}

|-----------------------
| Circle of Great Divide
|-----------------------
/if ((${ChatText.Equal[Port GD]})) {
/if ( !${Me.Gem["Circle of Great Divide"]} ) {
/memspell 8 "Circle of Great Divide"
/delay 17
}
/delay 112
/call cast "Circle of Great Divide"
/g Great Divine INC [Loc -3766,3651,-237]
}

|-----------------------
| Succor East
|-----------------------
/if ((${ChatText.Equal[Port EK]})) {
/if ( !${Me.Gem["Succor: East"]} ) {
/memspell 8 "Succor: East"
/delay 17
}
/delay 30
/call cast "Succor: East"
/g East Karana INC [Loc 1359,375,4]
}

|-----------------------
| Succor Ro
|-----------------------
/if ((${ChatText.Equal[Port SRO]})) {
/if ( !${Me.Gem["Succor: Ro"]} ) {
/memspell 8 "Succor: Ro"
/delay 17
}
/delay 30
/call cast "Succor: Ro"
/g Southern Ro INC [Loc -2034,317,-19]
}

|-----------------------
| Succor
|-----------------------
/if ((${ChatText.Equal[Succor]})) {
/if ( !${Me.Gem["Succor"]} ) {
/memspell 8 "Succor"
/delay 17
}
/delay 30
/call cast "Succor"
/g Zone Safe Spot INC!
}

|-----------------------
| Succor Lavastorm
|-----------------------
/if ((${ChatText.Equal[Port Lava]})) {
/if ( !${Me.Gem["Succor: Lavastorm"]} ) {
/memspell 8 "Succor: Lavastorm"
/delay 17
}
/delay 30
/call cast "Succor: Lavastorm"
/g Lavastorm INC [Loc 1014,1389,131]
}

|-----------------------
| Circle of Twilight
|-----------------------
/if ((${ChatText.Equal[Port TS]})) {
/if ( !${Me.Gem["Circle of Twilight"]} ) {
/memspell 8 "Circle of Twilight"
/delay 17
}
/delay 112
/call cast "Circle of Twilight"
/g Twilight Sea INC [Loc -656,-125,-22]
}

|-----------------------
| Circle of the Combines
|-----------------------
/if ((${ChatText.Equal[Port DL]})) {
/if ( !${Me.Gem["Circle of the Combines"]} ) {
/memspell 8 "Circle of the Combines"
/delay 17
}
/delay 112
/call cast "Circle of the Combines"
/g Dreadlands INC [Loc 2484,7717,1051]
}

|-----------------------
| Circle of Iceclad
|-----------------------
/if ((${ChatText.Equal[Port IC]})) {
/if ( !${Me.Gem["Circle of Iceclad"]} ) {
/memspell 8 "Circle of Iceclad"
/delay 17
}
/delay 112
/call cast "Circle of Iceclad"
/g Iceclad INC [Loc -630,4925,113]
}

|-----------------------
| Succor Butcher
|-----------------------
/if ((${ChatText.Equal[Port BB]})) {
/if ( !${Me.Gem["Succor Butcher"]} ) {
/memspell 8 "Succor Butcher"
/delay 17
}
/delay 30
/call cast "Succor Butcher"
/g Butcherblock INC [Loc -2135,1984,3]
}

|-----------------------
| Circle of Steamfont
|-----------------------
/if ((${ChatText.Equal[Port Steam]})) {
/if ( !${Me.Gem["Circle of Steamfont"]} ) {
/memspell 8 "Circle of Steamfont"
/delay 17
}
/delay 112
/call cast "Circle of Steamfont"
/g Steamfont INC [Loc -1779,1668,-104]
}

|-----------------------
| Circle of Feerrott
|-----------------------
/if ((${ChatText.Equal[Port Feerrott]})) {
/if ( !${Me.Gem["Circle of Feerrott"]} ) {
/memspell 8 "Circle of Feerrott"
/delay 17
}
/delay 112
/call cast "Circle of Feerrott"
/g Feerrott INC [Loc 367,-1885,16]
}

|-----------------------
| Circle of Stonebrunt
|-----------------------
/if ((${ChatText.Equal[Port SB]})) {
/if ( !${Me.Gem["Circle of Stonebrunt"]} ) {
/memspell 8 "Circle of Stonebrunt"
/delay 17
}
/delay 112
/call cast "Circle of Stonebrunt"
/g Stonebrunt INC [Loc -4531,673,0]
}

|-----------------------
| Circle of the Nexus
|-----------------------
/if ((${ChatText.Equal[Port Nexus]})) {
/if ( !${Me.Gem["Circle of the Nexus"]} ) {
/memspell 8 "Circle of the Nexus"
/delay 17
}
/delay 112
/call cast "Circle of the Nexus"
/g Nexus INC [Loc 0,0,-28]
}

|-----------------------
| Circle of Grimling
|-----------------------
/if ((${ChatText.Equal[Port Grimling]})) {
/if ( !${Me.Gem["Circle of Grimling"]} ) {
/memspell 8 "Circle of Grimling"
/delay 17
}
/delay 112
/call cast "Circle of Grimling"
/g Grimling Forest INC [Loc 690,-1170,13]
}

|-----------------------
| Circle of Surefall Glade
|-----------------------
/if ((${ChatText.Equal[Port SFG]})) {
/if ( !${Me.Gem["Circle of Surefall Glade"]} ) {
/memspell 8 "Circle of Surefall Glade"
/delay 17
}
/delay 112
/call cast "Circle of Surefall Glade"
/g Surefall Glade INC [Loc -209,-391,9]
}

|-----------------------
| Circle of Toxxulia
|-----------------------
/if ((${ChatText.Equal[Port Tox]})) {
/if ( !${Me.Gem["Circle of Toxxulia"]} ) {
/memspell 8 "Circle of Toxxulia"
/delay 17
}
/delay 112
/call cast "Circle of Toxxulia"
/g Toxxulia Forest INC [Loc ^^^^^]
}

|-----------------------
| Circle of Commons
|-----------------------
/if ((${ChatText.Equal[Port WC]})) {
/if ( !${Me.Gem["Circle of Commons"]} ) {
/memspell 8 "Circle of Commons"
/delay 17
}
/delay 112
/call cast "Circle of Commons"
/g West Commonlands INC [Loc 478,1427,-48]
}

|-----------------------
| Succor North
|-----------------------
/if ((${ChatText.Equal[Port NK]})) {
/if ( !${Me.Gem["Succor: North"]} ) {
/memspell 8 "Succor: North"
/delay 17
}
/delay 30
/call cast "Succor: North"
/g North Karana INC [Loc -2706,-1494,-4]
}
/return

Posted: Thu Mar 24, 2005 3:54 pm
by Lax
I dont like to re-post things, or copy and paste from the instructions.. but I will anyway. Here it is.

If you fail to follow these instructions, your post will either be moved to What Not To Do::Help (http://macroquest2.com/phpBB2/viewforum.php?f=64) or will be deleted. The same effort you display in following these instructions will be displayed to you in answering your question.

1. Sign up and log into the wiki
2. Navigate on the wiki to the place you think the answer to your question should be found. Start from the Main Page, and navigate via the links on the page until you reach your goal. Don't use the "search" box and give up.
3. Hit an "edit" link on the page -- these links appear at the top of each page, and at each section within the page
4. In the edit box, type what you think the answer to your question should be, even if you do not know for sure. Make it informative, rather than inquisitive. You don't need to know any special codes to add to the wiki; Simply put the answer as you think it should read.
5. Hit the "Save page" button, found below the edit box.
6. Get the URL to the page you edited, for example http://www.macroquest2.com/wiki/index.php/Help_Forums is the URL to this page. Alternatively, you can just get the title of the page, found at the very top, right below the tabs that say article, discussion, edit, etc. For example, Help Forums is the title of this page.
7. Post a new thread on the help forum, with a descriptive title. Do not title your post "help please", just try to explain it as best you can in a few words. Inside the thread, make sure to include the URL to the page you edited, or the title of the page inside [[]], like this: [[Help Forums]]. Also explain what you added to the wiki, and ask if it needs to be corrected or changed. You can say whatever else in the post you like, but this is the most important thing.
8. Wait for someone to respond to your thread. If your addition to the wiki must be corrected or changed, it is likely that someone will do it for you, and then respond. If you were right, then you lost absolutely nothing, and either way your question should be answered for the next person to have the same question.

You failed to perform steps 2 or 4 at all. Please re-read them, and try again