Update of bug #15744 (project freeciv):
Category: None => general
Status: None => Ready For Test
Planned Release: => 2.2.1
Follow-up Comment #4:
Patch attached for S2_2 and trunk:
* In running server and new savegames, ACTIVITY_PILLAGE/S_LAST/BASE_NONE is
now an invalid combination. Units are always pillaging a specific target.
* However, on ingress (from client and old savegames), this combination is
now a request for the server to assign a specific pillage target.
** The client now makes use of this in rulesets without pillage_select,
fixing bug #15742.
** (But the server still copes with clients requesting a specific target --
it'll be rejected if it's not the one the server would have chosen.)
* Rationalise and combine lots of pillaging code on this basis. Fix a few
already-noted inconsistencies as a result.
* Handle bases as first-class entities, the same as specials. (This fixes
various other bugs.)
* Rationalise loading of activities in general from savegames (shouldn't
affect anything other than pillaging).
* Actually save the base that's being pillaged when saving games.
* Centralise logic of which targets can be pillaged in
can_unit_do_activity_targeted_at() (used on client and server). (This does
cope with untargeted pillaging.)
** Move prevention of attempts to pillage prerequisites (e.g., road on a tile
with railroad) out of individual clients into the above.
** Use can_unit_do_activity_targeted_at() to derive the pillage popup list in
* Tenuously related: simplify display of infrastructure text in clients (less
code, same effect).
* Tenuously related: remove some unused variables from the SDL client.
(file #9058, file #9059)
Additional Item Attachment:
File name: S2_2-pillaging-fixes.diff Size:27 KB
File name: trunk-pillaging-fixes.diff Size:27 KB
Reply to this item at:
Message sent via/by Gna!
Freeciv-dev mailing list