Command priority

All orders have a priority of 0-4.

The order scheduler will first try to start all priority 1 orders. Only when no more priority 1 orders are ready to start will a priority 2 order be started.

In other words, the order scheduler will not start an order at a higher priority when an order may be started at a lower priority.

Orders at the same priority are resolved in location order. If two units in a location are both waiting to start a move order, the first unit in the location will go first.

The above description of order priorities may seem complicated, but the intent is to let players ignore same-day synchronization issues in most cases. Rather that needing wait to guarantee that give happens before move, the lower priority of give makes this happen naturally.

For example, consider three units stacked together, top, mid and bot:

top:    move ec69
        yew

mid:    unstack
        recruit

bot:    recruit

These should be executed in the following order:

mid: unstack                    # unstack is prio-1
top: move ec69                  # move is prio-2
mid: recruit                    # recruit is prio-3

[top and bot arrive at ec69]

top: yew                        # yew is prio-3
bot: recruit                    # recruit is prio-3

The unstack happened first since it's a priority 1 command. The move went second. When top and bot finished moving, there were only priority three commands left, so they ran in location order.


[1] A zero time command is an order which always takes zero time. This does not include an order which may sometimes take zero time. For instance, unstack is always a zero time order. However, recruit is not, even though recruit may terminate immediately under some conditions.

Command precedence within a location

Seen here:
   Candide [1269]
   Osswid [5499]
   Feasel the Wicked [1109]

Order precedence within a location is an advantage for commands or skill uses which obtain resources from the location. For instance, if Candide and Osswid both attempted to harvest all of the lumber available in their location, Candide would have precedence, since his harvest order would finish before Osswid's, if they were started on the same day.

At the same time ...

No two things ever happen at exactly the same instant in Olympia. Someone always goes first.

Suppose two characters were outside of a building (which nobody is inside), and both wanted to enter, to claim it:

Seen here:
   Osswid [5499]
   Candide [1269]

Inner locations:
   Hooting Own Inn [ep76], inn

Both Osswid and Candid issue `move ep76' as their first order on day 1 of the month. What happens?

Osswid's command begins before Candide's, since Osswid appears before Candid in the location list. Therefore, Osswid will enter the inn first.

Order precedence between units in different provinces is undefined.

Osswid             ?            Candide
------- 8 days -------- 8 days --------
city A          city B          city C

If Osswid and Candide both leave for city B on the same day, we cannot predict who will get their first.