diff --git a/server/gameserver/guide.cc b/server/gameserver/guide.cc index 3aade8e4..ac0b85ac 100644 --- a/server/gameserver/guide.cc +++ b/server/gameserver/guide.cc @@ -1,3 +1,20 @@ #include "precompile.h" #include "guide.h" +#include "human.h" +#include "room.h" + +#include "mt/GuideStep.h" + +void Guide::Init(Human* owner) +{ + owner_ = owner; + if (!owner_->room->IsNewBieRoom()) { + return; + } + if (mt::GuideStep::_steps.empty()) { + return; + } + curr_step_ = mt::GuideStep::_steps.at(0); + curr_step_idx_ = 0; +} diff --git a/server/gameserver/guide.h b/server/gameserver/guide.h index 8cf5a2bb..d4451a24 100644 --- a/server/gameserver/guide.h +++ b/server/gameserver/guide.h @@ -1,12 +1,19 @@ #pragma once +namespace mt +{ + class GuideStep; +} + class Human; class Guide { public: - void Init(Human* owner) { owner_ = owner; }; + void Init(Human* owner); private: Human* owner_ = nullptr; + int curr_step_idx_ = 0; + const mt::GuideStep* curr_step_ = nullptr; };