Shifter 2 is a complete rewrite of Shifter which was an Ace2 conversion of AceSwiftShift, it is in alpha stages atm but the basic functionality is there (i.e. shifting hehe) but there is no dismounting or combining travel and aquatic forms. For now if you don't
want to test just use Shifter. But if you want to try it out you can get it here.
This is an updated version of AceSwiftShift converted over to Ace2. Credit goes to Thirsterhall/facboy
for the original AceSwiftShift and to Gureaza for actually making it work.
there are 2 ways to use Shifter
1)make several macros with Shifter:Shift(*name of form you want to shift to*) (valid forms are 'Humanoid Form', 'Bear Form', 'Cat Form', 'Moonkin Form', 'Aquatic Form' and 'Travel Form')
2)change your keybindings under Shifter
it also has 2 options...or it should once they are working
/Shifter spam *sets the number of seconds until you can shift again, usefull for button mashers*
/Shifter mount *toggle whether Travel Form will attempt to use your mount*
*note* this version is untested, it should work but I can only drycode atm until i get my account renewed *sigh*
so if you have any bugs I'll try to fix them but no promises
I had a go at debugging it earlier but more and more things kept cropping up and seeing as I don't have any lua or Ace experience so when I got to the errors with RegisterChatCommand I just got confuzzled and gave up...
I'll give it another go a bit later.
I haven't taken a look at the code, as I am at work, but did you include the ability to 'auto-shift' when you hit an ability that you can't use for bear and cat form? I added this in as I found the original one lacked what I considered 2/3rds of the functionality I wanted out of it. If you haven't included what I posted on the forums I can supply you with the code I used to allow for this functionality in the old one.
@Akkuma, I'm not sure if thats included or not so go ahead and post it. I have so many druid addons that one of them might be transforming me out hehe
@Elp and Andaer, thanks for trying it out, sorry it doesnt work yet :).
Here is the modified version I run of the original AceSwiftShift without any problem to switch into cat form when I try to use a cat ability and then switch back to human if I try to do a bear ability or vice versa. The code itself should be pretty self explanatory anyways.
Something I added to my personaly copy of AceSwiftShift ages ago was swapping my action bar to page 2 when I gained prowl and back again when I lost prowl basicly duplication the rogue's 2nd action bar for stealth.
New version uploaded with your changes Akkuma :).
@Thirsterhall, interesting idea, I'll think about adding it but first I really need to just get the thing working hehe*grumbles about bills and his WoW account expiring too soon* :P
[2006/08/27 22:44:43-104]: Shifter\Shifter.lua:85: attempt to index global `ShifterLocals' (a nil value)
Shifter\Shifter.lua:85: in function `SetMountItem'
Shifter\Shifter.lua:112: in function `Shift'
<string>:"Shifter_BearForm":2: in main chunk
OK, I can see the issue there. I think Greywind wanted some slightly cleaner code on that line than I provided, but the line needs to change just slightly:
line 130 was:
if (f == ShifterLocals.BearForm or ShifterLocals.DireBearForm) then
I think it should be:
if (f == ShifterLocals.BearForm or f == ShifterLocals.DireBearForm) then
I actually had code referencing a different variable, that I really shouldn't have been using. I feel like there should be a good way to get to the actual constant used in the key binding, but it's not clear how to get to that...