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.
67 lines
2.2 KiB
Plaintext
67 lines
2.2 KiB
Plaintext
//::///////////////////////////////////////////////
|
|
//:: Name Calm Emotions: On Enter
|
|
//:: FileName sp_calm_emotionA.nss
|
|
//:://////////////////////////////////////////////2
|
|
/** @file Calm Emotions
|
|
Enchantment (Compulsion) [Mind-Affecting]
|
|
Level: Brd 2, Clr 2, Law 2
|
|
Components: V, S, DF
|
|
Casting Time: 1 standard action
|
|
Range: Medium (100 ft. + 10 ft./level)
|
|
Area: Creatures in a 20-ft.-radius spread
|
|
Duration: 1 round/level
|
|
Saving Throw: Will negates
|
|
Spell Resistance: Yes
|
|
|
|
This spell calms agitated creatures. You have no
|
|
control over the affected creatures, but calm emotions
|
|
can stop raging creatures from fighting or joyous ones
|
|
from reveling. Creatures so affected cannot take
|
|
violent actions (although they can defend themselves)
|
|
or do anything destructive.
|
|
|
|
|
|
**/
|
|
//////////////////////////////////////////////////////
|
|
// Author: Tenjac
|
|
// Date: 8.10.06
|
|
//////////////////////////////////////////////////////
|
|
|
|
#include "prc_sp_func"
|
|
#include "prc_add_spell_dc"
|
|
|
|
int GetIsSupernaturalCurse(effect eEff)
|
|
{
|
|
object oCreator = GetEffectCreator(eEff);
|
|
if(GetTag(oCreator) == "q6e_ShaorisFellTemple")
|
|
return TRUE;
|
|
return FALSE;
|
|
}
|
|
|
|
void main()
|
|
{
|
|
object oPC = GetAreaOfEffectCreator();
|
|
object oTarget = GetEnteringObject();
|
|
int nDC = PRCGetSaveDC(oTarget, oPC);
|
|
|
|
//SR
|
|
if(!PRCDoResistSpell(oPC, oTarget, PRCGetCasterLevel(oPC) + SPGetPenetr()))
|
|
{
|
|
//Saving Throw and no targeting self
|
|
if(!PRCMySavingThrow(SAVING_THROW_WILL, oTarget, nDC, SAVING_THROW_TYPE_SPELL) && oTarget != oPC)
|
|
{
|
|
effect eVis = EffectVisualEffect(VFX_IMP_DAZED_S);
|
|
SPApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget);
|
|
PRCRemoveEffectsFromSpell(oTarget, 307); // Barbarian Rage
|
|
PRCRemoveEffectsFromSpell(oTarget, SPELL_BARD_SONG); // Bard Song
|
|
|
|
effect eEffect = GetFirstEffect(oTarget);
|
|
while(GetIsEffectValid(eEffect))
|
|
{ //Effect removal - see prc_sp_func for list of effects removed
|
|
if(CheckRemoveEffects(SPELL_CALM_EMOTIONS, GetEffectType(eEffect)) && !GetIsSupernaturalCurse(eEffect) && (GetEffectSubType(eEffect) != SUBTYPE_EXTRAORDINARY))
|
|
RemoveEffect(oTarget, eEffect);
|
|
eEffect = GetNextEffect(oTarget);
|
|
}
|
|
}
|
|
}
|
|
} |