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.
83 lines
3.4 KiB
Plaintext
83 lines
3.4 KiB
Plaintext
//::///////////////////////////////////////////////
|
|
//:: Aura of Fear On Enter
|
|
//:: NW_S1_AuraFearA.nss
|
|
//:: Copyright (c) 2001 Bioware Corp.
|
|
//:://////////////////////////////////////////////
|
|
/*
|
|
Upon entering the aura of the creature the player
|
|
must make a will save or be struck with fear because
|
|
of the creatures presence.
|
|
*/
|
|
//:://////////////////////////////////////////////
|
|
//:: Created By: Preston Watamaniuk
|
|
//:: Created On: May 25, 2001
|
|
//:://////////////////////////////////////////////
|
|
|
|
|
|
// shaken -2 attack,weapon dmg,save.
|
|
// panicked -2 save + flee away ,50 % drop object holding
|
|
|
|
#include "prc_inc_spells"
|
|
|
|
void main()
|
|
{
|
|
//Declare major variables
|
|
object oTarget = GetEnteringObject();
|
|
|
|
effect eVis = EffectVisualEffect(VFX_IMP_FEAR_S);
|
|
effect eDur = EffectVisualEffect(VFX_DUR_MIND_AFFECTING_FEAR);
|
|
effect eDur2 = EffectVisualEffect(VFX_DUR_CESSATE_NEGATIVE);
|
|
effect eDur3 = EffectVisualEffect(VFX_DUR_MIND_AFFECTING_NEGATIVE);
|
|
|
|
effect eFear = EffectFrightened();
|
|
effect eAttackD = EffectAttackDecrease(2);
|
|
effect eDmgD = EffectDamageDecrease(2,DAMAGE_TYPE_BLUDGEONING|DAMAGE_TYPE_PIERCING|DAMAGE_TYPE_SLASHING);
|
|
effect SaveD = EffectSavingThrowDecrease(SAVING_THROW_ALL,2);
|
|
effect Skill = EffectSkillDecrease(SKILL_ALL_SKILLS,2);
|
|
|
|
effect eLink = EffectLinkEffects(eDmgD, eDur2);
|
|
eLink = EffectLinkEffects(eLink, eAttackD);
|
|
eLink = EffectLinkEffects(eLink, SaveD);
|
|
eLink = EffectLinkEffects(eLink, eFear);
|
|
eLink = EffectLinkEffects(eLink, Skill);
|
|
|
|
effect eLink2 = EffectLinkEffects(eDur3, SaveD);
|
|
eLink2 = EffectLinkEffects(eLink2, Skill);
|
|
|
|
int nHD = GetHitDice(GetAreaOfEffectCreator());
|
|
int nEpic = GetHasFeat(FEAT_EPIC_DRAGONSONG_FEAR,GetAreaOfEffectCreator()) ? 4:0;
|
|
|
|
if (GetHasFeat(FEAT_EPIC_FOCUS_DRAGONSONG,GetAreaOfEffectCreator())) nEpic += 6;
|
|
else if (GetHasFeat(FEAT_GREATER_FOCUS_DRAGONSONG,GetAreaOfEffectCreator())) nEpic += 4;
|
|
else if (GetHasFeat(FEAT_FOCUS_DRAGONSONG,GetAreaOfEffectCreator())) nEpic += 2;
|
|
|
|
int nDC = 12 + nEpic + GetLevelByClass(CLASS_TYPE_DRAGONSONG_LYRIST,GetAreaOfEffectCreator())+ GetAbilityModifier(ABILITY_CHARISMA,GetAreaOfEffectCreator());
|
|
int nDuration = d6(2);
|
|
if(GetIsEnemy(oTarget, GetAreaOfEffectCreator()))
|
|
{
|
|
if (!PRCGetHasEffect(EFFECT_TYPE_DEAF,oTarget)) // deaf targets can't hear the song.
|
|
{
|
|
//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))
|
|
{
|
|
|
|
if (nHD>GetHitDice(oTarget)/2)
|
|
//Apply the VFX impact and effects
|
|
SPApplyEffectToObject(DURATION_TYPE_TEMPORARY, SupernaturalEffect(eLink), oTarget, RoundsToSeconds(nDuration),FALSE);
|
|
else
|
|
SPApplyEffectToObject(DURATION_TYPE_TEMPORARY, SupernaturalEffect(eLink2), oTarget, RoundsToSeconds(nDuration),FALSE);
|
|
|
|
SPApplyEffectToObject(DURATION_TYPE_INSTANT, SupernaturalEffect(eVis), oTarget);
|
|
}
|
|
}
|
|
}
|
|
|
|
effect eVis2 = EffectVisualEffect(VFX_DUR_BARD_SONG);
|
|
if (oTarget == GetAreaOfEffectCreator())
|
|
SPApplyEffectToObject(DURATION_TYPE_PERMANENT, eVis2, OBJECT_SELF,0.0,FALSE);
|
|
|
|
|
|
}
|