From 701c7ea24d7297e1fd3818f7fd025814e0dfbcf1 Mon Sep 17 00:00:00 2001 From: Marko Lindqvist Date: Sat, 22 Oct 2022 05:06:32 +0300 Subject: [PATCH 22/22] civ2civ3/sandbox: Disallow unhomed units from bribing Units gained that way are unhomed too, making it possible to get armies of units without upkeep. Reported anonymously See osdn #45070 Signed-off-by: Marko Lindqvist --- data/civ2civ3/game.ruleset | 1 + data/civ2civ3/units.ruleset | 1 + data/sandbox/game.ruleset | 1 + data/sandbox/units.ruleset | 1 + 4 files changed, 4 insertions(+) diff --git a/data/civ2civ3/game.ruleset b/data/civ2civ3/game.ruleset index 712065ce24..7efbf30d24 100644 --- a/data/civ2civ3/game.ruleset +++ b/data/civ2civ3/game.ruleset @@ -583,6 +583,7 @@ action = "Bribe Unit" actor_reqs = { "type", "name", "range", "present" "UnitFlag", "Diplomat", "Local", TRUE + "UnitState", "HasHomeCity", "Local", TRUE "DiplRel", "Alliance", "Local", FALSE "DiplRel", "Team", "Local", FALSE "UnitState", "OnLivableTile", "Local", TRUE diff --git a/data/civ2civ3/units.ruleset b/data/civ2civ3/units.ruleset index df9a3229b8..f619155690 100644 --- a/data/civ2civ3/units.ruleset +++ b/data/civ2civ3/units.ruleset @@ -2239,6 +2239,7 @@ If a foreign unit is alone on a tile, you may attempt to bribe it\ that of the civilization owning it. However, units belonging to\ Republican or Democratic governments cannot be bribed. Bribery when\ not at war will cause a diplomatic incident.\ + Homeless Diplomats cannot bribe units.\ "), _("\ Diplomats can also perform a number of actions in another player's\ city, although each Diplomat may attempt only one action. Most of\ diff --git a/data/sandbox/game.ruleset b/data/sandbox/game.ruleset index f7e98d5501..9526ce3ec3 100644 --- a/data/sandbox/game.ruleset +++ b/data/sandbox/game.ruleset @@ -637,6 +637,7 @@ action = "Bribe Unit" actor_reqs = { "type", "name", "range", "present" "UnitFlag", "Diplomat", "Local", TRUE + "UnitState", "HasHomeCity", "Local", TRUE "DiplRel", "Alliance", "Local", FALSE "DiplRel", "Team", "Local", FALSE "UnitState", "OnLivableTile", "Local", TRUE diff --git a/data/sandbox/units.ruleset b/data/sandbox/units.ruleset index 059e2cd156..8df769dce9 100644 --- a/data/sandbox/units.ruleset +++ b/data/sandbox/units.ruleset @@ -2301,6 +2301,7 @@ If a foreign unit is alone on a tile, you may attempt to bribe it\ that of the civilization owning it. However, units belonging to\ Republican or Democratic governments cannot be bribed. Bribery when\ not at war will cause a diplomatic incident.\ + Homeless Diplomats cannot bribe units.\ "), _("\ Diplomats can also perform a number of actions in another player's\ city, although each Diplomat may attempt only one action. Most of\ -- 2.35.1