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 should add lava waves from sarth as well.