//:://///////////////////////////////////////////// //:: Custom User Defined Event //:: FileName //:: Copyright (c) 2001 Bioware Corp. //::////////////////////////////////////////////// /* */ //::////////////////////////////////////////////// //:: Created By: //:: Created On: //::////////////////////////////////////////////// #include "prc_inc_spells" void ExplodeAtLocation(location lTarget, int nDamage, int nSaveDC = 15, float fRadius = 3.) { ApplyEffectAtLocation(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_FIREBALL), lTarget); object oObject = GetFirstObjectInShape(SHAPE_SPHERE, fRadius, lTarget); do { int nDamageAfterSave = PRCGetReflexAdjustedDamage(nDamage/2, oObject, nSaveDC)+nDamage/2; ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectDamage(nDamageAfterSave, DAMAGE_TYPE_FIRE), oObject); } while ((oObject = GetNextObjectInShape(SHAPE_SPHERE, fRadius, lTarget)) != OBJECT_INVALID); } void main() { ExecuteScript("prc_npc_userdef", OBJECT_SELF); int nUser = GetUserDefinedEventNumber(); if(nUser == 1001) //HEARTBEAT { ApplyEffectToObject(DURATION_TYPE_TEMPORARY,EffectVisualEffect(VFX_IMP_HEAD_FIRE),OBJECT_SELF,6.0); // ApplyEffectToObject(DURATION_TYPE_TEMPORARY,EffectVisualEffect(VFX_IMP_PULSE_FIRE),OBJECT_SELF,6.0); // ActionCastSpellAtObject(SPELL_FIREBALL,OBJECT_SELF,METAMAGIC_ANY,TRUE,PROJECTILE_PATH_TYPE_DEFAULT,TRUE); } else if(nUser == 1002) // PERCEIVE { } else if(nUser == 1003) // END OF COMBAT { } else if(nUser == 1004) // ON DIALOGUE { } else if(nUser == 1005) // ATTACKED { } else if(nUser == 1006) // DAMAGED { } else if(nUser == 1007) // DEATH { location lSource = GetLocation(OBJECT_SELF); ExplodeAtLocation(lSource, d6(2)); } else if(nUser == 1008) // DISTURBED { } }