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-03-09, 04:29 AM  
hungtar
A Defias Bandit
AddOn Author - Click to view AddOns

Forum posts: 3
File comments: 151
Uploads: 9
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
Report comment to moderator  
Reply With Quote
Unread 11-03-09, 02:59 AM  
d77
A Kobold Labourer

Forum posts: 0
File comments: 3
Uploads: 0
little update:

elemental shaman module working!

need only a little more testing and i will upload it.
Report comment to moderator  
Reply With Quote
Unread 11-02-09, 07:59 PM  
loganvi
A Kobold Labourer
AddOn Author - Click to view AddOns

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

__________________
Kanban - Illidan(US)
Addon Author Portal
Report comment to moderator  
Reply With Quote
Unread 10-30-09, 09:59 PM  
hungtar
A Defias Bandit
AddOn Author - Click to view AddOns

Forum posts: 3
File comments: 151
Uploads: 9
i feel uneasy about how i handled that destruction warlock module thing. I added a module to my distribution here, without being able to verify it works as intended. That was my first mistake. The second was to add it while the API is still not finished: some changes i made may have influenced the proper functioning of the module even though it may have worked as intended under an earier version of the API.

So i decided that in order to avoid making the same mistake twice, i will not include another module in the distribution until the API has reached a stable state (presumably this will be no earlier than version 0.1.0).

Once the API is somewhat stable, there is still going to be need for some kind of quality control. But let's tackle this issue when it arises
Report comment to moderator  
Reply With Quote
Unread 10-30-09, 05:38 PM  
loganvi
A Kobold Labourer
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 23
Uploads: 5
Originally posted by hungtar
I added a link to your addon to the info page. I also made some changes to the API. You might want to check out the new Faceroller_EasyExample, if you were interested in writing a module for affliction of demonology specs And i removed the apparently broken destro warlock module. Thanks for letting me know
I have an affliction module in the works I will check out the new changes.
Report comment to moderator  
Reply With Quote
Unread 10-30-09, 05:37 PM  
hungtar
A Defias Bandit
AddOn Author - Click to view AddOns

Forum posts: 3
File comments: 151
Uploads: 9
I added a link to your addon to the info page. I also made some changes to the API. You might want to check out the new Faceroller_EasyExample, if you were interested in writing a module for affliction of demonology specs And i removed the apparently broken destro warlock module. Thanks for letting me know
Report comment to moderator  
Reply With Quote
Unread 10-30-09, 04:55 PM  
loganvi
A Kobold Labourer
AddOn Author - Click to view AddOns

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

Ps, I think the API is pretty good. There's a few tweaks potentially for usability, but overall well designed. The sample module is very well documented.
Report comment to moderator  
Reply With Quote
Unread 10-30-09, 04:47 PM  
loganvi
A Kobold Labourer
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 23
Uploads: 5
Destruction Warlock

The included destruction warlock profile doesn't work (it doesn't even load, but some of the spells are wrong as well), so I remade it and tested it. It's located here: http://www.wowinterface.com/download...onWarlock.html

Hope that's kosher. If not I'll take it down.
Report comment to moderator  
Reply With Quote
Unread 10-30-09, 08:41 AM  
d77
A Kobold Labourer

Forum posts: 0
File comments: 3
Uploads: 0
The "BL code" part will mean that the rotation "change" under bloodlust (according to EJ, the chain lightning spell will be booted from rotation because his casting time will become less than the global coodown).

the bloodlust spell will be "passive" in the module, mean that he will recognize when BL is up and change the rotation accordly.

EDIT:

will test the code this evening after raid hope it works...
Last edited by d77 : 10-30-09 at 08:42 AM.
Report comment to moderator  
Reply With Quote
Unread 10-30-09, 07:45 AM  
hungtar
A Defias Bandit
AddOn Author - Click to view AddOns

Forum posts: 3
File comments: 151
Uploads: 9
Originally posted by d77
Writed up a simple ele shaman rotation (im @ work so no-wow for testing).



Simply a Copy-Paste of the existing modules (and "some" freestyling), since i have almolst ZERO knowledge in lua programming.

rotation:

flameshock dot
lavaburst on CD if flameshock UP.
ChainLightning on CD if clearcasting UP.
LightningBolt spam if none of the above.

if the code "work" i will add more for thunderstorm, bloodlust and watershield.

thanks for the attention and sorry for the long post.
Would appreciate it, if you would test your module code Adding bloodlust is not such a good idea as it is not part of your "rotation": you use lust when it's called for, not every time it's ready (or maybe you do, but that would be really weird )
Report comment to moderator  
Reply With Quote
Unread 10-30-09, 03:56 AM  
d77
A Kobold Labourer

Forum posts: 0
File comments: 3
Uploads: 0
Writed up a simple ele shaman rotation (im @ work so no-wow for testing).

-- if the module would be useless, don't load it.
do
local _, playerClass = UnitClass("player")
if playerClass ~= "SHAMAN" then return end
end

local MODULE_NAME = "Elemental"
local Faceroller = _G["Faceroller"]
local gsi = Faceroller.gsi
local shaman_FS
local shaman_CC

-- init function
local Init = function()
-- DPS Cycle FS--->LB, CL if CC, LB
local skills = {
[49233] = 0, -- Flame Shock Rank 9
[60043] = 0, -- Lava Burst Rank 2
[49271] = 0, -- Chain Lignhtning Rank 8
[49238] = 0, -- Ligntning Bolt Rank 14
}

-- check if player has all spells in his spell book.
for k, v in pairs(skills) do
if Faceroller:HasSpell (k) == false then
return nil
end
end

-- register self buff
-- Clearcasting
Faceroller:RegisterBuff(16246)
shaman_CC = gsi[16246]

-- register self debuff
-- Flame shock
Faceroller:RegisterDebuff(49233, true)
shaman_FS = gsi[49233]

return skills
end

local NextHit = function(gcd, spells, buffs, debuffs, myDebuffs)

-- threshold to suggest an skill that is still on cooldown.
local th = max (0.5, gcd)
th = th + 0.1

-- check for various spells:
local n = 0

-- Flame Shock DOT UP
if spells[49233].cd < th then
local v = myDebuffs[shaman_FS]
if v.active == false or v.time_left < 0.1 then
n = 49233
end
end

-- Lava Burst on CD IF FS DOT UP
if spells[60043].cd < th then
local h = myDebuffs[shaman_FS]
if h.active == true or h.time_left > 1.5 then
n = 60043
end
end

-- Chain Lightning on CD IF CC UP
if spells[49271].cd < th then
local q = buffs[shaman_CC]
if q.active == true or q.time_left > 1.1 then
n = 49271
end
end


-- if none of the above is ready and if outfight suggest Lightning Bolt SPAM.
if n == 0 and (UnitAffectingCombat("player") == 0) then
n = 49238
end

-- don't forget to suggest something.
return n
end

-- register the module.
Faceroller:RegisterModule(MODULE_NAME, Init, NextHit, nil)
Simply a Copy-Paste of the existing modules (and "some" freestyling), since i have almolst ZERO knowledge in lua programming.

rotation:

flameshock dot
lavaburst on CD if flameshock UP.
ChainLightning on CD if clearcasting UP.
LightningBolt spam if none of the above.

if the code "work" i will add more for thunderstorm, bloodlust and watershield.

thanks for the attention and sorry for the long post.
Last edited by d77 : 10-30-09 at 03:58 AM.
Report comment to moderator  
Reply With Quote
Unread 10-29-09, 12:09 PM  
hungtar
A Defias Bandit
AddOn Author - Click to view AddOns

Forum posts: 3
File comments: 151
Uploads: 9
Originally posted by wowaddictt
how do i keep track of rogue combo points through the addon lua code within the context of faceroller? is rogue combo points supported at the moment? if so please list out the function call or variable declaration.

thanks.
Combo points are not tracked. If you want to figure out how many combo points you have on the target, use the standard wow api. GetComboPoints("player", "target") should return the number of combo points you have on your target (didn't try that though).
Report comment to moderator  
Reply With Quote
Unread 10-29-09, 11:48 AM  
wowaddictt
A Kobold Labourer

Forum posts: 0
File comments: 17
Uploads: 0
how do i keep track of rogue combo points through the addon lua code within the context of faceroller? is rogue combo points supported at the moment? if so please list out the function call or variable declaration.

thanks.
Report comment to moderator  
Reply With Quote
Unread 10-28-09, 01:40 PM  
d87
A Chromatic Dragonspawn
 
d87's Avatar
AddOn Author - Click to view AddOns

Forum posts: 163
File comments: 643
Uploads: 42
Originally posted by hungtar
Sorry for the late reply. Since you don't intend to maintain the module yourself, i included the module in the zip. If thats not ok with you, please send a PM or leave a comment here and i'll remove it of course.
No, that's perfectly fine
Report comment to moderator  
Reply With Quote
Unread 10-28-09, 01:12 PM  
hungtar
A Defias Bandit
AddOn Author - Click to view AddOns

Forum posts: 3
File comments: 151
Uploads: 9
Originally posted by d87
I made a module for destruction warlocks out of boredom.
Ain't gonna maintain it, so i'll just leave it here.
http://rgd87.gorodok.net/Faceroller_...ck_3.2.2.1.zip

Priority:
1) Immolate
2) CoE/Doom (i usually fill the gap when immolate is casted but conflagrate is not yet usable with curse)
3) Conflagrate
4) Chaos Bolt
5) Refresh Glyph of life tap if needed
6) Incinerate
Sorry for the late reply. Since you don't intend to maintain the module yourself, i included the module in the zip. If thats not ok with you, please send a PM or leave a comment here and i'll remove it of course.
Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump: