Files
PRC8/nwn/nwnprc/trunk/psionics/psi_pow_frmdment.nss
Jaysyn904 d94be0fd42 2026/04/03
Summon Undead now uses PRCGetSpellId().
Ectoplasmic Enhancement now doesn't quit after testing a non-undead.
Warmage no longer has infinite casts of Disrupt Undead.
Crushing Despair now respects Mind Immunity.
Incendiary Cloud now uses MyFirstObjectInShape() and MyNextObjectInShape().
Tweaked prc_s_spellb.nss to always pass oPC to GetSlotCount() since the function is OBJECT_INVALID by default.
Tweaked prc_prereq.nss to always pass oPC to GetSlotCount() since the function is OBJECT_INVALID by default.
Form of Doom's Fear Aura now respects Mind Immunity  and Fear Immunity.
Dread Necromancer's Fear Aura now respects Mind Immunity.
Summon Undead skeletons not how the correct resistances.
Enlighted Fist & Dragon Disciple can now qualify for Improved Spell Resistance.
Cerebremancer can now take Bane Magic.
2026-04-03 14:21:10 -04:00

123 lines
4.9 KiB
Plaintext
Raw 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.

/*
----------------
Form of Doom - Frightful presence OnEnter
psi_pow_frmdment
----------------
13/12/05 by Stratovarius
*/ /** @file
Form of Doom - Frightful presence OnEnter
Psychometabolism
Level: Psychic warrior 6
Manifesting Time: 1 standard action
Range: Personal; see text
Target: You
Duration: 1 round/level
Power Points: 11
Metapsionics: Extend
You wrench from your subconscious a terrifying visage of deadly hunger and
become one with it. You are transformed into a nightmarish version of
yourself, complete with an ooze-sleek skin coating, lashing tentacles, and a
fright-inducing countenance. You retain your basic shape and can continue to
use your equipment. This power cannot be used to impersonate someone; while
horrible, your form is recognizably your own.
You gain the frightful presence extraordinary ability, which takes effect
automatically. Opponents within 30 feet of you that have fewer Hit Dice or
levels than you become shaken for 5d6 rounds if they fail a Will save
(DC 16 + your Cha modifier). An opponent that succeeds on the saving throw
is immune to your frightful presence for 24 hours. Frightful presence is a
mind-affecting fear effect.
Your horrific form grants you a natural armor bonus of +5, damage reduction
5/-, and a +4 bonus to your Strength score. In addition, you gain +33% to
your land speed as well as a +10 bonus on Jump checks.
A nest of violently flailing black tentacles sprout from your hair and back.
You can make up to four additional attacks with these tentacles in addition
to your regular melee attacks. You can make tentacle attacks within the
space you normally threaten. Each tentacle attacks at your highest base
attack bonus with a -5 penalty. These tentacles deal 2d8 points of damage
plus one-half your Strength bonus on each successful strike.
This power functions only while you inhabit your base form (for instance,
you cant be metamorphed or polymorphed into another form, though you can
use, claws of the beast, and bite of the wolf in conjunction with this power
for your regular attacks), and while your mind resides within your own body.
Augment: For every additional power point you spend, this powers duration
increases by 2 rounds.
*/
#include "prc_inc_spells"
void main()
{
object oTarget = GetEnteringObject();
object oCreator = GetAreaOfEffectCreator();
string sCreatorID = GetObjectUUID(oCreator);
string sVar = "FoD_FEAR_IMMUNE_" + sCreatorID;
// Skip if target already immune to this manifester's frightful presence
if (GetLocalInt(oTarget, sVar))
return;
effect eLink = EffectShaken();
eLink = EffectLinkEffects(eLink, EffectVisualEffect(VFX_DUR_MIND_AFFECTING_FEAR));
eLink = EffectLinkEffects(eLink, EffectVisualEffect(VFX_DUR_CESSATE_NEGATIVE));
effect eVis = EffectVisualEffect(VFX_IMP_FEAR_S);
int nDC = 16 + GetAbilityModifier(ABILITY_CHARISMA, oCreator);
int nDuration = d6(5);
if (GetIsEnemy(oTarget, oCreator))
{
SignalEvent(oTarget, EventSpellCastAt(oCreator, SPELLABILITY_AURA_FEAR));
if (!PRCMySavingThrow(SAVING_THROW_WILL, oTarget, nDC, SAVING_THROW_TYPE_FEAR) && !GetIsImmune(oTarget, IMMUNITY_TYPE_FEAR) && !GetIsImmune(oTarget, IMMUNITY_TYPE_MIND_SPELLS))
{
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, RoundsToSeconds(nDuration));
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget);
}
else
{
// Successful save grants 24-hour immunity to this manifesters aura
SetLocalInt(oTarget, sVar, TRUE);
DelayCommand(HoursToSeconds(24), DeleteLocalInt(oTarget, sVar));
}
}
}
/* #include "prc_inc_spells"
void main()
{
//Declare major variables
object oTarget = GetEnteringObject();
effect eLink = EffectShaken();
eLink = EffectLinkEffects(eLink, EffectVisualEffect(VFX_DUR_MIND_AFFECTING_FEAR));
eLink = EffectLinkEffects(eLink, EffectVisualEffect(VFX_DUR_CESSATE_NEGATIVE));
effect eVis = EffectVisualEffect(VFX_IMP_FEAR_S);
int nDC = 16 + GetAbilityModifier(ABILITY_CHARISMA, GetAreaOfEffectCreator());
int nDuration = d6(5);
if(GetIsEnemy(oTarget, GetAreaOfEffectCreator()))
{
//Fire cast spell at event for the specified target
SignalEvent(oTarget, EventSpellCastAt(GetAreaOfEffectCreator(), SPELLABILITY_AURA_FEAR));
//Make a saving throw check
if(!PRCMySavingThrow(SAVING_THROW_WILL, oTarget, nDC, SAVING_THROW_TYPE_FEAR))
{
//Apply the VFX impact and effects
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, RoundsToSeconds(nDuration));
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget);
}
}
} */