2026/01/08 Update
Hexblade shouldn't get Medium Armor prof. Weapon Specialization Whip isn't a Warblade bonus feat. Reorganized packages.2da. Fixed potential issue with SetCompositeBonusT(). Added materials iprops to material based crafting. Fixed bug w/ DoTrip(). Added heartbeat script to Monk to properly handle monk sizes. Cleaned up PRCGetCreatureSize(). Set Shielded Casting to use TagItemProperty(). Archivist now has a Lore check to learn spells from scrolls. Set Dragonfire Strike to use TagItemProperty(). Setup Forsaker to use TagItemProperty(). Fixed distance mismatch with Necrocarnum Shroud. Added too much debugging for the unarmed stuff. Cloudkill now obeys Mastery of Shapes.
This commit is contained in:
@@ -10,17 +10,13 @@ Saving Throw: See text
|
||||
|
||||
A deadening field of necrocarnum radiates from you, filling the air around you with faint, shadowy tendrils.
|
||||
|
||||
You gain a +1 profane bonus on attack rolls and damage rolls any time a living creature takes damage while adjacent to you. This bonus lasts for 1 round. If a living creature dies while adjacent to you, the
|
||||
bonus instead lasts for a number of rounds equal to the creature<72>s Hit Dice.
|
||||
You gain a +1 profane bonus on attack rolls and damage rolls any time a living creature takes damage while adjacent to you. This bonus lasts for 1 round. If a living creature dies while adjacent to you, the bonus instead lasts for a number of rounds equal to the creature<72>s Hit Dice.
|
||||
|
||||
Essentia: If you invest essentia in the necrocarnum shroud, the area encompassed by the life-draining field expands. Any living creature who takes damage (or dies) within 5 feet plus 5 feet per point of
|
||||
essentia invested triggers the bonus.
|
||||
Essentia: If you invest essentia in the necrocarnum shroud, the area encompassed by the life-draining field expands. Any living creature who takes damage (or dies) within 5 feet plus 5 feet per point of essentia invested triggers the bonus.
|
||||
|
||||
Chakra Bind (Soul)
|
||||
|
||||
While you have necrocarnum shroud bound to your soul chakra, you can take a standard action to strike a living foe with the raw evil of necrocarnum. When you use this ability, you must make a
|
||||
successful melee touch attack against the intended victim. If successful, your touch bestows 1d4 negative levels on the target (Fortitude half). For each negative level bestowed, you gain 1 temporary point of essentia
|
||||
and 5 temporary hit points. The temporary essentia lasts until the end of your next turn. The temporary hit points fade after 1 hour.
|
||||
While you have necrocarnum shroud bound to your soul chakra, you can take a standard action to strike a living foe with the raw evil of necrocarnum. When you use this ability, you must make a successful melee touch attack against the intended victim. If successful, your touch bestows 1d4 negative levels on the target (Fortitude half). For each negative level bestowed, you gain 1 temporary point of essentia and 5 temporary hit points. The temporary essentia lasts until the end of your next turn. The temporary hit points fade after 1 hour.
|
||||
|
||||
Chakra Bind (Waist)
|
||||
|
||||
|
||||
@@ -781,15 +781,25 @@ void main()
|
||||
IPSafeAddItemProperty(oItem, ItemPropertyOnHitCastSpell(IP_CONST_ONHIT_CASTSPELL_ONHIT_UNIQUEPOWER, 1), 99999.0, X2_IP_ADDPROP_POLICY_KEEP_EXISTING, FALSE, FALSE);
|
||||
AddEventScript(oItem, EVENT_ITEM_ONHIT, "tob_feats", TRUE, FALSE);
|
||||
}
|
||||
}
|
||||
if (GetHasFeat(FEAT_SHIELDED_CASTING, oInitiator))
|
||||
}
|
||||
if (GetHasFeat(FEAT_SHIELDED_CASTING, oInitiator))
|
||||
{
|
||||
int nBase = GetBaseItemType(oItem);
|
||||
if (nBase == BASE_ITEM_SMALLSHIELD || nBase == BASE_ITEM_LARGESHIELD || nBase == BASE_ITEM_TOWERSHIELD)
|
||||
{
|
||||
itemproperty ip = PRCItemPropertyBonusFeat(IP_CONST_IMP_CC);
|
||||
ip = TagItemProperty(ip, "ShieldedCasting");
|
||||
IPSafeAddItemProperty(oSkin, ip, 0.0f, X2_IP_ADDPROP_POLICY_KEEP_EXISTING, FALSE, FALSE);
|
||||
}
|
||||
}
|
||||
/* if (GetHasFeat(FEAT_SHIELDED_CASTING, oInitiator))
|
||||
{
|
||||
int nBase = GetBaseItemType(oItem);
|
||||
if (nBase == BASE_ITEM_SMALLSHIELD || nBase == BASE_ITEM_LARGESHIELD || nBase == BASE_ITEM_TOWERSHIELD)
|
||||
{
|
||||
IPSafeAddItemProperty(oSkin, PRCItemPropertyBonusFeat(IP_CONST_IMP_CC), 0.0f, X2_IP_ADDPROP_POLICY_KEEP_EXISTING, FALSE, FALSE);
|
||||
}
|
||||
}
|
||||
} */
|
||||
if (GetRacialType(oInitiator) == RACIAL_TYPE_RETH_DEKALA && GetIsWeapon(oItem))
|
||||
{
|
||||
IPSafeAddItemProperty(oItem, ItemPropertyAttackBonus(4), HoursToSeconds(24), X2_IP_ADDPROP_POLICY_REPLACE_EXISTING, FALSE, TRUE);
|
||||
@@ -882,8 +892,26 @@ void main()
|
||||
// Remove the temporary OnHitCastSpell: Unique
|
||||
RemoveSpecificProperty(oItem, ITEM_PROPERTY_ONHITCASTSPELL, IP_CONST_ONHIT_CASTSPELL_ONHIT_UNIQUEPOWER, 0, 1, "", 1, DURATION_TYPE_TEMPORARY);
|
||||
}
|
||||
}
|
||||
if (GetHasFeat(FEAT_SHIELDED_CASTING, oInitiator))
|
||||
}
|
||||
if (GetHasFeat(FEAT_SHIELDED_CASTING, oInitiator))
|
||||
{
|
||||
// If you don't have a shield in your left hand, no benefit
|
||||
int nBase = GetBaseItemType(GetItemInSlot(INVENTORY_SLOT_LEFTHAND, oInitiator));
|
||||
if (nBase != BASE_ITEM_SMALLSHIELD && nBase != BASE_ITEM_LARGESHIELD && nBase != BASE_ITEM_TOWERSHIELD)
|
||||
{
|
||||
// Only remove the tagged property, not the actual feat
|
||||
itemproperty ipCheck = GetFirstItemProperty(oSkin);
|
||||
while (GetIsItemPropertyValid(ipCheck))
|
||||
{
|
||||
if (GetItemPropertyTag(ipCheck) == "ShieldedCasting")
|
||||
{
|
||||
RemoveItemProperty(oSkin, ipCheck);
|
||||
}
|
||||
ipCheck = GetNextItemProperty(oSkin);
|
||||
}
|
||||
}
|
||||
}
|
||||
/* if (GetHasFeat(FEAT_SHIELDED_CASTING, oInitiator))
|
||||
{
|
||||
// If you don't have a shield in your left hand, no benefit
|
||||
int nBase = GetBaseItemType(GetItemInSlot(INVENTORY_SLOT_LEFTHAND, oInitiator));
|
||||
@@ -891,7 +919,7 @@ void main()
|
||||
{
|
||||
RemoveSpecificProperty(oSkin, ITEM_PROPERTY_BONUS_FEAT, IP_CONST_IMP_CC);
|
||||
}
|
||||
}
|
||||
} */
|
||||
if (GetRacialType(oInitiator) == RACIAL_TYPE_RETH_DEKALA && GetIsWeapon(oItem))
|
||||
{
|
||||
// Remove the attack bonus
|
||||
|
||||
Reference in New Issue
Block a user