From 88df3eb6e82e1a23f379416652ac4f12f22a063c Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Sun, 23 Sep 2012 14:53:21 +0300 Subject: Add to monsters.xml and npcs.xml sort offset parameters. sortOffsetY - this value will be substracted from y position while sorting deadSortOffsetY - this value will be substracted from dead bein y position while sorting By default sortOffsetY = 0 and deadSortOffsetY = 31 --- src/being.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'src/being.cpp') diff --git a/src/being.cpp b/src/being.cpp index 465ee42dd..b08e95e96 100644 --- a/src/being.cpp +++ b/src/being.cpp @@ -307,13 +307,17 @@ void Being::setSubtype(const uint16_t subtype) { setName(mInfo->getName()); setupSpriteDisplay(mInfo->getDisplay()); + mYDiff = mInfo->getSortOffsetY(); } } else if (mType == NPC) { mInfo = NPCDB::get(mSubType); if (mInfo) + { setupSpriteDisplay(mInfo->getDisplay(), false); + mYDiff = mInfo->getSortOffsetY(); + } } else if (mType == PLAYER) { @@ -1058,8 +1062,8 @@ void Being::setAction(const Action &action, const int attackType A_UNUSED) currentAction = SpriteAction::DEAD; if (mInfo) sound.playSfx(mInfo->getSound(SOUND_EVENT_DIE), mX, mY); - if (mType == MONSTER) - mYDiff = 31; + if (mType == MONSTER || mType == NPC) + mYDiff = mInfo->getDeadSortOffsetY(); break; case STAND: currentAction = SpriteAction::STAND; -- cgit v1.2.3-60-g2f50