summaryrefslogtreecommitdiff
path: root/src/net/eathena/guildhandler.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/net/eathena/guildhandler.cpp')
-rw-r--r--src/net/eathena/guildhandler.cpp170
1 files changed, 34 insertions, 136 deletions
diff --git a/src/net/eathena/guildhandler.cpp b/src/net/eathena/guildhandler.cpp
index 31f1edba7..d6a07091d 100644
--- a/src/net/eathena/guildhandler.cpp
+++ b/src/net/eathena/guildhandler.cpp
@@ -32,6 +32,11 @@
#include "gui/widgets/tabs/chat/guildtab.h"
+#include "net/ea/guildrecv.h"
+
+#include "net/ea/guildrecv.h"
+
+#include "net/eathena/guildrecv.h"
#include "net/eathena/messageout.h"
#include "net/eathena/protocol.h"
@@ -92,115 +97,115 @@ void GuildHandler::handleMessage(Net::MessageIn &msg)
switch (msg.getId())
{
case SMSG_GUILD_CREATE_RESPONSE:
- processGuildCreateResponse(msg);
+ Ea::GuildRecv::processGuildCreateResponse(msg);
break;
case SMSG_GUILD_POSITION_INFO:
- processGuildPositionInfo(msg);
+ GuildRecv::processGuildPositionInfo(msg);
break;
case SMSG_GUILD_MEMBER_LOGIN:
- processGuildMemberLogin(msg);
+ GuildRecv::processGuildMemberLogin(msg);
break;
case SMSG_GUILD_MASTER_OR_MEMBER:
- processGuildMasterOrMember(msg);
+ Ea::GuildRecv::processGuildMasterOrMember(msg);
break;
case SMSG_GUILD_BASIC_INFO:
- processGuildBasicInfo(msg);
+ Ea::GuildRecv::processGuildBasicInfo(msg);
break;
case SMSG_GUILD_ALIANCE_INFO:
- processGuildAlianceInfo(msg);
+ Ea::GuildRecv::processGuildAlianceInfo(msg);
break;
case SMSG_GUILD_MEMBER_LIST:
- processGuildMemberList(msg);
+ Ea::GuildRecv::processGuildMemberList(msg);
break;
case SMSG_GUILD_POS_NAME_LIST:
- processGuildPosNameList(msg);
+ Ea::GuildRecv::processGuildPosNameList(msg);
break;
case SMSG_GUILD_POS_INFO_LIST:
- processGuildPosInfoList(msg);
+ Ea::GuildRecv::processGuildPosInfoList(msg);
break;
case SMSG_GUILD_POSITION_CHANGED:
- processGuildPositionChanged(msg);
+ Ea::GuildRecv::processGuildPositionChanged(msg);
break;
case SMSG_GUILD_MEMBER_POS_CHANGE:
- processGuildMemberPosChange(msg);
+ Ea::GuildRecv::processGuildMemberPosChange(msg);
break;
case SMSG_GUILD_EMBLEM_DATA:
- processGuildEmblemData(msg);
+ Ea::GuildRecv::processGuildEmblemData(msg);
break;
case SMSG_GUILD_SKILL_INFO:
- processGuildSkillInfo(msg);
+ Ea::GuildRecv::processGuildSkillInfo(msg);
break;
case SMSG_GUILD_NOTICE:
- processGuildNotice(msg);
+ Ea::GuildRecv::processGuildNotice(msg);
break;
case SMSG_GUILD_INVITE:
- processGuildInvite(msg);
+ Ea::GuildRecv::processGuildInvite(msg);
break;
case SMSG_GUILD_INVITE_ACK:
- processGuildInviteAck(msg);
+ Ea::GuildRecv::processGuildInviteAck(msg);
break;
case SMSG_GUILD_LEAVE:
- processGuildLeave(msg);
+ Ea::GuildRecv::processGuildLeave(msg);
break;
case SMSG_GUILD_EXPULSION:
- processGuildExpulsion(msg);
+ GuildRecv::processGuildExpulsion(msg);
break;
case SMSG_GUILD_EXPULSION_LIST:
- processGuildExpulsionList(msg);
+ GuildRecv::processGuildExpulsionList(msg);
break;
case SMSG_GUILD_MESSAGE:
- processGuildMessage(msg);
+ Ea::GuildRecv::processGuildMessage(msg);
break;
case SMSG_GUILD_SKILL_UP:
- processGuildSkillUp(msg);
+ Ea::GuildRecv::processGuildSkillUp(msg);
break;
case SMSG_GUILD_REQ_ALLIANCE:
- processGuildReqAlliance(msg);
+ Ea::GuildRecv::processGuildReqAlliance(msg);
break;
case SMSG_GUILD_REQ_ALLIANCE_ACK:
- processGuildReqAllianceAck(msg);
+ Ea::GuildRecv::processGuildReqAllianceAck(msg);
break;
case SMSG_GUILD_DEL_ALLIANCE:
- processGuildDelAlliance(msg);
+ Ea::GuildRecv::processGuildDelAlliance(msg);
break;
case SMSG_GUILD_OPPOSITION_ACK:
- processGuildOppositionAck(msg);
+ Ea::GuildRecv::processGuildOppositionAck(msg);
break;
case SMSG_GUILD_BROKEN:
- processGuildBroken(msg);
+ Ea::GuildRecv::processGuildBroken(msg);
break;
case SMSG_GUILD_UPDATE_COORDS:
- processGuildUpdateCoords(msg);
+ GuildRecv::processGuildUpdateCoords(msg);
break;
case SMSG_GUILD_EMBLEM:
- processGuildEmblem(msg);
+ GuildRecv::processGuildEmblem(msg);
break;
default:
@@ -208,22 +213,6 @@ void GuildHandler::handleMessage(Net::MessageIn &msg)
}
}
-void GuildHandler::processGuildUpdateCoords(Net::MessageIn &msg)
-{
- const BeingId id = msg.readBeingId("account id");
- const int x = msg.readInt16("x");
- const int y = msg.readInt16("y");
- if (Ea::taGuild)
- {
- GuildMember *const m = Ea::taGuild->getMember(id);
- if (m)
- {
- m->setX(x);
- m->setY(y);
- }
- }
-}
-
void GuildHandler::create(const std::string &name) const
{
createOutPacket(CMSG_GUILD_CREATE);
@@ -326,7 +315,7 @@ void GuildHandler::info()
// 3 = skill info
// 4 = expulsion list
- showBasicInfo = true;
+ Ea::GuildRecv::showBasicInfo = true;
createOutPacket(CMSG_GUILD_REQUEST_INFO);
outMsg.writeInt32(0, "action"); // Request basic info
}
@@ -359,97 +348,6 @@ void GuildHandler::checkMaster() const
createOutPacket(CMSG_GUILD_CHECK_MASTER);
}
-void GuildHandler::processGuildPositionInfo(Net::MessageIn &msg)
-{
- const int guildId = msg.readInt32("guild id");
- const int emblem = msg.readInt32("elblem id");
- PlayerInfo::setGuildPositionFlags(
- static_cast<GuildPositionFlags::Type>(msg.readInt32("mode")));
- msg.readUInt8("guild master");
- msg.readInt32("unused");
- std::string guildName = msg.readString(24, "guild name");
-
- Guild *const g = Guild::getGuild(static_cast<int16_t>(guildId));
- if (!g)
- return;
-
- g->setName(guildName);
- g->setEmblemId(emblem);
- if (!Ea::taGuild)
- Ea::taGuild = g;
- if (!guildTab && chatWindow)
- {
- guildTab = new GuildTab(chatWindow);
- if (config.getBoolValue("showChatHistory"))
- guildTab->loadFromLogFile("#Guild");
- if (localPlayer)
- localPlayer->addGuild(Ea::taGuild);
- guildHandler->memberList();
- }
-
- if (localPlayer)
- {
- localPlayer->setGuild(g);
- localPlayer->setGuildName(g->getName());
- }
-}
-
-void GuildHandler::processGuildMemberLogin(Net::MessageIn &msg)
-{
- const BeingId accountId = msg.readBeingId("account id");
- const int charId = msg.readInt32("char id");
- const int online = msg.readInt32("flag");
- const GenderT gender = Being::intToGender(static_cast<uint8_t>(
- msg.readInt16("sex")));
- msg.readInt16("hair");
- msg.readInt16("hair color");
- if (Ea::taGuild)
- {
- GuildMember *const m = Ea::taGuild->getMember(accountId, charId);
- if (m)
- {
- m->setOnline(online);
- if (online)
- m->setGender(gender);
- if (guildTab)
- guildTab->showOnline(m->getName(), fromBool(online, Online));
- if (socialWindow)
- socialWindow->updateGuildCounter();
- }
- }
-}
-
-void GuildHandler::processGuildExpulsion(Net::MessageIn &msg)
-{
- const std::string nick = msg.readString(24, "name");
- msg.readString(40, "message");
-
- processGuildExpulsionContinue(nick);
-}
-
-void GuildHandler::processGuildExpulsionList(Net::MessageIn &msg)
-{
- const int length = msg.readInt16("len");
- if (length < 4)
- return;
-
- const int count = (length - 4) / 64;
-
- for (int i = 0; i < count; i++)
- {
- msg.readString(24, "name");
- msg.readString(40, "message");
- }
-}
-
-void GuildHandler::processGuildEmblem(Net::MessageIn &msg)
-{
- UNIMPLIMENTEDPACKET;
- msg.readBeingId("being id");
- msg.readInt32("guild id");
- msg.readInt16("emblem id");
-}
-
void GuildHandler::requestAlliance(const Being *const being) const
{
if (!being)