30 lines
1.2 KiB
Plaintext
30 lines
1.2 KiB
Plaintext
#include "prc_inc_spells"
|
|
|
|
void main()
|
|
{
|
|
object oCaster = OBJECT_SELF;
|
|
int nCasterLvl = PRCGetCasterLevel(oCaster);
|
|
int nMetaMagic = PRCGetMetaMagicFeat();
|
|
int nDamage;
|
|
float fDelay;
|
|
effect eExplode = EffectVisualEffect(VFX_FNF_FIREBALL);
|
|
effect eVis = EffectVisualEffect(VFX_IMP_FLAME_M);
|
|
effect eDam;
|
|
location lTarget = GetLocation(OBJECT_SELF);
|
|
int bdam = d100(10) + 500;
|
|
|
|
ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eExplode, lTarget);
|
|
object oTarget = GetFirstObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_HUGE, lTarget, TRUE, OBJECT_TYPE_CREATURE | OBJECT_TYPE_PLACEABLE);
|
|
|
|
while (GetIsObjectValid(oTarget))
|
|
{
|
|
AssignCommand(oTarget,SpeakString("AIGH!", TALKVOLUME_TALK));
|
|
ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectDamage(bdam, DAMAGE_TYPE_PIERCING), oTarget, 0.0f);
|
|
ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectDamage(bdam, DAMAGE_TYPE_FIRE), oTarget, 0.0f);
|
|
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget));
|
|
oTarget = GetNextObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_HUGE, lTarget, TRUE, OBJECT_TYPE_CREATURE | OBJECT_TYPE_PLACEABLE);
|
|
}
|
|
|
|
DestroyObject(OBJECT_SELF);
|
|
}
|