mirror of
https://github.com/EQEmu/Server.git
synced 2025-12-13 06:21:28 +00:00
SE_IllusionPersistence affects self only
This commit is contained in:
parent
a46b1ac18b
commit
70048eb6e1
@ -413,10 +413,6 @@ int32 Client::GetActSpellCost(uint16 spell_id, int32 cost)
|
|||||||
|
|
||||||
int32 Mob::GetActSpellDuration(uint16 spell_id, int32 duration)
|
int32 Mob::GetActSpellDuration(uint16 spell_id, int32 duration)
|
||||||
{
|
{
|
||||||
if ((aabonuses.IllusionPersistence || spellbonuses.IllusionPersistence || itembonuses.IllusionPersistence) &&
|
|
||||||
IsEffectInSpell(spell_id, SE_Illusion))
|
|
||||||
return 10000; // ~16h
|
|
||||||
|
|
||||||
if (spells[spell_id].not_extendable)
|
if (spells[spell_id].not_extendable)
|
||||||
return duration;
|
return duration;
|
||||||
|
|
||||||
|
|||||||
@ -1441,8 +1441,9 @@ bool Mob::SpellEffect(Mob* caster, uint16 spell_id, float partial)
|
|||||||
for(int x = EmuConstants::MATERIAL_BEGIN; x <= EmuConstants::MATERIAL_TINT_END; x++)
|
for(int x = EmuConstants::MATERIAL_BEGIN; x <= EmuConstants::MATERIAL_TINT_END; x++)
|
||||||
SendWearChange(x);
|
SendWearChange(x);
|
||||||
|
|
||||||
if(caster && (caster->spellbonuses.IllusionPersistence || caster->aabonuses.IllusionPersistence
|
if (caster == this &&
|
||||||
|| caster->itembonuses.IllusionPersistence))
|
(spellbonuses.IllusionPersistence || aabonuses.IllusionPersistence ||
|
||||||
|
itembonuses.IllusionPersistence))
|
||||||
buffs[buffslot].persistant_buff = 1;
|
buffs[buffslot].persistant_buff = 1;
|
||||||
else
|
else
|
||||||
buffs[buffslot].persistant_buff = 0;
|
buffs[buffslot].persistant_buff = 0;
|
||||||
|
|||||||
@ -2624,6 +2624,10 @@ int Mob::CalcBuffDuration(Mob *caster, Mob *target, uint16 spell_id, int32 caste
|
|||||||
castlevel = caster_level_override;
|
castlevel = caster_level_override;
|
||||||
|
|
||||||
int res = CalcBuffDuration_formula(castlevel, formula, duration);
|
int res = CalcBuffDuration_formula(castlevel, formula, duration);
|
||||||
|
if (caster == target && (target->aabonuses.IllusionPersistence || target->spellbonuses.IllusionPersistence ||
|
||||||
|
target->itembonuses.IllusionPersistence) &&
|
||||||
|
IsEffectInSpell(spell_id, SE_Illusion))
|
||||||
|
res = 10000; // ~16h override
|
||||||
|
|
||||||
res = mod_buff_duration(res, caster, target, spell_id);
|
res = mod_buff_duration(res, caster, target, spell_id);
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user