From 46696c84bad31e35e003b5c09998503119b128eb Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Tue, 28 Aug 2012 13:25:35 +0300 Subject: Add to replace/reorder sprites pseudo direction "died" It allow change sprites in dead players. --- src/net/ea/beinghandler.cpp | 6 +++++- src/net/ea/playerhandler.cpp | 6 +++++- src/net/eathena/beinghandler.cpp | 6 +++++- src/net/tmwa/beinghandler.cpp | 6 +++++- 4 files changed, 20 insertions(+), 4 deletions(-) (limited to 'src/net') 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: -- cgit v1.2.3-60-g2f50