This commit is contained in:
aozhiwei 2023-10-19 17:06:33 +08:00
parent 27564fa261
commit c45e63fb70

View File

@ -869,76 +869,64 @@ bool HeroAgent::InternalUseSkill(int skill_id, int& wait_time)
float skill_distance = GlmHelper::Norm(skill_dir);
GlmHelper::Normalize(skill_dir);
bool use_ok = false;
switch (skill->GetCurrSkillMeta()->GetMagicId()) {
case MAGIC_20101_HL:
{
owner_->DoSkill(skill->GetSkillId(), current_target_agent->GetUniId(), skill_dir, skill_distance);
return true;
use_ok = true;
}
break;
case MAGIC_20701_BAO:
{
owner_->DoSkill(skill->GetSkillId(), current_target_agent->GetUniId(), skill_dir, skill_distance);
return true;
use_ok = true;
}
break;
case MAGIC_20801_LONG:
{
owner_->DoSkill(skill->GetSkillId(), current_target_agent->GetUniId(), skill_dir, skill_distance);
return true;
use_ok = true;
}
break;
case MAGIC_20901_XIONG:
{
owner_->DoSkill(skill->GetSkillId(), current_target_agent->GetUniId(), skill_dir, skill_distance);
return true;
use_ok = true;
}
break;
case MAGIC_21001_NIU:
{
#if 0
owner_->DoSkill(skill->GetSkillId(), current_target_agent->GetUniId(), skill_dir, skill_distance);
return true;
#endif
abort();
}
break;
case MAGIC_20201_HX:
{
owner_->DoSkill(skill->GetSkillId(), current_target_agent->GetUniId(), skill_dir, skill_distance);
return true;
use_ok = true;
}
break;
case MAGIC_20401_MAO:
{
owner_->DoSkill(skill->GetSkillId(), current_target_agent->GetUniId(), skill_dir, skill_distance);
return true;
use_ok = true;
}
break;
case MAGIC_20601_DJS:
{
owner_->DoSkill(skill->GetSkillId(), current_target_agent->GetUniId(), skill_dir, skill_distance);
return true;
use_ok = true;
}
break;
case MAGIC_20301_XL:
{
skill_distance = 30;
owner_->DoSkill(skill->GetSkillId(), current_target_agent->GetUniId(), skill_dir, skill_distance);
return true;
skill_distance = a8::RandEx(20, 60);
use_ok = true;
}
break;
case MAGIC_20501_TZ:
{
owner_->DoSkill(skill->GetSkillId(), current_target_agent->GetUniId(), skill_dir, skill_distance);
return true;
use_ok = true;
}
break;
case MAGIC_60100_1_BOSS:
case MAGIC_60100_2_BOSS:
case MAGIC_60100_3_BOSS:
{
owner_->DoSkill(skill->GetSkillId(), current_target_agent->GetUniId(), skill_dir, skill_distance);
return true;
use_ok = true;
}
break;
default:
@ -946,6 +934,10 @@ bool HeroAgent::InternalUseSkill(int skill_id, int& wait_time)
}
break;
}
if (use_ok) {
owner_->DoSkill(skill->GetSkillId(), current_target_agent->GetUniId(), skill_dir, skill_distance);
return true;
}
}
return false;
}