2026/06/05 Update

Added Sanctified damage type.
Added Holy damage type.
Added Unholy damage type.
Added Falling damage type.
Added Ballistic damage type.
Added Desiccation damage type.
Fixed Major Missile's LABEL in spells.2da.
Fixed Major Missile's LABEL in des_cft_spells.2da.
Fixed Major Missile's LABEL in des_cft_scrolls.2da.
Disabled incomplete PnP version of Shades spell.
Astaroth's free crafting feats should drop off onRest, when expelling a vestige & when rebinding a vestige.
Re-enabled caster level override variable clearing in GetInvokerLevel().
Change Piercing Cold's damagetype to Untyped.
Constanted new damagetypes correctly for scripting (@lightbeard)
Changed all force spells damagetype to force.
Fixed issue with Initiators using Shadows Blade, Ironheart Aura and Shadow Trickster with dual-stances.
Changed Eldritch Blast to Untyped damage.
Fixed Path of Shadow screwing up caster levels.
Changed Sanctify Martial strike to be Holy damage.
Changed Vile Martial strike to be Vile damage.
Updated Forsaker to work with Warforged "Armor".
Added a SignalEvent() to Invisible Needle so it would break Invisibility when it should.
Fixed equip exploit with Shou Disciple and monk weapons.
Changed Saint template's Holy Touch to do Holy Damage.
Changed Horrid Wilting to do Desiccation damage.
Fixed Break Enchantment's targeting.
Fixed the Command spell to obey mind immunity.
Changed Damning Darkness to do Unholy damage.
Change the Necrotic spells to do Vile damage.
Made Persistent Blade more like PnP and made it dispellable.
This commit is contained in:
Jaysyn904
2026-06-05 21:33:30 -04:00
parent c437270cd1
commit 306779349c
54 changed files with 614 additions and 167 deletions

View File

@@ -131,7 +131,7 @@ void DoPower(struct manifestation manif, object oMainTarget, int nDC, int nPen,
nDamage = MetaPsionicsDamage(manif, nDieSize, nNumberOfDice, 0, 0, TRUE, FALSE);
// Target-specific stuff
nDamage = GetTargetSpecificChangesToDamage(oAreaTarget, manif.oManifester, nDamage, TRUE, FALSE);
eDamage = EffectDamage(nDamage, DAMAGE_TYPE_MAGICAL);
eDamage = EffectDamage(nDamage, DAMAGE_TYPE_FORCE);
SPApplyEffectToObject(DURATION_TYPE_INSTANT, eDamage, oAreaTarget);
SPApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oAreaTarget);

View File

@@ -22,20 +22,81 @@
You mentally push a foe, attempting to knock it prone and disarm it. The DC
of the discipline check for the target to resist being knocked down or
disarmed is equal to your manifester level + you ability modified in your
manifesting stat. The Discipline checks to avoid being knocked down and
manifesting stat. The opposed combat checks to avoid being knocked down and
disarmed are rolled separately.
Augment: For every 2 additional power points spent, the DC of the Discipline
check is increased by 1.
*/
#include "psi_inc_psifunc"
#include "psi_inc_psifunc"
#include "psi_inc_pwresist"
#include "psi_spellhook"
#include "prc_inc_spells"
#include "prc_inc_combmove" // Add this include
void main()
{
if (!PsiPrePowerCastCode())
{
return;
}
object oManifester = OBJECT_SELF;
object oTarget = PRCGetSpellTargetObject();
struct manifestation manif =
EvaluateManifestation(oManifester, oTarget,
PowerAugmentationProfile(PRC_NO_GENERIC_AUGMENTS,
2, PRC_UNLIMITED_AUGMENTATION
),
METAPSIONIC_EXTEND | METAPSIONIC_TWIN
);
if(manif.bCanManifest)
{
int nPen = GetPsiPenetration(oManifester);
int nAbi = GetAbilityModifier(GetAbilityOfClass(GetManifestingClass(oManifester)), oManifester)
+ manif.nTimesAugOptUsed_1;
effect eKnock = EffectKnockdown();
object oWeapon = GetItemInSlot(INVENTORY_SLOT_RIGHTHAND, oTarget);
float fDuration = 6.0f * (manif.nManifesterLevel / 2);
if(manif.bExtend) fDuration *= 2;
// Set BAB override for combat maneuvers
SetLocalInt(oManifester, "BABOverride", manif.nManifesterLevel);
DelayCommand(1.0, DeleteLocalInt(oManifester, "BABOverride"));
// Let the AI know
PRCSignalSpellEvent(oTarget, TRUE, manif.nSpellID, oManifester);
// Handle Twin Power
int nRepeats = manif.bTwin ? 2 : 1;
for(; nRepeats > 0; nRepeats--)
{
// Check for Power Resistance
if(PRCMyResistPower(oManifester, oTarget, nPen))
{
// Attempt disarm using combat maneuver system
if(GetIsCreatureDisarmable(oTarget) && !GetPRCSwitch(PRC_PNP_DISARM) && GetIsObjectValid(oWeapon))
{
DoDisarm(oManifester, oTarget, nAbi, FALSE, FALSE);
}
// Attempt trip using combat maneuver system
DoTrip(oManifester, oTarget, nAbi, FALSE, FALSE, FALSE, nAbi);
} // end if - SR check
} // end for - Twin Power
} // end if - Successfull manifestation
}
/* #include "psi_inc_psifunc"
#include "psi_inc_pwresist"
#include "psi_spellhook"
#include "prc_inc_spells"
void main()
{
{ */
/*
Spellcast Hook Code
Added 2004-11-02 by Stratovarius
@@ -44,7 +105,7 @@ void main()
*/
if (!PsiPrePowerCastCode())
/* if (!PsiPrePowerCastCode())
{
// If code within the PrePowerCastHook (i.e. UMD) reports FALSE, do not run this spell
return;
@@ -102,4 +163,4 @@ void main()
}// end if - SR check
}// end for - Twin Power
}// end if - Successfull manifestation
}
} */