mirror of
https://github.com/EQEmu/Server.git
synced 2026-05-16 18:52:22 +00:00
[Spells] Update SPA 238 SE_IllusionPersistence allow illusions to persist through deaths at higher AA ranks. (#1884)
* start * working
This commit is contained in:
+5
-3
@@ -2929,9 +2929,10 @@ int Mob::CalcBuffDuration(Mob *caster, Mob *target, uint16 spell_id, int32 caste
|
||||
|
||||
int res = CalcBuffDuration_formula(castlevel, formula, duration);
|
||||
if (caster == target && (target->aabonuses.IllusionPersistence || target->spellbonuses.IllusionPersistence ||
|
||||
target->itembonuses.IllusionPersistence) &&
|
||||
spell_id != SPELL_MINOR_ILLUSION && spell_id != SPELL_ILLUSION_TREE && IsEffectInSpell(spell_id, SE_Illusion))
|
||||
target->itembonuses.IllusionPersistence) &&
|
||||
spell_id != SPELL_MINOR_ILLUSION && spell_id != SPELL_ILLUSION_TREE && IsEffectInSpell(spell_id, SE_Illusion)) {
|
||||
res = 10000; // ~16h override
|
||||
}
|
||||
|
||||
|
||||
res = mod_buff_duration(res, caster, target, spell_id);
|
||||
@@ -4373,7 +4374,8 @@ void Mob::BuffFadeNonPersistDeath()
|
||||
auto current_spell_id = buffs[buff_slot].spellid;
|
||||
if (
|
||||
IsValidSpell(current_spell_id) &&
|
||||
!IsPersistDeathSpell(current_spell_id)
|
||||
!IsPersistDeathSpell(current_spell_id) &&
|
||||
!HasPersistDeathIllusion(current_spell_id)
|
||||
) {
|
||||
BuffFadeBySlot(buff_slot, false);
|
||||
recalc_bonus = true;
|
||||
|
||||
Reference in New Issue
Block a user