diff --git a/server/gameserver/android.cc b/server/gameserver/android.cc index e406bed2..5bb6a7ef 100644 --- a/server/gameserver/android.cc +++ b/server/gameserver/android.cc @@ -127,7 +127,8 @@ void Android::InternalUpdate(int delta_time) room->grid_service->MoveCreature(this); return; } - if (GetMovement()->GetPathSize() > 0) { + if (GetMovement()->GetPathSize() > 0 || + HasBuffEffect(kBET_Sprint)) { Global::Instance()->verify_set_pos = 1; UpdateMove(); #ifdef DEBUG1 diff --git a/server/gameserver/base_agent.cc b/server/gameserver/base_agent.cc index b4ef05b2..cf5515e2 100644 --- a/server/gameserver/base_agent.cc +++ b/server/gameserver/base_agent.cc @@ -312,9 +312,15 @@ bool BaseAgent::CanUseSkill(int skill_id) int BaseAgent::GetUseableSkill(Creature* target) { + if (!target->IsPlayer()) { + return -1; + } if (GetOwner()->IsHuman()) { Skill* skill = GetOwner()->GetMainSkill(); if (skill && GetOwner()->CanUseSkill(skill->GetSkillId())) { + if (skill->GetMinorType()) { + return -1; + } return skill->GetSkillId(); } } diff --git a/server/gameserver/buff/sprint.cc b/server/gameserver/buff/sprint.cc index 4d488b05..92f8ad7a 100644 --- a/server/gameserver/buff/sprint.cc +++ b/server/gameserver/buff/sprint.cc @@ -26,6 +26,7 @@ void SprintBuff::Activate() void SprintBuff::Deactivate() { + int i = 0; } void SprintBuff::SprintMove() diff --git a/server/gameserver/mt/Robot.cc b/server/gameserver/mt/Robot.cc index 40b1911b..148c0aff 100644 --- a/server/gameserver/mt/Robot.cc +++ b/server/gameserver/mt/Robot.cc @@ -39,6 +39,11 @@ namespace mt int try_count = 0; while (true) { const mt::Robot* tmp_robot_meta = raw_list[rand() % raw_list.size()]; +#ifdef DEBUG1 + if (tmp_robot_meta->hero_id() != 30100) { + continue; + } +#endif if (refreshed_robot_set.find(tmp_robot_meta->id()) == refreshed_robot_set.end()) { return tmp_robot_meta; }