2026/04/02 Morning Update
Added Chaos domain. Added Glory domain. Added Law domain. Added Luck domain. Added Madness domain. Added Mind domain. Added Moon domain. Added new Shaman / Monk feats to Shaman feat tracker function. Corrected all instances of Summon Monster to Summon Creature in the TLK
This commit is contained in:
@@ -59,7 +59,13 @@ void AddDomainPower(object oPC, object oSkin, int bFuncs)
|
||||
if (GetHasFeat(FEAT_BONUS_DOMAIN_SPELLS, oPC) && !PRC_Funcs_GetFeatKnown(oPC, FEAT_DOMAIN_POWER_SPELLS)) PRC_Funcs_AddFeat(oPC, FEAT_DOMAIN_POWER_SPELLS);
|
||||
if (GetHasFeat(FEAT_BONUS_DOMAIN_SCALEYKIND, oPC) && !PRC_Funcs_GetFeatKnown(oPC, FEAT_DOMAIN_POWER_SCALEYKIND)) PRC_Funcs_AddFeat(oPC, FEAT_DOMAIN_POWER_SCALEYKIND);
|
||||
if (GetHasFeat(FEAT_BONUS_DOMAIN_BLIGHTBRINGER, oPC)&& !PRC_Funcs_GetFeatKnown(oPC, FEAT_DOMAIN_POWER_BLIGHTBRINGER)) PRC_Funcs_AddFeat(oPC, FEAT_DOMAIN_POWER_BLIGHTBRINGER);
|
||||
if (GetHasFeat(FEAT_BONUS_DOMAIN_DRAGON, oPC) && !PRC_Funcs_GetFeatKnown(oPC, FEAT_DOMAIN_POWER_DRAGON)) PRC_Funcs_AddFeat(oPC, FEAT_DOMAIN_POWER_DRAGON);
|
||||
if (GetHasFeat(FEAT_BONUS_DOMAIN_CHAOS, oPC) && !PRC_Funcs_GetFeatKnown(oPC, FEAT_DOMAIN_POWER_CHAOS)) PRC_Funcs_AddFeat(oPC, FEAT_DOMAIN_POWER_CHAOS);
|
||||
if (GetHasFeat(FEAT_BONUS_DOMAIN_LAW, oPC) && !PRC_Funcs_GetFeatKnown(oPC, FEAT_DOMAIN_POWER_LAW)) PRC_Funcs_AddFeat(oPC, FEAT_DOMAIN_POWER_LAW);
|
||||
if (GetHasFeat(FEAT_BONUS_DOMAIN_LUCK, oPC) && !PRC_Funcs_GetFeatKnown(oPC, FEAT_DOMAIN_POWER_LUCK)) PRC_Funcs_AddFeat(oPC, FEAT_DOMAIN_POWER_LUCK);
|
||||
if (GetHasFeat(FEAT_BONUS_DOMAIN_GLORY, oPC) && !PRC_Funcs_GetFeatKnown(oPC, FEAT_DOMAIN_POWER_GLORY)) PRC_Funcs_AddFeat(oPC, FEAT_DOMAIN_POWER_GLORY);
|
||||
if (GetHasFeat(FEAT_BONUS_DOMAIN_MADNESS, oPC) && !PRC_Funcs_GetFeatKnown(oPC, FEAT_DOMAIN_POWER_MADNESS)) PRC_Funcs_AddFeat(oPC, FEAT_DOMAIN_POWER_MADNESS);
|
||||
if (GetHasFeat(FEAT_BONUS_DOMAIN_MIND, oPC) && !PRC_Funcs_GetFeatKnown(oPC, FEAT_DOMAIN_POWER_MIND)) PRC_Funcs_AddFeat(oPC, FEAT_DOMAIN_POWER_MIND);
|
||||
if (GetHasFeat(FEAT_BONUS_DOMAIN_MOON, oPC) && !PRC_Funcs_GetFeatKnown(oPC, FEAT_DOMAIN_POWER_MOON)) PRC_Funcs_AddFeat(oPC, FEAT_DOMAIN_POWER_MOON);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -111,7 +117,14 @@ void AddDomainPower(object oPC, object oSkin, int bFuncs)
|
||||
if (GetHasFeat(FEAT_BONUS_DOMAIN_SPELLS, oPC)) AddSkinFeat(FEAT_DOMAIN_POWER_SPELLS, IP_CONST_FEAT_SPELLS_DOMAIN, oSkin, oPC);
|
||||
if (GetHasFeat(FEAT_BONUS_DOMAIN_SCALEYKIND, oPC)) AddSkinFeat(FEAT_DOMAIN_POWER_SCALEYKIND, IP_CONST_FEAT_SCALEYKIND_DOMAIN, oSkin, oPC);
|
||||
if (GetHasFeat(FEAT_BONUS_DOMAIN_BLIGHTBRINGER, oPC)) AddSkinFeat(FEAT_DOMAIN_POWER_BLIGHTBRINGER, IP_CONST_FEAT_BLIGHTBRINGER, oSkin, oPC);
|
||||
if (GetHasFeat(FEAT_BONUS_DOMAIN_DRAGON, oPC)) AddSkinFeat(FEAT_DOMAIN_POWER_DRAGON, IP_CONST_FEAT_DRAGON_DOMAIN, oSkin, oPC);
|
||||
if (GetHasFeat(FEAT_BONUS_DOMAIN_DRAGON, oPC)) AddSkinFeat(FEAT_DOMAIN_POWER_DRAGON, IP_CONST_FEAT_DRAGON_DOMAIN, oSkin, oPC);
|
||||
if (GetHasFeat(FEAT_BONUS_DOMAIN_CHAOS, oPC)) AddSkinFeat(FEAT_DOMAIN_POWER_CHAOS, IP_CONST_FEAT_CHAOS_DOMAIN, oSkin, oPC);
|
||||
if (GetHasFeat(FEAT_BONUS_DOMAIN_LAW, oPC)) AddSkinFeat(FEAT_DOMAIN_POWER_LAW, IP_CONST_FEAT_LAW_DOMAIN, oSkin, oPC);
|
||||
if (GetHasFeat(FEAT_BONUS_DOMAIN_LUCK, oPC)) AddSkinFeat(FEAT_DOMAIN_POWER_LUCK, IP_CONST_FEAT_LUCK_DOMAIN, oSkin, oPC);
|
||||
if (GetHasFeat(FEAT_BONUS_DOMAIN_GLORY, oPC)) AddSkinFeat(FEAT_DOMAIN_POWER_GLORY, IP_CONST_FEAT_GLORY_DOMAIN, oSkin, oPC);
|
||||
if (GetHasFeat(FEAT_BONUS_DOMAIN_MADNESS, oPC)) AddSkinFeat(FEAT_DOMAIN_POWER_MADNESS, IP_CONST_FEAT_MADNESS_DOMAIN, oSkin, oPC);
|
||||
if (GetHasFeat(FEAT_BONUS_DOMAIN_MIND, oPC)) AddSkinFeat(FEAT_DOMAIN_POWER_MIND, IP_CONST_FEAT_MIND_DOMAIN, oSkin, oPC);
|
||||
if (GetHasFeat(FEAT_BONUS_DOMAIN_MOON, oPC)) AddSkinFeat(FEAT_DOMAIN_POWER_MOON, IP_CONST_FEAT_MOON_DOMAIN, oSkin, oPC);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -180,7 +193,13 @@ void AddDomainFeat(object oPC, object oSkin, int bFuncs)
|
||||
eBonusFeat = EffectBonusFeat(FEAT_SPELL_FOCUS_ENCHANTMENT);
|
||||
eBonusFeat = SupernaturalEffect(eBonusFeat);
|
||||
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eBonusFeat, oPC);
|
||||
}
|
||||
}
|
||||
if (GetHasFeat(FEAT_DOMAIN_POWER_LUCK, oPC))
|
||||
{
|
||||
eBonusFeat = EffectBonusFeat(FEAT_LUCK_OF_HEROES);
|
||||
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);
|
||||
@@ -198,15 +217,19 @@ void AddDomainFeat(object oPC, object oSkin, int bFuncs)
|
||||
SetCompositeBonus(oSkin, "SpellDomainPowerConc", 2, ITEM_PROPERTY_SKILL_BONUS, SKILL_CONCENTRATION);
|
||||
SetCompositeBonus(oSkin, "SpellDomainPowerSpell", 2, ITEM_PROPERTY_SKILL_BONUS, SKILL_SPELLCRAFT);
|
||||
}
|
||||
|
||||
// +2 Bluff, Persuasion and Sense Motive
|
||||
if (GetHasFeat(FEAT_DOMAIN_POWER_MIND, oPC))
|
||||
{
|
||||
SetCompositeBonus(oSkin, "MindDomainPowerBluff", 2, ITEM_PROPERTY_SKILL_BONUS, SKILL_BLUFF);
|
||||
SetCompositeBonus(oSkin, "MindDomainPowerPersuasion", 2, ITEM_PROPERTY_SKILL_BONUS, SKILL_PERFORM);
|
||||
SetCompositeBonus(oSkin, "MindDomainPowerSenseMotive", 2, ITEM_PROPERTY_SKILL_BONUS, SKILL_SENSE_MOTIVE);
|
||||
}
|
||||
// Electrical resist 5
|
||||
if (GetHasFeat(FEAT_DOMAIN_POWER_STORM, oPC))
|
||||
{
|
||||
itemproperty ipIP =ItemPropertyDamageResistance(IP_CONST_DAMAGETYPE_ELECTRICAL, IP_CONST_DAMAGERESIST_5);
|
||||
IPSafeAddItemProperty(oSkin, ipIP, 0.0, X2_IP_ADDPROP_POLICY_REPLACE_EXISTING, FALSE, FALSE);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
if (GetHasFeat(FEAT_WAR_DOMAIN_POWER, oPC))
|
||||
{
|
||||
int nWarFocus = GetPersistantLocalInt(oPC, "WarDomainWeaponPersistent");
|
||||
|
||||
@@ -1605,7 +1605,13 @@ int BonusDomains()
|
||||
+ GetHasFeat(FEAT_BONUS_DOMAIN_SCALEYKIND)
|
||||
+ GetHasFeat(FEAT_BONUS_DOMAIN_DRAGON)
|
||||
+ GetHasFeat(FEAT_BONUS_DOMAIN_COLD)
|
||||
+ GetHasFeat(FEAT_BONUS_DOMAIN_WINTER);
|
||||
+ GetHasFeat(FEAT_BONUS_DOMAIN_CHAOS)
|
||||
+ GetHasFeat(FEAT_BONUS_DOMAIN_LAW)
|
||||
+ GetHasFeat(FEAT_BONUS_DOMAIN_LUCK)
|
||||
+ GetHasFeat(FEAT_BONUS_DOMAIN_GLORY)
|
||||
+ GetHasFeat(FEAT_BONUS_DOMAIN_MADNESS)
|
||||
+ GetHasFeat(FEAT_BONUS_DOMAIN_MIND)
|
||||
+ GetHasFeat(FEAT_BONUS_DOMAIN_MOON);
|
||||
|
||||
int nMax = nMin;
|
||||
//Determine maximum number of bonus domains (domains added automatically)
|
||||
@@ -1639,7 +1645,14 @@ int Shaman()
|
||||
+ GetHasFeat(FEAT_MOBILITY)
|
||||
+ GetHasFeat(FEAT_SPRING_ATTACK)
|
||||
+ GetHasFeat(FEAT_BLIND_FIGHT)
|
||||
+ GetHasFeat(FEAT_DEFLECT_ARROWS);
|
||||
+ GetHasFeat(FEAT_DEFLECT_ARROWS)
|
||||
+ GetHasFeat(FEAT_FALLING_STAR_STRIKE)
|
||||
+ GetHasFeat(FEAT_FREEZING_THE_LIFEBLOOD)
|
||||
+ GetHasFeat(FEAT_KI_SHOUT)
|
||||
+ GetHasFeat(FEAT_GREAT_KI_SHOUT)
|
||||
+ GetHasFeat(FEAT_PAIN_TOUCH)
|
||||
+ GetHasFeat(FEAT_CHOKE_HOLD)
|
||||
+ GetHasFeat(FEAT_UNBALANCING_STRIKE);
|
||||
|
||||
int requiredFeats = nClass / 4; // Shaman gets a bonus feat every 4 levels
|
||||
|
||||
@@ -1775,6 +1788,7 @@ int Shaman()
|
||||
return FALSE;
|
||||
}
|
||||
*/
|
||||
|
||||
int RacialFeats()
|
||||
{
|
||||
int nRace = GetRacialType(OBJECT_SELF);
|
||||
|
||||
@@ -521,7 +521,7 @@ void reqDomains()
|
||||
//Champion of Corellon
|
||||
SetLocalInt(OBJECT_SELF, "PRC_PrereqCoC", 1);
|
||||
if(GetHasFeat(FEAT_DOMAIN_POWER_ELF)
|
||||
//+ GetHasFeat(FEAT_DOMAIN_POWER_CHAOS) //chaos domain not yet implemented
|
||||
+ GetHasFeat(FEAT_DOMAIN_POWER_CHAOS)
|
||||
+ GetHasFeat(FEAT_GOOD_DOMAIN_POWER)
|
||||
+ GetHasFeat(FEAT_MAGIC_DOMAIN_POWER)
|
||||
+ GetHasFeat(FEAT_PROTECTION_DOMAIN_POWER)
|
||||
@@ -577,7 +577,7 @@ void reqDomains()
|
||||
SetLocalInt(OBJECT_SELF, "PRC_PrereqSOL", 1);
|
||||
if(GetHasFeat(FEAT_GOOD_DOMAIN_POWER)
|
||||
+ GetHasFeat(FEAT_HEALING_DOMAIN_POWER)
|
||||
+ GetHasFeat(FEAT_LUCK_DOMAIN_POWER)
|
||||
+ GetHasFeat(FEAT_DOMAIN_POWER_LUCK)
|
||||
+ GetHasFeat(FEAT_PROTECTION_DOMAIN_POWER)
|
||||
+ GetHasFeat(FEAT_SUN_DOMAIN_POWER)
|
||||
+ GetHasFeat(FEAT_KNOWLEDGE_DOMAIN_POWER) >= 2)
|
||||
@@ -1119,7 +1119,7 @@ void TomeOfBattle(object oPC = OBJECT_SELF)
|
||||
{
|
||||
nDomain = GetHasFeat(FEAT_DEATH_DOMAIN_POWER, oPC)
|
||||
+ GetHasFeat(FEAT_MAGIC_DOMAIN_POWER, oPC)
|
||||
//+ GetHasFeat(FEAT_LAW_DOMAIN_POWER, oPC)
|
||||
+ GetHasFeat(FEAT_DOMAIN_POWER_LAW, oPC)
|
||||
+ GetHasFeat(FEAT_DOMAIN_POWER_PORTAL, oPC)
|
||||
+ GetHasFeat(FEAT_DOMAIN_POWER_DOMINATION, oPC)
|
||||
> 1;
|
||||
@@ -1664,7 +1664,7 @@ void Spinemeld(object oPC)
|
||||
void SapphireHierarch(object oPC)
|
||||
{
|
||||
SetLocalInt(oPC, "PRC_PrereqSapphire", 1);
|
||||
if(GetTotalEssentia(oPC) >= 3 &&/* GetHasFeat(FEAT_LAW_DOMAIN_POWER, oPC) &&*/ GetTotalSoulmeldCount(oPC) >= 3)
|
||||
if(GetTotalEssentia(oPC) >= 3 && GetHasFeat(FEAT_DOMAIN_POWER_LAW, oPC) && GetTotalSoulmeldCount(oPC) >= 3)
|
||||
SetLocalInt(oPC, "PRC_PrereqSapphire", 0);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user