Am Monday 08 March 2010 22:32:41 schrieb Nicolai Hähnle: > Am Monday 08 March 2010 11:10:33 schrieb Timowi: > > I had a look at the code again and I think it's the following problem: > > A soldier launched from a militarysite has a task "buildingwork" and then > > task "attack" or "defense". Soldiers launched from a headquarter (or > > warehouse?) only have task "defense". If pop_task is called in the first > > case task "buildingwork" takes the solider home (or to a warehouse). In > > the second case the solider is forever at his last position without any > > task (But he is a worker of his building). > > > > Either calling pop_task without being home or something with the sending > > of soldiers from a headquarter is wrong. I am not completely familiar > > with the task system but I think pop_task should no be called if the > > worker is not at his building. > > Keep in mind that's it's been a long time since I was really deep in that > code. However: The case of an empty task stack is supposed to be handled by > init_auto_task. Unless the soldier has 0 hit points left, this should be > handled by Worker::init_auto_task which should start the gowarehouse task. > However, it seems that the gowarehouse task then incorporates the worker > without checking whether it is actually at the warehouse's position. That > is bound to cause problems later on. > > I suggest to add a check in gowarehouse_update which, instead of > incorporating the worker, will zero out her location if she's not actually > at the warehouse position. What do you think?
Come to think of it, just pushing a return to building task should be better than zeroing the location. -- Idle military people https://bugs.launchpad.net/bugs/530646 You received this bug notification because you are a member of Widelands Developers, which is subscribed to widelands. Status in Widelands: Confirmed Bug description: Full description here, only tracked here to be markes as show stopper for rc1 https://sourceforge.net/tracker/?func=detail&aid=2961814&group_id=40163&atid=427221 _______________________________________________ Mailing list: https://launchpad.net/~widelands-dev Post to : [email protected] Unsubscribe : https://launchpad.net/~widelands-dev More help : https://help.launchpad.net/ListHelp

