Project

General

Profile

Feature #681977

civ2civ3: no upkeep for pop units

Added by David Fernandez (bard) 2 months ago. Updated 8 days ago.

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

0%


Description

Units with cost of population do not pay upkeep of Shields or Gold: Settlers, Migrants and Fanatics. But are taken into account for the upkeep of Food (except Fanatics under Fundamentalism).

I designed it this way in the first versions of the ruleset, but I had to change it because AI tended to produce too much settlers and migrants in that time, damaging the growth of its cities. In my tests, it seems AI in S2_6 can handle this rule fine.

In civ3, Workers were equal to the Migrants of civ2civ3 (10 cost, 1 pop), and Settlers were equal too (cost 30, 2 pop), but in civ3 there were no working units or engineers without pop cost.
This patch removes the gold/shield upkeep (replacing it by food upkeep that makes more sense), and makes Migrants a good alternative to Workers in overpopulated cities. Migrants and Settlers will take advantage of the free food upkeep per city, while Workers and Engineers will take advantage of the free gold/shield upkeep per city.

Patch for Trunk (civ2civ3 and sandbox). Tested on v2.6 beta.

civ2civ3-pop_units_no_upkeep-Trunk.patch View (3.44 KB) David Fernandez (bard), 2017-09-03 12:19 AM

civ2civ3-pop_units_no_upkeep-S2_6.patch View (3.4 KB) David Fernandez (bard), 2017-09-06 06:24 PM

m-civ2civ3-No-upkeep-for-pop-units-v2.patch View (3.89 KB) David Fernandez (bard), 2017-09-09 08:24 PM

26-civ2civ3-No-upkeep-for-pop-units-v2.patch View (3.86 KB) David Fernandez (bard), 2017-09-09 08:24 PM


Related issues

Blocks Freeciv - Task #694704: civ2civ3: introduce new features for 2.6 Closed

History

#1 Updated by Jacob Nevins 21 days ago

  • Blocks Task #694704: civ2civ3: introduce new features for 2.6 added

#2 Updated by Jacob Nevins 20 days ago

The patch for this seems to be missing...

#3 Updated by David Fernandez (bard) 20 days ago

Jacob Nevins wrote:

The patch for this seems to be missing...

Here it is...

#4 Updated by Marko Lindqvist 18 days ago

  • Status changed from New to Resolved
  • Target version set to 2.6.0-beta1

#5 Updated by Marko Lindqvist 18 days ago

  • Status changed from Resolved to In Progress

The patch does not apply to S2_6

#6 Updated by David Fernandez (bard) 16 days ago

Same patch for S2_6.

Patch for Trunk (civ2civ3 and sandbox). Tested on v2.6 beta.

This comment in my first post was misleading. I meant that I tested these changes on S2_6, but not the patch itself.

Btw, I was expecting some automatic way in GIT to port a patch from one branch (master) to another (S2_6), but I haven't found it, so I had to redo the changes manually. Please, tell me if you know some better way.

#7 Updated by Marko Lindqvist 16 days ago

  • Status changed from In Progress to Resolved

#8 Updated by Marko Lindqvist 16 days ago

(S2_6 version, not master version, seems to apply to S3_0)

#9 Updated by Marko Lindqvist 14 days ago

  • Status changed from Resolved to In Progress

This patch does not apply cleanly any more (due to README.civ2civ3 changes)

#10 Updated by David Fernandez (bard) 13 days ago

My latest patches did include a line in the section "changes since previous version" of the readme. Since this section have been removed, that line can be ignored.
Let me know if you want me to redo the patches.

#11 Updated by Marko Lindqvist 13 days ago

David Fernandez (bard) wrote:

Let me know if you want me to redo the patches.

Please do. I'm rather busy myself.

#12 Updated by David Fernandez (bard) 13 days ago

Same patches with removed text related to previous changes in readme.

#13 Updated by Marko Lindqvist 13 days ago

  • Status changed from In Progress to Resolved

#14 Updated by Marko Lindqvist 13 days ago

Not necessary to change for this patch any more (I did it when I took the patch to my own tree), but in the future mention the ticket number (like: 'hrm Feature #681977') in the commit message.

#15 Updated by Marko Lindqvist 11 days ago

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

#16 Updated by Jacob Nevins 8 days ago

Btw, I was expecting some automatic way in GIT to port a patch from one branch (master) to another (S2_6), but I haven't found it, so I had to redo the changes manually. Please, tell me if you know some better way.

git cherry-pick is probably what you want.
It will try to apply the patch, and will sometimes do a better job than straight diff/patch, since it has access to the history and can spot when e.g. a file has been renamed.
But if there are conflicts, it will leave markers in the file and leave you to resolve them in the usual sort of way.

#17 Updated by David Fernandez (bard) 8 days ago

Jacob Nevins wrote:

git cherry-pick is probably what you want.
It will try to apply the patch, and will sometimes do a better job than straight diff/patch, since it has access to the history and can spot when e.g. a file has been renamed.
But if there are conflicts, it will leave markers in the file and leave you to resolve them in the usual sort of way.

Yep, this is what I was looking for, thank you. I'm new to git and I read a manual, but this cherry-pick command was a bit hidden there (I found it now): https://git-scm.com/book/en/v2/Distributed-Git-Maintaining-a-Project.

One last question about git, please: when I download from here a git patch and it does not apply, how do I know for which revision was it done?
Right now, when a patch does not apply, I use the date to reset my working copy to that revision, and I apply the patch there. But again, I guess there might be a better way.

Also available in: Atom PDF