mirror of
https://github.com/EQEmu/Server.git
synced 2026-06-03 03:50:40 +00:00
[Constants] Convert SE Defines to SpellEffect Namespace (#4999)
This commit is contained in:
+27
-27
@@ -179,7 +179,7 @@ int Mob::compute_tohit(EQ::skills::SkillType skillinuse)
|
||||
//SYNC WITH: tune.cpp, mob.h TuneGetTotalToHit
|
||||
int Mob::GetTotalToHit(EQ::skills::SkillType skill, int chance_mod)
|
||||
{
|
||||
if (chance_mod >= 10000) // override for stuff like SE_SkillAttack
|
||||
if (chance_mod >= 10000) // override for stuff like SpellEffect::SkillAttack
|
||||
return -1;
|
||||
|
||||
// calculate attacker's accuracy
|
||||
@@ -209,7 +209,7 @@ int Mob::GetTotalToHit(EQ::skills::SkillType skill, int chance_mod)
|
||||
if (atkhit_bonus)
|
||||
accuracy += round(static_cast<double>(accuracy) * static_cast<double>(atkhit_bonus) * 0.0001);
|
||||
|
||||
// 216 Melee Accuracy Amt aka SE_Accuracy -- flat bonus
|
||||
// 216 Melee Accuracy Amt aka SpellEffect::Accuracy -- flat bonus
|
||||
accuracy += itembonuses.Accuracy[EQ::skills::HIGHEST_SKILL + 1] +
|
||||
aabonuses.Accuracy[EQ::skills::HIGHEST_SKILL + 1] +
|
||||
spellbonuses.Accuracy[EQ::skills::HIGHEST_SKILL + 1] +
|
||||
@@ -224,7 +224,7 @@ int Mob::GetTotalToHit(EQ::skills::SkillType skill, int chance_mod)
|
||||
if (spellbonuses.HitChanceEffect[EQ::skills::HIGHEST_SKILL + 1] >= 10000)
|
||||
return -1;
|
||||
|
||||
// 184 Accuracy % aka SE_HitChance -- percentage increase
|
||||
// 184 Accuracy % aka SpellEffect::HitChance -- percentage increase
|
||||
auto hit_bonus = itembonuses.HitChanceEffect[EQ::skills::HIGHEST_SKILL + 1] +
|
||||
aabonuses.HitChanceEffect[EQ::skills::HIGHEST_SKILL + 1] +
|
||||
spellbonuses.HitChanceEffect[EQ::skills::HIGHEST_SKILL + 1] +
|
||||
@@ -285,7 +285,7 @@ int Mob::compute_defense()
|
||||
}
|
||||
|
||||
|
||||
//516 SE_AC_Mitigation_Max_Percent
|
||||
//516 SpellEffect::AC_Mitigation_Max_Percent
|
||||
auto ac_bonus = itembonuses.AC_Mitigation_Max_Percent + aabonuses.AC_Mitigation_Max_Percent + spellbonuses.AC_Mitigation_Max_Percent;
|
||||
if (ac_bonus) {
|
||||
defense += round(static_cast<double>(defense) * static_cast<double>(ac_bonus) * 0.0001);
|
||||
@@ -315,15 +315,15 @@ int Mob::GetTotalDefense()
|
||||
if (evasion_bonus >= 10000)
|
||||
return -1;
|
||||
|
||||
// 515 SE_AC_Avoidance_Max_Percent
|
||||
// 515 SpellEffect::AC_Avoidance_Max_Percent
|
||||
auto ac_aviodance_bonus = itembonuses.AC_Avoidance_Max_Percent + aabonuses.AC_Avoidance_Max_Percent + spellbonuses.AC_Avoidance_Max_Percent;
|
||||
if (ac_aviodance_bonus)
|
||||
avoidance += round(static_cast<double>(avoidance) * static_cast<double>(ac_aviodance_bonus) * 0.0001);
|
||||
|
||||
// 172 Evasion aka SE_AvoidMeleeChance
|
||||
// 172 Evasion aka SpellEffect::AvoidMeleeChance
|
||||
evasion_bonus += itembonuses.AvoidMeleeChanceEffect + aabonuses.AvoidMeleeChanceEffect; // item bonus here isn't mod2 avoidance
|
||||
|
||||
// 215 Pet Avoidance % aka SE_PetAvoidance
|
||||
// 215 Pet Avoidance % aka SpellEffect::PetAvoidance
|
||||
evasion_bonus += GetPetAvoidanceBonusFromOwner();
|
||||
|
||||
// Evasion is a percentage bonus according to AA descriptions
|
||||
@@ -1917,7 +1917,7 @@ bool Client::Death(Mob* killer_mob, int64 damage, uint16 spell, EQ::skills::Skil
|
||||
dead = true;
|
||||
|
||||
if (m_pet && m_pet->IsCharmed()) {
|
||||
m_pet->BuffFadeByEffect(SE_Charm);
|
||||
m_pet->BuffFadeByEffect(SpellEffect::Charm);
|
||||
}
|
||||
|
||||
if (GetMerc()) {
|
||||
@@ -3678,7 +3678,7 @@ int64 Mob::ReduceDamage(int64 damage)
|
||||
return DMG_RUNE;
|
||||
|
||||
if (spellbonuses.MeleeRune[SBIndex::RUNE_AMOUNT] && spellbonuses.MeleeRune[SBIndex::RUNE_BUFFSLOT] >= 0)
|
||||
damage = RuneAbsorb(damage, SE_Rune);
|
||||
damage = RuneAbsorb(damage, SpellEffect::Rune);
|
||||
|
||||
if (damage < 1)
|
||||
return DMG_RUNE;
|
||||
@@ -3805,10 +3805,10 @@ int64 Mob::AffectMagicalDamage(int64 damage, uint16 spell_id, const bool iBuffTi
|
||||
|
||||
//Regular runes absorb spell damage (except dots) - Confirmed on live.
|
||||
if (spellbonuses.MeleeRune[SBIndex::RUNE_AMOUNT] && spellbonuses.MeleeRune[SBIndex::RUNE_BUFFSLOT] >= 0)
|
||||
damage = RuneAbsorb(damage, SE_Rune);
|
||||
damage = RuneAbsorb(damage, SpellEffect::Rune);
|
||||
|
||||
if (spellbonuses.AbsorbMagicAtt[SBIndex::RUNE_AMOUNT] && spellbonuses.AbsorbMagicAtt[SBIndex::RUNE_BUFFSLOT] >= 0)
|
||||
damage = RuneAbsorb(damage, SE_AbsorbMagicAtt);
|
||||
damage = RuneAbsorb(damage, SpellEffect::AbsorbMagicAtt);
|
||||
|
||||
if (damage < 1)
|
||||
return 0;
|
||||
@@ -4174,7 +4174,7 @@ void Mob::CommonDamage(Mob* attacker, int64 &damage, const uint16 spell_id, cons
|
||||
damage = ReduceDamage(damage);
|
||||
LogCombat("Melee Damage reduced to [{}]", damage);
|
||||
damage = ReduceAllDamage(damage);
|
||||
TryTriggerThreshHold(damage, SE_TriggerMeleeThreshold, attacker);
|
||||
TryTriggerThreshHold(damage, SpellEffect::TriggerMeleeThreshold, attacker);
|
||||
|
||||
CheckNumHitsRemaining(NumHit::IncomingHitSuccess);
|
||||
}
|
||||
@@ -4199,7 +4199,7 @@ void Mob::CommonDamage(Mob* attacker, int64 &damage, const uint16 spell_id, cons
|
||||
Message(263, "%s tries to cast on YOU, but YOUR magical skin absorbs the spell.", attacker->GetCleanName());
|
||||
}
|
||||
damage = ReduceAllDamage(damage);
|
||||
TryTriggerThreshHold(damage, SE_TriggerSpellThreshold, attacker);
|
||||
TryTriggerThreshHold(damage, SpellEffect::TriggerSpellThreshold, attacker);
|
||||
}
|
||||
|
||||
if (IsClient() && CastToClient()->sneaking) {
|
||||
@@ -4314,7 +4314,7 @@ void Mob::CommonDamage(Mob* attacker, int64 &damage, const uint16 spell_id, cons
|
||||
GetCleanName(), /* Message1 */
|
||||
attacker->GetCleanName() /* Message2 */
|
||||
);
|
||||
BuffFadeByEffect(SE_Mez);
|
||||
BuffFadeByEffect(SpellEffect::Mez);
|
||||
}
|
||||
|
||||
// broken up for readability
|
||||
@@ -4399,12 +4399,12 @@ void Mob::CommonDamage(Mob* attacker, int64 &damage, const uint16 spell_id, cons
|
||||
int bashsave_roll = zone->random.Int(0, 100);
|
||||
if (bashsave_roll > 98 || bashsave_roll > (55 - stunbash_chance)) {
|
||||
// did stun -- roll other resists
|
||||
// SE_FrontalStunResist description says any angle now a days
|
||||
// SpellEffect::FrontalStunResist description says any angle now a days
|
||||
int stun_resist2 = spellbonuses.FrontalStunResist + itembonuses.FrontalStunResist +
|
||||
aabonuses.FrontalStunResist;
|
||||
if (zone->random.Int(1, 100) > stun_resist2) {
|
||||
// stun resist 2 failed
|
||||
// time to check SE_StunResist and mod2 stun resist
|
||||
// time to check SpellEffect::StunResist and mod2 stun resist
|
||||
int stun_resist =
|
||||
spellbonuses.StunResist + itembonuses.StunResist + aabonuses.StunResist;
|
||||
if (zone->random.Int(0, 100) >= stun_resist) {
|
||||
@@ -5668,7 +5668,7 @@ void Mob::DoRiposte(Mob *defender)
|
||||
defender->itembonuses.DoubleRiposte;
|
||||
|
||||
if (DoubleRipChance && zone->random.Roll(DoubleRipChance)) {
|
||||
LogCombat("Preforming a double riposted from SE_DoubleRiposte ([{}] percent chance)", DoubleRipChance);
|
||||
LogCombat("Preforming a double riposted from SpellEffect::DoubleRiposte ([{}] percent chance)", DoubleRipChance);
|
||||
defender->Attack(this, EQ::invslot::slotPrimary, true);
|
||||
if (HasDied())
|
||||
return;
|
||||
@@ -5679,7 +5679,7 @@ void Mob::DoRiposte(Mob *defender)
|
||||
|
||||
// Live AA - Double Riposte
|
||||
if (DoubleRipChance && zone->random.Roll(DoubleRipChance)) {
|
||||
LogCombat("Preforming a double riposted from SE_GiveDoubleRiposte base1 == 0 ([{}] percent chance)", DoubleRipChance);
|
||||
LogCombat("Preforming a double riposted from SpellEffect::GiveDoubleRiposte base1 == 0 ([{}] percent chance)", DoubleRipChance);
|
||||
defender->Attack(this, EQ::invslot::slotPrimary, true);
|
||||
if (HasDied())
|
||||
return;
|
||||
@@ -6027,12 +6027,12 @@ void Mob::TrySkillProc(Mob *on, EQ::skills::SkillType skill, uint16 ReuseTime, b
|
||||
|
||||
for (int i = 0; i < EFFECT_COUNT; i++) {
|
||||
|
||||
if (spells[base_spell_id].effect_id[i] == SE_SkillProcAttempt || spells[base_spell_id].effect_id[i] == SE_SkillProcSuccess) {
|
||||
if (spells[base_spell_id].effect_id[i] == SpellEffect::SkillProcAttempt || spells[base_spell_id].effect_id[i] == SpellEffect::SkillProcSuccess) {
|
||||
proc_spell_id = spells[base_spell_id].base_value[i];
|
||||
ProcMod = static_cast<float>(spells[base_spell_id].limit_value[i]);
|
||||
}
|
||||
|
||||
else if (spells[base_spell_id].effect_id[i] == SE_LimitToSkill && spells[base_spell_id].base_value[i] <= EQ::skills::HIGHEST_SKILL) {
|
||||
else if (spells[base_spell_id].effect_id[i] == SpellEffect::LimitToSkill && spells[base_spell_id].base_value[i] <= EQ::skills::HIGHEST_SKILL) {
|
||||
if (CanProc && spells[base_spell_id].base_value[i] == skill && IsValidSpell(proc_spell_id)) {
|
||||
float final_chance = chance * (ProcMod / 100.0f);
|
||||
if (zone->random.Roll(final_chance)) {
|
||||
@@ -6071,12 +6071,12 @@ void Mob::TrySkillProc(Mob *on, EQ::skills::SkillType skill, uint16 ReuseTime, b
|
||||
ProcMod = 0;
|
||||
|
||||
for (int i = 0; i < EFFECT_COUNT; i++) {
|
||||
if (spells[base_spell_id].effect_id[i] == SE_SkillProcAttempt || spells[base_spell_id].effect_id[i] == SE_SkillProcSuccess) {
|
||||
if (spells[base_spell_id].effect_id[i] == SpellEffect::SkillProcAttempt || spells[base_spell_id].effect_id[i] == SpellEffect::SkillProcSuccess) {
|
||||
proc_spell_id = spells[base_spell_id].base_value[i];
|
||||
ProcMod = static_cast<float>(spells[base_spell_id].limit_value[i]);
|
||||
}
|
||||
|
||||
else if (spells[base_spell_id].effect_id[i] == SE_LimitToSkill && spells[base_spell_id].base_value[i] <= EQ::skills::HIGHEST_SKILL) {
|
||||
else if (spells[base_spell_id].effect_id[i] == SpellEffect::LimitToSkill && spells[base_spell_id].base_value[i] <= EQ::skills::HIGHEST_SKILL) {
|
||||
|
||||
if (CanProc && spells[base_spell_id].base_value[i] == skill && IsValidSpell(proc_spell_id)) {
|
||||
float final_chance = chance * (ProcMod / 100.0f);
|
||||
@@ -6133,11 +6133,11 @@ void Mob::TrySkillProc(Mob *on, EQ::skills::SkillType skill, uint16 ReuseTime, b
|
||||
limit_value = effect.limit_value;
|
||||
slot = effect.slot;
|
||||
|
||||
if (effect_id == SE_SkillProcAttempt || effect_id == SE_SkillProcSuccess) {
|
||||
if (effect_id == SpellEffect::SkillProcAttempt || effect_id == SpellEffect::SkillProcSuccess) {
|
||||
proc_spell_id = base_value;
|
||||
ProcMod = static_cast<float>(limit_value);
|
||||
}
|
||||
else if (effect_id == SE_LimitToSkill && base_value <= EQ::skills::HIGHEST_SKILL) {
|
||||
else if (effect_id == SpellEffect::LimitToSkill && base_value <= EQ::skills::HIGHEST_SKILL) {
|
||||
|
||||
if (CanProc && base_value == skill && IsValidSpell(proc_spell_id)) {
|
||||
float final_chance = chance * (ProcMod / 100.0f);
|
||||
@@ -6300,7 +6300,7 @@ bool Mob::TryRootFadeByDamage(int buffslot, Mob* attacker) {
|
||||
int32 Mob::RuneAbsorb(int64 damage, uint16 type)
|
||||
{
|
||||
uint32 buff_max = GetMaxTotalSlots();
|
||||
if (type == SE_Rune) {
|
||||
if (type == SpellEffect::Rune) {
|
||||
for (uint32 slot = 0; slot < buff_max; slot++) {
|
||||
if (slot == spellbonuses.MeleeRune[SBIndex::RUNE_BUFFSLOT] && spellbonuses.MeleeRune[SBIndex::RUNE_AMOUNT] && buffs[slot].melee_rune && IsValidSpell(buffs[slot].spellid)) {
|
||||
int melee_rune_left = buffs[slot].melee_rune;
|
||||
@@ -6544,7 +6544,7 @@ void Mob::DoShieldDamageOnShielderSpellEffect(Mob* shield_target, int64 hit_dama
|
||||
return;
|
||||
}
|
||||
/*
|
||||
SPA 463 SE_SHIELD_TARGET
|
||||
SPA 463 SpellEffect::SHIELD_TARGET
|
||||
|
||||
Live description: "Shields your target, taking a percentage of their damage".
|
||||
Only example spell on live is an NPC who uses it during a raid event "Laurion's Song" expansion. SPA 54492 'Guardian Stance' Described as 100% Melee Shielding
|
||||
@@ -6596,7 +6596,7 @@ void Mob::CommonBreakInvisibleFromCombat()
|
||||
CancelSneakHide();
|
||||
|
||||
if (spellbonuses.NegateIfCombat) {
|
||||
BuffFadeByEffect(SE_NegateIfCombat);
|
||||
BuffFadeByEffect(SpellEffect::NegateIfCombat);
|
||||
}
|
||||
|
||||
hidden = false;
|
||||
|
||||
Reference in New Issue
Block a user