HardOne
Member
- Joined
- Jan 15, 2006
- RedCents
- 61¢
Another simple macro that helps me box on Scars of Amerous. Cleric will follow, heal you/group, and Auto-Reverse DS if you want it to.
Rich (BB code):
|------------------------------------------------------------|
| Includes
|------------------------------------------------------------|
#Include spell_routines.inc
|------------------------------------------------------------|
| Events
|------------------------------------------------------------|
#Chat Chat
#Chat tell
#Event DEATH "You have entered#*#"
#Event DEATH "You have been slain#*#"
#Event CHAT "#*# tells you, '#*#"
#Event CHAT "<#*#> #*#"
#Event HELP "[MQ2] help"
#Event SIT "[MQ2] sit #1#"
#Event ASSISTAT "[MQ2] assistat #1#"
#Event ASSIST "[MQ2] assist #1#"
#Event HEALAT "[MQ2] healat #1#
#Event TANK "[MQ2] tank #1#"
#Event GBUFFS "[MQ2] gbuffs #1#"
#Event GHEALS "[MQ2] gheals #1#"
#Event FOLLOW "[MQ2] follow #1#"
#Event REZ "<#1#> rez #2#"
#Event SFG "<#1#> sfg"
#Event HATE "<#1#> hate"
#Event CRYSTAL "<#1#> crystal"
#Event ACRYLIA "<#1#> acry"
#Event FIRE "<#1#> fire"
#Event FAYDARK "<#1#> faydark"
#Event BUTCHER "<#1#> butcher"
#Event UNREST "<#1#> unrest"
#Event KITHICOR "<#1#> kithicor"
#Event KEEP "<#1#> keep"
#Event LAIR "<#1#> lair"
#Event OVERTHERE "<#1#> overthere"
#Event LAKE "<#1#> lake"
#Event MAZE "<#1#> maze"
#Event MARR "<#1#> marr"
#Event SOLUSEK "<#1#> solusek"
|------------------------------------------------------------|
|------------------------------------------------------------|
| Main Loop
|------------------------------------------------------------|
sub Main
|------------READ THIS SECTION AND EDIT IF NEEDED-----------|
/declare Tank outer 0
/declare TankNameID outer 0
/declare Follow outer TRUE
/declare DoGroupHeals outer TRUE
/declare DoGroupBuff outer TRUE
/declare Sit outer FALSE
/declare Assist outer FALSE
/Declare GateItem outer "Newbie Charm"
/Declare ClickStick outer "Water Sprinkler of Nem Ankh"
|-----------IRC---------------------------------------------|
/Declare UseIRC outer TRUE
/Declare IRCServerAddr outer "127.0.0.1"
/Declare IRCPort outer "6667"
/Declare IRCChannel outer "#Bot"
|-----------SPELLS------------------------------------------|
/declare GHoT outer "Elixir of Redemption"
/declare HoT outer "Sacred Elixir"
/declare Nuke outer "Reproval"
/declare Nuke2 outer "Ancient: Pious Conscience"
/declare Heal outer "Ancient: Hallowed Light"
/declare FHeal outer "Sacred Remedy"
/declare SpellFocus outer "Aura of Purpose"
/declare DA outer "Divine Custody"
/declare RDS outer "Mark of the Martyr"
/declare HPBuff outer "Tenacity"
/declare GHPBuff outer "Hand of Tenacity"
/declare Symbol outer "Symbol of Elushar"
/declare GSymbol outer "Elushar's Mark"
/declare MGuard outer "Rallied Aegis of Vie"
/declare GResist outer "Shared Purity"
/declare AC outer "Ward of the Dauntless"
/declare Cure outer "Expunge Corruption"
|-----------TIMERS------------------------------------------|
/Declare CoHealing timer outer 0
/Declare CoMana timer outer 0
|-----------PERCENT TO DO THINGS----------------------------|
/declare patchhealrange outer 100
/declare HealSelfAt outer 70
/declare HealAt outer 70
/declare ManaAt outer 5
/declare NukeAt outer 40
/declare AssistAt outer 99
|-----------OTHER-------------------------------------------|
/declare MobRDS outer 0
/declare MobID outer 0
|-----------------------------------------------------------|
|-----------STOP EDITING -----------------------------------|
|------------------------------------------------------------|
| Main Loop (Start of Macro)
|------------------------------------------------------------|
/echo
/echo Cleric Bot 2.0 started!
/echo Type /echo Help for more details!
/echo
/if (${UseIRC}) /iconnect ${IRCServerAddr} ${IRCPort} ${IRCChannel} ${Me}
/if (!${Target.ID}) {
/echo Target the Tank when you run this macro to designate him as MT
/end
} else {
/if (${Target.Type.Equal[PC]}) {
/varset Tank ${Target}
/varset TankNameID ${Target.ID}
} else {
/if (${Target.Type.Equal[NPC]}) {
/echo Target the Tank when you run this macro not an NPC to designate him as MT.
/end
}
}
/call MemSpells
:MyMainLoop
/if (${Me.Casting.ID}) /goto :MyMainloop
/if (${Sit} && !${Follow} && ${Me.Standing} && !${Me.Mount.ID}) /sit
/doevents
/if (${Follow} && !${Sit}) {
/target ${Tank}
/delay 5
/squelch /stick hold
}
/call Checks
/if (${Target.PctHPs}<=${HealAt} && ${Target.ID}==${TankNameID} && ${Target.Distance}<=${patchhealrange}) {
/goto :heal
} else {
/target ${Tank}
/delay 1 ${Target.ID}==${TankNameID}
/goto :MyMainLoop
}
:heal
/if (${UseIRC}) /i say Casting -- ${Heal} -- ${Tank}
/call cast ${Heal} gem4
/delay 10
/goto :MyMainLoop
/return
|------------------------------------------------------------|
| Memorize your spells
|------------------------------------------------------------|
Sub MemSpells
/if (${UseIRC}) /i say -- Memming Spells --
/if (!${Me.Gem[${GHoT}]}) {
/memspell 1 ${GHoT}
/delay 60
}
/if (!${Me.Gem[${HoT}]}) {
/memspell 2 ${HoT}
/delay 60
}
/if (!${Me.Gem[${FHeal}]}) {
/memspell 3 ${FHeal}
/delay 60
}
/if (!${Me.Gem[${Heal}]}) {
/memspell 4 ${Heal}
/delay 60
}
/if (!${Me.Gem[${HPBuff}]}) {
/memspell 5 ${HPBuff}
/delay 60
}
/if (!${Me.Gem[${GHPBuff}]}) {
/memspell 6 ${GHPBuff}
/delay 60
}
/if (!${Me.Gem[${SpellFocus}]}) {
/memspell 7 ${SpellFocus}
/delay 60
}
/if (!${Me.Gem[${MGuard}]}) {
/memspell 8 ${MGuard}
/delay 60
}
/if (!${Me.Gem[${RDS}]}) {
/memspell 9 ${RDS}
/delay 60
}
/return
Sub Checks
/call CheckMob
/if (${DoGroupBuff}) /call GroupBuff
/if (${DoGroupHeals} && ${Group}>1) /call GroupHeals
/call CheckMyHealth
/call CheckMyMana
/return
Sub CheckMyHealth
/if (${Me.PctHPs}<${HealAt}) {
:HealMe_Loop
/target myself
/delay 1 ${Me.ID}==${Target.ID}
/if (${UseIRC}) /i say Casting -- ${Heal} -- Myself!
/call Cast ${Heal} gem4
/if (${Macro.Return.Equal["CAST_OUTOFMANA"]}) /goto :OOM_Loop
/if (!${Macro.Return.Equal["CAST_SUCCESS"]}) /goto :HealMe_Loop
/if (${Macro.Return.Equal["CAST_SUCCESS"]}) /return
:OOM_Loop
/echo *** Shit ! I don't have mana to heal myself!
/if (${UseIRC}) /i say *** Shit ! I don't have mana to heal myself!
/call CharmHeal
}
/return
Sub CharmHeal
/if (${Me.PctHPs}<30 && ${CoHealing}==0) {
:HealMeC_Loop
/target myself
/delay 5
/call cast "Charm of Healing" item
/delay 20
/if (${Macro.Return.Equal["CAST_NOTREADY"]}) {
/varset CoHeal ${FindItem["Charm of Healing"].Timer}
/return
}
/if (${Macro.Return.Equal["CAST_INTERRUPTED"]}) /goto :HealMeC_Loop
/if (!${Macro.Return.Equal["CAST_SUCCESS"]}) /goto :HealMeC_Loop
/if (${Macro.Return.Equal["CAST_SUCCESS"]}) /varset EpicTimer ${FindItem["Charm of Healing"].Timer}
}
/return
Sub CheckMyMana
/if (${Me.PctMana}<5 && ${CoMana}==0) {
:COMana_Loop
/target myself
/delay 5
/call cast "Charm of Mana" item
/delay 20
/if (${Macro.Return.Equal["CAST_NOTREADY"]}) {
/varset CoMana ${FindItem["Charm of Mana"].Timer}
/return
}
/if (${Macro.Return.Equal["CAST_INTERRUPTED"]}) /goto :COMana_Loop
/if (!${Macro.Return.Equal["CAST_SUCCESS"]}) /goto :COMana_Loop
/if (${Macro.Return.Equal["CAST_SUCCESS"]}) /varset CoMana ${FindItem["Charm of Mana"].Timer}
}
/return
|------------------------------------------------------------|
| Check if RDS'ed Mob Dead
|------------------------------------------------------------|
Sub CheckMob
/if (!${Spawn[${MobID}].Type.Equal[NPC]} && ${MobRDS}==1) {
/echo Mob defeated. Waiting for next.
/varset MobRDS 0
} else {
/if (${Assist} && ${MobRDS}==0) {
/target ${Tank}
/assist
/delay 10
/if (${Target.Type.Equal[NPC]}) /call AutoRDS
}
}
/return
|------------------------------------------------------------|
|------------------------------------------------------------|
| Auto-RDS
|------------------------------------------------------------|
Sub AutoRDS
/if (${Target.PctHPs}<=${AssistAt} && ${Target.Distance}<=${patchhealrange} && ${Target.Type.Equal[NPC]}) {
/popup Assisting (&{Tank}) and Auto-Revere DSing!
:RDS_Loop
/delay 4
/popup Casting Reverse DS on (${Target})!
/if (${UseIRC}) /i say Casting Reverse DS on (${Target})!
/delay 2
/Call Cast ${RDS} gem9
/delay 20
/if (${Macro.Return.Equal["CAST_RESISTED"]}) /goto :RDS_Loop
/if (${Macro.Return.Equal["CAST_SUCCESS"]} && ${Target.Type.Equal[NPC]}) {
/varset MobRDS 1
/Varset MobID ${Target.ID}
/delay 2
/Target ${Tank}
}
} else {
}
/return
Sub GroupHeals
/declare i int local 1
/for i 1 to ${Group}
/if (${Group.Member[${i}].PctHPs}<=${HealAt} && ${Spawn[${Group.Member[${i}]}].Type.Equal[PC]} && ${Target.Distance}<=${patchhealrange}) {
:GHeal_Loop
/target pc ${Group.Member[${i}]}
/delay 5 ${Target.ID}==${Group.Member[${i}].ID}
/if (${UseIRC}) /i say Casting -- ${Heal} -- ${Target}
/call cast ${Heal} gem4
/delay 20
/if (${Macro.Return.Equal["CAST_OUTOFMANA"]}) {
/echo *** Shit ! I don't have mana to heal ${Group.Member[$i]} !
/if (${UseIRC}) /i say *** Shit ! I don't have mana to heal ${Group.Member[$i]} !
/return
}
/if (!${Macro.Return.Equal["CAST_SUCCESS"]}) /goto :GHeal_Loop
}
}
/next i
/return
|------------------------------------------------------------|
|------------------------------------------------------------|
|------------------------------------------------------------|
Sub GroupBuff
:GroupBuff
/if (${DoGroupBuff} && !${Me.Buff[${GHPBuff}].ID}) {
/popup Group HP: ${GHPBuff} rebuffing
/target myself
/delay 5
/call cast ${GHPBuff} gem6
/delay 40
/if (${Macro.Return.Equal["CAST_INTERRUPTED"]}) /goto :GroupBuff
/if (!${Macro.Return.Equal["CAST_SUCCESS"]}) /goto :GroupBuff
}
:SpellG_Loop
/if (${DoGroupBuff} && !${Me.Buff[${SpellFocus}].ID}) {
/popup Group HP: ${SpellFocus} rebuffing
/target myself
/delay 5
/call cast ${SpellFocus} gem7
/delay 40
/if (${Macro.Return.Equal["CAST_INTERRUPTED"]}) /goto :SpellG_Loop
/if (!${Macro.Return.Equal["CAST_SUCCESS"]}) /goto :SpellG_Loop
}
:MeleeG_Loop
/if (${DoGroupBuff} && !${Me.Buff[${MGuard}].ID}) {
/popup Group HP: ${MGuard} rebuffing
/target myself
/delay 5
/call cast ${MGuard} gem8
/delay 40
/if (${Macro.Return.Equal["CAST_INTERRUPTED"]}) /goto :MeleeG_Loop
/if (!${Macro.Return.Equal["CAST_SUCCESS"]}) /goto :MeleeG_Loop
}
/return
|------------------------------------------------------------|
|------------------------------------------------------------|
| Find Person who just sent you a tell
|------------------------------------------------------------|
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
Sub Event_Chat(string ChatType,string Sender,string ChatText)
/if ((!${ChatType.Equal[${mychannel}]})&&(!${ChatType.Equal[TELL]})) /return
/if (!${Spawn[${Sender}].ID}) {
/e ${Sender} is not in the zone
/return
}
|------------------------------------------------------------|
|------------------------------------------------------------|
| Help Menu!
|------------------------------------------------------------|
/if ((${ChatText.Equal[Help]})) {
/call FindExactPC ${Sender}
/if (${String[${Macro.Return}].NotEqual[TARGET_SUCCESS]}) /return
/if (${Target.Distance}<=${patchhealrange}) {
/t ${Sender} ---------Janki Help Menu---------
/delay 25
/t ${Sender} HEAL, HOT, HP, And For more info on each command tell me (Example) E-HEAL!
} else /tell ${Sender} your OOR
}
|------------------------------------------------------------
|------------------------------------------------------------|
| Extended Help Menu!
|------------------------------------------------------------|
/if ((${ChatText.Equal[E-RDS]})) {
/call FindExactPC ${Sender}
/if (${String[${Macro.Return}].NotEqual[TARGET_SUCCESS]}) /return
/if (${Target.Distance}<=${patchhealrange}) {
/t ${Sender} -- RDS ---- ${RDS}
} else /tell ${Sender} your OOR
}
/if ((${ChatText.Equal[E-HEAL]})) {
/call FindExactPC ${Sender}
/if (${String[${Macro.Return}].NotEqual[TARGET_SUCCESS]}) /return
/if (${Target.Distance}<=${patchhealrange}) {
/t ${Sender} -- HEAL ---- ${Heal}
} else /tell ${Sender} your OOR
}
/if ((${ChatText.Equal[E-HOT]})) {
/call FindExactPC ${Sender}
/if (${String[${Macro.Return}].NotEqual[TARGET_SUCCESS]}) /return
/if (${Target.Distance}<=${patchhealrange}) {
/t ${Sender} -- HOT ---- Will cast Heal over Time: ${Heal}
} else /tell ${Sender} your OOR
}
/if ((${ChatText.Equal[E-HP]})) {
/call FindExactPC ${Sender}
/if (${String[${Macro.Return}].NotEqual[TARGET_SUCCESS]}) /return
/if (${Target.Distance}<=${patchhealrange}) {
/t ${Sender} -- HP -- ${HPBuff}
} else /tell ${Sender} your OOR
}
|------------------------------------------------------------
|------------------------------------------------------------|
| RDS |
|------------------------------------------------------------|
/if ((${ChatText.Equal[RDS]})) {
/call FindExactPC ${Sender}
/if (${String[${Macro.Return}].NotEqual[TARGET_SUCCESS]}) /return
/if (${Target.Distance}<=${patchhealrange}) {
/tell ${Sender} Assisting you and RDSing!
/delay 2
:RDS_Loop
/Assist ${Sender}
/delay 4
/popup Casting RDS on (${Target})!
/delay 2
/Call Cast ${RDS} gem7
/delay 20
/if (${Macro.Return.Equal["CAST_RESISTED"]}) /goto :RDS_Loop
/Target ${Tank}
/delay 15 ${Me.SpellReady[${RDS}]}
} else /tell ${Sender} your OOR
}
|------------------------------------------------------------
|------------------------------------------------------------|
| Heal |
|------------------------------------------------------------|
/if ((${ChatText.Equal[HEAL]})) {
/call FindExactPC ${Sender}
/if (${String[${Macro.Return}].NotEqual[TARGET_SUCCESS]}) /return
/if (${Target.Distance}<=${patchhealrange}) {
/popup Casting ${Heal} on (${Sender})!
/delay 2
/Call Cast ${Heal}
/delay 20
/Target ${Tank}
/delay 15 ${Me.SpellReady[${Heal}]}
} else /tell ${Sender} your OOR
}
|------------------------------------------------------------
|------------------------------------------------------------|
| HOT |
|------------------------------------------------------------|
/if ((${ChatText.Equal[HOT]})) {
/call FindExactPC ${Sender}
/if (${String[${Macro.Return}].NotEqual[TARGET_SUCCESS]}) /return
/if (${Target.Distance}<=${patchhealrange}) {
/popup Casting ${Hot} on (${Sender})!
/delay 2
/Call Cast ${Hot}
/delay 20
/Target ${Tank}
/delay 15 ${Me.SpellReady[${Hot}]}
} else /tell ${Sender} your OOR
}
|------------------------------------------------------------
|------------------------------------------------------------|
| HP |
|------------------------------------------------------------|
/if ((${ChatText.Equal[HP]})) {
/call FindExactPC ${Sender}
/if (${String[${Macro.Return}].NotEqual[TARGET_SUCCESS]}) /return
/if (${Target.Distance}<=${patchhealrange}) {
/popup Casting ${HPBuff} on (${Sender})!
/delay 2
/Call Cast ${HPBuff} gem5
/delay 20
/Target ${Tank}
/delay 15 ${Me.SpellReady[${HPBuff}]}
} else /tell ${Sender} your OOR
}
|------------------------------------------------------------
|------------------------------------------------------------|
|The upcoming subroutines are called via an echo to turn on/off the options for the macro
Sub Event_GHEALS(Zero, DGH)
/echo ============================================
/echo Changing Automatic Group Healing to ${DGH}
/echo ============================================
/varset DoGroupHeals ${DGH}
/return
|------------------------------------------------------------|
|The upcoming subroutines are called via an echo to turn on/off the options for the macro
Sub Event_GBUFFS(Zero, DGB)
/echo ============================================
/echo Changing Automatic Group Healing to ${DGB}
/echo ============================================
/varset DoGroupBuffs ${DGB}
/return
|------------------------------------------------------------|
|------------------------------------------------------------
Sub Event_REZ(Zero, REZT)
/echo ============================================
/echo Resurrecting: ${REZT}
/echo ============================================
:Rez_Loop
/target ${REZT}
/call cast ${ClickStick} item
/delay 10
/if (${Macro.Return.Equal["CAST_INTERRUPTED"]}) /goto :Rez_Loop
/if (!${Macro.Return.Equal["CAST_SUCCESS"]}) /goto :Rez_Loop
/return
|------------------------------------------------------------|
|------------------------------------------------------------|
| Events
|------------------------------------------------------------|
|------------------------------------------------------------|
|This is called when you type /echo help. Did I forget anything, probably?
Sub Event_HELP
/echo ----- Macro Information ------
/echo "/echo Master <Tank Name>" Sets who the bot will heal/assist.
/echo "/echo HealAt <Percent>" Sets the macro to Heal at selected Percentage.
/echo "/echo AssistAt <Percent>" Sets the macro to Assist at selected Percentage.
/echo "/echo Follow <TRUE / FALSE>" Sets if the bot will follow the Tank.
/echo "/echo Assist <TRUE or FALSE>" turns on/off auto-assisting.
/echo "/echo Sit <TRUE / FALSE>" turns on/off sitting when Follow is FALSE.
/echo "/echo Coh <Character Name>" Will target name and Call of the hero.
/echo ------------------------------
/return
|------------------------------------------------------------|
|The upcoming subroutines are called via an echo to turn on/off the options for the macro
Sub Event_MASTER(Zero, Name)
/echo ============================================
/echo Changing Master to ${Name}
/echo ============================================
/target ${Name} pc
/delay 5 ${Target}==${Name}
/target ${Name} pc
/if (!${Target.ID}) {
/echo Failed to target the new Master!
/return
} else {
/if (${Target.Type.Equal[PC]}) {
/varset Master ${Target}
/varset MasterID ${Target.ID}
/echo I am now ${Master} 's Bitch.
} else {
/if (${Target.Type.Equal[NPC]}) {
/echo Failed to target the New Master or New Master was an NPC/Corpse.
/return
}
}
}
/return
|------------------------------------------------------------|
|The upcoming subroutines are called via an echo to turn on/off the options for the macro
Sub Event_ASSISTAT(Zero, PercentAssA)
/echo ============================================
/echo Changing AssistAt to ${PercentAssA}
/echo ============================================
/varset AssistAt ${PercentAssA}
/return
|------------------------------------------------------------|
|The upcoming subroutines are called via an echo to turn on/off the options for the macro
Sub Event_SIT(Zero, TFS)
/echo ============================================
/echo Changing Sit to ${TFS}
/echo ============================================
/varset Sit ${TFS}
/return
|------------------------------------------------------------|
|The upcoming subroutines are called via an echo to turn on/off the options for the macro
Sub Event_ASSIST(Zero, TFA)
/echo ============================================
/echo Changing Assist to ${TFA}
/echo ============================================
/varset Assist ${TFA}
/return
|------------------------------------------------------------|
|The upcoming subroutines are called via an echo to turn on/off the options for the macro
Sub Event_HEALAT(Zero, PercentHA)
/echo ============================================
/echo Changing HealAt to ${PercentHA}
/echo ============================================
/varset HealAt ${PercentHA}
/return
|------------------------------------------------------------|
|The upcoming subroutines are called via an echo to turn on/off the options for the macro
Sub Event_FOLLOW(Zero, TFF)
/echo ============================================
/echo Changing Follow to ${TFF}
/echo ============================================
/varset Follow ${TFF}
/return
|------------------------------------------------------------|
|The upcoming subroutines are called via an echo to turn on/off the options for the macro
Sub Event_DEATH(Zero, Death)
/echo ============================================
/echo Ohh shit! We died or zoned!
/echo ============================================
/end
/return
|------------------------------------------------------------|
Sub Event_SFG(Zero, SFGP)
|------------------------------------------------------------|
| SFG!
|------------------------------------------------------------|
:gosfg_Loop
/call cast ${GateItem} item
/delay 5 !${Me.Casting.ID}
/if (${Macro.Return.Equal["CAST_INTERRUPTED"]}) /goto :gosfg_Loop
/if (!${Macro.Return.Equal["CAST_SUCCESS"]}) /goto :gosfg_Loop
/return
|------------------------------------------------------------
Sub Event_FAYDARK(Zero, FAYP)
|------------------------------------------------------------|
| Faydark!
|------------------------------------------------------------|
/target Sorin npc
/stick 5
/delay 15
/say faydark
/return
|------------------------------------------------------------
Sub Event_CRYSTAL(Zero, CRYP)
|------------------------------------------------------------|
| Crystal!
|------------------------------------------------------------|
/target Sorin npc
/stick 5
/delay 15
/say crystal
/return
|------------------------------------------------------------
Sub Event_ACRYLIA(Zero, ACRP)
|------------------------------------------------------------|
| Acrylia!
|------------------------------------------------------------|
/target Sorin npc
/stick 5
/delay 15
/say acrylia
/return
|------------------------------------------------------------
Sub Event_BUTCHER(Zero, BUTP)
|------------------------------------------------------------|
| Butcher!
|------------------------------------------------------------|
/target Sorin npc
/stick 5
/delay 15
/say butcher
/return
|------------------------------------------------------------
Sub Event_FIRE(Zero, FIRP)
|------------------------------------------------------------|
| Keep!
|------------------------------------------------------------|
/target Sorin npc
/stick 5
/delay 15
/say fire
/return
|------------------------------------------------------------
Sub Event_KEEP(Zero, KEEP)
|------------------------------------------------------------|
| Keep!
|------------------------------------------------------------|
/target Sorin npc
/stick 5
/delay 15
/say keep
/return
|------------------------------------------------------------
Sub Event_LAIR(Zero, LIAP)
|------------------------------------------------------------|
| Lair!
|------------------------------------------------------------|
/target Sorin npc
/stick 5
/delay 15
/say lair
/return
|------------------------------------------------------------
Sub Event_OVERTHERE(Zero, OVEP)
|------------------------------------------------------------|
| Overthere!
|------------------------------------------------------------|
/target Sorin npc
/stick 5
/delay 15
/say overthere
/return
|------------------------------------------------------------
Sub Event_HATE(Zero, HATP)
|------------------------------------------------------------|
| Hate!
|------------------------------------------------------------|
/target Sorin npc
/stick 5
/delay 15
/say hate
/return
|------------------------------------------------------------
Sub Event_UNREST(Zero, UNRP)
|------------------------------------------------------------|
| Unrest!
|------------------------------------------------------------|
/target "Aeridin of the Conclave" npc
/stick 5
/delay 15
/say unrest
/return
|------------------------------------------------------------
Sub Event_KITHICOR(Zero, KITP)
|------------------------------------------------------------|
| Kitchicor!
|------------------------------------------------------------|
/target "Aeridin of the Conclave" npc
/stick 5
/delay 15
/say kitchicor
/return
|------------------------------------------------------------
Sub Event_LAKE(Zero, LAKP)
|------------------------------------------------------------|
| Lake!
|------------------------------------------------------------|
/target "Aeridin of the Conclave" npc
/stick 5
/delay 15
/say lake
/return
|------------------------------------------------------------
Sub Event_MAZE(Zero, MAZP)
|------------------------------------------------------------|
| Maze!
|------------------------------------------------------------|
/target "Aeridin of the Conclave" npc
/stick 5
/delay 15
/say maze
/return
|------------------------------------------------------------
Sub Event_MARR(Zero, MARP)
|------------------------------------------------------------|
| Marr!
|------------------------------------------------------------|
/target "Aeridin of the Conclave" npc
/stick 5
/delay 15
/say marr
/return
|------------------------------------------------------------
Sub Event_SOLUSEK(Zero, SOLP)
|------------------------------------------------------------|
| solusek!
|------------------------------------------------------------|
/target "Aeridin of the Conclave" npc
/stick 5
/delay 15
/say solusek
/return
|------------------------------------------------------------
Last edited:

