PRC8/nwn/nwnprc/trunk/newspellbook/shd_myst_drksoul.nss
Jaysyn904 6ec137a24e Updated AMS marker feats
Updated AMS marker feats.  Removed arcane & divine marker feats.  Updated Dread Necromancer for epic progression. Updated weapon baseitem models.  Updated new weapons for crafting & npc equip.
 Updated prefix.  Updated release archive.
2024-02-11 14:01:05 -05:00

42 lines
1.6 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*
18/02/19 by Stratovarius
Dark Soul
Master, Heart and Soul
Level/School: 7th/Enchantment (Compulsion) [Mind Affecting]
Range: Personal
Target: You
Duration: 1 round/level
Saving Throw: Will negates; see text
Spell Resistance: Yes; see text
You open the subjects mind to the Plane of Shadow, altering its personality.
You turn the dark energies from the Plane of Shadow upon another creature, compelling it to act in ways that it normally would not.
While this effect is active, you can use a standard action to focus the shadow energies on one living creature within 30 feet that you select.
The creature must succeed on a Will saving throw (DC 17 + your Cha modifier) or immediately make a melee attack against one target within its reach.
*/
#include "shd_inc_shdfunc"
#include "shd_mysthook"
void main()
{
if(!ShadPreMystCastCode()) return;
object oShadow = OBJECT_SELF;
object oTarget = PRCGetSpellTargetObject();
struct mystery myst = EvaluateMystery(oShadow, oTarget, METASHADOW_EXTEND);
if(myst.bCanMyst)
{
myst.fDur = 6.0 * myst.nShadowcasterLevel;
if(myst.bExtend) myst.fDur *= 2;
// Duration Effects
object oSkin = GetPCSkin(oShadow);
itemproperty ipFlick = ItemPropertyBonusFeat(IP_CONST_FEAT_DARK_SOUL);
ActionDoCommand(AddItemProperty(DURATION_TYPE_TEMPORARY, ipFlick, oSkin, myst.fDur));
SPApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectVisualEffect(VFX_DUR_ENTROPIC_SHIELD), oTarget, myst.fDur, TRUE, myst.nMystId, myst.nShadowcasterLevel);
}
}