aboutsummaryrefslogtreecommitdiff
path: root/src/server/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/scripts')
-rw-r--r--src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_herald_volazj.cpp44
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp4
-rw-r--r--src/server/scripts/Spells/spell_druid.cpp2
3 files changed, 9 insertions, 41 deletions
diff --git a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_herald_volazj.cpp b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_herald_volazj.cpp
index 4a7b9cd7a80..41bce531c60 100644
--- a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_herald_volazj.cpp
+++ b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_herald_volazj.cpp
@@ -419,50 +419,18 @@ struct npc_twisted_visage : public ScriptedAI
void AttackStart(Unit* who) override
{
- switch (_playerClass)
- {
- case CLASS_SHAMAN:
- switch (_playerSpec)
- {
- case TALENT_SPEC_SHAMAN_ELEMENTAL:
- case TALENT_SPEC_SHAMAN_RESTORATION:
- ScriptedAI::AttackStartCaster(who, 25.0f);
- break;
- default:
- break;
- }
- break;
- case CLASS_DRUID:
- switch (_playerSpec)
- {
- case TALENT_SPEC_DRUID_BALANCE:
- case TALENT_SPEC_DRUID_RESTORATION:
- ScriptedAI::AttackStartCaster(who, 25.0f);
- break;
- default:
- break;
- }
- break;
- case CLASS_PRIEST:
- case CLASS_HUNTER:
- case CLASS_MAGE:
- case CLASS_WARLOCK:
- ScriptedAI::AttackStartCaster(who, 25.0f);
- break;
- case CLASS_ROGUE:
- ScriptedAI::AttackStart(who);
- break;
- default:
- ScriptedAI::AttackStart(who);
- break;
- }
+ ChrSpecializationEntry const* chrSpecialization = sChrSpecializationStore.LookupEntry(_playerSpec);
+ if (chrSpecialization && chrSpecialization->GetFlags().HasFlag(ChrSpecializationFlag::Ranged))
+ ScriptedAI::AttackStartCaster(who, 25.0f);
+ else
+ ScriptedAI::AttackStart(who);
}
void SetData(uint32 type, uint32 data) override
{
if (type == DATA_TWISTED_VISAGE_PLAYER_CLASS)
{
- if (data > CLASS_NONE && data <= CLASS_DRUID)
+ if (data > CLASS_NONE && data < MAX_CLASSES)
_playerClass = data;
}
else if (type == DATA_TWISTED_VISAGE_PLAYER_SPEC && _playerClass != CLASS_NONE)
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp
index ce9f385e625..e4d74a47faa 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp
@@ -1099,13 +1099,13 @@ class spell_sindragosa_unchained_magic : public SpellScript
continue;
ChrSpecializationEntry const* specialization = sChrSpecializationStore.LookupEntry(player->GetPrimarySpecialization());
- if (specialization->Role == 1)
+ if (specialization->GetRole() == ChrSpecializationRole::Healer)
{
healers.push_back(target);
continue;
}
- if (specialization->Flags & CHR_SPECIALIZATION_FLAG_CASTER)
+ if (specialization->GetFlags().HasFlag(ChrSpecializationFlag::Caster))
casters.push_back(target);
}
diff --git a/src/server/scripts/Spells/spell_druid.cpp b/src/server/scripts/Spells/spell_druid.cpp
index f7b4ed8ce79..28258e7d1a7 100644
--- a/src/server/scripts/Spells/spell_druid.cpp
+++ b/src/server/scripts/Spells/spell_druid.cpp
@@ -804,7 +804,7 @@ class spell_dru_innervate : public SpellScript
return SPELL_FAILED_BAD_TARGETS;
ChrSpecializationEntry const* spec = sChrSpecializationStore.LookupEntry(target->GetPrimarySpecialization());
- if (!spec || spec->Role != 1)
+ if (!spec || spec->GetRole() != ChrSpecializationRole::Healer)
return SPELL_FAILED_BAD_TARGETS;
return SPELL_CAST_OK;