//#include "X0_I0_SPELLS" #include "x2_inc_spellhook" #include "prc_inc_spells" void main() { object oPC = GetItemActivator(); object oTarget2 = GetItemActivatedTarget(); object oCaster = OBJECT_SELF; location lTarget = GetLocation(oTarget2); float fDelay; effect eLectric1 = EffectVisualEffect(VFX_DUR_SMOKE); effect eLectric2 = EffectVisualEffect(VFX_FNF_SCREEN_SHAKE); effect eLectric3 = EffectVisualEffect(VFX_FNF_SMOKE_PUFF); effect eLectric4 = EffectVisualEffect(VFX_FNF_STORM); effect eLectric5 = EffectVisualEffect(VFX_IMP_LIGHTNING_M); effect eDam; int bdam = d20(8) + 50; int pdam = d10(8); ApplyEffectToObject(DURATION_TYPE_INSTANT, eLectric1, oTarget2); DelayCommand(0.5, ApplyEffectToObject(DURATION_TYPE_INSTANT, eLectric2, oTarget2)); DelayCommand(0.7, ApplyEffectToObject(DURATION_TYPE_INSTANT, eLectric3, oTarget2)); DelayCommand(1.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eLectric4, oTarget2)); DelayCommand(1.3, ApplyEffectToObject(DURATION_TYPE_INSTANT, eLectric3, oTarget2)); DelayCommand(1.5, ApplyEffectToObject(DURATION_TYPE_INSTANT, eLectric5, oTarget2)); DelayCommand(1.5, ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectDamage(pdam, DAMAGE_TYPE_ELECTRICAL), oTarget2, 0.0f)); DelayCommand(1.8, ApplyEffectToObject(DURATION_TYPE_INSTANT, eLectric2, oTarget2)); DelayCommand(2.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eLectric5, oTarget2)); DelayCommand(2.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectDamage(pdam, DAMAGE_TYPE_ELECTRICAL), oTarget2, 0.0f)); DelayCommand(2.2, ApplyEffectToObject(DURATION_TYPE_INSTANT, eLectric5, oTarget2)); DelayCommand(2.2, ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectDamage(pdam, DAMAGE_TYPE_ELECTRICAL), oTarget2, 0.0f)); DelayCommand(2.5, ApplyEffectToObject(DURATION_TYPE_INSTANT, eLectric1, oTarget2)); DelayCommand(2.8, ApplyEffectToObject(DURATION_TYPE_INSTANT, eLectric5, oTarget2)); DelayCommand(2.8, ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectDamage(pdam, DAMAGE_TYPE_ELECTRICAL), oTarget2, 0.0f)); DelayCommand(3.1, ApplyEffectToObject(DURATION_TYPE_INSTANT, eLectric1, oTarget2)); DelayCommand(3.3, ApplyEffectToObject(DURATION_TYPE_INSTANT, eLectric5, oTarget2)); DelayCommand(3.3, ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectDamage(pdam, DAMAGE_TYPE_ELECTRICAL), oTarget2, 0.0f)); DelayCommand(3.5, ApplyEffectToObject(DURATION_TYPE_INSTANT, eLectric2, oTarget2)); object oTarget = GetFirstObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_LARGE, lTarget, TRUE, OBJECT_TYPE_CREATURE); while (GetIsObjectValid(oTarget)) { if (spellsIsTarget(oTarget, SPELL_TARGET_STANDARDHOSTILE, OBJECT_SELF)) { ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectDamage(pdam, DAMAGE_TYPE_ELECTRICAL), oTarget, 0.0f); ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectDamage(bdam, DAMAGE_TYPE_PIERCING), oTarget, 0.0f); DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eLectric5, oTarget)); } oTarget = GetNextObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_MEDIUM, lTarget, TRUE, OBJECT_TYPE_CREATURE); } ActionCastSpellAtObject(SPELL_GREAT_THUNDERCLAP, oTarget2 ,METAMAGIC_ANY, TRUE, 40, PROJECTILE_PATH_TYPE_DEFAULT, TRUE); }