LibFail-1.0

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

You must login to post a comment. Don't have an account? Register to get one!

  • Avatar of sylvanaar sylvanaar Jun 01, 2009 at 14:32 UTC - 0 likes

    We have a special channel for fails, just like we do for damage meters

  • Avatar of mysticalos mysticalos May 31, 2009 at 07:05 UTC - 0 likes

    Now just add that hodir biting cold, the code should be in ensidiafail to look at.

  • Avatar of mysticalos mysticalos May 30, 2009 at 18:29 UTC - 0 likes

    9 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. :)

  • Avatar of yoshimo yoshimo May 30, 2009 at 18:15 UTC - 0 likes

    i think you should have a look at ensidia fails. razorscales flames are not neccessaryli fail for people that are ragefarming .

  • Avatar of mysticalos mysticalos May 30, 2009 at 16:12 UTC - 0 likes

    line 88 still throwing up lua

    -
    -@end-debug@
    +
    --@end-debug@

  • Avatar of sylvanaar sylvanaar May 28, 2009 at 23:56 UTC - 0 likes

    Don't forget the repo is open. You can commit fixes and feature additions yourself if you want

  • Avatar of mysticalos mysticalos May 20, 2009 at 04:45 UTC - 0 likes

    I noticed that none of the ulduar fails that were added even work, at all. Although I've only tested in 25 man. I do suspect that 25 man and 10 man have diff spell IDs and that could be reason. Cause i recall DBM had a similar bug when it first released ulduar mods, it was working in 25 but 10 man was useless cause of diff spell IDs. I think perhaps needs more looking into

  • Avatar of mysticalos mysticalos May 09, 2009 at 05:23 UTC - 0 likes

    Please commit your latest changes. i don't like using failbot because it doesn't plug into recount like libfail does for overal analyzing problems in raid.

  • Avatar of clairecakes clairecakes Apr 27, 2009 at 04:26 UTC - 0 likes

    Will this be updated to have the same fails that the current Failbot has? I'd love to drop mainstream Failbot and just use addons that feed of this.

  • Avatar of distractadin distractadin Mar 29, 2009 at 09:57 UTC - 0 likes

    Is hitting other people with a mutagen explosion on grobbulus considered a failure?

Should We Put Default Localization Strings In This Project

  1. Choice:

  1. Results
  2. 0 comments

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
2
Downloads
31,633
Recent files
  • A: r261 for 5.0.5 Mar 12, 2013
  • A: r260 for 5.0.4 Aug 29, 2012
  • R: 1.0.259 for 4.2 Jun 28, 2011
  • A: r258 for 4.2 Jun 28, 2011
  • R: 1.0.257 for 4.0.6 Apr 26, 2011

Authors

Relationships

Embedded library
CallbackHandler-1.0
LibStub