LoT_PRC8/_module/nss/trap_neg_strong.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);
//::///////////////////////////////////////////////
//:: Strong Negative Energy Trap
//:: NW_T1_NegStrC
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
Does 5d6 negative energy damage and the target
must make a Fort save or take 2 points 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, 2);
effect eDam = EffectDamage(d6(5), 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, 18, 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;
}