diff --git a/nwn/nwnprc/trunk/include/prc_inc_domain.nss b/nwn/nwnprc/trunk/include/prc_inc_domain.nss index d0709086..1f63c633 100644 --- a/nwn/nwnprc/trunk/include/prc_inc_domain.nss +++ b/nwn/nwnprc/trunk/include/prc_inc_domain.nss @@ -156,10 +156,11 @@ int TestSpellTarget(object oPC, object oTarget, int nSpell) int GetIsBioDivineClass(int nClass) { return nClass == CLASS_TYPE_CLERIC - || nClass == CLASS_TYPE_DRUID - || nClass == CLASS_TYPE_PALADIN - || nClass == CLASS_TYPE_UR_PRIEST - || nClass == CLASS_TYPE_RANGER; + || nClass == CLASS_TYPE_DRUID + || nClass == CLASS_TYPE_PALADIN + || nClass == CLASS_TYPE_SHAMAN + || nClass == CLASS_TYPE_UR_PRIEST + || nClass == CLASS_TYPE_RANGER; } void CastDomainSpell(object oPC, int nSlot, int nLevel) diff --git a/nwn/nwnprc/trunk/include/prc_inc_function.nss b/nwn/nwnprc/trunk/include/prc_inc_function.nss index 691e3193..2f61c628 100644 --- a/nwn/nwnprc/trunk/include/prc_inc_function.nss +++ b/nwn/nwnprc/trunk/include/prc_inc_function.nss @@ -371,7 +371,7 @@ void EvalPRCFeats(object oPC) // If there is a bonus domain, it will always be in the first slot, so just check that. // It also runs things that clerics with those domains need - if (GetPersistantLocalInt(oPC, "PRCBonusDomain1") > 0 || GetLevelByClass(CLASS_TYPE_CLERIC, oPC)) + if (GetPersistantLocalInt(oPC, "PRCBonusDomain1") > 0 || GetLevelByClass(CLASS_TYPE_CLERIC, oPC) || GetLevelByClass(CLASS_TYPE_SHAMAN, oPC)) DelayCommand(0.1f, ExecuteScript("prc_domain_skin", oPC)); // special add atk bonus equal to Enhancement diff --git a/nwn/nwnprc/trunk/makefile.temp b/nwn/nwnprc/trunk/makefile.temp index 8a473466..61051e50 100644 --- a/nwn/nwnprc/trunk/makefile.temp +++ b/nwn/nwnprc/trunk/makefile.temp @@ -338,6 +338,7 @@ include\prc_inc_drugfunc.nss \ include\prc_inc_effect.nss \ include\prc_inc_factotum.nss \ include\prc_inc_fork.nss \ +include\prc_inc_function.ncs \ include\prc_inc_function.nss \ include\prc_inc_hextor.nss \ include\prc_inc_itmrstr.nss \ diff --git a/nwn/nwnprc/trunk/scripts/prc_domain_skin.nss b/nwn/nwnprc/trunk/scripts/prc_domain_skin.nss index 87400614..fe0c561d 100644 --- a/nwn/nwnprc/trunk/scripts/prc_domain_skin.nss +++ b/nwn/nwnprc/trunk/scripts/prc_domain_skin.nss @@ -130,7 +130,52 @@ void AddDomainFeat(object oPC, object oSkin, int bFuncs) if (GetHasFeat(FEAT_DOMAIN_POWER_DOMINATION, oPC) && !PRC_Funcs_GetFeatKnown(oPC, FEAT_SPELL_FOCUS_ENCHANTMENT)) PRC_Funcs_AddFeat(oPC, FEAT_SPELL_FOCUS_ENCHANTMENT); } else - { + { + effect eBonusFeat; + if (GetHasFeat(FEAT_DOMAIN_POWER_DARKNESS, oPC)) + { + eBonusFeat = EffectBonusFeat(FEAT_BLIND_FIGHT); + eBonusFeat = SupernaturalEffect(eBonusFeat); + ApplyEffectToObject(DURATION_TYPE_PERMANENT, eBonusFeat, oPC); + } + if (GetHasFeat(FEAT_DOMAIN_POWER_DWARF, oPC)) + { + eBonusFeat = EffectBonusFeat(FEAT_GREAT_FORTITUDE); + eBonusFeat = SupernaturalEffect(eBonusFeat); + ApplyEffectToObject(DURATION_TYPE_PERMANENT, eBonusFeat, oPC); + } + if (GetHasFeat(FEAT_DOMAIN_POWER_ELF, oPC)) + { + eBonusFeat = EffectBonusFeat(FEAT_POINT_BLANK_SHOT); + eBonusFeat = SupernaturalEffect(eBonusFeat); + ApplyEffectToObject(DURATION_TYPE_PERMANENT, eBonusFeat, oPC); + } + if (GetHasFeat(FEAT_DOMAIN_POWER_FATE, oPC)) + { + eBonusFeat = EffectBonusFeat(FEAT_UNCANNY_DODGE_1); + eBonusFeat = SupernaturalEffect(eBonusFeat); + ApplyEffectToObject(DURATION_TYPE_PERMANENT, eBonusFeat, oPC); + } + if (GetHasFeat(FEAT_DOMAIN_POWER_TIME, oPC)) + { + eBonusFeat = EffectBonusFeat(FEAT_IMPROVED_INITIATIVE); + eBonusFeat = SupernaturalEffect(eBonusFeat); + ApplyEffectToObject(DURATION_TYPE_PERMANENT, eBonusFeat, oPC); + } + if (GetHasFeat(FEAT_DOMAIN_POWER_UNDEATH, oPC)) + { + eBonusFeat = EffectBonusFeat(FEAT_EXTRA_TURNING); + eBonusFeat = SupernaturalEffect(eBonusFeat); + ApplyEffectToObject(DURATION_TYPE_PERMANENT, eBonusFeat, oPC); + } + if (GetHasFeat(FEAT_DOMAIN_POWER_DOMINATION, oPC)) + { + eBonusFeat = EffectBonusFeat(FEAT_SPELL_FOCUS_ENCHANTMENT); + eBonusFeat = SupernaturalEffect(eBonusFeat); + ApplyEffectToObject(DURATION_TYPE_PERMANENT, eBonusFeat, oPC); + } + } +/* { if (GetHasFeat(FEAT_DOMAIN_POWER_DARKNESS, oPC)) AddSkinFeat(FEAT_BLIND_FIGHT, IP_CONST_FEAT_BLINDFIGHT, oSkin, oPC); if (GetHasFeat(FEAT_DOMAIN_POWER_DWARF, oPC)) AddSkinFeat(FEAT_GREAT_FORTITUDE, IP_CONST_FEAT_GREAT_FORTITUDE, oSkin, oPC); if (GetHasFeat(FEAT_DOMAIN_POWER_ELF, oPC)) AddSkinFeat(FEAT_POINT_BLANK_SHOT, IP_CONST_FEAT_POINTBLANK, oSkin, oPC); @@ -139,7 +184,7 @@ void AddDomainFeat(object oPC, object oSkin, int bFuncs) if (GetHasFeat(FEAT_DOMAIN_POWER_TIME, oPC)) AddSkinFeat(FEAT_IMPROVED_INITIATIVE, IP_CONST_FEAT_IMPROVED_INIT, oSkin, oPC); if (GetHasFeat(FEAT_DOMAIN_POWER_UNDEATH, oPC)) AddSkinFeat(FEAT_EXTRA_TURNING, IP_CONST_FEAT_EXTRA_TURNING, oSkin, oPC); if (GetHasFeat(FEAT_DOMAIN_POWER_DOMINATION, oPC)) AddSkinFeat(FEAT_SPELL_FOCUS_ENCHANTMENT, IP_CONST_FEAT_SPELLFOCUSENC, oSkin, oPC); - } + } */ // +2 Conc and Spellcraft if (GetHasFeat(FEAT_DOMAIN_POWER_SPELLS, oPC)) { diff --git a/nwn/nwnprc/trunk/scripts/prc_enforce_feat.nss b/nwn/nwnprc/trunk/scripts/prc_enforce_feat.nss index aeaa320d..501536ed 100644 --- a/nwn/nwnprc/trunk/scripts/prc_enforce_feat.nss +++ b/nwn/nwnprc/trunk/scripts/prc_enforce_feat.nss @@ -1864,7 +1864,7 @@ int AcolyteEgo() int EpicCasting() { - if(GetLocalInt(OBJECT_SELF, "PRC_ArcSpell9") && GetLocalInt(OBJECT_SELF, "PRC_DivSpell9")) + if(GetLocalInt(OBJECT_SELF, "PRC_ArcSpell9") || GetLocalInt(OBJECT_SELF, "PRC_DivSpell9")) { if(GetHasFeat(FEAT_EPIC_SPELLCASTING)) { diff --git a/nwn/nwnprc/trunk/tlk/prc8_consortium.tlk b/nwn/nwnprc/trunk/tlk/prc8_consortium.tlk index b148be36..82ceb9e9 100644 Binary files a/nwn/nwnprc/trunk/tlk/prc8_consortium.tlk and b/nwn/nwnprc/trunk/tlk/prc8_consortium.tlk differ diff --git a/nwn/nwnprc/trunk/tlk/prc8_consortium.tlk.xml b/nwn/nwnprc/trunk/tlk/prc8_consortium.tlk.xml index c3e3c027..ca131161 100644 --- a/nwn/nwnprc/trunk/tlk/prc8_consortium.tlk.xml +++ b/nwn/nwnprc/trunk/tlk/prc8_consortium.tlk.xml @@ -4948,8 +4948,7 @@ Tortoise shell slows a creature's movement as if it were wearing heavy armor. An 91 92 93 - Grey Elf - + Grey Elf Grey Elf grey elf grey elves @@ -73202,4 +73201,4 @@ Use: Activated Spellcasting isn't required to take the Talon of Tiamat prestige class. If you currently have an arcane spellcasting, shadowcasting or invoking class, do not pick this marker feat. Spellcasting isn't required to take the Dragonsong Lyrist prestige class. If you currently have an arcane spellcasting or shadowcasting class, do not pick this marker feat. Spellcasting isn't required to take the Ollam prestige class. If you currently have an arcane spellcasting or shadowcasting class, do not pick this marker feat. - + \ No newline at end of file