2026/05/28 Afternoon update

Updated damagtypes.2da for CEP3 reserved rows.
Added and setup Darkvision icon.
Added and setup Ultravision icon.
Added spell icon for Thicket of Blades.
Fixed Blacklight, Cloud of the Archeai, Darkness, Deeper Darkness, Damning Darkness, Utterdark, Grasping Shadows, Dawn and Dusk and Child of Shadow and Light for Telflammar Shadowlord's Shadow Blur and Shadow Sight abilities.
Updated Blacklight's TLK entry.
Created a constant for Shadow Discorporation.
Fixed Shadow Time never ending on the targets.
Updated prc_inc_combat to use monk iterative progression if warranted.
Updated PRCGetIsRealSpellKnownByClass() to handle Sublime Chord better. (@Lightbeard)
Added class heartbeat script for Shadowlord to handle Shadow Blur and Shadow Sight.
Added ShadowlordEffects() to prc_inc_spells.
Added constants for new damagetypes.
Completely rewrote Verminlord's Vermin Domination.
Fixed duration for Empathic Feedback.
Fixed Morality Undone to not break characters over a server reset.
This commit is contained in:
Jaysyn904
2026-05-28 16:27:19 -04:00
parent b27d9d2e5f
commit c437270cd1
40 changed files with 813 additions and 362 deletions

View File

@@ -20,6 +20,26 @@
/* Function prototypes */
//////////////////////////////////////////////////
/**
* Returns a linked effect bundle containing Shadowlord ultravision,
* visual feedback effects, and concealment for higher Shadowlord levels.
*
* @param iShadow
* Shadowlord level of the target creature.
*
* @param eBaseEffect
* Existing linked effect bundle to append effects to.
* Typically ePnP, eLink, or eLink2.
*
* @return
* Updated linked effect bundle containing:
* - Ultravision
* - Ultravision icon
* - Magical sight visuals
* - Positive effect visuals
* - 20% concealment at Shadowlord level 2+
*/
effect ShadowlordEffects(int iShadow, effect eBaseEffect);
//:: Calculates total Shield AC bonuses from all sources
@@ -381,6 +401,30 @@ const int TYPE_DIVINE = -2;
/* Function definitions */
//////////////////////////////////////////////////
effect ShadowlordEffects(int iShadow, effect eBaseEffect)
{
//:: Create visual feedback effect link
effect eVis = EffectVisualEffect(VFX_DUR_ULTRAVISION);
eVis = EffectLinkEffects(eVis, EffectVisualEffect(VFX_DUR_CESSATE_POSITIVE));
eVis = EffectLinkEffects(eVis, EffectVisualEffect(VFX_DUR_MAGICAL_SIGHT));
eVis = EffectLinkEffects(eVis, EffectIcon(EFFECT_ICON_ULTRAVISION));
//:: Link Ultravision and visual feedback into base effect
eBaseEffect = EffectLinkEffects(eBaseEffect, EffectUltravision());
eBaseEffect = EffectLinkEffects(eBaseEffect, eVis);
if(DEBUG) DoDebug("ShadowlordEffects() >> Setting up Ultravision");
if (iShadow > 1)
{
//;: Add concealment for level 2+ Shadowlords
eBaseEffect = EffectLinkEffects(eBaseEffect, EffectConcealment(20));
if(DEBUG) DoDebug("ShadowlordEffects() >> Setting up Concealment");
}
return eBaseEffect;
}
// Returns TRUE if nSpellID is a subradial spell, FALSE otherwise
int GetIsSubradialSpell(int nSpellID)