LoT_PRC8/_module/nss/trap_neg_avg.nss
Jaysyn904 ec287507a1 Initial upload
Initial upload.
2023-09-25 21:32:17 -04:00

48 lines
1.7 KiB
Plaintext

void CreateObject2(int nObjectType, string sTemplate, location lLocation, int bUseAppearAnimation=FALSE);
//::///////////////////////////////////////////////
//:: Average Negative Energy Trap
//:: NW_T1_NegMinC
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
Does 2d6 negative energy damage and the target
must make a Fort save or take 1 point of
strength damage
*/
//:://////////////////////////////////////////////
//:: Created By: Preston Watamaniuk
//:: Created On: Nov 16, 2001
//:://////////////////////////////////////////////
#include "prc_inc_spells"
#include "NW_I0_SPELLS"
void main()
{
//Declare major variables
object oTarget = GetEnteringObject();
effect eNeg = EffectAbilityDecrease(ABILITY_STRENGTH, 1);
effect eDam = EffectDamage(d6(3), DAMAGE_TYPE_NEGATIVE);
eNeg = SupernaturalEffect(eNeg);
effect eVis = EffectVisualEffect(VFX_IMP_REDUCE_ABILITY_SCORE);
//Make a saving throw check
if(!MySavingThrow(SAVING_THROW_FORT,oTarget, 15, SAVING_THROW_TYPE_NEGATIVE))
{
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eNeg, oTarget);
}
//Apply the VFX impact and effects
ApplyEffectToObject(DURATION_TYPE_INSTANT, eDam, oTarget);
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget);
//respawn trap
DelayCommand(598.0, CreateObject2(GetObjectType(OBJECT_SELF), GetResRef(OBJECT_SELF), GetLocation(OBJECT_SELF)));
DelayCommand(600.0, DestroyObject(OBJECT_SELF));
}
void CreateObject2(int nObjectType, string sTemplate, location lLocation, int bUseAppearAnimation=FALSE)
{
CreateObject(nObjectType, sTemplate, lLocation, bUseAppearAnimation);
return;
}