summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2014-09-10 21:13:14 +0300
committerAndrei Karas <akaras@inbox.ru>2014-09-10 21:13:14 +0300
commit783aacf002d7f01d1be0ee46e4f42e8c31632c2e (patch)
treeabbc5fcd75380dd5c62a2d0240e8c83d87be95aa
parentdbc2777989e3646dad554e16acb9c49e9b722adb (diff)
downloadmv-783aacf002d7f01d1be0ee46e4f42e8c31632c2e.tar.gz
mv-783aacf002d7f01d1be0ee46e4f42e8c31632c2e.tar.bz2
mv-783aacf002d7f01d1be0ee46e4f42e8c31632c2e.tar.xz
mv-783aacf002d7f01d1be0ee46e4f42e8c31632c2e.zip
In party handler in changeLeader accept player nick.
-rw-r--r--src/net/eathena/partyhandler.cpp4
-rw-r--r--src/net/eathena/partyhandler.h2
-rw-r--r--src/net/partyhandler.h2
-rw-r--r--src/net/tmwa/partyhandler.cpp2
-rw-r--r--src/net/tmwa/partyhandler.h3
5 files changed, 8 insertions, 5 deletions
diff --git a/src/net/eathena/partyhandler.cpp b/src/net/eathena/partyhandler.cpp
index 4ea0e83ea..182ea4957 100644
--- a/src/net/eathena/partyhandler.cpp
+++ b/src/net/eathena/partyhandler.cpp
@@ -445,8 +445,10 @@ void PartyHandler::processPartyInviteResponse(Net::MessageIn &msg) const
}
}
-void PartyHandler::changeLeader(const Being *const being) const
+void PartyHandler::changeLeader(const std::string &name) const
{
+ const Being *const being = actorManager->findBeingByName(
+ name, ActorType::PLAYER);
if (!being)
return;
MessageOut outMsg(CMSG_PARTY_CHANGE_LEADER);
diff --git a/src/net/eathena/partyhandler.h b/src/net/eathena/partyhandler.h
index 16fa690bf..9459d0328 100644
--- a/src/net/eathena/partyhandler.h
+++ b/src/net/eathena/partyhandler.h
@@ -61,7 +61,7 @@ class PartyHandler final : public MessageHandler, public Ea::PartyHandler
void setShareItems(const Net::PartyShare::Type share)
const override final;
- void changeLeader(const Being *const being) const override final;
+ void changeLeader(const std::string &name) const override final;
void processPartySettings(Net::MessageIn &msg);
diff --git a/src/net/partyhandler.h b/src/net/partyhandler.h
index 393d812fb..3f9825eec 100644
--- a/src/net/partyhandler.h
+++ b/src/net/partyhandler.h
@@ -70,7 +70,7 @@ class PartyHandler notfinal
virtual void setShareItems(const Net::PartyShare::Type
share) const = 0;
- virtual void changeLeader(const Being *const being) const = 0;
+ virtual void changeLeader(const std::string &name) const = 0;
virtual void clear() const = 0;
diff --git a/src/net/tmwa/partyhandler.cpp b/src/net/tmwa/partyhandler.cpp
index bbf74a099..ba3a4d26c 100644
--- a/src/net/tmwa/partyhandler.cpp
+++ b/src/net/tmwa/partyhandler.cpp
@@ -375,7 +375,7 @@ void PartyHandler::processPartyInviteResponse(Net::MessageIn &msg) const
}
}
-void PartyHandler::changeLeader(const Being *const being A_UNUSED) const
+void PartyHandler::changeLeader(const std::string &name A_UNUSED) const
{
}
diff --git a/src/net/tmwa/partyhandler.h b/src/net/tmwa/partyhandler.h
index f81c97eed..881f3cf3e 100644
--- a/src/net/tmwa/partyhandler.h
+++ b/src/net/tmwa/partyhandler.h
@@ -61,7 +61,8 @@ class PartyHandler final : public MessageHandler, public Ea::PartyHandler
void setShareItems(const Net::PartyShare::Type
share) const override final;
- void changeLeader(const Being *const being) const override final;
+ void changeLeader(const std::string &name) const override final;
+
protected:
void processPartySettings(Net::MessageIn &msg);