FunkySwerve

ignore implementations

Apr 14th, 2014
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 4.06 KB | None | 0 0
  1.             /* Guecubu
  2.              *   Soporific Aura (Will vs Sleep, AB decrease on save)
  3.              *   Confusion Touch (Cha-Will vs Confuse) */
  4.             case 1044: {
  5.                 eEff = ExtraordinaryEffect(EffectAttackDecrease(1 + nParagon));
  6.                 eVis = EffectVisualEffect(VFX_FNF_SMOKE_PUFF);
  7.  
  8.                 for (oTarget = GetFirstObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_LARGE, lSelf, TRUE);
  9.                      GetIsObjectValid(oTarget);
  10.                      oTarget = GetNextObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_LARGE, lSelf, TRUE)) {
  11.  
  12.                     if (!GetIsTarget(oTarget) || GetHasEffectOfType(EFFECT_TYPE_SLEEP, oTarget))
  13.                         continue;
  14.  
  15.                     fDelay = GetDistanceBetween(oSelf, oTarget) / 20;
  16.  
  17.                     if (GetSaveCheckResult(SAVING_THROW_WILL, oTarget, 55 + (nParagon * 2)) <= 0) {
  18.                         DelayCommand(fDelay, ApplySleep(oTarget, 10, "The soporific aura around the guecubu causes you to fall asleep!"));
  19.                     } else {
  20.                         DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eEff, oTarget, 30.0));
  21.                         DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT,   eVis, oTarget));
  22.  
  23.                         FloatingTextStringOnCreature("The soporific aura around the guecubu weakens you!", oTarget, FALSE);
  24.                     }
  25.                 }
  26.  
  27.                 if (GetDistanceBetween(oSelf, oPC) < 3.0         &&
  28.                     (nResult = TouchAttackMelee(oPC, FALSE)) > 0 &&
  29.                     GetSaveCheckResult(60 + SAVING_THROW_WILL, oPC, 55 + (nResult == 2 ? 2 : 0) + (nParagon * 2)) <= 0) {
  30.  
  31.                     ApplyConfuse(oPC, 10, "The guecubu's touch confuses you!");
  32.                 }
  33.             }
  34.             break;
  35.  
  36.             /* Deadborn Vulture
  37.              *   Sickening Breath (Con vs Daze) */
  38.             case 1057: {
  39.                 if (GetDistanceBetween(oSelf, oPC) < 4.0            &&
  40.                     !GetHasSpellImmunity(SPELL_STINKING_CLOUD, oPC) &&
  41.                     GetAbilityCheckResult(ABILITY_CONSTITUTION, oPC, 26 + (nParagon * 4)) <= 0) {
  42.  
  43.                     ApplyDaze(oPC, 3, "The deadborn vulture's sickening breath causes you to gag and retch!");
  44.                     AssignCommand(oPC, ClearAllActions(TRUE));
  45.                     AssignCommand(oPC, ActionPlayAnimation(ANIMATION_LOOPING_MEDITATE));
  46.                     DelayCommand(1.0, ApplyVisualToObject(VFX_COM_CHUNK_GREEN_MEDIUM, oPC));
  47.                     DelayCommand(1.0, ApplyVisualToObject(VFX_COM_CHUNK_YELLOW_MEDIUM, oPC));
  48.                     ApplyVisualToObject(VFX_IMP_DISEASE_S, oPC);
  49.                 }
  50.             }
  51.             break;
  52.             /* Fiendish Render
  53.              *   Body Slam (damage)
  54.              *   Ground Stomp (Medium PBAoE Str vs KD) */
  55.             case 1058: {
  56.                 switch (Random(3)) {
  57.                     case 0:
  58.                         if (DoRadiusKnockdown(oSelf, RADIUS_SIZE_MEDIUM, CHECK_TYPE_ABILITY|ABILITY_STRENGTH,
  59.                                               36 + (nParagon * 4), 3, "The fiendish render stomps the ground, knocking you down!",
  60.                                               TRUE, TRUE, -1, 120) > 0) {
  61.                             ApplyVisualAtLocation(VFX_IMP_PULSE_WIND, lSelf);
  62.                         }
  63.                         break;
  64.  
  65.                     case 1:
  66.                         if (GetDistanceBetween(oSelf, oPC) < 4.0 &&
  67.                             (nResult = TouchAttackMelee(oPC, FALSE)) > 0) {
  68.  
  69.                             eEff = EffectDamage(d100((4 + nParagon) * (nResult == 2 ? 2 : 1)), DAMAGE_TYPE_BLUDGEONING);
  70.                             DelayCommand(0.1, ApplyEffectToObject(DURATION_TYPE_INSTANT, eEff, oPC));
  71.                             ApplyVisualToObject(VFX_COM_BLOOD_CRT_RED, oPC);
  72.  
  73.                             FloatingTextStringOnCreature("The fiendish render slams you!", oPC, FALSE);
  74.                         }
  75.                         break;
  76.                 }
  77.             }
  78.             break;
Advertisement
Add Comment
Please, Sign In to add comment