mirror of
https://github.com/EQEmu/Server.git
synced 2025-12-12 22:01:30 +00:00
[Spells] SPA 311 SE_LimitCombatSkills should prevent focusing of procs even if proc is a 'casted' spell. (#1961)
* proc limiter update * Update spdat.h * [Spells] SPA 311 SE_LimitCombatSkills should prevent focusing of procs even if proc is a 'casted' spell.
This commit is contained in:
parent
d300e78b39
commit
dbe6adbed0
@ -1030,7 +1030,7 @@ typedef enum {
|
||||
#define SE_ZoneSuspendMinion 308 // implemented, @Pet, allow suspended pets to be resummoned upon zoning, base: 1, limit: none, max: none, Calc: Bool
|
||||
#define SE_GateCastersBindpoint 309 // implemented - Gate to casters bind point
|
||||
#define SE_ReduceReuseTimer 310 // implemented, @Fc, On Caster, spell and disc reuse time mod by amount, base: milliseconds
|
||||
#define SE_LimitCombatSkills 311 // implemented, @Ff, Include or exclude combat skills or procs (non-memorizable spells) from being focused, base1: 0=Exclude if proc 1=Allow only if proc
|
||||
#define SE_LimitCombatSkills 311 // implemented, @Ff, Include or exclude combat skills or procs from being focused, base1: 0=Exclude if proc 1=Allow only if proc.
|
||||
#define SE_Sanctuary 312 // implemented - Places caster at bottom hate list, effect fades if cast cast spell on targets other than self.
|
||||
#define SE_ForageAdditionalItems 313 // implemented[AA] - chance to forage additional items
|
||||
#define SE_Invisibility2 314 // implemented - fixed duration invisible
|
||||
|
||||
@ -5836,31 +5836,27 @@ bool Mob::IsCombatProc(uint16 spell_id) {
|
||||
if (spell_id == SPELL_UNKNOWN) {
|
||||
return(false);
|
||||
}
|
||||
|
||||
if ((spells[spell_id].cast_time == 0) && (spells[spell_id].recast_time == 0) && (spells[spell_id].recovery_time == 0))
|
||||
{
|
||||
|
||||
for (int i = 0; i < MAX_PROCS; i++){
|
||||
if (PermaProcs[i].spellID == spell_id ||
|
||||
SpellProcs[i].spellID == spell_id ||
|
||||
RangedProcs[i].spellID == spell_id ||
|
||||
DefensiveProcs[i].spellID == spell_id){
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
if (IsClient()) {
|
||||
for (int i = 0; i < MAX_AA_PROCS; i += 4) {
|
||||
|
||||
if (aabonuses.SpellProc[i + 1] == spell_id ||
|
||||
aabonuses.RangedProc[i + 1] == spell_id ||
|
||||
aabonuses.DefensiveProc[i + 1] == spell_id) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
/*
|
||||
Procs that originate from casted spells are still limited by SPA 311 (~Kayen confirmed on live 2/4/22)
|
||||
*/
|
||||
for (int i = 0; i < MAX_PROCS; i++) {
|
||||
if (PermaProcs[i].spellID == spell_id ||
|
||||
SpellProcs[i].spellID == spell_id ||
|
||||
RangedProcs[i].spellID == spell_id ||
|
||||
DefensiveProcs[i].spellID == spell_id) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
if (IsClient()) {
|
||||
for (int i = 0; i < MAX_AA_PROCS; i += 4) {
|
||||
if (aabonuses.SpellProc[i + 1] == spell_id ||
|
||||
aabonuses.RangedProc[i + 1] == spell_id ||
|
||||
aabonuses.DefensiveProc[i + 1] == spell_id) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user