Download
(6Kb)
Download
Updated: 03-08-11 06:37 AM
Updated:03-08-11 06:37 AM
Created:12-07-10 08:41 AM
Downloads:3,084
Favorites:21
MD5:

Auto Transform

Version: 2.2
by: SDPhantom [More]

-=Notice=-

As of patch 4.1, the entire transformation API has been removed from the game. Transformations are now exclusively triggered through the spell system and is impossible to set it up automatically. Sorry to say, this addon is permanently broken.






Auto Transform is a transformation engine written to handle transformations of specific races/classes. Currently, only Worgen use the transformation mechanic, but this redesign of Worgen Auto Transform adds the ability to expand to any future characters using this mechanic.


Version 2.2 fixes an occasional trigger failure on buff fade events concerning Darkflight and Running Wild. Also included is a movable TimerUI button that displays addon status along with the current timer for any pending transformations.


The TimerUI button reacts to clicks in the following ways:
Left-Click: Triggers an immediate transform if possible.
Right-Click: Toggles the addon on/off.
Middle-Click: Opens the options panel.


The TimerUI button also displays the addon status by color code:
Normal: The addon is running and fully functional.
Red: The game client is restricting transformations.
Blue: The addon is turned off.


List of current transformation events being handled for specific races/classes:

  • Worgen - Exiting combat, expiration of Darkflight, canceling Running Wild, and a fix for transforming into a druid form.


Options can be changed through the new options panel in Interface Options or through the slash command system.
These commands can be accessed by typing /autotransform, /autotrans, or /atf
Auto-Transform Usage: /autotransform [options]
Options:
help - Shows this message.
delay [n] - Sets base delay to [n] seconds.
toggle - Toggles active state.
options - Displays options GUI. (Default action)

2.2 (2011-03-08)
-Added TimerUI button and Options panel
-Fixed occasional failure to trigger on buff fading (Darkflight and Running Wild)

2.1 (2010-12-15)
-Fixed delay timer cancel on manual transform
-Extended module API for new cancel condition type

2.0 (2010-12-13)
-Rewrote entire codebase to support delayed transforms
-New slash command system
-Option to set a base delay
-Delay timer cancels on manual transform
-Added Druid fix for Worgen

1.0 (2010-12-07)
-Initial Version
Optional Files (2)
File Name
Version
Size
Author
Date
Type
1.0
1022B
12-09-10 10:02 PM
Addon
1.0
692B
12-09-10 10:00 PM
Addon


Post A Reply Comment Options
Unread 12-12-10, 06:42 PM  
Mightylink
A Kobold Labourer
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 14
Uploads: 1
Originally posted by SDPhantom
Already in the new version, as an adjustable configuration.
I just need to make some more tweaks to work out a couple problems.
Awesome, whats the command to adjust it, I don't see it on the info page yet.
Report comment to moderator  
Reply With Quote
Unread 12-11-10, 11:21 PM  
SDPhantom
A Pyroguard Emberseer
 
SDPhantom's Avatar
AddOn Author - Click to view AddOns

Forum posts: 2327
File comments: 132
Uploads: 38
Originally posted by submission
can we get a time delay on transforming back to human?
Say 90 seconds or even 3 minutes?
Love this plugin the pause would make it perfect.
Already in the new version, as an adjustable configuration.
I just need to make some more tweaks to work out a couple problems.
__________________
WoWInterface AddOns
"All I want is a pretty girl, a decent meal, and the right to shoot lightning at fools."
-Anders (Dragon Age: Origins - Awakening)
Report comment to moderator  
Reply With Quote
Unread 12-11-10, 07:25 PM  
submission
A Kobold Labourer

Forum posts: 0
File comments: 1
Uploads: 0
can we get a time delay on transforming back to human?

Say 90 seconds or even 3 minutes?

As is:
Fight - transform - Fight - transform - Fight - transform - Fight - Transform.

With pause:
Fight -Fight -Fight -Fight -Fight - 2min of no combat etc - transform.


Love this plugin the pause would make it perfect.
Report comment to moderator  
Reply With Quote
Unread 12-11-10, 03:22 PM  
Foobs
A Kobold Labourer

Forum posts: 0
File comments: 4
Uploads: 0
Originally posted by SDPhantom
After some testing, I found this to be a glitch on Blizzard's end. The event associated with running wild fails to fire in this case. I might be able to get it to work, but it's going to take some time to develop a workaround that won't cause more problems.

Edit: After some additional testing, I think I have found a compatible replacement event, but I'll have to do some extra processing to be sure it runs right. COMPANION_UPDATE seems to fire, passing MOUNT as an argument when going in and out of Running Wild. This is a better method than my original idea of trying to use UNIT_AURA. Both events fire despite the lack of CLEU firing.

Edit2: And more testing later, I can't seem to find any means of checking the state of Running Wild from the COMPANION_UPDATE event, I guess I'm left with buff checking from UNIT_AURA.

Edit3: I got the UNIT_AURA event to work and ran into another Blizzard glitch that makes this fix impossible at the moment. It seems that if you enter a portal while Running Wild is active, Blizzard fails to update the transformation lock even if Running Wild is removed by zoning.
I wish I had your abilities- so I could be of use, but since I can't - I'm gonna be cheering you on in spirit! Thnx for all of this!
Report comment to moderator  
Reply With Quote
Unread 12-11-10, 12:35 PM  
SDPhantom
A Pyroguard Emberseer
 
SDPhantom's Avatar
AddOn Author - Click to view AddOns

Forum posts: 2327
File comments: 132
Uploads: 38
Originally posted by duhwhat
great addon. i found one issue. if you are in "running wild" form and take a portal, once you cross the portal you will remain in worgen form even after being dismounted by taking the portal.
After some testing, I found this to be a glitch on Blizzard's end. The event associated with running wild fails to fire in this case. I might be able to get it to work, but it's going to take some time to develop a workaround that won't cause more problems.

Edit: After some additional testing, I think I have found a compatible replacement event, but I'll have to do some extra processing to be sure it runs right. COMPANION_UPDATE seems to fire, passing MOUNT as an argument when going in and out of Running Wild. This is a better method than my original idea of trying to use UNIT_AURA. Both events fire despite the lack of CLEU firing.

Edit2: And more testing later, I can't seem to find any means of checking the state of Running Wild from the COMPANION_UPDATE event, I guess I'm left with buff checking from UNIT_AURA.

Edit3: I got the UNIT_AURA event to work and ran into another Blizzard glitch that makes this fix impossible at the moment. It seems that if you enter a portal while Running Wild is active, Blizzard fails to update the transformation lock even if Running Wild is removed by zoning.
__________________
WoWInterface AddOns
"All I want is a pretty girl, a decent meal, and the right to shoot lightning at fools."
-Anders (Dragon Age: Origins - Awakening)
Last edited by SDPhantom : 12-11-10 at 03:02 PM.
Report comment to moderator  
Reply With Quote
Unread 12-11-10, 11:18 AM  
Foobs
A Kobold Labourer

Forum posts: 0
File comments: 4
Uploads: 0
Originally posted by SDPhantom
My initial tests on a Worgen Druid is showing that the worgen form is forced when transforming into a druid form. So far, I'm only able to test cat form. Transforming is not locked while in a feral form, so the addon triggering by any event currently watched should return you back into human form internally. Shifting out of a druid form afterwards would return you to human form.





Can someone else confirm this by following these steps?
Please test on all druid forms, even aquatic, travel, and flight.


TEST 1:
  1. Start out in human form.
  2. Transform into any druid form.
  3. Immediately transform out of the druid form.
Result: You should now be in worgen form.


TEST 2:
  1. Follow steps 1 and 2 in TEST 1.
  2. Type /transform
  3. Follow step 3 in TEST 1.
Result: You should be in human form.
After doing your test-- and typing /transform I changed back to human.


Edit: I'd just like to add its really remarkable how much effort and work the Mod creator has undertaken-- THANK YOU for this I am grateful.
Last edited by Foobs : 12-11-10 at 11:33 AM.
Report comment to moderator  
Reply With Quote
Unread 12-11-10, 11:17 AM  
SDPhantom
A Pyroguard Emberseer
 
SDPhantom's Avatar
AddOn Author - Click to view AddOns

Forum posts: 2327
File comments: 132
Uploads: 38
Originally posted by duhwhat
great addon. i found one issue. if you are in "running wild" form and take a portal, once you cross the portal you will remain in worgen form even after being dismounted by taking the portal.
I'll look into this. I also ran into a glitch in the Blizzard code itself, if you teleport into a LFD dungeon while Running Wild is on, the transformation is locked out and you'll remain in worgen form throughout the entire instance.



Originally posted by Algara
I registered just to post in this comment area. That is what is happening for me. I only noticed it started happening yesterday, so maybe the hotfix had something to do with it. I don't make WoW addons, but I do develop software for a living. I played around with the code a bit by adding SPELL_AURA_FADES for the feral forms, that seemed to fix it for one cycle (shift in and then out of feral form). But then the self.proc variable was still stuck at true and then the event check if-else logic would never actually be reached. Still worked fine when leaving combat. Removing the self.proc=true line fixed it for out of combat but understandably broke it when leaving combat because it was picking up both the player regen and COMBAT_LOG_UNFILTERED events. Hope that helps. :O

Edit: Oh, and this happened with all forms that I was able to test at the time (bear, travel, regular flight, cat).
The self.proc variable is a limiter in which only one method of the two are used at any one time. The idea was that the code would attempt to handle a transformation on the event that triggers it if the client would allow it at the time. If not, it would tell the onupdate handler to watch for when the next time it can transform. These are the instant and delayed handlers respectively. To prevent the handlers from running a transform twice, the instant also tells the delayed if it has already run, therefore telling it to ignore whatever it was told to process previously.



With my theory correct, I've applied a patch to the new version triggering on UPDATE_SHAPESHIFT_FORM when GetShapeshiftForm() returns a value greater than zero (when you enter a form). This is to get the code to act as close to the forced worgen transformation as soon as possible to prevent conflicts with the other registered events. The addon will be renamed "Auto-Transform" as the new version has been rewritten to be a transformation engine with module code to register events to act on for a specific race and/or class. This is for future expansion of this addon if Blizzard decides to use this mechanic for any additional characters. The new version also supports setting a base delay through the slash command system in addition to a per-event delay I can set if needed. There are a couple more conditions I need to check and it can be expected to be released either later today or tomorrow.
__________________
WoWInterface AddOns
"All I want is a pretty girl, a decent meal, and the right to shoot lightning at fools."
-Anders (Dragon Age: Origins - Awakening)
Last edited by SDPhantom : 03-08-11 at 04:44 PM.
Report comment to moderator  
Reply With Quote
Unread 12-11-10, 10:37 AM  
duhwhat
A Wyrmkin Dreamwalker

Forum posts: 51
File comments: 236
Uploads: 0
great addon. i found one issue. if you are in "running wild" form and take a portal, once you cross the portal you will remain in worgen form even after being dismounted by taking the portal.
Report comment to moderator  
Reply With Quote
Unread 12-11-10, 09:10 AM  
Algara
A Kobold Labourer

Forum posts: 0
File comments: 1
Uploads: 0
I registered just to post in this comment area. That is what is happening for me. I only noticed it started happening yesterday, so maybe the hotfix had something to do with it. I don't make WoW addons, but I do develop software for a living. I played around with the code a bit by adding SPELL_AURA_FADES for the feral forms, that seemed to fix it for one cycle (shift in and then out of feral form). But then the self.proc variable was still stuck at true and then the event check if-else logic would never actually be reached. Still worked fine when leaving combat. Removing the self.proc=true line fixed it for out of combat but understandably broke it when leaving combat because it was picking up both the player regen and COMBAT_LOG_UNFILTERED events. Hope that helps. :O

Edit: Oh, and this happened with all forms that I was able to test at the time (bear, travel, regular flight, cat).
Last edited by Algara : 12-11-10 at 09:13 AM.
Report comment to moderator  
Reply With Quote
Unread 12-11-10, 03:28 AM  
SDPhantom
A Pyroguard Emberseer
 
SDPhantom's Avatar
AddOn Author - Click to view AddOns

Forum posts: 2327
File comments: 132
Uploads: 38
My initial tests on a Worgen Druid is showing that the worgen form is forced when transforming into a druid form. So far, I'm only able to test cat form. Transforming is not locked while in a feral form, so the addon triggering by any event currently watched should return you back into human form internally. Shifting out of a druid form afterwards would return you to human form.





Can someone else confirm this by following these steps?
Please test on all druid forms, even aquatic, travel, and flight.


TEST 1:
  1. Start out in human form.
  2. Transform into any druid form.
  3. Immediately transform out of the druid form.
Result: You should now be in worgen form.


TEST 2:
  1. Follow steps 1 and 2 in TEST 1.
  2. Type /transform
  3. Follow step 3 in TEST 1.
Result: You should be in human form.
__________________
WoWInterface AddOns
"All I want is a pretty girl, a decent meal, and the right to shoot lightning at fools."
-Anders (Dragon Age: Origins - Awakening)
Last edited by SDPhantom : 12-11-10 at 03:32 AM.
Report comment to moderator  
Reply With Quote
Unread 12-10-10, 09:58 PM  
Foobs
A Kobold Labourer

Forum posts: 0
File comments: 4
Uploads: 0
Love this addon, works fantastic!!

Is there a possibility to add more events, such as druid form changes.

I have a Worgen Druid, as you may have guessed, and when she comes out of travel form or any form with out engaging in combat she stays a Worgen. Can you add shape shifting events so that activates her back to human form!?

Much thanks!!

Edit: Just noticed others are having the same issue with druid forms. I'll just wait for the patch. Thank so much loving the mod!!
Report comment to moderator  
Reply With Quote
Unread 12-09-10, 10:32 PM  
kanezfan
A Murloc Raider

Forum posts: 5
File comments: 8
Uploads: 0
Originally posted by SDPhantom
I only really tested it as a Balance Druid in Moonkin form, maybe tried Cat form. I don't remember. Sadly, there isn't a function that reliably tells you if you are in worgen form, so it's pretty much betting on the fact you're forced into it until the specific events say you can change back. This certainly raises more questions as to what's going on.
Either way, I want to thank you for making this add-on. I will be making a worgen rogue as well and I only want her to be a worgen in combat, human at all other times so I'm really happy you wrote this

Thanks!
Report comment to moderator  
Reply With Quote
Unread 12-09-10, 10:30 PM  
SDPhantom
A Pyroguard Emberseer
 
SDPhantom's Avatar
AddOn Author - Click to view AddOns

Forum posts: 2327
File comments: 132
Uploads: 38
I only really tested it as a Balance Druid in Moonkin form, maybe tried Cat form. I don't remember. Sadly, there isn't a function that reliably tells you if you are in worgen form, so it's pretty much betting on the fact you're forced into it until the specific events say you can change back. This certainly raises more questions as to what's going on.
__________________
WoWInterface AddOns
"All I want is a pretty girl, a decent meal, and the right to shoot lightning at fools."
-Anders (Dragon Age: Origins - Awakening)
Report comment to moderator  
Reply With Quote
Unread 12-09-10, 10:20 PM  
kanezfan
A Murloc Raider

Forum posts: 5
File comments: 8
Uploads: 0
Hey just wanted to post to let you know that it does indeed work when exiting cat form, but in bear form, if you're feral you will most likely have the Furor talent, which when you transform into bear, it gives you ten rage. That somehow messes with the add-on because I always pop out of bear form as a worgen. Don't know if that helps you making it work or not but figured I'd let you know.
Report comment to moderator  
Reply With Quote
Unread 12-09-10, 10:05 PM  
SDPhantom
A Pyroguard Emberseer
 
SDPhantom's Avatar
AddOn Author - Click to view AddOns

Forum posts: 2327
File comments: 132
Uploads: 38
Just uploaded 2 sets of patches, they should show up in the optional files list. Each one handles muting the transformation sounds in a single direction. One for in and one for out of worgen form.
__________________
WoWInterface AddOns
"All I want is a pretty girl, a decent meal, and the right to shoot lightning at fools."
-Anders (Dragon Age: Origins - Awakening)
Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump: