Amon_PRC8/_module/nss/pearlexp.nss

27 lines
1.0 KiB
Plaintext
Raw Permalink Normal View History

2025-04-03 19:00:46 -04:00
void main()
{
object oCaster = OBJECT_SELF;
float fDelay;
effect eExplode = EffectVisualEffect(VFX_FNF_ELECTRIC_EXPLOSION);
effect eVis = EffectVisualEffect(VFX_IMP_FLAME_M);
effect eShk = EffectVisualEffect(VFX_FNF_SCREEN_SHAKE);
effect eDam;
location lTarget = GetLocation(OBJECT_SELF);
int bdam = GetLocalInt (OBJECT_SELF, "PBDam");
ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eExplode, lTarget);
ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eShk, lTarget);
object oTarget = GetFirstObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_LARGE, lTarget, TRUE, OBJECT_TYPE_CREATURE);
while (GetIsObjectValid(oTarget))
{
ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectDamage(bdam, DAMAGE_TYPE_ELECTRICAL), oTarget, 0.0f);
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget));
oTarget = GetNextObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_MEDIUM, lTarget, TRUE, OBJECT_TYPE_CREATURE);
}
ActionDoCommand(PlaySound("zep_explosion"));
DestroyObject(OBJECT_SELF);
}