Trade bonus if the city has a unit inside

Contribute, display and discuss rulesets and modpacks for use in Freeciv here.
wieder
Hardened
Posts: 221
Joined: Thu Jul 27, 2017 10:43 am

Trade bonus if the city has a unit inside

Postby wieder » Sun Oct 08, 2017 10:48 am

Is there an easy way to create reqs for a trade bonus when there are units inside a city? I'm probably missing something now. The unit could be of any unit class.

The reason for this is encouraging and rewarding the players for keeping the cities occupied. In the past games on longturn.org this kind of encouraging was implemented with a decreased city vision. However now we are trying something different and giving a bonus for the city center tile seems to be the most elegant way of doing this.

This would be useful also for making it less expensive to grow the cities beyond size 8. If this could be made to work it should be easy to create another effect to give an additional bonus for a 2nd unit inside cities bigger than 8. Or maybe just an additional bonus if the city is bigger than 8. In many games the players stop growing the cities at size 8 because the cities would need several improvements for going to size 9. At least with those govs without martial law.

User avatar
Corbeau
Elite
Posts: 1018
Joined: Mon Jan 13, 2014 11:13 pm

Re: Trade bonus if the city has a unit inside

Postby Corbeau » Sun Oct 08, 2017 12:15 pm

Why would you want to encourage people to do something like that? If you create that sort of encouragement, it becomes an imperative because those who don't do it are at a loss.

wieder
Hardened
Posts: 221
Joined: Thu Jul 27, 2017 10:43 am

Re: Trade bonus if the city has a unit inside

Postby wieder » Sun Oct 08, 2017 12:53 pm

The bonus should be less than the cost of the unit being there. Well, at least it the late game.

The LT games have been using the reduced city vision as a bonus / penalty for keeping the cities empty / occupied but since there were lots of comments about why this shouldn't be done, there could be some other way for rewarding people for not keeping the cities empty. A trade bonus seems logical because you can think that the units in the cities actually increase trade. The people will use services, but stuff from the stores and also drink in the pubs.

And yes, a bonus is a must do if it's big enough. That's why it shouldn't be that big really. The marketplaces/banks/stocks are also giving the player huge bonus but it's questionable if those must be built if the player wants to win the game. That's why the bonus from unit inside the cities should be on line with the other stuff improving trade.

This is currently planned only for LT40 and not for LT39. LT40 is more experimental in nature. Of course if this becomes too powerful and kind of better than markets, then there is no point in adding the feature to the game.

User avatar
Corbeau
Elite
Posts: 1018
Joined: Mon Jan 13, 2014 11:13 pm

Re: Trade bonus if the city has a unit inside

Postby Corbeau » Sun Oct 08, 2017 2:34 pm

Having a unit inside your city already has a bonus: enemy can't take the city without a fight.

If there is no enemy or no fight, the bonus is called "having a reserve".

If there is no enemy nor fight and you don't need a reserve, why would you have to keep a unit in the city?

wieder
Hardened
Posts: 221
Joined: Thu Jul 27, 2017 10:43 am

Re: Trade bonus if the city has a unit inside

Postby wieder » Sun Oct 08, 2017 3:15 pm

When you think about it the units inside also give production bonus if the government allows you to keep the citizens content with military units. Maybe the unit bonus should only apply to govs without that ability.

User avatar
Corbeau
Elite
Posts: 1018
Joined: Mon Jan 13, 2014 11:13 pm

Re: Trade bonus if the city has a unit inside

Postby Corbeau » Sun Oct 08, 2017 6:09 pm

wieder wrote:When you think about it the units inside also give production bonus

Why?

wieder
Hardened
Posts: 221
Joined: Thu Jul 27, 2017 10:43 am

Re: Trade bonus if the city has a unit inside

Postby wieder » Sun Oct 08, 2017 6:44 pm

Kind of gives bonus by making the citizens content and removing the need for entertainers.

User avatar
Corbeau
Elite
Posts: 1018
Joined: Mon Jan 13, 2014 11:13 pm

Re: Trade bonus if the city has a unit inside

Postby Corbeau » Sun Oct 08, 2017 8:33 pm

Yes, that is the current situation, and the bonus is specifically for a certain purpose and under certain circumstances. But why do you want an additional bonus, that would be just for its sake, with a benefit on top of that?

wieder
Hardened
Posts: 221
Joined: Thu Jul 27, 2017 10:43 am

Re: Trade bonus if the city has a unit inside

Postby wieder » Sun Oct 08, 2017 9:37 pm

Well. If it's not going to work as intended or it's just too much, we can easily leave it out from the ruleset. I'm not eve sure if it's possible to implement something like that anyway. However if this would be possible it might be interesting to know how. There could be some future use case for it.

User avatar
JTN
Elite
Posts: 462
Joined: Wed Jan 30, 2013 12:15 am

Re: Trade bonus if the city has a unit inside

Postby JTN » Sun Oct 08, 2017 11:10 pm

This seems to work in 2.6:

Code: Select all

[effect_trade_unit]
type    = "Output_Add_Tile"
value   = 10
reqs    =
    { "type", "name", "range", "present"
      "MaxUnitsOnTile", "0", "Local", FALSE
      "CityTile", "Center", "Local", TRUE
      "OutputType", "Trade", "Local", TRUE
    } 

Notes:
  • Comically big effect to make it obvious in testing.
  • You don't get to choose the type of unit that qualifies. (No, you can't use "UnitClass" etc requirements.)
  • I was concerned the UI wouldn't keep up with such a mutable requirement affecting city output, but the Gtk trade display does seem to keep up as soon as you move units in and out of a city. There might be more subtle display bugs.