summaryrefslogtreecommitdiff
path: root/src/net
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2015-01-04 18:54:18 +0300
committerAndrei Karas <akaras@inbox.ru>2015-01-04 18:54:18 +0300
commit829709f07a16e945af416cb1df23d0fcefdba8e0 (patch)
tree1a40a1dd51724970b71c8833f27d18a39b38a62f /src/net
parenta3310b047fb85052429a979eb0ebd02d47c43964 (diff)
downloadplus-829709f07a16e945af416cb1df23d0fcefdba8e0.tar.gz
plus-829709f07a16e945af416cb1df23d0fcefdba8e0.tar.bz2
plus-829709f07a16e945af416cb1df23d0fcefdba8e0.tar.xz
plus-829709f07a16e945af416cb1df23d0fcefdba8e0.zip
eathena: allow delete characters if account have non default email.
Diffstat (limited to 'src/net')
-rw-r--r--src/net/charserverhandler.h3
-rw-r--r--src/net/eathena/charserverhandler.cpp8
-rw-r--r--src/net/eathena/charserverhandler.h3
-rw-r--r--src/net/tmwa/charserverhandler.cpp3
-rw-r--r--src/net/tmwa/charserverhandler.h3
5 files changed, 14 insertions, 6 deletions
diff --git a/src/net/charserverhandler.h b/src/net/charserverhandler.h
index 846ff0910..2013485a4 100644
--- a/src/net/charserverhandler.h
+++ b/src/net/charserverhandler.h
@@ -63,7 +63,8 @@ class CharServerHandler notfinal
const unsigned char look,
const std::vector<int> &stats) const = 0;
- virtual void deleteCharacter(Net::Character *const character) = 0;
+ virtual void deleteCharacter(Net::Character *const character,
+ const std::string &email) = 0;
virtual void renameCharacter(const int id,
const std::string &newName) = 0;
diff --git a/src/net/eathena/charserverhandler.cpp b/src/net/eathena/charserverhandler.cpp
index 5ced3761f..c2292abde 100644
--- a/src/net/eathena/charserverhandler.cpp
+++ b/src/net/eathena/charserverhandler.cpp
@@ -285,7 +285,8 @@ void CharServerHandler::newCharacter(const std::string &name, const int slot,
outMsg.writeInt16(static_cast<int16_t>(race), "race");
}
-void CharServerHandler::deleteCharacter(Net::Character *const character)
+void CharServerHandler::deleteCharacter(Net::Character *const character,
+ const std::string &email)
{
if (!character)
return;
@@ -294,7 +295,10 @@ void CharServerHandler::deleteCharacter(Net::Character *const character)
createOutPacket(CMSG_CHAR_DELETE);
outMsg.writeInt32(mSelectedCharacter->dummy->getId(), "id?");
- outMsg.writeString("a@a.com", 40, "email");
+ if (email.empty())
+ outMsg.writeString("a@a.com", 40, "email");
+ else
+ outMsg.writeString(email, 40, "email");
}
void CharServerHandler::switchCharacter() const
diff --git a/src/net/eathena/charserverhandler.h b/src/net/eathena/charserverhandler.h
index 0af45d9bd..d62d0a3df 100644
--- a/src/net/eathena/charserverhandler.h
+++ b/src/net/eathena/charserverhandler.h
@@ -54,7 +54,8 @@ class CharServerHandler final : public MessageHandler,
void renameCharacter(const int id,
const std::string &newName) override final;
- void deleteCharacter(Net::Character *const character) override final;
+ void deleteCharacter(Net::Character *const character,
+ const std::string &email) override final;
void switchCharacter() const override final;
diff --git a/src/net/tmwa/charserverhandler.cpp b/src/net/tmwa/charserverhandler.cpp
index 2412a094d..af373ca77 100644
--- a/src/net/tmwa/charserverhandler.cpp
+++ b/src/net/tmwa/charserverhandler.cpp
@@ -292,7 +292,8 @@ void CharServerHandler::newCharacter(const std::string &name, const int slot,
outMsg.writeInt8(race, "class");
}
-void CharServerHandler::deleteCharacter(Net::Character *const character)
+void CharServerHandler::deleteCharacter(Net::Character *const character,
+ const std::string &email A_UNUSED)
{
if (!character)
return;
diff --git a/src/net/tmwa/charserverhandler.h b/src/net/tmwa/charserverhandler.h
index ab513d0d2..ef6afab36 100644
--- a/src/net/tmwa/charserverhandler.h
+++ b/src/net/tmwa/charserverhandler.h
@@ -51,7 +51,8 @@ class CharServerHandler final : public MessageHandler,
const unsigned char look,
const std::vector<int> &stats) const override final;
- void deleteCharacter(Net::Character *const character) override final;
+ void deleteCharacter(Net::Character *const character,
+ const std::string &email) override final;
void renameCharacter(const int id,
const std::string &newName) override final;