2026/01/30 Update

Updated version number.
Fixed Touch of Golden Ice.
Removed Leadership related feats from Thrallherds feat list.
Necrocarnum Circlet should only fire the Detect Undead cone VFX once.
Desert Wind maneuvers should to the right amount of damage.
Blade Guide now takes less damage during combat.
FEAT_HOSPITALER_SPELLCASTING_PALADIN was missing from HospitalerMarkerFeats()
Frenzied Berzerker should now work with Vow of Poverty and Forsaker.
prc_wallbreathc now uses PRCEffectDamage().
Changed Mantle of Egregious Might back to Dodge AC.
Tweaked Mirror Image.
This commit is contained in:
Jaysyn904
2026-01-30 18:11:38 -05:00
parent 5464837d0b
commit 875f00c88f
79 changed files with 52563 additions and 47021 deletions

View File

@@ -23,11 +23,32 @@ damage equal to the necrocarnum zombie
*/
#include "moi_inc_moifunc"
void NecroDetect(object oMeldshaper);
#include "prc_inc_s_det"
void NecroDetect(object oMeldshaper, int bFirstRun = FALSE);
void CircTurnRes(object oMeldshaper);
void NecroDetect(object oMeldshaper)
void NecroDetect(object oMeldshaper, int bFirstRun = FALSE)
{
if (!GetHasSpellEffect(MELD_NECROCARNUM_CIRCLET, oMeldshaper))
return;
if (bFirstRun)
{
// First activation: show detection cone VFX briefly
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectVisualEffect(VFX_DUR_DETECT), oMeldshaper, 3.0f);
}
// Always apply ioun stone VFX for continuous effect
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectVisualEffect(VFX_IOUN_STONE_RED), oMeldshaper, 6.0);
// Run the actual detection logic
DetectRaceAura(0, RACIAL_TYPE_UNDEAD, GetLocation(oMeldshaper), VFX_BEAM_ODD, FeetToMeters(60.0));
// Schedule next run with bFirstRun = FALSE
DelayCommand(6.0, NecroDetect(oMeldshaper, FALSE));
}
/* void NecroDetect(object oMeldshaper)
{
if (GetHasSpellEffect(MELD_NECROCARNUM_CIRCLET, oMeldshaper))
{
@@ -35,7 +56,7 @@ void NecroDetect(object oMeldshaper)
DelayCommand(6.0, NecroDetect(oMeldshaper));
}
}
*/
void CircTurnRes(object oMeldshaper)
{
if (GetHasSpellEffect(MELD_NECROCARNUM_CIRCLET, oMeldshaper))

View File

@@ -34,7 +34,9 @@ void main()
DoDebug("Warning: DW OnHit is attempting to apply damage to self. Skipped.");
}
int nLevel = GetInitiatorLevel(oPC, CLASS_TYPE_SWORDSAGE);
//int nLevel = GetInitiatorLevel(oPC, CLASS_TYPE_SWORDSAGE);
int nClass = GetPrimaryBladeMagicClass(oPC);
int nLevel = GetInitiatorLevel(oPC, nClass);
int nSpellId = GetLocalInt(oPC, "DesertWindBoost");
if(DEBUG) DoDebug("tob_dw_onhit: nSpellId " + IntToString(nSpellId));
effect eDam;

View File

@@ -102,8 +102,9 @@ void BladeGuide(object oInitiator, object oItem)
if(DEBUG) DoDebug("EVENT_DAMAGED: damage dealt: " + IntToString(nDamageTaken));
if(DEBUG) DoDebug("EVENT_DAMAGED: PC MAX hitpoints: " + IntToString(nHitPoints));
// since player can have armor, dr, various immunities, etc., apply reasonable damage multiplyer for blage guide
nDamageTaken *= 2;
// since player can have armor, dr, various immunities, etc., apply reasonable damage multiplyer for blade guide
//nDamageTaken *= 2;
nDamageTaken = (nDamageTaken * 5) / 4;
// Blade guide alive, but no HP int.
// This would be the first hit after he respawns or the player rests or after load