From 88c590d5bc7c88d57ee3d5a0519c0596ce3bf3ae Mon Sep 17 00:00:00 2001 From: Benjamin Date: Thu, 14 Nov 2024 18:33:54 +0100 Subject: [PATCH 1/8] small fixes (NOTE: these are on the workshop version already) --- events/RohanNegotiations.txt | 44 ++++++++++++++++++++++-------------- interface/lotr_misc.gfx | 2 +- 2 files changed, 28 insertions(+), 18 deletions(-) diff --git a/events/RohanNegotiations.txt b/events/RohanNegotiations.txt index ab19cdba4..06d9f5dc7 100644 --- a/events/RohanNegotiations.txt +++ b/events/RohanNegotiations.txt @@ -65,7 +65,7 @@ country_event = { } } - custom_effect_tooltip = rohannegotiations.2.a_tt + custom_effect_tooltip = rohannegotiations.2.b_tt hidden_effect = { ROH = { country_event = { id = rohannegotiations.3 days = 5 } } } @@ -79,7 +79,7 @@ country_event = { } - custom_effect_tooltip = rohannegotiations.2.b_tt + custom_effect_tooltip = rohannegotiations.2.a_tt hidden_effect = { ROH = { country_event = { id = rohannegotiations.6 days = 5 } } } @@ -336,9 +336,11 @@ country_event = { set_global_flag = ise_roh_negotiations_ise_chooses_bulwark - set_autonomy = { - target = ROH - autonomy_state = autonomy_bulwark + ISE = { + set_autonomy = { + target = ROH + autonomy_state = autonomy_bulwark + } } ISE = { country_event = { id = rohannegotiations.5 days = 5 } } @@ -358,9 +360,11 @@ country_event = { set_global_flag = ise_roh_negotiations_ise_chooses_tributary - set_autonomy = { - target = ROH - autonomy_state = autonomy_autonomous_tributary + ISE = { + set_autonomy = { + target = ROH + autonomy_state = autonomy_autonomous_tributary + } } ISE = { country_event = { id = rohannegotiations.5 days = 5 } } @@ -378,9 +382,11 @@ country_event = { set_global_flag = ise_roh_negotiations_ise_chooses_tributary_and_helmsdeep - set_autonomy = { - target = ROH - autonomy_state = autonomy_autonomous_tributary + ISE = { + set_autonomy = { + target = ROH + autonomy_state = autonomy_autonomous_tributary + } } 184 = { @@ -549,9 +555,11 @@ country_event = { set_global_flag = ise_roh_negotiations_roh_chooses_bulwark - set_autonomy = { - target = ROH - autonomy_state = autonomy_bulwark + ISE = { + set_autonomy = { + target = ROH + autonomy_state = autonomy_bulwark + } } custom_effect_tooltip = rohannegotiations.6.a_tt @@ -570,9 +578,11 @@ country_event = { set_global_flag = ise_roh_negotiations_roh_chooses_tributary - set_autonomy = { - target = ROH - autonomy_state = autonomy_autonomous_tributary + ISE = { + set_autonomy = { + target = ROH + autonomy_state = autonomy_autonomous_tributary + } } custom_effect_tooltip = rohannegotiations.6.a_tt diff --git a/interface/lotr_misc.gfx b/interface/lotr_misc.gfx index 7845e6fe1..812c6e4e3 100644 --- a/interface/lotr_misc.gfx +++ b/interface/lotr_misc.gfx @@ -18,7 +18,7 @@ spriteTypes = { } spriteType = { - name = "GFX_autonomy_tributary_icon" + name = "GFX_autonomy_autonomous_tributary_icon" textureFile = "gfx/interface/autonomy/autonomy_tributary.dds" } From 535632596fc1dfb58a35afd6b9441d7eafbbe56c Mon Sep 17 00:00:00 2001 From: Benjamin Date: Thu, 14 Nov 2024 19:59:34 +0100 Subject: [PATCH 2/8] un-hardcoded several hardcoded localizations --- interface/countrystateview.gui | 6 +++--- interface/misc/lotr_countrystateview.gui | 2 +- localisation/english/0_lotr_core/lotr_misc_l_english.yml | 6 ++++++ 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/interface/countrystateview.gui b/interface/countrystateview.gui index 144a2b248..14a1f3e3d 100644 --- a/interface/countrystateview.gui +++ b/interface/countrystateview.gui @@ -181,7 +181,7 @@ guiTypes = { name = "province_buildings_title" position = { x = 10 y = 25 } font = "merienda_13_white" - text = "Province Buildings:" + text = "province_buildings_label" maxWidth = 300 maxHeight = 18 format = left @@ -226,7 +226,7 @@ guiTypes = { name = "state_buildings_title" position = { x = 25 y = 300 } font = "merienda_13_white" - text = "State Buildings:" + text = "state_buildings_label" maxWidth = 300 maxHeight = 18 format = left @@ -376,7 +376,7 @@ guiTypes = { instantTextboxType = { name = "manpower_label" position = { x = 440 y = 137 } - text = "Population:" + text = "state_population_label" font = "merienda_13" maxWidth = 140 maxHeight = 30 diff --git a/interface/misc/lotr_countrystateview.gui b/interface/misc/lotr_countrystateview.gui index 5f74ced82..1bbcb8bc8 100644 --- a/interface/misc/lotr_countrystateview.gui +++ b/interface/misc/lotr_countrystateview.gui @@ -30,7 +30,7 @@ guiTypes = { instantTextboxType = { name = "strategic_value_label" position = { x = 440 y = 164 } - text = "Strategic Value:" + text = "state_strategic_value_label" font = "merienda_13" maxWidth = 140 maxHeight = 30 diff --git a/localisation/english/0_lotr_core/lotr_misc_l_english.yml b/localisation/english/0_lotr_core/lotr_misc_l_english.yml index 5f30dd5ae..72ace3e2d 100644 --- a/localisation/english/0_lotr_core/lotr_misc_l_english.yml +++ b/localisation/english/0_lotr_core/lotr_misc_l_english.yml @@ -75,6 +75,12 @@ dark_grounds_desc:0 "" state_controller_name:0 "[THIS.owner.GetName]" state_strategic_value:0 "§H[?THIS.state_strategic_value]§!" strategic_value_tt:0 "§HStrategic Value§!\n\nCurrent state strategic value, decided by buildings." +state_strategic_value_label:0 "Strategic Value:" + +state_population_label:0 "Population:" + +province_buildings_label:0 "Province Buildings:" +state_buildings_label:0 "State Buildings:" mobilize_action_button_tt:0 "§HHasten Mobilization§!\nIncrease mobilization speed for a limited time\n\n[!mobilize_action_button_click]\n\n[!mobilize_action_button_click_enabled]" hasten_supply_action_button_tt:0 "§HHasten Supply Hub Construction§!\nTemporarily increase construction speed of §YSupply Hubs§! at the cost of civilian factory use.\n\n[!hasten_supply_action_button_click]\n\n[!hasten_supply_action_button_click_enabled]" From f760d693f4fad20306b5e1f574077e68add0cb34 Mon Sep 17 00:00:00 2001 From: Benjamin Date: Sat, 16 Nov 2024 18:50:43 +0100 Subject: [PATCH 3/8] description formatting fix --- description.txt | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/description.txt b/description.txt index 9cd113239..62d54b42c 100644 --- a/description.txt +++ b/description.txt @@ -24,22 +24,22 @@ NOTE: This mod is best played on a screen with a resolution of 1920x1080 or high [h1]FAQ[/h1] -*What are the strange white squares on my screen?* +[i]What are the strange white squares on my screen?[/i] They are a graphical glitch that we haven't figured out how to fix yet. To get rid of them, you can switch your Renderer to DirectX9 in the launcher settings. -*How do I win the Moria Civil War?* +[i]How do I win the Moria Civil War?[/i] There are many things you can do, and it is consistently winnable. The most important things are to use Oin as your general, to stack production efficiency techs, entrench yourself from day 1 and *not* to use Last Stand. -*How do I get the Ring as [insert country name]?* +[i]How do I get the Ring as [insert country name]?[/i] Getting the ring is not something that can be done consistently, and depends largely on luck. There are however some things you can do to increase your chances. Make sure to assemble your hunting party sensibly. Selecting *all* available generals isn't always the most sensible thing to do. Some countries also have additional focuses and decisions to help them on their interceptions. -*What are some good templates?* +[i]What are some good templates?[/i] We try to keep things balanced and hope to avoid a situation in which there is one template to rule them all. But in general, commonly used frontline infantry units tend to be comprised of infantry and archers in a 7-2 or 9-1 ratio. Try experimenting around with some of our new unit types. That's part of the fun! -*Can I play this Multiplayer?* +[i]Can I play this Multiplayer?[/i] Yes, the mod is multiplayer compatible. We generally try to keep things more-or-less balanced, but due to our small team, that isn't always the case. -*Is this mod compatible with [insert other mod]?* +[i]Is this mod compatible with insert other mod?[/i] Some mods, like music mods and a few others are compatible. But our mod changes *a lot* of files, and is unlikely to be compatible with the vast majority of other mods. [img]https://i.imgur.com/TZYFk0D.png[/img] @@ -82,4 +82,4 @@ https://discord.gg/XdQ3GbACPW [img]https://i.imgur.com/TZYFk0D.png[/img] [h2]Disclaimer[/h2] -This mod utilizes characters and events from "The Lord of the Rings" (LOTR) books and movies. It is a non-commercial, volunteer-based project and does not accept any form of donations. This mods contents are heavily transformative, constitute a parody and do not negatively impact the potential market for the original works, nor can they serve as a substitute for them. Accordingly, any references made within this mod to the LOTR intellectual property are protected under the fair use doctrine (U.S. Code 17 107). +This mod utilizes characters and events from "The Lord of the Rings" (LOTR) books and movies. It is a non-commercial, volunteer-based project and does not accept any form of donations. This mods contents are heavily transformative, constitute a parody and do not negatively impact the potential market for the original works, nor can they serve as a substitute for them. Accordingly, any references made within this mod to the LOTR intellectual property are protected under the fair use doctrine (U.S. Code 17 107). \ No newline at end of file From c0c7deb5529cd84f2ba92eb4b9a41915e4bc5167 Mon Sep 17 00:00:00 2001 From: Benjamin Date: Sat, 16 Nov 2024 19:22:59 +0100 Subject: [PATCH 4/8] credits reformatting --- additional_credits.txt | 50 ++++++++++++++++++++++++++++-------------- 1 file changed, 33 insertions(+), 17 deletions(-) diff --git a/additional_credits.txt b/additional_credits.txt index 44d3a2526..af1e8ab10 100644 --- a/additional_credits.txt +++ b/additional_credits.txt @@ -1,39 +1,55 @@ -Some parts of the textures for the unit models were taken from the following resources: - - "Uruk Hai - LOTR" (https://skfb.ly/TQGw) by Ulrik Langvandsbråten - - "Uruk armor pack" (https://skfb.ly/oxvRT) by Brice_VIARD - - "Gondor Armour" (https://skfb.ly/6pWwH) by TheWarArmoury - - "Medieval Civilian 3" (https://skfb.ly/6StAw) by Leonardo Carvalho + +# General Credits + +Project Owner: Helliaca + +Developers: TheOneAndOnly, SaeMatsumoto, blastradius14 + +Previous developers: Count Tyme, Ryless, Devment + +Contributors: sealord72, Arnadex, Walther, Soviet_Cyber, yeoudal + + +# 3D Models + +"Uruk Hai - LOTR" (https://skfb.ly/TQGw) by Ulrik Langvandsbråten + +"Uruk armor pack" (https://skfb.ly/oxvRT) by Brice_VIARD + +"Gondor Armour" (https://skfb.ly/6pWwH) by TheWarArmoury + +"Medieval Civilian 3" (https://skfb.ly/6StAw) by Leonardo Carvalho The tower of Orthanc model is by Alex Hilliard (https://www.tinkercad.com/users/kjkvk6FbusG-alex-hilliard-263) + +# Images and sprites + Coin-stack images used for tax-policy icon from: www.quoteinspector.com Dark-Realm of Gondor flag by LordBojangles (https://www.deviantart.com/lordbojangles/art/Flag-of-Gondor-under-Sauron-186030718) -Most generic portraits are generated using Midjourney (midjourney.com) +NOTE: Several images used in this mod were generated using generative AI tools. -People who helped with the focus tree icons, national spirits and flags: -- Arnadex (discord name) -- Walther (discord name) -- Soviet_Cyber (discord name) -- yeoudal (discord name) -Bag End artwork (loading screen) by Tummi (Vladimir Stana) (https://www.artstation.com/artwork/lVrbez) -Lothlorien artwork (loading screens) by Tummi (Vladimir Stana) (https://www.artstation.com/artwork/0nJZbY) -Elven city artwork (loading screen) by Tummi (Vladimir Stana) (https://www.artstation.com/artwork/g0gZ3x) +# Fonts Anorion font by Pete Klassen (https://www.fontspace.com/aniron-font-f2247) + Merienda font by Eduardo Tunni (http://www.tipo.net.ar) + Neucha font by Jovanny Lemonad (http://www.jovanny.ru) -Main menu background music: - - "Lonely Mountain", by Rafael Krux (https://freepd.com/epic.php) +# Music and Sound + +"Lonely Mountain", by Rafael Krux (https://freepd.com/epic.php) (main menu music) -Main menu background picture created with the following models: +# Main Menu Background +Main menu background picture created using the following models: - "Museums Old Book 1767" (https://skfb.ly/osqDw) by Idmenthal is licensed under Creative Commons Attribution (http://creativecommons.org/licenses/by/4.0/). - "Book Open" (https://skfb.ly/6pMGN) by FlukierJupiter is licensed under Creative Commons Attribution (http://creativecommons.org/licenses/by/4.0/). - "One Ring" (https://skfb.ly/6nTBu) by JayDesigns3D is licensed under Creative Commons Attribution (http://creativecommons.org/licenses/by/4.0/). From 5eb2a2eb8560d7f4fc1b92373f4c2d22f2016817 Mon Sep 17 00:00:00 2001 From: Benjamin Date: Sun, 17 Nov 2024 12:05:56 +0100 Subject: [PATCH 5/8] added missing loc --- localisation/english/isengard/isengard_l_english.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/localisation/english/isengard/isengard_l_english.yml b/localisation/english/isengard/isengard_l_english.yml index a9d2607ad..472d8323e 100644 --- a/localisation/english/isengard/isengard_l_english.yml +++ b/localisation/english/isengard/isengard_l_english.yml @@ -55,6 +55,8 @@ compoundcrossbows:0 "Compound Crossbows" compoundcrossbows_desc:0 "By applying a levering system to our crossbows, we may increase their effectiveness." armorinnovations:0 "Armor Innovations" armorinnovations_desc:0 "The thicker our armor, the less likely arrows will pierce it." +airinnovations:0 "Air Innovations" +airinnovations_desc:0 "" specializeddivisions:0 "Specialized Divisions" specializeddivisions_desc:0 "The most advanced tactical maneuvers require highly trained divisions to carry them out." rainfirefromabove:0 "Rain Fire from above" From 2246213fe40c387d8436a4dac35faed52022e038 Mon Sep 17 00:00:00 2001 From: Benjamin Date: Sun, 17 Nov 2024 12:42:01 +0100 Subject: [PATCH 6/8] fixed orc secrets tech folder showing up incorrectly --- common/on_actions/00_on_actions.txt | 4 ++++ .../scripted_effects/00_lotr_races_scripted_effects.txt | 4 ++++ common/technology_tags/00_technology.txt | 8 +++++++- 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/common/on_actions/00_on_actions.txt b/common/on_actions/00_on_actions.txt index 127cab4cf..6bb5c001f 100644 --- a/common/on_actions/00_on_actions.txt +++ b/common/on_actions/00_on_actions.txt @@ -355,6 +355,10 @@ on_actions = { #Not run on a specific country. on_startup = { effect = { + # NOTE: This flag is used to load tech trees for countries that get them later (switch_to_orcs). + # It is a workaround for a bug that was introduced in the Götterdämmerung patch. If this bug is fixed later on, please get rid of this! + set_global_flag = game_has_started + ROH = { if = { limit = { diff --git a/common/scripted_effects/00_lotr_races_scripted_effects.txt b/common/scripted_effects/00_lotr_races_scripted_effects.txt index 24d89148a..31d60d154 100644 --- a/common/scripted_effects/00_lotr_races_scripted_effects.txt +++ b/common/scripted_effects/00_lotr_races_scripted_effects.txt @@ -15,6 +15,8 @@ lotr_switch_to_orcs = { set_country_flag = has_switched_to_orcs # This unlocks the researcher advisors (see ideas/zzz_lotr_advisors_orcs_switcheroo) + mark_technology_tree_layout_dirty = yes + } @@ -33,6 +35,8 @@ lotr_switch_to_spiders = { } load_oob = "spider_generic_templates" + + mark_technology_tree_layout_dirty = yes } diff --git a/common/technology_tags/00_technology.txt b/common/technology_tags/00_technology.txt index aa1fa975e..31cf5366a 100644 --- a/common/technology_tags/00_technology.txt +++ b/common/technology_tags/00_technology.txt @@ -234,7 +234,13 @@ technology_folders = { } orcs_special_folder = { available = { - is_orcs = yes + OR = { + is_orcs = yes + AND = { + can_switch_to_orcs = yes + NOT = { has_global_flag = game_has_started } + } + } } } elves_special_folder = { From 4dc4accd5a617062a5930d17180afb1ce015b59f Mon Sep 17 00:00:00 2001 From: Benjamin Date: Sun, 17 Nov 2024 13:03:54 +0100 Subject: [PATCH 7/8] fixed autonomies --- .../autonomous_tributary.txt | 6 +- common/autonomous_states/bulwark.txt | 6 +- common/decisions/_debug_decisions.txt | 10 +++- .../lotr_generic_scripted_effects.txt | 2 +- events/RohanNegotiations.txt | 10 ++++ .../0_lotr_core/lotr_misc_l_english.yml | 6 +- patch_notes.txt | 55 ++----------------- 7 files changed, 38 insertions(+), 57 deletions(-) diff --git a/common/autonomous_states/autonomous_tributary.txt b/common/autonomous_states/autonomous_tributary.txt index 4e9d33803..65afb5cf8 100644 --- a/common/autonomous_states/autonomous_tributary.txt +++ b/common/autonomous_states/autonomous_tributary.txt @@ -10,7 +10,7 @@ autonomy_state = { rule = { desc = "RULE_DESC_IS_A_SUBJECT" - can_not_declare_war = no + can_not_declare_war = yes can_decline_call_to_war = yes can_be_spymaster = yes contributes_operatives = yes @@ -56,4 +56,8 @@ autonomy_state = { can_lose_level = { #trigger here } + + allowed_levels_filter = { + autonomy_autonomous_tributary + } } diff --git a/common/autonomous_states/bulwark.txt b/common/autonomous_states/bulwark.txt index 716181661..6858ed41f 100644 --- a/common/autonomous_states/bulwark.txt +++ b/common/autonomous_states/bulwark.txt @@ -1,7 +1,7 @@ autonomy_state = { id = autonomy_bulwark - is_puppet = yes + is_puppet = no min_freedom_level = 0.5 @@ -61,4 +61,8 @@ autonomy_state = { can_lose_level = { #trigger here } + + allowed_levels_filter = { + autonomy_bulwark + } } diff --git a/common/decisions/_debug_decisions.txt b/common/decisions/_debug_decisions.txt index c15e07f4a..4b3b66831 100644 --- a/common/decisions/_debug_decisions.txt +++ b/common/decisions/_debug_decisions.txt @@ -238,7 +238,7 @@ debug_decisions = { is_debug = yes #num_of_civilian_factories > 35 #arms_factory > 13 - has_idea = one_true_ring + #has_idea = one_true_ring } visible = { always = yes } @@ -246,7 +246,13 @@ debug_decisions = { cost = 0 complete_effect = { - white_peace = ROH + ISE = { + set_autonomy = { + target = ROH + autonomy_state = autonomy_bulwark + #autonomy_autonomous_tributary + } + } } } diff --git a/common/scripted_effects/lotr_generic_scripted_effects.txt b/common/scripted_effects/lotr_generic_scripted_effects.txt index 1adfeadb2..07facaf8e 100644 --- a/common/scripted_effects/lotr_generic_scripted_effects.txt +++ b/common/scripted_effects/lotr_generic_scripted_effects.txt @@ -602,4 +602,4 @@ add_ruling_party_support = { popularity = 0.1 } } -} \ No newline at end of file +} diff --git a/events/RohanNegotiations.txt b/events/RohanNegotiations.txt index 06d9f5dc7..599fdcca4 100644 --- a/events/RohanNegotiations.txt +++ b/events/RohanNegotiations.txt @@ -343,6 +343,8 @@ country_event = { } } + custom_effect_tooltip = bulwark_info_tt + ISE = { country_event = { id = rohannegotiations.5 days = 5 } } ROH = { country_event = { id = rohannegotiations.5 days = 5 } } } @@ -366,6 +368,8 @@ country_event = { autonomy_state = autonomy_autonomous_tributary } } + + custom_effect_tooltip = autonomous_tributary_info_tt ISE = { country_event = { id = rohannegotiations.5 days = 5 } } ROH = { country_event = { id = rohannegotiations.5 days = 5 } } @@ -389,6 +393,8 @@ country_event = { } } + custom_effect_tooltip = autonomous_tributary_info_tt + 184 = { if = { limit = { is_controlled_by = ROH } @@ -562,6 +568,8 @@ country_event = { } } + custom_effect_tooltip = bulwark_info_tt + custom_effect_tooltip = rohannegotiations.6.a_tt hidden_effect = { @@ -584,6 +592,8 @@ country_event = { autonomy_state = autonomy_autonomous_tributary } } + + custom_effect_tooltip = autonomous_tributary_info_tt custom_effect_tooltip = rohannegotiations.6.a_tt diff --git a/localisation/english/0_lotr_core/lotr_misc_l_english.yml b/localisation/english/0_lotr_core/lotr_misc_l_english.yml index 72ace3e2d..6d6286f31 100644 --- a/localisation/english/0_lotr_core/lotr_misc_l_english.yml +++ b/localisation/english/0_lotr_core/lotr_misc_l_english.yml @@ -203,4 +203,8 @@ fs_fellowship_breakup:0 "The Fellowship has been separated at Argonath" any_neighbour_in_faction_tt:0 "has a border with [ROOT.GetFactionName]" has_common_enemy_tt:0 "is fighting a common enemy with [Root.GetName]" -in_faction_neighbouring_root_tt:0 "[THIS.GetFactionName] borders [ROOT.GetName]" \ No newline at end of file +in_faction_neighbouring_root_tt:0 "[THIS.GetFactionName] borders [ROOT.GetName]" + + +bulwark_info_tt:0 "A §YBulwark-Vassal§! cannot declare wars or conduct independent diplomacy, but receives major boosts to military production." +autonomous_tributary_info_tt:0 "An §YAutonomous Tributary§! reserves the right to conduct independent diplomacy, including declaring or refusing wars, but pay a large portion of their civilian industry to their overlord." \ No newline at end of file diff --git a/patch_notes.txt b/patch_notes.txt index 22eb1d60e..2f3044c9e 100644 --- a/patch_notes.txt +++ b/patch_notes.txt @@ -1,52 +1,5 @@ -HOI4: -- **Götterdämmerung**: Updated mod to work with the new HoI4 version and DLC -- **Alchemy and sorcery**: Integrated new special projects system with 16 new special projects -- **Raiding and infiltration**: Integrated new raids system with 14 new raids -CONTENT: -- **Achievements**: Added 8 new achievements -- **Buildings**: Reworked all vanilla buildings, added several new types, including unique landmarks -- **Rohan Rework**: Reworked Rohan's focus tree, events and added new gameplay mechanics -- **Added Dunland**: In preparation for the Isengard rework, Dunland has been added as a new country -- **AI rework**: Reworked AI division template design and research priorities. Expect to find a lot more specialized divisions (including armored ones) -- **Ered Luin**: Revised and integrated Ered Luin and Ered Lindon from the Expanded Submod -- **Ent Research Tree**: Added new secret tech tree for the Ents (partially contributed by sealord72) -- **Manpower numbers**: All manpower/population numbers have been divided by 10 to provide more realistic values for medieval warfare. This should not affect balance -- **Technology changes**: Several techs in the Alchemy, Intrigue, Farming and Metalwork have received major changes or additions - -BALANCE: -- Lowered the speed and organization of catapults (soft attack unchanged) -- Balrog, Giant and Ent units have received a major buff, while Spider units have received a minor one -- The AI is now more likely to vote for Martial or Hegemony Elven-Assembly types -- Unaligned Lothlórien's defense bonuses have been toned down -- Air/army XP gained from training has been significantly increased -- Air XP gained from air-combat and other missions has been significantly increased -- Army XP given by council-of-war advisors has been significantly increased -- AI Mordor now has a 20% chance to initiate the Ithilien Crisis -- Heavy infantry have received a major buff - -VISUAL: -- Several unfitting focus and spirit icons have been replaced with new ones -- The map frame 3D Model has been replaced -- Cavalry units now use the vanilla horse models (without rider) -- The decisions and research tab UIs have been improved -- The trade tab UI has been improved -- The division template designer UI has been improved -- The equipment designer UI has been improved -- The train and deploy UI has been improved -- The production tab UI has been improved -- All division icons have been redone/reworked to provide better visual clarity -- All ship icons have been redone/reworked to provide better visual clarity -- The main menu, country-select screen and loading screen have been entirely reworked - -BUGFIX / QOL: -- Fixed a bug that made the Catapult II tech available 2 years ahead of time -- Fixed ring not transferring when countries are annexed -- Added a custom game rule to disable the ring mechanic (experimental) -- Fixed several broken achievements -- Fixed several MIO-related traits that didn't apply correctly (contribution by Nannan22) -- Many, many more undocumented changes, adjustments and fixes - -NOTE: -If the update is not showing up or your game is crashing, try unsubscribing, waiting a few seconds and resubscribing to the mod to get steam to download the new version. -Save games from previous versions will not be compatible. \ No newline at end of file +- Fixed a bug with the 'Bulwark-Vassal' and 'Autonomous Tributary' autonomies +- Fixed the 'Secrets of Orcs' tech folder not showing up correctly +- Added/fixed some localizations and tooltips +- Extracted several hard-coded localizations \ No newline at end of file From 76b632b72777f16962e9f65ab5bcecb58f733f4d Mon Sep 17 00:00:00 2001 From: Benjamin Date: Sun, 17 Nov 2024 13:43:12 +0100 Subject: [PATCH 8/8] added achievement and custom game rule --- common/achievements/achievements.txt | 11 +++++++ common/game_rules/00_game_rules.txt | 16 ++++++++++ common/raids/destroy_ring_air.txt | 6 ++++ .../diplomacy_scripted_triggers.txt | 28 ++++++++++++++---- gfx/achievements/why_didnt_they_just.dds | Bin 0 -> 4224 bytes gfx/achievements/why_didnt_they_just_grey.dds | Bin 0 -> 5616 bytes .../why_didnt_they_just_not_eligible.dds | Bin 0 -> 5616 bytes .../english/achievements_l_english.yml | 7 ++++- .../english/custom_game_rules_l_english.yml | 8 ++++- patch_notes.txt | 3 +- 10 files changed, 70 insertions(+), 9 deletions(-) create mode 100644 gfx/achievements/why_didnt_they_just.dds create mode 100644 gfx/achievements/why_didnt_they_just_grey.dds create mode 100644 gfx/achievements/why_didnt_they_just_not_eligible.dds diff --git a/common/achievements/achievements.txt b/common/achievements/achievements.txt index 93df132ac..28b17db1c 100644 --- a/common/achievements/achievements.txt +++ b/common/achievements/achievements.txt @@ -435,4 +435,15 @@ ELU_every_hole_is_home = { state = 142 } } +} + +why_didnt_they_just = { + possible = { + achievement_standard_possible_check = yes + NOT = { tag = MOR } + } + + happened = { + has_country_flag = ring_destroyed_with_eagles + } } \ No newline at end of file diff --git a/common/game_rules/00_game_rules.txt b/common/game_rules/00_game_rules.txt index 8b76666e0..055e2b0ea 100644 --- a/common/game_rules/00_game_rules.txt +++ b/common/game_rules/00_game_rules.txt @@ -844,5 +844,21 @@ enable_ring_mechanic = { allow_achievements = no } } +cohesive_factions_restriction = { + name = "COHESIVE_FACTIONS_RESTRICTION" + group = "LOTR_MOD_RULES" + default = { + name = YES + text = "COHESIVE_FACTIONS_RESTRICTION_YES" + desc = "COHESIVE_FACTIONS_RESTRICTION_YES_DESC" + allow_achievements = yes + } + option = { + name = NO + text = "COHESIVE_FACTIONS_RESTRICTION_NO" + desc = "COHESIVE_FACTIONS_RESTRICTION_NO_DESC" + allow_achievements = no + } +} #We could add stuff for political advisor visibility filters here too, in the future diff --git a/common/raids/destroy_ring_air.txt b/common/raids/destroy_ring_air.txt index b49434430..c6e21bbe4 100644 --- a/common/raids/destroy_ring_air.txt +++ b/common/raids/destroy_ring_air.txt @@ -138,6 +138,10 @@ types = { } } actor_effects = { + var:actor_country = { + set_country_flag = ring_destroyed_with_eagles + ring_remove_ring = yes + } raid_damage_units = { plane_loss = 1.0 ratio = yes @@ -157,6 +161,7 @@ types = { } raid_add_unit_experience = 0.75 var:actor_country = { + set_country_flag = ring_destroyed_with_eagles ring_remove_ring = yes } } @@ -178,6 +183,7 @@ types = { } raid_add_unit_experience = 1.0 var:actor_country = { + set_country_flag = ring_destroyed_with_eagles ring_remove_ring = yes } } diff --git a/common/scripted_triggers/diplomacy_scripted_triggers.txt b/common/scripted_triggers/diplomacy_scripted_triggers.txt index 1c2833ffe..c35a15e82 100644 --- a/common/scripted_triggers/diplomacy_scripted_triggers.txt +++ b/common/scripted_triggers/diplomacy_scripted_triggers.txt @@ -670,9 +670,17 @@ DIPLOMACY_JOIN_FACTION_ENABLE_TRIGGER = { always = no } } - OR = { - FROM = { has_common_enemy = yes } - FROM = { in_faction_neighbouring_root = yes } + if = { + limit = { + has_game_rule = { + rule = cohesive_factions_restriction + option = YES + } + } + OR = { + FROM = { has_common_enemy = yes } + FROM = { in_faction_neighbouring_root = yes } + } } } DIPLOMACY_OFFER_JOIN_FACTION_ENABLE_TRIGGER = { @@ -692,9 +700,17 @@ DIPLOMACY_OFFER_JOIN_FACTION_ENABLE_TRIGGER = { always = no } } - OR = { - FROM = { has_common_enemy = yes } - FROM = { has_neighbour_in_roots_faction = yes } + if = { + limit = { + has_game_rule = { + rule = cohesive_factions_restriction + option = YES + } + } + OR = { + FROM = { has_common_enemy = yes } + FROM = { has_neighbour_in_roots_faction = yes } + } } } DIPLOMACY_CREATE_FACTION_ACTION_ENABLE_TRIGGER = { diff --git a/gfx/achievements/why_didnt_they_just.dds b/gfx/achievements/why_didnt_they_just.dds new file mode 100644 index 0000000000000000000000000000000000000000..b5bef2a805db3ec63103de09687158a5783b8131 GIT binary patch literal 4224 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 literal 0 HcmV?d00001 diff --git a/gfx/achievements/why_didnt_they_just_grey.dds b/gfx/achievements/why_didnt_they_just_grey.dds new file mode 100644 index 0000000000000000000000000000000000000000..04018b1640912c0b37803d14a7c1767fc1009ff5 GIT binary patch literal 5616 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 PKPH6wpI5OSNs|5xvafKK literal 0 HcmV?d00001 diff --git a/gfx/achievements/why_didnt_they_just_not_eligible.dds b/gfx/achievements/why_didnt_they_just_not_eligible.dds new file mode 100644 index 0000000000000000000000000000000000000000..3e6fa6a46430c24901f61c5bd170702cb43b41fe GIT binary patch literal 5616 zcmaJ_eNaW4Bf2O zF%4hwX{pBD%Bo#kbw(O0;6r5FZG^hzqrBO5ELvM@jIAGJjjbujVyQHUz}x#^&wX*a zQ-|REIOm>wf9LC-n++RYU}_OUkI{)J2mh~p5Uu>ef5V@GLjL(Y{3%$!asF>V_lv^a5;7nu%e$J$Aa<(Z$dLlY!R`wS6nsCEtEUx3e>kb3zZ$Sd`? z8HAFEyi)JvY~k=`kSphFd-&xMz&ci-S9_zxe+7dM+8E4S26FL|E_+Aw6giLP9i9pn ztLIVdm6@#5z~9N)DS7l0N#$RlKfhF?0ee0}i`Ek!@B+@i1W1Q5B;_oXiuL$z9*>);C-TyLR<$U+s9!vuk zKj5iH_==csct!^KV3V+^xxI(@M`~hduiHY-n}_Yy>)lr1-N|wKX)|T405SS(k3OV{*amk7orkLerVqD?|yTwOx8!5ZZn}WGx5g{ zM+I6=?I;I(g;luTuWxSvEcy{L#l^SaOeB5BJvF}m-43%T_K@5cU%<9jxnr-R>J zh=IM^41@g9{>%e!FXX?I^V93s=jHb>pwD4^MmCaoQn`1s=Wce9_))o% zwsxwW_+t?JV@dK`L|=(VyVx-X_99-vIEtNp;aL$IaE zRw5STkc>UX<3gw+igx?0ST6E509$FR1=*&9GA)Nxh$gzLUGnB%)^0Kb@S8 zMP6|f;;;0Rc>WyjKlh*c@G`8wbl_b|xd;KbW;nTUI6MGY$sgnmyH#wb#5v;<6|+=r zgOSJ!d<^R94g4A8!X~@9XKs$vhhTG;}knEVi(>^YqX0|M32+uY$f3Z?V0T~#*-=EKCQETUj+@J5DThsFoz~eReKDCsQ{^Rq^-@hcED+NC1 z-);-(fA)Mn9VM#$%AU_WQokCOrFzqn(!jokb)&?ytA+Vz|3N3W?b@^BuzvqRNh{Cv zCj;j<#{62h0yVN<-KSP%LIdPZwC1<87Pmq3@x<4GV__y9rU?~L#_808MJe9_9c+>S@^&{v5w$$+^?q8`mV>Y#Zx84Wks-F=~u&lc=i}z#UBZ20n%R<@=6==5Rp#wg0-!tbAi=E9j5c=-68M?{5Q+^|F+u zf|=S<249vapaQvQSz(qLV%q2 zBCfX!nbsN5A1bv|#^Nmjz#42nDvp!;TGBF9!*EX`$esAU?@e9P0a(Z0X8a>}ZI8s? zR%-(Op-ia{$(R+2wMr3e)lz4i_0ca$=yWy}~S7if!X=T4BH+R9U$GeH|0?~% z<(?+*FXg=&OG_mA*I0n@!_5`J80kWKyYMyq5t{}d0cnB%?tJ#Khklj zds@_bZ*I)M_gxs|qQS{^bUTRsN_~sgY*yz<=Q}Oh;ELoupznOwp>>5vJf8;_=6_`# zYI{8Kadm$xSDaSY``uJ-@>^;@m6|aB1oge@_d4jlDRmy%u){%zRxT#_nfDilYHnBW zd%@+P%S=Wi-ha}HkD$Eo(v~d|VE+_6Pxs8p+u^)-vT;X=U%$yguaiyXAjk7HgM3={fp1?Yf-`p zlCR2rSTc2QaAE&RtB#el=LR-bj!i7&U;3`L?Bj)1(_qhs?aQVTGS4dYlbNaJ!<)GO zxNJj&uhL&8Z~SI2tjGPAwlvI<`w7=06AX5zsrw7`&`{VtIEKG`o84Efe1A01)wb>O zR}1}TX$4PJR5cK+yx;m;_8teh4$lwk?i^|W+?e5@b;E~(fK%}M^p#s_xW6yh%i|pM z?9RED-{qn>9ygdRPvX)){@!^91B1M(@%wD-4^rhXBHXKpEuhPB7Qp+We~+hjsE1O&-TG$2&#ew4CqP>HRvtSu~W7 z?oIpg;llYObBnfNknw`IeFaF=