//:://///////////////////////////////////////////// //:: Contemplative Class #include "prc_alterations" #include "prc_class_const" #include "prc_feat_const" // * Applies the Contemplatives's immunities on the object's skin. // * iType = IP_CONST_IMMUNITYMISC_* // * sFlag = Flag to check whether the property has already been added void ContemplativeImmunity(object oPC, object oSkin, int iType, string sFlag) { if(GetLocalInt(oSkin, sFlag) == TRUE) return; AddItemProperty(DURATION_TYPE_PERMANENT, ItemPropertyImmunityMisc(iType), oSkin); SetLocalInt(oSkin, sFlag, TRUE); } // * Applies the Contemplative's damage reduction bonuses as CompositeBonuses on object's skin. // * iLevel = IP_CONST_DAMAGEREDUCTION_* void ContemplativeDR(object oPC, object oSkin, int iLevel) { if(GetLocalInt(oSkin, "ContemplativeDR") == 667) return; AddItemProperty(DURATION_TYPE_PERMANENT, ItemPropertyDamageReduction(iLevel, IP_CONST_DAMAGESOAK_10_HP), oSkin); SetLocalInt(oSkin, "ContemplativeDR", 667); } /*void ContemplativeSR(object oPC, int nLevel, object oSkin) { //if(GetLocalInt(oSkin, "ContemplativeSR") == nLevel) return; int nSR = nLevel + 15; effect eSR = EffectSpellResistanceIncrease(nSR); eSR = ExtraordinaryEffect(eSR); ApplyEffectToObject(DURATION_TYPE_PERMANENT, eSR, oPC); SetLocalInt(oSkin, "ContemplativeSR", nLevel); }*/ void main() { //Declare main variables. object oPC = OBJECT_SELF; object oSkin = GetPCSkin(oPC); int nContemp = GetLevelByClass(CLASS_TYPE_CONTEMPLATIVE, oPC); if(nContemp >= 1) ContemplativeImmunity(oPC, oSkin, IP_CONST_IMMUNITYMISC_DISEASE, "ContempDisease"); if(nContemp >= 5) ContemplativeImmunity(oPC, oSkin, IP_CONST_IMMUNITYMISC_POISON, "ContempPoison"); //if(nContemp >= 7) ContemplativeSR(oPC, nContemp, oSkin); if(nContemp >= 10) ContemplativeDR(oPC, oSkin, IP_CONST_DAMAGEREDUCTION_1); }