//::////////////////////////////////////////////// //:: FileName: "ss_ep_champvalor" /* Purpose: Champion's Valor - grants the target immunity to mind-affecting spells, knockdown, sneak attacks, and critical hits for 20 hours. */ //::////////////////////////////////////////////// //:: Created By: Boneshank //:: Last Updated On: March 11, 2004 //::////////////////////////////////////////////// #include "prc_alterations" #include "inc_epicspells" void main() { DeleteLocalInt(OBJECT_SELF, "X2_L_LAST_SPELLSCHOOL_VAR"); SetLocalInt(OBJECT_SELF, "X2_L_LAST_SPELLSCHOOL_VAR", SPELL_SCHOOL_TRANSMUTATION); if (!X2PreSpellCastCode()) { DeleteLocalInt(OBJECT_SELF, "X2_L_LAST_SPELLSCHOOL_VAR"); return; } if (GetCanCastSpell(OBJECT_SELF, SPELL_EPIC_CHAMP_V)) { object oTarget = PRCGetSpellTargetObject(); int nCasterLvl = GetTotalCastingLevel(OBJECT_SELF); int nDuration = nCasterLvl / 4; if (nDuration < 5) nDuration = 5; float fDuration = TurnsToSeconds(nDuration); if(GetPRCSwitch(PRC_PNP_CHAMPIONS_VALOR)) { fDuration = HoursToSeconds(20); } effect eImm1 = EffectImmunity(IMMUNITY_TYPE_KNOCKDOWN); effect eImm2 = EffectImmunity(IMMUNITY_TYPE_SNEAK_ATTACK); effect eImm3 = EffectImmunity(IMMUNITY_TYPE_CRITICAL_HIT); effect eImm4 = EffectImmunity(IMMUNITY_TYPE_MIND_SPELLS); effect eDur = EffectVisualEffect(VFX_DUR_CESSATE_NEGATIVE); effect eVis = EffectVisualEffect(VFX_DUR_GLOW_WHITE); effect eVis2 = EffectVisualEffect(VFX_DUR_PROTECTION_GOOD_MINOR ); effect eLink = EffectLinkEffects(eImm1, eImm2); eLink = EffectLinkEffects(eLink, eImm3); eLink = EffectLinkEffects(eLink, eImm4); eLink = EffectLinkEffects(eLink, eDur); eLink = EffectLinkEffects(eLink, eVis); eLink = EffectLinkEffects(eLink, eVis2); eLink = ExtraordinaryEffect(eLink); // No dispelling it. SPApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, fDuration, TRUE, -1, GetTotalCastingLevel(OBJECT_SELF)); } DeleteLocalInt(OBJECT_SELF, "X2_L_LAST_SPELLSCHOOL_VAR"); }