Follow-up Comment #6, bug #16387 (project freeciv): It doesn't seem like a bug to me.
With Freeciv in its default "concurrent" phasemode, you can't rely on a particular order of things happening on the next turn, as any player can notionally do anything at any time. However, as I understand it, some activities are done in a single thread on the server, on behalf of the player (such as goto); but as alluded to, at the start of a turn, players are shuffled (shuffle_players()) so that the ordering of these activities between players nominally can't be predicted, presumably to give some semblance of fairness. (But if you do get to go first, you get to do *all* your server-side activities first.) The randomness of shuffle_players() is controlled by the random seed, which is recorded in the savegame; thus consistently getting the same result every time from this savegame. I've attached a derived example where I've add a unit of P's units which has movement points and a choice of S's units to attack (unrelated to the goto/pillage units), to introduce variation into the randomness. I find that whether or not S's units succeed in pillaging next turn depends on which unit I attack this turn (but they will then either all succeed in pillaging or all fail). Arguably this could be improved upon, but I think it's working as designed and doesn't constitute an exploit. I don't think this is the same as bug #14473, which I think is about the ordering and dependencies between the server-side per-turn activities of a single player and definitely could use a rework. (file #9835) _______________________________________________________ Additional Item Attachment: File name: x-pillage-test-random.sav.bz2 Size:10 KB _______________________________________________________ Reply to this item at: <http://gna.org/bugs/?16387> _______________________________________________ Message sent via/by Gna! http://gna.org/ _______________________________________________ Freeciv-dev mailing list Freeciv-dev@gna.org https://mail.gna.org/listinfo/freeciv-dev