cgunburrowhandler.cpp
来自「天之炼狱1服务器端源文件游戏服务端不完整」· C++ 代码 · 共 70 行
CPP
70 行
//////////////////////////////////////////////////////////////////////////////// Filename : CGUnburrowHandler.cpp// Written By : reiot@ewestsoft.com , elca@ewestsoft.com// Description ://////////////////////////////////////////////////////////////////////////////#include "CGUnburrow.h"#ifdef __GAME_SERVER__ #include "GamePlayer.h" #include "Zone.h" #include "ZoneUtil.h" #include "Gpackets/GCUnburrowFail.h"#endif////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////void CGUnburrowHandler::execute (CGUnburrow* pPacket , Player* pPlayer) throw (ProtocolException , Error){ __BEGIN_TRY __BEGIN_DEBUG_EX #ifdef __GAME_SERVER__ Assert(pPacket != NULL); Assert(pPlayer != NULL); GamePlayer* pGamePlayer = dynamic_cast<GamePlayer*>(pPlayer); if (pGamePlayer->getPlayerStatus() == GPS_NORMAL) { // 捞 惑怕俊辑绰 农府贸啊 壳霸 肺爹登菌绢具 窍骨肺, NULL 捞 酒聪绢具 茄促. // PLAYER_INGAME 磊眉啊 农府贸 肺爹捞 己傍登菌澜阑 狼固茄促. Creature* pCreature = pGamePlayer->getCreature(); Assert(pCreature != NULL); if (pCreature->isDead()) return; Zone* pZone = NULL; if ((pZone = pCreature->getZone()) == NULL) return; int packetX = pPacket->getX(), packetY = pPacket->getY(); int x = pCreature->getX(), y = pCreature->getY(); int minX = max(0, x-1), maxX = min(x+1, pZone->getWidth()-1); int minY = max(0, y-1), maxY = min(y+1, pZone->getHeight()-1); if (!((minX <= packetX && maxX >= packetX) && (minY <= packetY && maxY >= packetY))) { GCUnburrowFail gcUnburrowFail; pGamePlayer->sendPacket(&gcUnburrowFail); return; } if (!pCreature->isFlag(Effect::EFFECT_CLASS_HIDE)) { GCUnburrowFail gcUnburrowFail; pGamePlayer->sendPacket(&gcUnburrowFail); return; } addUnburrowCreature(pZone, pCreature , pPacket->getX() , pPacket->getY() , pPacket->getDir()); }#endif __END_DEBUG_EX __END_CATCH}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?