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: 548
Joined: Wed Feb 20, 2013 4:50 pm

Re: Changes in what a 2.6 rule set can do

Post by sveinung »

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: 548
Joined: Wed Feb 20, 2013 4:50 pm

Re: Changes in what a 2.6 rule set can do

Post by sveinung »

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: 3095
Joined: Tue Jan 29, 2013 6:54 pm

Re: Changes in what a 2.6 rule set can do

Post by cazfi »

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: 3095
Joined: Tue Jan 29, 2013 6:54 pm

Re: Changes in what a 2.6 rule set can do

Post by cazfi »

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: 3095
Joined: Tue Jan 29, 2013 6:54 pm

Re: Changes in what a 2.6 rule set can do

Post by cazfi »

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: 3095
Joined: Tue Jan 29, 2013 6:54 pm

Re: Changes in what a 2.6 rule set can do

Post by cazfi »

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: 3095
Joined: Tue Jan 29, 2013 6:54 pm

Re: Changes in what a 2.6 rule set can do

Post by cazfi »

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

Post by GriffonSpade »

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: 3095
Joined: Tue Jan 29, 2013 6:54 pm

Re: Changes in what a 2.6 rule set can do

Post by cazfi »

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: 3095
Joined: Tue Jan 29, 2013 6:54 pm

Re: Changes in what a 2.6 rule set can do

Post by cazfi »

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