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
the server.
* 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

Reply via email to