home *** CD-ROM | disk | FTP | other *** search
/ PC Zone 125 / DPPCZ0203B.7z / DPPCZ0203B.ISO / Demos / Neverwinter / data1.cab / override / nw_s1_smokeclaw.nss < prev    next >
Text File  |  2002-09-10  |  2KB  |  53 lines

  1. //::///////////////////////////////////////////////
  2. //:: Smoke Claws
  3. //:: NW_S1_SmokeClaw
  4. //:: Copyright (c) 2001 Bioware Corp.
  5. //:://////////////////////////////////////////////
  6. /*
  7.     If a Belker succeeds at a touch attack the
  8.     target breaths in part of the Belker and suffers
  9.     3d4 damage per round until a Fortitude save is
  10.     made.
  11. */
  12. //:://////////////////////////////////////////////
  13. //:: Created By: Preston Watamaniuk
  14. //:: Created On: May 23 , 2001
  15. //:://////////////////////////////////////////////
  16. #include "NW_I0_SPELLS"
  17.  
  18. void main ()
  19. {
  20.     //Declare major variables
  21.     object oTarget = GetSpellTargetObject();
  22.     int bSave = FALSE;
  23.     effect eVis = EffectVisualEffect(VFX_COM_BLOOD_REG_RED);
  24.     effect eSmoke;
  25.     float fDelay = 0.0;
  26.     //Make a touch attack
  27.     if(TouchAttackMelee(oTarget))
  28.     {
  29.         if(!GetIsReactionTypeFriendly(oTarget))
  30.         {
  31.             //Make a saving throw check
  32.             while (bSave == FALSE)
  33.             {
  34.                 //Make a saving throw check
  35.                 if(!/*FortSave*/MySavingThrow(SAVING_THROW_FORT, oTarget, 14, SAVING_THROW_TYPE_NONE, OBJECT_SELF, fDelay))
  36.                 {
  37.                    bSave = TRUE;
  38.                 }
  39.                 else
  40.                 {
  41.                     //Set damage
  42.                     eSmoke = EffectDamage(d4(3));
  43.                     //Apply the VFX impact and effects
  44.                     DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eSmoke, oTarget));
  45.                     DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget));
  46.                     //Increment the delay
  47.                     fDelay = fDelay + 6.0;
  48.                 }
  49.             }
  50.         }
  51.     }
  52. }
  53.