summaryrefslogtreecommitdiff
path: root/src/net/eathena/beinghandler.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/net/eathena/beinghandler.cpp')
-rw-r--r--src/net/eathena/beinghandler.cpp64
1 files changed, 19 insertions, 45 deletions
diff --git a/src/net/eathena/beinghandler.cpp b/src/net/eathena/beinghandler.cpp
index a178a244b..1a5adcaf9 100644
--- a/src/net/eathena/beinghandler.cpp
+++ b/src/net/eathena/beinghandler.cpp
@@ -1031,21 +1031,7 @@ void BeingHandler::processBeingVisible(Net::MessageIn &msg)
}
else if (dstBeing->getType() == ActorType::NPC)
{
- switch (gender)
- {
- case 2:
- dstBeing->setGender(Gender::FEMALE);
- break;
- case 3:
- dstBeing->setGender(Gender::MALE);
- break;
- case 4:
- dstBeing->setGender(Gender::OTHER);
- break;
- default:
- dstBeing->setGender(Gender::UNSPECIFIED);
- break;
- }
+ setServerGender(dstBeing, gender);
}
uint8_t dir;
@@ -1208,21 +1194,7 @@ void BeingHandler::processBeingMove(Net::MessageIn &msg)
}
else if (dstBeing->getType() == ActorType::NPC)
{
- switch (gender)
- {
- case 2:
- dstBeing->setGender(Gender::FEMALE);
- break;
- case 3:
- dstBeing->setGender(Gender::MALE);
- break;
- case 4:
- dstBeing->setGender(Gender::OTHER);
- break;
- default:
- dstBeing->setGender(Gender::UNSPECIFIED);
- break;
- }
+ setServerGender(dstBeing, gender);
}
uint16_t srcX, srcY, dstX, dstY;
@@ -1387,21 +1359,7 @@ void BeingHandler::processBeingSpawn(Net::MessageIn &msg)
}
else if (dstBeing->getType() == ActorType::NPC)
{
- switch (gender)
- {
- case 2:
- dstBeing->setGender(Gender::FEMALE);
- break;
- case 3:
- dstBeing->setGender(Gender::MALE);
- break;
- case 4:
- dstBeing->setGender(Gender::OTHER);
- break;
- default:
- dstBeing->setGender(Gender::UNSPECIFIED);
- break;
- }
+ setServerGender(dstBeing, gender);
}
uint8_t dir;
@@ -1685,4 +1643,20 @@ void BeingHandler::processBeingChangeDirection(Net::MessageIn &msg) const
BLOCK_END("BeingHandler::processBeingChangeDirection")
}
+void BeingHandler::setServerGender(Being *const being, const uint8_t gender)
+{
+ switch (gender)
+ {
+ case 2:
+ being->setGender(Gender::FEMALE);
+ break;
+ case 3:
+ being->setGender(Gender::MALE);
+ break;
+ default:
+ being->setGender(Gender::UNSPECIFIED);
+ break;
+ }
+}
+
} // namespace EAthena