diff --git a/server/gameserver/framemaker.cc b/server/gameserver/framemaker.cc index c11cda5..084b42c 100644 --- a/server/gameserver/framemaker.cc +++ b/server/gameserver/framemaker.cc @@ -7,7 +7,7 @@ #include "metamgr.h" #include "car.h" -cs::SMUpdate* FrameMaker::MakeUpdateMsg(const Human* hum) +cs::SMUpdate* FrameMaker::MakeUpdateMsg(Human* hum) { cs::SMUpdate* msg = new cs::SMUpdate; { @@ -23,6 +23,11 @@ cs::SMUpdate* FrameMaker::MakeUpdateMsg(const Human* hum) abort(); } #endif + if (itr != hum && + itr->GetEntityType() == ET_Player && + ((Human*)itr)->HasBuffEffect(kBET_Fly)){ + continue; + } if (hum->IsPlayer()) { itr->FillMFObjectFull(room, (Human*)hum, msg->add_full_objects()); } diff --git a/server/gameserver/framemaker.h b/server/gameserver/framemaker.h index a8515a2..9ee74f6 100644 --- a/server/gameserver/framemaker.h +++ b/server/gameserver/framemaker.h @@ -8,5 +8,5 @@ class FrameMaker { public: - cs::SMUpdate* MakeUpdateMsg(const Human* hum); + cs::SMUpdate* MakeUpdateMsg(Human* hum); };