Code inspection in GridStatusAuras.lua shows that the UpdateDispellable() method needs to account for resto druids that gain Cleanse through Symbiosis on a paladin. This Cleanse spell gained by the druid allows them to also dispel diseases, which is not normally possible.
It's not clear whether IsPlayerSpell will work properly to test whether Cleanse is in the druid's spellbook or not because it's an example of a spell overriding/morphing another spell in the spellbook. The conditions that need testing are the values of IsPlayerSpell(122288) for:
- Druid has not yet cast Symbiosis for the first time. Should be false.
- Druid has cast Symbiosis on a paladin. Should be true.
- Druid has cast Symbiosis on a paladin and then removed the Symbiosis buff. Should be false.
- Druid has cast Symbiosis on a paladin, then removed the Symbiosis buff, then cast Symbiosis on a different class. Should be false.
- Druid has cast Symbiosis on a different class, then removed the Symbiosis buff, then cast Symbiosis on a paladin. Should be true.
UpdateDispellable() would also need to be invoked after Symbiosis is successfully cast. The SPELLS_CHANGED event is probably the correct event to hook.
- 5 comments
- Last updated
- Jul 25, 2013
- Jul 10, 2013
- Fixed - Developer made requested changes. QA should verify.
- Enhancement - A change which is intended to better the project in some way
- Medium - Normal priority.