Changes in what a 2.6 rule set can do

Contribute, display and discuss rulesets and modpacks for use in Freeciv here.
sveinung
Elite
Posts: 491
Joined: Wed Feb 20, 2013 4:50 pm

Re: Changes in what a 2.6 rule set can do

Postby sveinung » Tue May 19, 2015 1:17 pm

You can now forbid Enter Marketplace when Establish Trade Route is legal. See patch #6091

You can now forbid a unit from entering the marketplace (without establishing a trade route) when the same unit legally can establish a trade route. This is done by setting the new option force_trade_route in game.ruleset's actions section to TRUE.

Setting force_trade_route to TRUE has consequences for a player considering if he should allow a foreign unit that can establish a trade route (but also enter a marketplace) inside his borders. The owner of the foreign unit won't have the ability to just take the one time bonus without giving a trade route. On the one hand the probability of getting a trade route from allowing the foreign unit is increased. One the other hand the probability of having an existing trade route replaced is increased.

sveinung
Elite
Posts: 491
Joined: Wed Feb 20, 2013 4:50 pm

Re: Changes in what a 2.6 rule set can do

Postby sveinung » Fri Aug 21, 2015 10:37 am

An action enabler's target requirements are now forbidden from containing local DiplRel requirements. See patch #6262

A local DiplRel requirement can always be expressed as an actor requirement. Only having to care about local DiplRel requirements in the actor requirements allows the Freeciv code responsible for reasoning about action enablers to be simpler and faster. It already assumed that any local DiplRel requirements lived in the actor requirement vector.

If player A having a diplomatic relationship to player B implies that player B has the same relationship to player A the relationship is symmetric. Examples: "Is foreign" and "War". Symmetric local DiplReal requirements can be moved directly from the target requirement vector to the actor requirement vector. Asymmetric local DiplReal requirements must test for the same thing in the opposite direction. Example: "Hosts embassy" becomes "Has embassy".

cazfi
Elite
Posts: 1781
Joined: Tue Jan 29, 2013 6:54 pm

Re: Changes in what a 2.6 rule set can do

Postby cazfi » Sun Aug 23, 2015 3:34 pm

Recently some improvements to the facilities to provide help/documentation about the ruleset to the user have been made.

Added 'quiet' property for requirements that prevents automatically generated help to be shown about the. This can be used when one wants to provide better manually designed explanation patch #4723
Lifted restriction on ruleset description length: patch #3349
Ruleset can define the user visible text about building bases of class "gui_fortress" or "gui_airbase": patch #2721
Helptext can be provided to describe entire unit class: patch #5834

cazfi
Elite
Posts: 1781
Joined: Tue Jan 29, 2013 6:54 pm

Re: Changes in what a 2.6 rule set can do

Postby cazfi » Sun Aug 23, 2015 3:40 pm

Requirement type Topology has been added: patch #6193

This can be used to adjust rules to the topology of the map, typically as a requirement to some "_distance_sq" effect to make its value sensible on both square and hex based topologies.

cazfi
Elite
Posts: 1781
Joined: Tue Jan 29, 2013 6:54 pm

Re: Changes in what a 2.6 rule set can do

Postby cazfi » Sun Aug 23, 2015 3:45 pm

Lua give_technology() can control what kind of penalty gets applied: bug #22160

Technology given by lua script is no longer necessarily considered gained "free", but can be considered "conquer", "free", "diplomatic", none, or even completely custom way of getting a tech (at least what comes to research penalties applied)

cazfi
Elite
Posts: 1781
Joined: Tue Jan 29, 2013 6:54 pm

Re: Changes in what a 2.6 rule set can do

Postby cazfi » Sun Aug 30, 2015 11:42 am

Some of the remaining 2.6 targeted features implemented.

Extras can be divided to two distinct "defense layers" bug #23143
Defense bonus on additive within layer (as with the single-layer method used so far) but multiplicative between layers. In the supplied rulesets this is used in civ/2 rulesets to restore the multiplicative nature of River and Fortress defense bonuses (lack of which was regression in 2.5 relative to 2.4)

Lua signal 'pulse' added patch #6286.
This is a signal you can always expect to be coming 'soon' but not regularly. This can be used if you don't want to do something in the handling of current signal, but soon anyway.

cazfi
Elite
Posts: 1781
Joined: Tue Jan 29, 2013 6:54 pm

Re: Changes in what a 2.6 rule set can do

Postby cazfi » Tue Sep 08, 2015 3:28 pm

Maps with single pole are no longer tied to the topology, but new server setting singlepole controls that: bug #23261

Code: Select all

> explain singlepole
Option: singlepole  -  Whether there's just one pole generated
Description:
  If this setting is enabled, only one side of the map will have pole.
  This setting has no effect if the map wraps both directions.
Status: changeable
Value: disabled, Default: disabled

User avatar
GriffonSpade
Elite
Posts: 578
Joined: Mon Apr 29, 2013 4:41 pm

Re: Changes in what a 2.6 rule set can do

Postby GriffonSpade » Thu Sep 10, 2015 12:18 am

cazfi wrote:Maps with single pole are no longer tied to the topology, but new server setting singlepole controls that: bug #23261

I assume the pole appears in a random unwrapped direction?

After that, I think one of the main things we are lacking is randomization in the game: to be able to tell the server to pick a random setting to (list of values) or randbetween setting to (between two numerical values), and then to be able to tell the server to hide this information from us.

Something like /<Randomization Style> <Setting to randomize> <List of possible values>

cazfi
Elite
Posts: 1781
Joined: Tue Jan 29, 2013 6:54 pm

Re: Changes in what a 2.6 rule set can do

Postby cazfi » Sun Sep 13, 2015 7:13 am

cazfi wrote:Lifted restriction on ruleset description length: patch #3349

Further improvements related to that:

Support for separate "summary" has been added. patch #6290
Summary does have a limited length.

Value for a string can be read from a file. patch #6336
While this is general change to secfile format, the most obvious use for it so getting value for the ruleset description from a separate README.

Code: Select all

summary = "One very cool ruleset"
description = *my_ruleset/README.txt*

Note that path of the file must be relative to datadir, not to the ruleset dir.

cazfi
Elite
Posts: 1781
Joined: Tue Jan 29, 2013 6:54 pm

Re: Changes in what a 2.6 rule set can do

Postby cazfi » Sat Sep 19, 2015 11:40 pm

Added roles for every startunit type, and these roles are used only used for the purpose of matching unit types to startunit types: patch #4625
Allow empty "startunits" when "startcity" is enabled: patch #5887 - Makes possible rules where player starts with a city only, without any units.