Further file organization
Further file organization
This commit is contained in:
67
nwn/nwnprc/trunk/spells/sp_calm_emotionA.nss
Normal file
67
nwn/nwnprc/trunk/spells/sp_calm_emotionA.nss
Normal file
@@ -0,0 +1,67 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: 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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user