diff options
Diffstat (limited to 'src/server')
| -rw-r--r-- | src/server/game/Entities/Object/Object.cpp | 4 | ||||
| -rw-r--r-- | src/server/game/Entities/Player/Player.cpp | 62 | ||||
| -rw-r--r-- | src/server/game/Entities/Unit/StatSystem.cpp | 10 | ||||
| -rw-r--r-- | src/server/game/Entities/Unit/Unit.cpp | 20 | ||||
| -rw-r--r-- | src/server/game/Entities/Unit/Unit.h | 37 | ||||
| -rw-r--r-- | src/server/game/Miscellaneous/SharedDefines.h | 24 | ||||
| -rw-r--r-- | src/server/game/Miscellaneous/enuminfo_SharedDefines.cpp | 62 | ||||
| -rw-r--r-- | src/server/game/Spells/Auras/SpellAuraEffects.cpp | 6 | ||||
| -rw-r--r-- | src/server/game/Spells/Spell.cpp | 19 | ||||
| -rw-r--r-- | src/server/game/Spells/SpellInfo.cpp | 3 | ||||
| -rw-r--r-- | src/server/scripts/Spells/spell_dk.cpp | 2 | ||||
| -rw-r--r-- | src/server/scripts/Spells/spell_mage.cpp | 11 | ||||
| -rw-r--r-- | src/server/scripts/Spells/spell_paladin.cpp | 26 | ||||
| -rw-r--r-- | src/server/scripts/Spells/spell_shaman.cpp | 9 | 
14 files changed, 91 insertions, 204 deletions
| diff --git a/src/server/game/Entities/Object/Object.cpp b/src/server/game/Entities/Object/Object.cpp index 1ecad90adbf..973e51d0f61 100644 --- a/src/server/game/Entities/Object/Object.cpp +++ b/src/server/game/Entities/Object/Object.cpp @@ -725,7 +725,7 @@ void Object::BuildMovementUpdate(ByteBuffer* data, CreateObjectBits flags, Playe          Player const* player = ToPlayer();          bool HasSceneInstanceIDs = !player->GetSceneMgr().GetSceneTemplateByInstanceMap().empty(); -        bool HasRuneState = ToUnit()->GetPowerIndex(POWER_RUNES) != MAX_POWERS; +        bool HasRuneState = false; // ToUnit()->GetPowerIndex(POWER_RUNES) != MAX_POWERS;          bool HasActionButtons = true;          data->WriteBit(HasSceneInstanceIDs); @@ -740,6 +740,7 @@ void Object::BuildMovementUpdate(ByteBuffer* data, CreateObjectBits flags, Playe          }          if (HasRuneState)          { +            /*              float baseCd = float(player->GetRuneBaseCooldown());              uint32 maxRunes = uint32(player->GetMaxPower(POWER_RUNES)); @@ -748,6 +749,7 @@ void Object::BuildMovementUpdate(ByteBuffer* data, CreateObjectBits flags, Playe              *data << uint32(maxRunes);              for (uint32 i = 0; i < maxRunes; ++i)                  *data << uint8((baseCd - float(player->GetRuneCooldown(i))) / baseCd * 255); +            */          }          if (HasActionButtons)          { diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index 75a709c6824..53267ae1a55 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -1684,10 +1684,10 @@ void Player::RegenerateAll()      m_foodEmoteTimerCount += m_regenTimer;      for (Powers power = POWER_MANA; power < MAX_POWERS; power = Powers(power + 1)) -        if (power != POWER_RUNES) -            Regenerate(power); +        Regenerate(power);      // Runes act as cooldowns, and they don't need to send any data +    /*      if (GetClass() == CLASS_DEATH_KNIGHT)      {          uint32 regeneratedRunes = 0; @@ -1707,6 +1707,7 @@ void Player::RegenerateAll()              ++regeneratedRunes;          }      } +    */      if (m_regenTimerCount >= 2000)      { @@ -1784,28 +1785,25 @@ void Player::Regenerate(Powers power)          RATE_POWER_RAGE_LOSS,          RATE_POWER_FOCUS,          RATE_POWER_ENERGY, -        RATE_POWER_COMBO_POINTS_LOSS, -        MAX_RATES, // runes +        MAX_RATES, // happiness          RATE_POWER_RUNIC_POWER_LOSS, -        RATE_POWER_SOUL_SHARDS, -        RATE_POWER_LUNAR_POWER, -        RATE_POWER_HOLY_POWER, -        MAX_RATES, // alternate -        RATE_POWER_MAELSTROM, -        RATE_POWER_CHI, -        RATE_POWER_INSANITY, -        MAX_RATES, // burning embers, unused -        MAX_RATES, // demonic fury, unused -        RATE_POWER_ARCANE_CHARGES, -        RATE_POWER_FURY, -        RATE_POWER_PAIN, -        RATE_POWER_ESSENCE, -        MAX_RATES, // runes +        MAX_RATES, // unused +        MAX_RATES, // unused +        MAX_RATES, // unused +        MAX_RATES, // unused +        MAX_RATES, // unused +        MAX_RATES, // unused +        MAX_RATES, // unused +        MAX_RATES, // unused +        RATE_POWER_COMBO_POINTS_LOSS, +        MAX_RATES, // unused +        MAX_RATES, // unused +        MAX_RATES, // unused +        MAX_RATES, // unused +        MAX_RATES, // unused          MAX_RATES, // runes          MAX_RATES, // runes -        MAX_RATES, // alternate -        MAX_RATES, // alternate -        MAX_RATES, // alternate +        MAX_RATES  // runes      };      if (RatesForPower[power] != MAX_RATES) @@ -1976,9 +1974,6 @@ void Player::ResetAllPowers()          case POWER_RUNIC_POWER:              SetPower(POWER_RUNIC_POWER, 0);              break; -        case POWER_LUNAR_POWER: -            SetPower(POWER_LUNAR_POWER, 0); -            break;          default:              break;      } @@ -4493,7 +4488,6 @@ void Player::ResurrectPlayer(float restore_percent, bool applySickness)          SetPower(POWER_RAGE, 0);          SetPower(POWER_ENERGY, GetMaxPower(POWER_ENERGY) * restore_percent);          SetPower(POWER_FOCUS, GetMaxPower(POWER_FOCUS) * restore_percent); -        SetPower(POWER_LUNAR_POWER, 0);      }      // trigger update zone for alive state zone updates @@ -17828,8 +17822,8 @@ bool Player::LoadFromDB(ObjectGuid guid, CharacterDatabaseQueryHolder const& hol      for (; loadedPowers < MAX_POWERS_PER_CLASS; ++loadedPowers)          SetUpdateFieldValue(m_values.ModifyValue(&Unit::m_unitData).ModifyValue(&UF::UnitData::Power, loadedPowers), 0); -    SetPower(POWER_LUNAR_POWER, 0);      // Init rune recharge +    /*      if (GetPowerIndex(POWER_RUNES) != MAX_POWERS)      {          int32 runes = GetPower(POWER_RUNES); @@ -17841,6 +17835,7 @@ bool Player::LoadFromDB(ObjectGuid guid, CharacterDatabaseQueryHolder const& hol              ++runes;          }      } +    */      TC_LOG_DEBUG("entities.player.loading", "Player::LoadFromDB: The value of player '{}' after load item and aura is: ", m_name);      outDebugValues(); @@ -25019,7 +25014,6 @@ void Player::ResurrectUsingRequestDataImpl()      SetPower(POWER_RAGE, 0);      SetFullPower(POWER_ENERGY);      SetFullPower(POWER_FOCUS); -    SetPower(POWER_LUNAR_POWER, 0);      if (uint32 aura = resurrectAura)          CastSpell(this, aura, CastSpellExtraArgs(TRIGGERED_FULL_MASK) @@ -25602,13 +25596,16 @@ void Player::SetTitle(CharTitlesEntry const* title, bool lost)  uint8 Player::GetRunesState() const  { -    return uint8(m_runes->RuneState & ((1 << GetMaxPower(POWER_RUNES)) - 1)); +    return 0; +     +    //return uint8(m_runes->RuneState & ((1 << GetMaxPower(POWER_RUNES)) - 1));  }  uint32 Player::GetRuneBaseCooldown() const  {      float cooldown = RUNE_BASE_COOLDOWN; +    /*      AuraEffectList const& regenAura = GetAuraEffectsByType(SPELL_AURA_MOD_POWER_REGEN_PERCENT);      for (AuraEffectList::const_iterator i = regenAura.begin();i != regenAura.end(); ++i)          if ((*i)->GetMiscValue() == POWER_RUNES) @@ -25623,6 +25620,7 @@ uint32 Player::GetRuneBaseCooldown() const      hastePct += GetTotalAuraModifier(SPELL_AURA_MOD_MELEE_HASTE_3);      cooldown *=  1.0f - (hastePct / 100.0f); +    */      return cooldown;  } @@ -25631,9 +25629,11 @@ void Player::SetRuneCooldown(uint8 index, uint32 cooldown)  {      m_runes->Cooldown[index] = cooldown;      m_runes->SetRuneState(index, (cooldown == 0) ? true : false); +    /*      int32 activeRunes = std::count(std::begin(m_runes->Cooldown), &m_runes->Cooldown[std::min(GetMaxPower(POWER_RUNES), MAX_RUNES)], 0u);      if (activeRunes != GetPower(POWER_RUNES))          SetPower(POWER_RUNES, activeRunes); +    */  }  void Runes::SetRuneState(uint8 index, bool set /*= true*/) @@ -25655,6 +25655,7 @@ void Runes::SetRuneState(uint8 index, bool set /*= true*/)  void Player::ResyncRunes() const  { +    /*      uint32 maxRunes = uint32(GetMaxPower(POWER_RUNES));      WorldPackets::Spells::ResyncRunes data(maxRunes); @@ -25666,6 +25667,7 @@ void Player::ResyncRunes() const          data.Runes.Cooldowns.push_back(uint8((baseCd - float(GetRuneCooldown(i))) / baseCd * 255));      SendDirectMessage(data.Write()); +    */  }  void Player::InitRunes() @@ -25673,6 +25675,9 @@ void Player::InitRunes()      if (GetClass() != CLASS_DEATH_KNIGHT)          return; +    return; + +    /*      uint32 runeIndex = GetPowerIndex(POWER_RUNES);      if (runeIndex == MAX_POWERS)          return; @@ -25685,6 +25690,7 @@ void Player::InitRunes()      SetUpdateFieldValue(m_values.ModifyValue(&Unit::m_unitData).ModifyValue(&UF::UnitData::PowerRegenFlatModifier, runeIndex), 0.0f);      SetUpdateFieldValue(m_values.ModifyValue(&Unit::m_unitData).ModifyValue(&UF::UnitData::PowerRegenInterruptedFlatModifier, runeIndex), 0.0f); +    */  }  void Player::AutoStoreLoot(uint8 bag, uint8 slot, uint32 loot_id, LootStore const& store, ItemContext context, bool broadcast, bool createdByPlayer) diff --git a/src/server/game/Entities/Unit/StatSystem.cpp b/src/server/game/Entities/Unit/StatSystem.cpp index 653bb91da30..2950c70c158 100644 --- a/src/server/game/Entities/Unit/StatSystem.cpp +++ b/src/server/game/Entities/Unit/StatSystem.cpp @@ -821,6 +821,7 @@ void Player::UpdateAllRunesRegen()      if (GetClass() != CLASS_DEATH_KNIGHT)          return; +    /*      uint32 runeIndex = GetPowerIndex(POWER_RUNES);      if (runeIndex == MAX_POWERS)          return; @@ -830,6 +831,7 @@ void Player::UpdateAllRunesRegen()      uint32 cooldown = GetRuneBaseCooldown();      SetUpdateFieldValue(m_values.ModifyValue(&Unit::m_unitData).ModifyValue(&UF::UnitData::PowerRegenFlatModifier, runeIndex), float(1 * IN_MILLISECONDS) / float(cooldown) - runeEntry->RegenPeace);      SetUpdateFieldValue(m_values.ModifyValue(&Unit::m_unitData).ModifyValue(&UF::UnitData::PowerRegenInterruptedFlatModifier, runeIndex), float(1 * IN_MILLISECONDS) / float(cooldown) - runeEntry->RegenCombat); +    */  }  void Player::_ApplyAllStatBonuses() @@ -911,14 +913,6 @@ uint32 Creature::GetPowerIndex(Powers power) const      {          case POWER_COMBO_POINTS:              return 2; -        case POWER_ALTERNATE_POWER: -            return 1; -        case POWER_ALTERNATE_QUEST: -            return 3; -        case POWER_ALTERNATE_ENCOUNTER: -            return 4; -        case POWER_ALTERNATE_MOUNT: -            return 5;          default:              break;      } diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index 9739799a52f..6a82f474d95 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -8899,27 +8899,11 @@ void Unit::UpdateUnitMod(UnitMods unitMod)          case UNIT_MOD_FOCUS:          case UNIT_MOD_ENERGY:          case UNIT_MOD_COMBO_POINTS: -        case UNIT_MOD_RUNES: +        case UNIT_MOD_HAPPINESS:          case UNIT_MOD_RUNIC_POWER: -        case UNIT_MOD_SOUL_SHARDS: -        case UNIT_MOD_LUNAR_POWER: -        case UNIT_MOD_HOLY_POWER: -        case UNIT_MOD_ALTERNATE: -        case UNIT_MOD_MAELSTROM: -        case UNIT_MOD_CHI: -        case UNIT_MOD_INSANITY: -        case UNIT_MOD_BURNING_EMBERS: -        case UNIT_MOD_DEMONIC_FURY: -        case UNIT_MOD_ARCANE_CHARGES: -        case UNIT_MOD_FURY: -        case UNIT_MOD_PAIN: -        case UNIT_MOD_ESSENCE:          case UNIT_MOD_RUNE_BLOOD:          case UNIT_MOD_RUNE_FROST: -        case UNIT_MOD_RUNE_UNHOLY: -        case UNIT_MOD_ALTERNATE_QUEST: -        case UNIT_MOD_ALTERNATE_ENCOUNTER: -        case UNIT_MOD_ALTERNATE_MOUNT:     UpdateMaxPower(Powers(unitMod - UNIT_MOD_POWER_START));     break; +        case UNIT_MOD_RUNE_UNHOLY:         UpdateMaxPower(Powers(unitMod - UNIT_MOD_POWER_START));     break;          case UNIT_MOD_RESISTANCE_HOLY:          case UNIT_MOD_RESISTANCE_FIRE: diff --git a/src/server/game/Entities/Unit/Unit.h b/src/server/game/Entities/Unit/Unit.h index dc2fe68620b..4da6b7e7dbe 100644 --- a/src/server/game/Entities/Unit/Unit.h +++ b/src/server/game/Entities/Unit/Unit.h @@ -177,28 +177,25 @@ enum UnitMods      UNIT_MOD_RAGE,      UNIT_MOD_FOCUS,      UNIT_MOD_ENERGY, -    UNIT_MOD_COMBO_POINTS, -    UNIT_MOD_RUNES, +    UNIT_MOD_HAPPINESS,      UNIT_MOD_RUNIC_POWER, -    UNIT_MOD_SOUL_SHARDS, -    UNIT_MOD_LUNAR_POWER, -    UNIT_MOD_HOLY_POWER, -    UNIT_MOD_ALTERNATE, -    UNIT_MOD_MAELSTROM, -    UNIT_MOD_CHI, -    UNIT_MOD_INSANITY, -    UNIT_MOD_BURNING_EMBERS, -    UNIT_MOD_DEMONIC_FURY, -    UNIT_MOD_ARCANE_CHARGES, -    UNIT_MOD_FURY, -    UNIT_MOD_PAIN, -    UNIT_MOD_ESSENCE, +    UNIT_MOD_POWER_UNUSED_6, +    UNIT_MOD_POWER_UNUSED_7, +    UNIT_MOD_POWER_UNUSED_8, +    UNIT_MOD_POWER_UNUSED_9, +    UNIT_MOD_POWER_UNUSED_10, +    UNIT_MOD_POWER_UNUSED_11, +    UNIT_MOD_POWER_UNUSED_12, +    UNIT_MOD_POWER_UNUSED_13, +    UNIT_MOD_COMBO_POINTS, +    UNIT_MOD_POWER_UNUSED_15, +    UNIT_MOD_POWER_UNUSED_16, +    UNIT_MOD_POWER_UNUSED_17, +    UNIT_MOD_POWER_UNUSED_18, +    UNIT_MOD_POWER_UNUSED_19,      UNIT_MOD_RUNE_BLOOD,      UNIT_MOD_RUNE_FROST,      UNIT_MOD_RUNE_UNHOLY, -    UNIT_MOD_ALTERNATE_QUEST, -    UNIT_MOD_ALTERNATE_ENCOUNTER, -    UNIT_MOD_ALTERNATE_MOUNT,      UNIT_MOD_ARMOR,                                         // UNIT_MOD_ARMOR..UNIT_MOD_RESISTANCE_ARCANE must be in existed order, it's accessed by index values of SpellSchools enum.      UNIT_MOD_RESISTANCE_HOLY,      UNIT_MOD_RESISTANCE_FIRE, @@ -218,7 +215,7 @@ enum UnitMods      UNIT_MOD_RESISTANCE_START = UNIT_MOD_ARMOR,      UNIT_MOD_RESISTANCE_END = UNIT_MOD_RESISTANCE_ARCANE + 1,      UNIT_MOD_POWER_START = UNIT_MOD_MANA, -    UNIT_MOD_POWER_END = UNIT_MOD_ALTERNATE_MOUNT + 1 +    UNIT_MOD_POWER_END = UNIT_MOD_RUNE_UNHOLY + 1  };  static_assert(UNIT_MOD_POWER_END - UNIT_MOD_POWER_START == MAX_POWERS, "UnitMods powers section does not match Powers enum!"); @@ -910,7 +907,7 @@ class TC_GAME_API Unit : public WorldObject          Powers CalculateDisplayPowerType() const;          void UpdateDisplayPower();          int32 GetPower(Powers power) const; -        int32 GetMinPower(Powers power) const { return power == POWER_LUNAR_POWER ? -100 : 0; } +        int32 GetMinPower(Powers /*power*/) const { return 0; }          int32 GetMaxPower(Powers power) const;          float GetPowerPct(Powers power) const { return GetMaxPower(power) ? 100.f * GetPower(power) / GetMaxPower(power) : 0.0f; }          int32 CountPctFromMaxPower(Powers power, int32 pct) const { return CalculatePct(GetMaxPower(power), pct); } diff --git a/src/server/game/Miscellaneous/SharedDefines.h b/src/server/game/Miscellaneous/SharedDefines.h index f48545e910f..74c4f5f526c 100644 --- a/src/server/game/Miscellaneous/SharedDefines.h +++ b/src/server/game/Miscellaneous/SharedDefines.h @@ -289,29 +289,13 @@ enum Powers : int8      POWER_RAGE                          = 1,  // TITLE Rage      POWER_FOCUS                         = 2,  // TITLE Focus      POWER_ENERGY                        = 3,  // TITLE Energy -    POWER_COMBO_POINTS                  = 4,  // TITLE Combo Points -    POWER_RUNES                         = 5,  // TITLE Runes -    POWER_RUNIC_POWER                   = 6,  // TITLE Runic Power -    POWER_SOUL_SHARDS                   = 7,  // TITLE Soul Shards -    POWER_LUNAR_POWER                   = 8,  // TITLE Lunar Power -    POWER_HOLY_POWER                    = 9,  // TITLE Holy Power -    POWER_ALTERNATE_POWER               = 10, // TITLE Alternate -    POWER_MAELSTROM                     = 11, // TITLE Maelstrom -    POWER_CHI                           = 12, // TITLE Chi -    POWER_INSANITY                      = 13, // TITLE Insanity -    POWER_BURNING_EMBERS                = 14, // TITLE Burning Embers (Obsolete) -    POWER_DEMONIC_FURY                  = 15, // TITLE Demonic Fury (Obsolete) -    POWER_ARCANE_CHARGES                = 16, // TITLE Arcane Charges -    POWER_FURY                          = 17, // TITLE Fury -    POWER_PAIN                          = 18, // TITLE Pain -    POWER_ESSENCE                       = 19, // TITLE Essence +    POWER_HAPPINESS                     = 4,  // TITLE Happiness +    POWER_RUNIC_POWER                   = 5,  // TITLE Runic Power +    POWER_COMBO_POINTS                  = 14, // TITLE Combo Points      POWER_RUNE_BLOOD                    = 20, // TITLE Blood Runes      POWER_RUNE_FROST                    = 21, // TITLE Frost Runes      POWER_RUNE_UNHOLY                   = 22, // TITLE Unholy Runes -    POWER_ALTERNATE_QUEST               = 23, // TITLE Alternate (Quest) -    POWER_ALTERNATE_ENCOUNTER           = 24, // TITLE Alternate (Encounter) -    POWER_ALTERNATE_MOUNT               = 25, // TITLE Alternate (Mount) -    MAX_POWERS                          = 26, // SKIP +    MAX_POWERS                          = 23, // SKIP      POWER_ALL                           = 127 // SKIP  }; diff --git a/src/server/game/Miscellaneous/enuminfo_SharedDefines.cpp b/src/server/game/Miscellaneous/enuminfo_SharedDefines.cpp index 78b6cb9d68d..bb1a8d8068e 100644 --- a/src/server/game/Miscellaneous/enuminfo_SharedDefines.cpp +++ b/src/server/game/Miscellaneous/enuminfo_SharedDefines.cpp @@ -112,27 +112,10 @@ TC_API_EXPORT EnumText EnumUtils<Powers>::ToString(Powers value)          case POWER_FOCUS: return { "POWER_FOCUS", "Focus", "" };          case POWER_ENERGY: return { "POWER_ENERGY", "Energy", "" };          case POWER_COMBO_POINTS: return { "POWER_COMBO_POINTS", "Combo Points", "" }; -        case POWER_RUNES: return { "POWER_RUNES", "Runes", "" };          case POWER_RUNIC_POWER: return { "POWER_RUNIC_POWER", "Runic Power", "" }; -        case POWER_SOUL_SHARDS: return { "POWER_SOUL_SHARDS", "Soul Shards", "" }; -        case POWER_LUNAR_POWER: return { "POWER_LUNAR_POWER", "Lunar Power", "" }; -        case POWER_HOLY_POWER: return { "POWER_HOLY_POWER", "Holy Power", "" }; -        case POWER_ALTERNATE_POWER: return { "POWER_ALTERNATE_POWER", "Alternate", "" }; -        case POWER_MAELSTROM: return { "POWER_MAELSTROM", "Maelstrom", "" }; -        case POWER_CHI: return { "POWER_CHI", "Chi", "" }; -        case POWER_INSANITY: return { "POWER_INSANITY", "Insanity", "" }; -        case POWER_BURNING_EMBERS: return { "POWER_BURNING_EMBERS", "Burning Embers (Obsolete)", "" }; -        case POWER_DEMONIC_FURY: return { "POWER_DEMONIC_FURY", "Demonic Fury (Obsolete)", "" }; -        case POWER_ARCANE_CHARGES: return { "POWER_ARCANE_CHARGES", "Arcane Charges", "" }; -        case POWER_FURY: return { "POWER_FURY", "Fury", "" }; -        case POWER_PAIN: return { "POWER_PAIN", "Pain", "" }; -        case POWER_ESSENCE: return { "POWER_ESSENCE", "Essence", "" };          case POWER_RUNE_BLOOD: return { "POWER_RUNE_BLOOD", "Blood Runes", "" };          case POWER_RUNE_FROST: return { "POWER_RUNE_FROST", "Frost Runes", "" };          case POWER_RUNE_UNHOLY: return { "POWER_RUNE_UNHOLY", "Unholy Runes", "" }; -        case POWER_ALTERNATE_QUEST: return { "POWER_ALTERNATE_QUEST", "Alternate (Quest)", "" }; -        case POWER_ALTERNATE_ENCOUNTER: return { "POWER_ALTERNATE_ENCOUNTER", "Alternate (Encounter)", "" }; -        case POWER_ALTERNATE_MOUNT: return { "POWER_ALTERNATE_MOUNT", "Alternate (Mount)", "" };          default: throw std::out_of_range("value");      }  } @@ -150,28 +133,12 @@ TC_API_EXPORT Powers EnumUtils<Powers>::FromIndex(size_t index)          case 2: return POWER_RAGE;          case 3: return POWER_FOCUS;          case 4: return POWER_ENERGY; -        case 5: return POWER_COMBO_POINTS; -        case 6: return POWER_RUNES; -        case 7: return POWER_RUNIC_POWER; -        case 8: return POWER_SOUL_SHARDS; -        case 9: return POWER_LUNAR_POWER; -        case 10: return POWER_HOLY_POWER; -        case 11: return POWER_ALTERNATE_POWER; -        case 12: return POWER_MAELSTROM; -        case 13: return POWER_CHI; -        case 14: return POWER_INSANITY; -        case 15: return POWER_BURNING_EMBERS; -        case 16: return POWER_DEMONIC_FURY; -        case 17: return POWER_ARCANE_CHARGES; -        case 18: return POWER_FURY; -        case 19: return POWER_PAIN; -        case 20: return POWER_ESSENCE; +        case 5: return POWER_ENERGY; +        case 6: return POWER_RUNIC_POWER; +        case 15: return POWER_COMBO_POINTS;          case 21: return POWER_RUNE_BLOOD;          case 22: return POWER_RUNE_FROST;          case 23: return POWER_RUNE_UNHOLY; -        case 24: return POWER_ALTERNATE_QUEST; -        case 25: return POWER_ALTERNATE_ENCOUNTER; -        case 26: return POWER_ALTERNATE_MOUNT;          default: throw std::out_of_range("index");      }  } @@ -186,28 +153,13 @@ TC_API_EXPORT size_t EnumUtils<Powers>::ToIndex(Powers value)          case POWER_RAGE: return 2;          case POWER_FOCUS: return 3;          case POWER_ENERGY: return 4; -        case POWER_COMBO_POINTS: return 5; -        case POWER_RUNES: return 6; -        case POWER_RUNIC_POWER: return 7; -        case POWER_SOUL_SHARDS: return 8; -        case POWER_LUNAR_POWER: return 9; -        case POWER_HOLY_POWER: return 10; -        case POWER_ALTERNATE_POWER: return 11; -        case POWER_MAELSTROM: return 12; -        case POWER_CHI: return 13; -        case POWER_INSANITY: return 14; -        case POWER_BURNING_EMBERS: return 15; -        case POWER_DEMONIC_FURY: return 16; -        case POWER_ARCANE_CHARGES: return 17; -        case POWER_FURY: return 18; -        case POWER_PAIN: return 19; -        case POWER_ESSENCE: return 20; +        case POWER_HAPPINESS: return 5; +        case POWER_RUNIC_POWER: return 6; +        case POWER_COMBO_POINTS: return 15;          case POWER_RUNE_BLOOD: return 21;          case POWER_RUNE_FROST: return 22;          case POWER_RUNE_UNHOLY: return 23; -        case POWER_ALTERNATE_QUEST: return 24; -        case POWER_ALTERNATE_ENCOUNTER: return 25; -        case POWER_ALTERNATE_MOUNT: return 26; +          default: throw std::out_of_range("value");      }  } diff --git a/src/server/game/Spells/Auras/SpellAuraEffects.cpp b/src/server/game/Spells/Auras/SpellAuraEffects.cpp index d7be21e316f..d0517e1fb91 100644 --- a/src/server/game/Spells/Auras/SpellAuraEffects.cpp +++ b/src/server/game/Spells/Auras/SpellAuraEffects.cpp @@ -3831,8 +3831,8 @@ void AuraEffect::HandleModPowerRegen(AuraApplication const* aurApp, uint8 mode,      // Update manaregen value      if (GetMiscValue() == POWER_MANA)          target->ToPlayer()->UpdateManaRegen(); -    else if (GetMiscValue() == POWER_RUNES) -        target->ToPlayer()->UpdateAllRunesRegen(); +    //else if (GetMiscValue() == POWER_RUNES) +    //    target->ToPlayer()->UpdateAllRunesRegen();      // other powers are not immediate effects - implemented in Player::Regenerate, Creature::Regenerate  } @@ -5992,10 +5992,12 @@ void AuraEffect::HandleEnableAltPower(AuraApplication const* aurApp, uint8 mode,      if (!powerEntry)          return; +    /*      if (apply)          aurApp->GetTarget()->SetMaxPower(POWER_ALTERNATE_POWER, powerEntry->MaxPower);      else          aurApp->GetTarget()->SetMaxPower(POWER_ALTERNATE_POWER, 0); +    */  }  void AuraEffect::HandleModSpellCategoryCooldown(AuraApplication const* aurApp, uint8 mode, bool apply) const diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp index 2524846f31e..9de34355dc6 100644 --- a/src/server/game/Spells/Spell.cpp +++ b/src/server/game/Spells/Spell.cpp @@ -4686,8 +4686,8 @@ void Spell::SendSpellStart()          && std::find_if(m_powerCost.begin(), m_powerCost.end(), [](SpellPowerCost const& cost) { return cost.Power != POWER_HEALTH; }) != m_powerCost.end())          castFlags |= CAST_FLAG_POWER_LEFT_SELF; -    if (HasPowerTypeCost(POWER_RUNES)) -        castFlags |= CAST_FLAG_NO_GCD; // not needed, but Blizzard sends it +    //if (HasPowerTypeCost(POWER_RUNES)) +    //    castFlags |= CAST_FLAG_NO_GCD; // not needed, but Blizzard sends it      if (m_spellInfo->HasAttribute(SPELL_ATTR8_HEAL_PREDICTION) && m_casttime && m_caster->IsUnit())          castFlags |= CAST_FLAG_HEAL_PREDICTION; @@ -4722,6 +4722,7 @@ void Spell::SendSpellStart()          }      } +    /*      if (castFlags & CAST_FLAG_RUNE_LIST) // rune cooldowns list      {          castData.RemainingRunes.emplace(); @@ -4747,6 +4748,7 @@ void Spell::SendSpellStart()                  castData.RemainingRunes->Cooldowns.push_back(0);          }      } +    */      if (castFlags & CAST_FLAG_PROJECTILE)          castData.AmmoDisplayID = GetSpellCastDataAmmo(); @@ -4787,7 +4789,7 @@ void Spell::SendSpellGo()      if ((m_caster->GetTypeId() == TYPEID_PLAYER)          && (m_caster->ToPlayer()->GetClass() == CLASS_DEATH_KNIGHT) -        && HasPowerTypeCost(POWER_RUNES) +        //&& HasPowerTypeCost(POWER_RUNES)          && !(_triggeredCastFlags & TRIGGERED_IGNORE_POWER_AND_REAGENT_COST))      {          castFlags |= CAST_FLAG_NO_GCD; // not needed, but Blizzard sends it @@ -4838,12 +4840,15 @@ void Spell::SendSpellGo()          Player* player = ASSERT_NOTNULL(m_caster->ToPlayer());          castData.RemainingRunes->Start = m_runesState; // runes state before          castData.RemainingRunes->Count = player->GetRunesState(); // runes state after + +        /*          for (uint8 i = 0; i < player->GetMaxPower(POWER_RUNES); ++i)          {              // float casts ensure the division is performed on floats as we need float result              float baseCd = float(player->GetRuneBaseCooldown());              castData.RemainingRunes->Cooldowns.push_back((baseCd - float(player->GetRuneCooldown(i))) / baseCd * 255); // rune cooldown passed          } +        */      }      if (castFlags & CAST_FLAG_ADJUST_MISSILE) @@ -5408,11 +5413,13 @@ void Spell::TakePower()              }          } +        /*          if (powerType == POWER_RUNES)          {              TakeRunePower(hit);              continue;          } +        */          if (!cost.Amount)              continue; @@ -5436,6 +5443,7 @@ void Spell::TakePower()  SpellCastResult Spell::CheckRuneCost() const  { +    /*      int32 runeCost = std::accumulate(m_powerCost.begin(), m_powerCost.end(), 0, [](int32 totalCost, SpellPowerCost const& cost)      {          return totalCost + (cost.Power == POWER_RUNES ? cost.Amount : 0); @@ -5458,12 +5466,14 @@ SpellCastResult Spell::CheckRuneCost() const      if (readyRunes < runeCost)          return SPELL_FAILED_NO_POWER;                       // not sure if result code is correct +    */      return SPELL_CAST_OK;  }  void Spell::TakeRunePower(bool didHit)  { +    /*      if (m_caster->GetTypeId() != TYPEID_PLAYER || m_caster->ToPlayer()->GetClass() != CLASS_DEATH_KNIGHT)          return; @@ -5483,6 +5493,7 @@ void Spell::TakeRunePower(bool didHit)              --runeCost;          }      } +    */  }  void Spell::TakeReagents() @@ -7257,12 +7268,14 @@ SpellCastResult Spell::CheckPower() const          }          //check rune cost only if a spell has PowerType == POWER_RUNES +        /*          if (cost.Power == POWER_RUNES)          {              SpellCastResult failReason = CheckRuneCost();              if (failReason != SPELL_CAST_OK)                  return failReason;          } +        */          // Check power amount          if (int32(unitCaster->GetPower(cost.Power)) < cost.Amount) diff --git a/src/server/game/Spells/SpellInfo.cpp b/src/server/game/Spells/SpellInfo.cpp index 1e4d11a5a81..9276801cc6a 100644 --- a/src/server/game/Spells/SpellInfo.cpp +++ b/src/server/game/Spells/SpellInfo.cpp @@ -4025,9 +4025,6 @@ Optional<SpellPowerCost> SpellInfo::CalcPowerCost(SpellPowerEntry const* power,                  case POWER_MANA:                      powerCost += int32(CalculatePct(unitCaster->GetCreateMana(), power->PowerCostPct));                      break; -                case POWER_ALTERNATE_POWER: -                    TC_LOG_ERROR("spells", "SpellInfo::CalcPowerCost: Unknown power type POWER_ALTERNATE_POWER in spell {}", Id); -                    return {};                  default:                  {                      if (PowerTypeEntry const* powerTypeEntry = sDB2Manager.GetPowerTypeEntry(Powers(power->PowerType))) diff --git a/src/server/scripts/Spells/spell_dk.cpp b/src/server/scripts/Spells/spell_dk.cpp index c37de92d958..f7ab1f1359c 100644 --- a/src/server/scripts/Spells/spell_dk.cpp +++ b/src/server/scripts/Spells/spell_dk.cpp @@ -97,9 +97,11 @@ class spell_dk_advantage_t10_4p : public AuraScript              if (!player  || caster->GetClass() != CLASS_DEATH_KNIGHT)                  return false; +            /*              for (uint8 i = 0; i < player->GetMaxPower(POWER_RUNES); ++i)                  if (player->GetRuneCooldown(i) == 0)                      return false; +                    */              return true;          } diff --git a/src/server/scripts/Spells/spell_mage.cpp b/src/server/scripts/Spells/spell_mage.cpp index 2db4a8676f3..26a6e3ae9bf 100644 --- a/src/server/scripts/Spells/spell_mage.cpp +++ b/src/server/scripts/Spells/spell_mage.cpp @@ -182,16 +182,6 @@ class spell_mage_arcane_barrage : public SpellScript              && ValidateSpellEffect({ { spellInfo->Id, EFFECT_1 } });      } -    void ConsumeArcaneCharges() -    { -        Unit* caster = GetCaster(); - -        // Consume all arcane charges -        if (int32 arcaneCharges = -caster->ModifyPower(POWER_ARCANE_CHARGES, -caster->GetMaxPower(POWER_ARCANE_CHARGES), false)) -            if (AuraEffect const* auraEffect = caster->GetAuraEffect(SPELL_MAGE_ARCANE_BARRAGE_R3, EFFECT_0, caster->GetGUID())) -                caster->CastSpell(caster, SPELL_MAGE_ARCANE_BARRAGE_ENERGIZE, { SPELLVALUE_BASE_POINT0, arcaneCharges * auraEffect->GetAmount() / 100 }); -    } -      void HandleEffectHitTarget(SpellEffIndex /*effIndex*/)      {          if (GetHitUnit()->GetGUID() != _primaryTarget) @@ -207,7 +197,6 @@ class spell_mage_arcane_barrage : public SpellScript      {          OnEffectHitTarget += SpellEffectFn(spell_mage_arcane_barrage::HandleEffectHitTarget, EFFECT_0, SPELL_EFFECT_SCHOOL_DAMAGE);          OnEffectLaunchTarget += SpellEffectFn(spell_mage_arcane_barrage::MarkPrimaryTarget, EFFECT_1, SPELL_EFFECT_DUMMY); -        AfterCast += SpellCastFn(spell_mage_arcane_barrage::ConsumeArcaneCharges);      }      ObjectGuid _primaryTarget; diff --git a/src/server/scripts/Spells/spell_paladin.cpp b/src/server/scripts/Spells/spell_paladin.cpp index 4d3cc799b87..5150b674434 100644 --- a/src/server/scripts/Spells/spell_paladin.cpp +++ b/src/server/scripts/Spells/spell_paladin.cpp @@ -465,9 +465,6 @@ class spell_pal_divine_purpose : public AuraScript          if (!procSpell)              return false; -        if (!procSpell->HasPowerTypeCost(POWER_HOLY_POWER)) -            return false; -          return roll_chance_i(aurEff->GetAmount());      } @@ -636,14 +633,6 @@ class spell_pal_fist_of_justice : public AuraScript          return ValidateSpellInfo({ SPELL_PALADIN_HAMMER_OF_JUSTICE });      } -    bool CheckEffectProc(AuraEffect const* /*aurEff*/, ProcEventInfo& eventInfo) -    { -        if (Spell const* procSpell = eventInfo.GetProcSpell()) -            return procSpell->HasPowerTypeCost(POWER_HOLY_POWER); - -        return false; -    } -      void HandleEffectProc(AuraEffect* aurEff, ProcEventInfo& /*procInfo*/)      {          int32 value = aurEff->GetAmount() / 10; @@ -653,7 +642,6 @@ class spell_pal_fist_of_justice : public AuraScript      void Register() override      { -        DoCheckEffectProc += AuraCheckEffectProcFn(spell_pal_fist_of_justice::CheckEffectProc, EFFECT_0, SPELL_AURA_DUMMY);          OnEffectProc += AuraEffectProcFn(spell_pal_fist_of_justice::HandleEffectProc, EFFECT_0, SPELL_AURA_DUMMY);      }  }; @@ -1255,16 +1243,6 @@ class spell_pal_righteous_protector : public AuraScript          return ValidateSpellInfo({ SPELL_PALADIN_AVENGING_WRATH, SPELL_PALADIN_GUARDIAN_OF_ANCIENT_KINGS });      } -    bool CheckEffectProc(AuraEffect const* /*aurEff*/, ProcEventInfo& eventInfo) -    { -        if (SpellInfo const* procSpell = eventInfo.GetSpellInfo()) -            _baseHolyPowerCost = procSpell->CalcPowerCost(POWER_HOLY_POWER, false, eventInfo.GetActor(), eventInfo.GetSchoolMask()); -        else -            _baseHolyPowerCost.reset(); - -        return _baseHolyPowerCost.has_value(); -    } -      void HandleEffectProc(AuraEffect* aurEff, ProcEventInfo& /*eventInfo*/)      {          int32 value = aurEff->GetAmount() * 100 * _baseHolyPowerCost->Amount; @@ -1275,7 +1253,6 @@ class spell_pal_righteous_protector : public AuraScript      void Register() override      { -        DoCheckEffectProc += AuraCheckEffectProcFn(spell_pal_righteous_protector::CheckEffectProc, EFFECT_0, SPELL_AURA_DUMMY);          OnEffectProc += AuraEffectProcFn(spell_pal_righteous_protector::HandleEffectProc, EFFECT_0, SPELL_AURA_DUMMY);      } @@ -1306,9 +1283,6 @@ class spell_pal_selfless_healer : public AuraScript  {      bool CheckEffectProc(AuraEffect const* /*aurEff*/, ProcEventInfo& eventInfo)      { -        if (Spell const* procSpell = eventInfo.GetProcSpell()) -            return procSpell->HasPowerTypeCost(POWER_HOLY_POWER); -          return false;      } diff --git a/src/server/scripts/Spells/spell_shaman.cpp b/src/server/scripts/Spells/spell_shaman.cpp index a48072df244..408c3b71319 100644 --- a/src/server/scripts/Spells/spell_shaman.cpp +++ b/src/server/scripts/Spells/spell_shaman.cpp @@ -143,20 +143,11 @@ class spell_sha_aftershock : public AuraScript      bool CheckProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)      { -        if (Spell const* procSpell = eventInfo.GetProcSpell()) -            if (Optional<int32> cost = procSpell->GetPowerTypeCostAmount(POWER_MAELSTROM)) -                return cost > 0 && roll_chance_i(aurEff->GetAmount()); -          return false;      }      void HandleEffectProc(AuraEffect* /*aurEff*/, ProcEventInfo& eventInfo)      { -        Spell const* procSpell = eventInfo.GetProcSpell(); -        int32 energize = *procSpell->GetPowerTypeCostAmount(POWER_MAELSTROM); - -        eventInfo.GetActor()->CastSpell(eventInfo.GetActor(), SPELL_SHAMAN_AFTERSHOCK_ENERGIZE, CastSpellExtraArgs(energize) -            .AddSpellMod(SPELLVALUE_BASE_POINT0, energize));      }      void Register() override | 
