From bbe2db7c0f8f647be033b39d030877456a8d58d8 Mon Sep 17 00:00:00 2001 From: KayenEQ Date: Fri, 1 Apr 2022 18:01:38 -0400 Subject: [PATCH] [Bug Fix] Bard Invisible causing display issues. (#2067) * [Bug Fix] Bard Invisible causing display issues. Error occurring due to bard modifiers being applied to invisible spell effect value. * [Bug Fix] Bard Invisible causing display issues. --- common/spdat.cpp | 9 +++++++++ zone/bonuses.cpp | 1 + 2 files changed, 10 insertions(+) diff --git a/common/spdat.cpp b/common/spdat.cpp index 64e9adc9b..dab8ea13b 100644 --- a/common/spdat.cpp +++ b/common/spdat.cpp @@ -1465,6 +1465,15 @@ bool IsInstrumentModAppliedToSpellEffect(int32 spell_id, int effect) case SE_BardSongRange: case SE_TemporaryPets: case SE_SpellOnDeath: + case SE_Invisibility: + case SE_Invisibility2: + case SE_InvisVsUndead: + case SE_InvisVsUndead2: + case SE_InvisVsAnimals: + case SE_ImprovedInvisAnimals: + case SE_SeeInvis: + case SE_Levitate: + case SE_WaterBreathing: return false; default: return true; diff --git a/zone/bonuses.cpp b/zone/bonuses.cpp index 174f1180a..9de70a76d 100644 --- a/zone/bonuses.cpp +++ b/zone/bonuses.cpp @@ -3847,6 +3847,7 @@ void Mob::ApplySpellsBonuses(uint16 spell_id, uint8 casterlevel, StatBonuses *ne break; case SE_InvisVsAnimals: + case SE_ImprovedInvisAnimals: effect_value = std::min({ effect_value, MAX_INVISIBILTY_LEVEL }); if (new_bonus->invisibility_verse_animal < effect_value) new_bonus->invisibility_verse_animal = effect_value;