Moderator: MacroQuest Developers

Code: Select all
/if (${ChatText.Equal["follow me"]}) {
/if (!${AllowAutoFollow}) /return
/squelch /stick off
/squelch /moveto off
/target ${ChatSender}
/delay 1s ${Target.CleanName.Equal[${ChatSender}]}
/call FollowFunction "${Target.CleanName}"
/varset following ${ChatSender}
/return
}



Code: Select all
| #################### The Single boofs stuff routine kinda
| Im sure there is a better way to do this.
| But this is what I could crackup at work.
Sub SingleBuffs
/declare i int local 1
/declare g int local 0
/declare h int local 1
/declare Classes int local 0
/declare sID int local 0
/if (!${SpellBuff.Size[1]}) /return
/for i 1 to ${SpellBuff.Size[1]}
/if (${Spell[${SpellBuff[${i},1]}].Mana} > ${Me.CurrentMana}) /return
/varset Classes ${String[${SpellBuff[${i},2]}].Count[,]}
/if (${Bool[${SpellBuff[${i},3]}]}) {
/for g 0 to ${Math.Calc[${Group.Members}+${otherBuffees.Size}]}
/if (${g}<=${Group.Members}) {
/varset sID ${Group.Member[${g}].ID}
} else {
/varset sID ${Spawn[${otherBuffees[${Math.Calc[${g}-${Group.Members}]}]}].ID}
}
/squelch /declare SpellBufftmr${i}${Spawn[${sID}].Name} timer global 0
/if (${SpellBufftmr${i}${Spawn[${sID}].Name}}>0 && ${Spawn[${sID}].Type.Equal[Corpse]}) /resetbuffs corpse ${Spawn[${sID}].CleanName}
/if (!${Spawn[${sID}].Type.Equal[Corpse]} && ${SpellBufftmr${i}${Spawn[${sID}].Name}}<=0) {
/call SpellInformation "${SpellBuff[${i},1]}"
/for h 1 to ${Classes}
/if (${Spawn[${sID}].Class.Name.Equal[${String[${SpellBuff[${i},2]}].Arg[${h},,]}]}) {
/target id ${sID}
/delay 1s ${Target.ID}==${Spawn[${sID}].ID}
/if (${Target.Distance}<=${Spell[${SpellBuff[${i},1]}].Range}) {
/if (${Me.CurrentMana}<${Spell[${SpellBuff[${i},1]}].Mana}) {
/return
}
/call checkCanCast "${SpellBuff[${i},1]}" gem${SpellBuffsGem}
/if (!${Macro.Return}) /return
/call EquipItem ${BuffFocusItem}
/varset MainItem ${Macro.Return}
/call FullStop
/call cast "${SpellBuff[${i},1]}" gem${SpellBuffsGem} ${SpCastTime} CheckForHeal
/varset tookAction 1
/if (${Macro.Return.Equal[CAST_SUCCESS]} || ${spellNotHold}) {
/varset SpellBufftmr${i}${Spawn[${sID}].Name} ${Math.Calc[${Math.Calc[${SpDuration}-${SpCastTime}]}-${Math.Calc[300-${Math.Calc[${Spell[${SpellBuff[${i},1]}].RecastTime}*10]}]}]}
} else /if (${Macro.Return.Equal[CAST_OUTOFRANGE]}) {
/call AttemptAvoid ${sID} ${Spell[${SpellBuff[${i},1]}].Range}
} else {
/varset SpellBufftmr${i}${Spawn[${sID}].Name} 10
/call EquipItem ${MainItem}
/next h
}
/call EquipItem ${MainItem}
/return
} else {
/call AttemptAvoid ${Spawn[${sID}].ID} ${Spell[${SpellBuff[${i},1]}].Range}
/varset SpellBufftmr${i}${Spawn[${sID}].Name} 10
/next h
}
}
/next h
}
/next g
}
/next i
/return