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.
59 lines
2.3 KiB
Plaintext
59 lines
2.3 KiB
Plaintext
/*
|
|
10/03/21 by Stratovarius
|
|
|
|
Scion of Dantalion, the Star Emperor
|
|
|
|
As a standard action, you send your thoughts out to
|
|
a single creature whose thoughts you are reading (so it has
|
|
already failed its Will save against your read thoughts ability),
|
|
forcing it to succeed on a Will save (DC 10 + 1/2 your effective
|
|
binder level + your Cha modifier) or be dazed for 1d4 rounds.
|
|
A successful save allows the creature to break free
|
|
of your thought reading.
|
|
*/
|
|
|
|
#include "bnd_inc_bndfunc"
|
|
|
|
void DantalionOverwhelm(object oBinder, object oTarget, int nDC)
|
|
{
|
|
if (GetHasSpellEffect(VESTIGE_DANTALION_READ_THOUGHTS, oTarget))
|
|
{
|
|
if(!PRCMySavingThrow(SAVING_THROW_WILL, oTarget, nDC, SAVING_THROW_TYPE_NONE))
|
|
{
|
|
ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(PSI_IMP_CONCUSSION_BLAST), oTarget);
|
|
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectDazed(), oTarget, RoundsToSeconds(d4()));
|
|
}
|
|
else // Enemy succeeded on saving throw here
|
|
{
|
|
FloatingTextStringOnCreature(GetName(oTarget)+" breaks your Read Thoughts!", oBinder, FALSE);
|
|
PRCRemoveSpellEffects(VESTIGE_DANTALION_READ_THOUGHTS, oBinder, oTarget);
|
|
GZPRCRemoveSpellEffects(VESTIGE_DANTALION_READ_THOUGHTS, oTarget, FALSE);
|
|
}
|
|
}
|
|
}
|
|
|
|
void main()
|
|
{
|
|
object oBinder = OBJECT_SELF;
|
|
object oTarget = PRCGetSpellTargetObject();
|
|
int nDC = 10 + GetBinderLevel(oBinder, VESTIGE_DANTALION)/2 + GetAbilityModifier(ABILITY_CHARISMA, oBinder);
|
|
|
|
DantalionOverwhelm(oBinder, oTarget, nDC);
|
|
|
|
if (GetLevelByClass(CLASS_TYPE_SCION_DANTALION, oBinder) >= 5)
|
|
{
|
|
location lTarget = GetLocation(oBinder);
|
|
ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_DEEP_SLUMBER), oBinder);
|
|
// Use the function to get the closest creature as a target
|
|
object oAreaTarget = MyFirstObjectInShape(SHAPE_SPHERE, FeetToMeters(45.0), lTarget, TRUE, OBJECT_TYPE_CREATURE);
|
|
while(GetIsObjectValid(oAreaTarget))
|
|
{
|
|
if(oAreaTarget != oBinder && oAreaTarget != oTarget && GetIsEnemy(oBinder, oAreaTarget)) // Enemies only
|
|
{
|
|
DantalionOverwhelm(oBinder, oAreaTarget, nDC);
|
|
}
|
|
//Select the next target within the spell shape.
|
|
oAreaTarget = MyNextObjectInShape(SHAPE_SPHERE, FeetToMeters(45.0), lTarget, TRUE, OBJECT_TYPE_CREATURE);
|
|
}
|
|
}
|
|
} |