aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Entities/Object/Object.cpp4
-rw-r--r--src/server/game/Entities/Player/Player.cpp62
-rw-r--r--src/server/game/Entities/Unit/StatSystem.cpp10
-rw-r--r--src/server/game/Entities/Unit/Unit.cpp20
-rw-r--r--src/server/game/Entities/Unit/Unit.h37
-rw-r--r--src/server/game/Miscellaneous/SharedDefines.h24
-rw-r--r--src/server/game/Miscellaneous/enuminfo_SharedDefines.cpp62
-rw-r--r--src/server/game/Spells/Auras/SpellAuraEffects.cpp6
-rw-r--r--src/server/game/Spells/Spell.cpp19
-rw-r--r--src/server/game/Spells/SpellInfo.cpp3
-rw-r--r--src/server/scripts/Spells/spell_dk.cpp2
-rw-r--r--src/server/scripts/Spells/spell_mage.cpp11
-rw-r--r--src/server/scripts/Spells/spell_paladin.cpp26
-rw-r--r--src/server/scripts/Spells/spell_shaman.cpp9
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