aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Entities/Player/Player.cpp33
-rw-r--r--src/server/game/Entities/Unit/Unit.h31
-rw-r--r--src/server/game/Miscellaneous/SharedDefines.h20
-rw-r--r--src/server/game/Miscellaneous/enuminfo_SharedDefines.cpp19
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");
}
}