From 084b253ff7af4f57f95ab00a63d551eca05f268f Mon Sep 17 00:00:00 2001 From: "Michael Cook (mackal)" Date: Thu, 1 Apr 2021 14:19:47 -0400 Subject: [PATCH] Hack to fix repulsable bard charms (#1320) This isn't the exactly the right way, but it's behavior is much closer to live than current for Solon's Song of the Sirens (725), the other bard charms don't repulse due to mana cost --- zone/spells.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/zone/spells.cpp b/zone/spells.cpp index 2720b12db..19b9a8f2b 100644 --- a/zone/spells.cpp +++ b/zone/spells.cpp @@ -2647,6 +2647,12 @@ bool Mob::ApplyNextBardPulse(uint16 spell_id, Mob *spell_target, CastingSlot slo } void Mob::BardPulse(uint16 spell_id, Mob *caster) { + // so for Solon's Song of the Sirens (725) if we're repulsing, we need to skip + // other charms have mana and don't repulse + // This is probably not the ideal place for this, but it will work + if (IsCharmed() && GetOwner() == caster && IsEffectInSpell(spell_id, SE_Charm)) { + return; + } int buffs_i; int buff_count = GetMaxTotalSlots(); for (buffs_i = 0; buffs_i < buff_count; buffs_i++) {