//:://///////////////////////////////////////////// //:: Wholeness of Body //:: NW_S2_Wholeness //:: Copyright (c) 2001 Bioware Corp. //::////////////////////////////////////////////// /* The monk is able to heal twice his level in HP */ //::////////////////////////////////////////////// //:: Created By: Preston Watamaniuk //:: Created On: Aug 14, 2001 //::////////////////////////////////////////////// // *** tarashon completely wiping out the normal function of the feat *** // void main() // { //Declare major variables // int nLevel = GetLevelByClass(CLASS_TYPE_MONK, OBJECT_SELF) * 2; // effect eHeal = EffectHeal(nLevel); // effect eVis = EffectVisualEffect(VFX_IMP_HEALING_M); // SignalEvent(OBJECT_SELF, EventSpellCastAt(OBJECT_SELF, SPELLABILITY_WHOLENESS_OF_BODY, FALSE)); //Apply the VFX impact and effects // ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, OBJECT_SELF); // ApplyEffectToObject(DURATION_TYPE_INSTANT, eHeal, OBJECT_SELF); // } // *** Tarshon using a wisdom modified version of the allready customdesigned *** // *** of the allready modified Mighty Rage *** // *** It now gives WisBonus*2 regeneration, WisBonus +5 Magical Damage and the +4 saves. (Duration WisBonus +10)*2 *** // #include "x2_i0_spells" void main() { if(!GetHasFeatEffect(FEAT_BARBARIAN_RAGE)) { //Declare major variables int nLevel = GetLevelByClass(CLASS_TYPE_BARBARIAN); PlayVoiceChat(VOICE_CHAT_BATTLECRY1); //Determine the duration by getting the con modifier after being modified int nWis = (GetAbilityModifier(ABILITY_WISDOM) + 10)*2; // *** Tarashon Defines how much damage bonus will be *** // int nWis2 = GetAbilityModifier(ABILITY_WISDOM); // *** Tarashon Define how much regeneration will be *** // int nWis3 = (GetAbilityModifier(ABILITY_WISDOM)+2)*2; // *** Tarashon modify normal stats bonusses ( from +8 ) *** // effect eStr = EffectAbilityIncrease(ABILITY_CONSTITUTION, 4); effect eCon = EffectAbilityIncrease(ABILITY_STRENGTH, 4); // *** Tarashon Defines the new powers *** // effect eReg; eReg = EffectRegenerate(nWis3, 6.0); int nDamage1 = (IPGetDamageBonusConstantFromNumber(nWis2)); nDamage1 = nDamage1 +5; // *** Tarashon creating true damage counter from 1 to 20 *** int dmgBoost = 0; if ( nDamage1 < 41 ) { dmgBoost = DAMAGE_BONUS_20; } if ( nDamage1 < 20 ) { dmgBoost = DAMAGE_BONUS_19; } if ( nDamage1 < 19 ) { dmgBoost = DAMAGE_BONUS_18; } if ( nDamage1 < 18 ) { dmgBoost = DAMAGE_BONUS_17; } if ( nDamage1 < 17 ) { dmgBoost = DAMAGE_BONUS_16; } if ( nDamage1 < 16 ) { dmgBoost = DAMAGE_BONUS_15; } if ( nDamage1 < 15 ) { dmgBoost = DAMAGE_BONUS_14; } if ( nDamage1 < 14 ) { dmgBoost = DAMAGE_BONUS_13; } if ( nDamage1 < 13 ) { dmgBoost = DAMAGE_BONUS_12; } if ( nDamage1 < 12 ) { dmgBoost = DAMAGE_BONUS_11; } if ( nDamage1 < 11 ) { dmgBoost = DAMAGE_BONUS_10; } if ( nDamage1 < 10 ) { dmgBoost = DAMAGE_BONUS_9; } if ( nDamage1 < 9 ) { dmgBoost = DAMAGE_BONUS_8; } if ( nDamage1 < 8 ) { dmgBoost = DAMAGE_BONUS_7; } if ( nDamage1 < 7 ) { dmgBoost = DAMAGE_BONUS_6; } if ( nDamage1 < 6 ) { dmgBoost = DAMAGE_BONUS_5; } if ( nDamage1 < 5 ) { dmgBoost = DAMAGE_BONUS_4; } if ( nDamage1 < 4 ) { dmgBoost = DAMAGE_BONUS_3; } if ( nDamage1 < 3 ) { dmgBoost = DAMAGE_BONUS_2; } if ( nDamage1 < 2 ) { dmgBoost = DAMAGE_BONUS_1; } // *** End creating true damage boost*** effect eDam; eDam = EffectDamageIncrease(dmgBoost, DAMAGE_TYPE_DIVINE); // *** Tarashon's Definitions done *** // effect eSave = EffectSavingThrowIncrease(SAVING_THROW_WILL, 4); effect eDur = EffectVisualEffect(VFX_DUR_CESSATE_POSITIVE); // *** Tarashon adding haste *** effect eHaste = EffectHaste(); // *** Tarashon adding modified eStr and eCon to the new eReg and eDam *** // effect eLink = EffectLinkEffects(eReg, eDam); eLink = EffectLinkEffects(eLink, eStr); eLink = EffectLinkEffects(eLink, eCon); eLink = EffectLinkEffects(eLink, eHaste); // *** Tarashon done modifying *** // eLink = EffectLinkEffects(eLink, eSave); eLink = EffectLinkEffects(eLink, eDur); SignalEvent(OBJECT_SELF, EventSpellCastAt(OBJECT_SELF, GetSpellId(), FALSE)); //Make effect extraordinary eLink = ExtraordinaryEffect(eLink); effect eVis = EffectVisualEffect(VFX_IMP_IMPROVE_ABILITY_SCORE); //Change to the Rage VFX if (nWis > 0) { //Apply the VFX impact and effects ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, OBJECT_SELF, RoundsToSeconds(nWis)); ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, OBJECT_SELF) ; // 2003-07-08, Georg: Rage Epic Feat Handling CheckAndApplyEpicRageFeats(nWis); } } }