Updated all soulmelds to allow double chakra binds. Updated Totemist soulmelds to allow double totem binds. Pearl of Black Doubt should play nice with Vow of Poverty.
75 lines
3.0 KiB
Plaintext
75 lines
3.0 KiB
Plaintext
/*
|
|
5/1/20 by Stratovarius
|
|
|
|
Krenshar Mask Totem Bind
|
|
|
|
Your face becomes one with your krenshar mask, so all its muscles move to match your expressions. A ridge of skin around the edge of the mask quivers when
|
|
you grow angry or enter combat, and a growling edge creeps into your voice.
|
|
|
|
You gain the ability to produce a loud screech (as a standard action) similar to that of a krenshar. In combination with the frightening aspect of the mask,
|
|
this shriek causes one creature within 30 feet of you to become frightened for 1 round if it fails a Will save. This is a sonic, mind-affecting fear effect.
|
|
*/
|
|
//::////////////////////////////////////////////////////////
|
|
//::
|
|
//:: Updated by: Jaysyn
|
|
//:: Updated on: 2026-02-20 19:13:24
|
|
//::
|
|
//:: Double Totem Bind support added
|
|
//:: Double Chakra Bind support added
|
|
//::
|
|
//::////////////////////////////////////////////////////////
|
|
#include "moi_inc_moifunc"
|
|
|
|
void main()
|
|
{
|
|
object oMeldshaper = OBJECT_SELF;
|
|
int nMeldId = MELD_KRENSHAR_MASK;
|
|
|
|
// Check if bound to Totem chakra (regular or double)
|
|
int nBoundToTotem = FALSE;
|
|
if (GetLocalInt(oMeldshaper, "BoundMeld" + IntToString(CHAKRA_TOTEM)) == nMeldId ||
|
|
GetLocalInt(oMeldshaper, "BoundMeld" + IntToString(CHAKRA_DOUBLE_TOTEM)) == nMeldId)
|
|
nBoundToTotem = TRUE;
|
|
|
|
if (!nBoundToTotem) return; // Exit if not bound to Totem
|
|
|
|
object oTarget = PRCGetSpellTargetObject();
|
|
int nEssentia = GetEssentiaInvested(oMeldshaper, MELD_KRENSHAR_MASK);
|
|
int nMeldshaperLvl = GetMeldshaperLevel(oMeldshaper, CLASS_TYPE_TOTEMIST, MELD_KRENSHAR_MASK);
|
|
int nDC = GetMeldshaperDC(oMeldshaper, CLASS_TYPE_TOTEMIST, MELD_KRENSHAR_MASK);
|
|
|
|
// Exclude the caster from the effects
|
|
if (oTarget != oMeldshaper)
|
|
{
|
|
if (spellsIsTarget(oTarget, SPELL_TARGET_STANDARDHOSTILE, oMeldshaper))
|
|
{
|
|
if (!PRCDoResistSpell(oMeldshaper, oTarget, nMeldshaperLvl))
|
|
{
|
|
if (!PRCMySavingThrow(SAVING_THROW_WILL, oTarget, nDC, SAVING_THROW_TYPE_MIND_SPELLS))
|
|
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectFrightened(), oTarget, 6.0);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
/* void main()
|
|
{
|
|
object oMeldshaper = OBJECT_SELF;
|
|
object oTarget = PRCGetSpellTargetObject();
|
|
int nEssentia = GetEssentiaInvested(oMeldshaper, MELD_KRENSHAR_MASK);
|
|
int nMeldshaperLvl = GetMeldshaperLevel(oMeldshaper, CLASS_TYPE_TOTEMIST, MELD_KRENSHAR_MASK);
|
|
int nDC = GetMeldshaperDC(oMeldshaper, CLASS_TYPE_TOTEMIST, MELD_KRENSHAR_MASK);
|
|
|
|
//Exclude the caster from the effects
|
|
if (oTarget != oMeldshaper)
|
|
{
|
|
if (spellsIsTarget(oTarget, SPELL_TARGET_STANDARDHOSTILE, oMeldshaper))
|
|
{
|
|
if (!PRCDoResistSpell(oMeldshaper, oTarget, nMeldshaperLvl))
|
|
{
|
|
if (!PRCMySavingThrow(SAVING_THROW_WILL, oTarget, nDC, SAVING_THROW_TYPE_MIND_SPELLS))
|
|
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectFrightened(), oTarget, 6.0);
|
|
}
|
|
}
|
|
}
|
|
} */ |