//:://///////////////////////////////////////////// //:: Pulse Whirlwind //:: NW_S1_PulsWind //:: Copyright (c) 2001 Bioware Corp. //:://///////////////////////////////////////////// /* All those that fail a save of DC 14 are knocked down by the elemental whirlwind. * made this make the knockdown last 2 rounds instead of 1 * it will now also do d3(hitdice/2) damage */ //:://///////////////////////////////////////////// //:: Created By: Preston Watamaniuk //:: Created On: Jan 8, 2002 //:://///////////////////////////////////////////// #include "NW_I0_SPELLS" #include "prc_inc_spells" //#include "wm_include" void main() { //if (WildMagicOverride()) { return; } //:: Declare major variables object oNPC = OBJECT_SELF; object oTarget; int nHD = GetHitDice(oNPC); int nSTRMod = GetAbilityModifier(ABILITY_STRENGTH, oNPC); int nDC = 10 +nSTRMod+ (nHD/2); effect eDown = EffectKnockdown(); effect eImpact = EffectVisualEffect(VFX_IMP_PULSE_WIND); SPApplyEffectToObject(DURATION_TYPE_INSTANT, eImpact, oNPC); oTarget = GetFirstObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_LARGE, GetLocation(oNPC)); int nDamage = GetHitDice(oNPC) /2; effect eDam; //Get first target in spell area while(GetIsObjectValid(oTarget)) { eDam = PRCEffectDamage(oTarget, d3(nDamage), DAMAGE_TYPE_SLASHING); if(!GetIsReactionTypeFriendly(oTarget) && oTarget != oNPC) { //Make a saving throw check if(!PRCMySavingThrow(SAVING_THROW_REFLEX, oTarget, nDC)) { //Apply the VFX impact and effects SPApplyEffectToObject(DURATION_TYPE_TEMPORARY, eDown, oTarget, RoundsToSeconds(2)); DelayCommand(0.01, SPApplyEffectToObject(DURATION_TYPE_INSTANT, eDam,oTarget)); } //Get next target in spell area } oTarget = GetNextObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_LARGE, GetLocation(oNPC)); } }