2026/03/20 Update

Fixed issue where Factotum's Arcane Dilettante post rest dialog wasn't appearing.
Desecrate now correctly doubles a caster's Animate Dead HD pool.
Effects are now removed when leaving an area of Desecration.
Undead HD pool is now calculated correctly in Animate Dead.
This commit is contained in:
Jaysyn904
2026-03-20 18:07:36 -04:00
parent ef380d9efb
commit 01eb86d307
5 changed files with 49 additions and 26 deletions

View File

@@ -64,7 +64,7 @@ void main()
if(GetPRCSwitch(PRC_PNP_ANIMATE_DEAD))
{
int nMaxHD = GetLevelByClass(CLASS_TYPE_DREAD_NECROMANCER, oCaster) >= 8 ?
nCasterLevel * (4 + GetAbilityModifier(ABILITY_CHARISMA, oCaster)) : nCasterLevel * 4;
nCasterLevel * (4 + GetAbilityModifier(ABILITY_CHARISMA, oCaster)) : nCasterLevel * 2;
if(GetHasSpellEffect(SPELL_DES_20) || GetHasSpellEffect(SPELL_DES_100) || GetHasSpellEffect(SPELL_DESECRATE))
nMaxHD *= 2;

View File

@@ -1,5 +1,5 @@
//::///////////////////////////////////////////////
//:: Desecrate
//:: Desecrate onEnter script
//:: sp_desecrate.nss
//:: //////////////////////////////////////////////
/*
@@ -41,7 +41,7 @@ void main()
float fDuration = HoursToSeconds(2 * nCastLvl);
int nMetaMagic = PRCGetMetaMagicFeat();
int nDesecrate;
string sTag = Get2DACache("vfx_persistent", "LABEL", AOE_PER_CONSECRATE);
string sTag = Get2DACache("vfx_persistent", "LABEL", AOE_PER_DESECRATE);
//Make sure duration does no equal 0
if(fDuration < 2.0)
@@ -76,7 +76,7 @@ void main()
ApplyEffectAtLocation(DURATION_TYPE_TEMPORARY, eVis, lLoc, fDuration);
oAoE = GetAreaOfEffectObject(lLoc, "VFX_AOE_DESECRATE_20");
SetAllAoEInts(SPELL_CONSECRATE, oAoE, 20, 0, nCastLvl);
SetAllAoEInts(SPELL_DESECRATE, oAoE, 20, 0, nCastLvl);
}
PRCSetSchool();