mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2026-01-17 02:50:29 +00:00
refactor(Core/Spell): Pascal Case some SpellEntry types (#4432)
This commit is contained in:
@@ -402,7 +402,7 @@ void LoadDBCStores(const std::string& dataPath)
|
||||
if (skillLine->skillId != cFamily->skillLine[0] && skillLine->skillId != cFamily->skillLine[1])
|
||||
continue;
|
||||
|
||||
if (spellInfo->spellLevel)
|
||||
if (spellInfo->SpellLevel)
|
||||
continue;
|
||||
|
||||
if (skillLine->learnOnGetSkill != ABILITY_LEARNED_ON_GET_RACE_OR_CLASS_SKILL)
|
||||
|
||||
@@ -42,7 +42,7 @@ class Aura;
|
||||
// AURA_EFFECT_HANDLE_CHANGE_AMOUNT_MASK set - aura is recalculated or is just applied/removed - need to redo all things related to m_amount
|
||||
// AURA_EFFECT_HANDLE_CHANGE_AMOUNT_SEND_FOR_CLIENT_MASK - logical or of above conditions
|
||||
// AURA_EFFECT_HANDLE_STAT - set when stats are reapplied
|
||||
// such checks will speedup trinity change amount/send for client operations
|
||||
// such checks will Speedup trinity change amount/send for client operations
|
||||
// because for change amount operation packets will not be send
|
||||
// aura effect handlers shouldn't contain any AuraEffect or Aura object modifications
|
||||
|
||||
@@ -241,7 +241,7 @@ pAuraEffectHandler AuraEffectHandler[TOTAL_AURAS] =
|
||||
&AuraEffect::HandleNoImmediateEffect, //190 SPELL_AURA_MOD_FACTION_REPUTATION_GAIN implemented in Player::CalculateReputationGain
|
||||
&AuraEffect::HandleAuraModUseNormalSpeed, //191 SPELL_AURA_USE_NORMAL_MOVEMENT_SPEED
|
||||
&AuraEffect::HandleModMeleeRangedSpeedPct, //192 SPELL_AURA_MOD_MELEE_RANGED_HASTE
|
||||
&AuraEffect::HandleModCombatSpeedPct, //193 SPELL_AURA_MELEE_SLOW (in fact combat (any type attack) speed pct)
|
||||
&AuraEffect::HandleModCombatSpeedPct, //193 SPELL_AURA_MELEE_SLOW (in fact combat (any type attack) Speed pct)
|
||||
&AuraEffect::HandleNoImmediateEffect, //194 SPELL_AURA_MOD_TARGET_ABSORB_SCHOOL implemented in Unit::CalcAbsorbResist
|
||||
&AuraEffect::HandleNoImmediateEffect, //195 SPELL_AURA_MOD_TARGET_ABILITY_ABSORB_SCHOOL implemented in Unit::CalcAbsorbResist
|
||||
&AuraEffect::HandleNoImmediateEffect, //196 SPELL_AURA_MOD_COOLDOWN - flat mod of spell cooldowns
|
||||
@@ -4227,15 +4227,15 @@ void AuraEffect::HandleAuraModIncreaseEnergy(AuraApplication const* aurApp, uint
|
||||
|
||||
Unit* target = aurApp->GetTarget();
|
||||
|
||||
Powers powerType = Powers(GetMiscValue());
|
||||
Powers PowerType = Powers(GetMiscValue());
|
||||
// do not check power type, we can always modify the maximum
|
||||
// as the client will not see any difference
|
||||
// also, placing conditions that may change during the aura duration
|
||||
// inside effect handlers is not a good idea
|
||||
//if (int32(powerType) != GetMiscValue())
|
||||
//if (int32(PowerType) != GetMiscValue())
|
||||
// return;
|
||||
|
||||
UnitMods unitMod = UnitMods(UNIT_MOD_POWER_START + powerType);
|
||||
UnitMods unitMod = UnitMods(UNIT_MOD_POWER_START + PowerType);
|
||||
|
||||
target->HandleStatModifier(unitMod, TOTAL_VALUE, float(GetAmount()), apply);
|
||||
}
|
||||
@@ -4247,25 +4247,25 @@ void AuraEffect::HandleAuraModIncreaseEnergyPercent(AuraApplication const* aurAp
|
||||
|
||||
Unit* target = aurApp->GetTarget();
|
||||
|
||||
Powers powerType = Powers(GetMiscValue());
|
||||
Powers PowerType = Powers(GetMiscValue());
|
||||
// do not check power type, we can always modify the maximum
|
||||
// as the client will not see any difference
|
||||
// also, placing conditions that may change during the aura duration
|
||||
// inside effect handlers is not a good idea
|
||||
//if (int32(powerType) != GetMiscValue())
|
||||
//if (int32(PowerType) != GetMiscValue())
|
||||
// return;
|
||||
|
||||
UnitMods unitMod = UnitMods(UNIT_MOD_POWER_START + powerType);
|
||||
UnitMods unitMod = UnitMods(UNIT_MOD_POWER_START + PowerType);
|
||||
float amount = float(GetAmount());
|
||||
|
||||
if (apply)
|
||||
{
|
||||
target->HandleStatModifier(unitMod, TOTAL_PCT, amount, apply);
|
||||
target->ModifyPowerPct(powerType, amount, apply);
|
||||
target->ModifyPowerPct(PowerType, amount, apply);
|
||||
}
|
||||
else
|
||||
{
|
||||
target->ModifyPowerPct(powerType, amount, apply);
|
||||
target->ModifyPowerPct(PowerType, amount, apply);
|
||||
target->HandleStatModifier(unitMod, TOTAL_PCT, amount, apply);
|
||||
}
|
||||
}
|
||||
@@ -4715,7 +4715,7 @@ void AuraEffect::HandleModDamageDone(AuraApplication const* aurApp, uint8 mode,
|
||||
}
|
||||
}
|
||||
|
||||
// Skip non magic case for speedup
|
||||
// Skip non magic case for Speedup
|
||||
if ((GetMiscValue() & SPELL_SCHOOL_MASK_MAGIC) == 0)
|
||||
return;
|
||||
|
||||
@@ -6511,9 +6511,9 @@ void AuraEffect::HandlePeriodicHealAurasTick(Unit* target, Unit* caster) const
|
||||
|
||||
void AuraEffect::HandlePeriodicManaLeechAuraTick(Unit* target, Unit* caster) const
|
||||
{
|
||||
Powers powerType = Powers(GetMiscValue());
|
||||
Powers PowerType = Powers(GetMiscValue());
|
||||
|
||||
if (!caster || !caster->IsAlive() || !target->IsAlive() || target->getPowerType() != powerType)
|
||||
if (!caster || !caster->IsAlive() || !target->IsAlive() || target->getPowerType() != PowerType)
|
||||
return;
|
||||
|
||||
if (target->HasUnitState(UNIT_STATE_ISOLATED) || target->IsImmunedToDamageOrSchool(GetSpellInfo()))
|
||||
@@ -6534,8 +6534,8 @@ void AuraEffect::HandlePeriodicManaLeechAuraTick(Unit* target, Unit* caster) con
|
||||
if (m_spellInfo->ManaCostPercentage)
|
||||
{
|
||||
// max value
|
||||
int32 maxmana = CalculatePct(caster->GetMaxPower(powerType), drainAmount * 2.0f);
|
||||
ApplyPct(drainAmount, target->GetMaxPower(powerType));
|
||||
int32 maxmana = CalculatePct(caster->GetMaxPower(PowerType), drainAmount * 2.0f);
|
||||
ApplyPct(drainAmount, target->GetMaxPower(PowerType));
|
||||
if (drainAmount > maxmana)
|
||||
drainAmount = maxmana;
|
||||
}
|
||||
@@ -6545,10 +6545,10 @@ void AuraEffect::HandlePeriodicManaLeechAuraTick(Unit* target, Unit* caster) con
|
||||
GUID_LOPART(GetCasterGUID()), GuidHigh2TypeId(GUID_HIPART(GetCasterGUID())), target->GetGUIDLow(), target->GetTypeId(), drainAmount, GetId());
|
||||
#endif
|
||||
// resilience reduce mana draining effect at spell crit damage reduction (added in 2.4)
|
||||
if (powerType == POWER_MANA)
|
||||
if (PowerType == POWER_MANA)
|
||||
drainAmount -= target->GetSpellCritDamageReduction(drainAmount);
|
||||
|
||||
int32 drainedAmount = -target->ModifyPower(powerType, -drainAmount);
|
||||
int32 drainedAmount = -target->ModifyPower(PowerType, -drainAmount);
|
||||
|
||||
float gainMultiplier = GetSpellInfo()->Effects[GetEffIndex()].CalcValueMultiplier(caster);
|
||||
|
||||
@@ -6559,7 +6559,7 @@ void AuraEffect::HandlePeriodicManaLeechAuraTick(Unit* target, Unit* caster) con
|
||||
int32 gainedAmount = 0;
|
||||
if (gainAmount)
|
||||
{
|
||||
gainedAmount = caster->ModifyPower(powerType, gainAmount);
|
||||
gainedAmount = caster->ModifyPower(PowerType, gainAmount);
|
||||
target->AddThreat(caster, float(gainedAmount) * 0.5f, GetSpellInfo()->GetSchoolMask(), GetSpellInfo());
|
||||
}
|
||||
|
||||
@@ -6586,13 +6586,13 @@ void AuraEffect::HandlePeriodicManaLeechAuraTick(Unit* target, Unit* caster) con
|
||||
|
||||
void AuraEffect::HandleObsModPowerAuraTick(Unit* target, Unit* caster) const
|
||||
{
|
||||
Powers powerType;
|
||||
Powers PowerType;
|
||||
if (GetMiscValue() == POWER_ALL)
|
||||
powerType = target->getPowerType();
|
||||
PowerType = target->getPowerType();
|
||||
else
|
||||
powerType = Powers(GetMiscValue());
|
||||
PowerType = Powers(GetMiscValue());
|
||||
|
||||
if (!target->IsAlive() || !target->GetMaxPower(powerType))
|
||||
if (!target->IsAlive() || !target->GetMaxPower(PowerType))
|
||||
return;
|
||||
|
||||
if (target->HasUnitState(UNIT_STATE_ISOLATED))
|
||||
@@ -6602,11 +6602,11 @@ void AuraEffect::HandleObsModPowerAuraTick(Unit* target, Unit* caster) const
|
||||
}
|
||||
|
||||
// don't regen when permanent aura target has full power
|
||||
if (GetBase()->IsPermanent() && target->GetPower(powerType) == target->GetMaxPower(powerType))
|
||||
if (GetBase()->IsPermanent() && target->GetPower(PowerType) == target->GetMaxPower(PowerType))
|
||||
return;
|
||||
|
||||
// ignore negative values (can be result apply spellmods to aura damage
|
||||
uint32 amount = std::max(m_amount, 0) * target->GetMaxPower(powerType) / 100;
|
||||
uint32 amount = std::max(m_amount, 0) * target->GetMaxPower(PowerType) / 100;
|
||||
#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
|
||||
sLog->outDetail("PeriodicTick: %u (TypeId: %u) energize %u (TypeId: %u) for %u dmg inflicted by %u",
|
||||
GUID_LOPART(GetCasterGUID()), GuidHigh2TypeId(GUID_HIPART(GetCasterGUID())), target->GetGUIDLow(), target->GetTypeId(), amount, GetId());
|
||||
@@ -6614,7 +6614,7 @@ void AuraEffect::HandleObsModPowerAuraTick(Unit* target, Unit* caster) const
|
||||
SpellPeriodicAuraLogInfo pInfo(this, amount, 0, 0, 0, 0.0f, false);
|
||||
target->SendPeriodicAuraLog(&pInfo);
|
||||
|
||||
int32 gain = target->ModifyPower(powerType, amount);
|
||||
int32 gain = target->ModifyPower(PowerType, amount);
|
||||
|
||||
if (caster)
|
||||
target->getHostileRefManager().threatAssist(caster, float(gain) * 0.5f, GetSpellInfo());
|
||||
@@ -6622,12 +6622,12 @@ void AuraEffect::HandleObsModPowerAuraTick(Unit* target, Unit* caster) const
|
||||
|
||||
void AuraEffect::HandlePeriodicEnergizeAuraTick(Unit* target, Unit* caster) const
|
||||
{
|
||||
Powers powerType = Powers(GetMiscValue());
|
||||
Powers PowerType = Powers(GetMiscValue());
|
||||
|
||||
if (target->GetTypeId() == TYPEID_PLAYER && target->getPowerType() != powerType && !m_spellInfo->HasAttribute(SPELL_ATTR7_CAN_RESTORE_SECONDARY_POWER))
|
||||
if (target->GetTypeId() == TYPEID_PLAYER && target->getPowerType() != PowerType && !m_spellInfo->HasAttribute(SPELL_ATTR7_CAN_RESTORE_SECONDARY_POWER))
|
||||
return;
|
||||
|
||||
if (!target->IsAlive() || !target->GetMaxPower(powerType))
|
||||
if (!target->IsAlive() || !target->GetMaxPower(PowerType))
|
||||
return;
|
||||
|
||||
if (target->HasUnitState(UNIT_STATE_ISOLATED))
|
||||
@@ -6637,7 +6637,7 @@ void AuraEffect::HandlePeriodicEnergizeAuraTick(Unit* target, Unit* caster) cons
|
||||
}
|
||||
|
||||
// don't regen when permanent aura target has full power
|
||||
if (GetBase()->IsPermanent() && target->GetPower(powerType) == target->GetMaxPower(powerType))
|
||||
if (GetBase()->IsPermanent() && target->GetPower(PowerType) == target->GetMaxPower(PowerType))
|
||||
return;
|
||||
|
||||
// ignore negative values (can be result apply spellmods to aura damage
|
||||
@@ -6650,7 +6650,7 @@ void AuraEffect::HandlePeriodicEnergizeAuraTick(Unit* target, Unit* caster) cons
|
||||
sLog->outDetail("PeriodicTick: %u (TypeId: %u) energize %u (TypeId: %u) for %u dmg inflicted by %u",
|
||||
GUID_LOPART(GetCasterGUID()), GuidHigh2TypeId(GUID_HIPART(GetCasterGUID())), target->GetGUIDLow(), target->GetTypeId(), amount, GetId());
|
||||
#endif
|
||||
int32 gain = target->ModifyPower(powerType, amount);
|
||||
int32 gain = target->ModifyPower(PowerType, amount);
|
||||
|
||||
if (caster)
|
||||
target->getHostileRefManager().threatAssist(caster, float(gain) * 0.5f, GetSpellInfo());
|
||||
@@ -6658,9 +6658,9 @@ void AuraEffect::HandlePeriodicEnergizeAuraTick(Unit* target, Unit* caster) cons
|
||||
|
||||
void AuraEffect::HandlePeriodicPowerBurnAuraTick(Unit* target, Unit* caster) const
|
||||
{
|
||||
Powers powerType = Powers(GetMiscValue());
|
||||
Powers PowerType = Powers(GetMiscValue());
|
||||
|
||||
if (!caster || !target->IsAlive() || target->getPowerType() != powerType)
|
||||
if (!caster || !target->IsAlive() || target->getPowerType() != PowerType)
|
||||
return;
|
||||
|
||||
if (target->HasUnitState(UNIT_STATE_ISOLATED) || target->IsImmunedToDamageOrSchool(GetSpellInfo()))
|
||||
@@ -6673,10 +6673,10 @@ void AuraEffect::HandlePeriodicPowerBurnAuraTick(Unit* target, Unit* caster) con
|
||||
int32 damage = std::max(m_amount, 0);
|
||||
|
||||
// resilience reduce mana draining effect at spell crit damage reduction (added in 2.4)
|
||||
if (powerType == POWER_MANA)
|
||||
if (PowerType == POWER_MANA)
|
||||
damage -= target->GetSpellCritDamageReduction(damage);
|
||||
|
||||
uint32 gain = uint32(-target->ModifyPower(powerType, -damage));
|
||||
uint32 gain = uint32(-target->ModifyPower(PowerType, -damage));
|
||||
|
||||
float dmgMultiplier = GetSpellInfo()->Effects[GetEffIndex()].CalcValueMultiplier(caster);
|
||||
|
||||
|
||||
@@ -772,22 +772,22 @@ void Aura::Update(uint32 diff, Unit* caster)
|
||||
if (m_duration < 0)
|
||||
m_duration = 0;
|
||||
|
||||
// handle manaPerSecond/manaPerSecondPerLevel
|
||||
// handle ManaPerSecond/ManaPerSecondPerLevel
|
||||
if (m_timeCla)
|
||||
{
|
||||
if (m_timeCla > int32(diff))
|
||||
m_timeCla -= diff;
|
||||
else if (caster)
|
||||
{
|
||||
if (int32 manaPerSecond = m_spellInfo->ManaPerSecond + m_spellInfo->ManaPerSecondPerLevel * caster->getLevel())
|
||||
if (int32 ManaPerSecond = m_spellInfo->ManaPerSecond + m_spellInfo->ManaPerSecondPerLevel * caster->getLevel())
|
||||
{
|
||||
m_timeCla += 1000 - diff;
|
||||
|
||||
Powers powertype = Powers(m_spellInfo->PowerType);
|
||||
if (powertype == POWER_HEALTH)
|
||||
{
|
||||
if (int32(caster->GetHealth()) > manaPerSecond)
|
||||
caster->ModifyHealth(-manaPerSecond);
|
||||
if (int32(caster->GetHealth()) > ManaPerSecond)
|
||||
caster->ModifyHealth(-ManaPerSecond);
|
||||
else
|
||||
{
|
||||
Remove();
|
||||
@@ -796,8 +796,8 @@ void Aura::Update(uint32 diff, Unit* caster)
|
||||
}
|
||||
else
|
||||
{
|
||||
if (int32(caster->GetPower(powertype)) >= manaPerSecond)
|
||||
caster->ModifyPower(powertype, -manaPerSecond);
|
||||
if (int32(caster->GetPower(powertype)) >= ManaPerSecond)
|
||||
caster->ModifyPower(powertype, -ManaPerSecond);
|
||||
else
|
||||
{
|
||||
Remove();
|
||||
|
||||
@@ -4576,12 +4576,12 @@ void Spell::SendLogExecute()
|
||||
m_caster->SendMessageToSet(&data, true);
|
||||
}
|
||||
|
||||
void Spell::ExecuteLogEffectTakeTargetPower(uint8 effIndex, Unit* target, uint32 powerType, uint32 powerTaken, float gainMultiplier)
|
||||
void Spell::ExecuteLogEffectTakeTargetPower(uint8 effIndex, Unit* target, uint32 PowerType, uint32 powerTaken, float gainMultiplier)
|
||||
{
|
||||
InitEffectExecuteData(effIndex);
|
||||
m_effectExecuteData[effIndex]->append(target->GetPackGUID());
|
||||
*m_effectExecuteData[effIndex] << uint32(powerTaken);
|
||||
*m_effectExecuteData[effIndex] << uint32(powerType);
|
||||
*m_effectExecuteData[effIndex] << uint32(PowerType);
|
||||
*m_effectExecuteData[effIndex] << float(gainMultiplier);
|
||||
}
|
||||
|
||||
@@ -4794,11 +4794,11 @@ void Spell::TakePower()
|
||||
if (m_caster->ToPlayer()->GetCommandStatus(CHEAT_POWER))
|
||||
return;
|
||||
|
||||
Powers powerType = Powers(m_spellInfo->PowerType);
|
||||
Powers PowerType = Powers(m_spellInfo->PowerType);
|
||||
bool hit = true;
|
||||
if (m_caster->GetTypeId() == TYPEID_PLAYER)
|
||||
{
|
||||
if (powerType == POWER_RAGE || powerType == POWER_ENERGY || powerType == POWER_RUNE || powerType == POWER_RUNIC_POWER)
|
||||
if (PowerType == POWER_RAGE || PowerType == POWER_ENERGY || PowerType == POWER_RUNE || PowerType == POWER_RUNIC_POWER)
|
||||
if (uint64 targetGUID = m_targets.GetUnitTargetGUID())
|
||||
for (std::list<TargetInfo>::iterator ihit = m_UniqueTargetInfo.begin(); ihit != m_UniqueTargetInfo.end(); ++ihit)
|
||||
if (ihit->targetGUID == targetGUID)
|
||||
@@ -4814,7 +4814,7 @@ void Spell::TakePower()
|
||||
}
|
||||
}
|
||||
|
||||
if (powerType == POWER_RUNE)
|
||||
if (PowerType == POWER_RUNE)
|
||||
{
|
||||
TakeRunePower(hit);
|
||||
return;
|
||||
@@ -4824,25 +4824,25 @@ void Spell::TakePower()
|
||||
return;
|
||||
|
||||
// health as power used
|
||||
if (powerType == POWER_HEALTH)
|
||||
if (PowerType == POWER_HEALTH)
|
||||
{
|
||||
m_caster->ModifyHealth(-(int32)m_powerCost);
|
||||
return;
|
||||
}
|
||||
|
||||
if (powerType >= MAX_POWERS)
|
||||
if (PowerType >= MAX_POWERS)
|
||||
{
|
||||
sLog->outError("Spell::TakePower: Unknown power type '%d'", powerType);
|
||||
sLog->outError("Spell::TakePower: Unknown power type '%d'", PowerType);
|
||||
return;
|
||||
}
|
||||
|
||||
if (hit)
|
||||
m_caster->ModifyPower(powerType, -m_powerCost);
|
||||
m_caster->ModifyPower(PowerType, -m_powerCost);
|
||||
else
|
||||
m_caster->ModifyPower(powerType, -irand(0, m_powerCost / 4));
|
||||
m_caster->ModifyPower(PowerType, -irand(0, m_powerCost / 4));
|
||||
|
||||
// Set the five second timer
|
||||
if (powerType == POWER_MANA && m_powerCost > 0)
|
||||
if (PowerType == POWER_MANA && m_powerCost > 0)
|
||||
m_caster->SetLastManaUse(World::GetGameTimeMS());
|
||||
}
|
||||
|
||||
@@ -4875,9 +4875,9 @@ void Spell::TakeAmmo()
|
||||
}
|
||||
}
|
||||
|
||||
SpellCastResult Spell::CheckRuneCost(uint32 runeCostID)
|
||||
SpellCastResult Spell::CheckRuneCost(uint32 RuneCostID)
|
||||
{
|
||||
if (m_spellInfo->PowerType != POWER_RUNE || !runeCostID)
|
||||
if (m_spellInfo->PowerType != POWER_RUNE || !RuneCostID)
|
||||
return SPELL_CAST_OK;
|
||||
|
||||
if (m_caster->GetTypeId() != TYPEID_PLAYER)
|
||||
@@ -4888,7 +4888,7 @@ SpellCastResult Spell::CheckRuneCost(uint32 runeCostID)
|
||||
if (player->getClass() != CLASS_DEATH_KNIGHT)
|
||||
return SPELL_CAST_OK;
|
||||
|
||||
SpellRuneCostEntry const* src = sSpellRuneCostStore.LookupEntry(runeCostID);
|
||||
SpellRuneCostEntry const* src = sSpellRuneCostStore.LookupEntry(RuneCostID);
|
||||
|
||||
if (!src)
|
||||
return SPELL_CAST_OK;
|
||||
@@ -5234,7 +5234,7 @@ SpellCastResult Spell::CheckCast(bool strict)
|
||||
if (m_spellInfo->CasterAuraStateNot && m_caster->HasAuraState(AuraStateType(m_spellInfo->CasterAuraStateNot), m_spellInfo, m_caster))
|
||||
return SPELL_FAILED_CASTER_AURASTATE;
|
||||
|
||||
// Note: spell 62473 requres casterAuraSpell = triggering spell
|
||||
// Note: spell 62473 requres CasterAuraSpell = triggering spell
|
||||
if (m_spellInfo->CasterAuraSpell && !m_caster->HasAura(sSpellMgr->GetSpellIdForDifficulty(m_spellInfo->CasterAuraSpell, m_caster)))
|
||||
return SPELL_FAILED_CASTER_AURASTATE;
|
||||
if (m_spellInfo->ExcludeCasterAuraSpell && m_caster->HasAura(sSpellMgr->GetSpellIdForDifficulty(m_spellInfo->ExcludeCasterAuraSpell, m_caster)))
|
||||
@@ -6034,7 +6034,7 @@ SpellCastResult Spell::CheckCast(bool strict)
|
||||
}
|
||||
case SPELL_AURA_MOUNTED:
|
||||
{
|
||||
// Xinef: disallow casting in water for mounts not increasing water movement speed
|
||||
// Xinef: disallow casting in water for mounts not increasing water movement Speed
|
||||
if (m_caster->IsInWater() && !m_spellInfo->HasAura(SPELL_AURA_MOD_INCREASE_SWIM_SPEED))
|
||||
return SPELL_FAILED_ONLY_ABOVEWATER;
|
||||
|
||||
@@ -6486,8 +6486,8 @@ SpellCastResult Spell::CheckPower()
|
||||
}
|
||||
|
||||
// Check power amount
|
||||
Powers powerType = Powers(m_spellInfo->PowerType);
|
||||
if (int32(m_caster->GetPower(powerType)) < m_powerCost)
|
||||
Powers PowerType = Powers(m_spellInfo->PowerType);
|
||||
if (int32(m_caster->GetPower(PowerType)) < m_powerCost)
|
||||
return SPELL_FAILED_NO_POWER;
|
||||
else
|
||||
return SPELL_CAST_OK;
|
||||
|
||||
@@ -427,7 +427,7 @@ public:
|
||||
SpellCastResult CheckSpellFocus();
|
||||
SpellCastResult CheckRange(bool strict);
|
||||
SpellCastResult CheckPower();
|
||||
SpellCastResult CheckRuneCost(uint32 runeCostID);
|
||||
SpellCastResult CheckRuneCost(uint32 RuneCostID);
|
||||
SpellCastResult CheckCasterAuras(bool preventionOnly) const;
|
||||
|
||||
int32 CalculateSpellDamage(uint8 i, Unit const* target) const { return m_caster->CalculateSpellDamage(target, m_spellInfo, i, &m_spellValue->EffectBasePoints[i]); }
|
||||
@@ -455,7 +455,7 @@ public:
|
||||
void SendSpellGo();
|
||||
void SendSpellCooldown();
|
||||
void SendLogExecute();
|
||||
void ExecuteLogEffectTakeTargetPower(uint8 effIndex, Unit* target, uint32 powerType, uint32 powerTaken, float gainMultiplier);
|
||||
void ExecuteLogEffectTakeTargetPower(uint8 effIndex, Unit* target, uint32 PowerType, uint32 powerTaken, float gainMultiplier);
|
||||
void ExecuteLogEffectExtraAttacks(uint8 effIndex, Unit* victim, uint32 attCount);
|
||||
void ExecuteLogEffectInterruptCast(uint8 effIndex, Unit* victim, uint32 spellId);
|
||||
void ExecuteLogEffectDurabilityDamage(uint8 effIndex, Unit* victim, int32 itemId, int32 slot);
|
||||
|
||||
@@ -1368,9 +1368,9 @@ void Spell::EffectPowerDrain(SpellEffIndex effIndex)
|
||||
if (m_spellInfo->Effects[effIndex].MiscValue < 0 || m_spellInfo->Effects[effIndex].MiscValue >= int8(MAX_POWERS))
|
||||
return;
|
||||
|
||||
Powers powerType = Powers(m_spellInfo->Effects[effIndex].MiscValue);
|
||||
Powers PowerType = Powers(m_spellInfo->Effects[effIndex].MiscValue);
|
||||
|
||||
if (!unitTarget || !unitTarget->IsAlive() || unitTarget->getPowerType() != powerType || damage < 0)
|
||||
if (!unitTarget || !unitTarget->IsAlive() || unitTarget->getPowerType() != PowerType || damage < 0)
|
||||
return;
|
||||
|
||||
// add spell damage bonus
|
||||
@@ -1379,10 +1379,10 @@ void Spell::EffectPowerDrain(SpellEffIndex effIndex)
|
||||
|
||||
// resilience reduce mana draining effect at spell crit damage reduction (added in 2.4)
|
||||
int32 power = damage;
|
||||
if (powerType == POWER_MANA)
|
||||
if (PowerType == POWER_MANA)
|
||||
power -= unitTarget->GetSpellCritDamageReduction(power);
|
||||
|
||||
int32 newDamage = -(unitTarget->ModifyPower(powerType, -int32(power)));
|
||||
int32 newDamage = -(unitTarget->ModifyPower(PowerType, -int32(power)));
|
||||
|
||||
float gainMultiplier = 0.0f;
|
||||
|
||||
@@ -1393,9 +1393,9 @@ void Spell::EffectPowerDrain(SpellEffIndex effIndex)
|
||||
|
||||
int32 gain = int32(newDamage * gainMultiplier);
|
||||
|
||||
m_caster->EnergizeBySpell(m_caster, m_spellInfo->Id, gain, powerType);
|
||||
m_caster->EnergizeBySpell(m_caster, m_spellInfo->Id, gain, PowerType);
|
||||
}
|
||||
ExecuteLogEffectTakeTargetPower(effIndex, unitTarget, powerType, newDamage, gainMultiplier);
|
||||
ExecuteLogEffectTakeTargetPower(effIndex, unitTarget, PowerType, newDamage, gainMultiplier);
|
||||
}
|
||||
|
||||
void Spell::EffectSendEvent(SpellEffIndex effIndex)
|
||||
@@ -1449,16 +1449,16 @@ void Spell::EffectPowerBurn(SpellEffIndex effIndex)
|
||||
if (m_spellInfo->Effects[effIndex].MiscValue < 0 || m_spellInfo->Effects[effIndex].MiscValue >= int8(MAX_POWERS))
|
||||
return;
|
||||
|
||||
Powers powerType = Powers(m_spellInfo->Effects[effIndex].MiscValue);
|
||||
Powers PowerType = Powers(m_spellInfo->Effects[effIndex].MiscValue);
|
||||
|
||||
if (!unitTarget || !unitTarget->IsAlive() || unitTarget->getPowerType() != powerType || damage < 0)
|
||||
if (!unitTarget || !unitTarget->IsAlive() || unitTarget->getPowerType() != PowerType || damage < 0)
|
||||
return;
|
||||
|
||||
// burn x% of target's mana, up to maximum of 2x% of caster's mana (Mana Burn)
|
||||
if (m_spellInfo->Id == 8129)
|
||||
{
|
||||
int32 maxDamage = int32(CalculatePct(m_caster->GetMaxPower(powerType), damage * 2));
|
||||
damage = int32(CalculatePct(unitTarget->GetMaxPower(powerType), damage));
|
||||
int32 maxDamage = int32(CalculatePct(m_caster->GetMaxPower(PowerType), damage * 2));
|
||||
damage = int32(CalculatePct(unitTarget->GetMaxPower(PowerType), damage));
|
||||
damage = std::min(damage, maxDamage);
|
||||
|
||||
// Remove fear
|
||||
@@ -1467,16 +1467,16 @@ void Spell::EffectPowerBurn(SpellEffIndex effIndex)
|
||||
|
||||
int32 power = damage;
|
||||
// resilience reduce mana draining effect at spell crit damage reduction (added in 2.4)
|
||||
if (powerType == POWER_MANA)
|
||||
if (PowerType == POWER_MANA)
|
||||
power -= unitTarget->GetSpellCritDamageReduction(power);
|
||||
|
||||
int32 newDamage = -(unitTarget->ModifyPower(powerType, -power));
|
||||
int32 newDamage = -(unitTarget->ModifyPower(PowerType, -power));
|
||||
|
||||
// NO - Not a typo - EffectPowerBurn uses effect value multiplier - not effect damage multiplier
|
||||
float dmgMultiplier = m_spellInfo->Effects[effIndex].CalcValueMultiplier(m_originalCaster, this);
|
||||
|
||||
// add log data before multiplication (need power amount, not damage)
|
||||
ExecuteLogEffectTakeTargetPower(effIndex, unitTarget, powerType, newDamage, 0.0f);
|
||||
ExecuteLogEffectTakeTargetPower(effIndex, unitTarget, PowerType, newDamage, 0.0f);
|
||||
|
||||
newDamage = int32(newDamage * dmgMultiplier);
|
||||
|
||||
|
||||
@@ -781,10 +781,10 @@ SpellInfo::SpellInfo(SpellEntry const* spellEntry)
|
||||
TargetAuraState = spellEntry->TargetAuraState;
|
||||
CasterAuraStateNot = spellEntry->CasterAuraStateNot;
|
||||
TargetAuraStateNot = spellEntry->TargetAuraStateNot;
|
||||
CasterAuraSpell = spellEntry->casterAuraSpell;
|
||||
TargetAuraSpell = spellEntry->targetAuraSpell;
|
||||
ExcludeCasterAuraSpell = spellEntry->excludeCasterAuraSpell;
|
||||
ExcludeTargetAuraSpell = spellEntry->excludeTargetAuraSpell;
|
||||
CasterAuraSpell = spellEntry->CasterAuraSpell;
|
||||
TargetAuraSpell = spellEntry->TargetAuraSpell;
|
||||
ExcludeCasterAuraSpell = spellEntry->ExcludeCasterAuraSpell;
|
||||
ExcludeTargetAuraSpell = spellEntry->ExcludeTargetAuraSpell;
|
||||
CastTimeEntry = spellEntry->CastingTimeIndex ? sSpellCastTimesStore.LookupEntry(spellEntry->CastingTimeIndex) : nullptr;
|
||||
RecoveryTime = spellEntry->RecoveryTime;
|
||||
CategoryRecoveryTime = spellEntry->CategoryRecoveryTime;
|
||||
@@ -793,22 +793,22 @@ SpellInfo::SpellInfo(SpellEntry const* spellEntry)
|
||||
InterruptFlags = spellEntry->InterruptFlags;
|
||||
AuraInterruptFlags = spellEntry->AuraInterruptFlags;
|
||||
ChannelInterruptFlags = spellEntry->ChannelInterruptFlags;
|
||||
ProcFlags = spellEntry->procFlags;
|
||||
ProcChance = spellEntry->procChance;
|
||||
ProcCharges = spellEntry->procCharges;
|
||||
MaxLevel = spellEntry->maxLevel;
|
||||
BaseLevel = spellEntry->baseLevel;
|
||||
SpellLevel = spellEntry->spellLevel;
|
||||
ProcFlags = spellEntry->ProcFlags;
|
||||
ProcChance = spellEntry->ProcChance;
|
||||
ProcCharges = spellEntry->ProcCharges;
|
||||
MaxLevel = spellEntry->MaxLevel;
|
||||
BaseLevel = spellEntry->BaseLevel;
|
||||
SpellLevel = spellEntry->SpellLevel;
|
||||
DurationEntry = spellEntry->DurationIndex ? sSpellDurationStore.LookupEntry(spellEntry->DurationIndex) : nullptr;
|
||||
PowerType = spellEntry->powerType;
|
||||
ManaCost = spellEntry->manaCost;
|
||||
ManaCostPerlevel = spellEntry->manaCostPerlevel;
|
||||
ManaPerSecond = spellEntry->manaPerSecond;
|
||||
ManaPerSecondPerLevel = spellEntry->manaPerSecondPerLevel;
|
||||
PowerType = spellEntry->PowerType;
|
||||
ManaCost = spellEntry->ManaCost;
|
||||
ManaCostPerlevel = spellEntry->ManaCostPerlevel;
|
||||
ManaPerSecond = spellEntry->ManaPerSecond;
|
||||
ManaPerSecondPerLevel = spellEntry->ManaPerSecondPerLevel;
|
||||
ManaCostPercentage = spellEntry->ManaCostPercentage;
|
||||
RuneCostID = spellEntry->runeCostID;
|
||||
RangeEntry = spellEntry->rangeIndex ? sSpellRangeStore.LookupEntry(spellEntry->rangeIndex) : nullptr;
|
||||
Speed = spellEntry->speed;
|
||||
RuneCostID = spellEntry->RuneCostID;
|
||||
RangeEntry = spellEntry->RangeIndex ? sSpellRangeStore.LookupEntry(spellEntry->RangeIndex) : nullptr;
|
||||
Speed = spellEntry->Speed;
|
||||
StackAmount = spellEntry->StackAmount;
|
||||
for (uint8 i = 0; i < 2; ++i)
|
||||
Totem[i] = spellEntry->Totem[i];
|
||||
@@ -824,7 +824,7 @@ SpellInfo::SpellInfo(SpellEntry const* spellEntry)
|
||||
for (uint8 i = 0; i < 2; ++i)
|
||||
SpellVisual[i] = spellEntry->SpellVisual[i];
|
||||
SpellIconID = spellEntry->SpellIconID;
|
||||
ActiveIconID = spellEntry->activeIconID;
|
||||
ActiveIconID = spellEntry->ActiveIconID;
|
||||
for (uint8 i = 0; i < 16; ++i)
|
||||
SpellName[i] = spellEntry->SpellName[i];
|
||||
for (uint8 i = 0; i < 16; ++i)
|
||||
|
||||
@@ -3330,16 +3330,16 @@ void SpellMgr::LoadDbcDataCorrections()
|
||||
// Elixir of Minor Fortitude
|
||||
ApplySpellFix({ 2378 }, [](SpellEntry* spellInfo)
|
||||
{
|
||||
spellInfo->manaCost = 0;
|
||||
spellInfo->manaPerSecond = 0;
|
||||
spellInfo->ManaCost = 0;
|
||||
spellInfo->ManaPerSecond = 0;
|
||||
});
|
||||
|
||||
// Elixir of Detect Undead
|
||||
ApplySpellFix({ 11389 }, [](SpellEntry* spellInfo)
|
||||
{
|
||||
spellInfo->powerType = POWER_MANA;
|
||||
spellInfo->manaCost = 0;
|
||||
spellInfo->manaPerSecond = 0;
|
||||
spellInfo->PowerType = POWER_MANA;
|
||||
spellInfo->ManaCost = 0;
|
||||
spellInfo->ManaPerSecond = 0;
|
||||
});
|
||||
|
||||
// Evergrove Druid Transform Crow
|
||||
@@ -3417,7 +3417,7 @@ void SpellMgr::LoadDbcDataCorrections()
|
||||
42821 // Headless Horseman - Wisp Flight Missile
|
||||
}, [](SpellEntry* spellInfo)
|
||||
{
|
||||
spellInfo->rangeIndex = 6; // 100 yards
|
||||
spellInfo->RangeIndex = 6; // 100 yards
|
||||
});
|
||||
|
||||
//They Must Burn Bomb Aura (self)
|
||||
@@ -3429,7 +3429,7 @@ void SpellMgr::LoadDbcDataCorrections()
|
||||
// Mana Shield (rank 2)
|
||||
ApplySpellFix({ 8494 }, [](SpellEntry* spellInfo)
|
||||
{
|
||||
spellInfo->procChance = 0; // because of bug in dbc
|
||||
spellInfo->ProcChance = 0; // because of bug in dbc
|
||||
});
|
||||
|
||||
ApplySpellFix({
|
||||
@@ -3521,13 +3521,13 @@ void SpellMgr::LoadDbcDataCorrections()
|
||||
18820 // Insight
|
||||
}, [](SpellEntry* spellInfo)
|
||||
{
|
||||
spellInfo->procCharges = 1;
|
||||
spellInfo->ProcCharges = 1;
|
||||
});
|
||||
|
||||
// Tidal Wave
|
||||
ApplySpellFix({ 53390 }, [](SpellEntry* spellInfo)
|
||||
{
|
||||
spellInfo->procCharges = 2;
|
||||
spellInfo->ProcCharges = 2;
|
||||
});
|
||||
|
||||
// Oscillation Field
|
||||
@@ -3539,7 +3539,7 @@ void SpellMgr::LoadDbcDataCorrections()
|
||||
// Ascendance (Talisman of Ascendance trinket)
|
||||
ApplySpellFix({ 28200 }, [](SpellEntry* spellInfo)
|
||||
{
|
||||
spellInfo->procCharges = 6;
|
||||
spellInfo->ProcCharges = 6;
|
||||
});
|
||||
|
||||
// The Eye of Acherus (no spawn in phase 2 in db)
|
||||
@@ -3633,7 +3633,7 @@ void SpellMgr::LoadDbcDataCorrections()
|
||||
27937 // Anchor to Skulls
|
||||
}, [](SpellEntry* spellInfo)
|
||||
{
|
||||
spellInfo->rangeIndex = 13;
|
||||
spellInfo->RangeIndex = 13;
|
||||
});
|
||||
|
||||
// Wrath of the Plaguebringer
|
||||
@@ -3810,8 +3810,8 @@ void SpellMgr::LoadDbcDataCorrections()
|
||||
// Seal of Light trigger
|
||||
ApplySpellFix({ 20167 }, [](SpellEntry* spellInfo)
|
||||
{
|
||||
spellInfo->spellLevel = 0;
|
||||
spellInfo->baseLevel = 0;
|
||||
spellInfo->SpellLevel = 0;
|
||||
spellInfo->BaseLevel = 0;
|
||||
spellInfo->DmgClass = SPELL_DAMAGE_CLASS_MAGIC;
|
||||
});
|
||||
|
||||
@@ -3917,7 +3917,7 @@ void SpellMgr::LoadDbcDataCorrections()
|
||||
// Silencing Shot
|
||||
ApplySpellFix({ 34490, 41084, 42671 }, [](SpellEntry* spellInfo)
|
||||
{
|
||||
spellInfo->speed = 0.0f;
|
||||
spellInfo->Speed = 0.0f;
|
||||
});
|
||||
|
||||
// Monstrous Bite
|
||||
@@ -3936,14 +3936,14 @@ void SpellMgr::LoadDbcDataCorrections()
|
||||
// Cobra Strikes
|
||||
ApplySpellFix({ 53257 }, [](SpellEntry* spellInfo)
|
||||
{
|
||||
spellInfo->procCharges = 2;
|
||||
spellInfo->ProcCharges = 2;
|
||||
spellInfo->StackAmount = 0;
|
||||
});
|
||||
|
||||
// Kill Command
|
||||
ApplySpellFix({ 34027 }, [](SpellEntry* spellInfo)
|
||||
{
|
||||
spellInfo->procCharges = 0;
|
||||
spellInfo->ProcCharges = 0;
|
||||
});
|
||||
|
||||
// Kindred Spirits, damage aura
|
||||
@@ -4025,7 +4025,7 @@ void SpellMgr::LoadDbcDataCorrections()
|
||||
// Killing Spree (teleport)
|
||||
ApplySpellFix({ 57840 }, [](SpellEntry* spellInfo)
|
||||
{
|
||||
spellInfo->rangeIndex = 6; // 100 yards
|
||||
spellInfo->RangeIndex = 6; // 100 yards
|
||||
});
|
||||
|
||||
// Killing Spree
|
||||
@@ -4039,7 +4039,7 @@ void SpellMgr::LoadDbcDataCorrections()
|
||||
{
|
||||
spellInfo->Effect[2] = 0;
|
||||
spellInfo->Effect[1] = 0;
|
||||
spellInfo->runeCostID = 442;
|
||||
spellInfo->RuneCostID = 442;
|
||||
});
|
||||
|
||||
// Chains of Ice
|
||||
@@ -4066,7 +4066,7 @@ void SpellMgr::LoadDbcDataCorrections()
|
||||
// Magic Suppression
|
||||
ApplySpellFix({ 49224, 49610, 49611 }, [](SpellEntry* spellInfo)
|
||||
{
|
||||
spellInfo->procCharges = 0;
|
||||
spellInfo->ProcCharges = 0;
|
||||
});
|
||||
|
||||
// Wandering Plague
|
||||
@@ -4080,7 +4080,7 @@ void SpellMgr::LoadDbcDataCorrections()
|
||||
ApplySpellFix({ 49028 }, [](SpellEntry* spellInfo)
|
||||
{
|
||||
spellInfo->Effect[2] = 0;
|
||||
spellInfo->procFlags |= PROC_FLAG_DONE_MELEE_AUTO_ATTACK;
|
||||
spellInfo->ProcFlags |= PROC_FLAG_DONE_MELEE_AUTO_ATTACK;
|
||||
});
|
||||
|
||||
// Death and Decay
|
||||
@@ -4182,22 +4182,22 @@ void SpellMgr::LoadDbcDataCorrections()
|
||||
ApplySpellFix({ 55166, 55198 }, [](SpellEntry* spellInfo)
|
||||
{
|
||||
spellInfo->DurationIndex = 18;
|
||||
spellInfo->procCharges = 0;
|
||||
spellInfo->ProcCharges = 0;
|
||||
});
|
||||
|
||||
// Healing Stream Totem
|
||||
ApplySpellFix({ 52042 }, [](SpellEntry* spellInfo)
|
||||
{
|
||||
spellInfo->spellLevel = 0;
|
||||
spellInfo->baseLevel = 0;
|
||||
spellInfo->SpellLevel = 0;
|
||||
spellInfo->BaseLevel = 0;
|
||||
spellInfo->DmgClass = SPELL_DAMAGE_CLASS_MAGIC;
|
||||
});
|
||||
|
||||
// Earth Shield
|
||||
ApplySpellFix({ 379 }, [](SpellEntry* spellInfo)
|
||||
{
|
||||
spellInfo->spellLevel = 0;
|
||||
spellInfo->baseLevel = 0;
|
||||
spellInfo->SpellLevel = 0;
|
||||
spellInfo->BaseLevel = 0;
|
||||
spellInfo->DmgClass = SPELL_DAMAGE_CLASS_MAGIC;
|
||||
spellInfo->AttributesEx3 |= SPELL_ATTR3_NO_DONE_BONUS;
|
||||
});
|
||||
@@ -4246,14 +4246,14 @@ void SpellMgr::LoadDbcDataCorrections()
|
||||
// Heroism
|
||||
ApplySpellFix({ 32182 }, [](SpellEntry* spellInfo)
|
||||
{
|
||||
spellInfo->excludeTargetAuraSpell = 57723; // Exhaustion
|
||||
spellInfo->ExcludeTargetAuraSpell = 57723; // Exhaustion
|
||||
spellInfo->AttributesEx2 |= SPELL_ATTR2_CAN_TARGET_NOT_IN_LOS;
|
||||
});
|
||||
|
||||
// Bloodlust
|
||||
ApplySpellFix({ 2825 }, [](SpellEntry* spellInfo)
|
||||
{
|
||||
spellInfo->excludeTargetAuraSpell = 57724; // Sated
|
||||
spellInfo->ExcludeTargetAuraSpell = 57724; // Sated
|
||||
spellInfo->AttributesEx2 |= SPELL_ATTR2_CAN_TARGET_NOT_IN_LOS;
|
||||
});
|
||||
|
||||
@@ -4318,7 +4318,7 @@ void SpellMgr::LoadDbcDataCorrections()
|
||||
// Rain of Fire (Doomguard)
|
||||
ApplySpellFix({ 42227 }, [](SpellEntry* spellInfo)
|
||||
{
|
||||
spellInfo->speed = 0.0f;
|
||||
spellInfo->Speed = 0.0f;
|
||||
});
|
||||
|
||||
// Ritual Enslavement
|
||||
@@ -4336,7 +4336,7 @@ void SpellMgr::LoadDbcDataCorrections()
|
||||
// Magic Absorption
|
||||
ApplySpellFix({ 29441, 29444 }, [](SpellEntry* spellInfo)
|
||||
{
|
||||
spellInfo->spellLevel = 0;
|
||||
spellInfo->SpellLevel = 0;
|
||||
});
|
||||
|
||||
// Living Bomb
|
||||
@@ -4421,7 +4421,7 @@ void SpellMgr::LoadDbcDataCorrections()
|
||||
// Fingers of Frost visual buff
|
||||
ApplySpellFix({ 74396 }, [](SpellEntry* spellInfo)
|
||||
{
|
||||
spellInfo->procCharges = 2;
|
||||
spellInfo->ProcCharges = 2;
|
||||
spellInfo->StackAmount = 0;
|
||||
});
|
||||
|
||||
@@ -4441,7 +4441,7 @@ void SpellMgr::LoadDbcDataCorrections()
|
||||
ApplySpellFix({ 59653 }, [](SpellEntry* spellInfo)
|
||||
{
|
||||
spellInfo->DmgClass = SPELL_DAMAGE_CLASS_MAGIC;
|
||||
spellInfo->spellLevel = 0;
|
||||
spellInfo->SpellLevel = 0;
|
||||
});
|
||||
|
||||
ApplySpellFix({
|
||||
@@ -4505,7 +4505,7 @@ void SpellMgr::LoadDbcDataCorrections()
|
||||
ApplySpellFix({ 64844 }, [](SpellEntry* spellInfo)
|
||||
{
|
||||
spellInfo->DmgClass = SPELL_DAMAGE_CLASS_MAGIC;
|
||||
spellInfo->spellLevel = 0;
|
||||
spellInfo->SpellLevel = 0;
|
||||
});
|
||||
|
||||
ApplySpellFix({
|
||||
@@ -4542,7 +4542,7 @@ void SpellMgr::LoadDbcDataCorrections()
|
||||
ApplySpellFix({ 33778 }, [](SpellEntry* spellInfo)
|
||||
{
|
||||
spellInfo->DmgClass = SPELL_DAMAGE_CLASS_MAGIC;
|
||||
spellInfo->spellLevel = 0;
|
||||
spellInfo->SpellLevel = 0;
|
||||
spellInfo->SpellFamilyFlags = flag96(0, 0x10, 0);
|
||||
});
|
||||
|
||||
@@ -4649,7 +4649,7 @@ void SpellMgr::LoadDbcDataCorrections()
|
||||
ApplySpellFix({ 66551 }, [](SpellEntry* spellInfo)
|
||||
{
|
||||
// Teleport in, missing range
|
||||
spellInfo->rangeIndex = 13; // 50000yd
|
||||
spellInfo->RangeIndex = 13; // 50000yd
|
||||
});
|
||||
|
||||
// A'dal's Song of Battle
|
||||
@@ -4698,7 +4698,7 @@ void SpellMgr::LoadDbcDataCorrections()
|
||||
// WintergraspCatapult - Spell Plague Barrell - Range
|
||||
ApplySpellFix({ 57606 }, [](SpellEntry* spellInfo)
|
||||
{
|
||||
spellInfo->rangeIndex = 164; // "Catapult Range"
|
||||
spellInfo->RangeIndex = 164; // "Catapult Range"
|
||||
});
|
||||
|
||||
// Boulder (Demolisher)
|
||||
@@ -4785,7 +4785,7 @@ void SpellMgr::LoadDbcDataCorrections()
|
||||
// Crystal Channel
|
||||
ApplySpellFix({ 34156 }, [](SpellEntry* spellInfo)
|
||||
{
|
||||
spellInfo->rangeIndex = 35; // 35yd;
|
||||
spellInfo->RangeIndex = 35; // 35yd;
|
||||
spellInfo->ChannelInterruptFlags |= AURA_INTERRUPT_FLAG_MOVE;
|
||||
});
|
||||
|
||||
@@ -4810,7 +4810,7 @@ void SpellMgr::LoadDbcDataCorrections()
|
||||
// Activate Sunblade Protecto
|
||||
ApplySpellFix({ 46475, 46476 }, [](SpellEntry* spellInfo)
|
||||
{
|
||||
spellInfo->rangeIndex = 14; // 60yd
|
||||
spellInfo->RangeIndex = 14; // 60yd
|
||||
});
|
||||
|
||||
// Break Ice
|
||||
@@ -4822,13 +4822,13 @@ void SpellMgr::LoadDbcDataCorrections()
|
||||
// Sinister Reflection Clone
|
||||
ApplySpellFix({ 45785 }, [](SpellEntry* spellInfo)
|
||||
{
|
||||
spellInfo->speed = 0.0f;
|
||||
spellInfo->Speed = 0.0f;
|
||||
});
|
||||
|
||||
// Armageddon
|
||||
ApplySpellFix({ 45909 }, [](SpellEntry* spellInfo)
|
||||
{
|
||||
spellInfo->speed = 8.0f;
|
||||
spellInfo->Speed = 8.0f;
|
||||
});
|
||||
|
||||
// Spell Absorption
|
||||
@@ -4864,7 +4864,7 @@ void SpellMgr::LoadDbcDataCorrections()
|
||||
// Teleport Maiev
|
||||
ApplySpellFix({ 41221 }, [](SpellEntry* spellInfo)
|
||||
{
|
||||
spellInfo->rangeIndex = 13; // 0-50000yd
|
||||
spellInfo->RangeIndex = 13; // 0-50000yd
|
||||
});
|
||||
|
||||
// Watery Grave Explosion
|
||||
@@ -4970,7 +4970,7 @@ void SpellMgr::LoadDbcDataCorrections()
|
||||
// Charged Chaotic rift aura, trigger
|
||||
ApplySpellFix({ 47737 }, [](SpellEntry* spellInfo)
|
||||
{
|
||||
spellInfo->rangeIndex = 37; // 50yd
|
||||
spellInfo->RangeIndex = 37; // 50yd
|
||||
});
|
||||
|
||||
// Vanish
|
||||
@@ -5004,7 +5004,7 @@ void SpellMgr::LoadDbcDataCorrections()
|
||||
// Skarvald, Charge
|
||||
ApplySpellFix({ 43651 }, [](SpellEntry* spellInfo)
|
||||
{
|
||||
spellInfo->rangeIndex = 13; // 0-50000yd
|
||||
spellInfo->RangeIndex = 13; // 0-50000yd
|
||||
});
|
||||
|
||||
// Ingvar the Plunderer, Woe Strike
|
||||
@@ -5091,7 +5091,7 @@ void SpellMgr::LoadDbcDataCorrections()
|
||||
// Pyrobuffet
|
||||
ApplySpellFix({ 57557 }, [](SpellEntry* spellInfo)
|
||||
{
|
||||
spellInfo->excludeTargetAuraSpell = 56911;
|
||||
spellInfo->ExcludeTargetAuraSpell = 56911;
|
||||
});
|
||||
|
||||
// Arcane Barrage
|
||||
@@ -5119,7 +5119,7 @@ void SpellMgr::LoadDbcDataCorrections()
|
||||
spellInfo->AttributesEx3 |= SPELL_ATTR3_IGNORE_HIT_RESULT;
|
||||
});
|
||||
|
||||
// Haste (Nexus Lord, increase run speed of the disk)
|
||||
// Haste (Nexus Lord, increase run Speed of the disk)
|
||||
ApplySpellFix({ 57060 }, [](SpellEntry* spellInfo)
|
||||
{
|
||||
spellInfo->EffectImplicitTargetA[2] = TARGET_UNIT_VEHICLE;
|
||||
@@ -5190,7 +5190,7 @@ void SpellMgr::LoadDbcDataCorrections()
|
||||
spellInfo->EffectImplicitTargetB[1] = TARGET_UNIT_SRC_AREA_ALLY;
|
||||
spellInfo->EffectPointsPerComboPoint[1] = 2500;
|
||||
spellInfo->EffectBasePoints[1] = 2499;
|
||||
spellInfo->rangeIndex = 1;
|
||||
spellInfo->RangeIndex = 1;
|
||||
spellInfo->AttributesEx2 |= SPELL_ATTR2_CAN_TARGET_NOT_IN_LOS;
|
||||
});
|
||||
|
||||
@@ -5322,7 +5322,7 @@ void SpellMgr::LoadDbcDataCorrections()
|
||||
// Lightning Pillar
|
||||
ApplySpellFix({ 62976 }, [](SpellEntry* spellInfo)
|
||||
{
|
||||
spellInfo->rangeIndex = 6;
|
||||
spellInfo->RangeIndex = 6;
|
||||
spellInfo->DurationIndex = 28;
|
||||
});
|
||||
|
||||
@@ -5368,7 +5368,7 @@ void SpellMgr::LoadDbcDataCorrections()
|
||||
{
|
||||
spellInfo->AttributesEx2 |= SPELL_ATTR2_CAN_TARGET_NOT_IN_LOS;
|
||||
spellInfo->EffectRadiusIndex[0] = 12; // 100yd
|
||||
spellInfo->rangeIndex = 13; // 50000yd
|
||||
spellInfo->RangeIndex = 13; // 50000yd
|
||||
});
|
||||
|
||||
// Constellation Phase Effect
|
||||
@@ -5408,7 +5408,7 @@ void SpellMgr::LoadDbcDataCorrections()
|
||||
{
|
||||
spellInfo->Targets |= TARGET_FLAG_DEST_LOCATION;
|
||||
spellInfo->EffectImplicitTargetA[0] = TARGET_DEST_DEST;
|
||||
spellInfo->rangeIndex = 13;
|
||||
spellInfo->RangeIndex = 13;
|
||||
spellInfo->DurationIndex = 5;
|
||||
});
|
||||
|
||||
@@ -5454,7 +5454,7 @@ void SpellMgr::LoadDbcDataCorrections()
|
||||
ApplySpellFix({ 49838 }, [](SpellEntry* spellInfo)
|
||||
{
|
||||
spellInfo->AttributesEx3 |= SPELL_ATTR3_NO_INITIAL_AGGRO;
|
||||
spellInfo->excludeTargetAuraSpell = 51162; // exclude planar shift
|
||||
spellInfo->ExcludeTargetAuraSpell = 51162; // exclude planar shift
|
||||
spellInfo->EffectRadiusIndex[EFFECT_0] = EFFECT_RADIUS_150_YARDS;
|
||||
});
|
||||
|
||||
@@ -5532,7 +5532,7 @@ void SpellMgr::LoadDbcDataCorrections()
|
||||
// Killing Spree (Off hand damage)
|
||||
ApplySpellFix({ 57842 }, [](SpellEntry* spellInfo)
|
||||
{
|
||||
spellInfo->rangeIndex = 2; // Melee Range
|
||||
spellInfo->RangeIndex = 2; // Melee Range
|
||||
});
|
||||
|
||||
// Trial of the Crusader, Jaraxxus Intro spell
|
||||
@@ -5556,7 +5556,7 @@ void SpellMgr::LoadDbcDataCorrections()
|
||||
spellInfo->EffectApplyAuraName[0] = SPELL_AURA_SET_VEHICLE_ID;
|
||||
spellInfo->EffectMiscValue[0] = 496;
|
||||
spellInfo->DurationIndex = 21;
|
||||
spellInfo->rangeIndex = 13;
|
||||
spellInfo->RangeIndex = 13;
|
||||
spellInfo->EffectImplicitTargetA[0] = 25;
|
||||
spellInfo->EffectImplicitTargetB[0] = 0;
|
||||
spellInfo->AuraInterruptFlags = AURA_INTERRUPT_FLAG_CHANGE_MAP;
|
||||
@@ -5583,7 +5583,7 @@ void SpellMgr::LoadDbcDataCorrections()
|
||||
{
|
||||
spellInfo->EffectImplicitTargetA[0] = TARGET_UNIT_TARGET_ANY;
|
||||
spellInfo->EffectImplicitTargetB[0] = 0;
|
||||
spellInfo->speed = 14.0f;
|
||||
spellInfo->Speed = 14.0f;
|
||||
spellInfo->Attributes |= SPELL_ATTR0_STOP_ATTACK_TARGET;
|
||||
spellInfo->AttributesEx |= SPELL_ATTR1_NO_THREAT;
|
||||
spellInfo->AttributesEx3 |= SPELL_ATTR3_NO_INITIAL_AGGRO;
|
||||
@@ -5604,7 +5604,7 @@ void SpellMgr::LoadDbcDataCorrections()
|
||||
// Trial of the Crusader, Jaraxxus, Curse of the Nether
|
||||
ApplySpellFix({ 66211 }, [](SpellEntry* spellInfo)
|
||||
{
|
||||
spellInfo->excludeTargetAuraSpell = 66209; // exclude Touch of Jaraxxus
|
||||
spellInfo->ExcludeTargetAuraSpell = 66209; // exclude Touch of Jaraxxus
|
||||
});
|
||||
|
||||
// Trial of the Crusader, Jaraxxus, Summon Volcano
|
||||
@@ -5696,7 +5696,7 @@ void SpellMgr::LoadDbcDataCorrections()
|
||||
65767 // light surge 0
|
||||
}, [](SpellEntry* spellInfo)
|
||||
{
|
||||
spellInfo->excludeTargetAuraSpell = 65686;
|
||||
spellInfo->ExcludeTargetAuraSpell = 65686;
|
||||
});
|
||||
|
||||
ApplySpellFix({
|
||||
@@ -5714,7 +5714,7 @@ void SpellMgr::LoadDbcDataCorrections()
|
||||
67274 // light surge 1
|
||||
}, [](SpellEntry* spellInfo)
|
||||
{
|
||||
spellInfo->excludeTargetAuraSpell = 67222;
|
||||
spellInfo->ExcludeTargetAuraSpell = 67222;
|
||||
});
|
||||
|
||||
ApplySpellFix({
|
||||
@@ -5732,7 +5732,7 @@ void SpellMgr::LoadDbcDataCorrections()
|
||||
67275 // light surge 2
|
||||
}, [](SpellEntry* spellInfo)
|
||||
{
|
||||
spellInfo->excludeTargetAuraSpell = 67223;
|
||||
spellInfo->ExcludeTargetAuraSpell = 67223;
|
||||
});
|
||||
|
||||
ApplySpellFix({
|
||||
@@ -5750,7 +5750,7 @@ void SpellMgr::LoadDbcDataCorrections()
|
||||
67276 // light surge 3
|
||||
}, [](SpellEntry* spellInfo)
|
||||
{
|
||||
spellInfo->excludeTargetAuraSpell = 67224;
|
||||
spellInfo->ExcludeTargetAuraSpell = 67224;
|
||||
});
|
||||
|
||||
ApplySpellFix({
|
||||
@@ -5768,7 +5768,7 @@ void SpellMgr::LoadDbcDataCorrections()
|
||||
65769 // dark surge 0
|
||||
}, [](SpellEntry* spellInfo)
|
||||
{
|
||||
spellInfo->excludeTargetAuraSpell = 65684;
|
||||
spellInfo->ExcludeTargetAuraSpell = 65684;
|
||||
});
|
||||
|
||||
ApplySpellFix({
|
||||
@@ -5786,7 +5786,7 @@ void SpellMgr::LoadDbcDataCorrections()
|
||||
67265 // dark surge 1
|
||||
}, [](SpellEntry* spellInfo)
|
||||
{
|
||||
spellInfo->excludeTargetAuraSpell = 67176;
|
||||
spellInfo->ExcludeTargetAuraSpell = 67176;
|
||||
});
|
||||
|
||||
ApplySpellFix({
|
||||
@@ -5804,7 +5804,7 @@ void SpellMgr::LoadDbcDataCorrections()
|
||||
67266 // dark surge 2
|
||||
}, [](SpellEntry* spellInfo)
|
||||
{
|
||||
spellInfo->excludeTargetAuraSpell = 67177;
|
||||
spellInfo->ExcludeTargetAuraSpell = 67177;
|
||||
});
|
||||
|
||||
ApplySpellFix({
|
||||
@@ -5822,7 +5822,7 @@ void SpellMgr::LoadDbcDataCorrections()
|
||||
67267 // dark surge 3
|
||||
}, [](SpellEntry* spellInfo)
|
||||
{
|
||||
spellInfo->excludeTargetAuraSpell = 67178;
|
||||
spellInfo->ExcludeTargetAuraSpell = 67178;
|
||||
});
|
||||
|
||||
// Trial of the Crusader, Twin Valkyr, Twin's Pact
|
||||
@@ -5940,7 +5940,7 @@ void SpellMgr::LoadDbcDataCorrections()
|
||||
// Frost Nova
|
||||
ApplySpellFix({ 68198 }, [](SpellEntry* spellInfo)
|
||||
{
|
||||
spellInfo->rangeIndex = 13;
|
||||
spellInfo->RangeIndex = 13;
|
||||
spellInfo->Targets |= TARGET_FLAG_DEST_LOCATION;
|
||||
});
|
||||
|
||||
@@ -5973,7 +5973,7 @@ void SpellMgr::LoadDbcDataCorrections()
|
||||
spellInfo->EffectImplicitTargetB[1] = 0;
|
||||
spellInfo->EffectImplicitTargetA[2] = TARGET_UNIT_CASTER;
|
||||
spellInfo->EffectImplicitTargetB[2] = 0;
|
||||
spellInfo->rangeIndex = 6; // 100yd
|
||||
spellInfo->RangeIndex = 6; // 100yd
|
||||
spellInfo->AttributesEx3 |= SPELL_ATTR3_IGNORE_HIT_RESULT;
|
||||
});
|
||||
|
||||
@@ -5991,8 +5991,8 @@ void SpellMgr::LoadDbcDataCorrections()
|
||||
// Overlord's Brand
|
||||
ApplySpellFix({ 69172 }, [](SpellEntry* spellInfo)
|
||||
{
|
||||
spellInfo->procFlags = DONE_HIT_PROC_FLAG_MASK & ~PROC_FLAG_DONE_PERIODIC;
|
||||
spellInfo->procChance = 100;
|
||||
spellInfo->ProcFlags = DONE_HIT_PROC_FLAG_MASK & ~PROC_FLAG_DONE_PERIODIC;
|
||||
spellInfo->ProcChance = 100;
|
||||
});
|
||||
|
||||
// Icy Blast
|
||||
@@ -6064,7 +6064,7 @@ void SpellMgr::LoadDbcDataCorrections()
|
||||
// Essence of the Captured
|
||||
ApplySpellFix({ 73035, 70719 }, [](SpellEntry* spellInfo)
|
||||
{
|
||||
spellInfo->rangeIndex = 13;
|
||||
spellInfo->RangeIndex = 13;
|
||||
});
|
||||
|
||||
// Achievement Check
|
||||
@@ -6181,7 +6181,7 @@ void SpellMgr::LoadDbcDataCorrections()
|
||||
// Death Plague (Rotting Frost Giant)
|
||||
ApplySpellFix({ 72864 }, [](SpellEntry* spellInfo)
|
||||
{
|
||||
spellInfo->excludeTargetAuraSpell = 0;
|
||||
spellInfo->ExcludeTargetAuraSpell = 0;
|
||||
});
|
||||
|
||||
// Gunship Battle, spell Below Zero
|
||||
@@ -6389,7 +6389,7 @@ void SpellMgr::LoadDbcDataCorrections()
|
||||
// Frost Bomb
|
||||
ApplySpellFix({ 69846 }, [](SpellEntry* spellInfo)
|
||||
{
|
||||
spellInfo->speed = 0.0f; // This spell's summon happens instantly
|
||||
spellInfo->Speed = 0.0f; // This spell's summon happens instantly
|
||||
});
|
||||
|
||||
// Mystic Buffet (Sindragosa)
|
||||
@@ -6460,7 +6460,7 @@ void SpellMgr::LoadDbcDataCorrections()
|
||||
// Jump
|
||||
ApplySpellFix({ 71809 }, [](SpellEntry* spellInfo)
|
||||
{
|
||||
spellInfo->rangeIndex = 5; // 40yd
|
||||
spellInfo->RangeIndex = 5; // 40yd
|
||||
spellInfo->EffectRadiusIndex[0] = EFFECT_RADIUS_10_YARDS; // 10yd
|
||||
spellInfo->EffectMiscValue[0] = 190;
|
||||
});
|
||||
@@ -6498,7 +6498,7 @@ void SpellMgr::LoadDbcDataCorrections()
|
||||
// Raging Spirit Visual
|
||||
ApplySpellFix({ 69198 }, [](SpellEntry* spellInfo)
|
||||
{
|
||||
spellInfo->rangeIndex = 13; // 50000yd
|
||||
spellInfo->RangeIndex = 13; // 50000yd
|
||||
spellInfo->AttributesEx2 |= SPELL_ATTR2_CAN_TARGET_NOT_IN_LOS;
|
||||
spellInfo->AttributesEx3 |= SPELL_ATTR3_IGNORE_HIT_RESULT;
|
||||
});
|
||||
@@ -6507,7 +6507,7 @@ void SpellMgr::LoadDbcDataCorrections()
|
||||
ApplySpellFix({ 72762 }, [](SpellEntry* spellInfo)
|
||||
{
|
||||
spellInfo->DurationIndex = 559; // 53 seconds
|
||||
spellInfo->excludeCasterAuraSpell = 0;
|
||||
spellInfo->ExcludeCasterAuraSpell = 0;
|
||||
spellInfo->Attributes |= SPELL_ATTR0_UNAFFECTED_BY_INVULNERABILITY;
|
||||
spellInfo->AttributesEx6 |= (SPELL_ATTR6_CAN_TARGET_INVISIBLE | SPELL_ATTR6_CAN_TARGET_UNTARGETABLE);
|
||||
});
|
||||
@@ -6599,7 +6599,7 @@ void SpellMgr::LoadDbcDataCorrections()
|
||||
// Leap to a Random Location
|
||||
ApplySpellFix({ 70485 }, [](SpellEntry* spellInfo)
|
||||
{
|
||||
spellInfo->rangeIndex = 6; // 100yd
|
||||
spellInfo->RangeIndex = 6; // 100yd
|
||||
spellInfo->EffectRadiusIndex[0] = EFFECT_RADIUS_10_YARDS;
|
||||
spellInfo->EffectMiscValue[0] = 100;
|
||||
});
|
||||
@@ -6684,7 +6684,7 @@ void SpellMgr::LoadDbcDataCorrections()
|
||||
// Meteor Strike
|
||||
ApplySpellFix({ 74637 }, [](SpellEntry* spellInfo)
|
||||
{
|
||||
spellInfo->speed = 0;
|
||||
spellInfo->Speed = 0;
|
||||
});
|
||||
|
||||
//Blazing Aura
|
||||
@@ -6720,7 +6720,7 @@ void SpellMgr::LoadDbcDataCorrections()
|
||||
// Rallying the Troops
|
||||
ApplySpellFix({ 47394 }, [](SpellEntry* spellInfo)
|
||||
{
|
||||
spellInfo->excludeTargetAuraSpell = 47394;
|
||||
spellInfo->ExcludeTargetAuraSpell = 47394;
|
||||
});
|
||||
|
||||
// A Tangled Skein
|
||||
@@ -7079,7 +7079,7 @@ void SpellMgr::LoadDbcDataCorrections()
|
||||
}, [](SpellEntry* spellInfo)
|
||||
{
|
||||
spellInfo->DmgClass = SPELL_DAMAGE_CLASS_MAGIC;
|
||||
spellInfo->spellLevel = 0;
|
||||
spellInfo->SpellLevel = 0;
|
||||
});
|
||||
|
||||
// Drain Life - Bryntroll
|
||||
@@ -7132,7 +7132,7 @@ void SpellMgr::LoadDbcDataCorrections()
|
||||
// Dragon Kite, Tuskarr Kite - Kite String
|
||||
ApplySpellFix({ 45192 }, [](SpellEntry* spellInfo)
|
||||
{
|
||||
spellInfo->rangeIndex = 6; // 100yd
|
||||
spellInfo->RangeIndex = 6; // 100yd
|
||||
});
|
||||
|
||||
// Frigid Frostling, Infrigidate
|
||||
@@ -7175,7 +7175,7 @@ void SpellMgr::LoadDbcDataCorrections()
|
||||
spellInfo->EffectImplicitTargetA[0] = TARGET_SRC_CASTER;
|
||||
spellInfo->EffectImplicitTargetB[0] = TARGET_UNIT_SRC_AREA_ENTRY;
|
||||
spellInfo->MaxAffectedTargets = 0;
|
||||
spellInfo->excludeCasterAuraSpell = 42299;
|
||||
spellInfo->ExcludeCasterAuraSpell = 42299;
|
||||
});
|
||||
|
||||
// Catch the Wild Wolpertinger!
|
||||
@@ -7299,9 +7299,9 @@ void SpellMgr::LoadDbcDataCorrections()
|
||||
case SPELL_EFFECT_JUMP:
|
||||
case SPELL_EFFECT_JUMP_DEST:
|
||||
case SPELL_EFFECT_LEAP_BACK:
|
||||
if (!spellInfo->speed && !spellInfo->SpellFamilyName)
|
||||
if (!spellInfo->Speed && !spellInfo->SpellFamilyName)
|
||||
{
|
||||
spellInfo->speed = SPEED_CHARGE;
|
||||
spellInfo->Speed = SPEED_CHARGE;
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -7316,16 +7316,16 @@ void SpellMgr::LoadDbcDataCorrections()
|
||||
// Xinef: Fix range for trajectories and triggered spells
|
||||
for (uint8 j = 0; j < 3; ++j)
|
||||
{
|
||||
if (spellInfo->rangeIndex == 1 && (spellInfo->EffectImplicitTargetA[j] == TARGET_DEST_TRAJ || spellInfo->EffectImplicitTargetB[j] == TARGET_DEST_TRAJ))
|
||||
if (spellInfo->RangeIndex == 1 && (spellInfo->EffectImplicitTargetA[j] == TARGET_DEST_TRAJ || spellInfo->EffectImplicitTargetB[j] == TARGET_DEST_TRAJ))
|
||||
{
|
||||
if (SpellEntry* spellInfo2 = (SpellEntry*)sSpellStore.LookupEntry(spellInfo->EffectTriggerSpell[j]))
|
||||
{
|
||||
spellInfo2->rangeIndex = 187; // 300yd
|
||||
spellInfo2->RangeIndex = 187; // 300yd
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (spellInfo->activeIconID == 2158) // flight
|
||||
if (spellInfo->ActiveIconID == 2158) // flight
|
||||
{
|
||||
spellInfo->Attributes |= SPELL_ATTR0_PASSIVE;
|
||||
}
|
||||
|
||||
@@ -1556,31 +1556,31 @@ struct SpellEntry
|
||||
uint32 TargetAuraState; // 21 m_targetAuraState
|
||||
uint32 CasterAuraStateNot; // 22 m_excludeCasterAuraState
|
||||
uint32 TargetAuraStateNot; // 23 m_excludeTargetAuraState
|
||||
uint32 casterAuraSpell; // 24 m_casterAuraSpell
|
||||
uint32 targetAuraSpell; // 25 m_targetAuraSpell
|
||||
uint32 excludeCasterAuraSpell; // 26 m_excludeCasterAuraSpell
|
||||
uint32 excludeTargetAuraSpell; // 27 m_excludeTargetAuraSpell
|
||||
uint32 CasterAuraSpell; // 24 m_casterAuraSpell
|
||||
uint32 TargetAuraSpell; // 25 m_targetAuraSpell
|
||||
uint32 ExcludeCasterAuraSpell; // 26 m_excludeCasterAuraSpell
|
||||
uint32 ExcludeTargetAuraSpell; // 27 m_excludeTargetAuraSpell
|
||||
uint32 CastingTimeIndex; // 28 m_castingTimeIndex
|
||||
uint32 RecoveryTime; // 29 m_recoveryTime
|
||||
uint32 CategoryRecoveryTime; // 30 m_categoryRecoveryTime
|
||||
uint32 InterruptFlags; // 31 m_interruptFlags
|
||||
uint32 AuraInterruptFlags; // 32 m_auraInterruptFlags
|
||||
uint32 ChannelInterruptFlags; // 33 m_channelInterruptFlags
|
||||
uint32 procFlags; // 34 m_procTypeMask
|
||||
uint32 procChance; // 35 m_procChance
|
||||
uint32 procCharges; // 36 m_procCharges
|
||||
uint32 maxLevel; // 37 m_maxLevel
|
||||
uint32 baseLevel; // 38 m_baseLevel
|
||||
uint32 spellLevel; // 39 m_spellLevel
|
||||
uint32 ProcFlags; // 34 m_procTypeMask
|
||||
uint32 ProcChance; // 35 m_procChance
|
||||
uint32 ProcCharges; // 36 m_procCharges
|
||||
uint32 MaxLevel; // 37 m_maxLevel
|
||||
uint32 BaseLevel; // 38 m_baseLevel
|
||||
uint32 SpellLevel; // 39 m_spellLevel
|
||||
uint32 DurationIndex; // 40 m_durationIndex
|
||||
uint32 powerType; // 41 m_powerType
|
||||
uint32 manaCost; // 42 m_manaCost
|
||||
uint32 manaCostPerlevel; // 43 m_manaCostPerLevel
|
||||
uint32 manaPerSecond; // 44 m_manaPerSecond
|
||||
uint32 manaPerSecondPerLevel; // 45 m_manaPerSecondPerLeve
|
||||
uint32 rangeIndex; // 46 m_rangeIndex
|
||||
float speed; // 47 m_speed
|
||||
//uint32 modalNextSpell; // 48 m_modalNextSpell not used
|
||||
uint32 PowerType; // 41 m_powerType
|
||||
uint32 ManaCost; // 42 m_manaCost
|
||||
uint32 ManaCostPerlevel; // 43 m_manaCostPerLevel
|
||||
uint32 ManaPerSecond; // 44 m_manaPerSecond
|
||||
uint32 ManaPerSecondPerLevel; // 45 m_manaPerSecondPerLeve
|
||||
uint32 RangeIndex; // 46 m_rangeIndex
|
||||
float Speed; // 47 m_speed
|
||||
//uint32 ModalNextSpell; // 48 m_modalNextSpell not used
|
||||
uint32 StackAmount; // 49 m_cumulativeAura
|
||||
uint32 Totem[2]; // 50-51 m_totem
|
||||
int32 Reagent[MAX_SPELL_REAGENTS]; // 52-59 m_reagent
|
||||
@@ -1608,8 +1608,8 @@ struct SpellEntry
|
||||
flag96 EffectSpellClassMask[MAX_SPELL_EFFECTS]; // 122-130
|
||||
uint32 SpellVisual[2]; // 131-132 m_spellVisualID
|
||||
uint32 SpellIconID; // 133 m_spellIconID
|
||||
uint32 activeIconID; // 134 m_activeIconID
|
||||
//uint32 spellPriority; // 135 not used
|
||||
uint32 ActiveIconID; // 134 m_activeIconID
|
||||
//uint32 SpellPriority; // 135 not used
|
||||
char* SpellName[16]; // 136-151 m_name_lang
|
||||
//uint32 SpellNameFlag; // 152 not used
|
||||
char* Rank[16]; // 153-168 m_nameSubtext_lang
|
||||
@@ -1635,11 +1635,11 @@ struct SpellEntry
|
||||
uint32 TotemCategory[2]; // 222-223 m_requiredTotemCategoryID
|
||||
int32 AreaGroupId; // 224 m_requiredAreaGroupId
|
||||
uint32 SchoolMask; // 225 m_schoolMask
|
||||
uint32 runeCostID; // 226 m_runeCostID
|
||||
//uint32 spellMissileID; // 227 m_spellMissileID not used
|
||||
uint32 RuneCostID; // 226 m_runeCostID
|
||||
//uint32 SpellMissileID; // 227 m_spellMissileID not used
|
||||
//uint32 PowerDisplayId; // 228 PowerDisplay.dbc, new in 3.1
|
||||
float EffectBonusMultiplier[MAX_SPELL_EFFECTS]; // 229-231 3.2.0
|
||||
//uint32 spellDescriptionVariableID; // 232 3.2.0
|
||||
//uint32 SpellDescriptionVariableID; // 232 3.2.0
|
||||
//uint32 SpellDifficultyId; // 233 3.3.0
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user