30 lines
1.0 KiB
Plaintext
30 lines
1.0 KiB
Plaintext
|
#include "NW_I0_GENERIC"
|
||
|
void ExplodeAtLocation(location lTarget, int nDamage, int nSaveDC = 30, float fRadius = 3.)
|
||
|
{
|
||
|
|
||
|
ApplyEffectAtLocation(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_FIRESTORM), lTarget);
|
||
|
ApplyEffectAtLocation(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_SUMMON_GATE), lTarget);
|
||
|
|
||
|
object oObject = GetFirstObjectInShape(SHAPE_SPHERE, fRadius, lTarget);
|
||
|
do {
|
||
|
int nDamageAfterSave = GetReflexAdjustedDamage(nDamage, oObject, nSaveDC);
|
||
|
ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectDamage(nDamageAfterSave, DAMAGE_TYPE_FIRE), oObject);
|
||
|
} while ((oObject = GetNextObjectInShape(SHAPE_SPHERE, fRadius, lTarget)) != OBJECT_INVALID); }
|
||
|
|
||
|
void main()
|
||
|
{
|
||
|
SpeakString("NOOOOO! NOOOOOO! AAARGH! I CURSE YOUR SOUL FOR ETERNITY!!!!!" );
|
||
|
location lSource = GetLocation(OBJECT_SELF);
|
||
|
DelayCommand(0.5, ExplodeAtLocation(lSource, d10(10)+100));
|
||
|
|
||
|
|
||
|
if(GetSpawnInCondition(NW_FLAG_DEATH_EVENT))
|
||
|
{
|
||
|
SignalEvent(OBJECT_SELF, EventUserDefined(1007));
|
||
|
}
|
||
|
|
||
|
ExecuteScript("sf_xp", OBJECT_SELF);
|
||
|
}
|
||
|
|
||
|
|