summaryrefslogtreecommitdiff
path: root/src/object.cpp
diff options
context:
space:
mode:
authorGuillaume Melquiond <guillaume.melquiond@gmail.com>2007-01-03 17:10:43 +0000
committerGuillaume Melquiond <guillaume.melquiond@gmail.com>2007-01-03 17:10:43 +0000
commit1673de8b5553f6dcd4898c84b8d44ba8b30740f1 (patch)
tree3dcc47461a6b4914c4e81492e7be885c3a1502ea /src/object.cpp
parent6b7441516002d6e7cca424416bb67c6bc7d7c9d2 (diff)
downloadmanaserv-1673de8b5553f6dcd4898c84b8d44ba8b30740f1.tar.gz
manaserv-1673de8b5553f6dcd4898c84b8d44ba8b30740f1.tar.bz2
manaserv-1673de8b5553f6dcd4898c84b8d44ba8b30740f1.tar.xz
manaserv-1673de8b5553f6dcd4898c84b8d44ba8b30740f1.zip
Split persistent player data from game server data. Enabled inventory code back.
Diffstat (limited to 'src/object.cpp')
-rw-r--r--src/object.cpp79
1 files changed, 0 insertions, 79 deletions
diff --git a/src/object.cpp b/src/object.cpp
deleted file mode 100644
index c2e11a7f..00000000
--- a/src/object.cpp
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * The Mana World Server
- * Copyright 2004 The Mana World Development Team
- *
- * This file is part of The Mana World.
- *
- * The Mana World is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the Free
- * Software Foundation; either version 2 of the License, or any later version.
- *
- * The Mana World is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with The Mana World; if not, write to the Free Software Foundation, Inc.,
- * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * $Id$
- */
-
-#include "map.h"
-#include "object.h"
-#include "game-server/mapmanager.hpp"
-
-void MovingObject::move()
-{
- mOld = getPosition();
- if (mActionTime > 100)
- {
- // current move has not yet ended
- mActionTime -= 100;
- return;
- }
-
- int tileSX = mOld.x / 32, tileSY = mOld.y / 32;
- int tileDX = mDst.x / 32, tileDY = mDst.y / 32;
- if (tileSX == tileDX && tileSY == tileDY)
- {
- // moving while staying on the same tile is free
- setPosition(mDst);
- mActionTime = 0;
- return;
- }
-
- Map *map = mapManager->getMap(getMapId());
- // TODO: cache pathfinding results
- std::list<PATH_NODE> path = map->findPath(tileSX, tileSY, tileDX, tileDY);
- if (path.empty())
- {
- // no path was found
- mDst = mOld;
- mActionTime = 0;
- return;
- }
-
- PATH_NODE prev(tileSX, tileSY);
- Point pos;
- do
- {
- PATH_NODE next = path.front();
- path.pop_front();
- mActionTime += (prev.x != next.x && prev.y != next.y)
- ? mSpeed * 362 / 256 : mSpeed;
- if (path.empty())
- {
- // skip last tile center
- pos = mDst;
- break;
- }
- pos.x = next.x * 32 + 16;
- pos.y = next.y * 32 + 16;
- }
- while (mActionTime < 100);
- setPosition(pos);
-
- mActionTime = mActionTime > 100 ? mActionTime - 100 : 0;
-}