136 lines
2.5 KiB
C++
136 lines
2.5 KiB
C++
#include "precompile.h"
|
|
|
|
#include "skillhelper.h"
|
|
|
|
std::map<int, int> SkillHelper::magic_skill_hash_;
|
|
std::map<int, int> SkillHelper::skill_magic_hash_;
|
|
|
|
static int GetMagicSkillId(int magic_id)
|
|
{
|
|
switch (magic_id) {
|
|
case MAGIC_AXXF:
|
|
{
|
|
return 20101;
|
|
}
|
|
break;
|
|
case MAGIC_SJYDHX:
|
|
{
|
|
return 20701;
|
|
}
|
|
break;
|
|
case MAGIC_HLYZ:
|
|
{
|
|
return 20801;
|
|
}
|
|
break;
|
|
case MAGIC_YMCZ:
|
|
{
|
|
return 20901;
|
|
}
|
|
break;
|
|
case MAGIC_LDFY:
|
|
{
|
|
return 21001;
|
|
}
|
|
break;
|
|
case MAGIC_HJHX:
|
|
{
|
|
return 20201;
|
|
}
|
|
break;
|
|
case MAGIC_FG:
|
|
{
|
|
return 20401;
|
|
}
|
|
break;
|
|
case MAGIC_WLFB:
|
|
{
|
|
return 20601;
|
|
}
|
|
break;
|
|
case MAGIC_YLZ:
|
|
{
|
|
return 20301;
|
|
}
|
|
break;
|
|
case MAGIC_YS:
|
|
{
|
|
return 20501;
|
|
}
|
|
break;
|
|
default:
|
|
{
|
|
return 0;
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
|
|
void SkillHelper::Init()
|
|
{
|
|
for (int i = MAGIC_NONE; i < MAGIC_END; ++i) {
|
|
if (i != 0) {
|
|
int skill_id = GetMagicSkillId(i);
|
|
if (skill_id == 0) {
|
|
abort();
|
|
}
|
|
magic_skill_hash_[i] = skill_id;
|
|
skill_magic_hash_[skill_id] = i;
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
void SkillHelper::GetMagicIdAndBaseSkillId(int skill_id, int& magic_id, int& base_skill_id)
|
|
{
|
|
magic_id = 0;
|
|
base_skill_id = 0;
|
|
for (auto& pair : skill_magic_hash_) {
|
|
if (std::abs(skill_id - pair.first) < MAX_SKILL_LV) {
|
|
magic_id = pair.second;
|
|
base_skill_id = pair.first;
|
|
break;
|
|
}
|
|
if (std::abs(skill_id - pair.first - 10000) < MAX_SKILL_LV) {
|
|
magic_id = pair.second;
|
|
base_skill_id = pair.first + 10000;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
int SkillHelper::GetAxxfDmg(const MetaData::Skill* skill_meta)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
int SkillHelper::GetCmxdDmg(const MetaData::Skill* skill_meta)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
int SkillHelper::GetCmxdDistance(const MetaData::Skill* skill_meta)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
int SkillHelper::GetJshxHp(const MetaData::Skill* skill_meta)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
int SkillHelper::GetSwzbRadius(const MetaData::Skill* skill_meta)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
int SkillHelper::GetSwzbDmg(const MetaData::Skill* skill_meta)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
int SkillHelper::GetSwzbPullDistance(const MetaData::Skill* skill_meta)
|
|
{
|
|
return 0;
|
|
}
|