PRC8/nwn/nwnprc/trunk/newspellbook/inv_dra_chilfoga.nss
Jaysyn904 6ec137a24e Updated AMS marker feats
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.
2024-02-11 14:01:05 -05:00

38 lines
1.5 KiB
Plaintext

//::///////////////////////////////////////////////
//:: Name Chilling Fog - OnEnter
//:: FileName inv_dra_chilfoga.nss
//::///////////////////////////////////////////////
#include "inv_inc_invfunc"
void main()
{
//Declare major variables
object oTarget = GetEnteringObject();
effect eSlow = EffectMovementSpeedDecrease(80);
effect eConceal = EffectConcealment(20, MISS_CHANCE_TYPE_VS_MELEE);
effect eConceal2 = EffectConcealment(100, MISS_CHANCE_TYPE_VS_RANGED);
effect eMiss = EffectMissChance(100, MISS_CHANCE_TYPE_VS_RANGED);
effect eHitReduce = EffectAttackDecrease(2);
effect eDamReduce = EffectDamageDecrease(2, DAMAGE_TYPE_BLUDGEONING|DAMAGE_TYPE_PIERCING|DAMAGE_TYPE_SLASHING);
int nDamage = d6(2);
effect eDamage = EffectDamage(nDamage);
effect eVis = EffectVisualEffect(VFX_IMP_FROST_S);
// Link
effect eLink = EffectLinkEffects(eConceal, eConceal2);
eLink = EffectLinkEffects(eLink, eSlow);
eLink = EffectLinkEffects(eLink, eMiss);
eLink = EffectLinkEffects(eLink, eHitReduce);
eLink = EffectLinkEffects(eLink, eDamReduce);
effect eLink2 = EffectLinkEffects(eDamage, eVis);
//Fire cast spell at event for the target
SignalEvent(oTarget, EventSpellCastAt(GetAreaOfEffectCreator(), INVOKE_CHILLING_FOG));
// Maximum time possible. If its less, its simply cleaned up when the invocation ends.
SPApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, TurnsToSeconds(40));
SPApplyEffectToObject(DURATION_TYPE_INSTANT, eLink2, oTarget);
}