I was messing around with creating a built-in /twist and it was going so easily that i ended up accidentally finishing a working copy in like 10 minutes and a better working copy in under 90.
So it isn't complete by any means, but it seems to be working as good/better than mq2twist for handling bard songs. It doesn't handle any items or AAs atm. I haven't even had the chance to battle test it other than standing around twisting songs. So if people would like to test it out:
Added command /bottwist, usage is just like /twist except not as elaborate atm:
/bottwist 1 2 3 4 12 <-- will twist spell gem 1,2,3,4,12
/bottwist once 1 <-- will twist spell gem 1 one time
/bottwist off <-- will stop twisting
You are probably asking what it does differently. It doesnt try to interrupt items casting and auto-calculates times spells/songs so there should be as minimal gap as possible, this reducing spam messages and allowing you to potentially twist more songs.
Additionally, because this is internal, i can add whatever TLO members people would like. Some examples would be (these are not created, just ideas):
Bot.CurrentSong <- would tell you current song and you could either have it by spelltype or gem or whatever. If by spell type, it lets you access mana costs and whatnot so you dont try to use spells/songs you dont have enough mana for.
Bot.PreviousSong <- last played song
Bot.NextSong <- next song to play
Bot.Twisting <- am i twisting?
Bot.TwistList <- what is my full list of songs
Bot.Twist[3] <- what is the third song in my twist
etc, etc.
I could give higher fidelity info if people wanted it. Anyway, if folks would like to give it a whirl and see if it works at least as good as mq2twist (preferably better) then I can start finishing it into a final product. TLO member suggestions are welcome as always.