diff options
Diffstat (limited to 'src/game-server/gamehandler.cpp')
| -rw-r--r-- | src/game-server/gamehandler.cpp | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/src/game-server/gamehandler.cpp b/src/game-server/gamehandler.cpp index 81f7a1e..1ca4f75 100644 --- a/src/game-server/gamehandler.cpp +++ b/src/game-server/gamehandler.cpp @@ -258,6 +258,48 @@ void GameHandler::processMessage(NetComputer *comp, MessageIn &message) computer.character = NULL; computer.status = CLIENT_LOGIN; } break; + + case PGMSG_GUILD_CREATE: + { + std::string name = message.readString(); + int characterId = computer.character->getDatabaseID(); + messageMap[characterId] = computer.character; + accountHandler->playerCreateGuild(characterId, name); + } break; + + case PGMSG_GUILD_INVITE: + { + short guildId = message.readShort(); + std::string member = message.readString(); + int characterId = computer.character->getDatabaseID(); + messageMap[characterId] = computer.character; + accountHandler->playerInviteToGuild(characterId, guildId, member); + } break; + + case PGMSG_GUILD_ACCEPT: + { + std::string guildName = message.readString(); + int characterId = computer.character->getDatabaseID(); + messageMap[characterId] = computer.character; + accountHandler->playerAcceptInvite(characterId, guildName); + } break; + + case PGMSG_GUILD_GET_MEMBERS: + { + short guildId = message.readShort(); + int characterId = computer.character->getDatabaseID(); + messageMap[characterId] = computer.character; + accountHandler->getGuildMembers(characterId, guildId); + } break; + + case PGMSG_GUILD_QUIT: + { + short guildId = message.readShort(); + int characterId = computer.character->getDatabaseID(); + messageMap[characterId] = computer.character; + accountHandler->quitGuild(characterId, guildId); + } break; + default: LOG_WARN("Invalid message type"); result.writeShort(XXMSG_INVALID); |
