Download
(387Kb)
Download
Updated: 03-23-11 04:20 PM
Pictures
File Info
Updated:03-23-11 04:20 PM
Created:07-23-10 11:33 AM
Downloads:3,894
Favorites:18
MD5:

GOATS (WIP)

Version: 1.3.3 (test)
by: miros [More]

Grimoire Of A Thousand Souls

Note:
This is the "work in progress" test version of GOATS. If you want the last release check here

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

Sorting, though, is on the To-Do list.

Hope you like it.

Known bugs, hints, tips,...

  1. (TIP) If somehow the DB screws up, /goats wipe should solve it. (this will remove ALL saved data)
  2. (TIP) Right-Click on the minimap button to track the pet (though it should be tracked already if you casted Enslave Demon on it).
  3. (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!).
  4. (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.
  5. (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).
  6. (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.

--Changed the way generic models are noted (last one was a bit too intrussive).

--Wenever you try to see the model of a tracked demon and said demon is not in your Cache, a sample model will be loaded (stating "Race Model"). This sample model should be very similar to the "true" one, but it may have a different color texture. I think that's better than the yellow question mark ^^

--Fixed Map icon position. FIXED MODELS!!. Also, messed with how the mod handles location tracking. Good news are that you'll now be able to track demons in instances and see their location later. Bad news are that with this version you'll most likely lose any previously saved locations data.

--I fixed the inability to close the frame while in combat and made some adjustments so that there's no need to relog for models to show up (no more unexpected question marks). If you find any other bug, just tell me.

--Test release. Did some minor improvements in hopes to solve some bugs.

--Added Tooltip support for every locale. The descriptions will be in English, though (unless someone is willing to translate them).

--Fixed a dumb bug. Tooltip functionality will only work for supported locales (i.e. French, Spanish and English)

--Added Tooltip functionality. A small line in the tooltip will tell you if the hovered demon is in your list and if it can be eslaved. The mod will also record when you get a big IMMUNE text and get pwned, so that you never get pwned again ;)

--Fixed a silly bug that that happened on deleting a demon. Made some adjustments in regards to 4.0 API changes. Please, tell me if any errors pop up.

--Fixed a bug where Elite demons were not displaying in the map.
Fixed highlight selection. You'll only need to click once and the highlight will scroll properly.
Changed all 'this' to 'self' to better adapt for 4.0.
Established priorities as to whether race or name model should be displayed (it was somewhat random, now true model will be displayed if it's in your cache).
Resistances and comments fixed. They will now scroll properly.

--Added French locale (thanks to Myriana). Check the 'comments' tab in this page if you experience any problems.
Also you'll now be able to navigate through your saved demons models.

--Fixed Commented Elite demons not displaying properly colored. Also did some minor improvements.
Still trying to get sorting done.

--The addon will no longer freeze when clicking the 'appearance' tab. Yep, you'll get your models instantly!

--Optimized the way the addon handles models. You should experience a slight increase in loading time (loading screen), but an overall decrease in the time it takes to show a model. It still hangs up a little, though.

--Fixed Demon Map display.

--Fixed demons not being tracked on casting Enslave Demon.

--Fixed a bug introduced in previous version. Damage frame is done (with DPS tooltip!).
Initial release.

--Options panel done. Colors in which demons are listed can now be changed.
Also finished map display. Sometimes, though, GOATS window will close on opening the map. If this happens, open GOATS again and then close the map (in this order).

--Resistances done (finally!). Also finished working on the design of the options menu. Next version should have it functional.

--Full support for demon-specific comments. You may now attach any note you may find convenient to any specific demon. Check 'abilities' frame to see them.
Commented and/or elite demons should now display in a different color. I recently started working on an options menu to allow users to change those colors.
Minimap button has finally got a tooltip (yay!).

--Fixed some obscure bugs. No longer required to hover over pets abilities ^^
Elite demons should now have a different-colored name (same for commented ones, wich will be introduced in a future version)

--Stabilized/optimized some methods. Model "might" now display the correct demon.

--Race field should now be working.
Getting close to model display (model controls are done too, check 'appearance' button).
Also added a new method to "track" demons: right-click on the minimap button.
Note that:
If the pet bar is hidden, abilities will not be tracked
If you haven't hovered altleast once over atleast one of pet's abilities, the mod will not be able to get their ids (thus won't be able to show tooltips once the pet is gone).

--Me lufs felboars!

--Got a workaround for tooltips (SetSpellById seemed not to be working at all). Also got the damage reduction from armor to display properly.
Once DDamage, resistances and map display are done, i'll push this to beta state (wich should not delay too much).

--Worked out the four abilities. Added shift-click functionality to link them on chat. Still trying to get tooltipts to show once the pet is gone.

--Data (with the exception of the Damage value) is almost done. Location and elite status are done too. Next version should have resistances and/or map display done. I'm saving race for the last, as I have no obviuos method to get the model file path of the pet. If anybody gets around something... feel free to help! ^^
Note: Forgot to mention I changed the 'demon tracker' from Detect Invisibility to Unending Breath.

--Managed to learn how SavedVariables work.
Created a minimap button: left click to toggle window, right click to reload ui.
Buffing your pet with Detect Invisibility (Soul-Shard saving FTW) should add said pet to the database. Health and mana should be displayed correctly and the delete button should now be functional. Race and zone are still random. It's getting close ;)

--Established link between the two frames and created some icons. Selecting a demon should now reflect on the Data frame.

--Got the background working!! Also created the demon races (localized) and tweaked the list frame a lil' bit more (added headers and button grayout functionality).
Next step: Fix highlight selection and link the two frames.

--Revamped List frame. Sorted list in columns (headers still missing). Prepared Side-frame to show model.
Working on highlight selection and the damn background image that refuses to load.

--Got the DemonDataFrame done.
Next stage: create database, sort it in columns (name, level,...) and link it with DemonDataFrame.
Optional Files (0)


Post A Reply Comment Options
Unread 11-07-10, 02:30 PM  
miros
A Defias Bandit
 
miros's Avatar
AddOn Author - Click to view AddOns

Forum posts: 2
File comments: 83
Uploads: 7
Originally posted by Myriana
Stupid question : Is the Goats 1.2.8 compatible with WOW 4.0.1 ?
...
Thanks for the heads up, Myriana.
As I started developing this mod for 3.3.5, I thought I'd finish my job before making the change to the new version (provided that I'll most likely have to fix many bugs).
This decision was made in regards of my lack of experience with this kind of mods, and as I'm still learning, I'd like things to go slow and smoothly.

Do not worry, though, because as soon as I get the sorting feature done, I will update this ASAP to work with 4.0.

*********************************************************

As of Dec-11-2010, this is fully compatible with Cataclysm expansion!!
Last edited by miros : 12-10-10 at 09:50 PM.
Report comment to moderator  
Reply With Quote
Unread 11-06-10, 02:49 PM  
Myriana
A Murloc Raider

Forum posts: 6
File comments: 4
Uploads: 0
Errors on show / on hide / on move can be solved replacing "this" by "self" in your XML files.
Is it a good or bad idea ?


- Minimap button still not working.
- Just enslave a "Decrepit Darkhound" (Can oscuro decrépito) but nothing change in goats frame.
http://www.wowhead.com/npc=1547

Tell me how I can help you .

Thanks.
Report comment to moderator  
Reply With Quote
Unread 11-06-10, 02:08 PM  
Myriana
A Murloc Raider

Forum posts: 6
File comments: 4
Uploads: 0
Outch,33 LUA errors
Stupid question : Is the Goats 1.2.8 compatible with WOW 4.0.1 ?

Edit : I was mistaken by the TOC file.
Could you update it plz ?

Code:
## Interface: 40000
## Version : 1.2.8

OnLoad error :

Code:
Message: Interface\AddOns\GOATS\GOATS.lua:197: attempt to index global 'DemonListFrameTotals' (a nil value)
Time: 11/06/10 21:10:04
Count: 2
Stack: Interface\AddOns\GOATS\GOATS.lua:197: in function <Interface\AddOns\GOATS\GOATS.lua:178>
[C]: in function `LoadAddOn'
[string "Interface\FrameXML\BasicControls.xml:<Scrip..."]:7: in function <[string "Interface\FrameXML\BasicControls.xml:<Scrip..."]:4>
[C]: ?
[string "*:OnLoad"]:1: in function <[string "*:OnLoad"]:1>

Locals: self = <unnamed> {
 0 = <userdata>
 OnEvent = <function> defined @Interface\AddOns\GOATS\GOATS.lua:178
}
event = "ADDON_LOADED"
arg1 = "Blizzard_DebugTools"
(*temporary) = nil
(*temporary) = nil
(*temporary) = 0.78
(*temporary) = 0.61
(*temporary) = 0.43
(*temporary) = <userdata>
(*temporary) = "attempt to index global 'DemonListFrameTotals' (a nil value)"
Last edited by Myriana : 11-06-10 at 02:23 PM.
Report comment to moderator  
Reply With Quote
Unread 11-06-10, 11:08 AM  
miros
A Defias Bandit
 
miros's Avatar
AddOn Author - Click to view AddOns

Forum posts: 2
File comments: 83
Uploads: 7
Re: frFR localization

Originally posted by Myriana
Code:
if GetLocale() == "frFR" then
       ...
Woot! Thank you! Next version will have this translation.
Note that this may cause problems with your saved database if you use the French client (demons displaying as 'unknown'). If this happens, just open GOATS.lua inside your WTF\Account\AccountName\SavedVariables and change the values under 'RaceListDatabase'.
As an example, change:
Code:
RaceListDatabase = {
	"Imp", -- [1]
	"Voidwalker", -- [2]
	"Unknown", -- [3]
	"Felhound", -- [4]
	"Succubus", -- [5]
	"Dark Hound", -- [6]
	"Imp", -- [7]
	"Satyr", -- [8]
	"Imp", -- [9]
}
to:
Code:
RaceListDatabase = {
	"Diablillo", -- [1]
	"Abisario", -- [2]
	"Desconocido", -- [3]
	"Manáfago", -- [4]
	"Súcubo", -- [5]
	"Can oscuro", -- [6]
	"Diablillo", -- [7]
	"Sátiro", -- [8]
	"Diablillo", -- [9]
}
(that would be Spanish, not French ^^)

Please let me know if you have this issue (and if this worked)!
Report comment to moderator  
Reply With Quote
Unread 11-06-10, 10:48 AM  
Myriana
A Murloc Raider

Forum posts: 6
File comments: 4
Uploads: 0
frFR localization

Code:
if GetLocale() == "frFR" then
	D_CONFIRM = "Etes vous sur?"
	D_SUCCUBUS = "Succube";
	D_FELGUARD = "Gangregarde";
	D_DREADLORD = "Seigneur de l'effroi";
	D_IMP = "Diablotin";
	D_SHIVAN = "Shivan";
	D_WRATHGUARD = "Garde-courroux";
	D_VOIDWALKER = "Marcheur du Vide";
	D_VOID_TERROR = "Terreur du Vide";
	D_FELHOUND = "Gangrechien";
	D_BOAR = "Sanglier infernal";
	D_VOIDWRAITH = "Ame en peine du Vide";
	D_OUTLANDSIMP = "Diablotin gangren\195\169";
	D_DARKHOUND = "Sombredogue";
	D_SATYR = "Satyre";
	D_BEHOLDER = "Spectateur";
	D_GANARG = "Gan'arg";
	D_MOARG = "Mo'arg";
	D_CORE_HOUND = "Chien du Magma";
	D_INFERNAL = "Infernal";
	D_ABYSSAL = "Abyssal";
	D_DOOMGUARD = "Garde funeste";
	D_FIEND = "Fiel";
	D_PIT_LORD = "Seigneur des ab\195\174mes";
	D_EREDAR = "Er\195\169dar";
	D_NIGHTMARE = "Cauchemardesque";
	D_UNKNOWN = "Inconnu";
	D_INFSOUL = "Ame";
	D_GARGOYLE = "Gargouille";
	D_ARMORWALKER = "Marcheur du Vide gangren\195\169";
else
       ...
Report comment to moderator  
Reply With Quote
Unread 09-29-10, 02:20 AM  
Nuggs
A Deviate Faerie Dragon
 
Nuggs's Avatar
AddOn Author - Click to view AddOns

Forum posts: 19
File comments: 16
Uploads: 4
Looks pretty cool, I currently don't even enslave demons as I generally just PvP on my lock but with this addon I may just make it a point to start enslaving as many demons as possible. Look forward to the completed work. Fav'd
Report comment to moderator  
Reply With Quote
Unread 09-16-10, 05:42 PM  
mrruben5
Guest

Join Date: Not Yet
Forum posts: 0
File comments: 0
Uploads: 0
Lol, at first I thought I saw GOATSE, the internet meme xD.
Report comment to moderator  
Edit/Delete Message Reply With Quote
Unread 09-16-10, 05:28 AM  
miros
A Defias Bandit
 
miros's Avatar
AddOn Author - Click to view AddOns

Forum posts: 2
File comments: 83
Uploads: 7
Originally posted by Shnissigah
So, if me and all my guy friends download this and look at it for a long period of time, will we be the men who stare at GOATS? I know, lame joke is lame. >.<

Anyway, this is a fantastic idea. I'm planning on rolling a lock when Cata comes around anyway, so when I do, I'll be sure to download this.
You made me grin
I expect to have it ready when Cata ships, but I don't have as much time as I thought I would so I can't promise anything.
Report comment to moderator  
Reply With Quote
Unread 09-01-10, 02:50 AM  
vlakarados
An Aku'mai Servant
 
vlakarados's Avatar
AddOn Author - Click to view AddOns

Forum posts: 36
File comments: 145
Uploads: 5
will use.
Report comment to moderator  
Reply With Quote
Unread 08-31-10, 02:56 PM  
Shnissigah
A Kobold Labourer

Forum posts: 0
File comments: 43
Uploads: 0
So, if me and all my guy friends download this and look at it for a long period of time, will we be the men who stare at GOATS? I know, lame joke is lame. >.<

Anyway, this is a fantastic idea. I'm planning on rolling a lock when Cata comes around anyway, so when I do, I'll be sure to download this.
Report comment to moderator  
Reply With Quote
Unread 07-23-10, 02:03 PM  
Myster
A Kobold Labourer
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 167
Uploads: 11
Great

I have been wanting something like this for awhile now myself, good luck and I will be sure to poke my head in from time to time o offer any assistance to get you going.
Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump: