forked from Jaysyn/PRC8
Updated Release Archive. Fixed Mage-killer prereqs. Removed old LETO & ConvoCC related files. Added organized spell scroll store. Fixed Gloura spellbook. Various TLK fixes. Reorganized Repo. Removed invalid user folders. Added DocGen back in.
64 lines
2.0 KiB
Plaintext
64 lines
2.0 KiB
Plaintext
//::///////////////////////////////////////////////
|
|
//:: Name Sorrow
|
|
//:: FileName sp_sorrow.nss
|
|
//:://////////////////////////////////////////////
|
|
/**@file Sorrow
|
|
Enchantment [Evil, Mind-Affecting]
|
|
Level: Brd 1, Clr 1
|
|
Components: V, S, M
|
|
Casting Time: 1 action
|
|
Range: Close (25 ft. + 5 ft./2 levels)
|
|
Target: One living creature
|
|
Duration: 1 round/level
|
|
Saving Throw: Will negates
|
|
Spell Resistance: Yes
|
|
|
|
Grief and sadness overcome the subject. She takes
|
|
a -3 morale penalty on all attack rolls, saving
|
|
throws, ability checks, and skill checks.
|
|
|
|
Material Component: A tear.
|
|
|
|
Author: Tenjac
|
|
Created: 05/02/06
|
|
*/
|
|
//:://////////////////////////////////////////////
|
|
//:://////////////////////////////////////////////
|
|
|
|
#include "prc_inc_spells"
|
|
#include "prc_add_spell_dc"
|
|
void main()
|
|
{
|
|
object oPC = OBJECT_SELF;
|
|
object oTarget = PRCGetSpellTargetObject();
|
|
int nCasterLvl = PRCGetCasterLevel(oPC);
|
|
int nDC = PRCGetSaveDC(oTarget, oPC);
|
|
float fDur = RoundsToSeconds(nCasterLvl);
|
|
effect eVis = EffectVisualEffect(VFX_DUR_GLOW_BLUE);
|
|
|
|
//spellhook
|
|
if(!X2PreSpellCastCode()) return;
|
|
|
|
PRCSetSchool(SPELL_SCHOOL_ENCHANTMENT);
|
|
|
|
PRCSignalSpellEvent(oTarget,TRUE, SPELL_SORROW, oPC);
|
|
|
|
if(!PRCDoResistSpell(oPC, oTarget, nCasterLvl + SPGetPenetr()) && PRCGetIsAliveCreature(oTarget))
|
|
{
|
|
//Save
|
|
if(!PRCMySavingThrow(SAVING_THROW_WILL, oTarget, nDC, SAVING_THROW_TYPE_EVIL))
|
|
{
|
|
effect eLink = EffectAttackDecrease(3, ATTACK_BONUS_MISC);
|
|
eLink = EffectLinkEffects(eLink, EffectSavingThrowDecrease(SAVING_THROW_ALL, 3, SAVING_THROW_TYPE_ALL));
|
|
eLink = EffectLinkEffects(eLink, EffectSkillDecrease(SKILL_ALL_SKILLS, 3));
|
|
eLink = EffectLinkEffects(eLink, eVis);
|
|
//Can't do ability without modifying the ability score itself; skipping
|
|
|
|
SPApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget);
|
|
}
|
|
}
|
|
|
|
//SPEvilShift(oPC);
|
|
PRCSetSchool();
|
|
}
|