Code: Select all
| ---------------------------
| -- Event SetAutoBackstab --
| ---------------------------
Sub Event_SetAutoBackstab(string Line, string newAutoBackstab)
/varset lastEvent Event_SetAutoBackstab
/varset newAutoBackstab ${newAutoBackstab.Right[-1]}
/if (${newAutoBackstab.Length}) {
/if (${newAutoBackstab.Equal[ON]}) {
/varset autoBackstab TRUE
} else /if (${newAutoBackstab.Equal[OFF]}) {
/varset autoBackstab FALSE
}
} else {
/if (${autoBackstab}) {
/varset autoBackstab FALSE
} else {
/varset autoBackstab TRUE
}
}
/ini "PuppetMaster.ini" "Settings" "AutoBackstab" "${autoBackstab}"
/echo · ··-~^vV - AutoBackstab: ${If[${autoBackstab},ON,OFF]}
/return
| -------------------------
| -- Event SetAutoDisarm --
| -------------------------
Sub Event_SetAutoDisarm(string Line, string newAutoDisarm)
/varset lastEvent Event_SetAutoDisarm
/varset newAutoDisarm ${newAutoDisarm.Right[-1]}
/if (${newAutoDisarm.Length}) {
/if (${newAutoDisarm.Equal[ON]}) {
/varset autoDisarm TRUE
} else /if (${newAutoBackstab.Equal[OFF]}) {
/varset autoDisarm FALSE
}
} else {
/if (${autoDisarm}) {
/varset autoDisarm FALSE
} else {
/varset autoDisarm TRUE
}
}
/ini "PuppetMaster.ini" "Settings" "AutoDisarm" "${autoDisarm}"
/echo · ··-~^vV - AutoDisarm: ${If[${autoDisarm},ON,OFF]}
/return
| -----------------------------
| -- Event SetAutoIntimidate --
| -----------------------------
Sub Event_SetAutoIntimidate(string Line, string newAutoIntimidate)
/varset lastEvent Event_SetAutoIntimidate
/varset newAutoIntimidate ${newAutoIntimidate.Right[-1]}
/if (${newAutoIntimidate.Length}) {
/if (${newAutoIntimidate.Equal[ON]}) {
/varset autoIntimidate TRUE
} else /if (${newAutoIntimidate.Equal[OFF]}) {
/varset autoIntimidate FALSE
}
} else {
/if (${autoIntimidate}) {
/varset autoIntimidate FALSE
} else {
/varset autoIntimidate TRUE
}
}
/ini "PuppetMaster.ini" "Settings" "AutoIntimidate" "${autoIntimidate}"
/echo · ··-~^vV - AutoIntimidate: ${If[${autoIntimidate},ON,OFF]}
/return
| -----------------------------
| -- Event SetAutoPickpocket --
| -----------------------------
Sub Event_SetAutoPickpocket(string Line, string newAutoPickpocket)
/varset lastEvent Event_SetAutoPickpocket
/varset newAutoPickpocket ${newAutoPickpocket.Right[-1]}
/if (${newAutoPickpocket.Length}) {
/if (${newAutoPickpocket.Equal[ON]}) {
/varset autoPickpocket TRUE
} else /if (${newAutoPickpocket.Equal[OFF]}) {
/varset autoPickpocket FALSE
}
} else {
/if (${autoPickpocket}) {
/varset autoPickpocket FALSE
} else {
/varset autoPickpocket TRUE
}
}
/ini "PuppetMaster.ini" "Settings" "AutoPickpocket" "${autoPickpocket}"
/echo · ··-~^vV - AutoPickpocket: ${If[${autoPickpocket},ON,OFF]}
/return
| ----------------------
| -- Event SetAutoBeg --
| ----------------------
Sub Event_SetAutoBeg(string Line, string newAutoBeg)
/varset lastEvent Event_SetAutoBeg
/varset newAutoBeg ${newAutoBeg.Right[-1]}
/if (${newAutoBeg.Length}) {
/if (${newAutoBeg.Equal[ON]}) {
/varset autoBeg TRUE
} else /if (${newAutoBeg.Equal[OFF]}) {
/varset autoBeg FALSE
}
} else {
/if (${autoBeg}) {
/varset autoBeg FALSE
} else {
/varset autoBeg TRUE
}
}
/ini "PuppetMaster.ini" "Settings" "AutoBeg" "${autoBeg}"
/echo · ··-~^vV - AutoBeg: ${If[${autoBeg},ON,OFF]}
/return
| ----------------------------
| -- Event SetAutoSneakHide --
| ----------------------------
Sub Event_SetAutoSneakHide(string Line, string newAutoSneakHide)
/varset lastEvent Event_SetAutoSneakHide
/varset newAutoSneakHide ${newAutoSneakHide.Right[-1]}
/if (${newAutoSneakHide.Length}) {
/if (${newAutoSneakHide.Equal[ON]}) {
/varset autoSneakHide TRUE
} else /if (${newAutoSneakHide.Equal[OFF]}) {
/varset autoSneakHide FALSE
}
} else {
/if (${autoSneakHide}) {
/varset autoSneakHide FALSE
} else {
/varset autoSneakHide TRUE
}
}
/ini "PuppetMaster.ini" "Settings" "AutoSneakHide" "${autoSneakHide}"
/echo · ··-~^vV - AutoSneakHide: ${If[${autoSneakHide},ON,OFF]}
/return
| ------------------------
| -- Event SetDropSneak --
| ------------------------
Sub Event_SetDropSneak(string Line, string newDropSneak)
/varset lastEvent Event_SetDropSneak
/varset newDropSneak ${newDropSneak.Right[-1]}
/if (${newDropSneak.Length}) {
/if (${newDropSneak.Equal[ON]}) {
/varset dropSneak TRUE
} else /if (${newDropSneak.Equal[OFF]}) {
/varset dropSneak FALSE
}
} else {
/if (${dropSneak}) {
/varset dropSneak FALSE
} else {
/varset dropSneak TRUE
}
}
/ini "PuppetMaster.ini" "Settings" "DropSneak" "${dropSneak}"
/echo · ··-~^vV - Drop Sneak in Combat: ${If[${dropSneak},ON,OFF]}
/return
| ---------------------
| -- Event SetCallDI --
| ---------------------
Sub Event_SetCallDI(string Line, string newCallDI)
/varset lastEvent Event_SetCallDI
/varset newCallDI ${newCallDI.Right[-1]}
/if (${newCallDI.Length}) {
/if (${newCallDI.Equal[ON]}) {
/varset callDI TRUE
} else /if (${newCallDI.Equal[OFF]}) {
/varset callDI FALSE
}
} else {
/if (${callDI}) {
/varset callDI FALSE
} else {
/varset callDI TRUE
}
}
/ini "PuppetMaster.ini" "Settings" "CallDI" "${callDI}"
/echo · ··-~^vV - Call DI: ${If[${callDI},ON,OFF]}
/return
| -----------------------------
| -- Event SetAutoJoinGroup --
| -----------------------------
Sub Event_SetAutoJoinGroup(string Line, string newAutoJoinGroup)
/varset lastEvent Event_SetAutoJoinGroup
/varset newAutoJoinGroup ${newAutoJoinGroup.Right[-1]}
/if (${newAutoJoinGroup.Length}) {
/if (${newAutoJoinGroup.Equal[ON]}) {
/varset autoJoinGroup TRUE
} else /if (${newAutoJoinGroup.Equal[OFF]}) {
/varset autoJoinGroup FALSE
}
} else {
/if (${autoJoinGroup}) {
/varset autoJoinGroup FALSE
} else {
/varset autoJoinGroup TRUE
}
}
/ini "PuppetMaster.ini" "Settings" "AutoJoinGroup" "${autoJoinGroup}"
/echo · ··-~^vV - Auto Join Group: ${If[${autoJoinGroup},ON,OFF]}
/return
| ------------------------
| -- Event SetAutoGreet --
| ------------------------
Sub Event_SetAutoGreet(string Line, string newAutoGreet)
/varset lastEvent Event_SetAutoGreet
/varset newAutoGreet ${newAutoGreet.Right[-1]}
/if (${newAutoGreet.Length}) {
/if (${newAutoGreet.Equal[ON]}) {
/varset autoGreet TRUE
} else /if (${newAutoGreet.Equal[OFF]}) {
/varset autoGreet FALSE
}
} else {
/if (${autoGreet}) {
/varset autoGreet FALSE
} else {
/varset autoGreet TRUE
}
}
/ini "PuppetMaster.ini" "Settings" "AutoGreet" "${autoGreet}"
/echo · ··-~^vV - Auto Greet: ${If[${autoGreet},ON,OFF]}
/return
| ---------------------------
| -- Event SetAutoIllusion --
| ---------------------------
Sub Event_SetAutoIllusion(string Line, string newAutoIllusion)
/varset lastEvent Event_SetAutoIllusion
/varset newAutoIllusion ${newAutoIllusion.Right[-1]}
/if (${newAutoIllusion.Length}) {
/if (${newAutoIllusion.Equal[ON]}) {
/varset autoIllusion TRUE
} else /if (${newAutoIllusion.Equal[OFF]}) {
/varset autoIllusion FALSE
}
} else {
/if (${autoIllusion}) {
/varset autoIllusion FALSE
} else {
/varset autoIllusion TRUE
}
}
/ini "PuppetMaster.ini" "Settings" "AutoIllusion" "${autoIllusion}"
/echo · ··-~^vV - Auto Illusion: ${If[${autoIllusion},ON,OFF]}
/return
| -----------------------
| -- Event SetAutoLoot --
| -----------------------
Sub Event_SetAutoLoot(string Line, string newAutoLoot)
/varset lastEvent Event_SetAutoLoot
/varset newAutoLoot ${newAutoLoot.Right[-1]}
/if (${newAutoLoot.Length}) {
/if (${newAutoLoot.Equal[ON]}) {
/varset autoLoot TRUE
} else /if (${newAutoLoot.Equal[OFF]}) {
/varset autoLoot FALSE
} else {
/varset lootDistance ${newAutoLoot}
}
} else {
/if (${autoLoot}) {
/varset autoLoot FALSE
} else {
/varset autoLoot TRUE
}
}
/ini "PuppetMaster.ini" "Settings" "AutoLoot" "${autoLoot}"
/ini "PuppetMaster.ini" "Settings" "LootDistance" "${lootDistance}"
/echo · ··-~^vV - Auto Loot: ${If[${autoLoot},ON,OFF]}
/echo · ··-~^vV - Loot Distance: ${lootDistance}
/return
| ---------------------------
| -- Event SetMinLootValue --
| ---------------------------
Sub Event_SetAutoLoot(string Line, string newMinLootValue)
/varset lastEvent Event_SetMinLootValue
/varset newMinLootValue ${newMinLootValue.Right[-1]}
/if (${newMinLootValue.Length}) {
/varcalc minLootValue ${newMinLootValue}*1000
}
/ini "PuppetMaster.ini" "Settings" "MinLootValue" "${minLootValue}"
/echo · ··-~^vV - Minimum Loot Value: ${Math.Calc[${minLootValue}/1000]}pp
/return
| --------------------------
| -- Event SetLdonCollect --
| --------------------------
Sub Event_SetLdonCollect(string Line, string newLdonCollect)
/varset lastEvent Event_SetLdonCollect
/varset newLdonCollect ${newLdonCollect.Right[-1]}
/if (${newLdonCollect.Length}) {
/if (${newLdonCollect.Equal[ON]}) {
/varset ldonCollect TRUE
} else /if (${newLdonCollect.Equal[OFF]}) {
/varset ldonCollect FALSE
} else {
/varset ldonCollectItem ${newLdonCollect}
}
} else {
/if (${ldonCollect}) {
/varset ldonCollect FALSE
} else {
/varset ldonCollect TRUE
}
}
/ini "PuppetMaster.ini" "Settings" "LdonCollect" "${ldonCollect}"
/ini "PuppetMaster.ini" "Settings" "LdonCollectItem" "${ldonCollectItem}"
/echo · ··-~^vV - LDON Collect: ${If[${ldonCollect},ON,OFF]}
/echo · ··-~^vV - LDON Collect Item: ${ldonCollectItem}
/return
| -------------------------
| -- Event SetAutoEscape --
| -------------------------
Sub Event_SetAutoEscape(string Line, string newAutoEscape)
/varset lastEvent Event_SetAutoEscape
/varset newAutoEscape ${newAutoEscape.Right[-1]}
/if (${newAutoEscape.Length}) {
/if (${newAutoEscape.Equal[ON]}) {
/varset autoEscape TRUE
} else /if (${newEvadeAggro.Equal[OFF]}) {
/varset autoEscape FALSE
} else {
/varset escapeHealth ${newAutoEscape}
}
} else {
/if (${${autoEscape}) {
/varset autoEscape FALSE
} else {
/varset autoEscape TRUE
}
}
/ini "PuppetMaster.ini" "Settings" "AutoEscape" "${autoEscape}"
/ini "PuppetMaster.ini" "Settings" "EscapeHealth" "${escapeHealth}"
/echo · ··-~^vV - Auto Escape: ${If[${autoEscape},ON,OFF]}
/echo · ··-~^vV - Escape Health: ${escapeHealth}%
/return
| -------------------------
| -- Event SetAutoNimble --
| -------------------------
Sub Event_SetAutoNimble(string Line, string newAutoNimble)
/varset lastEvent Event_SetAutoNimble
/varset newAutoNimble ${newAutoNimble.Right[-1]}
/if (${newAutoNimble.Length}) {
/if (${newAutoNimble.Equal[ON]}) {
/varset autoNimble TRUE
} else /if (${newAutoNimble.Equal[OFF]}) {
/varset autoNimble FALSE
} else {
/varset nimbleHealth ${arguments.Arg[1]}
}
} else {
/if (${autoNimble}) {
/varset autoNimble FALSE
} else {
/varset autoNimble TRUE
}
}
/ini "PuppetMaster.ini" "Settings" "AutoNimble" "${autoNimble}"
/ini "PuppetMaster.ini" "Settings" "NimbleHealth" "${nimbleHealth}"
/echo · ··-~^vV - AutoNimble: ${If[${autoNimble},ON,OFF]}
/echo · ··-~^vV - Nimble Health: ${nimbleHealth}%
/echo · ··-~^vV - Dynamic Nimble Control: ${If[${dynamicNimble},ON,OFF]}
/return
| ----------------------------
| -- Event SetDynamicNimble --
| ----------------------------
Sub Event_SetDynamicNimble(string Line, string newDynamicNimble)
/varset lastEvent Event_SetAutoNimble
/varset newDynamicNimble ${newDynamicNimble.Right[-1]}
/if (${newDynamicNimble.Length}) {
/if (${newDynamicNimble.Equal[ON]}) {
/varset dynamicNimble TRUE
} else /if (${newDynamicNimble.Equal[OFF]}) {
/varset dynamicNimble FALSE
}
} else {
/if (${dynamicNimble}) {
/varset dynamicNimble FALSE
} else {
/varset dynamicNimble TRUE
}
}
/ini "PuppetMaster.ini" "Settings" "DynamicNimble" "${dynamicNimble}"
/echo · ··-~^vV - AutoNimble: ${If[${autoNimble},ON,OFF]}
/echo · ··-~^vV - Nimble Health: ${nimbleHealth}%
/echo · ··-~^vV - Dynamic Nimble Control: ${If[${dynamicNimble},ON,OFF]}
/return
| ---------------------
| -- Event ClickItem --
| ---------------------
Sub Event_ClickItem(string Line, string arguments)
/varset lastEvent Event_ClickItem
/varset arguments ${arguments.Right[-1]}
/if (${arguments.Length}) {
/declare fullName string local ${Ini[PuppetMaster.ini,ClickItems,${arguments.Arg[1]}_FullName]}
/if (${fullName.Equal[NULL]}) {
/echo · ··-~^vV - [${arguments.Arg[1]}] not in INI file!
/return
}
/declare castCount int local 1
/if (${arguments.Arg[2].Length}) {
/varset castCount ${arguments.Arg[2]}
}
/declare mustEquip string local ${Ini[PuppetMaster.ini,ClickItems,${arguments.Arg[1]}_MustEquip]}
/if (${FindItem[${fullName}].InvSlot.Pack}) {
/declare wasOpen bool local TRUE
:openPack
/if (!${Window[${FindItem[${fullName}].InvSlot.Pack.Name}].Open}) {
/varset wasOpen FALSE
/itemnotify ${FindItem[${fullName}].InvSlot.Pack.Name} rightmouseup
/delay 2
/goto :openPack
}
/declare cameFrom ${FindItem[${fullName}].InvSlot}
:grabItem
/itemnotify ${InvSlot[${cameFrom}]} leftmouseup
/delay 2
/if (!${Cursor.ID}) {
/goto :grabItem
}
/declare clickItemID ${Cursor.ID}
/if (${mustEquip}) {
/declare wornAt ${Cursor.WornSlot[1]}
} else {
/declare wornAt pack1
}
:swapIn
/itemnotify ${InvSlot[${wornAt}]} leftmouseup
/delay 2
/if (${Cursor.ID} == ${clickItemID}) {
/goto :swapIn
}
/declare swappedOutItemID ${Cursor.ID}
:clickIt
/if (${Me.Ducking}) {
/goto :swapOut
}
/if (${Me.Casting.ID}) {
/delay 2
/goto :clickIt
}
/if (${castCount} >= 1) {
/varcalc castCount ${castCount}-1
/echo · ··-~^vV - Clicking: ${fullName}
/itemnotify ${InvSlot[${wornAt}]} rightmouseup
/goto :clickIt
}
:swapOut
/itemnotify ${InvSlot[${wornAt}]} leftmouseup
/delay 2
/if (${Cursor.ID} == ${swappedOutItemID}) {
/goto :swapOut
}
:putBack
/if (${Cursor.ID} == ${clickItemID}) {
/itemnotify ${InvSlot[${cameFrom}]} leftmouseup
/delay 2
/goto :putBack
}
:SummonedCheck
/if (${Cursor.ID}) {
/autoinv
/delay 2
/goto :SummonedCheck
}
:closePack
/if (${Window[${InvSlot[${cameFrom}].Pack.Name}].Open} && !${wasOpen}) {
/itemnotify ${InvSlot[${cameFrom}].Pack.Name} rightmouseup
/delay 2
/goto :closePack
}
} else /if (${FindItem[${fullName}].InvSlot}) {
/declare wornAt ${FindItem[${fullName}].InvSlot}
:clickIt2
/if (${Me.Ducking}) {
/goto :stopCast2
}
/if (${Me.Casting.ID}) {
/delay 2
/goto :clickIt2
}
/if (${castCount} >= 1) {
/varcalc castCount ${castCount}-1
/echo · ··-~^vV - Clicking: ${fullName}
/itemnotify ${InvSlot[${wornAt}]} rightmouseup
/goto :clickIt2
}
:stopCast2
:SummonedCheck2
/if (${Cursor.ID}) {
/autoinv
/delay 2
/goto :SummonedCheck2
}
}
} else {
/echo · ··-~^vV - Usage: /iclick <Short_Name> [<Count>]
}
/return
| ------------------------
| -- Event SetClickItem --
| ------------------------
Sub Event_SetClickItem(string Line, string arguments)
/varset lastEvent Event_SetClickItem
/varset arguments ${arguments.Right[-1]}
/if (${arguments.Arg[2].Length}) {
/ini "PuppetMaster.ini" "ClickItems" "${arguments.Arg[1]}_FullName" "${arguments.Arg[2]}"
/if (${arguments.Arg[3].Equal[MustEquip]}) {
/ini "PuppetMaster.ini" "ClickItems" "${arguments.Arg[1]}_MustEquip" "TRUE"
/if (${arguments.Arg[4].Length}) {
/alias /${arguments.Arg[4]} /echo ClickItem ${arguments.Arg[1]}
}
} else {
/ini "PuppetMaster.ini" "ClickItems" "${arguments.Arg[1]}_MustEquip" "FALSE"
/if (${arguments.Arg[3].Length}) {
/alias /${arguments.Arg[3]} /echo ClickItem ${arguments.Arg[1]}
}
}
/echo · ··-~^vV - Click-Item added.
} else {
/echo · ··-~^vV - Usage: /setclickitem <Short_Name> "<Full_Name>" [MustEquip] [<Slash_Command>]
}
/return
| --------------------
| -- Event AutoHeal --
| --------------------
Sub Event_AutoHeal(string Line, string newTargetHealth)
/varset lastEvent Event_AutoHeal
/varset newTargetHealth ${newTargetHealth.Right[-1]}
/declare targetHealth int local 100
/if (${newTargetHealth.Length}) {
/varset targetHealth ${newTargetHealth}
}
/declare fullName string local "Mrylokar's Breastplate"
/if (${FindItem[${fullName}].InvSlot.Pack}) {
/declare wasOpen bool local TRUE
:openPack
/if (!${Window[${FindItem[${fullName}].InvSlot.Pack.Name}].Open}) {
/varset wasOpen FALSE
/itemnotify ${FindItem[${fullName}].InvSlot.Pack.Name} rightmouseup
/delay 2
/goto :openPack
}
/declare cameFrom ${FindItem[${fullName}].InvSlot}
:grabItem
/itemnotify ${InvSlot[${cameFrom}]} leftmouseup
/delay 2
/if (!${Cursor.ID}) {
/goto :grabItem
}
/declare clickItemID ${Cursor.ID}
/declare wornAt ${Cursor.WornSlot[1]}
:swapIn
/itemnotify ${InvSlot[${wornAt}]} leftmouseup
/delay 2
/if (${Cursor.ID} == ${clickItemID}) {
/goto :swapIn
}
/declare swappedOutItemID ${Cursor.ID}
:clickIt
/if (${Me.Ducking}) {
/goto :swapOut
}
/if (${Me.Casting.ID}) {
/delay 2
/goto :clickIt
}
/if (${Me.PctHPs} < ${targetHealth}) {
/echo · ··-~^vV - Healing self.
/itemnotify ${InvSlot[${wornAt}]} rightmouseup
/goto :clickIt
}
:swapOut
/itemnotify ${InvSlot[${wornAt}]} leftmouseup
/delay 2
/if (${Cursor.ID} == ${swappedOutItemID}) {
/goto :swapOut
}
:putBack
/itemnotify ${InvSlot[${cameFrom}]} leftmouseup
/delay 2
/if (${Cursor.ID} == ${clickItemID}) {
/goto :putBack
}
:closePack
/if (${Window[${InvSlot[${cameFrom}].Pack.Name}].Open} && !${wasOpen}) {
/itemnotify ${InvSlot[${cameFrom}].Pack.Name} rightmouseup
/delay 2
/goto :closePack
}
} else /if (${FindItem[${fullName}].InvSlot}) {
/declare wornAt ${FindItem[${fullName}].InvSlot}
:clickIt2
/if (${Me.Ducking}) {
/goto :stopCast
}
/if (${Me.Casting.ID}) {
/delay 2
/goto :clickIt2
}
/if (${Me.PctHPs}<${targetHealth}) {
/echo · ··-~^vV - Healing self.
/itemnotify ${InvSlot[${wornAt}]} rightmouseup
/goto :clickIt2
}
:stopCast
}
/return
| --------------------
| -- Event AutoCure --
| --------------------
Sub Event_AutoCure
/varset lastEvent Event_AutoCure
/declare fullName string local "Shield of the Immaculate"
/declare beforeCureTargetID int local ${Target.ID}
/declare i int local 0
/for i 1 to 15
/if (${Me.Buff[${i}].Spell.ResistType.Equal[Disease]}) {
/goto :diseased
}
/next i
/echo · ··-~^vV - Not diseased at the moment. Aborting.
/return
:diseased
/if (${FindItem[${fullName}].InvSlot.Pack}) {
/declare wasOpen bool local TRUE
:openPack
/if (!${Window[${FindItem[${fullName}].InvSlot.Pack.Name}].Open}) {
/varset wasOpen FALSE
/itemnotify ${FindItem[${fullName}].InvSlot.Pack.Name} rightmouseup
/delay 2
/goto :openPack
}
/declare cameFrom ${FindItem[${fullName}].InvSlot}
:grabItem
/itemnotify ${InvSlot[${cameFrom}]} leftmouseup
/delay 2
/if (!${Cursor.ID}) {
/goto :grabItem
}
/declare clickItemID ${Cursor.ID}
/declare wornAt pack1
:swapIn
/itemnotify ${InvSlot[${wornAt}]} leftmouseup
/delay 2
/if (${Cursor.ID} == ${clickItemID}) {
/goto :swapIn
}
/declare swappedOutItemID ${Cursor.ID}
:clickIt
/if (${Me.Ducking}) {
/goto :swapOut
}
/if (${Me.Casting.ID}) {
/delay 2
/goto :clickIt
}
/for i 1 to 15
/if (${Me.Buff[${i}].Spell.ResistType.Equal[Disease]}) {
/target myself
/echo · ··-~^vV - Trying to Cure: ${Me.Buff[${i}].Spell.Name}
/itemnotify ${InvSlot[${wornAt}]} rightmouseup
/goto :clickIt
}
/next i
/echo · ··-~^vV - All Diseases Cured!
:swapOut
/itemnotify ${InvSlot[${wornAt}]} leftmouseup
/delay 2
/if (${Cursor.ID} == ${swappedOutItemID}) {
/goto :swapOut
}
:putBack
/if (${Cursor.ID} == ${clickItemID}) {
/itemnotify ${InvSlot[${cameFrom}]} leftmouseup
/delay 2
/goto :putBack
}
:closePack
/if (${Window[${InvSlot[${cameFrom}].Pack.Name}].Open} && !${wasOpen}) {
/itemnotify ${InvSlot[${cameFrom}].Pack.Name} rightmouseup
/delay 2
/goto :closePack
}
} else /if (${FindItem[${fullName}].InvSlot}) {
/declare wornAt pack1
:clickIt2
/if (${Me.Ducking}) {
/goto :stopCast
}
/if (${Me.Casting.ID}) {
/delay 2
/goto :clickIt2
}
/declare i int local 0
/for i 1 to 15
/if (${Me.Buff[i].Spell.ResistType.Equal[Disease]} && ${Me.Buff[i].Spell.SpellType.Equal[Detrimental]}) {
/target myself
/echo · ··-~^vV - Trying to Cure: ${Me.Buff[i].Spell.Name}
/itemnotify ${InvSlot[${wornAt}]} rightmouseup
/goto :clickIt2
}
/next i
/echo · ··-~^vV - All Diseases Cured!
:stopCast
}
/target id ${beforeCureTargetID}
/return
| ----------------------
| -- Event AutoShrink --
| ----------------------
Sub Event_AutoShrink
/varset lastEvent Event_AutoShrink
/declare beforeShrinkTargetID int ${Target.ID}
/if (${Target.ID} == ${Me.ID}) {
/if (${Me.Height} <= 3.00) {
/echo · ··-~^vV - You dont need to be shrinked!
/return
}
} else /if (${Me.Grouped} && ${Target.Type.Equal[PC]}) {
/declare groupMember int 0
/for groupMember 1 to ${Group}
/if (${Group[${groupMember}].ID} == ${Target.ID}) /goto :canShrink
/next groupMember
/echo · ··-~^vV - Cannot shrink target! Aborting.
/return
:canShrink
/if (${Target.Height} <= 3.00) {
/echo · ··-~^vV - ${Target.CleanName} doesnt need to be shrinked!
/return
}
} else {
/if (${Me.Height} <= 3.00) {
/echo · ··-~^vV - You dont need to be shrinked!
/return
}
/target myself
}
/declare fullName string local ${Ini[PuppetMaster.ini,ClickItems,Shrink_FullName]}
/if (${fullName.Equal[NULL]}) {
/echo · ··-~^vV - [Shrink] not in INI file!
/return
}
/declare mustEquip string local ${Ini[PuppetMaster.ini,ClickItems,Shrink_MustEquip]}
/if (${FindItem[${fullName}].InvSlot.Pack}) {
/declare wasOpen bool local TRUE
:openPack
/if (!${Window[${FindItem[${fullName}].InvSlot.Pack.Name}].Open}) {
/varset wasOpen FALSE
/itemnotify ${FindItem[${fullName}].InvSlot.Pack.Name} rightmouseup
/delay 2
/goto :openPack
}
/declare cameFrom ${FindItem[${fullName}].InvSlot}
:grabItem
/itemnotify ${InvSlot[${cameFrom}]} leftmouseup
/delay 2
/if (!${Cursor.ID}) {
/goto :grabItem
}
/declare clickItemID ${Cursor.ID}
/if (${mustEquip}) {
/declare wornAt ${Cursor.WornSlot[1]}
} else {
/declare wornAt pack1
}
:swapIn
/itemnotify ${InvSlot[${wornAt}]} leftmouseup
/delay 2
/if (${Cursor.ID} == ${clickItemID}) {
/goto :swapIn
}
/declare swappedOutItemID ${Cursor.ID}
:clickIt
/if (${Me.Ducking}) {
/goto :swapOut
}
/if (${Me.Casting.ID}) {
/delay 2
/goto :clickIt
}
/if (${Target.Height} > 3.00) {
/echo · ··-~^vV - Shrinking: ${Target.CleanName}
/itemnotify ${InvSlot[${wornAt}]} rightmouseup
/goto :clickIt
}
:swapOut
/itemnotify ${InvSlot[${wornAt}]} leftmouseup
/delay 2
/if (${Cursor.ID} == ${swappedOutItemID}) {
/goto :swapOut
}
:putBack
/if (${Cursor.ID} == ${clickItemID}) {
/itemnotify ${InvSlot[${cameFrom}]} leftmouseup
/delay 2
/goto :putBack
}
:closePack
/if (${Window[${InvSlot[${cameFrom}].Pack.Name}].Open} && !${wasOpen}) {
/itemnotify ${InvSlot[${cameFrom}].Pack.Name} rightmouseup
/delay 2
/goto :closePack
}
} else /if (${FindItem[${fullName}].InvSlot}) {
/declare wornAt ${FindItem[${fullName}].InvSlot}
:clickIt2
/if (${Me.Ducking}) {
/goto :stopCast2
}
/if (${Me.Casting.ID}) {
/delay 2
/goto :clickIt2
}
/if (${castCount} >= 1) {
/varcalc castCount ${castCount}-1
/echo · ··-~^vV - Clicking: ${fullName}
/itemnotify ${InvSlot[${wornAt}]} rightmouseup
/goto :clickIt2
}
:stopCast2
}
/target id ${beforeShrinkTargetID}
/return
| -----------------------
| -- Event GroupShrink --
| -----------------------
Sub Event_GroupShrink
/varset lastEvent Event_GroupShrink
/declare i int local 0
/for i 1 to ${Group}
/target pc ${Group[${i}]}
/autoshrink
/delay 2
/next i
/return
| ------------------------
| -- Event LootMyCorpse --
| ------------------------
Sub Event_LootMyCorpse(string Line, string leaveSlot)
/varset lastEvent Event_LootMyCorpse
/varset leaveSlot ${leaveSlot.Right[-1]}
/declare lootTotal int local 0
/declare lootSlot int local 0
/target mycorpse
/if (!${Target.Type.Equal[CORPSE]}) {
/echo · ··-~^vV - Can't target my corpse.
/return
}
/corpse
/delay 1s
/loot
/delay 1s
/if (!${Me.State.Equal[BIND]}) {
/echo · ··-~^vV - Erro in getting onto corpse! Aborting.
/return
}
:lootLag
/varset lootTotal ${Corpse.Items}
/delay 2
/if (${lootTotal}!=${Corpse.Items}) {
/goto :lootLag
}
/declare i int local 0
/for lootSlot 1 to ${lootTotal}
/if (${leaveSlot.Length}) {
/for i 1 to ${Corpse.Item[${lootSlot}].WornSlots}
/if (${Corpse.Item[${lootSlot}].WornSlot[${i}]} == ${InvSlot[${leaveSlot}].ID}]}) {
/next lootSlot
}
/next i
}
:lootItem
/itemnotify loot${lootSlot} rightmouseup
/delay 2
/if (${Corpse.Item[${lootSlot}].ID}) {
/goto :lootItem
}
/delay 5
/next lootSlot
/delay 5
/echo · ··-~^vV - Done looting my corpse.
/notify LootWnd DoneButton leftmouseup
/return
| --------------------
| -- Event AutoLoot --
| --------------------
Sub Event_AutoLoot(string Line, string nodropItemToLoot)
/varset lastEvent Event_AutoLoot
/varset nodropItemToLoot ${nodropItemToLoot.Right[-1]}
/if (!${nodropItemToLoot.Length}) {
/if (${ldonCollect}) {
/varset nodropItemToLoot ${ldonCollectItem}
}
}
/declare lootTotal int local -1
/declare lootSlot int local 0
/if (!${Target.Type.Equal[CORPSE]}) {
/target npc corpse radius ${lootDistance}
/delay 2
}
/if (!${Target.Type.Equal[CORPSE]}) {
/echo · ··-~^vV - Cannot find corpse. Aborting!
/return
}
/face ${If[${Me.Swimming},,nolook]} fast
/keypress forward hold
/delay 5s (${Target.Distance} < 5)
/keypress forward
/loot
/delay 1s
/if (!${Me.State.Equal[BIND]}) {
/echo · ··-~^vV - Error getting to corpse! Aborting.
/return
}
/echo · ··-~^vV - Looting ${Target.CleanName}
:lootLag
/varset lootTotal ${Corpse.Items}
/delay 5
/if (${lootTotal} != ${Corpse.Items}) {
/goto :lootLag
}
/if (!${lootTotal}) {
/echo · ··-~^vV - Empty corpse!
/goto :doneLooting
}
/for lootSlot 1 to ${lootTotal}
/if (!${Me.FreeInventory}) {
/echo · ··-~^vV - INVENTORY FULL !
/varset autoLoot FALSE
/ini "PuppetMaster.ini" "Settings" "AutoLoot" "FALSE"
/echo · ··-~^vV - Auto-Loot: OFF
/goto :doneLooting
}
/if (${Corpse.Item[${lootSlot}].ID}) {
/if (!${Corpse.Item[${lootSlot}].NoDrop}) {
:lootItem
/itemnotify loot${lootSlot} rightmouseup
/delay 2
/if (${Corpse.Item[${lootSlot}].ID}) {
/goto :lootItem
}
} else /if (${nodropItemToLoot.Length} && ${Corpse.Item[${lootSlot}].Name.Equal[${nodropItemToLoot}]}) {
/echo · ··-~^vV - Looting NODROP Item: ${Corpse.Item[${lootSlot}].Name}
:lootNodropItem
/itemnotify loot${lootSlot} rightmouseup
/delay 2
/if (!${Window[ConfirmationDialogBox.Open]}) /goto :lootNodropItem
:nodropConfirm
/notify ConfirmationDialogBox Yes_Button leftmouseup
/delay 2
/if (${Window[ConfirmationDialogBox.Open]}) /goto :nodropConfirm
/if (${Corpse.Item[${LootSlot}].ID}) {
/goto :lootNodropItem
}
} else {
/echo · ··-~^vV - Skipping Item: ${Corpse.Item[${LootSlot}].Name}
}
}
/delay 2
/next lootSlot
/echo · ··-~^vV - Done looting ${Target.CleanName}
:doneLooting
/delay 5
/notify LootWnd DoneButton leftmouseup
/return
| --------------------
| -- Event AutoDrag --
| --------------------
Sub Event_AutoDrag(string Line, string corpseNames)
/varset lastEvent Event_AutoDrag
/varset corpseNames ${corpseNames.Right[-1]}
/declare i int local 1
/declare corpseCount int local 0
:countCorpses
/if (${corpseNames.Arg[${i}].Length}) {
/varcalc i ${i}+1
/goto :countCorpses
}
/varcalc i ${i}-1
/if (${i} == 0) {
/echo · ··-~^vV - No corpse names supplied!
/return
} else {
/echo · ··-~^vV - Target self (F1) to stop dragging!
}
:dragLoop
/for corpseCount 1 to ${i}
/if (${Target.ID} == ${Me.ID}) {
/echo · ··-~^vV - Body dragging ceased.
/return
}
/target "${corpseNames.Arg[${corpseCount}]}'s corpse"
/corpse
/delay 5
/next corpseCount
/goto :dragLoop
/return
| --------------------------
| -- Event RandomIllusion --
| --------------------------
Sub Event_RandomIllusion
/varset lastEvent Event_RandomIllusion
/if (${illusionCount} > 0) {
/declare i int local 0
/for i 1 to 15
/if (${Me.Buff[${i}].Spell.Name.Find[Illusion:]}) {
/varcalc i ${i}-1
/notify BuffWindow Buff${i} leftmouseup
/delay 1
/goto :illusionDropped
}
/next i
:illusionDropped
/varcalc i ${Math.Rand[${illusionCount}]}+1
/iclick Illusion_${illusions[${i}]}
/autoshrink
}
/return
| -----------------------
| -- Event SummonHorse --
| -----------------------
Sub Event_SummonHorse
/varset lastEvent Event_SummonHorse
/declare fullName string local ${Ini[PuppetMaster.ini,ClickItems,Horse_FullName]}
/if (${fullName.Equal[NULL]}) {
/echo · ··-~^vV - [Horse] not in INI file!
/return
}
/declare i int local 0
/for i 1 to 15
/if (${Me.Buff[${i}].Spell.Name.Equal[Summon Horse]}) {
/varcalc i ${i}-1
/notify BuffWindow Buff${i} leftmouseup
/delay 1
/goto :horseDropped
}
/next i
:horseDropped
/if (${FindItem[${fullName}].InvSlot.Pack}) {
/declare wasOpen bool local TRUE
:openPack
/if (!${Window[${FindItem[${fullName}].InvSlot.Pack.Name}].Open}) {
/varset wasOpen FALSE
/itemnotify ${FindItem[${fullName}].InvSlot.Pack.Name} rightmouseup
/delay 2
/goto :openPack
}
/declare cameFrom ${FindItem[${fullName}].InvSlot}
:grabItem
/itemnotify ${InvSlot[${cameFrom}]} leftmouseup
/delay 2
/if (!${Cursor.ID}) {
/goto :grabItem
}
/declare clickItemID ${Cursor.ID}
/declare wornAt pack1
:swapIn
/itemnotify ${InvSlot[${wornAt}]} leftmouseup
/delay 2
/if (${Cursor.ID} == ${clickItemID}) {
/goto :swapIn
}
/declare swappedOutItemID ${Cursor.ID}
/echo · ··-~^vV - Summoning Horse
/itemnotify ${InvSlot[${wornAt}]} rightmouseup
:clickIt
/if (${Me.Ducking}) {
/goto :swapOut
}
/if (${Me.Casting.ID}) {
/delay 2
/goto :clickIt
}
:swapOut
/itemnotify ${InvSlot[${wornAt}]} leftmouseup
/delay 2
/if (${Cursor.ID} == ${swappedOutItemID}) {
/goto :swapOut
}
:putBack
/if (${Cursor.ID} == ${clickItemID}) {
/itemnotify ${InvSlot[${cameFrom}]} leftmouseup
/delay 2
/goto :putBack
}
:closePack
/if (${Window[${InvSlot[${cameFrom}].Pack.Name}].Open} && !${wasOpen}) {
/itemnotify ${InvSlot[${cameFrom}].Pack.Name} rightmouseup
/delay 2
/goto :closePack
}
} else /if (${FindItem[${fullName}].InvSlot}) {
/declare wornAt ${FindItem[${fullName}].InvSlot}
/echo · ··-~^vV - Summoning Horse
/itemnotify ${InvSlot[${wornAt}]} rightmouseup
/if (${autoSneakHide}) {
/delay 5
:notSneaking
/if (${Me.AbilityReady["Sneak"]}) /notify ActionsWindow AAP_FifthAbilityButton leftmouseup
/delay 2
/if (${Me.Sneaking}) {
/delay 2
/goto :notSneaking
}
/if (${Me.AbilityReady["Hide"]}) /notify ActionsWindow AAP_SixthAbilityButton leftmouseup
}
:clickIt2
/if (${Me.Ducking}) {
/goto :stopCast
}
/if (${Me.Casting.ID}) {
/delay 2
/goto :clickIt2
}
:stopCast
}
/return
| --------------------
| -- Event Incoming --
| --------------------
Sub Event_Incoming
/varset lastEvent Event_Incoming
/if (${incomingCount} > 0) {
/declare i int local
/varcalc i ${Math.Rand[${incomingCount}]}+1
/docommand /${incomingChannel} ${incomingMessages[${i}]}
}
/return
| --------------------
| -- Event SetPause --
| --------------------
Sub Event_SetPause(string Line, string newPause)
/varset lastEvent Event_SetPause
/varset newPause ${newPause.Right[-1]}
/if (${newPause.Length}) {
/if (${newPause.Equal[ON]}) {
/varset isPaused TRUE
/if (!${Stick.Status.Equal[OFF]}) /squelch /stick off
} else /if (${newPause.Equal[OFF]}) {
/varset isPaused FALSE
}
} else {
/if (${isPaused}) {
/varset isPaused FALSE
} else {
/varset isPaused TRUE
/if (!${Stick.Status.Equal[OFF]}) /squelch /stick off
}
}
/echo · ··-~^vV - Status: ${If[${isPaused},PAUSED,RUNNING]}
/popup ${If[${isPaused},PAUSED,RESUMED]}
/return
| ----------------------
| -- Event SetSemiAfk --
| ----------------------
Sub Event_SetSemiAfk(string Line, string newSemiAfk)
/varset lastEvent Event_SetSemiAfk
/varset newSemiAfk ${newSemiAfk.Right[-1]}
/if (${newSemiAfk.Length}) {
/if (${newSemiAfk.Equal[ON]}) {
/varset semiAfk TRUE
} else /if (${newSemiAfk.Equal[OFF]}) {
/varset semiAfk FALSE
}
} else {
/if (${semiAfk}) {
/varset semiAfk FALSE
} else {
/varset semiAfk TRUE
}
}
/echo · ··-~^vV - Semi-Afk: ${If[${semiAfk},ON,OFF]}
/return
| ---------------------
| -- Event ReloadIni --
| ---------------------
Sub Event_ReloadIni
/varset lastEvent Event_ReloadIni
/call IniLoad
/call IllusionCheck
/call IncomingMessageLoad
/echo · ··-~^vV - Ini reloaded
/return
| ------------------------
| -- Event StatusReport --
| ------------------------
Sub Event_StatusReport
/varset lastEvent Event_DisplayHelp
/echo -=-=[ Current Settings ]=-=-
/echo · ··-~^vV - MainAssist: ${mainAssist}
/echo · ··-~^vV - Assist Message: ${assistMessage}
/echo · ··-~^vV - Assist on Message: ${If[${assistOnMessage},ON,OFF]}
/echo · ··-~^vV - TankMode: ${If[${tankMode},ON,OFF]}
/echo · ··-~^vV - Strike Skill: ${strikeSkill}
/echo · ··-~^vV - Min-Endurance: ${minEndurance}%
/echo · ··-~^vV - AutoStick: ${If[${autoStick},ON,OFF]}
/echo · ··-~^vV - Loose Stick: ${If[${looseStick},ON,OFF]}
/echo · ··-~^vV - Move Back on Stick: ${If[${moveBack},ON,OFF]}
/echo · ··-~^vV - Closeness: ${closeness}%
/echo · ··-~^vV - AutoEvade: ${If[${autoEvade},ON,OFF]}
/echo · ··-~^vV - Evade Aggro: ${If[${evadeAggro},ON,OFF]}
/echo · ··-~^vV - AutoBackstab: ${If[${autoBackstab},ON,OFF]}
/echo · ··-~^vV - AutoDisarm: ${If[${autoDisarm},ON,OFF]}
/echo · ··-~^vV - AutoIntimidate: ${If[${autoIntimidate},ON,OFF]}
/echo · ··-~^vV - AutoPickpocket: ${If[${autoPickpocket},ON,OFF]}
/echo · ··-~^vV - AutoBeg: ${If[${autoBeg},ON,OFF]}
/echo · ··-~^vV - AutoSneakHide: ${If[${autoSneakHide},ON,OFF]}
/echo · ··-~^vV - Drop Sneak in Combat: ${If[${dropSneak},ON,OFF]}
/echo · ··-~^vV - Call DI: ${If[${callDI},ON,OFF]}
/echo · ··-~^vV - Auto Join Group: ${If[${autoJoinGroup},ON,OFF]}
/echo · ··-~^vV - Auto Greet: ${If[${autoGreet},ON,OFF]}
/echo · ··-~^vV - Auto Illusion: ${If[${autoIllusion},ON,OFF]}
/echo · ··-~^vV - Auto Loot: ${If[${autoLoot},ON,OFF]}
/echo · ··-~^vV - Loot Distance: ${lootDistance}
/echo · ··-~^vV - LDON Collect: ${If[${ldonCollect},ON,OFF]}
/echo · ··-~^vV - LDON Collect Item: ${ldonCollectItem}
/echo · ··-~^vV - Auto Escape: ${If[${autoEscape},ON,OFF]}
/echo · ··-~^vV - Escape Health: ${escapeHealth}%
/echo · ··-~^vV - AutoNimble: ${If[${autoNimble},ON,OFF]}
/echo · ··-~^vV - Nimble Health: ${nimbleHealth}%
/echo · ··-~^vV - Dynamic Nimble Control: ${If[${dynamicNimble},ON,OFF]}
/return
| -----------------------
| -- Event DisplayHelp --
| -----------------------
Sub Event_DisplayHelp
/varset lastEvent Event_DisplayHelp
/echo -=-=[ Help ]=-=-
/echo · ··-~^vV - /mainassist [<main assist>]
/echo · ··-~^vV - /assistmsg [on/off/<assist message>]
/echo · ··-~^vV - /tankmode [on/off]
/echo · ··-~^vV - /strikeskill [<strike skill>]
/echo · ··-~^vV - /minend [<minimal endurance %>]
/echo · ··-~^vV - /autostick [on/off]
/echo · ··-~^vV - /loosestick [on/off]
/echo · ··-~^vV - /moveback [on/off]
/echo · ··-~^vV - /closeness [<% of max melee range>]
/echo · ··-~^vV - /autoevade [on/off]
/echo · ··-~^vV - /evadeaggro [on/off]
/echo · ··-~^vV - /autobs [on/off]
/echo · ··-~^vV - /autodisarm [on/off]
/echo · ··-~^vV - /autofear[on/off]
/echo · ··-~^vV - /autopp [on/off]
/echo · ··-~^vV - /autobeg [on/off]
/echo · ··-~^vV - /autohide [on/off]
/echo · ··-~^vV - /dropsneak [on/off]
/echo · ··-~^vV - /calldi [on/off]
/echo · ··-~^vV - /autojoin [on/off]
/echo · ··-~^vV - /autogreet [on/off]
/echo · ··-~^vV - /autoloot [on/off]
/echo · ··-~^vV - /ldoncollect [on/off/<no-drop item to collect>]
/echo · ··-~^vV - /autoescape [on/off/<% health to use it>]
/echo · ··-~^vV - /autonimble [on/off/<% health to use it> [<% health to use it on hit>]]
/echo · ··-~^vV - /dynimble [on/off]
/echo · ··-~^vV - /pause [on/off]
/echo · ··-~^vV - /semiafk [on/off]
/echo · ··-~^vV - /iclick <short item name> [<cast count>]
/echo · ··-~^vV - /iset <short item name> "<full item name>" [mustequip] [<slash command>]
/echo · ··-~^vV - /autoheal [<target health %>]
/echo · ··-~^vV - /autocure
/echo · ··-~^vV - /lootmycorpse
/echo · ··-~^vV - /drag <corpse1> [<corpse2>] ..
/echo · ··-~^vV - /kill
/echo · ··-~^vV - /doassist
/echo · ··-~^vV - /status
/echo · ··-~^vV - /help
/return
| ----------------------
| -- Sub Check_Behind --
| ----------------------
Sub Check_Behind
/declare mobDirection int local 0
/declare viewDirection int local 0
/declare i int local 0
/declare j int local 0
/varset behindTarget FALSE
/if (!${Target.ID}) /return
/for i -2 to 2
/varcalc mobDirection (${Target.Heading.Clock}+${i}+24)%12
/if (${mobDirection} == ${Me.Heading.Clock}) {
/for j -2 to 2
/varcalc viewDirection (${Target.HeadingTo.Clock}+${j}+24)%12
/if (${viewDirection} == ${Me.Heading.Clock}) {
/varset behindTarget TRUE
/return
}
/next j
/return
}
/next i
/return
| ---------------------
| -- Sub Check_Range --
| ---------------------
Sub Check_Range
/varset inRange ${If[(${Target.Distance} < ${Target.MaxRangeTo}),TRUE,FALSE]}
/return
| -----------------
| -- Sub DoStick --
| -----------------
Sub DoStick
/if (${isInfuriated}) {
/squelch /stick ${Target.MaxRangeTo} 200% ${If[(${tankMode} || ${evadingAggro}),,behind]} mpause moveback ${If[${Me.Swimming},uw,]} ${If[${looseStick},loose,]}
} else {
/squelch /stick ${Target.MaxRangeTo} ${closeness}% ${If[(${tankMode} || ${evadingAggro}),,behind]} mpause ${If[${moveBack},moveback,]} ${If[${Me.Swimming},uw,]} ${If[${looseStick},loose,]}
}
/return
| --------------------
| -- Sub AutoStrike --
| --------------------
Sub AutoStrike
/if (!${InvSlot[mainhand].Item.Type.Equal[Piercing]}) {
/return TRUE
}
/if (${Me.AbilityReady["Backstab"]}) {
/call Check_Behind
/call Check_Range
/if (${behindTarget} && ${inRange}) {
/echo · ··-~^vV - Executing Strike on: ${Target.CleanName}
/doability "Backstab"
/return TRUE
}
}
/return FALSE
| ----------------------
| -- Sub AutoBackstab --
| ----------------------
Sub AutoBackstab
/if (${Me.AbilityReady["Backstab"]} && ${InvSlot[mainhand].Item.Type.Equal[Piercing]}) {
/call Check_Range
/if (${inRange}) {
/echo · ··-~^vV - Backstabbing: ${Target.CleanName}
/doability "Backstab"
/return TRUE
}
}
/return FALSE
| --------------------
| -- Sub AutoDisarm --
| --------------------
Sub AutoDisarm
/if (${Me.AbilityReady["Disarm"]}) {
/call Check_Range
/if (${inRange}) {
/echo · ··-~^vV - Trying to disarm: ${Target.CleanName}
/doability "Disarm"
/return TRUE
}
}
/return FALSE
| ------------------------
| -- Sub AutoIntimidate --
| ------------------------
Sub AutoIntimidate
/if (${Me.AbilityReady["Intimidation"]}) {
/call Check_Range
/if (${inRange}) {
/echo · ··-~^vV - Trying to intimidate: ${Target.CleanName}
/doability "Intimidation"
/return TRUE
}
}
/return FALSE
| ------------------------
| -- Sub AutoPickpocket --
| ------------------------
Sub AutoPickpocket
/if (${Me.AbilityReady["Pick Pockets"]}) {
/if (${Target.Distance} <= 15) {
/echo · ··-~^vV - Trying to Pick Pockets of: ${Target.CleanName}
/doability "Pick Pockets"
/return TRUE
}
}
/return FALSE
| -----------------
| -- Sub AutoBeg --
| -----------------
Sub AutoBeg
/if (${Me.AbilityReady["Begging"]}) {
/call Check_Range
/if (${inRange}) {
/echo · ··-~^vV - Begging from: ${Target.CleanName}
/doability "Begging"
/return TRUE
}
}
/return FALSE
| -------------------
| -- Sub AutoEvade --
| -------------------
Sub AutoEvade
/if (${Me.AbilityReady["Hide"]}) {
/echo · ··-~^vV - Trying to evade from: ${Target.CleanName}
/attack off
/delay 1
/doability "Hide"
/attack on
/return TRUE
}
/return FALSE
| -----------------------
| -- Sub AutoSneakHide --
| -----------------------
Sub AutoSneakHide
/if (!${Me.Mount.ID} && !${reHideTimer.Value}) {
/if (${Me.AbilityReady["Sneak"]}) {
/doability "Sneak"
/delay 2
}
/if (${Me.AbilityReady["Hide"]} && ${Me.Sneaking} && !${Me.AbilityReady["Sneak"]} && !${Me.Buff[Shroud of Stealth].Duration}) /doability "Hide"
}
/return
| -----------------------------
| -- Sub IncomingMessageLoad --
| -----------------------------
Sub IncomingMessageLoad
/varset incomingCount 0
/declare i int local 0
/for i 1 to 10
/if (${Ini[PuppetMaster.ini,IncomingMessages,Message_${i}].NotEqual[NULL]} && ${Ini[PuppetMaster.ini,IncomingMessages,Message_1].Length}) {
/varcalc incomingCount ${incomingCount}+1
/varset incomingMessages[${incomingCount}] ${Ini[PuppetMaster.ini,IncomingMessages,Message_${i}]}
} else {
/ini "PuppetMaster.ini" "IncomingMessages" "Message_${i}" ""
}
/next i
/return
| -----------------------
| -- Sub IllusionCheck --
| -----------------------
Sub IllusionCheck
/varset illusionCount 0
/if (${Ini[PuppetMaster.ini,ClickItems,Illusion_DarkElf_FullName].NotEqual[NULL]}) {
/varcalc illusionCount ${illusionCount}+1
/varset illusions[${illusionCount}] DarkElf
}
/if (${Ini[PuppetMaster.ini,ClickItems,Illusion_EarthElemental_FullName].NotEqual[NULL]}) {
/varcalc illusionCount ${illusionCount}+1
/varset illusions[${illusionCount}] EarthElemental
}
/if (${Ini[PuppetMaster.ini,ClickItems,Illusion_Erudite_FullName].NotEqual[NULL]}) {
/varcalc illusionCount ${illusionCount}+1
/varset illusions[${illusionCount}] Erudite
}
/if (${Ini[PuppetMaster.ini,ClickItems,Illusion_FireElemetal_FullName].NotEqual[NULL]}) {
/varcalc illusionCount ${illusionCount}+1
/varset illusions[${illusionCount}] FireElemetal
}
/if (${Ini[PuppetMaster.ini,ClickItems,Illusion_Gnome_FullName].NotEqual[NULL]}) {
/varcalc illusionCount ${illusionCount}+1
/varset illusions[${illusionCount}] Gnome
}
/if (${Ini[PuppetMaster.ini,ClickItems,Illusion_HalfElf_FullName].NotEqual[NULL]}) {
/varcalc illusionCount ${illusionCount}+1
/varset illusions[${illusionCount}] HalfElf
}
/if (${Ini[PuppetMaster.ini,ClickItems,Illusion_Halfling_FullName].NotEqual[NULL]}) {
/varcalc illusionCount ${illusionCount}+1
/varset illusions[${illusionCount}] Halfling
}
/if (${Ini[PuppetMaster.ini,ClickItems,Illusion_HighElf_FullName].NotEqual[NULL]}) {
/varcalc illusionCount ${illusionCount}+1
/varset illusions[${illusionCount}] HighElf
}
/if (${Ini[PuppetMaster.ini,ClickItems,Illusion_Human_FullName].NotEqual[NULL]}) {
/varcalc illusionCount ${illusionCount}+1
/varset illusions[${illusionCount}] Human
}
/if (${Ini[PuppetMaster.ini,ClickItems,Illusion_Iksar_FullName].NotEqual[NULL]}) {
/varcalc illusionCount ${illusionCount}+1
/varset illusions[${illusionCount}] Iksar
}
/if (${Ini[PuppetMaster.ini,ClickItems,Illusion_Ogre_FullName].NotEqual[NULL]}) {
/varcalc illusionCount ${illusionCount}+1
/varset illusions[${illusionCount}] Ogre
}
/if (${Ini[PuppetMaster.ini,ClickItems,Illusion_Skeleton_FullName].NotEqual[NULL]}) {
/varcalc illusionCount ${illusionCount}+1
/varset illusions[${illusionCount}] Skeleton
}
/if (${Ini[PuppetMaster.ini,ClickItems,Illusion_VahShir_FullName].NotEqual[NULL]}) {
/varcalc illusionCount ${illusionCount}+1
/varset illusions[${illusionCount}] VahShir
}
/if (${Ini[PuppetMaster.ini,ClickItems,Illusion_WoodElf_FullName].NotEqual[NULL]}) {
/varcalc illusionCount ${illusionCount}+1
/varset illusions[${illusionCount}] WoodElf
}
/return