diff options
author | Ovahlord <dreadkiller@gmx.de> | 2023-11-19 11:21:00 +0100 |
---|---|---|
committer | Ovahlord <dreadkiller@gmx.de> | 2023-11-19 11:21:00 +0100 |
commit | 4eb2f72ddb0c5af7e193f1c18107683a00af87f8 (patch) | |
tree | 805552104364a23ef18f155c2a01f8516c95a91f /src | |
parent | a70cd5105eb421ce2fd2c8a056822a79601279db (diff) |
Core/Units: use the retail power type enums and adjusted classic specific names as sniffs imply that there actually are 26 power types
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Entities/Player/Player.cpp | 33 | ||||
-rw-r--r-- | src/server/game/Entities/Unit/Unit.h | 31 | ||||
-rw-r--r-- | src/server/game/Miscellaneous/SharedDefines.h | 20 | ||||
-rw-r--r-- | src/server/game/Miscellaneous/enuminfo_SharedDefines.cpp | 19 |
4 files changed, 71 insertions, 32 deletions
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index df97ec36c11..56bd6e8cef1 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -1779,24 +1779,27 @@ void Player::Regenerate(Powers power) RATE_POWER_FOCUS, RATE_POWER_ENERGY, MAX_RATES, // happiness + MAX_RATES, // runes RATE_POWER_RUNIC_POWER_LOSS, - 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 + RATE_POWER_SOUL_SHARDS, + RATE_POWER_LUNAR_POWER, + RATE_POWER_HOLY_POWER, + MAX_RATES, // alternate + RATE_POWER_MAELSTROM, + RATE_POWER_CHI, + RATE_POWER_INSANITY, + RATE_POWER_COMBO_POINTS_LOSS, // combo points + MAX_RATES, // demonic fury, unused + RATE_POWER_ARCANE_CHARGES, + RATE_POWER_FURY, + RATE_POWER_PAIN, + RATE_POWER_ESSENCE, + MAX_RATES, // runes MAX_RATES, // runes MAX_RATES, // runes - MAX_RATES // runes + MAX_RATES, // alternate + MAX_RATES, // alternate + MAX_RATES, // alternate }; if (RatesForPower[power] != MAX_RATES) diff --git a/src/server/game/Entities/Unit/Unit.h b/src/server/game/Entities/Unit/Unit.h index 96c3ae25602..1960b51331e 100644 --- a/src/server/game/Entities/Unit/Unit.h +++ b/src/server/game/Entities/Unit/Unit.h @@ -178,24 +178,27 @@ enum UnitMods UNIT_MOD_FOCUS, UNIT_MOD_ENERGY, UNIT_MOD_HAPPINESS, + UNIT_MOD_RUNES, UNIT_MOD_RUNIC_POWER, - 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_SOUL_SHARDS, + UNIT_MOD_LUNAR_POWER, + UNIT_MOD_HOLY_POWER, + UNIT_MOD_ALTERNATE, + UNIT_MOD_MAELSTROM, + UNIT_MOD_CHI, + UNIT_MOD_INSANITY, 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_DEMONIC_FURY, + UNIT_MOD_ARCANE_CHARGES, + UNIT_MOD_FURY, + UNIT_MOD_PAIN, + UNIT_MOD_ESSENCE, 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, @@ -215,7 +218,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_RUNE_UNHOLY + 1 + UNIT_MOD_POWER_END = UNIT_MOD_ALTERNATE_MOUNT + 1 }; static_assert(UNIT_MOD_POWER_END - UNIT_MOD_POWER_START == MAX_POWERS, "UnitMods powers section does not match Powers enum!"); diff --git a/src/server/game/Miscellaneous/SharedDefines.h b/src/server/game/Miscellaneous/SharedDefines.h index b2a2ecb4c85..fbd84473826 100644 --- a/src/server/game/Miscellaneous/SharedDefines.h +++ b/src/server/game/Miscellaneous/SharedDefines.h @@ -283,12 +283,28 @@ enum Powers : int8 POWER_FOCUS = 2, // TITLE Focus POWER_ENERGY = 3, // TITLE Energy POWER_HAPPINESS = 4, // TITLE Happiness - POWER_RUNIC_POWER = 5, // TITLE Runic Power + 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_COMBO_POINTS = 14, // TITLE Combo Points + 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_RUNE_BLOOD = 20, // TITLE Blood Runes POWER_RUNE_FROST = 21, // TITLE Frost Runes POWER_RUNE_UNHOLY = 22, // TITLE Unholy Runes - MAX_POWERS = 23, // SKIP + 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 POWER_ALL = 127 // SKIP }; diff --git a/src/server/game/Miscellaneous/enuminfo_SharedDefines.cpp b/src/server/game/Miscellaneous/enuminfo_SharedDefines.cpp index bb1a8d8068e..82153b4529a 100644 --- a/src/server/game/Miscellaneous/enuminfo_SharedDefines.cpp +++ b/src/server/game/Miscellaneous/enuminfo_SharedDefines.cpp @@ -111,11 +111,28 @@ TC_API_EXPORT EnumText EnumUtils<Powers>::ToString(Powers value) case POWER_RAGE: return { "POWER_RAGE", "Rage", "" }; 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_HAPPINESS: return { "POWER_HAPPINESS", "Happiness", "" }; + 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_COMBO_POINTS: return { "POWER_COMBO_POINTS", "Combo Points", "" }; + 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"); } } |