diff options
author | Andrei Karas <akaras@inbox.ru> | 2014-07-31 13:28:46 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2014-07-31 13:28:46 +0300 |
commit | 3d32a17af9cdfffda1e1612afeef976fbe218212 (patch) | |
tree | e3b974c0773e13f986b5194847f8e3395287583f /src/actormanager.cpp | |
parent | 6bedbd1724e575a152250eeda7988423d01680ba (diff) | |
download | mv-3d32a17af9cdfffda1e1612afeef976fbe218212.tar.gz mv-3d32a17af9cdfffda1e1612afeef976fbe218212.tar.bz2 mv-3d32a17af9cdfffda1e1612afeef976fbe218212.tar.xz mv-3d32a17af9cdfffda1e1612afeef976fbe218212.zip |
Add to debugSpawn mass spawn function.
Now debuSpawn accept parameter with side size of rectangle with spawned clones.
Diffstat (limited to 'src/actormanager.cpp')
-rw-r--r-- | src/actormanager.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/actormanager.cpp b/src/actormanager.cpp index 966653a99..dd88bc7bb 100644 --- a/src/actormanager.cpp +++ b/src/actormanager.cpp @@ -1722,16 +1722,19 @@ void ActorManager::updateEffects(const std::map<int, int> &addEffects, } } -Being *ActorManager::cloneBeing(const Being *const srcBeing) +Being *ActorManager::cloneBeing(const Being *const srcBeing, + const int dx, const int dy, + const int id) { - Being *const dstBeing = actorManager->createBeing(srcBeing->getId() + 1, + Being *const dstBeing = actorManager->createBeing(srcBeing->getId() + id, ActorType::PLAYER, srcBeing->getSubType()); if (!dstBeing) return nullptr; dstBeing->setGender(srcBeing->getGender()); dstBeing->setAction(srcBeing->getCurrentAction(), 0); - dstBeing->setTileCoords(srcBeing->getTileX(), srcBeing->getTileY()); + dstBeing->setTileCoords(srcBeing->getTileX() + dx, + srcBeing->getTileY() + dy); dstBeing->setName(srcBeing->getName()); dstBeing->setDirection(srcBeing->getDirection()); const size_t sz = srcBeing->getSpritesCount(); |