From a9a83a2052269524d6f85f96d90d5b2416adc4fa Mon Sep 17 00:00:00 2001 From: "Michael Cook (mackal)" Date: Thu, 1 Apr 2021 14:19:29 -0400 Subject: [PATCH] [Bug Fix] Misc Bard Song Fixes (#1317) * Bards song with a mana cost shouldn't repulse * Bard songs with SE_TemporaryPets shouldn't repulse This is mostly just an issue with Vet AAs, the actually songs have a recast, so are already handled * SE_Familiar should be prevented as well --- zone/spells.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/zone/spells.cpp b/zone/spells.cpp index b4e001ad2..2720b12db 100644 --- a/zone/spells.cpp +++ b/zone/spells.cpp @@ -1038,8 +1038,10 @@ void Mob::CastedSpellFinished(uint16 spell_id, uint32 target_id, CastingSlot slo // So long recast bard songs need special bard logic, although the effects don't repulse like other songs // This is basically a hack to get that effect // You can hold down the long recast spells, but you only get the effects once + // Songs with mana cost also do not repulse + // AAs that use SE_TemporaryPets or SE_Familiar also do not repulse // TODO fuck bards. - if (spells[spell_id].recast_time == 0) { + if (spells[spell_id].recast_time == 0 && spells[spell_id].mana == 0 && !IsEffectInSpell(spell_id, SE_TemporaryPets) && !IsEffectInSpell(spell_id, SE_Familiar)) { bardsong = spell_id; bardsong_slot = slot; //NOTE: theres a lot more target types than this to think about...