game2006/server/gameserver/skillhelper.cc
aozhiwei ff6f1cd69f 1
2022-10-06 16:23:21 +08:00

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;
}