Sub MashButtons(TarID)
/declare i int local
/declare MashThis string local
/for i 1 to ${MashArray.Size}
/doevents
/varset MashThis ${MashArray[${i}].Arg[1,|]}
/if (${MashThis.Length}==0 || ${MashThis.Equal[null]}) /return
/if (!${ConditionsOn} || !${DPSCOn} || ${If[${MashCond[${i}]},1,0]}) {
/if (${FindItem[=${MashThis}].ID} && ${Me.ItemReady[${MashThis}]}) {
/useitem "${MashThis}"
/echo ## Mashing >> ${MashThis} <<
} else /if (${Me.AltAbility[${MashThis}]} && ${Me.AltAbilityReady[${MashThis}]} && ${Me.AltAbility[${MashThis}].Type}!=5 && ${MashThis.NotEqual[twincast]}) {
/alt act ${Me.AltAbility[${MashThis}].ID}
/echo ## Mashing >> ${MashThis} <<
} else /if (${Me.CombatAbility[${MashThis}]} && !${Me.CombatAbilityTimer[${MashThis}]} && ${Me.CombatAbilityReady[${MashThis}]} && ${Spell[${MashThis}].EnduranceCost}<${Me.Endurance}) {
/disc ${Me.CombatAbility[${Me.CombatAbility[${MashThis}]}].ID}
/echo ## Mashing >> ${MashThis} <<
} else /if (${Me.Ability[${MashThis}]} && ${Me.AbilityReady[${MashThis}]}) {
/doability "${MashThis}"
/echo ## Mashing >> ${MashThis} <<
}
/delay 3
}
/next i
/return 0