Fixed Lolth's meat affecting undead & constructs
Fixed Lolth's meat affecting undead & constructs. Fixed Frightful Prescence triggering on dead creatures. Fixed shadowdancer weapon feats. Added missing simple weapon feats.
This commit is contained in:
@@ -23,8 +23,17 @@ void main()
|
||||
//Declare major variables
|
||||
object oTarget = GetEnteringObject();
|
||||
|
||||
if (MyPRCGetRacialType(oTarget)== RACIAL_TYPE_DRAGON || MyPRCGetRacialType(oTarget)== RACIAL_TYPE_DRAGON )
|
||||
return;
|
||||
// Exclude dead creatures
|
||||
if (GetIsDead(oTarget))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
// Exclude dragons
|
||||
if (MyPRCGetRacialType(oTarget) == RACIAL_TYPE_DRAGON)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_FEAR_S);
|
||||
effect eDur = EffectVisualEffect(VFX_DUR_MIND_AFFECTING_FEAR);
|
||||
@@ -33,10 +42,10 @@ void main()
|
||||
|
||||
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 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);
|
||||
@@ -45,24 +54,32 @@ void main()
|
||||
|
||||
effect eLink2 = EffectLinkEffects(eDur3, SaveD);
|
||||
eLink2 = EffectLinkEffects(eLink2, Skill);
|
||||
|
||||
int nHD = GetHitDice(GetAreaOfEffectCreator());
|
||||
int nDC = 10 + GetLevelByClass(CLASS_TYPE_INITIATE_DRACONIC,GetAreaOfEffectCreator())+ GetAbilityModifier(ABILITY_CHARISMA,GetAreaOfEffectCreator());
|
||||
int nDuration = d6(2);
|
||||
if(GetIsEnemy(oTarget, GetAreaOfEffectCreator())&& GetHitDice(oTarget)<=GetHitDice(GetAreaOfEffectCreator()))
|
||||
{
|
||||
//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) && !GetIsImmune(oTarget, IMMUNITY_TYPE_FEAR) && !GetIsImmune(oTarget, IMMUNITY_TYPE_MIND_SPELLS))
|
||||
{
|
||||
int HD=GetHitDice(oTarget);
|
||||
|
||||
if (HD<5)
|
||||
//Apply the VFX impact and effects
|
||||
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, RoundsToSeconds(nDuration));
|
||||
int nHD = GetHitDice(GetAreaOfEffectCreator());
|
||||
int nDC = 10 + GetLevelByClass(CLASS_TYPE_INITIATE_DRACONIC, GetAreaOfEffectCreator()) + GetAbilityModifier(ABILITY_CHARISMA, GetAreaOfEffectCreator());
|
||||
int nDuration = d6(2);
|
||||
|
||||
if (GetIsEnemy(oTarget, GetAreaOfEffectCreator()) && GetHitDice(oTarget) <= GetHitDice(GetAreaOfEffectCreator()))
|
||||
{
|
||||
// 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)
|
||||
&& !GetIsImmune(oTarget, IMMUNITY_TYPE_FEAR)
|
||||
&& !GetIsImmune(oTarget, IMMUNITY_TYPE_MIND_SPELLS))
|
||||
{
|
||||
int HD = GetHitDice(oTarget);
|
||||
|
||||
if (HD < 5)
|
||||
{
|
||||
// Apply the VFX impact and effects
|
||||
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, RoundsToSeconds(nDuration));
|
||||
}
|
||||
else
|
||||
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink2, oTarget, RoundsToSeconds(nDuration));
|
||||
{
|
||||
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink2, oTarget, RoundsToSeconds(nDuration));
|
||||
}
|
||||
|
||||
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget);
|
||||
}
|
||||
|
Reference in New Issue
Block a user