Files
Anphillia_PRC8/_module/nss/it_flashbmb.nss
Jaysyn904 28cdb617b3 Initial commit
Adding all of the current content for Anphillia Unlimited.
2024-01-04 07:49:38 -05:00

44 lines
1.4 KiB
Plaintext

#include "prc_inc_spells"
void main()
{
int nAttack = 1;
int nDC = 22;
int nTargetVisual = VFX_IMP_BLIND_DEAF_M;
int nImpactVisual = VFX_FNF_BLINDDEAF;
float fBlindDuration = RoundsToSeconds(1);
float fAttackDuration = RoundsToSeconds(5);
location lTargetLocation = GetItemActivatedTargetLocation();
object oTarget = GetFirstObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_MEDIUM,
lTargetLocation, TRUE);
while(oTarget != OBJECT_INVALID)
{
int nRace = MyPRCGetRacialType(oTarget);
if(nRace != RACIAL_TYPE_UNDEAD && nRace != RACIAL_TYPE_CONSTRUCT)
{
nAttack = 2;
}
int nSave = ReflexSave(oTarget, nDC);
if(nSave == 0)
{
effect eBlind = EffectBlindness();
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eBlind, oTarget,
fBlindDuration);
effect eVisual = EffectVisualEffect(nTargetVisual);
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVisual, oTarget);
}
effect eAttack = EffectAttackDecrease(nAttack);
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eAttack, oTarget,
fAttackDuration);
oTarget = GetNextObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_MEDIUM,
lTargetLocation, TRUE);
}
effect eVisual = EffectVisualEffect(nImpactVisual);
ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eVisual, lTargetLocation);
}