From 4bca6d3107b1a841d878e839d3bf9470066833bf Mon Sep 17 00:00:00 2001 From: Sveinung Kvilhaugsvik Date: Mon, 1 Mar 2021 15:36:00 +0100 Subject: [PATCH] sandbox: demonstrate unit healing. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Demonstrate unit healing by letting flesh initiates of The School of Amêzârâk know how to heal wounded flesh. See osdn #41671 --- data/sandbox/README.sandbox | 4 +++ data/sandbox/buildings.ruleset | 4 ++- data/sandbox/effects.ruleset | 16 +++++++++ data/sandbox/game.ruleset | 21 ++++++++++++ data/sandbox/units.ruleset | 63 +++++++++++++++++++--------------- 5 files changed, 79 insertions(+), 29 deletions(-) diff --git a/data/sandbox/README.sandbox b/data/sandbox/README.sandbox index 5be63c3d37..f7b5a2488b 100644 --- a/data/sandbox/README.sandbox +++ b/data/sandbox/README.sandbox @@ -169,6 +169,10 @@ You may find an Ancient Transport Hub on the map. If you find another and build the small wonder "Amêzârâkian Mysteries" you will be able to move from one of them to the other for free. +Unit healing +All flesh based units can heal all other flesh based units if you build the +small wonder "Amêzârâkian Mysteries". + Casus belli Starting to do Pillage to a tile gives the tile owner (not the extra owner) a casus belli against you. diff --git a/data/sandbox/buildings.ruleset b/data/sandbox/buildings.ruleset index f0a4593c14..5eb630217a 100644 --- a/data/sandbox/buildings.ruleset +++ b/data/sandbox/buildings.ruleset @@ -841,7 +841,7 @@ graphic_alt = "b.temple" obsolete_by = { "type", "name", "range" } -build_cost = 200 +build_cost = 400 upkeep = 0 sabotage = 0 sound = "b_mystery_school" @@ -849,6 +849,8 @@ sound_alt = "b_temple" helptext = _("\ Initiates of The School of Amêzârâk knows how to operate an \ Ancient Transport Hub.\ +"), _("\ +Initiates of The School of Amêzârâk know how to heal wounded flesh.\ ") [building_police_station] diff --git a/data/sandbox/effects.ruleset b/data/sandbox/effects.ruleset index a84361589a..af36ec0627 100644 --- a/data/sandbox/effects.ruleset +++ b/data/sandbox/effects.ruleset @@ -4586,6 +4586,22 @@ reqs = "UnitFlag", "OneAttack", "Local", FALSE } +[effect_action_success_move_cost_cut_root] +type = "Action_Success_Actor_Move_Cost" +value = 65535 +reqs = + { "type", "name", "range", "present" + "Action", "Heal Unit 2", "Local", TRUE + } + +[effect_action_success_move_cost_healed] +type = "Action_Success_Target_Move_Cost" +value = 65535 +reqs = + { "type", "name", "range", "present" + "Action", "Heal Unit 2", "Local", TRUE + } + ; The treasury is better guarded than the drinking water ; See "Poison City Escape" [effect_steal_gold_escape_lower_chance] diff --git a/data/sandbox/game.ruleset b/data/sandbox/game.ruleset index 40d9b06580..f0f854c78d 100644 --- a/data/sandbox/game.ruleset +++ b/data/sandbox/game.ruleset @@ -422,6 +422,9 @@ ui_name_sabotage_unit_escape = _("%sSabotage Enemy Unit%s") ; /* TRANS: _Bribe Enemy Unit (3% chance of success). */ ui_name_bribe_unit = _("%sBribe Enemy Unit%s") +; /* TRANS: _Cut Root (3% chance of success). */ +ui_name_heal_unit_2 = _("%sCut Root%s") + ; /* TRANS: _Sabotage City (3% chance of success). */ ui_name_sabotage_city = _("%sSabotage City%s") @@ -719,6 +722,24 @@ target_reqs = "Extra", "Ancient Transport Hub", "Local", TRUE } +[actionenabler_cut_root] +action = "Heal Unit 2" +actor_reqs = + { "type", "name", "range", "present" + "Building", "Mysteries", "Player", TRUE + "UnitFlag", "FleshBased", "Local", TRUE + "MinMoveFrags", 1, "Local", TRUE + "DiplRel", "Armistice", "Local", FALSE + "DiplRel", "War", "Local", FALSE + "DiplRel", "Cease-fire", "Local", FALSE + "DiplRel", "Peace", "Local", FALSE + "DiplRel", "Never met", "Local", FALSE + } +target_reqs = + { "type", "name", "range", "present" + "UnitFlag", "FleshBased", "Local", TRUE + } + [actionenabler_sabotage_city] action = "Sabotage City" actor_reqs = diff --git a/data/sandbox/units.ruleset b/data/sandbox/units.ruleset index 8e60ccf894..7f7bc69dc4 100644 --- a/data/sandbox/units.ruleset +++ b/data/sandbox/units.ruleset @@ -33,6 +33,7 @@ flags = _("Submarine"), _("Attack value halved when attacking Destroyer.") _("SupplyLines"), _("Can slow down (take 1 MP from) an enemy unit by disrupting its supply lines.") _("Consensus"), _("Undisbandable when your bureaucracy has a veto.") + _("FleshBased") _("Unbribable") _("TradeRoute"), _("Can establish trade routes (must travel to target city).") _("HelpWonder") @@ -494,7 +495,8 @@ uk_happy = 0 uk_shield = 0 uk_food = 1 uk_gold = 0 -flags = "Settlers", "Cant_Fortify", "NonMil", "HasNoZOC", "AddToCity", "Cities" +flags = "Settlers", "Cant_Fortify", "NonMil", "HasNoZOC", + "AddToCity", "Cities", "FleshBased" ; No veteran levels (level name is never displayed) veteran_names = _("green") veteran_base_raise_chance = 0 @@ -538,7 +540,8 @@ uk_happy = 0 uk_shield = 0 uk_food = 1 uk_gold = 0 -flags = "Settlers", "Cant_Fortify", "NonMil", "HasNoZOC", "AddToCity", "Capturable" +flags = "Settlers", "Cant_Fortify", "NonMil", "HasNoZOC", + "AddToCity", "Capturable", "FleshBased" ; No veteran levels (level name is never displayed) veteran_names = _("green") veteran_base_raise_chance = 0 @@ -581,7 +584,8 @@ uk_happy = 0 uk_shield = 1 uk_food = 0 uk_gold = 1 -flags = "Settlers", "Cant_Fortify", "NonMil", "HasNoZOC", "Airbase" +flags = "Settlers", "Cant_Fortify", "NonMil", "HasNoZOC", "Airbase", + "FleshBased" ; No veteran levels (level name is never displayed) veteran_names = _("green") veteran_base_raise_chance = 0 @@ -668,7 +672,7 @@ uk_happy = 1 uk_shield = 1 uk_food = 1 uk_gold = 1 -flags = "Capturer" +flags = "Capturer", "FleshBased" roles = "DefendOk", "DefendOkStartUnit", "FirstBuild" helptext = _("\ This unit may be built from the start of the game. It is the\ @@ -700,7 +704,7 @@ uk_happy = 1 uk_shield = 1 uk_food = 1 uk_gold = 1 -flags = "Capturer" +flags = "Capturer", "FleshBased" roles = "DefendGood", "DefendGoodStartUnit", "FirstBuild" helptext = _("\ The Phalanx is armored infantry, suitable for defending your cities.\ @@ -731,7 +735,7 @@ uk_happy = 1 uk_shield = 1 uk_food = 1 uk_gold = 1 -flags = "Capturer" +flags = "Capturer", "FleshBased" roles = "DefendOk", "DefendOkStartUnit", "Hut" helptext = _("\ Archers fight with bows and arrows and have a good offensive\ @@ -763,7 +767,7 @@ uk_happy = 1 uk_shield = 1 uk_food = 1 uk_gold = 1 -flags = "Marines", "Capturer" +flags = "Marines", "Capturer", "FleshBased" roles = "DefendOk", "DefendOkStartUnit", "BarbarianBuild", "BarbarianSea" helptext = _("\ Legions are heavily armed and well disciplined infantry\ @@ -795,7 +799,7 @@ uk_happy = 1 uk_shield = 1 uk_food = 1 uk_gold = 1 -flags = "Capturer" +flags = "Capturer", "FleshBased" roles = "DefendGood", "DefendGoodStartUnit", "FirstBuild" helptext = _("\ Equipped with long pikes, Pikemen replaces Phalanx\ @@ -827,7 +831,7 @@ uk_happy = 1 uk_shield = 1 uk_food = 1 uk_gold = 1 -flags = "Marines", "Capturer" +flags = "Marines", "Capturer", "FleshBased" roles = "DefendGood", "DefendGoodStartUnit", "FirstBuild", "HutTech", "BarbarianTech", "BarbarianBuildTech", "BarbarianSeaTech" helptext = _("\ @@ -861,7 +865,7 @@ uk_happy = 1 uk_shield = 1 uk_food = 1 uk_gold = 1 -flags = "Marines", "Capturer" +flags = "Marines", "Capturer", "FleshBased" roles = "DefendGood", "DefendGoodStartUnit", "FirstBuild" helptext = _("\ Riflemen are World War-era infantry, very good\ @@ -895,7 +899,7 @@ uk_food = 1 uk_gold = 1 embarks = "Helicopter" disembarks = "Helicopter" -flags = "IgTer", "Capturer", "SupplyLines" +flags = "IgTer", "Capturer", "SupplyLines", "FleshBased" roles = "DefendOk", "DefendOkStartUnit" helptext = _("\ Alpine Troops are highly mobile units as well as\ @@ -929,7 +933,7 @@ uk_food = 1 uk_gold = 1 embarks = "Helicopter" disembarks = "Helicopter" -flags = "IgTer", "IgZOC", "Capturer", "SupplyLines" +flags = "IgTer", "IgZOC", "Capturer", "SupplyLines", "FleshBased" roles = "DefendGood", "DefendGoodStartUnit", "Partisan", "BarbarianTech" helptext = _("\ Partisans are guerilla fighters who are experts\ @@ -972,7 +976,8 @@ uk_food = 1 uk_gold = 0 embarks = "Helicopter" disembarks = "Helicopter" -flags = "Fanatic", "AddToCity", "Capturer", "SupplyLines" +flags = "Fanatic", "AddToCity", "Capturer", + "SupplyLines", "FleshBased" roles = "DefendGood", "DefendGoodStartUnit" helptext = _("\ Fanatics are warriors extremely devoted to a higher cause.\ @@ -1009,7 +1014,7 @@ uk_food = 1 uk_gold = 1 embarks = "Helicopter" disembarks = "Helicopter" -flags = "Marines", "Capturer", "SupplyLines" +flags = "Marines", "Capturer", "SupplyLines", "FleshBased" roles = "DefendGood", "DefendGoodStartUnit", "FirstBuild", "BarbarianSeaTech" helptext = _("\ Marines are infantry who are experts at marine warfare.\ @@ -1042,7 +1047,7 @@ uk_food = 1 uk_gold = 1 embarks = "Helicopter" disembarks = "Helicopter" -flags = "Paratroopers", "Capturer", "SupplyLines" +flags = "Paratroopers", "Capturer", "SupplyLines", "FleshBased" roles = "DefendOk", "DefendOkStartUnit" helptext = _("\ Paratroopers are experts at airborne attacks. From a friendly city, \ @@ -1114,7 +1119,7 @@ uk_happy = 1 uk_shield = 1 uk_food = 1 uk_gold = 1 -flags = "Capturer" +flags = "Capturer", "FleshBased" roles = "AttackFastStartUnit", "Hut", "Barbarian", "Hunter" helptext = _("\ Horsemen are mounted warriors and an early\ @@ -1147,7 +1152,7 @@ uk_happy = 1 uk_shield = 1 uk_food = 1 uk_gold = 1 -flags = "Capturer" +flags = "Capturer", "FleshBased" roles = "AttackFastStartUnit" helptext = _("\ Chariots are horse-pulled war wagons. They have a stronger attack than \ @@ -1183,7 +1188,7 @@ uk_happy = 1 uk_shield = 1 uk_food = 1 uk_gold = 1 -flags = "Capturer" +flags = "Capturer", "FleshBased" roles = "DefendOk", "DefendOkStartUnit", "AttackFastStartUnit", "Hunter" helptext = _("\ Elephants are towering animals trained for war that are often used as\ @@ -1215,7 +1220,7 @@ uk_happy = 0 uk_shield = 1 uk_food = 1 uk_gold = 1 -flags = "Capturer" +flags = "Capturer", "FleshBased" roles = "AttackFastStartUnit", "Hunter" helptext = _("\ Crusaders are highly disciplined mounted\ @@ -1247,7 +1252,7 @@ uk_happy = 1 uk_shield = 1 uk_food = 1 uk_gold = 1 -flags = "Capturer" +flags = "Capturer", "FleshBased" roles = "DefendOk", "DefendOkStartUnit", "AttackFastStartUnit", "HutTech","BarbarianTech", "BarbarianBuildTech", "Hunter" helptext = _("\ @@ -1279,7 +1284,7 @@ uk_happy = 1 uk_shield = 1 uk_food = 1 uk_gold = 1 -flags = "Capturer" +flags = "Capturer", "FleshBased" roles = "AttackFastStartUnit", "BarbarianBuildTech", "Hunter" helptext = _("\ Dragoons are mounted warriors carrying early firearms.\ @@ -1310,7 +1315,7 @@ uk_happy = 1 uk_shield = 1 uk_food = 1 uk_gold = 1 -flags = "Capturer" +flags = "Capturer", "FleshBased" roles = "AttackFastStartUnit", "Hunter" helptext = _("\ Cavalry are mounted and highly trained soldiers.\ @@ -2296,7 +2301,7 @@ uk_food = 0 uk_gold = 1 vision_layer = "Stealth" flags = "Diplomat", "IgZOC", "NonMil", "HasNoZOC", - "Provoking" + "Provoking", "FleshBased" veteran_names = ; /* TRANS: diplomatic rank. */ _("?diplomatic_rank:attaché"), @@ -2409,7 +2414,7 @@ uk_food = 0 uk_gold = 1 vision_layer = "Stealth" flags = "Diplomat", "IgZOC", "NonMil", "HasNoZOC", - "Spy", "Provoking", "SupplyLines" + "Spy", "Provoking", "SupplyLines", "FleshBased" veteran_names = ; /* TRANS: Spy veteran level */ _("?spy_level:informant"), @@ -2481,7 +2486,8 @@ uk_happy = 0 uk_shield = 1 uk_food = 0 uk_gold = 1 -flags = "TradeRoute", "HelpWonder", "NonMil", "HasNoZOC", "Capturable" +flags = "TradeRoute", "HelpWonder", "NonMil", "HasNoZOC", + "Capturable", "FleshBased" roles = "" helptext = _("\ A Caravan carries goods or material for trading with other nations,\ @@ -2562,7 +2568,7 @@ uk_happy = 0 uk_shield = 1 uk_food = 0 uk_gold = 1 -flags = "IgTer", "IgZOC", "NonMil", "HasNoZOC" +flags = "IgTer", "IgZOC", "NonMil", "HasNoZOC", "FleshBased" roles = "Explorer", "ExplorerStartUnit" helptext = _("\ Explorers are brave individuals that are very useful for\ @@ -2610,7 +2616,7 @@ uk_food = 0 uk_gold = 0 flags = "IgZOC", "NonMil", "NoBuild", "NoHome", "SuperSpy", "EvacuateFirst", "Unbribable", "GameLoss", "Unique", - "Provoking" + "Provoking", "FleshBased" ; No veteran levels (level name is never displayed) veteran_names = _("green") veteran_base_raise_chance = 0 @@ -2650,7 +2656,8 @@ uk_shield = 0 uk_food = 0 uk_gold = 0 flags = "IgZOC", "NonMil", "Unbribable", - "EvacuateFirst", "SuperSpy", "NoHome", "NoBuild" + "EvacuateFirst", "SuperSpy", "NoHome", "NoBuild", + "FleshBased" ; No veteran levels (level name is never displayed) veteran_names = _("green") veteran_base_raise_chance = 0 -- 2.20.1