diff options
author | Andrei Karas <akaras@inbox.ru> | 2013-11-25 18:18:57 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2013-11-25 18:18:57 +0300 |
commit | e29c49d5f84544ef8178b7240b30485bfaf9ebce (patch) | |
tree | abba3ad42514cd14adc988ff37012c4361f2727e /src/net | |
parent | 488428c6dba3d1e82b017bfb3b08ba85ced82be2 (diff) | |
download | mv-e29c49d5f84544ef8178b7240b30485bfaf9ebce.tar.gz mv-e29c49d5f84544ef8178b7240b30485bfaf9ebce.tar.bz2 mv-e29c49d5f84544ef8178b7240b30485bfaf9ebce.tar.xz mv-e29c49d5f84544ef8178b7240b30485bfaf9ebce.zip |
prevent update some sprites from move packets and some other.
Diffstat (limited to 'src/net')
-rw-r--r-- | src/net/ea/beinghandler.cpp | 5 | ||||
-rw-r--r-- | src/net/eathena/beinghandler.cpp | 12 | ||||
-rw-r--r-- | src/net/tmwa/beinghandler.cpp | 18 |
3 files changed, 17 insertions, 18 deletions
diff --git a/src/net/ea/beinghandler.cpp b/src/net/ea/beinghandler.cpp index daef49b42..0a864bbac 100644 --- a/src/net/ea/beinghandler.cpp +++ b/src/net/ea/beinghandler.cpp @@ -110,7 +110,7 @@ void BeingHandler::setSprite(Being *const being, const unsigned int slot, { if (!being) return; - being->setSprite(slot, id, color, colorId, isWeapon, isTempSprite); + being->updateSprite(slot, id, color, colorId, isWeapon, isTempSprite); } void BeingHandler::processBeingVisibleOrMove(Net::MessageIn &msg, @@ -255,10 +255,9 @@ void BeingHandler::processBeingVisibleOrMove(Net::MessageIn &msg, } uint8_t gender = msg.readInt8(); - // reserving bits for future usage - if (!disguiseId && dstBeing->getType() == ActorSprite::PLAYER) { + // reserving bits for future usage gender &= 3; dstBeing->setGender(Being::intToGender(gender)); // Set these after the gender, as the sprites may be gender-specific diff --git a/src/net/eathena/beinghandler.cpp b/src/net/eathena/beinghandler.cpp index 652776e28..108e6b50f 100644 --- a/src/net/eathena/beinghandler.cpp +++ b/src/net/eathena/beinghandler.cpp @@ -511,13 +511,13 @@ void BeingHandler::processPlayerMoveUpdate(Net::MessageIn &msg, if (!disguiseId) { // Set these after the gender, as the sprites may be gender-specific - dstBeing->setSprite(SPRITE_WEAPON, weapon, "", 1, true); + dstBeing->updateSprite(SPRITE_WEAPON, weapon, "", 1, true); if (!mHideShield) - dstBeing->setSprite(SPRITE_SHIELD, shield); - dstBeing->setSprite(SPRITE_BOTTOMCLOTHES, headBottom); - dstBeing->setSprite(SPRITE_TOPCLOTHES, headMid); - dstBeing->setSprite(SPRITE_HAT, headTop); - dstBeing->setSprite(SPRITE_HAIR, hairStyle * -1, + dstBeing->updateSprite(SPRITE_SHIELD, shield); + dstBeing->updateSprite(SPRITE_BOTTOMCLOTHES, headBottom); + dstBeing->updateSprite(SPRITE_TOPCLOTHES, headMid); + dstBeing->updateSprite(SPRITE_HAT, headTop); + dstBeing->updateSprite(SPRITE_HAIR, hairStyle * -1, ItemDB::get(-hairStyle).getDyeColorsString(hairColor)); } player_node->imitateOutfit(dstBeing); diff --git a/src/net/tmwa/beinghandler.cpp b/src/net/tmwa/beinghandler.cpp index 47d86a240..cfb25fa49 100644 --- a/src/net/tmwa/beinghandler.cpp +++ b/src/net/tmwa/beinghandler.cpp @@ -525,23 +525,23 @@ void BeingHandler::processPlayerMoveUpdate(Net::MessageIn &msg, if (!disguiseId) { // Set these after the gender, as the sprites may be gender-specific - dstBeing->setSprite(SPRITE_WEAPON, weapon, "", 1, true); + dstBeing->updateSprite(SPRITE_WEAPON, weapon, "", 1, true); if (!mHideShield) - dstBeing->setSprite(SPRITE_SHIELD, shield); + dstBeing->updateSprite(SPRITE_SHIELD, shield); if (serverVersion > 0) { - dstBeing->setSprite(SPRITE_BOTTOMCLOTHES, headBottom, + dstBeing->updateSprite(SPRITE_BOTTOMCLOTHES, headBottom, "", colors[0]); - dstBeing->setSprite(SPRITE_TOPCLOTHES, headMid, "", colors[2]); - dstBeing->setSprite(SPRITE_HAT, headTop, "", colors[1]); + dstBeing->updateSprite(SPRITE_TOPCLOTHES, headMid, "", colors[2]); + dstBeing->updateSprite(SPRITE_HAT, headTop, "", colors[1]); } else { - dstBeing->setSprite(SPRITE_BOTTOMCLOTHES, headBottom); - dstBeing->setSprite(SPRITE_TOPCLOTHES, headMid); - dstBeing->setSprite(SPRITE_HAT, headTop); + dstBeing->updateSprite(SPRITE_BOTTOMCLOTHES, headBottom); + dstBeing->updateSprite(SPRITE_TOPCLOTHES, headMid); + dstBeing->updateSprite(SPRITE_HAT, headTop); } - dstBeing->setSprite(SPRITE_HAIR, hairStyle * -1, + dstBeing->updateSprite(SPRITE_HAIR, hairStyle * -1, ItemDB::get(-hairStyle).getDyeColorsString(hairColor)); dstBeing->setHairColor(hairColor); } |