URL:
  <http://gna.org/bugs/?15850>

                 Summary: Formula AI: allow partial_move() to target the
current location
                 Project: Battle for Wesnoth
            Submitted by: None
            Submitted on: Monday 04/12/2010 at 09:39 CEST
                Category: Feature Request
                Severity: 3 - Normal
                Priority: 5 - Normal
              Item Group: WML
                  Status: None
                 Privacy: Public
             Assigned to: None
        Originator Email: 
             Open/Closed: Open
         Discussion Lock: Any
                 Release: 1.8
        Operating System: gnu/linux

    _______________________________________________________

Details:

Consider the case of 2 poisoned units in range to reach the same single
village.
When writing a candidate action, you will filter on all poisoned units. In
the action phase, after the first unit has move into the village, the second
and last unit can't get in. I consider the proper way is to check that the
village is still in the possible moves for those units before performing the
move.
If not (like in the case the available village has been taken by the first
unit), as we don't have a skip command that would allow to pass to the next
unit, there should be a way to give a valid move target to the other units.
It seems to me the best command to do nothing would be move_partial() to
current location.

Unfortunately, this command generates an error [in the console: Error #2001
(move_result::E_EMPTY_MOVE) in partial move by side 2 from location 17,13 to
location 17,13], but even worst it stops executing the remaining candidate
actions for the stage.

The biggest problem being then: if 2 poisoned units can reach the same
village, and a third one another village, the first unit will get in the
first village, the second unit will generate an error and the third unit will
not move at all.

Hence the move_partial() should not raise an error when the target is the
current location or one should get a special command to skip a unit and keep
performing remaining candidate actions.

Being able to use move_partial() rather than move() in this case is important
as move_partial() would allow the unit to still be considered at the fallback
stage.

(Contact FAAB on the forum)




    _______________________________________________________

Reply to this item at:

  <http://gna.org/bugs/?15850>

_______________________________________________
  Message sent via/by Gna!
  http://gna.org/


_______________________________________________
Wesnoth-bugs mailing list
[email protected]
https://mail.gna.org/listinfo/wesnoth-bugs

Reply via email to