diff options
author | Jared Adams <jaxad0127@gmail.com> | 2010-02-24 06:50:35 -0700 |
---|---|---|
committer | Jared Adams <jaxad0127@gmail.com> | 2010-02-24 07:55:20 -0700 |
commit | f6d50d0cbe12f8799e6fec844816defc8711df37 (patch) | |
tree | 344f28132bd3aa54ce058e92b4696d00f3a7bc0c /src/net/manaserv | |
parent | 3adb0710b9b0262b7d7a03aa687e78c232f04d06 (diff) | |
download | mana-f6d50d0cbe12f8799e6fec844816defc8711df37.tar.gz mana-f6d50d0cbe12f8799e6fec844816defc8711df37.tar.bz2 mana-f6d50d0cbe12f8799e6fec844816defc8711df37.tar.xz mana-f6d50d0cbe12f8799e6fec844816defc8711df37.zip |
Add more to eAthena guild support
It's not complete yet, but it is closer. Also fix up handling of guild/party members.
Reviewed-by: Chuck Miller
Diffstat (limited to 'src/net/manaserv')
-rw-r--r-- | src/net/manaserv/guildhandler.cpp | 10 | ||||
-rw-r--r-- | src/net/manaserv/guildhandler.h | 4 | ||||
-rw-r--r-- | src/net/manaserv/partyhandler.cpp | 3 |
3 files changed, 7 insertions, 10 deletions
diff --git a/src/net/manaserv/guildhandler.cpp b/src/net/manaserv/guildhandler.cpp index 0dfe8cde..253efb01 100644 --- a/src/net/manaserv/guildhandler.cpp +++ b/src/net/manaserv/guildhandler.cpp @@ -131,9 +131,8 @@ void GuildHandler::handleMessage(Net::MessageIn &msg) online = msg.readInt8(); if (name != "") { - member = new GuildMember(guildId, name); + member = guild->addMember(name); member->setOnline(online); - guild->addMember(member); } } } @@ -153,9 +152,8 @@ void GuildHandler::handleMessage(Net::MessageIn &msg) switch(eventId) { case GUILD_EVENT_NEW_PLAYER: - member = new GuildMember(guildId, name); + member = guild->addMember(name); member->setOnline(true); - guild->addMember(member); break; case GUILD_EVENT_LEAVING_PLAYER: @@ -296,7 +294,7 @@ void GuildHandler::leave(int guildId) chatServerConnection->send(msg); } -void GuildHandler::kick(GuildMember member) +void GuildHandler::kick(GuildMember *member, std::string reason) { // TODO } @@ -313,7 +311,7 @@ void GuildHandler::memberList(int guildId) chatServerConnection->send(msg); } -void GuildHandler::changeMemberPostion(GuildMember member, int level) +void GuildHandler::changeMemberPostion(GuildMember *member, int level) { /*MessageOut msg(PCMSG_GUILD_PROMOTE_MEMBER); msg.writeInt16(guildId); diff --git a/src/net/manaserv/guildhandler.h b/src/net/manaserv/guildhandler.h index 8fdd40a4..1b6d51b5 100644 --- a/src/net/manaserv/guildhandler.h +++ b/src/net/manaserv/guildhandler.h @@ -45,13 +45,13 @@ public: void leave(int guildId); - void kick(GuildMember member); + void kick(GuildMember *member, std::string reason = ""); void chat(int guildId, const std::string &text); void memberList(int guildId); - void changeMemberPostion(GuildMember member, int level); + void changeMemberPostion(GuildMember *member, int level); void requestAlliance(int guildId, int otherGuildId); diff --git a/src/net/manaserv/partyhandler.cpp b/src/net/manaserv/partyhandler.cpp index 9ec8d2b8..ec153fa8 100644 --- a/src/net/manaserv/partyhandler.cpp +++ b/src/net/manaserv/partyhandler.cpp @@ -109,8 +109,7 @@ void PartyHandler::handleMessage(Net::MessageIn &msg) if (id == player_node->getId()) player_node->setParty(mParty); - PartyMember *member = new PartyMember(PARTY_ID, id, name); - mParty->addMember(member); + mParty->addMember(id, name); } break; case CPMSG_PARTY_MEMBER_LEFT: |