Aantioch_Infernum/_module/nss/explode_on_death.nss
Jaysyn904 22947ad4b6 Initial Upload
Initial Upload
2023-08-08 16:22:17 -04:00

20 lines
826 B
Plaintext

//Usage: Caller explodes after a delay and damages nearby objects for 2d6 fire
// damage (Reflex save DC 25)
//Notes:
// v1.0: Release version
//
void ExplodeAtLocation(location lTarget, int nDamage, int nSaveDC = 25, float fRadius = 3.) {
ApplyEffectAtLocation( DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_FIREBALL), 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()
{
location lSource = GetLocation(OBJECT_SELF);
DelayCommand(3., ExplodeAtLocation(lSource, d12(6)));
}