summaryrefslogtreecommitdiff
path: root/src/net/eathena/beingrecv.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/net/eathena/beingrecv.cpp')
-rw-r--r--src/net/eathena/beingrecv.cpp48
1 files changed, 42 insertions, 6 deletions
diff --git a/src/net/eathena/beingrecv.cpp b/src/net/eathena/beingrecv.cpp
index 5c5e18ce8..5d4c59d00 100644
--- a/src/net/eathena/beingrecv.cpp
+++ b/src/net/eathena/beingrecv.cpp
@@ -380,8 +380,20 @@ void BeingRecv::processBeingVisible(Net::MessageIn &msg)
dstBeing->setGender(Being::intToGender(gender));
dstBeing->setHairColor(hairColor);
// Set these after the gender, as the sprites may be gender-specific
- Ea::BeingRecv::setSprite(dstBeing, SPRITE_HAIR_COLOR, hairStyle * -1,
- ItemDB::get(-hairStyle).getDyeColorsString(hairColor));
+ if (hairStyle == 0)
+ {
+ Ea::BeingRecv::setSprite(dstBeing,
+ SPRITE_HAIR_COLOR,
+ 0,
+ std::string());
+ }
+ else
+ {
+ Ea::BeingRecv::setSprite(dstBeing,
+ SPRITE_HAIR_COLOR,
+ hairStyle * -1,
+ ItemDB::get(-hairStyle).getDyeColorsString(hairColor));
+ }
Ea::BeingRecv::setSprite(dstBeing, SPRITE_WEAPON, headBottom);
Ea::BeingRecv::setSprite(dstBeing, SPRITE_HEAD_BOTTOM, headMid);
Ea::BeingRecv::setSprite(dstBeing, SPRITE_CLOTHES_COLOR, headTop);
@@ -568,8 +580,20 @@ void BeingRecv::processBeingMove(Net::MessageIn &msg)
dstBeing->setGender(Being::intToGender(gender));
dstBeing->setHairColor(hairColor);
// Set these after the gender, as the sprites may be gender-specific
- Ea::BeingRecv::setSprite(dstBeing, SPRITE_HAIR_COLOR, hairStyle * -1,
- ItemDB::get(-hairStyle).getDyeColorsString(hairColor));
+ if (hairStyle == 0)
+ {
+ Ea::BeingRecv::setSprite(dstBeing,
+ SPRITE_HAIR_COLOR,
+ 0,
+ std::string());
+ }
+ else
+ {
+ Ea::BeingRecv::setSprite(dstBeing,
+ SPRITE_HAIR_COLOR,
+ hairStyle * -1,
+ ItemDB::get(-hairStyle).getDyeColorsString(hairColor));
+ }
if (!serverFeatures->haveMove3())
{
Ea::BeingRecv::setSprite(dstBeing, SPRITE_WEAPON, headBottom);
@@ -758,8 +782,20 @@ void BeingRecv::processBeingSpawn(Net::MessageIn &msg)
dstBeing->setGender(Being::intToGender(gender));
dstBeing->setHairColor(hairColor);
// Set these after the gender, as the sprites may be gender-specific
- Ea::BeingRecv::setSprite(dstBeing, SPRITE_HAIR_COLOR, hairStyle * -1,
- ItemDB::get(-hairStyle).getDyeColorsString(hairColor));
+ if (hairStyle == 0)
+ {
+ Ea::BeingRecv::setSprite(dstBeing,
+ SPRITE_HAIR_COLOR,
+ 0,
+ std::string());
+ }
+ else
+ {
+ Ea::BeingRecv::setSprite(dstBeing,
+ SPRITE_HAIR_COLOR,
+ hairStyle * -1,
+ ItemDB::get(-hairStyle).getDyeColorsString(hairColor));
+ }
Ea::BeingRecv::setSprite(dstBeing, SPRITE_WEAPON, headBottom);
Ea::BeingRecv::setSprite(dstBeing, SPRITE_HEAD_BOTTOM, headMid);
Ea::BeingRecv::setSprite(dstBeing, SPRITE_CLOTHES_COLOR, headTop);