summaryrefslogtreecommitdiff
path: root/src/net/ea
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2011-09-02 15:45:57 +0300
committerAndrei Karas <akaras@inbox.ru>2011-09-02 15:45:57 +0300
commitb17d7d87918b76323e08c0a5c09abd8fa1f3ed71 (patch)
tree03f523babd604b31bff687d50a5caa81723d3455 /src/net/ea
parentcfcdacfd6ed49916890a93d7565bd2a2d1f1e8f5 (diff)
downloadmanaplus-b17d7d87918b76323e08c0a5c09abd8fa1f3ed71.tar.gz
manaplus-b17d7d87918b76323e08c0a5c09abd8fa1f3ed71.tar.bz2
manaplus-b17d7d87918b76323e08c0a5c09abd8fa1f3ed71.tar.xz
manaplus-b17d7d87918b76323e08c0a5c09abd8fa1f3ed71.zip
Add to status window attribute "damage per second".
Diffstat (limited to 'src/net/ea')
-rw-r--r--src/net/ea/playerhandler.cpp14
-rw-r--r--src/net/ea/playerhandler.h2
2 files changed, 14 insertions, 2 deletions
diff --git a/src/net/ea/playerhandler.cpp b/src/net/ea/playerhandler.cpp
index 4198c14ad..3af237b5b 100644
--- a/src/net/ea/playerhandler.cpp
+++ b/src/net/ea/playerhandler.cpp
@@ -359,9 +359,11 @@ void PlayerHandler::processPlayerStatUpdate1(Net::MessageIn &msg)
case 0x0029:
PlayerInfo::setStatBase(EA_ATK, value);
+ PlayerInfo::updateAttrs();
break;
case 0x002a:
PlayerInfo::setStatMod(EA_ATK, value);
+ PlayerInfo::updateAttrs();
break;
case 0x002b:
@@ -402,8 +404,9 @@ void PlayerHandler::processPlayerStatUpdate1(Net::MessageIn &msg)
case 0x0035:
player_node->setAttackSpeed(value);
- PlayerInfo::setStatBase(ATTACK_SPEED, value);
- PlayerInfo::setStatMod(ATTACK_SPEED, 0);
+ PlayerInfo::setStatBase(ATTACK_DELAY, value);
+ PlayerInfo::setStatMod(ATTACK_DELAY, 0);
+ PlayerInfo::updateAttrs();
break;
case 0x0037:
@@ -484,6 +487,8 @@ void PlayerHandler::processPlayerStatUpdate3(Net::MessageIn &msg)
PlayerInfo::setStatBase(type, base, false);
PlayerInfo::setStatMod(type, bonus);
+ if (type == EA_ATK || type == ATTACK_DELAY)
+ PlayerInfo::updateAttrs();
}
void PlayerHandler::processPlayerStatUpdate4(Net::MessageIn &msg)
@@ -552,6 +557,7 @@ void PlayerHandler::processPlayerStatUpdate5(Net::MessageIn &msg)
PlayerInfo::setStatBase(EA_ATK, msg.readInt16(), false);
PlayerInfo::setStatMod(EA_ATK, msg.readInt16());
+ PlayerInfo::updateAttrs();
val = msg.readInt16();
PlayerInfo::setStatBase(EA_MATK, val, false);
@@ -636,4 +642,8 @@ int PlayerHandler::getJobLocation() const
return EA_JOB;
}
+int PlayerHandler::getAttackLocation() const
+{
+ return EA_ATK;
+}
} // namespace Ea
diff --git a/src/net/ea/playerhandler.h b/src/net/ea/playerhandler.h
index 8b8751630..57bcbdcd5 100644
--- a/src/net/ea/playerhandler.h
+++ b/src/net/ea/playerhandler.h
@@ -55,6 +55,8 @@ class PlayerHandler : public Net::PlayerHandler
int getJobLocation() const;
+ int getAttackLocation() const;
+
void processWalkResponse(Net::MessageIn &msg);
void processPlayerWarp(Net::MessageIn &msg);