mirror of
https://github.com/EQEmu/Server.git
synced 2025-12-13 06:21:28 +00:00
Make use of the suspendable spell flag
This commit is contained in:
parent
50caef0086
commit
5199364091
@ -1729,6 +1729,7 @@ void SharedDatabase::LoadSpells(void *data, int max_spells) {
|
||||
sp[tempid].NimbusEffect = atoi(row[193]);
|
||||
sp[tempid].directional_start = (float)atoi(row[194]);
|
||||
sp[tempid].directional_end = (float)atoi(row[195]);
|
||||
sp[tempid].suspendable = atoi(row[200]) != 0;
|
||||
sp[tempid].spellgroup=atoi(row[207]);
|
||||
sp[tempid].powerful_flag=atoi(row[209]);
|
||||
sp[tempid].CastRestriction = atoi(row[211]);
|
||||
|
||||
@ -974,6 +974,14 @@ bool IsPersistDeathSpell(uint16 spell_id)
|
||||
return false;
|
||||
}
|
||||
|
||||
bool IsSuspendableSpell(uint16 spell_id)
|
||||
{
|
||||
if (IsValidSpell(spell_id) && spells[spell_id].suspendable)
|
||||
return true;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
uint32 GetMorphTrigger(uint32 spell_id)
|
||||
{
|
||||
for (int i = 0; i < EFFECT_COUNT; ++i)
|
||||
|
||||
@ -711,7 +711,7 @@ struct SPDat_Spell_Struct
|
||||
/* 194 */ float directional_start;
|
||||
/* 195 */ float directional_end;
|
||||
/* 196 - 199 */
|
||||
/* 200 */ //bool suspendable; // buff is suspended in suspended buff zones
|
||||
/* 200 */ bool suspendable; // buff is suspended in suspended buff zones
|
||||
/* 201 - 202 */
|
||||
/* 203 */ //int songcap; // individual song cap (how live currently does it, not implemented)
|
||||
/* 204 - 206 */
|
||||
@ -821,6 +821,7 @@ bool IsResistDebuffSpell(uint16 spell_id);
|
||||
bool IsSelfConversionSpell(uint16 spell_id);
|
||||
bool IsBuffSpell(uint16 spell_id);
|
||||
bool IsPersistDeathSpell(uint16 spell_id);
|
||||
bool IsSuspendableSpell(uint16 spell_id);
|
||||
uint32 GetMorphTrigger(uint32 spell_id);
|
||||
uint32 GetPartialMeleeRuneReduction(uint32 spell_id);
|
||||
uint32 GetPartialMagicRuneReduction(uint32 spell_id);
|
||||
|
||||
@ -3181,7 +3181,7 @@ void Mob::BuffProcess()
|
||||
|
||||
if(spells[buffs[buffs_i].spellid].buffdurationformula != DF_Permanent)
|
||||
{
|
||||
if(!zone->BuffTimersSuspended() || IsDetrimentalSpell(buffs[buffs_i].spellid))
|
||||
if(!zone->BuffTimersSuspended() || !IsSuspendableSpell(buffs[buffs_i].spellid))
|
||||
{
|
||||
--buffs[buffs_i].ticsremaining;
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user