2025/12/06 Update
Added Inscribe Epic Runes. Added Great Intelligence and Inscribe Epic Runes as Runecaster epic bons feats. Changed Runecaster epic bonus feat progression to 1 every 4 levels past 10th. Bardic PrCs should be able to take Lingering Song & Extra Music as general feats. Forsakers can't use psionics, invocations, spellfire, shadowcasting, truenaming, binding, soulmelds or Supernatural Martial Maneuvers. Fixed elven courtblade / ambidexterity bug. Added more guardrails to prevent self-damage from onHit spells during PerformAttack(). Updated GetProperTarget() Removed ableist slur. RHD casters should work with JPM now. Reworked Blood in the Water's effect icon. Fixed Seize Item's VFX. RHD casters should be able to enter Dragon Disciple. Sharp Note doesn't step on Dragonfire Inspiration anymore.
This commit is contained in:
@@ -221,7 +221,47 @@ void main()
|
||||
|
||||
break;
|
||||
}
|
||||
case SPELL_VIRTUOSO_SHARP_NOTE:
|
||||
case SPELL_VIRTUOSO_SHARP_NOTE:
|
||||
{
|
||||
oItem = IPGetTargetedOrEquippedMeleeWeapon();
|
||||
if(GetIsObjectValid(oItem))
|
||||
{
|
||||
// Check if Dragonfire Inspiration is active and preserve its properties
|
||||
int bHasDragonfire = GetHasFeat(FEAT_DRAGONFIRE_INSPIRATION, oPC) &&
|
||||
GetLocalInt(oPC, "DragonFireInspirationOn");
|
||||
|
||||
// Store existing Dragonfire properties if present
|
||||
itemproperty ipDragonfire = GetFirstItemProperty(oItem);
|
||||
int bDragonfireFound = FALSE;
|
||||
|
||||
if(bHasDragonfire)
|
||||
{
|
||||
ipDragonfire = GetFirstItemProperty(oItem);
|
||||
while(GetIsItemPropertyValid(ipDragonfire))
|
||||
{
|
||||
if(GetItemPropertyType(ipDragonfire) == ITEM_PROPERTY_ONHITCASTSPELL)
|
||||
{
|
||||
bDragonfireFound = TRUE;
|
||||
break;
|
||||
}
|
||||
ipDragonfire = GetNextItemProperty(oItem);
|
||||
}
|
||||
}
|
||||
|
||||
// Apply Keen property
|
||||
nTemp = StringToInt(Get2DACache("baseitems", "WeaponType", GetBaseItemType(oItem)));
|
||||
if(nTemp && (nTemp != 2)) //piercing and slashing weapons
|
||||
IPSafeAddItemProperty(oItem,ItemPropertyKeen(), 600.0, X2_IP_ADDPROP_POLICY_KEEP_EXISTING ,TRUE,TRUE);
|
||||
|
||||
// Restore Dragonfire property if it was removed
|
||||
if(bHasDragonfire && bDragonfireFound && !GetItemHasItemProperty(oItem, ITEM_PROPERTY_ONHITCASTSPELL))
|
||||
{
|
||||
IPSafeAddItemProperty(oItem, ItemPropertyOnHitCastSpell(IP_CONST_ONHIT_CASTSPELL_ONHIT_UNIQUEPOWER, 1), 99999.0, X2_IP_ADDPROP_POLICY_REPLACE_EXISTING, FALSE, FALSE);
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
/* case SPELL_VIRTUOSO_SHARP_NOTE:
|
||||
{
|
||||
oItem = IPGetTargetedOrEquippedMeleeWeapon();
|
||||
if(GetIsObjectValid(oItem))
|
||||
@@ -231,7 +271,7 @@ void main()
|
||||
IPSafeAddItemProperty(oItem,ItemPropertyKeen(), 600.0, X2_IP_ADDPROP_POLICY_KEEP_EXISTING ,TRUE,TRUE);
|
||||
}
|
||||
break;
|
||||
}
|
||||
} */
|
||||
case SPELL_VIRTUOSO_MINDBENDING_MELODY:
|
||||
{
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user