summaryrefslogtreecommitdiff
path: root/src/net/beinghandler.cpp
diff options
context:
space:
mode:
authorPhilipp Sehmisch <tmw@crushnet.org>2006-12-29 12:22:33 +0000
committerPhilipp Sehmisch <tmw@crushnet.org>2006-12-29 12:22:33 +0000
commitf50453791d237120f1ded69323fb914d6069f6be (patch)
tree2610258aeaec84a04978a92774794774b66ac9d5 /src/net/beinghandler.cpp
parentb2ef30efb59c8aa4df3bbaab376d46c583a40d98 (diff)
downloadmana-client-f50453791d237120f1ded69323fb914d6069f6be.tar.gz
mana-client-f50453791d237120f1ded69323fb914d6069f6be.tar.bz2
mana-client-f50453791d237120f1ded69323fb914d6069f6be.tar.xz
mana-client-f50453791d237120f1ded69323fb914d6069f6be.zip
Implemented catching and displaying of damage notifications.
Diffstat (limited to 'src/net/beinghandler.cpp')
-rw-r--r--src/net/beinghandler.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/net/beinghandler.cpp b/src/net/beinghandler.cpp
index c6db8e33..08d47f01 100644
--- a/src/net/beinghandler.cpp
+++ b/src/net/beinghandler.cpp
@@ -57,6 +57,7 @@ BeingHandler::BeingHandler()
GPMSG_BEING_ENTER,
GPMSG_BEING_LEAVE,
GPMSG_BEINGS_MOVE,
+ GPMSG_BEINGS_DAMAGE,
0
};
handledMessages = _messages;
@@ -89,6 +90,9 @@ void BeingHandler::handleMessage(MessageIn &msg)
case GPMSG_BEING_ATTACK:
handleBeingAttackMessage(msg);
break;
+ case GPMSG_BEINGS_DAMAGE:
+ handleBeingsDamageMessage(msg);
+ break;
/*
case SMSG_BEING_VISIBLE:
@@ -498,3 +502,16 @@ void BeingHandler::handleBeingAttackMessage(MessageIn &msg)
being->setAction(Being::ATTACK);
}
+
+void BeingHandler::handleBeingsDamageMessage(MessageIn &msg)
+{
+ while (msg.getUnreadLength())
+ {
+ Being *being = beingManager->findBeing(msg.readShort());
+ int damage = msg.readShort();
+ if (being)
+ {
+ being->setDamage(damage, 0);
+ }
+ }
+}