Changes in what a 3.1 ruleset can do

Contribute, display and discuss rulesets and modpacks for use in Freeciv here.
cazfi
Elite
Posts: 1753
Joined: Tue Jan 29, 2013 6:54 pm

Re: Changes in what a 3.1 ruleset can do

Postby cazfi » Wed Dec 04, 2019 2:27 pm

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.

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

Re: Changes in what a 3.1 ruleset can do

Postby sveinung » Wed Dec 04, 2019 9:15 pm

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".

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

Re: Changes in what a 3.1 ruleset can do

Postby sveinung » Fri Jan 03, 2020 3:33 pm

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.

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

Re: Changes in what a 3.1 ruleset can do

Postby sveinung » Fri Jan 03, 2020 3:48 pm

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).

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

Re: Changes in what a 3.1 ruleset can do

Postby sveinung » Fri Jan 03, 2020 4:03 pm

"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.

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

Re: Changes in what a 3.1 ruleset can do

Postby sveinung » Fri Jan 03, 2020 4:28 pm

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.)

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

Re: Changes in what a 3.1 ruleset can do

Postby sveinung » Fri Feb 07, 2020 8:32 am

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.

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

Re: Changes in what a 3.1 ruleset can do

Postby sveinung » Wed Feb 12, 2020 6:14 am

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.

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

Re: Changes in what a 3.1 ruleset can do

Postby sveinung » Fri Feb 14, 2020 6:05 am

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.

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

Re: Changes in what a 3.1 ruleset can do

Postby sveinung » Fri Feb 14, 2020 7:59 am

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".