In quest accept of
Bombing Run - Quest - World of Warcraft Bombing Run (for druids)
Blood Oath of the Netherwing - Quest - World of Warcraft Bombing Run (H/A)
Bomb Them Again! - Quest - World of Warcraft Bomb-Them-Again (H/A daily)
you get a spell that applies aura on caster, It is used to see invisibility and whenever quest status is different than “taken == incomplete” it should dissapear, problem is that conditions currently cannot limit apply aura type of effects of spell. So I was trying to figure somehow how can I make kind of a check that would do that. If I got it correctly the only way possible would be with a script of the spell. Since am new to this tried to see how aurascripts work and so on, still I didn’t see a check that will check, if owner of the aura is on specific quest, else remove. The thing I stopped is AfterEffectApply /I suppose it’s not really a constant check/, I was searching for somekind of update check, but I got lost and saw no example of stopping aura for such case, kinda looked everywhere, I hope the answer is simple and I’m blind. So far I tried this, note that I don’t know what should I use to write with remove to mean current script aura, so I listed the id. I’m pretty sure is wrong, crashy and so on, but couldn’t figure anything else. Any ideas or any alternative method? /btw is pretty hard to decide for which section is this topic/
///////////
When I use this I get "… did not match dbc effect “Bound to hook”.
P.S.: I solved this by fouding missing spell from dbc, but still I think this is interesting topic for my noob knowledge, but anyway is solved I suppose.
[SPOILER]// http://www.wowhead.com/quest=11012 Bombing Run (H/A)
// http://www.wowhead.com/quest=11023 Bomb-Them-Again (H/A daily)
enum Quests11010_11012_11023Data
{
QUEST_BOMBING_RUN_DRUD = 11010,
QUEST_BOMBING_RUN = 11012,
QUEST_BOMB_THEM_AGAIN = 11023
};
enum Spells
{
SPELL_SEE_INVISIBILITY = 40195
};
// ID - 40195 Bombing Run: See Invisibility
class spell_q11010_11012_11013_see_invisibility : public SpellScriptLoader
{
public:
spell_q11010_11012_11013_see_invisibility() : SpellScriptLoader(“spell_q11010_11012_11013_see_invisibility”) { }
class spell_q11010_11012_11013_see_invisibility_AuraScript : public AuraScript
{
PrepareAuraScript(spell_q11010_11012_11013_see_invisibility_AuraScript);
void AfterApply(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
{
Player* caster = GetCaster()->ToPlayer();
if (caster->GetQuestStatus(QUEST_BOMBING_RUN) != QUEST_STATUS_INCOMPLETE)
{
caster->RemoveAura(SPELL_SEE_INVISIBILITY);
}
}
void Register()
{
AfterEffectApply += AuraEffectApplyFn(spell_q11010_11012_11013_see_invisibility_AuraScript::AfterApply, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
}
};
AuraScript* GetAuraScript() const
{
return new spell_q11010_11012_11013_see_invisibility_AuraScript();
}
};
// http://www.wowhead.com/quest=11010 Bombing Run (for druids)
[/SPOILER]