Project

General

Profile

Bug #657406

City ZOC effect inconsistent (information leak)

Added by Marko Lindqvist 5 months ago. Updated 2 months ago.

Status:
Closed
Priority:
Normal
Category:
General
Target version:
Start date:
Due date:
% Done:

0%


Description

"- An enemy city counts as an enemy occupied tile if there are any units inside the city, but not if the city is empty. (This is the same rule as for any other tile.)"

I'm not sure how it behaves at the moment, but that text is certainly wrong as it contradicts itself:
"ANY units inside" vs "SAME RULE as for any ... tile"

In S2_6 only SOME units generate zoc outside cities.

0005-Occupied-enemy-cities-always-impose-ZoC.patch View - S3_0, S2_6 (2.88 KB) Marko Lindqvist, 2017-07-16 07:30 PM

0008-Occupied-enemy-cities-always-impose-ZoC.patch View - master (2.89 KB) Marko Lindqvist, 2017-07-16 07:30 PM

History

#1 Updated by Jacob Nevins 3 months ago

  • Category changed from Documentation to General
  • Target version changed from 2.6.0 to 2.6.0-beta1

I think the actual behaviour on the server is that only UTYF_NOZOC units impose ZoC even when in a city (so really "the same rule as for any other tile").

However, the client treats any occupied city as imposing ZoC (for goto etc).

There's a knowledge / information leak problem here. You can currently tell if a city only contains no-ZoC units by trying to walk past it (by hand rather than with goto) -- verified experimentally. You shouldn't be able to tell that.

I think this is a new problem in 2.6, since gna bug #21507 added UTYF_NOZOC.

The simplest fix for 2.6 is probably to decree that enemy occupied cities always impose ZoC, regardless of the occupying unit.

(Also, from inspection, I'm not entirely convinced that pathfinding understands the new ZoC rules, but I haven't tested it or looked in detail.)

#2 Updated by Jacob Nevins 3 months ago

  • Subject changed from Helpdata about city ZOC effect wrong to City ZOC effect inconsistent (information leak)

#4 Updated by Marko Lindqvist 2 months ago

  • Status changed from Resolved to Closed
  • Assignee set to Marko Lindqvist

Also available in: Atom PDF