Fear spell
Page 1 of 1
Fear spell
noticed mobs got feared for no reason.then i looked at the fear spell nss.
this spell is broken.hurts allys and caster.no other spell of the type does that.
maybe it should hurt allys but never caster i think.
heres a fix.
hurt only enemys
or if it should hurt allys&enemys but not caster.
this spell is broken.hurts allys and caster.no other spell of the type does that.
maybe it should hurt allys but never caster i think.
heres a fix.
hurt only enemys
- Code:
#include "X0_I0_SPELLS"
#include "x2_inc_spellhook"
void main()
{
if (!X2PreSpellCastCode())
{
return;
}
int nCasterLevel = MothGetCasterLevel(OBJECT_SELF);
int nMetaMagic = GetMetaMagicFeat();
float fDuration = RoundsToSeconds(nCasterLevel);
nCasterLevel = nCasterLevel/2;
int nDamage;
effect eDmg;
effect eVis = EffectVisualEffect(VFX_IMP_FEAR_S);
effect eFear = EffectFrightened();
effect eMind = EffectVisualEffect(VFX_DUR_MIND_AFFECTING_FEAR);
effect eImpact1 = EffectVisualEffect(VFX_FNF_LOS_NORMAL_30);
effect eImpact2 = EffectVisualEffect(VFX_FNF_LOS_NORMAL_20);
effect eImpact = EffectLinkEffects(eImpact1,eImpact2);
effect eDur = EffectVisualEffect(VFX_DUR_CESSATE_NEGATIVE);
float fDelay;
effect eLink = EffectLinkEffects(eFear, eMind);
eLink = EffectLinkEffects(eLink, eDur);
object oTarget;
if (nMetaMagic == METAMAGIC_EXTEND)
{
fDuration = fDuration * 2.0;
}
ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eImpact, GetSpellTargetLocation());
oTarget = GetFirstObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_COLOSSAL, GetSpellTargetLocation(), TRUE);
while(GetIsObjectValid(oTarget))
{
if(spellsIsTarget(oTarget, SPELL_TARGET_SELECTIVEHOSTILE, OBJECT_SELF))
{
fDelay = GetRandomDelay();
SignalEvent(oTarget, EventSpellCastAt(OBJECT_SELF, SPELL_FEAR));
if(!MyResistSpell(OBJECT_SELF, oTarget, fDelay))
{
nDamage = d2(nCasterLevel);
eDmg = EffectDamage(nDamage, DAMAGE_TYPE_SONIC);
if(!MySavingThrow(SAVING_THROW_WILL, oTarget, MothDC()+3, SAVING_THROW_TYPE_FEAR, OBJECT_SELF, fDelay))
{
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, fDuration));
}
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eDmg, oTarget));
}
}
oTarget = GetNextObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_COLOSSAL, GetSpellTargetLocation(), TRUE);
}
}
or if it should hurt allys&enemys but not caster.
- Code:
#include "X0_I0_SPELLS"
#include "x2_inc_spellhook"
void main()
{
if (!X2PreSpellCastCode())
{
return;
}
int nCasterLevel = MothGetCasterLevel(OBJECT_SELF);
int nMetaMagic = GetMetaMagicFeat();
float fDuration = RoundsToSeconds(nCasterLevel);
nCasterLevel = nCasterLevel/2;
int nDamage;
effect eDmg;
effect eVis = EffectVisualEffect(VFX_IMP_FEAR_S);
effect eFear = EffectFrightened();
effect eMind = EffectVisualEffect(VFX_DUR_MIND_AFFECTING_FEAR);
effect eImpact1 = EffectVisualEffect(VFX_FNF_LOS_NORMAL_30);
effect eImpact2 = EffectVisualEffect(VFX_FNF_LOS_NORMAL_20);
effect eImpact = EffectLinkEffects(eImpact1,eImpact2);
effect eDur = EffectVisualEffect(VFX_DUR_CESSATE_NEGATIVE);
float fDelay;
effect eLink = EffectLinkEffects(eFear, eMind);
eLink = EffectLinkEffects(eLink, eDur);
object oTarget;
if (nMetaMagic == METAMAGIC_EXTEND)
{
fDuration = fDuration * 2.0;
}
ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eImpact, GetSpellTargetLocation());
oTarget = GetFirstObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_COLOSSAL, GetSpellTargetLocation(), TRUE);
while(GetIsObjectValid(oTarget))
{
if (spellsIsTarget(oTarget, SPELL_TARGET_STANDARDHOSTILE, OBJECT_SELF) && oTarget != OBJECT_SELF)
{
fDelay = GetRandomDelay();
SignalEvent(oTarget, EventSpellCastAt(OBJECT_SELF, SPELL_FEAR));
if(!MyResistSpell(OBJECT_SELF, oTarget, fDelay))
{
nDamage = d2(nCasterLevel);
eDmg = EffectDamage(nDamage, DAMAGE_TYPE_SONIC);
if(!MySavingThrow(SAVING_THROW_WILL, oTarget, MothDC()+3, SAVING_THROW_TYPE_FEAR, OBJECT_SELF, fDelay))
{
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, fDuration));
}
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eDmg, oTarget));
}
}
oTarget = GetNextObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_COLOSSAL, GetSpellTargetLocation(), TRUE);
}
}
Vladimir- Posts : 110
Join date : 2011-05-17
Similar topics
» Information about the Ranger
» Spell Descriptions
» Spell Descriptions Your Help is Needed!
» Bard Spell Levels and You
» Epic Spell: Hellball
» Spell Descriptions
» Spell Descriptions Your Help is Needed!
» Bard Spell Levels and You
» Epic Spell: Hellball
Page 1 of 1
Permissions in this forum:
You cannot reply to topics in this forum