Updated AMS marker feats. Removed arcane & divine marker feats. Updated Dread Necromancer for epic progression. Updated weapon baseitem models. Updated new weapons for crafting & npc equip. Updated prefix. Updated release archive.
65 lines
2.7 KiB
Plaintext
65 lines
2.7 KiB
Plaintext
//::///////////////////////////////////////////////
|
|
//:: [Censure Daemons]
|
|
//:: [prc_s_censuredm.nss]
|
|
//:://////////////////////////////////////////////
|
|
//:: Evil Outsiders must make a will save versus
|
|
//:: Knight level + 10 + Cha Bonus or be stunned
|
|
//:: for 1 round. If HD is less than 2 x Knight Level
|
|
//:: must save again or be immediately banished
|
|
//:://////////////////////////////////////////////
|
|
//:: Created By: Aaon Graywolf
|
|
//:: Created On: Mar 17, 2004
|
|
//:://////////////////////////////////////////////
|
|
|
|
int PRCCanCreatureBeDestroyed(object oTarget)
|
|
{
|
|
if (GetPlotFlag(oTarget) == FALSE && GetImmortal(oTarget) == FALSE)
|
|
{
|
|
return TRUE;
|
|
}
|
|
return FALSE;
|
|
}
|
|
|
|
|
|
#include "prc_alterations"
|
|
|
|
void main()
|
|
{
|
|
int nLevel = GetLevelByClass(CLASS_TYPE_KNIGHT_CHALICE, OBJECT_SELF);
|
|
int nCnt = 1;
|
|
int nChrMod = GetAbilityModifier(ABILITY_CHARISMA);
|
|
int nDC = 10 + nLevel + nChrMod;
|
|
effect eImpVis = EffectVisualEffect(VFX_IMP_DIVINE_STRIKE_HOLY);
|
|
effect eStunVis = EffectVisualEffect(VFX_DUR_MIND_AFFECTING_DISABLED);
|
|
effect eStun = EffectStunned();
|
|
effect eCensure = EffectLinkEffects(eStun, eStunVis);
|
|
effect eBanish = EffectVisualEffect(VFX_IMP_UNSUMMON);
|
|
effect eLOS = EffectVisualEffect(VFX_FNF_LOS_HOLY_30);
|
|
|
|
//Show the holy burst effect
|
|
ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eLOS, GetLocation(OBJECT_SELF));
|
|
|
|
//Cycle through all enemy outsiders within 30 feet
|
|
object oTarget = GetNearestCreature(CREATURE_TYPE_RACIAL_TYPE, RACIAL_TYPE_OUTSIDER, OBJECT_SELF, 1, PLAYER_CHAR_IS_PC, PLAYER_CHAR_NOT_PC, CREATURE_TYPE_REPUTATION, REPUTATION_TYPE_ENEMY);
|
|
while(GetIsObjectValid(oTarget) && GetDistanceBetween(oTarget, OBJECT_SELF) <= FeetToMeters(30.0f)){
|
|
//Only works on evil outsiders
|
|
if(GetAlignmentGoodEvil(oTarget) != ALIGNMENT_EVIL) return;
|
|
|
|
ApplyEffectToObject(DURATION_TYPE_INSTANT, eImpVis, oTarget);
|
|
|
|
//First censure check to stun
|
|
if(!WillSave(oTarget, nDC, SAVING_THROW_TYPE_GOOD)){
|
|
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eCensure, oTarget, RoundsToSeconds(1));
|
|
|
|
//Second check to banish weaker fiends
|
|
if(GetHitDice(oTarget) < nLevel*2 && !WillSave(oTarget, nDC, SAVING_THROW_TYPE_GOOD)){
|
|
ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eBanish, GetLocation(oTarget));
|
|
if (PRCCanCreatureBeDestroyed(oTarget) == TRUE)
|
|
DestroyObject(oTarget, 0.3);
|
|
}
|
|
}
|
|
nCnt++;
|
|
oTarget = GetNearestCreature(CREATURE_TYPE_RACIAL_TYPE, RACIAL_TYPE_OUTSIDER, OBJECT_SELF, nCnt, PLAYER_CHAR_IS_PC, PLAYER_CHAR_NOT_PC, CREATURE_TYPE_REPUTATION, REPUTATION_TYPE_ENEMY);
|
|
}
|
|
}
|