Clause types (for diplomatic treaties) can now have requirement vectors, separately for the giving party and the receiving party. The clause can be part of the treaty only of requirements are fulfilled. (Feature #768208)
Typical requirement would be that a clause type becomes available only when relevant tech is known. Currently only world and player level requirements are supported.
Changes in what a 3.1 ruleset can do
Re: Changes in what a 3.1 ruleset can do
Slightly increased autoattack control See hrm Feature #850212 and hrm Feature #850300
The auto_attack section's will_never unit flag list has been replaced by the new requirement vector if_attacker. The if_attacker requirement vector must be true for a unit before it even considers to auto attack. This is the opposite of will_never, that contained unit type flags of units the never would consider to auto attack.
The auto_attack section has gained attack_actions, a list of actions that will be tried during an auto attack. The actions will be checked for legality in the order they are specified. Right now all it can do is to remove or change the order of the old auto attack actions "Capture Units", "Bombard", "Attack" and "Suicide Attack".
You can now define a user unit type flag AutoAttacker rather than just NotAnAutoAttacker and give it to anti air units that fires on any plane that moves to an adjacent tile.
You can now limit autoattack to only do "Capture Units".
The auto_attack section's will_never unit flag list has been replaced by the new requirement vector if_attacker. The if_attacker requirement vector must be true for a unit before it even considers to auto attack. This is the opposite of will_never, that contained unit type flags of units the never would consider to auto attack.
The auto_attack section has gained attack_actions, a list of actions that will be tried during an auto attack. The actions will be checked for legality in the order they are specified. Right now all it can do is to remove or change the order of the old auto attack actions "Capture Units", "Bombard", "Attack" and "Suicide Attack".
You can now define a user unit type flag AutoAttacker rather than just NotAnAutoAttacker and give it to anti air units that fires on any plane that moves to an adjacent tile.
You can now limit autoattack to only do "Capture Units".
Re: Changes in what a 3.1 ruleset can do
Increased Nuke flexibility See Feature #850219 and Feature #854013
Freeciv 3.0's "Explode Nuclear" action is targeted against tiles. It could target the tile it was on or, under certain circumstances, an adjacent tile. An adjacent tile could be targeted if the actor unit had movement left, the target tile had a city or a reachable unit and all units and cities at the tile was enemies.
The maximum distance from the actor unit to the target tile of the "Explode Nuclear" action is now ruleset defined. You can set it in game.ruleset's actions section's explode_nuclear_max_range variable. The special value "unlimited" lifts the maximum distance restriction completely.
The new action "Nuke City" targets an adjacent city. The new action "Nuke Units" targets an adjacent unit stack with at least one reachable unit. You can't increase their range (yet).
You can now create nukes that fly over walls of units blocking the way to a high value target. You can also create a tactical nuke that only can go after units and cities.
Freeciv 3.0's "Explode Nuclear" action is targeted against tiles. It could target the tile it was on or, under certain circumstances, an adjacent tile. An adjacent tile could be targeted if the actor unit had movement left, the target tile had a city or a reachable unit and all units and cities at the tile was enemies.
The maximum distance from the actor unit to the target tile of the "Explode Nuclear" action is now ruleset defined. You can set it in game.ruleset's actions section's explode_nuclear_max_range variable. The special value "unlimited" lifts the maximum distance restriction completely.
The new action "Nuke City" targets an adjacent city. The new action "Nuke Units" targets an adjacent unit stack with at least one reachable unit. You can't increase their range (yet).
You can now create nukes that fly over walls of units blocking the way to a high value target. You can also create a tactical nuke that only can go after units and cities.
Re: Changes in what a 3.1 ruleset can do
Improved city building target control See Feature #852132
Some actions could target a city's current production or a player specified building inside of it. You may wish to allow the player to target the current production without allowing the player to target a specific building or vice versa. To allow this actions that formerly could target a building or the city production has been split in two. One version targets the city's current production. The other targets a player specified action. You can still permit both.
"Targeted Sabotage City" is now "Sabotage City Production" (production) and "Targeted Sabotage City" (player specified building).
"Targeted Sabotage City Escape" is now "Sabotage City Production Escape" (production) and "Targeted Sabotage City Escape" (player specified building).
"Surgical Strike Building" is now "Surgical Strike Production" (production) and "Surgical Strike Building" (player specified building).
Some actions could target a city's current production or a player specified building inside of it. You may wish to allow the player to target the current production without allowing the player to target a specific building or vice versa. To allow this actions that formerly could target a building or the city production has been split in two. One version targets the city's current production. The other targets a player specified action. You can still permit both.
"Targeted Sabotage City" is now "Sabotage City Production" (production) and "Targeted Sabotage City" (player specified building).
"Targeted Sabotage City Escape" is now "Sabotage City Production Escape" (production) and "Targeted Sabotage City Escape" (player specified building).
"Surgical Strike Building" is now "Surgical Strike Production" (production) and "Surgical Strike Building" (player specified building).
Re: Changes in what a 3.1 ruleset can do
"Bombard" has been fake generalized. See Feature #851451
"Bombard 2" and "Bombard 3" has been added. They are identical copies of "Bombard". Each can have different ruleset defined properties like enablers, ui name, cost and range.
You can now create variants of Bombard with different names and different max distance to target.
"Bombard 2" and "Bombard 3" has been added. They are identical copies of "Bombard". Each can have different ruleset defined properties like enablers, ui name, cost and range.
You can now create variants of Bombard with different names and different max distance to target.
Re: Changes in what a 3.1 ruleset can do
3 blank ruleset defined user actions See Feature #852112
You can now define your own actions in the ruleset. You have to make them do something yourself. This can be done with effects that takes action requirements, various ruleset variables and Lua. See README.actions for details.
Example: Disrupt Supply Lines
Take one move from the target unit for the price of one move fragment from the actor unit. Can be done from a distance. Marines can do it while transported. Notifies the owners of the involved units via Lua. (Alpine Troops will probably not be able to put on water skis to disrupt the supply lines of boats in the final version of this rule.)
You can now define your own actions in the ruleset. You have to make them do something yourself. This can be done with effects that takes action requirements, various ruleset variables and Lua. See README.actions for details.
Example: Disrupt Supply Lines
Take one move from the target unit for the price of one move fragment from the actor unit. Can be done from a distance. Marines can do it while transported. Notifies the owners of the involved units via Lua. (Alpine Troops will probably not be able to put on water skis to disrupt the supply lines of boats in the final version of this rule.)
Re: Changes in what a 3.1 ruleset can do
Ruleset defined airlift max range See Feature #854978
The max distance a unit can airlift used to be hard coded to unlimited. Unlimited airlift range may be to far in some rulesets. You can now set it by going to game.ruleset's actions section and setting airlift_max_range.
The max distance a unit can airlift used to be hard coded to unlimited. Unlimited airlift range may be to far in some rulesets. You can now set it by going to game.ruleset's actions section and setting airlift_max_range.
Re: Changes in what a 3.1 ruleset can do
New spy action "Spread Plague" See Feature #859148
Bio-terrorism. Triggers Freeciv's plague system. (Reduce the target city's population by one. Have a ruleset defined probability to spread to a trade route connected city. Nothing more complex.)
If illness_on is FALSE the plague won't spread along trade routes. In that case "Spread Plague" becomes like "Poison City" except that the actor unit can get caught in a pre action dice roll, making it more difficult. See the diplchance server setting and the
Action_Odds_Pct effect.
You can make this action always consume the actor unit by setting spread_plague_actor_consuming_always to TRUE.
Bio-terrorism. Triggers Freeciv's plague system. (Reduce the target city's population by one. Have a ruleset defined probability to spread to a trade route connected city. Nothing more complex.)
If illness_on is FALSE the plague won't spread along trade routes. In that case "Spread Plague" becomes like "Poison City" except that the actor unit can get caught in a pre action dice roll, making it more difficult. See the diplchance server setting and the
Action_Odds_Pct effect.
You can make this action always consume the actor unit by setting spread_plague_actor_consuming_always to TRUE.
Re: Changes in what a 3.1 ruleset can do
Spy vs spy duel just for the sake of it
Diplomatic battle is normally done when a Diplomat defends against (certain) spy actions targeting something at it's tile. The action is aborted and the attacker or the defender is eliminated.
The new action "Spy Attack" allows initiating a diplomatic battle against a diplomatic defender without attempting to perform any other action.
You can now add rules like making a diplomatic battle legal in situations no other spy action is legal, making a Diplomat illegal to bribe and offer a diplomatic battle as an alternative or just add "Spy Attack" as an alternative - say if the target Diplomat/Spy requires too much bribe money.
Diplomatic battle is normally done when a Diplomat defends against (certain) spy actions targeting something at it's tile. The action is aborted and the attacker or the defender is eliminated.
The new action "Spy Attack" allows initiating a diplomatic battle against a diplomatic defender without attempting to perform any other action.
You can now add rules like making a diplomatic battle legal in situations no other spy action is legal, making a Diplomat illegal to bribe and offer a diplomatic battle as an alternative or just add "Spy Attack" as an alternative - say if the target Diplomat/Spy requires too much bribe money.
Re: Changes in what a 3.1 ruleset can do
Ruleset defined "Nuke City" and "Nuke Units" max range See Feature #859845
You can now use nuke_city_max_range and nuke_units_max_range to set the max distance from actor unit to target for "Nuke City" and "Nuke Units". This is like explode_nuclear_max_range for "Explode Nuclear".
You can now use nuke_city_max_range and nuke_units_max_range to set the max distance from actor unit to target for "Nuke City" and "Nuke Units". This is like explode_nuclear_max_range for "Explode Nuclear".