From ad3623ced5020c9c886cb85100ae05efa460f84a Mon Sep 17 00:00:00 2001 From: Bjørn Lindeijer Date: Sat, 30 Apr 2005 13:29:45 +0000 Subject: Some fixes to player control, also attempting to solve long walk path problem. --- src/being.cpp | 30 ++++++++++++++++++++---------- 1 file changed, 20 insertions(+), 10 deletions(-) (limited to 'src/being.cpp') diff --git a/src/being.cpp b/src/being.cpp index 0ef1e15f..90819f70 100644 --- a/src/being.cpp +++ b/src/being.cpp @@ -37,7 +37,8 @@ PATH_NODE::PATH_NODE(unsigned short x, unsigned short y): { } -void add_node(Being *being) { +void add_node(Being *being) +{ beings.push_back(being); // If the being is a player, request the name if (being-> job < 10) { @@ -59,10 +60,10 @@ void add_node(Being *being) { monsterset[being->job - 1002] = new Spriteset(monsterbitmap, 60, 60); } } - } -void remove_node(unsigned int id) { +void remove_node(unsigned int id) +{ std::list::iterator i; for (i = beings.begin(); i != beings.end(); i++) { if ((*i)->id == id) { @@ -73,7 +74,8 @@ void remove_node(unsigned int id) { } } -unsigned int findNpc(unsigned short x, unsigned short y) { +unsigned int findNpc(unsigned short x, unsigned short y) +{ std::list::iterator i; for (i = beings.begin(); i != beings.end(); i++) { Being *being = (*i); @@ -87,7 +89,8 @@ unsigned int findNpc(unsigned short x, unsigned short y) { return 0; } -unsigned int findPlayer(unsigned short x, unsigned short y) { +unsigned int findPlayer(unsigned short x, unsigned short y) +{ std::list::iterator i; for (i = beings.begin(); i != beings.end(); i++) { Being *being = (*i); @@ -99,7 +102,8 @@ unsigned int findPlayer(unsigned short x, unsigned short y) { return 0; } -unsigned int findMonster(unsigned short x, unsigned short y) { +unsigned int findMonster(unsigned short x, unsigned short y) +{ std::list::iterator i; for (i = beings.begin(); i != beings.end(); i++) { Being *being = (*i); @@ -114,7 +118,8 @@ unsigned int findMonster(unsigned short x, unsigned short y) { return 0; } -Being *findNode(unsigned int id) { +Being *findNode(unsigned int id) +{ std::list::iterator i; for (i = beings.begin(); i != beings.end(); i++) { Being *being = (*i); @@ -125,7 +130,8 @@ Being *findNode(unsigned int id) { return NULL; } -Being *findNode(unsigned short x, unsigned short y) { +Being *findNode(unsigned short x, unsigned short y) +{ std::list::iterator i; for (i = beings.begin(); i != beings.end(); i++) { Being *being = (*i); @@ -179,8 +185,12 @@ void Being::clearPath() void Being::setPath(std::list path) { this->path = path; - nextStep(); - walk_time = tick_time; + + if (action != WALK) + { + nextStep(); + walk_time = tick_time; + } } void Being::setDestination(int destX, int destY) -- cgit v1.2.3-70-g09d2