summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2014-09-20 14:10:11 +0300
committerAndrei Karas <akaras@inbox.ru>2014-09-20 14:10:11 +0300
commit2f8076f6c51cd969da927d12d6cd89a46899322e (patch)
tree5455a5751377f5123f4ac9164a627a7c829a06ad
parentca7de6f8ca1277318d0f4a445b50942870df926f (diff)
downloadmv-2f8076f6c51cd969da927d12d6cd89a46899322e.tar.gz
mv-2f8076f6c51cd969da927d12d6cd89a46899322e.tar.bz2
mv-2f8076f6c51cd969da927d12d6cd89a46899322e.tar.xz
mv-2f8076f6c51cd969da927d12d6cd89a46899322e.zip
Add mercenary actor type. Use it for now in samw way with monster type.
-rw-r--r--src/being/actortype.h3
-rw-r--r--src/being/being.cpp5
-rw-r--r--src/net/eathena/beinghandler.cpp4
3 files changed, 8 insertions, 4 deletions
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));