PRC8_fork/nwn/nwnprc/trunk/psionics/psi_sancmind.nss
Jaysyn904 6ec137a24e Updated AMS marker feats
Updated AMS marker feats.  Removed arcane & divine marker feats.  Updated Dread Necromancer for epic progression. Updated weapon baseitem models.  Updated new weapons for crafting & npc equip.
 Updated prefix.  Updated release archive.
2024-02-11 14:01:05 -05:00

78 lines
3.3 KiB
Plaintext

//::///////////////////////////////////////////////
//:: Sanctified Mind
//:: psi_sancmind.nss
//:://////////////////////////////////////////////
//:: Applies the passive bonuses from Sanctified Mind
//:://////////////////////////////////////////////
//:: Created By: Stratovarius
//:: Created On: Feb 17, 2006
//:://////////////////////////////////////////////
#include "prc_alterations"
#include "prc_ip_srcost"
void SancMind_PR(object oPC, object oSkin)
{
if(GetLocalInt(oSkin, "SanctifiedMind_SR") == TRUE) return;
int ipSR;
int nHD = GetHitDice(oPC);
// Minimum level to take the class is 4
// Min level to get this ability is 10
// PR = 5 + Char level
if (nHD == 40) ipSR = IP_CONST_SPELLRESISTANCEBONUS_45;
else if (nHD == 39) ipSR = IP_CONST_SPELLRESISTANCEBONUS_44;
else if (nHD == 38) ipSR = IP_CONST_SPELLRESISTANCEBONUS_43;
else if (nHD == 37) ipSR = IP_CONST_SPELLRESISTANCEBONUS_42;
else if (nHD == 36) ipSR = IP_CONST_SPELLRESISTANCEBONUS_41;
else if (nHD == 35) ipSR = IP_CONST_SPELLRESISTANCEBONUS_40;
else if (nHD == 34) ipSR = IP_CONST_SPELLRESISTANCEBONUS_39;
else if (nHD == 33) ipSR = IP_CONST_SPELLRESISTANCEBONUS_38;
else if (nHD == 32) ipSR = IP_CONST_SPELLRESISTANCEBONUS_37;
else if (nHD == 31) ipSR = IP_CONST_SPELLRESISTANCEBONUS_36;
else if (nHD == 30) ipSR = IP_CONST_SPELLRESISTANCEBONUS_35;
else if (nHD == 29) ipSR = IP_CONST_SPELLRESISTANCEBONUS_34;
else if (nHD == 28) ipSR = IP_CONST_SPELLRESISTANCEBONUS_33;
else if (nHD == 27) ipSR = IP_CONST_SPELLRESISTANCEBONUS_32;
else if (nHD == 26) ipSR = IP_CONST_SPELLRESISTANCEBONUS_31;
else if (nHD == 25) ipSR = IP_CONST_SPELLRESISTANCEBONUS_30;
else if (nHD == 24) ipSR = IP_CONST_SPELLRESISTANCEBONUS_29;
else if (nHD == 23) ipSR = IP_CONST_SPELLRESISTANCEBONUS_28;
else if (nHD == 22) ipSR = IP_CONST_SPELLRESISTANCEBONUS_27;
else if (nHD == 21) ipSR = IP_CONST_SPELLRESISTANCEBONUS_26;
else if (nHD == 20) ipSR = IP_CONST_SPELLRESISTANCEBONUS_25;
else if (nHD == 19) ipSR = IP_CONST_SPELLRESISTANCEBONUS_24;
else if (nHD == 18) ipSR = IP_CONST_SPELLRESISTANCEBONUS_23;
else if (nHD == 17) ipSR = IP_CONST_SPELLRESISTANCEBONUS_22;
else if (nHD == 16) ipSR = IP_CONST_SPELLRESISTANCEBONUS_21;
else if (nHD == 15) ipSR = IP_CONST_SPELLRESISTANCEBONUS_20;
else if (nHD == 14) ipSR = IP_CONST_SPELLRESISTANCEBONUS_19;
else if (nHD == 13) ipSR = IP_CONST_SPELLRESISTANCEBONUS_18;
else if (nHD == 12) ipSR = IP_CONST_SPELLRESISTANCEBONUS_17;
else if (nHD == 11) ipSR = IP_CONST_SPELLRESISTANCEBONUS_16;
else if (nHD == 10) ipSR = IP_CONST_SPELLRESISTANCEBONUS_15;
AddItemProperty(DURATION_TYPE_PERMANENT,ItemPropertyBonusSpellResistance(ipSR),oSkin);
SetLocalInt(oSkin, "SancMind_PR", TRUE);
}
// Applies the Hard to Hold bonus to Discipline
void HardToHold(object oPC, object oSkin, int iLevel)
{
if(GetLocalInt(oSkin, "SancMind_Discipline") == iLevel) return;
SetCompositeBonus(oSkin, "SancMind_Discipline", iLevel, ITEM_PROPERTY_SKILL_BONUS,SKILL_DISCIPLINE);
}
void main()
{
object oPC = OBJECT_SELF;
object oSkin = GetPCSkin(oPC);
int nSanc = GetLevelByClass(CLASS_TYPE_SANCTIFIED_MIND, oPC);
//if(nSanc >= 4) HardToHold(oPC, oSkin, nSanc);
if(nSanc >= 6) SancMind_PR(oPC, oSkin);
}