diff options
author | Andrei Karas <akaras@inbox.ru> | 2012-08-28 13:25:35 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2012-08-29 00:49:52 +0300 |
commit | 46696c84bad31e35e003b5c09998503119b128eb (patch) | |
tree | 7449b98a62fa7ff520d995b27511878d2605c7d4 /src/net | |
parent | c79403e1341ac533df1771b866d1f5cee15e12b5 (diff) | |
download | manaplus-46696c84bad31e35e003b5c09998503119b128eb.tar.gz manaplus-46696c84bad31e35e003b5c09998503119b128eb.tar.bz2 manaplus-46696c84bad31e35e003b5c09998503119b128eb.tar.xz manaplus-46696c84bad31e35e003b5c09998503119b128eb.zip |
Add to replace/reorder sprites pseudo direction "died"
It allow change sprites in dead players.
Diffstat (limited to 'src/net')
-rw-r--r-- | src/net/ea/beinghandler.cpp | 6 | ||||
-rw-r--r-- | src/net/ea/playerhandler.cpp | 6 | ||||
-rw-r--r-- | src/net/eathena/beinghandler.cpp | 6 | ||||
-rw-r--r-- | src/net/tmwa/beinghandler.cpp | 6 |
4 files changed, 20 insertions, 4 deletions
diff --git a/src/net/ea/beinghandler.cpp b/src/net/ea/beinghandler.cpp index 5a3ca3cc7..d8fd49fe2 100644 --- a/src/net/ea/beinghandler.cpp +++ b/src/net/ea/beinghandler.cpp @@ -401,7 +401,11 @@ void BeingHandler::processBeingRemove(Net::MessageIn &msg) if (msg.readInt8() == 1) { - dstBeing->setAction(Being::DEAD); + if (dstBeing->getCurrentAction() != Being::DEAD) + { + dstBeing->setAction(Being::DEAD); + dstBeing->recalcSpritesOrder(); + } if (dstBeing->getName() == "Jack O" && killStats) killStats->jackoDead(id); } diff --git a/src/net/ea/playerhandler.cpp b/src/net/ea/playerhandler.cpp index aa998158c..b73782d3e 100644 --- a/src/net/ea/playerhandler.cpp +++ b/src/net/ea/playerhandler.cpp @@ -443,7 +443,11 @@ void PlayerHandler::processPlayerStatUpdate1(Net::MessageIn &msg) deathNotice = new OkDialog(_("Message"), randomDeathMessage(), DIALOG_OK, false); deathNotice->addActionListener(&deathListener); - player_node->setAction(Being::DEAD); + if (player_node->getCurrentAction() != Being::DEAD) + { + player_node->setAction(Being::DEAD); + player_node->recalcSpritesOrder(); + } } } diff --git a/src/net/eathena/beinghandler.cpp b/src/net/eathena/beinghandler.cpp index 1af410632..cfe90f198 100644 --- a/src/net/eathena/beinghandler.cpp +++ b/src/net/eathena/beinghandler.cpp @@ -586,7 +586,11 @@ void BeingHandler::processPlayerMoveUpdate(Net::MessageIn &msg, int msgType) break; case 1: - dstBeing->setAction(Being::DEAD); + if (dstBeing->getCurrentAction() != Being::DEAD) + { + dstBeing->setAction(Being::DEAD); + dstBeing->recalcSpritesOrder(); + } break; case 2: diff --git a/src/net/tmwa/beinghandler.cpp b/src/net/tmwa/beinghandler.cpp index 9a2827ee5..a4ab0f48b 100644 --- a/src/net/tmwa/beinghandler.cpp +++ b/src/net/tmwa/beinghandler.cpp @@ -600,7 +600,11 @@ void BeingHandler::processPlayerMoveUpdate(Net::MessageIn &msg, int msgType) break; case 1: - dstBeing->setAction(Being::DEAD); + if (dstBeing->getCurrentAction() != Being::DEAD) + { + dstBeing->setAction(Being::DEAD); + dstBeing->recalcSpritesOrder(); + } break; case 2: |