summaryrefslogtreecommitdiff
path: root/src/net/ea
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2015-08-30 17:08:12 +0300
committerAndrei Karas <akaras@inbox.ru>2015-08-30 17:08:12 +0300
commit42a9e7b1eeced8503f909b0276ee251a2bfe75c6 (patch)
tree103859bbe12e8781466ee84b3ea464af5a5e470f /src/net/ea
parent4e343cd6e657f2b747b67fb688af53087199b097 (diff)
downloadplus-42a9e7b1eeced8503f909b0276ee251a2bfe75c6.tar.gz
plus-42a9e7b1eeced8503f909b0276ee251a2bfe75c6.tar.bz2
plus-42a9e7b1eeced8503f909b0276ee251a2bfe75c6.tar.xz
plus-42a9e7b1eeced8503f909b0276ee251a2bfe75c6.zip
Move receive code from skillhandler into separate file.
Diffstat (limited to 'src/net/ea')
-rw-r--r--src/net/ea/skillhandler.cpp23
-rw-r--r--src/net/ea/skillhandler.h37
-rw-r--r--src/net/ea/skillrecv.cpp59
-rw-r--r--src/net/ea/skillrecv.h72
4 files changed, 131 insertions, 60 deletions
diff --git a/src/net/ea/skillhandler.cpp b/src/net/ea/skillhandler.cpp
index f05d1f18a..c5ce14cdf 100644
--- a/src/net/ea/skillhandler.cpp
+++ b/src/net/ea/skillhandler.cpp
@@ -37,27 +37,4 @@ SkillHandler::SkillHandler()
{
}
-void SkillHandler::processPlayerSkillUp(Net::MessageIn &msg)
-{
- const int skillId = msg.readInt16("skill id");
- const int level = msg.readInt16("skill level");
- const int sp = msg.readInt16("sp");
- const int range = msg.readInt16("range");
- const Modifiable up = fromBool(msg.readUInt8("up flag"), Modifiable);
-
- if (skillDialog && PlayerInfo::getSkillLevel(skillId) != level)
- skillDialog->playUpdateEffect(skillId);
- PlayerInfo::setSkillLevel(skillId, level);
- if (skillDialog)
- {
- if (!skillDialog->updateSkill(skillId, range,
- up, SkillType::Unknown, sp))
- {
- skillDialog->addSkill(SkillOwner::Player,
- skillId, "", level,
- range, up, SkillType::Unknown, sp);
- }
- }
-}
-
} // namespace Ea
diff --git a/src/net/ea/skillhandler.h b/src/net/ea/skillhandler.h
index cbb7f35cd..298036087 100644
--- a/src/net/ea/skillhandler.h
+++ b/src/net/ea/skillhandler.h
@@ -27,40 +27,6 @@
#include "localconsts.h"
-namespace Net
-{
- class MessageIn;
-}
-
-/** job dependend identifiers (?) */
-static const unsigned int SKILL_BASIC = 0x0001;
-static const unsigned int SKILL_WARP = 0x001b;
-static const unsigned int SKILL_STEAL = 0x0032;
-static const unsigned int SKILL_ENVENOM = 0x0034;
-
-/** basic skills identifiers */
-static const unsigned int BSKILL_TRADE = 0x0000;
-static const unsigned int BSKILL_EMOTE = 0x0001;
-static const unsigned int BSKILL_SIT = 0x0002;
-static const unsigned int BSKILL_CREATECHAT = 0x0003;
-static const unsigned int BSKILL_JOINPARTY = 0x0004;
-static const unsigned int BSKILL_SHOUT = 0x0005;
-
-/** reasons why action failed */
-static const unsigned int RFAIL_SKILLDEP = 0x00;
-static const unsigned int RFAIL_INSUFSP = 0x01;
-static const unsigned int RFAIL_INSUFHP = 0x02;
-static const unsigned int RFAIL_NOMEMO = 0x03;
-static const unsigned int RFAIL_SKILLDELAY = 0x04;
-static const unsigned int RFAIL_ZENY = 0x05;
-static const unsigned int RFAIL_WEAPON = 0x06;
-static const unsigned int RFAIL_REDGEM = 0x07;
-static const unsigned int RFAIL_BLUEGEM = 0x08;
-static const unsigned int RFAIL_OVERWEIGHT = 0x09;
-
-/** should always be zero if failed */
-static const unsigned int SKILL_FAILED = 0x00;
-
namespace Ea
{
@@ -70,9 +36,6 @@ class SkillHandler notfinal : public Net::SkillHandler
SkillHandler();
A_DELETE_COPY(SkillHandler)
-
- protected:
- static void processPlayerSkillUp(Net::MessageIn &msg);
};
} // namespace Ea
diff --git a/src/net/ea/skillrecv.cpp b/src/net/ea/skillrecv.cpp
new file mode 100644
index 000000000..18e3e63e7
--- /dev/null
+++ b/src/net/ea/skillrecv.cpp
@@ -0,0 +1,59 @@
+/*
+ * The ManaPlus Client
+ * Copyright (C) 2004-2009 The Mana World Development Team
+ * Copyright (C) 2009-2010 The Mana Developers
+ * Copyright (C) 2011-2015 The ManaPlus Developers
+ *
+ * This file is part of The ManaPlus Client.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "net/ea/skillrecv.h"
+
+#include "being/playerinfo.h"
+
+#include "gui/windows/skilldialog.h"
+
+#include "net/messagein.h"
+
+#include "debug.h"
+
+namespace Ea
+{
+
+void SkillRecv::processPlayerSkillUp(Net::MessageIn &msg)
+{
+ const int skillId = msg.readInt16("skill id");
+ const int level = msg.readInt16("skill level");
+ const int sp = msg.readInt16("sp");
+ const int range = msg.readInt16("range");
+ const Modifiable up = fromBool(msg.readUInt8("up flag"), Modifiable);
+
+ if (skillDialog && PlayerInfo::getSkillLevel(skillId) != level)
+ skillDialog->playUpdateEffect(skillId);
+ PlayerInfo::setSkillLevel(skillId, level);
+ if (skillDialog)
+ {
+ if (!skillDialog->updateSkill(skillId, range,
+ up, SkillType::Unknown, sp))
+ {
+ skillDialog->addSkill(SkillOwner::Player,
+ skillId, "", level,
+ range, up, SkillType::Unknown, sp);
+ }
+ }
+}
+
+} // namespace Ea
diff --git a/src/net/ea/skillrecv.h b/src/net/ea/skillrecv.h
new file mode 100644
index 000000000..a980d9739
--- /dev/null
+++ b/src/net/ea/skillrecv.h
@@ -0,0 +1,72 @@
+/*
+ * The ManaPlus Client
+ * Copyright (C) 2004-2009 The Mana World Development Team
+ * Copyright (C) 2009-2010 The Mana Developers
+ * Copyright (C) 2011-2015 The ManaPlus Developers
+ *
+ * This file is part of The ManaPlus Client.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef NET_EA_SKILLRECV_H
+#define NET_EA_SKILLRECV_H
+
+#include "net/skillhandler.h"
+
+#include "localconsts.h"
+
+namespace Net
+{
+ class MessageIn;
+}
+
+/** job dependend identifiers (?) */
+static const unsigned int SKILL_BASIC = 0x0001;
+static const unsigned int SKILL_WARP = 0x001b;
+static const unsigned int SKILL_STEAL = 0x0032;
+static const unsigned int SKILL_ENVENOM = 0x0034;
+
+/** basic skills identifiers */
+static const unsigned int BSKILL_TRADE = 0x0000;
+static const unsigned int BSKILL_EMOTE = 0x0001;
+static const unsigned int BSKILL_SIT = 0x0002;
+static const unsigned int BSKILL_CREATECHAT = 0x0003;
+static const unsigned int BSKILL_JOINPARTY = 0x0004;
+static const unsigned int BSKILL_SHOUT = 0x0005;
+
+/** reasons why action failed */
+static const unsigned int RFAIL_SKILLDEP = 0x00;
+static const unsigned int RFAIL_INSUFSP = 0x01;
+static const unsigned int RFAIL_INSUFHP = 0x02;
+static const unsigned int RFAIL_NOMEMO = 0x03;
+static const unsigned int RFAIL_SKILLDELAY = 0x04;
+static const unsigned int RFAIL_ZENY = 0x05;
+static const unsigned int RFAIL_WEAPON = 0x06;
+static const unsigned int RFAIL_REDGEM = 0x07;
+static const unsigned int RFAIL_BLUEGEM = 0x08;
+static const unsigned int RFAIL_OVERWEIGHT = 0x09;
+
+/** should always be zero if failed */
+static const unsigned int SKILL_FAILED = 0x00;
+
+namespace Ea
+{
+ namespace SkillRecv
+ {
+ void processPlayerSkillUp(Net::MessageIn &msg);
+ } // namespace SkillRecv
+} // namespace Ea
+
+#endif // NET_EA_SKILLRECV_H