Download
(120Kb)
Download
Updated: 01-15-10 09:53 AM
Pictures
File Info
Updated:01-15-10 09:53 AM
Created:10-19-09 04:54 PM
Downloads:74,855
Favorites:257
MD5:

Faceroller  Popular! (More than 5000 hits)

Version: 0.2.9
by: hungtar [More]

please accept my apology for abandoning this addon and not answering your support requests.

I don't play wow anymore and thus any request will remain unaswered.


What is Faceroller?

Faceroller is an addon in the spirit of Event Horizon with the look of Faceshooter. It's focus lies on using a minimal amount of screen space while showing anything you need to know at the moment.

It will show you only one icon on the screen: the highest priority ability, which should be used next. Once the ability was used, it will reevaluate all cooldowns and debuffs on your target and present you the next spell.

As this needs tracking of cooldowns and debuffs and making decisions what to suggest when, Faceroller is split into modules. And to get some use out of Faceroller, you will need a module that fits your talent spec (See below for a list of modules).

You will get little or no use out of Faceroller if your toon is below level 80!


What Faceroller is NOT

First and foremost, Faceroller is not all knowing. It only keeps track of your current target and therefore can assist you only with a single target.


How to use Faceroller

First, you will need a module that works with your spec. There are currently modules available for the following specs:

  • Warrior:
  • Shadow Priest
  • Balance Druid
  • Deathknight:
    • Frost 1 (included, experimental*, by hectolight, module name: dkdwfrost)
    • Frost 2 (included, experimental*, by Kallsuh, module name: dkdwfrost_Kall)
    • unholy
    • blood
  • Paladin:
    • Retribution
    • Prot (included, experimental*, by lloydbates)
  • Warlock:
  • Hunter:
    • mm/sv/bm hunters (included, all in one module named simplehunter)
  • Shaman:
    • Enhancement (included)
    • Elemental (included, experimental*)
  • Mage:
    • FFB (included, experimental*)
    • Arcane (included, experimental*)
  • Rogue:

* These modules may not always work as expected. If they don't, please leave a comment.

If you see the message "init failed for module ... (Reason: none given)" enable debug output with /fr debug. Make sure your character knows all the spells, required by the module you are using, before reporting it as a bug!

Install a module of your choice along with Faceroller. Start WoW. You can fire up the GUI with /fr config or by clicking on the LDB plugin (if you have a broker display).

Note: Faceroller rememberrs different modules for both specs, if you have dual spec. If you switch specs for the first time after installing Faceroller, don't forget to configure!

Note: All modules require your character to be level 80 to work!

Getting started with your own module

Writing your own module can be as easy as editing a lua table. See Faceroller_EasyExample (included in the zip) for an example how that works.

If the possibilities provided by the Easy* API are too restraining, you will need some knowledge of lua or you will have a hard time writing your own module. Have a look at Faceroller_ExampleModule (included in the zip). It's a simple module that does the same as Faceroller_EasyExample but with a more complex API. The comments are quiet extensive and should give you a good overview how things work.

The module Faceroller_SimpleEnhancementShaman uses a mixture of both and might help you as well with getting started.

Also, have a look at the documentation at github. If you have further questions, leave a comment.


Want to share your module?

If you wrote a module but you don't want to maintain it yourself, i can include it in the zip here. Just send me a PM or leave a comment where i can find your module. Note: since i won't be able to test all modules, new included modules will be marked as experimental for a few weeks. If too many people complain about an experimental module, it will get deleted. So please make sure it really works.

Following is a (possibly incomplete) list of specs, for which there is currently no module:
  • Feral Druid
  • Rogue: assassination, subtlety

Credits
  • Icon skin taken from oUF_Fleetfood.
  • Idea for corner indicators from Grid.
  • and a big Thank You to everyone that used an early Faceroller version and to those who report bugs and write modules!

version 0.2.9:
- added option for silent module init.
- call module option function even if /fr opt is called without argument.

version 0.2.8:
- toc update.
- removed deadca7s unholy dk module.
- API changes for RegisterBuff:
- RegisterBuff(<spell>) works as before
- RegisterBuff(<spell>, true) now checks for buffs on player cast by anyone.
- RegisterBuff(<spell>, false, true) now checks for debuffs on player cast by player (used only in arcane mage module).

version 0.2.7:
- added deadca7s unholy dk module.

version 0.2.6:
- added Kallsuhs frost dk module.

version 0.2.5:
- added Opaques prot warrior module.

version 0.2.4:
- frame is now click-through.
- added options to arcane mage module.

version 0.2.3:
- frost dk module: HoW / SoE totem check.

version 0.2.2:
- bug fix in EasyChooseSpell.

version 0.2.1:
- bug fix: reset everything that can be set by a module when no module is set for the current spec.

version 0.2.0:
- don't load example modules.
- moved simplehunter and enh module to experimental modules.
- option to disable/enable corner indicators (disabled by default).

version 0.1.9.5:
- update to frost dk module, courtesy of hectolight (strength of earth totem overwriting horn of winter).

version 0.1.9.4:
- two times a charm ...

version 0.1.9.3:
- bug fix (check for possibly invalid gui saved variable).

version 0.1.9.2:
- hide old modules options when selecting another.
- with buttonfacade enabled, only use fade animations that will show properly.
- added hectolights frost dk module.
- added debug message to HasSpell to see which spell can't be found (/fr debug to enable debug messages).

version 0.1.9.1:
- call modules next skill function once in a while to make sure everything is up to date.
- LDB plugin icon update and tooltip added.

version 0.1.9:
- added /fr skin command.
- added more corner indicators to simplehunter module.
- fixed corner indicator scaling bug.

version 0.1.8:
- added lloydbates prot pala module.

version 0.1.7.3:
- guess arcane blast debuff.

version 0.1.7.2:
- more changes to arcane mage module.

version 0.1.7.1:
- track player debuffs.
- some changes to arcane mage module.

version 0.1.7:
- new gui (if i become discontent about the gui again, it will be gone for good).
- added arcane mage module (experimental).

version 0.1.6.2:
-fixed wrong spell id in elemental shaman module.
-fixed improved scorch and hot streak in ffb mage module (thanks to Baine, who did all the testing!)

version 0.1.6.1:
- faster updates for debuffs.

version 0.1.6:
- some stuff to reduce cpu load.
- ffb mage and ele shaman module (untested stuff).

version 0.1.5:
- bug fix: frame should once again show on unit that become attackable while they are targeted.

version 0.1.4:
- fadein/fadeout animation for frame.
- corner indicators for SimpleEnhancementShaman module.

version 0.1.3b:
- buttonfacade should work now ...

version 0.1.3:
- broke ldb and bf support when merging the modules. should work again.

version 0.1.2:
- reorganized sourcecode.
- fixed strata of corner indicators.
- added key binding to open the config.

version 0.1.1:
- gui improvements.

version 0.1.0:
- removed Faceroller_Config and Faceroller_Toy
- new gui: Faceroller_GUI
- gui features: ButtonFacade support, LDB plugin.

version 0.0.25:
- fixed typo in simplehunter module.

version 0.0.24:
- spell icon path for buffs and debuffs.

version 0.0.23:
- API improvements.

version 0.0.22:
- new API function UnregisterModule.
- new module: Faceroller_toy.

version 0.0.21:
- new API function EasyRegister.
- improvements to EasyChooseSpell.
- cooldowns, time left on buffs/debuffs should now always be correct.

version 0.0.20:
- fixed bugs in gui and core that keept it from working with secondary spec after login.
- option to show/hide frame in vehicles.

version 0.0.19:
- fixed a bug with saved variables and module init.
- added Faceroller_EasyExample module.

version 0.0.18:
- changed Easy* functions to work less stupid.

version 0.0.17:
- module options should now work with dual spec
- added EasySetup and EasyChooseSpell to API.

version 0.0.16:
- added module options to the GUI.

version 0.0.15:
- corner indicators
- destro wl module included.

version 0.0.14:
- module init fix with uninitialized options.

version 0.0.13:
- trying so set an invalid module should no longer destroy an existing, working setup.
- Faceroller_Config added (gui).

version 0.0.12:
- fix(?) for reactive abilities being incorrectly disabled.

version 0.0.11:
- updates to example module.
- update time_left for myTargetDebuffs.

version 0.0.10:
- Faceroller:HasGlyph(spellid) function
- Faceroller:GetSetItemSlotItems() (returns item id of head, shoulder, chest, legs, gloves)
- Faceroller.in_combat flag (boolean).
- hide frame when no module is set.
- unset current module with /fr mod none.

version 0.0.9:
- color frame red when out of range.
- color frame blue when out of power.
- FR_test3 is now Faceroller_SimpleEnhancementShaman.
- module init functions: may now 'return nil, <error-string>'
- some module updates.

version 0.0.8:
- show frame when target becomes attackable.
- simplehunter module: fixed handling of ES with lock and load.

version 0.0.7:
- example module update.
- hm fix in simplehunter module.

version 0.0.6:
- changed packing to fix minion problem.
- some module stuff

version 0.0.5:
- some more stuff for reactive abilities.

version 0.0.4:
- support for reactive abilities.
- options for when to show/hide the frame.

version 0.0.3:
- added missing slash commands.

version 0.0.2:
- fixed a "typo"

version 0.0.1:
- first beta release.
Optional Files (7)
File Name
Version
Size
Author
Date
Type
1.2c
2kB
05-14-11 03:29 AM
Addon
1.7
2kB
05-08-11 07:38 AM
Addon
1.2.1
102kB
02-13-11 02:06 PM
Patch
1.2
2kB
02-13-11 05:15 AM
Addon
4.0
1kB
01-02-11 01:25 PM
Addon
1.3.2
2kB
03-24-10 04:44 PM
Addon
1.1
2kB
10-25-09 01:16 PM
Addon


Post A Reply Comment Options
Unread 11-09-09, 11:26 AM  
Vetus
A Murloc Raider
 
Vetus's Avatar

Forum posts: 6
File comments: 59
Uploads: 0
2 questions

An awesome mod in my opinion But I have 2 questions...

1) (Might be a big n00b question) What does the corner indicators indicate?

2) I have a question about the shot priorities... Faceroller appears to value Serpent Sting slightly higher that Aimed Shot, but most of what I read says the opposite is true... I am not pointing fingers, because different folks have different opinions... But could I ask why it's that way?
Report comment to moderator  
Reply With Quote
Unread 11-08-09, 12:04 PM  
merlinmage
A Kobold Labourer

Forum posts: 1
File comments: 28
Uploads: 0
Thanks, worked
Report comment to moderator  
Reply With Quote
Unread 11-08-09, 11:22 AM  
hungtar
A Defias Bandit
AddOn Author - Click to view AddOns

Forum posts: 3
File comments: 151
Uploads: 9
Originally posted by merlinmage
For the sake of memory, please make those shitty Ace3 libs LoD, I just use Faceroller, not the bloated GUI.
you can delete the gui/ and Libs/ folder, if you don't want to use the gui.
Report comment to moderator  
Reply With Quote
Unread 11-08-09, 11:09 AM  
merlinmage
A Kobold Labourer

Forum posts: 1
File comments: 28
Uploads: 0
For the sake of memory, please make those shitty Ace3 libs LoD, I just use Faceroller, not the bloated GUI.
Report comment to moderator  
Reply With Quote
Unread 11-05-09, 10:14 PM  
hungtar
A Defias Bandit
AddOn Author - Click to view AddOns

Forum posts: 3
File comments: 151
Uploads: 9
Re: My hunter

Originally posted by Xylan Trueheart
Doesn't have Duel Spec yet. The way its happening now is I select the simplehunter module, log out, log back in and the module is still selected but I have to select none and re-select simpehunter again for it to work. Hope this helps.
Hmm, still in the dark What do you mean by "for it to work"? When you target something, does it show nothing or only the coffee mug? Are there error messages in the chat frame?

Edit:
To make sure this is not an addon conflict, can you please try what happens with all other addons disabled?
Last edited by hungtar : 11-06-09 at 12:29 AM.
Report comment to moderator  
Reply With Quote
Unread 11-05-09, 09:41 PM  
Xylan Trueheart
Premium Member
Premium Member

Forum posts: 64
File comments: 166
Uploads: 0
My hunter

Doesn't have Duel Spec yet. The way its happening now is I select the simplehunter module, log out, log back in and the module is still selected but I have to select none and re-select simpehunter again for it to work. Hope this helps.
Last edited by Xylan Trueheart : 11-05-09 at 09:42 PM.
Report comment to moderator  
Reply With Quote
Unread 11-05-09, 08:42 PM  
hungtar
A Defias Bandit
AddOn Author - Click to view AddOns

Forum posts: 3
File comments: 151
Uploads: 9
hmm, that looks like it should. Or does your char have dual spec and the problem occurs with the secondary spec? Either way, i have trouble reproducing the problem. And to be honest, i have no idea what the issue producing the problem could be.

As i understood, when you login, choose a module, then logout and back in, the module you choose before is just forgot about and you have to select it again. Is that what you are doing and what is failing or something else?
Report comment to moderator  
Reply With Quote
Unread 11-05-09, 07:26 PM  
Xylan Trueheart
Premium Member
Premium Member

Forum posts: 64
File comments: 166
Uploads: 0
Here

is a copy of what is in my Faceroller.lua at this moment


FacerollerDB = {
["framealpha"] = 1,
["showinpvp"] = 1,
["primary_module"] = "simplehunter",
["locked"] = true,
["showinparty"] = 1,
["showwhensolo"] = 1,
["debug"] = false,
["primary_module_opts"] = {
["simplehunter"] = {
["hunters_mark"] = true,
["iss_limbo"] = true,
["priority_order"] = "ks/srs/multi/ars/ss",
["wth"] = 0.8,
},
},
["powercheck"] = 1,
["framescale"] = 1,
["showinraid"] = 1,
["version"] = {
"0", -- [1]
"1", -- [2]
"0", -- [3]
},
["rangecheck"] = 1,
["showinvehicles"] = 0,
["overlay_texture"] = "Interface\\AddOns\\Faceroller\\media\\skin",
["secondary_module_opts"] = {
},
["secondary_module"] = "",
}
Report comment to moderator  
Reply With Quote
Unread 11-05-09, 03:41 PM  
hungtar
A Defias Bandit
AddOn Author - Click to view AddOns

Forum posts: 3
File comments: 151
Uploads: 9
Re: Two glitch's

Originally posted by Xylan Trueheart
Using the latest update I found 2 glitch's. First one is, with my hunter and using the hunter module. it is not saving between sessions. I have to open the config window each time when logging in and re-select the module in order to work.

Second glitch is minor. I use a add-on called Freerefills which so happens to use the same command slash command /fr. I have to spell out /faceroller each time to get the command. You may want to add or modify another slash, maybe /froll or /face or some such. Have you considered making a keybind for this?

Thanks for the hard work.
Will add another slash command in the next version. Concerning the first bug: there were some problems in earlier versions that caused variables for the primary spec to be saved to the secondary spec.

Can you please check the saved variables file for your hunter if that is happening again? The file is WTF/Account/<wow account name>/<realm>/<char-name>/SavedVariables/Faceroller.lua and the variables i'm interested in are "primary_module" and "secondary_module".
Report comment to moderator  
Reply With Quote
Unread 11-05-09, 02:20 PM  
Xylan Trueheart
Premium Member
Premium Member

Forum posts: 64
File comments: 166
Uploads: 0
Two glitch's

Using the latest update I found 2 glitch's. First one is, with my hunter and using the hunter module. it is not saving between sessions. I have to open the config window each time when logging in and re-select the module in order to work.

Second glitch is minor. I use a add-on called Freerefills which so happens to use the same command slash command /fr. I have to spell out /faceroller each time to get the command. You may want to add or modify another slash, maybe /froll or /face or some such. Have you considered making a keybind for this?

Thanks for the hard work.
Report comment to moderator  
Reply With Quote
Unread 11-03-09, 08:38 PM  
hungtar
A Defias Bandit
AddOn Author - Click to view AddOns

Forum posts: 3
File comments: 151
Uploads: 9
Re: Error

Originally posted by Xylan Trueheart
After selecting the module for simplehunter and closing the window O got this error as seen by BugGrabber, English client

[2009/11/03 21:18:27-5847-x49]: ...\Faceroller_SimpleHunter\Faceroller_SimpleHunter.lua:186: attempt to index local 'v' (a nil value):
Faceroller-0.0.24\Faceroller.lua:454: in function <Faceroller\Faceroller.lua:425>

---
Thanks for the bug report! This should be fixed in 0.0.25.
Report comment to moderator  
Reply With Quote
Unread 11-03-09, 08:27 PM  
Xylan Trueheart
Premium Member
Premium Member

Forum posts: 64
File comments: 166
Uploads: 0
Error

After selecting the module for simplehunter and closing the window O got this error as seen by BugGrabber, English client

[2009/11/03 21:18:27-5847-x49]: ...\Faceroller_SimpleHunter\Faceroller_SimpleHunter.lua:186: attempt to index local 'v' (a nil value):
Faceroller-0.0.24\Faceroller.lua:454: in function <Faceroller\Faceroller.lua:425>

---
Report comment to moderator  
Reply With Quote
Unread 11-03-09, 06:19 PM  
hungtar
A Defias Bandit
AddOn Author - Click to view AddOns

Forum posts: 3
File comments: 151
Uploads: 9
Re: Moonkin

Originally posted by loganvi
Moonkin module up.

Noticed a couple things doing this one. First, had to make a check for a specific talent (improved faerie fire). pasting the function below in case you want to wrap it into your API

The second thing is that you can't determine the difference between the two flavors of Eclipse (solar/lunar) with your standard buff reading. The GetSpellInfo() function for both IDs returns simply "Eclipse". Pain in the ass. I had to check UnitAura and actually look at the icon to determine which "eclipse" was up. Thanks for that Blizzard!

So that's not a problem with the API at all but I'm not sure if any other classes have similar two-sided buffs that may cause future module authors this problem.

The code to check a talent: (usage PlayerHasTalent("Improved Faerie Fire", 3))
Code:
function PlayerHasTalent(talent_name, rank)
	local numTabs = GetNumTalentTabs();
	for t=1, numTabs do
	    local numTalents = GetNumTalents(t);
	    for i=1, numTalents do
	        nameTalent, icon, tier, column, currRank, maxRank= GetTalentInfo(t,i);
			if(nameTalent == talent_name and currRank == rank) then
				return true
	    	end
	    end
	end
	return false
end
Nice work! again! link added to the info page.

I added .icon to buffs and debuffs in 0.0.24 to ease the pain a little. But yeah, buffs with the exact same name, with an API (UnitAura) that does not return spell ids, is terribad. When i wrote the aura code for FR, i wanted the buff/debuff tables to have spell ids but eventually had to settle with names. It's a real PITA when you think about localization. If UnitAura would return spell ids, instead of names, the whole gsi_mt (that Faceroller.gsi stuff) would not be needed. But enough with the UnitAura bashing

I would love to add something to checks for talents. The thing is, it should work without any need for localisation on the module side. GetTalentInfo(talent tab, some index) by it self does not need localisation, you just need to know both indices. Now, finding these values is something you need to do once for each talent. And a PlayerHasTalent(talent_name) function would need a lot of localization. At the moment, i don't have any intention to to collect and maintain the localization needed for that.

(There is a Ace library that provides localization for talent tree names but unfortunately not for all talents. If there were such a beast, that would be a different story).
Last edited by hungtar : 11-03-09 at 06:20 PM.
Report comment to moderator  
Reply With Quote
Unread 11-03-09, 05:22 PM  
loganvi
A Kobold Labourer
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 23
Uploads: 5
Moonkin

Moonkin module up.

Noticed a couple things doing this one. First, had to make a check for a specific talent (improved faerie fire). pasting the function below in case you want to wrap it into your API

The second thing is that you can't determine the difference between the two flavors of Eclipse (solar/lunar) with your standard buff reading. The GetSpellInfo() function for both IDs returns simply "Eclipse". Pain in the ass. I had to check UnitAura and actually look at the icon to determine which "eclipse" was up. Thanks for that Blizzard!

So that's not a problem with the API at all but I'm not sure if any other classes have similar two-sided buffs that may cause future module authors this problem.

The code to check a talent: (usage PlayerHasTalent("Improved Faerie Fire", 3))
Code:
function PlayerHasTalent(talent_name, rank)
	local numTabs = GetNumTalentTabs();
	for t=1, numTabs do
	    local numTalents = GetNumTalents(t);
	    for i=1, numTalents do
	        nameTalent, icon, tier, column, currRank, maxRank= GetTalentInfo(t,i);
			if(nameTalent == talent_name and currRank == rank) then
				return true
	    	end
	    end
	end
	return false
end
__________________
Kanban - Illidan(US)
Addon Author Portal
Report comment to moderator  
Reply With Quote
Unread 11-03-09, 09:58 AM  
loganvi
A Kobold Labourer
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 23
Uploads: 5
Originally posted by hungtar
loganvi:
added a link to the module to the info page. nice work!

d77:
let me know when it's online and i'll add a link
awesome. I hope to have a moonkin module out later this week. I'll be trying the new API, looks pretty simple though I'm not sure I totally grok it yet.

Either way, the other API is brilliant. Putting the affliction module together was a 20 minute ordeal, most of which was just testing!
__________________
Kanban - Illidan(US)
Addon Author Portal
Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump: