diff --git a/server/gameserver/guide.cc b/server/gameserver/guide.cc index 823f53e6..32305b59 100644 --- a/server/gameserver/guide.cc +++ b/server/gameserver/guide.cc @@ -79,9 +79,9 @@ void Guide::ProcMoveTarget() if (!curr_step_meta_->_params.empty()) { Position pos; pos.FromGlmVec3(std::get<1>(curr_step_meta_->_params.at(0))); - if (owner_->GetPos().Distance2D2(pos) < 5) { - owner_->room->xtimer.DeleteCurrentTimer(); + if (owner_->GetPos().Distance2D2(pos) < 30) { NextStep(); + owner_->room->xtimer.DeleteCurrentTimer(); } } else { NextStep(); @@ -108,7 +108,6 @@ void Guide::ProcMoveTargetAndPickup() int time = std::get<0>(tuple); glm::vec3 pos = std::get<1>(tuple); int equip_id = std::get<2>(tuple); - ++i; context->loots.push_back(-1); owner_->room->xtimer.SetTimeoutEx ( @@ -127,6 +126,7 @@ void Guide::ProcMoveTargetAndPickup() } }, &owner_->xtimer_attacher); + ++i; } } @@ -141,14 +141,14 @@ void Guide::ProcMoveTargetAndPickup() done = false; break; } - if (!owner_->room->GetEntityByUniId(loot_uniid)) { + if (owner_->room->GetEntityByUniId(loot_uniid)) { done = false; break; } } if (done) { - owner_->room->xtimer.DeleteCurrentTimer(); NextStep(); + owner_->room->xtimer.DeleteCurrentTimer(); } } }, @@ -223,8 +223,8 @@ void Guide::ProcKillEnemy() } } if (done) { - owner_->room->xtimer.DeleteCurrentTimer(); NextStep(); + owner_->room->xtimer.DeleteCurrentTimer(); } } }, @@ -299,8 +299,8 @@ void Guide::ProcUseSkillAndKillEnemy() } } if (done) { - owner_->room->xtimer.DeleteCurrentTimer(); NextStep(); + owner_->room->xtimer.DeleteCurrentTimer(); } } }, diff --git a/server/gameserver/hero.cc b/server/gameserver/hero.cc index 6763cfb9..aad7b8e5 100644 --- a/server/gameserver/hero.cc +++ b/server/gameserver/hero.cc @@ -336,8 +336,11 @@ void Hero::OnRemoveFromTargetPartObject(Entity* target) void Hero::InitAI() { - f8::BtMgr::Instance()->BtLoad(agent_, meta->bt().c_str()); - f8::BtMgr::Instance()->BtSetCurrent(agent_, meta->bt().c_str()); + if (room->IsNewBieRoom()) { + } else { + f8::BtMgr::Instance()->BtLoad(agent_, meta->bt().c_str()); + f8::BtMgr::Instance()->BtSetCurrent(agent_, meta->bt().c_str()); + } } void Hero::OnBattleStart(Room* room)