mirror of
https://github.com/EQEmu/Server.git
synced 2026-03-22 13:52:32 +00:00
[Bug] Prevent Resurrection Spells from being resisted (#4393)
* [Bug] Prevent Ressurection Spells from being resisted Added IsRessurectionSpell(uint16 spell_id) to assist with checking on a spell is a ressurection spell. This was noticed when Dragons of Norrath launched and the Tier 5 Progression AA provided SPA 180 2% SE_ResistSpellChance * Helps if I spell it correctly * Update per feedback
This commit is contained in:
parent
1aa8758b0a
commit
850053a136
@ -431,6 +431,16 @@ bool IsCharmSpell(uint16 spell_id)
|
|||||||
return IsEffectInSpell(spell_id, SE_Charm);
|
return IsEffectInSpell(spell_id, SE_Charm);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool IsResurrectionSicknessSpell(uint16 spell_id) {
|
||||||
|
return (
|
||||||
|
spell_id == SPELL_RESURRECTION_SICKNESS ||
|
||||||
|
spell_id == SPELL_RESURRECTION_SICKNESS2 ||
|
||||||
|
spell_id == SPELL_RESURRECTION_SICKNESS3 ||
|
||||||
|
spell_id == SPELL_RESURRECTION_SICKNESS4 ||
|
||||||
|
spell_id == SPELL_REVIVAL_SICKNESS
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
bool IsBlindSpell(uint16 spell_id)
|
bool IsBlindSpell(uint16 spell_id)
|
||||||
{
|
{
|
||||||
return IsEffectInSpell(spell_id, SE_Blind);
|
return IsEffectInSpell(spell_id, SE_Blind);
|
||||||
|
|||||||
@ -1522,6 +1522,7 @@ bool IsSummonPetSpell(uint16 spell_id);
|
|||||||
bool IsSummonPCSpell(uint16 spell_id);
|
bool IsSummonPCSpell(uint16 spell_id);
|
||||||
bool IsPetSpell(uint16 spell_id);
|
bool IsPetSpell(uint16 spell_id);
|
||||||
bool IsCharmSpell(uint16 spell_id);
|
bool IsCharmSpell(uint16 spell_id);
|
||||||
|
bool IsResurrectionSicknessSpell(uint16 spell_id);
|
||||||
bool IsBlindSpell(uint16 spell_id);
|
bool IsBlindSpell(uint16 spell_id);
|
||||||
bool IsHealthSpell(uint16 spell_id);
|
bool IsHealthSpell(uint16 spell_id);
|
||||||
bool IsCastTimeReductionSpell(uint16 spell_id);
|
bool IsCastTimeReductionSpell(uint16 spell_id);
|
||||||
|
|||||||
@ -5315,19 +5315,16 @@ float Mob::ResistSpell(uint8 resist_type, uint16 spell_id, Mob *caster, bool use
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!CharmTick){
|
if (!CharmTick) {
|
||||||
|
|
||||||
//Check for Spell Effect specific resistance chances (ie AA Mental Fortitude)
|
//Check for Spell Effect specific resistance chances (ie AA Mental Fortitude)
|
||||||
int se_resist_bonuses = GetSpellEffectResistChance(spell_id);
|
int se_resist_bonuses = GetSpellEffectResistChance(spell_id);
|
||||||
if(se_resist_bonuses && zone->random.Roll(se_resist_bonuses))
|
if (se_resist_bonuses && zone->random.Roll(se_resist_bonuses)) {
|
||||||
{
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check for Chance to Resist Spell bonuses (ie Sanctification Discipline)
|
// Check for Chance to Resist Spell bonuses (ie Sanctification Discipline)
|
||||||
int resist_bonuses = CalcResistChanceBonus();
|
int resist_bonuses = CalcResistChanceBonus();
|
||||||
if(resist_bonuses && zone->random.Roll(resist_bonuses))
|
if (resist_bonuses && zone->random.Roll(resist_bonuses) && !IsResurrectionSicknessSpell(spell_id)) {
|
||||||
{
|
|
||||||
LogSpells("Resisted spell in sanctification, had [{}] chance to resist", resist_bonuses);
|
LogSpells("Resisted spell in sanctification, had [{}] chance to resist", resist_bonuses);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user