PetInstance - ChangeLog and Git Repository
A little addon to change pet ability autocast states and aggression (passive, defensive, aggressive) on entering an instance/battleground and revert back to their previous states on leaving the instance.
The addon has seperate settings for battlegrounds from instances, and has a "persist" behavior which one can toggle. When "persist" is enabled, it will re-apply the settings every time you hit the macro in question, otherwise it does it just once upon zoning into the instance. WIth it disabled, one could change the pet's behavior after zoning and it will stay that way, so you can override the addon. With it enabled, you can do a /autocaston Growl in your (if BM) Intimidation macro, and it'll stay that way until you send the pet to the next mob, which is helpful for quick offtanking, to grab a loose mob.
Defaults:
Growl off in instances and battlegrounds both.
Other autocast for pet spells are left as is.
Aggressive in battlegrounds.
Passive in instances.
Usage:
Configurable either via the Interface Options menu or /peti or /petinstance.
Add '/click PetInstanceButton' to a macro you use regularly (I use my pet attack macro).
Change Log - PetInstance
13:
- Use AceDialog-3.0 to inject our options into the blizzard interface options.
- Make the slash command open the options via the interfaceoptionsframe.
- Update toc interface version for 2.4.
12:
- Fix some bugs related to doing a reloadui or relog.
11:
- Update embedded libraries.
10:
- Treat arena like battlegrounds.
9:
- Don't add the pet abilities section to the options dialog until we've
seen a pet.
- Simplify the db handling.
8:
- Added seperate aggression and autocast options for battlegrounds vs
regular instances, as I got sick of it setting my pet to passive in bg.
7:
- Fix copy/paste bug resulting in the autocast options only toggling
between true/false, not true/false/nil.
6:
- Fix a bug in the set() method for the Temporary option (would error if
you clicked temporary while in an instance).
5:
- Add 'Aggression' option, to change pet aggression in instances.
- Change the 'Temporary' option on the fly, so you don't have to zone out
of the instance and back in after changing the option to see the change.
4:
- Fix bug with pet ability scanning when you first login (I'd thought I
fixed this previously, but I guess not. In previous versions, you'd
have to /console reloadui, or dismiss the pet, to get it to pick up the
abilities).
3:
- Add 'Temporary' option, which re-applies your autocast settings every
time, rather than only the first time, when in an instance.
- Fixed bug with pet ability autocast state checking, it was incorrectly
picking up all the abilities as autocasting, so enabled them all when
leaving the instance.
2:
- Add some missing embedded libraries so it works without standalone Ace3.
1:
- Initial Release.
Optional Files - PetInstance
Sorry, there are currently no optional files available.
Originally posted by KayossZero Will give it a shot later tonight, and yeah that may be the issue, I know I did reloadui once, but I did delete PetI's savedvar's tonight with no effect.
Originally posted by kergoth Did you happen to have reloaded your ui or relogged at any point? I noticed a couple bugs that'd prevent it from applying the settings in the instance or reverting them out of the instance if the ui was reloaded at any point. I'm not seeing anything else in the code that could cause a problem, and repeatedly zoning into and out of ZF doesn't see any issues for me.
Will give it a shot later tonight, and yeah that may be the issue, I know I did reloadui once, but I did delete PetI's savedvar's tonight with no effect.
EDIT: Seems to be working now.
Last edited by KayossZero : 01-24-2008 at 07:31 AM.
Originally posted by KayossZero V11 doesn't seem to be working, GUI works but pets abilities do not change auto cast settings. Tested in Hyjal tonight.
Did you happen to have reloaded your ui or relogged at any point? I noticed a couple bugs that'd prevent it from applying the settings in the instance or reverting them out of the instance if the ui was reloaded at any point. I'm not seeing anything else in the code that could cause a problem, and repeatedly zoning into and out of ZF doesn't see any issues for me.
Small nitpick, when you change Pet Aggression settings the drop down menu isn't on top of the Autocast Config settings and is hard to see. Seems to be working fine other wise.
Originally posted by KayossZero Getting this error with V10 when I try to open options menu: (Assuming its an Ace issue?)
[2008/01/20 19:36:14-636-x1]: AceConfigDialog-3.0\AceConfigDialog-3.0.lua:1219: AceConfigRegistry-3.0:ValidateOptionsTable(): PetInstance.args.desc.type: unknown type 'description'
AceConfigRegistry-3.0\AceConfigRegistry-3.0.lua:46: in function <...-3.0\AceConfigRegistry-3.0\AceConfigRegistry-3.0.lua:41>
AceConfigRegistry-3.0\AceConfigRegistry-3.0.lua:181: in function <...-3.0\AceConfigRegistry-3.0\AceConfigRegistry-3.0.lua:168>
AceConfigRegistry-3.0\AceConfigRegistry-3.0.lua:203: in function <...-3.0\AceConfigRegistry-3.0\AceConfigRegistry-3.0.lua:168>
AceConfigRegistry-3.0\AceConfigRegistry-3.0.lua:234: in function `ValidateOptionsTable'
AceConfigRegistry-3.0\AceConfigRegistry-3.0.lua:280: in function `app'
AceConfigDialog-3.0\AceConfigDialog-3.0.lua:1219: in function `Open'
PetInstance\PetInstance.lua:369: in function `?'
AceConsole-3.0\AceConsole-3.0.lua:55: in function `value'
Interface\FrameXML\ChatFrame.lua:3110: in function `ChatEdit_ParseText':
Interface\FrameXML\ChatFrame.lua:2802: in function `ChatEdit_SendText':
Interface\FrameXML\ChatFrame.lua:2823: in function `ChatEdit_OnEnterPressed':
<string>:"*:OnEnterPressed":1: in function <[string "*:OnEnterPressed"]:1>
---
I'll try some more later. EDIT: The mod is using my old settings and working however, its just the options window borked atleast for me.
Argh, my fault. I had a newer Ace3 library installed standalone. I'll upload a version with a newer embedded lib.
Getting this error with V10 when I try to open options menu: (Assuming its an Ace issue?)
[2008/01/20 19:36:14-636-x1]: AceConfigDialog-3.0\AceConfigDialog-3.0.lua:1219: AceConfigRegistry-3.0:ValidateOptionsTable(): PetInstance.args.desc.type: unknown type 'description'
AceConfigRegistry-3.0\AceConfigRegistry-3.0.lua:46: in function <...-3.0\AceConfigRegistry-3.0\AceConfigRegistry-3.0.lua:41>
AceConfigRegistry-3.0\AceConfigRegistry-3.0.lua:181: in function <...-3.0\AceConfigRegistry-3.0\AceConfigRegistry-3.0.lua:168>
AceConfigRegistry-3.0\AceConfigRegistry-3.0.lua:203: in function <...-3.0\AceConfigRegistry-3.0\AceConfigRegistry-3.0.lua:168>
AceConfigRegistry-3.0\AceConfigRegistry-3.0.lua:234: in function `ValidateOptionsTable'
AceConfigRegistry-3.0\AceConfigRegistry-3.0.lua:280: in function `app'
AceConfigDialog-3.0\AceConfigDialog-3.0.lua:1219: in function `Open'
PetInstance\PetInstance.lua:369: in function `?'
AceConsole-3.0\AceConsole-3.0.lua:55: in function `value'
Interface\FrameXML\ChatFrame.lua:3110: in function `ChatEdit_ParseText':
Interface\FrameXML\ChatFrame.lua:2802: in function `ChatEdit_SendText':
Interface\FrameXML\ChatFrame.lua:2823: in function `ChatEdit_OnEnterPressed':
<string>:"*:OnEnterPressed":1: in function <[string "*:OnEnterPressed"]:1>
---
I'll try some more later. EDIT: The mod is using my old settings and working however, its just the options window borked atleast for me.
Last edited by KayossZero : 01-21-2008 at 01:10 AM.
Originally posted by KayossZero Will do when I get some free time tonight before or after raiding.
EDIT: Doesn't seem to be working at all inside BT, config menu works but settings having no effect.
I'm not able to reproduce this.. I did find a bug where the autocast config checkboxes were only switching between off and on, no toggle to tell it to not mess with that ability at all.. but it seems to be functioning here, at least in testing on my bank (17 lock) in the instance in Orgrimmar. I'll mess with my hunter in another few instances to be certain, and release a new version to fix the config checkboxes.
Originally posted by KayossZero Getting this error, and also testing v5 it didn't seem to be working.
[2008/01/09 19:35:41-576-x1]: PetInstance\PetInstance.lua:50: attempt to index global 'btn' (a nil value)
(tail call): ?:
<in C code>: ?
<string>:"safecall Dispatcher[2]":9: in function <[string "safecall Dispatcher[2]"]:5>
(tail call): ?:
AceConfigDialog-3.0\AceConfigDialog-3.0.lua:633: in function <...nfig-3.0\AceConfigDialog-3.0\AceConfigDialog-3.0.lua:502>
(tail call): ?:
<in C code>: ?
<string>:"safecall Dispatcher[3]":9: in function <[string "safecall Dispatcher[3]"]:5>
(tail call): ?:
AceGUI-3.0\AceGUI-3.0.lua:175: in function `Fire'
...ce\libs\AceGUI-3.0\widgets\AceGUIWidget-CheckBox.lua:51: in function <...ce\libs\AceGUI-3.0\widgets\AceGUIWidget-CheckBox.lua:47>:
---
EDIT Would you mind testing out v6 when it's approved?
Getting this error, and also testing v5 it didn't seem to be working.
[2008/01/09 19:35:41-576-x1]: PetInstance\PetInstance.lua:50: attempt to index global 'btn' (a nil value)
(tail call): ?:
<in C code>: ?
<string>:"safecall Dispatcher[2]":9: in function <[string "safecall Dispatcher[2]"]:5>
(tail call): ?:
AceConfigDialog-3.0\AceConfigDialog-3.0.lua:633: in function <...nfig-3.0\AceConfigDialog-3.0\AceConfigDialog-3.0.lua:502>
(tail call): ?:
<in C code>: ?
<string>:"safecall Dispatcher[3]":9: in function <[string "safecall Dispatcher[3]"]:5>
(tail call): ?:
AceGUI-3.0\AceGUI-3.0.lua:175: in function `Fire'
...ce\libs\AceGUI-3.0\widgets\AceGUIWidget-CheckBox.lua:51: in function <...ce\libs\AceGUI-3.0\widgets\AceGUIWidget-CheckBox.lua:47>:
Originally posted by OklahomaOgre Please add an option for Thunderstomp. Breaking Crowd Control is embarassing and deadly, especially when it breaks your own trap...
It scans what pet abilities can be autocasted, so Thunderstomp should show up fine, if you pull up the config with that pet out. Have you tested it and seen a problem? If so, I'll go tame a pet with thunderstomp and test.
Quote:
Also, how about some FuBar support?
Fubar to open the configuration panel? I suppose I could write a seperate little addon to add a button to the panel to do so.