A library with reusable code to detect failure at certain raid tasks. At last count there are 107 different "fails" that are tracked (updated for ToC/Icecrown courtesy of Maat/sztanpet/MysticalOS). Please note, this list is not always up-to-date.
The Icecrown Citadel list includes:
- Fail_Rotface_OozeExplosion
- Fail_Rotface_StickyOoze
- Fail_Marrowgar_Whirlwind
- Fail_Marrowgar_Coldflame
- Fail_Marrowgar_SaberLash
- Fail_Festergut_VileGas
- Fail_Festergut_PungentBlight
- Fail_Deathwhisper_DeathNDecay
- Fail_Sindragosa_TailSmash
- Fail_Sindragosa_FrostBreath
- Fail_Sindragosa_BlisteringCold
- Fail_Sindragosa_Cleave
- Fail_Sindragosa_UnchainedMagic
- Fail_Sindragosa_FrostBomb
- Fail_Sindragosa_IceTomb
- Fail_Professor_MutatedSlime
- Fail_LanaThel_UncontrollableFrenzy
- Fail_LanaThel_BloodboltSplash
- Fail_BloodPrinces_SystemicShockVortex
- Fail_LanaThel_DeliriousSlash
- Fail_Gunship_Explosion
- Fail_Gunship_Explosion_Knockback
The Onyxia's Lair list includes:
- Fail_Onyxia_DeepBreath
- Fail_Onyxia_FlameBreath
- Fail_Onyxia_TailSweep
- Fail_Onyxia_WarderCleave
- Fail_Onyxia_WarderNova
- Fail_Onyxia_Cleave
The Trial of The Crusader list includes:
- Fail_Acidmaw_AcidicSpew
- Fail_Acidmaw_ParalyticToxin
- Fail_Acidmaw_SlimePool
- Fail_Anubarak_Impale
- Fail_Dreadscale_MoltenSpew
- Fail_FactionChampions_Hellfire
- Fail_Gorehowl_FireBomb
- Fail_Icehowl_Trample
- Fail_Jaraxxus_FelInferno
- Fail_Jaraxxus_LegionFlame
- Fail_Valkyr_Orb
- Fail_Valkyr_Vortex
- Fail_FactionChampions_Bladestorm
The Ulduar list includes:
- Fail_Algalon_BigBang
- Fail_Algalon_CosmicSmash
- Fail_Auriaya_SonicScreech
- Fail_Auriaya_Voidzone
- Fail_Council_Overload
- Fail_Council_RuneOfDeath
- Fail_Deconstructor_Light
- Fail_Deconstructor_Gravity
- Fail_Deconstructor_Voidzone
- Fail_Freya_NatureBomb
- Fail_Freya_Sunbeam
- Fail_Freya_UnstableEnergy
- Fail_Hodir_BitingCold
- Fail_Hodir_FlashFreeze
- Fail_Hodir_Icicle
- Fail_Kologarn_Eyebeam
- Fail_Mimiron_BombBots
- Fail_Mimiron_Flames
- Fail_Mimiron_FrostBomb
- Fail_Mimiron_LaserBarrage
- Fail_Mimiron_NapalmShell
- Fail_Mimiron_ProximityMine
- Fail_Mimiron_Rocket
- Fail_Mimiron_Shock
- Fail_Mimiron_Siren
- Fail_Mimiron_WaterSpray
- Fail_Racorscale_Flame
- Fail_Thorim_Blizzard
- Fail_Thorim_LightningChain
- Fail_Thorim_LightningCharge
- Fail_Thorim_Smash
- Fail_Vezax_Leech
- Fail_Vezax_Saronite
- Fail_Vezax_ShadowCrash
- Fail_Yogg_DeathRay
- Fail_Yogg_LunaticGaze
- Fail_Yogg_OminousCloud
- Fail_Yogg_Sanity
The Vault of Archavon list includes:
- Fail_Koralon_MeteorFist
- Fail_Archavon_ChokingCloud
- Fail_Emalon_LightningNova
- Fail_Emalon_ChainLightning
- Fail_Koralon_FlameCinder
The Obsidian Sanctum list includes:
- Sartherion's Lava Waves
- Sartherion's Void Zones
- Sartherion's Flame Breath
- Sartherion's Tail Lash
The Eye of Eternity list includes:
- Fail_Malygos_Dot
- Fail_Malygos_ArcaneBreath
The Naxxramas list includes:
- Heigan Dance
- Kel'Thuzad's Void Zones
- Sapphiron's Breath
- Sapphiron's Cleave
- Sapphiron's Tail Sweep
- Frogger
- Thaddius Left/Right
- Thaddius Jump
- Grobbulus - Dispelling Mutating Injection
- Grobbulus - Standing in the poison cloud
- Four Horseman - Mark
- Four Horseman - Void Zone
Rewrite of FailBot logic to perform these detections.
This is an open repository. Feel free to add to it, and make fixes yourself.
API: http://www.wowace.com/projects/libfail-1-0/pages/api/lib-fail-1-0/
Sample Code
local fail = LibStub("LibFail-1.0") local fail_events = fail:GetSupportedEvents() local function onFail(event, who, failtype) -- Use the spellid as a default localized string for the fail event local spell = GetSpellInfo(fail:GetEventSpellId(event)) or "" -- Use the "failtype" argument to print appropriate messages based on it. local failmsg if failtype == fail.FAIL_TYPE_NOTMOVING then failmsg = "%s fails at moving (%s)" end print( failmsg:format(who, spell) ) end for _, event in ipairs(fail_events) do fail.RegisterCallback("SampleAddon", event, onFail) end
Facts
- Date created
- Dec 19, 2008
- Categories
- Last update
- Mar 12, 2013
- Development stage
- Mature
- License
- MIT License
- Curse link
- LibFail-1.0
- Reverse relationships
- 7
- Downloads
- 33,472
- Recent files
Relationships
- Embedded library
- CallbackHandler-1.0
- LibStub
- Reply
- #23
Laren Jul 30, 2010 at 16:48 UTC - 0 likesWould it make sense to add a fail for non tanks getting parried by a boss that has parry-haste enabled (e.g. Deathwhisper, Sindragosa, Halion)?
Currently for my guild, tank deaths as a result of parry hasted boss swings (<= 0.4s) seems to be a major issue on our way to a Halion kill on heroic 25 man. Only one of our warriors seems to be very consistent in not getting parried at all in contrary to the rest of our melee DPS.
- Reply
- #22
hiah May 20, 2010 at 02:47 UTC - 0 likesCould somebody link me something where i can see what fail is what. E.g. the Deathwhisper Fails, Shade and Shade_Explosion, which is the "got meleed from a ghost"-fail and which is the "got hit from the explosion"
etc. etc.
Thanks.
- Reply
- #21
deleted_26001 Apr 13, 2010 at 19:55 UTC - 0 likesHi, any chance of Mystic Buffet reaching 6 stacks can announce a fail? It's for the All you can eat Achievement at Sindragosa and have no easy way of spotting who goes over 5.
- Reply
- #20
mysticalos Oct 30, 2009 at 05:06 UTC - 0 likesIcecrown is shaping up ;)
- Reply
- #17
sztanpet Oct 23, 2009 at 10:22 UTC - 0 likesare you using the appropriate repo url (the development url not the public url), have you set your svn password or your ssh public key, whichever is more appropriate, etc
- Reply
- #16
mysticalos Oct 23, 2009 at 09:14 UTC - 0 likesI know anyone with a curse account and svn and good code base could add their own fails in past, it even says above "This is an open repository. Feel free to add to it, and make fixes yourself"
Has this changed? cause i had tried fixing a the missing spelids and adding malygos arcanebreath myself but i got permission denied after i had made all the changes and tried to commit :(. I helped with all the ony fails and like half the toc fails for ensidiafails, fixed all the spellids on ones maat did too :P I think he's used to waking up to new tickets from me every couple days or so. One bad raid night, or bad pug on an alt and I have ideas for new fails hehe.
The change to breath I only suggested cause i figured there was a reason maat didn't use spellid method. It was used at first but it was changed when during last code cleanup I'm assuming for some reason. Wow devs were pretty bad coders back then anyways, 93 spell ids, and 6 (maybe 7 or 8 i don't remember count) scripted events determining which set is used based on her location was a pretty ugly.
- Reply
- #15
sztanpet Oct 23, 2009 at 08:12 UTC - 0 likesIRC(#wowace @ freenode) is a good place to talk about the addon, looking at comments or tickets is very sporadic, you have a bigger chance of alerting the devs on there, freenode has a nice webchat too making things much simplre, but if you do come around please remember that we are not always present so you might not get a response instantly
also, where is auriaya voidzone listed twice? edit: yea i see it now, its on the main page, fixed
edit2: regarding the onyxia deep breath fail, yes that could be nicer way to do it, but the existing method being a resource hog is not really relevant, this is not the thing that will slow your addons down
- Reply
- #14
mysticalos Oct 23, 2009 at 05:37 UTC - 0 likestried to submit changes to repository but it's no longer open? :\
Was gonna fix the long standing ticket #1. :P
This is of course assuming the event is registered in all the appropriate areas, locals, fail_events,zones_with_fails,event_spellids,fails_where_tanks_dont_fail
Btw, should really look at tickets more often. Light/gravity bomb is STILL broken on 10 man and bug was reported last June. the 10 man spellids for light/gravity bomb are missing.
searing light missing ID: http://www.wowhead.com/?spell=63023
Gravity Bomb missing id: http://www.wowhead.com/?spell=63025
- Reply
- #13
mysticalos Oct 22, 2009 at 21:51 UTC - 0 likeshttp://www.wowhead.com/?spell=68868
is used by onyxia ONLY, there is no reason to use if self:GetMobId(sourceGUID) = 10184 then return end
The function is used on add cleave because that spellid is shared, with 104 creatures.
also you listed void zone twice for auriaya ;)
The deep breath method is crued and probably a resource hog for 2432534635r spellids. That's what I used at first when i originally gave fail to maat. But he made up a new method that used spellname and spellzone instead I think. I'd have to look at code again to see what he used. But something like "if spellname="breath" and zone="onyxia's Lair" :) Plus it ruled out posiblity of any missing spellids causing a missed fail.
- Reply
- #12
wxx011 Jun 14, 2009 at 02:44 UTC - 0 likessorry,when I into Mimiron Stage 2,I got this error message
LibFail-1.0-65 (Skada):320: Usage: UnitDebuff(\"unit\", [index] or [\"name\", \"rank\"][, \"filter\"])\nLibFail-1.0-65 (Skada):320: in function <...terface
AddOns
Skada
lib
LibFail-1.0
LibFail-1.0.lua:307>\nLibFail-1.0-65 (Skada):250: in function <...terface
AddOns
Skada
lib
LibFail-1.0
LibFail-1.0.lua:244>\n\n
-