From cd65130e9248eb086ee38c8612232daca72de6a5 Mon Sep 17 00:00:00 2001 From: Jaysyn904 <68194417+Jaysyn904@users.noreply.github.com> Date: Wed, 28 May 2025 08:49:57 -0400 Subject: [PATCH] Update prc_inc_spells.nss Added once per target, per spell check to Thrall of Grazzt's Spell Betrayal & Spellstrike. --- nwn/nwnprc/trunk/include/prc_inc_spells.nss | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/nwn/nwnprc/trunk/include/prc_inc_spells.nss b/nwn/nwnprc/trunk/include/prc_inc_spells.nss index e1007f3d..bb20fcb9 100644 --- a/nwn/nwnprc/trunk/include/prc_inc_spells.nss +++ b/nwn/nwnprc/trunk/include/prc_inc_spells.nss @@ -792,13 +792,20 @@ int SpellStrikeDamage(object oTarget, object oCaster) { int iDam = 0; int ThrallLevel = GetLevelByClass(CLASS_TYPE_THRALL_OF_GRAZZT_A, oCaster) + GetLevelByClass(CLASS_TYPE_THRALL_OF_GRAZZT_D, oCaster); + + // Combine caster and spell ID into a unique key + int nSpellId = PRCGetSpellId(); + string sFlag = "SPELL_STRIKE_" + ObjectToString(oCaster) + "_" + IntToString(nSpellId); if(ThrallLevel >= 6) { if( GetIsAOEFlanked(oTarget, oCaster) ) { - ThrallLevel /= 4; - iDam = d6(ThrallLevel); + ThrallLevel /= 4; + iDam = d6(ThrallLevel); + // Mark target as affected for this spell instance by this caster + SetLocalInt(oTarget, sFlag, TRUE); + DelayCommand(2.5, DeleteLocalInt(oTarget, sFlag)); } }