From 2f8076f6c51cd969da927d12d6cd89a46899322e Mon Sep 17 00:00:00 2001
From: Andrei Karas <akaras@inbox.ru>
Date: Sat, 20 Sep 2014 14:10:11 +0300
Subject: Add mercenary actor type. Use it for now in samw way with monster
 type.

---
 src/being/actortype.h            | 3 ++-
 src/being/being.cpp              | 5 +++--
 src/net/eathena/beinghandler.cpp | 4 +++-
 3 files changed, 8 insertions(+), 4 deletions(-)

(limited to 'src')

diff --git a/src/being/actortype.h b/src/being/actortype.h
index b45961c8a..f92ce9e82 100644
--- a/src/being/actortype.h
+++ b/src/being/actortype.h
@@ -33,7 +33,8 @@ namespace ActorType
         FloorItem,
         Portal,
         LocalPet,
-        Avatar
+        Avatar,
+        Mercenary
     };
 }  // namespace ActorType
 
diff --git a/src/being/being.cpp b/src/being/being.cpp
index 3bb1f9fd5..f52371d78 100644
--- a/src/being/being.cpp
+++ b/src/being/being.cpp
@@ -292,7 +292,7 @@ void Being::setSubtype(const uint16_t subtype, const uint8_t look)
     mSubType = subtype;
     mLook = look;
 
-    if (mType == ActorType::Monster)
+    if (mType == ActorType::Monster || mType == ActorType::Mercenary)
     {
         mInfo = MonsterDB::get(mSubType);
         if (mInfo)
@@ -544,7 +544,7 @@ void Being::takeDamage(Being *const attacker, const int amount,
             color = &userPalette->getColor(UserPalette::MISS);
         }
     }
-    else if (mType == ActorType::Monster)
+    else if (mType == ActorType::Monster || mType == ActorType::Mercenary)
     {
         if (attacker == localPlayer)
         {
@@ -2909,6 +2909,7 @@ std::string Being::loadComment(const std::string &name,
         case ActorType::Portal:
         case ActorType::LocalPet:
         case ActorType::Avatar:
+        case ActorType::Mercenary:
         default:
             return "";
     }
diff --git a/src/net/eathena/beinghandler.cpp b/src/net/eathena/beinghandler.cpp
index f222feada..e2617dc98 100644
--- a/src/net/eathena/beinghandler.cpp
+++ b/src/net/eathena/beinghandler.cpp
@@ -305,6 +305,9 @@ Being *BeingHandler::createBeing2(const int id,
         case BeingType::MONSTER:
             type = ActorType::Monster;
             break;
+        case BeingType::MERSOL:
+            type = ActorType::Mercenary;
+            break;
         case BeingType::ITEM:
         case BeingType::SKILL:
         case BeingType::ELEMENTAL:
@@ -314,7 +317,6 @@ Being *BeingHandler::createBeing2(const int id,
         case BeingType::CHAT:
         case BeingType::PET:
         case BeingType::HOMUN:
-        case BeingType::MERSOL:
             type = ActorType::Monster;
             logger->log("not supported object type: %d, job: %d",
                 static_cast<int>(beingType), static_cast<int>(job));
-- 
cgit v1.2.3-70-g09d2