Trade bonus if the city has a unit inside

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

Trade bonus if the city has a unit inside

Post by wieder »

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: 1291
Joined: Mon Jan 13, 2014 11:13 pm

Re: Trade bonus if the city has a unit inside

Post by Corbeau »

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.
--
* Freeciv LongTurn, a community of one-turn-per-day players and developers
* LongTurn Blog - information nexus with stuff and stuff and stuff
* Longturn Discord server; real-time chatting, discussing, quarrelling, trolling, gaslighting...
wieder
Elite
Posts: 303
Joined: Thu Jul 27, 2017 10:43 am

Re: Trade bonus if the city has a unit inside

Post by wieder »

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: 1291
Joined: Mon Jan 13, 2014 11:13 pm

Re: Trade bonus if the city has a unit inside

Post by Corbeau »

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?
--
* Freeciv LongTurn, a community of one-turn-per-day players and developers
* LongTurn Blog - information nexus with stuff and stuff and stuff
* Longturn Discord server; real-time chatting, discussing, quarrelling, trolling, gaslighting...
wieder
Elite
Posts: 303
Joined: Thu Jul 27, 2017 10:43 am

Re: Trade bonus if the city has a unit inside

Post by wieder »

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: 1291
Joined: Mon Jan 13, 2014 11:13 pm

Re: Trade bonus if the city has a unit inside

Post by Corbeau »

wieder wrote:When you think about it the units inside also give production bonus
Why?
--
* Freeciv LongTurn, a community of one-turn-per-day players and developers
* LongTurn Blog - information nexus with stuff and stuff and stuff
* Longturn Discord server; real-time chatting, discussing, quarrelling, trolling, gaslighting...
wieder
Elite
Posts: 303
Joined: Thu Jul 27, 2017 10:43 am

Re: Trade bonus if the city has a unit inside

Post by wieder »

Kind of gives bonus by making the citizens content and removing the need for entertainers.
User avatar
Corbeau
Elite
Posts: 1291
Joined: Mon Jan 13, 2014 11:13 pm

Re: Trade bonus if the city has a unit inside

Post by Corbeau »

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?
--
* Freeciv LongTurn, a community of one-turn-per-day players and developers
* LongTurn Blog - information nexus with stuff and stuff and stuff
* Longturn Discord server; real-time chatting, discussing, quarrelling, trolling, gaslighting...
wieder
Elite
Posts: 303
Joined: Thu Jul 27, 2017 10:43 am

Re: Trade bonus if the city has a unit inside

Post by wieder »

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: 473
Joined: Wed Jan 30, 2013 12:15 am

Re: Trade bonus if the city has a unit inside

Post by JTN »

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.
Post Reply