Grimoire Of A Thousand Souls
This is my first attempt at something I've ever wanted to have: an ingame automatically-growing archive of EVERY demon I enslave in the World of Warcraft.
Story
This idea came to my mind while reading the warlock forums. I was overwhelmingly bored by those "low DPS" threads when I suddenly stumbled across something I thought interesting. It was a compilation of demons (with skills and stats) somebody had enslaved in Outland.
However, as wonderful as that list could ever be, I'm sure it must've been a PITA to gather the info, format it and publish it. Thus the idea of creating a mod like this one was born among the lines of that thread.
Time went on as I waited for someone with .lua knowledge to take over this project, but no one seemed to care about it.
That's when I decided to learn lua and xml and write it myself.
What does it do?
Whenever you enslave a demon, a message should appear on your screen stating: GOATS: New demon tracked! or GOATS: Already known if (guess what!) you have already tracked it.
From that moment, you'll be able to check that demon's spells, stats (including elite status) and even appearance by clicking on the GOATS-Minimap button. And by appearance, I mean his/her fully textured model.
To avoid having to load those models every time, though, a simple frame and a line of text will tell you what kind of demon it was (eredar, felguard, imp,...).
Thre's also a feature that lets you "comment" a demon if you find it necessary. Said demon will appear in a different color and every time you check his/her stats and skills, you'll be able to see the comment you wrote.
The color in which normal, commented, elite and elite-commented demons are listed is fully customizable in the options menu (check addons\GOATS or middle-click the minimap button).
You can now check if a demon is on your list or if you got an IMMUNE message from him just by hovering over his model or his target frame.
All descriptions will be shown in English for non-supported locales (supported locales are: French, Spanish and English).
If you wish to contribute, feel free to do so
Hope you like it.
To do:
- Add a writing box to filter demons (by name, location, level and race), similar to how the "/who" window works. Also make the "Name", "Location", etc. headers sort them alphabetically, by zone, from lowest to highest level, etc.
- Add a button (to the map?) to display all demons tracked in a certain zone and make their icons link to their stats.
Known bugs, hints, tips,...
- (TIP) If somehow the DB screws up, /goats wipe should solve it. (this will remove ALL saved data)
- (TIP) Right-Click on the minimap button to track the pet (though it should be tracked already if you casted Enslave Demon on it).
- (TIP) Models are saved within YOUR cache, which means that if you somehow erase it (this happens automatically during a patch) all your demons will be displayed as their sample equivalents (or a yellow question mark, if selected demon's race is unknown). Don't worry, though, because your cache will refill automatically as you see things in the world (and your demons will eventually come back!).
- (TIP) If you track a demon you had never seen before, its model will not be avaiable until you disconnect. This is because new models are stored in the cache when you exit the game. You should be able to view them as soon as you log back in.
- (BUG/TIP) Sometimes GOATS window might (happened only twice but...) close on opening the map. If this happens, open GOATS again and then close the map (in this order).
- (K. BUG) GOATS refuses to work fine while in combat. For some time, it couldn't even be closed/hidden. It will still let you see what you were seeing before you entered combat, but almost everything else will work funny.