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:
Jaysyn904
2026-05-02 10:32:31 -04:00
parent a8fa7e9fa6
commit 95d6a35a49
85 changed files with 52795 additions and 52189 deletions

View File

@@ -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");

View File

@@ -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);

View File

@@ -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);
}