summaryrefslogtreecommitdiff
path: root/src/net/charserverhandler.cpp
diff options
context:
space:
mode:
authorHello=) <hello@themanaworld.org>2024-03-29 04:23:18 +0300
committerHello=) <hello@themanaworld.org>2024-03-29 04:23:18 +0300
commit08cd08587be5c8d2ce42ae417098c524f683c6ad (patch)
tree727aa239372a77e9ca3d72fe761940bb49e8d2d8 /src/net/charserverhandler.cpp
parentdb0b1da0060f5eb4b2af040c22ea9373d36970af (diff)
downloadguildbot-08cd08587be5c8d2ce42ae417098c524f683c6ad.tar.gz
guildbot-08cd08587be5c8d2ce42ae417098c524f683c6ad.tar.bz2
guildbot-08cd08587be5c8d2ce42ae417098c524f683c6ad.tar.xz
guildbot-08cd08587be5c8d2ce42ae417098c524f683c6ad.zip
Move actual top level from src/ to top: just one single dir is pointless.
Reported-By: NetSysFire
Diffstat (limited to 'src/net/charserverhandler.cpp')
-rw-r--r--src/net/charserverhandler.cpp166
1 files changed, 0 insertions, 166 deletions
diff --git a/src/net/charserverhandler.cpp b/src/net/charserverhandler.cpp
deleted file mode 100644
index d500c0d..0000000
--- a/src/net/charserverhandler.cpp
+++ /dev/null
@@ -1,166 +0,0 @@
-/*
- * The Mana World
- * Copyright 2004 The Mana World Development Team
- *
- * This file is part of The Mana World.
- *
- * The Mana World is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * any later version.
- *
- * The Mana World is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with The Mana World; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * $Id: charserverhandler.cpp 2137 2006-02-04 16:54:35Z der_doener $
- */
-
-#include "charserverhandler.h"
-
-#include "messagein.h"
-#include "network.h"
-#include "protocol.h"
-
-#include "../game.h"
-#include "../logindata.h"
-#include "../main.h"
-
-CharServerHandler::CharServerHandler()
-{
- static const Uint16 _messages[] = {
- 0x006b,
- 0x006c,
- 0x006d,
- 0x0071,
- 0x0081,
- 0
- };
- handledMessages = _messages;
-}
-
-void CharServerHandler::handleMessage(MessageIn *msg)
-{
- int slot;
-
- /* logger->log("CharServerHandler: Packet ID: %x, Length: %d",
- msg->getId(), msg->getLength());*/
- switch (msg->getId())
- {
- case 0x006b:
- {
- int tmpCharID[3];
- // Skip length word and an additional mysterious 20 bytes
- msg->skip(2 + 20);
-
- // Derive number of characters from message length
- n_character = (msg->getLength() - 24) / 106;
-
- for (int i = 0; i < n_character; i++)
- {
-
- tmpCharID[i] = msg->readInt32();
- msg->readInt32(); //xp
- msg->readInt32(); //gp
- msg->readInt32(); //jobxp
- msg->readInt32(); //joblvl
- msg->skip(8); // unknown
- msg->readInt32(); // option
- msg->readInt32(); // karma
- msg->readInt32(); // manner
- msg->skip(2); // unknown
- msg->readInt16(); //hp
- msg->readInt16(); //maxhp
- msg->readInt16(); //mp
- msg->readInt16(); //maxmp
- msg->readInt16(); // speed
- msg->readInt16(); // class
- msg->readInt16(); //hair
- msg->readInt16(); //weapon
- msg->readInt16(); //lvl
- msg->readInt16(); // skill point
- msg->readInt16(); // head bottom
- msg->readInt16(); // shield
- msg->readInt16(); // head option top
- msg->readInt16(); // head option mid
- msg->readInt16(); // hair color
- msg->readInt16(); // unknown
- std::string charname = msg->readString(24);
- msg->readInt8(); //ATTR
- msg->readInt8(); //ATTR
- msg->readInt8(); //ATTR
- msg->readInt8(); //ATTR
- msg->readInt8(); //ATTR
- msg->readInt8(); //ATTR
- int slot = msg->readInt8(); // character slot
- charID[slot] = tmpCharID[i]; /* Get the Character Id's, needed for map server.*/
- msg->readInt8(); // unknown
-
- if (slot == main_charno)
- char_name = charname;
-
- /* logger->log("CharServer: Player: %s (%d)",
- charname.c_str(), slot);*/
- }
-
- state = CHAR_SELECT_STATE;
- break;
- }
-
- case 0x006c:
- switch (msg->readInt8()) {
- case 0:
- errorMessage = "Access denied";
- break;
- case 1:
- errorMessage = "Cannot use this ID";
- break;
- default:
- errorMessage = "Unknown failure to select character";
- break;
- }
- break;
-
- case 0x006d:
- state = CONNECTING_STATE;
- break;
-
- case 0x0071:
- {
- msg->skip(4); // CharID, the same as the one we've already recieved.
- map_path = msg->readString(16);
- mLoginData->hostname = iptostring(msg->readInt32());
- mLoginData->port = msg->readInt16();
- /*logger->log("Map: Server: %s (%s:%d)",
- map_path.c_str(),
- mLoginData->hostname.c_str(),
- mLoginData->port);*/
-
- state = CONNECTING_STATE;
- break;
- }
-
- case 0x0081:
- switch (msg->readInt8()) {
- case 1:
- errorMessage = "Map server offline";
- break;
- case 3:
- errorMessage = "Speed hack detected";
- break;
- case 8:
- errorMessage = "Duplicated login";
- break;
- default:
- errorMessage = "Unkown error with 0x0081";
- break;
- };
- state = ERROR_STATE;
- break;
- }
-}