Add bool EQEmu::IsSpecializedSkill(SkillUseTypes skill)

This commit is contained in:
Michael Cook (mackal) 2014-09-25 21:40:31 -04:00
parent 61b784e96e
commit 0f12a74074
3 changed files with 23 additions and 0 deletions

View File

@ -38,3 +38,19 @@ bool EQEmu::IsTradeskill(SkillUseTypes skill)
return false;
}
}
bool EQEmu::IsSpecializedSkill(SkillUseTypes skill)
{
// this could be a simple if, but if this is more portable if any IDs change (probably won't)
// or any other specialized are added (also unlikely)
switch (skill) {
case SkillSpecializeAbjure:
case SkillSpecializeAlteration:
case SkillSpecializeConjuration:
case SkillSpecializeDivination:
case SkillSpecializeEvocation:
return true;
default:
return false;
}
}

View File

@ -263,6 +263,7 @@ typedef enum {
// for skill related helper functions
namespace EQEmu {
bool IsTradeskill(SkillUseTypes skill);
bool IsSpecializedSkill(SkillUseTypes skill);
}
#endif

View File

@ -27,6 +27,7 @@ class SkillsUtilsTest: public Test::Suite {
public:
SkillsUtilsTest() {
TEST_ADD(SkillsUtilsTest::IsTradeskill);
TEST_ADD(SkillsUtilsTest::IsSpecializedSkill);
}
~SkillsUtilsTest() {
@ -37,6 +38,11 @@ public:
TEST_ASSERT(EQEmu::IsTradeskill(SkillPottery));
TEST_ASSERT(!EQEmu::IsTradeskill(SkillParry));
}
void IsSpecializedSkill() {
TEST_ASSERT(EQEmu::IsSpecializedSkill(SkillSpecializeConjuration));
TEST_ASSERT(!EQEmu::IsSpecializedSkill(SkillConjuration))
}
};
#endif