diff --git a/server/gameserver/base_agent.cc b/server/gameserver/base_agent.cc index 956100bc..07ace4ee 100644 --- a/server/gameserver/base_agent.cc +++ b/server/gameserver/base_agent.cc @@ -325,12 +325,39 @@ int BaseAgent::GetUseableSkill(Creature* target) } #endif #endif - Skill* skill = GetOwner()->GetMainSkill(); - if (skill && GetOwner()->CanUseSkill(skill->GetSkillId())) { - if (skill->GetMinorType()) { - return -1; + if (GetOwner()->GetHeroMeta() && GetOwner()->GetHeroMeta()->id() == 60100) { + { + Skill* skill = GetOwner()->GetSkill(60101); + if (skill && GetOwner()->CanUseSkill(skill->GetSkillId())) { + if (!skill->GetMinorType()) { + return skill->GetSkillId(); + } + } + } + { + Skill* skill = GetOwner()->GetSkill(60111); + if (skill && GetOwner()->CanUseSkill(skill->GetSkillId())) { + if (!skill->GetMinorType()) { + return skill->GetSkillId(); + } + } + } + if (target->GetPos().Distance2D2(GetOwner()->GetPos()) < 100) { + Skill* skill = GetOwner()->GetSkill(60121); + if (skill && GetOwner()->CanUseSkill(skill->GetSkillId())) { + if (!skill->GetMinorType()) { + return skill->GetSkillId(); + } + } + } + } else { + Skill* skill = GetOwner()->GetMainSkill(); + if (skill && GetOwner()->CanUseSkill(skill->GetSkillId())) { + if (skill->GetMinorType()) { + return -1; + } + return skill->GetSkillId(); } - return skill->GetSkillId(); } return -1; } diff --git a/server/gameserver/mt/SkillNumber.cc b/server/gameserver/mt/SkillNumber.cc index 365cb308..24fa80a7 100644 --- a/server/gameserver/mt/SkillNumber.cc +++ b/server/gameserver/mt/SkillNumber.cc @@ -112,7 +112,7 @@ namespace mt } #ifdef DEBUG if (App::Instance()->instance_id == 6 || - App::Instance()->instance_id == 2) { + App::Instance()->instance_id == 100) { _float_cd = 6; } #endif