A library with reusable code to detect failure at certain raid tasks. At last count there are 100 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
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
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_Void
- 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
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
- 19 Dec 2008
- Categories
- Last update
- 22 Nov 2009
- Development stage
- Release
- License
- Public Domain
- Curse link
- LibFail-1.0
- Reverse relationships
- 3
- Recent files
Relationships
- Embedded library
- CallbackHandler-1.0
- LibStub
- #20
mysticalos Fri, 30 Oct 2009 05:06:48Icecrown is shaping up ;)
- #17
sztanpet Fri, 23 Oct 2009 10:22:23are 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
- #16
mysticalos Fri, 23 Oct 2009 09:14:11I 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.
- #15
sztanpet Fri, 23 Oct 2009 08:12:29IRC(#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
- #14
mysticalos Fri, 23 Oct 2009 05:37:28tried 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
- #13
mysticalos Thu, 22 Oct 2009 21:51:23http://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.
- #12
wxx011 Sun, 14 Jun 2009 02:44:11sorry,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
-- #11
sylvanaar Mon, 01 Jun 2009 14:32:47We have a special channel for fails, just like we do for damage meters
- #10
mysticalos Sun, 31 May 2009 07:05:30Now just add that hodir biting cold, the code should be in ensidiafail to look at.
- #9
mysticalos Sat, 30 May 2009 18:29:599 times out of 10, it's not the tank being hit by it. so it's a good fail to have. a raid can safely ignore a tank if they choose to but it's still good to see who else is standing in it. I don't use failboat anyways i use recountfail so libfail is only sending it's data to recount for after battle tracking not in battle spamming. :)