Project

Profile

Help

HostedRedmine.com has moved to the Planio platform. All logins and passwords remained the same. All users will be able to login and use Redmine just as before. Read more...

Bug #692482

Unit is lost when disbanding city to unit type that cannot exist on city's tile (2.6.0 pre-beta, variant2)

Added by frank e almost 5 years ago. Updated about 2 months ago.

Status:
Closed
Priority:
Normal
Category:
General
Sprint/Milestone:
Start date:
Due date:
% Done:

0%

Estimated time:

Description

Disbanding a (coastal) land city into a Sea Constructor, or a coastal ocean city into a land settler, does not work; see attached pictures.

History

#1 Updated by frank e almost 5 years ago

Category should be server, sorry.

#2 Updated by Marko Lindqvist almost 5 years ago

  • Category changed from Windows Installers to General
  • Sprint/Milestone deleted (2.6.0-beta1)

What you think should happen when a city disbands to a unit type that cannot exist on the tile?

#3 Updated by Jacob Nevins almost 5 years ago

  • Subject changed from 260beta0 variant2 settlers to Unit is lost when disbanding city to unit type that cannot exist on city's tile (2.6.0 pre-beta, variant2)

#4 Updated by frank e almost 5 years ago

Marko Lindqvist wrote:

What you think should happen when a city disbands to a unit type that cannot exist on the tile?

In the attached screen shots you can see that land units can get out of a disbanded ocean city, and sea units (e.g., the submarine) can get out of a disbanded land city. Therefore I think that the settler (land unit) or sea constructor (sea unit) should also get out:

A land city disbanded in a settler gives a movable settler in the given turn, an ocean city disbanded in a sea constructor gives a movable sea constructor in the given turn. The "no move points left" info doesn't match these cases.

#5 Updated by Jacob Nevins over 2 years ago

Units built by cities are created with 0 movement points for some reason (whether it disbands the city or not). This has the knock-on effect in create_unit_full() of marking them as "moved".

I think passing moves_left==-1 to create_unit() when the unit is created in disband_city() would solve frank's problem in the way they expect, by giving the new unit some move points to escape with. Probably want to do the same in the non-disband case directly in city_build_unit(). But I don't know if it's important that either freshly built units have 0 MP, or are marked as "moved"; would need to check that first.

#6 Updated by Marko Lindqvist about 1 year ago

  • Sprint/Milestone set to 2.6.6

#7 Updated by Marko Lindqvist 7 months ago

  • Sprint/Milestone changed from 2.6.6 to 3.0.1

#8 Updated by Marko Lindqvist 3 months ago

  • Sprint/Milestone changed from 3.0.1 to 3.0.2

Jacob Nevins wrote:

I don't know if it's important that either freshly built units have 0 MP, or are marked as "moved"; would need to check that first.

I think that it has originally coded with "0" only as "obvious" initialization value. That said, maybe changing it now would be considered a rule change on some cases? (but don't see even that if it really is only about "units built by cities" - and not e.g. barbarians from huts)

#10 Updated by Marko Lindqvist about 2 months ago

  • Status changed from Resolved to Closed

Also available in: Atom PDF