//:://///////////////////////////////////////////// //:: Blood Magus //:: prc_bloodmagus.nss //::////////////////////////////////////////////// //:: Check to see which Blood Magus feats a creature //:: has and apply the appropriate bonuses. //::////////////////////////////////////////////// //:: Created By: Stratovarius //:: Created On: Sept 3, 2005 //::////////////////////////////////////////////// #include "prc_alterations" /// Class level to Conc ///////// void DurableCasting(object oPC, object oSkin, int nBlood) { if(GetLocalInt(oSkin, "DurableCasting") == nBlood) return; SetCompositeBonus(oSkin, "DurableCasting", nBlood, ITEM_PROPERTY_SKILL_BONUS, SKILL_CONCENTRATION); } void Infusion(object oPC, object oSkin, int iLevel) { string sFlag = "BloodMagusInfusion"; if(GetLocalInt(oSkin, sFlag) == iLevel) return; SetCompositeBonus(oSkin, sFlag, iLevel, ITEM_PROPERTY_ABILITY_BONUS, IP_CONST_ABILITY_CON); } void ThickerThanWater(object oPC, object oSkin) { if(GetLocalInt(oSkin, "ThickerThanWater") == TRUE) return; AddItemProperty(DURATION_TYPE_PERMANENT, ItemPropertyDamageResistance(IP_CONST_DAMAGETYPE_PIERCING, IP_CONST_DAMAGERESIST_1), oSkin); AddItemProperty(DURATION_TYPE_PERMANENT, ItemPropertyDamageResistance(IP_CONST_DAMAGETYPE_SLASHING, IP_CONST_DAMAGERESIST_1), oSkin); SetLocalInt(oSkin, "ThickerThanWater", TRUE); } void main() { object oPC = OBJECT_SELF; object oSkin = GetPCSkin(oPC); int nBlood = GetLevelByClass(CLASS_TYPE_BLOOD_MAGUS, oPC); if(nBlood >= 1) DurableCasting(oPC, oSkin, nBlood); if(nBlood >= 7) ThickerThanWater(oPC, oSkin); if(nBlood >= 9) Infusion(oPC, oSkin, 2); }