mirror of
https://github.com/araxiaonline/TrinityCore.git
synced 2026-06-13 03:32:28 -04:00
Core/Misc: Move TalentSpecialization together with other db2 enums and rename it to ChrSpecialization
This commit is contained in:
@@ -299,6 +299,48 @@ enum class ChrSpecializationRole : int8
|
||||
Dps = 2
|
||||
};
|
||||
|
||||
enum ChrSpecialization : uint32
|
||||
{
|
||||
MageArcane = 62,
|
||||
MageFire = 63,
|
||||
MageFrost = 64,
|
||||
PaladinHoly = 65,
|
||||
PaladinProtection = 66,
|
||||
PaladinRetribution = 70,
|
||||
WarriorArms = 71,
|
||||
WarriorFury = 72,
|
||||
WarriorProtection = 73,
|
||||
DruidBalance = 102,
|
||||
DruidFeral = 103,
|
||||
DruidGuardian = 104,
|
||||
DruidRestoration = 105,
|
||||
DeathKnightBlood = 250,
|
||||
DeathKnightFrost = 251,
|
||||
DeathKnightUnholy = 252,
|
||||
HunterBeastMastery = 253,
|
||||
HunterMarksmanship = 254,
|
||||
HunterSurvival = 255,
|
||||
PriestDiscipline = 256,
|
||||
PriestHoly = 257,
|
||||
PriestShadow = 258,
|
||||
RogueAssassination = 259,
|
||||
RogueOutlaw = 260,
|
||||
RogueSubtely = 261,
|
||||
ShamanElemental = 262,
|
||||
ShamanEnhancement = 263,
|
||||
ShamanRestoration = 264,
|
||||
WarlockAffliction = 265,
|
||||
WarlockDemonology = 266,
|
||||
WarlockDestruction = 267,
|
||||
MonkBrewmaster = 268,
|
||||
MonkWindwalker = 269,
|
||||
MonkMistweaver = 270,
|
||||
DemonHunterHavoc = 577,
|
||||
DemonHunterVengeance = 581,
|
||||
EvokerDevastation = 1467,
|
||||
EvokerPreservation = 1468
|
||||
};
|
||||
|
||||
enum class ContentTuningCalcType : int32
|
||||
{
|
||||
Base = 0,
|
||||
|
||||
@@ -205,46 +205,6 @@ struct StoredAuraTeleportLocation
|
||||
} State;
|
||||
};
|
||||
|
||||
enum TalentSpecialization // talent tabs
|
||||
{
|
||||
TALENT_SPEC_MAGE_ARCANE = 62,
|
||||
TALENT_SPEC_MAGE_FIRE = 63,
|
||||
TALENT_SPEC_MAGE_FROST = 64,
|
||||
TALENT_SPEC_PALADIN_HOLY = 65,
|
||||
TALENT_SPEC_PALADIN_PROTECTION = 66,
|
||||
TALENT_SPEC_PALADIN_RETRIBUTION = 70,
|
||||
TALENT_SPEC_WARRIOR_ARMS = 71,
|
||||
TALENT_SPEC_WARRIOR_FURY = 72,
|
||||
TALENT_SPEC_WARRIOR_PROTECTION = 73,
|
||||
TALENT_SPEC_DRUID_BALANCE = 102,
|
||||
TALENT_SPEC_DRUID_CAT = 103,
|
||||
TALENT_SPEC_DRUID_BEAR = 104,
|
||||
TALENT_SPEC_DRUID_RESTORATION = 105,
|
||||
TALENT_SPEC_DEATHKNIGHT_BLOOD = 250,
|
||||
TALENT_SPEC_DEATHKNIGHT_FROST = 251,
|
||||
TALENT_SPEC_DEATHKNIGHT_UNHOLY = 252,
|
||||
TALENT_SPEC_HUNTER_BEASTMASTER = 253,
|
||||
TALENT_SPEC_HUNTER_MARKSMAN = 254,
|
||||
TALENT_SPEC_HUNTER_SURVIVAL = 255,
|
||||
TALENT_SPEC_PRIEST_DISCIPLINE = 256,
|
||||
TALENT_SPEC_PRIEST_HOLY = 257,
|
||||
TALENT_SPEC_PRIEST_SHADOW = 258,
|
||||
TALENT_SPEC_ROGUE_ASSASSINATION = 259,
|
||||
TALENT_SPEC_ROGUE_COMBAT = 260,
|
||||
TALENT_SPEC_ROGUE_SUBTLETY = 261,
|
||||
TALENT_SPEC_SHAMAN_ELEMENTAL = 262,
|
||||
TALENT_SPEC_SHAMAN_ENHANCEMENT = 263,
|
||||
TALENT_SPEC_SHAMAN_RESTORATION = 264,
|
||||
TALENT_SPEC_WARLOCK_AFFLICTION = 265,
|
||||
TALENT_SPEC_WARLOCK_DEMONOLOGY = 266,
|
||||
TALENT_SPEC_WARLOCK_DESTRUCTION = 267,
|
||||
TALENT_SPEC_MONK_BREWMASTER = 268,
|
||||
TALENT_SPEC_MONK_BATTLEDANCER = 269,
|
||||
TALENT_SPEC_MONK_MISTWEAVER = 270,
|
||||
TALENT_SPEC_DEMON_HUNTER_HAVOC = 577,
|
||||
TALENT_SPEC_DEMON_HUNTER_VENGEANCE = 581
|
||||
};
|
||||
|
||||
enum SpecResetType
|
||||
{
|
||||
SPEC_RESET_TALENTS = 0,
|
||||
|
||||
@@ -443,7 +443,7 @@ struct npc_twisted_visage : public ScriptedAI
|
||||
case CLASS_WARRIOR:
|
||||
switch (data)
|
||||
{
|
||||
case TALENT_SPEC_WARRIOR_ARMS:
|
||||
case ChrSpecialization::WarriorArms:
|
||||
_scheduler.Schedule(3s, [this](TaskContext mortalStrike)
|
||||
{
|
||||
DoCastVictim(SPELL_TWISTED_VISAGE_MORTAL_STRIKE);
|
||||
@@ -455,7 +455,7 @@ struct npc_twisted_visage : public ScriptedAI
|
||||
});
|
||||
break;
|
||||
default:
|
||||
case TALENT_SPEC_WARRIOR_FURY:
|
||||
case ChrSpecialization::WarriorFury:
|
||||
_scheduler.Schedule(2s, [this](TaskContext intercept)
|
||||
{
|
||||
if (!me->IsWithinCombatRange(me->GetVictim(), 8.0f))
|
||||
@@ -471,7 +471,7 @@ struct npc_twisted_visage : public ScriptedAI
|
||||
bloodthirst.Repeat(3s, 5s);
|
||||
});
|
||||
break;
|
||||
case TALENT_SPEC_WARRIOR_PROTECTION:
|
||||
case ChrSpecialization::WarriorProtection:
|
||||
_scheduler.Schedule(5s, [this](TaskContext thunderClap)
|
||||
{
|
||||
DoCastSelf(SPELL_TWISTED_VISAGE_THUNDER_CLAP);
|
||||
@@ -487,7 +487,7 @@ struct npc_twisted_visage : public ScriptedAI
|
||||
case CLASS_PALADIN:
|
||||
switch (data)
|
||||
{
|
||||
case TALENT_SPEC_PALADIN_PROTECTION:
|
||||
case ChrSpecialization::PaladinProtection:
|
||||
_scheduler.Schedule(5s, [this](TaskContext consecration)
|
||||
{
|
||||
DoCastSelf(SPELL_TWISTED_VISAGE_CONSECRATION);
|
||||
@@ -499,7 +499,7 @@ struct npc_twisted_visage : public ScriptedAI
|
||||
});
|
||||
break;
|
||||
default:
|
||||
case TALENT_SPEC_PALADIN_RETRIBUTION:
|
||||
case ChrSpecialization::PaladinRetribution:
|
||||
_scheduler.Schedule(5s, [this](TaskContext consecration)
|
||||
{
|
||||
DoCastSelf(SPELL_TWISTED_VISAGE_CONSECRATION);
|
||||
@@ -546,7 +546,7 @@ struct npc_twisted_visage : public ScriptedAI
|
||||
case CLASS_PRIEST:
|
||||
switch (data)
|
||||
{
|
||||
case TALENT_SPEC_PRIEST_SHADOW:
|
||||
case ChrSpecialization::PriestShadow:
|
||||
_scheduler.Schedule(5s, [this](TaskContext shadowWordPain)
|
||||
{
|
||||
DoCastVictim(SPELL_TWISTED_VISAGE_SHADOW_WORD_PAIN);
|
||||
@@ -600,7 +600,7 @@ struct npc_twisted_visage : public ScriptedAI
|
||||
switch (data)
|
||||
{
|
||||
default:
|
||||
case TALENT_SPEC_SHAMAN_ELEMENTAL:
|
||||
case ChrSpecialization::ShamanElemental:
|
||||
_scheduler.Schedule(5s, [this](TaskContext thunderstorm)
|
||||
{
|
||||
DoCastSelf(SPELL_TWISTED_VISAGE_THUNDERSTORM);
|
||||
@@ -611,14 +611,14 @@ struct npc_twisted_visage : public ScriptedAI
|
||||
lightningBolt.Repeat(3s, 5s);
|
||||
});
|
||||
break;
|
||||
case TALENT_SPEC_SHAMAN_ENHANCEMENT:
|
||||
case ChrSpecialization::ShamanEnhancement:
|
||||
_scheduler.Schedule(2s, [this](TaskContext earthShock)
|
||||
{
|
||||
DoCastVictim(SPELL_TWISTED_VISAGE_EARTH_SHOCK);
|
||||
earthShock.Repeat(3s, 5s);
|
||||
});
|
||||
break;
|
||||
case TALENT_SPEC_SHAMAN_RESTORATION:
|
||||
case ChrSpecialization::ShamanRestoration:
|
||||
_scheduler.Schedule(2s, [this](TaskContext earthShield)
|
||||
{
|
||||
if (Unit* target = DoSelectLowestHpFriendly(40.f))
|
||||
@@ -666,7 +666,7 @@ struct npc_twisted_visage : public ScriptedAI
|
||||
case CLASS_DRUID:
|
||||
switch (data)
|
||||
{
|
||||
case TALENT_SPEC_DRUID_BALANCE:
|
||||
case ChrSpecialization::DruidBalance:
|
||||
_scheduler.Schedule(2s, [this](TaskContext moonfire)
|
||||
{
|
||||
DoCastVictim(SPELL_TWISTED_VISAGE_MOONFIRE);
|
||||
@@ -677,8 +677,8 @@ struct npc_twisted_visage : public ScriptedAI
|
||||
wrath.Repeat(3s, 5s);
|
||||
});
|
||||
break;
|
||||
case TALENT_SPEC_DRUID_BEAR:
|
||||
case TALENT_SPEC_DRUID_CAT:
|
||||
case ChrSpecialization::DruidGuardian:
|
||||
case ChrSpecialization::DruidFeral:
|
||||
_scheduler.Schedule(1ms, [this](TaskContext /*catForm*/)
|
||||
{
|
||||
DoCastSelf(SPELL_TWISTED_VISAGE_CAT_FORM);
|
||||
@@ -693,7 +693,7 @@ struct npc_twisted_visage : public ScriptedAI
|
||||
});
|
||||
break;
|
||||
default:
|
||||
case TALENT_SPEC_DRUID_RESTORATION:
|
||||
case ChrSpecialization::DruidRestoration:
|
||||
_scheduler.Schedule(2s, [this](TaskContext lifebloom)
|
||||
{
|
||||
if (Unit* target = DoSelectLowestHpFriendly(40.f))
|
||||
|
||||
@@ -454,7 +454,7 @@ class spell_hun_multi_shot : public SpellScript
|
||||
void HandleOnHit()
|
||||
{
|
||||
// We need to check hunter's spec because it doesn't generate focus on other specs than MM
|
||||
if (GetCaster()->ToPlayer()->GetPrimarySpecialization() == TALENT_SPEC_HUNTER_MARKSMAN)
|
||||
if (GetCaster()->ToPlayer()->GetPrimarySpecialization() == ChrSpecialization::HunterMarksmanship)
|
||||
GetCaster()->CastSpell(GetCaster(), SPELL_HUNTER_MULTI_SHOT_FOCUS, true);
|
||||
}
|
||||
|
||||
|
||||
@@ -4342,7 +4342,7 @@ class spell_item_amalgams_seventh_spine : public AuraScript
|
||||
if (!target)
|
||||
return;
|
||||
|
||||
auto updateAuraIfInCorrectSpec = [&](TalentSpecialization spec, AmalgamsSeventhSpine aura)
|
||||
auto updateAuraIfInCorrectSpec = [&](ChrSpecialization spec, AmalgamsSeventhSpine aura)
|
||||
{
|
||||
if (target->GetPrimarySpecialization() != uint32(spec))
|
||||
target->RemoveAurasDueToSpell(aura);
|
||||
@@ -4353,20 +4353,20 @@ class spell_item_amalgams_seventh_spine : public AuraScript
|
||||
switch (target->GetClass())
|
||||
{
|
||||
case CLASS_MONK:
|
||||
updateAuraIfInCorrectSpec(TALENT_SPEC_MONK_MISTWEAVER, SPELL_FRAGILE_ECHOES_MONK);
|
||||
updateAuraIfInCorrectSpec(ChrSpecialization::MonkMistweaver, SPELL_FRAGILE_ECHOES_MONK);
|
||||
break;
|
||||
case CLASS_SHAMAN:
|
||||
updateAuraIfInCorrectSpec(TALENT_SPEC_SHAMAN_RESTORATION, SPELL_FRAGILE_ECHOES_SHAMAN);
|
||||
updateAuraIfInCorrectSpec(ChrSpecialization::ShamanRestoration, SPELL_FRAGILE_ECHOES_SHAMAN);
|
||||
break;
|
||||
case CLASS_PRIEST:
|
||||
updateAuraIfInCorrectSpec(TALENT_SPEC_PRIEST_DISCIPLINE, SPELL_FRAGILE_ECHOES_PRIEST_DISCIPLINE);
|
||||
updateAuraIfInCorrectSpec(TALENT_SPEC_PRIEST_HOLY, SPELL_FRAGILE_ECHOES_PRIEST_HOLY);
|
||||
updateAuraIfInCorrectSpec(ChrSpecialization::PriestDiscipline, SPELL_FRAGILE_ECHOES_PRIEST_DISCIPLINE);
|
||||
updateAuraIfInCorrectSpec(ChrSpecialization::PriestHoly, SPELL_FRAGILE_ECHOES_PRIEST_HOLY);
|
||||
break;
|
||||
case CLASS_PALADIN:
|
||||
updateAuraIfInCorrectSpec(TALENT_SPEC_PALADIN_HOLY, SPELL_FRAGILE_ECHOES_PALADIN);
|
||||
updateAuraIfInCorrectSpec(ChrSpecialization::PaladinHoly, SPELL_FRAGILE_ECHOES_PALADIN);
|
||||
break;
|
||||
case CLASS_DRUID:
|
||||
updateAuraIfInCorrectSpec(TALENT_SPEC_DRUID_RESTORATION, SPELL_FRAGILE_ECHOES_DRUID);
|
||||
updateAuraIfInCorrectSpec(ChrSpecialization::DruidRestoration, SPELL_FRAGILE_ECHOES_DRUID);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
||||
@@ -429,7 +429,7 @@ struct areatrigger_pal_consecration : AreaTriggerAI
|
||||
if (Unit* caster = at->GetCaster())
|
||||
{
|
||||
// 243597 is also being cast as protection, but CreateObject is not sent, either serverside areatrigger for this aura or unused - also no visual is seen
|
||||
if (unit == caster && caster->IsPlayer() && caster->ToPlayer()->GetPrimarySpecialization() == TALENT_SPEC_PALADIN_PROTECTION)
|
||||
if (unit == caster && caster->IsPlayer() && caster->ToPlayer()->GetPrimarySpecialization() == ChrSpecialization::PaladinProtection)
|
||||
caster->CastSpell(caster, SPELL_PALADIN_CONSECRATION_PROTECTION_AURA);
|
||||
|
||||
if (caster->IsValidAttackTarget(unit))
|
||||
|
||||
@@ -773,7 +773,7 @@ class spell_sha_flametongue_weapon : public SpellScript
|
||||
{
|
||||
Player* player = GetCaster()->ToPlayer();
|
||||
uint8 slot = EQUIPMENT_SLOT_MAINHAND;
|
||||
if (player->GetPrimarySpecialization() == TALENT_SPEC_SHAMAN_ENHANCEMENT)
|
||||
if (player->GetPrimarySpecialization() == ChrSpecialization::ShamanEnhancement)
|
||||
slot = EQUIPMENT_SLOT_OFFHAND;
|
||||
|
||||
Item* targetItem = player->GetItemByPos(INVENTORY_SLOT_BAG_0, slot);
|
||||
|
||||
@@ -752,7 +752,7 @@ class spell_warr_victorious_state : public AuraScript
|
||||
|
||||
void HandleOnProc(AuraEffect* /*aurEff*/, ProcEventInfo& procInfo)
|
||||
{
|
||||
if (procInfo.GetActor()->GetTypeId() == TYPEID_PLAYER && procInfo.GetActor()->ToPlayer()->GetPrimarySpecialization() == TALENT_SPEC_WARRIOR_FURY)
|
||||
if (procInfo.GetActor()->GetTypeId() == TYPEID_PLAYER && procInfo.GetActor()->ToPlayer()->GetPrimarySpecialization() == ChrSpecialization::WarriorFury)
|
||||
PreventDefaultAction();
|
||||
|
||||
procInfo.GetActor()->GetSpellHistory()->ResetCooldown(SPELL_WARRIOR_IMPENDING_VICTORY, true);
|
||||
|
||||
Reference in New Issue
Block a user