//:://///////////////////////////////////////////// //:: Lasher - Death Spiral //::////////////////////////////////////////////// /* */ //::////////////////////////////////////////////// //:: Created By: Flaming_Sword //:: Created On: Sept 27, 2005 //:: Modified: Nov 5, 2005 //::////////////////////////////////////////////// #include "prc_inc_combat" void main() { object oPC = OBJECT_SELF; object oWeapon = GetItemInSlot(INVENTORY_SLOT_RIGHTHAND, oPC); int nDC; int nDC2 = 18; int nSpellId = GetSpellId(); float fRange = 4.5; location lLoc = GetLocation(oPC); ApplyEffectAtLocation(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_IMP_SILENCE), lLoc); object oTarget = MyFirstObjectInShape(SHAPE_SPHERE, fRange, lLoc, OBJECT_TYPE_CREATURE); while(GetIsObjectValid(oTarget)) { if(spellsIsTarget(oTarget, SPELL_TARGET_SELECTIVEHOSTILE, oPC) && oTarget != oPC) { SignalEvent(oTarget, EventSpellCastAt(oPC, nSpellId)); nDC = GetAttackBonus(oTarget, OBJECT_SELF, oWeapon) + d20(); if(!PRCMySavingThrow(SAVING_THROW_REFLEX, oTarget, nDC)) { ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectStunned(), oTarget, RoundsToSeconds(d4() + 1)); if(!PRCMySavingThrow(SAVING_THROW_FORT, oTarget, nDC2)) { int nDur = d4() - 1; nDur = nDur ? nDur : 1; ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectParalyze(), oTarget, RoundsToSeconds(nDur)); } } } oTarget = MyNextObjectInShape(SHAPE_SPHERE, fRange, lLoc, OBJECT_TYPE_CREATURE); } }