diff --git a/additional_credits.txt b/additional_credits.txt index 5d3a5024d..ce823f2c8 100644 --- a/additional_credits.txt +++ b/additional_credits.txt @@ -1,5 +1,5 @@ -Some parts of the textures for the unit models were taken from the following resources: - +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 @@ -16,4 +16,13 @@ Most generic portraits are generated using Midjourney (midjourney.com) People who helped with the focus tree icons and flags: - Arnadex (discord name) - Walther (discord name) +- Soviet_Cyber (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) +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) \ No newline at end of file diff --git a/common/abilities/generic_leader_abilities.txt b/common/abilities/generic_leader_abilities.txt index cab23d619..6ccbc4816 100644 --- a/common/abilities/generic_leader_abilities.txt +++ b/common/abilities/generic_leader_abilities.txt @@ -183,7 +183,6 @@ ability = { } unit_modifiers = { - paratrooper_count_per_plane = 1.0 paradrop_organization_factor = 2.0 paratrooper_aa_defense = 0.5 } diff --git a/common/ai_areas/default.txt b/common/ai_areas/default.txt new file mode 100644 index 000000000..de3d5bb7b --- /dev/null +++ b/common/ai_areas/default.txt @@ -0,0 +1,91 @@ +areas = { + + forodwaith = { + continents = { + forodwaith + } + } + + lindon = { + continents = { + lindon + } + } + + eriador = { + continents = { + eriador + } + } + + rhovanion = { + continents = { + rhovanion + } + } + + erebor = { + continents = { + erebor + } + } + + rhun = { + continents = { + rhun + } + } + + mordor = { + continents = { + mordor + } + } + + harad = { + continents = { + harad + } + } + + rohan = { + continents = { + rohan + } + } + + gondor = { + + continents = { + gondor + } + } + + mirkwood = { + + continents = { + mirkwood + } + } + + enedwaith = { + + continents = { + enedwaith + } + } + + vale = { + + continents = { + vale + } + } + + hollin = { + + continents = { + hollin + } + } +} diff --git a/common/ai_equipment/generic_naval.txt b/common/ai_equipment/generic_naval.txt deleted file mode 100644 index 32557e471..000000000 --- a/common/ai_equipment/generic_naval.txt +++ /dev/null @@ -1,1599 +0,0 @@ -# AI Ship Designs for Generic Nations - -destroyers = { - category = naval - - blocked_for = { - } - - available_for = { - } - - roles = { - naval_screen - } - - priority = { - factor = 2500 - modifier = { - factor = 2 - is_major = no - } - } - - screen_default = { - - priority = { - factor = 250 - modifier = { - factor = 10 - is_major = no - } - } - - role_icon_index = 2 - - target_variant = { - match_value = 2000.0 - - type = ship_hull_light - modules = { - fixed_ship_battery_slot = ship_light_battery - fixed_ship_fire_control_system_slot = ship_fire_control_system - fixed_ship_radar_slot = ship_sonar - fixed_ship_engine_slot = light_ship_engine - fixed_ship_torpedo_slot = ship_torpedo - rear_1_custom_slot = ship_depth_charge - } - } - - allowed_modules = { - ship_depth_charge - ship_light_battery - ship_torpedo - ship_anti_air - light_ship_engine - ship_sonar - ship_fire_control_system - ship_radar - } - } - - screen_2 = { - - priority = { - factor = 250 - modifier = { - factor = 10 - is_major = no - } - } - - role_icon_index = 2 - - target_variant = { - match_value = 2500.0 - - type = ship_hull_light - modules = { - fixed_ship_battery_slot = { - module > ship_light_battery_1 - upgrade > current - } - fixed_ship_fire_control_system_slot > ship_fire_control_system_0 - fixed_ship_engine_slot = light_ship_engine - fixed_ship_radar_slot = { - any_of = { ship_radar ship_sonar } - } - fixed_ship_torpedo_slot = ship_torpedo - fixed_ship_anti_air_slot = ship_anti_air_1 - rear_1_custom_slot = ship_depth_charge - } - } - - allowed_modules = { - ship_light_battery - ship_torpedo - ship_anti_air - ship_depth_charge - light_ship_engine - ship_fire_control_system - ship_radar - ship_sonar - } - } - - screen_3 = { - - priority = { - factor = 250 - modifier = { - factor = 10 - is_major = no - } - } - - role_icon_index = 2 - - target_variant = { - match_value = 3500.0 - - type = ship_hull_light - modules = { - fixed_ship_battery_slot = { - module = ship_light_battery - upgrade > current - } - fixed_ship_fire_control_system_slot = { - any_of = { ship_radar ship_fire_control_system_2 ship_fire_control_system_1 } - } - fixed_ship_engine_slot > light_ship_engine_1 - fixed_ship_radar_slot = { - any_of = { - ship_radar - ship_sonar - } - } - fixed_ship_torpedo_slot = ship_torpedo - fixed_ship_anti_air_slot = ship_anti_air - rear_1_custom_slot = { - module = ship_depth_charge - upgrade > current - } - } - } - - allowed_modules = { - ship_light_battery - ship_medium_battery - ship_torpedo - ship_anti_air - ship_depth_charge - light_ship_engine - ship_fire_control_system - ship_radar - ship_sonar - } - } -} - -generic_escorts = { - category = naval - - blocked_for = { - - } - - available_for = { - - } - - roles = { - naval_escort - } - - priority = { - factor = 1000 - modifier = { - factor = 5 - anti_submarine_strategy_required_trigger = yes - } - } - - escort_default = { - - priority = { - factor = 100 - modifier = { - factor = 20 - anti_submarine_strategy_required_trigger = yes - } - } - - role_icon_index = 2 - - target_variant = { - match_value = 1000.0 - - type = ship_hull_light_1 - modules = { - fixed_ship_battery_slot = ship_light_battery_1 - fixed_ship_anti_air_slot = empty - fixed_ship_fire_control_system_slot = empty - fixed_ship_radar_slot = ship_sonar - fixed_ship_engine_slot = light_ship_engine_1 - fixed_ship_torpedo_slot = empty - mid_1_custom_slot = empty - rear_1_custom_slot = { - any_of = { ship_depth_charge } - upgrade > current - } - } - } - - allowed_modules = { - ship_depth_charge - ship_anti_air - ship_light_battery - ship_sonar - ship_fire_control_system - ship_radar - } - } - escort_upgrade = { - - priority = { - factor = 120 - modifier = { - factor = 20 - anti_submarine_strategy_required_trigger = yes - } - } - enable = { - always = no - } - role_icon_index = 2 - - target_variant = { - match_value = 2000.0 - - type = ship_hull_light_1 - modules = { - fixed_ship_battery_slot = ship_light_battery_1 - fixed_ship_anti_air_slot = ship_anti_air - fixed_ship_fire_control_system_slot = ship_radar - fixed_ship_radar_slot = ship_sonar - fixed_ship_engine_slot = light_ship_engine_1 - fixed_ship_torpedo_slot = empty - mid_1_custom_slot = ship_depth_charge - rear_1_custom_slot = ship_depth_charge - } - } - - allowed_modules = { - ship_anti_air - ship_depth_charge - ship_light_battery - ship_sonar - ship_fire_control_system - ship_radar - } - } -} - -naval_light_cruiser = { - - category = naval - - blocked_for = { - } - - available_for = { - } - - roles = { - naval_cruiser_light - } - - priority = { - factor = 1000 - modifier = { - factor = 10 - is_major = no - } - } - cruiser_light_early = { - - priority = { - factor = 100 - modifier = { - factor = 10 - is_major = no - } - } - - role_icon_index = 2 - - target_variant = { - match_value = 1000.0 - - type = ship_hull_cruiser - modules = { - fixed_ship_battery_slot = ship_light_medium_battery_1 - fixed_ship_fire_control_system_slot = ship_fire_control_system - fixed_ship_radar_slot = empty - fixed_ship_engine_slot = cruiser_ship_engine - fixed_ship_armor_slot = ship_cruiser_armor - fixed_ship_secondaries_slot = empty - rear_1_custom_slot = ship_light_medium_battery_1 - mid_1_custom_slot = empty - mid_2_custom_slot = { - any_of = { ship_torpedo ship_anti_air ship_secondaries } - } - } - } - - allowed_modules = { - ship_light_medium_battery_1 - ship_light_battery - ship_secondaries - ship_torpedo - ship_anti_air - ship_depth_charge - ship_fire_control_system - cruiser_ship_engine - ship_radar - ship_sonar - ship_airplane_launcher - } - } - cruiser_light_basic = { - - priority = { - factor = 100 - modifier = { - factor = 10 - is_major = no - } - } - - role_icon_index = 2 - - target_variant = { - match_value = 1250.0 - - type = ship_hull_cruiser_2 - modules = { - fixed_ship_battery_slot = ship_light_medium_battery_1 - fixed_ship_anti_air_slot = ship_anti_air - fixed_ship_engine_slot = cruiser_ship_engine_1 - fixed_ship_fire_control_system_slot = ship_fire_control_system - fixed_ship_armor_slot = ship_armor_cruiser_1 - fixed_ship_secondaries_slot = empty - front_1_custom_slot = { - any_of = { - ship_anti_air - ship_light_medium_battery_1 - } - } - rear_1_custom_slot = ship_light_medium_battery_1 - mid_1_custom_slot = { - any_of = { ship_torpedo ship_anti_air } - } - mid_2_custom_slot = ship_airplane_launcher_1 - } - } - - allowed_modules = { - ship_anti_air - ship_torpedo - ship_secondaries - ship_medium_battery - ship_light_battery - ship_depth_charge - ship_fire_control_system - cruiser_ship_engine - ship_radar - ship_sonar - ship_airplane_launcher - - } - } - cruiser_light_improved = { - - priority = { - factor = 100 - modifier = { - factor = 10 - is_major = no - } - } - - role_icon_index = 2 - - target_variant = { - match_value = 1500.0 - - type = ship_hull_cruiser - modules = { - fixed_ship_battery_slot = ship_light_medium_battery_2 - fixed_ship_anti_air_slot = ship_anti_air - fixed_ship_engine_slot = cruiser_ship_engine - fixed_ship_fire_control_system_slot = ship_fire_control_system - fixed_ship_armor_slot > empty - fixed_ship_secondaries_slot = empty - front_1_custom_slot = { - any_of = { - ship_light_medium_battery_2 - ship_anti_air - } - upgrade > current - } - rear_1_custom_slot = ship_light_medium_battery_2 - rear_2_custom_slot > empty - mid_1_custom_slot = { - any_of = { ship_torpedo ship_anti_air } - upgrade > current - } - mid_2_custom_slot = ship_airplane_launcher - } - } - - allowed_modules = { - ship_anti_air - ship_torpedo - ship_secondaries - ship_medium_battery - ship_light_battery - ship_depth_charge - ship_fire_control_system - cruiser_ship_engine - ship_radar - ship_sonar - ship_airplane_launcher - - } - } - cruiser_light_advanced = { - - priority = { - factor = 100 - modifier = { - factor = 10 - is_major = no - } - } - - role_icon_index = 2 - - target_variant = { - match_value = 1750.0 - - type = ship_hull_cruiser - modules = { - fixed_ship_battery_slot > ship_light_medium_battery_2 - fixed_ship_anti_air_slot = ship_anti_air - fixed_ship_engine_slot = cruiser_ship_engine - fixed_ship_fire_control_system_slot = { - any_of = { ship_fire_control_system ship_radar } - upgrade > current - } - fixed_ship_armor_slot > ship_armor_cruiser_2 - fixed_ship_secondaries_slot > empty - front_1_custom_slot = { - any_of = { - ship_anti_air - ship_light_medium_battery_2 - } - upgrade > current - } - rear_1_custom_slot > ship_light_medium_battery_2 - rear_2_custom_slot > empty - mid_1_custom_slot = { - any_of = { ship_torpedo ship_anti_air } - upgrade > current - } - mid_2_custom_slot = ship_airplane_launcher_1 - } - } - - allowed_modules = { - ship_anti_air - ship_secondaries - ship_torpedo - ship_medium_battery - ship_light_battery - ship_depth_charge - ship_fire_control_system - cruiser_ship_engine - ship_radar - ship_sonar - ship_airplane_launcher - - } - } -} - -naval_cruiser_heavy = { - category = naval - - blocked_for = { - } - - available_for = { - } - - roles = { - naval_cruiser_heavy - } - - priority = { - factor = 800 - } - capital_cruiser_early = { - - priority = { - factor = 100 - } - - role_icon_index = 1 - - target_variant = { - match_value = 1000.0 - - type = ship_hull_cruiser - modules = { - fixed_ship_battery_slot = ship_medium_battery_1 - fixed_ship_fire_control_system_slot = ship_fire_control_system - fixed_ship_engine_slot = cruiser_ship_engine - fixed_ship_armor_slot = ship_cruiser_armor - fixed_ship_secondaries_slot = ship_secondaries - mid_1_custom_slot = { - any_of = { ship_anti_air ship_torpedo ship_secondaries } - } - mid_2_custom_slot = { - any_of = { ship_airplane_launcher ship_anti_air ship_torpedo } - } - rear_1_custom_slot = ship_medium_battery_1 - } - } - - allowed_modules = { - ship_anti_air - ship_medium_battery - ship_radar - ship_torpedo - ship_airplane_launcher - } - } - capital_cruiser_basic = { - - priority = { - factor = 100 - - } - - role_icon_index = 1 - - target_variant = { - match_value = 1250.0 - - type = ship_hull_cruiser_2 - modules = { - fixed_ship_battery_slot = { any_of = { ship_medium_battery_2 ship_medium_battery_1 } } - fixed_ship_fire_control_system_slot = ship_fire_control_system - fixed_ship_engine_slot = cruiser_ship_engine - fixed_ship_radar_slot = ship_radar - fixed_ship_armor_slot = ship_cruiser_armor - fixed_ship_secondaries_slot = ship_secondaries - front_1_custom_slot = ship_anti_air - mid_1_custom_slot = { - any_of = { ship_torpedo ship_anti_air ship_secondaries } - } - mid_2_custom_slot = { - any_of = { ship_airplane_launcher ship_anti_air ship_torpedo } - } - rear_1_custom_slot = { any_of = { ship_medium_battery_2 ship_medium_battery_1 } } - } - } - - allowed_modules = { - ship_anti_air - ship_medium_battery - ship_radar - ship_torpedo - ship_airplane_launcher - } - } - - capital_cruiser_improved = { - - priority = { - factor = 100 - - } - - role_icon_index = 1 - - target_variant = { - match_value = 1500.0 - - type = ship_hull_cruiser_3 - modules = { - fixed_ship_battery_slot > ship_medium_battery_1 - fixed_ship_fire_control_system_slot > ship_fire_control_system_0 - fixed_ship_engine_slot > cruiser_ship_engine_1 - fixed_ship_radar_slot = ship_radar - fixed_ship_armor_slot > ship_armor_cruiser_1 - fixed_ship_secondaries_slot = ship_secondaries - front_1_custom_slot = ship_anti_air - mid_1_custom_slot = { - any_of = { ship_anti_air ship_secondaries } - upgrade > current - } - mid_2_custom_slot = { - any_of = { ship_airplane_launcher ship_anti_air ship_torpedo } - upgrade > current - } - rear_1_custom_slot > ship_medium_battery_1 - rear_2_custom_slot = ship_anti_air - } - } - - allowed_modules = { - ship_anti_air - ship_medium_battery - ship_radar - ship_torpedo - ship_airplane_launcher - ship_fire_control_system - } - } - capital_cruiser_advanced = { - - priority = { - factor = 100 - } - - role_icon_index = 1 - - target_variant = { - match_value = 1750.0 - - type = ship_hull_cruiser - modules = { - fixed_ship_battery_slot > ship_medium_battery_2 - fixed_ship_fire_control_system_slot = ship_fire_control_system - fixed_ship_engine_slot > cruiser_ship_engine_2 - fixed_ship_radar_slot = ship_radar - fixed_ship_armor_slot > ship_armor_cruiser_2 - fixed_ship_secondaries_slot = dp_ship_secondaries - front_1_custom_slot = ship_anti_air - mid_1_custom_slot = { - any_of = { ship_anti_air dp_ship_secondaries } - upgrade > current - } - mid_2_custom_slot = { - any_of = { ship_airplane_launcher ship_anti_air } - upgrade > current - } - rear_1_custom_slot > ship_medium_battery_2 - rear_2_custom_slot = ship_anti_air - } - } - - allowed_modules = { - ship_anti_air - ship_medium_battery - ship_radar - ship_torpedo - ship_airplane_launcher - ship_fire_control_system - } - } -} - -naval_capital_battleship = { - category = naval - - blocked_for = { - } - - available_for = { - } - - roles = { - naval_capital_bb - } - - priority = { - factor = 500 - modifier = { - factor = 0 - num_of_naval_factories < 35 - } - } - - capital_battleship_early = { - - priority = { - factor = 100 - } - - role_icon_index = 1 - - target_variant = { - match_value = 1000.0 - - type = ship_hull_heavy_1 - modules = { - fixed_ship_battery_slot = ship_heavy_battery_1 - fixed_ship_fire_control_system_slot = ship_fire_control_system - fixed_ship_engine_slot = heavy_ship_engine_1 - fixed_ship_armor_slot = ship_armor_bb_1 - fixed_ship_secondaries_slot = ship_secondaries - front_1_custom_slot = empty - mid_1_custom_slot = ship_secondaries - mid_2_custom_slot = empty - rear_1_custom_slot = ship_heavy_battery_1 - } - } - - allowed_modules = { - ship_anti_air - ship_heavy_battery - ship_radar - ship_fire_control_system - ship_heavy_armor - ship_secondaries - ship_airplane_launcher - } - } - capital_battleship_early_aa_upgrade = { - - priority = { - factor = 100 - modifier = { - factor = 100 - has_war = yes - } - } - - role_icon_index = 1 - - target_variant = { - match_value = 1250.0 - - type = ship_hull_heavy_1 - modules = { - fixed_ship_battery_slot = ship_heavy_battery_1 - fixed_ship_fire_control_system_slot = ship_fire_control_system - fixed_ship_engine_slot = heavy_ship_engine_1 - fixed_ship_armor_slot = ship_armor_bb_1 - fixed_ship_secondaries_slot = ship_secondaries - front_1_custom_slot = ship_anti_air - mid_1_custom_slot = { - any_of = { ship_secondaries ship_anti_air ship_airplane_launcher } - upgrade > current - } - mid_2_custom_slot = ship_anti_air - rear_1_custom_slot = ship_heavy_battery_1 - } - } - - allowed_modules = { - ship_anti_air - ship_heavy_battery - ship_radar - ship_fire_control_system - ship_heavy_armor - ship_secondaries - ship_airplane_launcher - } - } - - capital_battleship_basic = { - - priority = { - factor = 100 - } - - role_icon_index = 1 - - target_variant = { - match_value = 1500.0 - - type = ship_hull_heavy_2 - modules = { - fixed_ship_battery_slot = ship_heavy_battery - fixed_ship_fire_control_system_slot = ship_fire_control_system - fixed_ship_engine_slot = heavy_ship_engine - fixed_ship_armor_slot = ship_armor_bb_2 - fixed_ship_secondaries_slot = ship_secondaries - front_1_custom_slot = empty - mid_1_custom_slot = ship_secondaries - mid_2_custom_slot = ship_anti_air - rear_1_custom_slot = ship_heavy_battery - } - } - - allowed_modules = { - ship_anti_air - ship_heavy_battery - ship_radar - ship_fire_control_system - ship_heavy_armor - ship_secondaries - ship_airplane_launcher - } - } - - capital_battleship_basic_aa_upgrade = { - - priority = { - factor = 100 - modifier = { - factor = 100 - has_war = yes - } - } - - role_icon_index = 1 - - target_variant = { - match_value = 1750.0 - - type = ship_hull_heavy_2 - modules = { - fixed_ship_battery_slot = ship_heavy_battery - fixed_ship_fire_control_system_slot = ship_fire_control_system - fixed_ship_engine_slot = heavy_ship_engine - fixed_ship_armor_slot = ship_armor_bb_2 - fixed_ship_secondaries_slot = ship_secondaries - front_1_custom_slot = ship_anti_air - mid_1_custom_slot = ship_secondaries - mid_2_custom_slot = ship_anti_air - rear_1_custom_slot = ship_heavy_battery - } - } - - allowed_modules = { - ship_anti_air - ship_heavy_battery - ship_radar - ship_fire_control_system - ship_heavy_armor - ship_secondaries - ship_airplane_launcher - } - } - capital_battleship_improved = { - - priority = { - factor = 100 - } - - role_icon_index = 1 - - target_variant = { - match_value = 2000.0 - - type = ship_hull_heavy_3 - modules = { - fixed_ship_battery_slot = ship_heavy_battery - fixed_ship_fire_control_system_slot = ship_fire_control_system - fixed_ship_radar_slot = ship_radar - fixed_ship_engine_slot = heavy_ship_engine - fixed_ship_armor_slot = ship_armor_bb_3 - fixed_ship_secondaries_slot = ship_secondaries - front_1_custom_slot = ship_anti_air - mid_1_custom_slot = ship_secondaries - mid_2_custom_slot = ship_anti_air - mid_3_custom_slot > empty - rear_1_custom_slot = ship_heavy_battery - } - } - - allowed_modules = { - ship_anti_air - ship_secondaries - ship_airplane_launcher - ship_heavy_battery - ship_radar - ship_fire_control_system - ship_heavy_armor - } - } - capital_battleship_advanced = { - - priority = { - factor = 100 - } - - role_icon_index = 1 - - target_variant = { - match_value = 2250.0 - - type = ship_hull_heavy_3 - modules = { - fixed_ship_battery_slot > ship_heavy_battery_1 - fixed_ship_fire_control_system_slot = ship_fire_control_system - fixed_ship_radar_slot = ship_radar - fixed_ship_engine_slot = heavy_ship_engine - fixed_ship_armor_slot > ship_armor_bb_2 - fixed_ship_secondaries_slot = ship_secondaries - front_1_custom_slot = ship_anti_air - mid_1_custom_slot = ship_secondaries - mid_2_custom_slot = ship_anti_air - mid_3_custom_slot > empty - rear_1_custom_slot > ship_heavy_battery_1 - } - } - - allowed_modules = { - ship_anti_air - ship_secondaries - ship_airplane_launcher - ship_heavy_battery - ship_radar - ship_fire_control_system - ship_heavy_armor - } - } -} - -naval_capital_bc = { - category = naval - - blocked_for = { - } - - available_for = { - } - - roles = { - naval_capital_bc - } - - priority = { - factor = 1 - } - - battlecruiser_early = { - - priority = { - factor = 1 - } - - role_icon_index = 1 - - target_variant = { - match_value = 1000.0 - - type = ship_hull_heavy_1 - modules = { - fixed_ship_battery_slot = ship_heavy_battery_1 - fixed_ship_fire_control_system_slot = ship_fire_control_system - fixed_ship_engine_slot = heavy_ship_engine_1 - fixed_ship_armor_slot = ship_armor_bc_1 - fixed_ship_secondaries_slot = ship_secondaries - front_1_custom_slot = empty - mid_1_custom_slot = ship_secondaries - mid_2_custom_slot = empty - rear_1_custom_slot = ship_heavy_battery_1 - } - } - - allowed_modules = { - ship_anti_air - ship_secondaries - ship_airplane_launcher - ship_heavy_battery - ship_radar - ship_fire_control_system - ship_heavy_armor - } - } - battlecruiser_early_aa_upgrade = { - - priority = { - factor = 1 - modifier = { - factor = 100 - has_war = yes - has_navy_size = { - unit = battle_cruiser - size > 0 # at least one BC built - } - } - } - - role_icon_index = 1 - - target_variant = { - match_value = 1250.0 - - type = ship_hull_heavy_1 - modules = { - fixed_ship_battery_slot = ship_heavy_battery_1 - fixed_ship_fire_control_system_slot = ship_fire_control_system - fixed_ship_engine_slot = heavy_ship_engine_1 - fixed_ship_armor_slot = ship_armor_bc_1 - fixed_ship_secondaries_slot = ship_secondaries - front_1_custom_slot = ship_anti_air - mid_1_custom_slot = ship_secondaries - mid_2_custom_slot = ship_anti_air - rear_1_custom_slot = ship_heavy_battery_1 - } - } - - allowed_modules = { - ship_anti_air - ship_secondaries - ship_airplane_launcher - ship_heavy_battery - ship_radar - ship_fire_control_system - ship_heavy_armor - } - } - battlecruiser_improved = { - - priority = { - factor = 1 - modifier = { - factor = 0 - is_major = yes #we don't deal with such nonsense - } - } - - role_icon_index = 1 - - target_variant = { - match_value = 1500.0 - - type = ship_hull_heavy - modules = { - fixed_ship_battery_slot > ship_heavy_battery_1 - fixed_ship_fire_control_system_slot = ship_fire_control_system - fixed_ship_engine_slot > heavy_ship_engine_1 - fixed_ship_armor_slot > ship_armor_bc_1 - fixed_ship_secondaries_slot = ship_secondaries - front_1_custom_slot = ship_anti_air - mid_1_custom_slot = ship_secondaries - mid_2_custom_slot = ship_anti_air - rear_1_custom_slot = ship_airplane_launcher - } - } - - allowed_modules = { - ship_anti_air - ship_secondaries - ship_airplane_launcher - ship_heavy_battery - ship_radar - ship_fire_control_system - ship_heavy_armor - } - } -} - -naval_carrier = { - category = naval - - blocked_for = { - } - - available_for = { - } - - roles = { - naval_carrier - } - - priority = { - factor = 10 - modifier = { - factor = 50 - is_major = yes - } - modifier = { - num_of_naval_factories > 50 - factor = 10 - } - } - - carrier_early = { - - priority = { - factor = 100 - - } - - role_icon_index = 7 - - target_variant = { - match_value = 1000.0 - - type = ship_hull_carrier - modules = { - fixed_ship_deck_slot_1 = ship_deck_space - fixed_ship_deck_slot_2 = ship_deck_space - fixed_ship_anti_air_slot = ship_anti_air - fixed_ship_engine_slot = carrier_ship_engine_1 - fixed_ship_secondaries_slot = empty - front_1_custom_slot = empty - } - } - - allowed_modules = { - ship_secondaries - ship_anti_air - ship_fire_control_system - cruiser_ship_engine - heavy_ship_engine - carrier_ship_engine - ship_radar - ship_deck_space - ship_carrier_armor - } - } - - carrier_basic = { - - priority = { - factor = 1 - modifier = { - factor = 50 - is_major = yes - } - } - - role_icon_index = 7 - - target_variant = { - match_value = 1250.0 - - type = ship_hull_carrier_1 - modules = { - fixed_ship_deck_slot_1 = ship_deck_space - fixed_ship_deck_slot_2 = ship_deck_space - fixed_ship_anti_air_slot = ship_anti_air - fixed_ship_engine_slot = carrier_ship_engine_1 - fixed_ship_secondaries_slot = empty - front_1_custom_slot = ship_deck_space - } - } - - allowed_modules = { - ship_secondaries - ship_anti_air - ship_fire_control_system - carrier_ship_engine - ship_radar - ship_deck_space - ship_carrier_armor - } - } - - carrier_improved = { - - priority = { - factor = 1 - modifier = { - factor = 50 - is_major = yes - } - } - - role_icon_index = 7 - - target_variant = { - match_value = 1500.0 - - type = ship_hull_carrier_2 - modules = { - fixed_ship_deck_slot_1 = ship_deck_space - fixed_ship_deck_slot_2 = ship_deck_space - fixed_ship_anti_air_slot = ship_anti_air - fixed_ship_engine_slot = carrier_ship_engine - fixed_ship_secondaries_slot > empty - front_1_custom_slot = ship_deck_space - mid_1_custom_slot = ship_deck_space - } - } - - allowed_modules = { - ship_secondaries - ship_anti_air - ship_fire_control_system - carrier_ship_engine - ship_radar - ship_deck_space - ship_carrier_armor - } - } - carrier_advanced = { - - priority = { - factor = 1 - modifier = { - factor = 1 - } - } - - role_icon_index = 7 - - target_variant = { - match_value = 1750.0 - - type = ship_hull_carrier_3 - modules = { - fixed_ship_deck_slot_1 = ship_deck_space - fixed_ship_deck_slot_2 = ship_deck_space - fixed_ship_anti_air_slot = ship_anti_air - fixed_ship_engine_slot = carrier_ship_engine - fixed_ship_secondaries_slot = ship_secondaries - front_1_custom_slot = ship_deck_space - mid_1_custom_slot = ship_deck_space - } - } - - allowed_modules = { - ship_secondaries - ship_anti_air - ship_fire_control_system - carrier_ship_engine - ship_radar - ship_deck_space - ship_carrier_armor - } - } -} - -naval_submarine = { - category = naval - - blocked_for = { - } - - available_for = { - } - - roles = { - naval_submarine - } - - priority = { - factor = 4 - } - - submarine_early = { - - priority = { - factor = 1 - modifier = { - factor = 1 - } - } - - role_icon_index = 6 - - target_variant = { - match_value = 1000.0 - - type = ship_hull_submarine - modules = { - fixed_ship_engine_slot = sub_ship_engine_1 - fixed_ship_torpedo_slot = ship_torpedo_sub_1 - rear_1_custom_slot = empty - } - } - - allowed_modules = { - ship_torpedo_sub - sub_ship_engine - ship_mine_layer_sub - ship_sub_snorkel - ship_radar - } - } - submarine_basic = { - - priority = { - factor = 1 - modifier = { - factor = 1 - } - } - - role_icon_index = 6 - - target_variant = { - match_value = 1250.0 - - type = ship_hull_submarine - modules = { - fixed_ship_engine_slot = sub_ship_engine_1 - fixed_ship_torpedo_slot = ship_torpedo_sub_1 - rear_1_custom_slot = ship_torpedo_sub_1 - } - } - - allowed_modules = { - ship_torpedo_sub - sub_ship_engine - ship_mine_layer_sub - ship_sub_snorkel - ship_radar - } - } - submarine_improved = { - - priority = { - factor = 1 - modifier = { - factor = 1 - } - } - - role_icon_index = 6 - - target_variant = { - match_value = 1500.0 - - type = ship_hull_submarine - modules = { - fixed_ship_engine_slot = sub_ship_engine_1 - fixed_ship_torpedo_slot = ship_torpedo_sub - front_1_custom_slot = empty - mid_1_custom_slot = { any_of = { ship_radar ship_sub_snorkel } } - rear_1_custom_slot = ship_torpedo_sub - } - } - - allowed_modules = { - ship_sub_snorkel - ship_torpedo_sub - sub_ship_engine - ship_mine_layer_sub - ship_radar - } - } - submarine_advanced = { - - priority = { - factor = 1 - modifier = { - factor = 1 - } - } - - role_icon_index = 6 - - target_variant = { - match_value = 1750.0 - - type = ship_hull_submarine - modules = { - fixed_ship_engine_slot = sub_ship_engine - fixed_ship_torpedo_slot = ship_torpedo_sub - front_1_custom_slot = ship_torpedo_sub - mid_1_custom_slot = { any_of = { ship_sub_snorkel ship_radar } } - rear_1_custom_slot = ship_torpedo_sub - } - } - - allowed_modules = { - ship_torpedo_sub - sub_ship_engine - ship_mine_layer_sub - ship_sub_snorkel - ship_radar - } - } -} - -naval_mine_sweeper = { - category = naval - - blocked_for = { - } - - available_for = { - } - - roles = { - naval_mine_sweeper - } - - priority = { - factor = 200 - modifier = { - factor = 5 - has_war = yes - } - } - - mine_sweeper_light_early = { # base variant - - priority = { - factor = 100 - modifier = { - factor = 10 - is_major = no - } - } - enable = { always = no } - role_icon_index = 5 - - target_variant = { - match_value = 1000.0 - - type = ship_hull_light_1 - modules = { - rear_1_custom_slot = ship_mine_sweeper_1 - fixed_ship_battery_slot = ship_light_battery_1 - fixed_ship_engine_slot = light_ship_engine_1 - fixed_ship_torpedo_slot = empty - fixed_ship_anti_air_slot = ship_anti_air - } - } - requirements = { - module = ship_mine_sweeper_1 - } - allowed_modules = { - ship_mine_warfare - ship_light_battery - ship_anti_air - ship_depth_charge - ship_fire_control_system - light_ship_engine - ship_radar - ship_sonar - } - } - mine_sweeper_light_late = { #improved variant for late war - - priority = { - factor = 100 - modifier = { - factor = 10 - is_major = no - } - } - - enable = { - always = no - } - - role_icon_index = 5 - - target_variant = { - match_value = 1000.0 - - type = ship_hull_light_1 - modules = { - rear_1_custom_slot = ship_mine_sweeper_1 - mid_1_custom_slot = ship_mine_sweeper_1 - fixed_ship_battery_slot = { - any_of = { dp_light_battery ship_light_battery_1 } - upgrade > current - } - fixed_ship_engine_slot = light_ship_engine_1 - fixed_ship_torpedo_slot = empty - fixed_ship_anti_air_slot = ship_anti_air - } - } - - requirements = { - module = ship_mine_sweeper_1 - } - allowed_modules = { - ship_mine_sweeper_1 - ship_mine_warfare - ship_anti_air - ship_light_battery - ship_depth_charge - ship_fire_control_system - light_ship_engine - ship_radar - ship_sonar - } - } -} - -naval_mine_layer = { - category = naval - - blocked_for = { - } - - available_for = { - } - - roles = { - naval_mine_layer - } - - priority = { - factor = 3 - modifier = { - factor = 5 - has_war = yes - } - modifier = { - is_major = no - factor = 5 - } - } - - mine_layer_light = { - - priority = { - factor = 10 - modifier = { - factor = 10 - num_of_naval_factories < 25 #not a major naval power - } - } - - role_icon_index = 4 - - target_variant = { - match_value = 1000.0 - - type = ship_hull_light - modules = { - rear_1_custom_slot = ship_mine_layer_1 - fixed_ship_engine_slot = light_ship_engine_1 - fixed_ship_battery_slot = ship_light_battery_1 - fixed_ship_torpedo_slot = empty - fixed_ship_fire_control_system_slot = ship_fire_control_system - fixed_ship_radar_slot = { - any_of = { ship_sonar ship_radar } - } - fixed_ship_anti_air_slot = ship_anti_air - } - } - - requirements = { - module = ship_mine_layer_1 - } - allowed_modules = { - ship_mine_layer_1 - ship_anti_air - ship_light_battery - ship_fire_control_system - light_ship_engine - ship_torpedo - ship_radar - ship_sonar - ship_depth_charge - } - } - mine_layer_cruiser = { - - priority = { - factor = 10 - modifier = { - factor = 10 - num_of_naval_factories > 24 - } - } - - role_icon_index = 4 - - target_variant = { - match_value = 2000.0 - - type = ship_hull_cruiser - modules = { - rear_1_custom_slot = ship_mine_layer_1 - mid_2_custom_slot = ship_mine_layer_1 - fixed_ship_engine_slot < cruiser_ship_engine_3 - fixed_ship_battery_slot = { - any_of = { ship_light_battery } - upgrade > current - } - fixed_ship_secondaries_slot = empty - fixed_ship_armor_slot = empty - fixed_ship_anti_air_slot = ship_anti_air - } - } - - requirements = { - module = ship_mine_layer_1 - } - allowed_modules = { - ship_mine_layer_1 - ship_light_battery - ship_anti_air - ship_fire_control_system - cruiser_ship_engine - ship_radar - ship_sonar - } - } -} diff --git a/common/ai_focuses/GON.txt b/common/ai_focuses/GON.txt index f8aa9fee4..d4559d3e0 100644 --- a/common/ai_focuses/GON.txt +++ b/common/ai_focuses/GON.txt @@ -1,16 +1,6 @@ ai_historical_focus_list_GON = { ai_national_focuses = { - honorisildurslegacy - prepareforwarwithmordor - buildupdefensesatosgiliath - antinazgulmeasures - lightthebeacons - restorethekingdom - declarearagorntherightfulheir - seekoutthespookyghosts - getridofdenethor - invitearagornintominastirith - crownaragornkingofgondor + } } diff --git a/common/ai_focuses/LTH.txt b/common/ai_focuses/LTH.txt index 9310212b3..426283eed 100644 --- a/common/ai_focuses/LTH.txt +++ b/common/ai_focuses/LTH.txt @@ -1,8 +1,40 @@ ai_historical_focus_list_LTH = { ai_national_focuses = { - thefateoflothlorien - acknowledgethemordorthreat - prioritizeselfpreservation + lth_acknowledgethemordorthreat + lth_immortalendurance + lth_preservationofknowledge + lth_thelibraryofcarasgaladhon + lth_limitedintervention + lth_aegisoflight + lth_deterrence + lth_maintainstabilityinthewest + lth_sendaidtohelmsdeep + lth_bideourtime + + lth_territorialadministration + lth_sacredtreesofthenhail + lth_mallorntreearchiotecture + lth_conscecratecarasgaladhon + lth_conscecratecerinamroth + lth_thetwinheartsoflothlorien + lth_impregnablefortresses + lth_resourcestorage + lth_territorialdefense + lth_guardiansoftheriveranduin + lth_strengthenfortifications + lth_defensiveperimeter + + lth_elvenknowledge + lth_echoesoftheeldendays + lth_thearchivesofagespast + lth_cryptsofmemory + + lth_ensurefoodsecurity + + lth_thecallofvalinor + lth_offerpassagetothehalflings + lth_thetwilightgarden + lth_thelasteldar } } diff --git a/common/ai_focuses/generic.txt b/common/ai_focuses/generic.txt index 828d96640..f413f6239 100644 --- a/common/ai_focuses/generic.txt +++ b/common/ai_focuses/generic.txt @@ -2,100 +2,90 @@ ai_focus_defense = { research = { defensive = 5.0 - radar_tech = 1.0 - construction_tech = 2.0 - artillery = 2.0 + lotr_labour_construction = 2.0 + lotr_infantry_archery = 2.0 + lotr_infantry_weapons = 2.0 + lotr_infantry = 2.0 + lotr_infantry_supportweapons = 2.0 + lotr_support_tech = 1.0 } } ai_focus_aggressive = { research = { offensive = 5.0 - synth_resources = 1.0 - motorized_equipment = 2.0 - armor = 2.0 + lotr_infantry_archery = 2.0 + lotr_infantry_weapons = 2.0 + lotr_infantry = 1.0 + lotr_elven_secrets_bow = 1.0 } } ai_focus_war_production = { research = { - industry = 10.0 - construction_tech = 2.0 - electronics = 2.0 - computing_tech = 2.0 + lotr_labour_construction_industry = 10.0 + lotr_labour_construction = 2.0 + lotr_infantry_archery = 2.0 + lotr_infantry_weapons = 2.0 + lotr_support_tech = 1.0 } } ai_focus_military_equipment = { research = { - infantry_weapons = 50.0 - infantry_tech = 15.0 - artillery = 8.0 - support_tech = 6.5 + lotr_support_tech = 2.0 + lotr_infantry_archery = 2.0 + lotr_infantry_weapons = 2.0 + lotr_infantry = 1.0 + lotr_cavalry = 1.0 + lotr_elven_secrets_bow = 1.0 + lotr_machines = 1.0 } } ai_focus_military_advancements = { research = { - armor = 10.0 - jet_technology = 5.0 + lotr_cavalry = 2.0 land_doctrine = 100.0 - rocketry = 7.5 - radar_tech = 3.0 - encryption_tech = 7.5 - decryption_tech = 7.5 - synth_resources = 3.0 - motorized_equipment = 4.0 - nuclear = 5.0 - night_vision = 5.0 - train_tech = 5.0 + lotr_infantry_archery = 2.0 + lotr_infantry_weapons = 2.0 + lotr_infantry = 1.0 + lotr_knowledge_scriptorium = 1.0 } } ai_focus_peaceful = { research = { - industry = 15.0 - construction_tech = 5.0 - electronics = 10.0 - computing_tech = 10.0 + lotr_labour_construction_industry = 10.0 + lotr_labour_construction = 10.0 + lotr_knowledge_alchemy = 10.0 + lotr_labour_metalworking = 15.0 + lotr_knowledge_scriptorium = 10.0 + lotr_labour = 1.0 + lotr_knowledge = 1.0 + lotr_men_secrets = 1.0 + lotr_elven_secrets = 1.0 + lotr_orcs_secrets = 1.0 + lotr_dwarven_secrets = 1.0 } } ai_focus_naval = { research = { - naval_equipment = 5.0 - naval_doctrine = 100.0 - marine_tech = 10.0 - dd_tech = 3.0 - cl_tech = 3.0 - ca_tech = 3.0 - bc_tech = 3.0 - bb_tech = 3.0 - shbb_tech = 3.0 - tp_tech = 3.0 - cv_tech = 3.0 - ss_tech = 3.0 + lotr_sailing = 10.0 } } ai_focus_naval_air = { research = { - naval_air = 4.0 - naval_bomber = 3.0 + lotr_eagles = 10.0 + lotr_fellbeasts = 10.0 } } ai_focus_aviation = { research = { - air_doctrine = 50.0 - light_air = 20.0 - light_fighter = 20.0 - jet_technology = 1.0 - cas_bomber = 2.0 - medium_air = 4.0 - tactical_bomber = 5.0 - heavy_air = 1.5 - air_equipment = 5.0 - para_tech = 10 + lotr_eagles = 10.0 + lotr_fellbeasts = 10.0 } } \ No newline at end of file diff --git a/common/ai_peace/1_communist.txt b/common/ai_peace/1_communist.txt index 1c2ce6c84..403bfc532 100644 --- a/common/ai_peace/1_communist.txt +++ b/common/ai_peace/1_communist.txt @@ -108,7 +108,6 @@ communist_peace = { } } OR = { - FROM = { capital_scope = { is_on_continent = europe } } NOT = { FROM = { any_owned_state = { diff --git a/common/ai_peace/1_democratic.txt b/common/ai_peace/1_democratic.txt index 4349b8de2..e5298bbeb 100644 --- a/common/ai_peace/1_democratic.txt +++ b/common/ai_peace/1_democratic.txt @@ -408,21 +408,6 @@ cooperative_peace = { } } } - modifier = { #Only European states with african colonies or middle eastern states should take anything in africa - factor = 0 - NOT = { - capital_scope = { - OR = { - AND = { - is_on_continent = europe - owner = { any_owned_state = { is_on_continent = africa } } - } - is_on_continent = middle_east - } - } - } - FROM = { is_on_continent = africa } - } modifier = { #Only take claimed/core land if a puppet. factor = 0 is_puppet = yes diff --git a/common/ai_peace/1_fascist.txt b/common/ai_peace/1_fascist.txt index 37b8cb017..2ea1e4611 100644 --- a/common/ai_peace/1_fascist.txt +++ b/common/ai_peace/1_fascist.txt @@ -129,39 +129,6 @@ fascist_peace = { #} } } - modifier = { #Deter expansion outside of continent - puppet on continent first - factor = 0.1 - OR = { - AND = { - capital_scope = { is_on_continent = europe } - NOT = { FROM = { capital_scope = { is_on_continent = europe } } } - } - AND = { - capital_scope = { is_on_continent = north_america } - NOT = { FROM = { capital_scope = { is_on_continent = north_america } } } - } - AND = { - capital_scope = { is_on_continent = south_america } - NOT = { FROM = { capital_scope = { is_on_continent = south_america } } } - } - AND = { - capital_scope = { is_on_continent = australia } - NOT = { FROM = { capital_scope = { is_on_continent = australia } } } - } - AND = { - capital_scope = { is_on_continent = africa } - NOT = { FROM = { capital_scope = { is_on_continent = africa } } } - } - AND = { - capital_scope = { is_on_continent = asia } - NOT = { FROM = { capital_scope = { is_on_continent = asia } } } - } - AND = { - capital_scope = { is_on_continent = middle_east } - NOT = { FROM = { capital_scope = { is_on_continent = middle_east } } } - } - } - } modifier = { #Not if we or a faction member have a stated interest to wipe them off the map factor = 0 diff --git a/common/ai_strategy/GON.txt b/common/ai_strategy/GON.txt new file mode 100644 index 000000000..1f8e66967 --- /dev/null +++ b/common/ai_strategy/GON.txt @@ -0,0 +1,22 @@ +GON_default_strategy = { + enable = { + always = yes + } + allowed = { + original_tag = GON + } + + abort_when_not_enabled = yes + + ai_strategy = { + type = prepare_for_war + id = MOR + value = 50 + } + + ai_strategy = { + type = contain + id = MOR + value = 50 + } +} diff --git a/common/ai_strategy/LTH.txt b/common/ai_strategy/LTH.txt new file mode 100644 index 000000000..42d45dce0 --- /dev/null +++ b/common/ai_strategy/LTH.txt @@ -0,0 +1,128 @@ +LTH_prioritize_homeland = { + enable = { + always = yes + } + allowed = { + original_tag = LTH + } + + abort_when_not_enabled = yes + + ai_strategy = { + type = area_priority + id = hollin + value = 50 + } +} + +LTH_build_civs_in_caras = { + enable = { + has_war = no + threat < 0.5 # Things are getting too hot, time to build mils + } + allowed = { + original_tag = LTH + } + + abort_when_not_enabled = yes + + ai_strategy = { + type = build_building + id = industrial_complex + target = 75 + value = 15 # Get *at least* 12 civs into state 75 first, that way we can get the most out of the "twin hearts" focus + } + + ai_strategy = { + type = factory_build_score_factor + target = 75 + value = 100 + } + + ai_strategy = { + type = building_target + id = industrial_complex + value = 23 + } +} + +LTH_build_mils_in_amroth = { + enable = { + OR = { + 75 = { check_variable = { industrial_complex_level > 12 } } + has_war = yes + threat > 0.49 + } + } + allowed = { + original_tag = LTH + } + + abort_when_not_enabled = yes + + ai_strategy = { + type = build_building + id = arms_factory + target = 222 + value = 50 # as many as will fit + } + + ai_strategy = { + type = factory_build_score_factor + target = 222 + value = 50 + } + + ai_strategy = { + type = building_target + id = arms_factory + value = 20 + } +} + +LTH_oath_of_feanor = { + enable = { + has_completed_focus = lth_theoathoffeanor + } + allowed = { + original_tag = LTH + } + + abort_when_not_enabled = yes + + ai_strategy = { + type = antagonize + id = MOR + value = -100 + } +} + +LTH_act_aggressively = { + enable = { + has_government = belligerent + is_subject = no + } + allowed = { + original_tag = LTH + } + + abort_when_not_enabled = yes + + ai_strategy = { + type = consider_weak + id = MOA + value = 10 + } + + ai_strategy = { + type = consider_weak + id = MOC + value = 10 + } + + ai_strategy = { + type = consider_weak + id = VAL + value = 10 + } +} \ No newline at end of file diff --git a/common/ai_strategy/MOR.txt b/common/ai_strategy/MOR.txt new file mode 100644 index 000000000..c1d20e0b4 --- /dev/null +++ b/common/ai_strategy/MOR.txt @@ -0,0 +1,74 @@ +MOR_default_strategy = { + enable = { + always = yes + } + allowed = { + original_tag = MOR + } + + abort_when_not_enabled = yes + + ai_strategy = { + type = build_building + id = infrastructure + target = 863 + value = 100 + } + ai_strategy = { + type = build_building + id = infrastructure + target = 862 + value = 100 + } + ai_strategy = { + type = build_building + id = infrastructure + target = 861 + value = 100 + } + + ai_strategy = { + type = prepare_for_war + id = GON + value = 50 + } + + ai_strategy = { + type = area_priority + id = erebor + value = -50 + } + + ai_strategy = { + type = area_priority + id = rhovanion + value = -50 + } +} + +MOR_time_to_conquer_gondor = { + enable = { + date > "3022.1.1" + strength_ratio = { + tag = GON + ratio > 2 + } + } + allowed = { + original_tag = MOR + } + + abort_when_not_enabled = yes + + ai_strategy = { + type = antagonize + id = GON + value = -100 + } + + ai_strategy = { + type = conquer + id = GON + value = 100 + } +} \ No newline at end of file diff --git a/common/ai_strategy/default.txt b/common/ai_strategy/default.txt index 1c933f0a9..43782eb2c 100644 --- a/common/ai_strategy/default.txt +++ b/common/ai_strategy/default.txt @@ -1,10 +1,12 @@ # Written by Henrik "Groogy" Hansson # Modified by Daniel "Da9L" Sjöberg -default_unit_production = { #If adding country-unique ones, bear in mind that they STACK +default_unit_production = { + # If adding country-unique ones, bear in mind that they STACK unless excluding countries in the enable enable = { always = yes } + abort_when_not_enabled = yes ai_strategy = { type = role_ratio @@ -58,15 +60,26 @@ default_unit_production = { #If adding country-unique ones, bear in mind that th ai_strategy = { type = unit_ratio id = strategic_bomber - value = 5 + value = 1 } ai_strategy = { type = unit_ratio id = naval_bomber - value = 5 + value = 10 } + ai_strategy = { + type = equipment_production_factor + id = heavy_fighter + value = -40 #Just build a few slowly + } + + ai_strategy = { + type = unit_ratio + id = heavy_fighter + value = 20 + } # Naval unit factors ai_strategy = { @@ -93,6 +106,12 @@ default_unit_production = { #If adding country-unique ones, bear in mind that th value = 15 } + ai_strategy = { + type = equipment_production_min_factories + id = convoy + value = 1 + } + ai_strategy = { type = equipment_production_factor id = fighter @@ -118,6 +137,7 @@ default_role_ratios = { has_dlc = "Man the Guns" } } + abort_when_not_enabled = yes ai_strategy = { type = role_ratio @@ -148,6 +168,7 @@ default_role_ratios = { enable = { has_dlc = "Man the Guns" } + abort_when_not_enabled = yes ai_strategy = { type = role_ratio @@ -210,6 +231,172 @@ default_role_ratios = { } } +default_surplus_management = { + # If we manage to get all equipment we want, keep producing more stuff according to this + enable = { + always = yes # For now, applies to everyone + } + abort_when_not_enabled = yes + + ai_strategy = { + type = equipment_production_surplus_management + id = infantry_equipment + value = 10 + } + + ai_strategy = { + type = equipment_production_surplus_management + id = support_equipment + value = 5 + } + + ai_strategy = { + type = equipment_production_surplus_management + id = artillery_equipment + value = 5 + } + + ai_strategy = { # Potentially move into a "specialization" strategy + type = equipment_production_surplus_management + id = anti_air_equipment + value = 3 + } + + ai_strategy = { # Potentially move into a "specialization" strategy + type = equipment_production_surplus_management + id = anti_tank_equipment + value = 2 + } + + ai_strategy = { + type = equipment_production_surplus_management + id = convoy + value = 5 + } +} + +bba_air_prod_1 = { + + enable = { + always = yes + } + + abort_when_not_enabled = yes + + #Air unit factors + ai_strategy = { + type = unit_ratio + id = fighter + value = 200 + } + + ai_strategy = { + type = equipment_production_factor + id = fighter + value = 10 + } + + ai_strategy = { + type = equipment_production_min_factories + id = fighter + value = 1 + } + + ai_strategy = { + type = unit_ratio + id = cas + value = 20 #because doctrine this = 15 + } + + ai_strategy = { + type = unit_ratio + id = naval_bomber + value = 5 + } + + ai_strategy = { + type = unit_ratio + id = tactical_bomber + value = 10 + } + + ai_strategy = { + type = equipment_production_factor + id = tactical_bomber + value = 5 + } + + ai_strategy = { + type = unit_ratio + id = strategic_bomber + value = 5 + } + + ai_strategy = { + type = equipment_production_factor + id = cas + value = 10 + } + + ai_strategy = { + type = equipment_production_min_factories + id = cas + value = 0 + } + + ai_strategy = { + type = equipment_production_factor + id = strategic_bomber + value = 1 + } + + ai_strategy = { + type = equipment_variant_production_factor + id = large_plane_airframe + value = 0 + } + + ai_strategy = { + type = equipment_production_factor + id = heavy_fighter + value = 1 + } + + ai_strategy = { + type = unit_ratio + id = heavy_fighter + value = 1 + } + + ai_strategy = { + type = unit_ratio + id = cv_fighter + value = 10 + } + + ai_strategy = { + type = unit_ratio + id = cv_naval_bomber + value = 10 + } + +} + +bba_support_boosts = { + + enable = { + is_historical_focus_on = yes + date < 3018.1.1 + } + abort_when_not_enabled = yes + + ai_strategy = { + type = equipment_variant_production_factor + id = support_equipment + value = 15 + } +} + convoy_voy_voy_voy = { enable = { has_dlc = "Man the Guns" @@ -251,7 +438,7 @@ convoy_voy_voy_voy = { ai_strategy = { type = unit_ratio id = convoy - value = 25 + value = 50 } } @@ -315,6 +502,7 @@ default_pp_spend_amount = { enable = { always = yes } + abort_when_not_enabled = yes ai_strategy = { type = pp_spend_amount @@ -344,6 +532,22 @@ default_paratroopers_production = { } } +build_patrol_bombers = { + enable = { + has_dlc = "By Blood Alone" + has_navy_size = { + size > 1 + } + } + abort_when_not_enabled = yes + + ai_strategy = { + type = unit_ratio + id = maritime_patrol_plane + value = 2 + } +} + default_garrison_production = { enable = { ai_wants_divisions > 12 #Massively decreasing the amount of garrison and suppression the AI wants @@ -383,42 +587,27 @@ default_mountaineers_production = { } } -default_marines_production = { - enable = { - ai_wants_divisions > 49 - } - abort = { - ai_wants_divisions < 50 - } - - ai_strategy = { - type = role_ratio - id = marines - value = 0 - } - - ai_strategy = { - type = role_ratio - id = infantry - value = 0 - } -} - -default_mobile_production = { - enable = { - ai_wants_divisions > 11 - has_tech = motorised_infantry - } - abort = { - ai_wants_divisions < 12 - } - - ai_strategy = { - type = role_ratio - id = mobile - value = 2 - } -} +#default_marines_production = { +# enable = { +# NOT = { original_tag = GER } +# ai_wants_divisions > 49 +# } +# abort = { +# ai_wants_divisions < 50 +# } +# +# ai_strategy = { +# type = role_ratio +# id = marines +# value = 0 +# } +# +# #ai_strategy = { +# # type = role_ratio +# # id = infantry +# # value = 0 +# #} +#} default_armored_production = { enable = { @@ -433,12 +622,6 @@ default_armored_production = { id = armor value = 2 } - - ai_strategy = { - type = role_ratio - id = infantry - value = 0 - } } highered_armored_production = { @@ -458,8 +641,9 @@ highered_armored_production = { slightly_naval_focused_nation = { enable = { - always = yes + always = no } + abort_when_not_enabled = yes ai_strategy = { type = unit_ratio @@ -488,8 +672,9 @@ slightly_naval_focused_nation = { more_naval_focused_nation = { enable = { - date > "1941.1.1" #Delaying it by a couple of years + always = no } + abort_when_not_enabled = yes ai_strategy = { type = unit_ratio @@ -521,83 +706,96 @@ default_area_priority = { enable = { always = yes } + abort_when_not_enabled = yes ai_strategy = { type = area_priority - id = europe + id = gondor value = 100 } ai_strategy = { type = area_priority - id = scandinavia + id = forodwaith value = 0 } ai_strategy = { type = area_priority - id = north_america + id = mordor value = 100 } ai_strategy = { type = area_priority - id = south_america + id = enedwaith value = 40 } ai_strategy = { type = area_priority - id = asia + id = rohan value = 75 } ai_strategy = { type = area_priority - id = middle_east + id = harad value = 50 } ai_strategy = { type = area_priority - id = africa + id = rhovanion value = 10 } ai_strategy = { type = area_priority - id = suez + id = erebor value = 50 } ai_strategy = { type = area_priority - id = pacific - value = 50 + id = mirkwood + value = 25 } ai_strategy = { type = area_priority - id = oceania + id = hollin value = 75 } + ai_strategy = { + type = area_priority + id = eriador + value = 25 + } + } -default_area_priority_non_africa = { +default_area_priority_non_east = { enable = { - NOT = { capital_scope = { is_on_continent = africa } } + NOT = { is_eastern = yes } } + abort_when_not_enabled = yes ai_strategy = { type = area_priority - id = africa - value = -70 + id = rhovanion + value = -20 } ai_strategy = { type = area_priority - id = suez - value = -40 + id = rhun + value = -70 + } + ai_strategy = { + type = area_priority + id = harad + value = -70 } } @@ -629,19 +827,123 @@ default_stockpile_management = { ai_strategy = { type = equipment_stockpile_surplus_ratio - value = 35 # double base stockpile #from 25 to 35 + value = 35 # add this to default PRODUCTION_EQUIPMENT_SURPLUS_FACTOR } } +default_market_stockpile_management = { + enable = { + always = yes + # NOT = { original_tag = GER } # commented until actually needs override + } + abort_when_not_enabled = yes + + # Hold your trains there, partner + ai_strategy = { + type = equipment_market_for_sale_threshold + id = train + value = 20 # only start considering selling trains if surplus more than 20 + } + ai_strategy = { + type = equipment_market_min_for_sale + id = train + value = 5 # only put up for sale in chunks of 5 + } + ai_strategy = { + type = equipment_market_for_sale_factor + id = train + value = -50 # put fewer trains up for sale + } + + # Better not put all your boats up for sail + ai_strategy = { + type = equipment_market_for_sale_threshold + id = convoy + value = 100 # only start considering selling convoys if surplus more than 100 + } + ai_strategy = { + type = equipment_market_min_for_sale + id = convoy + value = 30 # only put up for sale in chunks of 5 + } + + # Don't let all your planes just fly out the window. + # Only sell (small) planes if we have more than one airwing in surplus. + ai_strategy = { + type = equipment_market_for_sale_threshold + id = fighter + value = 100 + } + ai_strategy = { + type = equipment_market_for_sale_threshold + id = cas + value = 100 + } + ai_strategy = { + type = equipment_market_for_sale_threshold + id = cv_fighter + value = 100 + } + ai_strategy = { + type = equipment_market_for_sale_threshold + id = cv_cas + value = 100 + } +} + +default_market_stockpile_management_if_at_war = { + enable = { + has_war = yes + # something something preparing for war? + # NOT = { original_tag = GER } # commented until actually needs override + } + abort_when_not_enabled = yes + + # Don't sell stuff that we need for the war + ai_strategy = { + type = equipment_market_for_sale_threshold + id = infantry + value = 20000 + } + ai_strategy = { + type = equipment_market_for_sale_threshold + id = support + value = 6000 + } + ai_strategy = { + type = equipment_market_for_sale_threshold + id = artillery + value = 1000 + } + ai_strategy = { + type = equipment_market_for_sale_threshold + id = fighter + value = 200 + } + ai_strategy = { + type = equipment_market_for_sale_threshold + id = motorized + value = 1000 + } + ai_strategy = { + type = equipment_market_for_sale_threshold + id = train + value = 50 + } + ai_strategy = { + type = equipment_market_for_sale_threshold + id = convoy + value = 50 + } +} dont_build_capitals_if_on_treaty = { enable = { - has_naval_treaty_trigger = yes - always = yes + always = no } abort = { - not = { has_naval_treaty_trigger = yes } + always = yes } ai_strategy = { @@ -662,12 +964,12 @@ dont_build_capitals_if_on_treaty = { } } -DEFAULT_template_design = { +DEFAULT_early_template_design = { enable = { - date < 1940.1.1 + date < 3021.1.1 } abort = { - date > 1940.1.1 + date > 3021.1.1 } ai_strategy = { @@ -713,10 +1015,11 @@ DEFAULT_template_design = { } } -DEFAULT_template_design = { +DEFAULT_midlate_template_design = { enable = { - date > 1940.1.1 + date > 3021.1.1 } + abort_when_not_enabled = yes ai_strategy = { type = template_prio @@ -819,9 +1122,10 @@ build_intelligence_agency_as_major = { is_major = yes OR = { has_war = yes - date > 1938.1.1 + date > 3019.1.1 } } + abort_when_not_enabled = yes ai_strategy = { type = intelligence_agency_usable_factories @@ -832,7 +1136,7 @@ build_intelligence_agency_as_major = { build_intelligence_agency = { enable = { - date > 1940.1.1 + date > 3021.1.1 has_war = no num_of_civilian_factories > 25 } @@ -852,7 +1156,7 @@ build_intelligence_agency = { upgrade_intelligence_agency = { enable = { - date > 1940.1.1 + date > 3021.1.1 num_of_civilian_factories > 50 } abort = { @@ -886,10 +1190,11 @@ upgrade_intelligence_agency_as_spy_master = { } } -addintelligence_agency_normal_upgrade_prio = { +add_intelligence_agency_normal_upgrade_prio = { enable = { always = yes } + abort_when_not_enabled = yes ai_strategy = { type = intelligence_agency_branch_desire_factor @@ -961,6 +1266,7 @@ put_garrisons_on_high_prio = { enable = { always = yes } + abort_when_not_enabled = yes ai_strategy = { type = garrison_reinforcement_priority @@ -968,57 +1274,6 @@ put_garrisons_on_high_prio = { } } -default_spyplanes_production = { - enable = { - has_tech = scout_plane1 - is_major = yes - #OR = { - # has_equipment = { - # scout_plane_equipment > 50 - # } - # has_deployed_air_force_size = { - # size > 50 - # type = scout_plane - # } - #} - } - - abort_when_not_enabled = yes - - ai_strategy = { - type = unit_ratio - id = scout_plane - value = -99 - } - - ai_strategy = { - type = equipment_production_factor - id = scout_plane - value = -99 - } - - ai_strategy = { - type = equipment_production_min_factories - id = scout_plane - value = 1 - } -} - -minors_dont_spy = { - enable = { - has_tech = scout_plane1 - is_major = no - } - - abort_when_not_enabled = yes - - ai_strategy = { - type = unit_ratio - id = scout_plane - value = -10 - } -} - default_produce_floating_harbors = { enable = { is_historical_focus_on = no @@ -1034,3 +1289,5 @@ default_produce_floating_harbors = { value = 10 } } + +### diff --git a/common/ai_strategy/doctrines.txt b/common/ai_strategy/doctrines.txt index 085e986f2..cb00aa66f 100644 --- a/common/ai_strategy/doctrines.txt +++ b/common/ai_strategy/doctrines.txt @@ -1,7 +1,7 @@ stop_making_horsies = { enable = { num_of_factories > 20 - date > 1938.1.1 + date > 3020.1.1 } abort = { always = no @@ -101,7 +101,7 @@ concentrated_fire_plans_ratios = { ai_strategy = { type = role_ratio id = infantry - value = -5 + value = 1 } ai_strategy = { @@ -177,13 +177,13 @@ large_front_operations_ratios = { ai_strategy = { type = role_ratio id = infantry - value = -10 + value = 5 } ai_strategy = { type = role_ratio id = armor - value = 10 + value = 2 } } diff --git a/common/ai_strategy/mordor.txt b/common/ai_strategy/mordor.txt deleted file mode 100644 index 92325fffb..000000000 --- a/common/ai_strategy/mordor.txt +++ /dev/null @@ -1,27 +0,0 @@ -MOR_build_infrastructure = { - enable = { - always = yes - } - allowed = { - original_tag = MOR - } - - ai_strategy = { - type = build_building - id = infrastructure - target = 863 - value = 100 - } - ai_strategy = { - type = build_building - id = infrastructure - target = 862 - value = 100 - } - ai_strategy = { - type = build_building - id = infrastructure - target = 861 - value = 100 - } -} \ No newline at end of file diff --git a/common/ai_strategy/operatives_default.txt b/common/ai_strategy/operatives_default.txt index 5f2798e4f..d88e907d5 100644 --- a/common/ai_strategy/operatives_default.txt +++ b/common/ai_strategy/operatives_default.txt @@ -13,6 +13,7 @@ enable_operative_missions = { enable = { any_operative_leader = { always = yes } } + abort_when_not_enabled = yes ai_strategy = { type = operative_mission diff --git a/common/ai_strategy_plans/GON_strategy_plans.txt b/common/ai_strategy_plans/GON_strategy_plans.txt new file mode 100644 index 000000000..4f1be0017 --- /dev/null +++ b/common/ai_strategy_plans/GON_strategy_plans.txt @@ -0,0 +1,122 @@ +GON_historical_plan = { + name = "Gondor historical plan" + desc = "Historical behavior for Gondor" + + allowed = { + original_tag = GON + } + + enable = { + is_historical_focus_on = yes + } + abort = { + always = no + } + + ai_national_focuses = { + GON_internal_policy_department + GON_reinforce_osgilliath + GON_where_is_the_string + GON_university_of_minas_tirith + + GON_honor_isildurs_legacy + GON_prepare_for_the_king_return + GON_rally_support_from_the_people + GON_limit_denethor_militair_power + + GON_prepare_for_the_growing_theat_north + GON_improve_infrastructure_west + + GON_limit_denethor_political_power + GON_declare_aragorn_the_rightful_heir + + GON_invite_aragorn_to_minas_tirith + GON_crown_aragorn_king + GON_restore_the_kingdom_of_gondor + } + + focus_factors = { + GON_have_boromir_steal_the_ring = 0 + GON_send_faramir_with_the_fellowship = 0 + GON_delegitimize_aragorns_claim = 0 + GON_persuade_aragorn_to_come_to_Gondor = 0 + } +} + +GON_cooperative_unhistorical = { + name = "Gondor cooperative unhistorical" + desc = "" + + allowed = { + original_tag = GON + } + + enable = { + is_historical_focus_on = no + has_country_flag = gameplan_going_cooperative + } + abort = { + always = no + } + + focus_factors = { + GON_delegitimize_aragorns_claim = 0 + } +} + +GON_revolutionary_unhistorical = { + name = "Gondor revolutionary unhistorical" + desc = "" + + allowed = { + original_tag = GON + } + + enable = { + is_historical_focus_on = no + has_country_flag = gameplan_going_revolutionary + } + abort = { + always = no + } + + ai_national_focuses = { + GON_ensure_popular_support + GON_defame_isildurs_lineage + GON_gondor_needs_no_king + GON_purge_the_aristocracy + GON_meritocracy + GON_the_tolfalas_stalemate + GON_prepare_an_invasion_force + GON_the_peoples_fleet + } + + focus_factors = { + GON_delegitimize_aragorns_claim = 2 + GON_purge_the_crown_loyalists = 2 + GON_honor_isildurs_legacy = 0 + GON_the_steward_of_gondor = 0 + } +} + +GON_unaligned_unhistorical = { + name = "Gondor unaligned unhistorical" + desc = "" + + allowed = { + original_tag = GON + } + + enable = { + is_historical_focus_on = no + has_country_flag = gameplan_going_unaligned + } + abort = { + always = no + } + + focus_factors = { + GON_honor_isildurs_legacy = 0 + GON_gondor_needs_no_king = 0 + } +} \ No newline at end of file diff --git a/common/ai_strategy_plans/LTH_strategy_plans.txt b/common/ai_strategy_plans/LTH_strategy_plans.txt new file mode 100644 index 000000000..fd65678aa --- /dev/null +++ b/common/ai_strategy_plans/LTH_strategy_plans.txt @@ -0,0 +1,946 @@ +LTH_base_starts = { + name = "LTH base priorities and strats" + desc = "Because of the faction traits, ai-controled LTH likes to neglect their laws. This is meant to counteract that." + + allowed = { + original_tag = LTH + } + + enable = { + always = yes + } + + ideas = { + medium_taxes = 15 + high_taxes = 15 + volunteer_service = 15 + limited_levy = 15 + moderate_centralization = 15 + strong_centralization = 15 + } + + traits = { + # Stop getting ship-advisors ya landlocked dingus + sailing_ships_expert = 0 + naval_battle_expert = 0 + commerce_raiding_expert = 0 + + # For some reason the AI loves some of the shittier army_chiefs, so here's a boost to the more sensible ones + army_chief_defensive_2 = 10 + army_chief_offensive_2 = 10 + army_chief_morale_1 = 0 + army_chief_morale_2 = 0 + army_chief_morale_3 = 0 + + # NOTE: ^ This doesn't work that well, lol + } +} + +LTH_get_cores = { + name = "Get cores LTH" + desc = "" + + allowed = { + original_tag = LTH + } + + enable = { + has_war = no + 76 = { has_dynamic_modifier = { modifier = provincial_council_modifier } } + 160 = { has_dynamic_modifier = { modifier = provincial_council_modifier } } + 74 = { has_dynamic_modifier = { modifier = provincial_council_modifier } } + } + abort = { + has_completed_focus = lth_territorialintegration + } + + ai_national_focuses = { + lth_investinnanduhirion + lth_investinparthcelebrant + lth_investintaurhith + lth_localautonomy + lth_reformtaxcollection + lth_territorialintegration + } +} + +LTH_gameplan_deal_with_dol_guldur = { + name = "Lorien deal with dol guldur" + desc = "" + + allowed = { + original_tag = LTH + } + + enable = { + country_exists = DGU + DGU = { has_country_flag = has_raided_lothlorien } + } + abort = { + OR = { + has_completed_focus = lth_forcetheissue + is_ally_with = DGU + DGU = { exists = no } + } + } + + focus_factors = { + lth_territorialadministration = 3 + lth_territorialdefense = 3 + lth_guardiansoftheriveranduin = 3 + lth_patrolsandriverwardens = 3 + lth_preemptivemeasures = 3 + lth_thefortressofdolguldur = 3 + lth_helpmirkwoodwithcontainment = 3 + lth_forcetheissue = 3 + } +} + +LTH_gameplan_limited_intervention = { + name = "Lorien historical" + desc = "Historical behavior for Lothlorien" + + allowed = { + original_tag = LTH + } + + enable = { + OR = { + has_country_flag = gameplan_limited_intervention + has_country_flag = gameplan_historical + } + } + abort = { + always = no + } + + ai_national_focuses = { + lth_acknowledgethemordorthreat + lth_immortalendurance + lth_preservationofknowledge + lth_thelibraryofcarasgaladhon + lth_limitedintervention + lth_bideourtime + lth_aegisoflight + lth_deterrence + lth_maintainstabilityinthewest + lth_sendaidtohelmsdeep + + lth_territorialadministration + lth_sacredtreesofthenhail + lth_mallorntreearchiotecture + lth_conscecratecarasgaladhon + lth_conscecratecerinamroth + lth_thetwinheartsoflothlorien + lth_impregnablefortresses + lth_resourcestorage + lth_territorialdefense + lth_guardiansoftheriveranduin + lth_strengthenfortifications + lth_defensiveperimeter + + lth_elvenknowledge + lth_echoesoftheeldendays + lth_thearchivesofagespast + lth_cryptsofmemory + + lth_ensurefoodsecurity + + lth_thecallofvalinor + lth_offerpassagetothehalflings + lth_thetwilightgarden + lth_thelasteldar + } + + focus_factors = { + lth_preemptivemeasures = 0 + lth_sendaidtominastirith = 0 + + lth_wanderersofnandor = 2 + lth_empowerhaldir = 2 + lth_thenandorheritage = 2 + lth_thesongofnimrodel = 2 + lth_guardiansofthewild = 2 + lth_discovernewrealms = 2 + } + + ideas = { + pedantic_organizer_idea_LTH = 100 + generic_LTH_longterm_planner_treasurer = 100 + } + + traits = { + nandor_intermediate = 3 + nandor_major = 3 + nandor_minor = 3 + + level_headed_financier = 0 + serial_indeptor = 0 + backalley_dealer = 0 + longterm_planner = 100 + + pedantic_organizer = 100 + resultdriven_overseer = 0 + } + + research = { + construction1 = 3 + construction2 = 3 + metalworking = 3 + improved_machine_tools = 3 + } +} + +LTH_gameplan_total_isolation = { + name = "Lorien total isolation" + desc = "" + + allowed = { + original_tag = LTH + } + + enable = { + has_country_flag = gameplan_total_isolation + } + abort = { + always = no + } + + ai_national_focuses = { + lth_territorialadministration + lth_provincialcouncils + + lth_acknowledgethemordorthreat + lth_immortalendurance + lth_preservationofknowledge + lth_thelibraryofcarasgaladhon + + lth_sacredtreesofthenhail + lth_mallorntreearchiotecture + lth_conscecratecarasgaladhon + lth_conscecratecerinamroth + lth_thetwinheartsoflothlorien + + lth_totalisoltation + lth_guardiansofthesilverwood + lth_sealtheborders + lth_thehiddenrealm + lth_endurethedarkness + lth_thelaststand + + lth_impregnablefortresses + lth_resourcestorage + lth_territorialdefense + lth_guardiansoftheriveranduin + lth_strengthenfortifications + lth_defensiveperimeter + lth_ensurefoodsecurity + + lth_elvenknowledge + lth_echoesoftheeldendays + lth_thearchivesofagespast + lth_cryptsofmemory + + lth_investinnanduhirion + lth_investinparthcelebrant + lth_investintaurhith + lth_localautonomy + lth_reformtaxcollection + lth_territorialintegration + + lth_thecallofvalinor + lth_thetwilightgarden + lth_thelasteldar + } + + focus_factors = { + lth_preemptivemeasures = 0 + + lth_wanderersofnandor = 2 + lth_empowerhaldir = 2 + lth_thenandorheritage = 2 + lth_thesongofnimrodel = 2 + lth_guardiansofthewild = 2 + lth_discovernewrealms = 2 + } + + ideas = { + + } + + traits = { + nandor_intermediate = 3 + nandor_major = 3 + nandor_minor = 3 + } + + research = { + construction1 = 3 + construction2 = 3 + metalworking = 3 + improved_machine_tools = 3 + } +} + +LTH_gameplan_cooperative = { + name = "Lorien cooperative" + desc = "" + + allowed = { + original_tag = LTH + } + + enable = { + has_country_flag = gameplan_going_cooperative + } + abort = { + always = no + } + + ai_national_focuses = { + lth_acknowledgethemordorthreat + lth_beaconofhope + + lth_territorialadministration + lth_provincialcouncils + lth_sacredtreesofthenhail + lth_mallorntreearchiotecture + lth_conscecratecarasgaladhon + lth_conscecratecerinamroth + + lth_unitethefactions + lth_alignthenobility + lth_alignthearmy + lth_breakthechainsofisolation + lth_forgealliances + + # Leaving things open to RNG afterwards, to get some variety + } + + focus_factors = { + lth_nurturingthehalfelven = 2 + lth_celebrateperendhillegends = 2 + lth_thechildrenofluthien = 2 + lth_diorthefair = 2 + lth_earendilthemariner = 2 + lth_elrosofnumenor = 2 + lth_elrondtheperedhil = 2 + + lth_wanderersofnandor = 0.5 + lth_empowerhaldir = 0.5 + lth_thenandorheritage = 0.5 + lth_thesongofnimrodel = 0.5 + lth_guardiansofthewild = 0.5 + lth_discovernewrealms = 0.5 + } + + ideas = { + + } + + traits = { + halfelves_intermediate = 3 + halfelves_major = 3 + halfelves_minor = 3 + } + + research = { + + } +} + +LTH_gameplan_belligerent = { + name = "Lorien belligerent regular" + desc = "" + + allowed = { + original_tag = LTH + } + + enable = { + has_country_flag = gamplan_going_belligerent + NOT = { has_country_flag = gameplan_bully_elves } + NOT = { has_country_flag = gameplan_bully_mortals } + NOT = { has_country_flag = gamplan_harmonic_ascendancy } + } + abort = { + always = no + } + + ai_national_focuses = { + lth_acknowledgethemordorthreat + lth_thegreatschism + lth_appointedrepresentatives + lth_ringbearersedicts + lth_consulttheelves + lth_legacyofthenoldor + lth_princessofthenoldor + lth_publiccelebrations + lth_celebornsexile + + lth_theoathoffeanor + + lth_elvensupremacy + lth_purityandbrilliance + + lth_deepknowledge + lth_commemorategondolin + lth_thenoldorelite + lth_thereawakening + lth_atasteofempire + lth_reformmilitaryleadership + } + + focus_factors = { + lth_legacyofthenoldor = 2 + lth_deepknowledge = 2 + lth_theoathoffeanor = 5 + lth_skysoilandwater = 2 + lth_commemorategondolin = 2 + lth_greatestofwarriors = 2 + lth_metalworkandjewellery = 2 + + lth_nurturingthehalfelven = 0.5 + lth_celebrateperendhillegends = 0.5 + lth_thechildrenofluthien = 0.5 + lth_diorthefair = 0.5 + lth_earendilthemariner = 0.5 + lth_elrosofnumenor = 0.5 + lth_elrondtheperedhil = 0.5 + + lth_theonering = 5 + lth_seizetheonering = 5 + + lth_elvenknowledge = 5 + lth_resilienceofnenya = 5 + lth_ringenchantments = 5 + lth_tworingsbecomethone = 5 + lth_echoesoftheeldendays = 5 + lth_thearchivesofagespast = 5 + lth_sauronstoolsturned = 5 + lth_prisonervivisections = 5 + lth_thegiftofservitude = 5 + } + + ideas = { + + } + + traits = { + noldor_intermediate = 3 + noldor_major = 3 + noldor_minor = 3 + } + + research = { + lotr_infantry_archery_bow = 2 + lotr_infantry_weapons = 2 + } +} + +LTH_gameplan_belligerent_bully_elves = { + name = "Lorien belligerent bully elves" + desc = "" + + allowed = { + original_tag = LTH + } + + enable = { + has_country_flag = gamplan_going_belligerent + has_country_flag = gameplan_bully_elves + NOT = { has_country_flag = gamplan_harmonic_ascendancy } + } + abort = { + always = no + } + + ai_national_focuses = { + lth_acknowledgethemordorthreat + lth_thegreatschism + lth_appointedrepresentatives + lth_ringbearersedicts + lth_consulttheelves + lth_legacyofthenoldor + lth_princessofthenoldor + lth_publiccelebrations + lth_celebornsexile + + lth_theoathoffeanor + + lth_elvensupremacy + lth_purityandbrilliance + + lth_deepknowledge + lth_commemorategondolin + lth_thenoldorelite + lth_thereawakening + lth_atasteofempire + lth_reformmilitaryleadership + + lth_safeguardtheelves + lth_turnmirkwood + lth_turnrivendell + lth_turnlindon + lth_atanycost + + # Leaving things open to RNG afterwards, to get some variety + } + + focus_factors = { + lth_legacyofthenoldor = 2 + lth_deepknowledge = 2 + lth_theoathoffeanor = 5 + lth_skysoilandwater = 2 + lth_commemorategondolin = 2 + lth_greatestofwarriors = 2 + lth_metalworkandjewellery = 2 + + lth_nurturingthehalfelven = 0.5 + lth_celebrateperendhillegends = 0.5 + lth_thechildrenofluthien = 0.5 + lth_diorthefair = 0.5 + lth_earendilthemariner = 0.5 + lth_elrosofnumenor = 0.5 + lth_elrondtheperedhil = 0.5 + + lth_theonering = 5 + lth_seizetheonering = 5 + + lth_elvenknowledge = 5 + lth_resilienceofnenya = 5 + lth_ringenchantments = 5 + lth_tworingsbecomethone = 5 + lth_echoesoftheeldendays = 5 + lth_thearchivesofagespast = 5 + lth_sauronstoolsturned = 5 + lth_prisonervivisections = 5 + lth_thegiftofservitude = 5 + } + + ideas = { + + } + + traits = { + noldor_intermediate = 3 + noldor_major = 3 + noldor_minor = 3 + } + + research = { + lotr_infantry_archery_bow = 2 + lotr_infantry_weapons = 2 + } +} + +LTH_gameplan_belligerent_bully_mortals = { + name = "Lorien belligerent bully mortals" + desc = "" + + allowed = { + original_tag = LTH + } + + enable = { + has_country_flag = gamplan_going_belligerent + has_country_flag = gameplan_bully_mortals + NOT = { has_country_flag = gamplan_harmonic_ascendancy } + } + abort = { + always = no + } + + ai_national_focuses = { + lth_acknowledgethemordorthreat + lth_thegreatschism + lth_appointedrepresentatives + lth_ringbearersedicts + lth_consulttheelves + lth_legacyofthenoldor + lth_princessofthenoldor + lth_publiccelebrations + lth_celebornsexile + + lth_theoathoffeanor + + lth_elvensupremacy + lth_purityandbrilliance + + lth_deepknowledge + lth_commemorategondolin + lth_thenoldorelite + lth_thereawakening + lth_atasteofempire + lth_reformmilitaryleadership + + lth_thefateofmortals + lth_tacklethedwarves + lth_tackletherealmsofmen + } + + focus_factors = { + lth_legacyofthenoldor = 2 + lth_deepknowledge = 2 + lth_theoathoffeanor = 5 + lth_skysoilandwater = 2 + lth_commemorategondolin = 2 + lth_greatestofwarriors = 2 + lth_metalworkandjewellery = 2 + + lth_nurturingthehalfelven = 0.5 + lth_celebrateperendhillegends = 0.5 + lth_thechildrenofluthien = 0.5 + lth_diorthefair = 0.5 + lth_earendilthemariner = 0.5 + lth_elrosofnumenor = 0.5 + lth_elrondtheperedhil = 0.5 + + lth_burrythemintheirholes = 10 + lth_acceleratetheinevitable = 10 + + lth_theonering = 5 + lth_seizetheonering = 5 + + lth_elvenknowledge = 5 + lth_resilienceofnenya = 5 + lth_ringenchantments = 5 + lth_tworingsbecomethone = 5 + lth_echoesoftheeldendays = 5 + lth_thearchivesofagespast = 5 + lth_sauronstoolsturned = 5 + lth_prisonervivisections = 5 + lth_thegiftofservitude = 5 + } + + ideas = { + + } + + traits = { + noldor_intermediate = 3 + noldor_major = 3 + noldor_minor = 3 + } + + research = { + lotr_infantry_archery_bow = 2 + lotr_infantry_weapons = 2 + } +} + +LTH_gameplan_revolutionary = { + name = "Lorien revolutionary regular" + desc = "" + + allowed = { + original_tag = LTH + } + + enable = { + has_country_flag = gameplan_going_revolutionary + NOT = { has_country_flag = gamplan_harmonic_ascendancy } + } + abort = { + always = no + } + + ai_national_focuses = { + lth_harmonyofthesindar + lth_refugeofdoriath + + lth_territorialadministration + lth_provincialcouncils + + lth_acknowledgethemordorthreat + lth_thegreatschism + lth_electedrepresentatives + lth_alordsprerogative + lth_theprinceofdoriath + lth_consulttheelves + lth_publiccelebrations + lth_galadrielsfarewell + lth_celebornsascendancy + + lth_celebornsreforms + lth_thedissolutionoftheelvennobility + + lth_theuntreadedpath + lth_thesupremeleader + lth_unityindivision + + # leaving things open + } + + focus_factors = { + lth_legacyofthenoldor = 0.5 + lth_deepknowledge = 0.5 + lth_theoathoffeanor = 0.5 + lth_skysoilandwater = 0.5 + lth_commemorategondolin = 0.5 + lth_greatestofwarriors = 0.5 + lth_metalworkandjewellery = 0.5 + + lth_harmonyofthesindar = 2 + lth_refugeofdoriath = 2 + lth_wisdomofeluthingol = 2 + lth_thegirdleofmelian = 2 + lth_affiliatewithlindon = 2 + } + + ideas = { + + } + + traits = { + sindar_intermediate = 3 + sindar_major = 3 + sindar_minor = 3 + } + + research = { + lotr_infantry_weapons = 2 + lotr_labour_construction = 2 + } +} + +LTH_gameplan_harmonic_ascendandy = { + name = "Lorien harmonic ascendancy" + desc = "" + + allowed = { + original_tag = LTH + } + + enable = { + has_country_flag = gamplan_harmonic_ascendancy + } + abort = { + always = no + } + + ai_national_focuses = { + lth_territorialadministration + lth_provincialcouncils + + lth_acknowledgethemordorthreat + lth_thegreatschism + lth_electedrepresentatives + lth_alordsprerogative + lth_consulttheelves + lth_territorialadministration + lth_sacredtreesofthenhail + lth_publiccelebrations + lth_mendtheschism + lth_harmonicascendancy + lth_ancestralechoesintandem + lth_celeborngaladrielaccord + + # Leaving things open to RNG afterwards, to get some variety + } + + focus_factors = { + lth_legacyofthenoldor = 2 + lth_deepknowledge = 2 + lth_theoathoffeanor = 5 + lth_skysoilandwater = 2 + lth_commemorategondolin = 2 + lth_greatestofwarriors = 2 + lth_metalworkandjewellery = 2 + + lth_harmonyofthesindar = 2 + lth_refugeofdoriath = 2 + lth_wisdomofeluthingol = 2 + lth_thegirdleofmelian = 2 + lth_affiliatewithlindon = 2 + } + + ideas = { + + } + + traits = { + noldor_intermediate = 3 + noldor_major = 3 + noldor_minor = 3 + sindar_intermediate = 3 + sindar_major = 3 + sindar_minor = 3 + } + + research = { + + } +} + + +LTH_gameplan_rush_ring = { + name = "Lorien rush ring" + desc = "" + + allowed = { + original_tag = LTH + } + + enable = { + has_country_flag = gameplan_rush_ring + } + abort = { + has_completed_focus = lth_requestaseatonelrondscouncil + } + + ai_national_focuses = { + lth_theonering + lth_requestaseatonelrondscouncil + } +} + +LTH_gameplan_rush_moria = { + name = "Lorien rush moria" + desc = "" + + allowed = { + original_tag = LTH + } + + enable = { + has_country_flag = gameplan_rush_moria + } + abort = { + always = no + } + + ai_national_focuses = { + lth_territorialadministration + lth_territorialdefense + lth_preemptivemeasures + lth_theminesofmoria + lth_liftthelawofisolation + lth_cleansethetunnels + lth_trackdowndurinsbane + } +} + +LTH_gameplan_rush_vales = { + name = "Lorien rush vales" + desc = "" + + allowed = { + original_tag = LTH + } + + enable = { + has_country_flag = gameplan_rush_vale + } + abort = { + always = no + } + + ai_national_focuses = { + lth_territorialadministration + lth_territorialdefense + lth_preemptivemeasures + lth_valesofanduin + } + + focus_factors = { + lth_amostgenerousoffer = 10 + lth_agestureofgoodwill = 10 + lth_northboundinvasion = 10 + lth_cooperationefforts = 10 + } +} + +LTH_get_twin_hearts = { + name = "Twin Hearts LTH" + + allowed = { + original_tag = LTH + } + + enable = { + controls_state = 75 + controls_state = 222 + 75 = { check_variable = { industrial_complex_level > 10 } } + } + abort = { + has_completed_focus = lth_thetwinheartsoflothlorien + } + + ai_national_focuses = { + lth_territorialadministration + lth_sacredtreesofthenhail + lth_mallorntreearchiotecture + lth_conscecratecarasgaladhon + lth_conscecratecerinamroth + lth_thetwinheartsoflothlorien + } + + focus_factors = { + lth_territorialadministration = 10 + lth_sacredtreesofthenhail = 10 + lth_mallorntreearchiotecture = 10 + lth_conscecratecarasgaladhon = 10 + lth_conscecratecerinamroth = 10 + lth_thetwinheartsoflothlorien = 10 + } +} + +LTH_gameplan_white_council = { + name = "Lorien white council" + desc = "" + + allowed = { + original_tag = LTH + } + + enable = { + has_country_flag = gameplan_white_council + } + abort = { + always = no + } + + ai_national_focuses = { + whc_rekindlewhitecouncil + } + + focus_factors = { + whc_rekindlewhitecouncil = 10 + whc_galadrieloflorien = 10 + whc_theladysmight = 10 + whc_sarumanthewise = 2 + whc_thewizardswisdom = 2 + whc_elrondofrivendell = 2 + whc_theinfluenceofrivendell = 2 + whc_gandalfthegrey = 5 + whc_supportofthegreateagles = 5 + whc_oathtothefellowship = 2 + whc_coordinatedresistance = 2 + whc_unitethecause = 10 + } +} + +LTH_gameplan_elven_alliance= { + name = "Lorien elven alliance" + desc = "" + + allowed = { + original_tag = LTH + } + + enable = { + has_country_flag = gameplan_elven_alliance + } + abort = { + always = no + } + + ai_national_focuses = { + ea_theelvenalliance + } + + focus_factors = { + ea_theelvenalliance = 10 + } +} \ No newline at end of file diff --git a/common/ai_strategy_plans/MOR_strategy_plans.txt b/common/ai_strategy_plans/MOR_strategy_plans.txt index 0772f5f18..20a630d30 100644 --- a/common/ai_strategy_plans/MOR_strategy_plans.txt +++ b/common/ai_strategy_plans/MOR_strategy_plans.txt @@ -66,4 +66,46 @@ MOR_historical_plan = { core_rohan demand_alliance } +} + +MOR_belligerent_unhistorical = { + name = "MOR_belligerent_unhistorical" + desc = "" + + allowed = { + original_tag = MOR + } + + enable = { + has_country_flag = gamplan_going_belligerent + is_historical_focus_on = no + } + abort = { + always = no + } + + focus_factors = { + resistsauron = 0 + } +} + +MOR_revolutionary_unhistorical = { + name = "MOR_revolutionary_unhistorical" + desc = "" + + allowed = { + original_tag = MOR + } + + enable = { + has_country_flag = gameplan_going_revolutionary + is_historical_focus_on = no + } + abort = { + always = no + } + + focus_factors = { + submittosauron = 0 + } } \ No newline at end of file diff --git a/common/ai_strategy_plans/generic_strategy_plans.txt b/common/ai_strategy_plans/generic_strategy_plans.txt new file mode 100644 index 000000000..b43372523 --- /dev/null +++ b/common/ai_strategy_plans/generic_strategy_plans.txt @@ -0,0 +1,137 @@ +generic_slow_buildup = { + name = "Generic Slow Buildup" + desc = "Behaviour for AIs with generic focus tree" + + allowed = { + OR = { + tag = CAR + tag = DAL + tag = DOR + tag = ENE + tag = GUN + tag = LIN + tag = RHD + tag = VAL + } + } + + enable = { + has_country_flag = gameplan_slow_buildup + } + abort = { + always = no + } + + ai_national_focuses = { + industrial_effort + construction_effort + construction_effort_2 + infrastructure_effort + construction_effort_3 + generic_construction_effort_4 + infrastructure_effort_2 + extra_tech_slot + } + + research = { + construction1 = 3 + construction2 = 3 + metalworking = 3 + improved_machine_tools = 3 + concentrated_industry = 3 + } + + traits = { + level_headed_financier = 10 + construction_engineer = 10 + ruthless_pillager = 5 + backalley_dealer = 5 + } +} + +generic_fast_rearm = { + name = "Generic Fast Rearm" + desc = "Behaviour for AIs with generic focus tree" + + allowed = { + OR = { + tag = CAR + tag = DAL + tag = DOR + tag = ENE + tag = GUN + tag = LIN + tag = RHD + tag = VAL + } + } + + enable = { + has_country_flag = gameplan_fast_rearm + } + abort = { + always = no + } + + ai_national_focuses = { + industrial_effort + production_effort + production_effort_2 + production_effort_3 + generic_production_effort_4 + army_effort + equipment_effort + } + + research = { + metalworking = 3 + improved_machine_tools = 3 + advanced_machine_tools = 3 + } + + traits = { + military_industrialist = 3 + military_researcher = 3 + military_architect = 10 + } +} + +generic_fast_ideology_switch = { + name = "Generic historical plan" + desc = "Behaviour for AIs with generic focus tree" + + allowed = { + OR = { + tag = CAR + tag = DAL + tag = DOR + tag = ENE + tag = GUN + tag = LIN + tag = RHD + tag = VAL + } + } + + enable = { + has_country_flag = gameplan_fast_ideology_switch + } + abort = { + always = no + } + + focus_factors = { + political_effort = 10 + collectivist_ethos = 10 + nationalism_focus = 10 + internationalism_focus = 10 + liberty_ethos = 10 + } + + traits = { + superiority_preacher = 3 + rabble_rouser = 3 + cautious_stoicist = 3 + benevolent_protector = 3 + } +} \ No newline at end of file diff --git a/common/ai_templates/generic.txt b/common/ai_templates/generic.txt index a182e8d1a..888c532c4 100644 --- a/common/ai_templates/generic.txt +++ b/common/ai_templates/generic.txt @@ -565,10 +565,6 @@ garrison_generic = { weight = 0.9 match_value = 3000.0 - support = { - engineer = 1 - } - regiments = { infantry = 4 } @@ -576,7 +572,6 @@ garrison_generic = { allowed_types = { infantry - engineer } } } @@ -653,18 +648,13 @@ suppression_generic = { weight = 0.9 match_value = 3000.0 - support = { - military_police = 1 - } - regiments = { - cavalry = 6 + infantry = 4 } } allowed_types = { - cavalry - military_police + infantry } } } @@ -982,6 +972,8 @@ mountaineers_generic = { field_hospital logistics_company anti_tank + artillery_brigade + engineer } } } @@ -1076,6 +1068,7 @@ marines_generic = { marine engineer logistics_company + recon } } marine_armored = { diff --git a/common/autonomous_states/colony.txt b/common/autonomous_states/colony.txt index b651ef481..8c7812b8b 100644 --- a/common/autonomous_states/colony.txt +++ b/common/autonomous_states/colony.txt @@ -3,7 +3,7 @@ autonomy_state = { is_puppet = yes - min_freedom_level = 0.60 + min_freedom_level = 0.5 manpower_influence = 0.7 diff --git a/common/autonomous_states/dominion.txt b/common/autonomous_states/dominion.txt deleted file mode 100644 index 705dca667..000000000 --- a/common/autonomous_states/dominion.txt +++ /dev/null @@ -1,54 +0,0 @@ -autonomy_state = { - id = autonomy_dominion - - min_freedom_level = 0.8 - - manpower_influence = 0.2 - - rule = { - desc = "RULE_DESC_IS_A_SUBJECT" - - can_not_declare_war = yes - can_decline_call_to_war = no - can_be_spymaster = yes - } - - modifier = { - autonomy_manpower_share = 0.0 - extra_trade_to_overlord_factor = 0.25 - overlord_trade_cost_factor = -0.25 - } - - ai_subject_wants_higher = { - factor = 0.0 - } - - ai_overlord_wants_lower = { - factor = 1.0 - } - - ai_overlord_wants_garrison = { - always = no - } - - allowed = { - has_dlc = "Together for Victory" - - if = { - limit = { has_dlc = "Death or Dishonor" } - NOT = { has_government = belligerent } - } - } - - can_take_level = { - - } - - can_lose_level = { - if = { - limit = { - - } - } - } -} diff --git a/common/autonomous_states/ea_hegemony_subject.txt b/common/autonomous_states/ea_hegemony_subject.txt new file mode 100644 index 000000000..92b61166e --- /dev/null +++ b/common/autonomous_states/ea_hegemony_subject.txt @@ -0,0 +1,52 @@ +autonomy_state = { + id = autonomy_ea_hegemony_subject + + is_puppet = no + + min_freedom_level = 0.7 + + manpower_influence = 0.7 + + rule = { + desc = "RULE_DESC_IS_A_SUBJECT" + + can_not_declare_war = yes + can_decline_call_to_war = no + can_be_spymaster = no + contributes_operatives = no + can_create_collaboration_government = no + } + + modifier = { + autonomy_manpower_share = 0.7 + can_master_build_for_us = 1 + extra_trade_to_overlord_factor = 0.6 + overlord_trade_cost_factor = -0.6 + cic_to_overlord_factor = 0.25 + autonomy_gain_global_factor = -0.3 + } + + ai_subject_wants_higher = { + factor = 1.0 + } + + ai_overlord_wants_lower = { + factor = 1.0 + } + + ai_overlord_wants_garrison = { + always = no + } + + allowed = { + always = no + } + + can_take_level = { + + } + + can_lose_level = { + #trigger here + } +} diff --git a/common/autonomous_states/fiefdom.txt b/common/autonomous_states/fiefdom.txt new file mode 100644 index 000000000..2fe6c6f2f --- /dev/null +++ b/common/autonomous_states/fiefdom.txt @@ -0,0 +1,49 @@ +autonomy_state = { + id = autonomy_fiefdom + + is_puppet = yes + + min_freedom_level = 0.75 + + manpower_influence = 0.9 + + rule = { + desc = "RULE_DESC_IS_A_SUBJECT" + + can_not_declare_war = yes + can_decline_call_to_war = yes + units_deployed_to_overlord = no + can_be_spymaster = no + contributes_operatives = yes + can_create_collaboration_government = no + } + + modifier = { + can_master_build_for_us = 1 + extra_trade_to_overlord_factor = 1.0 + overlord_trade_cost_factor = -0.9 + cic_to_overlord_factor = 0.25 + mic_to_overlord_factor = 0.25 + license_subject_master_purchase_cost = -1 + } + + ai_subject_wants_higher = { + factor = 1.0 + } + + ai_overlord_wants_lower = { + factor = 0.0 + } + + ai_overlord_wants_garrison = { + always = yes + } + + can_take_level = { + #trigger here + } + + can_lose_level = { + #trigger here + } +} diff --git a/common/autonomous_states/integrated_puppet.txt b/common/autonomous_states/integrated_puppet.txt deleted file mode 100644 index ac545a5c5..000000000 --- a/common/autonomous_states/integrated_puppet.txt +++ /dev/null @@ -1,60 +0,0 @@ -autonomy_state = { - id = autonomy_integrated_puppet - - is_puppet = yes - - min_freedom_level = 0.2 - - manpower_influence = 1.0 - - rule = { - desc = "RULE_DESC_IS_A_SUBJECT" - - can_not_declare_war = yes - can_decline_call_to_war = no - units_deployed_to_overlord = yes - can_be_spymaster = no - contributes_operatives = no - can_create_collaboration_government = no - } - - modifier = { - autonomy_manpower_share = 1.0 - can_master_build_for_us = 1 - extra_trade_to_overlord_factor = 1.0 - overlord_trade_cost_factor = -0.9 - cic_to_overlord_factor = 0.25 - mic_to_overlord_factor = 0.75 - - research_sharing_per_country_bonus_factor = -0.5 - } - - ai_subject_wants_higher = { - factor = 1.0 - } - - ai_overlord_wants_lower = { - factor = 0.0 - } - - ai_overlord_wants_garrison = { - always = yes - } - - allowed = { - has_dlc = "Together for Victory" - - if = { - limit = { has_dlc = "Death or Dishonor" } - NOT = { has_government = belligerent } - } - } - - can_take_level = { - #trigger here - } - - can_lose_level = { - #trigger here - } -} diff --git a/common/autonomous_states/nsb_personal_union.txt b/common/autonomous_states/nsb_personal_union.txt deleted file mode 100644 index 5189d9f9f..000000000 --- a/common/autonomous_states/nsb_personal_union.txt +++ /dev/null @@ -1,55 +0,0 @@ -autonomy_state = { - id = autonomy_personal_union - - is_puppet = yes - - use_overlord_color = yes - - min_freedom_level = 0.0 - - manpower_influence = 1.0 - - #Entirely diplomatically dependent on their overlord, but fairly autonomous in industry - rule = { - desc = "RULE_DESC_IS_A_SUBJECT" - - can_not_declare_war = yes - can_decline_call_to_war = no - units_deployed_to_overlord = no - can_be_spymaster = no - contributes_operatives = yes - can_create_collaboration_government = no - } - - modifier = { - autonomy_manpower_share = 0.0 - - extra_trade_to_overlord_factor = 0.5 - overlord_trade_cost_factor = -0.5 - can_master_build_for_us = 1 - } - - ai_subject_wants_higher = { - factor = 10.0 - } - - ai_overlord_wants_lower = { - factor = 0.0 - } - - allowed_levels_filter = { - autonomy_personal_union - } - - allowed = { - has_dlc = "No Step Back" - OR = { - is_subject = no - has_autonomy_state = autonomy_personal_union - } - } - - can_lose_level = { - always = no - } -} \ No newline at end of file diff --git a/common/autonomous_states/puppet.txt b/common/autonomous_states/puppet.txt index 1d8b05506..085160ece 100644 --- a/common/autonomous_states/puppet.txt +++ b/common/autonomous_states/puppet.txt @@ -23,7 +23,9 @@ autonomy_state = { can_master_build_for_us = 1 extra_trade_to_overlord_factor = 1.0 overlord_trade_cost_factor = -0.9 - + peace_score_ratio_transferred_to_overlord = 0.1 + cic_to_overlord_factor = 0.4 + mic_to_overlord_factor = 0.4 research_sharing_per_country_bonus_factor = -0.5 } diff --git a/common/autonomous_states/reichskommissariat.txt b/common/autonomous_states/reichskommissariat.txt deleted file mode 100644 index ba1ba4d16..000000000 --- a/common/autonomous_states/reichskommissariat.txt +++ /dev/null @@ -1,57 +0,0 @@ -autonomy_state = { - id = autonomy_reichskommissariat - - is_puppet = yes - - min_freedom_level = 0.2 - - manpower_influence = 0.9 - - rule = { - desc = "RULE_DESC_IS_A_SUBJECT" - - can_not_declare_war = yes - can_decline_call_to_war = no - units_deployed_to_overlord = yes - can_be_spymaster = no - contributes_operatives = no - can_create_collaboration_government = no - } - - modifier = { - autonomy_manpower_share = 0.9 - can_master_build_for_us = 1 - conscription_factor = -0.5 - extra_trade_to_overlord_factor = 1.0 - overlord_trade_cost_factor = -0.9 - cic_to_overlord_factor = 0.25 - mic_to_overlord_factor = 0.65 - license_subject_master_purchase_cost = -1 - autonomy_gain_global_factor = -0.3 - } - - ai_subject_wants_higher = { - factor = 1.0 - } - - ai_overlord_wants_lower = { - factor = 0.0 - } - - ai_overlord_wants_garrison = { - always = yes - } - - allowed = { - has_dlc = "Death or Dishonor" - has_government = belligerent - } - - can_take_level = { - #trigger here - } - - can_lose_level = { - #trigger here - } -} diff --git a/common/autonomous_states/reichsprotectorate.txt b/common/autonomous_states/reichsprotectorate.txt deleted file mode 100644 index c9b939a3d..000000000 --- a/common/autonomous_states/reichsprotectorate.txt +++ /dev/null @@ -1,56 +0,0 @@ -autonomy_state = { - id = autonomy_reichsprotectorate - - default = yes - is_puppet = yes - - min_freedom_level = 0.5 - - manpower_influence = 0.7 - - rule = { - desc = "RULE_DESC_IS_A_SUBJECT" - - can_not_declare_war = yes - can_decline_call_to_war = no - can_be_spymaster = no - contributes_operatives = no - can_create_collaboration_government = no - } - - modifier = { - autonomy_manpower_share = 0.7 - can_master_build_for_us = 1 - conscription_factor = -0.25 - extra_trade_to_overlord_factor = 0.6 - overlord_trade_cost_factor = -0.6 - cic_to_overlord_factor = 0.25 - license_subject_master_purchase_cost = -1 - autonomy_gain_global_factor = -0.3 - } - - ai_subject_wants_higher = { - factor = 1.0 - } - - ai_overlord_wants_lower = { - factor = 1.0 - } - - ai_overlord_wants_garrison = { - always = no - } - - allowed = { - has_dlc = "Death or Dishonor" - has_government = belligerent - } - - can_take_level = { - #trigger here - } - - can_lose_level = { - #trigger here - } -} diff --git a/common/autonomous_states/satellite.txt b/common/autonomous_states/satellite.txt deleted file mode 100644 index c3485790d..000000000 --- a/common/autonomous_states/satellite.txt +++ /dev/null @@ -1,48 +0,0 @@ -autonomy_state = { - id = autonomy_satellite - - min_freedom_level = 0.80 - - manpower_influence = 0.5 - - rule = { - desc = "RULE_DESC_IS_A_SUBJECT" - - can_not_declare_war = yes - can_decline_call_to_war = no - can_be_spymaster = no - can_create_collaboration_government = no - } - - modifier = { - autonomy_manpower_share = 0.4 - extra_trade_to_overlord_factor = 0.4 - overlord_trade_cost_factor = -0.4 - license_subject_master_purchase_cost = -1 - autonomy_gain_global_factor = -0.3 - } - - ai_subject_wants_higher = { - factor = 1.0 - } - - ai_overlord_wants_lower = { - factor = 1.0 - } - - ai_overlord_wants_garrison = { - always = no - } - - allowed = { - always = no - } - - can_take_level = { - always = no - } - - can_lose_level = { - always = no - } -} diff --git a/common/autonomous_states/supervised_state.txt b/common/autonomous_states/supervised_state.txt index fd7ccdaea..8d78a8b5c 100644 --- a/common/autonomous_states/supervised_state.txt +++ b/common/autonomous_states/supervised_state.txt @@ -1,7 +1,7 @@ autonomy_state = { id = autonomy_supervised_state - min_freedom_level = 0.75 + min_freedom_level = 0.0 peace_conference_initial_freedom = 0.001 diff --git a/common/autonomous_states/wtt_imperial_associate.txt b/common/autonomous_states/wtt_imperial_associate.txt deleted file mode 100644 index f64a8a79d..000000000 --- a/common/autonomous_states/wtt_imperial_associate.txt +++ /dev/null @@ -1,52 +0,0 @@ -autonomy_state = { - id = autonomy_wtt_imperial_associate - - is_puppet = yes - - min_freedom_level = 0.7 - - manpower_influence = 0.7 - - rule = { - desc = "RULE_DESC_IS_A_SUBJECT" - - can_not_declare_war = yes - can_decline_call_to_war = no - can_be_spymaster = no - contributes_operatives = no - can_create_collaboration_government = no - } - - modifier = { - autonomy_manpower_share = 0.7 - can_master_build_for_us = 1 - extra_trade_to_overlord_factor = 0.6 - overlord_trade_cost_factor = -0.6 - cic_to_overlord_factor = 0.25 - autonomy_gain_global_factor = -0.3 - } - - ai_subject_wants_higher = { - factor = 1.0 - } - - ai_overlord_wants_lower = { - factor = 1.0 - } - - ai_overlord_wants_garrison = { - always = no - } - - allowed = { - always = no - } - - can_take_level = { - - } - - can_lose_level = { - #trigger here - } -} diff --git a/common/autonomous_states/wtt_imperial_protectorate.txt b/common/autonomous_states/wtt_imperial_protectorate.txt deleted file mode 100644 index bdad17c9c..000000000 --- a/common/autonomous_states/wtt_imperial_protectorate.txt +++ /dev/null @@ -1,55 +0,0 @@ -autonomy_state = { - id = autonomy_wtt_imperial_protectorate - - default = yes - is_puppet = yes - - min_freedom_level = 0.2 - - manpower_influence = 0.9 - - rule = { - desc = "RULE_DESC_IS_A_SUBJECT" - - can_not_declare_war = yes - can_decline_call_to_war = no - units_deployed_to_overlord = yes - can_be_spymaster = no - contributes_operatives = no - can_create_collaboration_government = no - } - - modifier = { - autonomy_manpower_share = 0.9 - can_master_build_for_us = 1 - extra_trade_to_overlord_factor = 1.0 - overlord_trade_cost_factor = -0.9 - cic_to_overlord_factor = 0.25 - mic_to_overlord_factor = 0.65 - autonomy_gain_global_factor = -0.3 - } - - ai_subject_wants_higher = { - factor = 1.0 - } - - ai_overlord_wants_lower = { - factor = 0.0 - } - - ai_overlord_wants_garrison = { - always = yes - } - - allowed = { - always = no - } - - can_take_level = { - always = no - } - - can_lose_level = { - #trigger here - } -} diff --git a/common/autonomous_states/wtt_imperial_subject.txt b/common/autonomous_states/wtt_imperial_subject.txt deleted file mode 100644 index 4f2110f32..000000000 --- a/common/autonomous_states/wtt_imperial_subject.txt +++ /dev/null @@ -1,53 +0,0 @@ -autonomy_state = { - id = autonomy_wtt_imperial_subject - - default = yes - is_puppet = no - - min_freedom_level = 0.8 - - manpower_influence = 0.5 - - rule = { - desc = "RULE_DESC_IS_A_SUBJECT" - - can_not_declare_war = no - can_decline_call_to_war = yes - units_deployed_to_overlord = no - can_be_spymaster = no - can_create_collaboration_government = no - } - - modifier = { - autonomy_manpower_share = 0.5 - can_master_build_for_us = 1 - extra_trade_to_overlord_factor = 0.25 - overlord_trade_cost_factor = -0.25 - cic_to_overlord_factor = 0.1 - mic_to_overlord_factor = 0.25 - } - - ai_subject_wants_higher = { - factor = 1.0 - } - - ai_overlord_wants_lower = { - factor = 0.0 - } - - ai_overlord_wants_garrison = { - always = no - } - - allowed = { - always = no - } - - can_take_level = { - always = no - } - - can_lose_level = { - #trigger here - } -} diff --git a/common/bookmarks/war_of_the_ring.txt b/common/bookmarks/war_of_the_ring.txt index 5cb84facd..acc602039 100644 --- a/common/bookmarks/war_of_the_ring.txt +++ b/common/bookmarks/war_of_the_ring.txt @@ -25,8 +25,13 @@ bookmarks = { history = "GON_WAR_OF_THE_RING_DESC" ideology = unaligned ideas = { + GON_kingdom_without_king_0 + GON_weary_armed_forces } focuses = { + GON_crown_aragorn_king + GON_the_steward_of_gondor + GON_gondor_needs_no_king } } @@ -70,8 +75,14 @@ bookmarks = { history = "LTH_WAR_OF_THE_RING_DESC" ideology = unaligned ideas = { + LTH_celeborn_and_galadriel + LTH_decadent_nobility + LTH_isolationist_reservations_3 } focuses = { + lth_harmonicascendancy + lth_theforestbetween + lth_preemtptivedepartures } } diff --git a/common/bop/_test.txt b/common/bop/_test.txt index 94296b45a..623cd7c68 100644 --- a/common/bop/_test.txt +++ b/common/bop/_test.txt @@ -3,7 +3,7 @@ _test_balance = { initial_value = 0.25 left_side = default_left_side right_side = default_right_side -# decision_category = GER_mefo_bills_category + decision_category = GER_mefo_bills_category range = { id = mid_range min = -0.1 diff --git a/common/bop/ring_corruption_bop.txt b/common/bop/ring_corruption_bop.txt new file mode 100644 index 000000000..0897486ec --- /dev/null +++ b/common/bop/ring_corruption_bop.txt @@ -0,0 +1,95 @@ + +ring_corruption_balance = { + + initial_value = 0.0 + + left_side = ring_corruption_good + right_side = ring_corruption_bad + + decision_category = ring_corruption_decisions_bop + + range = { + id = corruption_neutral + min = -0.25 + max = 0.25 + modifier = { + belligerent_drift = 0.03 + } + } + side = { + id = ring_corruption_good + icon = GFX_idea_one_ring + + range = { + id = corruption_good_high + min = -1.0 + max = -0.65 + on_activate = { + MOR = { set_country_flag = fs_disable_corruption_decision } + custom_effect_tooltip = corruption_good_high_tt + } + on_deactivate = { + MOR = { clr_country_flag = fs_disable_corruption_decision } + custom_effect_tooltip = corruption_good_high_off_tt + } + modifier = { + army_attack_factor = 0.1 + army_defence_factor = 0.1 + } + } + range = { + id = corruption_good_low + min = -0.65 + max = -0.25 + modifier = { + army_attack_factor = 0.05 + army_defence_factor = 0.05 + } + } + } + side = { + id = ring_corruption_bad + icon = GFX_idea_sauron_eye + range = { + id = corruption_bad_low + min = 0.25 + max = 0.65 + modifier = { + belligerent_drift = 0.05 + stability_weekly = -0.02 + } + } + range = { + id = corruption_bad_high + min = 0.65 + max = 0.99 + on_activate = { + var:global.fs_ring_owner = { set_country_flag = fs_disable_ring_destruction } + custom_effect_tooltip = corruption_bad_high_tt + + hidden_effect = { + country_event = fs.107 + } + } + on_deactivate = { + var:global.fs_ring_owner = { clr_country_flag = fs_disable_ring_destruction } + custom_effect_tooltip = corruption_bad_high_off_tt + } + modifier = { + belligerent_drift = 0.08 + stability_weekly = -0.03 + } + } + range = { + id = corruption_bad_corrupted + min = 0.99 + max = 1.0 + on_activate = { + ring_give_sauron_ring = yes + } + on_deactivate = { + + } + } + } +} diff --git a/common/characters/ANG.txt b/common/characters/ANG.txt index d6c6cfd80..1d14d6d2e 100644 --- a/common/characters/ANG.txt +++ b/common/characters/ANG.txt @@ -182,7 +182,7 @@ characters={ defense_skill = 1 maneuvering_skill = 8 coordination_skill = 1 - traits = { cold_water_expert } + traits = { arctic_water_expert } } advisor = { idea_token = ANG_jarnwar diff --git a/common/characters/DAM.txt b/common/characters/DAM.txt new file mode 100644 index 000000000..0a9c30ec6 --- /dev/null +++ b/common/characters/DAM.txt @@ -0,0 +1,81 @@ +characters={ + DAM_imrahil={ + name="Prince Imrahil" + portraits={ + civilian={ + large="GFX_portrait_dol_amroth_imrahil" + small="GFX_idea_portrait_dol_amroth_imrahil" + } + } + country_leader={ + ideology=protective + expire="1980.1.1.1" + id=-1 + } + country_leader={ + ideology=isolationist + expire="1980.1.1.1" + id=-1 + } + country_leader={ + ideology=expansionist + expire="1980.1.1.1" + id=-1 + } + country_leader={ + ideology=collectivist + expire="1980.1.1.1" + id=-1 + } + + field_marshal={ + traits={ thorough_planner } + skill=3 + attack_skill=2 + defense_skill=2 + planning_skill=4 + logistics_skill=3 + } + } + DAM_amrothos={ + name="Prince Amrothos" + portraits={ + civilian={ + large="GFX_portrait_dol_amroth_amrothos" + small="GFX_idea_portrait_dol_amroth_amrothos" + } + } + + field_marshal={ + traits={ panzer_leader } + skill=2 + attack_skill=3 + defense_skill=2 + planning_skill=3 + logistics_skill=2 + } + country_leader={ + ideology=isolationist + expire="1980.1.1.1" + id=-1 + } + } + DAM_lothiriel={ + name="Lothíriel" + portraits={ + civilian={ + large="GFX_portrait_dol_amroth_lothiriel" + small="GFX_idea_portrait_dol_amroth_lothiriel" + } + } + advisor = { + idea_token = DAM_lothiriel + slot = political_advisor + cost = 150 + traits = { rohan_ambassador } + available = { + NOT = { has_government = revolutionary } + } + } + } +} \ No newline at end of file diff --git a/common/characters/DGU.txt b/common/characters/DGU.txt index 56d5fa408..201e06a42 100644 --- a/common/characters/DGU.txt +++ b/common/characters/DGU.txt @@ -46,7 +46,7 @@ characters={ DGU_curgadh = { name = "Curgadh" corps_commander={ - traits={ reckless } + traits={ trait_reckless } skill=1 attack_skill=2 defense_skill=1 diff --git a/common/characters/ENE.txt b/common/characters/ENE.txt index e2d36e83d..988125603 100644 --- a/common/characters/ENE.txt +++ b/common/characters/ENE.txt @@ -129,7 +129,7 @@ characters={ } } corps_commander={ - traits={ reckless } + traits={ trait_reckless } skill=2 attack_skill=2 defense_skill=1 diff --git a/common/characters/ENT.txt b/common/characters/ENT.txt index 2686e203d..f4ac4d841 100644 --- a/common/characters/ENT.txt +++ b/common/characters/ENT.txt @@ -34,15 +34,6 @@ characters={ small = "GFX_idea_portrait_entwood_fladrif" } } - corps_commander={ - traits = { } - skill = 2 - attack_skill = 2 - defense_skill = 2 - planning_skill = 3 - logistics_skill = 2 - legacy_id=-1 - } country_leader={ ideology=domineering expire="1980.1.1.1" diff --git a/common/characters/ERE.txt b/common/characters/ERE.txt index 3a578e103..04a9372d8 100644 --- a/common/characters/ERE.txt +++ b/common/characters/ERE.txt @@ -3,8 +3,8 @@ characters={ name="Thorin III Stonehelm" portraits={ army={ - large="GFX_Portrait_Erebor_Thorin" - small = "GFX_Portrait_Erebor_Thorin" + large="GFX_portrait_erebor_thorin" + small = "GFX_idea_portrait_erebor_thorin" } } country_leader={ diff --git a/common/characters/GON.txt b/common/characters/GON.txt index c1895d3bc..30cb1e91f 100644 --- a/common/characters/GON.txt +++ b/common/characters/GON.txt @@ -10,11 +10,13 @@ characters={ ideology=protective expire="1980.1.1.1" id=-1 + traits = { GON_power_hunger } } country_leader={ ideology=isolationist expire="1980.1.1.1" id=-1 + traits = { GON_power_hunger } } } GON_gothmog={ @@ -54,6 +56,29 @@ characters={ } } } + GON_King_Dead = { + name="King of the dead" + portraits={ + army={ + large="GFX_Portrait_Gondor_Dead" + } + } + corps_commander = { + traits = { commando } + skill = 3 + attack_skill = 4 + defense_skill = 3 + planning_skill = 1 + logistics_skill = 4 + legacy_id=-1 + visible = { + has_country_flag = GON_called_on_dead_men_of_dunharrow + NOT = { + has_country_flag = GON_men_of_dunharrow_fullfiled_their_oath + } + } + } + } GON_boromir={ name="Boromir" portraits={ @@ -69,6 +94,9 @@ characters={ defense_skill=4 planning_skill=2 logistics_skill=3 + visible = { + NOT = { has_government = revolutionary } + } } advisor = { idea_token = GON_boromir @@ -76,7 +104,10 @@ characters={ cost = 150 traits = { captain_of_the_tower_guard } available = { - always = yes + NOT = { has_government = revolutionary } + } + visible = { + NOT = { has_government = revolutionary } } } } @@ -95,6 +126,9 @@ characters={ defense_skill=4 planning_skill=2 logistics_skill=2 + visible = { + NOT = { has_government = revolutionary } + } } advisor = { idea_token = GON_faramir @@ -102,7 +136,10 @@ characters={ cost = 150 traits = { captain_of_the_ithilien_rangers } available = { - always = yes + NOT = { has_government = revolutionary } + } + visible = { + NOT = { has_government = revolutionary } } } } @@ -120,7 +157,10 @@ characters={ cost = 150 traits = { warden_of_the_keys } available = { - always = yes + NOT = { has_government = revolutionary } + } + visible = { + NOT = { has_government = revolutionary } } } } @@ -139,6 +179,9 @@ characters={ defense_skill=4 planning_skill=4 logistics_skill=3 + visible = { + NOT = { has_government = revolutionary } + } } advisor = { idea_token = GON_beregond @@ -146,7 +189,10 @@ characters={ cost = 150 traits = { guard_of_the_citadel } available = { - always = yes + NOT = { has_government = revolutionary } + } + visible = { + NOT = { has_government = revolutionary } } } } @@ -196,9 +242,9 @@ characters={ idea_token = GON_mablung slot = high_command cost = 150 - traits = { army_concealment_1 } + traits = { GON_defense_specialist } available = { - always = yes + has_completed_focus = GON_defense_specialist } } } @@ -320,6 +366,9 @@ characters={ defense_skill=3 planning_skill=2 logistics_skill=2 + visible = { + NOT = { has_government = revolutionary } + } } advisor = { idea_token = GON_irolas @@ -327,33 +376,10 @@ characters={ cost = 150 traits = { voice_of_restraint } available = { - always = yes - } - } - } - GON_imrahil={ - name="Imrahil" - portraits={ - army={ - large="GFX_portrait_gondor_imrahil" - small="GFX_idea_portrait_gondor_imrahil" + NOT = { has_government = revolutionary } } - } - field_marshal={ - traits={ skilled_staffer } - skill=2 - attack_skill=1 - defense_skill=3 - planning_skill=3 - logistics_skill=2 - } - advisor = { - idea_token = GON_imrahil - slot = army_chief - cost = 150 - traits = { army_chief_organizational_1 } - available = { - always = yes + visible = { + NOT = { has_government = revolutionary } } } } diff --git a/common/characters/GUN.txt b/common/characters/GUN.txt index 1a13f0075..2c1e8466d 100644 --- a/common/characters/GUN.txt +++ b/common/characters/GUN.txt @@ -155,7 +155,7 @@ characters={ defense_skill = 1 maneuvering_skill = 8 coordination_skill = 1 - traits = { cold_water_expert } + traits = { arctic_water_expert } } advisor = { idea_token = GUN_jarnwar diff --git a/common/characters/ITH.txt b/common/characters/ITH.txt index 089f654d4..906cefed6 100644 --- a/common/characters/ITH.txt +++ b/common/characters/ITH.txt @@ -67,7 +67,7 @@ characters={ defense_skill = 1 maneuvering_skill = 8 coordination_skill = 1 - traits = { cold_water_expert } + traits = { arctic_water_expert } } advisor = { idea_token = ITH_llewellyn diff --git a/common/characters/LIN.txt b/common/characters/LIN.txt index 1c451d83e..270c4d6b7 100644 --- a/common/characters/LIN.txt +++ b/common/characters/LIN.txt @@ -42,7 +42,7 @@ characters={ id=-1 } corps_commander={ - traits={ brilliant_strategist charismatic } + traits={ brilliant_strategist } skill=5 attack_skill=5 defense_skill=2 diff --git a/common/characters/LTH.txt b/common/characters/LTH.txt index 3bae8b788..e21abd6ab 100644 --- a/common/characters/LTH.txt +++ b/common/characters/LTH.txt @@ -11,20 +11,37 @@ characters={ ideology=protective expire="1980.1.1.1" id=-1 + traits = { + #sindar_major + } } country_leader={ ideology=isolationist expire="1980.1.1.1" id=-1 - } - country_leader={ - ideology=supremacist - expire="1980.1.1.1" - id=-1 + traits = { + #sindar_major + } } country_leader={ ideology=collectivist expire="1980.1.1.1" + traits = { + #sindar_major + } + } + advisor = { + idea_token = LTH_celeborn_chief_advisor + slot = chief_advisor + cost = 150 + traits = { lord_of_lorien } + available = { + always = yes + } + visible = { + has_completed_focus = lth_celeborngaladrielaccord + has_government = belligerent + } } } LTH_galadriel={ @@ -40,7 +57,7 @@ characters={ expire="1980.1.1.1" id=-1 traits = { - ringbearer + ringbearer #noldor_major } } country_leader={ @@ -48,26 +65,30 @@ characters={ expire="1980.1.1.1" id=-1 traits = { - ringbearer - } - } - } - LTH_galadrieln={ - name="Galadriel" - portraits={ - army={ - large="GFX_portrait_lothlorien_galadriel_dark" - small = "GFX_idea_portrait_lothlorien_galadriel_dark" + ringbearer #noldor_major } } country_leader={ - ideology=supremacist + ideology=expansionist expire="1980.1.1.1" id=-1 traits = { ringbearer } } + advisor = { + idea_token = LTH_galadriel_chief_advisor + slot = chief_advisor + cost = 150 + traits = { lady_of_lorien } + available = { + always = yes + } + visible = { + has_completed_focus = lth_celeborngaladrielaccord + has_government = revolutionary + } + } } LTH_tarborn={ name="Tarborn" @@ -78,7 +99,7 @@ characters={ } } field_marshal={ - traits={ thorough_planner } + traits={ thorough_planner noldor_trait } skill=2 attack_skill=1 defense_skill=2 @@ -89,7 +110,19 @@ characters={ idea_token = LTH_tarborn slot = army_chief cost = 150 - traits = { army_chief_planning_1 } + traits = { army_chief_planning_1 noldor_intermediate } + on_add = { + hidden_effect = { + remove_trait = { slot = army_chief trait = noldor_intermediate } + add_trait = { slot = army_chief trait = noldor_intermediate_hired } + } + } + on_remove = { + hidden_effect = { + remove_trait = { slot = army_chief trait = noldor_intermediate_hired } + add_trait = { slot = army_chief trait = noldor_intermediate } + } + } available = { always = yes } @@ -104,21 +137,43 @@ characters={ } } corps_commander={ - traits={ ranger bearer_of_artillery } + traits={ ranger bearer_of_artillery nandor_trait } skill=4 attack_skill=3 defense_skill=3 planning_skill=1 logistics_skill=2 + visible = { + NOT = { + has_global_flag = fs_lothlorien_haldir + } + } } advisor = { - idea_token = LTH_haldir - slot = army_chief + idea_token = LTH_haldir_chiefadvisor + slot = chief_advisor cost = 150 - traits = { army_chief_maneuver_1 } + traits = { marchwarden nandor_major } + on_add = { + hidden_effect = { + remove_trait = { slot = chief_advisor trait = nandor_major } + add_trait = { slot = chief_advisor trait = nandor_major_hired } + } + } + on_remove = { + hidden_effect = { + remove_trait = { slot = chief_advisor trait = nandor_major_hired } + add_trait = { slot = chief_advisor trait = nandor_major } + } + } available = { always = yes } + visible = { + NOT = { + has_global_flag = fs_lothlorien_haldir + } + } } } LTH_lethsael={ @@ -130,7 +185,7 @@ characters={ } } corps_commander={ - traits={ panzer_leader } + traits={ panzer_leader sindar_trait } skill=2 attack_skill=3 defense_skill=2 @@ -141,7 +196,19 @@ characters={ idea_token = LTH_lethsael slot = high_command cost = 150 - traits = { army_CombinedArms_1 } + traits = { army_CombinedArms_1 sindar_intermediate } + on_add = { + hidden_effect = { + remove_trait = { slot = high_command trait = sindar_intermediate } + add_trait = { slot = high_command trait = sindar_intermediate_hired } + } + } + on_remove = { + hidden_effect = { + remove_trait = { slot = high_command trait = sindar_intermediate_hired } + add_trait = { slot = high_command trait = sindar_intermediate } + } + } available = { always = yes } @@ -156,21 +223,219 @@ characters={ } } corps_commander={ - traits={ trickster } + traits={ trickster nandor_trait } skill=2 attack_skill=2 defense_skill=1 planning_skill=3 logistics_skill=1 + visible = { + NOT = { + has_global_flag = fs_lothlorien_orophin + } + } } advisor = { idea_token = LTH_orophin slot = high_command cost = 150 - traits = { army_concealment_1 } + traits = { army_concealment_1 nandor_intermediate } + on_add = { + hidden_effect = { + remove_trait = { slot = high_command trait = nandor_intermediate } + add_trait = { slot = high_command trait = nandor_intermediate_hired } + } + } + on_remove = { + hidden_effect = { + remove_trait = { slot = high_command trait = nandor_intermediate_hired } + add_trait = { slot = high_command trait = nandor_intermediate } + } + } available = { always = yes } + visible = { + NOT = { + has_global_flag = fs_lothlorien_orophin + } + } + } + } + LTH_rumil={ + name="Rúmil" + portraits={ + army={ + large="GFX_portrait_lothlorien_rumil" + small = "GFX_idea_portrait_lothlorien_rumil" + } + } + corps_commander={ + traits={ nandor_trait } + skill=2 + attack_skill=1 + defense_skill=1 + planning_skill=2 + logistics_skill=2 + } + } + + LTH_tathardir={ + name="Tathardir" + portraits={ + army={ + large="GFX_portrait_elves_generic_101" + small = "GFX_idea_portrait_elves_generic_101" + } + } + corps_commander={ + traits={ halfelves_trait } + skill=1 + attack_skill=1 + defense_skill=1 + planning_skill=1 + logistics_skill=2 + } + } + + LTH_cedhrion={ + name="Cedhrion" + portraits={ + army={ + large="GFX_portrait_elves_generic_102" + small = "GFX_idea_portrait_elves_generic_102" + } + } + corps_commander={ + traits={ noldor_trait } + skill=1 + attack_skill=2 + defense_skill=1 + planning_skill=1 + logistics_skill=1 + } + } + + LTH_balrandir={ + name="Balrandir" + portraits={ + army={ + large="GFX_portrait_elves_generic_99" + small = "GFX_idea_portrait_elves_generic_99" + } + } + corps_commander={ + traits={ sindar_trait } + skill=1 + attack_skill=1 + defense_skill=2 + planning_skill=1 + logistics_skill=1 + } + } + + LTH_aelrindel={ + name="Aelrindel" + portraits={ + army={ + large="GFX_portrait_lothlorien_aelrindel" + small = "GFX_idea_portrait_lothlorien_aelrindel" + } + } + corps_commander={ + traits={ noldor_trait } + skill=2 + attack_skill=3 + defense_skill=0 + planning_skill=0 + logistics_skill=3 + } + advisor = { + idea_token = LTH_aelrindel + slot = chief_advisor + cost = 150 + traits = { nostalgic_glory_seeker noldor_major } + on_add = { + hidden_effect = { + remove_trait = { slot = chief_advisor trait = noldor_major } + add_trait = { slot = chief_advisor trait = noldor_major_hired } + } + } + on_remove = { + hidden_effect = { + remove_trait = { slot = chief_advisor trait = noldor_major_hired } + add_trait = { slot = chief_advisor trait = noldor_major } + } + } + available = { + has_government = belligerent + } + } + } + + LTH_velatha={ + name="Velatha" + portraits={ + army={ + large="GFX_portrait_lothlorien_velatha" + small = "GFX_idea_portrait_lothlorien_velatha" + } + } + advisor = { + idea_token = LTH_velatha + slot = chief_advisor + cost = 150 + traits = { blinded_oracle sindar_major } + on_add = { + hidden_effect = { + remove_trait = { slot = chief_advisor trait = sindar_major } + add_trait = { slot = chief_advisor trait = sindar_major_hired } + } + } + on_remove = { + hidden_effect = { + remove_trait = { slot = chief_advisor trait = sindar_major_hired } + add_trait = { slot = chief_advisor trait = sindar_major } + } + } + available = { + has_government = revolutionary + } + } + } + + LTH_rothilion={ + name="Rothilion" + portraits={ + army={ + large="GFX_portrait_lothlorien_rothilion" + small = "GFX_idea_portrait_lothlorien_rothilion" + } + } + advisor = { + idea_token = LTH_rothilion + slot = chief_advisor + cost = 150 + traits = { inspiring_motivator halfelves_major } + on_add = { + hidden_effect = { + remove_trait = { slot = chief_advisor trait = halfelves_major } + add_trait = { slot = chief_advisor trait = halfelves_major_hired } + } + } + on_remove = { + hidden_effect = { + remove_trait = { slot = chief_advisor trait = halfelves_major_hired } + add_trait = { slot = chief_advisor trait = halfelves_major } + } + } + available = { + OR = { + has_government = cooperative + has_government = unaligned + } + NOT = { has_completed_focus = lth_totalisoltation } + } } } } diff --git a/common/characters/MIR.txt b/common/characters/MIR.txt index ef56e7041..7ba3fb052 100644 --- a/common/characters/MIR.txt +++ b/common/characters/MIR.txt @@ -157,7 +157,7 @@ characters={ } } corps_commander={ - traits = { engineer } + traits = { trait_engineer } skill=1 attack_skill=1 defense_skill=2 diff --git a/common/characters/MMO.txt b/common/characters/MMO.txt index 7d644b0d3..30eb246ea 100644 --- a/common/characters/MMO.txt +++ b/common/characters/MMO.txt @@ -43,7 +43,7 @@ characters={ MMO_mauglurg = { name = "Mauglurg" corps_commander={ - traits={ reckless } + traits={ trait_reckless } skill=1 attack_skill=2 defense_skill=1 diff --git a/common/characters/MOA.txt b/common/characters/MOA.txt index 5448ec16f..9dd24d19c 100644 --- a/common/characters/MOA.txt +++ b/common/characters/MOA.txt @@ -29,10 +29,16 @@ characters={ small = "GFX_idea_portrait_moria_bane" } } - country_leader={ - ideology=supremacist - expire="1965.1.1.1" - id=-1 + field_marshal={ + traits={ } + skill=4 + attack_skill=4 + defense_skill=3 + planning_skill=1 + logistics_skill=1 + visible = { + has_completed_focus = submittothebalrog + } } } MOA_balin={ @@ -226,7 +232,7 @@ characters={ } } corps_commander={ - traits={ engineer } + traits={ trait_engineer } skill=1 attack_skill=1 defense_skill=1 diff --git a/common/characters/MOC.txt b/common/characters/MOC.txt index 8a7f1c889..44839c46f 100644 --- a/common/characters/MOC.txt +++ b/common/characters/MOC.txt @@ -6,10 +6,16 @@ characters={ large="GFX_Portrait_Moria_Bane" } } - country_leader={ - ideology=supremacist - expire="1965.1.1.1" - id=-1 + field_marshal={ + traits={ } + skill=4 + attack_skill=4 + defense_skill=3 + planning_skill=1 + logistics_skill=1 + visible = { + has_completed_focus = submittothebalrog + } } } MOC_gulthurg={ @@ -25,7 +31,7 @@ characters={ id=-1 } field_marshal={ - traits = { mountaineer } + traits = { trait_mountaineer } skill=2 attack_skill=2 defense_skill=3 diff --git a/common/characters/PEL.txt b/common/characters/PEL.txt index d1c1a2fa6..bb77aa3dd 100644 --- a/common/characters/PEL.txt +++ b/common/characters/PEL.txt @@ -63,7 +63,7 @@ characters={ } } field_marshal={ - traits={ reckless } + traits={ trait_reckless } skill=2 attack_skill=2 defense_skill=1 diff --git a/common/characters/RHD.txt b/common/characters/RHD.txt index 552446587..301038dd5 100644 --- a/common/characters/RHD.txt +++ b/common/characters/RHD.txt @@ -31,7 +31,7 @@ characters={ } } corps_commander={ - traits={ mountaineer } + traits={ trait_mountaineer } skill=3 attack_skill=2 defense_skill=3 diff --git a/common/characters/RIV.txt b/common/characters/RIV.txt index 8cdb11449..99478acf3 100644 --- a/common/characters/RIV.txt +++ b/common/characters/RIV.txt @@ -142,7 +142,7 @@ characters={ } } corps_commander={ - traits={ cautious } + traits={ trait_cautious } skill=2 attack_skill=2 defense_skill=2 diff --git a/common/characters/_fellowship.txt b/common/characters/_fellowship.txt index 7329037a8..d003123c4 100644 --- a/common/characters/_fellowship.txt +++ b/common/characters/_fellowship.txt @@ -225,4 +225,60 @@ characters={ visible = { always = no } } } + + FS_orophin = { + name = "Orophin" + + corps_commander = { + skill = 1 + attack_skill=2 + defense_skill=1 + planning_skill=3 + logistics_skill=1 + + visible = { always = no } + } + } + + FS_rumil = { + name = "Rúmil" + + corps_commander = { + skill = 1 + attack_skill = 1 + defense_skill = 1 + planning_skill = 2 + logistics_skill = 2 + + visible = { always = no } + } + } + + FS_tarborn = { + name = "Tarborn" + + corps_commander = { + skill = 1 + attack_skill = 1 + defense_skill = 2 + planning_skill = 4 + logistics_skill = 3 + + visible = { always = no } + } + } + + FS_lethsael = { + name = "Lethsael" + + corps_commander = { + skill = 1 + attack_skill = 3 + defense_skill = 2 + planning_skill = 2 + logistics_skill = 2 + + visible = { always = no } + } + } } \ No newline at end of file diff --git a/common/countries/Dol Amroth.txt b/common/countries/Dol Amroth.txt new file mode 100644 index 000000000..85b60addb --- /dev/null +++ b/common/countries/Dol Amroth.txt @@ -0,0 +1,5 @@ + +graphical_culture = commonwealth_gfx +graphical_culture_2d = southamerican_2d + +color = { 255 204 204 } \ No newline at end of file diff --git a/common/countries/Nanduhirion.txt b/common/countries/Nanduhirion.txt new file mode 100644 index 000000000..fa399c62f --- /dev/null +++ b/common/countries/Nanduhirion.txt @@ -0,0 +1,6 @@ + + +graphical_culture = eastern_european_gfx +graphical_culture_2d = eastern_european_2d + +color = { 10 219 191 } \ No newline at end of file diff --git a/common/countries/colors.txt b/common/countries/colors.txt index 2b4fa9818..1a1ef0d39 100644 --- a/common/countries/colors.txt +++ b/common/countries/colors.txt @@ -101,6 +101,10 @@ GON = { color = rgb { 57 113 228 } color_ui = rgb { 74 147 255 } } +DAM = { + color = rgb { 57 113 228 } + color_ui = rgb { 74 147 255 } +} ISE = { color = HSV { 0.1 0.15 0.4 } color_ui = rgb { 138 155 116 } @@ -125,7 +129,11 @@ GUN = { color = rgb { 75 75 75 } color_ui = rgb { 0 35 0 } } +NDH = { + color = rgb { 104 113 176 } + color_ui = rgb { 251 222 10 } +} D01 = { - color = rgb { 200 100 31 } + color = rgb { 66 16 104 } color_ui = rgb { 245 123 38 } } diff --git a/common/country_leader/00_traits.txt b/common/country_leader/00_traits.txt index efc390bfb..52257e623 100644 --- a/common/country_leader/00_traits.txt +++ b/common/country_leader/00_traits.txt @@ -2,11 +2,21 @@ @tier2 = 20 @tier3 = 10 +@experience_gain_low = 0.03 +@experience_gain_medium = 0.06 +@experience_gain_high = 0.08 + +@chief_experience_gain_low = 0.20 +@chief_experience_gain_medium = 0.30 +@chief_experience_gain_high = 0.40 + leader_traits = { dictator = { random = no political_power_factor = 0.25 + weekly_casualties_war_support = 0.001 + ai_desired_divisions_factor = 0.20 ai_will_do = { factor = 1 @@ -241,7 +251,7 @@ leader_traits = { humble = { random = no unaligned_drift = 0.05 - consumer_goods_factor = -0.05 + consumer_goods_factor = -0.15 ai_will_do = { factor = 1 @@ -286,29 +296,9 @@ leader_traits = { } } - famous_aviator = { - random = no - equipment_bonus = { - tac_bomber_equipment = { - air_range = 0.01 - } - fighter_equipment = { - air_range = 0.01 - } - } - - ai_will_do = { - factor = 1 - } - } spirit_of_genghis = { random = no cavalry_attack_factor = 0.05 - equipment_bonus = { - nav_bomber_equipment = { - air_range = 0.1 naval_strike_attack = 0.1 - } - } ai_will_do = { factor = 1 @@ -361,14 +351,6 @@ leader_traits = { #ai_focus_naval_air_factor #ai_focus_aviation_factor - dislikes_germany = { - random = no - - ai_will_do = { - factor = 1 - } - } - tenacious_defender = { random = no @@ -589,7 +571,7 @@ leader_traits = { } } - refounder_of_mexico = { # cooperative Cardenas + refounder_of_mexico = { # democratic Cardenas random = no stability_factor = 0.05 @@ -1071,7 +1053,7 @@ leader_traits = { disgraced_monarch = { random = no - consumer_goods_factor = -0.05 + consumer_goods_factor = -0.15 stability_factor = -0.1 } @@ -1371,7 +1353,7 @@ leader_traits = { the_statist = { #Peker random = no - consumer_goods_factor = -0.03 + consumer_goods_factor = -0.10 political_power_factor = 0.1 production_speed_arms_factory_factor = 0.05 production_speed_industrial_complex_factor = 0.05 @@ -1379,7 +1361,7 @@ leader_traits = { the_academic = { #Aydemir random = no - consumer_goods_factor = -0.03 + consumer_goods_factor = -0.10 political_power_factor = 0.1 industrial_capacity_factory = 0.05 production_factory_efficiency_gain_factor = 0.05 @@ -1543,7 +1525,7 @@ leader_traits = { random = no sprite = 13 - consumer_goods_factor = -0.03 + consumer_goods_factor = -0.10 political_power_gain = 0.05 opinion_gain_monthly_factor = 0.25 enemy_justify_war_goal_time = 0.25 @@ -1553,7 +1535,7 @@ leader_traits = { random = no sprite = 13 - consumer_goods_factor = -0.03 + consumer_goods_factor = -0.10 production_speed_arms_factory_factor = 0.07 production_speed_industrial_complex_factor = 0.07 belligerent_drift = 0.1 @@ -1839,7 +1821,7 @@ leader_traits = { sprite = 10 production_speed_industrial_complex_factor = 0.1 production_speed_infrastructure_factor = 0.05 - consumer_goods_factor = -0.03 + consumer_goods_factor = -0.10 } womens_rights_activist = { @@ -1863,7 +1845,7 @@ leader_traits = { sprite = 13 belligerent_drift = 0.05 political_power_factor = 0.1 - consumer_goods_factor = -0.05 + consumer_goods_factor = -0.15 } nazi_sympathizer = { @@ -2019,17 +2001,6 @@ leader_traits = { custom_modifier_tooltip = SOV_paranoia_modifier_increase_2_effect_tt } - #Hess - amateur_aviator_hess = { - sprite = 1 - political_power_factor = 0.15 - equipment_bonus = { - heavy_fighter_equipment = { - build_cost_ic = -0.025 - } - } - } - #BERIYA unscrupulous_orchestrator = { random = no @@ -2093,7 +2064,7 @@ leader_traits = { labor_defense_organizer = { random = no sprite = 13 - consumer_goods_factor = -0.05 + consumer_goods_factor = -0.15 army_core_defence_factor = 0.05 experience_gain_army_factor = 0.05 research_speed_factor = -0.03 @@ -2153,7 +2124,7 @@ leader_traits = { emigre_connections = { random = no weekly_manpower = 2000 - consumer_goods_factor = -0.03 + consumer_goods_factor = -0.10 } desperate_gambit = { @@ -2177,7 +2148,7 @@ leader_traits = { random = no sprite = 13 stability_factor = -0.05 - enemy_operative_detection_chance = 5 + enemy_operative_detection_chance = 0.1 enemy_operative_capture_chance_factor = 0.05 civilian_intel_to_others = -5 custom_modifier_tooltip = SOV_head_of_the_nkvd_locked_tt @@ -2187,7 +2158,7 @@ leader_traits = { random = no sprite = 13 stability_factor = -0.05 - enemy_operative_detection_chance = 5 + enemy_operative_detection_chance = 0.1 enemy_operative_capture_chance_factor = 0.05 civilian_intel_to_others = -5 custom_modifier_tooltip = SOV_head_of_the_nkvd_yagoda_tt @@ -2198,7 +2169,7 @@ leader_traits = { random = no sprite = 13 stability_factor = -0.05 - enemy_operative_detection_chance = 5 + enemy_operative_detection_chance = 0.1 enemy_operative_capture_chance_factor = 0.05 civilian_intel_to_others = -5 } @@ -2207,7 +2178,7 @@ leader_traits = { random = no sprite = 13 stability_factor = -0.1 - enemy_operative_detection_chance = 5 + enemy_operative_detection_chance = 0.1 enemy_operative_capture_chance_factor = 0.1 civilian_intel_to_others = -10 agency_upgrade_time = -0.1 @@ -2218,7 +2189,7 @@ leader_traits = { random = no sprite = 13 stability_factor = -0.1 - enemy_operative_detection_chance = 5 + enemy_operative_detection_chance = 0.1 enemy_operative_capture_chance_factor = 0.1 civilian_intel_to_others = -10 agency_upgrade_time = -0.1 @@ -2230,7 +2201,7 @@ leader_traits = { random = no sprite = 13 stability_factor = -0.1 - enemy_operative_detection_chance = 5 + enemy_operative_detection_chance = 0.1 enemy_operative_capture_chance_factor = 0.1 civilian_intel_to_others = -10 agency_upgrade_time = -0.1 @@ -2240,7 +2211,7 @@ leader_traits = { random = no sprite = 13 stability_factor = -0.05 - enemy_operative_detection_chance = 5 + enemy_operative_detection_chance = 0.1 enemy_operative_capture_chance_factor = 0.15 civilian_intel_to_others = -10 intel_network_gain_factor = 0.1 @@ -2251,7 +2222,7 @@ leader_traits = { random = no sprite = 13 stability_factor = -0.05 - enemy_operative_detection_chance = 5 + enemy_operative_detection_chance = 0.1 enemy_operative_capture_chance_factor = 0.15 civilian_intel_to_others = -10 intel_network_gain_factor = 0.1 @@ -2263,7 +2234,7 @@ leader_traits = { random = no sprite = 13 stability_factor = -0.05 - enemy_operative_detection_chance = 5 + enemy_operative_detection_chance = 0.2 enemy_operative_capture_chance_factor = 0.15 civilian_intel_to_others = -10 intel_network_gain_factor = 0.1 @@ -2334,7 +2305,7 @@ leader_traits = { soviet_economist = { random = no sprite = 13 - consumer_goods_factor = -0.02 + consumer_goods_factor = -0.10 war_support_factor = 0.05 production_speed_synthetic_refinery_factor = 0.15 subversive_activites_upkeep = -0.05 @@ -2348,7 +2319,6 @@ leader_traits = { intel_network_gain_factor = 0.1 boost_ideology_mission_factor = 0.1 diplomatic_pressure_mission_factor = 0.1 - # TODO Thomas - maybe add something relating to decisions for internatinal revolutions } #Preobrazhensky @@ -2516,7 +2486,7 @@ leader_traits = { driver_of_the_faithful = { random = no sprite = 13 - consumer_goods_factor = -0.03 + consumer_goods_factor = -0.10 industrial_capacity_factory = 0.05 } @@ -2763,7 +2733,7 @@ leader_traits = { financial_expert = { sprite = 10 random = yes - consumer_goods_factor = -0.05 + consumer_goods_factor = -0.15 ai_will_do = { factor = 2 @@ -2802,7 +2772,6 @@ leader_traits = { } } reluctant_interventionist = { - sprite = 13 random = yes stability_factor = 0.05 lend_lease_tension = -0.2 @@ -2957,7 +2926,7 @@ leader_traits = { finance_graduate = { sprite = 10 random = no - consumer_goods_factor = -0.02 + consumer_goods_factor = -0.10 ai_will_do = { factor = 2 @@ -3079,7 +3048,7 @@ leader_traits = { sprite = 10 stability_factor = 0.05 - consumer_goods_factor = -0.05 + consumer_goods_factor = -0.15 ai_will_do = { factor = 1 @@ -3114,7 +3083,7 @@ leader_traits = { random = no sprite = 10 - consumer_goods_factor = -0.1 + consumer_goods_factor = -0.30 resistance_growth_on_our_occupied_states = 0.1 ai_will_do = { @@ -3217,7 +3186,7 @@ leader_traits = { random = no sprite = 13 - consumer_goods_factor = -0.02 + consumer_goods_factor = -0.10 stability_factor = 0.05 conscription = 0.005 @@ -3918,7 +3887,7 @@ leader_traits = { dive_bomber = { sprite = 14 equipment_bonus = { - CAS_equipment = { + small_plane_cas_airframe = { instant = yes air_ground_attack = 0.1 } @@ -4020,10 +3989,10 @@ leader_traits = { light_aircraft_manufacturer = { random = no equipment_bonus = { - fighter_equipment = { + small_plane_airframe = { air_agility = 0.1 maximum_speed = 0.1 } - cv_fighter_equipment = { + cv_small_plane_airframe = { air_agility = 0.1 maximum_speed = 0.1 } } @@ -4036,10 +4005,10 @@ leader_traits = { light_aircraft_manufacturer_2 = { random = no equipment_bonus = { - fighter_equipment = { + small_plane_airframe = { air_agility = 0.2 maximum_speed = 0.1 } - cv_fighter_equipment = { + cv_small_plane_airframe = { air_agility = 0.2 maximum_speed = 0.1 } } @@ -4053,10 +4022,10 @@ leader_traits = { CAS_manufacturer = { random = no equipment_bonus = { - CAS_equipment = { + small_plane_cas_airframe = { air_ground_attack = 0.1 reliability = 0.1 } - cv_CAS_equipment = { + cv_small_plane_cas_airframe = { air_ground_attack = 0.1 reliability = 0.1 } } @@ -4069,13 +4038,13 @@ leader_traits = { medium_aircraft_manufacturer = { random = no equipment_bonus = { - heavy_fighter_equipment = { + medium_plane_fighter_airframe = { reliability = 0.2 } - tac_bomber_equipment = { + medium_plane_airframe = { reliability = 0.2 } - scout_plane_equipment = { + medium_plane_scout_plane_airframe = { reliability = 0.2 } } @@ -4088,14 +4057,14 @@ leader_traits = { fuel_efficient_aircraft_manufacturer = { random = no equipment_bonus = { - fighter_equipment = { + small_plane_airframe = { air_range = 0.1 } - heavy_fighter_equipment = { + medium_plane_fighter_airframe = { air_range = 0.1 reliability = 0.2 } - tac_bomber_equipment = { + medium_plane_airframe = { reliability = 0.2 } } @@ -4109,7 +4078,7 @@ leader_traits = { random = no equipment_bonus = { - strat_bomber_equipment = { + large_plane_airframe = { air_bombing = 0.1 } } @@ -4122,16 +4091,16 @@ leader_traits = { naval_aircraft_manufacturer = { random = no equipment_bonus = { - nav_bomber_equipment = { + small_plane_naval_bomber_airframe = { air_range = 0.1 naval_strike_attack = 0.1 } - cv_nav_bomber_equipment = { + cv_small_plane_naval_bomber_airframe = { air_range = 0.1 naval_strike_attack = 0.1 } - cv_fighter_equipment = { + cv_small_plane_airframe = { air_range = 0.1 air_agility = 0.1 } - cv_CAS_equipment = { + cv_small_plane_cas_airframe = { air_range = 0.1 naval_strike_attack = 0.1 } } @@ -4141,6 +4110,28 @@ leader_traits = { } } + multi_role_aircraft_manufacturer = { + random = no + equipment_bonus = { + small_plane_naval_bomber_airframe = { + reliability = 0.1 + } + medium_plane_airframe = { + reliability = 0.1 + } + small_plane_cas_airframe = { + reliability = 0.1 + } + medium_plane_scout_plane_airframe = { + reliability = 0.1 + } + } + + ai_will_do = { + factor = 1 + } + } + tank_refurbishment_plant = { #NSB random = no #generic @@ -4281,11 +4272,55 @@ leader_traits = { } } + submarine_manufacturer = { + random = no + equipment_bonus = { + carrier = { + build_cost_ic = 0.1 + } + capital_ship = { + build_cost_ic = 0.1 + } + screen_ship = { + build_cost_ic = 0.1 + } + submarine = { + build_cost_ic = -0.1 sub_visibility = -0.1 surface_visibility = -0.1 naval_speed = 0.1 naval_range = 0.1 + } + } + + ai_will_do = { + factor = 1 + } + } + + submarine_manufacturer_2 = { #Improved version used for Italy (done in trait in order to keep a nice tooltip) + random = no + equipment_bonus = { + carrier = { + build_cost_ic = 0.1 + } + capital_ship = { + build_cost_ic = 0.1 + } + screen_ship = { + build_cost_ic = 0.1 + } + submarine = { + build_cost_ic = -0.15 sub_visibility = -0.1 surface_visibility = -0.1 naval_speed = 0.15 naval_range = 0.1 + } + } + + ai_will_do = { + factor = 1 + } + } + pacific_fleet_naval_manufacturer = { #longer ranged, CVs favor larger hangers over armor random = no equipment_bonus = { carrier = { - carrier_size = 0.25 armor_value = -0.15 naval_range = 0.25 + carrier_size = 1 armor_value = -0.15 naval_range = 0.25 } capital_ship = { naval_range = 0.25 @@ -4349,7 +4384,9 @@ leader_traits = { random = no equipment_bonus = { carrier = { - surface_visibility = -0.1 naval_speed = 0.1 carrier_size = -0.1 + surface_visibility = -0.1 + naval_speed = 0.1 + #carrier_size = -0.1 } capital_ship = { surface_visibility = -0.1 naval_speed = 0.1 hg_attack = -0.1 @@ -4400,7 +4437,9 @@ leader_traits = { random = no equipment_bonus = { carrier = { - build_cost_ic = -0.25 carrier_size = -0.2 naval_range = -0.5 + build_cost_ic = -0.25 + #carrier_size = -0.2 + naval_range = -0.5 } capital_ship = { build_cost_ic = -0.25 armor_value = -0.2 hg_attack = -0.2 naval_range = -0.5 @@ -4473,6 +4512,7 @@ leader_traits = { production_speed_supply_node_factor = 0.15 equipment_bonus = { train_equipment = { + instant = yes build_cost_ic = -0.25 reliability = 0.1 } @@ -4509,6 +4549,26 @@ leader_traits = { } } + telephone_company = { + random= No + land_reinforce_rate = 0.02 + coordination_bonus = 0.04 + ai_will_do = { + factor = 1 + } + } + + mining_company = { + random = no + + local_resources_factor = 0.1 + production_lack_of_resource_penalty_factor = -0.15 + + ai_will_do = { + factor = 1 + } + } + electronics_developer = { random = no @@ -4543,7 +4603,7 @@ leader_traits = { min_export = 0.3 opinion_gain_monthly_factor = -0.05 - consumer_goods_factor = 0.05 + consumer_goods_factor = 0.10 political_power_gain = -0.15 ai_will_do = { @@ -4598,6 +4658,312 @@ leader_traits = { } } + ################################ + ## NORWAY TRAITS ## + ################################ + + NOR_royal_chamberlain = { # For Peder Anker Wedel-Jarlsberg as Advisor + random = no + + unaligned_drift = 0.1 + stability_factor = 0.15 + + ai_will_do = { + factor = 1 + } + } + + NOR_shrewd_regent = { # For Peder Anker Wedel Jarlsberg as a country leader + random = no + + stability_factor = 0.2 + political_power_cost = 0.15 + } + + + + NOR_aristocratic_industrialist = { # For Axel Aubert + random = no + + unaligned_drift = 0.03 + production_speed_buildings_factor = 0.1 + production_speed_bunker_factor = 0.25 + production_speed_coastal_bunker_factor = 0.25 + } + + NOR_democratic_powerhouse = { #For Martin Tranmael + random = no + + cooperative_drift = 0.1 + stability_factor = 0.15 + war_support_factor = -0.15 + } + + NOR_pacifist_diplomat = { #For Halvdan Koht + random = no + + war_support_factor = -0.1 + political_power_gain = 0.15 + opinion_gain_monthly_factor = 0.25 + } + + NOR_shipping_capitalist = { #For Johan Ludwig Mowinckel + random = no + + production_speed_dockyard_factor = 0.25 + equipment_bonus = { + convoy = { + build_cost_ic = -0.25 + } + } + } + + NOR_stern_communist = { + random = no + + revolutionary_drift = 0.09 + surrender_limit = 0.25 + political_power_factor = -0.05 + } + + NOR_conciliatory_socialist = { + random = no + + stability_factor = 0.1 + revolutionary_drift = 0.01 + } + + NOR_communist_agitator = { + random = no + + revolutionary_drift = 0.1 + resistance_growth_on_our_occupied_states = 0.15 + } + + NOR_radical_trade_unionist = { + random = no + + revolutionary_drift = 0.05 + production_speed_buildings_factor = 0.12 + } + + NOR_permanent_revolutionary = { + random = no + + revolutionary_drift = 0.08 + war_stability_factor = -0.2 + non_core_manpower = 0.07 + } + + NOR_fascist_lackey = { # For Quisling (Advisor) + random = no + + belligerent_drift = 0.08 + stability_factor = -0.1 + war_stability_factor = 0.15 + war_support_factor = 0.1 + } + + NOR_fascist_dilettante = { # for Quisling (Country Leader) + random = no + + belligerent_drift = 0.01 + stability_factor = -0.15 + war_support_factor = -0.1 + resistance_decay = -0.15 + } + + NOR_fascist_landssviker = { # for Quisling (Country Leader) + random = no + + belligerent_drift = 0.01 + stability_factor = -0.2 + war_support_factor = -0.15 + resistance_decay = -0.15 + + } + + NOR_ruthless_administrator = { + random = no + + belligerent_drift = 0.12 + stability_factor = 0.2 + resistance_decay = 0.1 + } + + NOR_fascist_judiciary = { + random = no + + compliance_growth = 0.05 + resistance_growth = -0.1 + } + + NOR_fascist_advocate = { + random = no + + stability_factor = 0.2 + belligerent_drift = 0.02 + } + + NOR_callous_engineer = { + random = no + + research_speed_factor = 0.09 + } + + NOR_tobacco_industrialist = { + random = no + + war_support_factor = -0.15 + production_speed_infrastructure_factor = 0.25 + production_speed_industrial_complex_factor = 0.2 + } + + NOR_compliant_politician = { + random = no + + stability_factor = 0.10 + political_power_factor = 0.1 + } + + NOR_conservative_businessman = { + random = no + + production_speed_buildings_factor = 0.10 + belligerent_drift = 0.03 + } + + NOR_germanophile_officer = { # For Jonas Lie + random = no + + belligerent_drift = 0.03 + war_support_factor = 0.2 + experience_gain_army = 0.09 + resistance_decay = -0.25 + stability_factor = -0.25 + } + + NOR_ruthless_police_captain = { # Prince of Terror equivalent, also for Jonas Lie + sprite = 13 + resistance_damage_to_garrison = -0.3 + foreign_subversive_activites = -0.4 + non_core_manpower = 0.04 + stability_factor = 0.15 + war_support_factor = 0.2 + belligerent_drift = 0.01 + + ai_will_do = { + factor = 1 + } + } + + NOR_minister_of_agriculture = { + random = no + sprite = 14 + + weekly_manpower = 300 + war_support_factor = -0.05 + } + + ###### OFFICER CORPS TRAITS ###### + + NOR_defeatist_commander_in_chief = { + sprite = 5 + + experience_gain_army = @chief_experience_gain_low + + command_cap = @tier1 + + max_dig_in_factor = 0.1 + dig_in_speed_factor = 0.25 + surrender_limit = -0.2 + ai_will_do = { + factor = 1 + modifier = { + factor = 0 + command_power < @tier1 + } + } + } + + NOR_hydroelectric_company_trait = { + + country_resource_aluminium = 10 + production_speed_industrial_complex_factor = 0.15 + + + ai_will_do = { + factor = 1 + } + } + + NOR_nationalized_hydroelectric_company_trait = { + + country_resource_aluminium = 20 + production_speed_industrial_complex_factor = 0.2 + production_speed_infrastructure_factor = 0.1 + + ai_will_do = { + factor = 1 + } + } + + NOR_oppportunistic_officer = { # For Sundlo + sprite = 14 + land_doctrine_cost_factor = -0.1 + experience_gain_army_factor = 0.07 + + ai_will_do = { + factor = 1 + } + } + + NOR_pragmatic_defense_minister = { # For Torp + sprite = 14 + land_doctrine_cost_factor = -0.1 + production_speed_industrial_complex_factor = 0.1 + + ai_will_do = { + factor = 1 + } + } + + NOR_vigilant_fort_commander = { # For Birger Eriksen (Military High Command) + random = no + sprite = 5 + + coastal_bunker_effectiveness_factor = 0.05 + land_bunker_effectiveness_factor = 0.1 + initiative_factor = 0.02 + + #experience_gain_army = @experience_gain_low + + command_cap = @tier1 + + ai_will_do = { + factor = 2 + modifier = { + factor = 0 + command_power < @tier1 + } + } + } + + + +############ + + inventive_genius = { + random = no + + political_power_gain = 0.05 + opinion_gain_monthly_factor = 0.05 + + ai_will_do = { + factor = 1 + } + } + ### Military Minister Traits # 1 is worst, 3 is best diff --git a/common/country_leader/00_traits_advisors_lotr.txt b/common/country_leader/00_traits_advisors_lotr.txt index c19681eb7..831706a1b 100644 --- a/common/country_leader/00_traits_advisors_lotr.txt +++ b/common/country_leader/00_traits_advisors_lotr.txt @@ -45,7 +45,13 @@ leader_traits = { is_subject = yes } modifier = { - has_country_flag = path_going_belligerent + is_going_belligerent = yes + has_country_flag = gameplan_fast_ideology_switch + add = 30 + } + modifier = { + is_going_belligerent = yes + date > 3020.01.01 add = 10 } } @@ -65,7 +71,13 @@ leader_traits = { is_subject = yes } modifier = { - has_country_flag = path_going_revolutionary + is_going_revolutionary = yes + has_country_flag = gameplan_fast_ideology_switch + add = 30 + } + modifier = { + is_going_revolutionary = yes + date > 3020.01.01 add = 10 } } @@ -85,7 +97,13 @@ leader_traits = { is_subject = yes } modifier = { - has_country_flag = path_going_cooperative + is_going_cooperative = yes + has_country_flag = gameplan_fast_ideology_switch + add = 30 + } + modifier = { + is_going_cooperative = yes + date > 3020.01.01 add = 10 } } @@ -105,7 +123,13 @@ leader_traits = { is_subject = yes } modifier = { - has_country_flag = path_going_unaligned + is_going_unaligned = yes + has_country_flag = gameplan_fast_ideology_switch + add = 30 + } + modifier = { + is_going_unaligned = yes + date > 3020.01.01 add = 10 } } @@ -385,6 +409,11 @@ leader_traits = { ai_will_do = { factor = 0 + modifier = { + original_tag = LTH + is_going_unaligned = yes + add = 100 + } } } @@ -713,6 +742,17 @@ leader_traits = { # MINISTER / GENERIC POLITICAL + provincial_councilor = { + random = no + sprite = 13 + + custom_modifier_tooltip = provincial_councilor_tt + + ai_will_do = { + factor = 50 # AI should not fire this guy when playing LTH + } + } + noble_shieldmaiden = { random = no sprite = 13 @@ -1378,6 +1418,33 @@ leader_traits = { } } + mysterious_stranger = { + random = no + sprite = 2 + + ai_will_do = { + factor = 1 + } + } + + giants_researcher = { + random = no + sprite = 2 + + ai_will_do = { + factor = 1 + } + } + + reclusive_historian = { + random = no + sprite = 2 + + ai_will_do = { + factor = 1 + } + } + # Beastmaster beastmaster = { random = no @@ -1690,7 +1757,7 @@ leader_traits = { ai_will_do = { factor = 1 modifier = { - factor = 0 + add = -9999 has_navy_size = { size < 1 } } } @@ -1709,7 +1776,7 @@ leader_traits = { ai_will_do = { factor = 1 modifier = { - factor = 0 + add = -9999 has_navy_size = { size < 1 } } } @@ -1727,7 +1794,7 @@ leader_traits = { ai_will_do = { factor = 1 modifier = { - factor = 0 + add = -9999 has_navy_size = { size < 1 } } } @@ -2321,7 +2388,7 @@ leader_traits = { factor = 2 modifier = { factor = 0 - check_variable = { resource@fuel < 25 } + check_variable = { fuel_ratio > 0.25 } } modifier = { add = 5 @@ -2386,7 +2453,7 @@ leader_traits = { factor = 2 modifier = { factor = 0 - check_variable = { resource@fuel < 25 } + check_variable = { fuel_ratio < 0.01 } } modifier = { add = 5 @@ -2648,7 +2715,7 @@ leader_traits = { sprite = 17 equipment_bonus = { - mumakil_equipment_1 = { + archetype_mumakil_equipment = { maximum_speed = 0.25 soft_attack = 0.15 } diff --git a/common/country_leader/00_traits_lotr.txt b/common/country_leader/00_traits_lotr.txt index 8cf3b683d..b84def4b7 100644 --- a/common/country_leader/00_traits_lotr.txt +++ b/common/country_leader/00_traits_lotr.txt @@ -86,6 +86,15 @@ leader_traits = { } } + ringbearer_2 = { + random = no + army_attack_factor = 0.15 + + ai_will_do = { + factor = 1 + } + } + legacyofmorgoth = { random = no stability_factor = 0.2 @@ -111,6 +120,22 @@ leader_traits = { } } + GON_power_hunger = { + random = no + + stability_factor = -0.05 + political_power_factor = 0.05 + unaligned_drift = 0.05 + } + + GON_defense_specialist = { + random = no + experience_gain_army = 0.04 + army_defence_factor = 0.1 + army_core_defence_factor = 0.05 + dig_in_speed_factor = 0.1 + } + ## Mordor experienced_general = { random = no diff --git a/common/country_leader/00_traits_lotr_lth.txt b/common/country_leader/00_traits_lotr_lth.txt new file mode 100644 index 000000000..e86204a77 --- /dev/null +++ b/common/country_leader/00_traits_lotr_lth.txt @@ -0,0 +1,400 @@ +## NOTE: 'sprite = x' sets the icon as a frame within gfx/interface/ideas/idea_traits_strip.dds +## The icons are as follows: +#1 : plane +#2 : researcher flask +#3 : anchor +#4 : architect tool +#5 : infantry helmet +#6 : fuel cannister +#7 : sword +#8 : chief researcher hat +#9 : shield +#10: stack of coins +#11: nothing +#12: crown +#13: political building +#14: theorist gears +#15: eye +#16: artillery +#17: horse +#18: chief of army star + +leader_traits = { + + nandor_minor = { + random = no + + nandor_influence = 20 + + ai_will_do = { + factor = 1 + } + } + + nandor_intermediate = { + random = no + + nandor_influence = 35 + ai_will_do = { + factor = 1 + } + } + + nandor_major = { + random = no + + nandor_influence = 50 + ai_will_do = { + factor = 1 + } + } + + noldor_minor = { + random = no + + noldor_influence = 20 + ai_will_do = { + factor = 1 + } + + } + + noldor_intermediate = { + random = no + + noldor_influence = 35 + ai_will_do = { + factor = 1 + } + } + + noldor_major = { + random = no + + noldor_influence = 50 + ai_will_do = { + factor = 1 + } + } + + sindar_minor = { + random = no + + sindar_influence = 25 + ai_will_do = { + factor = 1 + } + } + + sindar_intermediate = { + random = no + + sindar_influence = 35 + ai_will_do = { + factor = 1 + } + } + + sindar_major = { + random = no + + sindar_influence = 50 + ai_will_do = { + factor = 1 + } + } + + halfelves_minor = { + random = no + + halfelves_influence = 25 + ai_will_do = { + factor = 1 + } + } + + halfelves_intermediate = { + random = no + + halfelves_influence = 35 + ai_will_do = { + factor = 1 + } + } + + halfelves_major = { + random = no + + halfelves_influence = 50 + ai_will_do = { + factor = 1 + } + } + + nonelves_minor = { + random = no + + nonelves_influence = 25 + ai_will_do = { + factor = 1 + } + } + + orcs_minor = { + random = no + + orcs_influence = 25 + ai_will_do = { + factor = 1 + } + } + + nandor_minor_hired = { + random = no + + nandor_influence = 20 + ai_will_do = { + factor = 1 + } + } + + nandor_intermediate_hired = { + random = no + + nandor_influence = 35 + ai_will_do = { + factor = 1 + } + } + + nandor_major_hired = { + random = no + + nandor_influence = 50 + ai_will_do = { + factor = 1 + } + } + + noldor_minor_hired = { + random = no + + noldor_influence = 20 + ai_will_do = { + factor = 1 + } + + } + + noldor_intermediate_hired = { + random = no + + noldor_influence = 35 + ai_will_do = { + factor = 1 + } + } + + noldor_major_hired = { + random = no + + noldor_influence = 50 + ai_will_do = { + factor = 1 + } + } + + sindar_minor_hired = { + random = no + + sindar_influence = 25 + ai_will_do = { + factor = 1 + } + } + + sindar_intermediate_hired = { + random = no + + sindar_influence = 35 + ai_will_do = { + factor = 1 + } + } + + sindar_major_hired = { + random = no + + sindar_influence = 50 + ai_will_do = { + factor = 1 + } + } + + halfelves_minor_hired = { + random = no + + halfelves_influence = 25 + ai_will_do = { + factor = 1 + } + } + + halfelves_intermediate_hired = { + random = no + + halfelves_influence = 35 + ai_will_do = { + factor = 1 + } + } + + halfelves_major_hired = { + random = no + + halfelves_influence = 50 + ai_will_do = { + factor = 1 + } + } + + nonelves_minor_hired = { + random = no + + nonelves_influence = 25 + ai_will_do = { + factor = 1 + } + } + + orcs_minor_hired = { + random = no + + orcs_influence = 25 + ai_will_do = { + factor = 1 + } + } + + yavannas_blessing = { + random = no + + supply_consumption_factor = -0.15 + production_speed_industrial_complex_factor = 0.15 + } + + aules_benison = { + random = no + + army_org_factor = 0.1 + production_speed_arms_factory_factor = 0.15 + } + + princess_of_the_noldor = { + random = no + + noldor_influence = 50 + war_support_factor = 0.1 + political_power_factor = 0.1 + } + + fair_as_the_sea_and_sun = { + random = no + + stability_weekly = 0.01 + defence = 0.05 + } + + dreadful_as_storm_and_lightning = { + random = no + + war_support_weekly = 0.01 + offence = 0.05 + } + + supreme_leader = { + random = no + + political_power_factor = 0.25 + war_support_factor = 0.1 + stability_factor = 0.1 + industrial_capacity_factory = 0.1 + sindar_influence = 50 + } + + lady_of_lorien = { + random = no + + war_support_factor = 0.15 + offensive_war_stability_factor = 0.15 + + ai_will_do = { + factor = 10 + } + } + + lord_of_lorien = { + random = no + + stability_factor = 0.15 + defensive_war_stability_factor = 0.15 + + ai_will_do = { + factor = 10 + } + } + + nostalgic_glory_seeker = { + random = no + sprite = 12 + + mobilization_speed = 0.3 + recruitable_population_factor = 0.15 + belligerent_drift = 0.05 + war_support_factor = 0.05 + + ai_will_do = { + factor = 3 + } + } + + blinded_oracle = { + random = no + sprite = 12 + + revolutionary_drift = 0.05 + political_power_factor = 0.15 + decryption_factor = 0.33 + foreign_subversive_activites = -0.33 + + ai_will_do = { + factor = 3 + } + } + + inspiring_motivator = { + random = no + sprite = 12 + + army_morale_factor = 0.05 + industrial_capacity_factory = 0.05 + production_speed_buildings_factor = 0.05 + + ai_will_do = { + factor = 3 + } + } + + marchwarden = { + random = no + sprite = 12 + + special_forces_cap = 0.3 + recon_factor = 0.1 + terrain_penalty_reduction = 0.1 + + ai_will_do = { + factor = 3 + } + } +} \ No newline at end of file diff --git a/common/country_tags/00_countries.txt b/common/country_tags/00_countries.txt index 8b1378917..e69de29bb 100644 --- a/common/country_tags/00_countries.txt +++ b/common/country_tags/00_countries.txt @@ -1 +0,0 @@ - diff --git a/common/country_tags/lotr_00_countries.txt b/common/country_tags/lotr_00_countries.txt index 233cc7aa5..12153ef1a 100644 --- a/common/country_tags/lotr_00_countries.txt +++ b/common/country_tags/lotr_00_countries.txt @@ -31,4 +31,6 @@ NEP = "countries/Forodwaith.txt" MOR = "countries/Mordor.txt" HAR = "countries/Harad.txt" GON = "countries/Gondor.txt" -GUN = "countries/Gundabad.txt" \ No newline at end of file +GUN = "countries/Gundabad.txt" +DAM = "countries/Dol Amroth.txt" +NDH = "countries/Nanduhirion.txt" diff --git a/common/decisions/ANG_decisions.txt b/common/decisions/ANG_decisions.txt index de002fd26..c4105142b 100644 --- a/common/decisions/ANG_decisions.txt +++ b/common/decisions/ANG_decisions.txt @@ -3,7 +3,7 @@ ################ ANG_request_investment = { ANG_request_investment_ART = { - icon = GFX_decision_eng_trade_unions_support + icon = GFX_decision_generic_cooperation cost = 150 available = { @@ -24,7 +24,7 @@ ANG_request_investment = { } } ANG_request_investment_RHD = { - icon = GFX_decision_eng_trade_unions_support + icon = GFX_decision_generic_cooperation cost = 150 available = { @@ -45,7 +45,7 @@ ANG_request_investment = { } } ANG_request_investment_VAL = { - icon = GFX_decision_eng_trade_unions_support + icon = GFX_decision_generic_cooperation cost = 150 available = { diff --git a/common/decisions/DAG_decisions.txt b/common/decisions/DAG_decisions.txt index b700ab113..e4410c674 100644 --- a/common/decisions/DAG_decisions.txt +++ b/common/decisions/DAG_decisions.txt @@ -5,7 +5,7 @@ DAG_unite_the_swamp = { Unite_the_swamp = { - icon = GFX_decision_generic_civil_support + icon = GFX_decision_generic_army_2 cost = 100 available = { diff --git a/common/decisions/GON_decisions.txt b/common/decisions/GON_decisions.txt new file mode 100644 index 000000000..94ca1ef17 --- /dev/null +++ b/common/decisions/GON_decisions.txt @@ -0,0 +1,106 @@ +################ +##### GON ###### +################ +GON_army_of_the_death = { + GON_seek_out_the_spooky_ghosts = { + icon = GFX_decision_generic_civil_support + cost = 200 + + visible = { + + } + + available = { + 163 = { is_controlled_by = GON } + has_war = yes + } + + fire_only_once = yes + fixed_random_seed = no + complete_effect = { + news_event = { hours = 12 id = news.365 } + set_country_flag = GON_called_on_dead_men_of_dunharrow + custom_effect_tooltip = "King of the Dead will be available as a general" + custom_effect_tooltip = "10 divisions of ghosts will spawn next to Minas Tirith" + add_ideas = GON_army_of_the_death + hidden_effect = { + load_oob = "GON_Ghosts" + } + } + ai_will_do = { + factor = 10 + } + } + GON_complete_their_oath = { + icon = GFX_decision_generic_civil_support + cost = 25 + + visible = { + + } + + available = { + has_idea = GON_army_of_the_death + has_country_flag = GON_called_on_dead_men_of_dunharrow + } + + fire_only_once = yes + fixed_random_seed = no + complete_effect = { + remove_unit_leader = 13 + remove_ideas = GON_army_of_the_death + set_country_flag = GON_men_of_dunharrow_fullfiled_their_oath + delete_unit_template_and_units = { division_template = "Dead Infantry" } + } + ai_will_do = { + factor = 10 + } + } +} + +political_actions = { + GON_increase_taxation = { + icon = GFX_decision_generic_4 + cost = 100 + + visible = { + original_tag = GON + NOT = { has_idea = high_taxes } + } + + available = { + always = yes + } + + fire_only_once = yes + fixed_random_seed = no + complete_effect = { + if = { + limit = { has_idea = low_taxes } + add_ideas = medium_taxes + } + else_if = { + limit = { has_idea = medium_taxes } + add_ideas = high_taxes + } + + add_stability = -0.1 + add_popularity = { + ideology = unaligned + popularity = -0.1 + } + add_popularity = { + ideology = revolutionary + popularity = 0.1 + } + } + ai_will_do = { + base = 0 + modifier = { + add = 25 + is_going_revolutionary = yes + has_completed_focus = GON_defame_isildurs_lineage + } + } + } +} \ No newline at end of file diff --git a/common/decisions/HAR_decisions.txt b/common/decisions/HAR_decisions.txt index 2b2cac06f..d4b45fd5d 100644 --- a/common/decisions/HAR_decisions.txt +++ b/common/decisions/HAR_decisions.txt @@ -3,7 +3,7 @@ ################ HAR_coastal_raiding = { Coastal_raid_belfalas = { - icon = GFX_decision_generic_civil_support + icon = GFX_decision_generic_naval cost = 150 available = { @@ -12,7 +12,8 @@ HAR_coastal_raiding = { has_war_with = FROM } naval_strength_comparison = { - other = GEO ratio > 0.8 + other = GON + ratio > 0.8 } #has_manpower = 50000 } @@ -31,7 +32,7 @@ HAR_coastal_raiding = { } } Coastal_raid_anfalas = { - icon = GFX_decision_generic_civil_support + icon = GFX_decision_generic_naval cost = 150 available = { @@ -40,7 +41,8 @@ HAR_coastal_raiding = { has_war_with = FROM } naval_strength_comparison = { - other = GEO ratio > 0.8 + other = GON + ratio > 0.8 } #has_manpower = 50000 } @@ -63,7 +65,7 @@ HAR_coastal_raiding = { HAR_unrest_in_rhun = { HAR_iron_fist = { - icon = GFX_decision_generic_civil_support + icon = GFX_decision_revolt cost = 75 state_target = yes diff --git a/common/decisions/LTH_decisions.txt b/common/decisions/LTH_decisions.txt new file mode 100644 index 000000000..eb94f7933 --- /dev/null +++ b/common/decisions/LTH_decisions.txt @@ -0,0 +1,600 @@ +lothlorien_influence_decisions_category = { + + great_schism_civil_war = { + icon = GFX_decision_revolt + + allowed = { + always = no + } + activation = { + always = yes + } + + available = { + always = no + } + + cancel_trigger = { + OR = { + has_completed_focus = lth_celebornsexile + has_completed_focus = lth_mendtheschism + has_completed_focus = lth_galadrielsfarewell + } + } + + is_good = no + days_mission_timeout = 450 + selectable_mission = no + fire_only_once = yes + + timeout_effect = { + custom_effect_tooltip = great_schism_civil_war_tt + hidden_effect = { + country_event = lothlorien.68 + } + } + } + + great_schism_delay_civil_war = { + icon = GFX_decision_assembly + + allowed = { + tag = LTH + } + visible = { + has_active_mission = great_schism_civil_war + } + + available = { + always = yes + } + + cost = 100 + fire_only_once = yes + + complete_effect = { + add_war_support = -0.05 + add_days_mission_timeout = { + mission = great_schism_civil_war + days = 90 + } + } + } + + preemptivedepartures_nandor = { + icon = GFX_decision_grey_havens + + available = { + is_ai = no + is_debug = yes + } + + visible = { + has_idea = LTH_great_schism + has_completed_focus = lth_preemtptivedepartures + check_variable = { modifier@nandor_influence > 25 } + } + + fire_only_once = no + days_re_enable = 60 + cost = 25 + + complete_effect = { + lthi_send_to_valinor_nandor = yes + } + } + + preemptivedepartures_noldor = { + icon = GFX_decision_grey_havens + + available = { + is_ai = no + is_debug = yes + } + + visible = { + has_idea = LTH_great_schism + has_completed_focus = lth_preemtptivedepartures + check_variable = { modifier@noldor_influence > 25 } + } + + fire_only_once = no + days_re_enable = 60 + cost = 25 + + complete_effect = { + lthi_send_to_valinor_noldor = yes + } + } + + preemptivedepartures_sindar = { + icon = GFX_decision_grey_havens + + available = { + is_ai = no + is_debug = yes + } + + visible = { + has_idea = LTH_great_schism + has_completed_focus = lth_preemtptivedepartures + check_variable = { modifier@sindar_influence > 25 } + } + + fire_only_once = no + days_re_enable = 60 + cost = 25 + + complete_effect = { + lthi_send_to_valinor_sindar = yes + } + } + + preemptivedepartures_halfelves = { + icon = GFX_decision_grey_havens + + available = { + is_ai = no + is_debug = yes + } + + visible = { + has_idea = LTH_great_schism + has_completed_focus = lth_preemtptivedepartures + check_variable = { modifier@halfelves_influence > 25 } + } + + fire_only_once = no + days_re_enable = 60 + cost = 25 + + complete_effect = { + lthi_send_to_valinor_halfelves = yes + } + } + + leaving_for_valinor = { + icon = GFX_decision_grey_havens + + available = { + always = no + } + + allowed = { + always = no + } + + is_good = yes + days_mission_timeout = 120 + selectable_mission = no + days_remove = 1 + + timeout_effect = { + + random_core_state = { + if = { + limit = { state_population_k > 100 } + add_manpower = -10000 + } + } + + activate_mission = leaving_for_valinor + } + } + + # migration treaty + enact_migration_treaty = { + icon = GFX_decision_generic_cooperation + + target_array = neighbors + + available = { + always = yes + } + + target_root_trigger = { + has_completed_focus = lth_migrationtreaties + } + + target_trigger = { + FROM = { + is_elves = no + is_orcs = no + NOT = { tag = NEP } + NOT = { tag = DAG } + } + } + + ai_will_do = { + factor = 5 + modifier = { + factor = 20 + has_manpower < 20000 + } + modifier = { + factor = 2 + FROM = { is_ai = no } + } + modifier = { + factor = 5 + is_ally_with = FROM + } + } + + fire_only_once = yes + cost = 100 + + complete_effect = { + random_core_state = { + add_manpower = 50000 + } + lthi_increase_influence_nonelves_intermediate = yes + } + } + +} + +foreign_support = { + support_mordor_enemy = { + icon = GFX_decision_generic_army_1 + + allowed = { + original_tag = LTH + } + + target_root_trigger = { + has_completed_focus = lth_supportmordorsenemies + } + targets = { GON ROH ISE ERE DOR HAR RHU VAL MIR DAL ENT } + target_trigger = { + FROM = { has_war_with = MOR } + FROM = { NOT = { has_war_with = ROOT } } + } + + fire_only_once = yes + cost = 100 + + ai_will_do = { + factor = 1 + modifier = { + FROM = { is_ai = no } + factor = 15 + } + } + + complete_effect = { + if = { + limit = { has_dlc = "Arms Against Tyranny" } + FROM = { + add_war_support = 0.05 + add_equipment_subsidy = { + cic = 500 + equipment_type = infantry_equipment + seller_tags = { LTH } + } + add_equipment_subsidy = { + cic = 500 + equipment_type = artillery_equipment + seller_tags = { LTH } + } + add_equipment_subsidy = { + cic = 500 + equipment_type = support_equipment + seller_tags = { LTH } + } + } + } + else = { + FROM = { + add_war_support = 0.05 + } + send_equipment = { target = FROM type = infantry_equipment amount = 800 } + send_equipment = { target = FROM type = support_equipment amount = 100 } + } + } + } +} + + +operations = { + raid_lothlorien = { + icon = GFX_decision_orcs_5 + + allowed = { + OR = { + tag = MOC + tag = DGU + } + } + + visible = { + LTH = { is_elves = yes } + exists = yes + NOT = { is_ally_with = LTH } + NOT = { has_war_with = LTH } + } + + cost = 100 + days_re_enable = 300 + fixed_random_seed = no + + ai_will_do = { + factor = 1 + modifier = { + factor = 2 + has_war = no + } + modifier = { + factor = 2 + tag = DGU + } + } + + available = { + always = yes + } + + complete_effect = { + add_manpower = -150 + set_country_flag = has_raided_lothlorien + random_list = { + 50 = { + modifier = { + add = -10 + tag = DGU + LTH = { has_completed_focus = lth_thefortressofdolguldur } + } + modifier = { + add = -20 + tag = DGU + LTH = { has_completed_focus = lth_patrolsandriverwardens } + } + modifier = { + add = -15 + tag = MOC + LTH = { has_completed_focus = lth_theminesofmoria } + } + + add_timed_idea = { + idea = generic_three_civs + days = 60 + } + LTH = { country_event = lothlorien.22 } + } + 50 = { + + } + } + } + } +} + +ring_corruption_decisions_bop = { + dismantle_nazgul = { + icon = GFX_decision_nazgul + + visible = { + always = yes + #has_completed_focus = lth_dismantlethenazgul + #ring_has_the_ring = yes + } + + available = { + NOT = { is_ally_with = MOR } + MOR = { has_government = belligerent } + OR = { + MOR = { has_character = MOR_Witch_king } + MOR = { has_character = MOR_Khamul } + MOR = { has_character = MOR_Uvantha } + MOR = { has_character = MOR_Hoarmurath } + MOR = { has_character = MOR_Dwar } + MOR = { has_character = MOR_Adunaphel } + MOR = { has_character = MOR_Akhorahil } + MOR = { has_character = MOR_Ji_Indur } + MOR = { has_character = MOR_Ren } + } + } + + allowed = { + original_tag = LTH + } + + ai_will_do = { + factor = 0 + modifier = { + add = 100 + power_balance_value = { + id = ring_corruption_balance + value < 0.5 + } + } + } + + fire_only_once = no + cost = 150 + is_good = yes + selectable_mission = yes + days_remove = 90 + + complete_effect = { + hidden_effect = { + MOR = { + activate_targeted_decision = { + target = MOR + decision = dismantle_nazgul_MOR + } + } + } + } + + remove_effect = { + # Remove nazgul at the cost of some ring corruption. Should take a long time to complete + add_power_balance_value = { + id = ring_corruption_balance + value = 0.1 + } + MOR = { + if = { + limit = { MOR_Ren = { is_unit_leader = yes } } + MOR_Ren = { + custom_effect_tooltip = character_dies_tt + hidden_effect = { retire = yes } + } + } + else_if = { + limit = { MOR_Ji_Indur = { is_unit_leader = yes } } + MOR_Ji_Indur = { + custom_effect_tooltip = character_dies_tt + hidden_effect = { retire = yes } + } + } + else_if = { + limit = { MOR_Akhorahil = { is_unit_leader = yes } } + MOR_Akhorahil = { + custom_effect_tooltip = character_dies_tt + hidden_effect = { retire = yes } + } + } + else_if = { + limit = { MOR_Adunaphel = { is_unit_leader = yes } } + MOR_Adunaphel = { + custom_effect_tooltip = character_dies_tt + hidden_effect = { retire = yes } + } + } + else_if = { + limit = { MOR_Dwar = { is_unit_leader = yes } } + MOR_Dwar = { + custom_effect_tooltip = character_dies_tt + hidden_effect = { retire = yes } + } + } + else_if = { + limit = { MOR_Hoarmurath = { is_unit_leader = yes } } + MOR_Hoarmurath = { + custom_effect_tooltip = character_dies_tt + hidden_effect = { retire = yes } + } + } + else_if = { + limit = { MOR_Uvantha = { is_unit_leader = yes } } + MOR_Uvantha = { + custom_effect_tooltip = character_dies_tt + hidden_effect = { retire = yes } + } + } + else_if = { + limit = { MOR_Khamul = { is_unit_leader = yes } } + MOR_Khamul = { + custom_effect_tooltip = character_dies_tt + hidden_effect = { retire = yes } + } + } + else_if = { + limit = { MOR_Witch_king = { is_unit_leader = yes } } + MOR_Witch_king = { + custom_effect_tooltip = character_dies_tt + hidden_effect = { retire = yes } + } + } + } + } + } +} + +ring_corruption_decisions = { + + dismantle_nazgul_MOR = { + icon = GFX_decision_nazgul + + allowed = { + always = no + } + activation = { + always = yes + } + available = { + always = no + } + + is_good = no + days_mission_timeout = 90 + selectable_mission = no + days_remove = 1 + fire_only_once = yes + + timeout_effect = { + effect_tooltip = { + LTH = { + add_power_balance_value = { + id = ring_corruption_balance + value = 0.1 + } + } + if = { + limit = { MOR_Ren = { is_unit_leader = yes } } + MOR_Ren = { + custom_effect_tooltip = character_dies_tt + retire = yes + } + } + else_if = { + limit = { MOR_Ji_Indur = { is_unit_leader = yes } } + MOR_Ji_Indur = { + custom_effect_tooltip = character_dies_tt + retire = yes + } + } + else_if = { + limit = { MOR_Akhorahil = { is_unit_leader = yes } } + MOR_Akhorahil = { + custom_effect_tooltip = character_dies_tt + retire = yes + } + } + else_if = { + limit = { MOR_Adunaphel = { is_unit_leader = yes } } + MOR_Adunaphel = { + custom_effect_tooltip = character_dies_tt + retire = yes + } + } + else_if = { + limit = { MOR_Dwar = { is_unit_leader = yes } } + MOR_Dwar = { + custom_effect_tooltip = character_dies_tt + retire = yes + } + } + else_if = { + limit = { MOR_Hoarmurath = { is_unit_leader = yes } } + MOR_Hoarmurath = { + custom_effect_tooltip = character_dies_tt + retire = yes + } + } + else_if = { + limit = { MOR_Uvantha = { is_unit_leader = yes } } + MOR_Uvantha = { + custom_effect_tooltip = character_dies_tt + retire = yes + } + } + else_if = { + limit = { MOR_Khamul = { is_unit_leader = yes } } + MOR_Khamul = { + custom_effect_tooltip = character_dies_tt + retire = yes + } + } + else_if = { + limit = { MOR_Witch_king = { is_unit_leader = yes } } + MOR_Witch_king = { + custom_effect_tooltip = character_dies_tt + retire = yes + } + } + } + } + } +} \ No newline at end of file diff --git a/common/decisions/LTH_mirror_decisions.txt b/common/decisions/LTH_mirror_decisions.txt new file mode 100644 index 000000000..e93f35294 --- /dev/null +++ b/common/decisions/LTH_mirror_decisions.txt @@ -0,0 +1,465 @@ +lothlorien_mirror_decisions_category = { + + investigate_the_giant = { + icon = GFX_decision_lth_mirror + + available = { + always = yes + } + + visible = { + has_country_flag = m_storyline_giant + has_country_flag = m_storyline_giant_knows_about_mound + has_country_flag = m_storyline_giant_knows_about_giant + + NOT = { + has_country_flag = m_storyline_giant_has_failed + } + } + + fire_only_once = no + cost = 50 + days_re_enable = 30 + + complete_effect = { + country_event = mirror.45 + } + } + + investigate_the_giant_2 = { + icon = GFX_decision_lth_mirror + + available = { + OR = { + has_country_flag = m_storyline_giant_arrows + has_country_flag = m_storyline_giant_rod + } + } + + visible = { + has_country_flag = m_storyline_giant + has_country_flag = m_storyline_giant_knows_about_mound + has_country_flag = m_storyline_giant_knows_about_giant + } + + fire_only_once = no + cost = 50 + days_re_enable = 30 + + complete_effect = { + country_event = mirror.45 + } + } + + # look into mirror + look_into_mirror = { + icon = GFX_decision_lth_mirror + + available = { + controls_state = 75 + } + + visible = { + has_completed_focus = lth_galadrielsmirror + NOT = { has_completed_focus = lth_mirrorupgrade } + } + + fire_only_once = no + cost = 50 + days_remove = 90 + + complete_effect = { + hidden_effect = { mirror_look_into_mirror = yes } + custom_effect_tooltip = look_into_mirror_tt + } + } + + # Upgrade with mirror upgrade focus + look_into_mirror_2 = { + icon = GFX_decision_lth_mirror + + available = { + controls_state = 75 + } + + visible = { + has_completed_focus = lth_galadrielsmirror + NOT = { has_decision = look_into_mirror } + has_completed_focus = lth_mirrorupgrade + } + + fire_only_once = no + cost = 25 + days_remove = 3 + + complete_effect = { + hidden_effect = { mirror_look_into_mirror = yes } + custom_effect_tooltip = look_into_mirror_tt + } + } + + # Consult the mirror on the fellowships path + consult_mirror_fellowship_path = { + icon = GFX_decision_lth_mirror + + available = { + always = yes + } + + visible = { + has_completed_focus = lth_galadrielsmirror + has_completed_focus = lth_mirrorupgrade + has_global_flag = fs_started + NOT = { has_global_flag = fs_arrived_in_rivendell } + NOT = { has_global_flag = fs_ring_seized } + NOT = { has_global_flag = fs_ring_destroyed } + NOT = { has_completed_focus = lth_requestaseatonelrondscouncil } + } + + fire_only_once = yes + cost = 50 + + complete_effect = { + custom_effect_tooltip = consult_mirror_fellowship_path_tt + hidden_effect = { + random_list = { + # redhorn pass + 2 = { + set_global_flag = mirror_predicted_redhorn + country_event = mirror.61 + } + # isengard + 1 = { + modifier = { + factor = 3 + has_global_flag = gandalf_saruman_united + } + modifier = { + factor = 0 + is_historical_focus_on = yes + } + set_global_flag = mirror_predicted_isengard + country_event = mirror.60 + } + # gundabad + 1 = { + modifier = { + factor = 2 + ANG = { has_completed_focus = ANG_join_gondor } + } + modifier = { + factor = 2 + ANG = { is_ai = no } + } + modifier = { + factor = 0 + is_historical_focus_on = yes + } + set_global_flag = mirror_predicted_gundabad + country_event = mirror.84 + } + # no clue + 1 = { + # The more non-ai players there are, the less we know + modifier = { + factor = 2 + ERE = { is_ai = no } + } + modifier = { + factor = 2 + MIR = { is_ai = no } + } + modifier = { + factor = 2 + RIV = { is_ai = no } + } + modifier = { + factor = 2 + GON = { is_ai = no } + } + country_event = mirror.62 + } + } + } + } + } + + # Consult the mirror on gala + consult_mirror_gala_edicts = { + icon = GFX_decision_lth_mirror + + available = { + always = yes + } + + visible = { + has_completed_focus = lth_thegreatschism + NOT = { has_completed_focus = lth_ringbearersedicts } + has_idea = LTH_great_schism + } + + fire_only_once = yes + cost = 50 + + complete_effect = { + custom_effect_tooltip = consult_mirror_gala_edicts_tt + hidden_effect = { + random_list = { + 70 = { + set_country_flag = mirror_predicted_gala_edicts_good + country_event = mirror.64 + } + 30 = { + set_country_flag = mirror_predicted_gala_edicts_bad + country_event = mirror.63 + } + } + } + } + } + + # Consult the mirror on cele + consult_mirror_cele_edicts = { + icon = GFX_decision_lth_mirror + + available = { + always = yes + } + + visible = { + has_completed_focus = lth_thegreatschism + NOT = { has_completed_focus = lth_alordsprerogative } + has_idea = LTH_great_schism + } + + fire_only_once = yes + cost = 50 + + complete_effect = { + custom_effect_tooltip = consult_mirror_cele_edicts_tt + hidden_effect = { + random_list = { + 70 = { + modifier = { + factor = 1.5 + has_completed_focus = lth_theprinceofdoriath + } + set_country_flag = mirror_predicted_cele_edicts_good + country_event = mirror.66 + } + 30 = { + set_country_flag = mirror_predicted_cele_edicts_bad + country_event = mirror.65 + } + } + } + } + } + + # Consult the mirror on anduin offer + consult_mirror_anduin_offer = { + icon = GFX_decision_lth_mirror + + available = { + always = yes + } + + visible = { + has_completed_focus = lth_preemptivemeasures + NOT = { has_completed_focus = lth_amostgenerousoffer } + NOT = { has_completed_focus = lth_agestureofgoodwill } + VAL = { is_ai = yes } + NOT = { has_war_with = VAL } + VAL = { is_puppet = no } + } + + fire_only_once = yes + cost = 50 + + complete_effect = { + hidden_effect = { + VAL = { + random_list = { + # no + 10 = { + modifier = { + factor = 2 + has_opinion = { target = LTH value < 0 } + } + modifier = { + factor = 2 + has_opinion = { target = LTH value < -25 } + } + modifier = { + factor = 2 + LTH = { is_going_different_path_as_root = yes } + } + modifier = { + factor = 2 + strength_ratio = { tag = LTH ratio > 1 } + } + modifier = { + factor = 2 + strength_ratio = { tag = LTH ratio > 2 } + } + modifier = { + has_government = cooperative + factor = 2 + } + LTH = { country_event = mirror.83 } + LTH = { set_country_flag = mirror_predicted_vales_decline } + } + # yes + 7 = { + modifier = { + factor = 2 + has_opinion = { target = LTH value > 50 } + } + modifier = { + factor = 2 + has_opinion = { target = LTH value > 25 } + } + modifier = { + factor = 2 + LTH = { is_going_same_path_as_root = yes } + } + modifier = { + factor = 2 + strength_ratio = { tag = LTH ratio < 1 } + } + modifier = { + factor = 2 + strength_ratio = { tag = LTH ratio < 0.6 } + } + LTH = { country_event = mirror.82 } + LTH = { set_country_flag = mirror_predicted_vales_accept } + } + # dunno + 5 = { + LTH = { country_event = mirror.79 } + } + } + } + } + } + } + + + # Get intel on country if it is really low (intel_level_over) + consult_mirror_intel = { + icon = GFX_decision_lth_mirror + + visible = { + has_war = yes + has_completed_focus = lth_mirrorupgrade + } + + cost = 150 + + fire_only_once = yes + + complete_effect = { + every_other_country = { + limit = { has_war_with = LTH } + + LTH = { + add_intel = { + target = FROM + civilian_intel = 10 + army_intel = 10 + navy_intel = 10 + } + } + } + } + } + + + # Possible Consult on path of any country + consult_mirror_on_country_path = { + icon = GFX_decision_lth_mirror + + target_root_trigger = { + has_completed_focus = lth_galadrielsmirror + } + target_array = mirror_targets_future + + target_trigger = { + FROM = { + is_ai = yes + OR = { + is_going_belligerent = yes + is_going_revolutionary = yes + is_going_unaligned = yes + is_going_cooperative = yes + } + } + is_in_array = { mirror_targets_future = FROM } + } + + cost = 100 + + fire_only_once = yes + + complete_effect = { + custom_effect_tooltip = consult_mirror_on_country_path_tt + hidden_effect = { + FROM = { + set_country_flag = mirror_targets_used + + save_event_target_as = mirror_future_target + + # 3/4 Certain chance of success + random_list = { + 30 = { + if = { + limit = { is_going_belligerent = yes } + random_list = { + 10 = { LTH = { country_event = mirror.67 } } + 10 = { LTH = { country_event = mirror.68 } } + 10 = { LTH = { country_event = mirror.69 } } + } + } + + + else_if = { + limit = { is_going_revolutionary = yes } + random_list = { + 10 = { LTH = { country_event = mirror.70 } } + 10 = { LTH = { country_event = mirror.71 } } + 10 = { LTH = { country_event = mirror.72 } } + } + } + + else_if = { + limit = { is_going_cooperative = yes } + random_list = { + 10 = { LTH = { country_event = mirror.73 } } + 10 = { LTH = { country_event = mirror.74 } } + 10 = { LTH = { country_event = mirror.75 } } + } + } + + else_if = { + limit = { is_going_unaligned = yes } + random_list = { + 10 = { LTH = { country_event = mirror.76 } } + 10 = { LTH = { country_event = mirror.77 } } + 10 = { LTH = { country_event = mirror.78 } } + } + } + } + 10 = { + random_list = { + 10 = { LTH = { country_event = mirror.79 } } + 10 = { LTH = { country_event = mirror.80 } } + 10 = { LTH = { country_event = mirror.81 } } + } + } + } + } + } + } + } + +} \ No newline at end of file diff --git a/common/decisions/MIR_decisions.txt b/common/decisions/MIR_decisions.txt index fae4821f3..27bc6bfb4 100644 --- a/common/decisions/MIR_decisions.txt +++ b/common/decisions/MIR_decisions.txt @@ -3,7 +3,7 @@ ################ MIR_dealing_with_dol_guldur = { MIR_hunt_down_orcs = { - icon = GFX_decision_generic_civil_support + icon = GFX_decision_revolt cost = 100 available = { diff --git a/common/decisions/MOR_decisions.txt b/common/decisions/MOR_decisions.txt index 88cb82bbd..59ceeecc0 100644 --- a/common/decisions/MOR_decisions.txt +++ b/common/decisions/MOR_decisions.txt @@ -28,7 +28,7 @@ MOR_influence_revolutionarye = { } } MOR_create_unrest_gon = { - icon = GFX_decision_gondor_cooperative_flag + icon = GFX_decision_revolt cost = 150 available = { @@ -51,7 +51,7 @@ MOR_influence_revolutionarye = { } } MOR_spread_support_for_mordor_gon = { - icon = GFX_decision_gondor_cooperative_flag + icon = GFX_decision_gondor cost = 100 available = { @@ -79,7 +79,7 @@ MOR_influence_revolutionarye = { } } MOR_make_contact_with_rebels_gon = { - icon = GFX_decision_gondor_cooperative_flag + icon = GFX_decision_gondor cost = 150 available = { @@ -109,7 +109,7 @@ MOR_influence_revolutionarye = { } } MOR_send_supplies_to_rebels_gon = { - icon = GFX_decision_gondor_cooperative_flag + icon = GFX_decision_gondor cost = 125 available = { @@ -135,7 +135,7 @@ MOR_influence_revolutionarye = { } } MOR_support_the_rebels_in_spreading_gon = { - icon = GFX_decision_gondor_cooperative_flag + icon = GFX_decision_gondor cost = 125 available = { @@ -159,7 +159,7 @@ MOR_influence_revolutionarye = { } } MOR_create_unrest_roh = { - icon = GFX_decision_rohan_cooperative_flag + icon = GFX_decision_rohan cost = 150 available = { @@ -182,7 +182,7 @@ MOR_influence_revolutionarye = { } } MOR_spread_support_for_mordor_roh = { - icon = GFX_decision_rohan_cooperative_flag + icon = GFX_decision_rohan cost = 100 available = { @@ -210,7 +210,7 @@ MOR_influence_revolutionarye = { } } MOR_make_contact_with_rebels_roh = { - icon = GFX_decision_rohan_cooperative_flag + icon = GFX_decision_rohan cost = 150 available = { @@ -240,7 +240,7 @@ MOR_influence_revolutionarye = { } } MOR_send_supplies_to_rebels_roh = { - icon = GFX_decision_rohan_cooperative_flag + icon = GFX_decision_rohan cost = 125 available = { @@ -266,7 +266,7 @@ MOR_influence_revolutionarye = { } } MOR_support_the_rebels_in_spreading_roh = { - icon = GFX_decision_rohan_cooperative_flag + icon = GFX_decision_rohan cost = 125 available = { @@ -293,7 +293,7 @@ MOR_influence_revolutionarye = { MOR_send_union_invites = { Send_union_invite_to_Eastlands = { - icon = GFX_decision_generic_civil_support + icon = GFX_decision_generic_army cost = 150 available = { @@ -318,7 +318,7 @@ MOR_send_union_invites = { } } Send_union_invite_to_Harad = { - icon = GFX_decision_generic_civil_support + icon = GFX_decision_generic_army_1 cost = 150 available = { @@ -343,7 +343,7 @@ MOR_send_union_invites = { } } Send_union_invite_to_Erebor = { - icon = GFX_decision_generic_civil_support + icon = GFX_decision_generic_army_2 cost = 150 available = { @@ -368,7 +368,7 @@ MOR_send_union_invites = { } } Send_union_invite_to_Dale ={ - icon = GFX_decision_generic_civil_support + icon = GFX_decision_generic_army_3 cost = 150 available = { @@ -398,7 +398,7 @@ MOR_send_union_invites = { MOR_build_railwork = { # south Build_railroad_1 = { - icon = GFX_decision_generic_civil_support + icon = GFX_decision_generic_infra cost = 150 available = { @@ -431,7 +431,7 @@ MOR_build_railwork = { # south Build_supply_hub_1 = { - icon = GFX_decision_generic_civil_support + icon = GFX_decision_generic_construction cost = 200 available = { @@ -461,7 +461,7 @@ MOR_build_railwork = { # north Build_railroad_2 = { - icon = GFX_decision_generic_civil_support + icon = GFX_decision_generic_infra cost = 150 available = { @@ -493,7 +493,7 @@ MOR_build_railwork = { # north Build_supply_hub_2 = { - icon = GFX_decision_generic_civil_support + icon = GFX_decision_generic_army_2 cost = 200 available = { @@ -521,7 +521,7 @@ MOR_build_railwork = { } } Build_infrastructure = { - icon = GFX_decision_generic_civil_support + icon = GFX_decision_generic_army_3 cost = 125 available = { @@ -545,7 +545,7 @@ MOR_build_railwork = { ## Dol Guldur MOR_dol_guldur = { MOR_sent_troops = { - icon = GFX_decision_generic_civil_support + icon = GFX_decision_generic_army_2 cost = 150 available = { @@ -587,7 +587,7 @@ MOR_dol_guldur = { } } MOR_sent_equipment = { - icon = GFX_decision_generic_civil_support + icon = GFX_decision_generic_army cost = 100 available = { @@ -629,7 +629,7 @@ MOR_dol_guldur = { } } MOR_sent_one_of_the_nine = { - icon = GFX_decision_generic_civil_support + icon = GFX_decision_nazgul cost = 75 visible = { @@ -694,7 +694,7 @@ MOR_dol_guldur = { MOR_bordor_skirmishes_gondor = { MOR_skirmish_minas_morgul = { - icon = GFX_decision_generic_civil_support + icon = GFX_decision_generic_army_2 cost = 15 visible = { diff --git a/common/decisions/Old_alliances_decisions.txt b/common/decisions/Old_alliances_decisions.txt new file mode 100644 index 000000000..4b5193008 --- /dev/null +++ b/common/decisions/Old_alliances_decisions.txt @@ -0,0 +1,78 @@ +BEACON_category = { + Light_the_beacon = { + icon = GFX_decision_beacons + cost = 200 + + allowed = { + OR = { + tag = GON + tag = ROH + } + } + + visible = { + always = yes + } + + available = { + has_defensive_war = yes + the_other_gondor_does_not_exist = yes + if = { + limit = { + tag = GON + } + NOT = { + has_war_with = ROH + all_allied_country = { + has_war_with = ROH + } + } + } + else_if = { + limit = { + tag = ROH + } + NOT = { + has_war_with = GON + all_allied_country = { + has_war_with = GON + } + } + } + } + + fire_only_once = yes + fixed_random_seed = no + complete_effect = { + if = { + limit = { + tag = GON + } + ROH = { + country_event = { id = old_alliances.1 days = 5 } + } + } + else_if = { + limit = { + tag = ROH + } + GON = { + country_event = { id = old_alliances.2 days = 5 } + } + } + } + ai_will_do = { + factor = 5 + modifier = { + factor = 0 + tag = ROH + is_historical_focus_on = yes + } + modifier = { + add = 15 + is_historical_focus_on = no + has_defensive_war = yes + } + } + } +} \ No newline at end of file diff --git a/common/decisions/RHU_decisions.txt b/common/decisions/RHU_decisions.txt index 84b8fcb2f..7d3ba67f6 100644 --- a/common/decisions/RHU_decisions.txt +++ b/common/decisions/RHU_decisions.txt @@ -3,7 +3,7 @@ ################ RHU_spread_support = { RHU_steal_weapons = { - icon = GFX_decision_generic_civil_support + icon = GFX_decision_generic_army_2 cost = 75 visible = { @@ -29,7 +29,7 @@ RHU_spread_support = { } RHU_hide_supplies = { - icon = GFX_decision_generic_civil_support + icon = GFX_decision_generic_army_1 cost = 50 visible = { @@ -50,7 +50,7 @@ RHU_spread_support = { } RHU_send_support = { - icon = GFX_decision_generic_civil_support + icon = GFX_decision_generic_army_3 cost = 50 state_target = yes @@ -103,7 +103,7 @@ RHU_spread_support = { } RHU_rally_troops_lithlad = { - icon = GFX_decision_generic_civil_support + icon = GFX_decision_generic_army cost = 75 state_target = yes @@ -134,7 +134,7 @@ RHU_spread_support = { } RHU_rally_troops_agasha = { - icon = GFX_decision_generic_civil_support + icon = GFX_decision_generic_army cost = 75 state_target = yes @@ -165,7 +165,7 @@ RHU_spread_support = { } RHU_rally_troops_far_eastern = { - icon = GFX_decision_generic_civil_support + icon = GFX_decision_generic_army cost = 75 state_target = yes @@ -196,7 +196,7 @@ RHU_spread_support = { } RHU_rally_troops_north_rhun= { - icon = GFX_decision_generic_civil_support + icon = GFX_decision_generic_army cost = 75 state_target = yes @@ -232,7 +232,7 @@ RHU_spread_support = { ############# RHU_kill_the_blue_wizards_cat = { RHU_kill_alatar = { - icon = GFX_decision_generic_civil_support + icon = GFX_decision_generic_plot cost = 50 available = { @@ -296,7 +296,7 @@ RHU_kill_the_blue_wizards_cat = { } } RHU_kill_pallando = { - icon = GFX_decision_generic_civil_support + icon = GFX_decision_generic_plot cost = 50 available = { @@ -366,7 +366,7 @@ RHU_kill_the_blue_wizards_cat = { ############# RHU_influencing_neighbours = { RHU_influencing_dorwinion = { - icon = GFX_decision_dorwinion_belligerent_support + icon = GFX_decision_dorwinion_fascism cost = 100 visible = { @@ -391,7 +391,7 @@ RHU_influencing_neighbours = { } RHU_propose_construction_embassy = { - icon = GFX_decision_dorwinion_belligerent_support + icon = GFX_decision_dorwinion_fascism cost = 150 visible = { @@ -416,7 +416,7 @@ RHU_influencing_neighbours = { } RHU_ignite_civil_war = { - icon = GFX_decision_dorwinion_belligerent_support + icon = GFX_decision_dorwinion_fascism cost = 200 visible = { @@ -446,7 +446,7 @@ RHU_influencing_neighbours = { } RHU_influencing_harad = { - icon = GFX_decision_harad_belligerent_support + icon = GFX_decision_harad_fascism cost = 100 visible = { @@ -474,7 +474,7 @@ RHU_influencing_neighbours = { } RHU_meet_insecret_with_harad = { - icon = GFX_decision_harad_belligerent_support + icon = GFX_decision_harad_fascism cost = 125 visible = { diff --git a/common/decisions/_debug_decisions.txt b/common/decisions/_debug_decisions.txt index f66a1ff04..848d302f1 100644 --- a/common/decisions/_debug_decisions.txt +++ b/common/decisions/_debug_decisions.txt @@ -1,6 +1,6 @@ debug_decisions = { - add_efficiency_growth_debug = { + begin_ring_mechanic = { icon = generic_research available = { @@ -16,7 +16,95 @@ debug_decisions = { cost = 0 complete_effect = { - + execute_fs_commence = yes + } + } + + ring_move_to_next_state = { + icon = generic_research + + available = { + is_ai = no + is_debug = yes + } + + visible = { + always = yes + } + + fire_only_once = no + cost = 0 + + complete_effect = { + SHI = { execute_fellowship_step = yes } + } + } + + testeroo = { + icon = generic_research + + available = { + is_ai = no + is_debug = yes + } + + visible = { + always = yes + } + + fire_only_once = no + cost = 0 + + complete_effect = { + remove_civil_war_target = D01 + #set_truce = { target = D01 days = 90 } + white_peace = D01 + } + } + + + activate_ithilien_crisis = { + icon = generic_research + + available = { + is_ai = no + is_debug = yes + OR = { + tag = MOR + tag = GON + } + } + + visible = { + always = yes + } + + fire_only_once = no + cost = 0 + + complete_effect = { + ithc_commence_ithilien_crisis = yes + } + } + + kill_aragorn = { + icon = generic_research + + available = { + is_ai = no + is_debug = yes + tag = GON + } + + visible = { + always = yes + } + + fire_only_once = no + cost = 0 + + complete_effect = { + SHI = { FS_aragorn = { ring_combat_kill_character = yes } } } } diff --git a/common/decisions/_generic_decisions.txt b/common/decisions/_generic_decisions.txt index a7d250a46..fa551c8c6 100644 --- a/common/decisions/_generic_decisions.txt +++ b/common/decisions/_generic_decisions.txt @@ -1,7 +1,7 @@ political_actions = { improved_worker_conditions = { - icon = generic_industry + icon = generic_2 available = { has_stability < 1.0 @@ -83,7 +83,7 @@ economy_decisions = { } seize_some_trains_woo = { #repeating train seize - icon = GFX_decision_hol_draw_up_staff_plans + icon = generic_4 visible = { num_of_factories < 60 @@ -117,7 +117,7 @@ economy_decisions = { propaganda_efforts = { war_propaganda = { - icon = generic_prepare_civil_war + icon = generic_army_3 available = { NOT = { has_country_flag = war_propaganda_campaign_running } @@ -167,7 +167,7 @@ propaganda_efforts = { war_propaganda_casualties = { - icon = generic_prepare_civil_war + icon = generic_army_3 available = { #NOT = { has_country_flag = war_propaganda_campaign_running } @@ -287,7 +287,7 @@ special_projects = { war_measures = { emergency_factory_conversion_defensive = { - icon = generic_industry + icon = generic_2 available = { num_of_civilian_factories > 5 #Change this if amount of factories change @@ -315,7 +315,7 @@ war_measures = { emergency_factory_conversion_offensive = { - icon = generic_industry + icon = generic_2 available = { num_of_civilian_factories > 5 #Change this if amount of factories change @@ -343,7 +343,7 @@ war_measures = { desperate_defense = { - icon = generic_prepare_civil_war + icon = generic_army_3 available = { surrender_progress > 0.5 @@ -488,9 +488,10 @@ economy_decisions = { } } ai_will_do = { - factor = 1 + base = 0 modifier = { factor = 10 + has_political_power > 175 #Spend on other things first any_owned_state = { free_building_slots = { building = industrial_complex size < 1 include_locked = no } } } } diff --git a/common/decisions/advisor_decisions.txt b/common/decisions/advisor_decisions.txt index 2dab530ba..0fc7d90ae 100644 --- a/common/decisions/advisor_decisions.txt +++ b/common/decisions/advisor_decisions.txt @@ -4,7 +4,7 @@ advisor_decisions_category = { investment_gambling_venture = { - icon = mission_icon # For GFX_decision_mission_icon + icon = GFX_decision_generic_treasure available = { always = no @@ -84,7 +84,7 @@ advisor_decisions_category = { } longterm_planner_improvement = { - icon = mission_icon # For GFX_decision_mission_icon + icon = GFX_decision_generic_treasure available = { always = no @@ -105,15 +105,22 @@ advisor_decisions_category = { days_remove = 1 timeout_effect = { - - custom_effect_tooltip = longterm_planner_improvement_timeout - - hidden_effect = { + if = { + limit = { has_country_flag = long_term_planner_improved } + custom_effect_tooltip = longterm_planner_improvement_timeout_improved add_to_variable = { - var = THIS.longterm_planner_factor - value = -0.02 + var = THIS.longterm_planner_factor + value = -0.04 } - + } + else = { + custom_effect_tooltip = longterm_planner_improvement_timeout + add_to_variable = { + var = THIS.longterm_planner_factor + value = -0.02 + } + } + hidden_effect = { if = { limit = { NOT = { has_dynamic_modifier = { modifier = longterm_planner_modifier } } } add_dynamic_modifier = { modifier = longterm_planner_modifier } @@ -122,8 +129,51 @@ advisor_decisions_category = { } } + provincial_councilor_organization = { + icon = GFX_decision_generic_4 + + available = { + always = no + } + + activation = { + has_idea_with_trait = provincial_councilor + any_owned_state = { + has_resistance = yes + NOT = { has_dynamic_modifier = { modifier = provincial_council_modifier } } + } + } + + cancel_trigger = { + OR = { + NOT = { has_idea_with_trait = provincial_councilor } + NOT = { + any_owned_state = { + has_resistance = yes + NOT = { has_dynamic_modifier = { modifier = provincial_council_modifier } } + } + } + } + } + + is_good = yes + days_mission_timeout = 180 + selectable_mission = no + days_remove = 1 + + timeout_effect = { + random_owned_state = { + limit = { + has_resistance = yes + NOT = { has_dynamic_modifier = { modifier = provincial_council_modifier } } + } + add_dynamic_modifier = { modifier = provincial_council_modifier } + } + } + } + serial_indeptor_loans_start = { - icon = mission_icon + icon = GFX_decision_generic_treasure is_good = yes days_mission_timeout = 0 @@ -171,7 +221,7 @@ advisor_decisions_category = { } serial_indeptor_loans = { - icon = mission_icon + icon = GFX_decision_generic_treasure is_good = yes days_mission_timeout = 712 @@ -209,7 +259,7 @@ advisor_decisions_category = { } serial_indeptor_extra_loan1 = { - icon = mission_icon + icon = GFX_decision_generic_treasure fire_only_once = yes # Can only loan money once! cost = 50 @@ -252,7 +302,7 @@ advisor_decisions_category = { } serial_indeptor_extra_loan2 = { - icon = mission_icon + icon = GFX_decision_generic_treasure fire_only_once = yes # Can only loan money once! cost = 50 @@ -295,9 +345,9 @@ advisor_decisions_category = { } backalley_dealer_sell_infantry_equipment = { - icon = mission_icon + icon = GFX_decision_operation_2 - selectable_mission = yes + #selectable_mission = yes days_remove = 356 visible = { @@ -326,9 +376,9 @@ advisor_decisions_category = { } backalley_dealer_sell_support_equipment = { - icon = mission_icon + icon = GFX_decision_operation_2 - selectable_mission = yes + #selectable_mission = yes days_remove = 356 visible = { @@ -336,7 +386,7 @@ advisor_decisions_category = { } available = { has_idea_with_trait = backalley_dealer - has_equipment = { support_equipment > 999 } + has_equipment = { support_equipment > 499 } } ai_will_do = { @@ -351,15 +401,15 @@ advisor_decisions_category = { add_offsite_building = { type = industrial_complex level = 1 } add_equipment_to_stockpile = { type = support_equipment - amount = -1000 + amount = -500 } } } backalley_dealer_sell_archery_equipment = { - icon = mission_icon + icon = GFX_decision_operation_2 - selectable_mission = yes + #selectable_mission = yes days_remove = 356 visible = { @@ -367,7 +417,7 @@ advisor_decisions_category = { } available = { has_idea_with_trait = backalley_dealer - has_equipment = { artillery_equipment > 999 } + has_equipment = { artillery_equipment > 499 } } ai_will_do = { @@ -382,19 +432,19 @@ advisor_decisions_category = { add_offsite_building = { type = industrial_complex level = 1 } add_equipment_to_stockpile = { type = artillery_equipment - amount = -1000 + amount = -500 } } } ruthless_pillager_relocate_civs = { - icon = mission_icon + icon = GFX_decision_generic_army_2 cost = 75 state_target = yes target_array = controlled_states - is_good = yes - selectable_mission = yes + #is_good = yes + #selectable_mission = yes days_remove = 120 target_root_trigger = { @@ -448,45 +498,8 @@ advisor_decisions_category = { } } - demand_tribute = { - icon = mission_icon - - cost = 75 - target_array = subjects - is_good = yes - selectable_mission = yes - days_remove = 720 - - ai_will_do = { - base = 10 - } - - target_root_trigger = { - has_idea_with_trait = tribute_collector - } - - available = { - has_idea_with_trait = tribute_collector - } - - cancel_trigger = { - NOT = { has_idea_with_trait = tribute_collector } - } - - cancel_effect = { - FROM = { remove_ideas = paying_tribute } - } - - complete_effect = { - FROM = { add_ideas = paying_tribute } - } - timeout_effect = { - FROM = { remove_ideas = paying_tribute } - } - } - pedantic_organizer_improvement = { - icon = mission_icon # For GFX_decision_mission_icon + icon = GFX_decision_generic_research available = { always = no @@ -507,15 +520,22 @@ advisor_decisions_category = { days_remove = 1 timeout_effect = { - - custom_effect_tooltip = pedantic_organizer_improvement_timeout - - hidden_effect = { + if = { + limit = { has_country_flag = pedantic_organizer_improved } + custom_effect_tooltip = pedantic_organizer_improvement_timeout_improved add_to_variable = { - var = THIS.pedantic_organizer_factor - value = 0.02 + var = THIS.pedantic_organizer_factor + value = 0.04 } - + } + else = { + custom_effect_tooltip = pedantic_organizer_improvement_timeout + add_to_variable = { + var = THIS.pedantic_organizer_factor + value = 0.02 + } + } + hidden_effect = { if = { limit = { NOT = { has_dynamic_modifier = { modifier = pedantic_organizer_modifier } } } add_dynamic_modifier = { modifier = pedantic_organizer_modifier } @@ -525,7 +545,7 @@ advisor_decisions_category = { } negotiate_trade_deal = { - icon = mission_icon + icon = GFX_decision_unknown available = { OR = { @@ -577,7 +597,7 @@ advisor_decisions_category = { } ambitous_expansionist_send_demand = { - icon = mission_icon + icon = GFX_decision_generic_5 target_root_trigger = { has_idea_with_trait = ambitous_expansionist @@ -604,16 +624,9 @@ advisor_decisions_category = { } } - cancel_trigger = { - NOT = { - has_idea_with_trait = ambitous_expansionist - } - } - cost = 150 target_array = neighbors cancel_if_not_visible = yes - is_good = yes fire_only_once = yes ai_will_do = { @@ -650,7 +663,7 @@ advisor_decisions_category = { } sanction_imposer_embargo_country = { - icon = mission_icon + icon = GFX_decision_generic_4 available = { has_opinion = { target = FROM value < -25 } @@ -693,7 +706,7 @@ advisor_decisions_category = { } reasoning_charmer_build_collaboration = { - icon = mission_icon + icon = GFX_decision_generic_cooperation target_root_trigger = { has_idea_with_trait = reasoning_charmer @@ -717,7 +730,6 @@ advisor_decisions_category = { cost = 150 target_array = countries cancel_if_not_visible = yes - is_good = yes fire_only_once = yes days_remove = 140 @@ -756,12 +768,12 @@ advisor_decisions_category = { } sow_of_distrust = { - icon = mission_icon + icon = GFX_decision_operation_2 cost = 150 target_array = neighbors - is_good = yes - selectable_mission = yes + #is_good = yes + #selectable_mission = yes days_remove = 356 target_root_trigger = { @@ -811,7 +823,7 @@ advisor_decisions_category = { valuable_luxury_crafter_start = { # A bit weird: we can't run on_add for characters, instead we use this auto-triggered mission. - icon = mission_icon + icon = GFX_decision_generic_blacksmith is_good = yes days_mission_timeout = 0 @@ -842,7 +854,7 @@ advisor_decisions_category = { chaos_enjoyer_start = { # A bit weird: we can't run on_add for characters, instead we use this auto-triggered mission. - icon = mission_icon + icon = GFX_decision_revolt is_good = yes days_mission_timeout = 0 @@ -871,9 +883,9 @@ advisor_decisions_category = { } food_exporter_sell_food = { - icon = mission_icon + icon = GFX_decision_generic_farming - selectable_mission = yes + #selectable_mission = yes days_remove = 356 visible = { @@ -930,7 +942,7 @@ advisor_decisions_category = { captain_of_the_ithilien_rangers_start = { # A bit weird: we can't run on_add for characters, instead we use this auto-triggered mission. - icon = mission_icon + icon = GFX_decision_generic_operation is_good = yes days_mission_timeout = 0 @@ -960,7 +972,7 @@ advisor_decisions_category = { } spark_of_genius_spark = { - icon = mission_icon # For GFX_decision_mission_icon + icon = GFX_decision_generic_research available = { always = no diff --git a/common/decisions/categories/GON_decision_categories.txt b/common/decisions/categories/GON_decision_categories.txt new file mode 100644 index 000000000..712234eb9 --- /dev/null +++ b/common/decisions/categories/GON_decision_categories.txt @@ -0,0 +1,11 @@ +GON_army_of_the_death = { + icon = military_operation + visible = { + OR = { + has_government = cooperative + has_government = unaligned + } + RIV = { has_completed_focus = reforgethebladeofnarsil } + has_completed_focus = GON_crown_aragorn_king + } +} \ No newline at end of file diff --git a/common/decisions/categories/LTH_decision_categories.txt b/common/decisions/categories/LTH_decision_categories.txt new file mode 100644 index 000000000..1994df2f9 --- /dev/null +++ b/common/decisions/categories/LTH_decision_categories.txt @@ -0,0 +1,31 @@ +lothlorien_influence_decisions_category = { + icon = military_operation + + scripted_gui = lothlorien_influence_scripted_gui + + visible_when_empty = yes + + visible = { + always = yes + } + allowed = { + original_tag = LTH + } +} + +lothlorien_mirror_decisions_category = { + icon = military_operation + + scripted_gui = lth_mirror_decisions_scripted_gui + + visible_when_empty = yes + + visible = { + has_completed_focus = lth_galadrielsmirror + NOT = { lth_civil_war_sindar = yes } + } + allowed = { + original_tag = LTH + } +} + diff --git a/common/decisions/categories/Old_alliances_categories.txt b/common/decisions/categories/Old_alliances_categories.txt new file mode 100644 index 000000000..edc79a322 --- /dev/null +++ b/common/decisions/categories/Old_alliances_categories.txt @@ -0,0 +1,9 @@ +BEACON_category = { + icon = military_operation + visible = { + OR = { + tag = GON + tag = ROH + } + } +} \ No newline at end of file diff --git a/common/decisions/categories/advisor_decision_categories.txt b/common/decisions/categories/advisor_decision_categories.txt index 1d685d223..78532d339 100644 --- a/common/decisions/categories/advisor_decision_categories.txt +++ b/common/decisions/categories/advisor_decision_categories.txt @@ -1,6 +1,6 @@ advisor_decisions_category = { icon = military_operation visible = { - is_ai = no + ithc_crisis_is_active = yes } } diff --git a/common/decisions/categories/elven_alliance_decision_categories.txt b/common/decisions/categories/elven_alliance_decision_categories.txt new file mode 100644 index 000000000..0ead4dbfe --- /dev/null +++ b/common/decisions/categories/elven_alliance_decision_categories.txt @@ -0,0 +1,19 @@ +elven_alliance_decisions_category = { + icon = military_operation + + scripted_gui = elven_alliance_scripted_gui + + visible_when_empty = yes + + visible = { + is_elven_alliance_member = yes + #always = no + } + allowed = { + always = yes + #OR = { + # tag = LTH + # tag = RIV + #} + } +} diff --git a/common/decisions/categories/ithilien_crisis_decision_categories.txt b/common/decisions/categories/ithilien_crisis_decision_categories.txt new file mode 100644 index 000000000..c3c87797e --- /dev/null +++ b/common/decisions/categories/ithilien_crisis_decision_categories.txt @@ -0,0 +1,17 @@ +ithilien_crisis_decisions_category = { + icon = military_operation + + scripted_gui = ithilien_crisis_decisions_scripted_gui + + visible_when_empty = yes + + visible = { + ithc_crisis_is_active = yes + } + allowed = { + OR = { + tag = MOR + tag = GON + } + } +} diff --git a/common/decisions/categories/ring_decision_categories.txt b/common/decisions/categories/ring_decision_categories.txt index 6e6bd18be..ae3a7fb96 100644 --- a/common/decisions/categories/ring_decision_categories.txt +++ b/common/decisions/categories/ring_decision_categories.txt @@ -7,5 +7,54 @@ ring_decisions = { visible = { has_global_flag = fs_started + NOT = { has_global_flag = fs_ring_seized } + NOT = { has_global_flag = fs_ring_destroyed } + # LTH needs to unlock this manually + OR = { + NOT = { tag = LTH } + has_country_flag = lth_ring_mechanic_unlocked + } + } +} + +# Sauron's decisions to corrupt ring owner +ring_corruption_decisions = { + icon = ring_icon + + scripted_gui = ring_corruption_decisions_scripted_gui + + visible_when_empty = yes + + allowed = { + tag = MOR + } + + visible = { + OR = { + has_global_flag = fs_ring_seized + has_global_flag = fs_ring_destroyed + } + NOT = { ring_has_the_ring = yes } + } +} + +# Ring owner decisions to combat corruption +ring_corruption_decisions_bop = { + icon = ring_icon + + scripted_gui = ring_corruption_decisions_scripted_gui + + visible_when_empty = yes + + allowed = { + NOT = { tag = MOR } + } + + visible = { + OR = { + has_global_flag = fs_ring_seized + has_global_flag = fs_ring_destroyed + } + #ring_has_the_ring = yes } } diff --git a/common/decisions/elven_alliance_decisions.txt b/common/decisions/elven_alliance_decisions.txt new file mode 100644 index 000000000..abc1c725a --- /dev/null +++ b/common/decisions/elven_alliance_decisions.txt @@ -0,0 +1,241 @@ +elven_alliance_decisions_category = { + + starting_vote = { + icon = GFX_decision_assembly + + activation = { + NOT = { has_global_flag = ea_vote_in_progress } + NOT = { has_global_flag = ea_assembly_in_recess } + NOT = { ea_resolution_queue_empty = yes } + ea_single_member_trigger = yes # Only run this once + } + available = { + always = yes + } + visible = { + always = yes + } + + ai_will_do = { + factor = 0 + } + + priority = 100 + + fire_only_once = no + days_mission_timeout = 0 + selectable_mission = no + + complete_effect = { + # clear previous votes + elven_alliance_clear_votes = yes + + # Get next resolution from queue + set_variable = { global.ea_current_resolution = global.ea_resolutions_queue^0 } + set_variable = { global.ea_current_resolution_proposer = global.ea_proposers_queue^0 } + var:global.ea_current_resolution_proposer = { + set_variable = { + global.ea_current_resolution_target = ea_resolution_target + } + } + remove_from_array = { array = global.ea_resolutions_queue index = 0 } + remove_from_array = { array = global.ea_proposers_queue index = 0 } + + # Start vote + set_global_flag = ea_vote_in_progress + + for_each_scope_loop = { + array = global.elven_alliance_members + activate_mission = vote_in_progress + } + } + } + + vote_in_progress = { + icon = GFX_decision_assembly + + activation = { + #NOT = { has_global_flag = ea_vote_in_progress } + #NOT = { has_global_flag = ea_assembly_in_recess } + #NOT = { ea_resolution_queue_empty = yes } + always = no + } + available = { + always = no + } + visible = { + always = no + } + + ai_will_do = { + factor = 0 + } + + priority = 100 + + fire_only_once = no + is_good = yes + days_mission_timeout = 70 + selectable_mission = no + + timeout_effect = { + # Count votes and pass resolution + + effect_tooltip = { + elven_alliance_vote_effect = yes + } + + if = { + limit = { ea_single_member_trigger = yes } + hidden_effect = { + clr_global_flag = ea_vote_in_progress + set_global_flag = ea_assembly_in_recess + + for_each_scope_loop = { + array = global.elven_alliance_members + activate_mission = assembly_in_recess + if = { + limit = { + has_global_flag = ea_alliance_advanced_resolutions_unlocked + } + add_days_mission_timeout = { mission = assembly_in_recess days = -20 } + } + if = { + limit = { + ea_has_alliance_tier_1 = yes + } + add_days_mission_timeout = { mission = assembly_in_recess days = -20 } + } + } + + for_each_scope_loop = { + array = global.elven_alliance_members + elven_alliance_vote_effect = yes + } + + clear_variable = global.ea_current_resolution_target + } + } + } + + cancel_trigger = { + has_global_flag = ea_vote_vetoed + } + + cancel_effect = { + clr_global_flag = ea_vote_vetoed + clr_global_flag = ea_vote_in_progress + + set_global_flag = ea_assembly_in_recess + activate_mission = assembly_in_recess + + clear_variable = global.ea_current_resolution_target + hidden_effect = { + # shorten recess if alliance advanced resolutions unlocked + if = { + limit = { + ea_single_member_trigger = yes + has_global_flag = ea_alliance_advanced_resolutions_unlocked + } + add_days_mission_timeout = { mission = assembly_in_recess days = -20 } + } + # shorten recess if alliance advanced resolutions unlocked + if = { + limit = { + ea_single_member_trigger = yes + ea_has_alliance_tier_1 = yes + } + add_days_mission_timeout = { mission = assembly_in_recess days = -20 } + } + } + } + } + + assembly_in_recess = { + icon = GFX_decision_assembly + + activation = { + #has_global_flag = ea_assembly_in_recess + always = no + } + available = { + always = no + } + visible = { + always = yes + } + + ai_will_do = { + factor = 0 + } + + priority = 100 + + fire_only_once = no + + is_good = yes + days_mission_timeout = 120 + selectable_mission = no + + timeout_effect = { + if = { + limit = { ea_single_member_trigger = yes } + clr_global_flag = ea_assembly_in_recess + } + } + + cancel_trigger = { + always = no + } + } + + # hegemony leader: VETO + ea_veto_resolution = { + icon = GFX_decision_generic_authority + cost = 100 + + days_re_enable = 120 + + available = { + var:global.ea_hegemony_leader = { tag = ROOT } + } + visible = { + has_global_flag = ea_vote_in_progress + var:global.ea_hegemony_leader = { tag = ROOT } + ea_has_hegemony_tier_1 = yes + NOT = { has_global_flag = ea_vote_vetoed } + } + + ai_will_do = { + factor = 0 + } + + fire_only_once = no + + complete_effect = { + set_global_flag = ea_vote_vetoed + } + } + + # Leave assembly + ea_leave_assembly = { + icon = GFX_decision_generic_4 + cost = 100 + + visible = { + is_elven_alliance_member = yes + NOT = { ea_is_hegemony_leader = yes } + NOT = { ea_has_hegemony_tier_2 = yes } + } + + ai_will_do = { + factor = 0 + } + + fire_only_once = no + + complete_effect = { + elven_alliance_leave = yes + } + } +} \ No newline at end of file diff --git a/common/decisions/ithilien_crisis_decisions.txt b/common/decisions/ithilien_crisis_decisions.txt new file mode 100644 index 000000000..64e99ccd5 --- /dev/null +++ b/common/decisions/ithilien_crisis_decisions.txt @@ -0,0 +1,572 @@ +#################### +##ITHILIEN CRISIS### +#################### + +ithilien_crisis_decisions_category = { + + ithc_contest_state_MOR = { + icon = GFX_decision_sauron_eye + + cost = 100 + state_target = yes + targets = { 22 175 173 135 } + is_good = yes + selectable_mission = yes + days_remove = 30 + + fire_only_once = yes + + allowed = { + tag = MOR + } + + target_root_trigger = { + ithc_crisis_is_active = yes + } + + target_trigger = { + FROM = { + ithc_state_available_to_contest = yes + } + } + + available = { + FROM = { ithc_state_available_to_contest = yes } + NOT = { has_country_flag = ithc_is_contesting_state } + } + + cancel_trigger = { + hidden_trigger = { + NOT = { + ithc_crisis_is_active = yes + FROM = { ithc_state_available_to_contest = yes} + } + } + } + + ai_will_do = { + base = 10 + } + + remove_effect = { + FROM = { ithc_contest_state = yes } + hidden_effect = { + clr_country_flag = ithc_is_contesting_state + } + } + + cancel_effect = { + + } + + complete_effect = { + hidden_effect = { + set_country_flag = ithc_is_contesting_state + + GON = { + activate_targeted_decision = { + target = FROM + decision = ithc_contest_state_GON + } + } + } + } + } + + ithc_contest_state_GON = { + icon = GFX_decision_sauron_eye + + state_target = yes + targets = { 22 175 173 135 } + + allowed = { + always = no + } + activation = { + always = yes + } + available = { + always = no + } + + is_good = no + days_mission_timeout = 30 + selectable_mission = no + days_remove = 1 + fire_only_once = yes + + timeout_effect = { + custom_effect_tooltip = ithc_contest_state_GON_tt + + hidden_effect = { + remove_targeted_decision = { target = FROM decision = ithc_contest_state_GON } + } + } + } + + + ### + ### PILLAGE + ### + + ithc_pillage_state = { + icon = { + key = GFX_decision_pillage_0 + trigger = { + FROM = { check_variable = { ithc_pillage_level < 1 } } + } + } + icon = { + key = GFX_decision_pillage_1 + trigger = { + FROM = { check_variable = { ithc_pillage_level = 1 } } + } + } + icon = { + key = GFX_decision_pillage_2 + trigger = { + FROM = { check_variable = { ithc_pillage_level = 2 } } + } + } + icon = { + key = GFX_decision_pillage_3 + trigger = { + FROM = { check_variable = { ithc_pillage_level > 2 } } + } + } + + is_good = yes + selectable_mission = yes + state_target = yes + targets = { 22 175 173 135 } + + cost = var:ithc_pillage_decision_cost_pp?50 + days_remove = 70 + + allowed = { + tag = MOR + } + + visible = { + tag = MOR + FROM = { has_state_flag = ithc_contested } + FROM = { is_controlled_by = GON } + } + + available = { + ithc_crisis_is_active = yes + + NOT = { FROM = { has_state_flag = ithc_pillage_operation } } + + FROM = { + MOR = { + ithc_has_higher_power_projection = yes + } + } + } + + cancel_trigger = { + hidden_trigger = { + ithc_crisis_is_active = no + } + } + + cancel_effect = { + FROM = { clr_state_flag = ithc_pillage_operation } + } + + ai_will_do = { + base = 100 + } + + complete_effect = { + FROM = { ithc_begin_pillage_decision = yes } + + hidden_effect = { + GON = { + activate_targeted_decision = { + target = FROM + decision = ithc_pillage_state_GON + } + } + } + } + + remove_effect = { + # deal damage to troops stationed in the state + FROM = { + ithc_end_pillage_decision = yes + + damage_building = { + type = infrastructure + damage = 1 + } + } + + damage_units = { + state = FROM + org_damage = 0.1 + str_damage = 0.05 + ratio = yes + army = yes + } + } + } + + ithc_pillage_state_GON = { + icon = { + key = GFX_decision_pillage_0 + trigger = { + FROM = { check_variable = { ithc_pillage_level < 1 } } + } + } + icon = { + key = GFX_decision_pillage_1 + trigger = { + FROM = { check_variable = { ithc_pillage_level = 1 } } + } + } + icon = { + key = GFX_decision_pillage_2 + trigger = { + FROM = { check_variable = { ithc_pillage_level = 2 } } + } + } + icon = { + key = GFX_decision_pillage_3 + trigger = { + FROM = { check_variable = { ithc_pillage_level > 2 } } + } + } + + state_target = yes + targets = { 22 175 173 135 } + + allowed = { + always = no + } + activation = { + always = yes + } + available = { + always = no + } + + cancel_trigger = { + hidden_trigger = { + ithc_crisis_is_active = no + } + } + + is_good = no + days_mission_timeout = 70 + selectable_mission = no + days_remove = 1 + fire_only_once = yes + + timeout_effect = { + effect_tooltip = { + ithc_increase_pillage_level = yes + } + } + } + + ithc_unpillage_state = { + icon = { + key = GFX_decision_unpillage_0 + trigger = { + FROM = { check_variable = { ithc_pillage_level < 1 } } + } + } + icon = { + key = GFX_decision_unpillage_1 + trigger = { + FROM = { check_variable = { ithc_pillage_level = 1 } } + } + } + icon = { + key = GFX_decision_unpillage_2 + trigger = { + FROM = { check_variable = { ithc_pillage_level = 2 } } + } + } + icon = { + key = GFX_decision_unpillage_3 + trigger = { + FROM = { check_variable = { ithc_pillage_level > 2 } } + } + } + + is_good = yes + selectable_mission = yes + state_target = yes + targets = { 22 175 173 135 } + + cost = var:ithc_pillage_decision_cost_pp?50 + days_remove = 70 + + allowed = { + tag = GON + } + + visible = { + has_completed_focus = GON_ithilien_crisis + ithc_crisis_is_active = yes + tag = GON + FROM = { has_state_flag = ithc_contested } + FROM = { is_controlled_by = GON } + } + + available = { + custom_trigger_tooltip = { + tooltip = "Raid level is higher than 0" + FROM = { check_variable = { ithc_pillage_level > 0 } } + } + + NOT = { FROM = { has_state_flag = ithc_pillage_operation } } + + FROM = { + GON = { + ithc_has_higher_power_projection = yes + } + } + } + + cancel_trigger = { + hidden_trigger = { + ithc_crisis_is_active = no + } + } + + cancel_effect = { + FROM = { clr_state_flag = ithc_pillage_operation } + } + + ai_will_do = { + base = 100 + } + + complete_effect = { + FROM = { ithc_begin_unpillage_decision = yes } + + hidden_effect = { + MOR = { + activate_targeted_decision = { + target = FROM + decision = ithc_unpillage_state_MOR + } + } + } + } + + remove_effect = { + FROM = { + ithc_end_unpillage_decision = yes + } + } + } + + ithc_unpillage_state_MOR = { + icon = { + key = GFX_decision_unpillage_0 + trigger = { + FROM = { check_variable = { ithc_pillage_level < 1 } } + } + } + icon = { + key = GFX_decision_unpillage_1 + trigger = { + FROM = { check_variable = { ithc_pillage_level = 1 } } + } + } + icon = { + key = GFX_decision_unpillage_2 + trigger = { + FROM = { check_variable = { ithc_pillage_level = 2 } } + } + } + icon = { + key = GFX_decision_unpillage_3 + trigger = { + FROM = { check_variable = { ithc_pillage_level > 2 } } + } + } + + state_target = yes + targets = { 22 175 173 135 } + + allowed = { + always = no + } + activation = { + always = yes + } + available = { + always = no + } + + cancel_trigger = { + hidden_trigger = { + ithc_crisis_is_active = no + } + } + + is_good = no + days_mission_timeout = 70 + selectable_mission = no + days_remove = 1 + fire_only_once = yes + + timeout_effect = { + effect_tooltip = { + ithc_decrease_pillage_level = yes + } + } + } + + ithc_evacuate_state_GON = { + icon = GFX_decision_generic_5 + + fire_only_once = yes + + is_good = yes + selectable_mission = yes + state_target = yes + targets = { 22 175 173 135 } + + cost = 50 + days_remove = 120 + + allowed = { + tag = GON + } + + visible = { + has_completed_focus = GON_ithc_evacuate + ithc_crisis_is_active = yes + tag = GON + } + + available = { + FROM = { check_variable = { ithc_pillage_level > 1 } } + } + + ai_will_do = { + base = 10 + } + + cancel_trigger = { + exists = no + } + + complete_effect = { + set_temp_variable = { + ithc_evacuated_population = state_population + } + + # TOOLTIP + effect_tooltip = { + FROM = { + # get half the state's population + set_temp_variable = { ithc_evacuated_population = state_population } + multiply_temp_variable = { ithc_evacuated_population = 0.5 } + + # Remove from state + multiply_temp_variable = { ithc_evacuated_population = -1 } + add_manpower = ithc_evacuated_population + multiply_temp_variable = { ithc_evacuated_population = -1 } + + # get 2/3 of civ industry (rounded up) + set_temp_variable = { ithc_evacuated_civs = industrial_complex_level } + multiply_temp_variable = { ithc_evacuated_civs = 0.66 } + round_temp_variable = ithc_evacuated_civs + + # remove from state + remove_building = { type = industrial_complex level = ithc_evacuated_civs } + + # get 2/3 of mil industry (rounded up) + set_temp_variable = { ithc_evacuated_mils = arms_factory_level } + multiply_temp_variable = { ithc_evacuated_mils = 0.66 } + round_temp_variable = ithc_evacuated_mils + + # remove from state + remove_building = { type = arms_factory level = ithc_evacuated_mils } + } + } + + # ACTUAL EFFECT + hidden_effect = { + FROM = { + # get half the state's population + set_variable = { ithc_evacuated_population = state_population } + multiply_variable = { ithc_evacuated_population = 0.5 } + + # Remove from state + multiply_variable = { ithc_evacuated_population = -1 } + add_manpower = ithc_evacuated_population + multiply_variable = { ithc_evacuated_population = -1 } + + # get 2/3 of civ industry (rounded up) + set_variable = { ithc_evacuated_civs = industrial_complex_level } + multiply_variable = { ithc_evacuated_civs = 0.66 } + round_variable = ithc_evacuated_civs + + # remove from state + remove_building = { type = industrial_complex level = ithc_evacuated_civs } + + # get 2/3 of mil industry (rounded up) + set_variable = { ithc_evacuated_mils = arms_factory_level } + multiply_variable = { ithc_evacuated_mils = 0.66 } + round_variable = ithc_evacuated_mils + + # remove from state + remove_building = { type = arms_factory level = ithc_evacuated_mils } + } + } + } + + remove_effect = { + random_owned_state = { + + # TOOLTIP + effect_tooltip = { + set_temp_variable = { ithc_evacuated_population = FROM.state_population } + multiply_temp_variable = { ithc_evacuated_population = 0.5 } + # add manpower + add_manpower = ithc_evacuated_population + + set_temp_variable = { ithc_evacuated_civs = FROM.industrial_complex_level } + multiply_temp_variable = { ithc_evacuated_civs = 0.66 } + round_temp_variable = ithc_evacuated_civs + # add civs + add_building_construction = { type = industrial_complex level = ithc_evacuated_civs instant_build = yes } + + set_temp_variable = { ithc_evacuated_mils = FROM.arms_factory_level } + multiply_temp_variable = { ithc_evacuated_mils = 0.66 } + round_temp_variable = ithc_evacuated_mils + # add mils + add_building_construction = { type = arms_factory level = ithc_evacuated_mils instant_build = yes } + } + + # ACTUAL AFFECT + hidden_effect = { + # add manpower + add_manpower = FROM.ithc_evacuated_population + + # add civs + add_building_construction = { type = industrial_complex level = FROM.ithc_evacuated_civs instant_build = yes } + + # add mils + add_building_construction = { type = arms_factory level = FROM.ithc_evacuated_mils instant_build = yes } + + # clear vars + FROM = { + clear_variable = ithc_evacuated_population + clear_variable = ithc_evacuated_civs + clear_variable = ithc_evacuated_mils + } + } + } + } + } +} diff --git a/common/decisions/political_decisions.txt b/common/decisions/political_decisions.txt index dedbb4ae6..3b7a618b6 100644 --- a/common/decisions/political_decisions.txt +++ b/common/decisions/political_decisions.txt @@ -3,7 +3,7 @@ shift_in_the_wind = { prepare_for_civil_war = { - icon = generic_prepare_civil_war + icon = generic_army_3 available = { if = { @@ -50,7 +50,7 @@ shift_in_the_wind = { expand_civil_support = { - icon = generic_civil_support + icon = GFX_decision_generic_2 visible = { OR = { @@ -108,7 +108,7 @@ shift_in_the_wind = { army_support_for_civil_war = { - icon = generic_army_support + icon = generic_army visible = { has_country_flag = preparation_for_civil_war @@ -163,7 +163,7 @@ shift_in_the_wind = { ensure_general_loyalty_for_civil_war = { - icon = generic_army_support + icon = generic_army available = { has_country_flag = military_support_for_civil_war @@ -198,7 +198,7 @@ shift_in_the_wind = { ensure_marshal_loyalty_for_civil_war = { - icon = generic_army_support + icon = GFX_decision_generic_cavalry_2 available = { has_country_flag = military_support_for_civil_war @@ -236,7 +236,7 @@ shift_in_the_wind = { siphon_equipment_stockpiles_for_civil_war = { - icon = generic_prepare_civil_war + icon = GFX_decision_generic_decision available = { has_country_flag = military_support_for_civil_war @@ -275,7 +275,7 @@ shift_in_the_wind = { formulate_surprise_attack_plan_for_civil_war = { - icon = generic_army_support + icon = GFX_decision_unknown available = { has_country_flag = military_support_for_civil_war @@ -308,7 +308,7 @@ shift_in_the_wind = { } ignite_the_civil_war_single_state = { - icon = generic_ignite_civil_war + icon = GFX_decision_generic_army_1 name = ignite_the_civil_war available = { @@ -375,7 +375,7 @@ shift_in_the_wind = { ignite_the_civil_war = { - icon = generic_ignite_civil_war + icon = GFX_decision_generic_army_1 available = { has_stability < 0.5 @@ -542,7 +542,7 @@ shift_in_the_wind = { open_up_political_discourse = { - icon = generic_political_discourse + icon = generic_3 available = { belligerent < 0.9 @@ -585,7 +585,7 @@ shift_in_the_wind = { discredit_government = { - icon = generic_political_discourse + icon = GFX_decision_generic_4 available = { belligerent < 0.8 @@ -665,7 +665,7 @@ shift_in_the_wind = { hold_national_referendum = { - icon = generic_political_discourse + icon = GFX_decision_generic_1 available = { if = { diff --git a/common/decisions/ring_decisions.txt b/common/decisions/ring_decisions.txt index 4fce2d41f..beaf85e1a 100644 --- a/common/decisions/ring_decisions.txt +++ b/common/decisions/ring_decisions.txt @@ -5,7 +5,7 @@ ring_decisions = { launch_interception_attempt = { - icon = GFX_decision_infiltrate_state + icon = GFX_decision_generic_army_2 cost = 150 available = { @@ -22,8 +22,6 @@ ring_decisions = { } } - NOT = { has_global_flag = fs_ring_seized } - NOT = { has_global_flag = fs_ring_destroyed } NOT = { has_country_flag = fs_has_used_action } NOT = { has_country_flag = fs_interceptions_disabled } @@ -31,14 +29,17 @@ ring_decisions = { } visible = { + always = yes has_global_flag = fs_started is_ai = no NOT = { ring_has_special_interaction = yes } + NOT = { has_global_flag = fs_ring_seized } + NOT = { has_global_flag = fs_ring_destroyed } } ai_will_do = { - base = 0 # AI has a cheary decision that costs no pp, so no point in doing this one + base = 0 # AI has a cheaty decision that costs no pp, so no point in doing this one } fire_only_once = yes @@ -56,7 +57,7 @@ ring_decisions = { # AI doesn't need to pay pp for this decision cause they stupid launch_interception_attempt_ai_cheat = { - icon = GFX_decision_generic_civil_support + icon = GFX_decision_ring cost = 0 available = { @@ -73,9 +74,7 @@ ring_decisions = { } } - NOT = { has_global_flag = fs_ring_seized } NOT = { has_country_flag = fs_has_used_action } - NOT = { has_global_flag = fs_ring_destroyed } NOT = { has_country_flag = fs_interceptions_disabled } check_variable = { army_leaders^num > 0 } @@ -86,6 +85,8 @@ ring_decisions = { is_ai = yes NOT = { ring_has_special_interaction = yes } + NOT = { has_global_flag = fs_ring_seized } + NOT = { has_global_flag = fs_ring_destroyed } } ai_will_do = { @@ -155,9 +156,6 @@ ring_decisions = { has_global_flag = fs_arrived_in_rivendell - NOT = { has_global_flag = fs_ring_seized } - NOT = { has_global_flag = fs_ring_destroyed } - check_variable = { army_leaders^num > 0 } check_variable = { global.ring_mor_attempts_made < global.ring_mor_max_attempts } @@ -166,6 +164,9 @@ ring_decisions = { visible = { has_global_flag = fs_started tag = MOR + + NOT = { has_global_flag = fs_ring_seized } + NOT = { has_global_flag = fs_ring_destroyed } } ai_will_do = { @@ -184,7 +185,7 @@ ring_decisions = { } help_the_fellowship = { - icon = GFX_decision_generic_operation + icon = GFX_decision_generic_cooperation cost = 150 available = { @@ -201,8 +202,6 @@ ring_decisions = { } } - NOT = { has_global_flag = fs_ring_seized } - NOT = { has_global_flag = fs_ring_destroyed } NOT = { has_country_flag = fs_has_used_action } } @@ -211,6 +210,9 @@ ring_decisions = { NOT = { ring_has_special_interaction = yes } NOT = { tag = MOR } + + NOT = { has_global_flag = fs_ring_seized } + NOT = { has_global_flag = fs_ring_destroyed } } ai_will_do = { @@ -269,18 +271,180 @@ ring_decisions = { } } - corrupt_ring_owner = { - icon = sauron_eye - + gather_support_for_fellowship = { allowed = { - original_tag = MOR + tag = RIV } + visible = { + has_global_flag = fs_arrived_in_rivendell + NOT = { has_global_flag = fs_ring_seized } + NOT = { has_global_flag = fs_ring_destroyed } + } + + available = { + OR = { + has_government = unaligned + has_government = cooperative + } + NOT = { has_war_with = FROM } + NOT = { FROM = { has_country_flag = fs_has_used_action } } + } + + targets = { ENE VAL ROH MIR RHD CAR ANG } + targets_dynamic = yes + + fire_only_once = yes + + icon = GFX_decision_generic_4 + cost = 150 + + ai_will_do = { + base = 1 + modifier = { + factor = 35 + check_variable = { global.fs_path = 1 } + FROM = { + OR = { + tag = ROH + tag = MIR + } + } + } + modifier = { + factor = 35 + check_variable = { global.fs_path = 2 } + FROM = { + OR = { + tag = ROH + tag = MIR + } + } + } + modifier = { + factor = 35 + check_variable = { global.fs_path = 3 } + FROM = { + OR = { + tag = VAL + tag = ANG + } + } + } + modifier = { + factor = 35 + check_variable = { global.fs_path = 4 } + FROM = { + OR = { + tag = ROH + tag = ENE + tag = CAR + } + } + } + modifier = { + factor = 3 + FROM = { is_ai = no } + } + modifier = { + factor = 0 + has_country_flag = ai_gathered_support + } + } + + complete_effect = { + custom_effect_tooltip = gather_support_for_fellowship_tt + + hidden_effect = { + FROM = { + country_event = { id = rivendell.16 days = 12 } + } + + random_list = { + 60 = { + set_country_flag = ai_gathered_support + } + 30 = { + + } + } + } + } + } +} + +ring_corruption_decisions = { + + ring_bop_casualties_MOR = { + icon = GFX_decision_sauron_eye + visible = { NOT = { has_completed_focus = resistsauron } has_global_flag = fs_ring_seized + NOT = { has_global_flag = fs_ring_destroyed } NOT = { ring_has_the_ring = yes } + } + + available = { + # target country has taken 15k casualties since last time we took this decision + var:global.fs_ring_owner = { + custom_trigger_tooltip = { + tooltip = ring_bop_casualties_mor_trigger_tt + check_variable = { + ring_bop_casualties_diff > 15.0 + } + } + } + } + + cancel_trigger = { + hidden_trigger = { + ring_has_the_ring = yes + } + } + + fire_only_once = no + + cost = 50 + + days_remove = 30 + + complete_effect = { + var:global.fs_ring_owner = { + set_variable = { ring_bop_casualties = casualties_k } + + add_power_balance_value = { + id = ring_corruption_balance + value = 0.1 + } + } + } + + ai_will_do = { + factor = 50 + } + } + + ring_bop_stability_MOR = { + icon = GFX_decision_orcs_3 + + visible = { + NOT = { has_completed_focus = resistsauron } + has_global_flag = fs_ring_seized NOT = { has_global_flag = fs_ring_destroyed } + NOT = { ring_has_the_ring = yes } + } + + available = { + # target country has lost 10% stability + var:global.fs_ring_owner = { + custom_trigger_tooltip = { + tooltip = ring_bop_stability_mor_trigger_tt + check_variable = { + ring_bop_stability_diff < -0.1 + } + } + } } cancel_trigger = { @@ -293,25 +457,79 @@ ring_decisions = { cost = 50 - days_remove = 120 + days_remove = 30 complete_effect = { var:global.fs_ring_owner = { - add_timed_idea = { - idea = MOR_sauron_influence - days = 120 + set_variable = { ring_bop_stability = stability } + + add_power_balance_value = { + id = ring_corruption_balance + value = 0.1 } } } - # why not ai_will_do = { - factor = 5 + factor = 50 } } + ring_bop_warsupport_MOR = { + icon = GFX_decision_orcs_2 + + visible = { + NOT = { has_completed_focus = resistsauron } + has_global_flag = fs_ring_seized + NOT = { has_global_flag = fs_ring_destroyed } + NOT = { ring_has_the_ring = yes } + } + + available = { + # target country has lost 10% warsupport + var:global.fs_ring_owner = { + custom_trigger_tooltip = { + tooltip = ring_bop_warsupport_mor_trigger_tt + check_variable = { + ring_bop_warsupport_diff < -0.1 + } + } + } + } + + cancel_trigger = { + hidden_trigger = { + ring_has_the_ring = yes + } + } + + fire_only_once = no + + cost = 50 + + days_remove = 30 + + complete_effect = { + var:global.fs_ring_owner = { + set_variable = { ring_bop_warsupport = has_war_support } + + add_power_balance_value = { + id = ring_corruption_balance + value = 0.1 + } + } + } + + ai_will_do = { + factor = 50 + } + } +} + +ring_corruption_decisions_bop = { + strike_a_deal_with_sauron = { - icon = sauron_eye + icon = GFX_decision_sauron_eye cost = 150 ai_will_do = { @@ -351,13 +569,13 @@ ring_decisions = { custom_effect_tooltip = strike_a_deal_with_sauron_tt hidden_effect = { - MOR = { ring_seize_ring = yes } + ring_give_sauron_ring = yes } } } destroy_the_ring = { - icon = GFX_decision_generic_ignite_civil_war + icon = GFX_decision_ring cost = 150 ai_will_do = { @@ -374,6 +592,7 @@ ring_decisions = { NOT = { is_subject_of = MOR } NOT = { is_in_faction_with = MOR } controls_province = 5097 + NOT = { has_country_flag = fs_disable_ring_destruction } } fire_only_once = yes @@ -387,110 +606,157 @@ ring_decisions = { ring_rivendell_approves = yes - remove_ideas = one_true_ring + ring_remove_ring = yes MOR = { country_event = fs.106 } } } - gather_support_for_fellowship = { - allowed = { - tag = RIV - } + ring_bop_casualties = { + icon = GFX_decision_generic_army_1 visible = { - has_global_flag = fs_arrived_in_rivendell - NOT = { has_global_flag = fs_ring_seized } + has_global_flag = fs_ring_seized NOT = { has_global_flag = fs_ring_destroyed } + ring_has_the_ring = yes + NOT = { tag = MOR } } available = { - OR = { - has_government = unaligned - has_government = cooperative + # target country has taken 20k casualties since last time we took this decision + MOR = { + custom_trigger_tooltip = { + tooltip = ring_bop_casualties_trigger_tt + check_variable = { + ring_bop_casualties_diff > 20.0 + } + } } - NOT = { has_war_with = FROM } - NOT = { FROM = { has_country_flag = fs_has_used_action } } } - targets = { ENE VAL ROH MIR RHD CAR ANG } - targets_dynamic = yes + cancel_trigger = { + hidden_trigger = { + NOT = { ring_has_the_ring = yes } + } + } - fire_only_once = yes + fire_only_once = no - icon = GFX_decision_political_discourse - cost = 150 + cost = 50 - ai_will_do = { - base = 1 - modifier = { - factor = 35 - check_variable = { global.fs_path = 1 } - FROM = { - OR = { - tag = ROH - tag = MIR - } - } + days_remove = 30 + + complete_effect = { + MOR = { + set_variable = { ring_bop_casualties = casualties_k } } - modifier = { - factor = 35 - check_variable = { global.fs_path = 2 } - FROM = { - OR = { - tag = ROH - tag = MIR - } - } + add_power_balance_value = { + id = ring_corruption_balance + value = 0.1 } - modifier = { - factor = 35 - check_variable = { global.fs_path = 3 } - FROM = { - OR = { - tag = VAL - tag = ANG + } + + ai_will_do = { + factor = 50 + } + } + + ring_bop_stability = { + icon = GFX_decision_generic_5 + + visible = { + has_global_flag = fs_ring_seized + NOT = { has_global_flag = fs_ring_destroyed } + ring_has_the_ring = yes + NOT = { tag = MOR } + } + + available = { + # target country has lost 10% stability + MOR = { + custom_trigger_tooltip = { + tooltip = ring_bop_stability_trigger_tt + check_variable = { + ring_bop_stability_diff < -0.1 } } } - modifier = { - factor = 35 - check_variable = { global.fs_path = 4 } - FROM = { - OR = { - tag = ROH - tag = ENE - tag = CAR + } + + cancel_trigger = { + hidden_trigger = { + NOT = { ring_has_the_ring = yes } + } + } + + fire_only_once = no + + cost = 50 + + days_remove = 30 + + complete_effect = { + MOR = { + set_variable = { ring_bop_stability = stability } + } + add_power_balance_value = { + id = ring_corruption_balance + value = 0.1 + } + } + + ai_will_do = { + factor = 50 + } + } + + ring_bop_warsupport = { + icon = GFX_decision_generic_army_3 + + visible = { + has_global_flag = fs_ring_seized + NOT = { has_global_flag = fs_ring_destroyed } + ring_has_the_ring = yes + NOT = { tag = MOR } + } + + available = { + # target country has lost 10% warsupport + MOR = { + custom_trigger_tooltip = { + tooltip = ring_bop_warsupport_trigger_tt + check_variable = { + ring_bop_warsupport_diff < -0.1 } } } - modifier = { - factor = 3 - FROM = { is_ai = no } - } - modifier = { - factor = 0 - has_country_flag = ai_gathered_support + } + + cancel_trigger = { + hidden_trigger = { + NOT = { ring_has_the_ring = yes } } } - complete_effect = { - custom_effect_tooltip = gather_support_for_fellowship_tt + fire_only_once = no - hidden_effect = { - FROM = { - country_event = { id = rivendell.16 days = 12 } - } + cost = 50 - random_list = { - 60 = { - set_country_flag = ai_gathered_support - } - 30 = { + days_remove = 30 - } - } - } - } + complete_effect = { + MOR = { + set_variable = { ring_bop_warsupport = has_war_support } + } + add_power_balance_value = { + id = ring_corruption_balance + value = 0.1 + } + } + + ai_will_do = { + factor = 50 + } } } + diff --git a/common/decisions/stability_war_support.txt b/common/decisions/stability_war_support.txt index 1eddeccd5..92ba052ad 100644 --- a/common/decisions/stability_war_support.txt +++ b/common/decisions/stability_war_support.txt @@ -2,7 +2,7 @@ crisis = { draft_dodging = { - icon = generic_civil_support + icon = generic_army_2 allowed = { always = yes @@ -51,7 +51,7 @@ crisis = { strikes_1 = { - icon = generic_civil_support + icon = generic_army_3 allowed = { always = yes @@ -104,7 +104,7 @@ crisis = { draft_dodging_mission = { - icon = generic_civil_support + icon = generic_army available = { NOT = { @@ -207,7 +207,7 @@ crisis = { } strikes_mission = { - icon = generic_civil_support + icon = GFX_decision_generic_plot available = { NOT = { @@ -319,7 +319,7 @@ crisis = { } mutiny_1 = { - icon = generic_civil_support + icon = GFX_decision_revolt allowed = { always = yes @@ -363,7 +363,7 @@ crisis = { } mutiny_mission = { - icon = generic_civil_support + icon = GFX_decision_revolt available = { NOT = { @@ -477,7 +477,7 @@ crisis = { demobilization = { demobilization_economic = { - icon = generic_industry + icon = GFX_decision_revolt is_good = no @@ -665,7 +665,7 @@ demobilization = { } demobilization_manpower = { - icon = generic_prepare_civil_war + icon = GFX_decision_revolt icon = revolt is_good = no diff --git a/common/defines/00_lotr_defines.lua b/common/defines/00_lotr_defines.lua index 0e2ec46b0..21c6ba6c2 100644 --- a/common/defines/00_lotr_defines.lua +++ b/common/defines/00_lotr_defines.lua @@ -2,19 +2,15 @@ NDefines.NGame.START_DATE = "3018.1.1.12" NDefines.NGame.END_DATE = "4018.1.1.1" NDefines.NGame.HANDS_OFF_START_TAG = "RHD" -NDefines.NGame.HIGH_COMMAND_ADDED_WEIGHT_FACTOR = 0.5 -- Weight multiplier for high_command advisors over other chosen advisor or idea types -NDefines.NGame.CHIEF_ADDED_WEIGHT_FACTOR = 1.0 -- Weight multiplier for chief roles over other advisor or idea types -NDefines.NGame.HIGH_COMMAND_ADDED_WEIGHT_FACTOR = 0.25 -- Weight multiplier for high_command advisors over other chosen advisor or idea types -NDefines.NGame.CHIEF_ADDED_WEIGHT_FACTOR = 12.5 -- Weight multiplier for chief roles over other advisor or idea types +NDefines.NAI.HIGH_COMMAND_ADDED_WEIGHT_FACTOR = 0.5 -- Weight multiplier for high_command advisors over other chosen advisor or idea types +NDefines.NAI.CHIEF_ADDED_WEIGHT_FACTOR = 1.0 -- Weight multiplier for chief roles over other advisor or idea types +NDefines.NAI.ADVISOR_SCORE_CHEAPER_IS_BETTER_FACTOR = 0.5 -- When scoring advisors, this define scales how much the AI prefers cheaper advisors over more expensive ones. 0.0 means no effect, 0.15 means a cost difference of 100 PP modifies the score by 15 %. +NDefines.NAI.DESIGN_COMPANY_SCORE_MULTIPLIER = 1.25 -- score multiplier for hiring a design company +NDefines.NAI.ARMY_CHIEF_SCORE_MULTIPLIER = 0.75 -- score multiplier for hiring an army chief +NDefines.NAI.AIR_CHIEF_SCORE_MULTIPLIER = 1.0 -- score multiplier for hiring an air chief +NDefines.NAI.POLITICAL_ADVISOR_SCORE_MULTIPLIER = 1.25 -- score multiplier for hiring political advisors -NDefines.NGame.HIGH_COMMAND_ADDED_WEIGHT_FACTOR = 0.5 -- Weight multiplier for high_command advisors over other chosen advisor or idea types -NDefines.NGame.CHIEF_ADDED_WEIGHT_FACTOR = 1.0 -- Weight multiplier for chief roles over other advisor or idea types -NDefines.NGame.ADVISOR_SCORE_CHEAPER_IS_BETTER_FACTOR = 0.5 -- When scoring advisors, this define scales how much the AI prefers cheaper advisors over more expensive ones. 0.0 means no effect, 0.15 means a cost difference of 100 PP modifies the score by 15 %. -NDefines.NGame.DESIGN_COMPANY_SCORE_MULTIPLIER = 1.25 -- score multiplier for hiring a design company -NDefines.NGame.ARMY_CHIEF_SCORE_MULTIPLIER = 0.75 -- score multiplier for hiring an army chief -NDefines.NGame.AIR_CHIEF_SCORE_MULTIPLIER = 1.0 -- score multiplier for hiring an air chief -NDefines.NGame.POLITICAL_ADVISOR_SCORE_MULTIPLIER = 1.25 -- score multiplier for hiring political advisors -NDefines.NGame.AGENCY_CREATION_FACTORIES = 3 -- Number of factories used to create an intelligence agency +NDefines.NOperatives.AGENCY_CREATION_FACTORIES = 3 -- Number of factories used to create an intelligence agency NDefines.NCharacter.OFFICER_CORP_ADVISOR_ENTRIES_IN_MENU = { "high_command", "theorist", "army_chief", "cavalry_chief", "navy_chief" } diff --git a/common/defines/00_lotr_graphics.lua b/common/defines/00_lotr_graphics.lua index f4d3aabb0..0cd2d16e4 100644 --- a/common/defines/00_lotr_graphics.lua +++ b/common/defines/00_lotr_graphics.lua @@ -9,4 +9,9 @@ NDefines.NGraphics.MOON_INTENSITY = 1.0 NDefines.NFrontend.FRONTEND_POS_X = 1558.0 NDefines.NFrontend.FRONTEND_POS_Y = 1900.0 -NDefines.NFrontend.FRONTEND_POS_Z = 1100.0 \ No newline at end of file +NDefines.NFrontend.FRONTEND_POS_Z = 1100.0 + +NDefines.NGraphics.TRAIT_LINE_ASSIGNED_COLOR = { 1.0, 1.0, 0.0 } -- Color for parent dependency lines when the parent is assigned. +NDefines.NGraphics.TRAIT_LINE_NON_ASSIGNED_COLOR = { 0.6, 0.6, 0.6 } -- Color for parent dependency lines when the parent is not assigned assigned. +NDefines.NGraphics.TRAIT_LINE_HIGHLIGHT_COLOR = { 1.0, 1.0, 1.0 } -- Color for parent dependency lines to the parents when hovering over a trait. +NDefines.NGraphics.TRAIT_INVALID_FOR_ASSIGNMENT_COLOR = { 0.8, 0.3, 0.3 } \ No newline at end of file diff --git a/common/dynamic_modifiers/0_dynamic_modifiers_advisors.txt b/common/dynamic_modifiers/0_dynamic_modifiers_advisors.txt index 93bcd2870..f14828ce9 100644 --- a/common/dynamic_modifiers/0_dynamic_modifiers_advisors.txt +++ b/common/dynamic_modifiers/0_dynamic_modifiers_advisors.txt @@ -195,4 +195,19 @@ peaceful_builder_modifier = { # This variable is being updated in scripted_effects/lotr_advisors(...).txt production_speed_buildings_factor = ROOT.peaceful_builder_bonus +} + +provincial_council_modifier = { + remove_trigger = { + OR = { + owner = { NOT = { has_idea_with_trait = provincial_councilor } } + has_resistance = no + } + } + + icon = GFX_modifiers_generic_supply + + local_supplies_for_controller = 0.15 + mobilization_speed = 0.15 + local_non_core_manpower = 0.15 } \ No newline at end of file diff --git a/common/dynamic_modifiers/ithc_modifiers.txt b/common/dynamic_modifiers/ithc_modifiers.txt new file mode 100644 index 000000000..0cc3b422d --- /dev/null +++ b/common/dynamic_modifiers/ithc_modifiers.txt @@ -0,0 +1,67 @@ + + +ithc_pillage_modifier_1 = { + icon = GFX_orc_raiding_state_modifier + remove_trigger = { + OR = { + ithc_crisis_is_active = no + check_variable = { + var = ithc_pillage_level + value = 1 + compare = not_equals + } + } + } + + disable_strategic_redeployment = 1 + army_speed_factor_for_controller = -0.15 + local_intel_to_enemies = 0.15 + max_dig_in_factor = -0.15 +} + +ithc_pillage_modifier_2 = { + icon = GFX_orc_raiding_state_modifier + remove_trigger = { + OR = { + ithc_crisis_is_active = no + check_variable = { + var = ithc_pillage_level + value = 2 + compare = not_equals + } + } + } + + disable_strategic_redeployment = 1 + army_speed_factor_for_controller = -0.2 + local_intel_to_enemies = 0.2 + max_dig_in_factor = -0.2 + state_production_speed_buildings_factor = -0.25 + state_resources_factor = -0.25 + + custom_modifier_tooltip = ithc_spawn_divisions_onwar_tt +} + +ithc_pillage_modifier_3 = { + icon = GFX_orc_raiding_state_modifier + remove_trigger = { + OR = { + ithc_crisis_is_active = no + check_variable = { + var = ithc_pillage_level + value = 3 + compare = not_equals + } + } + } + + disable_strategic_redeployment = 1 + army_speed_factor_for_controller = -0.3 + local_intel_to_enemies = 0.3 + max_dig_in_factor = -0.3 + state_production_speed_buildings_factor = -0.5 + state_resources_factor = -0.5 + + custom_modifier_tooltip = ithc_spawn_divisions_onwar_tt + custom_modifier_tooltip = ithc_situation_critical_tt +} \ No newline at end of file diff --git a/common/dynamic_modifiers/lothlorien_modifiers.txt b/common/dynamic_modifiers/lothlorien_modifiers.txt new file mode 100644 index 000000000..c8d31b56f --- /dev/null +++ b/common/dynamic_modifiers/lothlorien_modifiers.txt @@ -0,0 +1,89 @@ +lothlorien_base_influences = { + + nandor_influence = THIS.lthi_base_nandor_influence + noldor_influence = THIS.lthi_base_noldor_influence + sindar_influence = THIS.lthi_base_sindar_influence + halfelves_influence = THIS.lthi_base_halfelves_influence + nonelves_influence = THIS.lthi_base_nonelves_influence + orcs_influence = THIS.lthi_base_orcs_influence +} + +lthi_influence_bonuses = { + enable = { always = yes } + + icon = GFX_idea_lth_elven_factions + + conscription_factor = var:lthi_nandor_bonus_conscription + army_speed_factor = var:lthi_nandor_bonus_speed + army_org_factor = var:lthi_nandor_bonus_organization + + army_attack_factor = var:lthi_noldor_bonus_attack + breakthrough_factor = var:lthi_noldor_bonus_breakthrough + industrial_capacity_factory = var:lthi_noldor_bonus_factoryoutput + + production_speed_buildings_factor = var:lthi_sindar_bonus_constructionspeed + supply_consumption_factor = var:lthi_sindar_bonus_supply + research_speed_factor = var:lthi_sindar_bonus_research + + experience_gain_army_factor = var:lthi_halfelves_bonus_experiencegain + stability_factor = var:lthi_halfelves_bonus_stability + consumer_goods_factor = var:lthi_halfelves_bonus_consumergoods + + monthly_population = var:lthi_nonelves_bonus_monthlypop + + army_strength_factor = var:lthi_orcs_bonus_strength + + custom_modifier_tooltip = lthi_influence_bonuses_tt +} + + +lth_consecrated_land = { + icon = GFX_consecrated_land_state_modifier + + local_building_slots_factor = 0.35 + local_factories = 0.1 + state_resources_factor = 0.1 + state_production_speed_industrial_complex_factor = 0.08 + state_production_speed_arms_factory_factor = 0.08 +} + +lth_twilight_garden = { + icon = GFX_consecrated_land_state_modifier + + local_factories = 0.25 + state_resources_factor = 0.25 +} + +lth_immortal_endurance_modifier = { + icon = GFX_idea_immortal_endurance + + unaligned_drift = 0.05 + local_resources_factor = var:lth_immortal_endurance_bonus + production_speed_buildings_factor = var:lth_immortal_endurance_bonus + global_building_slots_factor = var:lth_immortal_endurance_bonus + + research_speed_factor = var:lth_preservationofknowledge_bonus + + custom_modifier_tooltip = lth_immortal_endurance_modifier_tt +} + +lth_unity_in_division_modifier = { + icon = GFX_idea_lth_unity_in_division + + stability_factor = var:lth_influence_spread_bonus + production_speed_buildings_factor = var:lth_influence_spread_bonus + research_speed_factor = var:lth_influence_spread_bonus + + custom_modifier_tooltip = lth_unity_in_division_modifier_tt +} + +lth_nenya_enchantment = { + icon = GFX_nenya_enchantment_state_modifier + enable = { + controller = { tag = LTH } + } + + local_intel_to_enemies = -0.5 + local_org_regain = 0.15 + max_dig_in_factor = 0.15 +} \ No newline at end of file diff --git a/common/dynamic_modifiers/moria_modifiers.txt b/common/dynamic_modifiers/moria_modifiers.txt new file mode 100644 index 000000000..9fc1340c3 --- /dev/null +++ b/common/dynamic_modifiers/moria_modifiers.txt @@ -0,0 +1,12 @@ +moria_loose_balrog = { + icon = GFX_balrog_state_modifier + + recruitable_population_factor = -0.35 + local_resources = -0.5 + army_speed_factor_for_controller = -0.5 + attrition_for_controller = 0.25 + disable_strategic_redeployment = 1 + state_production_speed_industrial_complex_factor = -0.25 + state_production_speed_arms_factory_factor = -0.25 + state_production_speed_infrastructure_factor = -0.25 +} \ No newline at end of file diff --git a/common/equipment_groups/lotr_equipment_groups.txt b/common/equipment_groups/lotr_equipment_groups.txt new file mode 100644 index 000000000..db9a4299a --- /dev/null +++ b/common/equipment_groups/lotr_equipment_groups.txt @@ -0,0 +1,245 @@ + + + + + +lotr_equipment_infantry_equipment = { + equipment_type = { + infantry_equipment + } +} + +lotr_equipment_bow = { + equipment_type = { + artillery_equipment + } +} + +lotr_equipment_crossbow = { + equipment_type = { + rocket_artillery_equipment + } +} + +lotr_equipment_all_artillery_equipment = { + equipment_type = { + lotr_equipment_crossbow + lotr_equipment_bow + } +} + +lotr_equipment_all_infantry_equipment = { + equipment_type = { + lotr_equipment_all_artillery_equipment + lotr_equipment_infantry_equipment + } +} + +lotr_equipment_ballista = { + equipment_type = { + anti_tank_equipment + } +} + +lotr_equipment_windlance = { + equipment_type = { + anti_air_equipment + } +} + +lotr_equipment_all_ballistae = { + equipment_type = { + lotr_equipment_windlance + lotr_equipment_ballista + } +} + +lotr_equipment_light_cavalry = { + equipment_type = { + light_tank_chassis + } +} + +lotr_equipment_cavalry_archers = { + equipment_type = { + light_tank_artillery_chassis + } +} + +lotr_equipment_cavalry_lancers = { + equipment_type = { + light_tank_destroyer_chassis + } +} + +lotr_equipment_cavalry_heavy = { + equipment_type = { + medium_tank_chassis + } +} + +lotr_equipment_all_light_cavalry = { + equipment_type = { + lotr_equipment_light_cavalry + lotr_equipment_cavalry_archers + lotr_equipment_cavalry_lancers + } +} + +lotr_equipment_all_cavalry = { + equipment_type = { + lotr_equipment_light_cavalry + lotr_equipment_cavalry_archers + lotr_equipment_cavalry_lancers + lotr_equipment_cavalry_heavy + } +} + +lotr_equipment_trade_caravans = { + equipment_type = { + train_equipment + } +} + +lotr_equipment_chariots = { + equipment_type = { + mechanized_equipment + } +} + +lotr_equipment_chariot_archers = { + equipment_type = { + motorized_rocket_equipment + } +} + +lotr_equipment_all_siege_artillery = { + equipment_type = { + lotr_equipment_catapult + lotr_equipment_siege_trebuchet + } +} + +lotr_equipment_catapult = { + equipment_type = { + heavy_tank_chassis + } +} + +lotr_equipment_siege_tower = { + equipment_type = { + super_heavy_tank_chassis + } +} + +lotr_equipment_siege_trebuchet = { + equipment_type = { + railway_gun_equipment + } +} + +lotr_equipment_all_siege_machines = { + equipment_type = { + lotr_equipment_siege_tower + lotr_equipment_catapult + lotr_equipment_siege_trebuchet + } +} + +lotr_equipment_eagle_fighters = { + equipment_type = { + small_plane_airframe + } +} + +lotr_equipment_eagle_scouts = { + equipment_type = { + medium_plane_scout_plane_airframe + } +} + +lotr_equipment_eagle_bomber = { + equipment_type = { + large_plane_airframe + } +} + +lotr_equipment_all_eagles = { + equipment_type = { + lotr_equipment_eagle_scouts + lotr_equipment_eagle_bomber + lotr_equipment_eagle_fighters + } +} + +lotr_equipment_magic = { + equipment_type = { + guided_missile_equipment + } +} + +lotr_equipment_convoy = { + equipment_type = { + convoy + } +} + +lotr_equipment_longship = { + equipment_type = { + ship_hull_light + lotr_equipment_crossbow # NOTE: This is simply a super cheeky way of including MIOs with this equipment type in the infantry filter. Shhhh! Don't tell anyone. It's our little secret ;) + } +} + +lotr_equipment_galley = { + equipment_type = { + ship_hull_cruiser + } +} + +lotr_equipment_sailing_ship = { + equipment_type = { + ship_hull_cruiser + } +} + +lotr_equipment_ship_of_the_line = { + equipment_type = { + ship_hull_heavy + } +} + +lotr_equipment_multideck_ships = { + equipment_type = { + lotr_equipment_ship_of_the_line + lotr_equipment_sailing_ship + } +} + +lotr_equipment_sail_ships = { + equipment_type = { + lotr_equipment_ship_of_the_line + lotr_equipment_sailing_ship + } +} + +lotr_equipment_all_ships = { + equipment_type = { + lotr_equipment_longship + lotr_equipment_galley + lotr_equipment_sailing_ship + lotr_equipment_ship_of_the_line + } +} + + +lotr_equipment_all_equipment = { + equipment_type = { + lotr_equipment_all_ships + lotr_equipment_all_eagles + lotr_equipment_all_siege_machines + lotr_equipment_all_cavalry + lotr_equipment_all_ballistae + lotr_equipment_all_infantry_equipment + } +} \ No newline at end of file diff --git a/common/idea_tags/00_idea.txt b/common/idea_tags/00_idea.txt index 399d1fcb2..0c9dd9203 100644 --- a/common/idea_tags/00_idea.txt +++ b/common/idea_tags/00_idea.txt @@ -50,6 +50,7 @@ idea_categories = { character_slot = spymaster character_slot = political_advisor character_slot = political_advisor + slot = materiel_manufacturer # This is a cheeky way to add a "Guilds" button ledger = civilian @@ -216,9 +217,9 @@ slot_ledgers = { cavalry_chief = army navy_chief = navy - tank_manufacturer = army - naval_manufacturer = navy - aircraft_manufacturer = air + tank_manufacturer = hidden + naval_manufacturer = hidden + aircraft_manufacturer = hidden theorist = invalid # must be overridden high_command = invalid # must be overridden diff --git a/common/ideas/00_lotr_laws.txt b/common/ideas/00_lotr_laws.txt index 75c84de42..5b00e11a4 100644 --- a/common/ideas/00_lotr_laws.txt +++ b/common/ideas/00_lotr_laws.txt @@ -14,7 +14,7 @@ ideas = { cost = 300 modifier = { - consumer_goods_factor = 0.5 + consumer_goods_expected_value = 0.6 political_power_gain = 0.25 } @@ -38,7 +38,7 @@ ideas = { cost = 300 modifier = { - consumer_goods_factor = 0.35 + consumer_goods_expected_value = 0.4 # political_power_gain = 0.0 } @@ -54,6 +54,12 @@ ideas = { factor = 0 NOT = { has_idea = no_taxes } } + + modifier = { + add = 999 + original_tag = LTH + has_government = revolutionary + } } allowed_to_remove = { @@ -76,18 +82,13 @@ ideas = { cost = 300 modifier = { - consumer_goods_factor = 0.25 + consumer_goods_expected_value = 0.25 political_power_gain = -0.25 } ai_will_do = { factor = 9 - modifier = { - factor = 0 - has_political_power > 250 # dont waste too much pp on changing this - } - modifier = { factor = 0 political_power_daily < 0.8 @@ -98,6 +99,12 @@ ideas = { factor = 0 NOT = { has_idea = low_taxes } } + + modifier = { + factor = 0 + original_tag = LTH + has_government = revolutionary + } } allowed_to_remove = { @@ -115,11 +122,21 @@ ideas = { allowed = { always = yes } + + available = { + if = { + limit = { original_tag = LTH } + NOT = { has_idea = LTH_peasant_assembly } + } + else = { + always = yes + } + } removal_cost = -1 cost = 300 modifier = { - consumer_goods_factor = 0.15 + consumer_goods_expected_value = 0.15 political_power_gain = -0.35 } @@ -192,6 +209,12 @@ ideas = { factor = 0 NOT = { has_idea = medium_taxes } } + + modifier = { + factor = 0 + original_tag = LTH + has_government = revolutionary + } } cancel_if_invalid = no @@ -202,6 +225,42 @@ ideas = { trade_law = { law = yes + # Isolationist LTH has special closed economy that costs no PP + lth_special_closed_economy = { + + picture = law_closed_economy + + allowed = { + tag = LTH + } + visible = { + tag = LTH + has_completed_focus = lth_sealtheborders + } + removal_cost = -1 + cost = 300 + + rule = { + can_access_market = no + desc = can_not_access_market_closed_economy + } + + modifier = { + min_export = 0.0 + } + + ai_will_do = { + factor = 0 + } + + allowed_to_remove = { + always = no + } + + cancel_if_invalid = no + level = 5 + } + closed_economy = { picture = law_closed_economy @@ -212,6 +271,11 @@ ideas = { removal_cost = -1 cost = 300 + rule = { + can_access_market = no + desc = can_not_access_market_closed_economy + } + modifier = { min_export = 0.0 political_power_gain = -0.35 @@ -1099,11 +1163,11 @@ ideas = { removal_cost = -1 modifier = { - political_power_gain = -0.3 - consumer_goods_factor = -0.3 - taxation_law_cost_factor = 0.15 - trade_law_cost_factor = 0.15 - conscription_law_cost_factor = 0.15 + political_power_gain = -0.35 + consumer_goods_factor = -0.35 + taxation_law_cost_factor = 0.2 + trade_law_cost_factor = 0.2 + conscription_law_cost_factor = 0.2 } allowed_to_remove = { @@ -1133,9 +1197,9 @@ ideas = { modifier = { political_power_gain = -0.15 - taxation_law_cost_factor = 0.1 - trade_law_cost_factor = 0.1 - conscription_law_cost_factor = 0.1 + taxation_law_cost_factor = 0.15 + trade_law_cost_factor = 0.15 + conscription_law_cost_factor = 0.15 } allowed_to_remove = { @@ -1156,10 +1220,10 @@ ideas = { removal_cost = -1 modifier = { - political_power_gain = 0.05 - taxation_law_cost_factor = 0.0 - trade_law_cost_factor = 0.0 - conscription_law_cost_factor = 0.0 + political_power_gain = -0.05 + taxation_law_cost_factor = 0.05 + trade_law_cost_factor = 0.05 + conscription_law_cost_factor = 0.05 } allowed_to_remove = { @@ -1198,10 +1262,10 @@ ideas = { removal_cost = -1 modifier = { - political_power_gain = 0.15 - taxation_law_cost_factor = -0.15 - trade_law_cost_factor = -0.15 - conscription_law_cost_factor = -0.15 + political_power_gain = 0.1 + taxation_law_cost_factor = -0.1 + trade_law_cost_factor = -0.1 + conscription_law_cost_factor = -0.1 } allowed_to_remove = { @@ -1210,12 +1274,6 @@ ideas = { ai_will_do = { factor = 20 - - modifier = { - factor = 20 - - is_major = yes - } modifier = { # downgrade block factor = 0 NOT = { has_idea = weak_centralization } @@ -1257,10 +1315,10 @@ ideas = { removal_cost = -1 modifier = { - political_power_gain = 0.35 - taxation_law_cost_factor = -0.35 - trade_law_cost_factor = -0.35 - conscription_law_cost_factor = -0.35 + political_power_gain = 0.3 + taxation_law_cost_factor = -0.3 + trade_law_cost_factor = -0.3 + conscription_law_cost_factor = -0.3 } allowed_to_remove = { @@ -1314,10 +1372,10 @@ ideas = { removal_cost = -1 modifier = { - political_power_gain = 0.5 - taxation_law_cost_factor = -0.5 - trade_law_cost_factor = -0.5 - conscription_law_cost_factor = -0.5 + political_power_gain = 0.45 + taxation_law_cost_factor = -0.45 + trade_law_cost_factor = -0.45 + conscription_law_cost_factor = -0.45 } allowed_to_remove = { @@ -1363,10 +1421,10 @@ ideas = { removal_cost = -1 modifier = { - political_power_gain = 0.6 - taxation_law_cost_factor = -0.6 - trade_law_cost_factor = -0.6 - conscription_law_cost_factor = -0.6 + political_power_gain = 0.5 + taxation_law_cost_factor = -0.5 + trade_law_cost_factor = -0.5 + conscription_law_cost_factor = -0.5 } allowed_to_remove = { diff --git a/common/ideas/dol amroth.txt b/common/ideas/dol amroth.txt new file mode 100644 index 000000000..df104099c --- /dev/null +++ b/common/ideas/dol amroth.txt @@ -0,0 +1,27 @@ +ideas = { + + country = { + + DAM_swan_knights = { + + picture = swan_knights + + modifier = { + + } + + research_bonus = { + lotr_cavalry = 0.1 + } + + equipment_bonus = { + medium_tank_chassis = { + instant = yes + soft_attack = 0.1 + breakthrough = 0.1 + build_cost_ic = -0.1 + } + } + } + } +} \ No newline at end of file diff --git a/common/ideas/elven_alliance.txt b/common/ideas/elven_alliance.txt new file mode 100644 index 000000000..4e40647b7 --- /dev/null +++ b/common/ideas/elven_alliance.txt @@ -0,0 +1,536 @@ +ideas = { + + hidden_ideas = { + + # We use this idea to auto-leave EA when we're a puppet to a non EA master + ea_is_member_idea = { + allowed = { + always = no + } + + cancel = { + OR = { + AND = { + is_subject = yes + THIS.overlord = { is_elven_alliance_member = no } + } + is_elven_alliance_member = no + } + } + + on_remove = { + elven_alliance_leave = yes + } + } + + ea_resolution_alliance_idea_1 = { + + allowed = { + always = no + } + + cancel = { + is_elven_alliance_member = no + } + + picture = ea_resolution_icon_alliance + + modifier = { + opinion_gain_monthly_factor = 0.1 + custom_modifier_tooltip = "Allow non-elven members of the assembly to propose resolutions" + } + } + + ea_resolution_alliance_idea_2 = { + + allowed = { + always = no + } + + cancel = { + is_elven_alliance_member = no + } + + picture = ea_resolution_icon_alliance + + modifier = { + opinion_gain_monthly_factor = 0.2 + custom_modifier_tooltip = ea_reduce_recess_tt + custom_modifier_tooltip = "Allow non-elven members of the assembly to propose resolutions" + } + } + + ea_resolution_alliance_idea_3 = { + + allowed = { + always = no + } + + cancel = { + is_elven_alliance_member = no + } + + picture = ea_resolution_icon_alliance + + modifier = { + opinion_gain_monthly_factor = 0.3 + guarantee_tension = -0.3 + custom_modifier_tooltip = ea_reduce_recess_tt + custom_modifier_tooltip = "Allow non-elven members of the assembly to propose resolutions" + } + } + + ea_resolution_industry_idea_1 = { + + allowed = { + always = no + } + + cancel = { + is_elven_alliance_member = no + } + + picture = ea_resolution_icon_industry + + modifier = { + political_power_factor = -0.1 + industrial_capacity_factory = 0.1 + } + } + + ea_resolution_industry_idea_2 = { + + allowed = { + always = no + } + + cancel = { + is_elven_alliance_member = no + } + + picture = ea_resolution_icon_industry + + modifier = { + political_power_factor = -0.15 + industrial_capacity_factory = 0.15 + } + } + + ea_resolution_industry_idea_3 = { + + allowed = { + always = no + } + + cancel = { + is_elven_alliance_member = no + } + + picture = ea_resolution_icon_industry + + modifier = { + political_power_factor = -0.2 + industrial_capacity_factory = 0.2 + } + } + + ea_resolution_expansion_idea_1 = { + + allowed = { + always = no + } + + cancel = { + is_elven_alliance_member = no + } + + picture = ea_resolution_icon_expansion + + modifier = { + custom_modifier_tooltip = "Extend invitation and joining rights to the race of men." + } + } + + ea_resolution_expansion_idea_2 = { + + allowed = { + always = no + } + + cancel = { + is_elven_alliance_member = no + } + + picture = ea_resolution_icon_expansion + + modifier = { + custom_modifier_tooltip = "Extend invitation and joining rights to all races except orcs." + } + } + + ea_resolution_expansion_idea_3 = { + + allowed = { + always = no + } + + cancel = { + is_elven_alliance_member = no + } + + picture = ea_resolution_icon_expansion + + modifier = { + custom_modifier_tooltip = "Extend invitation and joining rights to all." + } + } + + ea_resolution_trade_idea_1 = { + + allowed = { + always = no + } + + cancel = { + is_elven_alliance_member = no + } + + picture = ea_resolution_icon_trade + + modifier = { + min_export = 0.1 + trade_opinion_factor = 0.1 + consumer_goods_factor = -0.1 + } + } + + ea_resolution_trade_idea_2 = { + + allowed = { + always = no + } + + cancel = { + is_elven_alliance_member = no + } + + picture = ea_resolution_icon_trade + + modifier = { + min_export = 0.15 + trade_opinion_factor = 0.15 + consumer_goods_factor = -0.15 + } + } + + ea_resolution_trade_idea_3 = { + + allowed = { + always = no + } + + cancel = { + is_elven_alliance_member = no + } + + picture = ea_resolution_icon_trade + + modifier = { + min_export = 0.2 + trade_opinion_factor = 0.2 + consumer_goods_factor = -0.2 + } + } + + ea_resolution_peace_idea_1 = { + + allowed = { + always = no + } + + cancel = { + is_elven_alliance_member = no + } + + picture = ea_resolution_icon_peace + + modifier = { + generate_wargoal_tension = 0.1 + war_support_factor = -0.1 + stability_factor = 0.1 + production_speed_buildings_factor = 0.1 + } + } + + ea_resolution_peace_idea_2 = { + + allowed = { + always = no + } + + cancel = { + is_elven_alliance_member = no + } + + picture = ea_resolution_icon_peace + + modifier = { + generate_wargoal_tension = 0.15 + war_support_factor = -0.15 + stability_factor = 0.15 + production_speed_buildings_factor = 0.15 + } + } + + ea_resolution_peace_idea_3 = { + + allowed = { + always = no + } + + cancel = { + is_elven_alliance_member = no + } + + picture = ea_resolution_icon_peace + + modifier = { + generate_wargoal_tension = 0.2 + war_support_factor = -0.2 + stability_factor = 0.2 + production_speed_buildings_factor = 0.2 + } + } + + ea_resolution_research_idea_1 = { + + allowed = { + always = no + } + + cancel = { + is_elven_alliance_member = no + } + + picture = ea_resolution_icon_research + + modifier = { + research_speed_factor = 0.05 + civilian_factory_use = 1 + } + } + + ea_resolution_research_idea_2 = { + + allowed = { + always = no + } + + cancel = { + is_elven_alliance_member = no + } + + picture = ea_resolution_icon_research + + modifier = { + research_speed_factor = 0.1 + civilian_factory_use = 2 + } + } + + ea_resolution_research_idea_3 = { + + allowed = { + always = no + } + + cancel = { + is_elven_alliance_member = no + } + + picture = ea_resolution_icon_research + + modifier = { + research_speed_factor = 0.15 + civilian_factory_use = 4 + } + } + + ea_resolution_hegemony_idea_1 = { + + allowed = { + always = no + } + + cancel = { + is_elven_alliance_member = no + } + + picture = ea_resolution_icon_hegemony + + modifier = { + # grant Veto power + custom_modifier_tooltip = ea_executivevigour_tt + } + } + + ea_resolution_hegemony_idea_2 = { + + allowed = { + always = no + } + + cancel = { + is_elven_alliance_member = no + } + + picture = ea_resolution_icon_hegemony + + modifier = { + custom_modifier_tooltip = ea_executivevigour_tt + custom_modifier_tooltip = "Members can no longer leave the assembly." + } + } + + ea_resolution_hegemony_idea_3 = { + + allowed = { + always = no + } + + cancel = { + is_elven_alliance_member = no + } + + picture = ea_resolution_icon_hegemony + + modifier = { + custom_modifier_tooltip = ea_executivevigour_tt + custom_modifier_tooltip = "Members can no longer leave the assembly." + custom_modifier_tooltip = "All assembly members will become puppets of the hegemony leader." + custom_modifier_tooltip = "New hegemony leaders can no longer be proposed." + } + + on_add = { + if = { + limit = { + ea_is_hegemony_leader = no + } + elven_alliance_hegemony_puppet = yes + } + } + + on_remove = { + if = { + limit = { ea_is_hegemony_leader = no } + elven_alliance_hegemony_end_puppet = yes + } + } + } + + ea_resolution_martial_idea_1 = { + + allowed = { + always = no + } + + cancel = { + is_elven_alliance_member = no + } + + picture = ea_resolution_icon_martial + + modifier = { + custom_modifier_tooltip = "Enable joint wars to be proposed" + } + } + + ea_resolution_martial_idea_2 = { + + allowed = { + always = no + } + + cancel = { + is_elven_alliance_member = no + } + + picture = ea_resolution_icon_martial + + modifier = { + custom_modifier_tooltip = "Enable joint wars to be proposed" + custom_modifier_tooltip = "When an assembly member is attacked by an outside power, all members receive an event that allows them to come to their aid" + } + } + + ea_resolution_martial_idea_3 = { + + allowed = { + always = no + } + + cancel = { + is_elven_alliance_member = no + } + + picture = ea_resolution_icon_martial + + modifier = { + custom_modifier_tooltip = "The Elven Assembly will transformed into a faction. All members will be given a choice to join the faction or leave the assembly." + } + } + + ea_resolution_union_idea_1 = { + + allowed = { + always = no + } + + cancel = { + is_elven_alliance_member = no + } + + picture = ea_resolution_icon_union + + modifier = { + political_power_factor = 0.1 + stability_factor = 0.1 + } + } + + ea_resolution_union_idea_2 = { + + allowed = { + always = no + } + + cancel = { + is_elven_alliance_member = no + } + + picture = ea_resolution_icon_union + + modifier = { + custom_modifier_tooltip = "Allow members of the assembly to be at war with one-another." + } + } + + ea_resolution_union_idea_3 = { + + allowed = { + always = no + } + + cancel = { + is_elven_alliance_member = no + } + + picture = ea_resolution_icon_union + + modifier = { + custom_modifier_tooltip = "Allow members of the assembly to be at war with one-another." + custom_modifier_tooltip = "Allow assembly members to be sanctioned, disabling their vote." + } + } + } +} \ No newline at end of file diff --git a/common/ideas/generic.txt b/common/ideas/generic.txt index 006cc2b7f..13164e262 100644 --- a/common/ideas/generic.txt +++ b/common/ideas/generic.txt @@ -2,6 +2,31 @@ ideas = { country = { + generic_three_civs = { + + allowed = { + always = no + } + + allowed_civil_war = { + always = yes + } + + removal_cost = -1 + + picture = generic_production_bonus + + on_add = { + add_offsite_building = { type = industrial_complex level = 3 } + } + on_remove = { + add_offsite_building = { type = industrial_complex level = -3 } + } + modifier = { + custom_modifier_tooltip = add_three_civs_tt + } + } + generic_revolutionary = { allowed = { @@ -147,7 +172,7 @@ ideas = { removal_cost = -1 - picture = ast_abandon_the_westminster_system + picture = generic_unaligned_drift_bonus modifier = { unaligned_drift = 0.05 @@ -166,7 +191,7 @@ ideas = { removal_cost = -1 - picture = ast_abandon_the_westminster_system + picture = generic_unaligned_drift_bonus modifier = { unaligned_drift = 0.1 @@ -193,7 +218,6 @@ ideas = { cost = 150 removal_cost = -1 - level = 4 modifier = { conscription = 0.05 diff --git a/common/ideas/gondor.txt b/common/ideas/gondor.txt index ea58873b0..93f33e278 100644 --- a/common/ideas/gondor.txt +++ b/common/ideas/gondor.txt @@ -24,7 +24,7 @@ ideas = { } } - GON_kingdom_without_king = { + GON_kingdom_without_king_0 = { allowed = { always = no @@ -33,21 +33,25 @@ ideas = { allowed_civil_war = { always = yes } - - removal_cost = -1 - picture = anti_soviet_pact + picture = generic_king_handled modifier = { - stability_factor = -0.1 - conscription_factor = -0.2 - conscription_law_cost_factor = 1.0 - production_factory_max_efficiency_factor = -0.1 - political_power_factor = -0.2 + stability_factor = -0.25 + war_support_factor = -0.25 + conscription_factor = -0.25 + production_speed_buildings_factor = -0.25 + production_factory_max_efficiency_factor = -0.1 + political_power_factor = -0.25 + conscription_law_cost_factor = 1.0 + mercenary_law_cost_factor = 1.0 + trade_law_cost_factor = 0.5 + taxation_law_cost_factor = 1.0 + centralization_law_cost_factor = 1.0 } } - GON_tech_sharing = { + GON_kingdom_without_king_1 = { allowed = { always = no @@ -56,17 +60,25 @@ ideas = { allowed_civil_war = { always = yes } - - removal_cost = -1 - picture = generic_constitutional_guarantee + picture = generic_king_handled modifier = { - research_speed_factor = 0.05 + stability_factor = -0.20 + war_support_factor = -0.25 + conscription_factor = -0.25 + production_factory_max_efficiency_factor = -0.1 + political_power_factor = -0.20 + production_speed_buildings_factor = -0.25 + conscription_law_cost_factor = 1 + mercenary_law_cost_factor = 1 + trade_law_cost_factor = 0.5 + taxation_law_cost_factor = 1 + centralization_law_cost_factor = 1 } } - GON_dedicated_invaders = { + GON_long_term_economic_plan = { allowed = { always = no @@ -78,15 +90,16 @@ ideas = { removal_cost = -1 - picture = general_Staff + picture = can_wartime_prices_and_trade_board modifier = { - training_time_factor = -0.15 + local_resources_factor = 0.1 + production_factory_max_efficiency_factor = 0.1 + trade_law_cost_factor = -0.25 } } - GON_wartime_measures = { - + GON_orthanc_payment = { allowed = { always = no } @@ -95,19 +108,15 @@ ideas = { always = yes } - removal_cost = -1 - - picture = generic_war_preparation + picture = generic_goods_red_bonus modifier = { - conscription_factor = 0.15 - conscription_law_cost_factor = -0.25 - consumer_goods_factor = -0.05 + political_power_factor = -0.10 + consumer_goods_factor = 0.1 } } - GON_long_term_economic_plan = { - + GON_trade_agremeent = { allowed = { always = no } @@ -116,57 +125,195 @@ ideas = { always = yes } - removal_cost = -1 - - picture = can_wartime_prices_and_trade_board + picture = HUN_treaty_of_triannon + + targeted_modifier = { + tag = ANG + trade_opinion_factor = 0.10 + faction_trade_opinion_factor = 0.25 + trade_cost_for_target_factor = -0.10 + } modifier = { - local_resources_factor = 0.1 - production_factory_max_efficiency_factor = 0.1 - trade_law_cost_factor = -0.25 + stability_factor = 0.05 + } + } + + GON_isildur_legacy = { + allowed = {always = no } + allowed_civil_war = { always = no } + picture = gon_white_tree + modifier = { + stability_factor = 0.05 + cooperative_drift = 0.05 } } + GON_denethor_0 = { + allowed = {always = no } + allowed_civil_war = { always = no } + picture = denethor_paranoia + cancel = { denethor_is_leader = no } + modifier = { + political_power_factor = -0.05 + } + } - GON_faramir_doctrine = { + GON_denethor_1 = { + allowed = {always = no } + allowed_civil_war = { always = no } + picture = denethor_paranoia_2 + cancel = { denethor_is_leader = no } + modifier = { + stability_factor = -0.1 + political_power_factor = -0.05 + war_support_factor = -0.1 + } + } + + GON_denethor_2 = { + allowed = {always = no } + allowed_civil_war = { always = no } + picture = denethor_paranoia_3 + cancel = { denethor_is_leader = no } + modifier = { + stability_factor = -0.15 + political_power_factor = -0.10 + war_support_factor = -0.10 + army_morale = -0.10 + } + } + + GON_denethor_3 = { + allowed = {always = no } + allowed_civil_war = { always = no } + picture = denethor_paranoia_4 + cancel = { denethor_is_leader = no } + modifier = { + stability_factor = -0.15 + political_power_factor = -0.20 + war_support_factor = -0.15 + army_org_factor = -0.05 + army_attack_factor = -0.10 + army_morale_factor = -0.10 + production_speed_industrial_complex_factor = -0.1 + production_speed_arms_factory_factor = -0.1 + production_speed_bunker_factor = 0.05 + army_core_defence_factor = 0.05 + } + } + + GON_denethor_4 = { + allowed = {always = no } + allowed_civil_war = { always = no } + picture = denethor_paranoia_4 + cancel = { denethor_is_leader = no } + modifier = { + stability_factor = -0.25 + political_power_factor = -0.20 + war_support_factor = -0.25 + army_org_factor = -0.15 + army_attack_factor = -0.15 + army_morale = -0.20 + production_speed_industrial_complex_factor = -0.1 + production_speed_arms_factory_factor = -0.1 + production_speed_bunker_factor = 0.05 + army_core_defence_factor = 0.10 + } + } - allowed = { - always = no + GON_idea_restructure_the_army = { + allowed = {always = no } + allowed_civil_war = { always = no } + picture = generic_intel_bonus + modifier = { + political_power_factor = -0.10 + army_org_factor = -0.25 + army_attack_factor = -0.25 + army_defence_factor = -0.25 } + } - allowed_civil_war = { - has_government = belligerent + GON_preprare_for_the_worst = { + picture = generic_wall_line + modifier = { + production_speed_bunker_factor = 0.1 + production_speed_infrastructure_factor = 0.1 + production_speed_rail_way_factor = 0.25 + production_speed_supply_node_factor = 0.25 } + } - removal_cost = -1 + GON_strike_before_the_enemy_0 = { + picture = FRA_scw_intervention_nationalists_focus + modifier = { + conscription_factor = 0.10 + mobilization_speed = 0.10 + } + } - picture = generic_intel_bonus + GON_weary_armed_forces = { + picture = weary_armed_forces + modifier = { + land_bunker_effectiveness_factor = -0.5 + production_speed_bunker_factor = -0.25 + } + } + GON_strike_before_the_enemy_1 = { + picture = FRA_scw_intervention_nationalists_focus modifier = { - political_power_gain = 1 - stability_factor = 0.1 - war_support_factor = 0.05 + conscription_factor = 0.10 + mobilization_speed = 0.10 + army_attack_factor = 0.10 + land_reinforce_rate = 0.10 + max_planning = 0.15 + pocket_penalty = -0.05 } } - GON_orthanc_payment = { - allowed = { - always = no + GON_bunker_focus = { + picture = generic_fortify_the_borders + modifier = { + production_speed_bunker_factor = 0.15 + production_speed_coastal_bunker_factor = 0.15 } + } - allowed_civil_war = { - always = yes + GON_coastal_protection = { + picture = generic_fortify_the_borders + modifier = { + production_speed_coastal_bunker_factor = 0.15 + coastal_bunker_effectiveness_factor = 0.15 + industrial_capacity_dockyard = 0.1 } + } - picture = generic_goods_red_bonus + GON_ship_mounted_catapults = { + picture = escort_effort_focus + equipment_bonus = { + ship_hull_light = { + lg_attack = 0.1 + } + ship_hull_heavy = { + lg_attack = 0.15 + } + } + } + GON_popular_support_campaign = { + picture = FRA_scw_intervention_republicans_focus + cancel = { + has_government = cooperative + } modifier = { - political_power_factor = -0.10 - consumer_goods_factor = 0.1 + revolutionary_drift = 0.1 + unaligned_drift = 0.1 } } - GON_trade_agremeent = { + GON_merit_based_advancement = { + allowed = { always = no } @@ -175,17 +322,178 @@ ideas = { always = yes } - picture = HUN_treaty_of_triannon + removal_cost = -1 - targeted_modifier = { - tag = ANG - trade_opinion_factor = 0.10 - faction_trade_opinion_factor = 0.25 - trade_cost_for_target_factor = -0.10 + picture = lth_meritocracy + + modifier = { + army_leader_start_level = 3 + experience_gain_army_factor = 0.15 + experience_gain_navy_factor = 0.15 + experience_gain_air_factor = 0.15 } + } + GON_no_step_back_idea = { + picture = YUG_federal_defense_council modifier = { - stability_factor = 0.05 + army_defence_factor = 0.10 + army_core_defence_factor = 0.10 + army_org_factor = 0.15 + dig_in_speed_factor = 0.10 + max_dig_in_factor = 0.15 + } + } + + GON_kingdom_of_gondor = { + picture = HUN_hungarian_monarchy + modifier = { + stability_factor = 0.15 + conscription_factor = 0.05 + production_factory_max_efficiency_factor = 0.1 + production_speed_buildings_factor = 0.1 + political_power_factor = 0.1 + } + } + + GON_volunteers_against_evil = { + picture = generic_manpower_bonus + modifier = { + send_volunteer_divisions_required = -0.75 + send_volunteer_factor = 0.75 + send_volunteers_tension = -0.45 + } + } + + GON_army_of_the_death = { + picture = ENG_the_war_to_end_all_wars + modifier = { + stability_factor = -0.10 + experience_gain_army_factor = -0.10 + } + } + + GON_spies_of_gondor_0 = { + picture = generic_spy_coup + modifier = { + new_operative_slot_bonus = 1 + operative_slot = 1 + } + } + + GON_spies_of_gondor_sneaky_peaky = { + picture = generic_spy_political + modifier = { + new_operative_slot_bonus = 1 + operative_slot = 1 + own_operative_capture_chance_factor = -0.15 + own_operative_detection_chance_factor = -0.10 + } + } + + GON_spies_of_gondor_know_it_all = { + picture = generic_spy_intel + modifier = { + new_operative_slot_bonus = 1 + operative_slot = 1 + own_operative_intel_extraction_rate = -0.10 + enemy_operative_detection_chance_factor = 0.15 + } + } + + GON_defeatist_0 = { + picture = chi_army_corruption + modifier = { + stability_factor = -0.30 + political_power_factor = -0.15 + war_support_factor = -0.30 + army_org_factor = -0.15 + army_attack_factor = -0.15 + army_morale = -0.20 + production_speed_industrial_complex_factor = -0.1 + production_speed_arms_factory_factor = -0.1 + production_speed_bunker_factor = 0.05 + } + } + + GON_defeatist_1 = { + picture = chi_army_corruption + modifier = { + stability_factor = -0.20 + political_power_factor = -0.10 + war_support_factor = -0.20 + army_org_factor = -0.10 + army_attack_factor = -0.10 + army_morale = -0.15 + production_speed_industrial_complex_factor = -0.1 + production_speed_arms_factory_factor = -0.1 + production_speed_bunker_factor = 0.05 + } + } + + GON_defeatist_2 = { + picture = chi_army_corruption + modifier = { + stability_factor = -0.05 + war_support_factor = -0.1 + army_org_factor = -0.1 + army_attack_factor = -0.1 + army_morale = -0.1 + } + } + + GON_steward_of_the_people = { + picture = generic_manpower_bonus + modifier = { + stability_factor = 0.10 + production_factory_max_efficiency_factor = 0.1 + production_speed_buildings_factor = 0.1 + conscription_factor = 0.10 + army_org_factor = 0.15 + army_attack_factor = 0.1 + army_core_defence_factor = 0.15 + + } + } + + GON_denethor_loyalists = { + picture = FRA_matignon_agreements + modifier = { + stability_factor = -0.10 + political_power_factor = 0.10 + } + } + + GON_defender_of_middle_earth = { + picture = FRA_national_mobilization_focus + modifier = { + conscription_factor = 0.05 + army_defence_factor = 0.1 + generate_wargoal_tension = -0.25 + guarantee_cost = -0.25 + opinion_gain_monthly_same_ideology = 0.25 + send_volunteer_divisions_required = -0.5 + send_volunteers_tension = -0.5 + embargo_threshold_factor = -0.5 + embargo_cost_factor = -0.25 + } + } + + GON_never_ending_production = { + picture = generic_goods_red_bonus + modifier = { + production_factory_max_efficiency_factor = 0.1 + production_factory_efficiency_gain_factor = 0.15 + production_factory_start_efficiency_factor = 0.1 + production_lack_of_resource_penalty_factor = -0.15 + } + } + + GON_idea_spread_the_revolution = { + picture = FRA_matignon_agreements + modifier = { + boost_ideology_mission_factor = 0.15 + intel_network_gain = 5 } } } diff --git a/common/ideas/lothlorien.txt b/common/ideas/lothlorien.txt index 7f74e43f8..2cf2fe228 100644 --- a/common/ideas/lothlorien.txt +++ b/common/ideas/lothlorien.txt @@ -2,6 +2,1078 @@ ideas = { country = { + LTH_lead_by_example = { + picture = lth_lead_by_example + do_effect = { + OR = { + has_idea = low_taxes + has_idea = no_taxes + } + } + + modifier = { + army_morale_factor = 0.15 + industrial_capacity_factory = 0.25 + resistance_target = -0.15 + + custom_modifier_tooltip = LTH_lead_by_example_tt + } + } + + LTH_gift_of_servitude= { + + allowed = { + always = no + } + + allowed_civil_war = { + always = yes + } + + removal_cost = -1 + + picture = lth_prisoner_vivisections + + modifier = { + research_speed_factor = 0.15 + + custom_modifier_tooltip = penal_infantry_buff_tt + } + + on_add = { + # Secretly buff penal infantry through tech because we can't do so through modifiers + hidden_effect = { + set_technology = { penal_infantry_buff = 1 popup = no } + } + } + } + + LTH_prisoner_vivisections= { + + allowed = { + always = no + } + + allowed_civil_war = { + always = yes + } + + removal_cost = -1 + + picture = lth_prisoner_vivisections + + modifier = { + research_speed_factor = 0.15 + } + } + + LTH_a_necessary_evil= { + + allowed = { + always = no + } + + allowed_civil_war = { + always = yes + } + + removal_cost = -1 + + picture = lth_a_necessary_evil + + modifier = { + stability_factor = -0.35 + political_power_factor = -0.35 + weekly_manpower = 400 + } + } + + LTH_a_necessary_evil_2= { + + allowed = { + always = no + } + + allowed_civil_war = { + always = yes + } + + removal_cost = -1 + + picture = lth_a_necessary_evil + + modifier = { + stability_factor = -0.15 + political_power_factor = -0.15 + weekly_manpower = 800 + } + } + + LTH_the_new_order = { + + allowed = { + always = no + } + + allowed_civil_war = { + always = yes + } + + removal_cost = -1 + + picture = lth_the_new_order + + modifier = { + war_support_factor = 0.1 + weekly_manpower = 1000 + } + } + + LTH_giant_slayer = { + + allowed = { + always = no + } + + allowed_civil_war = { + always = yes + } + + removal_cost = -1 + + picture = lth_last_eldar + + modifier = { + war_support_factor = 0.1 + army_morale_factor = 0.1 + } + } + + LTH_loose_giant = { + + allowed = { + always = no + } + + allowed_civil_war = { + always = yes + } + + removal_cost = -1 + + picture = lth_loose_giant + + modifier = { + stability_factor = -0.1 + production_speed_buildings_factor = -0.1 + } + } + + LTH_fading_trees_protective_enchantment = { + + allowed = { + always = no + } + + allowed_civil_war = { + always = yes + } + + removal_cost = -1 + + picture = lth_unflinching_defender + + modifier = { + army_core_defence_factor = 0.05 + } + } + + LTH_fading_trees_2 = { + + allowed = { + always = no + } + + allowed_civil_war = { + always = yes + } + + removal_cost = -1 + + picture = lth_sacred_trees_fading + + modifier = { + stability_factor = -0.1 + production_speed_buildings_factor = -0.1 + army_morale_factor = -0.1 + } + } + + LTH_fading_trees = { + + allowed = { + always = no + } + + allowed_civil_war = { + always = yes + } + + removal_cost = -1 + + picture = lth_sacred_trees_fading + + modifier = { + stability_factor = -0.1 + production_speed_buildings_factor = -0.1 + } + } + + LTH_peasant_assembly = { + + allowed = { + always = no + } + + allowed_civil_war = { + always = yes + } + + removal_cost = -1 + + picture = lth_peasant_assembly + + modifier = { + custom_modifier_tooltip = no_high_taxes_tt + production_factory_max_efficiency_factor = 0.2 + production_speed_buildings_factor = 0.2 + } + } + + LTH_merit_based_advancement = { + + allowed = { + always = no + } + + allowed_civil_war = { + always = yes + } + + removal_cost = -1 + + picture = lth_meritocracy + + modifier = { + army_leader_start_level = 3 + experience_gain_army_factor = 0.15 + experience_gain_navy_factor = 0.15 + experience_gain_air_factor = 0.15 + } + } + + LTH_tha_fate_of_mortals = { + + allowed = { + always = no + } + + allowed_civil_war = { + always = yes + } + + removal_cost = -1 + + picture = lth_fate_of_mortals + + targeted_modifier = { + tag = ERE + breakthrough_bonus_against = 0.1 + } + + targeted_modifier = { + tag = GON + breakthrough_bonus_against = 0.1 + } + + targeted_modifier = { + tag = ROH + breakthrough_bonus_against = 0.1 + } + } + + LTH_girdle_of_melian = { + + allowed = { + always = no + } + + allowed_civil_war = { + always = yes + } + + removal_cost = -1 + + picture = lth_girdle_of_melian + + modifier = { + army_core_defence_factor = 0.1 + army_core_attack_factor = 0.1 + foreign_subversive_activites = -0.3 + } + } + + LTH_unflinching_defender = { + + allowed = { + always = no + } + + allowed_civil_war = { + always = yes + } + + removal_cost = -1 + + picture = lth_unflinching_defender + + modifier = { + org_loss_at_low_org_factor = -0.15 + army_core_attack_factor = 0.15 + army_core_defence_factor = 0.25 + max_dig_in_factor = 0.5 + industrial_capacity_factory = 0.15 + } + } + + LTH_isolationist_reservations_3 = { + + allowed = { + always = no + } + + allowed_civil_war = { + always = yes + } + + removal_cost = -1 + + picture = lth_total_isolation + + modifier = { + opinion_gain_monthly_factor = -1.0 + political_power_factor = -0.25 + stability_factor = -0.15 + war_support_factor = -0.1 + trade_opinion_factor = -0.25 + } + } + + LTH_isolationist_reservations_2 = { + + allowed = { + always = no + } + + allowed_civil_war = { + always = yes + } + + removal_cost = -1 + + picture = lth_total_isolation + + modifier = { + opinion_gain_monthly_factor = -0.5 + political_power_factor = -0.15 + stability_factor = -0.08 + war_support_factor = -0.06 + trade_opinion_factor = -0.1 + } + } + + LTH_isolationist_reservations_1 = { + + allowed = { + always = no + } + + allowed_civil_war = { + always = yes + } + + removal_cost = -1 + + picture = lth_total_isolation + + modifier = { + political_power_factor = -0.1 + stability_factor = -0.05 + war_support_factor = -0.03 + trade_opinion_factor = -0.05 + } + } + + LTH_river_anduin_commerce= { + + allowed = { + always = no + } + + allowed_civil_war = { + always = yes + } + + removal_cost = -1 + + picture = lth_anduin_commerce + + modifier = { + trade_opinion_factor = 0.15 + } + } + + LTH_aegis_of_light = { + + allowed = { + always = no + } + + allowed_civil_war = { + always = yes + } + + removal_cost = -1 + + picture = lth_aegis_of_light + + modifier = { + war_support_weekly = 0.001 + unaligned_drift = 0.1 + send_volunteers_tension = -0.15 + lend_lease_tension = -0.15 + army_core_defence_factor = 0.1 + max_dig_in_factor = 0.1 + } + } + + LTH_limited_intervention_idea = { + + allowed = { + always = no + } + + allowed_civil_war = { + always = yes + } + + removal_cost = -1 + + picture = limited_intervention + + modifier = { + war_support_weekly = 0.001 + unaligned_drift = 0.1 + send_volunteers_tension = -0.15 + lend_lease_tension = -0.15 + } + } + + LTH_the_last_stand = { + + allowed = { + always = no + } + + allowed_civil_war = { + always = yes + } + + cancel = { + has_war = no + } + + removal_cost = -1 + + picture = lth_last_stand + + modifier = { + army_core_defence_factor = 0.3 + army_core_attack_factor = 0.3 + land_bunker_effectiveness_factor = 0.1 + } + } + + LTH_hidden_realm = { + + allowed = { + always = no + } + + allowed_civil_war = { + always = yes + } + + removal_cost = -1 + + picture = lth_sealed_borders + + modifier = { + centralization_law_cost_factor = -0.5 + taxation_law_cost_factor = -0.5 + enemy_justify_war_goal_time = 2.0 + intelligence_agency_defense = 1.0 + civilian_intel_to_others = -50 + army_intel_to_others = -50 + } + } + + LTH_borders_sealed = { + + allowed = { + always = no + } + + allowed_civil_war = { + always = yes + } + + removal_cost = -1 + + picture = lth_sealed_borders + + modifier = { + centralization_law_cost_factor = -0.5 + taxation_law_cost_factor = -0.5 + } + } + + LTH_total_isolation_idea_2 = { + + allowed = { + always = no + } + + allowed_civil_war = { + always = yes + } + + removal_cost = -1 + + picture = lth_total_isolation + + modifier = { + nandor_influence = 10 + unaligned_drift = 0.1 + political_power_factor = 0.15 + stability_weekly = 0.02 + trade_law_cost_factor = 2.0 + centralization_law_cost_factor = -0.5 + opinion_gain_monthly_factor = -0.5 + trade_opinion_factor = -0.25 + } + + rule = { + can_join_factions = no + can_send_volunteers = no + can_access_market = no + } + } + + LTH_total_isolation_idea = { + + allowed = { + always = no + } + + allowed_civil_war = { + always = yes + } + + removal_cost = -1 + + picture = lth_total_isolation + + modifier = { + nandor_influence = 10 + unaligned_drift = 0.1 + stability_weekly = 0.02 + opinion_gain_monthly_factor = -0.5 + trade_opinion_factor = -0.25 + } + + rule = { + can_join_factions = no + can_send_volunteers = no + can_access_market = no + } + } + + LTH_beacon_of_hope = { + + allowed = { + always = no + } + + allowed_civil_war = { + always = yes + } + + removal_cost = -1 + + picture = lth_beacon_of_hope + + modifier = { + cooperative_drift = 0.1 + trade_opinion_factor = 0.1 + defensive_war_stability_factor = 0.1 + guarantee_cost = -0.25 + lend_lease_tension = -0.25 + } + } + + LTH_great_beasts = { + + allowed = { + always = no + } + + allowed_civil_war = { + always = yes + } + + removal_cost = -1 + + picture = lth_great_beasts + + modifier = { + air_superiority_bonus_in_combat = 0.1 + air_close_air_support_org_damage_factor = 0.15 + air_intercept_efficiency = 0.15 + air_maximum_speed_factor = 0.15 + } + } + + LTH_noldor_elite = { + + allowed = { + always = no + } + + allowed_civil_war = { + always = yes + } + + removal_cost = -1 + + picture = lth_noldor_elite + + modifier = { + noldor_influence = 50 + political_power_factor = 0.15 + army_chief_cost_factor = -0.25 + high_command_cost_factor = -0.25 + conscription_law_cost_factor = -0.25 + } + } + + LTH_decadent_nobility_coop = { + + allowed = { + always = no + } + + allowed_civil_war = { + always = yes + } + + removal_cost = -1 + + picture = lth_decadent_nobility + + modifier = { + war_support_factor = -0.1 + political_power_factor = -0.05 + } + } + + LTH_decadent_nobility = { + + allowed = { + always = no + } + + allowed_civil_war = { + always = yes + } + + removal_cost = -1 + + picture = lth_decadent_nobility + + modifier = { + war_support_factor = -0.25 + political_power_factor = -0.1 + generate_wargoal_tension = 0.15 + guarantee_tension = 0.15 + join_faction_tension = 0.15 + } + } + + LTH_silvan_elite_warriors = { + + allowed = { + always = no + } + + allowed_civil_war = { + always = yes + } + + removal_cost = -1 + + picture = lth_silvan_elite_warriors + + modifier = { + special_forces_cap = 0.25 + unit_infantry_design_cost_factor = -0.15 + } + } + + LTH_silverthorn_arrows = { + + allowed = { + always = no + } + + allowed_civil_war = { + always = yes + } + + removal_cost = -1 + + picture = lth_silverthorn_arrows + + equipment_bonus = { + artillery = { + soft_attack = 0.1 + } + } + } + + LTH_blades_of_the_eldar = { + + allowed = { + always = no + } + + allowed_civil_war = { + always = yes + } + + removal_cost = -1 + + picture = lth_blades_of_the_eldar + + equipment_bonus = { + infantry_equipment = { + soft_attack = 0.15 + } + } + } + + LTH_the_sacred_trees_2 = { + + allowed = { + always = no + } + + allowed_civil_war = { + always = yes + } + + removal_cost = -1 + + picture = lth_sacred_trees + + modifier = { + production_speed_buildings_factor = 0.15 + } + } + + LTH_the_sacred_trees = { + + allowed = { + always = no + } + + allowed_civil_war = { + always = yes + } + + removal_cost = -1 + + picture = lth_sacred_trees + + modifier = { + production_speed_buildings_factor = 0.075 + } + } + + LTH_the_last_eldar = { + + allowed = { + always = no + } + + allowed_civil_war = { + always = yes + } + + removal_cost = -1 + + picture = lth_last_eldar + + modifier = { + army_defence_factor = 0.2 + army_attack_factor = 0.2 + army_org_factor = 0.2 + stability_weekly = 0.05 + } + } + + LTH_sky_soil_and_water = { + + allowed = { + always = no + } + + allowed_civil_war = { + always = yes + } + + removal_cost = -1 + + picture = lth_sky_soil_and_water + + modifier = { + terrain_penalty_reduction = 0.15 + heat_attrition_factor = -0.15 + winter_attrition_factor = -0.15 + } + } + + LTH_harmonic_ascendancy = { + allowed = { + always = no + } + + allowed_civil_war = { + always = yes + } + + removal_cost = -1 + + picture = lth_harmonic_ascendancy + + modifier = { + custom_modifier_tooltip = lth_harmonic_ascendancy_1_modifier_tt + } + + on_remove = { + lth_harmoinic_ascendandy_year_one = yes + + custom_effect_tooltip = lth_after_one_year + effect_tooltip = { lth_harmoinic_ascendandy_year_two = yes } + custom_effect_tooltip = lth_after_two_years + effect_tooltip = { lth_harmoinic_ascendandy_year_three = yes } + + hidden_effect = { + add_timed_idea = { + idea = LTH_harmonic_ascendancy_2 + days = 365 + } + } + } + } + + LTH_harmonic_ascendancy_2 = { + allowed = { + always = no + } + + allowed_civil_war = { + always = yes + } + + removal_cost = -1 + + picture = lth_harmonic_ascendancy + + modifier = { + custom_modifier_tooltip = lth_harmonic_ascendancy_2_modifier_tt + } + + on_remove = { + lth_harmoinic_ascendandy_year_two = yes + + custom_effect_tooltip = lth_after_one_year + effect_tooltip = { lth_harmoinic_ascendandy_year_three = yes } + + hidden_effect = { + add_timed_idea = { + idea = LTH_harmonic_ascendancy_3 + days = 365 + } + } + } + } + + LTH_harmonic_ascendancy_3 = { + allowed = { + always = no + } + + allowed_civil_war = { + always = yes + } + + removal_cost = -1 + + picture = lth_harmonic_ascendancy + + modifier = { + custom_modifier_tooltip = lth_harmonic_ascendancy_3_modifier_tt + } + + on_remove = { + lth_harmoinic_ascendandy_year_three = yes + } + } + + LTH_celeborn_galadriel_accord_cele = { + allowed = { + always = no + } + + allowed_civil_war = { + always = yes + } + + removal_cost = -1 + + picture = lth_cele_gala_accord + + modifier = { + custom_modifier_tooltip = lth_celeborngaladrielaccord_tt + } + + on_add = { + + } + + on_remove = { + country_event = lothlorien.50 + } + } + + LTH_celeborn_galadriel_accord_gala = { + allowed = { + always = no + } + + allowed_civil_war = { + always = yes + } + + removal_cost = -1 + + picture = lth_cele_gala_accord + + modifier = { + custom_modifier_tooltip = lth_celeborngaladrielaccord_tt + } + + on_add = { + + } + + on_remove = { + country_event = lothlorien.51 + } + } + + LTH_great_schism = { + + allowed = { + always = no + } + + allowed_civil_war = { + always = yes + } + + removal_cost = -1 + + picture = lth_great_schism + + modifier = { + stability_factor = -0.15 + war_support_factor = -0.15 + drift_defence_factor = -0.15 + unaligned_drift = -0.05 + belligerent_drift = 0.05 + revolutionary_drift = 0.05 + recruitable_population_factor = -0.15 + } + } + + LTH_celeborn_and_galadriel_mended = { + + allowed = { + always = no + } + + allowed_civil_war = { + always = yes + } + + removal_cost = -1 + + picture = lth_cele_and_gala_mended + + modifier = { + stability_factor = 0.1 + political_power_factor = 0.1 + } + } + + LTH_celeborn_and_galadriel = { + + allowed = { + always = no + } + + allowed_civil_war = { + always = yes + } + + removal_cost = -1 + + picture = lth_cele_and_gala + + modifier = { + stability_factor = 0.25 + political_power_factor = 0.15 + drift_defence_factor = 0.15 + } + } + + + + ### OLD STUFF BELOW + + spiritual_mobilization_idea = { allowed = { @@ -285,27 +1357,6 @@ ideas = { } } - LTH_unflinching_defender = { - - allowed = { - always = no - } - - allowed_civil_war = { - always = yes - } - - removal_cost = -1 - - picture = Yug_federal_defense_council - - modifier = { - army_core_attack_factor = 0.2 - army_core_defence_factor = 0.5 - max_dig_in = 10 - } - } - LTH_enhanced_trade = { allowed = { @@ -397,4 +1448,173 @@ ideas = { } } + + research_advisor = { + + designer = yes + + reclusive_historian_idea = { + + picture = portrait_elves_generic_95 + + allowed = { + always = no + } + + ai_will_do = { + factor = 2 + } + + modifier = { + research_speed_factor = 0.05 + } + + research_bonus = { + lotr_knowledge_scriptorium = 0.15 + lotr_knowledge_intrigue = 0.15 + } + + cost = 150 + removal_cost = 10 + + traits = { reclusive_historian noldor_intermediate } + } + + giants_researcher_idea = { + + picture = portrait_elves_generic_96 + + allowed = { + always = no + } + + ai_will_do = { + factor = 2 + } + + research_bonus = { + lotr_machines_ballista = 0.3 + lotr_labour = 0.15 + lotr_elven_secrets = 0.15 + } + + cost = 150 + removal_cost = 10 + + traits = { giants_researcher sindar_intermediate } + } + + mysterious_stranger_idea = { + + picture = portrait_elves_generic_97 + + allowed = { + always = no + } + + ai_will_do = { + factor = 2 + } + + research_bonus = { + lotr_knowledge_intrigue = 0.35 + } + + cost = 150 + removal_cost = 10 + + traits = { mysterious_stranger nandor_intermediate } + } + } + + hidden_ideas = { + # The AI is terrible at piloting the rather complex LTH tree, so we're giving them a little manpower and industry boost to be able to face up against the big boys + lth_ai_buff = { + do_effect = { + is_ai = yes + } + modifier = { + conscription_factor = 0.35 + production_speed_buildings_factor = 0.25 + industrial_capacity_factory = 0.15 + + noldor_influence = 150 + sindar_influence = 150 + nandor_influence = 150 + halfelves_influence = 150 + } + } + + lth_next_advisor_cheaper_0 = { + cancel = { + amount_taken_ideas = { + amount > 0 + slots = { + treasurer + spymaster + political_advisor + } + } + } + modifier = { + political_advisor_cost_factor = -0.66 + spymaster_cost_factor = -0.66 + treasurer_cost_factor = -0.66 + } + } + + lth_next_advisor_cheaper_1 = { + cancel = { + amount_taken_ideas = { + amount > 1 + slots = { + treasurer + spymaster + political_advisor + } + } + } + modifier = { + political_advisor_cost_factor = -0.66 + spymaster_cost_factor = -0.66 + treasurer_cost_factor = -0.66 + } + } + + lth_next_advisor_cheaper_2 = { + cancel = { + amount_taken_ideas = { + amount > 2 + slots = { + treasurer + spymaster + political_advisor + } + } + } + modifier = { + political_advisor_cost_factor = -0.66 + spymaster_cost_factor = -0.66 + treasurer_cost_factor = -0.66 + } + } + + lth_next_advisor_cheaper_3 = { + cancel = { + amount_taken_ideas = { + amount > 3 + slots = { + treasurer + spymaster + political_advisor + } + } + } + modifier = { + political_advisor_cost_factor = -0.66 + spymaster_cost_factor = -0.66 + treasurer_cost_factor = -0.66 + } + } + } } diff --git a/common/ideas/lotr_generic.txt b/common/ideas/lotr_generic.txt index e3fcbcb63..51e662557 100644 --- a/common/ideas/lotr_generic.txt +++ b/common/ideas/lotr_generic.txt @@ -36,5 +36,354 @@ ideas = { civilian_factory_use = 3 } } + + minor_research_expense = { + + allowed = { + always = no + } + + allowed_civil_war = { + always = yes + } + + removal_cost = -1 + + modifier = { + research_speed_factor = -0.08 + } + } + + three_civs_gain = { + + allowed = { + always = no + } + + allowed_civil_war = { + always = yes + } + + removal_cost = -1 + + on_add = { + add_offsite_building = { type = industrial_complex level = 3 } + } + on_remove = { + add_offsite_building = { type = industrial_complex level = -3 } + } + modifier = { + custom_modifier_tooltip = add_three_civs_tt + } + } + + three_civs_cost = { + + allowed = { + always = no + } + + allowed_civil_war = { + always = yes + } + + removal_cost = -1 + + modifier = { + civilian_factory_use = 3 + } + } + + six_civs_gain = { + + allowed = { + always = no + } + + allowed_civil_war = { + always = yes + } + + removal_cost = -1 + + on_add = { + add_offsite_building = { type = industrial_complex level = 6 } + } + on_remove = { + add_offsite_building = { type = industrial_complex level = -6 } + } + modifier = { + custom_modifier_tooltip = add_six_civs_tt + } + } + + six_civs_cost = { + + allowed = { + always = no + } + + allowed_civil_war = { + always = yes + } + + removal_cost = -1 + + modifier = { + civilian_factory_use = 6 + } + } + + fortification_focus = { + + allowed = { + always = no + } + + allowed_civil_war = { + always = yes + } + + removal_cost = -1 + + modifier = { + production_speed_buildings_factor = 0.05 + production_speed_bunker_factor = 0.15 + } + } + + dockyard_focus = { + + allowed = { + always = no + } + + allowed_civil_war = { + always = yes + } + + removal_cost = -1 + + modifier = { + industrial_capacity_dockyard = 0.5 + } + } + + diplomacy_focus = { + + allowed = { + always = no + } + + allowed_civil_war = { + always = yes + } + + removal_cost = -1 + + modifier = { + improve_relations_maintain_cost_factor = -0.25 + trade_opinion_factor = 0.1 + } + } + + defense_focus = { + + allowed = { + always = no + } + + allowed_civil_war = { + always = yes + } + + removal_cost = -1 + + modifier = { + land_bunker_effectiveness_factor = 0.1 + dig_in_speed_factor = 0.1 + } + } + + increased_morale = { + + allowed = { + always = no + } + + allowed_civil_war = { + always = yes + } + + removal_cost = -1 + + modifier = { + naval_morale_factor = 0.1 + army_morale_factor = 0.1 + war_support_factor = 0.1 + } + } + + euphoric_mood = { + + allowed = { + always = no + } + + allowed_civil_war = { + always = yes + } + + removal_cost = -1 + + modifier = { + stability_factor = 0.15 + consumer_goods_factor = 0.1 + } + } + + melancholic_mood = { + + allowed = { + always = no + } + + allowed_civil_war = { + always = yes + } + + removal_cost = -1 + + modifier = { + war_support_factor = -0.1 + industrial_capacity_factory = -0.1 + production_speed_buildings_factor = -0.1 + } + } + + decreased_morale = { + + allowed = { + always = no + } + + allowed_civil_war = { + always = yes + } + + removal_cost = -1 + + modifier = { + naval_morale_factor = -0.1 + army_morale_factor = -0.1 + war_support_factor = -0.1 + } + } + + increased_attack = { + + allowed = { + always = no + } + + allowed_civil_war = { + always = yes + } + + removal_cost = -1 + + modifier = { + offence = 0.1 + war_support_factor = 0.1 + } + } + + increased_austerity = { + + allowed = { + always = no + } + + allowed_civil_war = { + always = yes + } + + removal_cost = -1 + + modifier = { + consumer_goods_factor = -0.1 + production_speed_buildings_factor = 0.1 + } + } + + bracing_for_war = { + + allowed = { + always = no + } + + allowed_civil_war = { + always = yes + } + + removal_cost = -1 + + modifier = { + industrial_capacity_factory = 0.1 + production_speed_bunker_factor = 0.1 + war_support_factor = 0.1 + } + } + + better_tools = { + + allowed = { + always = no + } + + allowed_civil_war = { + always = yes + } + + removal_cost = -1 + + research_bonus = { + lotr_labour_metalworking_tools = 0.05 + } + } + + better_mining = { + + allowed = { + always = no + } + + allowed_civil_war = { + always = yes + } + + removal_cost = -1 + + research_bonus = { + lotr_labour_metalworking_mining = 0.05 + } + } + + better_magic = { + + allowed = { + always = no + } + + allowed_civil_war = { + always = yes + } + + removal_cost = -1 + + research_bonus = { + lotr_knowledge_magic = 0.05 + } + } } } diff --git a/common/ideas/lotr_races_modifiers.txt b/common/ideas/lotr_races_modifiers.txt index f59a7b66e..1cbed70f1 100644 --- a/common/ideas/lotr_races_modifiers.txt +++ b/common/ideas/lotr_races_modifiers.txt @@ -18,7 +18,7 @@ ideas = { } modifier = { - monthly_population = -0.25 + monthly_population = -0.9 army_org_factor = 0.1 # These are hidden, and based on availabilty of generic portraits (see portraits.txt) diff --git a/common/ideas/mordor.txt b/common/ideas/mordor.txt index 070c5e509..4b1bf7344 100644 --- a/common/ideas/mordor.txt +++ b/common/ideas/mordor.txt @@ -266,7 +266,7 @@ ideas = { removal_cost = -1 - picture = GFX_idea_honor_morgoth + picture = honor_morgoth modifier = { stability_factor = 0.10 @@ -317,13 +317,10 @@ ideas = { } MOR_attack_on_gondor = { - cancel = { - GON = { - OR = { - exists = no - is_puppet_of = MOR #TODO doesnt work for some reason - is_in_faction_with = MOR #TODO doesnt work for some reason - } + cancel = { + OR = { + NOT = { country_exists = GON } + is_ally_with = GON } } @@ -331,6 +328,8 @@ ideas = { always = yes } + picture = generic_purge + removal_cost = -1 targeted_modifier = { @@ -461,6 +460,8 @@ ideas = { belligerent_acceptance = 50 stability_factor = -0.15 custom_modifier_tooltip = destroy_ring_more_expensive_tt + + power_balance_daily = 0.01 } } diff --git a/common/ideas/moria.txt b/common/ideas/moria.txt index c352b21b2..3467849ab 100644 --- a/common/ideas/moria.txt +++ b/common/ideas/moria.txt @@ -274,7 +274,8 @@ ideas = { picture = FRA_scw_intervention_nationalists_focus modifier = { - production_factory_max_efficiency_factor = -0.25 + stability_factor = -0.10 + production_factory_max_efficiency_factor = -0.3 research_speed_factor = -0.15 } } diff --git a/common/ideas/others.txt b/common/ideas/others.txt index 7f75ea6ad..ec9cc9ff8 100644 --- a/common/ideas/others.txt +++ b/common/ideas/others.txt @@ -41,7 +41,7 @@ ideas = { } allowed_civil_war = { - always = yes + always = no } removal_cost = -1 @@ -55,5 +55,26 @@ ideas = { army_defence_factor = 0.20 } } + one_true_ring_2 = { + + allowed = { + always = no + } + + allowed_civil_war = { + always = yes + } + + removal_cost = -1 + + picture = one_ring + + modifier = { + belligerent_drift = 0.05 + political_power_factor = 0.15 + army_attack_factor = 0.3 + army_defence_factor = 0.3 + } + } } } diff --git a/common/ideas/rhun.txt b/common/ideas/rhun.txt index e3bb033a6..2cedb8dc7 100644 --- a/common/ideas/rhun.txt +++ b/common/ideas/rhun.txt @@ -287,7 +287,7 @@ ideas = { army_attack_factor = 0.10 army_defence_factor = 0.05 mobilization_speed = 0.1 - conscription = 0.025 + recruitable_population_factor = 0.05 stability_factor = 0.1 belligerent_drift = 0.1 justify_war_goal_time = -0.25 diff --git a/common/ideas/rivendell.txt b/common/ideas/rivendell.txt index 14abd93d9..99c31b70d 100644 --- a/common/ideas/rivendell.txt +++ b/common/ideas/rivendell.txt @@ -427,5 +427,25 @@ ideas = { custom_modifier_tooltip = add_three_civs_tt } } + + RIV_license_production = { + + picture = generic_production_bonus + + allowed = { + always = no + } + + allowed_civil_war = { + always = yes + } + + removal_cost = -1 + + modifier = { + license_purchase_cost = -0.75 + license_production_speed = 0.15 + } + } } } \ No newline at end of file diff --git a/common/ideas/shire.txt b/common/ideas/shire.txt index bcae40a35..d4652f8ba 100644 --- a/common/ideas/shire.txt +++ b/common/ideas/shire.txt @@ -277,7 +277,7 @@ ideas = { removal_cost = -1 modifier = { - conscription = -0.30 + conscription_factor = -0.30 conscription_law_cost_factor = 1.0 stability_factor = 0.10 consumer_goods_factor = -0.05 @@ -300,7 +300,7 @@ ideas = { removal_cost = -1 modifier = { - conscription = -0.20 + conscription_factor = -0.20 conscription_law_cost_factor = 0.5 stability_factor = 0.10 consumer_goods_factor = -0.05 @@ -323,7 +323,7 @@ ideas = { removal_cost = -1 modifier = { - conscription = -0.10 + conscription_factor = -0.10 consumer_goods_factor = -0.10 stability_factor = 0.10 war_support_factor = -0.05 diff --git a/common/ideas/zzz_generic.txt b/common/ideas/zzz_generic.txt index 3b67d3fd5..5a597cc68 100644 --- a/common/ideas/zzz_generic.txt +++ b/common/ideas/zzz_generic.txt @@ -31,55 +31,47 @@ ideas = { removal_cost = -1 equipment_bonus = { - fighter_equipment = { + small_plane_airframe = { instant = yes build_cost_ic = -0.10 } - cv_fighter_equipment = { + cv_small_plane_airframe = { instant = yes build_cost_ic = -0.10 } - jet_fighter_equipment = { + small_plane_cas_airframe = { instant = yes build_cost_ic = -0.10 } - cv_CAS_equipment = { + cv_small_plane_cas_airframe = { instant = yes build_cost_ic = -0.10 } - CAS_equipment = { + small_plane_naval_bomber_airframe = { instant = yes build_cost_ic = -0.10 } - nav_bomber_equipment = { + cv_small_plane_naval_bomber_airframe = { instant = yes build_cost_ic = -0.10 } - cv_nav_bomber_equipment = { + medium_plane_airframe = { instant = yes build_cost_ic = -0.10 } - rocket_interceptor_equipment = { + medium_plane_fighter_airframe = { instant = yes build_cost_ic = -0.10 } - tac_bomber_equipment = { + medium_plane_scout_plane_airframe = { instant = yes - build_cost_ic = -0.10 - } - jet_tac_bomber_equipment = { - instant = yes - build_cost_ic = -0.10 - } - jet_strat_bomber_equipment = { - instant = yes - build_cost_ic = -0.10 + build_cost_ic = -0.10 } - heavy_fighter_equipment = { + large_plane_airframe = { instant = yes build_cost_ic = -0.10 } - strat_bomber_equipment = { + large_plane_maritime_patrol_plane_airframe = { instant = yes build_cost_ic = -0.10 } @@ -91,10 +83,6 @@ ideas = { instant = yes build_cost_ic = -0.10 } - scout_plane_equipment = { - instant = yes - build_cost_ic = -0.10 - } } } } @@ -201,7 +189,7 @@ ideas = { belligerent_drift = 0.1 } } - MTG_TEST_NAVAL_IDEA = { #MTG_TODO_GABRIEL: remove before shipping + MTG_TEST_NAVAL_IDEA = { allowed = { always = no diff --git a/common/ideas/zzz_lotr_advisors_LTH.txt b/common/ideas/zzz_lotr_advisors_LTH.txt new file mode 100644 index 000000000..21e16b745 --- /dev/null +++ b/common/ideas/zzz_lotr_advisors_LTH.txt @@ -0,0 +1,618 @@ +ideas = { + + # LTH has the influence mechanic, thus needs a separate file + + chief_researcher = { + + designer = yes + + resultdriven_overseer_idea_LTH = { + + picture = portrait_elves_generic_40 + + allowed = { + tag = LTH + } + + ai_will_do = { + factor = 5 + } + + cost = 150 + removal_cost = 10 + + traits = { resultdriven_overseer nandor_intermediate } + } + + pedantic_organizer_idea_LTH = { + + picture = portrait_elves_generic_30 + + allowed = { + tag = LTH + } + + ai_will_do = { + factor = 1 + } + + visible = { + NOT = { lth_civil_war_noldor = yes } + } + + cost = 150 + removal_cost = 10 + + traits = { pedantic_organizer sindar_intermediate } + } + + visionary_polymath_idea_LTH = { + + picture = portrait_elves_generic_32 + + allowed = { + tag = LTH + } + + ai_will_do = { + factor = 0 + } + + visible = { + NOT = { lth_civil_war_sindar = yes } + } + + modifier = { + research_speed_factor = -0.3 + } + + on_add = { + add_research_slot = 1 + } + on_remove = { + hidden_effect = { + add_research_slot = -1 + } + } + + cost = 150 + removal_cost = 10 + + traits = { visionary_polymath noldor_intermediate } + } + + military_researcher_idea_LTH = { + + picture = portrait_elves_generic_13 + + allowed = { + tag = LTH + } + + ai_will_do = { + factor = 2 + } + + visible = { + NOT = { lth_civil_war_noldor = yes } + } + + cost = 150 + removal_cost = 10 + + research_bonus = { + lotr_infantry = 0.15 + lotr_support_tech = 0.15 + lotr_cavalry = 0.15 + lotr_machines = 0.15 + + lotr_knowledge = -0.20 + lotr_labour = -0.20 + } + + traits = { military_researcher sindar_intermediate } + } + + keeper_of_knowledge_idea_LTH = { + + picture = portrait_elves_generic_74 + + allowed = { + tag = LTH + } + + ai_will_do = { + factor = 0 + } + + cost = 150 + removal_cost = 10 + + on_add = { + hidden_effect = { + lotr_advisors_update_vars_weekly = yes # manually update variables when hired + add_dynamic_modifier = { modifier = keeper_of_knowledge_modifier } + } + } + + traits = { keeper_of_knowledge halfelves_intermediate } + } + } + + architect = { + + designer = yes + + urban_architect_idea_LTH = { + + picture = portrait_elves_generic_41 + + allowed = { + tag = LTH + } + + ai_will_do = { + factor = 3 + } + + visible = { + NOT = { lth_civil_war_noldor = yes } + } + + modifier = { + production_speed_radar_station_factor = 0.1 + production_speed_air_base_factor = 0.1 + } + + research_bonus = { + lotr_labour_construction_industry = 0.15 + lotr_labour_construction = 0.15 + } + + cost = 150 + removal_cost = 10 + + traits = { urban_architect sindar_minor } + } + + rural_architect_idea_LTH = { + + picture = portrait_elves_generic_22 + + allowed = { + tag = LTH + } + + ai_will_do = { + factor = 3 + } + + modifier = { + production_speed_synthetic_refinery_factor = 0.1 + production_speed_fuel_silo_factor = 0.1 + } + + research_bonus = { + lotr_labour_construction_industry = 0.15 + lotr_labour_farming = 0.15 + } + + cost = 150 + removal_cost = 10 + + traits = { rural_architect nandor_minor } + } + + infrastructure_architect_idea_LTH = { + + picture = portrait_elves_generic_45 + + allowed = { + tag = LTH + } + + ai_will_do = { + factor = 3 + } + + modifier = { + production_speed_infrastructure_factor = 0.1 + production_speed_supply_node_factor = 0.1 + production_speed_rail_way_factor = 0.1 + } + + cost = 150 + removal_cost = 10 + + traits = { infrastructure_architect halfelves_intermediate } + } + + repair_architect_idea_LTH = { + + picture = portrait_elves_generic_60 + + allowed = { + tag = LTH + } + + ai_will_do = { + factor = 1 + } + + cost = 150 + removal_cost = 10 + + modifier = { + industry_free_repair_factor = 0.3 + industry_repair_factor = 0.3 + } + + traits = { repair_architect nandor_intermediate } + } + + peaceful_builder_idea_LTH = { + + picture = portrait_elves_generic_72 + + allowed = { + tag = LTH + } + + visible = { + NOT = { lth_civil_war_noldor = yes } + } + + ai_will_do = { + factor = 1 + modifier = { + factor = 8 + threat < 0.1 + } + } + + cost = 150 + removal_cost = 10 + + on_add = { + hidden_effect = { + lotr_advisors_update_vars_weekly = yes # manually update variables when hired + add_dynamic_modifier = { modifier = peaceful_builder_modifier } + } + } + + traits = { peaceful_builder sindar_intermediate } + } + + fortification_engineer_idea_LTH = { + + picture = portrait_elves_generic_78 + + allowed = { + tag = LTH + } + + visible = { + NOT = { lth_civil_war_sindar = yes } + } + + ai_will_do = { + factor = 1 + } + + cost = 150 + removal_cost = 10 + + traits = { fortification_engineer noldor_minor } + } + } + + research_advisor = { + + designer = yes + + beastmaster_idea_LTH = { + + picture = portrait_elves_generic_12 + + allowed = { + tag = LTH + } + + ai_will_do = { + factor = 2 + } + + research_bonus = { + lotr_eagles = 0.8 + } + + cost = 150 + removal_cost = 10 + + traits = { beastmaster nandor_minor } + } + + humble_farmer_idea_LTH = { + + picture = portrait_elves_generic_5 + + allowed = { + tag = LTH + } + + ai_will_do = { + factor = 2 + } + + research_bonus = { + lotr_labour_farming = 0.25 + lotr_labour_farming_leather = 0.25 + } + + cost = 150 + removal_cost = 10 + + traits = { humble_farmer nandor_minor } + } + + construction_engineer_idea_LTH = { + + picture = portrait_elves_generic_42 + + allowed = { + tag = LTH + } + + ai_will_do = { + factor = 2 + } + + visible = { + NOT = { lth_civil_war_noldor = yes } + } + + cost = 150 + removal_cost = 10 + + modifier = { + production_speed_buildings_factor = 0.05 + } + + research_bonus = { + lotr_machines = 0.25 + } + + traits = { construction_engineer sindar_minor } + } + + experienced_blacksmith_idea_LTH = { + + picture = portrait_elves_generic_29 + + allowed = { + tag = LTH + } + + ai_will_do = { + factor = 2 + } + + visible = { + NOT = { lth_civil_war_sindar = yes } + } + + cost = 150 + removal_cost = 10 + + research_bonus = { + lotr_labour_metalworking = 0.25 + } + + traits = { experienced_blacksmith noldor_minor } + } + + alchemy_expert_idea_LTH = { + + picture = portrait_elves_generic_48 + + allowed = { + tag = LTH + } + + ai_will_do = { + factor = 2 + } + + cost = 150 + removal_cost = 10 + + research_bonus = { + lotr_knowledge_alchemy = 0.25 + lotr_knowledge_magic = 0.25 + } + + traits = { alchemy_expert halfelves_minor } + } + + rampant_plagiarizer_idea_LTH = { + + picture = portrait_elves_generic_23 + + allowed = { + tag = LTH + } + + ai_will_do = { + factor = 0 + } + + visible = { + NOT = { lth_civil_war_noldor = yes } + } + + cost = 150 + removal_cost = 10 + + modifier = { + operation_steal_tech_risk = -0.5 + operation_steal_tech_outcome = 0.5 + decryption_factor = 0.1 + } + + traits = { rampant_plagiarizer sindar_minor } + } + + hardworking_scribe_idea_LTH = { + + picture = portrait_elves_generic_33 + + allowed = { + tag = LTH + } + + ai_will_do = { + factor = 4 + } + + visible = { + NOT = { lth_civil_war_sindar = yes } + } + + cost = 150 + removal_cost = 10 + + modifier = { + research_speed_factor = 0.03 + } + + research_bonus = { + lotr_knowledge_scriptorium = 0.15 + } + + traits = { hardworking_scribe noldor_minor } + } + + bow_designer_idea_LTH = { + + picture = portrait_elves_generic_79 + + name = "Torthrien" + + allowed = { + tag = LTH + } + + ai_will_do = { + factor = 2 + } + + visible = { + NOT = { lth_civil_war_noldor = yes } + } + + cost = 150 + removal_cost = 10 + + research_bonus = { + lotr_infantry_archery_bow = 0.15 + } + + equipment_bonus = { + artillery = { + reliability = 0.05 + } + } + + traits = { bow_designer sindar_minor } + } + + elves_secret_tech_expert_idea_LTH = { + + picture = portrait_elves_generic_77 + + allowed = { + tag = LTH + } + + ai_will_do = { + factor = 2 + } + + visible = { + NOT = { lth_civil_war_sindar = yes } + } + + cost = 150 + removal_cost = 10 + + research_bonus = { + lotr_elven_secrets = 0.15 + } + + traits = { elves_secret_tech_expert noldor_minor } + } + + secret_society_member_idea_LTH = { + + picture = portrait_elves_generic_76 + + allowed = { + tag = LTH + } + + ai_will_do = { + factor = 1 + modifier = { + factor = 10 + check_variable = { global.secret_society_members < 2 } + } + modifier = { + factor = 7 + check_variable = { global.secret_society_members < 4 } + } + modifier = { + factor = 3 + check_variable = { global.secret_society_members < 6 } + } + } + + cost = 150 + removal_cost = 10 + + on_add = { + add_to_tech_sharing_group = secret_society_group + hidden_effect = { + add_to_variable = { global.secret_society_members = 1 } + } + } + on_remove = { + remove_from_tech_sharing_group = secret_society_group + } + + traits = { secret_society_member halfelves_minor } + } + + intelligence_theorist_idea_LTH = { + + picture = portrait_elves_generic_55 + + allowed = { + tag = LTH + } + + ai_will_do = { + factor = 1 + } + + cost = 150 + removal_cost = 10 + + research_bonus = { + lotr_knowledge_intrigue = 0.2 + } + + traits = { intelligence_theorist nandor_minor } + } + } + +} diff --git a/common/ideas/zzz_lotr_advisors_LTH_nonelves.txt b/common/ideas/zzz_lotr_advisors_LTH_nonelves.txt new file mode 100644 index 000000000..3cdd50106 --- /dev/null +++ b/common/ideas/zzz_lotr_advisors_LTH_nonelves.txt @@ -0,0 +1,321 @@ +ideas = { + + chief_researcher = { + + designer = yes + + expensive_genius_idea_lth_nonelves = { + + picture = portrait_men_generic_128 + + name = "Hromund" + + allowed = { + tag = LTH + } + visible = { + has_country_flag = lth_nonelves_activated + } + + ai_will_do = { + factor = 0 + } + + cost = 150 + removal_cost = 10 + + modifier = { + consumer_goods_factor = 0.25 + } + + on_add = { + add_research_slot = 1 + } + on_remove = { + hidden_effect = { + add_research_slot = -1 + } + } + + traits = { expensive_genius nonelves_minor } + } + + sequential_beeliner_idea_lth_nonelves = { + + picture = portrait_dwarves_generic_34 + + name = "Khelrum" + + allowed = { + tag = LTH + } + visible = { + has_country_flag = lth_nonelves_activated + } + + ai_will_do = { + factor = 0 + } + + cost = 150 + removal_cost = 10 + + modifier = { + research_speed_factor = 0.3 + } + + on_add = { + add_research_slot = -1 + } + on_remove = { + hidden_effect = { + add_research_slot = -1 + } + } + + traits = { sequential_beeliner nonelves_minor } + } + } + + architect = { + + designer = yes + + military_architect_idea_lth_nonelves = { + + picture = portrait_dwarves_generic_24 + + name = "Kharlik" + + allowed = { + tag = LTH + } + visible = { + has_country_flag = lth_nonelves_activated + } + + ai_will_do = { + factor = 4 + } + + cost = 150 + removal_cost = 10 + + modifier = { + production_speed_arms_factory_factor = 0.1 + } + + traits = { military_architect nonelves_minor } + } + + woodworking_enthusiast_idea_lth_nonelves = { + + picture = portrait_men_generic_130 + + name = "Hadding" + + allowed = { + tag = LTH + } + visible = { + has_country_flag = lth_nonelves_activated + } + + ai_will_do = { + factor = 1 + modifier = { + factor = 0 + check_variable = { resource@chromium < 15 } + } + modifier = { + add = 5 + check_variable = { resource@chromium > 50 } + } + modifier = { + add = 10 + check_variable = { resource@chromium > 100 } + } + } + + cost = 150 + removal_cost = 10 + + on_add = { + hidden_effect = { + lotr_advisors_update_vars_weekly = yes # manually update variables when hired + add_dynamic_modifier = { modifier = woodworking_enthusiast_modifier } + } + } + + traits = { woodworking_enthusiast nonelves_minor } + } + + quartermaster_general_idea_lth_nonelves = { + + picture = portrait_men_generic_116 + + name = "Geirmund" + + allowed = { + tag = LTH + } + visible = { + has_country_flag = lth_nonelves_activated + } + + ai_will_do = { + factor = 2 + } + + cost = 150 + removal_cost = 10 + + traits = { quartermaster_general nonelves_minor } + } + } + + research_advisor = { + + designer = yes + + obsessive_optimizer_idea_lth_nonelves = { + + picture = portrait_dwarves_generic_64 + + name = "Dwefum" + + allowed = { + tag = LTH + } + visible = { + has_country_flag = lth_nonelves_activated + } + + ai_will_do = { + factor = 3 + } + + cost = 150 + removal_cost = 10 + + modifier = { + production_factory_start_efficiency_factor = -0.05 + production_factory_max_efficiency_factor = 0.15 + } + + traits = { obsessive_optimizer nonelves_minor } + } + + hectic_kickstarter_idea_lth_nonelves = { + + picture = portrait_dwarves_generic_74 + + name = "Tolvik" + + allowed = { + tag = LTH + } + visible = { + has_country_flag = lth_nonelves_activated + } + + ai_will_do = { + factor = 3 + } + + cost = 150 + removal_cost = 10 + + modifier = { + production_factory_start_efficiency_factor = 0.1 + production_factory_max_efficiency_factor = -0.05 + } + + traits = { hectic_kickstarter nonelves_minor } + } + + stablemaster_idea_lth_nonelves = { + + picture = portrait_men_generic_103 + + name = "Godmund" + + allowed = { + tag = LTH + } + visible = { + has_country_flag = lth_nonelves_activated + } + + ai_will_do = { + factor = 1 + } + + cost = 150 + removal_cost = 10 + + research_bonus = { + lotr_cavalry = 0.2 + } + + traits = { stablemaster nonelves_minor } + } + + support_equipment_designer_idea_lth_nonelves = { + + picture = portrait_men_generic_146 + + name = "Hallgrim" + + allowed = { + tag = LTH + } + visible = { + has_country_flag = lth_nonelves_activated + } + + ai_will_do = { + factor = 1 + } + + cost = 150 + removal_cost = 10 + + research_bonus = { + lotr_support_tech = 0.2 + } + + traits = { support_equipment_designer nonelves_minor } + } + + spark_of_genius_idea_lth_nonelves = { + + picture = portrait_men_generic_161 + + name = "Katrine" + + allowed = { + tag = LTH + } + visible = { + has_country_flag = lth_nonelves_activated + } + + ai_will_do = { + factor = 0 + } + + cost = 150 + removal_cost = 10 + + on_add = { + hidden_effect = { + activate_mission = spark_of_genius_spark + } + } + + traits = { spark_of_genius nonelves_minor } + } + } + +} diff --git a/common/ideas/zzz_lotr_advisors_elves.txt b/common/ideas/zzz_lotr_advisors_elves.txt index ef4324f82..02225e5af 100644 --- a/common/ideas/zzz_lotr_advisors_elves.txt +++ b/common/ideas/zzz_lotr_advisors_elves.txt @@ -10,6 +10,7 @@ ideas = { allowed = { is_elves_init = yes + NOT = { original_tag = LTH } } ai_will_do = { @@ -29,6 +30,7 @@ ideas = { allowed = { is_elves_init = yes NOT = { original_tag = RIV } + NOT = { original_tag = LTH } } ai_will_do = { @@ -81,6 +83,7 @@ ideas = { allowed = { is_elves_init = yes NOT = { original_tag = MIR } + NOT = { original_tag = LTH } } ai_will_do = { @@ -112,7 +115,6 @@ ideas = { # default no, exceptions: OR = { original_tag = RIV - original_tag = LTH } } @@ -181,6 +183,7 @@ ideas = { allowed = { is_elves_init = yes NOT = { original_tag = HLI } + NOT = { original_tag = LTH } } ai_will_do = { @@ -211,6 +214,7 @@ ideas = { is_elves_init = yes NOT = { original_tag = HLI } NOT = { original_tag = RIV } + NOT = { original_tag = LTH } } ai_will_do = { @@ -240,6 +244,7 @@ ideas = { allowed = { is_elves_init = yes NOT = { original_tag = RIV } + NOT = { original_tag = LTH } } ai_will_do = { @@ -314,6 +319,7 @@ ideas = { is_elves_init = yes NOT = { original_tag = LIN } NOT = { original_tag = RIV } + NOT = { original_tag = LTH } } ai_will_do = { @@ -338,7 +344,6 @@ ideas = { allowed = { is_elves_init = yes OR = { - original_tag = LTH original_tag = LIN } } @@ -371,7 +376,6 @@ ideas = { allowed = { is_elves_init = yes OR = { - original_tag = LTH original_tag = RIV } } @@ -428,6 +432,7 @@ ideas = { allowed = { is_elves_init = yes NOT = { original_tag = RIV } + NOT = { original_tag = LTH } } ai_will_do = { @@ -478,7 +483,6 @@ ideas = { allowed = { is_elves_init = yes OR = { - original_tag = LTH original_tag = RIV } } @@ -508,6 +512,7 @@ ideas = { allowed = { is_elves_init = yes NOT = { original_tag = MIR } + NOT = { original_tag = LTH } } ai_will_do = { @@ -531,6 +536,7 @@ ideas = { allowed = { is_elves_init = yes NOT = { original_tag = MIR } + NOT = { original_tag = LTH } } ai_will_do = { @@ -583,6 +589,7 @@ ideas = { allowed = { is_elves_init = yes NOT = { original_tag = HLI } + NOT = { original_tag = LTH } } ai_will_do = { @@ -611,6 +618,7 @@ ideas = { allowed = { is_elves_init = yes + NOT = { original_tag = LTH } } ai_will_do = { @@ -640,6 +648,7 @@ ideas = { allowed = { is_elves_init = yes NOT = { original_tag = MIR } + NOT = { original_tag = LTH } } ai_will_do = { @@ -688,6 +697,7 @@ ideas = { allowed = { is_elves_init = yes + NOT = { original_tag = LTH } } ai_will_do = { diff --git a/common/map_modes/elven_alliance_map_mode.txt b/common/map_modes/elven_alliance_map_mode.txt new file mode 100644 index 000000000..990b5a0bd --- /dev/null +++ b/common/map_modes/elven_alliance_map_mode.txt @@ -0,0 +1,56 @@ +scripted_map_modes = { + elven_alliance_map_mode = { + top = { + type = country + + color = { + FROM = { + set_temp_variable = { alpha = 0.4 } + if = { + limit = { + is_elven_alliance_member = yes + } + set_temp_variable = { red = 1.0 } + set_temp_variable = { green = 1.0 } + set_temp_variable = { blue = 0.0 } + set_temp_variable = { highlighted = 1.0 } + } + else_if = { + limit = { + is_at_war_with_elven_alliance = yes + } + set_temp_variable = { red = 1.0 } + set_temp_variable = { green = 0.0 } + set_temp_variable = { blue = 0.0 } + } + else_if = { + limit = { + is_sanctioned_by_elven_alliance = yes + } + set_temp_variable = { red = 0.6 } + set_temp_variable = { green = 0.3 } + set_temp_variable = { blue = 0.0 } + } + else = { + set_temp_variable = { red = 0.5 } + set_temp_variable = { green = 0.5 } + set_temp_variable = { blue = 1.0 } + } + } + } + + thickness = no + + targets = { + target_array = global.countries + } + + update_daily = yes + } + + far_text = country + near_text = state + + update_daily = yes + } +} \ No newline at end of file diff --git a/common/map_modes/races_map_mode.txt b/common/map_modes/races_map_mode.txt new file mode 100644 index 000000000..35978b315 --- /dev/null +++ b/common/map_modes/races_map_mode.txt @@ -0,0 +1,87 @@ +scripted_map_modes = { + races_map_mode = { + top = { + type = country + + color = { + FROM = { + set_temp_variable = { alpha = 0.4 } + if = { + limit = { + is_orcs = yes + } + set_temp_variable = { red = 0.7 } + set_temp_variable = { green = 0.0 } + set_temp_variable = { blue = 0.0 } + } + else_if = { + limit = { + is_elves = yes + } + set_temp_variable = { red = 0.0 } + set_temp_variable = { green = 0.8 } + set_temp_variable = { blue = 0.8 } + } + else_if = { + limit = { + is_dwarves = yes + } + set_temp_variable = { red = 1.0 } + set_temp_variable = { green = 1.0 } + set_temp_variable = { blue = 0.1 } + } + else_if = { + limit = { + is_men = yes + } + set_temp_variable = { red = 0.5 } + set_temp_variable = { green = 0.5 } + set_temp_variable = { blue = 1.0 } + } + else_if = { + limit = { + is_spiders = yes + } + set_temp_variable = { red = 1.0 } + set_temp_variable = { green = 0.3 } + set_temp_variable = { blue = 0.3 } + } + else_if = { + limit = { + is_hobbits = yes + } + set_temp_variable = { red = 0.3 } + set_temp_variable = { green = 0.8 } + set_temp_variable = { blue = 0.3 } + } + else_if = { + limit = { + is_ents = yes + } + set_temp_variable = { red = 0.0 } + set_temp_variable = { green = 0.4 } + set_temp_variable = { blue = 0.0 } + } + else = { + set_temp_variable = { red = 0.4 } + set_temp_variable = { green = 0.4 } + set_temp_variable = { blue = 0.4 } + } + } + } + + thickness = no + + targets = { + target_array = global.countries + } + + update_daily = yes + } + + far_text = country + near_text = state + + update_daily = yes + } +} \ No newline at end of file diff --git a/common/military_industrial_organization/ai_bonus_weights/ai_bonus_weights.txt b/common/military_industrial_organization/ai_bonus_weights/ai_bonus_weights.txt new file mode 100644 index 000000000..fb21a5efd --- /dev/null +++ b/common/military_industrial_organization/ai_bonus_weights/ai_bonus_weights.txt @@ -0,0 +1,98 @@ +default = { + + # Equipment stats + + air_agility = 1 + air_attack = 1 + air_bombing = 1 + air_defence = 1 + air_ground_attack = 1 + air_range = 1 + air_superiority = 1 + anti_air_attack = 1 + ap_attack = 1 + armor_value = 1 + breakthrough = 1 + build_cost_ic = 1 + carrier_size = 1 + defense = 1 + entrenchment = 1 + fuel_consumption = 1 + hard_attack = 1 + hardness = 1 + hg_armor_piercing = 1 + hg_attack = 1 + lg_armor_piercing = 1 + lg_attack = 1 + max_organisation = 1 + max_strength = 1 + maximum_speed = 1 + mines_planting = 1 + mines_sweeping = 1 + naval_heavy_gun_hit_chance_factor = 1 + naval_light_gun_hit_chance_factor = 1 + naval_range = 1 + naval_speed = 1 + naval_strike_attack = 1 + naval_strike_targetting = 1 + naval_torpedo_damage_reduction_factor = 1 + naval_torpedo_hit_chance_factor = 1 + naval_weather_penalty_factor = 1 + night_penalty = 1 + reliability = 1 + reliability_factor = 1 + soft_attack = 1 + strategic_attack = 1 + sub_attack = 1 + sub_detection = 1 + sub_visibility = 1 + supply_consumption = 1 + surface_detection = 1 + surface_visibility = 1 + thrust = 1 + torpedo_attack = 1 + weight = 1 + + #Need to confirm by coder + default_morale = 1 + recon = 1 + initiative = 1 + casualty_trickleback = 1 + supply_consumption_factor = 1 + suppression = 1 + suppression_factor = 1 + experience_loss_factor = 1 + equipment_capture_factor = 1 + fuel_capacity = 1 + amphibious_defense = 1 + naval_torpedo_enemy_critical_chance_factor = 1 + convoy_raiding_coordination = 1 + patrol_coordination = 1 + search_and_destroy_coordination = 1 + air_visibility_factor = 1 + railway_gun_attack = 1 + railway_gun_attack_range = 1 + fuel_consumption_factor = 1 + acclimatization_hot_climate_gain_factor = 1 + acclimatization_cold_climate_gain_factor = 1 + + # Production bonuses + + production_capacity_factor = 1 + production_conversion_speed_factor = 1 + production_cost_factor = 1 + production_efficiency_cap_factor = 1 + production_efficiency_gain_factor = 1 + production_resource_need_factor = 1 + production_resource_penalty_factor = 1 + + # Organisation modifiers + + military_industrial_organization_design_team_assign_cost = 1 + military_industrial_organization_design_team_change_cost = 1 + military_industrial_organization_funds_gain = 1 + military_industrial_organization_industrial_manufacturer_assign_cost = 1 + military_industrial_organization_research_bonus = 1 + military_industrial_organization_size_up_requirement = 1 + military_industrial_organization_task_capacity = 1 +} \ No newline at end of file diff --git a/common/military_industrial_organization/ai_bonus_weights/documentation.info b/common/military_industrial_organization/ai_bonus_weights/documentation.info new file mode 100644 index 000000000..4f2b70d85 --- /dev/null +++ b/common/military_industrial_organization/ai_bonus_weights/documentation.info @@ -0,0 +1,39 @@ +# +# AI Bonus Weights +# +# This database contains numbers that influence how much each trait bonus +# affects the desire of the AI to pick traits with that bonus. +# +# The format is very simple: +# +# equipment_archetype = { +# bonus_1 = weight +# bonus_2 = weight +# bonus_3 = weight +# ... +# } +# +# For example: +# +# infantry_equipment = { +# # Prefer infantry equipment with high air superiority bonus! +# air_superiority = 9.999 +# } +# +# Each bonus will affect the desire of the AI greater the greater the value +# of the bonus. +# +# Every bonus used by any of the MIOs should have a weight. If no archetype- +# specific weight is provided for a bonus, the default value will be used. +# Default values live in their own section: +# +# default = { +# bonus_1 = weight +# bonus_2 = weight +# bonus_3 = weight +# ... +# } +# +# If neither archetype-specific nor default value is provided, the game will +# log an error. +# diff --git a/common/military_industrial_organization/organizations/GON.txt b/common/military_industrial_organization/organizations/GON.txt new file mode 100644 index 000000000..995ebf10e --- /dev/null +++ b/common/military_industrial_organization/organizations/GON.txt @@ -0,0 +1,58 @@ +GON_blacksmith_guild = { + name = "White Tower Steelshop" + icon = GFX_mio_generic_4 + + allowed = { + original_tag = GON + } + + include = generic_blacksmith_guild +} + +GON_knights_guild = { + name = "Order of the White Rose" + icon = GFX_mio_generic_7 + + allowed = { + original_tag = GON + } + + visible = { + FROM = { NOT = { has_completed_focus = GON_purge_the_aristocracy } } + } + + include = generic_knights_guild +} + +GON_alchemists_guild = { + name = "Citadel Lorekeepers" + icon = GFX_mio_generic_alchemists_1 + + allowed = { + original_tag = GON + } + + include = generic_alchemists_guild +} + +GON_shipbuilders_guild = { + name = "Shipwrights of Númenor" + icon = GFX_mio_generic_ships_2 + + allowed = { + original_tag = GON + } + + include = generic_shipbuilders_guild +} + +GON_woodcutters_guild = { + name = "Ostagar Luberjacks" + icon = GFX_mio_generic_wood_1 + + allowed = { + original_tag = GON + } + + include = generic_woodcutters_guild +} \ No newline at end of file diff --git a/common/military_industrial_organization/organizations/ISE.txt b/common/military_industrial_organization/organizations/ISE.txt new file mode 100644 index 000000000..426d05d07 --- /dev/null +++ b/common/military_industrial_organization/organizations/ISE.txt @@ -0,0 +1,43 @@ +ISE_alchemists_guild = { + name = "Orthanc Elixirs Guild" + icon = GFX_mio_generic_alchemists_3 + + allowed = { + original_tag = ISE + } + + include = generic_alchemists_guild +} + +ISE_ballistics_guild = { + name = "Iron Ballistae Engineers" + icon = GFX_mio_generic_alchemists_1 + + allowed = { + original_tag = ISE + } + + include = generic_ballistics_guild +} + +ISE_blacksmith_guild = { + name = "White Hand Smithing Guild" + icon = GFX_mio_generic_blacksmith_2 + + allowed = { + original_tag = ISE + } + + include = generic_blacksmith_guild +} + +ISE_woodcutters_guild = { + name = "Isengard Timberwrights Guild" + icon = GFX_mio_generic_orc_4 + + allowed = { + original_tag = ISE + } + + include = generic_woodcutters_guild +} \ No newline at end of file diff --git a/common/military_industrial_organization/organizations/LIN.txt b/common/military_industrial_organization/organizations/LIN.txt new file mode 100644 index 000000000..bc32db004 --- /dev/null +++ b/common/military_industrial_organization/organizations/LIN.txt @@ -0,0 +1,55 @@ +LIN_shipbuilders_guild = { + name = "Shipwrights of the Grey Havens" + icon = GFX_mio_generic_ships_2 + + allowed = { + OR = { + original_tag = LIN + original_tag = HLI + } + } + + include = generic_shipbuilders_guild +} + +LIN_ballistics_guild = { + name = "Sindar Bowcrafters" + icon = GFX_mio_generic_archers_3 + + allowed = { + OR = { + original_tag = LIN + original_tag = HLI + } + } + + include = generic_ballistics_guild +} + +LIN_blacksmith_guild = { + name = "Lune Metalworkers" + icon = GFX_mio_generic_8 + + allowed = { + OR = { + original_tag = LIN + original_tag = HLI + } + } + + include = generic_blacksmith_guild +} + +LIN_woodcutters_guild = { + name = "Ossiriand Woodworkers" + icon = GFX_mio_generic_farming_3 + + allowed = { + OR = { + original_tag = LIN + original_tag = HLI + } + } + + include = generic_woodcutters_guild +} \ No newline at end of file diff --git a/common/military_industrial_organization/organizations/LTH.txt b/common/military_industrial_organization/organizations/LTH.txt new file mode 100644 index 000000000..550558036 --- /dev/null +++ b/common/military_industrial_organization/organizations/LTH.txt @@ -0,0 +1,375 @@ +LTH_hunters_guild = { + name = "Nandor Hunters" + icon = GFX_mio_nandor + + allowed = { + OR = { + original_tag = LTH + original_tag = NDH + } + } + + include = generic_hunters_guild + + override_trait = { + token = generic_mio_trait_traps + on_complete = { FROM = { lthi_increase_influence_nandor_minor = yes } } + } + override_trait = { + token = generic_mio_advanced_falconry + on_complete = { FROM = { lthi_increase_influence_nandor_minor = yes } } + } + override_trait = { + token = generic_mio_trait_hunting_spears + on_complete = { FROM = { lthi_increase_influence_nandor_minor = yes } } + } + override_trait = { + token = generic_mio_trait_improved_horsemanship + on_complete = { FROM = { lthi_increase_influence_nandor_minor = yes } } + } + override_trait = { + token = generic_mio_horseback_javelins + on_complete = { FROM = { lthi_increase_influence_nandor_minor = yes } } + } + override_trait = { + token = generic_mio_mounted_trackers + on_complete = { FROM = { lthi_increase_influence_nandor_minor = yes } } + } + override_trait = { + token = generic_mio_mounted_archers + on_complete = { FROM = { lthi_increase_influence_nandor_minor = yes } } + } + override_trait = { + token = generic_mio_trait_hunters_archery + on_complete = { FROM = { lthi_increase_influence_nandor_minor = yes } } + } + override_trait = { + token = generic_mio_trait_hunters_shortbow + on_complete = { FROM = { lthi_increase_influence_nandor_minor = yes } } + } + override_trait = { + token = generic_mio_trait_hunters_crossbow + on_complete = { FROM = { lthi_increase_influence_nandor_minor = yes } } + } + override_trait = { + token = generic_mio_trait_hunters_longbow + on_complete = { FROM = { lthi_increase_influence_nandor_minor = yes } } + } + override_trait = { + token = generic_mio_trait_poisoned_arrows + on_complete = { FROM = { lthi_increase_influence_nandor_minor = yes } } + } + override_trait = { + token = generic_mio_trait_river_fishing + on_complete = { FROM = { lthi_increase_influence_nandor_minor = yes } } + } + override_trait = { + token = generic_mio_advanced_fishery + on_complete = { FROM = { lthi_increase_influence_nandor_minor = yes } } + } + override_trait = { + token = generic_mio_trait_thrill_of_the_hunt + on_complete = { FROM = { lthi_increase_influence_nandor_minor = yes } } + } + override_trait = { + token = generic_mio_trait_survival_instincts + on_complete = { FROM = { lthi_increase_influence_nandor_minor = yes } } + } +} + +LTH_ballistics_guild = { + name = "Sindar Bowcrafters" + icon = GFX_mio_sindar + + allowed = { + OR = { + original_tag = LTH + original_tag = NDH + } + } + + visible = { + FROM = { + lth_civil_war_noldor = no + } + } + + include = generic_ballistics_guild + + override_trait = { + token = shortbow_specialization + on_complete = { FROM = { lthi_increase_influence_sindar_minor = yes } } + } + override_trait = { + token = reinforced_limbs + on_complete = { FROM = { lthi_increase_influence_sindar_minor = yes } } + } + override_trait = { + token = key_ring_trigger + on_complete = { FROM = { lthi_increase_influence_sindar_minor = yes } } + } + override_trait = { + token = agility_training + on_complete = { FROM = { lthi_increase_influence_sindar_minor = yes } } + } + override_trait = { + token = longbow_specialization + on_complete = { FROM = { lthi_increase_influence_sindar_minor = yes } } + } + override_trait = { + token = silent_draw + on_complete = { FROM = { lthi_increase_influence_sindar_minor = yes } } + } + override_trait = { + token = master_fletching + on_complete = { FROM = { lthi_increase_influence_sindar_minor = yes } } + } + override_trait = { + token = crossbow_specialization + on_complete = { FROM = { lthi_increase_influence_sindar_minor = yes } } + } + override_trait = { + token = eagles_eye_construction + on_complete = { FROM = { lthi_increase_influence_sindar_minor = yes } } + } + override_trait = { + token = plaited_string + on_complete = { FROM = { lthi_increase_influence_sindar_minor = yes } } + } + override_trait = { + token = ballistic_methodology + on_complete = { FROM = { lthi_increase_influence_sindar_minor = yes } } + } + override_trait = { + token = trajectory_estimation + on_complete = { FROM = { lthi_increase_influence_sindar_minor = yes } } + } + override_trait = { + token = weight_adjustment + on_complete = { FROM = { lthi_increase_influence_sindar_minor = yes } } + } + override_trait = { + token = airborne_projectiles + on_complete = { FROM = { lthi_increase_influence_sindar_minor = yes } } + } + override_trait = { + token = field_ballistics + on_complete = { FROM = { lthi_increase_influence_sindar_minor = yes } } + } + override_trait = { + token = explosive_arrows_ballista + on_complete = { FROM = { lthi_increase_influence_sindar_minor = yes } } + } + override_trait = { + token = piercing_arrows_ballista + on_complete = { FROM = { lthi_increase_influence_sindar_minor = yes } } + } + override_trait = { + token = production_standardization + on_complete = { FROM = { lthi_increase_influence_sindar_minor = yes } } + } + override_trait = { + token = standardize_draw_weight + on_complete = { FROM = { lthi_increase_influence_sindar_minor = yes } } + } + override_trait = { + token = standardize_projectiles + on_complete = { FROM = { lthi_increase_influence_sindar_minor = yes } } + } +} + +LTH_blacksmith_guild = { + name = "Ñoldor Steelwielders" + icon = GFX_mio_noldor + + allowed = { + OR = { + original_tag = LTH + original_tag = NDH + } + } + + visible = { + FROM = { + lth_civil_war_sindar = no + } + } + + include = generic_blacksmith_guild + + override_trait = { + token = generic_mio_trait_quench_tempering_mastery + on_complete = { FROM = { lthi_increase_influence_noldor_minor = yes } } + } + override_trait = { + token = generic_mio_trait_molten_salt_temper + on_complete = { FROM = { lthi_increase_influence_noldor_minor = yes } } + } + override_trait = { + token = generic_mio_trait_folded_steel + on_complete = { FROM = { lthi_increase_influence_noldor_minor = yes } } + } + override_trait = { + token = generic_mio_trait_filigree_work + on_complete = { FROM = { lthi_increase_influence_noldor_minor = yes } } + } + override_trait = { + token = generic_mio_trait_etching_engraving + on_complete = { FROM = { lthi_increase_influence_noldor_minor = yes } } + } + override_trait = { + token = generic_mio_trait_weapon_design + on_complete = { FROM = { lthi_increase_influence_noldor_minor = yes } } + } + override_trait = { + token = generic_mio_trait_hilts_and_crossguards + on_complete = { FROM = { lthi_increase_influence_noldor_minor = yes } } + } + override_trait = { + token = generic_mio_trait_curved_blades + on_complete = { FROM = { lthi_increase_influence_noldor_minor = yes } } + } + override_trait = { + token = generic_mio_trait_straight_blades + on_complete = { FROM = { lthi_increase_influence_noldor_minor = yes } } + } + override_trait = { + token = generic_mio_trait_multi_part_assembly + on_complete = { FROM = { lthi_increase_influence_noldor_minor = yes } } + } + override_trait = { + token = generic_mio_trait_replacable_handles + on_complete = { FROM = { lthi_increase_influence_noldor_minor = yes } } + } + override_trait = { + token = generic_mio_trait_amor_design + on_complete = { FROM = { lthi_increase_influence_noldor_minor = yes } } + } + override_trait = { + token = generic_mio_trait_chainmail_manufacturing + on_complete = { FROM = { lthi_increase_influence_noldor_minor = yes } } + } + override_trait = { + token = generic_mio_trait_leather_padding + on_complete = { FROM = { lthi_increase_influence_noldor_minor = yes } } + } + override_trait = { + token = generic_mio_trait_quilted_gambeson + on_complete = { FROM = { lthi_increase_influence_noldor_minor = yes } } + } + override_trait = { + token = generic_mio_standardized_equipment + on_complete = { FROM = { lthi_increase_influence_noldor_minor = yes } } + } + override_trait = { + token = generic_mio_induction_heating + on_complete = { FROM = { lthi_increase_influence_noldor_minor = yes } } + } +} + +LTH_woodcutters_guild = { + name = "Peredhil Woodgatherers" + icon = GFX_mio_peredhil + + allowed = { + OR = { + original_tag = LTH + original_tag = NDH + } + } + + include = generic_woodcutters_guild + + override_trait = { + token = generic_mio_advanced_woodworking + on_complete = { FROM = { lthi_increase_influence_halfelves_minor = yes } } + } + override_trait = { + token = generic_mio_hinged_mechanisms + on_complete = { FROM = { lthi_increase_influence_halfelves_minor = yes } } + } + override_trait = { + token = generic_mio_counterweight_mechanisms + on_complete = { FROM = { lthi_increase_influence_halfelves_minor = yes } } + } + override_trait = { + token = generic_mio_siege_trebuchet_sites + on_complete = { FROM = { lthi_increase_influence_halfelves_minor = yes } } + } + override_trait = { + token = generic_mio_portable_springalds + on_complete = { FROM = { lthi_increase_influence_halfelves_minor = yes } } + } + override_trait = { + token = generic_mio_torsion_powered_engines + on_complete = { FROM = { lthi_increase_influence_halfelves_minor = yes } } + } + override_trait = { + token = generic_mio_mortise_and_tenon_joints + on_complete = { FROM = { lthi_increase_influence_halfelves_minor = yes } } + } + override_trait = { + token = generic_mio_oiling_sealing_charring + on_complete = { FROM = { lthi_increase_influence_halfelves_minor = yes } } + } + override_trait = { + token = generic_mio_compound_joinery + on_complete = { FROM = { lthi_increase_influence_halfelves_minor = yes } } + } + override_trait = { + token = generic_mio_large_scale_construction + on_complete = { FROM = { lthi_increase_influence_halfelves_minor = yes } } + } + override_trait = { + token = generic_mio_advanced_drydocks + on_complete = { FROM = { lthi_increase_influence_halfelves_minor = yes } } + } + override_trait = { + token = generic_mio_efficient_lumber_harvesting + on_complete = { FROM = { lthi_increase_influence_halfelves_minor = yes } } + } + override_trait = { + token = generic_mio_advanced_sawmills + on_complete = { FROM = { lthi_increase_influence_halfelves_minor = yes } } + } + override_trait = { + token = generic_mio_streamlined_cutting + on_complete = { FROM = { lthi_increase_influence_halfelves_minor = yes } } + } + override_trait = { + token = generic_mio_small_arms_timber_processing + on_complete = { FROM = { lthi_increase_influence_halfelves_minor = yes } } + } + override_trait = { + token = generic_mio_multitalent_carpenters + on_complete = { FROM = { lthi_increase_influence_halfelves_minor = yes } } + } + override_trait = { + token = generic_mio_dedicated_weapon_assemblers + on_complete = { FROM = { lthi_increase_influence_halfelves_minor = yes } } + } + override_trait = { + token = generic_mio_standardized_shafts + on_complete = { FROM = { lthi_increase_influence_halfelves_minor = yes } } + } +} + +LTH_alchemists_guild = { + name = "Lorekeeper's Guild" + icon = GFX_mio_generic_alchemists_2 + + allowed = { + OR = { + original_tag = LTH + original_tag = NDH + } + } + + visible = { + FROM = { + has_completed_focus = lth_lorekeepersguild + } + } + + include = generic_alchemists_guild +} \ No newline at end of file diff --git a/common/military_industrial_organization/organizations/MIR.txt b/common/military_industrial_organization/organizations/MIR.txt new file mode 100644 index 000000000..d9c2a483a --- /dev/null +++ b/common/military_industrial_organization/organizations/MIR.txt @@ -0,0 +1,43 @@ +MIR_hunters_guild = { + name = "Mirkwood Pathstalkers" + icon = GFX_mio_generic_hunters_1 + + allowed = { + original_tag = MIR + } + + include = generic_hunters_guild +} + +MIR_ballistics_guild = { + name = "Wood-elf Ballistics" + icon = GFX_mio_generic_archers_1 + + allowed = { + original_tag = MIR + } + + include = generic_ballistics_guild +} + +MIRblacksmith_guild = { + name = "King's Halls Flamekeepers" + icon = GFX_mio_generic_orc_4 + + allowed = { + original_tag = MIR + } + + include = generic_blacksmith_guild +} + +MIR_woodcutters_guild = { + name = "Eastbight Lumberjacks" + icon = GFX_mio_generic_6 + + allowed = { + original_tag = MIR + } + + include = generic_woodcutters_guild +} \ No newline at end of file diff --git a/common/military_industrial_organization/organizations/RIV.txt b/common/military_industrial_organization/organizations/RIV.txt new file mode 100644 index 000000000..482d6e40a --- /dev/null +++ b/common/military_industrial_organization/organizations/RIV.txt @@ -0,0 +1,43 @@ +RIV_ballistics_guild = { + name = "Bruinen Bowcrafters" + icon = GFX_mio_generic_9 + + allowed = { + original_tag = RIV + } + + include = generic_ballistics_guild +} + +RIV_blacksmith_guild = { + name = "Throllshaws Forgekeepers" + icon = GFX_mio_generic_orc_4 + + allowed = { + original_tag = RIV + } + + include = generic_blacksmith_guild +} + +RIV_hunters_guild = { + name = "Bruinen Roamers" + icon = GFX_mio_generic_hunters_2 + + allowed = { + original_tag = RIV + } + + include = generic_hunters_guild +} + +RIV_alchemists_guild = { + name = "Scholar's Guild-Hall" + icon = GFX_mio_generic_alchemists_2 + + allowed = { + original_tag = RIV + } + + include = generic_alchemists_guild +} \ No newline at end of file diff --git a/common/military_industrial_organization/organizations/ROH.txt b/common/military_industrial_organization/organizations/ROH.txt new file mode 100644 index 000000000..87da24093 --- /dev/null +++ b/common/military_industrial_organization/organizations/ROH.txt @@ -0,0 +1,43 @@ +ROH_stablemasters_guild = { + name = "Eorling Ridewardens" + icon = GFX_mio_generic_horse_1 + + allowed = { + original_tag = ROH + } + + include = generic_stablemasters_guild +} + +ROH_farmers_guild = { + name = "Riddermark Farmsteaders" + icon = GFX_mio_generic_farming_1 + + allowed = { + original_tag = ROH + } + + include = generic_farmers_guild +} + +ROH_knights_guild = { + name = "Dawnward Cavaliers" + icon = GFX_mio_generic_8 + + allowed = { + original_tag = ROH + } + + include = generic_knights_guild +} + +ROH_blacksmith_guild = { + name = "Helm's Forge Guild" + icon = GFX_mio_generic_blacksmith_2 + + allowed = { + original_tag = ROH + } + + include = generic_blacksmith_guild +} \ No newline at end of file diff --git a/common/military_industrial_organization/organizations/SHI.txt b/common/military_industrial_organization/organizations/SHI.txt new file mode 100644 index 000000000..9d1380262 --- /dev/null +++ b/common/military_industrial_organization/organizations/SHI.txt @@ -0,0 +1,43 @@ +shire_farmers_guild = { + name = "Eastfarthing Pastures" + icon = GFX_mio_generic_farming_1 + + allowed = { + original_tag = SHI + } + + include = generic_farmers_guild +} + +shire_stablemasters_guild = { + name = "Greenholm Pony-Keepers" + icon = GFX_mio_generic_farming_2 + + allowed = { + original_tag = SHI + } + + include = generic_stablemasters_guild +} + +shire_woodcutters_guild = { + name = "Bridgefield Carpenters" + icon = GFX_mio_generic_wood_1 + + allowed = { + original_tag = SHI + } + + include = generic_woodcutters_guild +} + +shire_blacksmith_guild = { + name = "Tuckborough Smithing" + icon = GFX_mio_generic_6 + + allowed = { + original_tag = SHI + } + + include = generic_blacksmith_guild +} \ No newline at end of file diff --git a/common/military_industrial_organization/organizations/_template.txt b/common/military_industrial_organization/organizations/_template.txt new file mode 100644 index 000000000..2a173df4c --- /dev/null +++ b/common/military_industrial_organization/organizations/_template.txt @@ -0,0 +1,46 @@ +##################### + +### ## # # # # ## + # # # ## # # # # + # #### # ## ## # + # # # # # # # # + # # # # # # # ## + + #################### + + + +##################### + + ## # # ### ### ## +# # # # # # # + # #### # ### # + # # # # # # +## # # ### # ## + +##################### + + + +########################### + +### # ## # # ### ## +# # # # # ## # # # +### # #### # ## ## # +# # # # # # # # +# ### # # # # ### ## + +########################### + + + +################################### + +# # ## ### ### ### ### ### # +## ## # # # # # # # # # +# # # #### # ## ### # ## # +# # # # # # # # # # # +# # # # # ### # # ### ### ### + + +################################### \ No newline at end of file diff --git a/common/military_industrial_organization/organizations/documentation.info b/common/military_industrial_organization/organizations/documentation.info new file mode 100644 index 000000000..0181664e7 --- /dev/null +++ b/common/military_industrial_organization/organizations/documentation.info @@ -0,0 +1,220 @@ +# Military Industrial Organization (MIO) database +# +# MIOs are replacement for design companies. +# They give research bonuses, but most importantly they give bonuses to equipments (quality and production). +# +# 1 MIO is composed of 1 tree of unlockable traits. +# The list of equipment a MIO can match is set in the MIO. +# Then the equipment stat & production stat for the bonus is set in the traits. +# The bonus is the combinaison of the two - e.g. soft attack for infantry equipment. +# +# Trait can also unlock modifier for the MIO itself - in that case the equipment type does not matter. +# +# Example with all possible parts: +# my_MIO_token = { +# name = loc_key # optional +# # if name provided, use TAG_loc_key if it exists. if not use loc_key (where TAG is the tag of the MIO owner) +# # if localization key TAG_my_MIO_token exists, use it +# # else use loc key my_MIO_token +# # loc key may use scripted loc, scope will be set with this MIO +# +# icon = GFX_key # optional +# # if icon provided, use GFX_key +# # if gfx key GFX_TAG_my_MIO_token exists, use it (where TAG is the tag of the MIO owner) +# # if gfx key GFX_my_MIO_token exists, use it +# # else use GFX_idea_unknown +# +# allowed = { ... } # mandatory +# # country scope +# # allowed is evaluated when starting the game for all countries (even the ones that don't exist yet) +# # if trigger returns true, an instance of this MIO is created for this country +# +# visible = { ... } # optional, default is always = yes +# # current MIO scope - FROM = country +# # visible is evaluated when displaying the MIO UIs +# # if trigger returns false, then the MIO is not visible for the player +# +# available = { ... } # optional, default is always = yes +# # current MIO scope - FROM = country +# # available is evaluated when displaying the MIO UIs +# # if trigger returns false, then the MIO is visible but disabled and greyed-out +# +# # for AI and script, a MIO is considered enabled if it is both visible and available +# +# equipment_type = { equipment_type_token1 } +# # Equipment archetypes & categories used to match the MIO with variants +# # cf. script enum script_enum_equipment_bonus_type for possible values +# +# research_categories = { infantry_weapons } +# # Research categories used to match the MIO with technlogies +# # Must match categories in game/common/technologies files +# +# on_design_team_assigned_to_tech = { ... } +# on_design_team_assigned_to_variant = { ... } +# on_industrial_manufacturer_assigned = { ... } +# on_tech_research_cancelled = { ... } +# on_tech_research_completed = { ... } +# on_industrial_manufacturer_unassigned = { ... } +# # optional on-action effects - executed with current MIO scope and FROM = country +# +# research_bonus = 0.2 # optional, default is define DESIGN_TEAM_RESEARCH_BONUS +# task_capacity = 3 # optional, default is define DEFAULT_INITIAL_TASK_CAPACITY +# +# +# ai_will_do = { +# ... +# } +# # current MIO scope - FROM = country +# # AI weight modifier for this organization - optional +# # For documentation, see examples of ai_will_do throughout the content +# +# # Flavor texts are displayed above the trait tree. +# # They are typically here to describe a column of traits - there is only room for 1 line! +# # You can have several flavor texts - repeat the tree_flavor_text block +# # use x to choose where to put the text on the horizontal axis. +# # x should be the horizontal coordinate of the cell where the center of the text will be. +# # For the text to be aligned with a point between 2 cells, use a decimal number. (e.g. x = 1.2) +# tree_header_text = { +# text = my_flavor_text_loc_key +# x = 1 +# } +# +# # In addition to the traits in trees, MIO can have an initial trait. +# # This one is unlocked from the start, and the bonuses applies directly. +# initial_trait = { +# # Only the following parameters are relevant for initial traits - all optional +# # See Trait parameters below for more details. +# name = my_loc_key # token initial_trait will be used for default name +# limit_to_equipment_type = { ... } +# equipment_bonus = { ... } +# production_bonus = { ... } +# organization_modifier = { ... } +# } +# +# # Add traits to the tree +# # you can add as many as needed by repeating the trait block +# trait = { +# token = upgrade_1 # mandatory +# name = loc_key # optional +# # if name provided, use TAG_loc_key if it exists. if not use loc_key (where TAG is the tag of the MIO owner) +# # if localization key TAG_my_MIO_token_upgrade_1 exists, use it +# # else use loc key my_MIO_token_upgrade_1 +# +# icon = GFX_key # optional +# # if icon provided, use GFX_key +# # if gfx key GFX_TAG_my_MIO_token_upgrade_1 exists, use it (where TAG is the tag of the MIO owner) +# # if gfx key GFX_my_MIO_token_upgrade_1 exists, use it +# # else use GFX_idea_unknown +# +# # if your trait is not the first in the tree, it needs at least one parent specified +# # with parent or any_parent +# parent = { +# traits = { parent traits } +# num_parents_needed = X # The number of parents that needs to be unlocked, default 1 +# } +# any_parent = { parent traits } # Short hand for "parent = { traits = { parent traits } num_parents_needed = 1 }" +# all_parents = { parent traits} # Short hand for "parent = { traits = { parent traits } num_parents_needed = N }" where N is the number of parent traits +# +# # The trait can be mutually exclusive with another (or more) +# # Note that the other trait should also have the mutually_exclusive parameter set +# mutually_exclusive= { upgrade4 } +# +# visible = { ... } # optional, default is always = yes +# # current MIO scope - FROM = country +# # visible is evaluated when displaying the MIO UIs +# # if trigger returns false, then the trait is not visible for the player +# +# available = { ... } # optional, default is always = yes +# # current MIO scope - FROM = country +# # available is evaluated when displaying the MIO UIs +# # if trigger returns false, then the trait is visible but disabled and greyed-out +# +# # for AI and script, a trait is considered enabled if it is both visible and available +# +# on_complete = { ... } # optional +# # current MIO scope - FROM = country +# # Effects that will be executed when the trait is completed (aka unlocked) +# +# limit_to_equipment_type = { ... } # Optional +# # By default, the bonuses in traits are applied to the equipment types at MIO level +# # But you can restrict them to equipment type contained in the ones at MIO level +# # eg. if MIO has list of equipment archetypes { light_armor medium_tank }, you may limit to archetype { light_tank } +# # eg. if MIO has equipment category { armor }, you may limit to archetypes { light_tank medium_tank } +# +# # Defines the bonus given when the trait is unlocked, and the MIO is assigned to an equipment variant +# # cf. script enum script_enum_equipment_stat for possible values +# equipment_bonus = { +# reliability = 0.2 +# soft_attack = 0.1 # accepts as many stats as needed +# } +# # Defines the bonus given when the trait is unlocked, and the MIO is assigned to a production line +# # cf. script enum script_enum_production_stat for possible values +# production_bonus = { +# production_cost_factor = -0.1 +# production_capacity_factor = 0.1 # accepts as many stats as needed +# } +# +# # Defines modifiers that will apply on the Organization the trait is part of. +# # Only use modifiers relevant for MIOs - full list below. +# organization_modifier = { +# military_industrial_organization_research_bonus = 0.1 +# military_industrial_organization_design_team_assign_cost = -0.33 +# military_industrial_organization_design_team_change_cost = -0.5 +# military_industrial_organization_industrial_manufacturer_assign_cost = -0.66 +# military_industrial_organization_task_capacity = 2 +# military_industrial_organization_size_up_requirement = -0.2 +# military_industrial_organization_funds_gain = 0.5 +# } +# +# # Defines where the trait will be positioned in the tree grid (in the MIO Details UI) +# # x=0 y=0 is the top left position +# # Careful to not reuse twice the same position in the same tree +# position = { x=1 y=0 } +# # by default position is the absolute coordinate in the tree grid. +# # if relative_position_id is provided, it becomes a delta applied to the input trait position +# relative_position_id = trait_token +# +# # AI weight modifier for this trait +# # For documentation, see examples of ai_will_do throughout the content +# # Warning : if the trait is part of a central tree, the trait's ai_will_do will override the central tree's! +# ai_will_do = { +# ... +# } +# } +# } +# +# Another example where we build a new MIO by reusing an existing one +# my_quick_unoriginal_MIO = { +# include = my_MIO_token +# # By default, every part of the my_MIO_token will be reused. +# # But you may override any part +# allowed = { ... } +# icon = another_GFX_key +# research_bonus = 0.3 +# +# # In order to override with default/empty value, put parameter name in delete_included_values +# # All parameters are eligible except the trait ones (see below) +# delete_included_values = { name on_design_team_assigned_to_variant initial_trait ... } +# +# # For the initial trait +# # Usual trait API - just fill parts you want to override - the rest will keep the original values +# initial_trait = { +# icon = another_trait_GFX_key +# } +# +# # Same for the traits that are copied into the including MIO as they are. +# # Use the following specific parameters to modify them. +# add_trait = { ... } # add a trait to the included tree - usual trait API +# remove_trait = { trait_token } +# override_trait = { +# token = trait_token # must match a trait in included MIO +# # Usual trait API - just fill parts you want to override - the rest will keep the original values +# equipment_bonus = { ... } +# is_available = { ... } +# # In order to override with default/empty value, put parameter name in delete_included_values +# # All parameters are eligible +# delete_included_values = { equipment_bonus relative_position_id ... } +# } +# # !Warning! if included and including MIO are in 2 seperate files, you will need to "save" the 2 files to hot-reload the result. +# } +# NB: there are no load order constriction when using include. The included MIO just needs to exists somewhere in the organizations directory. diff --git a/common/military_industrial_organization/organizations/generic_alchemists_guild.txt b/common/military_industrial_organization/organizations/generic_alchemists_guild.txt new file mode 100644 index 000000000..befab5732 --- /dev/null +++ b/common/military_industrial_organization/organizations/generic_alchemists_guild.txt @@ -0,0 +1,326 @@ +generic_alchemists_guild = { + icon = GFX_mio_generic_alchemists_3 + name = "Alchemist's Guild" + + allowed = { + always = no + } + + equipment_type = { + infantry_equipment + lotr_equipment_all_siege_artillery + lotr_equipment_eagle_bomber + lotr_equipment_magic + } + research_categories = { + lotr_knowledge + lotr_elven_secrets + lotr_dwarven_secrets + lotr_men_secrets + lotr_orcs_secrets + } + + research_bonus = 0.05 + + tree_header_text = { + text = "Scripture" + x = 1 + } + + tree_header_text = { + text = "Alchemy" + x = 5 + } + + tree_header_text = { + text = "Guild Structure" + x = 7 + } + + initial_trait = { + name = "Alchemy Specialization" + + organization_modifier = { + military_industrial_organization_research_bonus = 0.1 + } + } + + trait = { + token = generic_mio_trait_scripture_archiving + name = "Scripture Archiving" + icon = GFX_generic_mio_trait_bookstack + + position = { x=1 y=0 } + + # improve research bonus + + organization_modifier = { + military_industrial_organization_research_bonus = 0.1 + } + } + + trait = { + token = generic_mio_trait_historical_preservation + name = "Historical Presevation" + icon = GFX_generic_mio_trait_book + + # improve funds or something? + + position = { x=-1 y=1 } + + relative_position_id = generic_mio_trait_scripture_archiving + + all_parents = { generic_mio_trait_scripture_archiving } + + organization_modifier = { + military_industrial_organization_research_bonus = 0.1 + military_industrial_organization_design_team_assign_cost = -0.25 + } + } + + trait = { + token = generic_mio_trait_scripture_copying + name = "Scripture Copying" + icon = GFX_generic_mio_trait_quill + + # improve research bonus + + position = { x=-1 y=3 } + + relative_position_id = generic_mio_trait_scripture_archiving + + all_parents = { generic_mio_trait_historical_preservation } + + organization_modifier = { + military_industrial_organization_research_bonus = 0.1 + military_industrial_organization_design_team_assign_cost = -0.25 + } + } + + trait = { + token = generic_mio_trait_knowledge_collection + name = "Knowledge Collections" + icon = GFX_generic_mio_trait_bookstack + + # improve research bonus + + position = { x=2 y=1 } + + relative_position_id = generic_mio_trait_scripture_archiving + + all_parents = { generic_mio_trait_scripture_archiving } + + organization_modifier = { + military_industrial_organization_research_bonus = 0.1 + military_industrial_organization_size_up_requirement = -0.15 + } + } + + trait = { + token = generic_mio_trait_advanced_alchemy + name = "Advanced Alchemy" + icon = GFX_generic_mio_trait_alchemy + + # improve alchemy bonus, add soft attack to siege machines and eagles + + position = { x=1 y=2 } + + relative_position_id = generic_mio_trait_scripture_archiving + + all_parents = { generic_mio_trait_knowledge_collection } + + mutually_exclusive = { generic_mio_trait_arcane_studies } + + limit_to_equipment_type = { lotr_equipment_eagle_bomber lotr_equipment_siege_trebuchet lotr_equipment_catapult } + + equipment_bonus = { + soft_attack = 0.05 + air_bombing = 0.05 + railway_gun_attack = 0.05 + } + } + + trait = { + token = generic_mio_trait_arcane_studies + name = "Arcane Studies" + icon = GFX_generic_mio_trait_magic_stone + + # better "missiles" + + position = { x=3 y=2 } + + all_parents = { generic_mio_trait_knowledge_collection } + + mutually_exclusive = { generic_mio_trait_advanced_alchemy } + + relative_position_id = generic_mio_trait_scripture_archiving + + limit_to_equipment_type = { guided_missile_equipment } + + equipment_bonus = { + air_bombing = 0.15 + } + } + + trait = { + token = generic_mio_trait_weapon_enchantments + name = "Weapon Enchantments" + icon = GFX_generic_mio_trait_sword_guard + + # improve infantry equip + + position = { x=2 y=4 } + + relative_position_id = generic_mio_trait_scripture_archiving + + any_parent = { generic_mio_trait_arcane_studies generic_mio_trait_advanced_alchemy } + + limit_to_equipment_type = { infantry_equipment } + + equipment_bonus = { + soft_attack = 0.03 + reliability = 0.03 + } + } + + trait = { + token = generic_mio_trait_advanced_explosives + name = "Advanced Explosives" + icon = GFX_generic_mio_trait_explosion + + # siege machines and eagles + + position = { x=5 y=0 } + + limit_to_equipment_type = { lotr_equipment_eagle_bomber lotr_equipment_siege_trebuchet lotr_equipment_catapult } + + equipment_bonus = { + soft_attack = 0.07 + air_bombing = 0.07 + railway_gun_attack = 0.07 + + supply_consumption = 0.02 + } + } + + trait = { + token = generic_mio_trait_flammable_liquids + name = "Flammable Liquids" + icon = GFX_generic_mio_trait_liquid + + # siege machines and eagles + + relative_position_id = generic_mio_trait_advanced_explosives + + all_parents = { generic_mio_trait_advanced_explosives } + + position = { x=0 y=1 } + + limit_to_equipment_type = { lotr_equipment_eagle_bomber lotr_equipment_siege_trebuchet lotr_equipment_catapult } + + organization_modifier = { + military_industrial_organization_research_bonus = 0.05 + } + + equipment_bonus = { + soft_attack = 0.03 + air_bombing = 0.03 + railway_gun_attack = 0.03 + + supply_consumption = 0.02 + } + } + + trait = { + token = generic_mio_trait_destructive_potential + name = "Destructive Potential" + icon = GFX_generic_mio_trait_flamethrower + + all_parents = { generic_mio_trait_flammable_liquids } + any_parent = { generic_mio_trait_arcane_studies generic_mio_trait_advanced_alchemy } + + relative_position_id = generic_mio_trait_advanced_explosives + + position = { x=0 y=3 } + + limit_to_equipment_type = { guided_missile_equipment } + + equipment_bonus = { + air_bombing = 0.2 + } + } + + trait = { + token = generic_mio_trait_advanced_sorcery + name = "Advanced Sorcery" + icon = GFX_generic_mio_trait_sorcery + + all_parents = { generic_mio_trait_destructive_potential } + + relative_position_id = generic_mio_trait_advanced_explosives + + position = { x=0 y=4 } + + organization_modifier = { + military_industrial_organization_research_bonus = 0.1 + } + + on_complete = { + FROM = { + add_ideas = better_magic + } + } + } + + trait = { + token = generic_mio_trait_guild_hierarchy + name = "Guild Hierarchy" + icon = GFX_generic_mio_trait_wizard_hat + + # dunno + + position = { x=7 y=0 } + + organization_modifier = { + military_industrial_organization_size_up_requirement = -0.15 + military_industrial_organization_design_team_assign_cost = -0.25 + } + } + + trait = { + token = generic_mio_trait_fund_allocation + name = "Fund Allocation" + icon = GFX_generic_mio_trait_money + + # more funds + + relative_position_id = generic_mio_trait_guild_hierarchy + + all_parents = { generic_mio_trait_guild_hierarchy } + + position = { x=0 y=2 } + + organization_modifier = { + military_industrial_organization_funds_gain = 0.25 + } + } + + trait = { + token = generic_mio_trait_book_keeping + name = "Book Keeping" + icon = GFX_generic_mio_trait_book + + # more funds + + all_parents = { generic_mio_trait_fund_allocation } + + relative_position_id = generic_mio_trait_guild_hierarchy + + position = { x=0 y=4 } + + organization_modifier = { + military_industrial_organization_funds_gain = 0.25 + } + } +} + diff --git a/common/military_industrial_organization/organizations/generic_ballistics_guild.txt b/common/military_industrial_organization/organizations/generic_ballistics_guild.txt new file mode 100644 index 000000000..adcaeb54e --- /dev/null +++ b/common/military_industrial_organization/organizations/generic_ballistics_guild.txt @@ -0,0 +1,412 @@ +generic_ballistics_guild = { + icon = GFX_mio_generic_3 + name = "Ballistics Guild" + + allowed = { + always = no + } + + equipment_type = { + lotr_equipment_crossbow + lotr_equipment_bow + lotr_equipment_windlance + lotr_equipment_ballista + } + research_categories = { + lotr_infantry_archery + lotr_machines_ballista + lotr_machines_windlance + } + + tree_header_text = { + text = "Weapons" + x = 1 + } + + tree_header_text = { + text = "Methodology" + x = 6 + } + + tree_header_text = { + text = "Standardization" + x = 9 + } + + initial_trait = { + name = "Ballistics Specialization" + + organization_modifier = { + military_industrial_organization_research_bonus = 0.05 + } + + production_bonus = { + production_cost_factor = -0.03 + } + } + + trait = { + token = shortbow_specialization + name = "Shortbow Specialization" + + # archers speed and supply consumption and other stuff + limit_to_equipment_type = { lotr_equipment_bow } + equipment_bonus = { + supply_consumption_factor = -0.05 + maximum_speed = 0.05 + } + + icon = GFX_generic_mio_trait_archer + position = { x=0 y=0 } + } + + trait = { + token = reinforced_limbs + name = "Reinforced Limbs" + any_parent = { shortbow_specialization } + + # Add reliability and other stuff + equipment_bonus = { + reliability = 0.03 + soft_attack = 0.02 + hard_attack = 0.02 + } + # more resource and production cost + production_bonus = { + production_resource_need_factor = 0.03 + } + + relative_position_id = shortbow_specialization + + icon = GFX_generic_mio_trait_icon_armor_value + position = { x=0 y=1 } + } + + trait = { + token = key_ring_trigger + name = "Key Ring Trigger" + any_parent = { reinforced_limbs } + + relative_position_id = shortbow_specialization + + # more soft attack, more training time + equipment_bonus = { + reliability = -0.02 + soft_attack = 0.02 + hard_attack = 0.02 + } + + mutually_exclusive = { master_fletching } + + icon = GFX_generic_mio_keyring + position = { x=0 y=2 } + } + + trait = { + token = agility_training + name = "Agility Training" + any_parent = { key_ring_trigger } + + relative_position_id = shortbow_specialization + + # add speed, lower combat width, increase training time + equipment_bonus = { + maximum_speed = 0.05 + max_organisation = 0.02 + } + + icon = GFX_generic_mio_trait_icon_air_agility + position = { x=0 y=4 } + } + + trait = { + token = longbow_specialization + name = "Longbow Specialization" + + mutually_exclusive = { crossbow_specialization } + + limit_to_equipment_type = { lotr_equipment_bow } + + # add SA and HA + equipment_bonus = { + soft_attack = 0.05 + } + + icon = GFX_generic_mio_trait_archer + position = { x=1 y=0 } + } + + trait = { + token = silent_draw + name = "Silent Draw" + any_parent = { longbow_specialization } + + relative_position_id = longbow_specialization + + limit_to_equipment_type = { lotr_equipment_bow } + + # increase org, decrease SA + equipment_bonus = { + max_organisation = 0.05 + soft_attack = -0.02 + } + + icon = GFX_generic_mio_trait_bow + position = { x=0 y=1 } + } + + trait = { + token = master_fletching + name = "Master Fletching" + any_parent = { silent_draw } + + relative_position_id = longbow_specialization + + # increase piercing and HA + equipment_bonus = { + ap_attack = 0.05 + hard_attack = 0.05 + } + + mutually_exclusive = { key_ring_trigger } + + icon = GFX_generic_mio_trait_fletching + position = { x=0 y=2 } + } + + trait = { + token = crossbow_specialization + name = "Crossbow Specialization" + + mutually_exclusive = { longbow_specialization } + + limit_to_equipment_type = { lotr_equipment_crossbow } + + # improve everything about crossbows + # decrease training time + equipment_bonus = { + ap_attack = 0.05 + hard_attack = 0.05 + soft_attack = 0.05 + } + + icon = GFX_generic_mio_trait_crossbow_2 + position = { x=2 y=0 } + } + + trait = { + token = eagles_eye_construction + name = "Eagle's Eye Construction" + any_parent = { crossbow_specialization } + + limit_to_equipment_type = { lotr_equipment_crossbow } + + relative_position_id = crossbow_specialization + + # increase SA, HA and weight + equipment_bonus = { + ap_attack = 0.05 + hard_attack = 0.05 + weight = 0.1 + } + + icon = GFX_generic_mio_trait_scope + position = { x=0 y=1 } + } + + trait = { + token = plaited_string + name = "Plaited String" + any_parent = { eagles_eye_construction master_fletching } + + relative_position_id = crossbow_specialization + + # increase reliability, and attack + equipment_bonus = { + reliability = 0.02 + soft_attack = 0.05 + } + + icon = GFX_generic_mio_trait_string + position = { x=0 y=3 } + } + + trait = { + token = ballistic_methodology + name = "Ballistic Methodology" + + # increase research bonus + # Add a single-use research bonus to scriptorium + organization_modifier = { + military_industrial_organization_research_bonus = 0.15 + } + + icon = GFX_generic_mio_trait_blueprint + position = { x=6 y=0 } + } + + trait = { + token = trajectory_estimation + name = "Trajectory Estimation" + + any_parent = { ballistic_methodology } + relative_position_id = ballistic_methodology + + limit_to_equipment_type = { lotr_equipment_ballista lotr_equipment_windlance } + + # ballistas and air-lances: increase all attack + equipment_bonus = { + hard_attack = 0.05 + soft_attack = 0.05 + } + + icon = GFX_generic_mio_trait_icon_naval_range + position = { x=0 y=1 } + } + + trait = { + token = weight_adjustment + name = "Projectile Weight Adjustment" + + any_parent = { trajectory_estimation } + relative_position_id = ballistic_methodology + + limit_to_equipment_type = { lotr_equipment_ballista lotr_equipment_windlance } + + # decrease weight and supply consumption + equipment_bonus = { + supply_consumption_factor = -0.05 + weight = -0.05 + } + + icon = GFX_generic_mio_trait_icon_weight + position = { x=0 y=3 } + } + + trait = { + token = airborne_projectiles + name = "Airborne Projectiles" + + any_parent = { weight_adjustment plaited_string } + relative_position_id = ballistic_methodology + + # AA buff + limit_to_equipment_type = { lotr_equipment_windlance } + equipment_bonus = { + anti_air_attack = 0.1 + } + + icon = GFX_generic_mio_trait_ballista + position = { x=-2 y=4 } + } + + trait = { + token = field_ballistics + name = "Field Ballistics" + + any_parent = { trajectory_estimation eagles_eye_construction } + relative_position_id = ballistic_methodology + + # Ballista buffs + limit_to_equipment_type = { lotr_equipment_ballista } + equipment_bonus = { + ap_attack = 0.05 + defense = 0.05 + } + + icon = GFX_generic_mio_trait_ballista + position = { x=-2 y=2 } + } + + trait = { + token = explosive_arrows_ballista + name = "Explosive Arrows Ballista" + + all_parents = { field_ballistics } + relative_position_id = field_ballistics + + mutually_exclusive = { piercing_arrows_ballista } + + # Ballista buffs + limit_to_equipment_type = { lotr_equipment_ballista } + equipment_bonus = { + soft_attack = 0.25 + hard_attack = -0.25 + ap_attack = -0.25 + } + + icon = GFX_generic_mio_trait_explosion + position = { x=-1 y=1 } + } + + trait = { + token = piercing_arrows_ballista + name = "Armor Piercing Ballista" + + all_parents = { field_ballistics } + relative_position_id = field_ballistics + + mutually_exclusive = { explosive_arrows_ballista } + + # Ballista buffs + limit_to_equipment_type = { lotr_equipment_ballista } + equipment_bonus = { + soft_attack = -0.25 + hard_attack = 0.25 + ap_attack = 0.25 + } + + icon = GFX_generic_mio_trait_icon_breakthrough + position = { x=1 y=1 } + } + + trait = { + token = production_standardization + name = "Production Standardization" + + # more production speed + production_bonus = { + production_efficiency_cap_factor = 0.03 + production_efficiency_gain_factor = 0.03 + } + + icon = GFX_generic_mio_trait_sword + position = { x=9 y=0 } + } + + trait = { + token = standardize_draw_weight + name = "Standardize Draw-weight" + + any_parent = { production_standardization } + any_parent = { trajectory_estimation } + relative_position_id = production_standardization + + # more production speed gain + production_bonus = { + production_conversion_speed_factor = 0.03 + production_cost_factor = -0.03 + } + + icon = GFX_generic_mio_trait_icon_weight + position = { x=0 y=2 } + } + + trait = { + token = standardize_projectiles + name = "Standardize Projectiles" + + any_parent = { standardize_draw_weight } + any_parent = { weight_adjustment } + relative_position_id = production_standardization + + organization_modifier = { + military_industrial_organization_design_team_assign_cost = -0.33 + military_industrial_organization_design_team_change_cost = -0.33 + } + + icon = GFX_generic_mio_trait_icon_weight + position = { x=0 y=4 } + } +} + diff --git a/common/military_industrial_organization/organizations/generic_blacksmith_guild.txt b/common/military_industrial_organization/organizations/generic_blacksmith_guild.txt new file mode 100644 index 000000000..3b9247478 --- /dev/null +++ b/common/military_industrial_organization/organizations/generic_blacksmith_guild.txt @@ -0,0 +1,368 @@ +generic_blacksmith_guild = { + icon = GFX_mio_generic_blacksmith_1 + name = "Blacksmith's Guild" + + allowed = { + always = no + } + + equipment_type = { + infantry_equipment + } + research_categories = { + lotr_infantry_weapons + lotr_labour_metalworking + lotr_infantry_supportweapons + } + + research_bonus = 0.05 + + tree_header_text = { + text = "Technique" + x = 1 + } + + tree_header_text = { + text = "Weapon Design" + x = 5 + } + + tree_header_text = { + text = "Armor Design" + x = 8 + } + + initial_trait = { + name = "Blacksmithing Specialization" + + organization_modifier = { + military_industrial_organization_research_bonus = 0.05 + } + + production_bonus = { + production_efficiency_cap_factor = 0.03 + } + + equipment_bonus = { + soft_attack = 0.03 + } + } + + trait = { + token = generic_mio_trait_quench_tempering_mastery + name = "Quenching and Tempering Mastery" + icon = GFX_generic_mio_trait_quench + + position = { x=1 y=0 } + + equipment_bonus = { + soft_attack = 0.025 + reliability = 0.03 + } + } + + trait = { + token = generic_mio_trait_molten_salt_temper + name = "Molten Salt Temper" + icon = GFX_generic_mio_trait_quench + + relative_position_id = generic_mio_trait_quench_tempering_mastery + + all_parents = { generic_mio_trait_quench_tempering_mastery } + + mutually_exclusive = { generic_mio_trait_folded_steel } + + position = { x=-1 y=1 } + + equipment_bonus = { + defense = 0.035 + } + } + + trait = { + token = generic_mio_trait_folded_steel + name = "Folded Steel" + icon = GFX_generic_mio_trait_folded_steel + + relative_position_id = generic_mio_trait_quench_tempering_mastery + + all_parents = { generic_mio_trait_quench_tempering_mastery } + + mutually_exclusive = { generic_mio_trait_molten_salt_temper } + + position = { x=1 y=1 } + + equipment_bonus = { + soft_attack = 0.03 + breakthrough = 0.03 + } + + production_bonus = { + production_efficiency_gain_factor = -0.05 + } + } + + trait = { + token = generic_mio_trait_filigree_work + name = "Filigree Work" + icon = GFX_generic_mio_trait_engraving + + relative_position_id = generic_mio_trait_quench_tempering_mastery + + any_parent = { generic_mio_trait_folded_steel generic_mio_trait_molten_salt_temper } + + position = { x=0 y=3 } + + equipment_bonus = { + breakthrough = 0.06 + } + + production_bonus = { + production_cost_factor = 0.08 + } + } + + trait = { + token = generic_mio_trait_etching_engraving + name = "Etching and Engraving" + icon = GFX_generic_mio_trait_engraving + + relative_position_id = generic_mio_trait_quench_tempering_mastery + + all_parents = { generic_mio_trait_filigree_work } + + position = { x=0 y=4 } + + equipment_bonus = { + defense = 0.04 + hard_attack = 0.03 + } + + production_bonus = { + production_cost_factor = 0.05 + } + } + + trait = { + token = generic_mio_trait_weapon_design + name = "Weapon Design" + icon = GFX_generic_mio_trait_sword + + position = { x=5 y=0 } + + organization_modifier = { + military_industrial_organization_design_team_assign_cost = -0.3 + military_industrial_organization_research_bonus = 0.05 + } + } + + trait = { + token = generic_mio_trait_hilts_and_crossguards + name = "Hilts and Crossguards" + icon = GFX_generic_mio_trait_sword_guard + + relative_position_id = generic_mio_trait_weapon_design + + any_parent = { generic_mio_trait_weapon_design } + + position = { x=0 y=1 } + + equipment_bonus = { + defense = 0.035 + } + } + + trait = { + token = generic_mio_trait_curved_blades + name = "Curved Blades" + icon = GFX_generic_mio_trait_sword_curved + + relative_position_id = generic_mio_trait_weapon_design + + any_parent = { generic_mio_trait_hilts_and_crossguards } + + mutually_exclusive = { generic_mio_trait_straight_blades } + + position = { x=-1 y=3 } + + equipment_bonus = { + soft_attack = 0.03 + reliability = 0.03 + } + + production_bonus = { + production_cost_factor = 0.05 + } + } + + trait = { + token = generic_mio_trait_straight_blades + name = "Straight Blades" + icon = GFX_generic_mio_trait_sword_2 + + relative_position_id = generic_mio_trait_weapon_design + + any_parent = { generic_mio_trait_hilts_and_crossguards } + + mutually_exclusive = { generic_mio_trait_curved_blades } + + position = { x=1 y=3 } + + equipment_bonus = { + hard_attack = 0.03 + } + + production_bonus = { + production_cost_factor = -0.05 + } + } + + trait = { + token = generic_mio_trait_multi_part_assembly + name = "Multi-Part Assembly" + icon = GFX_generic_mio_trait_blueprint + + relative_position_id = generic_mio_trait_quench_tempering_mastery + + any_parent = { generic_mio_trait_quench_tempering_mastery generic_mio_trait_weapon_design } + + position = { x=2 y=2 } + + production_bonus = { + production_cost_factor = -0.05 + } + production_bonus = { + production_efficiency_gain_factor = 0.03 + } + } + + trait = { + token = generic_mio_trait_replacable_handles + name = "Replacable Handles" + icon = GFX_generic_mio_trait_icon_defense + + relative_position_id = generic_mio_trait_multi_part_assembly + + all_parents = { generic_mio_trait_multi_part_assembly } + + position = { x=0 y=2 } + + equipment_bonus = { + reliability = 0.05 + } + } + + trait = { + token = generic_mio_trait_amor_design + name = "Armor Design" + icon = GFX_generic_mio_trait_armor + + position = { x=8 y=0 } + + organization_modifier = { + military_industrial_organization_design_team_assign_cost = -0.3 + military_industrial_organization_research_bonus = 0.05 + } + } + + trait = { + token = generic_mio_trait_chainmail_manufacturing + name = "Chainmail Manufacturing" + icon = GFX_generic_mio_trait_chainmail + + relative_position_id = generic_mio_trait_amor_design + + any_parent = { generic_mio_trait_amor_design } + + position = { x=0 y=1 } + + equipment_bonus = { + hardness = 0.03 + } + } + + trait = { + token = generic_mio_trait_leather_padding + name = "Leather Padding" + icon = GFX_generic_mio_trait_leather + + relative_position_id = generic_mio_trait_amor_design + + any_parent = { generic_mio_trait_chainmail_manufacturing } + + mutually_exclusive = { generic_mio_trait_quilted_gambeson } + + position = { x=-1 y=3 } + + equipment_bonus = { + defense = 0.03 + } + production_bonus = { + production_efficiency_cap_factor = -0.03 + } + } + + trait = { + token = generic_mio_trait_quilted_gambeson + name = "Quilted Gambeson" + icon = GFX_generic_mio_trait_gambeson + + relative_position_id = generic_mio_trait_amor_design + + any_parent = { generic_mio_trait_chainmail_manufacturing } + + mutually_exclusive = { generic_mio_trait_leather_padding } + + position = { x=1 y=3 } + + equipment_bonus = { + defense = 0.03 + hardness = 0.02 + } + production_bonus = { + production_efficiency_cap_factor = 0.03 + } + } + + trait = { + token = generic_mio_standardized_equipment + name = "Standardized Equipment" + icon = GFX_generic_mio_trait_equipment + + relative_position_id = generic_mio_trait_amor_design + + any_parent = { generic_mio_trait_quilted_gambeson generic_mio_trait_leather_padding generic_mio_trait_straight_blades generic_mio_trait_curved_blades } + + position = { x=0 y=4 } + + production_bonus = { + production_efficiency_cap_factor = 0.03 + production_cost_factor = -0.03 + } + organization_modifier = { + military_industrial_organization_funds_gain = 0.25 + } + } + + trait = { + token = generic_mio_induction_heating + name = "Induction Heating" + icon = GFX_generic_mio_trait_heating + + relative_position_id = generic_mio_trait_weapon_design + + any_parent = { generic_mio_trait_quilted_gambeson generic_mio_trait_leather_padding generic_mio_trait_straight_blades generic_mio_trait_curved_blades } + + position = { x=0 y=4 } + + production_bonus = { + production_efficiency_cap_factor = 0.03 + production_cost_factor = -0.05 + } + organization_modifier = { + military_industrial_organization_funds_gain = 0.2 + } + } + +} + diff --git a/common/military_industrial_organization/organizations/generic_dwarves.txt b/common/military_industrial_organization/organizations/generic_dwarves.txt new file mode 100644 index 000000000..16e8527ef --- /dev/null +++ b/common/military_industrial_organization/organizations/generic_dwarves.txt @@ -0,0 +1,43 @@ +generic_dwarves_blacksmith_guild = { + name = "Telchar Ironsmithing" + icon = GFX_mio_generic_blacksmith_1 + + allowed = { + is_dwarves_init = yes + } + + include = generic_blacksmith_guild +} + +generic_dwarves_miners_guild = { + name = "Mining Guild" + icon = GFX_mio_generic_ships_1 + + allowed = { + is_dwarves_init = yes + } + + include = generic_miners_guild +} + +generic_dwarves_alchemists_guild = { + name = "Order of Maesters" + icon = GFX_mio_generic_alchemists_3 + + allowed = { + is_dwarves_init = yes + } + + include = generic_alchemists_guild +} + +generic_dwarves_knights_guild = { + name = "House of Garhimli" + icon = GFX_mio_generic_knights_2 + + allowed = { + is_dwarves_init = yes + } + + include = generic_knights_guild +} \ No newline at end of file diff --git a/common/military_industrial_organization/organizations/generic_farmers_guild.txt b/common/military_industrial_organization/organizations/generic_farmers_guild.txt new file mode 100644 index 000000000..3381b517e --- /dev/null +++ b/common/military_industrial_organization/organizations/generic_farmers_guild.txt @@ -0,0 +1,384 @@ +generic_farmers_guild = { + icon = GFX_mio_generic_farming_1 + name = "Farmer's Guild" + + allowed = { + always = no + } + + equipment_type = { + lotr_equipment_trade_caravans + lotr_equipment_light_cavalry + lotr_equipment_chariots + } + research_categories = { + lotr_labour_farming + lotr_eagles + lotr_fellbeasts + lotr_cavalry + } + + research_bonus = 0.05 + + tree_header_text = { + text = "Horsekeeping" + x = 0 + } + + tree_header_text = { + text = "Livestock" + x = 3 + } + + tree_header_text = { + text = "Farming" + x = 7 + } + + initial_trait = { + name = "Farming Specialization" + + organization_modifier = { + military_industrial_organization_size_up_requirement = -0.15 + military_industrial_organization_funds_gain = 0.1 + } + + production_bonus = { + + } + + equipment_bonus = { + + } + } + + trait = { + token = generic_mio_trait_equine_industry + name = "Equine Industry" + icon = GFX_generic_mio_trait_horse + + position = { x=0 y=0 } + + # less resource required for Horse + # add funds + + production_bonus = { + production_resource_need_factor = -0.1 + } + + organization_modifier = { + military_industrial_organization_funds_gain = 0.1 + } + } + + trait = { + token = generic_mio_trait_horse_breeds_and_disc + name = "Horsebreeds and Disciplines" + icon = GFX_generic_mio_trait_saddle + + relative_position_id = generic_mio_trait_equine_industry + + all_parents = { generic_mio_trait_equine_industry } + + # increase horse research speed, maybe add a mobile warfare boost + + position = { x=0 y=2 } + + organization_modifier = { + military_industrial_organization_research_bonus = 0.05 + } + + on_complete = { + FROM = { + army_experience = 10 + } + } + } + + trait = { + token = generic_mio_trait_horsedrawn_wagons + name = "Horsedrawn Wagons" + icon = GFX_generic_mio_trait_wagon + + relative_position_id = generic_mio_trait_equine_industry + + all_parents = { generic_mio_trait_horse_breeds_and_disc } + + limit_to_equipment_type = { lotr_equipment_trade_caravans lotr_equipment_chariots } + + # improve trade caravans and stuff + + position = { x=0 y=3 } + + production_bonus = { + production_cost_factor = -0.05 + } + + equipment_bonus = { + reliability = 0.05 + } + } + + trait = { + token = generic_mio_trait_livestock_management + name = "Livestock Management" + icon = GFX_generic_mio_trait_agricultre + + position = { x=3 y=0 } + + # Improve farming and stuff + organization_modifier = { + military_industrial_organization_funds_gain = 0.1 + } + } + + trait = { + token = generic_mio_trait_leather_processing + name = "Leather Processing" + icon = GFX_generic_mio_trait_leather + + relative_position_id = generic_mio_trait_livestock_management + + all_parents = { generic_mio_trait_livestock_management } + + position = { x=-1 y=1 } + + # Increase leather production + production_bonus = { + production_resource_need_factor = -0.1 + } + + on_complete = { + FROM = { random_owned_controlled_state = { + add_resource = { + type = rubber + amount = 2 + } + } } + } + } + + trait = { + token = generic_mio_trait_enlarged_pastures + name = "Enlarged Pastures" + icon = GFX_generic_mio_trait_pasture + + relative_position_id = generic_mio_trait_livestock_management + + all_parents = { generic_mio_trait_livestock_management } + + position = { x=1 y=1 } + + # cheaper horses, better farming + + equipment_bonus = { + soft_attack = 0.025 + reliability = 0.03 + } + } + + trait = { + token = generic_mio_trait_expanded_produce + name = "Expanded Produce" + icon = GFX_generic_mio_trait_produce + + relative_position_id = generic_mio_trait_livestock_management + + any_parent = { generic_mio_trait_enlarged_pastures generic_mio_trait_leather_processing } + + position = { x=0 y=3 } + + # better farming? + organization_modifier = { + military_industrial_organization_funds_gain = 0.25 + military_industrial_organization_research_bonus = 0.05 + } + } + + trait = { + token = generic_mio_trait_horse_drawn_plows + name = "Horse-drawn Plows" + icon = GFX_generic_mio_trait_plow + + relative_position_id = generic_mio_trait_livestock_management + + any_parent = { generic_mio_trait_sustainable_agriculture generic_mio_trait_expanded_produce } + all_parents = { generic_mio_trait_horsedrawn_wagons } + + position = { x=0 y=4 } + + # improve chariots, something else + limit_to_equipment_type = { lotr_equipment_chariots lotr_equipment_trade_caravans } + + equipment_bonus = { + fuel_consumption = -0.05 + supply_consumption = -0.05 + max_strength = 0.05 + } + } + + trait = { + token = generic_mio_trait_crop_storage + name = "Crop Storage and Preservation" + icon = GFX_generic_mio_trait_wheat + + position = { x=6 y=0 } + + equipment_bonus = { + fuel_capacity = 0.25 + } + } + + trait = { + token = generic_mio_trait_crop_selection + name = "Crop Selection and Rotation" + icon = GFX_generic_mio_trait_wheat2 + + relative_position_id = generic_mio_trait_crop_storage + + position = { x=1 y=0 } + + organization_modifier = { + military_industrial_organization_funds_gain = 0.05 + } + + on_complete = { + FROM = { random_owned_controlled_state = { + add_resource = { + type = oil + amount = 2 + } + } } + } + } + + trait = { + token = generic_mio_trait_irrigation_channels + name = "Advanced Irrigation Channels" + icon = GFX_generic_mio_trait_water + + relative_position_id = generic_mio_trait_crop_storage + + position = { x=2 y=0 } + + production_bonus = { + production_cost_factor = -0.05 + } + + equipment_bonus = { + fuel_consumption = -0.05 + } + } + + trait = { + token = generic_mio_trait_winter_stores + name = "Winter Stores" + icon = GFX_generic_mio_trait_winter_hut + position = { x=6 y=2 } + + all_parents = { generic_mio_trait_crop_storage } + + mutually_exclusive = { generic_mio_trait_soil_fertility generic_mio_trait_expand_arable_land } + + on_complete = { + FROM = { random_owned_controlled_state = { + add_building_construction = { + type = fuel_silo + level = 1 + instant_build = yes + } + } } + } + } + + trait = { + token = generic_mio_trait_soil_fertility + name = "Improved Soil Fertility" + icon = GFX_generic_mio_trait_fertility + + relative_position_id = generic_mio_trait_crop_storage + + all_parents = { generic_mio_trait_crop_selection } + + mutually_exclusive = { generic_mio_trait_winter_stores generic_mio_trait_expand_arable_land } + + # dunno + + position = { x=1 y=2 } + + organization_modifier = { + military_industrial_organization_funds_gain = 0.1 + } + + on_complete = { + FROM = { random_owned_controlled_state = { + add_resource = { + type = oil + amount = 3 + } + } } + } + } + + trait = { + token = generic_mio_trait_expand_arable_land + name = "Expand Arable Land" + icon = GFX_generic_mio_trait_pasture + + relative_position_id = generic_mio_trait_crop_storage + + all_parents = { generic_mio_trait_irrigation_channels } + + mutually_exclusive = { generic_mio_trait_soil_fertility generic_mio_trait_winter_stores } + + # dunno + + position = { x=2 y=2 } + + production_bonus = { + production_cost_factor = -0.08 + } + + equipment_bonus = { + fuel_consumption = -0.08 + } + } + + trait = { + token = generic_mio_trait_sustainable_agriculture + name = "Sustainable Agriculture" + icon = GFX_generic_mio_trait_agricultre + + relative_position_id = generic_mio_trait_crop_storage + + any_parent = { generic_mio_trait_expand_arable_land generic_mio_trait_soil_fertility generic_mio_trait_winter_stores } + + # dunno + + position = { x=1 y=3 } + + production_bonus = { + production_cost_factor = -0.03 + } + + equipment_bonus = { + fuel_consumption = -0.03 + } + + on_complete = { + FROM = { random_owned_controlled_state = { + add_resource = { + type = oil + amount = 2 + } + add_resource = { + type = rubber + amount = 2 + } + } } + } + } + + +} + diff --git a/common/military_industrial_organization/organizations/generic_hunters_guild.txt b/common/military_industrial_organization/organizations/generic_hunters_guild.txt new file mode 100644 index 000000000..448036fab --- /dev/null +++ b/common/military_industrial_organization/organizations/generic_hunters_guild.txt @@ -0,0 +1,405 @@ +generic_hunters_guild = { + icon = GFX_mio_generic_hunters_1 + name = "Hunter's Guild" + + allowed = { + always = no + } + + equipment_type = { + lotr_equipment_bow + lotr_equipment_crossbow + lotr_equipment_all_light_cavalry + } + research_categories = { + lotr_infantry_weapons_spear + lotr_infantry_archery + lotr_cavalry_light + lotr_cavalry_archers + } + + research_bonus = 0.05 + + tree_header_text = { + text = "Hunting" + x = 0 + } + + tree_header_text = { + text = "Horsemanship" + x = 3 + } + + tree_header_text = { + text = "Archery" + x = 6 + } + + tree_header_text = { + text = "Fishing" + x = 8 + } + + initial_trait = { + name = "Hunting Specialization" + + equipment_bonus = { + fuel_consumption = -0.05 + } + } + + trait = { + token = generic_mio_trait_traps + name = "Pit-traps and Deadfalls" + icon = GFX_generic_mio_trait_trap + + position = { x=0 y=0 } + + # more entrenchment + + equipment_bonus = { + entrenchment = 0.03 + defense = 0.03 + } + } + + trait = { + token = generic_mio_advanced_falconry + name = "Advanced Falconry" + icon = GFX_generic_mio_trait_falcon + + relative_position_id = generic_mio_trait_traps + + # more recon and initiative? + + all_parents = { generic_mio_trait_traps } + + position = { x=0 y=3 } + + equipment_bonus = { + initiative = 0.05 + recon = 0.05 + } + } + + trait = { + token = generic_mio_trait_hunting_spears + name = "Hunting Spears" + icon = GFX_generic_mio_trait_spear + + position = { x=1 y=0 } + + # better spears + limit_to_equipment_type = { lotr_equipment_light_cavalry lotr_equipment_cavalry_lancers } + equipment_bonus = { + soft_attack = 0.04 + hard_attack = 0.04 + breakthrough = 0.04 + defense = 0.04 + } + } + + trait = { + token = generic_mio_trait_improved_horsemanship + name = "Improved Horsemanship" + icon = GFX_generic_mio_trait_horse + + position = { x=3 y=0 } + + # better horses + limit_to_equipment_type = { lotr_equipment_light_cavalry lotr_equipment_cavalry_archers lotr_equipment_cavalry_lancers } + equipment_bonus = { + maximum_speed = 0.05 + initiative = 0.05 + } + } + + trait = { + token = generic_mio_horseback_javelins + name = "Horseback Javelins" + icon = GFX_generic_mio_trait_rider_javelin + + relative_position_id = generic_mio_trait_hunting_spears + + position = { x=1 y=1 } + + # better lancers and light cav + + all_parents = { generic_mio_trait_hunting_spears generic_mio_trait_improved_horsemanship } + + limit_to_equipment_type = { lotr_equipment_light_cavalry lotr_equipment_cavalry_archers lotr_equipment_cavalry_lancers } + equipment_bonus = { + soft_attack = 0.025 + hard_attack = 0.025 + } + } + + trait = { + token = generic_mio_mounted_trackers + name = "Mounted Trackers" + icon = GFX_generic_mio_trait_rider_scout + + relative_position_id = generic_mio_trait_hunting_spears + + all_parents = { generic_mio_trait_improved_horsemanship } + + # better light cav + + position = { x=2 y=3 } + + mutually_exclusive = { generic_mio_mounted_archers } + + limit_to_equipment_type = { lotr_equipment_light_cavalry } + equipment_bonus = { + recon = 0.1 + } + } + + trait = { + token = generic_mio_mounted_archers + name = "Mounted Archers" + icon = GFX_generic_mio_trait_rider_archer + + relative_position_id = generic_mio_trait_hunting_spears + + all_parents = { generic_mio_trait_improved_horsemanship generic_mio_trait_hunters_shortbow } + + mutually_exclusive = { generic_mio_mounted_trackers } + + # better mounter archers + + position = { x=3 y=3 } + + limit_to_equipment_type = { lotr_equipment_cavalry_archers } + equipment_bonus = { + soft_attack = 0.08 + breakthrough = 0.08 + } + } + + trait = { + token = generic_mio_trait_hunters_archery + name = "Hunter's Archery" + icon = GFX_generic_mio_trait_archer + + position = { x=6 y=0 } + + # better arty + + limit_to_equipment_type = { lotr_equipment_bow lotr_equipment_crossbow } + production_bonus = { + production_cost_factor = -0.08 + production_efficiency_gain_factor = 0.05 + } + } + + trait = { + token = generic_mio_trait_hunters_shortbow + name = "Shortbow Focus" + icon = GFX_generic_mio_trait_bow + + relative_position_id = generic_mio_trait_hunters_archery + + all_parents = { generic_mio_trait_hunters_archery } + + # faster, less supply bow + + mutually_exclusive = { generic_mio_trait_hunters_crossbow generic_mio_trait_hunters_longbow } + + position = { x=-1 y=1 } + + limit_to_equipment_type = { lotr_equipment_bow } + equipment_bonus = { + supply_consumption_factor = -0.05 + maximum_speed = 0.05 + } + } + + trait = { + token = generic_mio_trait_hunters_crossbow + name = "Crossbow Focus" + icon = GFX_generic_mio_trait_crossbow_2 + + relative_position_id = generic_mio_trait_hunters_archery + + all_parents = { generic_mio_trait_hunters_archery } + + # better crossbow + + mutually_exclusive = { generic_mio_trait_hunters_longbow generic_mio_trait_hunters_shortbow } + + position = { x=0 y=1 } + + limit_to_equipment_type = { lotr_equipment_crossbow } + equipment_bonus = { + ap_attack = 0.05 + hard_attack = 0.05 + soft_attack = 0.05 + } + } + + trait = { + token = generic_mio_trait_hunters_longbow + name = "Longbow Focus" + icon = GFX_generic_mio_trait_bow + + relative_position_id = generic_mio_trait_hunters_archery + + all_parents = { generic_mio_trait_hunters_archery } + + # more attack bow + + mutually_exclusive = { generic_mio_trait_hunters_crossbow generic_mio_trait_hunters_shortbow } + + position = { x=1 y=1 } + + limit_to_equipment_type = { lotr_equipment_bow } + + equipment_bonus = { + soft_attack = 0.05 + } + } + + trait = { + token = generic_mio_trait_poisoned_arrows + name = "Poisoned Arrowtips" + icon = GFX_generic_mio_trait_shroom + + relative_position_id = generic_mio_trait_hunters_archery + + any_parent = { generic_mio_trait_hunters_longbow generic_mio_trait_hunters_crossbow generic_mio_trait_hunters_shortbow } + + position = { x=0 y=3 } + + # more SA, higher production + + limit_to_equipment_type = { lotr_equipment_bow lotr_equipment_crossbow } + + equipment_bonus = { + soft_attack = 0.05 + } + + production_bonus = { + production_cost_factor = 0.05 + } + } + + trait = { + token = generic_mio_trait_river_fishing + name = "Riverside Fishing" + icon = GFX_generic_mio_trait_fisher + + position = { x=8 y=0 } + + available = { + FROM = { + any_controlled_state = { + is_coastal = yes + } + } + } + + organization_modifier = { + military_industrial_organization_funds_gain = 0.25 + } + + on_complete = { + effect_tooltip = { + FROM = { random_owned_controlled_state = { + add_resource = { + type = oil + amount = 3 + } + } } + } + hidden_effect = { + FROM = { random_owned_controlled_state = { + limit = { is_coastal = yes } + add_resource = { + type = oil + amount = 3 + } + } } + } + } + } + + trait = { + token = generic_mio_advanced_fishery + name = "Advanced Fisheries" + icon = GFX_generic_mio_trait_fish + + relative_position_id = generic_mio_trait_river_fishing + + all_parents = { generic_mio_trait_river_fishing } + + position = { x=0 y=3 } + + available = { + FROM = { + any_controlled_state = { + is_coastal = yes + } + } + } + + organization_modifier = { + military_industrial_organization_funds_gain = 0.25 + } + + on_complete = { + effect_tooltip = { + FROM = { random_owned_controlled_state = { + add_resource = { + type = oil + amount = 3 + } + } } + } + hidden_effect = { + FROM = { random_owned_controlled_state = { + limit = { is_coastal = yes } + add_resource = { + type = oil + amount = 3 + } + } } + } + } + } + + trait = { + token = generic_mio_trait_thrill_of_the_hunt + name = "Thrill of the Hunt" + icon = GFX_generic_mio_trait_ranger + + #relative_position_id = generic_mio_trait_hunters_archery + + any_parent = { generic_mio_trait_poisoned_arrows generic_mio_mounted_archers generic_mio_mounted_trackers generic_mio_advanced_falconry generic_mio_advanced_fishery } + + position = { x=4 y=4 } + + equipment_bonus = { + equipment_capture_factor = 0.05 + recon = 0.05 + } + } + + trait = { + token = generic_mio_trait_survival_instincts + name = "Survival Instincts" + icon = GFX_generic_mio_trait_knife + + #relative_position_id = generic_mio_trait_hunters_archery + + any_parent = { generic_mio_trait_poisoned_arrows generic_mio_mounted_archers generic_mio_mounted_trackers generic_mio_advanced_falconry generic_mio_advanced_fishery } + + position = { x=3 y=4 } + + equipment_bonus = { + fuel_consumption = -0.05 + supply_consumption = -0.05 + } + } +} + diff --git a/common/military_industrial_organization/organizations/generic_knights_guild.txt b/common/military_industrial_organization/organizations/generic_knights_guild.txt new file mode 100644 index 000000000..ee517aec4 --- /dev/null +++ b/common/military_industrial_organization/organizations/generic_knights_guild.txt @@ -0,0 +1,411 @@ +generic_knights_guild = { + icon = GFX_mio_generic_7 + name = "Knight's Guild" + + allowed = { + always = no + } + + equipment_type = { + infantry_equipment + lotr_equipment_light_cavalry + lotr_equipment_cavalry_lancers + lotr_equipment_cavalry_heavy + } + research_categories = { + lotr_infantry_weapons_sword + lotr_cavalry_archers + lotr_cavalry_light + lotr_cavalry_lancer + lotr_cavalry_heavy + } + + research_bonus = 0.05 + + tree_header_text = { + text = "Steelworks" + x = 2 + } + + tree_header_text = { + text = "Horsemanship" + x = 4 + } + + tree_header_text = { + text = "Chivalry" + x = 9 + } + + initial_trait = { + name = "Chivalry Specialization" + + equipment_bonus = { + armor_value = 0.05 + defense =0.05 + } + + production_bonus = { + production_cost_factor = 0.1 + } + } + + trait = { + token = generic_mio_trait_steel_sourcing + name = "Steel Sourcing" + icon = GFX_generic_mio_trait_steel + + # less resources needed? + + position = { x=2 y=0 } + + production_bonus = { + production_resource_need_factor = -0.1 + production_resource_penalty_factor = -0.1 + } + } + + trait = { + token = generic_mio_trait_dilligent_smithing + name = "Dilligent Smithing" + icon = GFX_generic_mio_trait_quench + + relative_position_id = generic_mio_trait_steel_sourcing + + all_parents = { generic_mio_trait_steel_sourcing } + + # better production and reliability, higher cost + + position = { x=-1 y=1 } + + equipment_bonus = { + reliability = 0.05 + } + + production_bonus = { + production_cost_factor = 0.05 + production_efficiency_cap_factor = 0.05 + } + } + + trait = { + token = generic_mio_trait_munition_armor + name = "Munition Armor" + icon = GFX_generic_mio_trait_munition_armor + + relative_position_id = generic_mio_trait_steel_sourcing + + all_parents = { generic_mio_trait_dilligent_smithing } + + mutually_exclusive = { generic_mio_trait_full_plate_armor generic_mio_trait_folded_steel_kriegsmesser } + + # less production cost, more resources needed, more hardness? + + position = { x=-2 y=2 } + + equipment_bonus = { + hardness = 0.03 + defense = 0.03 + breakthrough = 0.03 + } + + production_bonus = { + production_resource_need_factor = 0.06 + production_cost_factor = -0.03 + } + } + + trait = { + token = generic_mio_trait_full_plate_armor + name = "Full-plate Armor" + icon = GFX_generic_mio_trait_armor_2 + + relative_position_id = generic_mio_trait_steel_sourcing + + all_parents = { generic_mio_trait_dilligent_smithing } + + mutually_exclusive = { generic_mio_trait_munition_armor generic_mio_trait_folded_steel_kriegsmesser } + + # more cost, add hardness and armor + + position = { x=0 y=2 } + + equipment_bonus = { + hardness = 0.05 + armor_value = 0.05 + } + + production_bonus = { + production_cost_factor = 0.05 + } + } + + trait = { + token = generic_mio_trait_folded_steel_kriegsmesser + name = "Folded Steel Kriegsmesser" + icon = GFX_generic_mio_trait_kriegsmesser + + relative_position_id = generic_mio_trait_steel_sourcing + + all_parents = { generic_mio_trait_dilligent_smithing } + + mutually_exclusive = { generic_mio_trait_full_plate_armor generic_mio_trait_munition_armor } + + limit_to_equipment_type = { infantry_equipment } + + # More SA + + position = { x=-1 y=2 } + + equipment_bonus = { + soft_attack = 0.03 + } + } + + trait = { + token = generic_mio_trait_gilded_engravings + name = "Gilded Engravings" + icon = GFX_generic_mio_trait_engraving + + relative_position_id = generic_mio_trait_steel_sourcing + + any_parent = { generic_mio_trait_full_plate_armor generic_mio_trait_munition_armor } + + # more funds + + position = { x=-1 y=4 } + + organization_modifier = { + military_industrial_organization_funds_gain = 0.15 + } + + equipment_bonus = { + default_morale = 0.025 + } + } + + trait = { + token = generic_mio_trait_folded_warhorse_armor + name = "Warhorse Armor" + icon = GFX_generic_mio_trait_rider_javelin + + relative_position_id = generic_mio_trait_steel_sourcing + + all_parents = { generic_mio_trait_steel_sourcing generic_mio_trait_destriers } + + limit_to_equipment_type = { lotr_equipment_light_cavalry lotr_equipment_cavalry_lancers lotr_equipment_cavalry_heavy } + + # add armor and hardness to cav + + position = { x=1 y=1 } + + equipment_bonus = { + hardness = 0.05 + armor_value = 0.05 + } + } + + trait = { + token = generic_mio_trait_ironclad_armor + name = "Ironclad Armor" + icon = GFX_generic_mio_trait_horsearmor + + relative_position_id = generic_mio_trait_steel_sourcing + + all_parents = { generic_mio_trait_folded_warhorse_armor } + + limit_to_equipment_type = { lotr_equipment_light_cavalry lotr_equipment_cavalry_lancers lotr_equipment_cavalry_heavy } + + # more armor and hardness to horsies + + position = { x=1 y=3 } + + equipment_bonus = { + hardness = 0.05 + armor_value = 0.05 + } + } + + trait = { + token = generic_mio_trait_destriers + name = "War-bred Destriers" + icon = GFX_generic_mio_trait_rider_bond + + position = { x=4 y=0 } + + limit_to_equipment_type = { lotr_equipment_light_cavalry lotr_equipment_cavalry_lancers lotr_equipment_cavalry_heavy } + + # better cav + + production_bonus = { + production_cost_factor = 0.05 + production_efficiency_cap_factor = -0.05 + } + + equipment_bonus = { + breakthrough = 0.05 + defense = 0.05 + maximum_speed = 0.05 + reliability = 0.05 + } + } + + trait = { + token = generic_mio_trait_specialized_lances + name = "Specialized Lances" + icon = GFX_generic_mio_trait_spear + + relative_position_id = generic_mio_trait_destriers + + all_parents = { generic_mio_trait_destriers } + + # better lancers + + position = { x=1 y=1 } + + limit_to_equipment_type = { lotr_equipment_cavalry_lancers } + + equipment_bonus = { + ap_attack = 0.1 + hard_attack = 0.1 + } + } + + trait = { + token = generic_mio_trait_lance_rests + name = "Lance Rests" + icon = GFX_generic_mio_trait_handle + + relative_position_id = generic_mio_trait_destriers + + all_parents = { generic_mio_trait_specialized_lances } + + # better lancers + + position = { x=1 y=2 } + + limit_to_equipment_type = { lotr_equipment_cavalry_lancers } + + equipment_bonus = { + soft_attack = 0.25 + breakthrough = 0.15 + } + } + + trait = { + token = generic_mio_trait_precepts_of_chivalry + name = "Precepts of Chivalry" + icon = GFX_generic_mio_trait_knight + + position = { x=9 y=0 } + + # more strength or something + + organization_modifier = { + military_industrial_organization_size_up_requirement = -0.25 + } + + equipment_bonus = { + default_morale = 0.02 + max_strength = 0.02 + max_organisation = 0.02 + } + } + + trait = { + token = generic_mio_trait_tournament_culture + name = "Tournament Culture" + icon = GFX_generic_mio_trait_banner + + relative_position_id = generic_mio_trait_precepts_of_chivalry + + position = { x=0 y=1 } + + all_parents = { generic_mio_trait_precepts_of_chivalry } + + limit_to_equipment_type = { lotr_equipment_cavalry_lancers lotr_equipment_cavalry_heavy } + + # inprove heavy cav and lancers, add more funds + + organization_modifier = { + military_industrial_organization_funds_gain = 0.25 + } + + equipment_bonus = { + soft_attack = 0.02 + hard_attack = 0.02 + breakthrough = 0.02 + } + } + + trait = { + token = generic_mio_trait_winged_lancers + name = "Winged Lancers" + icon = GFX_generic_mio_trait_rider_javelin + + relative_position_id = generic_mio_trait_precepts_of_chivalry + + position = { x=-2 y=3 } + + # poggers lancers + + all_parents = { generic_mio_trait_tournament_culture generic_mio_trait_specialized_lances } + + limit_to_equipment_type = { lotr_equipment_cavalry_lancers } + + equipment_bonus = { + soft_attack = 0.1 + hard_attack = 0.1 + maximum_speed = 0.1 + initiative = 0.1 + } + } + + trait = { + token = generic_mio_trait_shock_cavalry + name = "Shock Cavalry" + icon = GFX_generic_mio_armored_cav + + relative_position_id = generic_mio_trait_precepts_of_chivalry + + position = { x=-4 y=4 } + + # poggers heavy cav + + any_parent = { generic_mio_trait_winged_lancers generic_mio_trait_ironclad_armor } + + limit_to_equipment_type = { lotr_equipment_cavalry_heavy } + + equipment_bonus = { + soft_attack = 0.05 + hardness = 0.05 + armor_value = 0.05 + breakthrough = 0.05 + initiative = 0.05 + + supply_consumption = 0.05 + fuel_consumption = 0.05 + weight = 0.1 + } + } + + trait = { + token = generic_mio_trait_men_at_arms + name = "Men at Arms" + icon = GFX_generic_mio_man_at_arms + + relative_position_id = generic_mio_trait_precepts_of_chivalry + + position = { x=0 y=4 } + + # improve infantry equipment + + all_parents = { generic_mio_trait_tournament_culture } + + equipment_bonus = { + soft_attack = 0.03 + defense = 0.03 + } + } +} + diff --git a/common/military_industrial_organization/organizations/generic_men.txt b/common/military_industrial_organization/organizations/generic_men.txt new file mode 100644 index 000000000..923143e6d --- /dev/null +++ b/common/military_industrial_organization/organizations/generic_men.txt @@ -0,0 +1,63 @@ +generic_men_knights_guild = { + name = "Order of Knights" + icon = GFX_mio_generic_4 + + allowed = { + is_men_init = yes + is_eastern_men_init = no + is_rangers_men_init = no + NOT = { tag = GON } + NOT = { tag = ROH } + NOT = { tag = ISE } + } + + include = generic_knights_guild +} + +generic_men_blacksmith_guild = { + name = "Blacksmith's Guild" + icon = GFX_mio_generic_blacksmith_2 + + allowed = { + is_men_init = yes + is_eastern_men_init = no + is_rangers_men_init = no + NOT = { tag = GON } + NOT = { tag = ROH } + NOT = { tag = ISE } + } + + include = generic_blacksmith_guild +} + +generic_men_shipbuilders_guild = { + name = "Shipbuilder's Guild" + icon = GFX_mio_generic_ships_2 + + allowed = { + is_men_init = yes + is_eastern_men_init = no + is_rangers_men_init = no + NOT = { tag = GON } + NOT = { tag = ROH } + NOT = { tag = ISE } + } + + include = generic_shipbuilders_guild +} + +generic_men_ballistics_guild = { + name = "Ballistics Guild" + icon = GFX_mio_generic_archers_1 + + allowed = { + is_men_init = yes + is_eastern_men_init = no + is_rangers_men_init = no + NOT = { tag = GON } + NOT = { tag = ROH } + NOT = { tag = ISE } + } + + include = generic_ballistics_guild +} \ No newline at end of file diff --git a/common/military_industrial_organization/organizations/generic_men_eastern.txt b/common/military_industrial_organization/organizations/generic_men_eastern.txt new file mode 100644 index 000000000..44ffe7b37 --- /dev/null +++ b/common/military_industrial_organization/organizations/generic_men_eastern.txt @@ -0,0 +1,43 @@ +generic_eastern_men_stablemasters_guild = { + name = "Stablemaster's Guild" + icon = GFX_mio_generic_horse_2 + + allowed = { + is_eastern_men_init = yes + } + + include = generic_stablemasters_guild +} + +generic_eastern_men_shipbuilders_guild = { + name = "Shipbuilder's Guild" + icon = GFX_mio_generic_ships_2 + + allowed = { + is_eastern_men_init = yes + } + + include = generic_shipbuilders_guild +} + +generic_eastern_men_ballistics_guild = { + name = "Ballistic's Guild" + icon = GFX_mio_generic_archers_1 + + allowed = { + is_eastern_men_init = yes + } + + include = generic_ballistics_guild +} + +generic_eastern_men_blacksmith_guild = { + name = "Blacksmith's Guild" + icon = GFX_mio_generic_5 + + allowed = { + is_eastern_men_init = yes + } + + include = generic_blacksmith_guild +} \ No newline at end of file diff --git a/common/military_industrial_organization/organizations/generic_men_rangers.txt b/common/military_industrial_organization/organizations/generic_men_rangers.txt new file mode 100644 index 000000000..62f08baa6 --- /dev/null +++ b/common/military_industrial_organization/organizations/generic_men_rangers.txt @@ -0,0 +1,43 @@ +generic_rangers_men_hunters_guild = { + name = "Hunters's Guild" + icon = GFX_mio_generic_hunters_1 + + allowed = { + is_rangers_men_init = yes + } + + include = generic_hunters_guild +} + +generic_rangers_men_blacksmith_guild = { + name = "Blacksmiths's Guild" + icon = GFX_mio_generic_knights_2 + + allowed = { + is_rangers_men_init = yes + } + + include = generic_blacksmith_guild +} + +generic_rangers_men_woodcutters_guild = { + name = "Woodcutter's Guild" + icon = GFX_mio_generic_wood_1 + + allowed = { + is_rangers_men_init = yes + } + + include = generic_woodcutters_guild +} + +generic_rangers_men_ballistics_guild = { + name = "Ballistics Guild" + icon = GFX_mio_generic_3 + + allowed = { + is_rangers_men_init = yes + } + + include = generic_ballistics_guild +} \ No newline at end of file diff --git a/common/military_industrial_organization/organizations/generic_miners_guild.txt b/common/military_industrial_organization/organizations/generic_miners_guild.txt new file mode 100644 index 000000000..0ab7ee4d6 --- /dev/null +++ b/common/military_industrial_organization/organizations/generic_miners_guild.txt @@ -0,0 +1,344 @@ +generic_miners_guild = { + icon = GFX_mio_generic_5 + name = "Miner's Guild" + + allowed = { + always = no + } + + equipment_type = { + infantry_equipment + lotr_equipment_catapult + lotr_equipment_siege_tower + } + research_categories = { + lotr_labour_metalworking_mining + lotr_labour_metalworking_tools + lotr_infantry_weapons + lotr_machines_siege_equipment + lotr_labour_construction + } + + research_bonus = 0.05 + + tree_header_text = { + text = "Technique" + x = 1 + } + + tree_header_text = { + text = "Weapon Design" + x = 5 + } + + tree_header_text = { + text = "Armor Design" + x = 8 + } + + initial_trait = { + name = "Mining Specialization" + + organization_modifier = { + military_industrial_organization_research_bonus = 0.05 + } + + production_bonus = { + production_resource_penalty_factor = -0.05 + } + } + + trait = { + token = generic_mio_trait_organized_prospecting + name = "Organized Prospecting" + icon = GFX_generic_mio_trait_icon_entrenchment + + position = { x=1 y=0 } + + # funds + organization_modifier = { + military_industrial_organization_size_up_requirement = -0.2 + military_industrial_organization_funds_gain = 0.15 + } + } + + trait = { + token = generic_mio_trait_surface_deposits + name = "Surface Deposits" + icon = GFX_generic_mio_trait_rock + + relative_position_id = generic_mio_trait_organized_prospecting + + all_parents = { generic_mio_trait_organized_prospecting } + + # more resources? + + position = { x=-1 y=1 } + + production_bonus = { + production_resource_penalty_factor = -0.1 + } + + on_complete = { + FROM = { random_owned_controlled_state = { + add_resource = { + type = steel + amount = 2 + } + } } + } + } + + trait = { + token = generic_mio_trait_mineral_assaying + name = "Mineral Assaying" + icon = GFX_generic_mio_trait_mineral_examine + + relative_position_id = generic_mio_trait_organized_prospecting + + any_parent = { generic_mio_trait_surface_deposits generic_mio_trait_underground_deposits } + + # less resopurce need? + + position = { x=0 y=4 } + + organization_modifier = { + military_industrial_organization_research_bonus = 0.1 + } + } + + trait = { + token = generic_mio_trait_underground_deposits + name = "Underground Deposits" + icon = GFX_generic_mio_trait_rock2 + + relative_position_id = generic_mio_trait_organized_prospecting + + all_parents = { generic_mio_trait_organized_prospecting } + + # ??? + + position = { x=1 y=1 } + + production_bonus = { + production_resource_penalty_factor = -0.1 + } + + on_complete = { + FROM = { random_owned_controlled_state = { + add_resource = { + type = steel + amount = 2 + } + } } + } + } + + trait = { + token = generic_mio_trait_timber_support_structures + name = "Timber Support Structures" + icon = GFX_generic_mio_trait_springald + + relative_position_id = generic_mio_trait_organized_prospecting + + limit_to_equipment_type = { lotr_equipment_siege_tower } + + all_parents = { generic_mio_trait_underground_deposits } + + position = { x=1 y=2 } + + equipment_bonus = { + reliability = 0.1 + hardness = 0.1 + } + } + + trait = { + token = generic_mio_trait_shaft_mining + name = "Shaft Mining" + icon = GFX_generic_mio_trait_minecart + + relative_position_id = generic_mio_trait_organized_prospecting + + # ??? + + all_parents = { generic_mio_trait_timber_support_structures generic_mio_trait_cranked_winches } + + position = { x=1 y=3 } + + on_complete = { + FROM = { + add_ideas = better_mining + } + } + + production_bonus = { + production_resource_need_factor = -0.05 + } + } + + trait = { + token = generic_mio_trait_mining_tool_advancements + name = "Mining Tool Advancements" + icon = GFX_generic_mio_trait_pickaxe + + position = { x=4 y=0 } + + production_bonus = { + production_efficiency_cap_factor = 0.05 + } + + on_complete = { + FROM = { + add_ideas = better_tools + } + } + } + + trait = { + token = generic_mio_trait_mattocks_and_adzes + name = "Mattocks and Adzes" + icon = GFX_generic_mio_trait_pickaxe + + position = { x=0 y=1 } + + # ??? + + relative_position_id = generic_mio_trait_mining_tool_advancements + + all_parents = { generic_mio_trait_mining_tool_advancements } + + equipment_bonus = { + build_cost_ic = -0.1 + } + } + + trait = { + token = generic_mio_trait_cranked_winches + name = "Cranked Winches" + icon = GFX_generic_mio_trait_machine + + position = { x=-1 y=2 } + + # ??? + + relative_position_id = generic_mio_trait_mining_tool_advancements + + all_parents = { generic_mio_trait_mattocks_and_adzes } + + limit_to_equipment_type = { lotr_equipment_siege_tower lotr_equipment_catapult } + + equipment_bonus = { + reliability = 0.05 + soft_attack = 0.03 + } + } + + trait = { + token = generic_mio_trait_tamping_rods + name = "Tamping Rods" + icon = GFX_generic_mio_trait_icon_naval_range + + position = { x=1 y=3 } + + relative_position_id = generic_mio_trait_mining_tool_advancements + + all_parents = { generic_mio_trait_mattocks_and_adzes } + + organization_modifier = { + military_industrial_organization_research_bonus = 0.1 + } + } + + trait = { + token = generic_mio_trait_gemstone_prospecting + name = "Gemstone Prospecting " + icon = GFX_generic_mio_trait_raw_gemstone + + position = { x=1 y=4 } + + # funds + + relative_position_id = generic_mio_trait_mining_tool_advancements + + all_parents = { generic_mio_trait_tamping_rods generic_mio_trait_shaft_mining generic_mio_trait_mining_drills } + + organization_modifier = { + military_industrial_organization_funds_gain = 0.5 + } + } + + trait = { + token = generic_mio_trait_metallurgic_processing + name = "Metallurgic Processing" + icon = GFX_generic_mio_trait_steel + + position = { x=8 y=0 } + + limit_to_equipment_type = { infantry_equipment } + + production_bonus = { + production_resource_need_factor = -0.1 + } + } + + trait = { + token = generic_mio_trait_martensite_pretempers + name = "Martensite Pre-tempers" + icon = GFX_generic_mio_trait_quench + + relative_position_id = generic_mio_trait_metallurgic_processing + + position = { x=0 y=1 } + + all_parents = { generic_mio_trait_metallurgic_processing } + + limit_to_equipment_type = { infantry_equipment } + + equipment_bonus = { + soft_attack = 0.05 + hard_attack = 0.05 + } + } + + trait = { + token = generic_mio_trait_advanced_alloys + name = "Advanced Alloys" + icon = GFX_generic_mio_trait_heating + + relative_position_id = generic_mio_trait_metallurgic_processing + + all_parents = { generic_mio_trait_martensite_pretempers } + + position = { x=0 y=4 } + + limit_to_equipment_type = { infantry_equipment } + + equipment_bonus = { + soft_attack = 0.03 + hard_attack = 0.03 + reliability = 0.03 + } + } + + trait = { + token = generic_mio_trait_mining_drills + name = "Mining Drills" + icon = GFX_generic_mio_trait_drill + + relative_position_id = generic_mio_trait_metallurgic_processing + + any_parent = { generic_mio_trait_martensite_pretempers generic_mio_trait_mattocks_and_adzes } + + position = { x=-1 y=3 } + + production_bonus = { + production_capacity_factor = 0.05 + } + + organization_modifier = { + military_industrial_organization_funds_gain = 0.1 + } + } +} + diff --git a/common/military_industrial_organization/organizations/generic_orcs.txt b/common/military_industrial_organization/organizations/generic_orcs.txt new file mode 100644 index 000000000..d8808b8e7 --- /dev/null +++ b/common/military_industrial_organization/organizations/generic_orcs.txt @@ -0,0 +1,43 @@ +generic_orc_blacksmith_guild = { + name = "Goblin Blacksmith's Guild" + icon = GFX_mio_generic_orc_1 + + allowed = { + is_orcs_init = yes + } + + include = generic_blacksmith_guild +} + +generic_orc_hunters_guild = { + name = "Orc Wargriders" + icon = GFX_mio_generic_orc_2 + + allowed = { + is_orcs_init = yes + } + + include = generic_hunters_guild +} + +generic_orc_woodcutters_guild = { + name = "Hobgoblin Woodchoppers" + icon = GFX_mio_generic_orc_4 + + allowed = { + is_orcs_init = yes + } + + include = generic_woodcutters_guild +} + +generic_orc_shipbuilders_guild = { + name = "Orc Shipbuilders" + icon = GFX_mio_generic_orc_3 + + allowed = { + is_orcs_init = yes + } + + include = generic_shipbuilders_guild +} \ No newline at end of file diff --git a/common/military_industrial_organization/organizations/generic_other.txt b/common/military_industrial_organization/organizations/generic_other.txt new file mode 100644 index 000000000..80fb860dd --- /dev/null +++ b/common/military_industrial_organization/organizations/generic_other.txt @@ -0,0 +1,59 @@ +generic_other_knights_guild = { + name = "Order of Knights" + icon = GFX_mio_generic_knights_2 + + allowed = { + OR = { + is_other_init = yes + is_ents_init = yes + is_spiders_init = yes + } + } + + include = generic_knights_guild +} + +generic_other_blacksmith_guild = { + name = "Blacksmiths's Guild" + icon = GFX_mio_generic_blacksmith_1 + + allowed = { + OR = { + is_other_init = yes + is_ents_init = yes + is_spiders_init = yes + } + } + + include = generic_blacksmith_guild +} + +generic_other_shipbuilders_guild = { + name = "Shipbuilders's Guild" + icon = GFX_mio_generic_ships_1 + + allowed = { + OR = { + is_other_init = yes + is_ents_init = yes + is_spiders_init = yes + } + } + + include = generic_shipbuilders_guild +} + +generic_other_ballistics_guild = { + name = "Ballistics Guild" + icon = GFX_mio_generic_3 + + allowed = { + OR = { + is_other_init = yes + is_ents_init = yes + is_spiders_init = yes + } + } + + include = generic_ballistics_guild +} \ No newline at end of file diff --git a/common/military_industrial_organization/organizations/generic_shipbuilders_guild.txt b/common/military_industrial_organization/organizations/generic_shipbuilders_guild.txt new file mode 100644 index 000000000..9c9069628 --- /dev/null +++ b/common/military_industrial_organization/organizations/generic_shipbuilders_guild.txt @@ -0,0 +1,408 @@ +generic_shipbuilders_guild = { + icon = GFX_mio_generic_ships_2 + name = "Shipbuilder's Guild" + + allowed = { + always = no + } + + equipment_type = { + lotr_equipment_longship + lotr_equipment_galley + lotr_equipment_sailing_ship + lotr_equipment_ship_of_the_line + } + research_categories = { + lotr_sailing + lotr_labour_construction + lotr_labour_metalworking + lotr_machines_siege_equipment + } + + research_bonus = 0.05 + + tree_header_text = { + text = "Multi-Deck Ships" + x = 1 + } + + tree_header_text = { + text = "Single-Mast Ships" + x = 5 + } + + tree_header_text = { + text = "Construction" + x = 9 + } + + initial_trait = { + name = "Shipbuilding Specialization" + + organization_modifier = { + military_industrial_organization_research_bonus = 0.05 + } + equipment_bonus = { + max_strength = 0.05 + } + } + + trait = { + token = generic_mio_trait_multi_deck_ships + name = "Multi-Deck Ships" + icon = GFX_generic_mio_trait_multilevel_ship + + position = { x=1 y=0 } + + limit_to_equipment_type = { lotr_equipment_multideck_ships } + + equipment_bonus = { + naval_strike_targetting = 0.05 + naval_weather_penalty_factor = -0.1 + } + } + + trait = { + token = generic_mio_trait_masts_and_rigging + name = "Masts and Rigging" + icon = GFX_generic_mio_trait_multisail_ship + + all_parents = { generic_mio_trait_multi_deck_ships } + + relative_position_id = generic_mio_trait_multi_deck_ships + + position = { x=-1 y=1 } + + limit_to_equipment_type = { lotr_equipment_sail_ships } + + equipment_bonus = { + fuel_consumption = -0.05 + naval_speed = 0.05 + naval_range = 0.1 + } + } + + trait = { + token = generic_mio_trait_advanced_galleys + name = "Advanced Galleys" + icon = GFX_generic_mio_trait_galley + + any_parent = { generic_mio_trait_multi_deck_ships generic_mio_trait_oar_powered_ships } + + relative_position_id = generic_mio_trait_multi_deck_ships + + position = { x=1 y=1 } + + limit_to_equipment_type = { lotr_equipment_galley } + + equipment_bonus = { + naval_range = 0.1 + naval_speed = 0.1 + } + } + + trait = { + token = generic_mio_trait_corvus + name = "Corvus" + icon = GFX_generic_mio_trait_corvus + + relative_position_id = generic_mio_trait_multi_deck_ships + + all_parents = { generic_mio_trait_advanced_galleys } + + position = { x=2 y=2 } + + limit_to_equipment_type = { lotr_equipment_galley } + + equipment_bonus = { + lg_attack = 0.1 + lg_armor_piercing = 0.1 + } + } + + trait = { + token = generic_mio_trait_advanced_superstructure + name = "Advanced Superstructure" + icon = GFX_generic_mio_trait_springald + + relative_position_id = generic_mio_trait_multi_deck_ships + + any_parent = { generic_mio_trait_masts_and_rigging generic_mio_trait_advanced_galleys } + + limit_to_equipment_type = { lotr_equipment_multideck_ships } + + position = { x=0 y=2 } + + equipment_bonus = { + naval_torpedo_damage_reduction_factor = 0.1 + naval_torpedo_enemy_critical_chance_factor = -0.1 + search_and_destroy_coordination = 0.1 + hg_attack = 0.1 + hg_armor_piercing = 0.1 + } + } + + trait = { + token = generic_mio_trait_expanded_cargo_capacity + name = "Expanded Cargo Capacity" + icon = GFX_generic_mio_trait_icon_weight + + all_parents = { generic_mio_trait_advanced_superstructure } + + relative_position_id = generic_mio_trait_multi_deck_ships + + position = { x=0 y=4 } + + equipment_bonus = { + fuel_consumption = -0.1 + } + } + + trait = { + token = generic_mio_trait_oar_powered_ships + name = "Oar-Powered Ships" + icon = GFX_generic_mio_trait_oars + + position = { x=3 y=0 } + + limit_to_equipment_type = { lotr_equipment_galley lotr_equipment_longship } + + equipment_bonus = { + naval_light_gun_hit_chance_factor = 0.05 + naval_torpedo_hit_chance_factor = 0.05 + } + } + + trait = { + token = generic_mio_trait_advanced_longships + name = "Advanced Longships" + icon = GFX_generic_mio_trait_longship + + any_parent = { generic_mio_trait_oar_powered_ships generic_mio_trait_single_mast_ships } + + relative_position_id = generic_mio_trait_oar_powered_ships + + limit_to_equipment_type = { lotr_equipment_longship } + + position = { x=1 y=1 } + + equipment_bonus = { + patrol_coordination = 0.03 + convoy_raiding_coordination = 0.03 + search_and_destroy_coordination = 0.03 + } + } + + trait = { + token = generic_mio_trait_low_freeboard + name = "Low Freeboard" + icon = GFX_generic_mio_trait_ship_hull + + all_parents = { generic_mio_trait_advanced_longships } + + relative_position_id = generic_mio_trait_oar_powered_ships + + limit_to_equipment_type = { lotr_equipment_longship } + + position = { x=1 y=2 } + + equipment_bonus = { + naval_speed = 0.1 + } + } + + trait = { + token = generic_mio_trait_advanced_boarding_techniques + name = "Advanced Boarding Technqiues" + icon = GFX_generic_mio_trait_anchor + + any_parent = { generic_mio_trait_low_freeboard generic_mio_trait_corvus } + + relative_position_id = generic_mio_trait_oar_powered_ships + + limit_to_equipment_type = { lotr_equipment_longship } + + position = { x=0 y=4 } + + equipment_bonus = { + lg_attack = 0.1 + lg_armor_piercing = 0.1 + } + } + + trait = { + token = generic_mio_trait_single_mast_ships + name = "Single-Mast Ships" + icon = GFX_generic_mio_trait_mast + + limit_to_equipment_type = { lotr_equipment_longship lotr_equipment_galley } + + position = { x=5 y=0 } + + equipment_bonus = { + surface_visibility = -0.1 + surface_detection = 0.1 + } + } + + trait = { + token = generic_mio_trait_dhow_construction + name = "Dhow Construction" + icon = GFX_generic_mio_trait_dhow + + relative_position_id = generic_mio_trait_single_mast_ships + + all_parents = { generic_mio_trait_single_mast_ships } + + limit_to_equipment_type = { lotr_equipment_longship lotr_equipment_galley } + + position = { x=1 y=1 } + + equipment_bonus = { + torpedo_attack = 0.05 + naval_torpedo_hit_chance_factor = 0.05 + } + } + + trait = { + token = generic_mio_trait_lateen_sails + name = "Lateen Sails" + icon = GFX_generic_mio_trait_cloth_roll + + all_parents = { generic_mio_trait_dhow_construction } + + relative_position_id = generic_mio_trait_single_mast_ships + + limit_to_equipment_type = { lotr_equipment_longship lotr_equipment_galley } + + position = { x=1 y=2 } + + equipment_bonus = { + naval_speed = 0.1 + naval_range = 0.1 + } + } + + trait = { + token = generic_mio_trait_lashings_and_dowels + name = "Lashings and Dowels" + icon = GFX_generic_mio_trait_cloth_roll + + all_parents = { generic_mio_trait_lateen_sails } + + relative_position_id = generic_mio_trait_single_mast_ships + + limit_to_equipment_type = { lotr_equipment_longship lotr_equipment_galley } + + position = { x=1 y=3 } + + equipment_bonus = { + reliability = 0.05 + } + } + + trait = { + token = generic_mio_trait_monoxylon_dhows + name = "Monoxylon Dhows" + icon = GFX_generic_mio_trait_dhow + + all_parents = { generic_mio_trait_lashings_and_dowels generic_mio_trait_streamlined_hull_design } + + relative_position_id = generic_mio_trait_single_mast_ships + + limit_to_equipment_type = { lotr_equipment_longship lotr_equipment_galley } + + position = { x=2 y=4 } + + production_bonus = { + production_cost_factor = -0.1 + production_resource_need_factor = -0.1 + } + } + + trait = { + token = generic_mio_trait_streamlined_hull_design + name = "Streamlined Hull Design" + icon = GFX_generic_mio_trait_wood_joint + + relative_position_id = generic_mio_trait_single_mast_ships + + all_parents = { generic_mio_trait_clinker_and_caravel_construction generic_mio_trait_single_mast_ships } + + position = { x=3 y=3 } + + production_bonus = { + production_efficiency_cap_factor = 0.1 + production_conversion_speed_factor = 0.1 + } + } + + trait = { + token = generic_mio_trait_drydock_construction + name = "Drydock Construction" + icon = GFX_generic_mio_trait_drydock + + position = { x=9 y=0 } + + organization_modifier = { + military_industrial_organization_funds_gain = 0.1 + military_industrial_organization_industrial_manufacturer_assign_cost = -0.5 + } + } + + trait = { + token = generic_mio_trait_clinker_and_caravel_construction + name = "Caravel Construction" + icon = GFX_generic_mio_trait_blueprint + + all_parents = { generic_mio_trait_drydock_construction } + + relative_position_id = generic_mio_trait_drydock_construction + + position = { x=0 y=1 } + + production_bonus = { + production_capacity_factor = 0.1 + production_efficiency_gain_factor = -0.02 + } + } + + trait = { + token = generic_mio_trait_caulking_techniques + name = "Caulking Techniques" + icon = GFX_generic_mio_trait_liquid + + all_parents = { generic_mio_trait_clinker_and_caravel_construction } + + relative_position_id = generic_mio_trait_drydock_construction + + position = { x=0 y=2 } + + equipment_bonus = { + naval_torpedo_enemy_critical_chance_factor = -0.1 + reliability = 0.05 + } + + production_bonus = { + production_cost_factor = 0.03 + } + } + + trait = { + token = generic_mio_trait_hull_sheathing + name = "Hull Sheathing" + icon = GFX_generic_mio_trait_icon_armor_value + + all_parents = { generic_mio_trait_caulking_techniques } + + relative_position_id = generic_mio_trait_drydock_construction + + position = { x=0 y=3 } + + equipment_bonus = { + naval_torpedo_damage_reduction_factor = 0.1 + armor_value = 0.05 + } + } +} + diff --git a/common/military_industrial_organization/organizations/generic_stablemasters_guild.txt b/common/military_industrial_organization/organizations/generic_stablemasters_guild.txt new file mode 100644 index 000000000..5f9eff93a --- /dev/null +++ b/common/military_industrial_organization/organizations/generic_stablemasters_guild.txt @@ -0,0 +1,340 @@ +generic_stablemasters_guild = { + icon = GFX_mio_generic_horse_1 + name = "Stablemaster's Guild" + + allowed = { + always = no + } + + equipment_type = { + lotr_equipment_all_cavalry + lotr_equipment_all_eagles + } + research_categories = { + lotr_cavalry + lotr_eagles + lotr_fellbeasts + } + + research_bonus = 0.05 + + tree_header_text = { + text = "Technique" + x = 1 + } + + tree_header_text = { + text = "Weapon Design" + x = 5 + } + + tree_header_text = { + text = "Armor Design" + x = 8 + } + + initial_trait = { + name = "Equestrian Specialization" + + equipment_bonus = { + armor_value = -0.05 + defense =-0.05 + } + + production_bonus = { + production_cost_factor = -0.1 + } + } + + trait = { + token = generic_mio_trait_warhorse_conditioning + name = "Warhorse Conditioning" + icon = GFX_generic_mio_trait_horse + + position = { x=1 y=0 } + + limit_to_equipment_type = { lotr_equipment_all_cavalry } + + equipment_bonus = { + default_morale = 0.03 + breakthrough = 0.03 + } + } + + trait = { + token = generic_mio_trait_warmblood_breeds + name = "Warmblood Breeds" + icon = GFX_generic_mio_trait_heart + + relative_position_id = generic_mio_trait_warhorse_conditioning + + all_parents = { generic_mio_trait_warhorse_conditioning } + + position = { x=0 y=1 } + + limit_to_equipment_type = { lotr_equipment_all_cavalry } + + equipment_bonus = { + maximum_speed = 0.03 + defense = 0.03 + } + } + + trait = { + token = generic_mio_trait_noise_desensitization + name = "Noise Desensitization" + icon = GFX_generic_mio_trait_horse_quiet + + relative_position_id = generic_mio_trait_warhorse_conditioning + + all_parents = { generic_mio_trait_warmblood_breeds generic_mio_trait_specialized_riders } + + position = { x=0 y=3 } + + limit_to_equipment_type = { lotr_equipment_all_cavalry } + + equipment_bonus = { + default_morale = 0.03 + breakthrough = 0.03 + } + } + + trait = { + token = generic_mio_trait_stable_destriers + name = "Destriers" + icon = GFX_generic_mio_trait_rider_javelin + + relative_position_id = generic_mio_trait_warhorse_conditioning + + all_parents = { generic_mio_trait_noise_desensitization } + + mutually_exclusive = { generic_mio_trait_stable_rouncey generic_mio_trait_stable_courser } + + position = { x=0 y=4 } + + limit_to_equipment_type = { lotr_equipment_all_cavalry } + + production_bonus = { + production_cost_factor = 0.05 + production_efficiency_cap_factor = -0.05 + } + + equipment_bonus = { + breakthrough = 0.05 + defense = 0.05 + maximum_speed = 0.05 + reliability = 0.05 + } + } + + trait = { + token = generic_mio_trait_stable_courser + name = "Coursers" + icon = GFX_generic_mio_trait_rider_scout + + relative_position_id = generic_mio_trait_warhorse_conditioning + + all_parents = { generic_mio_trait_noise_desensitization } + + mutually_exclusive = { generic_mio_trait_stable_rouncey generic_mio_trait_stable_destriers } + + position = { x=-1 y=4 } + + limit_to_equipment_type = { lotr_equipment_all_cavalry } + + production_bonus = { + production_cost_factor = 0.02 + } + + equipment_bonus = { + maximum_speed = 0.05 + reliability = 0.05 + } + } + + trait = { + token = generic_mio_trait_stable_rouncey + name = "Rounceys" + icon = GFX_generic_mio_trait_horse + + relative_position_id = generic_mio_trait_warhorse_conditioning + + all_parents = { generic_mio_trait_noise_desensitization } + + mutually_exclusive = { generic_mio_trait_stable_courser generic_mio_trait_stable_destriers } + + position = { x=1 y=4 } + + limit_to_equipment_type = { lotr_equipment_all_cavalry } + + production_bonus = { + production_cost_factor = -0.05 + production_efficiency_cap_factor = 0.02 + } + + equipment_bonus = { + breakthrough = -0.05 + defense = -0.05 + reliability = -0.03 + } + } + + trait = { + token = generic_mio_trait_jockey_training + name = "Jockey Training" + icon = GFX_generic_mio_trait_rider_archer + + position = { x=4 y=0 } + + limit_to_equipment_type = { lotr_equipment_all_cavalry } + + equipment_bonus = { + max_organisation = 0.03 + } + } + + trait = { + token = generic_mio_trait_riders_bond + name = "Rider's Bond" + icon = GFX_generic_mio_trait_rider_bond + + all_parents = { generic_mio_trait_jockey_training } + + relative_position_id = generic_mio_trait_jockey_training + + position = { x=0 y=1 } + + equipment_bonus = { + reliability = 0.05 + } + } + + trait = { + token = generic_mio_trait_airborne_saddles + name = "Airborne Saddles" + icon = GFX_generic_mio_trait_saddle + + relative_position_id = generic_mio_trait_jockey_training + + any_parent = { generic_mio_trait_jockey_training generic_mio_trait_advanced_eagle_domestication } + + position = { x=2 y=1 } + + limit_to_equipment_type = { lotr_equipment_all_eagles } + + equipment_bonus = { + reliability = 0.03 + air_range = 0.1 + } + } + + trait = { + token = generic_mio_trait_specialized_riders + name = "Specialized Riders" + icon = GFX_generic_mio_trait_icon_air_agility + + all_parents = { generic_mio_trait_riders_bond } + + relative_position_id = generic_mio_trait_jockey_training + + position = { x=0 y=2 } + + organization_modifier = { + military_industrial_organization_research_bonus = 0.1 + } + } + + trait = { + token = generic_mio_trait_advanced_eagle_domestication + name = "Advanced Eagle Domestication" + icon = GFX_generic_mio_trait_eagle + + position = { x=8 y=0 } + + limit_to_equipment_type = { lotr_equipment_all_eagles } + + equipment_bonus = { + air_defence = 0.05 + air_range = 0.05 + } + } + + trait = { + token = generic_mio_trait_role_specialization + name = "Role Specialization" + icon = GFX_generic_mio_trait_icon_unique + + relative_position_id = generic_mio_trait_advanced_eagle_domestication + + position = { x=0 y=2 } + + all_parents = { generic_mio_trait_advanced_eagle_domestication } + + limit_to_equipment_type = { lotr_equipment_all_eagles } + + organization_modifier = { + military_industrial_organization_research_bonus = 0.1 + } + } + + trait = { + token = generic_mio_trait_carrying_capacity + name = "Carrying Capacity" + icon = GFX_generic_mio_trait_icon_weight + + relative_position_id = generic_mio_trait_advanced_eagle_domestication + + all_parents = { generic_mio_trait_role_specialization generic_mio_trait_specialized_riders } + + mutually_exclusive = { generic_mio_trait_ferocity generic_mio_trait_agility } + + position = { x=-1 y=4 } + + limit_to_equipment_type = { lotr_equipment_all_eagles } + + equipment_bonus = { + air_bombing = 0.08 + } + } + + trait = { + token = generic_mio_trait_ferocity + name = "Ferocity" + icon = GFX_generic_mio_trait_icon_max_strength + + relative_position_id = generic_mio_trait_advanced_eagle_domestication + + all_parents = { generic_mio_trait_role_specialization generic_mio_trait_specialized_riders } + + mutually_exclusive = { generic_mio_trait_agility generic_mio_trait_carrying_capacity } + + position = { x=0 y=4 } + + limit_to_equipment_type = { lotr_equipment_all_eagles } + + equipment_bonus = { + air_attack = 0.08 + } + } + + trait = { + token = generic_mio_trait_agility + name = "Agility" + icon = GFX_generic_mio_trait_feather + + relative_position_id = generic_mio_trait_advanced_eagle_domestication + + all_parents = { generic_mio_trait_role_specialization generic_mio_trait_specialized_riders } + + mutually_exclusive = { generic_mio_trait_ferocity generic_mio_trait_carrying_capacity } + + position = { x=1 y=4 } + + limit_to_equipment_type = { lotr_equipment_all_eagles } + + equipment_bonus = { + air_agility = 0.08 + } + } +} + diff --git a/common/military_industrial_organization/organizations/generic_woodcutters_guild.txt b/common/military_industrial_organization/organizations/generic_woodcutters_guild.txt new file mode 100644 index 000000000..26d2aefa5 --- /dev/null +++ b/common/military_industrial_organization/organizations/generic_woodcutters_guild.txt @@ -0,0 +1,369 @@ +generic_woodcutters_guild = { + icon = GFX_mio_generic_wood_1 + name = "Woodcutter's Guild" + + allowed = { + always = no + } + + equipment_type = { + lotr_equipment_all_siege_machines + lotr_equipment_all_ships + lotr_equipment_all_ballistae + lotr_equipment_infantry_equipment + } + research_categories = { + lotr_infantry_weapons + lotr_machines + lotr_labour_construction + lotr_sailing + } + + research_bonus = 0.05 + + tree_header_text = { + text = "Trebuchets" + x = 0 + } + + tree_header_text = { + text = "Techniques" + x = 3 + } + + tree_header_text = { + text = "Timber Processing" + x = 6 + } + + tree_header_text = { + text = "Armor Design" + x = 8 + } + + initial_trait = { + name = "Woodworking Specialization" + + organization_modifier = { + military_industrial_organization_research_bonus = 0.05 + } + + equipment_bonus = { + armor_value = 0.05 + reliability = -0.1 + } + } + + trait = { + token = generic_mio_advanced_woodworking + name = "Advanced Timber-works" + icon = GFX_generic_mio_trait_saw + + position = { x=3 y=0 } + + production_bonus = { + production_efficiency_cap_factor = 0.03 + production_efficiency_gain_factor = 0.03 + } + } + + trait = { + token = generic_mio_hinged_mechanisms + name = "Hinged Mechanisms" + icon = GFX_generic_mio_trait_hinge + + relative_position_id = generic_mio_advanced_woodworking + + all_parents = { generic_mio_advanced_woodworking } + + position = { x=-1 y=1 } + + production_bonus = { + production_cost_factor = -0.05 + production_resource_need_factor = -0.05 + } + } + + trait = { + token = generic_mio_counterweight_mechanisms + name = "Counterweight Mechanisms" + icon = GFX_generic_mio_trait_counterweight + + relative_position_id = generic_mio_advanced_woodworking + + all_parents = { generic_mio_hinged_mechanisms } + + position = { x=-3 y=2 } + + limit_to_equipment_type = { lotr_equipment_siege_trebuchet } + + equipment_bonus = { + railway_gun_attack = 0.1 + } + } + + trait = { + token = generic_mio_siege_trebuchet_sites + name = "Siege Trebuchet Construction Sites" + icon = GFX_generic_mio_trait_counterweight + + relative_position_id = generic_mio_advanced_woodworking + + all_parents = { generic_mio_counterweight_mechanisms } + + position = { x=-3 y=4 } + + limit_to_equipment_type = { lotr_equipment_siege_trebuchet } + + organization_modifier = { + military_industrial_organization_industrial_manufacturer_assign_cost = -0.33 + } + + equipment_bonus = { + build_cost_ic = -0.05 + } + } + + trait = { + token = generic_mio_portable_springalds + name = "Portable Springalds" + icon = GFX_generic_mio_trait_springald + + relative_position_id = generic_mio_advanced_woodworking + + all_parents = { generic_mio_hinged_mechanisms } + + position = { x=-1 y=2 } + + limit_to_equipment_type = { lotr_equipment_all_ships lotr_equipment_all_ballistae } + + equipment_bonus = { + lg_attack = 0.05 + hard_attack = 0.05 + } + } + + trait = { + token = generic_mio_torsion_powered_engines + name = "Torsion-powered Engines" + icon = GFX_generic_mio_trait_machine + + relative_position_id = generic_mio_advanced_woodworking + + all_parents = { generic_mio_portable_springalds } + + position = { x=-1 y=3 } + + equipment_bonus = { + reliability = 0.03 + } + } + + trait = { + token = generic_mio_mortise_and_tenon_joints + name = "Mortise and Tenon Joints" + icon = GFX_generic_mio_trait_wood_joint + + relative_position_id = generic_mio_advanced_woodworking + + all_parents = { generic_mio_advanced_woodworking } + + position = { x=0 y=1 } + + equipment_bonus = { + reliability = 0.03 + } + } + + trait = { + token = generic_mio_oiling_sealing_charring + name = "Oiling, Sealing, Charring" + icon = GFX_generic_mio_trait_quench + + relative_position_id = generic_mio_advanced_woodworking + + all_parents = { generic_mio_advanced_woodworking } + + position = { x=1 y=1 } + + equipment_bonus = { + reliability = 0.03 + } + } + + trait = { + token = generic_mio_compound_joinery + name = "Compound Joinery" + icon = GFX_generic_mio_trait_carpentry + + relative_position_id = generic_mio_advanced_woodworking + + any_parent = { generic_mio_oiling_sealing_charring generic_mio_mortise_and_tenon_joints } + + position = { x=1 y=2 } + + production_bonus = { + production_resource_need_factor = -0.05 + production_efficiency_cap_factor = 0.02 + } + } + + trait = { + token = generic_mio_large_scale_construction + name = "Large-scale Construction" + icon = GFX_generic_mio_trait_crane + + relative_position_id = generic_mio_advanced_woodworking + + all_parents = { generic_mio_compound_joinery generic_mio_advanced_sawmills } + + position = { x=1 y=3 } + + organization_modifier = { + military_industrial_organization_size_up_requirement = -0.15 + military_industrial_organization_funds_gain = 0.2 + } + } + + trait = { + token = generic_mio_advanced_drydocks + name = "Advanced Drydocks" + icon = GFX_generic_mio_trait_drydock + + relative_position_id = generic_mio_advanced_woodworking + + any_parent = { generic_mio_large_scale_construction generic_mio_torsion_powered_engines } + + position = { x=0 y=4 } + + limit_to_equipment_type = { lotr_equipment_all_ships } + + equipment_bonus = { + build_cost_ic = -0.05 + } + } + + trait = { + token = generic_mio_efficient_lumber_harvesting + name = "Efficient Lumber Harvesting" + icon = GFX_generic_mio_trait_wood + + position = { x=6 y=0 } + + organization_modifier = { + military_industrial_organization_funds_gain = 0.05 + } + + on_complete = { + FROM = { random_owned_controlled_state = { + add_resource = { + type = chromium + amount = 3 + } + } } + } + } + + trait = { + token = generic_mio_advanced_sawmills + name = "Advanced Sawmills" + icon = GFX_generic_mio_trait_mechanism + + all_parents = { generic_mio_efficient_lumber_harvesting } + + position = { x=6 y=2 } + + production_bonus = { + production_efficiency_cap_factor = 0.03 + production_resource_need_factor = -0.02 + } + } + + trait = { + token = generic_mio_streamlined_cutting + name = "Streamlined Cutting Process" + icon = GFX_generic_mio_trait_mechanism + + all_parents = { generic_mio_advanced_sawmills } + + position = { x=6 y=4 } + + production_bonus = { + production_efficiency_gain_factor = 0.03 + production_resource_need_factor = -0.02 + } + } + + trait = { + token = generic_mio_small_arms_timber_processing + name = "Small Arms Timber Processing" + icon = GFX_generic_mio_trait_wood + + position = { x=8 y=0 } + + limit_to_equipment_type = { lotr_equipment_infantry_equipment } + + equipment_bonus = { + build_cost_ic = -0.05 + } + } + + trait = { + token = generic_mio_multitalent_carpenters + name = "Multi-talent Carpenters" + icon = GFX_generic_mio_trait_saw + + relative_position_id = generic_mio_small_arms_timber_processing + + all_parents = { generic_mio_small_arms_timber_processing } + + position = { x=-1 y=1 } + + mutually_exclusive = { generic_mio_dedicated_weapon_assemblers } + + equipment_bonus = { + build_cost_ic = -0.03 + } + } + + trait = { + token = generic_mio_dedicated_weapon_assemblers + name = "Dedicated Arms-assemblers" + icon = GFX_generic_mio_trait_sword + + relative_position_id = generic_mio_small_arms_timber_processing + + all_parents = { generic_mio_small_arms_timber_processing } + + position = { x=1 y=1 } + + mutually_exclusive = { generic_mio_multitalent_carpenters } + + limit_to_equipment_type = { lotr_equipment_infantry_equipment } + + production_bonus = { + production_capacity_factor = 0.05 + } + } + + trait = { + token = generic_mio_standardized_shafts + name = "Standardized Shafts and Handles" + icon = GFX_generic_mio_trait_handle + + relative_position_id = generic_mio_small_arms_timber_processing + + any_parent = { generic_mio_dedicated_weapon_assemblers generic_mio_multitalent_carpenters generic_mio_advanced_sawmills } + + position = { x=0 y=4 } + + limit_to_equipment_type = { lotr_equipment_infantry_equipment } + + equipment_bonus = { + equipment_capture_factor = 0.03 + reliability = 0.03 + } + } + +} + diff --git a/common/military_industrial_organization/policies/_air_policies.txt b/common/military_industrial_organization/policies/_air_policies.txt new file mode 100644 index 000000000..63a5ae2c5 --- /dev/null +++ b/common/military_industrial_organization/policies/_air_policies.txt @@ -0,0 +1,137 @@ +mio_policy_carrying_capacity_eagle = { + icon = GFX_mio_policy_eagle + allowed = { + OR = { + has_mio_equipment_type = small_plane_airframe + has_mio_equipment_type = medium_plane_airframe + has_mio_equipment_type = large_plane_airframe + has_mio_equipment_type = small_plane_cas_airframe + has_mio_equipment_type = small_plane_naval_bomber_airframe + has_mio_equipment_type = medium_plane_fighter_airframe + has_mio_equipment_type = medium_plane_scout_plane_airframe + has_mio_equipment_type = large_plane_maritime_patrol_plane_airframe + } + } + available = { has_mio_size > 5 } + equipment_bonus = { + same_as_mio = { + air_bombing = 0.05 + air_superiority = 0.05 + } + } +} + +mio_policy_agility_eagle = { + icon = GFX_mio_policy_eagle + allowed = { + OR = { + has_mio_equipment_type = small_plane_airframe + has_mio_equipment_type = medium_plane_airframe + has_mio_equipment_type = large_plane_airframe + has_mio_equipment_type = small_plane_cas_airframe + has_mio_equipment_type = small_plane_naval_bomber_airframe + has_mio_equipment_type = medium_plane_fighter_airframe + has_mio_equipment_type = medium_plane_scout_plane_airframe + has_mio_equipment_type = large_plane_maritime_patrol_plane_airframe + } + } + available = { has_mio_size > 5 } + equipment_bonus = { + same_as_mio = { + air_agility = 0.05 + air_range = 0.05 + } + } +} + +mio_policy_strength_eagle = { + icon = GFX_mio_policy_eagle + allowed = { + OR = { + has_mio_equipment_type = small_plane_airframe + has_mio_equipment_type = medium_plane_airframe + has_mio_equipment_type = large_plane_airframe + has_mio_equipment_type = small_plane_cas_airframe + has_mio_equipment_type = small_plane_naval_bomber_airframe + has_mio_equipment_type = medium_plane_fighter_airframe + has_mio_equipment_type = medium_plane_scout_plane_airframe + has_mio_equipment_type = large_plane_maritime_patrol_plane_airframe + } + } + available = { has_mio_size > 5 } + equipment_bonus = { + same_as_mio = { + air_attack = 0.05 + air_defence = 0.05 + } + } +} + +mio_policy_carrying_capacity_fellbeast = { + icon = GFX_mio_policy_fellbeast + allowed = { + OR = { + has_mio_equipment_type = small_plane_airframe + has_mio_equipment_type = medium_plane_airframe + has_mio_equipment_type = large_plane_airframe + has_mio_equipment_type = small_plane_cas_airframe + has_mio_equipment_type = small_plane_naval_bomber_airframe + has_mio_equipment_type = medium_plane_fighter_airframe + has_mio_equipment_type = medium_plane_scout_plane_airframe + has_mio_equipment_type = large_plane_maritime_patrol_plane_airframe + } + } + available = { has_mio_size > 5 } + equipment_bonus = { + same_as_mio = { + air_bombing = 0.05 + air_superiority = 0.05 + } + } +} + +mio_policy_agility_fellbeast = { + icon = GFX_mio_policy_fellbeast + allowed = { + OR = { + has_mio_equipment_type = small_plane_airframe + has_mio_equipment_type = medium_plane_airframe + has_mio_equipment_type = large_plane_airframe + has_mio_equipment_type = small_plane_cas_airframe + has_mio_equipment_type = small_plane_naval_bomber_airframe + has_mio_equipment_type = medium_plane_fighter_airframe + has_mio_equipment_type = medium_plane_scout_plane_airframe + has_mio_equipment_type = large_plane_maritime_patrol_plane_airframe + } + } + available = { has_mio_size > 5 } + equipment_bonus = { + same_as_mio = { + air_agility = 0.05 + air_range = 0.05 + } + } +} + +mio_policy_strength_fellbeast = { + icon = GFX_mio_policy_fellbeast + allowed = { + OR = { + has_mio_equipment_type = small_plane_airframe + has_mio_equipment_type = medium_plane_airframe + has_mio_equipment_type = large_plane_airframe + has_mio_equipment_type = small_plane_cas_airframe + has_mio_equipment_type = small_plane_naval_bomber_airframe + has_mio_equipment_type = medium_plane_fighter_airframe + has_mio_equipment_type = medium_plane_scout_plane_airframe + has_mio_equipment_type = large_plane_maritime_patrol_plane_airframe + } + } + available = { has_mio_size > 5 } + equipment_bonus = { + same_as_mio = { + air_attack = 0.05 + air_defence = 0.05 + } + } +} \ No newline at end of file diff --git a/common/military_industrial_organization/policies/_general_policies.txt b/common/military_industrial_organization/policies/_general_policies.txt new file mode 100644 index 000000000..fe7a0d4cc --- /dev/null +++ b/common/military_industrial_organization/policies/_general_policies.txt @@ -0,0 +1,146 @@ +mio_policy_inflated_funds = { + icon = GFX_mio_policy_inflated_funds + allowed = { always = yes } + available = { has_mio_size > 5 } + organization_modifier = { + military_industrial_organization_funds_gain = 0.1 + } +} + +mio_policy_casting_specialists = { + icon = GFX_mio_policy_casting_specialists + allowed = { + OR = { + has_mio_equipment_type = small_plane_airframe + has_mio_equipment_type = medium_plane_airframe + has_mio_equipment_type = large_plane_airframe + has_mio_equipment_type = small_plane_cas_airframe + has_mio_equipment_type = small_plane_naval_bomber_airframe + has_mio_equipment_type = medium_plane_fighter_airframe + has_mio_equipment_type = medium_plane_scout_plane_airframe + has_mio_equipment_type = large_plane_maritime_patrol_plane_airframe + has_mio_equipment_type = armor + has_mio_equipment_type = motorized + has_mio_equipment_type = mechanized + has_mio_equipment_type = anti_tank + has_mio_equipment_type = flame + has_mio_equipment_type = anti_air + has_mio_equipment_type = artillery + has_mio_equipment_type = rocket + has_mio_equipment_type = infantry + has_mio_equipment_type = railway_gun + has_mio_equipment_type = train + } + } + available = { has_mio_size > 5 } + production_bonus = { + same_as_mio = { + production_efficiency_cap_factor = 0.05 + production_efficiency_gain_factor = 0.05 + } + } +} + +mio_policy_pedantic_perfectionism = { + icon = GFX_mio_policy_pedantic_perfectionism + allowed = { always = yes } + available = { has_mio_size > 5 } + production_bonus = { + same_as_mio = { + production_resource_need_factor = 0.15 + production_efficiency_gain_factor = -0.1 + reliability_factor = 0.15 + } + } + equipment_bonus = { + same_as_mio = { + soft_attack = 0.05 + hard_attack = 0.05 + } + } +} + +mio_policy_raw_materials_management = { + icon = GFX_mio_policy_raw_materials_management + allowed = { always = yes } + available = { has_mio_size > 5 } + production_bonus = { + same_as_mio = { + production_resource_need_factor = -0.15 + } + } +} + +mio_policy_technological_edge = { + icon = GFX_mio_policy_technological_edge + allowed = { always = yes } + available = { has_mio_size > 5 } + organization_modifier = { + military_industrial_organization_research_bonus = 0.2 + } +} + +mio_policy_for_the_people_by_the_people = { + icon = GFX_mio_policy_by_the_people_for_the_people + allowed = { + owner = { always = yes } + } + available = { + has_mio_size > 9 + FROM = { has_government = revolutionary } + } + + production_bonus = { + same_as_mio = { + production_resource_need_factor = -0.1 + production_efficiency_gain_factor = 0.05 + production_efficiency_cap_factor = 0.05 + } + } +} + +mio_policy_harsh_labour_quotas = { + icon = GFX_mio_policy_harsh_labour_quotas + allowed = { + owner = { always = yes } + } + available = { + has_mio_size > 9 + FROM = { has_government = belligerent } + } + + production_bonus = { + same_as_mio = { + production_efficiency_gain_factor = 0.1 + production_efficiency_cap_factor = 0.1 + } + } + + equipment_bonus = { + same_as_mio = { + reliability = -0.05 + } + } +} + +mio_policy_prosperous_exchange = { + icon = GFX_mio_policy_prosperous_exchange + allowed = { + owner = { always = yes } + } + available = { + has_mio_size > 9 + FROM = { has_government = cooperative } + } + + organization_modifier = { + military_industrial_organization_funds_gain = 0.1 + } + + production_bonus = { + same_as_mio = { + production_resource_need_factor = -0.1 + } + } +} + diff --git a/common/military_industrial_organization/policies/_land_policies.txt b/common/military_industrial_organization/policies/_land_policies.txt new file mode 100644 index 000000000..c30a6e233 --- /dev/null +++ b/common/military_industrial_organization/policies/_land_policies.txt @@ -0,0 +1,99 @@ +mio_policy_offensive_focus = { + icon = GFX_mio_policy_offensive_focus + allowed = { + OR = { + has_mio_equipment_type = armor + has_mio_equipment_type = motorized + has_mio_equipment_type = mechanized + has_mio_equipment_type = anti_tank + has_mio_equipment_type = flame + has_mio_equipment_type = anti_air + has_mio_equipment_type = artillery + has_mio_equipment_type = rocket + has_mio_equipment_type = infantry + } + } + available = { has_mio_size > 5 } + equipment_bonus = { + same_as_mio = { + soft_attack = 0.02 + breakthrough = 0.02 + } + } +} + +mio_policy_defensive_focus = { + icon = GFX_mio_policy_defensive_focus + allowed = { + OR = { + has_mio_equipment_type = armor + has_mio_equipment_type = motorized + has_mio_equipment_type = mechanized + has_mio_equipment_type = anti_tank + has_mio_equipment_type = flame + has_mio_equipment_type = anti_air + has_mio_equipment_type = artillery + has_mio_equipment_type = rocket + has_mio_equipment_type = infantry + } + } + available = { has_mio_size > 5 } + equipment_bonus = { + same_as_mio = { + defense = 0.03 + hardness = 0.03 + } + } +} + +mio_policy_lightweight_materials = { + icon = GFX_mio_policy_lightweight_materials + allowed = { + OR = { + has_mio_equipment_type = armor + has_mio_equipment_type = motorized + has_mio_equipment_type = mechanized + has_mio_equipment_type = anti_tank + has_mio_equipment_type = flame + has_mio_equipment_type = anti_air + has_mio_equipment_type = artillery + has_mio_equipment_type = rocket + has_mio_equipment_type = infantry + } + } + available = { has_mio_size > 5 } + equipment_bonus = { + same_as_mio = { + maximum_speed = 0.15 + weight = -0.25 + supply_consumption = -0.01 + } + } +} + +mio_policy_land_cutting_corners = { + icon = GFX_mio_policy_cutting_corners + allowed = { + OR = { + has_mio_equipment_type = armor + has_mio_equipment_type = motorized + has_mio_equipment_type = mechanized + has_mio_equipment_type = anti_tank + has_mio_equipment_type = flame + has_mio_equipment_type = anti_air + has_mio_equipment_type = artillery + has_mio_equipment_type = rocket + has_mio_equipment_type = infantry + } + } + available = { has_mio_size > 5 } + equipment_bonus = { + same_as_mio = { + build_cost_ic = -0.1 + reliability = -0.05 + soft_attack = -0.05 + hard_attack = -0.05 + armor_value = -0.05 + } + } +} \ No newline at end of file diff --git a/common/military_industrial_organization/policies/_navy_policies.txt b/common/military_industrial_organization/policies/_navy_policies.txt new file mode 100644 index 000000000..d2a848b10 --- /dev/null +++ b/common/military_industrial_organization/policies/_navy_policies.txt @@ -0,0 +1,86 @@ +mio_policy_navy_raiding_fleet = { + icon = GFX_mio_policy_raiding_fleet + allowed = { + OR ={ + has_mio_equipment_type = capital_ship + has_mio_equipment_type = screen_ship + has_mio_equipment_type = submarine + has_mio_equipment_type = carrier + } + } + available = { has_mio_size > 5 } + equipment_bonus = { + same_as_mio = { + convoy_raiding_coordination = 0.1 + naval_speed = 0.15 + surface_visibility = -0.15 + } + } +} + +mio_policy_coastal_battle = { + icon = GFX_mio_policy_coastal_fleet + allowed = { + OR ={ + has_mio_equipment_type = capital_ship + has_mio_equipment_type = screen_ship + has_mio_equipment_type = submarine + has_mio_equipment_type = carrier + } + } + available = { has_mio_size > 5 } + equipment_bonus = { + same_as_mio = { + naval_range = -0.25 + # shore_bombardment_bonus = 0.5 # Doesnt work + naval_heavy_gun_hit_chance_factor = 0.1 + naval_light_gun_hit_chance_factor = 0.1 + } + } +} + +mio_policy_bare_minimum = { + icon = GFX_mio_policy_bare_minimum + allowed = { + OR ={ + has_mio_equipment_type = capital_ship + has_mio_equipment_type = screen_ship + has_mio_equipment_type = submarine + has_mio_equipment_type = carrier + } + } + available = { has_mio_size > 5 } + equipment_bonus = { + same_as_mio = { + naval_light_gun_hit_chance_factor = -0.1 + naval_heavy_gun_hit_chance_factor = -0.1 + naval_speed = -0.15 + } + } + equipment_bonus = { + same_as_mio = { + build_cost_ic = -0.3 + reliability = -0.1 + } + } +} + +mio_policy_navy_great_seas_fleet = { + icon = GFX_mio_policy_great_seas_fleet + allowed = { + OR ={ + has_mio_equipment_type = capital_ship + has_mio_equipment_type = screen_ship + has_mio_equipment_type = submarine + has_mio_equipment_type = carrier + } + } + available = { has_mio_size > 5 } + equipment_bonus = { + same_as_mio = { + naval_range = 0.5 + naval_weather_penalty_factor = -0.5 + surface_detection = 0.25 + } + } +} diff --git a/common/military_industrial_organization/policies/documentation.info b/common/military_industrial_organization/policies/documentation.info new file mode 100644 index 000000000..e5968d960 --- /dev/null +++ b/common/military_industrial_organization/policies/documentation.info @@ -0,0 +1,88 @@ +# Policy database for Military Industrial Organization (MIO) +# +# For each MIO, the player is able to attach 1 policy to get extra bonuses. +# 1 policy is similar to 1 trait. The bonuses only applies to the equipment variant or production line the MIO is assigned to. +# +# This database defines a list of policies, and for each MIO, the triggers will be evaluated to compute the list of eligible policies. +# +# Example with all possible parts: +# my_policy_token = { +# name = loc_key # optional +# # if name provided, use loc_key +# # if loc key TAG_my_MIO_token exists, use it (where TAG is the tag of the MIO owner) +# # else use loc key my_MIO_token +# # loc key may use scripted loc, scope will be set with the country owning the policy +# +# icon = GFX_key # optional +# # if icon provided, use GFX_key +# # if gfx key GFX_TAG_my_MIO_token exists, use it (where TAG is the tag of the MIO owner) +# # if gfx key GFX_my_MIO_token exists, use it +# # else use GFX_idea_unknown +# +# cost = 10 # optional, default is define DEFAULT_INITIAL_POLICY_ATTACH_COST +# cooldown = 60 # optional, default is DEFAULT_INITIAL_ATTACH_POLICY_COOLDOWN +# +# allowed = { ... } # mandatory +# # MIO scope +# # allowed is evaluated when starting the game for all MIOs +# # if trigger returns false, the policy will never be considered for this MIO later in-game +# +# visible = { ... } # optional, default is always = yes +# # current MIO scope +# # visible is evaluated when displaying the MIO UIs / policy screen +# # if trigger returns false, then the policy is not visible for the player +# +# available = { ... } # optional, default is always = yes +# # current MIO scope +# # available is evaluated when displaying the MIO UIs / policy screen +# # if trigger returns false, then the policy is visible but disabled and greyed-out +# +# # Defines the bonus given when the policy is attached to a MIO, and the MIO is assigned to an equipment variant +# # Note it's different from equipment_bonus in traits. Here you have to give the equipment category/archetype/type. +# equipment_bonus = { +# infantry_equipment = { # cf. script enum script_enum_equipment_bonus_type for possible values +# reliability = 0.2 +# soft_attack = 0.1 # accepts as many stats as needed +# } +# armor = { ... } # accepts as many type as needed +# same_as_mio = { ... } # can use this keyword to apply to all equipments in departments of the attached MIO +# } +# +# # Defines the bonus given when the policy is attached to a MIO, and the MIO is assigned to a production line +# # Note it's different from equipment_bonus in traits. Here you have to give the equipment category/archetype/type. +# production_bonus = { +# infantry_equipment = { # cf. script enum script_enum_equipment_bonus_type for possible values +# production_cost_factor = -0.1 +# production_capacity_factor = 0.1 # accepts as many stats as needed +# } +# armor = { ... } # accepts as many type as needed +# same_as_mio = { ... } # can use this keyword to apply to all equipments in departments of the attached MIO +# } +# +# # Defines modifiers that will apply on the MIO the policy is attached to. +# # Only use modifiers relevant for MIOs - full list below. +# organization_modifier = { +# military_industrial_organization_research_bonus = 0.1 +# military_industrial_organization_design_team_assign_cost = -0.33 +# military_industrial_organization_design_team_change_cost = -0.5 +# military_industrial_organization_industrial_manufacturer_assign_cost = -0.66 +# military_industrial_organization_task_capacity = 2 +# military_industrial_organization_size_up_requirement = -0.2 +# military_industrial_organization_funds_gain = 0.5 +# } +# +# # Effects executed when the policy is attached to a MIO +# # Using the MIO scope +# on_add = { ... } +# +# # Effects executed when the policy is un-attached from a MIO +# # Using the MIO scope +# on_remove = { ... } +# +# # AI weight modifier for this policy +# # For documentation, see examples of ai_will_do throughout the content +# # Note : this affects how likely AI is to spend PP on this policy +# ai_will_do = { +# ... +# } +# } \ No newline at end of file diff --git a/common/modifier_definitions/lthi_modifier_definitions.txt b/common/modifier_definitions/lthi_modifier_definitions.txt new file mode 100644 index 000000000..dd01788fd --- /dev/null +++ b/common/modifier_definitions/lthi_modifier_definitions.txt @@ -0,0 +1,61 @@ +# modifiers used in static_modifiers needs to be predefined here + +nandor_influence = { + color_type = good + value_type = number + precision = 0 + + category = country + category = state + category = politics +} + +noldor_influence = { + color_type = good + value_type = number + precision = 0 + + category = country + category = state + category = politics +} + +sindar_influence = { + color_type = good + value_type = number + precision = 0 + + category = country + category = state + category = politics +} + +halfelves_influence = { + color_type = good + value_type = number + precision = 0 + + category = country + category = state + category = politics +} + +nonelves_influence = { + color_type = good + value_type = number + precision = 0 + + category = country + category = state + category = politics +} + +orcs_influence = { + color_type = good + value_type = number + precision = 0 + + category = country + category = state + category = politics +} \ No newline at end of file diff --git a/common/modifiers/00_static_modifiers.txt b/common/modifiers/00_static_modifiers.txt index 0c7c693ca..1e4ae8516 100644 --- a/common/modifiers/00_static_modifiers.txt +++ b/common/modifiers/00_static_modifiers.txt @@ -167,7 +167,7 @@ night = { # On province. Multiplied by amount of darkness. # The following is multiplied by local resistance strength. resistance_effect_base = { - # todo - spy defense + } resistance_effect = { @@ -412,6 +412,7 @@ diff_easy_ai = { command_power_gain = 0.15 consumer_goods_factor = -0.02 conscription = 0.005 + local_factory_sabotage = -0.9 } diff_normal_ai = { @@ -422,6 +423,7 @@ diff_normal_ai = { command_power_gain = 0.25 consumer_goods_factor = -0.07 conscription = 0.01 + local_factory_sabotage = -1.0 } diff_hard_ai = { @@ -435,6 +437,7 @@ diff_hard_ai = { command_power_gain = 0.35 consumer_goods_factor = -0.1 conscription = 0.015 + local_factory_sabotage = -1.0 } diff_very_hard_ai = { @@ -448,6 +451,7 @@ diff_very_hard_ai = { command_power_gain = 0.4 consumer_goods_factor = -0.15 conscription = 0.02 + local_factory_sabotage = -1.0 } diff --git a/common/modifiers/gondor_modifiers.txt b/common/modifiers/gondor_modifiers.txt new file mode 100644 index 000000000..f3994311b --- /dev/null +++ b/common/modifiers/gondor_modifiers.txt @@ -0,0 +1,14 @@ + + + +faramir_eowyn_marriage = { + valid_relation_trigger = { + FROM = { + NOT = { has_war_with = ROOT } + } + } + + trade_cost_for_target_factor = -0.15 + generate_wargoal_tension_against = 1.0 + license_purchase_cost = 0 +} \ No newline at end of file diff --git a/common/modifiers/lothlorien_modifiers.txt b/common/modifiers/lothlorien_modifiers.txt new file mode 100644 index 000000000..0e07aaed9 --- /dev/null +++ b/common/modifiers/lothlorien_modifiers.txt @@ -0,0 +1,23 @@ + + + + + + +oath_of_feanor = { + valid_relation_trigger = { + FROM = { + has_government = belligerent + } + } + army_attack_factor = 0.05 + justify_war_goal_time = -0.8 +} + + +impregnable_fortress = { + max_dig_in_factor = 0.2 + recon_factor_while_entrenched = 0.2 + coordination_bonus = 0.2 + army_defence_factor = 0.2 +} \ No newline at end of file diff --git a/common/modifiers/lotr_advisors.txt b/common/modifiers/lotr_advisors.txt index 7d107473f..bd124433f 100644 --- a/common/modifiers/lotr_advisors.txt +++ b/common/modifiers/lotr_advisors.txt @@ -12,4 +12,5 @@ negotiated_trade_modifier = { } } trade_cost_for_target_factor = -0.5 -} \ No newline at end of file +} + diff --git a/common/modifiers/lotr_generic.txt b/common/modifiers/lotr_generic.txt new file mode 100644 index 000000000..c09e59874 --- /dev/null +++ b/common/modifiers/lotr_generic.txt @@ -0,0 +1,13 @@ + + + + +increased_attack_against = { + valid_relation_trigger = { + FROM = { + has_war_with = ROOT + } + } + + attack_bonus_against = 0.1 +} \ No newline at end of file diff --git a/common/mtth/ithilien_crisis_mtth.txt b/common/mtth/ithilien_crisis_mtth.txt new file mode 100644 index 000000000..eb29ab60a --- /dev/null +++ b/common/mtth/ithilien_crisis_mtth.txt @@ -0,0 +1,343 @@ + + + + + +# THIS is the target country +# PREV is the target state + + + +# total power projection of MOR +ithc_pp_total_MOR = { + base = 0 + modifier = { + add = mtth:ithc_pp_war_support + } + modifier = { + add = mtth:ithc_pp_industry + } + modifier = { + add = mtth:ithc_pp_stability + } + modifier = { + add = mtth:ithc_pp_planes_nearby_mor + } + modifier = { + add = mtth:ithc_manpower_deployed_nearby_mor + } + modifier = { + add = mtth:ithc_from_focus + } +} + +# total power projection of GON +ithc_pp_total_GON = { + base = 0 + modifier = { + add = mtth:ithc_pp_war_support + } + modifier = { + add = mtth:ithc_pp_pillage_level + } + modifier = { + add = mtth:ithc_pp_forts + } + modifier = { + add = mtth:ithc_pp_industry + } + modifier = { + add = mtth:ithc_pp_stability + } + modifier = { + add = mtth:ithc_pp_planes_in_region_gon + } + modifier = { + add = mtth:ithc_manpower_deployed_in_state_gon + } + modifier = { + add = mtth:ithc_from_focus + } +} + + +# pp from war support +ithc_pp_war_support = { + base = 0 + modifier = { + set_temp_variable = { temp_pp = has_war_support } + multiply_temp_variable = { temp_pp = 100 } + add = temp_pp + } +} + +# pp from stability +ithc_pp_stability = { + base = 0 + modifier = { + set_temp_variable = { temp_pp = stability } + multiply_temp_variable = { temp_pp = 50 } + add = temp_pp + } +} + + +# pp from pillage level (only for Gondor) +ithc_pp_pillage_level = { + base = 0 + modifier = { + PREV = { check_variable = { ithc_pillage_level = 1 } } + add = 20 + } + modifier = { + PREV = { check_variable = { ithc_pillage_level = 2 } } + add = 40 + } + modifier = { + PREV = { check_variable = { ithc_pillage_level = 3 } } + add = 60 + } +} + + +# pp from undamaged forts in state (Gondor) +ithc_pp_forts = { + base = 0 + modifier = { + PREV = { bunker > 1 } + add = 5 + } + modifier = { + PREV = { bunker > 2 } + add = 5 + } + modifier = { + PREV = { bunker > 3 } + add = 5 + } + modifier = { + PREV = { bunker > 4 } + add = 5 + } + modifier = { + PREV = { bunker > 5 } + add = 5 + } + modifier = { + PREV = { bunker > 6 } + add = 5 + } + modifier = { + PREV = { bunker > 7 } + add = 5 + } + modifier = { + PREV = { bunker > 8 } + add = 5 + } + modifier = { + PREV = { bunker > 9 } + add = 5 + } +} + + +# pp industry +ithc_pp_industry = { + base = 0 + modifier = { + add = num_of_factories + } +} + +# pp planes in regions (gon) +ithc_pp_planes_in_region_gon = { + base = 0 + + # North ithilien + modifier = { + OR = { check_variable = { PREV.id = 22.id } check_variable = { PREV.id = 173.id } } + num_planes_stationed_in_regions = { + value > 25 + regions = { 73 } + } + add = 10 + } + modifier = { + OR = { check_variable = { PREV.id = 22.id } check_variable = { PREV.id = 173.id } } + num_planes_stationed_in_regions = { + value > 50 + regions = { 73 } + } + add = 10 + } + modifier = { + OR = { check_variable = { PREV.id = 22.id } check_variable = { PREV.id = 173.id } } + num_planes_stationed_in_regions = { + value > 100 + regions = { 73 } + } + add = 10 + } + + # Southern ithilien + modifier = { + OR = { check_variable = { PREV.id = 135.id } check_variable = { PREV.id = 175.id } } + num_planes_stationed_in_regions = { + value > 25 + regions = { 77 } + } + add = 10 + } + modifier = { + OR = { check_variable = { PREV.id = 135.id } check_variable = { PREV.id = 175.id } } + num_planes_stationed_in_regions = { + value > 50 + regions = { 77 } + } + add = 10 + } + modifier = { + OR = { check_variable = { PREV.id = 135.id } check_variable = { PREV.id = 175.id } } + num_planes_stationed_in_regions = { + value > 100 + regions = { 77 } + } + add = 10 + } +} + +# pp planes in regions (mor) +ithc_pp_planes_nearby_mor = { + base = 0 + + # North ithilien + modifier = { + OR = { check_variable = { PREV.id = 22.id } check_variable = { PREV.id = 173.id } } + num_planes_stationed_in_regions = { + value > 25 + regions = { 73 35 32 17 } + } + add = 10 + } + modifier = { + OR = { check_variable = { PREV.id = 22.id } check_variable = { PREV.id = 173.id } } + num_planes_stationed_in_regions = { + value > 50 + regions = { 73 35 32 17 } + } + add = 10 + } + modifier = { + OR = { check_variable = { PREV.id = 22.id } check_variable = { PREV.id = 173.id } } + num_planes_stationed_in_regions = { + value > 100 + regions = { 73 35 32 17 } + } + add = 10 + } + + # Southern ithilien + modifier = { + OR = { check_variable = { PREV.id = 135.id } check_variable = { PREV.id = 175.id } } + num_planes_stationed_in_regions = { + value > 25 + regions = { 77 17 69 40 } + } + add = 10 + } + modifier = { + OR = { check_variable = { PREV.id = 135.id } check_variable = { PREV.id = 175.id } } + num_planes_stationed_in_regions = { + value > 50 + regions = { 77 17 69 40 } + } + add = 10 + } + modifier = { + OR = { check_variable = { PREV.id = 135.id } check_variable = { PREV.id = 175.id } } + num_planes_stationed_in_regions = { + value > 100 + regions = { 77 17 69 40 } + } + add = 10 + } +} + +ithc_manpower_deployed_in_state_gon = { + base = 0 + + modifier = { + set_temp_variable = { temp_pp = num_armies_in_state@PREV } + multiply_temp_variable = { temp_pp = 2 } + add = temp_pp + } +} + +ithc_manpower_deployed_nearby_mor = { + base = 0 + + # black gate + modifier = { + check_variable = { PREV.id = 22.id } + 204 = { is_coontrolled_by_THIS_or_ally = yes } + + set_temp_variable = { temp_pp = num_armies_in_state@204 } + multiply_temp_variable = { temp_pp = 2 } + add = temp_pp + } + # minas morgul + modifier = { + check_variable = { PREV.id = 173.id } + 5 = { is_coontrolled_by_THIS_or_ally = yes } + + set_temp_variable = { temp_pp = num_armies_in_state@5 } + multiply_temp_variable = { temp_pp = 2 } + add = temp_pp + } + # Harad 1 + modifier = { + check_variable = { PREV.id = 135.id } + 107 = { is_coontrolled_by_THIS_or_ally = yes } + + set_temp_variable = { temp_pp = num_armies_in_state@107 } + multiply_temp_variable = { temp_pp = 2 } + add = temp_pp + } + # Harad 2 + modifier = { + check_variable = { PREV.id = 135.id } + 105 = { is_coontrolled_by_THIS_or_ally = yes } + + set_temp_variable = { temp_pp = num_armies_in_state@105 } + multiply_temp_variable = { temp_pp = 2 } + add = temp_pp + } +} + + +ithc_from_focus = { + base = 0 + + modifier = { + add = ithc_bonus_pp + } + modifier = { + tag = MOR + PREV = { has_state_flag = ithc_mordor_focus } + add = 15 + } + modifier = { + tag = GON + PREV = { has_state_flag = ithc_gondor_focus } + add = 15 + } + modifier = { + has_completed_focus = GON_ithc_hold_firm + add = 10 + } + modifier = { + has_completed_focus = second_wave + add = 10 + } +} \ No newline at end of file diff --git a/common/names/00_names.txt b/common/names/00_names.txt index 04f1b6388..147645ad3 100644 --- a/common/names/00_names.txt +++ b/common/names/00_names.txt @@ -334,6 +334,21 @@ HLI = { surnames = { "" } callsigns = { } } +#### Nanduhirion +NDH = { + male = { + names = { + Calanon Erumollien Adan Adanion Beinion Glandur Beriadan Idhrenion Glanhelmion Suiadan Ainion Valdaglerion Thorontur Gondien Arbellason Alyan Lithaldoren Vanafindon Rimedur Arandur Maidhfinden Veryamorcon Laermeluion Thalion Morcion Maidhion Lairelandon Landion Landathradon Megildur Baradhamon Beleg Ceberlandon Tawarthion Arphenion Rincavornon Cugedhion Raegbund Veryan Arthion Suiauthon Miuverthon Suiadan Aphaderuiondur Eruaphadion Mornefindon Istuion Taurhassdorien Rhassbaradhon Amonost Rhassdorthion Nedhudir Morfindien Sellion Rissien Vehiron Meldiron Saeldur Erubadhron Tithdaeron Caunidhrenon Meldarion Imrathon Maeron Rhovanion Caunwaithon Bregolien Sadron Caunardhon Morohtar Mornenion Locien Baramaethor Veryamaethon Aearion Aradan Beriogelir Alyameldir Hirnaeranin Melimion Valpanbarion Veassen Caunion Revion Tangadion Eithelonnen Nithron Suiadan Suiadanion Vanafindon Lainadan Sidhenidon Eruadan Herenyonnen Dorsidhion Daermaethor Bercalion Imrathion Suiauthon Daeron Tirithon Carsuithon Mardion Gwetherindolien Bandorion Merilairon Marcaunon Alassien Faeron Sidhion Feredir Barathon Minyadan Lalaithion Eruedraithon Tuilalcaron Orthorien Nestaron Erumeldir Eruaran Airadan Airion Erumaren Erurainon Cugedhion Eruantion Anessen Eruedraith Eglerion Nessimon Faelon Handion Glenndaugion Beinion Maethorion Beinion Beinion Iauron Valanyonnen Talfagoron Talathion Agormenion Lairion Raunien Bellrauthien Lainathion Nethraunien Mithrennon Cundmaethor Tegalad Daeron Cugechilon Suiauthon Eruantien Andaer Cerediron Eraisuithon Lancaeron Antien Eruantien Herion Edenost Turwaithion Heronion Nosteruion Istmaedhon Sidhion Maldor Bellasvalainon Nostarion Nibenon Maeglad Daugobelion Rochendil Miluion Thandraug Bellthandien Erunestian Beridhren Nendir Aranhil Caunion Nibensirien Horthien Bellcaunion Aranion Eleyond Caranion Carandol Aranethon Eruestan Erurainion Lathron Limdur Mordemirdanian Hebion Lairondren Elenion Rinion Roherdiron Alagos Arandur Erynion Eglerion Thandion Castien Eruantien Valpamiucon Maererun Ruscion Menathradon Nechaenion Rainantien Gleinadhorion Minastion Ortherion Authion Turin Athradien Taurvantian Balamaethor Beriohtarion Beriothien Erynion Sidhpantion Edenoston Ovorion Bellsulion + } + } + female = { + names = { + Aafke Adlanniel Adanessa Faelwen Mirima Alya Maerwen Mellimeldisiel Vendethiel Vanya Caladwen Beriadanwen Tauredhiel Thenidiel Nostariel Alassiel Melda Manwameldiel Huoriel Dessuithiel Valadhiel Aintithenniel Mentathiel Raina Haldaraina Gwirithiel Airedhiel Limbairedhiel Gwaedhiel Lairelithoniel Falathiel Tuarwen Malthenniel Minuialwen Aesuithiel Arasinya Cuiledhwen Aranduriel Alastegiel Gwedhiel Pilindiel Veryamedliel Turtegiel Eruaistaniel Pendecardiel Belleruraina Talathiel Uralimpiel Crabatithenniel Bellethiel Vardainiel Bellasiel Daerwen Nellethiel Amoniel Gwilwilethel Vanya Venessiel Fainauriel Anameleth Melda Bellethiel Aerlinniel Lindethiel Lindariel Verya Menelwen Ithilwen Tanlicumiel Valisilwen Linnadhiel Inimeitiel Dessuithiel Cirelondiel Melda Doredhiel Lostariel Eruaphadriel Limwen Eleniel Iellwen Ellethwen Pandothiel Silima Henaradwen Meldiriel Erunanethiel Elarinya Erubadhriel Verisiel Erdolliel Minuialwen Randiriel Naerwen Rhavaniel Anira Maranwethiel Baudhiel Hyarmenothiel Naerdiel Malthenniel Remethiel Eruanna Cugedhiel Yernadhiel Siladhiel Eruwaedhiel Calathiel Glanlotiel Manathiel Edhelwen Elvellonwen Ardhoniel Caunwen Eleniel Arawen Maersiniathwen Cuilwen Bronwethiel Vanafindiel Silivrenniel Lostithenniel Lothiriel Lostariel Sidhiel Erudessa Nimgarthiel Sidhnanledhiel Miriel Santiel Caunanechiel Tuimadhiel Eruraina Airemana Vanimaista Aglariel Silivrenniel Amaniel Gwetherindoliel Marcauniel Andranniel Gothweniel Caladhiel Ainathiel Amariel Ercassiel Estelwen Nessima Daeralda Eruaistaniel Vanya Nanethiel Sidhiel Ninniachel Lona Eruraina Beriadhwen Idhrenniel Calenmiriel Eruraina Eruraina Filegedhiel Herenya Miriel Nithpantiel Eruraina Rainerudhiel Eruraina Iellwen Anessathiel Alassiel Nessima Faelwen Eccaia Meltithenniel Quanteruanna Manwathiel Manwamahtariel Sairahiniel Eraisuithiel Maethoriel Valpantiel Limoladiel Laesneniel Amonniel Dolledhiel Aragarthiel Caunedhiel Vendethiel Eruaistaniel Liruliniel Caladwen Siladhiel Galedlothia Vanmoriel Yerathiel Mordollwen Lainathiel Indilwen Caladhiel Sidhlairiel Rawodhiel Eruaistaniel Cuilwen Authiel Draugathiel Maetharanel Caladhiel Tegaladwen Ithilwen Narylfiel Vanyalanthiriel Aerlinniel Melima Eruantiel Beinedhiel Minastauriel Eruantienell Thandiel Nanethiel Marilla Saercalwen Aeariel Aeroniel Manwathiel Vanamarilla Saerwen Saeruwaedhiel Taurauthiel Morwen Andaeriel Lothroniel Hannasiel Morwen Belltassiel Medlinniel Aerlinniel Beriaearwen Sabariel Eraisuithiel Validhreniel Arawen Eriathwen Lancaeriel Maerwen Aercalima Estelwen Estelpantiel Raina Onnedhiel Ennostiel Silacaladhiel Caladhiel Velossfaeniel Turwaithiel Vendethiel Nosteruionwen Caladhiel Forvenniel Serethiel Erumara Valiedhiel Cugedhiel Medlinniel Lothiriel Mithrenniel Aegliriell Nostariel Nibenwen Nathronniel Sarnedhiel Daugobelwen Rochendilwen Lassiel Crabanniel Rainarasinya Buieruwen Aranhilwen Hantaliel Aerlinniel Adonnenniel Ethiriel Bellcauniel Celunibeniel Gondtithenniel Gondothiel Merilwen Dolithiel Vanafindiel Minuialwen Aranel Erulastiel Beriadanwen Aranel Ilbrethladwen Carnadhiel Ithilwen Hantadhiel Eruraina Vanya Menelwen Erulaeriel Calairiel Merilwen Eruainantiel Sydney Tanna Tawariell Lathronniel Earenniel Istimiel Idhrenniel Eleniel Riniel Laerwen Anariel Indilwen Nithiel Tolandiel Vancarmiel Rossarinya Meldainiel Tariel Castiel Lostariel Eruanna Valainantiel Gliriel Aranel Eruthiawen Ethiriel Aineldiel Valauthiel Medlinya Melethiel Bellethiel Gwilwileth Melethainiel Mantheniel Helinniel Rodwen Cuilpantiel Nethlhindorniel Helmaninquiel Silivrentoliel Sidhmeldiriel Mainonnenniel Filegethiel Earmaiviel Raina Laisidhiel Minuialwen + } + } + surnames = { "" } + callsigns = { } +} ############################################################### # Dead Marshes, Spiders ############################################################### diff --git a/common/national_focus/00_titlebar_styles.txt b/common/national_focus/00_titlebar_styles.txt new file mode 100644 index 000000000..a153309e6 --- /dev/null +++ b/common/national_focus/00_titlebar_styles.txt @@ -0,0 +1,18 @@ +style = { + name = default_style + default = yes + + unavailable = GFX_focus_unavailable + completed = GFX_focus_completed + available = GFX_focus_can_start + current = GFX_focus_current +} + +style = { + name = joint_focus_style + + unavailable = GFX_focus_unavailable_joint + completed = GFX_focus_completed_joint + available = GFX_focus_can_start_joint + current = GFX_focus_current_joint +} \ No newline at end of file diff --git a/common/national_focus/angmar.txt b/common/national_focus/angmar.txt index e84ffe557..c52f742a0 100644 --- a/common/national_focus/angmar.txt +++ b/common/national_focus/angmar.txt @@ -23,7 +23,10 @@ shared_focus = industrial_effort focus = { id = ANG_steady_as_we_go icon = GFX_goal_support_unalligned - ai_will_do = { factor = 1 } + ai_will_do = { + factor = 1 + modifier = { factor = 0 is_going_unaligned = no } + } search_filters = { FOCUS_FILTER_POLITICAL } mutually_exclusive = { focus = thefateofangmar } x = 45 @@ -32,7 +35,6 @@ focus = { available_if_capitulated = yes completion_reward = { add_ideas = generic_unaligned - set_country_flag = path_going_unaligned } } @@ -327,6 +329,7 @@ focus = { search_filters = { FOCUS_FILTER_POLITICAL } ai_will_do = { factor = 5 + modifier = { factor = 0 is_going_cooperative = no } } relative_position_id = thefateofangmar x = -4 @@ -337,7 +340,6 @@ focus = { available_if_capitulated = yes completion_reward = { add_ideas = generic_cooperative - set_country_flag = path_going_cooperative } } @@ -432,8 +434,7 @@ focus = { relative_position_id = ANG_long_term_plan x = 2 y = 1 - prerequisite = { focus = ANG_long_term_plan} - prerequisite = { focus = ANG_dig_out_the_mountains } + prerequisite = { focus = ANG_long_term_plan focus = ANG_dig_out_the_mountains } cost = 10 available_if_capitulated = yes completion_reward = { @@ -954,7 +955,7 @@ focus = { cost = 10 available_if_capitulated = yes completion_reward = { - #TODO make news event + news_event = news.402 set_cosmetic_tag = ANG_new_arnor if = { limit = { @@ -1282,6 +1283,7 @@ focus = { search_filters = { FOCUS_FILTER_POLITICAL } ai_will_do = { factor = 5 + modifier = { factor = 0 is_going_belligerent = no } } x = 13 y = 1 @@ -1291,7 +1293,6 @@ focus = { available_if_capitulated = yes completion_reward = { add_ideas = generic_belligerent - set_country_flag = path_going_belligerent } } @@ -1422,7 +1423,7 @@ focus = { available_if_capitulated = yes completion_reward = { create_faction = "empire_of_angmar" - #create_faction = "union_of_angmar" + add_political_power = 100 } } @@ -1455,6 +1456,7 @@ focus = { ideology = domineering traits = { } } + add_political_power = 50 } } @@ -2014,7 +2016,6 @@ focus = { cost = 10 completion_reward = { add_named_threat = { threat = 1 name = "The necromancer from the North" } - news_event = { hours = 48 id = news.391 } add_ideas = ANG_the_necromancer } } @@ -2125,8 +2126,7 @@ focus = { remove_ideas = ANG_legacy_of_the_witch_king_0 create_country_leader = { name = "Sauron" - desc = "POLITICS_KING_ZOG_DESC" - picture = "Portrait_Angmar_Danthild.dds" + picture = GFX_portrait_mordor_sauron_eye expire = "1980.1.1" ideology = domineering traits = { all_seeing_eye } @@ -2336,6 +2336,7 @@ focus = { NOT = { has_war_with = ANG } + is_puppet = no } } ISE = { @@ -2462,7 +2463,7 @@ focus = { y = 1 relative_position_id = ANG_tell_the_world prerequisite = { focus = ANG_tell_the_world} - available = { has_idea = one_true_ring has_government = belligerent } + available = { ring_has_the_ring = yes has_government = belligerent } cost = 10 available_if_capitulated = yes completion_reward = { diff --git a/common/national_focus/arthedain.txt b/common/national_focus/arthedain.txt index 6fb3f5a9b..ed48b75d9 100644 --- a/common/national_focus/arthedain.txt +++ b/common/national_focus/arthedain.txt @@ -35,7 +35,10 @@ focus = { focus = { id = ART_support_the_monarchists icon = GFX_focus_rom_royal_dictatorship - ai_will_do = { factor = 5 } + ai_will_do = { + factor = 5 + modifier = { factor = 0 is_going_cooperative = no } + } relative_position_id = ART_the_fate_of_arthedain x = -2 y = 1 @@ -43,7 +46,7 @@ focus = { prerequisite = { focus = ART_the_fate_of_arthedain} cost = 5 available_if_capitulated = yes - completion_reward = { set_country_flag = path_going_cooperative add_ideas = generic_cooperative } + completion_reward = { add_ideas = generic_cooperative } } #Focus for Unite the country @@ -169,7 +172,7 @@ focus = { focus = { id = ART_recover_the_army_industry - icon = GFX_goal_generic_construct_mil_factory + icon = GFX_goal_generic_anvil ai_will_do = { factor = 10 } relative_position_id = ART_reinstate_monarchy x = 5 @@ -343,6 +346,21 @@ focus = { } } +focus = { + id = ART_wisdom_of_all_of_arnor + icon = GFX_focus_research + ai_will_do = { factor = 4 } + relative_position_id = ART_unite_the_kingdom_of_arnor + prerequisite = { focus = ART_unite_the_kingdom_of_arnor} + x = -3 + y = 1 + cost = 10 + available_if_capitulated = yes + completion_reward = { + add_research_slot = 1 + } +} + #Focus for Reunite_with_gondor focus = { id = ART_reunite_with_gondor @@ -354,7 +372,7 @@ focus = { prerequisite = { focus =ART_unite_the_kingdom_of_arnor} available = { GON = { - has_completed_focus = crownaragornkingofgondor + has_completed_focus = GON_crown_aragorn_king } NOT = { GON = { @@ -454,7 +472,10 @@ focus = { focus = { id = lettherangersprevail icon = GFX_goal_rangers_of_the_north - ai_will_do = { factor = 0 } + ai_will_do = { + factor = 0 + modifier = { factor = 0 is_going_unaligned = no } + } relative_position_id = ART_the_fate_of_arthedain x =4 y =1 @@ -462,14 +483,17 @@ focus = { prerequisite = { focus = ART_the_fate_of_arthedain} cost = 10 available_if_capitulated = yes - completion_reward = { set_country_flag = path_going_unaligned add_ideas = generic_unaligned } + completion_reward = { add_ideas = generic_unaligned } } #Focus for Forge a new Path focus = { id = forgeanewpath icon = GFX_goal_generic_demand_territory - ai_will_do = { factor = 3 } + ai_will_do = { + factor = 3 + modifier = { factor = 0 is_going_belligerent = no } + } relative_position_id = ART_the_fate_of_arthedain x =10 y =1 @@ -477,7 +501,7 @@ focus = { prerequisite = { focus = ART_the_fate_of_arthedain} cost = 10 available_if_capitulated = yes - completion_reward = { set_country_flag = path_going_belligerent add_ideas = generic_belligerent_intermediate add_ideas = generic_revolutionary_intermediate } + completion_reward = { add_ideas = generic_belligerent_intermediate add_ideas = generic_revolutionary_intermediate } } #Focus for Arthedain Nationalism diff --git a/common/national_focus/easterlings.txt b/common/national_focus/easterlings.txt index a64d5bfed..c550bcd50 100644 --- a/common/national_focus/easterlings.txt +++ b/common/national_focus/easterlings.txt @@ -54,7 +54,7 @@ focus = { focus = { id = RHU_develop_military_north - icon = GFX_goal_generic_construct_mil_factory + icon = GFX_goal_generic_anvil x = 0 y = 1 relative_position_id = RHU_develop_the_north @@ -96,7 +96,7 @@ focus = { focus = { id = RHU_develop_military_east - icon = GFX_goal_generic_construct_mil_factory + icon = GFX_goal_generic_anvil x = 0 y = 1 relative_position_id = RHU_develop_the_east @@ -136,7 +136,7 @@ focus = { focus = { id = RHU_develop_military_south - icon = GFX_goal_generic_construct_mil_factory + icon = GFX_goal_generic_anvil x = 0 y = 1 relative_position_id = RHU_develop_the_south @@ -381,6 +381,7 @@ focus = { has_government = belligerent } } + modifier = { factor = 0 is_going_belligerent = no } } allow_branch = { NOT = { @@ -388,7 +389,6 @@ focus = { } } completion_reward = { - set_country_flag = path_going_belligerent add_ideas = HAR_follower_of_the_dark_lord mark_focus_tree_layout_dirty = yes } @@ -1204,6 +1204,7 @@ focus = { cost = 10 ai_will_do = { base = 0 + modifier = { factor = 0 is_going_cooperative = no } } offset = { x = -15 @@ -1222,7 +1223,6 @@ focus = { } } completion_reward = { - set_country_flag = path_going_cooperative add_ideas = RHU_change_in_politics_1 mark_focus_tree_layout_dirty = yes } @@ -2087,3 +2087,4 @@ focus = { } } } +} \ No newline at end of file diff --git a/common/national_focus/elven_alliance_focus.txt b/common/national_focus/elven_alliance_focus.txt new file mode 100644 index 000000000..133f44712 --- /dev/null +++ b/common/national_focus/elven_alliance_focus.txt @@ -0,0 +1,558 @@ +shared_focus = { + id = ea_theelvenalliance + icon = GFX_goal_lth_theelvenalliance + text_icon = joint_focus_style + x =8 + y =0 + offset = { + x =43 + y =0 + trigger = { + has_focus_tree = lothlorien + } + } + offset = { + x =43 + y =0 + trigger = { + has_focus_tree = rivendell + } + } + offset = { + x =23 + y =0 + trigger = { + has_focus_tree = mirkwood + } + } + offset = { + x =27 + y =0 + trigger = { + has_focus_tree = lindon + } + } + + cost = 5 + ai_will_do = { + factor = 1 + modifier = { + factor = 15 + has_country_flag = gameplan_elven_alliance + } + } + prerequisite = { } + available = { + has_government = cooperative + is_elves = yes + } + bypass = { + has_global_flag = ea_alliance_resolutions_unlocked + is_elven_alliance_member = yes + } + completion_reward = { + if = { + limit = { NOT = { has_global_flag = ea_alliance_resolutions_unlocked } } # lazy check to see if assembly already exists + # Form Elven UN + # Send out invites + elven_alliance_join = yes + set_global_flag = ea_alliance_resolutions_unlocked + set_global_flag = ea_industry_resolutions_unlocked + set_global_flag = ea_expansion_resolutions_unlocked + every_country = { + limit = { + is_elves = yes + NOT = { tag = ROOT } + NOT = { has_war_with = ROOT } + } + country_event = elven_alliance.2 + } + } + else_if = { + limit = { is_elven_alliance_member = no } + elven_alliance_join = yes + } + } +} + +joint_focus = { + id = ea_memberexpansion + icon = GFX_goal_lth_memberexpansion + text_icon = joint_focus_style + relative_position_id = ea_theelvenalliance + x =-2 + y =1 + + joint_trigger = { + is_elven_alliance_member = yes + } + + cost = 5 + ai_will_do = { factor = 1 } + prerequisite = { focus = ea_theelvenalliance } + available = { + is_elven_alliance_member = yes + } + completion_reward_joint_originator = { + # Unlocks higher member expansion tiers + custom_effect_tooltip = ea_memberexpansion_tt + set_global_flag = ea_expansion_advanced_resolutions_unlocked + } +} + +joint_focus = { + id = ea_tradeagreements + icon = GFX_goal_lth_tradeagreements + text_icon = joint_focus_style + relative_position_id = ea_theelvenalliance + x =2 + y =1 + + joint_trigger = { + is_elven_alliance_member = yes + } + + cost = 5 + ai_will_do = { + factor = 5 + modifier = { + factor = 10 + elven_alliance_has_at_least_8_members = yes + } + } + prerequisite = { focus = ea_theelvenalliance } + available = { + is_elven_alliance_member = yes + } + completion_reward_joint_originator = { + # Unlocks trade resolutions + custom_effect_tooltip = ea_tradeagreements_tt + set_global_flag = ea_trade_resolutions_unlocked + + add_equipment_subsidy = { + cic = 1000 + equipment_type = infantry_equipment + seller_trigger = is_elven_alliance_member_no_tt + } + add_equipment_subsidy = { + cic = 1000 + equipment_type = infantry_equipment + seller_trigger = is_elven_alliance_member_no_tt + } + } + completion_reward_joint_member = { + add_equipment_subsidy = { + cic = 500 + equipment_type = artillery_equipment + seller_trigger = is_elven_alliance_member_no_tt + } + add_equipment_subsidy = { + cic = 500 + equipment_type = artillery_equipment + seller_trigger = is_elven_alliance_member_no_tt + } + } +} + +joint_focus = { + id = ea_coordinatedsanctions + icon = GFX_goal_lth_coordinatedsanctions + text_icon = joint_focus_style + relative_position_id = ea_theelvenalliance + x =2 + y =2 + + joint_trigger = { + is_elven_alliance_member = yes + } + + cost = 5 + ai_will_do = { + factor = 5 + modifier = { + factor = 10 + elven_alliance_has_at_least_8_members = yes + } + } + prerequisite = { focus = ea_tradeagreements } + available = { + is_elven_alliance_member = yes + elven_alliance_has_at_least_5_members = yes + } + completion_reward_joint_originator = { + # Unlock sanction decisions + custom_effect_tooltip = ea_coordinatedsanctions_tt + set_global_flag = ea_sanctions_unlocked + } +} + +joint_focus = { + id = ea_proposalsandresolutions + icon = GFX_goal_lth_proposalsandresolutions + text_icon = joint_focus_style + relative_position_id = ea_theelvenalliance + x =0 + y =2 + + joint_trigger = { + is_elven_alliance_member = yes + } + + cost = 5 + ai_will_do = { + factor = 5 + modifier = { + factor = 10 + elven_alliance_has_at_least_8_members = yes + } + } + prerequisite = { focus = ea_theelvenalliance } + available = { + is_elven_alliance_member = yes + } + completion_reward_joint_originator = { + # Unlock higher tier alliance resolutions + custom_effect_tooltip = ea_proposalsandresolutions_tt + custom_effect_tooltip = ea_reduce_recess_tt + set_global_flag = ea_alliance_advanced_resolutions_unlocked + + # Also makes recess take 25 days less + } +} + +joint_focus = { + id = ea_pathtopeace + icon = GFX_goal_lth_collectivedefenseclause + text_icon = joint_focus_style + relative_position_id = ea_theelvenalliance + x =-1 + y =3 + + joint_trigger = { + is_elven_alliance_member = yes + } + + cost = 5 + ai_will_do = { + factor = 5 + modifier = { + factor = 10 + elven_alliance_has_at_least_8_members = yes + } + } + prerequisite = { focus = ea_proposalsandresolutions } + available = { + is_elven_alliance_member = yes + } + completion_reward_joint_originator = { + # Unlock peace + custom_effect_tooltip = ea_pathtopeace_tt + set_global_flag = ea_peace_resolutions_unlocked + } +} + +joint_focus = { + id = ea_researchcooperation + icon = GFX_goal_lth_researchcooperation + text_icon = joint_focus_style + relative_position_id = ea_theelvenalliance + x =1 + y =3 + + joint_trigger = { + is_elven_alliance_member = yes + } + + cost = 5 + ai_will_do = { + factor = 5 + modifier = { + factor = 10 + elven_alliance_has_at_least_8_members = yes + } + } + prerequisite = { focus = ea_proposalsandresolutions } + available = { + is_elven_alliance_member = yes + } + completion_reward_joint_originator = { + # Unlocks research decision line + custom_effect_tooltip = ea_researchcooperation_tt + set_global_flag = ea_research_resolutions_unlocked + } +} + +joint_focus = { + id = ea_pooledknowledge + icon = GFX_goal_lth_researchcooperation + text_icon = joint_focus_style + relative_position_id = ea_theelvenalliance + x =1 + y =4 + + joint_trigger = { + is_elven_alliance_member = yes + } + + cost = 5 + ai_will_do = { + factor = 5 + modifier = { + factor = 10 + elven_alliance_has_at_least_8_members = yes + } + } + prerequisite = { focus = ea_researchcooperation } + available = { + is_elven_alliance_member = yes + elven_alliance_has_at_least_5_members = yes + } + completion_reward_joint_originator = { + # Unlocks high tier research decision line + custom_effect_tooltip = ea_pooledknowledge_tt + set_global_flag = ea_research_advanced_resolutions_unlocked + } +} + +joint_focus = { + id = ea_elvenharmony + icon = GFX_goal_lth_elvenharmony + text_icon = joint_focus_style + relative_position_id = ea_theelvenalliance + x =-1 + y =4 + + joint_trigger = { + is_elven_alliance_member = yes + } + + cost = 5 + ai_will_do = { + factor = 5 + modifier = { + factor = 10 + elven_alliance_has_at_least_8_members = yes + } + } + prerequisite = { focus = ea_pathtopeace } + available = { + is_elven_alliance_member = yes + elven_alliance_has_at_least_5_members = yes + } + completion_reward_joint_originator = { + # Unlock higher tier peace + custom_effect_tooltip = ea_elvenharmony_tt + set_global_flag = ea_peace_advanced_resolutions_unlocked + } +} + +joint_focus = { + id = ea_thecouncilofquendi + icon = GFX_goal_lth_thecouncilofquendi + text_icon = joint_focus_style + relative_position_id = ea_theelvenalliance + x =0 + y =5 + + joint_trigger = { + is_elven_alliance_member = yes + } + + cost = 5 + ai_will_do = { + factor = 5 + modifier = { + factor = 10 + elven_alliance_has_at_least_8_members = yes + } + } + prerequisite = { focus = ea_proposalsandresolutions } + available = { + is_elven_alliance_member = yes + elven_alliance_has_at_least_8_members = yes + } + completion_reward_joint_originator = { + custom_effect_tooltip = ea_thecouncilofquendi_tt + hidden_effect = { + # Start a vote on what type the alliance is going to be + every_country = { + limit = { is_elven_alliance_member = yes } + country_event = elven_alliance.3 + } + country_event = { id = elven_alliance.5 days = 30 } + } + } +} + +joint_focus = { + id = ea_hegemony + icon = GFX_goal_lth_hegemony + text_icon = joint_focus_style + relative_position_id = ea_theelvenalliance + x =-2 + y =6 + + joint_trigger = { + is_elven_alliance_member = yes + } + + cost = 5 + ai_will_do = { + factor = 5 + modifier = { + factor = 50 + ea_is_hegemony_leader = yes + } + } + prerequisite = { focus = ea_thecouncilofquendi } + mutually_exclusive = { focus = ea_internationalorganization } + mutually_exclusive = { focus = ea_martialalliance } + available = { + always = no + } + completion_reward_joint_originator = { + # Unlock hegemony line + ea_set_type_hegemony = yes + + custom_effect_tooltip = autocompleted_on_event_tt + } +} + +joint_focus = { + id = ea_executivevigour + icon = GFX_goal_lth_executivevigour + text_icon = joint_focus_style + relative_position_id = ea_theelvenalliance + x =-2 + y =7 + + joint_trigger = { + is_elven_alliance_member = yes + } + + cost = 5 + ai_will_do = { + factor = 5 + modifier = { + factor = 50 + ea_is_hegemony_leader = yes + } + } + prerequisite = { focus = ea_hegemony } + available = { + is_elven_alliance_member = yes + elven_alliance_has_at_least_10_members = yes + } + completion_reward_joint_originator = { + custom_effect_tooltip = ea_heg_3_tt + set_global_flag = ea_executivevigour_enabled + set_global_flag = ea_hegemony_advanced_resolutions_unlocked + } +} + + + +joint_focus = { + id = ea_martialalliance + icon = GFX_goal_lth_martialalliance + text_icon = joint_focus_style + relative_position_id = ea_theelvenalliance + x =0 + y =6 + + joint_trigger = { + is_elven_alliance_member = yes + } + + cost = 5 + ai_will_do = { factor = 5 } + prerequisite = { focus = ea_thecouncilofquendi } + mutually_exclusive = { focus = ea_hegemony } + mutually_exclusive = { focus = ea_internationalorganization } + available = { + always = no + } + completion_reward_joint_originator = { + # unlock martial + ea_set_type_martial = yes + + custom_effect_tooltip = autocompleted_on_event_tt + } +} + +joint_focus = { + id = ea_marchinunison + icon = GFX_goal_lth_marchinunison + text_icon = joint_focus_style + relative_position_id = ea_theelvenalliance + x =0 + y =7 + + joint_trigger = { + is_elven_alliance_member = yes + } + + cost = 5 + ai_will_do = { factor = 5 } + prerequisite = { focus = ea_martialalliance } + available = { + is_elven_alliance_member = yes + elven_alliance_has_at_least_10_members = yes + } + completion_reward_joint_originator = { + custom_effect_tooltip = ea_sharedtrainingprograms_tt + set_global_flag = ea_martial_advanced_resolutions_unlocked + } +} + +joint_focus = { + id = ea_internationalorganization + icon = GFX_goal_lth_unionofequals + text_icon = joint_focus_style + relative_position_id = ea_theelvenalliance + x =2 + y =6 + + joint_trigger = { + is_elven_alliance_member = yes + } + + cost = 5 + ai_will_do = { factor = 5 } + prerequisite = { focus = ea_thecouncilofquendi } + mutually_exclusive = { focus = ea_hegemony } + mutually_exclusive = { focus = ea_martialalliance } + available = { + always = no + } + completion_reward_joint_originator = { + ea_set_type_union = yes + + custom_effect_tooltip = autocompleted_on_event_tt + } +} + +joint_focus = { + id = ea_advanceddiplomacy + icon = GFX_goal_lth_theemissariesguild + text_icon = joint_focus_style + relative_position_id = ea_theelvenalliance + x =2 + y =7 + + joint_trigger = { + is_elven_alliance_member = yes + } + + cost = 5 + ai_will_do = { factor = 5 } + prerequisite = { focus = ea_internationalorganization } + available = { + is_elven_alliance_member = yes + elven_alliance_has_at_least_10_members = yes + } + completion_reward_joint_originator = { + custom_effect_tooltip = ea_advanceddiplomacy_tt + set_global_flag = ea_union_advanced_resolutions_unlocked + } +} \ No newline at end of file diff --git a/common/national_focus/entwood.txt b/common/national_focus/entwood.txt index 4e7c12533..14e11f64a 100644 --- a/common/national_focus/entwood.txt +++ b/common/national_focus/entwood.txt @@ -94,56 +94,68 @@ default = no focus = { id = soundslikeorcmischief icon = GFX_goal_support_unalligned - ai_will_do = { factor = 3 } + ai_will_do = { + factor = 3 + modifier = { factor = 0 is_going_unaligned = no } + } x =8 y =1 mutually_exclusive = { focus = menarenotorcs} prerequisite = { focus = teachingsoftheancients} cost = 10 available_if_capitulated = yes - completion_reward = { set_country_flag = path_going_unaligned add_ideas = generic_unaligned_intermediate } + completion_reward = { add_ideas = generic_unaligned_intermediate } } #Focus for Men are not Orcs focus = { id = menarenotorcs icon = GFX_goal_support_cooperative - ai_will_do = { factor = 3 } + ai_will_do = { + factor = 3 + modifier = { factor = 0 is_going_cooperative = no } + } x =10 y =1 mutually_exclusive = { focus = soundslikeorcmischief} prerequisite = { focus = teachingsoftheancients} cost = 10 available_if_capitulated = yes - completion_reward = { set_country_flag = path_going_cooperative add_ideas = generic_cooperative_intermediate } + completion_reward = { add_ideas = generic_cooperative_intermediate } } #Focus for Every Leaf an Ent focus = { id = everyleafanent icon = GFX_goal_support_revolutionary - ai_will_do = { factor = 3 } + ai_will_do = { + factor = 3 + modifier = { factor = 0 is_going_revolutionary = no } + } x =12 y =1 mutually_exclusive = { focus = treesarenotents} prerequisite = { focus = wisdomofthesaplings} cost = 10 available_if_capitulated = yes - completion_reward = { set_country_flag = path_going_revolutionary add_ideas = generic_revolutionary_intermediate } + completion_reward = { add_ideas = generic_revolutionary_intermediate } } #Focus for Trees are not Ents. focus = { id = treesarenotents icon = GFX_goal_support_belligerent - ai_will_do = { factor = 3 } + ai_will_do = { + factor = 3 + modifier = { factor = 0 is_going_belligerent = no } + } x =14 y =1 mutually_exclusive = { focus = everyleafanent} prerequisite = { focus = wisdomofthesaplings} cost = 10 available_if_capitulated = yes - completion_reward = { set_country_flag = path_going_belligerent add_ideas = generic_belligerent_intermediate } + completion_reward = { add_ideas = generic_belligerent_intermediate } } #Focus for On nobody's side diff --git a/common/national_focus/erebor.txt b/common/national_focus/erebor.txt index f4715f028..c4f5fb828 100644 --- a/common/national_focus/erebor.txt +++ b/common/national_focus/erebor.txt @@ -46,7 +46,7 @@ continuous_focus_position = { x = 50 y = 2000 } focus = { id = shareereborswealthwithdale icon = GFX_goal_generic_major_alliance - available = { 90 = { is_controlled_by = THIS } 94 = { is_controlled_by = DAL } } + available = { 90 = { is_controlled_by = ROOT } 94 = { is_controlled_by = DAL } } ai_will_do = { factor = 4 } x =0 y =3 @@ -85,7 +85,7 @@ continuous_focus_position = { x = 50 y = 2000 } id = growlaketownsmarket icon = GFX_goal_generic_trade ai_will_do = { factor = 6 } - available = { 90 = { is_controlled_by = THIS } } + available = { 90 = { is_controlled_by = ROOT } } x =0 y =4 mutually_exclusive = { } @@ -174,7 +174,10 @@ continuous_focus_position = { x = 50 y = 2000 } focus = { id = powertothemonarchs icon = GFX_goal_tfv_strengthen_commonwealth_ties - ai_will_do = { factor = 20 } + ai_will_do = { + factor = 20 + modifier = { factor = 0 is_going_cooperative = no } + } x =5 y =3 mutually_exclusive = { focus = powertotheminers } @@ -182,9 +185,13 @@ continuous_focus_position = { x = 50 y = 2000 } cost = 10 available_if_capitulated = yes completion_reward = { - set_country_flag = path_going_cooperative add_ideas = generic_cooperative add_ideas = generic_unaligned + + mio:generic_dwarves_knights_guild = { + add_mio_size = 1 + add_mio_funds_gain_factor = 0.1 + } } } @@ -218,7 +225,14 @@ continuous_focus_position = { x = 50 y = 2000 } prerequisite = { focus = politicaleffort} cost = 10 available_if_capitulated = yes - completion_reward = { add_ideas = generic_revolutionary_intermediate add_ideas = generic_belligerent_intermediate } + completion_reward = { + add_ideas = generic_revolutionary_intermediate add_ideas = generic_belligerent_intermediate + + mio:generic_dwarves_miners_guild = { + add_mio_size = 1 + add_mio_funds_gain_factor = 0.1 + } + } } #Focus for Seek an Alliance @@ -318,7 +332,7 @@ continuous_focus_position = { x = 50 y = 2000 } id = repoentheminesoferebor icon = GFX_goal_generic_construction2 ai_will_do = { factor = 10 } - available = { 90 = { is_controlled_by = THIS } } + available = { 90 = { is_controlled_by = ROOT } } x =16 y =1 mutually_exclusive = { } @@ -384,7 +398,7 @@ continuous_focus_position = { x = 50 y = 2000 } id = nomoredragons icon = GFX_goal_generic_army_artillery2 ai_will_do = { factor = 3 } - available = { 90 = { is_controlled_by = THIS } } + available = { 90 = { is_controlled_by = ROOT } } x =24 y =2 mutually_exclusive = { } @@ -416,7 +430,7 @@ continuous_focus_position = { x = 50 y = 2000 } id = buildupdefenses icon = GFX_goal_generic_construct_military ai_will_do = { factor = 4 } - available = { 92 = { is_controlled_by = THIS } 93 = { is_controlled_by = THIS } 91 = { is_controlled_by = THIS } 95 = { is_controlled_by = THIS } } + available = { 92 = { is_controlled_by = ROOT } 93 = { is_controlled_by = ROOT } 91 = { is_controlled_by = ROOT } 95 = { is_controlled_by = ROOT } } x =11 y =2 mutually_exclusive = { focus = strikepreemptively } @@ -451,7 +465,7 @@ continuous_focus_position = { x = 50 y = 2000 } id = expandtheeasternindustry icon = GFX_goal_generic_construct_civ_factory ai_will_do = { factor = 7 } - available = { 92 = { is_controlled_by = THIS } 93 = { is_controlled_by = THIS } 95 = { is_controlled_by = THIS } } + available = { 92 = { is_controlled_by = ROOT } 93 = { is_controlled_by = ROOT } 95 = { is_controlled_by = ROOT } } x =13 y =2 mutually_exclusive = { } @@ -644,7 +658,7 @@ continuous_focus_position = { x = 50 y = 2000 } id = improvedproductionline icon = GFX_goal_generic_construct_mil_factory ai_will_do = { factor = 6 } - available = { 89 = { is_controlled_by = THIS } 90 = { is_controlled_by = THIS } 91 = { is_controlled_by = THIS } } + available = { 89 = { is_controlled_by = ROOT } 90 = { is_controlled_by = ROOT } 91 = { is_controlled_by = ROOT } } x =10 y =4 mutually_exclusive = { } @@ -699,7 +713,7 @@ continuous_focus_position = { x = 50 y = 2000 } id = railnetwork icon = GFX_goal_generic_construct_infrastructure ai_will_do = { factor = 3 } - available = { 88 = { is_controlled_by = THIS } 89 = { is_controlled_by = THIS } 90 = { is_controlled_by = THIS } 91 = { is_controlled_by = THIS } 92 = { is_controlled_by = THIS } 93 = { is_controlled_by = THIS } 95 = { is_controlled_by = THIS } } + available = { 88 = { is_controlled_by = ROOT } 89 = { is_controlled_by = ROOT } 90 = { is_controlled_by = ROOT } 91 = { is_controlled_by = ROOT } 92 = { is_controlled_by = ROOT } 93 = { is_controlled_by = ROOT } 95 = { is_controlled_by = ROOT } } x =13 y =3 mutually_exclusive = { } @@ -722,7 +736,7 @@ continuous_focus_position = { x = 50 y = 2000 } id = prioritizeironore icon = GFX_goal_generic_construction2 ai_will_do = { factor = 5 } - available = { 90 = { is_controlled_by = THIS } } + available = { 90 = { is_controlled_by = ROOT } } x =15 y =3 mutually_exclusive = { focus = prioritzierareminerals } @@ -741,7 +755,7 @@ continuous_focus_position = { x = 50 y = 2000 } id = prioritzierareminerals icon = GFX_goal_generic_construction2 ai_will_do = { factor = 5 } - available = { 90 = { is_controlled_by = THIS } } + available = { 90 = { is_controlled_by = ROOT } } x =17 y =3 mutually_exclusive = { focus = prioritizeironore } @@ -843,7 +857,7 @@ continuous_focus_position = { x = 50 y = 2000 } id = roadtothenorth icon = GFX_goal_generic_construct_infrastructure ai_will_do = { factor = 5 } - available = { 89 = { is_controlled_by = THIS } 88 = { is_controlled_by = THIS } } + available = { 89 = { is_controlled_by = ROOT } 88 = { is_controlled_by = ROOT } } x =12 y =4 mutually_exclusive = { } @@ -861,7 +875,7 @@ continuous_focus_position = { x = 50 y = 2000 } id = roadtotheeast icon = GFX_goal_generic_construct_infrastructure ai_will_do = { factor = 5 } - available = { 91 = { is_controlled_by = THIS } 95 = { is_controlled_by = THIS } } + available = { 91 = { is_controlled_by = ROOT } 95 = { is_controlled_by = ROOT } } x =14 y =4 mutually_exclusive = { } @@ -879,7 +893,7 @@ continuous_focus_position = { x = 50 y = 2000 } id = damagerepair icon = GFX_goal_generic_construct_infrastructure ai_will_do = { factor = 3 } - available = { 90 = { is_controlled_by = THIS } } + available = { 90 = { is_controlled_by = ROOT } } x =16 y =4 mutually_exclusive = { } @@ -952,7 +966,10 @@ continuous_focus_position = { x = 50 y = 2000 } focus = { id = axesandswords icon = GFX_goal_support_belligerent - ai_will_do = { factor = 10 } + ai_will_do = { + factor = 10 + modifier = { factor = 0 is_going_belligerent = no } + } available = { belligerent > 0.50 } x =6 y =5 @@ -963,7 +980,6 @@ continuous_focus_position = { x = 50 y = 2000 } cost = 10 available_if_capitulated = yes completion_reward = { - set_country_flag = path_going_belligerent set_politics = { ruling_party = belligerent elections_allowed = no } remove_ideas = generic_revolutionary_intermediate ERE_dain = { retire = yes } @@ -974,7 +990,10 @@ continuous_focus_position = { x = 50 y = 2000 } focus = { id = hammersandshovels icon = GFX_goal_support_revolutionary - ai_will_do = { factor = 10 } + ai_will_do = { + factor = 10 + modifier = { factor = 0 is_going_revolutionary = no } + } available = { revolutionary > 0.50 } x =8 y =5 @@ -985,7 +1004,6 @@ continuous_focus_position = { x = 50 y = 2000 } cost = 10 available_if_capitulated = yes completion_reward = { - set_country_flag = path_going_revolutionary set_politics = { ruling_party = revolutionary elections_allowed = no } remove_ideas = generic_belligerent_intermediate ERE_dain = { retire = yes } diff --git a/common/national_focus/generic.txt b/common/national_focus/generic.txt index e7ae49f2c..bed315972 100644 --- a/common/national_focus/generic.txt +++ b/common/national_focus/generic.txt @@ -9,892 +9,7 @@ focus_tree = { default = yes reset_on_civilwar = no -### POLITICAL BRANCH - - focus = { - id = political_effort - icon = GFX_focus_hol_the_foundations_of_defense #GFX_goal_generic_demand_territory - x = 22 - y = 0 - cost = 10 - - available_if_capitulated = yes - - ai_will_do = { - factor = 5 - } - - completion_reward = { - add_political_power = 120 - } - } - - focus = { - id = collectivist_ethos - icon = GFX_goal_generic_national_unity #icon = GFX_goal_tripartite_pact - prerequisite = { focus = political_effort } - mutually_exclusive = { focus = liberty_ethos} - relative_position_id = political_effort - x = -1 - y = 1 - cost = 10 - - available_if_capitulated = yes - - - ai_will_do = { - factor = 5 - modifier = { - factor = 0 #Making sure Dagorlad doesnt go down this path - original_tag = DAG - } - modifier = { - factor = 1 - is_orcs = yes - } - } - - completion_reward = { - add_ideas = collectivist_ethos_focus - } - } - -### Fascist Path - - focus = { - id = nationalism_focus - icon = GFX_goal_support_belligerent #icon = GFX_goal_tripartite_pact - prerequisite = { focus = collectivist_ethos } - mutually_exclusive = { focus = internationalism_focus } - relative_position_id = collectivist_ethos - x = -2 - y = 1 - cost = 10 - - available_if_capitulated = yes - - - ai_will_do = { - factor = 5 - modifier = { - factor = 2 - any_neighbor_country = { - is_major = yes - has_government = belligerent - } - } - modifier = { - factor = 0 - AND = { - is_historical_focus_on = yes - NOT = { has_government = belligerent } - } - } - } - - completion_reward = { - add_ideas = nationalism - set_country_flag = path_going_belligerent - } - } - - focus = { - id = militarism - icon = GFX_goal_generic_political_pressure - prerequisite = { focus = nationalism_focus } - relative_position_id = nationalism_focus - x = 0 - y = 1 - cost = 10 - - available = { - has_government = belligerent - } - - available_if_capitulated = yes - - completion_reward = { - if = { - limit = { has_idea = unaligned_idea } - remove_ideas = unaligned_idea - } - add_ideas = militarism_focus - army_experience = 20 - set_rule = { can_send_volunteers = yes } - } - } - - focus = { - id = military_youth - icon = GFX_goal_generic_more_territorial_claims - prerequisite = { focus = militarism } - relative_position_id = militarism - x = 0 - y = 1 - cost = 10 - - available_if_capitulated = yes - - completion_reward = { - add_ideas = military_youth_focus - if = { - limit = { has_government = belligerent } - add_popularity = { - ideology = belligerent - popularity = 0.2 - } - } - if = { - limit = { has_government = revolutionary } - add_popularity = { - ideology = revolutionary - popularity = 0.2 - } - } - } - } - - focus = { - id = paramilitarism - icon = GFX_goal_generic_military_sphere - prerequisite = { focus = military_youth } - relative_position_id = military_youth - x = 0 - y = 1 - cost = 10 - - available_if_capitulated = yes - - completion_reward = { - add_ideas = paramilitarism_focus - } - } - -### Communist Path - - focus = { - id = internationalism_focus - icon = GFX_goal_support_revolutionary #icon = GFX_goal_tripartite_pact - prerequisite = { focus = collectivist_ethos } - mutually_exclusive = { focus = nationalism_focus } - relative_position_id = collectivist_ethos - x = 0 - y = 1 - cost = 10 - - available_if_capitulated = yes - - - ai_will_do = { - factor = 5 - modifier = { - factor = 2 - any_neighbor_country = { - is_major = yes - has_government = revolutionary - } - } - modifier = { - factor = 0 - AND = { - is_historical_focus_on = yes - NOT = { has_government = revolutionary } - } - } - } - - completion_reward = { - add_ideas = internationalism - set_country_flag = path_going_revolutionary - } - } - - focus = { - id = political_correctness - icon = GFX_goal_generic_dangerous_deal - prerequisite = { focus = internationalism_focus } - relative_position_id = internationalism_focus - x = 0 - y = 1 - cost = 10 - - available = { - has_government = revolutionary - } - - available_if_capitulated = yes - - completion_reward = { - if = { - limit = { has_idea = unaligned_idea } - remove_ideas = unaligned_idea - } - add_political_power = 200 - add_ideas = idea_political_correctness - } - } - - focus = { - id = indoctrination_focus - icon = GFX_goal_generic_propaganda - prerequisite = { focus = political_correctness } - relative_position_id = political_correctness - x = 0 - y = 1 - cost = 10 - - available_if_capitulated = yes - - completion_reward = { - add_ideas = indoctrination_focus - add_political_power = 150 - } - } - - focus = { - id = political_commissars - icon = GFX_goal_generic_forceful_treaty - prerequisite = { focus = indoctrination_focus } - relative_position_id = indoctrination_focus - x = 0 - y = 1 - cost = 10 - - available_if_capitulated = yes - - completion_reward = { - add_ideas = political_commissars_focus - if = { - limit = { has_government = belligerent } - add_popularity = { - ideology = belligerent - popularity = 0.2 - } - } - if = { - limit = { has_government = revolutionary } - add_popularity = { - ideology = revolutionary - popularity = 0.2 - } - } - add_political_power = 200 - } - } - - focus = { - id = ideological_fanaticism - icon = GFX_goal_generic_demand_territory - prerequisite = { focus = paramilitarism focus = political_commissars } - relative_position_id = paramilitarism - x = 1 - y = 1 - cost = 10 - - available_if_capitulated = yes - - completion_reward = { - add_ideas = ideological_fanaticism_focus - set_rule = { - can_create_factions = yes - } - hidden_effect = { - set_rule = { can_use_kamikaze_pilots = yes } - } - custom_effect_tooltip = kamikaze_focus_tooltip - } - } - -### End of Fascist / Communist Paths - - focus = { - id = liberty_ethos - icon = GFX_goal_support_cooperative - prerequisite = { focus = political_effort } - mutually_exclusive = { focus = collectivist_ethos } - relative_position_id = political_effort - x = 1 - y = 1 - cost = 10 - - available_if_capitulated = yes - - ai_will_do = { - factor = 5 - modifier = { - factor = 0 #Making sure Dagorlad doesnt go down this path - original_tag = DAG - } - } - - completion_reward = { - add_ideas = generic_cooperative - add_ideas = liberty_ethos_focus - hidden_effect = { - random_list = { - 75 = { - set_country_flag = path_going_cooperative - } - 25 = { - set_country_flag = path_going_unaligned - } - } - } - } - } - -### Neutrality Path - - focus = { - id = generic_unaligned_focus - icon = GFX_goal_support_unalligned - prerequisite = { focus = generic_pick_a_path } - mutually_exclusive = { focus = generic_draw_closer_to_gondor focus = generic_draw_closer_to_erebor focus = generic_draw_closer_to_mordor focus = interventionism_focus } - relative_position_id = liberty_ethos - ai_will_do = { - factor = 15 - modifier = { - add = 50 - original_tag = LIN - } - } - x = 2 - y = 1 - cost = 10 - - available_if_capitulated = yes - - completion_reward = { - if = { - limit = { NOT = { has_idea = unaligned_idea } } - add_ideas = unaligned_idea - - } - add_political_power = 150 - } - } - - focus = { - id = deterrence - icon = GFX_goal_generic_defence - - prerequisite = { focus = generic_unaligned_focus } - relative_position_id = generic_unaligned_focus - x = 0 - y = 1 - - cost = 10 - - ai_will_do = { - factor = 5 - } - - available_if_capitulated = yes - - completion_reward = { - add_ideas = deterrence - hidden_effect = { - every_owned_state = { - limit = { - is_controlled_by = ROOT - any_neighbor_state = { - NOT = { is_owned_and_controlled_by = ROOT } - } - } - add_building_construction = { - type = bunker - level = 3 - instant_build = yes - province = { - all_provinces = yes - limit_to_border = yes - } - } - #ADDS TO CONSTRUCTION QUEUE, PARTICULARLY USEFUL FOR AI - add_building_construction = { - type = bunker - level = 4 - instant_build = no - province = { - all_provinces = yes - limit_to_border = yes - } - } - } #End Foritify Borders bloc - every_owned_state = { - limit = { - is_controlled_by = ROOT - is_coastal = yes - } - add_building_construction = { - type = coastal_bunker - level = 3 - instant_build = yes - province = { - all_provinces = yes - limit_to_naval_base = yes - } - } - #ADDS TO CONSTRUCTION QUEUE, PARTICULARLY USEFUL FOR AI - add_building_construction = { - type = coastal_bunker - level = 4 - instant_build = no - province = { - all_provinces = yes - limit_to_naval_base = yes - } - } - } #End Fortify Naval Bases bloc - every_owned_state = { - limit = { - is_controlled_by = ROOT - is_coastal = yes - } - add_building_construction = { - type = coastal_bunker - level = 3 - instant_build = yes - province = { - all_provinces = yes - limit_to_coastal = yes - } - } - #ADDS TO CONSTRUCTION QUEUE, PARTICULARLY USEFUL FOR AI - add_building_construction = { - type = coastal_bunker - level = 4 - instant_build = no - province = { - all_provinces = yes - limit_to_coastal = yes - } - } - } #End Fortify Coasts bloc - } # End Hidden Effects Bloc - } - } - -### Democratic / Intervention Path - - focus = { - id = interventionism_focus - icon = GFX_goal_generic_political_pressure - prerequisite = { focus = liberty_ethos } - mutually_exclusive = { focus = generic_unaligned_focus } - relative_position_id = liberty_ethos - x = 0 - y = 1 - cost = 10 - available_if_capitulated = yes - - available = { - OR = { - has_government = cooperative - has_government = unaligned - } - } - - ai_will_do = { - factor = 2 - modifier = { - factor = 0 - has_idea = unaligned_idea - } - } - - completion_reward = { - if = { - limit = { has_idea = unaligned_idea } - remove_ideas = unaligned_idea - } - set_rule = { can_send_volunteers = yes } - add_political_power = 150 - } - } - - focus = { - id = volunteer_corps - icon = GFX_goal_generic_allies_build_infantry - prerequisite = { focus = interventionism_focus } - relative_position_id = interventionism_focus - x = 0 - y = 1 - cost = 10 - - available_if_capitulated = yes - - completion_reward = { - add_ideas = volunteer_corps_focus - } - } - - focus = { - id = foreign_expeditions - icon = GFX_goal_generic_more_territorial_claims - prerequisite = { focus = volunteer_corps } - relative_position_id = volunteer_corps - x = 0 - y = 1 - cost = 10 - - available_if_capitulated = yes - - completion_reward = { - add_ideas = foreign_expeditions_focus - } - } - - focus = { - id = why_we_fight - icon = GFX_goal_generic_propaganda - prerequisite = { focus = foreign_expeditions focus = deterrence } - available = { - OR = { - threat > 0.75 - has_defensive_war = yes - } - } - - continue_if_invalid = yes - relative_position_id = deterrence - x = 0 - y = 2 - cost = 10 - - available_if_capitulated = yes - - completion_reward = { - add_ideas = why_we_fight_focus - custom_effect_tooltip = why_we_fight_effect - hidden_effect = { - if = { - limit = { NOT = { has_idea = unaligned_idea } } - set_rule = { can_create_factions = yes } - } - } - } - } - - -### End Neutrality / Democratic Path - - focus = { - id = technology_sharing - icon = GFX_goal_generic_scientific_exchange - prerequisite = { focus = ideological_fanaticism focus = why_we_fight } - available = { - has_war = yes - is_in_faction = yes - OR = { - num_of_factories > 50 - any_other_country = { - is_in_faction_with = ROOT - num_of_factories > 50 - } - } - } - relative_position_id = ideological_fanaticism - x = 2 - y = 1 - cost = 10 - - available_if_capitulated = yes - - completion_reward = { - if = { - limit = { - original_research_slots < 3 - } - add_research_slot = 1 - } - if = { - limit = { - original_research_slots > 2 - } - add_tech_bonus = { - name = electronics_bonus - bonus = 0.5 - uses = 1 - category = lotr_knowledge - } - add_tech_bonus = { - name = industrial_bonus - bonus = 0.5 - uses = 1 - category = lotr_labour - } - add_tech_bonus = { - name = infantry_weapons_bonus - bonus = 0.5 - uses = 1 - category = lotr_infantry - } - } - } - } - -### Political Adjustments - - focus = { - id = generic_pick_a_path - icon = GFX_goal_generic_demand_territory - prerequisite = { focus = political_effort } - relative_position_id = political_effort - x = 6 - y = 1 - cost = 5 - - ai_will_do = { - base = 0 - modifier = { - add = 10 - OR = { - has_completed_focus = collectivist_ethos - has_completed_focus = liberty_ethos - } - } - } - - available_if_capitulated = yes - - completion_reward = { - add_political_power = 150 - } - } - -#Focus for Draw closer to Erebor - focus = { - id = generic_draw_closer_to_erebor - icon = GFX_goal_army_dwarves - available = { is_in_faction = no ERE = { is_faction_leader = yes } } - ai_will_do = { - factor = 1 - modifier = { - factor = 0 #Making sure Dagorlad doesnt go down this path - original_tag = DAG - } - } - relative_position_id = generic_pick_a_path - x = -1 - y = 1 - mutually_exclusive = { focus = generic_draw_closer_to_gondor focus = generic_unaligned_focus focus = generic_draw_closer_to_mordor } - prerequisite = { focus = generic_pick_a_path} - cost = 5 - available_if_capitulated = yes - completion_reward = { - add_opinion_modifier = { target = ERE modifier = large_increase } - ERE = { add_opinion_modifier = { target = ROOT modifier = large_increase } } - } -} - -#Focus for Unite with Erebor -focus = { - id = generic_unite_with_erebor - icon = GFX_goal_erebor - ai_will_do = { factor = 3 } - available = { is_in_faction = no ERE = { is_faction_leader = yes } is_subject = no } - relative_position_id = generic_draw_closer_to_erebor - x =0 - y =1 - mutually_exclusive = { } - prerequisite = { focus = generic_draw_closer_to_erebor} - cost = 5 - available_if_capitulated = yes - completion_reward = { ERE = { country_event = { id = erebor.6 } } } -} - -focus = { - id = generic_learn_from_the_dwarves - icon = GFX_goal_generic_air_production - ai_will_do = { factor = 4 } - available = { is_in_faction_with = ERE } - relative_position_id = generic_unite_with_erebor - x = 0 - y = 1 - prerequisite = { focus = generic_unite_with_erebor} - cost = 10 - available_if_capitulated = yes - completion_reward = { - add_tech_bonus = { - name = special_bonus - bonus = 0.5 - uses = 2 - category = lotr_labour_metalworking - } - add_tech_bonus = { - name = special_bonus - bonus = 1 - uses = 1 - category = lotr_labour_construction_industry - } - } -} - -#Focus for Draw closer to Gondor - focus = { - id = generic_draw_closer_to_gondor - icon = GFX_goal_generic_intelligence_exchange - relative_position_id = generic_pick_a_path - x =1 - y =1 - ai_will_do = { - factor = 1 - modifier = { - factor = 0 #Making sure Dagorlad doesnt go down this path - original_tag = DAG - } - } - mutually_exclusive = { focus = generic_draw_closer_to_erebor focus = generic_unaligned_focus focus = generic_draw_closer_to_mordor } - prerequisite = { focus = generic_pick_a_path } - available = { has_government = cooperative is_in_faction = no GON = { is_faction_leader = yes has_government = cooperative } } - cost = 5 - available_if_capitulated = yes - completion_reward = { - add_opinion_modifier = { target = GON modifier = large_increase } - GON = { add_opinion_modifier = { target = ROOT modifier = large_increase } } - } -} - -#Focus for Unite with Gondor - focus = { - id = generic_unite_with_gondor - icon = GFX_goal_gondor - ai_will_do = { factor = 5 } - available = { - is_in_faction = no - GON = { is_faction_leader = yes } - threat > 0.35 - is_subject = no - } - relative_position_id = generic_draw_closer_to_gondor - x = 0 - y = 1 - prerequisite = { focus = generic_draw_closer_to_gondor} - cost = 5 - available_if_capitulated = yes - completion_reward = { - GON = { - country_event = { - id = gondor.7 - } - } - } - } - - focus = { - id = generic_gondor_research_sharing - icon = GFX_goal_generic_gondor_research - ai_will_do = { factor = 5 } - available = { - is_in_faction_with = GON - } - relative_position_id = generic_unite_with_gondor - x = 0 - y = 1 - prerequisite = { focus = generic_unite_with_gondor} - cost = 10 - available_if_capitulated = yes - completion_reward = { - GON = { - country_event = { - id = gondor.8 - } - } - } - } - - #Focus for Draw closer to Mordor - focus = { - id = generic_draw_closer_to_mordor - icon = GFX_goal_mordor - relative_position_id = generic_pick_a_path - x = 3 - y = 1 - ai_will_do = { - factor = 1 - modifier = { - factor = 0 #Making sure Dagorlad doesnt go down this path - original_tag = DAG - } - } - bypass = { - MOR = { - NOT = { - has_government = belligerent - } - } - } - mutually_exclusive = { focus = generic_draw_closer_to_erebor focus = generic_unaligned_focus focus = generic_draw_closer_to_gondor} - prerequisite = { focus = generic_pick_a_path } - available = { has_government = belligerent is_in_faction = no MOR = { is_faction_leader = yes has_government = belligerent } } - cost = 5 - available_if_capitulated = yes - completion_reward = { - add_opinion_modifier = { target = MOR modifier = large_increase } - MOR = { add_opinion_modifier = { target = ROOT modifier = large_increase } } - } -} - -focus = { - id = generic_honor_morgoth - icon = GFX_servant_of_melkor - x = 0 - y = 1 - relative_position_id = generic_draw_closer_to_mordor - ai_will_do = { factor = 15 } - cost = 10 - prerequisite = { focus = generic_draw_closer_to_mordor } - search_filters = { FOCUS_FILTER_STABILITY FOCUS_FILTER_POLITICAL FOCUS_FILTER_WAR_SUPPORT} - available = { has_government = belligerent } - completion_reward = { - add_ideas = MOR_servant_morgoth - } -} - - #Focus for Unite with Sauron -focus = { - id = generic_unite_with_mordor - icon = GFX_goal_sauron_eye - ai_will_do = { - factor = 4 - modifier = { - factor = 0 - date < 3021.1.1 - } - } - - available = { - has_government = belligerent - MOR = { - has_government = belligerent - is_faction_leader = yes - } - threat > 0.25 - is_subject = no - } - bypass = { - any_country = { - original_tag = MOR - has_government = belligerent - is_faction_leader = yes - is_in_faction_with = ROOT - } - } - relative_position_id = generic_honor_morgoth - x = 0 - y = 1 - prerequisite = { focus = generic_honor_morgoth } - cost = 5 - available_if_capitulated = yes - completion_reward = { - MOR = { - country_event = { - id = mordor.52 - } - } - } -} +shared_focus = political_effort shared_focus = army_effort shared_focus = aviation_effort shared_focus = naval_effort diff --git a/common/national_focus/gondor.txt b/common/national_focus/gondor.txt index 3bc2122ee..9ad8e2934 100644 --- a/common/national_focus/gondor.txt +++ b/common/national_focus/gondor.txt @@ -1,1540 +1,3192 @@ focus_tree = { -id = 'gondor' +id = gondor country = { factor=0 modifier = { add = 10 - tag = GON + original_tag = GON } } default = no -continuous_focus_position = { x = 50 y = 2000 } +continuous_focus_position = { x = 50 y = 1700 } #Custom focuses start here -#Focus for Fate of Gondor - focus = { - id = thefateofgondor - icon = GFX_goal_gondor - ai_will_do = { factor = 100 } - x =5 - y =0 - mutually_exclusive = { } - prerequisite = { } - cost = 10 + + focus = { + id = GON_delegitimize_aragorns_claim + icon = GFX_goal_support_unalligned + ai_will_do = { factor = 3 } + x = 14 + y = 0 + mutually_exclusive = { focus = GON_honor_isildurs_legacy } + cost = 10 available_if_capitulated = yes - completion_reward = { add_political_power = 100 } -} + search_filters = { FOCUS_FILTER_POLITICAL } + completion_reward = { + add_timed_idea = { days = 365 idea = generic_unaligned } + } + } -#Focus for Send Faramir with the Fellowship - focus = { - id = sendfaramirwiththefellowship - icon = GFX_goal_faramir - ai_will_do = { factor = 100 } - available = { has_global_flag = fs_gondor_faramir } - x =0 - y =1 - mutually_exclusive = { focus = sendboromirwiththefellowship } - prerequisite = { focus = thefateofgondor} - cost = 0 - available_if_capitulated = yes + focus = { + id = GON_change_the_law + icon = GFX_goal_generic_forceful_treaty + ai_will_do = { factor = 3 } + prerequisite = { focus = GON_delegitimize_aragorns_claim } + relative_position_id = GON_delegitimize_aragorns_claim + x = -1 + y = 1 + cost = 10 + search_filters = { FOCUS_FILTER_POLITICAL } completion_reward = { - custom_effect_tooltip = MOR_event_triggert_focus + add_stability = -0.1 + add_political_power = 100 + if = { + limit = { + has_idea = weak_centralization + } + swap_ideas = { + remove_idea = weak_centralization + add_idea = moderate_centralization + } + } + else_if = { + limit = { + has_idea = moderate_centralization + } + swap_ideas = { + remove_idea = moderate_centralization + add_idea = strong_centralization + } + } + } - } + } - #Focus for Send Boromir with the Fellowship - focus = { - id = sendboromirwiththefellowship - icon = GFX_goal_boromir - ai_will_do = { factor = 100 } - available = { has_global_flag = fs_gondor_boromir } - x =3 - y =1 - mutually_exclusive = { focus = sendfaramirwiththefellowship} - prerequisite = { focus = thefateofgondor} - cost = 0 - available_if_capitulated = yes + focus = { + id = GON_purge_the_crown_loyalists + icon = GFX_goal_generic_political_pressure + ai_will_do = { factor = 3 } + prerequisite = { focus = GON_delegitimize_aragorns_claim } + relative_position_id = GON_delegitimize_aragorns_claim + x = 1 + y = 1 + cost = 10 + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_STABILITY } completion_reward = { - custom_effect_tooltip = MOR_event_triggert_focus + add_stability = -0.1 + add_popularity = { + ideology = unaligned + popularity = 0.05 + } + add_popularity = { + ideology = revolutionary + popularity = 0.05 + } + add_popularity = { + ideology = belligerent + popularity = 0.05 + } + if = { + limit = { denethor_is_leader = yes } + denethor_gets_less_paranoid = yes + } } - } - -#Focus for Prepare for War with Mordor - focus = { - id = prepareforwarwithmordor - icon = GFX_goal_mordor - ai_will_do = { factor = 15 } - x =12 - y =1 - mutually_exclusive = { focus = helprohandealwithisengard} - prerequisite = { focus = thefateofgondor} - cost = 10 - available_if_capitulated = yes - completion_reward = { army_experience = 25 } - } + } - #Focus for Help Rohan deal with Isengard - focus = { - id = helprohandealwithisengard - icon = GFX_goal_rohan - ai_will_do = { factor = 4 } - x =14 - y =1 - mutually_exclusive = { focus = prepareforwarwithmordor} - prerequisite = { focus = thefateofgondor} - cost = 10 - available_if_capitulated = yes - completion_reward = { add_political_power = 50 } - } - - #Focus for Improve Rohanian Relations - focus = { - id = improverohanianrelations + focus = { + id = GON_enforce_militair_loyalty icon = GFX_goal_generic_intelligence_exchange - ai_will_do = { factor = 5 } - x =14 - y =2 - prerequisite = { focus = helprohandealwithisengard} - cost = 10 - available_if_capitulated = yes + ai_will_do = { factor = 3 } + prerequisite = { focus = GON_purge_the_crown_loyalists } + prerequisite = { focus = GON_change_the_law } + relative_position_id = GON_purge_the_crown_loyalists + x = -1 + y = 1 + cost = 10 + search_filters = { FOCUS_FILTER_ARMY_XP } completion_reward = { - ROH = { add_opinion_modifier = { target = GON modifier = large_increase } } - GON = { add_opinion_modifier = { target = ROH modifier = large_increase } } + army_experience = 25 + if = { + limit = { denethor_is_leader = yes } + denethor_gets_less_paranoid = yes + } } - } + } - #Focus for Provide Rohan with Resources - focus = { - id = providerohanwithresources - icon = GFX_goal_generic_military_sphere - ai_will_do = { - factor = 0 - modifier = { - add = 7 - ROH = { has_war = yes } - } + focus = { + id = GON_gondor_propaganda + icon = GFX_goal_gon_dam_propaganda + ai_will_do = { factor = 3 } + prerequisite = { focus = GON_enforce_militair_loyalty } + relative_position_id = GON_enforce_militair_loyalty + available = { + DAM = { is_subject_of = ROOT } } - x =14 - y =3 - prerequisite = { focus = improverohanianrelations} - cost = 10 - available_if_capitulated = yes + x = -2 + y = 1 + cost = 5 + search_filters = { FOCUS_FILTER_POLITICAL } completion_reward = { - send_equipment = { target = ROH type = infantry_equipment amount = 10000 } - add_resource = { type = steel amount = -25 state = 21 } - add_resource = { type = steel amount = 50 state = 25 } + DAM = { + add_popularity = { + ideology = unaligned + popularity = 0.075 + } + } + custom_effect_tooltip = "Lowers the change of Dol Amroth leaving Gondor" + hidden_effect = { + DAM = { + set_country_flag = denethor_supporters + } + } } - } + } - #Focus for Allow Rohan to hire Ithilian soldiers - focus = { - id = allowrohantohireithiliansoldiers - icon = GFX_focus_generic_little_entente - ai_will_do = { - factor = 1 - modifier = { - add = 7 - ROH = { has_war = yes } - } + focus = { + id = GON_install_loyal_government_DAM + icon = GFX_goal_dol_amroth + ai_will_do = { factor = 3 } + prerequisite = { focus = GON_gondor_propaganda } + relative_position_id = GON_gondor_propaganda + available = { + DAM = { is_subject_of = ROOT } } - x =14 - y =4 - prerequisite = { focus = providerohanwithresources} - cost = 10 - available_if_capitulated = yes + x = 0 + y = 1 + cost = 10 + search_filters = { FOCUS_FILTER_POLITICAL } completion_reward = { - GON = { add_manpower = -225000 } - ROH = { add_manpower = 225000 } + DAM = { + add_stability = -0.1 + retire_country_leader = yes + add_country_leader_role = { + character = DAM_amrothos + promote_leader = yes + country_leader = { + ideology = isolationist + expire = "1980.1.1" + traits = { } + } + } + add_popularity = { + ideology = unaligned + popularity = 0.1 + } + } + custom_effect_tooltip = "Ensures Dol Amroth not leaving Gondor" } - } + } - #Focus for Honor Isildur's legacy - focus = { - id = honorisildurslegacy - icon = GFX_focus_hun_elect_a_king - ai_will_do = { factor = 15 } - x =6 - y =1 - mutually_exclusive = { focus = delegitimizearagornsclaim } - prerequisite = { focus = thefateofgondor} - bypass = { - has_government = cooperative + focus = { + id = GON_publish_statement + icon = GFX_goal_generic_propaganda + ai_will_do = { factor = 3 } + prerequisite = { focus = GON_enforce_militair_loyalty } + relative_position_id = GON_enforce_militair_loyalty + x = 0 + y = 1 + cost = 5 + search_filters = { FOCUS_FILTER_POLITICAL } + completion_reward = { + news_event = { hours = 12 id = news.398 } + add_political_power = 100 } - cost = 10 - available_if_capitulated = yes + } + + focus = { + id = GON_the_steward_of_gondor + icon = GFX_focus_rom_royal_dictatorship + ai_will_do = { factor = 100 } + available = { unaligned > 0.75 } + prerequisite = { focus = GON_publish_statement } + mutually_exclusive = { focus = GON_gondor_needs_no_king } + relative_position_id = GON_publish_statement + x = 0 + y = 1 + cost = 10 + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_STABILITY FOCUS_FILTER_MANPOWER FOCUS_FILTER_INDUSTRY } + available_if_capitulated = yes completion_reward = { - set_country_flag = path_going_cooperative - add_ideas = generic_cooperative + swap_ideas = { + remove_idea = GON_kingdom_without_king_1 + add_idea = GON_defeatist_0 + } + remove_denethor_paranoid = yes + hidden_effect = { + if = { + limit = { + DAM = { is_puppet = yes } + the_other_gondor_does_not_exist = yes + } + DAM = { + country_event = dolamroth.1 + } + } + } } - } + } - #Focus for De-Legitimize Aragorn's Claim - focus = { - id = delegitimizearagornsclaim - icon = GFX_goal_support_unalligned - ai_will_do = { factor = 15 } - x =9 - y =1 - mutually_exclusive = { focus = honorisildurslegacy } - prerequisite = { focus = thefateofgondor} - cost = 10 - available_if_capitulated = yes - completion_reward = { add_ideas = generic_unaligned } - } - - #Focus for Forge closer ties with the Rangers of the North - focus = { - id = forgeclosertieswiththerangersofthenorth - icon = GFX_goal_tripartite_pact - ai_will_do = { factor = 5 } - x =0 - y =2 - mutually_exclusive = { } - prerequisite = { focus = sendfaramirwiththefellowship} - cost = 10 - available_if_capitulated = yes - completion_reward = { - CAR = { add_opinion_modifier = { target = GON modifier = large_increase } } - ART = { add_opinion_modifier = { target = GON modifier = large_increase } } - RHD = { add_opinion_modifier = { target = GON modifier = large_increase } } - } - } - - #Focus for Build up Defenses at Osgiliath - focus = { - id = buildupdefensesatosgiliath - icon = GFX_goal_generic_fortify_city - ai_will_do = { - factor = 10 - modifier = { - add = 25 - has_war_with = MOR + focus = { + id = GON_rally_the_nation + icon = GFX_goal_generic_demand_territory + ai_will_do = { factor = 100 } + available = { has_idea = GON_defeatist_0 } + prerequisite = { focus = GON_the_steward_of_gondor } + relative_position_id = GON_the_steward_of_gondor + x = 0 + y = 1 + cost = 10 + search_filters = { FOCUS_FILTER_MANPOWER } + available_if_capitulated = yes + completion_reward = { + decrease_defeatist = yes + if = { + limit = { + has_idea = priviledged_service + } + swap_ideas = { + remove_idea = priviledged_service + add_idea = volunteer_service + } } } - x =12 - y =2 - mutually_exclusive = { } - prerequisite = { focus = prepareforwarwithmordor } - cost = 10 - available_if_capitulated = yes + } + + focus = { + id = GON_researcher_of_Gondor + icon = GFX_goal_tfv_generic_tech_sharing + ai_will_do = { factor = 100 } + prerequisite = { focus = GON_rally_the_nation } + relative_position_id = GON_rally_the_nation + x = -2 + y = 1 + cost = 10 + search_filters = { FOCUS_FILTER_RESEARCH } + available_if_capitulated = yes completion_reward = { - 163 = { add_building_construction = { type = bunker level = 4 instant_build = yes province = 1778 } } - 163 = { add_building_construction = { type = bunker level = 2 instant_build = yes province = 6928 } } - 173 = { add_building_construction = { type = bunker level = 4 instant_build = yes province = 430 } } + add_tech_bonus = { + name = lotr_labour_bonus + bonus = 1.0 + uses = 2 + category = lotr_labour + } + add_tech_bonus = { + name = lotr_knowledge_bonus + bonus = 1.0 + uses = 1 + category = lotr_knowledge + } + add_tech_bonus = { + name = lotr_knowledge_alchemy_bonus + bonus = 0.5 + uses = 1 + category = lotr_knowledge_alchemy + } } - } + } - #Focus for Anti Nazgul Measures - focus = { - id = antinazgulmeasures - icon = GFX_goal_generic_fortify_city - ai_will_do = { - factor = 10 - modifier = { - add = 25 - has_war_with = MOR - } - } - available = { 21 = { is_controlled_by = GON } 22 = { is_controlled_by = GON } 19 = { is_controlled_by = GON } } - x =12 - y =3 - mutually_exclusive = { } - prerequisite = { focus = buildupdefensesatosgiliath } - cost = 10 - available_if_capitulated = yes - completion_reward = { - 21 = { add_building_construction = { type = anti_air_building level = 5 instant_build = yes } } - 163 = { add_building_construction = { type = anti_air_building level = 5 instant_build = yes } } - 173 = { add_building_construction = { type = anti_air_building level = 5 instant_build = yes } } - } - } - - #Focus for Light The Beacons! - focus = { - id = lightthebeacons - icon = GFX_goal_light_the_beacons - available = { ROH = { has_government = cooperative } has_war = yes } - bypass = { is_in_faction_with = ROH } - ai_will_do = { factor = 25 } - x =12 - y =4 - mutually_exclusive = { } - prerequisite = { focus = antinazgulmeasures } - cost = 10 - available_if_capitulated = yes - completion_reward = { ROH = { country_event = { days = 2 id = gondor.1 } } } - } - - #Focus for Have Boromir steal the Ring - focus = { - id = haveboromirstealthering - icon = GFX_goal_the_one_ring - ai_will_do = { factor = 70 } - available = {always = no } - x =2 - y =2 - mutually_exclusive = { focus = persuadearagorntoreturntogondor } - prerequisite = { focus = sendboromirwiththefellowship} - cost = 2 - available_if_capitulated = yes - completion_reward = { } - } - - #Focus for Persuade Aragorn to return to Gondor - focus = { - id = persuadearagorntoreturntogondor - icon = GFX_focus_hun_elect_a_king + + focus = { + id = GON_wisdom_of_men_kind + icon = GFX_focus_research ai_will_do = { factor = 100 } - x =4 - y =2 + prerequisite = { focus = GON_researcher_of_Gondor } + relative_position_id = GON_researcher_of_Gondor available = { - NOT = { - has_global_flag = aragorn_dead - } + num_of_factories > 75 } - mutually_exclusive = { focus = haveboromirstealthering} - prerequisite = { focus = sendboromirwiththefellowship} - cost = 10 - available_if_capitulated = yes + x = 0 + y = 1 + cost = 10 + search_filters = { FOCUS_FILTER_RESEARCH } + available_if_capitulated = yes completion_reward = { - set_global_flag = aragorn_persuaded - add_popularity = { ideology = cooperative popularity = 0.05 } + add_research_slot = 1 } - } + } - #Focus for Restore the Kingdom - focus = { - id = restorethekingdom - icon = GFX_goal_support_cooperative + focus = { + id = GON_in_memory_of_faramir + icon = GFX_goal_faramir ai_will_do = { factor = 100 } - available = { cooperative > 0.5 } - x =6 - y =2 - bypass = { - has_government = cooperative + available = { + has_global_flag = faramir_dead } - prerequisite = { focus = honorisildurslegacy} - cost = 10 - available_if_capitulated = yes + prerequisite = { focus = GON_the_steward_of_gondor } + relative_position_id = GON_the_steward_of_gondor + x = -2 + y = 1 + cost = 5 + search_filters = { FOCUS_FILTER_STABILITY FOCUS_FILTER_ARMY_XP FOCUS_FILTER_WAR_SUPPORT } + available_if_capitulated = yes completion_reward = { - set_politics = { ruling_party = cooperative elections_allowed = no } add_stability = 0.10 - add_political_power = 100 - add_popularity = { - ideology = cooperative - popularity = 0.05 - } + add_war_support = 0.10 + army_experience = 25 } - } + } - #Focus for Gondor has no King - focus = { - id = gondorhasnoking - icon = GFX_focus_rom_abdicate - ai_will_do = { factor = 100 } - x =8 - y =2 - mutually_exclusive = { focus = forgeanewdynasty } - prerequisite = { focus = delegitimizearagornsclaim} - cost = 10 - available_if_capitulated = yes - completion_reward = { set_country_flag = path_going_revolutionary add_ideas = generic_revolutionary_intermediate } - } - - #Focus for Forge a new Dynasty - focus = { - id = forgeanewdynasty - icon = GFX_focus_rom_royal_dictatorship + focus = { + id = GON_invest_in_the_industry + icon = GFX_goal_generic_windmile ai_will_do = { factor = 100 } - x =10 - y =2 - mutually_exclusive = { focus = gondorhasnoking } - prerequisite = { focus = delegitimizearagornsclaim} - cost = 10 - available_if_capitulated = yes - completion_reward = { - set_country_flag = path_going_cooperative - add_ideas = generic_cooperative - set_global_flag = gondor_new_dynasty - } - } - - #Focus for Declare Aragorn the rightful heir - focus = { - id = declarearagorntherightfulheir - icon = GFX_goal_king_aragorn - ai_will_do = { factor = 15 } - available = { - custom_trigger_tooltip = { - tooltip = ring_aragorn_is_alive_tt - NOT = { ring_aragorn_is_dead = yes } - } - custom_trigger_tooltip = { - tooltip = ring_aragorn_not_in_fellowship_tt - NOT = { ring_aragorn_in_fellowship = yes } - } - has_global_flag = fs_fellowship_departed - has_completed_focus = restorethekingdom - } - bypass = { + available = { OR = { - hidden_trigger = { - ring_aragorn_is_dead = yes - } - has_global_flag = fs_ring_destroyed - has_global_flag = fs_ring_seized + has_idea = GON_defeatist_1 + has_government = revolutionary } } - x =5 - y =3 - mutually_exclusive = { } - prerequisite = { focus = persuadearagorntoreturntogondor focus =restorethekingdom} - cost = 10 - available_if_capitulated = yes + prerequisite = { focus = GON_rally_the_nation focus = GON_purge_the_aristocracy } + relative_position_id = GON_rally_the_nation + x = 1 + y = 4 + cost = 10 + search_filters = { FOCUS_FILTER_INDUSTRY } + available_if_capitulated = yes completion_reward = { - add_popularity = { ideology = cooperative popularity = 0.05 } - add_stability = 0.05 - add_political_power = 100 + decrease_defeatist = yes + random_owned_state = { + add_extra_state_shared_building_slots = 1 + add_building_construction = { type = arms_factory level = 1 instant_build = yes } + } + random_owned_state = { + add_extra_state_shared_building_slots = 2 + add_building_construction = { type = industrial_complex level = 2 instant_build = yes } + } } - } + } - #Focus for Get rid of Denethor focus = { - id = getridofdenethor - icon = GFX_goal_denethor - ai_will_do = { factor = 15 } - bypass = { has_global_flag = denethor_dead } - x =7 - y =3 - mutually_exclusive = { } - prerequisite = { focus = gondorhasnoking focus = restorethekingdom} - cost = 10 - available_if_capitulated = yes - completion_reward = { - retire_country_leader = yes - if = { - limit = { NOT = { has_global_flag = faramir_dead } NOT = { has_completed_focus = crownaragornkingofgondor } } - add_country_leader_role = { - character = GON_faramir - promote_leader = yes - country_leader = { - ideology = protective - expire = "3080.1.1" - traits = { } - } - } - add_country_leader_role = { - character = GON_faramir - promote_leader = yes - country_leader = { - ideology = defensive - expire = "3080.1.1" - traits = { } - } - } + id = GON_militair_industry + icon = GFX_goal_generic_anvil + ai_will_do = { factor = 100 } + prerequisite = { focus = GON_invest_in_the_industry } + relative_position_id = GON_invest_in_the_industry + mutually_exclusive = { focus = GON_civilian_industry } + x = -1 + y = 1 + cost = 10 + search_filters = { FOCUS_FILTER_INDUSTRY } + available_if_capitulated = yes + completion_reward = { + random_owned_state = { + add_extra_state_shared_building_slots = 1 + add_building_construction = { type = arms_factory level = 1 instant_build = yes } } - - if = { - limit = { NOT = { has_global_flag = boromir_dead } NOT = { has_completed_focus = crownaragornkingofgondor } } - add_country_leader_role = { - character = GON_boromir - promote_leader = yes - country_leader = { - ideology = protective - expire = "3080.1.1" - traits = { } - } - } - add_country_leader_role = { - character = GON_boromir - promote_leader = yes - country_leader = { - ideology = defensive - expire = "3080.1.1" - traits = { } - } - } + random_owned_state = { + add_extra_state_shared_building_slots = 2 + add_building_construction = { type = arms_factory level = 2 instant_build = yes } + } + random_owned_state = { + add_extra_state_shared_building_slots = 1 + add_building_construction = { type = arms_factory level = 1 instant_build = yes } } } - } + } - #Focus for Purge the Crown Loyalists - focus = { - id = purgethecrownloyalists - icon = GFX_goal_generic_war_with_comintern - ai_will_do = { factor = 25 } - x =9 - y =3 - mutually_exclusive = { } - prerequisite = { focus = forgeanewdynasty focus = gondorhasnoking} - cost = 10 - available_if_capitulated = yes - completion_reward = { - add_stability = -0.05 - add_popularity = { ideology = belligerent popularity = 0.02 } - add_popularity = { ideology = revolutionary popularity = 0.1 } - add_popularity = { ideology = unaligned popularity = 0.02 } - add_popularity = { ideology = cooperative popularity = -0.05 } - } - } - - #Focus for Assasinate Aragorn - focus = { - id = assasinatearagorn - icon = GFX_goal_generic_major_war - ai_will_do = { factor = 25 } - available = { has_global_flag = fellowship_departed } - x =10 - y =4 - mutually_exclusive = { } - prerequisite = { focus = forgeanewdynasty } - prerequisite = { focus = purgethecrownloyalists } - cost = 10 - available_if_capitulated = yes + focus = { + id = GON_civilian_industry + icon = GFX_focus_generic_industry_2 + ai_will_do = { factor = 100 } + prerequisite = { focus = GON_invest_in_the_industry } + relative_position_id = GON_invest_in_the_industry + mutually_exclusive = { focus = GON_militair_industry } + x = 1 + y = 1 + cost = 10 + search_filters = { FOCUS_FILTER_INDUSTRY } + available_if_capitulated = yes completion_reward = { - add_stability = -0.1 - set_global_flag = aragorn_dead + random_owned_state = { + add_extra_state_shared_building_slots = 2 + add_building_construction = { type = industrial_complex level = 2 instant_build = yes } + } + random_owned_state = { + add_extra_state_shared_building_slots = 2 + add_building_construction = { type = industrial_complex level = 2 instant_build = yes } + } + random_owned_state = { + add_extra_state_shared_building_slots = 1 + add_building_construction = { type = industrial_complex level = 1 instant_build = yes } + } } - } + } - #Focus for Seek out the spooky ghosts - focus = { - id = seekoutthespookyghosts - icon = GFX_goal_ghost_army - ai_will_do = { factor = 100 } - available = { 163 = { is_controlled_by = GON } NOT = {has_government = belligerent} RIV = { has_completed_focus = reforgethebladeofnarsil } has_war = yes } - x =4 - y =4 - mutually_exclusive = { } - prerequisite = { focus = declarearagorntherightfulheir} - cost = 10 - available_if_capitulated = yes - completion_reward = { - news_event = { hours = 12 id = news.365 } - create_corps_commander = { - name = "King of the Dead" - picture = "Portrait_Gondor_Dead.dds" - traits = { commando } - skill = 5 - attack_skill = 5 - defense_skill = 5 - planning_skill = 1 - logistics_skill = 5 - } - load_oob = "GON_Ghosts" - } - } - - #Focus for Invite Aragorn into Minas Tirith - focus = { - id = invitearagornintominastirith - icon = GFX_goal_generic_national_unity - ai_will_do = { factor = 10 } - x =6 - y =4 - mutually_exclusive = { } - prerequisite = { focus = getridofdenethor} - prerequisite = { focus =declarearagorntherightfulheir} - cost = 10 - available_if_capitulated = yes - completion_reward = { add_political_power = 100 } - } - - #Focus for The People shall rule - focus = { - id = thepeopleshallrule - icon = GFX_goal_tfv_burn_the_royal_portraits - ai_will_do = { factor = 100 } - available = { revolutionary > 0.4 } - x =8 - y =4 - mutually_exclusive = { } - cancel_if_invalid = no - continue_if_invalid = yes - prerequisite = { focus = gondorhasnoking } - prerequisite = { focus = purgethecrownloyalists } - cost = 10 - available_if_capitulated = yes - completion_reward = { - set_politics = { ruling_party = revolutionary elections_allowed = no } - remove_ideas = GON_kingdom_without_king - } - } - -#Focus for A new King - focus = { - id = anewking - icon = GFX_focus_rom_royal_dictatorship + focus = { + id = GON_expand_farming_industry + icon = GFX_focus_SOV_merge_plants ai_will_do = { factor = 100 } - available = { cooperative > 0.5 } - x =10 - y =5 - mutually_exclusive = { } - prerequisite = { focus = assasinatearagorn} - cost = 10 - available_if_capitulated = yes - completion_reward = { - remove_ideas = GON_kingdom_without_king - news_event = { hours = 12 id = news.368 } - set_politics = { ruling_party = cooperative elections_allowed = no } - retire_country_leader = yes - if = { - limit = { NOT = { has_global_flag = denethor_dead } } - create_country_leader = { name = "King Denethor II" picture = "Portrait_Gondor_Denethor.dds" expire = "3080.1.1" ideology = protective traits = { } } - else = { - if = { - limit = { NOT = { has_global_flag = boromir_dead } } - create_country_leader = { name = "King Boromir" picture = "Portrait_Gondor_Boromir.dds" expire = "3080.1.1" ideology = protective traits = { } } - else = { - if = { - limit = { NOT = { has_global_flag = faramir_dead } } - create_country_leader = { name = "King Faramir" picture = "Portrait_Gondor_Faramir.dds" expire = "3080.1.1" ideology = federative traits = { } } - } - } - } - } + prerequisite = { focus = GON_civilian_industry focus = GON_militair_industry } + relative_position_id = GON_civilian_industry + x = -1 + y = 1 + cost = 5 + search_filters = { FOCUS_FILTER_INDUSTRY } + available_if_capitulated = yes + completion_reward = { + modify_building_resources = { + building = synthetic_refinery + resource = oil + amount = 1 } } - } + } - #Focus for An Alliance of Men - focus = { - id = anallianceofmen - icon = GFX_goal_tfv_strengthen_commonwealth_ties + focus = { + id = GON_never_ending_production + icon = GFX_focus_generic_industry_3 ai_will_do = { factor = 100 } - bypass = { is_in_faction_with = ROH } - available = { ROH = { has_government = cooperative } if = { limit = { has_completed_focus = lightthebeacons } has_global_flag = beacons_accepted } } - x =13 - y =5 - mutually_exclusive = { } - prerequisite = { focus = lightthebeacons focus = allowrohantohireithiliansoldiers} - cost = 10 - available_if_capitulated = yes - completion_reward = { - add_to_faction = ROH - } - } - - #Focus for Technology Sharing - focus = { - id = geo_technologysharing - icon = GFX_goal_generic_scientific_exchange - ai_will_do = { factor = 10 } - x =13 - y =6 - mutually_exclusive = { } - prerequisite = { focus = anallianceofmen} - cost = 10 - available_if_capitulated = yes - completion_reward = { - add_ideas = GON_tech_sharing - ROH = { add_ideas = GON_tech_sharing } - } - } - - #Focus for Betray Elrond's Council - focus = { - id = betrayelrondscouncil - icon = GFX_goal_anti_comintern_pact - ai_will_do = { factor = 25 } - available = { has_global_flag = gondor_has_ring } - x =2 - y =5 - mutually_exclusive = { } - prerequisite = { focus = haveboromirstealthering} - cost = 10 - available_if_capitulated = yes + prerequisite = { focus = GON_expand_farming_industry } + relative_position_id = GON_expand_farming_industry + x = 0 + y = 1 + cost = 10 + search_filters = { FOCUS_FILTER_INDUSTRY } + available_if_capitulated = yes completion_reward = { - RIV = { add_opinion_modifier = { target = GON modifier = geo_treason } } - MIR = { add_opinion_modifier = { target = GON modifier = geo_treason } } - ERE = { add_opinion_modifier = { target = GON modifier = geo_treason } } + add_ideas = GON_never_ending_production } - } + } - #Focus for Crown Aragorn King of Gondor - focus = { - id = crownaragornkingofgondor - icon = GFX_focus_generic_home_defense - ai_will_do = { factor = 30 } - x =6 - y =5 - mutually_exclusive = { } - dynamic = yes - prerequisite = { focus = invitearagornintominastirith} - cost = 10 - available_if_capitulated = yes + focus = { + id = GON_restructure_the_army + icon = GFX_focus_generic_military_academy + ai_will_do = { factor = 100 } + available = { has_idea = GON_defeatist_2 } + prerequisite = { focus = GON_rally_the_nation } + relative_position_id = GON_rally_the_nation + x = 0 + y = 2 + cost = 10 + search_filters = { FOCUS_FILTER_MANPOWER FOCUS_FILTER_ARMY_XP } + available_if_capitulated = yes completion_reward = { - remove_ideas = GON_kingdom_without_king - if = { - limit = { NOT = { ring_aragorn_is_dead = yes } } - news_event = { hours = 12 id = news.366 } - create_country_leader = { name = "King Aragorn" picture = "Portrait_Gondor_Aragorn.dds" expire = "3080.1.1" ideology = protective traits = { patriot_king GON_isildur_heir } } - } - else = { - add_ideas = GON_restored_monarchy - } + decrease_defeatist = yes + army_experience = 25 } - } + } - #Focus for Take the Ring to Gondor - focus = { - id = taketheringtogondor - icon = GFX_goal_the_one_ring - ai_will_do = { factor = 50 } - available = { has_global_flag = gondor_has_ring } - x =4 - y =6 - mutually_exclusive = { } - prerequisite = { focus = betrayelrondscouncil} - prerequisite = { focus =anewking focus = thepeopleshallrule} - cost = 5 - available_if_capitulated = yes - completion_reward = { GON = { add_ideas = one_true_ring } } - } - - #Focus for Strike a Deal with Sauron - focus = { - id = strikeadealwithsauron - icon = GFX_goal_sauron_eye - ai_will_do = { factor = 10 } - available = { any_country = { original_tag = MOR has_government = belligerent } } - x =3 - y =7 - mutually_exclusive = { focus = formtheempireofgondor} - prerequisite = { focus = taketheringtogondor} - cost = 10 - available_if_capitulated = yes - completion_reward = { - news_event = { hours = 12 id = news.367 } - clr_global_flag = gondor_has_ring - set_global_flag = sauron_has_ring + focus = { + id = GON_steward_of_the_people + icon = GFX_goal_denethor + ai_will_do = { factor = 100 } + available = { unaligned > 0.85 } + prerequisite = { focus = GON_restructure_the_army } + relative_position_id = GON_restructure_the_army + x = 0 + y = 1 + cost = 10 + search_filters = { FOCUS_FILTER_MANPOWER FOCUS_FILTER_STABILITY FOCUS_FILTER_INDUSTRY } + available_if_capitulated = yes + completion_reward = { + add_ideas = GON_steward_of_the_people + } + } + + #Focus for Honor Isildur's legacy + focus = { + id = GON_honor_isildurs_legacy + icon = GFX_focus_rom_royal_dictatorship + ai_will_do = { factor = 15 } + x = 0 + y = 0 + cost = 10 + search_filters = { FOCUS_FILTER_STABILITY FOCUS_FILTER_POLITICAL } + mutually_exclusive = { focus = GON_delegitimize_aragorns_claim } + bypass = { + has_government = cooperative + } + available_if_capitulated = yes + completion_reward = { + add_ideas = GON_isildur_legacy + add_political_power = 50 + } + } + + focus = { + id = GON_prepare_for_the_king_return + icon = GFX_goal_generic_national_unity + ai_will_do = { factor = 5 } + relative_position_id = GON_honor_isildurs_legacy + prerequisite = { focus = GON_honor_isildurs_legacy} + x = 0 + y = 1 + cost = 10 + search_filters = { FOCUS_FILTER_STABILITY FOCUS_FILTER_POLITICAL } + bypass = { + has_government = cooperative + } + available_if_capitulated = yes + completion_reward = { + add_popularity = { + ideology = cooperative + popularity = 0.05 + } + swap_ideas = { + remove_idea = GON_kingdom_without_king_0 + add_idea = GON_kingdom_without_king_1 + } + } + } + + focus = { + id = GON_rally_support_from_the_people + icon = GFX_goal_generic_demand_territory + ai_will_do = { + factor = 6 + modifier = { + add = 3 + ring_aragorn_in_fellowship = no + ring_aragorn_is_dead = no + } + } + relative_position_id = GON_prepare_for_the_king_return + x = -2 + y = 1 + prerequisite = { focus = GON_prepare_for_the_king_return } + cost = 5 + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_STABILITY } + available_if_capitulated = yes + completion_reward = { + add_stability = 0.05 + add_popularity = { + ideology = cooperative + popularity = 0.05 + } + } + } + + focus = { + id = GON_limit_denethor_militair_power + icon = GFX_goal_generic_allies_build_infantry + ai_will_do = { + factor = 3 + modifier = { + add = 3 + could_denethor_paranoid_be_decreased = yes + } + modifier = { + add = 3 + ring_aragorn_in_fellowship = no + ring_aragorn_is_dead = no + } + } + relative_position_id = GON_prepare_for_the_king_return + x = 0 + y = 1 + prerequisite = { focus = GON_prepare_for_the_king_return } + cost = 10 + available_if_capitulated = yes + completion_reward = { + denethor_gets_less_paranoid = yes + add_timed_idea = { idea = GON_idea_restructure_the_army days = 100 } + add_popularity = { ideology = cooperative popularity = 0.025 } + } + } + + focus = { + id = GON_limit_denethor_political_power + icon = GFX_goal_generic_propaganda + ai_will_do = { + factor = 3 + modifier = { + add = 3 + could_denethor_paranoid_be_decreased = yes + } + modifier = { + add = 3 + ring_aragorn_in_fellowship = no + ring_aragorn_is_dead = no + } + } + relative_position_id = GON_prepare_for_the_king_return + x = 2 + y = 1 + prerequisite = { focus = GON_prepare_for_the_king_return } + cost = 10 + available_if_capitulated = yes + completion_reward = { + denethor_gets_less_paranoid = yes + add_political_power = -50 + add_popularity = { ideology = cooperative popularity = 0.025 } + } + } + + #Focus for Declare Aragorn the rightful heir + focus = { + id = GON_declare_aragorn_the_rightful_heir + icon = GFX_goal_king_aragorn + ai_will_do = { factor = 10 } + available = { + custom_trigger_tooltip = { + tooltip = ring_aragorn_is_alive_tt + NOT = { ring_aragorn_is_dead = yes } + } + OR = { + has_global_flag = fs_ring_seized + has_global_flag = fs_arrived_in_rivendell + } + } + relative_position_id = GON_limit_denethor_militair_power + x = 0 + y = 1 + prerequisite = { focus = GON_limit_denethor_militair_power } + prerequisite = { focus = GON_limit_denethor_political_power } + prerequisite = { focus = GON_rally_support_from_the_people } + cost = 10 + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_STABILITY } + available_if_capitulated = yes + completion_reward = { + add_popularity = { ideology = cooperative popularity = 0.05 } + add_stability = 0.05 + add_political_power = 100 + denethor_gets_more_paranoid = yes + } + } + + focus = { + id = GON_persuade_aragorn_to_come_to_Gondor + icon = GFX_focus_hun_elect_a_king + ai_will_do = { + factor = 1 + modifier = { + add = 10 + date > "3020.5.5" + } + modifier = { + add = 10 + has_war = yes + } + } + relative_position_id = GON_declare_aragorn_the_rightful_heir + prerequisite = { focus = GON_declare_aragorn_the_rightful_heir } + prerequisite = { focus = GON_send_faramir_with_the_fellowship } + x = 2 + y = 1 + cost = 10 + available_if_capitulated = yes + available = { + custom_trigger_tooltip = { + tooltip = fs_aragorn_in_fellowship + ring_aragorn_in_fellowship = yes + } + custom_trigger_tooltip = { + tooltip = ring_aragorn_is_alive_tt + NOT = { ring_aragorn_is_dead = yes } + } + } + completion_reward = { + random_list = { + 65 = { + SHI = { + if = { + limit = { + FS_aragorn = { ring_is_fs_member = yes } + } + + add_to_array = { global.fs_eventlog_prefix_targets = 0 } + add_to_array = { global.fs_eventlog_suffix_targets = 0 } + add_to_array = { global.fs_eventlog = token:fs_event_aragorn_leaves_for_gondor } + ring_trim_eventlog = yes + + FS_aragorn = { ring_remove_member_from_fellowship = yes } + } + } + set_global_flag = aragorn_persuaded + custom_effect_tooltip = GON_aragorn_leaves_the_fellowship + } + 35 = { + add_political_power = -100 + } + } + } + } + + focus = { + id = GON_send_help_towards_aragorn + icon = GFX_focus_hun_elect_a_king + ai_will_do = { factor = 3 } + relative_position_id = GON_limit_denethor_political_power + x = 0 + y = 1 + prerequisite = { focus = GON_limit_denethor_political_power } + cost = 5 + available_if_capitulated = yes + available = { + custom_trigger_tooltip = { + tooltip = fs_aragorn_in_fellowship + ring_aragorn_in_fellowship = yes + } + } + completion_reward = { + if = { + limit = { + ring_aragorn_in_fellowship = yes + } + custom_effect_tooltip = GON_send_help_towards_aragorn_tooltip + SHI = { + FS_aragorn = { + ring_heal_fellowship_member = yes + } + } + } + } + } + + #Focus for Invite Aragorn into Minas Tirith + focus = { + id = GON_invite_aragorn_to_minas_tirith + icon = GFX_goal_generic_national_unity + dynamic = yes + ai_will_do = { factor = 15 } + relative_position_id = GON_declare_aragorn_the_rightful_heir + x = 0 + y = 1 + available = { + if = { + limit = { + ring_aragorn_is_dead = no + } + cooperative > 0.4 + custom_trigger_tooltip = { + tooltip = ring_aragorn_is_alive_tt + NOT = { ring_aragorn_is_dead = yes } + } + custom_trigger_tooltip = { + tooltip = ring_aragorn_not_in_fellowship_tt + NOT = { ring_aragorn_in_fellowship = yes } + } + }else = { + custom_trigger_tooltip = { + tooltip = ring_aragorn_is_dead_tt + ring_aragorn_is_dead = yes + } + } + } + prerequisite = { focus = GON_declare_aragorn_the_rightful_heir} + cost = 5 + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_STABILITY } + available_if_capitulated = yes + completion_reward = { + if = { + limit = { + ring_aragorn_is_dead = yes + } + complete_national_focus = GON_enforce_militair_loyalty + add_popularity = { + ideology = unaligned + popularity = 0.15 + } + add_timed_idea = { idea = generic_unaligned days = 356 } + add_stability = -0.05 + }else = { + add_stability = 0.10 + add_political_power = 100 + add_popularity = { ideology = cooperative popularity = 0.05 } + } + } + } + + #Focus for Crown Aragorn King of Gondor + focus = { + id = GON_crown_aragorn_king + icon = GFX_goal_king_aragorn + ai_will_do = { factor = 15 } + relative_position_id = GON_invite_aragorn_to_minas_tirith + prerequisite = { focus = GON_invite_aragorn_to_minas_tirith} + x = 0 + y = 1 + cost = 10 + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_STABILITY FOCUS_FILTER_MANPOWER FOCUS_FILTER_INDUSTRY FOCUS_FILTER_WAR_SUPPORT} + available = { + cooperative > 0.5 + } + available_if_capitulated = yes + completion_reward = { + remove_ideas = GON_kingdom_without_king_1 + news_event = { hours = 12 id = news.366 } + create_country_leader = { name = "King Aragorn" picture = "Portrait_Gondor_Aragorn.dds" expire = "3080.1.1" ideology = protective traits = { patriot_king GON_isildur_heir } } + set_politics = { + ruling_party = cooperative + elections_allowed = no + } + add_ideas= GON_denethor_loyalists + set_country_flag = GON_aragorn_crowned_king + remove_denethor_paranoid = yes + } + } + + focus = { + id = GON_ban_denethor_loyalists + icon = GFX_goal_denethor + ai_will_do = { factor = 3 } + relative_position_id = GON_crown_aragorn_king + available = { has_idea = GON_denethor_loyalists } + x = -2 + y = 1 + prerequisite = { focus = GON_crown_aragorn_king } + cost = 10 + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_STABILITY } + available_if_capitulated = yes + completion_reward = { + remove_ideas = GON_denethor_loyalists + } + } + + focus = { + id = GON_invest_industry_dol_amroth + icon = GFX_goal_generic_windmile + ai_will_do = { factor = 10 } + relative_position_id = GON_crown_aragorn_king + prerequisite = { focus = GON_crown_aragorn_king } + x = 2 + y = 1 + cost = 10 + search_filters = { FOCUS_FILTER_INDUSTRY } + available_if_capitulated = yes + completion_reward = { + DAM = { + add_autonomy_ratio = { + value = -0.1 + } + random_owned_state = { + add_extra_state_shared_building_slots = 3 + add_building_construction = { type = industrial_complex level = 3 instant_build = yes } + } + random_owned_state = { + add_extra_state_shared_building_slots = 1 + add_building_construction = { type = arms_factory level = 1 instant_build = yes } + } + } + } + } + + focus = { + id = GON_invest_navy_dol_amroth + icon = GFX_goal_generic_construct_naval_dockyard + ai_will_do = { factor = 3 } + relative_position_id = GON_invest_industry_dol_amroth + prerequisite = { focus = GON_invest_industry_dol_amroth } + x = 0 + y = 1 + cost = 10 + search_filters = { FOCUS_FILTER_INDUSTRY } + available_if_capitulated = yes + completion_reward = { + DAM = { + add_autonomy_ratio = { + value = -0.1 + } + 224 = { + add_extra_state_shared_building_slots = 2 + add_building_construction = { type = dockyard level = 2 instant_build = yes } + } + } + } + } + + focus = { + id = GON_restore_the_kingdom_of_gondor + icon = GFX_focus_generic_home_defense + ai_will_do = { factor = 30 } + relative_position_id = GON_crown_aragorn_king + x = 0 + y = 2 + prerequisite = { focus = GON_crown_aragorn_king } + cost = 10 + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_MANPOWER FOCUS_FILTER_STABILITY FOCUS_FILTER_INDUSTRY } + available_if_capitulated = yes + completion_reward = { + add_ideas = GON_kingdom_of_gondor + } + } + + focus = { + id = GON_wed_faramir_to_eowyn + icon = GFX_goal_gon_wed_faramir_to_eowyn + ai_will_do = { + factor = 3 + modifier = { + add = 3 + ROH = { + has_government = cooperative + } + } + } + relative_position_id = GON_restore_the_kingdom_of_gondor + x = -2 + y = 1 + prerequisite = { focus = GON_restore_the_kingdom_of_gondor } + available = { + GON_faramir = { is_unit_leader = yes } + ROH = { + NOT = { + has_completed_focus = wedgrimatoeowyn + } + } + } + cost = 5 + available_if_capitulated = yes + completion_reward = { + # Add idea to GON/ROH: royal marriage + add_relation_modifier = { + target = ROH + modifier = faramir_eowyn_marriage + } + + ROH = { + add_relation_modifier = { + target = GON + modifier = faramir_eowyn_marriage + } + } + } + } + + focus = { + id = GON_increase_bonds_with_the_kingdoms_of_arnor + icon = GFX_goal_generic_national_unity + ai_will_do = { factor = 30 } + relative_position_id = GON_restore_the_kingdom_of_gondor + x = 0 + y = 1 + prerequisite = { focus = GON_restore_the_kingdom_of_gondor } + cost = 5 + available_if_capitulated = yes + completion_reward = { + if = { + limit = { + has_country_flag = ART_established_arnor + } + add_opinion_modifier = { target = ART modifier = medium_increase } + } + else = { + add_opinion_modifier = { target = ART modifier = medium_increase } + add_opinion_modifier = { target = CAR modifier = medium_increase } + add_opinion_modifier = { target = RHD modifier = medium_increase } + } + } + } + + focus = { + id = GON_prepose_unification + icon = GFX_goal_generic_improve_relations + ai_will_do = { factor = 30 } + relative_position_id = GON_increase_bonds_with_the_kingdoms_of_arnor + x = -1 + y = 1 + prerequisite = { focus = GON_increase_bonds_with_the_kingdoms_of_arnor } + mutually_exclusive = { focus = GON_demand_reinstate_kingdom_of_arnor } + available = { + ART = { + has_country_flag = ART_established_arnor + is_puppet = no + } + is_in_faction = yes + } + cost = 5 + available_if_capitulated = yes + completion_reward = { + ART = { + country_event = { id = arthedain.8 } + } + } + } + + focus = { + id = GON_demand_reinstate_kingdom_of_arnor + icon = GFX_goal_arnor + ai_will_do = { factor = 30 } + relative_position_id = GON_increase_bonds_with_the_kingdoms_of_arnor + x = 1 + y = 1 + prerequisite = { focus = GON_increase_bonds_with_the_kingdoms_of_arnor } + mutually_exclusive = { focus = GON_prepose_unification } + cost = 10 + search_filters = { FOCUS_FILTER_ANNEXATION } + available_if_capitulated = yes + completion_reward = { + ART = { + country_event = { id = arthedain.9} + } + } + } + + focus = { + id = GON_defender_of_the_free_people + icon = GFX_focus_generic_support_the_left_right + ai_will_do = { factor = 30 } + relative_position_id = GON_restore_the_kingdom_of_gondor + prerequisite = { focus = GON_restore_the_kingdom_of_gondor } + x = 3 + y = 1 + cost = 10 + search_filters = { FOCUS_FILTER_MANPOWER } + available_if_capitulated = yes + completion_reward = { + add_ideas = GON_defender_of_middle_earth + } + } + + focus = { + id = GON_everyone_is_welcome + icon = GFX_focus_generic_diplomatic_treaty + ai_will_do = { factor = 30 } + relative_position_id = GON_defender_of_the_free_people + prerequisite = { focus = GON_defender_of_the_free_people } + x = 0 + y = 1 + cost = 10 + available_if_capitulated = yes + completion_reward = { + every_other_country = { + limit = { + OR = { + has_government = cooperative + has_government = unaligned + } + is_in_faction = no + is_subject = no + NOT = { tag = NEP } + NOT = { + has_war_with = GON + is_in_faction_with = GON + } + } + random_select_amount = 3 # Let's keep things under control + country_event = gondor.23 + } + } + } + + focus = { + id = GON_defeat_evil_once_and_for_all + icon = GFX_goal_generic_major_war + ai_will_do = { factor = 30 } + relative_position_id = GON_everyone_is_welcome + prerequisite = { focus = GON_everyone_is_welcome } + x = 0 + y = 1 + cost = 10 + search_filters = { FOCUS_FILTER_ANNEXATION } + available_if_capitulated = yes + completion_reward = { + every_other_country = { + limit = { + has_government = belligerent + has_added_tension_amount > 5 + NOT = { tag = NEP } + } + random_select_amount = 4 + create_wargoal = { target = PREV type = topple_government } + } + } + } + + focus = { + id = GON_historical_claims + icon = GFX_goal_gon_historical_claims + ai_will_do = { factor = 30 } + relative_position_id = GON_restore_the_kingdom_of_gondor + prerequisite = { focus = GON_restore_the_kingdom_of_gondor focus = GON_restructure_the_army } + x = 9 + y = 1 + cost = 10 + available = { + the_other_gondor_does_not_exist = yes + } + available_if_capitulated = yes + completion_reward = { + # Gain a little collab in orthanc, MMO and arnor + add_collaboration = { target = MMO value = 0.15 } + add_collaboration = { target = ISE value = 0.15 } + add_collaboration = { target = ART value = 0.15 } + add_collaboration = { target = CAR value = 0.15 } + add_collaboration = { target = RHD value = 0.15 } + } + } + + focus = { + id = GON_attack_before_being_attack + icon = GFX_wargoal_mordor + ai_will_do = { + factor = 0 + modifier = { + factor = 10 + date > "3022.1.1" + has_war = no + } + } + relative_position_id = GON_historical_claims + prerequisite = { focus = GON_historical_claims } + x = -2 + y = 1 + cost = 10 + search_filters = { FOCUS_FILTER_ANNEXATION } + available = { + MOR = { + OR = { + exists = yes + is_puppet = no + has_government = belligerent + has_government = revolutionary + } + } + the_other_gondor_does_not_exist = yes + } + available_if_capitulated = yes + completion_reward = { + create_wargoal = { + type = puppet_wargoal_focus target = MOR + } + } + } + + focus = { + id = GON_restore_minas_ithil + icon = GFX_goal_generic_improve_relations + ai_will_do = { factor = 30 } + relative_position_id = GON_attack_before_being_attack + prerequisite = { focus = GON_attack_before_being_attack } + mutually_exclusive = { focus = GON_annex_minas_ithil } + x = -1 + y = 1 + cost = 10 + search_filters = { FOCUS_FILTER_ANNEXATION } + available = { + controls_state = 5 + the_other_gondor_does_not_exist = yes + } + available_if_capitulated = yes + completion_reward = { + puppet = MMO + } + } + + focus = { + id = GON_annex_minas_ithil + icon = GFX_goal_generic_territory_or_war + ai_will_do = { factor = 30 } + relative_position_id = GON_attack_before_being_attack + prerequisite = { focus = GON_attack_before_being_attack } + mutually_exclusive = { focus = GON_restore_minas_ithil } + x = 1 + y = 1 + cost = 10 + search_filters = { FOCUS_FILTER_ANNEXATION } + available = { + controls_state = 5 + the_other_gondor_does_not_exist = yes + } + available_if_capitulated = yes + completion_reward = { + add_state_core = 5 + } + } + + focus = { + id = GON_reclaim_orthanc + icon = GFX_goal_orthanc_destroyed + ai_will_do = { factor = 30 } + relative_position_id = GON_historical_claims + prerequisite = { focus = GON_historical_claims } + x = 2 + y = 1 + cost = 10 + search_filters = { FOCUS_FILTER_ANNEXATION } + available = { + ISE = { + owns_state = 31 + } + the_other_gondor_does_not_exist = yes + } + available_if_capitulated = yes + completion_reward = { + if = { + limit = { + ISE = { + has_government = belligerent + } + } + create_wargoal = { + type = annex_everything + target = ISE + } + } + else = { + ISE = { + country_event = { id = isengard.13 } + } + } + } + } + + focus = { + id = GON_reintergrate_orthanc + icon = GFX_goal_generic_position_armies + ai_will_do = { factor = 30 } + relative_position_id = GON_reclaim_orthanc + prerequisite = { focus = GON_reclaim_orthanc } + x = 0 + y = 1 + cost = 10 + search_filters = { FOCUS_FILTER_ANNEXATION FOCUS_FILTER_MANPOWER } + available = { + owns_state = 31 + the_other_gondor_does_not_exist = yes + } + available_if_capitulated = yes + completion_reward = { + add_state_core = 31 + } + } + + focus = { + id = GON_send_boromir_with_the_fellowship + icon = GFX_goal_boromir + ai_will_do = { factor = 100 } + available = { has_global_flag = fs_gondor_boromir } + relative_position_id = GON_honor_isildurs_legacy + x = 9 + y = 3 + mutually_exclusive = { focus = GON_send_faramir_with_the_fellowship} + cost = 0 + available_if_capitulated = yes + completion_reward = { + custom_effect_tooltip = MOR_event_triggert_focus + } + + } + + focus = { + id = GON_have_boromir_steal_the_ring + icon = GFX_goal_the_one_ring + ai_will_do = { factor = 70 } + available = { + always = no + the_other_gondor_does_not_exist = yes + } + prerequisite = { focus = GON_send_boromir_with_the_fellowship} + relative_position_id = GON_send_boromir_with_the_fellowship + x = 0 + y = 1 + cost = 2 + available_if_capitulated = yes + completion_reward = { custom_effect_tooltip = MOR_event_triggert_focus } + } + + focus = { + id = GON_betray_elronds_council + icon = GFX_goal_council_of_elrond + ai_will_do = { factor = 25 } + available = { has_global_flag = gondor_has_ring } + prerequisite = { focus = GON_have_boromir_steal_the_ring} + prerequisite = { focus = GON_the_steward_of_gondor } + relative_position_id = GON_have_boromir_steal_the_ring + x = 0 + y = 1 + cost = 10 + available_if_capitulated = yes + completion_reward = { + RIV = { add_opinion_modifier = { target = GON modifier = geo_treason } } + MIR = { add_opinion_modifier = { target = GON modifier = geo_treason } } + ERE = { add_opinion_modifier = { target = GON modifier = geo_treason } } + } + } + + focus = { + id = GON_strike_a_deal_with_sauron + icon = GFX_goal_sauron_eye + ai_will_do = { factor = 10 } + available = { + MOR = { + has_government = belligerent + } + } + mutually_exclusive = { focus = GON_form_the_empire_of_gondor} + prerequisite = { focus = GON_betray_elronds_council} + relative_position_id = GON_betray_elronds_council + x = 1 + y = 1 + cost = 10 + available_if_capitulated = yes + completion_reward = { + news_event = { hours = 12 id = news.367 } + clr_global_flag = gondor_has_ring + set_global_flag = sauron_has_ring random_other_country = { limit = { original_tag = MOR has_government = belligerent } add_ideas = one_true_ring white_peace = ROOT diplomatic_relation = { country = ROOT relation = non_aggression_pact } } - remove_ideas = one_true_ring + remove_ideas = one_true_ring + } + } + + focus = { + id = GON_form_the_empire_of_gondor + icon = GFX_goal_gondor + ai_will_do = { factor = 10 } + mutually_exclusive = { focus = GON_strike_a_deal_with_sauron } + prerequisite = { focus = GON_betray_elronds_council} + relative_position_id = GON_betray_elronds_council + x = -1 + y = 1 + cost = 5 + available_if_capitulated = yes + completion_reward = { + set_cosmetic_tag = EOG + } + } + + focus = { + id = GON_send_faramir_with_the_fellowship + icon = GFX_goal_faramir + ai_will_do = { factor = 100 } + available = { has_global_flag = fs_gondor_faramir } + mutually_exclusive = { focus = GON_send_boromir_with_the_fellowship } + relative_position_id = GON_honor_isildurs_legacy + x = 5 + y = 3 + cost = 0 + available_if_capitulated = yes + completion_reward = { + custom_effect_tooltip = MOR_event_triggert_focus + } + } + + focus = { + id = GON_strengthen_ties_with_angmar + icon = GFX_goal_gon_strengthen_ties_with_angmar + ai_will_do = { factor = 10 } + available = { + ring_faramir_in_fellowship = yes + custom_trigger_tooltip = { + tooltip = "The fellowship is currently in territory controlled by Angmar" + has_variable = var:global.fs_currentstate + var:global.fs_currentstate = { + is_controlled_by = ANG + } + } + } + prerequisite = { focus = GON_send_faramir_with_the_fellowship } + relative_position_id = GON_send_faramir_with_the_fellowship + mutually_exclusive = { focus = GON_rally_support_in_enedwaith } + x = 1 + y = 2 + cost = 2 + available_if_capitulated = yes + completion_reward = { + # Generic Faramir diplo bonus + ANG = { + add_opinion_modifier = { + target = ROOT + modifier = medium_increase + } + } + add_equipment_subsidy = { + cic = 500 + equipment_type = infantry_equipment + seller_tags = { ANG } + } + } + } + + focus = { + id = GON_rally_support_in_enedwaith + icon = GFX_goal_gon_rally_support_in_enedwaith + ai_will_do = { factor = 10 } + available = { + ring_faramir_in_fellowship = yes + custom_trigger_tooltip = { + tooltip = "The fellowship is currently in territory controlled by Enedwaith" + has_variable = var:global.fs_currentstate + var:global.fs_currentstate = { + is_controlled_by = ENE + } + } + } + prerequisite = { focus = GON_send_faramir_with_the_fellowship } + relative_position_id = GON_send_faramir_with_the_fellowship + mutually_exclusive = { focus = GON_strengthen_ties_with_angmar } + x = -1 + y = 2 + cost = 2 + available_if_capitulated = yes + completion_reward = { + # Generic Faramir diplo bonus + ENE = { + add_opinion_modifier = { + target = ROOT + modifier = medium_increase + } + } + add_equipment_subsidy = { + cic = 500 + equipment_type = infantry_equipment + seller_tags = { ENE } + } + } + } + + focus = { + id = GON_gain_favour_with_the_elves + icon = GFX_goal_gon_gain_favour_with_the_elves + ai_will_do = { factor = 10 } + available = { + ring_faramir_in_fellowship = yes + custom_trigger_tooltip = { + tooltip = "The fellowship is currently in territory controlled by Lothlórien" + has_variable = var:global.fs_currentstate + var:global.fs_currentstate = { + is_controlled_by = LTH + } + } + } + prerequisite = { focus = GON_send_faramir_with_the_fellowship } + relative_position_id = GON_send_faramir_with_the_fellowship + x = 0 + y = 3 + cost = 2 + available_if_capitulated = yes + completion_reward = { + # Generic Faramir diplo bonus + LTH = { + add_opinion_modifier = { + target = ROOT + modifier = medium_increase + } + } + add_equipment_subsidy = { + cic = 500 + equipment_type = infantry_equipment + seller_tags = { LTH } + } + } + } + + #Focus for Battle for the Gondor Sea + focus = { + id = GON_white_sails_of_gondor + icon = GFX_goal_generic_amphibious_assault + ai_will_do = { factor = 3 } + x = 24 + y = 0 + cost = 5 + search_filters = { FOCUS_FILTER_NAVY_XP } + available_if_capitulated = yes + completion_reward = { navy_experience = 25 } + } + + #Focus for Destroyer Effort + focus = { + id = GON_strength_in_numbers + icon = GFX_goal_generic_navy_battleship + ai_will_do = { factor = 3 } + relative_position_id = GON_white_sails_of_gondor + x = -1 + y = 1 + prerequisite = { focus = GON_white_sails_of_gondor} + mutually_exclusive = { focus = GON_strength_in_quality } + cost = 10 + search_filters = { FOCUS_FILTER_NAVY_XP } + available_if_capitulated = yes + completion_reward = { + navy_experience = 50 + add_tech_bonus = { + name = bc_bonus + bonus = 0.5 + uses = 1 + category = lotr_sailing_longship + } + } + } + + #Focus for Destroyer Effort + focus = { + id = GON_strength_in_quality + icon = GFX_goal_generic_navy_battleship + ai_will_do = { factor = 3 } + relative_position_id = GON_white_sails_of_gondor + x = 1 + y = 1 + prerequisite = { focus = GON_white_sails_of_gondor} + mutually_exclusive = { focus = GON_strength_in_numbers } + cost = 10 + search_filters = { FOCUS_FILTER_NAVY_XP } + available_if_capitulated = yes + completion_reward = { + navy_experience = 25 + add_tech_bonus = { + name = bc_bonus + bonus = 0.5 + uses = 1 + category = lotr_sailing_sailingship + } + } + } + + focus = { + id = GON_coastal_protection + icon = GFX_focus_generic_coastal_fort + ai_will_do = { factor = 3 } + relative_position_id = GON_white_sails_of_gondor + x = 0 + y = 3 + prerequisite = { focus = GON_white_sails_of_gondor} + cost = 10 + search_filters = { FOCUS_FILTER_INDUSTRY } + available_if_capitulated = yes + completion_reward = { + add_ideas = GON_coastal_protection + } + } + + + #Focus for Improved Naval Strategies + focus = { + id = GON_improved_naval_strategies + icon = GFX_goal_generic_navy_battleship + ai_will_do = { factor = 3 } + relative_position_id = GON_coastal_protection + x = 1 + y = 1 + prerequisite = { focus = GON_coastal_protection } + cost = 10 + available_if_capitulated = yes + completion_reward = { + add_tech_bonus = { + name = naval_doc_bonus + bonus = 0.5 + uses = 3 + category = naval_doctrine + } + } + } + + #Focus for Invade by Sea + focus = { + id = GON_invasion_force + icon = GFX_goal_generic_amphibious_assault + ai_will_do = { factor = 3 } + relative_position_id = GON_coastal_protection + x = -1 + y = 1 + prerequisite = { focus = GON_coastal_protection } + cost = 10 + available_if_capitulated = yes + completion_reward = { + add_tech_bonus = { + name = ITA_marines_and_landing_craft + bonus = 0.5 + uses = 1 + technology = marines + technology = marines2 + } + add_tech_bonus = { + name = ITA_marines_and_landing_craft + bonus = 0.5 + uses = 1 + technology = transport + technology = landing_craft + } + } + } + + focus = { + id = GON_dockyard_effort + icon = GFX_goal_generic_construct_naval_dockyard + ai_will_do = { factor = 3 } + relative_position_id = GON_coastal_protection + x = 0 + y = 3 + prerequisite = { focus = GON_coastal_protection } + available = { + any_controlled_state = { is_coastal = yes } + } + cost = 10 + search_filters = { FOCUS_FILTER_INDUSTRY } + available_if_capitulated = yes + completion_reward = { + random_state_add_building_slot_and_doc_x2 = yes + random_state_add_building_slot_and_doc_x2 = yes + } + } + + #Focus for Military Rearmament + focus = { + id = GON_military_rearmament + icon = GFX_goal_generic_axis_build_infantry + ai_will_do = { factor = 5 } + x = 28 + y = 0 + cost = 5 + search_filters = { FOCUS_FILTER_ARMY_XP } + available_if_capitulated = yes + completion_reward = { army_experience = 25 } + } + + focus = { + id = GON_expand_infantry + icon = GFX_goal_generic_army_artillery + ai_will_do = { factor = 3 } + relative_position_id = GON_military_rearmament + x = -1 + y = 1 + prerequisite = { focus = GON_military_rearmament} + cost = 10 + available_if_capitulated = yes + completion_reward = { + add_tech_bonus = { + name = infantry_weapons_bonus + bonus = 0.5 + uses = 2 + category = lotr_infantry_weapons + } + } + } + + focus = { + id = GON_artillery_improvements + icon = GFX_goal_generic_army_artillery2 + ai_will_do = { factor = 3 } + relative_position_id = GON_expand_infantry + x = 0 + y = 3 + prerequisite = { focus = GON_expand_infantry} + cost = 10 + available_if_capitulated = yes + completion_reward = { + add_tech_bonus = { + name = ROH_artillery_modernisation + bonus = 0.5 + uses = 1 + category = lotr_infantry_archery + } + } + } + + focus = { + id = GON_ship_mounted_catapults + icon = GFX_focus_generic_refit_civilian_ships + ai_will_do = { factor = 3 } + relative_position_id = GON_artillery_improvements + x = -1 + y = 1 + prerequisite = { focus = GON_artillery_improvements } + prerequisite = { focus = GON_improved_naval_strategies } + cost = 10 + available_if_capitulated = yes + completion_reward = { + add_ideas = GON_ship_mounted_catapults + } + } + + focus = { + id = improvedfighters + icon = GFX_goal_generic_air_fighter + ai_will_do = { factor = 1 } + relative_position_id = GON_artillery_improvements + x = 1 + y = 1 + prerequisite = { focus = GON_artillery_improvements focus = GON_chariots_improvements} + cost = 10 + available_if_capitulated = yes + completion_reward = { + add_tech_bonus = { + name = fighter_bonus + bonus = 0.5 + uses = 1 + category = lotr_eagles + category = lotr_fellbeasts + } + } + } + + focus = { + id = GON_expand_cavalry + icon = GFX_goal_generic_cavalry + ai_will_do = { factor = 3 } + relative_position_id = GON_military_rearmament + x = 1 + y = 1 + prerequisite = { focus = GON_military_rearmament} + cost = 10 + available_if_capitulated = yes + completion_reward = { + add_tech_bonus = { + name = calvery_bonus + bonus = 0.75 + uses = 1 + category = lotr_cavalry_heavy + } + add_tech_bonus = { + name = calvery_bonus + bonus = 0.75 + uses = 1 + category = lotr_cavalry_light + } + } + } + + focus = { + id = GON_chariots_improvements + icon = GFX_goal_generic_army_motorized + ai_will_do = { factor = 3 } + relative_position_id = GON_expand_cavalry + x = 0 + y = 3 + prerequisite = { focus = GON_expand_cavalry} + cost = 10 + available_if_capitulated = yes + completion_reward = { + add_tech_bonus = { + name = ROH_ride_of_the_rohirrim + bonus = 0.5 + uses = 2 + category = lotr_cavalry_carriages + } + } + } + + focus = { + id = GON_counter_haradwaith_forces + icon = GFX_goal_generic_attack_allies + ai_will_do = { factor = 5 } + relative_position_id = GON_military_rearmament + x = 0 + y = 2 + prerequisite = { focus = GON_military_rearmament} + cost = 10 + search_filters = { FOCUS_FILTER_ARMY_XP } + available_if_capitulated = yes + completion_reward = { + army_experience = 15 + add_tech_bonus = { + name = ROH_anti_tank_guns + bonus = 0.5 + uses = 2 + category = lotr_machines_ballista + } + } + } + + focus = { + id = GON_internal_policy_department + icon = GFX_focus_generic_improve_the_administration + ai_will_do = { factor = 5 } + x = 40 + y = 0 + cost = 5 + search_filters = { FOCUS_FILTER_STABILITY FOCUS_FILTER_POLITICAL } + available_if_capitulated = yes + completion_reward = { + add_political_power = 100 + add_stability = 0.025 + } + } + + focus = { + id = GON_prepare_for_the_growing_theat_north + icon = GFX_goal_the_white_hand + ai_will_do = { + factor = 5 + modifier = { + add = 3 + could_denethor_paranoid_be_decreased = yes + } + } + relative_position_id = GON_internal_policy_department + prerequisite = { focus = GON_internal_policy_department } + x = 5 + y = 1 + cost = 10 + search_filters = { FOCUS_FILTER_INDUSTRY } + available = { + ISE = { + NOT = { + has_government = cooperative + } + } + } + available_if_capitulated = yes + completion_reward = { + add_timed_idea = { days = 356 idea = GON_preprare_for_the_worst } + denethor_gets_less_paranoid = yes + } + } + + focus = { + id = GON_improve_infrastructure_west + icon = GFX_goal_generic_construct_infrastructure + ai_will_do = { factor = 5 } + relative_position_id = GON_prepare_for_the_growing_theat_north + prerequisite = { focus = GON_prepare_for_the_growing_theat_north } + x = -1 + y = 1 + cost = 10 + search_filters = { FOCUS_FILTER_INDUSTRY } + available_if_capitulated = yes + completion_reward = { + 20 = { + add_building_construction = { type = infrastructure level = 2 instant_build = yes } + add_building_construction = { + type = supply_node + level = 1 + instant_build = yes + province = 4665 + } + } + 136 = { + add_building_construction = { type = infrastructure level = 2 instant_build = yes } + } + } + } + + focus = { + id = GON_stay_our_ground + icon = GFX_goal_generic_fortify_city + ai_will_do = { + factor = 3 + modifier = { + add = 5 + OR = { + ISE = { controls_state = 23 } + ISE = { controls_state = 77} + } + } + } + relative_position_id = GON_prepare_for_the_growing_theat_north + prerequisite = { focus = GON_prepare_for_the_growing_theat_north } + x = 1 + y = 1 + cost = 10 + search_filters = { FOCUS_FILTER_INDUSTRY } + available = { + ISE = { + NOT = { + has_government = cooperative + } + } + } + available_if_capitulated = yes + completion_reward = { + #Only adds bunkers to the state if it bordering state is owned by isengard + if = { + limit = { + ISE = { + controls_state = 23 + } + } + 20 = { + add_building_construction = {type = bunker level = 2 instant_build = yes province = 50 } + add_building_construction = {type = bunker level = 2 instant_build = yes province = 6816 } + add_building_construction = {type = bunker level = 2 instant_build = yes province = 4665 } + add_building_construction = {type = bunker level = 2 instant_build = yes province = 6791 } + add_building_construction = {type = bunker level = 2 instant_build = yes province = 5418 } + add_building_construction = {type = bunker level = 2 instant_build = yes province = 6789 } + add_building_construction = {type = bunker level = 2 instant_build = yes province = 38 } + add_building_construction = {type = bunker level = 2 instant_build = yes province = 6783 } + } + } + if = { + limit = { + ISE = { + controls_state = 77 + } + } + 20 = { + add_building_construction = {type = bunker level = 2 instant_build = yes province = 4353 } + add_building_construction = {type = bunker level = 2 instant_build = yes province = 6804 } + add_building_construction = {type = bunker level = 2 instant_build = yes province = 1142 } + } + 136 = { + add_building_construction = {type = bunker level = 2 instant_build = yes province = 586 } + add_building_construction = {type = bunker level = 2 instant_build = yes province = 3005 } + } + } + if = { + limit = { + ISE = { + OR = { + controls_state = 77 + controls_state = 23 + } + } + } + 20 = { + add_building_construction = {type = bunker level = 2 instant_build = yes province = 6765 } + } + } + } + } + + focus = { + id = GON_expand_the_military_production + icon = GFX_goal_generic_anvil + ai_will_do = { factor = 10 } + relative_position_id = GON_internal_policy_department + prerequisite = { focus = GON_internal_policy_department } + x = 0 + y = 1 + cost = 10 + search_filters = { FOCUS_FILTER_INDUSTRY FOCUS_FILTER_RESEARCH } + available_if_capitulated = yes + completion_reward = { + random_owned_state = { + add_extra_state_shared_building_slots = 2 + add_building_construction = { type = arms_factory level = 2 instant_build = yes } + } + add_tech_bonus = { + bonus = 0.5 + uses = 1 + category = lotr_labour + } + } + } + + focus = { + id = GON_where_is_the_string + icon = GFX_goal_generic_windmile + ai_will_do = { factor = 5 } + relative_position_id = GON_expand_the_military_production + prerequisite = { focus = GON_expand_the_military_production } + x = 0 + y = 3 + cost = 5 + available = { + owns_state = 174 + } + available_if_capitulated = yes + completion_reward = { + 174 = { + add_resource = { + type = tungsten + amount = 12 + } + } + } + } + + focus = { + id = GON_library_of_wisdom + icon = GFX_goal_generic_windmile + ai_will_do = { factor = 3 } + relative_position_id = GON_where_is_the_string + prerequisite = { focus = GON_where_is_the_string } + x = -3 + y = 1 + cost = 5 + search_filters = { FOCUS_FILTER_RESEARCH } + available_if_capitulated = yes + completion_reward = { + add_tech_bonus = { + bonus = 0.5 + uses = 2 + category = lotr_knowledge_scriptorium + } + } + } + + focus = { + id = GON_dig_out_the_mountains + icon = GFX_focus_generic_steel + ai_will_do = { factor = 5 } + relative_position_id = GON_where_is_the_string + prerequisite = { focus = GON_where_is_the_string } + x = -1 + y = 1 + cost = 10 + available = { + owns_state = 16 + } + available_if_capitulated = yes + completion_reward = { + 16 = { + add_resource = { + type = steel + amount = 15 + } + } + } + } + + focus = { + id = GON_university_of_minas_tirith + icon = GFX_focus_research + ai_will_do = { factor = 5 } + relative_position_id = GON_where_is_the_string + prerequisite = { focus = GON_where_is_the_string } + x = 1 + y = 1 + cost = 10 + search_filters = { FOCUS_FILTER_RESEARCH } + available_if_capitulated = yes + completion_reward = { + add_research_slot = 1 + } + } + + focus = { + id = GON_construction_research + icon = GFX_goal_generic_production + ai_will_do = { factor = 3 } + relative_position_id = GON_where_is_the_string + prerequisite = { focus = GON_where_is_the_string } + x = 3 + y = 1 + cost = 5 + search_filters = { FOCUS_FILTER_INDUSTRY FOCUS_FILTER_RESEARCH } + available_if_capitulated = yes + completion_reward = { + add_tech_bonus = { + bonus = 0.75 + uses = 2 + category = lotr_labour_construction_industry + } + } + } + + focus = { + id = GON_develop_the_south + icon = GFX_focus_generic_industry_1 + ai_will_do = { factor = 5 } + relative_position_id = GON_expand_the_military_production + prerequisite = { focus = GON_expand_the_military_production } + x = -2 + y = 1 + cost = 10 + search_filters = { FOCUS_FILTER_INDUSTRY } + available = { + owns_state = 19 + } + available_if_capitulated = yes + completion_reward = { + 19 = { + add_extra_state_shared_building_slots = 3 + add_building_construction = { type = industrial_complex level = 3 instant_build = yes } + add_building_construction = { type = infrastructure level = 2 instant_build = yes } + } + } + } + + focus = { + id = GON_focus_on_militair_south + icon = GFX_goal_generic_anvil + ai_will_do = { factor = 3 } + relative_position_id = GON_develop_the_south + prerequisite = { focus = GON_develop_the_south } + mutually_exclusive = { focus = GON_focus_on_civilian_south } + x = -1 + y = 1 + cost = 5 + search_filters = { FOCUS_FILTER_INDUSTRY } + available = { + owns_state = 19 + } + available_if_capitulated = yes + completion_reward = { + 19 = { + add_extra_state_shared_building_slots = 2 + add_building_construction = { type = arms_factory level = 2 instant_build = yes } + } + } + } + + focus = { + id = GON_focus_on_civilian_south + icon = GFX_goal_generic_windmile + ai_will_do = { factor = 3 } + relative_position_id = GON_develop_the_south + prerequisite = { focus = GON_develop_the_south } + mutually_exclusive = { focus = GON_focus_on_militair_south } + x = 1 + y = 1 + cost = 5 + search_filters = { FOCUS_FILTER_INDUSTRY } + available = { + owns_state = 19 + } + available_if_capitulated = yes + completion_reward = { + 19 = { + add_extra_state_shared_building_slots = 2 + add_building_construction = { type = industrial_complex level = 2 instant_build = yes } + } + } + } + + focus = { + id = GON_develop_the_west + icon = GFX_focus_generic_industry_1 + ai_will_do = { factor = 6 } + relative_position_id = GON_expand_the_military_production + prerequisite = { focus = GON_expand_the_military_production } + x = 2 + y = 1 + cost = 10 + search_filters = { FOCUS_FILTER_INDUSTRY } + available = { + owns_state = 16 + } + available_if_capitulated = yes + completion_reward = { + 16 = { + add_extra_state_shared_building_slots = 3 + add_building_construction = { type = industrial_complex level = 3 instant_build = yes } + add_building_construction = { type = infrastructure level = 2 instant_build = yes } + } + } + } + + focus = { + id = GON_focus_on_militair_west + icon = GFX_goal_generic_anvil + ai_will_do = { factor = 3 } + relative_position_id = GON_develop_the_west + prerequisite = { focus = GON_develop_the_west } + mutually_exclusive = { focus = GON_focus_on_civilian_west } + x = -1 + y = 1 + cost = 5 + search_filters = { FOCUS_FILTER_INDUSTRY } + available = { + owns_state = 16 + } + available_if_capitulated = yes + completion_reward = { + 16 = { + add_extra_state_shared_building_slots = 2 + add_building_construction = { type = arms_factory level = 2 instant_build = yes } + } + } + } + + focus = { + id = GON_focus_on_civilian_west + icon = GFX_goal_generic_windmile + ai_will_do = { factor = 3 } + relative_position_id = GON_develop_the_west + prerequisite = { focus = GON_develop_the_west } + mutually_exclusive = { focus = GON_focus_on_militair_west } + x = 1 + y = 1 + cost = 5 + search_filters = { FOCUS_FILTER_INDUSTRY } + available = { + owns_state = 16 + } + available_if_capitulated = yes + completion_reward = { + 16 = { + add_extra_state_shared_building_slots = 2 + add_building_construction = { type = industrial_complex level = 2 instant_build = yes } + } + } + } + focus = { + id = GON_reinforce_osgilliath + icon = GFX_goal_fortify_the_westwall + ai_will_do = { factor = 10 } + relative_position_id = GON_internal_policy_department + prerequisite = { focus = GON_internal_policy_department } + x = -7 + y = 1 + cost = 10 + search_filters = { FOCUS_FILTER_INDUSTRY } + available = { + owns_state = 163 + } + available_if_capitulated = yes + completion_reward = { + 163 = { + add_building_construction = { + type = supply_node + level = 1 + instant_build = yes + province = 1778 + } + add_building_construction = {type = bunker level = 3 instant_build = yes province = 1778 } + } + } + } + + focus = { + id = GON_hit_before_you_get_hit + icon = GFX_goal_generic_military_sphere + ai_will_do = { factor = 3 } + relative_position_id = GON_reinforce_osgilliath + prerequisite = { focus = GON_reinforce_osgilliath } + mutually_exclusive = { focus = GON_defense_is_the_best_attack } + available = { + is_denethor_paranoid = no + } + x = -2 + y = 1 + cost = 10 + search_filters = { FOCUS_FILTER_MANPOWER } + available_if_capitulated = yes + completion_reward = { + add_ideas = GON_strike_before_the_enemy_0 + } + } + + focus = { + id = GON_rally_the_people + icon = GFX_focus_generic_little_entente + ai_will_do = { factor = 3 } + relative_position_id = GON_hit_before_you_get_hit + prerequisite = { focus = GON_hit_before_you_get_hit } + x = 0 + y = 1 + cost = 10 + search_filters = { FOCUS_FILTER_ARMY_XP } + available_if_capitulated = yes + completion_reward = { + army_experience = 15 + custom_effect_tooltip = GON_tooltip_unlocks_prince_of_terror_advisor + } + } + + focus = { + id = GON_hit_now_you_can + icon = GFX_goal_generic_small_arms + ai_will_do = { factor = 3 } + relative_position_id = GON_rally_the_people + prerequisite = { focus = GON_rally_the_people } + x = 0 + y = 3 + cost = 10 + available_if_capitulated = yes + completion_reward = { + swap_ideas = { + remove_idea = GON_strike_before_the_enemy_0 + add_idea = GON_strike_before_the_enemy_1 + } + } + } + + focus = { + id = GON_modernize_the_military + icon = GFX_goal_generic_army_doctrines + ai_will_do = { factor = 3 } + relative_position_id = GON_hit_now_you_can + prerequisite = { focus = GON_hit_now_you_can focus = GON_no_step_back } + x = 2 + y = 1 + cost = 10 + search_filters = { FOCUS_FILTER_RESEARCH FOCUS_FILTER_INDUSTRY } + available_if_capitulated = yes + completion_reward = { + remove_ideas = GON_weary_armed_forces + add_tech_bonus = { + bonus = 0.5 + uses = 2 + category = lotr_infantry + } + add_tech_bonus = { + bonus = 0.75 + uses = 1 + category = lotr_support_tech + } + } + } + + focus = { + id = GON_defense_is_the_best_attack + icon = GFX_goal_lth_strengthenfortifications + ai_will_do = { factor = 3 } + relative_position_id = GON_reinforce_osgilliath + prerequisite = { focus = GON_reinforce_osgilliath } + mutually_exclusive = { focus = GON_hit_before_you_get_hit } + x = 2 + y = 1 + cost = 10 + search_filters = { FOCUS_FILTER_INDUSTRY } + available_if_capitulated = yes + completion_reward = { + add_ideas = GON_bunker_focus + } + } + + focus = { + id = GON_prepare_for_the_worse + icon = GFX_goal_generic_fortify_city + ai_will_do = { factor = 3 } + relative_position_id = GON_defense_is_the_best_attack + prerequisite = { focus = GON_defense_is_the_best_attack } + available = { + owns_state = 135 + owns_state = 176 + owns_state = 173 + if = { + limit = { + MOR = { + controls_state = 204 + } + } + owns_state = 22 + } + } + x = 0 + y = 1 + cost = 10 + search_filters = { FOCUS_FILTER_INDUSTRY } + available_if_capitulated = yes + completion_reward = { + 135 = { + add_building_construction = { type = bunker level = 2 instant_build = yes province = 4617 } + add_building_construction = { type = bunker level = 2 instant_build = yes province = 3996 } + add_building_construction = { type = bunker level = 2 instant_build = yes province = 7307 } + add_building_construction = { type = bunker level = 2 instant_build = yes province = 7318 } + add_building_construction = { type = bunker level = 2 instant_build = yes province = 3545 } + } + 176 = { + add_building_construction = { type = bunker level = 2 instant_build = yes province = 7428 } + add_building_construction = { type = bunker level = 2 instant_build = yes province = 5388 } + add_building_construction = { type = bunker level = 2 instant_build = yes province = 7791 } + } + 173 = { + add_building_construction = { type = bunker level = 2 instant_build = yes province = 3773 } + } + if = { + limit = { + MOR = { + controls_state = 204 + } + } + 22 ={ + add_building_construction = { type = bunker level = 2 instant_build = yes province = 2430 } + add_building_construction = { type = bunker level = 2 instant_build = yes province = 6861 } + add_building_construction = { type = bunker level = 2 instant_build = yes province = 4602 } + add_building_construction = { type = bunker level = 2 instant_build = yes province = 4479 } + } + } + } + } + + focus = { + id = GON_defense_specialist + icon = GFX_goal_lth_guardiansofthesilverwood + ai_will_do = { factor = 3 } + relative_position_id = GON_prepare_for_the_worse + prerequisite = { focus = GON_prepare_for_the_worse } + x = 0 + y = 1 + cost = 10 + search_filters = { FOCUS_FILTER_ARMY_XP } + available_if_capitulated = yes + completion_reward = { + army_experience = 15 + custom_effect_tooltip = GON_tooltip_unlocks_defense_advisor + } + } + + focus = { + id = GON_no_step_back + icon = GFX_goal_generic_defence + ai_will_do = { factor = 3 } + relative_position_id = GON_defense_specialist + prerequisite = { focus = GON_defense_specialist } + x = 0 + y = 2 + cost = 10 + available_if_capitulated = yes + completion_reward = { + add_ideas = GON_no_step_back_idea + } + } + + focus = { + id = GON_ears_everywhere + icon = GFX_focus_generic_secret_service_agency + ai_will_do = { factor = 5 } + relative_position_id = GON_internal_policy_department + prerequisite = { focus = GON_internal_policy_department focus = GON_external_policy_department} + x = 8 + y = 1 + cost = 10 + available_if_capitulated = yes + completion_reward = { + create_intelligence_agency = { + name = "Free People of Middle-Earth" + icon = GFX_intelligence_agency_logo_generic_2 + } + } + } + + focus = { + id = GON_expand_the_netwerk + icon = GFX_goal_generic_radar + ai_will_do = { factor = 3 } + relative_position_id = GON_ears_everywhere + prerequisite = { focus = GON_ears_everywhere } + x = 0 + y = 1 + cost = 10 + available_if_capitulated = yes + completion_reward = { + add_ideas = GON_spies_of_gondor_0 + } + } + + focus = { + id = GON_sneaky_peaky + icon = GFX_goal_generic_position_armies + ai_will_do = { factor = 3 } + relative_position_id = GON_expand_the_netwerk + prerequisite = { focus = GON_expand_the_netwerk } + mutually_exclusive = { focus = GON_we_see_everything } + x = -1 + y = 1 + cost = 10 + available_if_capitulated = yes + completion_reward = { + swap_ideas = { + remove_idea = GON_spies_of_gondor_0 + add_idea = GON_spies_of_gondor_sneaky_peaky + } + } + } + + focus = { + id = GON_we_see_everything + icon = GFX_goal_generic_territory_or_war + ai_will_do = { factor = 3 } + relative_position_id = GON_expand_the_netwerk + prerequisite = { focus = GON_expand_the_netwerk } + mutually_exclusive = { focus = GON_sneaky_peaky } + x = 1 + y = 1 + cost = 10 + available_if_capitulated = yes + completion_reward = { + swap_ideas = { + remove_idea = GON_spies_of_gondor_0 + add_idea = GON_spies_of_gondor_know_it_all + } + } + } + + focus = { + id = GON_external_policy_department + icon = GFX_focus_generic_improve_the_administration + ai_will_do = { factor = 5 } + x = 52 + y = 0 + cost = 5 + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_WAR_SUPPORT } + available_if_capitulated = yes + completion_reward = { + add_political_power = 100 + add_war_support = 0.025 + } + } + + focus = { + id = GON_improve_relations_with_rohan + icon = GFX_goal_rohan + ai_will_do = { factor = 5 } + relative_position_id = GON_external_policy_department + prerequisite = { focus = GON_external_policy_department } + x = -1 + y = 1 + cost = 5 + available_if_capitulated = yes + completion_reward = { + add_opinion_modifier = { target = ROH modifier = large_increase } + ROH = { + add_opinion_modifier = { target = GON modifier = large_increase } + } + } + } + + focus = { + id = GON_help_deal_with_isengard + icon = GFX_goal_the_white_hand + ai_will_do = { + factor = 3 + modifier = { + add = 5 + ISE = { + has_completed_focus = pillagethetownsofrohan + } + } + } + relative_position_id = GON_improve_relations_with_rohan + prerequisite = { focus = GON_improve_relations_with_rohan } + x = 0 + y = 1 + cost = 5 + search_filters = { FOCUS_FILTER_MANPOWER } + available_if_capitulated = yes + available = { + the_other_gondor_does_not_exist = yes + ISE = { has_completed_focus = quarrelwithrohan } + } + completion_reward = { + add_manpower = -10000 + add_equipment_to_stockpile = { + type = infantry_equipment_0 + amount = -1000 + } + ROH = { + country_event = rohan.8 + } + } + } + + focus = { + id = GON_where_was_gondor + icon = GFX_focus_generic_little_entente + ai_will_do = { factor = 5 } + relative_position_id = GON_help_deal_with_isengard + prerequisite = { focus = GON_help_deal_with_isengard } + x = 0 + y = 1 + cost = 5 + available_if_capitulated = yes + available = { + the_other_gondor_does_not_exist = yes + } + completion_reward = { + add_ideas = GON_volunteers_against_evil + } + } + + focus = { + id = GON_invite_rohan + icon = GFX_goal_generic_major_alliance + ai_will_do = { factor = 3 } + relative_position_id = GON_where_was_gondor + prerequisite = { focus = GON_where_was_gondor } + x = 0 + y = 1 + cost = 5 + available_if_capitulated = yes + available = { + the_other_gondor_does_not_exist = yes + } + completion_reward = { + ROH = { + invite_to_faction = yes + } + } + } + + focus = { + id = GON_express_intressed_in_haronder + icon = GFX_goal_generic_position_armies + ai_will_do = { factor = 4 } + relative_position_id = GON_external_policy_department + prerequisite = { focus = GON_external_policy_department } + x = 1 + y = 1 + cost = 5 + search_filters = { FOCUS_FILTER_ANNEXATION FOCUS_FILTER_WAR_SUPPORT } + available_if_capitulated = yes + available = { + the_other_gondor_does_not_exist = yes + } + completion_reward = { + add_war_support = 0.05 + hidden_effect = { news_event = news.399 } + add_state_claim = 105 + add_state_claim = 106 + add_state_claim = 107 + } + } + focus = { + id = GON_demand_harondor + icon = GFX_goal_generic_forceful_treaty + ai_will_do = { + factor = 3 + modifier = { + add = 3 + HAR = { + is_in_faction = no + } + } + modifier = { + add = -2 + is_denethor_paranoid = yes + } + } + relative_position_id = GON_express_intressed_in_haronder + prerequisite = { focus = GON_express_intressed_in_haronder } + available = { + has_war = no + threat > 0.15 + HAR = { + controls_state = 105 + controls_state = 106 + controls_state = 107 + } + } + bypass = { + controls_state = 105 + controls_state = 106 + controls_state = 107 + } + x = 0 + y = 1 + cost = 5 + search_filters = { FOCUS_FILTER_ANNEXATION } + available_if_capitulated = yes + available = { + the_other_gondor_does_not_exist = yes + } + completion_reward = { + HAR = { + country_event = { id = harad.3 } + } + } + } + + focus = { + id = GON_intergrate_harondor + icon = GFX_goal_generic_national_unity + ai_will_do = { factor = 4 } + relative_position_id = GON_demand_harondor + prerequisite = { focus = GON_demand_harondor } + x = 0 + y = 1 + cost = 10 + search_filters = { FOCUS_FILTER_MANPOWER } + available = { + owns_state = 105 + owns_state = 106 + owns_state = 107 + } + available_if_capitulated = yes + completion_reward = { + 105 = { add_compliance = 35 } + 106 = { add_compliance = 35 } + 107 = { add_compliance = 35 } + 105 = { + add_extra_state_shared_building_slots = 2 + add_building_construction = { type = industrial_complex level = 2 instant_build = yes } + } + 107 = { + add_extra_state_shared_building_slots = 1 + add_building_construction = { type = arms_factory level = 1 instant_build = yes } + } } - } + } - #Focus for Form the Empire of Gondor - focus = { - id = formtheempireofgondor - icon = GFX_goal_gondor + #Focus for ithilien crisis + focus = { + id = GON_ithilien_crisis + icon = GFX_goal_gon_ithilien_crisis + relative_position_id = GON_reinforce_osgilliath ai_will_do = { factor = 10 } - x =5 - y =7 - mutually_exclusive = { focus = strikeadealwithsauron } - prerequisite = { focus = taketheringtogondor} - cost = 10 - available_if_capitulated = yes + x = 0 + y = 2 + prerequisite = { + focus = GON_reinforce_osgilliath + } + available = { + ithc_crisis_is_active = yes + tag = GON + } + cost = 10 + available_if_capitulated = yes completion_reward = { - set_cosmetic_tag = EOG + set_country_flag = { flag = ithc_focus_cooldown value = 1 days = 90 } + # Unlock decisions allowing us to lower the 'raid' level of contested states + custom_effect_tooltip = ithilien_crisis_tt } - } - - - - - - + } + #Focus for ithilien crisis - Emergency Measures + focus = { + id = GON_ithc_emergency_measures + icon = GFX_goal_gon_ithc_emergency_measures + ai_will_do = { factor = 10 } + relative_position_id = GON_ithilien_crisis + x = 0 + y = 1 + prerequisite = { focus = GON_ithilien_crisis } + available = { + ithc_crisis_is_active = yes + NOT = { has_country_flag = ithc_focus_cooldown } + tag = GON + } + cost = 5 + available_if_capitulated = yes + completion_reward = { + set_country_flag = { flag = ithc_focus_cooldown value = 1 days = 90 } + # Decrease cost of ithc decisions + subtract_from_variable = { ithc_pillage_decision_cost_pp = 50 } + custom_effect_tooltip = decrease_ithc_pp_cost_tt + # Get event to choose where tp get more power projection + country_event = ithc.4 + # Add compliance in states + if = { + limit = { 22 = { is_controlled_by = GON } } + 22 = { add_compliance = 50 } + } + if = { + limit = { 175 = { is_controlled_by = GON } } + 175 = { add_compliance = 50 } + } + if = { + limit = { 173 = { is_controlled_by = GON } } + 173 = { add_compliance = 50 } + } + if = { + limit = { 135 = { is_controlled_by = GON } } + 135 = { add_compliance = 50 } + } + } + } - #Custom focuses start here - #Focus for To the Skies! - focus = { - id = totheskies - icon = GFX_goal_generic_build_airforce - ai_will_do = { factor = 3 } - x =30 - y =0 - mutually_exclusive = { } - prerequisite = { } - cost = 10 - available_if_capitulated = yes - completion_reward = { air_experience = 25 } - } + #Focus for ithilien crisis - Hold Firm + focus = { + id = GON_ithc_hold_firm + icon = GFX_goal_gon_ithc_hold_firm + ai_will_do = { factor = 10 } + relative_position_id = GON_ithilien_crisis + x = -1 + y = 2 + mutually_exclusive = { focus = GON_ithc_evacuate } + prerequisite = { focus = GON_ithc_emergency_measures } + available = { + ithc_crisis_is_active = yes + NOT = { has_country_flag = ithc_focus_cooldown } + tag = GON + } + cost = 5 + available_if_capitulated = yes + completion_reward = { + # add +10 power projection + custom_effect_tooltip = increase_power_projection_overall_tt + } + } - #Focus for Battle for the Gondor Sea - focus = { - id = battleforthegondorsea - icon = GFX_goal_generic_amphibious_assault - ai_will_do = { factor = 4 } - x =19 - y =0 - mutually_exclusive = { } - prerequisite = { } - cost = 10 - available_if_capitulated = yes - completion_reward = { navy_experience = 25 } - } + #Focus for ithilien crisis - Evacuate the population + focus = { + id = GON_ithc_evacuate + icon = GFX_goal_gon_ithc_evacuate + ai_will_do = { factor = 0 } + relative_position_id = GON_ithilien_crisis + x = 1 + y = 2 + mutually_exclusive = { focus = GON_ithc_hold_firm } + prerequisite = { focus = GON_ithc_emergency_measures } + available = { + ithc_crisis_is_active = yes + NOT = { has_country_flag = ithc_focus_cooldown } + tag = GON + } + cost = 5 + available_if_capitulated = yes + completion_reward = { + # Unlock decisions to relocate industry and population from ithilien contested states + custom_effect_tooltip = ithc_evacuate_tt + } + } - #Focus for Military Rearmament - focus = { - id = geo_militaryrearmament - icon = GFX_goal_generic_axis_build_infantry - ai_will_do = { factor = 5 } - x =25 - y =0 - mutually_exclusive = { } - prerequisite = { } - cost = 10 - available_if_capitulated = yes - completion_reward = { army_experience = 25 } - } - - #Focus for Industry Sector - focus = { - id = geo_industrysector - icon = GFX_goal_generic_production2 - ai_will_do = { factor = 100 } - x =34 - y =0 - mutually_exclusive = { } - prerequisite = { } - cost = 10 - available_if_capitulated = yes + focus = { + id = GON_ensure_popular_support + icon = GFX_goal_gon_ensure_popular_support + ai_will_do = { factor = 0 } + prerequisite = { focus = GON_purge_the_crown_loyalists } + relative_position_id = GON_purge_the_crown_loyalists + x = 6 + y = 1 + cost = 10 + search_filters = { FOCUS_FILTER_STABILITY FOCUS_FILTER_POLITICAL } completion_reward = { - add_tech_bonus = { - name = industrial_bonus - bonus = 0.5 - uses = 1 - category = lotr_labour_construction_industry + # Add idea that gives revo + unaligned support and takes away coop support + add_ideas = GON_popular_support_campaign + add_stability = 0.1 + add_popularity = { + ideology = revolutionary + popularity = 0.1 } } - } - - #Focus for Counter Haradwaith Forces - focus = { - id = counterharadwaithforces - icon = GFX_goal_generic_attack_allies - ai_will_do = { factor = 4 } - x =23 - y =1 - mutually_exclusive = { } - prerequisite = { focus = geo_militaryrearmament} - cost = 10 - available_if_capitulated = yes - completion_reward = { army_experience = 50 } - } - - #Focus for Submarine Effort - focus = { - id = submarineeffort - icon = GFX_goal_generic_navy_submarine - ai_will_do = { factor = 2 } - x =17 - y =1 - prerequisite = { focus = battleforthegondorsea} - cost = 10 - available_if_capitulated = yes + } + + focus = { + id = GON_defame_isildurs_lineage + icon = GFX_goal_gon_defame_isildurs_lineage + ai_will_do = { factor = 0 } + prerequisite = { focus = GON_ensure_popular_support } + relative_position_id = GON_ensure_popular_support + x = 0 + y = 1 + cost = 10 + search_filters = { FOCUS_FILTER_STABILITY FOCUS_FILTER_POLITICAL } completion_reward = { - navy_experience = 50 - add_tech_bonus = { - name = ss_bonus - bonus = 0.5 - uses = 1 - category = lotr_sailing_longship + # remove coop support, add stability and war support + # lower opinion with Arnor + add_political_power = 150 + add_popularity = { + ideology = cooperative + popularity = -0.15 } - add_tech_bonus = { - name = sub_op_bonus - bonus = 0.5 - uses = 2 - technology = submarine_operations - technology = undersea_blockade - technology = convoy_interdiction - technology = submarine_offensive + add_popularity = { + ideology = revolutionary + popularity = 0.10 } + ART = { add_opinion_modifier = { target = ART modifier = medium_decrease } } + CAR = { add_opinion_modifier = { target = ART modifier = medium_decrease } } + RHD = { add_opinion_modifier = { target = ART modifier = medium_decrease } } } - } + } - #Focus for Destroyer Effort - focus = { - id = destroyereffort - icon = GFX_goal_generic_navy_anti_submarine - ai_will_do = { factor = 2 } - x =19 - y =1 - mutually_exclusive = { focus = destroyereffort} - prerequisite = { focus = battleforthegondorsea} - cost = 10 - available_if_capitulated = yes - completion_reward = { - navy_experience = 50 - add_tech_bonus = { - name = bc_bonus - bonus = 0.5 - uses = 1 - category = lotr_sailing_sailingship + focus = { + id = GON_gondor_needs_no_king + icon = GFX_goal_gon_gondor_needs_no_king + ai_will_do = { factor = 0 } + prerequisite = { focus = GON_defame_isildurs_lineage } + mutually_exclusive = { focus = GON_the_steward_of_gondor } + relative_position_id = GON_ensure_popular_support + available = { + OR = { + revolutionary > 0.4 + # AI cheat to ensure revo Gondor AI doesnt get stuck + hidden_trigger = { + is_ai = yes + date > "3020.1.1" } - add_tech_bonus = { - name = bb_bonus - bonus = 0.5 - uses = 1 - technology = basic_battleship - technology = improved_battleship - technology = advanced_battleship - technology = heavy_battleship - technology = heavy_battleship2 - } - } - } - -#Focus for Coastal Defense Program - focus = { - id = coastaldefenseprogram - icon = GFX_goal_generic_construct_naval_dockyard - ai_will_do = { factor = 4 } - available = { 13 = { is_controlled_by = GON } 19 = { is_controlled_by = GON } } - x =21 - y =1 - mutually_exclusive = { } - prerequisite = { focus = battleforthegondorsea} - cost = 10 - available_if_capitulated = yes - completion_reward = { - 19 = { add_building_construction = { type = coastal_bunker level = 7 instant_build = yes province = 4003 } } - 13 = { add_building_construction = { type = coastal_bunker level = 7 instant_build = yes province = 10891 } } - 13 = { add_building_construction = { type = coastal_bunker level = 7 instant_build = yes province = 13082 } } - 13 = { add_building_construction = { type = coastal_bunker level = 7 instant_build = yes province = 12774 } } - 13 = { add_building_construction = { type = coastal_bunker level = 7 instant_build = yes province = 2070 } } - } - } - - #Focus for Expand Infantry - focus = { - id = expandinfantry - icon = GFX_goal_generic_army_artillery - ai_will_do = { factor = 2 } - x =25 - y =1 - mutually_exclusive = { focus = expandcavalry} - prerequisite = { focus = geo_militaryrearmament} - cost = 10 - available_if_capitulated = yes - completion_reward = { - add_tech_bonus = { - name = infantry_weapons_bonus - bonus = 0.5 - uses = 1 - category = lotr_infantry_weapons } } - } - - #Focus for Expand Cavalry - focus = { - id = expandcavalry - icon = GFX_goal_generic_cavalry - ai_will_do = { factor = 2 } - x =27 - y =1 - mutually_exclusive = { focus = expandinfantry} - prerequisite = { focus = geo_militaryrearmament} - cost = 10 - available_if_capitulated = yes - } - - #Focus for Improved Fighters - focus = { - id = improvedfighters - icon = GFX_goal_generic_air_fighter - ai_will_do = { factor = 2 } - x =30 - y =1 - mutually_exclusive = { } - prerequisite = { focus = totheskies} - cost = 10 - available_if_capitulated = yes + x = 0 + y = 2 + cost = 10 + search_filters = { FOCUS_FILTER_STABILITY FOCUS_FILTER_POLITICAL FOCUS_FILTER_MANPOWER FOCUS_FILTER_STABILITY FOCUS_FILTER_WAR_SUPPORT } completion_reward = { - add_tech_bonus = { - name = fighter_bonus - bonus = 0.5 - uses = 1 - category = lotr_eagles - category = lotr_fellbeasts - } - } - } - - #Focus for University of Minas Tirith - focus = { - id = universityofminastirith - icon = GFX_focus_research - ai_will_do = { factor = 100 } - x =34 - y =1 - mutually_exclusive = { } - prerequisite = { focus = geo_industrysector} - cost = 10 - available_if_capitulated = yes - completion_reward = { add_research_slot = 1 } - } + remove_ideas = generic_unaligned - #Focus for Improved Naval Strategies - focus = { - id = improvednavalstrategies - icon = GFX_goal_generic_navy_battleship - ai_will_do = { factor = 15 } - x =18 - y =2 - mutually_exclusive = { } - prerequisite = { focus = destroyereffort focus = submarineeffort} - cost = 10 - available_if_capitulated = yes - completion_reward = { - add_tech_bonus = { - name = naval_doc_bonus - bonus = 0.5 - uses = 3 - category = naval_doctrine + if = { + limit = { has_idea = GON_kingdom_without_king_1 } + remove_ideas = GON_kingdom_without_king_1 + } + if = { + limit = { has_idea = GON_kingdom_without_king_0 } + remove_ideas = GON_kingdom_without_king_0 + } + + event_option_tooltip = gondor.25.a + hidden_effect = { + country_event = { id = gondor.25 hours = 1 } } } - } + } - #Focus for Anti-Oliphant Weapons - focus = { - id = antioliphantweapons - icon = GFX_goal_generic_army_artillery2 - ai_will_do = { factor = 7 } - x =23 - y =2 - mutually_exclusive = { } - prerequisite = { focus = counterharadwaithforces} - cost = 10 - available_if_capitulated = yes + focus = { + id = GON_purge_the_aristocracy + icon = GFX_goal_gon_purge_the_aristocracy + ai_will_do = { factor = 3 } + prerequisite = { focus = GON_gondor_needs_no_king } + relative_position_id = GON_gondor_needs_no_king + x = 0 + y = 4 + cost = 10 + search_filters = { FOCUS_FILTER_STABILITY FOCUS_FILTER_POLITICAL FOCUS_FILTER_WAR_SUPPORT } completion_reward = { - add_tech_bonus = { - name = ROH_anti_tank_guns - bonus = 0.5 - uses = 2 - category = lotr_machines_ballista + # add revo support + add_popularity = { + ideology = revolutionary + popularity = 0.2 + } + # add stability and ws + add_stability = 0.1 + add_war_support = 0.1 + # remove Order of the White Rose + custom_effect_tooltip = GON_purge_the_aristocracy_tt + } + } + + focus = { + id = GON_reconquering_arnor + icon = GFX_unite_by_force + ai_will_do = { factor = 100 } + available = { + the_other_gondor_does_not_exist = yes + ART = { + has_country_flag = ART_established_arnor } } - } + prerequisite = { focus = GON_purge_the_aristocracy focus = GON_restructure_the_army } + relative_position_id = GON_purge_the_aristocracy + x = -4 + y = 1 + cost = 10 + search_filters = { FOCUS_FILTER_ANNEXATION } + available_if_capitulated = yes + completion_reward = { + create_wargoal = { type = puppet_wargoal_focus target = ART } + } + } -#Focus for Artillery Improvements - focus = { - id = artilleryimprovements - icon = GFX_goal_generic_army_artillery2 - ai_will_do = { factor = 5 } - x =25 - y =2 - mutually_exclusive = { } - prerequisite = { focus = expandinfantry} - cost = 10 - available_if_capitulated = yes + focus = { + id = GON_power_to_the_unions + icon = GFX_focus_SOV_bukharan_republic + ai_will_do = { factor = 3 } + prerequisite = { focus = GON_purge_the_aristocracy } + relative_position_id = GON_purge_the_aristocracy + x = -2 + y = 1 + cost = 10 completion_reward = { - add_tech_bonus = { - name = ROH_artillery_modernisation - bonus = 0.5 - uses = 1 - category = lotr_infantry_archery + if = { + limit = { has_dlc = "Arms Against Tyranny" } + # increase funds to guilds and stuff + mio:GON_blacksmith_guild = { + add_mio_funds_gain_factor = 0.25 + } + mio:GON_alchemists_guild = { + add_mio_funds_gain_factor = 0.25 + } + mio:GON_shipbuilders_guild = { + add_mio_funds_gain_factor = 0.25 + } + mio:GON_woodcutters_guild = { + add_mio_funds_gain_factor = 0.25 + } + } + else = { + if = { + limit = { has_idea = high_taxes } + add_ideas = medium_taxes + } + add_ideas = LTH_peasant_assembly } } - } + } - #Focus for Motirization Improvements - focus = { - id = motirizationimprovements - icon = GFX_goal_generic_army_motorized - ai_will_do = { factor = 4 } - x =27 - y =2 - mutually_exclusive = { } - prerequisite = { focus = expandcavalry} - cost = 10 - available_if_capitulated = yes + focus = { + id = GON_meritocracy + icon = GFX_goal_lth_meritbasedadvancement + ai_will_do = { factor = 3 } + prerequisite = { focus = GON_purge_the_aristocracy } + relative_position_id = GON_purge_the_aristocracy + x = 0 + y = 1 + cost = 10 + search_filters = { FOCUS_FILTER_ARMY_XP FOCUS_FILTER_NAVY_XP FOCUS_FILTER_AIR_XP} completion_reward = { - add_tech_bonus = { - name = ROH_ride_of_the_rohirrim - bonus = 0.5 - uses = 2 - category = lotr_cavalry_carriages - } + add_ideas = GON_merit_based_advancement } - } + } -#Focus for Tactical Bombing - focus = { - id = tacticalbombing - icon = GFX_goal_generic_air_bomber - ai_will_do = { factor = 2 } - x =29 - y =2 - mutually_exclusive = { focus = strategicbombing} - prerequisite = { focus = improvedfighters} - cost = 10 - available_if_capitulated = yes + focus = { + id = GON_spread_the_revolution + icon = GFX_goal_generic_political_pressure + ai_will_do = { factor = 3 } + prerequisite = { focus = GON_purge_the_aristocracy } + relative_position_id = GON_purge_the_aristocracy + x = 2 + y = 1 + cost = 10 completion_reward = { - add_doctrine_cost_reduction = { - cost_reduction = 0.75 - uses = 1 - category = battlefield_support_tree + if = { + limit = { + has_dlc = "La Resistance" + } + add_ideas = GON_idea_spread_the_revolution + } - add_tech_bonus = { - name = bomber_bonus - bonus = 0.5 - uses = 1 - category = lotr_eagles - category = lotr_fellbeasts + else = { + DAM = { + add_popularity = { + ideology = revolutionary + popularity = 0.10 + } + } + } + every_neighbor_country = { + add_popularity = { + ideology = revolutionary + popularity = 0.05 + } } } - } + } - #Focus for Strategic Bombing - focus = { - id = strategicbombing - icon = GFX_goal_poland_goal - ai_will_do = { factor = 2 } - x =31 - y =2 - mutually_exclusive = { focus = tacticalbombing} - prerequisite = { focus = improvedfighters} - cost = 10 - available_if_capitulated = yes - completion_reward = { - add_doctrine_cost_reduction = { - cost_reduction = 0.75 - uses = 1 - category = battlefield_support_tree - } - add_tech_bonus = { - name = bomber_bonus - bonus = 0.5 - uses = 1 - category = lotr_eagles - category = lotr_fellbeasts + focus = { + id = GON_spark_revolution_dol_amroth + icon = GFX_goal_gon_dam_propaganda + ai_will_do = { factor = 3 } + available = { + DAM = { + revolutionary > 0.40 } } - } - - #Focus for The Ends Justify the Means - focus = { - id = theendsjustifythemeans - icon = GFX_goal_generic_political_pressure - ai_will_do = { factor = 3 } - x =33 - y =2 - mutually_exclusive = { focus = deontologicalethics} - prerequisite = { focus = universityofminastirith} - cost = 10 - available_if_capitulated = yes - completion_reward = { add_ideas = RIV_ends_justify_the_means } - } - - #Focus for Deontological Ethics - focus = { - id = deontologicalethics - icon = GFX_goal_generic_national_unity - ai_will_do = { factor = 5 } - x =35 - y =2 - mutually_exclusive = { focus = theendsjustifythemeans} - prerequisite = { focus = universityofminastirith} - cost = 10 - available_if_capitulated = yes - completion_reward = { add_stability = 0.1 } - } - - #Focus for Carrier Effort - focus = { - id = carriereffort - icon = GFX_goal_generic_navy_carrier - ai_will_do = { factor = 2 } - x =18 - y =3 - mutually_exclusive = { } - prerequisite = { focus = improvednavalstrategies} - cost = 10 - available_if_capitulated = yes - completion_reward = { - add_tech_bonus = { - bonus = 0.5 - uses = 2 - category = lotr_sailing - } - } - } - - #Focus for Heavy Tank Improvements - focus = { - id = heavytankimprovements - icon = GFX_goal_generic_army_tanks - ai_will_do = { factor = 2 } - x =25 - y =3 - mutually_exclusive = { } - prerequisite = { focus = artilleryimprovements} - cost = 10 - available_if_capitulated = yes - completion_reward = { - add_tech_bonus = { - name = cat_heavy_armor - bonus = 0.5 - uses = 1 - category = lotr_machines_siege_equipment - } - } - } - - #Focus for Air Innovations - focus = { - id = geo_airinnovations - icon = GFX_goal_generic_air_fighter2 - ai_will_do = { factor = 2 } - x =31 - y =3 - mutually_exclusive = { } - prerequisite = { focus = strategicbombing} - cost = 10 - available_if_capitulated = yes - completion_reward = { air_experience = 200 } - } - -#Focus for Light Tank Improvements - focus = { - id = lighttankimprovements - icon = GFX_goal_generic_army_tanks - ai_will_do = { factor = 2 } - x =27 - y =3 - mutually_exclusive = { } - prerequisite = { focus = motirizationimprovements} - cost = 10 - available_if_capitulated = yes - completion_reward = { - add_tech_bonus = { - name = cat_light_armor - ahead_reduction = 0.5 - uses = 1 - category = lotr_cavalry_light - } - } - } - - #Focus for Naval Bombers - focus = { - id = navalbombers - icon = GFX_goal_generic_air_naval_bomber - ai_will_do = { factor = 2 } - x =29 - y =3 - mutually_exclusive = { } - prerequisite = { focus = tacticalbombing} - cost = 10 - available_if_capitulated = yes + prerequisite = { focus = GON_spread_the_revolution } + relative_position_id = GON_spread_the_revolution + x = 0 + y = 1 + cost = 10 + will_lead_to_war_with = DAM completion_reward = { - add_tech_bonus = { - name = nav_bomber_bonus - bonus = 0.5 - uses = 1 - category = lotr_eagles - category = lotr_fellbeasts + DAM = { + start_civil_war = { + ideology = revolutionary + size = 0.3 + } } } - } - - #Focus for Wartime Measures - focus = { - id = wartimemeasures - icon = GFX_goal_generic_military_deal - ai_will_do = { factor = 4 } - x =33 - y =3 - mutually_exclusive = { } - prerequisite = { focus = theendsjustifythemeans} - cost = 10 - available_if_capitulated = yes - completion_reward = { add_ideas = GON_wartime_measures } - } - - #Focus for Long Term Economic Plan - focus = { - id = longtermeconomicplan - icon = GFX_goal_generic_scientific_exchange - ai_will_do = { factor = 4 } - x =35 - y =3 - mutually_exclusive = { } - prerequisite = { focus = deontologicalethics} - cost = 10 - available_if_capitulated = yes - completion_reward = { add_ideas = GON_long_term_economic_plan } - } - - #Focus for The Faramir Doctrine - focus = { - id = thefaramirdoctrine - icon = GFX_goal_generic_CAS - ai_will_do = { factor = 7 } - x =30 - y =4 - mutually_exclusive = { } - prerequisite = { focus = geo_airinnovations focus = navalbombers} - cost = 10 - available_if_capitulated = yes - completion_reward = { - add_ideas = GON_faramir_doctrine - } - } - - #Focus for The Grad Strategy - focus = { - id = thegradstrategy - icon = GFX_goal_generic_position_armies - ai_will_do = { factor = 4 } - x =23 - y =4 - mutually_exclusive = { } - prerequisite = { focus = antioliphantweapons} - cost = 10 - available_if_capitulated = yes - completion_reward = { - add_doctrine_cost_reduction = { - cost_reduction = 0.5 - uses = 2 - category = land_doctrine - } - } - } - - #Focus for Expand Military Industry - focus = { - id = expandmilitaryindustry - icon = GFX_goal_generic_construct_mil_factory - ai_will_do = { factor = 10 } - available = { 19 = { is_controlled_by = GON } 21 = { is_controlled_by = GON } 22 = { is_controlled_by = GON }} - x =33 - y =4 - mutually_exclusive = { } - prerequisite = { focus = wartimemeasures} - cost = 10 - available_if_capitulated = yes - completion_reward = { - 19 = { add_extra_state_shared_building_slots = 1 } - 19 = {add_building_construction = { type = arms_factory level = 1 instant_build = yes } } - 21 = { add_extra_state_shared_building_slots = 2 } - 21 = {add_building_construction = { type = arms_factory level = 2 instant_build = yes } } - 22 = { add_extra_state_shared_building_slots = 1 } - 22 = {add_building_construction = { type = arms_factory level = 1 instant_build = yes } } - } - } - - #Focus for Expand Civil Industry - focus = { - id = expandcivilindustry - icon = GFX_goal_generic_construct_civ_factory - ai_will_do = { factor = 10 } - available = { 19 = { is_controlled_by = GON } 21 = { is_controlled_by = GON } 22 = { is_controlled_by = GON }} - x =35 - y =4 - mutually_exclusive = { } - prerequisite = { focus = longtermeconomicplan} - cost = 10 - available_if_capitulated = yes - completion_reward = { - 19 = { add_extra_state_shared_building_slots = 1 } - 19 = {add_building_construction = { type = industrial_complex level = 2 instant_build = yes } } - 21 = { add_extra_state_shared_building_slots = 2 } - 21 = {add_building_construction = { type = industrial_complex level = 2 instant_build = yes } } - 22 = { add_extra_state_shared_building_slots = 1 } - 22 = {add_building_construction = { type = industrial_complex level = 2 instant_build = yes } } - } - } - - #Focus for Invade by Land - focus = { - id = invadebyland - icon = GFX_goal_generic_small_arms - ai_will_do = { factor = 3 } - x =23 - y =5 - mutually_exclusive = { } - prerequisite = { focus = thegradstrategy } - cost = 10 - available_if_capitulated = yes + } + + focus = { + id = GON_the_tolfalas_stalemate + icon = GFX_focus_spr_masters_of_our_own_fate + ai_will_do = { factor = 3 } + prerequisite = { focus = GON_gondor_needs_no_king } + mutually_exclusive = { focus = GON_rally_the_exiled_nobility } + relative_position_id = GON_gondor_needs_no_king + available = { the_other_gondor_exists = yes } + x = -2 + y = 1 + cost = 10 + search_filters = { FOCUS_FILTER_INDUSTRY } completion_reward = { - army_experience = 25 - add_tech_bonus = { - name = motorized_bonus - bonus = 0.5 - uses = 1 - category = lotr_cavalry_carriages - } + add_timed_idea = { idea = increased_austerity days = 180 } } - } + } - #Focus for Invade by Sea - focus = { - id = invadebysea - icon = GFX_goal_generic_amphibious_assault - ai_will_do = { factor = 3 } - x =21 - y =5 - mutually_exclusive = { } - prerequisite = { focus = coastaldefenseprogram} - cost = 10 - available_if_capitulated = yes + focus = { + id = GON_prepare_an_invasion_force + icon = GFX_focus_SOV_the_comecon + ai_will_do = { factor = 3 } + prerequisite = { focus = GON_the_tolfalas_stalemate } + relative_position_id = GON_gondor_needs_no_king + available = { the_other_gondor_exists = yes } + x = -2 + y = 2 + cost = 10 + search_filters = { FOCUS_FILTER_MANPOWER } completion_reward = { - add_tech_bonus = { - name = ITA_marines_and_landing_craft - bonus = 0.5 - uses = 1 - technology = marines - technology = marines2 + add_equipment_to_stockpile = { + type = infantry_equipment + amount = 2500 + } + add_manpower = 25000 + add_equipment_production = { + equipment = { + type = heavy_cruiser_1 + creator = "GON" + } + requested_factories = 1 + progress = 0.9 + amount = 1 } - add_tech_bonus = { - name = ITA_marines_and_landing_craft - bonus = 0.5 - uses = 1 - technology = transport - technology = landing_craft - technology = tank_landing_craft + add_equipment_production = { + equipment = { + type = heavy_cruiser_1 + creator = "GON" + } + requested_factories = 1 + progress = 0.9 + amount = 1 } } - } + } -#Focus for Invade by Air - focus = { - id = invadebyair - icon = GFX_focus_generic_paratrooper - ai_will_do = { factor = 3 } - x =25 - y =5 - mutually_exclusive = { } - prerequisite = { focus = thefaramirdoctrine} - cost = 10 - available_if_capitulated = yes - completion_reward = { - add_tech_bonus = { - name = SHI_special_forces_bonus - bonus = 0.5 - uses = 1 - technology = paratroopers - technology = paratroopers2 - technology = paratroopers3 - } - } - } - - #Focus for Infrastructure Effort - focus = { - id = infrastructureeffort - icon = GFX_goal_generic_construct_infrastructure - ai_will_do = { factor = 7 } - available = { 13 = { is_controlled_by = GON } 19 = { is_controlled_by = GON } 21 = { is_controlled_by = GON } 22 = { is_controlled_by = GON } } - x =34 - y =5 - mutually_exclusive = { } - prerequisite = { focus = expandcivilindustry focus = expandmilitaryindustry} - cost = 10 - available_if_capitulated = yes - completion_reward = { - 13 = {add_building_construction = { type = infrastructure level = 2 instant_build = yes } } - 19 = {add_building_construction = { type = infrastructure level = 2 instant_build = yes } } - 21 = {add_building_construction = { type = infrastructure level = 2 instant_build = yes } } - 22 = {add_building_construction = { type = infrastructure level = 2 instant_build = yes } } - } - } - - #Focus for Dedicated Invasion Force - focus = { - id = dedicatedinvasionforce - icon = GFX_goal_generic_small_arms - ai_will_do = { factor = 9 } - x =23 - y =6 - mutually_exclusive = { } - prerequisite = { focus = invadebyland focus = invadebyair focus = invadebysea} - cost = 10 - available_if_capitulated = yes - completion_reward = { add_manpower = 200000 add_ideas = GON_dedicated_invaders } - } - - #Focus for Infrastructure Effort 2 - focus = { - id = infrastructureeffort2 - icon = GFX_goal_generic_construct_infrastructure - ai_will_do = { factor = 7 } - available = { 16 = { is_controlled_by = GON } 17 = { is_controlled_by = GON } 18 = { is_controlled_by = GON } 15 = { is_controlled_by = GON } 20 = { is_controlled_by = GON } 136 = { is_controlled_by = GON } } - x =34 - y =6 - mutually_exclusive = { } - prerequisite = { focus = infrastructureeffort} - cost = 10 - available_if_capitulated = yes - completion_reward = { - 16 = {add_building_construction = { type = infrastructure level = 2 instant_build = yes } } - 17 = {add_building_construction = { type = infrastructure level = 2 instant_build = yes } } - 18 = {add_building_construction = { type = infrastructure level = 2 instant_build = yes } } - 15 = {add_building_construction = { type = infrastructure level = 2 instant_build = yes } } - 20 = {add_building_construction = { type = infrastructure level = 2 instant_build = yes } } - 136 = {add_building_construction = { type = infrastructure level = 2 instant_build = yes } } - } - } - - #Focus for Experimental Rocketry - focus = { - id = experimentalrocketry - icon = GFX_focus_rocketry - ai_will_do = { factor = 4 } - x =32 - y =7 - mutually_exclusive = { } - prerequisite = { focus = thefaramirdoctrine} - prerequisite = { focus =infrastructureeffort2} - cost = 10 - available_if_capitulated = yes - completion_reward = { - add_tech_bonus = { - name = secret_bonus - bonus = 0.5 - uses = 2 - category = lotr_knowledge_magic - } - } - } - - #Focus for Rocket Research Compound - focus = { - id = rocketresearchcompound - icon = GFX_focus_research - ai_will_do = { factor = 25 } - x =31 - y =8 - mutually_exclusive = { } - prerequisite = { focus = experimentalrocketry} - cost = 10 - available_if_capitulated = yes - completion_reward = { add_research_slot = 1 } - } - - #Focus for geo_nuclear Effort - focus = { - id = geo_nucleareffort - icon = GFX_focus_wonderweapons - ai_will_do = { factor = 5 } - x =33 - y =8 - mutually_exclusive = { } - prerequisite = { focus = experimentalrocketry} - cost = 10 - available_if_capitulated = yes + focus = { + id = GON_the_peoples_fleet + icon = GFX_goal_gon_the_peoples_fleet + ai_will_do = { factor = 3 } + prerequisite = { focus = GON_prepare_an_invasion_force } + #prerequisite = { focus = GON_dockyard_effort } + relative_position_id = GON_gondor_needs_no_king + x = -2 + y = 3 + cost = 10 + search_filters = { FOCUS_FILTER_INDUSTRY } + available = { the_other_gondor_exists = yes } completion_reward = { - add_tech_bonus = { - name = secret_bonus - bonus = 0.5 - uses = 1 - category = lotr_knowledge_magic + # massive dockyard bonus + random_state_add_building_slot_and_doc_x3 = yes + random_state_add_building_slot_and_doc_x3 = yes + + add_timed_idea = { + idea = dockyard_focus + days = 240 } } - }#End of focuses - + } + focus = { + id = GON_rally_the_exiled_nobility + icon = GFX_focus_POL_expand_polish_intelligence + ai_will_do = { factor = 100 } + prerequisite = { focus = GON_the_steward_of_gondor } + mutually_exclusive = { focus = GON_the_tolfalas_stalemate } + relative_position_id = GON_gondor_needs_no_king + x = -4 + y = 1 + cost = 10 + search_filters = { FOCUS_FILTER_MANPOWER FOCUS_FILTER_WAR_SUPPORT } + available = { the_other_gondor_exists = yes } + completion_reward = { + add_war_support = 0.15 + 14 = { + add_manpower = 100000 + } + # Get troops + custom_effect_tooltip = GON_rally_the_exiled_nobility_tt + hidden_effect = { + load_oob = GON_Loyalists + } + } + } + focus = { + id = GON_evacuate_the_treasury + icon = GFX_focus_usa_reestablish_the_gold_standard + ai_will_do = { factor = 100 } + prerequisite = { focus = GON_rally_the_exiled_nobility } + relative_position_id = GON_gondor_needs_no_king + x = -4 + y = 2 + cost = 10 + search_filters = { FOCUS_FILTER_INDUSTRY } + available = { the_other_gondor_exists = yes } + completion_reward = { + # Get a ton of factories on Tolfalas + 14 = { + add_extra_state_shared_building_slots = 8 + add_building_construction = { type = arms_factory level = 4 instant_build = yes } + add_building_construction = { type = industrial_complex level = 4 instant_build = yes } + } + } + } + focus = { + id = GON_liberate_the_capital_from_the_usurpers + icon = GFX_goal_gon_liberate_the_capital_from_the_usurpers + ai_will_do = { factor = 3 } + prerequisite = { focus = GON_evacuate_the_treasury } + relative_position_id = GON_gondor_needs_no_king + x = -4 + y = 3 + cost = 10 + search_filters = { FOCUS_FILTER_ANNEXATION } + available = { the_other_gondor_exists = yes } + completion_reward = { + if = { + limit = { has_war_with = GON } + add_relation_modifier = { + target = GON + modifier = increased_attack_against + } + } + else = { + # War against commie GON, if already at war -> attack bonus + create_wargoal = { + type = annex_everything + target = GON + } + } + } + } } + diff --git a/common/national_focus/harad.txt b/common/national_focus/harad.txt index 94c448a31..912df2a9b 100644 --- a/common/national_focus/harad.txt +++ b/common/national_focus/harad.txt @@ -121,7 +121,7 @@ focus = { #Focus for Civilian Construction Effort focus = { id = civilianconstructioneffort - icon = GFX_goal_generic_construct_civ_factory + icon = GFX_goal_generic_windmile ai_will_do = { factor = 4 } x = 2 y = 1 @@ -141,7 +141,7 @@ focus = { #Focus for Military Construction Effort focus = { id = militaryconstructioneffort - icon = GFX_goal_generic_construct_mil_factory + icon = GFX_goal_generic_anvil ai_will_do = { base = 25 } x = -2 y = 1 @@ -312,7 +312,7 @@ focus = { focus = { id = HAR_build_industry - icon = GFX_goal_generic_construct_civ_factory + icon = GFX_goal_generic_windmile ai_will_do = { base = 20 } @@ -431,7 +431,7 @@ focus = { focus = { id = invest_in_military_industry - icon = GFX_goal_generic_construct_mil_factory + icon = GFX_goal_generic_anvil ai_will_do = { base = 20 } x = 0 y = 1 @@ -491,7 +491,7 @@ focus = { focus = { id = HAR_expand_military_production - icon = GFX_goal_generic_construct_mil_factory + icon = GFX_goal_generic_anvil relative_position_id = defend_against_mordor prerequisite = { focus = defend_against_mordor focus = defense_against_Gondor } x = -1 @@ -618,14 +618,16 @@ focus = { focus = { id = follow_the_dark_lord icon = GFX_goal_sauron_eye - ai_will_do = { factor = 75 } + ai_will_do = { + factor = 75 + modifier = { factor = 0 is_going_belligerent = no } + } x = 13 y = 1 relative_position_id = politicalamelioration prerequisite = { focus = politicalamelioration } cost = 10 completion_reward = { - set_country_flag = path_going_belligerent add_ideas = HAR_follower_of_the_dark_lord } } @@ -929,7 +931,7 @@ focus = { focus = { id = prepare_for_war_against_mordor - icon = GFX_goal_generic_construct_mil_factory + icon = GFX_goal_generic_anvil relative_position_id = go_solo prerequisite = { focus = go_solo } x = -1 @@ -949,7 +951,7 @@ focus = { focus = { id = HAR_ready_the_army - icon = GFX_goal_generic_construct_mil_factory + icon = GFX_goal_generic_political_pressure relative_position_id = prepare_for_war_against_mordor prerequisite = { focus = prepare_for_war_against_mordor } x = 0 diff --git a/common/national_focus/isengard.txt b/common/national_focus/isengard.txt index 53a7369ef..6b34bbfa2 100644 --- a/common/national_focus/isengard.txt +++ b/common/national_focus/isengard.txt @@ -1,5 +1,5 @@ focus_tree = { -id = 'isengard' +id = isengard country = { factor=0 modifier = { @@ -10,6 +10,8 @@ country = { continuous_focus_position = { x = 50 y = 2000 } +shared_focus = whc_rekindlewhitecouncil + default = no #Custom focuses start here @@ -38,7 +40,7 @@ default = no prerequisite = { focus = thefateofisengard} cost = 10 available_if_capitulated = yes - completion_reward = { set_country_flag = path_going_cooperative add_ideas = ISE_ways_of_the_light } + completion_reward = { add_ideas = ISE_ways_of_the_light } } #Focus for Ways of the Dark @@ -53,7 +55,6 @@ default = no cost = 10 available_if_capitulated = yes completion_reward = { - set_country_flag = path_going_belligerent add_ideas = ISE_ways_of_the_dark } } @@ -322,7 +323,9 @@ default = no id = rebrandisengard icon = GFX_goal_the_white_hand ai_will_do = { factor = 100 } - available = { belligerent > 0.35 } + available = { + belligerent > 0.35 + } x =6 y =4 mutually_exclusive = { } @@ -333,6 +336,18 @@ default = no lotr_switch_to_orcs = yes set_politics = { ruling_party = belligerent elections_allowed = no } add_named_threat = { threat = 1 name = "Rebranded Isengard" } + hidden_effect = { + if = { + limit = { + GON = { + is_denethor_paranoid = yes + } + } + GON = { + country_event = { id = denethor_paranoid.4 } + } + } + } } } @@ -459,6 +474,7 @@ default = no add_advisor_role = { character = ISE_ugluk advisor = { + idea_token = ISE_ugluk_high_command slot = high_command cost = 150 traits = { army_CombinedArms_1 } @@ -476,6 +492,7 @@ default = no add_advisor_role = { character = ISE_lurtz advisor = { + idea_token = ISE_lurtz_high_command slot = high_command cost = 150 traits = { ring_catcher } @@ -493,6 +510,7 @@ default = no add_advisor_role = { character = ISE_hargor advisor = { + idea_token = ISE_hargor_high_command slot = high_command cost = 150 traits = { army_concealment_1 } @@ -510,6 +528,7 @@ default = no add_advisor_role = { character = ISE_mauhur advisor = { + idea_token = ISE_mauhur_high_command slot = high_command cost = 150 traits = { army_commando_1 } @@ -527,6 +546,7 @@ default = no add_advisor_role = { character = ISE_gara advisor = { + idea_token = ISE_gara_high_command slot = army_chief cost = 150 traits = { army_chief_defensive_1 } @@ -544,6 +564,7 @@ default = no add_advisor_role = { character = ISE_lugdush advisor = { + idea_token = ISE_lugdush_high_command slot = army_chief cost = 150 traits = { army_chief_offensive_1 } @@ -760,6 +781,12 @@ default = no } prerequisite = { focus = claimdominionoverenedwaith} cost = 5 + available = { + ENE = { + controls_state = 77 + controls_state = 156 + } + } available_if_capitulated = no completion_reward = { add_named_threat = { threat = 3 name = "Land seized by Isengard" } @@ -781,6 +808,9 @@ default = no prerequisite = { focus = claimdominionoverenedwaith} cost = 10 available_if_capitulated = no + available = { + ENE = { is_subject = no } + } completion_reward = { ENE = { country_event = { days = 1 id = isengard.4 } } } } @@ -794,6 +824,9 @@ default = no y =7 mutually_exclusive = { focus = subjugateenedwaith} prerequisite = { focus = claimdominionoverenedwaith} + available = { + ENE = { is_subject = no } + } cost = 10 available_if_capitulated = yes completion_reward = { ENE = { add_ideas = ISE_sarumans_influence_f } } @@ -813,6 +846,7 @@ default = no } } NOT = { has_war_with = ENE } + ENE = { is_subject = no } } x =10 @@ -1157,7 +1191,7 @@ default = no } modifier = { add = 5 - strength_ratio = { tag = MOR ratio > 0.7 } + strength_ratio = { tag = MOR ratio > 1.0 } } } available = { has_government = belligerent } diff --git a/common/national_focus/lindon.txt b/common/national_focus/lindon.txt new file mode 100644 index 000000000..8dff9900b --- /dev/null +++ b/common/national_focus/lindon.txt @@ -0,0 +1,22 @@ +focus_tree = { + id = lindon + + country = { + factor=0 + modifier = { + add = 10 + tag = LIN + } + } + + default = no + reset_on_civilwar = no +#############################################default focuses +shared_focus = political_effort +shared_focus = army_effort +shared_focus = aviation_effort +shared_focus = naval_effort +shared_focus = industrial_effort + +shared_focus = ea_theelvenalliance +} \ No newline at end of file diff --git a/common/national_focus/lothlorien.txt b/common/national_focus/lothlorien.txt index 856e027ff..913f5aff7 100644 --- a/common/national_focus/lothlorien.txt +++ b/common/national_focus/lothlorien.txt @@ -1,1763 +1,7077 @@ focus_tree = { -id = 'lothlorien' -country = { - factor=0 - modifier = { - add = 10 - tag = LTH + id = lothlorien + country = { + factor=0 + + modifier = { + add = 10 + original_tag = LTH + } } -} -default = no + default = no + + continuous_focus_position = { x = 250 y = 3000 } -continuous_focus_position = { x = 50 y = 2000 } + shared_focus = whc_rekindlewhitecouncil + shared_focus = ea_theelvenalliance -#Custom focuses start here -#Focus for Fate of Lothlorien - focus = { - id = thefateoflothlorien - icon = GFX_goal_generic_CAS + focus = { + id = lth_acknowledgethemordorthreat + icon = GFX_goal_lth_acknowledgethemordorthreat + + + #relative_position_id = lth_thefateoflothlorien + x =30 + y =0 + + cost = 10 ai_will_do = { factor = 100 } - x =7 - y =0 - mutually_exclusive = { } - prerequisite = { } - cost = 0 - available_if_capitulated = yes - completion_reward = { } -} + prerequisite = { } + search_filters = { FOCUS_FILTER_POLITICAL } + completion_reward = { + # Give PP + add_political_power = 120 + # change from isolationist to vigilant + set_country_leader_ideology = vigilant + add_opinion_modifier = { + target = MOR + modifier = small_decrease + } -#Focus for Acknowledge the Mordor Threat - focus = { - id = acknowledgethemordorthreat - icon = GFX_goal_sauron_eye - ai_will_do = { factor = 80 } - x =7 - y =1 - mutually_exclusive = { } - prerequisite = { focus = thefateoflothlorien} - cost = 10 - available_if_capitulated = yes - completion_reward = { add_political_power = 100 } -} + hidden_effect = { + if = { + limit = { is_ai = yes } + add_ideas = lth_ai_buff + } + } + } + } -#Focus for Prioritize Self Preservation - focus = { - id = prioritizeselfpreservation - icon = GFX_goal_support_unalligned - ai_will_do = { factor = 15 } - available = { unaligned > 0.5 } - x =1 - y =2 - mutually_exclusive = { focus = prioritizevictory } - prerequisite = { focus = acknowledgethemordorthreat} - cost = 10 - available_if_capitulated = yes - completion_reward = { add_ideas = LTH_self_preservation } -} + focus = { + id = lth_thegreatschism + icon = GFX_goal_lth_thegreatschism + + relative_position_id = lth_acknowledgethemordorthreat + x =0 + y =1 -#Focus for Keep the People Fed - focus = { - id = keepthepeoplefed - icon = GFX_goal_generic_consumer_goods - ai_will_do = { factor = 10 } - x =1 - y =3 - mutually_exclusive = { } - prerequisite = { focus = prioritizeselfpreservation} - cost = 10 - available_if_capitulated = yes - completion_reward = { add_ideas = LTH_stout_nation } -} + cost = 15 + ai_will_do = { + factor = 15 + modifier = { + factor = 0 + NOT = { is_going_belligerent = yes } + } + modifier = { + factor = 0 + NOT = { is_going_revolutionary = yes } + } + } + prerequisite = { focus = lth_acknowledgethemordorthreat } + search_filters = { FOCUS_FILTER_POLITICAL } + mutually_exclusive = { focus = lth_immortalendurance } + mutually_exclusive = { focus = lth_beaconofhope } + completion_reward = { + # Remove Galadriel & Celeborn idea + remove_ideas = LTH_celeborn_and_galadriel + # Begin the great schism + add_ideas = LTH_great_schism + add_popularity = { ideology = unaligned popularity = -0.1 } + lth_lower_isolationist_reservations = yes -#Focus for Ensure a stable supply of resources - focus = { - id = ensureastablesupplyofresources - icon = GFX_goal_generic_construct_infrastructure - ai_will_do = { factor = 30 } - available = { 76 = { is_controlled_by = LTH } 75 = { is_controlled_by = LTH } 74 = { is_controlled_by = LTH } } - x =1 - y =4 - mutually_exclusive = { } - prerequisite = { focus = keepthepeoplefed} - cost = 15 - available_if_capitulated = no - completion_reward = { - add_resource = { type = steel amount = 25 state = 76 } - add_resource = { type = oil amount = 25 state = 76 } - add_resource = { type = rubber amount = 25 state = 75 } - add_resource = { type = steel amount = 25 state = 74 } - add_resource = { type = chromium amount = 25 state = 74 } - 75 = { - add_extra_state_shared_building_slots = 4 - add_building_construction = { - type = industrial_complex - level = 4 - instant_build = yes - } - } - } -} + # Start a timer. If the schism isn't mended by the end of it, start a civil war + # between Gala and Cele with advisors and unit leaders split by their allegiance. + hidden_effect = { + activate_mission = great_schism_civil_war + country_event = lothlorien.69 + } + custom_effect_tooltip = lth_thegreatschism_tt + } + } -#Focus for Total Isolation - focus = { - id = totalisolation - icon = GFX_goal_continuous_restrict_freedom - ai_will_do = { factor = 5 } - x =2 - y =5 - mutually_exclusive = { focus = maintaintraderelations} - prerequisite = { focus = ensureastablesupplyofresources} - cost = 5 - available_if_capitulated = no - completion_reward = { add_ideas = closed_economy add_ideas = LTH_total_isolation set_rule = { can_join_factions = no } } -} + focus = { + id = lth_preemtptivedepartures + icon = GFX_goal_lth_preemtptivedepartures + + relative_position_id = lth_thegreatschism + x =0 + y =1 -#Focus for Maintain Trade Relations - focus = { - id = maintaintraderelations - icon = GFX_goal_generic_positive_trade_relations - ai_will_do = { factor = 5 } - x =0 - y =5 - mutually_exclusive = { focus = totalisolation } - prerequisite = { focus = ensureastablesupplyofresources} - cost = 10 - available_if_capitulated = no - completion_reward = { add_ideas = LTH_enhanced_trade } -} + cost = 5 + ai_will_do = { factor = 1 } + prerequisite = { focus = lth_thegreatschism } + search_filters = { FOCUS_FILTER_POLITICAL } + bypass = { + has_global_flag = lth_civil_war + } + available = { + NOT = { has_completed_focus = lth_galadrielsfarewell } + NOT = { has_completed_focus = lth_mendtheschism } + NOT = { has_completed_focus = lth_celebornsexile } + } + completion_reward = { + # Unlock decisions to preemptively send elves to valinor, decreasing their group's influence + custom_effect_tooltip = lth_preemtptivedepartures_focus_tt + } + } -#Focus for Prepare for the Worst - focus = { - id = preparefortheworst - icon = GFX_goal_generic_fortify_city - ai_will_do = { factor = 20 } - available = { 76 = { is_controlled_by = LTH } 75 = { is_controlled_by = LTH } 74 = { is_controlled_by = LTH } } - x =1 - y =6 - mutually_exclusive = { } - prerequisite = { focus = maintaintraderelations focus = totalisolation} - cost = 12 - available_if_capitulated = yes - completion_reward = { - 75 = { add_building_construction = { type = bunker level = 10 instant_build = yes province = 3125 } } - 75 = { add_building_construction = { type = bunker level = 10 instant_build = yes province = 5094 } } - - 75 = { add_building_construction = { type = bunker level = 4 instant_build = yes province = 3335 } } - 75 = { add_building_construction = { type = bunker level = 4 instant_build = yes province = 6451 } } - 75 = { add_building_construction = { type = bunker level = 4 instant_build = yes province = 6455 } } - 75 = { add_building_construction = { type = bunker level = 4 instant_build = yes province = 3414 } } - 75 = { add_building_construction = { type = bunker level = 4 instant_build = yes province = 6445 } } - 75 = { add_building_construction = { type = bunker level = 4 instant_build = yes province = 3438 } } - 75 = { add_building_construction = { type = bunker level = 4 instant_build = yes province = 5083 } } - 75 = { add_building_construction = { type = bunker level = 4 instant_build = yes province = 2202 } } - 75 = { add_building_construction = { type = bunker level = 4 instant_build = yes province = 3538 } } - 75 = { add_building_construction = { type = bunker level = 4 instant_build = yes province = 6366 } } - - 74 = { add_building_construction = { type = bunker level = 4 instant_build = yes province = 6417 } } - 74 = { add_building_construction = { type = bunker level = 4 instant_build = yes province = 3285 } } - 74 = { add_building_construction = { type = bunker level = 4 instant_build = yes province = 6410 } } - 74 = { add_building_construction = { type = bunker level = 4 instant_build = yes province = 3198 } } - 74 = { add_building_construction = { type = bunker level = 4 instant_build = yes province = 4812 } } - 74 = { add_building_construction = { type = bunker level = 4 instant_build = yes province = 2191 } } - 74 = { add_building_construction = { type = bunker level = 4 instant_build = yes province = 6396 } } - 74 = { add_building_construction = { type = bunker level = 4 instant_build = yes province = 3440 } } - 74 = { add_building_construction = { type = bunker level = 4 instant_build = yes province = 5248 } } - - 76 = { add_building_construction = { type = bunker level = 4 instant_build = yes province = 4413 } } - 76 = { add_building_construction = { type = bunker level = 4 instant_build = yes province = 2736 } } - 76 = { add_building_construction = { type = bunker level = 4 instant_build = yes province = 2089 } } - 76 = { add_building_construction = { type = bunker level = 4 instant_build = yes province = 4082 } } - 76 = { add_building_construction = { type = bunker level = 4 instant_build = yes province = 4439 } } - - 160 = { add_building_construction = { type = bunker level = 4 instant_build = yes province = 2616 } } - 160 = { add_building_construction = { type = bunker level = 4 instant_build = yes province = 6627 } } - 160 = { add_building_construction = { type = bunker level = 4 instant_build = yes province = 4220 } } - 160 = { add_building_construction = { type = bunker level = 4 instant_build = yes province = 4061 } } - 160 = { add_building_construction = { type = bunker level = 4 instant_build = yes province = 3149 } } + focus = { + id = lth_appointedrepresentatives + icon = GFX_goal_lth_appointedrepresentatives + + relative_position_id = lth_thegreatschism + x =-1 + y =2 - - } -} + cost = 5 + ai_will_do = { factor = 0 } + prerequisite = { focus = lth_thegreatschism } + search_filters = { FOCUS_FILTER_POLITICAL } + mutually_exclusive = { focus = lth_electedrepresentatives } + bypass = { + has_global_flag = lth_civil_war + } + available = { + NOT = { has_completed_focus = lth_galadrielsfarewell } + NOT = { has_completed_focus = lth_mendtheschism } + NOT = { has_completed_focus = lth_celebornsexile } + } + completion_reward = { + lthi_increase_influence_halfelves_minor = yes + lthi_increase_influence_noldor_minor = yes -#Focus for Prepare for the Worst - focus = { - id = preparefortheworst2 - icon = GFX_goal_generic_fortify_city - ai_will_do = { factor = 20 } - available = { 76 = { is_controlled_by = LTH } 75 = { is_controlled_by = LTH } 74 = { is_controlled_by = LTH } } - x =1 - y =7 - mutually_exclusive = { } - prerequisite = { focus = preparefortheworst} - cost = 12 - available_if_capitulated = yes - completion_reward = { - add_ideas = LTH_unflinching_defender - every_core_state = { add_building_construction = { type = anti_air_building level = 5 instant_build = yes } } - } -} + # Next advisor hired costs 50% + custom_effect_tooltip = lth_appointedrepresentatives_tt -#Focus for Endure the Darkness - focus = { - id = endurethedarkness - icon = GFX_goal_generic_national_unity - ai_will_do = { factor = 15 } - x =1 - y =8 - mutually_exclusive = { } - prerequisite = { focus = preparefortheworst2} - cost = 12 - available_if_capitulated = no - completion_reward = { - add_stability = 0.3 - add_ideas = LTH_exceptional_endurance - set_rule = { can_send_volunteers = yes } - add_ideas = limited_interventionism + hidden_effect = { + if = { + limit = { + amount_taken_ideas = { amount < 1 slots = { treasurer spymaster political_advisor } } + } + add_ideas = lth_next_advisor_cheaper_0 + } + else_if = { + limit = { + amount_taken_ideas = { amount < 2 slots = { treasurer spymaster political_advisor } } + } + add_ideas = lth_next_advisor_cheaper_1 + } + else_if = { + limit = { + amount_taken_ideas = { amount < 3 slots = { treasurer spymaster political_advisor } } + } + add_ideas = lth_next_advisor_cheaper_2 + } + else_if = { + limit = { + amount_taken_ideas = { amount < 4 slots = { treasurer spymaster political_advisor } } + } + add_ideas = lth_next_advisor_cheaper_3 + } + } + } } -} -#Focus for Extra research slot focus = { - id = LTH_extraresearchslot - icon = GFX_focus_research - ai_will_do = { factor = 15 } - x =1 - y =9 - mutually_exclusive = { } - prerequisite = { focus = endurethedarkness} - cost = 10 - available_if_capitulated = yes - completion_reward = { - add_research_slot = 1 - } -} + id = lth_electedrepresentatives + icon = GFX_goal_lth_electedrepresentatives + + relative_position_id = lth_thegreatschism + x =1 + y =2 -#Focus for Prioritize Victory - focus = { - id = prioritizevictory - icon = GFX_focus_generic_support_the_left_right - ai_will_do = { - factor = 25 - } - x =7 - y =2 - mutually_exclusive = { focus = prioritizeselfpreservation } - prerequisite = { focus = acknowledgethemordorthreat } - cost = 10 - available_if_capitulated = yes - completion_reward = { army_experience = 25 } -} + cost = 5 + ai_will_do = { factor = 50 } + prerequisite = { focus = lth_thegreatschism } + search_filters = { FOCUS_FILTER_POLITICAL } + mutually_exclusive = { focus = lth_appointedrepresentatives } + bypass = { + has_global_flag = lth_civil_war + } + available = { + NOT = { has_completed_focus = lth_galadrielsfarewell } + NOT = { has_completed_focus = lth_mendtheschism } + NOT = { has_completed_focus = lth_celebornsexile } + } + completion_reward = { + lthi_increase_influence_sindar_minor = yes + lthi_increase_influence_nandor_minor = yes + # Hire a bunch of random advisors + hidden_effect = { lthi_hire_random_advisors = yes } + custom_effect_tooltip = lth_electedrepresentatives_tt + + } + } -#Focus for Take the Ring from Frodo - focus = { - id = taketheringfromfrodo - icon = GFX_goal_the_one_ring - ai_will_do = { factor = 80 } - available = { always = no} - x =5 - y =1 - mutually_exclusive = { focus = gearupthefellowship } - prerequisite = { focus = offersheltertothefellowship } - cost = 1 - available_if_capitulated = yes - completion_reward = { } -} + focus = { + id = lth_publiccelebrations + icon = GFX_goal_lth_publiccelebrations + + relative_position_id = lth_thegreatschism + x =0 + y =7 -#Focus for Offer Shelter to the Fellowship - focus = { - id = offersheltertothefellowship - icon = GFX_goal_generic_national_unity + cost = 10 ai_will_do = { factor = 100 } - available = { always = no } - x =4 - y =0 - mutually_exclusive = { } - prerequisite = { } - cost = 2 - available_if_capitulated = yes - } - - #Focus for Gear up the Fellowship - focus = { - id = gearupthefellowship - icon = GFX_goal_generic_small_arms - ai_will_do = { factor = 100 } - available = {always = no } - x =3 - y =1 - mutually_exclusive = { focus = taketheringfromfrodo } - prerequisite = { focus = offersheltertothefellowship} - cost = 1 - available_if_capitulated = yes - completion_reward = { } - } - - #Focus for Imperial Glory - focus = { - id = imperialglory - icon = GFX_goal_generic_secret_weapon - available = { has_government = belligerent } - ai_will_do = { factor = 8 } - x =13 - y =11 - mutually_exclusive = { } - prerequisite = { focus = antidrawvensentiment focus = antimensentiment focus = antiorcsentiment } - cost = 5 - available_if_capitulated = yes - completion_reward = { - create_faction = "elven_sovereignity_coalition" - } - } - - #Focus for Victory through Strength - focus = { - id = victorythroughstrength - icon = GFX_goal_support_belligerent - ai_will_do = { factor = 25 } - x =13 - y =3 - mutually_exclusive = { focus = victorythroughunity focus = victorythroughequity focus = victorythroughsubmission} - prerequisite = { focus = prioritizevictory} - cost = 10 - available_if_capitulated = yes - completion_reward = { add_ideas = generic_belligerent_intermediate add_threat = 2 } - } - - #Focus for Victory through Unity - focus = { - id = victorythroughunity - icon = GFX_goal_generic_national_unity - ai_will_do = { factor = 25 } - x =5 - y =3 - mutually_exclusive = { focus = victorythroughequity focus = victorythroughstrength focus = victorythroughsubmission} - prerequisite = { focus = prioritizevictory} - cost = 10 - available_if_capitulated = yes - completion_reward = { add_ideas = generic_cooperative_intermediate } - } - - #Focus for Declaration of Liberty - focus = { - id = declarationofliberty - icon = GFX_goal_support_cooperative - ai_will_do = { factor = 20 } - available = { cooperative > 0.4 } - x =5 - y =4 - mutually_exclusive = { } - prerequisite = { focus = victorythroughunity} - cost = 10 - available_if_capitulated = yes - completion_reward = { set_politics = { ruling_party = cooperative elections_allowed = no } } - } - -#Focus for Support the Strongest - focus = { - id = supportthestrongest - icon = GFX_goal_generic_demand_territory - ai_will_do = { factor = 10 } - available = { NOT = { GON = { has_government = belligerent } } } - x =4 - y =5 - mutually_exclusive = { focus = protectthevulnerable } - prerequisite = { focus = declarationofliberty} - cost = 10 - available_if_capitulated = yes - completion_reward = { - GON = { add_opinion_modifier = { target = LTH modifier = large_increase } } - ROH = { add_opinion_modifier = { target = LTH modifier = large_increase } } + prerequisite = { focus = lth_consulttheelves } + search_filters = { FOCUS_FILTER_POLITICAL } + bypass = { + has_global_flag = lth_civil_war } -} + available = { + NOT = { has_completed_focus = lth_galadrielsfarewell } + NOT = { has_completed_focus = lth_mendtheschism } + NOT = { has_completed_focus = lth_celebornsexile } + } + select_effect = { + custom_effect_tooltip = lth_publiccelebrations_tt + # Give event where we can choose someone to give a speech + hidden_effect = { + if = { + limit = { is_ai = no } + country_event = celebrations.1 + } + # I don't wanna do all the AI will do weights for the celebration events + # So, I'll just put the outcome of the final event here + else_if = { + limit = { is_ai = yes is_going_belligerent = yes } + lthi_celebrations_increase_influence_noldor_major = yes + lthi_decrease_influence_sindar_intermediate = yes + add_war_support = 0.1 + add_stability = 0.1 + } + else_if = { + limit = { is_ai = yes is_going_revolutionary = yes } + lthi_celebrations_increase_influence_sindar_major = yes + lthi_decrease_influence_noldor_intermediate = yes + add_war_support = 0.1 + add_stability = 0.1 + } + } + } + } -#Focus for Ask Gondor to join - focus = { - id = askgondortojoin - icon = GFX_goal_gondor - available = { GON = { is_faction_leader = yes } } - ai_will_do = { - factor = 5 - modifier = { - add = -5 - is_in_faction = yes + focus = { + id = lth_consulttheelves + icon = GFX_goal_lth_consulttheelves + + relative_position_id = lth_thegreatschism + x =0 + y =5 + + cost = 10 + ai_will_do = { factor = 50 } + prerequisite = { focus = lth_preemtptivedepartures focus = lth_alordsprerogative focus = lth_ringbearersedicts } + search_filters = { FOCUS_FILTER_POLITICAL } + bypass = { + OR = { + has_war_with = RIV + has_war_with = MIR + has_war_with = LIN + has_global_flag = lth_civil_war + } + } + available = { + NOT = { has_completed_focus = lth_galadrielsfarewell } + NOT = { has_completed_focus = lth_mendtheschism } + NOT = { has_completed_focus = lth_celebornsexile } + } + completion_reward = { + # Send out events to RIV, MIR and LIN. Their reponse will increase a factions influence + custom_effect_tooltip = lth_consulttheelves_tt + hidden_effect = { + RIV = { country_event = { id = lothlorien.8 days = 5 } } + MIR = { country_event = { id = lothlorien.8 days = 7 } } + LIN = { country_event = { id = lothlorien.8 days = 9 } } } } - bypass = { is_in_faction_with = GON } - x =4 - y =6 - mutually_exclusive = { } - prerequisite = { focus = supportthestrongest} - cost = 12 - available_if_capitulated = yes - completion_reward = { GON = { country_event = { days = 0 id = lothlorien.1 } } } -} + } -#Focus for Share knowledge with Men - focus = { - id = shareknowledgewithmen - icon = GFX_goal_generic_gondor_research - available = { is_in_faction_with = GON } - ai_will_do = { factor = 5 } - x =4 - y =7 - mutually_exclusive = { } - prerequisite = { focus = askgondortojoin} - cost = 12 - available_if_capitulated = yes - completion_reward = { - add_tech_bonus = { - name = LTH_share_knowledge - bonus = 0.5 - uses = 2 - category = lotr_labour_construction_industry + focus = { + id = lth_ringbearersedicts + icon = GFX_goal_lth_galadrielsvision + + relative_position_id = lth_thegreatschism + x =-1 + y =4 + + cost = 5 + ai_will_do = { + factor = 50 + modifier = { + factor = 0 + NOT = { is_going_belligerent = yes } } - GON = { - add_tech_bonus = { - name = LTH_share_knowledge - bonus = 0.5 - uses = 2 - category = lotr_labour_construction_industry + } + prerequisite = { focus = lth_thegreatschism } + search_filters = { FOCUS_FILTER_POLITICAL } + mutually_exclusive = { focus = lth_alordsprerogative } + bypass = { + has_global_flag = lth_civil_war + } + available = { + NOT = { has_completed_focus = lth_galadrielsfarewell } + NOT = { has_completed_focus = lth_mendtheschism } + NOT = { has_completed_focus = lth_celebornsexile } + } + completion_reward = { + # Event that gives random swing, with preference to gala + random_list = { + 25 = { + modifier = { + factor = 0 + has_country_flag = mirror_predicted_gala_edicts_bad + } + modifier = { + factor = 0 + is_ai = yes + } + event_option_tooltip = lothlorien.37.a + hidden_effect = { country_event = { id = lothlorien.37 days = 1 } } + } + 75 = { + modifier = { + factor = 0 + has_country_flag = mirror_predicted_gala_edicts_good + } + event_option_tooltip = lothlorien.36.a + hidden_effect = { country_event = { id = lothlorien.36 days = 1 } } } } + custom_effect_tooltip = mirror_predictable } -} + } -#Focus for Protect the Vulnerable - focus = { - id = protectthevulnerable - icon = GFX_goal_generic_defence - ai_will_do = { factor = 12 } - x =6 - y =5 - mutually_exclusive = { focus = supportthestrongest } - prerequisite = { focus = declarationofliberty} - cost = 10 - available_if_capitulated = yes - completion_reward = { - every_country = { - limit = { - NOT = { has_idea = not_of_me } - NOT = { tag = NEP } - NOT = { belligerent > 0.45 } - NOT = { has_government = belligerent } - NOT = { is_in_faction = yes } - NOT = { is_puppet = yes } - any_neighbor_country = { - strength_ratio = { tag = PREV ratio > 2.0 } - } + focus = { + id = lth_alordsprerogative + icon = GFX_goal_lth_celeborncounsel + + relative_position_id = lth_thegreatschism + x =1 + y =4 + + cost = 5 + ai_will_do = { + factor = 50 + modifier = { + factor = 0 + NOT = { is_going_revolutionary = yes } + } + } + prerequisite = { focus = lth_thegreatschism } + search_filters = { FOCUS_FILTER_POLITICAL } + mutually_exclusive = { focus = lth_ringbearersedicts } + bypass = { + has_global_flag = lth_civil_war + } + available = { + NOT = { has_completed_focus = lth_galadrielsfarewell } + NOT = { has_completed_focus = lth_mendtheschism } + NOT = { has_completed_focus = lth_celebornsexile } + } + completion_reward = { + # Event that gives random swing, with preference to cele + random_list = { + 25 = { + modifier = { + factor = 0 + has_country_flag = mirror_predicted_cele_edicts_bad + } + modifier = { + factor = 0 + is_ai = yes + } + event_option_tooltip = lothlorien.39.a + hidden_effect = { country_event = { id = lothlorien.39 days = 1 } } + } + 75 = { + modifier = { + factor = 0 + has_country_flag = mirror_predicted_cele_edicts_good } - LTH = { give_guarantee = PREV } + event_option_tooltip = lothlorien.38.a + hidden_effect = { country_event = { id = lothlorien.38 days = 1 } } + } } + custom_effect_tooltip = mirror_predictable } -} + } -#Focus for Elven Protection League - focus = { - id = elvenprotectionleague - icon = GFX_goal_generic_small_arms - ai_will_do = { factor = 3 } - x =6 - y =6 - mutually_exclusive = { } - prerequisite = { focus = protectthevulnerable} - cost = 10 - available_if_capitulated = yes - completion_reward = { - add_ideas = LTH_elven_protection_league - add_threat = -2 + focus = { + id = lth_immortalendurance + icon = GFX_goal_lth_immortalendurance + + relative_position_id = lth_acknowledgethemordorthreat + x =-18 + y =1 + + cost = 10 + ai_will_do = { + factor = 50 + modifier = { + factor = 0 + NOT = { is_going_unaligned = yes } + } } -} + prerequisite = { focus = lth_acknowledgethemordorthreat } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_UNALIGNED } + mutually_exclusive = { focus = lth_thegreatschism } + mutually_exclusive = { focus = lth_beaconofhope } + completion_reward = { + # Switch ideology back to isolationist + set_country_leader_ideology = isolationist + # Add idea that grants growing bonuses over time + hidden_effect = { + set_variable = { lth_immortal_endurance_bonus = 0.02 } + add_dynamic_modifier = { + modifier = lth_immortal_endurance_modifier + } + } + custom_effect_tooltip = lth_add_immortal_endurance_tt + } + } -#Focus for Freedom Defense Committee - focus = { - id = freedomdefensecommittee - icon = GFX_goal_generic_build_tank - ai_will_do = { factor = 3 } - x =6 - y =7 - mutually_exclusive = { } - prerequisite = { focus = elvenprotectionleague} - cost = 10 - available_if_capitulated = yes - completion_reward = { air_experience = 50 army_experience = 50 } -} + focus = { + id = lth_totalisoltation + icon = GFX_goal_lth_totalisoltation + + relative_position_id = lth_immortalendurance + x =-2 + y =1 -#Focus for Wartime Intervention - focus = { - id = wartimeintervention - icon = GFX_goal_generic_territory_or_war - available = { threat > 0.3 } - ai_will_do = { factor = 10 } - x =5 - y =9 - mutually_exclusive = { } - prerequisite = { focus = declarationofliberty} - cost = 10 - available_if_capitulated = yes - completion_reward = { add_threat = 2 } -} + cost = 10 + ai_will_do = { factor = 24 } + prerequisite = { focus = lth_immortalendurance } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_UNALIGNED } + mutually_exclusive = { focus = lth_limitedintervention } + completion_reward = { + # Switch to survivalist + set_country_leader_ideology = survivalist -#Focus for The Angmar Plan - focus = { - id = theangmarplan - icon = GFX_goal_angmar_unalligned - ai_will_do = { factor = 5 } - available = { ANG = { exists = yes has_government = belligerent OR = { has_offensive_war = yes has_added_tension_amount > 30 } } } - x =1 - y =10 - mutually_exclusive = { } - prerequisite = { focus = wartimeintervention} - cost = 10 - available_if_capitulated = yes - completion_reward = { ANG = { add_opinion_modifier = { target = LTH modifier = large_decrease } } } -} + # Only as tooltip, because this is included in the total_isolation idea + #effect_tooltip = { + # set_rule = { + # can_join_factions = no + # can_send_volunteers = no + # can_access_market = no + # } + #} -#Focus for Embargo Angmar - focus = { - id = embargoangmar - icon = GFX_goal_generic_trade - ai_will_do = { factor = 5 } - available = { country_exists = ANG OR = { ANG = { has_added_tension_amount > 30 } threat > 0.6 } } - x =1 - y =11 - mutually_exclusive = { } - prerequisite = { focus = theangmarplan} - cost = 10 - available_if_capitulated = yes - completion_reward = { ANG = { add_opinion_modifier = { target = LTH modifier = embargo } } } -} + if = { + limit = { has_idea = LTH_isolationist_reservations_3 } + swap_ideas = { + remove_idea = LTH_isolationist_reservations_3 + add_idea = LTH_total_isolation_idea + } + } + else_if = { + limit = { has_idea = LTH_isolationist_reservations_2 } + swap_ideas = { + remove_idea = LTH_isolationist_reservations_2 + add_idea = LTH_total_isolation_idea + } + } + else_if = { + limit = { has_idea = LTH_isolationist_reservations_1 } + swap_ideas = { + remove_idea = LTH_isolationist_reservations_1 + add_idea = LTH_total_isolation_idea + } + } + } + } -#Focus for The Isengard Plan - focus = { - id = theisengardplan - icon = GFX_goal_the_white_hand - ai_will_do = { factor = 5 } - available = { ISE = { exists = yes has_government = belligerent OR = { has_offensive_war = yes has_added_tension_amount > 30 } } } - x =3 - y =10 - mutually_exclusive = { } - prerequisite = { focus = wartimeintervention} - cost = 10 - available_if_capitulated = yes - completion_reward = { ISE = { add_opinion_modifier = { target = LTH modifier = large_decrease } } } -} + focus = { + id = lth_sealtheborders + icon = GFX_goal_lth_sealtheborders + + relative_position_id = lth_totalisoltation + x =-1 + y =1 -#Focus for Embargo Isengard - focus = { - id = embargoisengard - icon = GFX_goal_generic_trade - ai_will_do = { factor = 5 } - available = { country_exists = ISE OR = { ISE = { has_added_tension_amount > 30 } threat > 0.6 } } - x =3 - y =11 - mutually_exclusive = { } - prerequisite = { focus = theisengardplan} - cost = 11 - available_if_capitulated = yes - completion_reward = { ISE = { add_opinion_modifier = { target = LTH modifier = embargo } } } -} + cost = 5 + ai_will_do = { factor = 15 } + prerequisite = { focus = lth_totalisoltation } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_UNALIGNED } + available = { + lthi_has_200_nandor_influence = yes + } + completion_reward = { + # close trade + add_ideas = lth_special_closed_economy + add_ideas = LTH_borders_sealed + } + } -#Focus for The Mordor Plan - focus = { - id = themordorplan - icon = GFX_goal_mordor - ai_will_do = { factor = 5 } - available = { MOR = { exists = yes has_government = belligerent OR = { has_offensive_war = yes has_added_tension_amount > 30 } } } - x =5 - y =10 - mutually_exclusive = { } - prerequisite = { focus = wartimeintervention} - cost = 10 - available_if_capitulated = yes - completion_reward = { MOR = { add_opinion_modifier = { target = LTH modifier = large_decrease } } } -} + focus = { + id = lth_thehiddenrealm + icon = GFX_goal_lth_thehiddenrealm + + relative_position_id = lth_totalisoltation + x =-1 + y =3 -#Focus for Embargo Mordor - focus = { - id = embargomordor - icon = GFX_goal_generic_trade - ai_will_do = { factor = 5 } - available = { country_exists = MOR OR = { MOR = { has_added_tension_amount > 30 } threat > 0.6 } } - x =5 - y =11 - mutually_exclusive = { } - prerequisite = { focus = themordorplan} - cost = 10 - available_if_capitulated = yes - completion_reward = { MOR = { add_opinion_modifier = { target = LTH modifier = embargo } } } -} + cost = 10 + ai_will_do = { factor = 15 } + prerequisite = { focus = lth_sealtheborders } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_UNALIGNED } + completion_reward = { + # add idea that removes enemy intel, increases justification time, adds defense etc. + swap_ideas = { + remove_idea = LTH_borders_sealed + add_idea = LTH_hidden_realm + } -#Focus for The Rhun Plan - focus = { - id = therhunplan - icon = GFX_wargoal_rhun - ai_will_do = { factor = 5 } - available = { RHU = { exists = yes has_government = belligerent OR = { has_offensive_war = yes has_added_tension_amount > 30 } } } - x =7 - y =10 - mutually_exclusive = { } - prerequisite = { focus = wartimeintervention} - cost = 10 - available_if_capitulated = yes - completion_reward = { RHU = { add_opinion_modifier = { target = LTH modifier = large_decrease } } } -} + } + } -#Focus for Embargo Rhun - focus = { - id = embargorhun - icon = GFX_goal_generic_trade - ai_will_do = { factor = 5 } - available = { country_exists = RHU OR = { RHU = { has_added_tension_amount > 30 } threat > 0.6 } } - x =7 - y =11 - mutually_exclusive = { } - prerequisite = { focus = therhunplan} - cost = 10 - available_if_capitulated = yes - completion_reward = { ISE = { add_opinion_modifier = { target = LTH modifier = embargo } } } -} + focus = { + id = lth_guardiansofthesilverwood + icon = GFX_goal_lth_guardiansofthesilverwood + + relative_position_id = lth_totalisoltation + x =-2 + y =2 -#Focus for The Harad Plan - focus = { - id = theharadplan - icon = GFX_wargoal_harad - ai_will_do = { factor = 5 } - available = { HAR = { exists = yes has_government = belligerent OR = { has_offensive_war = yes has_added_tension_amount > 30 } } } - x =9 - y =10 - mutually_exclusive = { } - prerequisite = { focus = wartimeintervention} - cost = 10 - available_if_capitulated = yes - completion_reward = { HAR = { add_opinion_modifier = { target = LTH modifier = large_decrease } } } -} + cost = 10 + ai_will_do = { factor = 50 } + prerequisite = { focus = lth_totalisoltation } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_UNALIGNED } + available = { + lthi_has_100_nandor_influence = yes + } + completion_reward = { + # add idea + add_ideas = LTH_unflinching_defender + } + } -#Focus for Embargo Harad - focus = { - id = embargoharad - icon = GFX_goal_generic_trade - ai_will_do = { factor = 5 } - available = { country_exists = HAR OR = { HAR = { has_added_tension_amount > 30 } threat > 0.6 } } - x =9 - y =11 - mutually_exclusive = { } - prerequisite = { focus = theharadplan} - cost = 10 - available_if_capitulated = yes - completion_reward = { HAR = { add_opinion_modifier = { target = LTH modifier = embargo } } } -} + focus = { + id = lth_endurethedarkness + icon = GFX_goal_lth_endurethedarkness + + relative_position_id = lth_totalisoltation + x =0 + y =4 -#Focus for Limited Intervention - focus = { - id = limitedintervention - icon = GFX_goal_generic_more_territorial_claims - ai_will_do = { factor = 8 } - x =6 - y =12 - mutually_exclusive = { focus = directintervention } - prerequisite = { focus = embargoangmar focus = embargoisengard focus = embargorhun focus = embargoharad focus = embargomordor } - cost = 8 - available_if_capitulated = yes - completion_reward = { - add_ideas = limited_interventionism - set_rule = { can_send_volunteers = yes } + cost = 10 + ai_will_do = { factor = 25 } + prerequisite = { focus = lth_totalisoltation } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_UNALIGNED } + completion_reward = { + # Increase the maximum cap of immortal endurance to 50% and make it grow at 5% per year, instead of 3% + # NOTE: This is taken care of automatically in scripted effects + custom_effect_tooltip = lth_endurethedarkness_tt } -} + } -#Focus for Direct Intervention - focus = { - id = directintervention - icon = GFX_goal_generic_major_war - ai_will_do = { factor = 6 } - available = { country_exists = MOR OR = { MOR = { has_added_tension_amount > 30 } threat > 0.6 } } - x =4 - y =12 - mutually_exclusive = { focus = limitedintervention } - prerequisite = { focus = embargoangmar focus = embargoisengard focus = embargorhun focus = embargoharad focus = embargomordor } - cost = 10 - available_if_capitulated = yes - completion_reward = { create_wargoal = { type = puppet_wargoal_focus target = MOR } } -} + focus = { + id = lth_thelaststand + icon = GFX_goal_lth_thelaststand + + relative_position_id = lth_totalisoltation + x =0 + y =5 - #Focus for Victory through Submission - focus = { - id = victorythroughsubmission - icon = GFX_focus_CZE_german_puppet - ai_will_do = { factor = 20 } - x =17 - y =3 - mutually_exclusive = { focus = victorythroughunity focus = victorythroughstrength focus = victorythroughequity} - prerequisite = { focus = prioritizevictory} - cost = 10 - available_if_capitulated = yes - completion_reward = { - add_ideas = generic_belligerent_intermediate - set_global_flag = lorien_submission - } - } - - #Focus for Victory through Equity - focus = { - id = victorythroughequity - icon = GFX_focus_generic_join_comintern - ai_will_do = { factor = 20 } - x =9 - y =3 - mutually_exclusive = { focus = victorythroughunity focus = victorythroughstrength focus = victorythroughsubmission} - prerequisite = { focus = prioritizevictory} - cost = 10 - available_if_capitulated = yes - completion_reward = { add_ideas = generic_revolutionary_intermediate } - } - - #Focus for Global Aspirations - focus = { - id = globalaspirations - icon = GFX_focus_generic_military_mission - ai_will_do = { factor = 5 } - x =12 - y =4 - mutually_exclusive = { } - prerequisite = { focus = victorythroughstrength} - cost = 10 - available_if_capitulated = yes - completion_reward = { - add_ideas = LTH_global_aspirations - add_threat = 3 - } - } - - #Focus for Spiritual Mobilization - focus = { - id = spiritualmobilization - icon = GFX_goal_generic_propaganda - ai_will_do = { factor = 5 } - x =14 - y =4 - mutually_exclusive = { } - prerequisite = { focus = victorythroughstrength} - cost = 10 - available_if_capitulated = yes + cost = 5 + ai_will_do = { + factor = 25 + modifier = { + factor = 5 + any_enemy_country = { + strength_ratio = { + tag = LTH + ratio > 1.5 + } + } + } + } + prerequisite = { focus = lth_endurethedarkness } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_UNALIGNED } + available = { + any_enemy_country = { + has_government = belligerent + } + } completion_reward = { - add_ideas = spiritual_mobilization_idea + # Can only be taken when at war + # Give a ton of core defence and core attack + add_timed_idea = { + idea = LTH_the_last_stand + days = 210 + } } - } + } - #Focus for Stand with Sauron - focus = { - id = standwithsauron - icon = GFX_goal_mordor_deal - ai_will_do = { factor = 5 } - available = { belligerent > 0.35 MOR = { is_faction_leader = yes } MOR = { has_government = belligerent } } - x =18 - y =4 - mutually_exclusive = { } - prerequisite = { focus = victorythroughsubmission} - cost = 5 - available_if_capitulated = yes - completion_reward = { - news_event = { hours = 48 id = news.363 } - set_politics = { ruling_party = belligerent elections_allowed = no } - MOR = { add_to_faction = LTH } - add_threat = 5 - } - } + focus = { + id = lth_limitedintervention + icon = GFX_goal_lth_limitedintervention + + relative_position_id = lth_immortalendurance + x =2 + y =1 - #Focus for Get rid of Galadriel - focus = { - id = getridofgaladriel - icon = GFX_goal_galadriel - ai_will_do = { factor = 10 } - available = { has_country_leader = { ruling_only = yes name = "Galadriel" } } - bypass = { - NOT = { - has_country_leader = { ruling_only = yes name = "Galadriel" } - } - } - x =9 - y =4 - mutually_exclusive = { } - prerequisite = { focus = victorythroughequity} - cost = 12 - available_if_capitulated = yes - completion_reward = { - news_event = { hours = 48 id = news.362 } - retire_country_leader = yes - add_popularity = { ideology = revolutionary popularity = 0.15 } - add_stability = -0.1 - } - } - - #Focus for Intercept the Ring at the Gladden Fields -# focus = { -# id = intercepttheringatthegladdenfields -# icon = GFX_intercepttheringatthegladdenfields -# ai_will_do = { factor = 100 } -# available = { always = no} - # x =16 - # y =4 - # mutually_exclusive = { } - # prerequisite = { focus = victorythroughsubmission} - # cost = 1 - # available_if_capitulated = yes - # completion_reward = { } -# } - - #Focus for A Nation for Elves - focus = { - id = anationforelves - icon = GFX_goal_support_belligerent - ai_will_do = { factor = 8 } - available = { belligerent > 0.5 } - x =10 - y =5 - mutually_exclusive = { focus = anationforall} - prerequisite = { focus = getridofgaladriel} - cost = 10 - available_if_capitulated = yes - completion_reward = { - set_politics = { ruling_party = revolutionary elections_allowed = no } - add_ideas = LTH_commune_for_elves - } - } - - #Focus for LTH_Keep the Ring for yourself! - focus = { - id = lth_keeptheringforyourself - icon = GFX_goal_the_one_ring - ai_will_do = { factor = 80 } - available = { has_global_flag = lorien_has_ring } - x =15 - y =5 - mutually_exclusive = { focus = lth_givetheringtosauron} - prerequisite = { focus = victorythroughsubmission} - cost = 3 - available_if_capitulated = yes - - } - -#Focus for LTH_Give the Ring to Sauron - focus = { - id = lth_givetheringtosauron - icon = GFX_goal_sauron_eye - ai_will_do = { factor = 100 } - available = { has_global_flag=lorien_has_ring } - x =17 - y =5 - mutually_exclusive = { focus = lth_keeptheringforyourself } - prerequisite = { focus = victorythroughsubmission} - cost = 3 - available_if_capitulated = yes - completion_reward = { - clr_global_flag = lorien_has_ring - set_global_flag = sauron_has_ring - MOR = { add_ideas = one_true_ring } - remove_ideas = one_true_ring - add_threat = 5 - } - } - - #Focus for A Nation for all - focus = { - id = anationforall - icon = GFX_goal_support_revolutionary - ai_will_do = { factor = 5 } - available = { revolutionary > 0.5 } - x =8 - y =5 - mutually_exclusive = { focus = anationforelves } - prerequisite = { focus = getridofgaladriel} - cost = 10 - available_if_capitulated = yes - completion_reward = { - add_ideas = LTH_commune_for_all - set_politics = { ruling_party = revolutionary elections_allowed = no } - set_cosmetic_tag = SCL - } - } - - #Focus for Elven Supremacy - focus = { - id = lit_elvensupremacy - icon = GFX_focus_generic_air_defense - available = { belligerent > 0.3 } - ai_will_do = { factor = 20 } - x =13 - y =6 - mutually_exclusive = { } - prerequisite = { focus = globalaspirations focus = spiritualmobilization focus = lth_keeptheringforyourself} - cost = 8 - available_if_capitulated = yes - completion_reward = { - add_threat = 3 - set_politics = { ruling_party = belligerent elections_allowed = no } - if = { - limit = { is_in_faction_with = MOR has_completed_focus = lth_keeptheringforyourself } - MOR = { remove_from_faction = LTH } - } - } - } - - #Focus for Integrate Orcs into the Galadhrim - focus = { - id = integrateorcsintothegaladhrim - icon = GFX_goal_army_uruk_hai - available = { is_in_faction_with = MOR } - ai_will_do = { factor = 6 } - x =18 - y =6 - mutually_exclusive = { } - prerequisite = { focus = standwithsauron} - cost = 10 - available_if_capitulated = yes - completion_reward = { add_ideas = LTH_integrated_orcs } - } - - #Focus for Spread the Revolution - focus = { - id = lth_spreadtherevolution - icon = GFX_focus_generic_join_comintern - ai_will_do = { factor = 3 } - x =9 - y =6 - mutually_exclusive = { } - prerequisite = { focus = anationforall focus = anationforelves} - cost = 10 - available_if_capitulated = yes - completion_reward = { - add_political_power = 150 - } - } - - #Focus for ... peacefully - focus = { - id = peacefully - icon = GFX_focus_generic_soviet_politics - ai_will_do = { factor = 4 } - x =10 - y =7 - mutually_exclusive = { focus = byforce} - prerequisite = { focus = lth_spreadtherevolution} - cost = 10 - available_if_capitulated = yes - completion_reward = { - add_ideas = LTH_propaganda_spreaders - random_country = { limit = { is_neighbor_of = LTH } add_ideas = generic_revolutionary_weak } - random_country = { limit = { is_neighbor_of = LTH } add_ideas = generic_revolutionary_weak } - random_country = { limit = { is_neighbor_of = LTH } add_ideas = generic_revolutionary_weak } - } - } - - #Focus for One Leader to rule them all - focus = { - id = oneleadertorulethemall - icon = GFX_focus_generic_support_the_left_right - ai_will_do = { factor = 5 } - x =13 - y =7 - mutually_exclusive = { } - prerequisite = { focus = lit_elvensupremacy} - cost = 10 - available_if_capitulated = yes + cost = 10 + ai_will_do = { factor = 30 } + prerequisite = { focus = lth_immortalendurance } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_UNALIGNED } + mutually_exclusive = { focus = lth_totalisoltation } completion_reward = { - add_political_power = 100 + # add idea + add_ideas = LTH_limited_intervention_idea } - } - - #Focus for ... by Force - focus = { - id = byforce - icon = GFX_focus_generic_strike_at_democracy1 - ai_will_do = { factor = 4 } - x =8 - y =7 - mutually_exclusive = { focus = peacefully } - prerequisite = { focus = lth_spreadtherevolution} - cost = 10 - available_if_capitulated = yes - completion_reward = { - add_threat = 2 - random_country = { - limit = { - AND = { is_neighbor_of = LTH OR = { NOT = { tag = RIV } NOT = { tag = ENE } } } - NOT = { is_in_faction_with = LTH } - } - LTH = { create_wargoal = { type = puppet_wargoal_focus target = PREV } } - } - } - } - - #Focus for War with Rohan - focus = { - id = lth_warwithrohan - icon = GFX_wargoal_rohan - ai_will_do = { factor = 2 } - available = { is_in_faction_with = MOR ROH = { exists = yes OR = { has_government = cooperative has_government = unaligned } NOT = { is_in_faction_with = MOR } } } - bypass = { has_war_with = ROH } - x =18 - y =7 - mutually_exclusive = { } - prerequisite = { focus = integrateorcsintothegaladhrim} - cost = 10 - available_if_capitulated = yes - completion_reward = { create_wargoal = { type = annex_everything target = ROH } add_threat = 4 } - } - - #Focus for Appoint a Matriarch - focus = { - id = appointamatriarch - icon = GFX_goal_galadriel - ai_will_do = { factor = 10 } - x =12 - y =8 - mutually_exclusive = { focus = appointapatriarch } - prerequisite = { focus = oneleadertorulethemall} - cost = 10 - available_if_capitulated = yes - completion_reward = { add_country_leader_trait = dictator } - } - - #Focus for Appoint a Patriarch - focus = { - id = appointapatriarch - icon = GFX_goal_celeborn - ai_will_do = { factor = 6 } - x =14 - y =8 - mutually_exclusive = { focus = appointamatriarch} - prerequisite = { focus = oneleadertorulethemall} - cost = 10 - available_if_capitulated = yes - completion_reward = { - retire_country_leader = yes - add_country_leader_trait = dictator - if = { limit = { has_global_flag = lorien_has_ring } add_country_leader_trait = ringbearer } - } - } - - #Focus for Unite the Cause - focus = { - id = unitethecause - icon = GFX_goal_generic_war_with_comintern - ai_will_do = { factor = 5 } - available = { NOT = { is_in_faction = yes } } - x =9 - y =8 - mutually_exclusive = { } - prerequisite = { focus = byforce focus = peacefully} - cost = 10 - available_if_capitulated = yes - completion_reward = { - create_faction = "Union of the elves" - } - } - - #Focus for Elvish Imperialism - focus = { - id = elvishimperialism - icon = GFX_goal_generic_demand_territory - ai_will_do = { factor = 5 } - x =13 - y =9 - mutually_exclusive = { } - prerequisite = { focus = appointamatriarch focus = appointapatriarch} - cost = 10 - available_if_capitulated = yes - completion_reward = { - add_stability = 0.05 - add_ideas = warrior_traditions_idea - } - } - - #Focus for Influence Elrond - focus = { - id = influenceelrond - icon = GFX_goal_elrond + } + + focus = { + id = lth_aegisoflight + icon = GFX_goal_lth_aegisoflight + + relative_position_id = lth_limitedintervention + x =0 + y =2 + + cost = 10 + ai_will_do = { + factor = 15 + modifier = { + factor = 2 + date < 3020.1.1 + } + } + prerequisite = { focus = lth_limitedintervention } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_UNALIGNED } + completion_reward = { + # add idea + swap_ideas = { + remove_idea = LTH_limited_intervention_idea + add_idea = LTH_aegis_of_light + } + } + } + + focus = { + id = lth_deterrence + icon = GFX_goal_lth_deterrence + + relative_position_id = lth_limitedintervention + x =0 + y =4 + + cost = 10 + ai_will_do = { + factor = 15 + modifier = { + factor = 2 + has_war = no + } + } + prerequisite = { focus = lth_aegisoflight } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_UNALIGNED } + completion_reward = { + # add idea + add_ideas = deterrence + } + } + + focus = { + id = lth_ensurefoodsecurity + icon = GFX_goal_lth_ensurefoodsecurity + + relative_position_id = lth_limitedintervention + x =1 + y =3 + + cost = 5 ai_will_do = { factor = 5 } - available = { RIV = { has_country_leader = { ruling_only = yes name = "Elrond" } } } - x =15 - y =9 - mutually_exclusive = { } - prerequisite = { focus = appointapatriarch} - cost = 10 - available_if_capitulated = yes - completion_reward = { - RIV = { add_country_leader_trait = fascist_sympathies } - } - } - - #Focus for Bewitch Beorn - focus = { - id = bewitchbeorn - icon = GFX_goal_bewitch_beorn + prerequisite = { focus = lth_bideourtime } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_UNALIGNED } + completion_reward = { + # Add food production + random_core_state = { + add_resource = { + type = oil + amount = 15 + } + } + # build a bunch of fuel silos + random_core_state = { + add_building_construction = { + type = fuel_silo + level = 5 + } + } + } + } + + focus = { + id = lth_bideourtime + icon = GFX_goal_lth_bideourtime + + relative_position_id = lth_limitedintervention + x =1 + y =1 + + cost = 5 ai_will_do = { factor = 5 } - available = { VAL = { has_country_leader = { ruling_only = yes name = "Beorn" } } } - x =11 - y =9 - mutually_exclusive = { } - prerequisite = { focus = appointamatriarch} - cost = 10 - available_if_capitulated = yes + prerequisite = { focus = lth_limitedintervention } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_UNALIGNED } completion_reward = { - random_list = { - 25 = { puppet = VAL } - 75 = { VAL = { add_opinion_modifier = { target = LTH modifier = large_decrease } } } - } - } - } - - #Focus for Anti-Drawven Sentiment - focus = { - id = antidrawvensentiment - icon = GFX_goal_generic_propaganda - ai_will_do = { factor = 2 } - available = { MOA = { exists = yes } NOT = { is_in_faction_with = MOA } } - bypass = { has_war_with = MOA } - x =11 - y =10 - mutually_exclusive = { focus = antiorcsentiment focus = antimensentiment } - prerequisite = { focus = elvishimperialism} - cost = 10 - available_if_capitulated = yes - completion_reward = { create_wargoal = { type = annex_everything target = MOA } } - } - - #Focus for Anti-Orc Sentiment - focus = { - id = antiorcsentiment - icon = GFX_wargoal_mordor - ai_will_do = { factor = 2 } - available = { MOR = { exists = yes } NOT = { is_in_faction_with = MOR } } - bypass = { has_war_with = MOR } - x =13 - y =10 - mutually_exclusive = { focus = antimensentiment focus = antidrawvensentiment } - prerequisite = { focus = elvishimperialism} - cost = 10 - available_if_capitulated = yes - completion_reward = { create_wargoal = { type = annex_everything target = MOR } } - } - - #Focus for Anti-Men Sentiment - focus = { - id = antimensentiment - icon = GFX_wargoal_rohan - ai_will_do = { factor = 2 } - available = { ROH = { exists = yes } NOT = { is_in_faction_with = ROH } } - bypass = { has_war_with = ROH } - x =15 - y =10 - mutually_exclusive = { focus = antiorcsentiment focus = antidrawvensentiment } - prerequisite = { focus = elvishimperialism} - cost = 10 - available_if_capitulated = yes - completion_reward = { create_wargoal = { type = annex_everything target = ROH } } - } - - #Focus for Renew Airforce - focus = { - id = lth_renewairforce - icon = GFX_goal_generic_build_airforce - ai_will_do = { factor = 2 } - x =21 - y =1 - mutually_exclusive = { } - prerequisite = { focus = thefateoflothlorien} - cost = 10 - available_if_capitulated = yes - completion_reward = { air_experience = 25 } - } - - #Focus for expand aribases - focus = { - id = lth_expandairbases - icon = GFX_goal_generic_construct_civilian - ai_will_do = { factor = 2 } - available = { 74 = { is_controlled_by = LTH } 75 = { is_controlled_by = LTH } 76 = { is_controlled_by = LTH } } - x =21 - y =2 - mutually_exclusive = { } - prerequisite = { focus = lth_renewairforce} - cost = 10 - available_if_capitulated = yes - completion_reward = { - 75 = { add_building_construction = { type = air_base level = 2 instant_build = yes } } - 74 = { add_building_construction = { type = air_base level = 1 instant_build = yes } } - 76 = { add_building_construction = { type = air_base level = 1 instant_build = yes } } - } - } - - #Focus for Air Superiority Focus - focus = { - id = lth_airsuperiorityfocus - icon = GFX_goal_generic_air_fighter - ai_will_do = { factor = 1 } - x =20 - y =3 - mutually_exclusive = { } - prerequisite = { focus = lth_expandairbases} - cost = 10 - available_if_capitulated = yes - completion_reward = { - add_tech_bonus = { - name = fighter_bonus - bonus = 0.5 - uses = 2 - category = lotr_eagles - category = lotr_fellbeasts - } - } - } - - #Focus for Destruction Focus - focus = { - id = lth_destructionfocus - icon = GFX_goal_generic_air_bomber - ai_will_do = { factor = 2 } - x =22 - y =3 - mutually_exclusive = { } - prerequisite = { focus = lth_expandairbases} - cost = 10 - available_if_capitulated = yes - completion_reward = { - add_tech_bonus = { - name = bomber_bonus - bonus = 0.5 - uses = 2 - category = lotr_eagles - category = lotr_fellbeasts - } - } - } - - #Focus for Air Strategies - focus = { - id = lth_airstrategies - icon = GFX_goal_generic_air_doctrine - ai_will_do = { factor = 2 } - x =21 - y =4 - mutually_exclusive = { } - prerequisite = { focus = lth_destructionfocus focus = lth_airsuperiorityfocus} - cost = 10 - available_if_capitulated = yes - completion_reward = { - add_doctrine_cost_reduction = { - cost_reduction = 0.5 - uses = 2 - category = air_doctrine - } - } - } - - #Focus for Close Air Support - focus = { - id = lth_closeairsupport - icon = GFX_goal_generic_air_fighter2 - ai_will_do = { factor = 2 } - x =20 - y =5 - mutually_exclusive = { } - prerequisite = {focus = lth_airsuperiorityfocus} - cost = 10 - available_if_capitulated = yes - completion_reward = { - add_tech_bonus = { - name = CAS_bonus - bonus = 0.5 - ahead_reduction = 1 - uses = 1 - category = lotr_eagles - category = lotr_fellbeasts + # decreases the cost of pedantic_organizer, long-term planner (and others?) to 50pp + lotr_advisors_improve_long_term_planner = yes + lotr_advisors_improve_pedantic_organizer = yes + } + } + + focus = { + id = lth_maintainstabilityinthewest + icon = GFX_goal_lth_maintainalliances + + relative_position_id = lth_limitedintervention + x =2 + y =4 + + cost = 5 + ai_will_do = { factor = 15 } + prerequisite = { focus = lth_limitedintervention } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_UNALIGNED } + available = { + is_puppet = no + } + completion_reward = { + # Event to choose what to do + country_event = lothlorien.18 + # lower debuff + lth_lower_isolationist_reservations = yes + } + } + + focus = { + id = lth_sendaidtohelmsdeep + icon = GFX_goal_lth_sendaidtohelmsdeep + + relative_position_id = lth_maintainstabilityinthewest + x =-1 + y =1 + + cost = 5 + ai_will_do = { + factor = 5 + modifier = { + factor = 4 + ROH = { is_ai = no } + } + } + prerequisite = { focus = lth_maintainstabilityinthewest } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_UNALIGNED } + available = { + is_puppet = no + NOT = { has_war_with = ROH } + ROH = { + exists = yes + has_war_with = ISE + NOT = { has_government = belligerent } + NOT = { is_ally_with = MOR } + } + } + completion_reward = { + # Remove a bunch of equipment and mp + add_manpower = -10000 + add_equipment_to_stockpile = { type = infantry_equipment amount = -1000 } + custom_effect_tooltip = lth_sendaidtohelmsdeep_tt + # Load an OOB for Rohan, with an event + hidden_effect = { + ROH = { country_event = { id = lothlorien.9 days = 1 } } } + # Note: these divisions spawn in helms deep, so make sure Rohan holds it. (PROVINCE 4628) } } - #Focus for Strategic Bombers - focus = { - id = lth_strategicbombers - icon = GFX_goal_generic_occupy_start_war - ai_will_do = { factor = 2 } - x =22 - y =5 - mutually_exclusive = { } - prerequisite = {focus = lth_destructionfocus} - cost = 10 - available_if_capitulated = yes - completion_reward = { - add_tech_bonus = { - name = bomber_bonus - bonus = 0.5 - uses = 2 - category = lotr_eagles - category = lotr_fellbeasts - } - } - } - - #Focus for Expand the Galadhrim - focus = { - id = lth_expandthegaladhrim - icon = GFX_focus_generic_commonwealth_build_infantry - ai_will_do = { factor = 3 } - x =27 - y =1 - mutually_exclusive = { } - prerequisite = {focus = thefateoflothlorien} - cost = 10 - available_if_capitulated = yes - completion_reward = { army_experience = 25 } - } - - #Focus for Tank Improvements - focus = { - id = lth_tankimprovements - icon = GFX_goal_generic_army_tanks - ai_will_do = { factor = 2 } - x =25 - y =2 - mutually_exclusive = { } - prerequisite = {focus = lth_expandthegaladhrim} - cost = 10 - available_if_capitulated = yes - completion_reward = { - add_tech_bonus = { - name = armor_bonus - bonus = 0.5 - uses = 2 - category = lotr_cavalry + focus = { + id = lth_sendaidtominastirith + icon = GFX_goal_lth_sendaidtominastirith + + relative_position_id = lth_maintainstabilityinthewest + x =1 + y =1 + + cost = 5 + ai_will_do = { + factor = 5 + modifier = { + factor = 4 + GON = { is_ai = no } + } + modifier = { + factor = 0 + is_historical_focus_on = yes + } + } + prerequisite = { focus = lth_maintainstabilityinthewest } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_UNALIGNED } + available = { + is_puppet = no + NOT = { has_war_with = GON } + lthi_has_100_halfelves_influence = yes + GON = { + exists = yes + has_war_with = MOR + NOT = { has_government = belligerent } + } + } + completion_reward = { + # Remove a bunch of equipment and mp + add_manpower = -10000 + add_equipment_to_stockpile = { type = infantry_equipment amount = -1000 } + custom_effect_tooltip = lth_sendaidtominastirith_tt + # Load an OOB for Gondor, with an event + hidden_effect = { + GON = { country_event = { id = lothlorien.10 days = 1 } } } + # Note: these divisions spawn in Minas Tirith, so make sure Rohan holds it. (PROVINCE 6980) } - } + } - #Focus for Swiftness Focus focus = { - id = lth_swiftnessfocus - icon = GFX_goal_generic_army_motorized - ai_will_do = { factor = 2 } - x =24 - y =3 - mutually_exclusive = { focus = lth_armorfocus} - prerequisite = {focus = lth_tankimprovements} - cost = 10 - available_if_capitulated = yes - completion_reward = { - add_tech_bonus = { - name = cat_light_armor - ahead_reduction = 0.5 - uses = 2 - category = lotr_cavalry_light + id = lth_supportmordorsenemies + icon = GFX_goal_lth_supportmordorsenemies + + relative_position_id = lth_maintainstabilityinthewest + x =0 + y =2 + + cost = 5 + ai_will_do = { + factor = 3 + modifier = { + factor = 2 + MOR = { has_war = yes } + } + } + prerequisite = { focus = lth_maintainstabilityinthewest } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_UNALIGNED } + available = { + is_puppet = no + NOT = { is_ally_with = MOR } + } + completion_reward = { + # Unlocks decisions to send help to countries at war with Mordor + custom_effect_tooltip = lth_supportmordorsenemies_tt + # NOTE: dealt with automatically + lth_lower_isolationist_reservations = yes + } + } + + focus = { + id = lth_galadrielspowers + icon = GFX_goal_lth_galadrielspowers + + relative_position_id = lth_immortalendurance + x =0 + y =10 + + cost = 5 + ai_will_do = { factor = 10 } + prerequisite = { focus = lth_thelibraryofcarasgaladhon } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_UNALIGNED } + available = { + has_country_leader = { character = LTH_galadriel ruling_only = yes } + } + completion_reward = { + custom_effect_tooltip = lth_galadrielspowers_tt + hidden_effect = { + # give every unit leader a nice trait + every_unit_leader = { + add_trait = { trait = galadriels_blessing_trait } + } } } } -#Focus for Armor Focus - focus = { - id = lth_armorfocus - icon = GFX_goal_generic_defence - ai_will_do = { factor = 2 } - x =26 - y =3 - mutually_exclusive = { focus = lth_swiftnessfocus } - prerequisite = {focus = lth_tankimprovements} - cost = 10 - available_if_capitulated = yes - completion_reward = { - add_tech_bonus = { - name = cat_heavy_armor - bonus = 0.5 - uses = 2 - category = lotr_machines_siege_equipment + focus = { + id = lth_yavannasblessings + icon = GFX_goal_lth_yavannasblessings + + relative_position_id = lth_galadrielspowers + x =-1 + y =1 + + cost = 5 + ai_will_do = { factor = 10 } + prerequisite = { focus = lth_galadrielspowers } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_UNALIGNED } + available = { + has_country_leader = { character = LTH_galadriel ruling_only = yes } + } + completion_reward = { + # Give Galadriel extra traits + add_country_leader_trait = yavannas_blessing } } -} -#Focus for Mobile Warfare - focus = { - id = lth_mobilewarfare - icon = GFX_goal_generic_army_motorized - ai_will_do = { factor = 2 } - x =25 - y =4 - mutually_exclusive = { } - prerequisite = {focus = lth_swiftnessfocus focus = lth_armorfocus } - cost = 10 - available_if_capitulated = yes - completion_reward = { - add_tech_bonus = { - name = motorized_bonus - ahead_reduction = 0.5 - uses = 1 - category = lotr_cavalry_carriages + focus = { + id = lth_aulescraftmanship + icon = GFX_goal_lth_aulescraftmanship + + relative_position_id = lth_galadrielspowers + x =1 + y =1 + + cost = 5 + ai_will_do = { factor = 10 } + prerequisite = { focus = lth_galadrielspowers } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_UNALIGNED } + available = { + has_country_leader = { character = LTH_galadriel ruling_only = yes } + } + completion_reward = { + add_country_leader_trait = aules_benison + # Give Galadriel extra traits + } + } + + focus = { + id = lth_legacyofthenoldor + icon = GFX_goal_lth_legacyofthenoldor + + + x =25 + y =3 + + cost = 5 + ai_will_do = { + factor = 5 + modifier = { + factor = 4 + is_going_belligerent = yes } } -} + available = { + NOT = { lth_civil_war_sindar = yes } + } + prerequisite = { } + search_filters = { FOCUS_FILTER_ELVEN_FACTIONS } + completion_reward = { + # increase noldor influence + lthi_increase_influence_noldor_minor = yes + add_doctrine_cost_reduction = { + cost_reduction = 0.5 + uses = 2 + category = cat_superior_firepower + } + } + } -#Focus for Special Forces - focus = { - id = lth_specialforces - icon = GFX_focus_generic_paratrooper - ai_will_do = { factor = 1 } - x =28 - y =3 - mutually_exclusive = { } - prerequisite = {focus = lth_expandthegaladhrim } - cost = 10 - available_if_capitulated = yes - completion_reward = { - add_tech_bonus = { - name = special_forces_bonus - bonus = 0.5 - uses = 1 - technology = paratroopers - technology = paratroopers2 - technology = marines - technology = marines2 - technology = tech_mountaineers - technology = tech_mountaineers2 + focus = { + id = lth_princessofthenoldor + icon = GFX_goal_lth_princessofthenoldor + + relative_position_id = lth_legacyofthenoldor + x =2 + y =3 + + cost = 5 + ai_will_do = { factor = 10 } + prerequisite = { focus = lth_legacyofthenoldor } + prerequisite = { focus = lth_ringbearersedicts } + search_filters = { FOCUS_FILTER_ELVEN_FACTIONS } + available = { + has_country_leader = { character = LTH_galadriel ruling_only = yes } + lthi_has_100_noldor_influence = yes + } + completion_reward = { + # Give Galadriel extra traits + add_country_leader_trait = princess_of_the_noldor + } + } + + focus = { + id = lth_deepknowledge + icon = GFX_goal_lth_deepknowledge + + relative_position_id = lth_legacyofthenoldor + x =-1 + y =2 + + cost = 5 + ai_will_do = { + factor = 5 + modifier = { + factor = 4 + is_going_belligerent = yes } } -} + prerequisite = { focus = lth_legacyofthenoldor } + search_filters = { FOCUS_FILTER_ELVEN_FACTIONS } + available = { + NOT = { lth_civil_war_sindar = yes } -#Focus for Improve Elven Bows - focus = { - id = lth_improveelvenbows - icon = GFX_focus_generic_air_defense - ai_will_do = { factor = 4 } - x = 30 - y =2 - mutually_exclusive = { } - prerequisite = {focus = lth_expandthegaladhrim } - cost = 10 - available_if_capitulated = yes - completion_reward = { + lthi_has_100_noldor_influence = yes + } + completion_reward = { + # increase noldor influence + lthi_increase_influence_noldor_minor = yes + # Add knowldege research bonus add_tech_bonus = { - name = infantry_artillery_bonus - ahead_reduction = 1 - uses = 1 - category = lotr_infantry_weapons - category = lotr_infantry_archery + name = special_bonus + bonus = 0.3 + uses = 2 + category = lotr_knowledge } } -} + } -#Focus for Adaptable Arrow Tips - focus = { - id = lth_adaptablearrowtips - icon = GFX_goal_generic_army_artillery2 - ai_will_do = { factor = 3 } - x = 30 - y =3 - mutually_exclusive = { } - prerequisite = {focus = lth_improveelvenbows } - cost = 10 - available_if_capitulated = yes - completion_reward = { add_ideas = LTH_adaptable_arrow_tips } -} + focus = { + id = lth_theoathoffeanor + icon = GFX_goal_lth_theoathoffeanor + + relative_position_id = lth_legacyofthenoldor + x =0 + y =1 -#Focus for Poison Arrows - focus = { - id = lth_poisonarrows - icon = GFX_goal_generic_army_artillery - ai_will_do = { factor = 3 } - x = 30 - y =4 - mutually_exclusive = { } - prerequisite = {focus = lth_adaptablearrowtips } - cost = 10 - available_if_capitulated = yes - completion_reward = { add_ideas = LTH_poison_arrows } -} + cost = 10 + ai_will_do = { + factor = 5 + modifier = { + factor = 4 + is_going_belligerent = yes + } + } + prerequisite = { focus = lth_legacyofthenoldor } + search_filters = { FOCUS_FILTER_ELVEN_FACTIONS } + available = { + lthi_has_200_noldor_influence = yes + NOT = { lth_civil_war_sindar = yes } + } + completion_reward = { + # The Oath of Fëanor was a dreadful irrevocable oath taken by Fëanor and his seven sons in the city of Tirion to pursue any in Arda who may take and withhold from them any of the Silmarils. + # Moreso, the oath was a declaration of war against Morgoth, who held the silmarils. + # Reaffirming its validity will extend our animosity towards Morgoth and all his acursed followers. + event_option_tooltip = lothlorien.46.a -#Focus for Military Technology - focus = { - id = lth_militarytechnology - icon = GFX_focus_research - ai_will_do = { factor = 10 } - x = 28 - y =5 - mutually_exclusive = { } - prerequisite = {focus = lth_poisonarrows } - prerequisite = {focus = lth_specialforces } - prerequisite = {focus = lth_mobilewarfare } - cost = 10 - available_if_capitulated = yes - completion_reward = { add_research_slot = 1 } -} + if = { + limit = { is_in_faction_with = MOR } + leave_faction = yes + } -#Focus for Rocket Technology - focus = { - id = lth_rockettechnology - icon = GFX_focus_rocketry - ai_will_do = { factor = 3 } - x = 24 - y =6 - mutually_exclusive = { } - prerequisite = {focus = lth_militarytechnology } - prerequisite = {focus = lth_closeairsupport } - prerequisite = {focus = lth_strategicbombers } - cost = 10 - available_if_capitulated = yes - completion_reward = { - add_tech_bonus = { - name = jet_rocket_bonus - ahead_reduction = 0.5 - uses = 2 - category = lotr_knowledge_magic + hidden_effect = { + country_event = lothlorien.46 } } -} + } -#Focus for Nuclear Technology - focus = { - id = lth_nucleartechnology - icon = GFX_focus_wonderweapons - ai_will_do = { factor = 3 } - x = 26 - y =6 - mutually_exclusive = { } - prerequisite = {focus = lth_militarytechnology } - prerequisite = {focus = lth_strategicbombers } - prerequisite = {focus = lth_closeairsupport } - cost = 10 - available_if_capitulated = yes - completion_reward = { - add_tech_bonus = { - name = nuclear_bonus - ahead_reduction = 0.5 - category = lotr_knowledge_magic + focus = { + id = lth_greatestofwarriors + icon = GFX_goal_lth_greatestofwarriors + + relative_position_id = lth_legacyofthenoldor + x =1 + y =2 + + cost = 5 + ai_will_do = { + factor = 5 + modifier = { + factor = 4 + is_going_belligerent = yes } } -} + prerequisite = { focus = lth_legacyofthenoldor } + search_filters = { FOCUS_FILTER_ELVEN_FACTIONS } + available = { + lthi_has_100_noldor_influence = yes + NOT = { lth_civil_war_sindar = yes } + } + completion_reward = { + # increase noldor influence + lthi_increase_influence_noldor_minor = yes + # add breakthrough bonus + add_to_variable = { + var = lthi_noldor_bonus_breakthrough_base + value = 0.1 + tooltip = lth_greatestofwarriors_tt + } -#Focus for Industry Effort - focus = { - id = lth_industryeffort - icon = GFX_goal_generic_propaganda - ai_will_do = { factor = 5 } - x =35 - y =1 - mutually_exclusive = { } - prerequisite = {focus = thefateoflothlorien} - cost = 10 - available_if_capitulated = yes - completion_reward = { - add_tech_bonus = { - name = industrial_bonus - bonus = 0.5 - uses = 1 - category = lotr_labour_construction_industry + mio:LTH_blacksmith_guild = { + add_mio_funds_gain_factor = 0.15 } } -} + } -#Focus for Forest Railways - focus = { - id = lth_forestrailways - icon = GFX_goal_generic_construct_infrastructure - ai_will_do = { factor = 1 } - available = { 75 = { is_controlled_by = LTH } } - x =32 - y =2 - mutually_exclusive = { } - prerequisite = {focus = lth_industryeffort} - cost = 10 - available_if_capitulated = yes - completion_reward = { - 75 = { add_building_construction = { type = infrastructure level = 5 instant_build = yes } } - } -} + focus = { + id = lth_metalworkandjewellery + icon = GFX_goal_lth_metalworkandjewellery + + relative_position_id = lth_legacyofthenoldor + x =1 + y =4 -#Focus for Gladden Field Roads - focus = { - id = lth_gladdenfieldroads - icon = GFX_goal_generic_construct_infrastructure - ai_will_do = { factor = 1 } - available = { 76 = { is_controlled_by = LTH } } - x =32 - y =3 - mutually_exclusive = { } - prerequisite = {focus = lth_forestrailways} - cost = 10 - available_if_capitulated = yes - completion_reward = { 76 = { add_building_construction = { type = infrastructure level = 3 instant_build = yes } } } -} + cost = 5 + ai_will_do = { + factor = 5 + modifier = { + factor = 4 + is_going_belligerent = yes + } + } + prerequisite = { focus = lth_greatestofwarriors } + search_filters = { FOCUS_FILTER_ELVEN_FACTIONS } + available = { + lthi_has_200_noldor_influence = yes + NOT = { lth_civil_war_sindar = yes } + } + completion_reward = { + # increase noldor influence + lthi_increase_influence_noldor_minor = yes + # add factory output bonus + add_to_variable = { + var = lthi_noldor_bonus_factoryoutput_base + value = 0.15 + tooltip = lth_metalworkandjewellery_tt + } -#Focus for Parth Celebrant Roads - focus = { - id = lth_parthcelebrantroads - icon = GFX_goal_generic_construct_infrastructure - ai_will_do = { factor = 1 } - available = { 74 = { is_controlled_by = LTH } } - x =32 - y =4 - mutually_exclusive = { } - prerequisite = {focus = lth_gladdenfieldroads} - cost = 10 - available_if_capitulated = yes - completion_reward = { 74 = { add_building_construction = { type = infrastructure level = 3 instant_build = yes } } } -} + mio:LTH_blacksmith_guild = { + add_mio_research_bonus = 0.05 + add_mio_size = 1 + } + } + } -#Focus for Technology Innovations - focus = { - id = lth_technologyinnovations - icon = GFX_goal_tfv_generic_tech_sharing - ai_will_do = { factor = 5 } - x =34 - y =2 - mutually_exclusive = { } - prerequisite = {focus = lth_industryeffort} - cost = 10 - available_if_capitulated = yes - completion_reward = { - add_tech_bonus = { - name = industrial_bonus - bonus = 0.5 - uses = 1 - category = lotr_knowledge + focus = { + id = lth_skysoilandwater + icon = GFX_goal_lth_skysoilandwater + + relative_position_id = lth_legacyofthenoldor + x =0 + y =3 + + cost = 5 + ai_will_do = { + factor = 5 + modifier = { + factor = 4 + is_going_belligerent = yes } } -} + prerequisite = { focus = lth_theoathoffeanor } + search_filters = { FOCUS_FILTER_ELVEN_FACTIONS } + available = { + lthi_has_200_noldor_influence = yes + NOT = { lth_civil_war_sindar = yes } + } + completion_reward = { + # By the oath of Feanor, the Silmarils belong to the Noldor. As prohpesized by Mandor, the silmarils are now embedded into the three elements of sky, soil and water. The oath of feanor still stands, the three elements belong to the Noldor! -#Focus for Refine Elven Science - focus = { - id = lth_refineelvenscience - icon = GFX_goal_generic_scientific_exchange - ai_will_do = { factor = 5 } - x =34 - y =3 - mutually_exclusive = { } - prerequisite = {focus = lth_technologyinnovations} - cost = 10 - available_if_capitulated = yes - completion_reward = { add_ideas = LTH_refined_scientists } -} + # increase noldor influence + lthi_increase_influence_noldor_minor = yes + # Increase terrain penalties or smth + add_ideas = LTH_sky_soil_and_water + } + } -#Focus for University of Lorien - focus = { - id = lth_universityoflorien - icon = GFX_focus_research - ai_will_do = { factor = 15 } - x =34 - y =4 - mutually_exclusive = { } - prerequisite = {focus = lth_refineelvenscience} - cost = 10 - available_if_capitulated = yes - completion_reward = { add_research_slot = 1 } -} + focus = { + id = lth_commemorategondolin + icon = GFX_goal_lth_commemorategondolin + + relative_position_id = lth_legacyofthenoldor + x =-1 + y =4 -#Focus for Manufacturing Effort - focus = { - id = lth_manufacturingeffort - icon = GFX_goal_generic_consumer_goods - ai_will_do = { factor = 3 } - available = { 74 = { is_controlled_by = LTH } 75 = { is_controlled_by = LTH } 76 = { is_controlled_by = LTH } } - x =36 - y =2 - mutually_exclusive = { } - prerequisite = {focus = lth_industryeffort} - cost = 10 - available_if_capitulated = yes - completion_reward = { - 74 = { add_extra_state_shared_building_slots = 1 } - 75 = { add_extra_state_shared_building_slots = 2 } - 76 = { add_extra_state_shared_building_slots = 1 } - 74 = {add_building_construction = { type = industrial_complex level = 1 instant_build = yes } } - 75 = {add_building_construction = { type = industrial_complex level = 2 instant_build = yes } } - 76 = {add_building_construction = { type = industrial_complex level = 1 instant_build = yes } } + cost = 5 + ai_will_do = { + factor = 5 + modifier = { + factor = 4 + is_going_belligerent = yes + } + } + prerequisite = { focus = lth_deepknowledge } + search_filters = { FOCUS_FILTER_ELVEN_FACTIONS } + available = { + lthi_has_200_noldor_influence = yes + NOT = { lth_civil_war_sindar = yes } + } + completion_reward = { + # increase noldor influence + country_event = lothlorien.11 + lthi_increase_influence_noldor_minor = yes + add_political_power = 100 + } } -} -#Focus for Improven Manufacturing Methods - focus = { - id = lth_improvedmanufacturingmethods - icon = GFX_goal_generic_construct_civ_factory - ai_will_do = { factor = 4 } - available = { 75 = { is_controlled_by = LTH } } - x =36 - y =3 - mutually_exclusive = { } - prerequisite = {focus = lth_manufacturingeffort} - cost = 10 - available_if_capitulated = yes - completion_reward = { - 75 = { add_extra_state_shared_building_slots = 3 } - 75 = {add_building_construction = { type = industrial_complex level = 3 instant_build = yes } } - } -} + focus = { + id = lth_thecallofvalinor + icon = GFX_goal_lth_thecallofvalinor + + relative_position_id = lth_immortalendurance + x =1 + y =7 -#Focus for Recycling consumer goods - focus = { - id = lth_recyclingconsumergoods - icon = GFX_goal_generic_positive_trade_relations - ai_will_do = { factor = 1 } - x =36 - y =4 - mutually_exclusive = { } - prerequisite = {focus = lth_improvedmanufacturingmethods} - cost = 10 - available_if_capitulated = yes - completion_reward = { add_ideas = LTH_recycling } -} + cost = 10 + ai_will_do = { factor = 15 } + prerequisite = { focus = lth_immortalendurance } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_UNALIGNED } + available = { + is_puppet = no + has_war = no + date > 3023.01.01 + LIN = { is_elves = yes } + country_exists = LIN + } + completion_reward = { + add_stability = 0.5 + custom_effect_tooltip = lth_thecallofvalinor_tt + hidden_effect = { + # start a mission that periodically looses manpower in core states + country_event = { id = lothlorien.45 } + # After a year, Gal and Celeborn leave + country_event = { id = lothlorien.19 days = 356 } + } + } + } -#Focus for Army Supplies - focus = { - id = lth_armysupplies - icon = GFX_goal_generic_military_sphere - ai_will_do = { factor = 3 } - available = { 75 = { is_controlled_by = LTH } } - x =38 - y =2 - mutually_exclusive = { } - prerequisite = {focus = lth_industryeffort} - cost = 10 - available_if_capitulated = yes - completion_reward = { - 75 = { add_extra_state_shared_building_slots = 2 } - 75 = {add_building_construction = { type = arms_factory level = 2 instant_build = yes } } - } -} + focus = { + id = lth_thelasteldar + icon = GFX_goal_lth_thelasteldar + + relative_position_id = lth_thecallofvalinor + x =0 + y =2 -#Focus for weapon Manufacturing - focus = { - id = lth_weaponmanufacturing - icon = GFX_goal_generic_construct_mil_factory - ai_will_do = { factor = 5 } - available = { 74 = { is_controlled_by = LTH } 75 = { is_controlled_by = LTH } 76 = { is_controlled_by = LTH } } - x =38 - y =3 - mutually_exclusive = { } - prerequisite = {focus = lth_armysupplies} - prerequisite = {focus = lth_manufacturingeffort} - cost = 10 - available_if_capitulated = yes - completion_reward = { - 74 = { add_extra_state_shared_building_slots = 1 } - 74 = {add_building_construction = { type = arms_factory level = 1 instant_build = yes } } - 75 = { add_extra_state_shared_building_slots = 2 } - 75 = {add_building_construction = { type = arms_factory level = 2 instant_build = yes } } - 76 = { add_extra_state_shared_building_slots = 1 } - 76 = {add_building_construction = { type = arms_factory level = 1 instant_build = yes } } - } -} + cost = 10 + ai_will_do = { factor = 100 } + prerequisite = { focus = lth_thetwilightgarden } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_UNALIGNED } + available = { + is_puppet = no + has_war = no + NOT = { + has_country_leader = { character = LTH_galadriel ruling_only = yes } + } + NOT = { + has_country_leader = { character = LTH_celeborn ruling_only = yes } + } + } + completion_reward = { + # Add a very epic idea + add_ideas = LTH_the_last_eldar + } + } -#Focus for automated production line - focus = { - id = lth_automatedproductionline - icon = GFX_goal_generic_construct_mil_factory - ai_will_do = { factor = 4 } - x =38 - y =4 - mutually_exclusive = { } - prerequisite = {focus = lth_weaponmanufacturing} - cost = 10 - available_if_capitulated = yes - completion_reward = { add_ideas = LTH_automated_production } -} + focus = { + id = lth_thetwilightgarden + icon = GFX_goal_lth_thetwilightgarden + + relative_position_id = lth_thecallofvalinor + x =0 + y =1 + + cost = 10 + ai_will_do = { factor = 50 } + prerequisite = { focus = lth_thecallofvalinor } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_UNALIGNED } + available = { + controls_state = 75 + controls_state = 222 + has_war = no + } + completion_reward = { + # add modifier to state + 75 = { add_dynamic_modifier = { + modifier = lth_twilight_garden + } } + 222 = { add_dynamic_modifier = { + modifier = lth_twilight_garden + } } + } + } - #End of focuses + focus = { + id = lth_offerpassagetothehalflings + icon = GFX_goal_lth_offerpassagetothehalflings + + relative_position_id = lth_thecallofvalinor + x =2 + y =1 + + cost = 5 + ai_will_do = { factor = 80 } + prerequisite = { focus = lth_thecallofvalinor } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_UNALIGNED } + available = { + has_war = no + ring_frodo_is_dead = no + has_global_flag = fs_ring_destroyed + NOT = { has_global_flag = fs_elven_fellowship } + } + completion_reward = { + # Event that gives the halflings passage + country_event = lothlorien.20 + } + } + + focus = { + id = lth_wanderersofnandor + icon = GFX_goal_lth_wanderersofnandor + + + x =20 + y =3 + + cost = 5 + ai_will_do = { + factor = 5 + modifier = { + factor = 3 + is_going_belligerent = yes + has_completed_focus = lth_celebornsexile + } + } + prerequisite = { } + search_filters = { FOCUS_FILTER_ELVEN_FACTIONS } + completion_reward = { + # increase nandor influence + lthi_increase_influence_nandor_minor = yes + # add doctrine bonus for guerrilla warfare? + add_doctrine_cost_reduction = { + cost_reduction = 0.5 + uses = 2 + category = cat_grand_battle_plan + } + } + } + + focus = { + id = lth_thesongofnimrodel + icon = GFX_goal_lth_thesongofnimrodel + + relative_position_id = lth_wanderersofnandor + x =0 + y =2 + + cost = 10 + ai_will_do = { + factor = 35 + modifier = { + factor = 0 + NOT = { + AND = { + has_completed_focus = lth_guardiansofthewild + has_completed_focus = lth_empowerhaldir + has_completed_focus = lth_thenandorheritage + has_completed_focus = lth_discovernewrealms + } + } + } + } + prerequisite = { focus = lth_wanderersofnandor } + search_filters = { FOCUS_FILTER_ELVEN_FACTIONS } + available = { + lthi_has_200_nandor_influence = yes + } + completion_reward = { + # increase nandor influence + lthi_increase_influence_nandor_minor = yes + # Increase all bonuses by 50% + custom_effect_tooltip = lthi_increase_bonuses_50percent + multiply_variable = { lthi_nandor_bonus_organization_base = 1.5 } + multiply_variable = { lthi_nandor_bonus_conscription_base = 1.5 } + multiply_variable = { lthi_nandor_bonus_speed_base = 1.5 } + } + } + + focus = { + id = lth_guardiansofthewild + icon = GFX_goal_lth_guardiansofthewild + + relative_position_id = lth_wanderersofnandor + x =1 + y =1 + + cost = 5 + ai_will_do = { + factor = 5 + modifier = { + factor = 2 + has_completed_focus = lth_empowerhaldir + } + modifier = { + factor = 2 + has_completed_focus = lth_thenandorheritage + } + modifier = { + factor = 2 + has_completed_focus = lth_discovernewrealms + } + } + prerequisite = { focus = lth_wanderersofnandor } + search_filters = { FOCUS_FILTER_ELVEN_FACTIONS } + available = { + lthi_has_100_nandor_influence = yes + } + completion_reward = { + # increase nandor influence + lthi_increase_influence_nandor_minor = yes + # Add speed bonus to nandor faction + add_to_variable = { + var = lthi_nandor_bonus_speed_base + value = 0.15 + tooltip = lth_guardiansofthewild_tt + } + + mio:LTH_hunters_guild = { + add_mio_funds_gain_factor = 0.15 + add_mio_research_bonus = 0.05 + } + } + } + + focus = { + id = lth_discovernewrealms + icon = GFX_goal_lth_discovernewrealms + + relative_position_id = lth_wanderersofnandor + x =1 + y =3 + + cost = 5 + ai_will_do = { + factor = 5 + modifier = { + factor = 2 + has_completed_focus = lth_empowerhaldir + } + modifier = { + factor = 2 + has_completed_focus = lth_thenandorheritage + } + modifier = { + factor = 2 + has_completed_focus = lth_guardiansofthewild + } + } + prerequisite = { focus = lth_wanderersofnandor } + search_filters = { FOCUS_FILTER_ELVEN_FACTIONS } + available = { + lthi_has_200_nandor_influence = yes + } + completion_reward = { + # Send scouts and emissaries to explore and establish connections with other secluded elven realms. + + # increase nandor influence + lthi_increase_influence_nandor_minor = yes + # Increase recruitable population bonus to Nandor + add_to_variable = { + var = lthi_nandor_bonus_conscription_base + value = 0.15 + tooltip = lth_discovernewrealms_tt + } + + mio:LTH_hunters_guild = { + add_mio_size = 1 + } + } + } + + focus = { + id = lth_empowerhaldir + icon = GFX_goal_lth_empowerhaldir + + relative_position_id = lth_wanderersofnandor + x =-1 + y =1 + + cost = 5 + ai_will_do = { + factor = 5 + modifier = { + factor = 6 + is_going_belligerent = yes + has_completed_focus = lth_celebornsexile + } + } + prerequisite = { focus = lth_wanderersofnandor } + search_filters = { FOCUS_FILTER_ELVEN_FACTIONS } + available = { + lthi_has_100_nandor_influence = yes + LTH_haldir = { + is_unit_leader = yes + } + } + completion_reward = { + # Haldir is promoted to field marshal + # Haldir gains extra stats + # Add Haldir as chief advisor, make him non-fireable + activate_advisor = LTH_haldir_chiefadvisor + + LTH_haldir = { + promote_leader = yes + add_skill_level = 1 + + set_can_be_fired_in_advisor_role = { + slot = chief_advisor + value = no + } + } + } + } + + focus = { + id = lth_thenandorheritage + icon = GFX_goal_lth_thenandorheritage + + relative_position_id = lth_wanderersofnandor + x =-1 + y =3 + + cost = 5 + ai_will_do = { + factor = 15 + modifier = { + factor = 2 + is_going_belligerent = yes + has_completed_focus = lth_celebornsexile + } + } + prerequisite = { focus = lth_empowerhaldir } + search_filters = { FOCUS_FILTER_ELVEN_FACTIONS } + available = { + lthi_has_200_nandor_influence = yes + } + completion_reward = { + lthi_increase_influence_nandor_minor = yes + # add org bonus + add_to_variable = { + var = lthi_nandor_bonus_organization_base + value = 0.15 + tooltip = lth_thenandorheritage_tt + } + } + } + + focus = { + id = lth_territorialadministration + icon = GFX_goal_lth_provincialcouncils + + + x =1 + y =1 + + cost = 10 + ai_will_do = { + factor = 10 + modifier = { + factor = 5 + has_completed_focus = lth_immortalendurance + } + } + prerequisite = { } + completion_reward = { + # Increase Centralization + increase_centralization = yes + } + } + + focus = { + id = lth_territorialdefense + icon = GFX_goal_lth_territorialdefense + + relative_position_id = lth_territorialadministration + x =0 + y =1 + + cost = 10 + ai_will_do = { + factor = 5 + modifier = { + factor = 10 + has_completed_focus = lth_immortalendurance + } + modifier = { + factor = 2 + threat > 0.2 + } + } + prerequisite = { focus = lth_territorialadministration } + completion_reward = { + lth_lower_isolationist_reservations = yes + } + } + + focus = { + id = lth_sacredtreesofthenhail + icon = GFX_goal_lth_sacredtreesofthenhail + + relative_position_id = lth_territorialadministration + x =4 + y =1 + + cost = 5 + ai_will_do = { + factor = 5 + modifier = { + factor = 2 + has_war = no + } + modifier = { + factor = 3 + has_completed_focus = lth_immortalendurance + } + modifier = { + factor = 50 + 75 = { + check_variable = { industrial_complex_level > 12 } + } + } + } + prerequisite = { focus = lth_territorialadministration } + search_filters = { FOCUS_FILTER_INDUSTRY } + available = { + lthi_has_25p_nandor_influence = yes + } + completion_reward = { + # Give construction research bonus + add_tech_bonus = { + name = special_bonus + category = lotr_labour_construction + bonus = 0.5 + uses = 1 + } + # Add idea + add_ideas = LTH_the_sacred_trees + } + } + + focus = { + id = lth_conscecratecarasgaladhon + icon = GFX_goal_lth_conscecratecarasgaladhon + + relative_position_id = lth_sacredtreesofthenhail + x =-1 + y =2 + + cost = 5 + ai_will_do = { + factor = 15 + modifier = { + factor = 2 + has_war = no + } + modifier = { + factor = 3 + has_completed_focus = lth_immortalendurance + } + modifier = { + factor = 50 + 75 = { + check_variable = { industrial_complex_level > 12 } + } + } + } + prerequisite = { focus = lth_sacredtreesofthenhail } + search_filters = { FOCUS_FILTER_INDUSTRY } + available = { + controls_state = 75 + lthi_has_25p_nandor_influence = yes + } + completion_reward = { + add_victory_points = { + province = 5094 + value = 10 + } + # Add state modifier to caras galadhom that gives bonus slots and construction speed + 75 = { add_dynamic_modifier = { modifier = lth_consecrated_land } } + } + } + + focus = { + id = lth_conscecratecerinamroth + icon = GFX_goal_lth_conscecratecerinamroth + + relative_position_id = lth_sacredtreesofthenhail + x =1 + y =2 + + cost = 5 + ai_will_do = { + factor = 15 + modifier = { + factor = 2 + has_war = no + } + modifier = { + factor = 3 + has_completed_focus = lth_immortalendurance + } + modifier = { + factor = 50 + 75 = { + check_variable = { industrial_complex_level > 12 } + } + } + } + prerequisite = { focus = lth_sacredtreesofthenhail } + search_filters = { FOCUS_FILTER_INDUSTRY } + available = { + controls_state = 222 + lthi_has_25p_nandor_influence = yes + } + completion_reward = { + add_victory_points = { + province = 3125 + value = 10 + } + # Add state modifier to cerin amroth that gives bonus slots and construction speed + 222 = { add_dynamic_modifier = { modifier = lth_consecrated_land } } + } + } + + focus = { + id = lth_mallorntreearchiotecture + icon = GFX_goal_lth_mallorntreearchiotecture + + relative_position_id = lth_sacredtreesofthenhail + x =0 + y =1 + + cost = 5 + ai_will_do = { + factor = 15 + modifier = { + factor = 2 + has_war = no + } + modifier = { + factor = 3 + has_completed_focus = lth_immortalendurance + } + modifier = { + factor = 50 + 75 = { + check_variable = { industrial_complex_level > 12 } + } + } + } + prerequisite = { focus = lth_sacredtreesofthenhail } + search_filters = { FOCUS_FILTER_INDUSTRY } + available = { + lthi_has_25p_nandor_influence = yes + } + completion_reward = { + # add construction research boost + # Give construction research bonus + add_tech_bonus = { + name = special_bonus + category = lotr_labour_construction + bonus = 0.5 + uses = 1 + } + # improve the idea added in sacred trees + swap_ideas = { + remove_idea = LTH_the_sacred_trees + add_idea = LTH_the_sacred_trees_2 + } + } + } + + focus = { + id = lth_thetwinheartsoflothlorien + icon = GFX_goal_lth_thetwinheartsoflothlorien + + relative_position_id = lth_sacredtreesofthenhail + x =0 + y =5 + + cost = 10 + ai_will_do = { + factor = 50 + modifier = { + factor = 2 + has_completed_focus = lth_immortalendurance + } + modifier = { + factor = 100 + 75 = { + check_variable = { industrial_complex_level > 12 } + } + } + } + prerequisite = { focus = lth_conscecratecarasgaladhon } + prerequisite = { focus = lth_conscecratecerinamroth } + prerequisite = { focus = lth_mallorntreearchiotecture } + search_filters = { FOCUS_FILTER_INDUSTRY } + available = { + controls_state = 75 + controls_state = 222 + lthi_has_100_nandor_influence = yes + } + completion_reward = { + custom_effect_tooltip = lth_thetwinheartsoflothlorien_tt + + hidden_effect = { + # Adds 50% of civs in caras to cerin, and 50% mils in cerin to caras + + 75 = { set_temp_variable = { civs_in_caras = industrial_complex_level } } + 222 = { set_temp_variable = { mils_in_cerin = arms_factory_level } } + + if = { + limit = { lthi_has_50p_nandor_influence = yes } + multiply_variable = { civs_in_caras = 0.8 } + multiply_variable = { mils_in_cerin = 0.8 } + } + else = { + multiply_variable = { civs_in_caras = 0.5 } + multiply_variable = { mils_in_cerin = 0.5 } + } + + 75 = { + add_extra_state_shared_building_slots = var:mils_in_cerin + add_building_construction = { type = arms_factory level = var:mils_in_cerin instant_build = yes } + } + 222 = { + add_extra_state_shared_building_slots = var:civs_in_caras + add_building_construction = { type = industrial_complex level = var:civs_in_caras instant_build = yes } + } + } + } + } + + focus = { + id = lth_guardiansoftheriveranduin + icon = GFX_goal_lth_guardiansoftheriveranduin + + relative_position_id = lth_territorialdefense + x =2 + y =4 + + cost = 5 + ai_will_do = { + factor = 2 + modifier = { + factor = 10 + country_exists = DGU + } + modifier = { + factor = 2 + threat > 0.2 + } + modifier = { + factor = 3 + has_completed_focus = lth_immortalendurance + } + } + prerequisite = { focus = lth_territorialdefense } + completion_reward = { + navy_experience = 50 + army_experience = 15 + custom_effect_tooltip = lth_guardiansoftheriveranduin_tt + # Add trait to all unit leaders + hidden_effect = { + every_unit_leader = { + add_trait = { + trait = river_specialist + } + } + } + } + } + + focus = { + id = lth_patrolsandriverwardens + icon = GFX_goal_lth_patrolsandriverwardens + + relative_position_id = lth_guardiansoftheriveranduin + x =0 + y =1 + + cost = 5 + ai_will_do = { + factor = 2 + modifier = { + factor = 10 + country_exists = DGU + } + } + prerequisite = { focus = lth_guardiansoftheriveranduin } + completion_reward = { + # Lower the chances of orc raids from Dol Guldur succeeding + # (Taken care of automatically in the raid decision) + custom_effect_tooltip = lth_patrolsandriverwardens_tt + } + } + + focus = { + id = lth_strengthenfortifications + icon = GFX_goal_lth_strengthenfortifications + + relative_position_id = lth_guardiansoftheriveranduin + x =1 + y =3 + + cost = 5 + ai_will_do = { + factor = 5 + modifier = { + factor = 2 + threat > 0.2 + } + modifier = { + factor = 3 + has_completed_focus = lth_immortalendurance + } + } + prerequisite = { focus = lth_guardiansoftheriveranduin } + available = { + controls_state = 75 + } + completion_reward = { + custom_effect_tooltip = lth_strengthenfortifications_tt + hidden_effect = { + # Build a bunch of forts + 75 = { add_building_construction = { type = bunker level = 5 instant_build = yes province = 2202 } } + 75 = { add_building_construction = { type = bunker level = 5 instant_build = yes province = 3538 } } + 75 = { add_building_construction = { type = bunker level = 5 instant_build = yes province = 6366 } } + 75 = { add_building_construction = { type = bunker level = 5 instant_build = yes province = 3335 } } + } + } + } + + focus = { + id = lth_commercialnavigation + icon = GFX_goal_lth_commercialnavigation + + relative_position_id = lth_guardiansoftheriveranduin + x =-1 + y =3 + + cost = 5 + ai_will_do = { + factor = 1 + modifier = { + factor = 5 + has_government = cooperative + } + } + prerequisite = { focus = lth_guardiansoftheriveranduin } + completion_reward = { + # Extra trade or something + add_ideas = LTH_river_anduin_commerce + + add_equipment_subsidy = { + cic = 1000 + equipment_type = infantry_equipment + seller_tags = { GON MIR VAL ERE ROH } + } + } + } + + focus = { + id = lth_preservationofknowledge + icon = GFX_goal_lth_preservationofknowledge + + relative_position_id = lth_immortalendurance + x =0 + y =5 + + cost = 5 + ai_will_do = { factor = 50 } + prerequisite = { focus = lth_immortalendurance } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_UNALIGNED FOCUS_FILTER_RESEARCH } + completion_reward = { + # Buff immortal endurance modifier to include research + custom_effect_tooltip = lth_preservationofknowledge_tt + # NOTE: taken care of automatically in effects + set_variable = { lth_preservationofknowledge_bonus = var:lth_immortal_endurance_bonus } + } + } + + focus = { + id = lth_thelibraryofcarasgaladhon + icon = GFX_goal_lth_thelibraryofcarasgaladhon + + relative_position_id = lth_immortalendurance + x =0 + y =6 + + cost = 5 + ai_will_do = { factor = 50 } + prerequisite = { focus = lth_preservationofknowledge } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_UNALIGNED FOCUS_FILTER_RESEARCH } + completion_reward = { + # Extra research slot + add_research_slot = 1 + } + } + + focus = { + id = lth_impregnablefortresses + icon = GFX_goal_lth_strengthenfortifications + + relative_position_id = lth_immortalendurance + x =-1 + y =7 + + cost = 5 + ai_will_do = { + factor = 25 + modifier = { + factor = 2 + threat > 0.2 + } + } + prerequisite = { focus = lth_thetwinheartsoflothlorien } + prerequisite = { focus = lth_immortalendurance } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_UNALIGNED } + available = { + controls_state = 75 + controls_state = 222 + } + completion_reward = { + # Maxed out forts for both cities + 75 = { + add_building_construction = { type = bunker level = 10 province = 5094 } + # Little bonus province modifier + add_province_modifier = { + static_modifiers = { impregnable_fortress } + province = { id = 5094 } + } + } + 222 = { + add_building_construction = { type = bunker level = 8 province = 3125 } + } + } + } + + focus = { + id = lth_resourcestorage + icon = GFX_goal_lth_resourcestorage + + relative_position_id = lth_immortalendurance + x =-2 + y =8 + + cost = 5 + ai_will_do = { factor = 15 } + prerequisite = { focus = lth_impregnablefortresses } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_UNALIGNED } + available = { + controls_state = 75 + controls_state = 222 + } + completion_reward = { + # Add resources + add_resource = { type = steel amount = 25 state = 75 } + add_resource = { type = oil amount = 25 state = 75 } + add_resource = { type = rubber amount = 25 state = 222 } + add_resource = { type = steel amount = 25 state = 222 } + add_resource = { type = chromium amount = 25 state = 75 } + # Some bonus civs cause why not + 75 = { + add_extra_state_shared_building_slots = 3 + add_building_construction = { + type = industrial_complex + level = 3 + instant_build = yes + } + } + } + } + + focus = { + id = lth_defensiveperimeter + icon = GFX_goal_lth_defensiveperimeter + + relative_position_id = lth_immortalendurance + x =-1 + y =9 + + cost = 10 + ai_will_do = { + factor = 35 + modifier = { + factor = 2 + threat > 0.2 + } + } + prerequisite = { focus = lth_strengthenfortifications } + prerequisite = { focus = lth_immortalendurance } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_UNALIGNED } + available = { + controls_state = 75 + controls_state = 222 + controls_state = 74 + controls_state = 76 + controls_state = 160 + } + completion_reward = { + custom_effect_tooltip = lth_defensiveperimeter_tt + + hidden_effect = { + # AA + every_core_state = { add_building_construction = { type = anti_air_building level = 5 instant_build = yes } } + + # Forts all along the border + 75 = { add_building_construction = { type = bunker level = 4 instant_build = yes province = 3335 } } + 75 = { add_building_construction = { type = bunker level = 4 instant_build = yes province = 6451 } } + 75 = { add_building_construction = { type = bunker level = 4 instant_build = yes province = 6455 } } + 75 = { add_building_construction = { type = bunker level = 4 instant_build = yes province = 3414 } } + + 222 = { add_building_construction = { type = bunker level = 4 instant_build = yes province = 6445 } } + 222 = { add_building_construction = { type = bunker level = 4 instant_build = yes province = 3438 } } + 222 = { add_building_construction = { type = bunker level = 4 instant_build = yes province = 5083 } } + + 74 = { add_building_construction = { type = bunker level = 4 instant_build = yes province = 6417 } } + 74 = { add_building_construction = { type = bunker level = 4 instant_build = yes province = 3285 } } + 74 = { add_building_construction = { type = bunker level = 4 instant_build = yes province = 6410 } } + 74 = { add_building_construction = { type = bunker level = 4 instant_build = yes province = 3198 } } + 74 = { add_building_construction = { type = bunker level = 4 instant_build = yes province = 4812 } } + 74 = { add_building_construction = { type = bunker level = 4 instant_build = yes province = 2191 } } + 74 = { add_building_construction = { type = bunker level = 4 instant_build = yes province = 6396 } } + 74 = { add_building_construction = { type = bunker level = 4 instant_build = yes province = 3440 } } + 74 = { add_building_construction = { type = bunker level = 4 instant_build = yes province = 5248 } } + + 76 = { add_building_construction = { type = bunker level = 4 instant_build = yes province = 4413 } } + 76 = { add_building_construction = { type = bunker level = 4 instant_build = yes province = 2736 } } + 76 = { add_building_construction = { type = bunker level = 4 instant_build = yes province = 2089 } } + 76 = { add_building_construction = { type = bunker level = 4 instant_build = yes province = 4082 } } + 76 = { add_building_construction = { type = bunker level = 4 instant_build = yes province = 4439 } } + + 160 = { add_building_construction = { type = bunker level = 4 instant_build = yes province = 2616 } } + 160 = { add_building_construction = { type = bunker level = 4 instant_build = yes province = 6227 } } + 160 = { add_building_construction = { type = bunker level = 4 instant_build = yes province = 4220 } } + 160 = { add_building_construction = { type = bunker level = 4 instant_build = yes province = 4061 } } + 160 = { add_building_construction = { type = bunker level = 4 instant_build = yes province = 3149 } } + } + } + } + + focus = { + id = lth_elvenknowledge + icon = GFX_goal_lth_echoesoftheeldendays + + + x =12 + y =14 + + cost = 10 + ai_will_do = { + factor = 10 + modifier = { + factor = 3 + num_researched_technologies > 15 + } + } + prerequisite = { } + search_filters = { FOCUS_FILTER_RESEARCH } + completion_reward = { + add_tech_bonus = { + bonus = 0.5 + uses = 1 + category = lotr_elven_secrets + } + } + } + + focus = { + id = lth_elvenweaponry + icon = GFX_goal_lth_elvenweaponry + + relative_position_id = lth_elvenknowledge + x =3 + y =1 + + cost = 5 + ai_will_do = { + factor = 5 + modifier = { + factor = 2 + date > 3021.1.1 + } + modifier = { + factor = 3 + has_government = belligerent + } + } + prerequisite = { focus = lth_elvenknowledge } + search_filters = { FOCUS_FILTER_RESEARCH } + completion_reward = { + army_experience = 15 + # Infrantry equip research boost + add_tech_bonus = { + name = special_bonus + category = lotr_infantry + uses = 2 + bonus = 0.25 + } + } + } + + focus = { + id = lth_elvenforges + icon = GFX_goal_lth_elvenforges + + relative_position_id = lth_elvenweaponry + x =-2 + y =1 + + cost = 5 + ai_will_do = { + factor = 1 + modifier = { + factor = 5 + has_completed_focus = lth_sentinelsofcerinamroth + } + } + prerequisite = { focus = lth_elvenweaponry } + search_filters = { FOCUS_FILTER_RESEARCH } + completion_reward = { + # Forging research boost + add_tech_bonus = { + name = special_bonus + category = lotr_labour_metalworking + uses = 1 + bonus = 0.5 + } + } + } + + focus = { + id = lth_bladesoftheeldar + icon = GFX_goal_lth_bladesoftheeldar + + relative_position_id = lth_elvenweaponry + x =-2 + y =2 + + cost = 5 + ai_will_do = { + factor = 1 + modifier = { + factor = 5 + has_completed_focus = lth_sentinelsofcerinamroth + } + } + prerequisite = { focus = lth_elvenforges } + search_filters = { FOCUS_FILTER_RESEARCH } + completion_reward = { + # give more attack against orcs or smth + add_ideas = LTH_blades_of_the_eldar + } + } + + focus = { + id = lth_silvanelitewarriors + icon = GFX_goal_lth_silvanelitewarriors + + relative_position_id = lth_elvenweaponry + x =0 + y =2 + + cost = 10 + ai_will_do = { + factor = 15 + modifier = { + factor = 2 + is_going_belligerent = yes + } + } + prerequisite = { focus = lth_elvenweaponry } + search_filters = { FOCUS_FILTER_RESEARCH } + completion_reward = { + # Increase special forces cap + speacial forces research boost + add_tech_bonus = { + name = special_bonus + category = lotr_infantry_specialforces + bonus = 0.5 + uses = 1 + } + add_ideas = LTH_silvan_elite_warriors + } + } + + focus = { + id = lth_elvencavalry + icon = GFX_goal_lth_elvencavalry + + relative_position_id = lth_silvanelitewarriors + x =-2 + y =2 + + cost = 5 + ai_will_do = { + factor = 1 + modifier = { + factor = 5 + has_completed_focus = lth_sentinelsofcerinamroth + } + } + prerequisite = { focus = lth_silvanelitewarriors } + search_filters = { FOCUS_FILTER_RESEARCH } + completion_reward = { + # cav research boost + add_tech_bonus = { + name = special_bonus + category = lotr_cavalry + bonus = 1 + uses = 1 + } + } + } + + focus = { + id = lth_lothlorienarchers + icon = GFX_goal_lth_lothlorienarchers + + relative_position_id = lth_elvenweaponry + x =2 + y =1 + + cost = 5 + ai_will_do = { + factor = 15 + modifier = { + factor = 2 + is_going_belligerent = yes + } + } + prerequisite = { focus = lth_elvenweaponry } + search_filters = { FOCUS_FILTER_RESEARCH } + completion_reward = { + army_experience = 10 + # Will research the enxt level of arty (up to level 3) + if = { + limit = { can_research = interwar_artillery } + set_technology = { interwar_artillery = 1 } + } + else_if = { + limit = { can_research = artillery1 } + set_technology = { artillery1 = 1 } + } + else_if = { + limit = { can_research = artillery2 } + set_technology = { artillery2 = 1 } + } + else_if = { + limit = { can_research = artillery3 } + set_technology = { artillery3 = 1 } + } + else = { + add_tech_bonus = { + name = special_bonus + category = lotr_infantry_archery_bow + bonus = 0.35 + uses = 1 + } + } + } + } + + focus = { + id = lth_silverthornarrows + icon = GFX_goal_lth_silverthornarrows + + relative_position_id = lth_elvenweaponry + x =2 + y =3 + + cost = 5 + ai_will_do = { + factor = 15 + modifier = { + factor = 2 + is_going_belligerent = yes + } + } + prerequisite = { focus = lth_lothlorienarchers } + prerequisite = { focus = lth_silvanelitewarriors } + search_filters = { FOCUS_FILTER_RESEARCH } + completion_reward = { + # More soft attack on bows n shit + add_ideas = LTH_silverthorn_arrows + } + } + + focus = { + id = lth_sindarpathstalkers + icon = GFX_goal_lth_sindarpathstalkers + + relative_position_id = lth_silvanelitewarriors + x =0 + y =2 + + cost = 10 + ai_will_do = { factor = 15 } + prerequisite = { focus = lth_silvanelitewarriors } + search_filters = { FOCUS_FILTER_RESEARCH } + available = { + lthi_has_100_sindar_influence = yes + } + completion_reward = { + # Add new special forces type + set_technology = { + sindar_pathstalkers = 1 + } + lthi_increase_influence_sindar_intermediate = yes + } + } + + focus = { + id = lth_ridersofthenaith + icon = GFX_goal_lth_ridersofthenaith + + relative_position_id = lth_silvanelitewarriors + x =-2 + y =3 + + cost = 10 + ai_will_do = { factor = 1 } + prerequisite = { focus = lth_elvencavalry } + search_filters = { FOCUS_FILTER_RESEARCH } + completion_reward = { + # Add new special forces type + set_technology = { + riders_of_the_naith = 1 + } + } + } + + focus = { + id = lth_marchwardensoflothlorien + icon = GFX_goal_lth_marchwardensoflothlorien + + relative_position_id = lth_silvanelitewarriors + x =4 + y =2 + + cost = 10 + ai_will_do = { + factor = 15 + modifier = { + factor = 2 + is_going_belligerent = yes + } + } + prerequisite = { focus = lth_silverthornarrows } + prerequisite = { focus = lth_thenandorheritage } + search_filters = { FOCUS_FILTER_RESEARCH } + #prerequisite = { focus = lth_silvanelitewarriors } + available = { + lthi_has_100_nandor_influence = yes + } + completion_reward = { + # Add new special forces type, similar to rangers + set_technology = { + marchwardens_of_lothlorien = 1 + } + # increase nandor influence + lthi_increase_influence_nandor_intermediate = yes + } + } + + focus = { + id = lth_sentinelsofcerinamroth + icon = GFX_goal_lth_sentinelsofcerinamroth + + relative_position_id = lth_silvanelitewarriors + x =2 + y =3 + + cost = 10 + ai_will_do = { factor = 50 } + prerequisite = { focus = lth_sindarpathstalkers } + prerequisite = { focus = lth_marchwardensoflothlorien } + search_filters = { FOCUS_FILTER_RESEARCH } + available = { + controls_state = 222 + } + completion_reward = { + custom_effect_tooltip = lth_sentinelsofcerinamroth_tt + # Spawn a bunch of elite divs with marchwardens and pathstalkers in them + hidden_effect = { + load_oob = Lothlorien_Sentinels + } + } + } + + focus = { + id = lth_celebornsexile + icon = GFX_goal_lth_celebornsexile + + x =21 + y =9 + + cost = 5 + ai_will_do = { + factor = 200 + } + prerequisite = { focus = lth_publiccelebrations } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_BELLIGERENT } + mutually_exclusive = { focus = lth_mendtheschism } + mutually_exclusive = { focus = lth_galadrielsfarewell } + available = { + lthi_noldor_have_more_influence_than_sindar = yes + lthi_has_200_noldor_influence = yes + + OR = { + set_temp_variable = { days_left = days_mission_timeout@great_schism_civil_war } + check_variable = { + var = days_left + val = 180 + compare = less_than + tooltip = lth_less_than_X_days_until_cw_tt + } + belligerent > 0.3 + } + } + completion_reward = { + # End the schism + remove_ideas = LTH_great_schism + # Get rid of Cele + LTH_celeborn = { + retire = yes + } + # Switch to belligerent + hidden_effect = { + add_popularity = { ideology = belligerent popularity = 1.0 } + + news_event = { hours = 24 id = news.397 } + } + set_politics = { + ruling_party = belligerent + elections_allowed = no + } + } + } + + focus = { + id = lth_elvensupremacy + icon = GFX_goal_lth_elvensupremacy + + relative_position_id = lth_celebornsexile + x =1 + y =1 + + cost = 5 + ai_will_do = { factor = 35 } + prerequisite = { focus = lth_celebornsexile } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_BELLIGERENT } + completion_reward = { + # change from expansionist to supremacist + set_country_leader_ideology = supremacist + lth_lower_isolationist_reservations = yes + } + } + + focus = { + id = lth_thereawakening + icon = GFX_goal_lth_thereawakening + + relative_position_id = lth_elvensupremacy + x =3 + y =2 + + cost = 10 + ai_will_do = { factor = 50 } + prerequisite = { focus = lth_thenoldorelite } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_BELLIGERENT } + available = { + lthi_has_300_noldor_influence = yes + } + completion_reward = { + # increase noldor influence + lthi_increase_influence_noldor_major = yes + # Double all Noldor bonuses + multiply_variable = { lthi_noldor_bonus_attack_base = 1.5 } + multiply_variable = { lthi_noldor_bonus_breakthrough_base = 1.5 } + multiply_variable = { lthi_noldor_bonus_factoryoutput_base = 1.5 } + + custom_effect_tooltip = lth_thereawakening_tt + + } + } + + focus = { + id = lth_queenofthedawn + icon = GFX_goal_lth_queenofthedawn + + relative_position_id = lth_celebornsexile + x =-1 + y =1 + + cost = 5 + ai_will_do = { + factor = 15 + modifier = { + factor = 3 + has_completed_focus = lth_marchwardensoflothlorien + } + } + prerequisite = { focus = lth_celebornsexile } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_BELLIGERENT } + available = { + has_country_leader = { character = LTH_galadriel ruling_only = yes } + } + completion_reward = { + # Traits for Gala + add_country_leader_trait = fair_as_the_sea_and_sun + } + } + + focus = { + id = lth_thequeensguard + icon = GFX_goal_lth_thequeensguard + + relative_position_id = lth_celebornsexile + x =-1 + y =11 + + cost = 10 + ai_will_do = { factor = 50 } + prerequisite = { focus = lth_fairasthesunterribleasthestorm } + prerequisite = { focus = lth_marchwardensoflothlorien } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_BELLIGERENT } + available = { + has_country_leader = { character = LTH_galadriel ruling_only = yes } + } + available = { + controls_state = 75 + lthi_has_200_noldor_influence = yes + } + completion_reward = { + # Spawn a single giga-poggers division + custom_effect_tooltip = lth_thequeensguard_tt + hidden_effect = { + load_oob = Lothlorien_QueensGuard + } + } + } + + focus = { + id = lth_fairasthesunterribleasthestorm + icon = GFX_goal_lth_fairasthesunterribleasthestorm + + relative_position_id = lth_celebornsexile + x =-1 + y =3 + + cost = 10 + ai_will_do = { factor = 15 } + prerequisite = { focus = lth_queenofthedawn } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_BELLIGERENT } + available = { + has_country_leader = { character = LTH_galadriel ruling_only = yes } + } + completion_reward = { + # Traits for Gala + add_country_leader_trait = dreadful_as_storm_and_lightning + + # change Gala's portrait + set_country_leader_portrait = { + ideology = belligerent + portrait = GFX_portrait_lothlorien_galadriel_dark + } + + custom_effect_tooltip = "Change Galadriel's Portrait" + } + } + + focus = { + id = lth_purityandbrilliance + icon = GFX_goal_lth_purityandbrilliance + + relative_position_id = lth_celebornsexile + x =1 + y =3 + + cost = 5 + ai_will_do = { factor = 40 } + prerequisite = { focus = lth_elvensupremacy } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_BELLIGERENT } + available = { + lthi_has_300_noldor_influence = yes + } + completion_reward = { + # factions with 80% influence get massive buff + custom_effect_tooltip = lth_purityandbrilliance_tt + } + } + + focus = { + id = lth_thenoldorelite + icon = GFX_goal_lth_thenoldorelite + + relative_position_id = lth_elvensupremacy + x =3 + y =1 + + cost = 5 + ai_will_do = { factor = 35 } + prerequisite = { focus = lth_skysoilandwater } + prerequisite = { focus = lth_elvensupremacy } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_BELLIGERENT } + available = { + lthi_has_300_noldor_influence = yes + } + completion_reward = { + # Remove "decadent nobility" idea + remove_ideas = LTH_decadent_nobility + # Add a different idea + add_ideas = LTH_noldor_elite + } + } + + focus = { + id = lth_mendtheschism + icon = GFX_goal_lth_mendtheschism + + x =30 + y =9 + + cost = 5 + ai_will_do = { + factor = 100 + } + prerequisite = { focus = lth_publiccelebrations } + mutually_exclusive = { focus = lth_celebornsexile } + mutually_exclusive = { focus = lth_galadrielsfarewell } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_BELLIGERENT FOCUS_FILTER_REVOLUTIONARY } + available = { + lthi_sindar_and_noldor_influence_diff_under_35 = yes + lthi_has_200_sindar_influence = yes + lthi_has_200_noldor_influence = yes + + set_temp_variable = { days_left = days_mission_timeout@great_schism_civil_war } + OR = { + set_temp_variable = { days_left = days_mission_timeout@great_schism_civil_war } + check_variable = { + var = days_left + val = 180 + compare = less_than + tooltip = lth_less_than_X_days_until_cw_tt + } + AND = { + belligerent > 0.3 + revolutionary > 0.3 + } + } + } + completion_reward = { + # Get rid of schism idea, bring back Gala+Cele idea + hidden_effect = { + add_popularity = { ideology = unaligned popularity = 0.15 } + } + remove_ideas = LTH_great_schism + add_ideas = LTH_celeborn_and_galadriel_mended + } + } + + focus = { + id = lth_harmonicascendancy + icon = GFX_goal_lth_harmonicascendancy + + relative_position_id = lth_mendtheschism + x =0 + y =1 + + cost = 10 + ai_will_do = { factor = 50 } + prerequisite = { focus = lth_mendtheschism } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_BELLIGERENT FOCUS_FILTER_REVOLUTIONARY } + completion_reward = { + custom_effect_tooltip = lth_harmonicascendancy_tt + effect_tooltip = { lth_harmoinic_ascendandy_year_one = yes } + custom_effect_tooltip = lth_harmonicascendancy_tt_2 + effect_tooltip = { lth_harmoinic_ascendandy_year_two = yes } + custom_effect_tooltip = lth_harmonicascendancy_tt_3 + effect_tooltip = { lth_harmoinic_ascendandy_year_three = yes } + + # Give an idea that does nothing, but after a year it is removed, granting a research slot, several civs and a bunch of PP + hidden_effect = { + add_timed_idea = { + idea = LTH_harmonic_ascendancy + days = 365 + } + } + } + } + + focus = { + id = lth_ancestralechoesintandem + icon = GFX_goal_lth_ancestralechoesintandem + + relative_position_id = lth_mendtheschism + x =0 + y =2 + + cost = 10 + ai_will_do = { factor = 50 } + prerequisite = { focus = lth_harmonicascendancy } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_BELLIGERENT FOCUS_FILTER_REVOLUTIONARY } + completion_reward = { + # Noldor and Sindar now share their influence points + # Automatically taken care of + custom_effect_tooltip = lth_ancestralechoesintandem_tt + } + } + + focus = { + id = lth_celeborngaladrielaccord + icon = GFX_goal_lth_celeborngaladrielaccord + + relative_position_id = lth_mendtheschism + x =0 + y =3 + + cost = 10 + ai_will_do = { factor = 50 } + prerequisite = { focus = lth_ancestralechoesintandem } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_BELLIGERENT FOCUS_FILTER_REVOLUTIONARY } + completion_reward = { + # Form an agreement to switch ruler and ideology every 6 months or something, LOL + # The leader of the other ideology becomes the chief advisor + hidden_effect = { + random_list = { + 10 = { country_event = { id = lothlorien.51 days = 1 } } + 10 = { country_event = { id = lothlorien.50 days = 1 } } + } + } + custom_effect_tooltip = lth_celeborngaladrielaccord_tt + } + } + + focus = { + id = lth_harmonyofthesindar + icon = GFX_goal_lth_harmonyofthesindar + + + x =34 + y =3 + + cost = 5 + ai_will_do = { + factor = 5 + modifier = { + factor = 4 + is_going_revolutionary = yes + } + } + available = { + NOT = { lth_civil_war_noldor = yes } + } + prerequisite = { } + search_filters = { FOCUS_FILTER_ELVEN_FACTIONS } + completion_reward = { + # increase sindar influence + lthi_increase_influence_sindar_minor = yes + add_doctrine_cost_reduction = { + cost_reduction = 0.5 + uses = 2 + category = cat_mobile_warfare + } + } + } + + focus = { + id = lth_wisdomofeluthingol + icon = GFX_goal_lth_wisdomofeluthingol + + relative_position_id = lth_harmonyofthesindar + x =0 + y =2 + + cost = 5 + ai_will_do = { + factor = 5 + modifier = { + factor = 4 + is_going_revolutionary = yes + } + } + available = { + NOT = { lth_civil_war_noldor = yes } + lthi_has_200_sindar_influence = yes + } + prerequisite = { focus = lth_refugeofdoriath } + search_filters = { FOCUS_FILTER_ELVEN_FACTIONS } + completion_reward = { + # increase sindar influence + lthi_increase_influence_sindar_minor = yes + # Research bonus + add_to_variable = { + var = lthi_sindar_bonus_research_base + value = 0.15 + tooltip = lth_wisdomofeluthingol_tt + } + + mio:LTH_ballistics_guild = { + add_mio_research_bonus = 0.05 + } + } + } + + focus = { + id = lth_thegirdleofmelian + icon = GFX_goal_lth_thegirdleofmelian + + relative_position_id = lth_harmonyofthesindar + x =2 + y =2 + + cost = 5 + ai_will_do = { + factor = 5 + modifier = { + factor = 4 + is_going_revolutionary = yes + } + } + available = { + NOT = { lth_civil_war_noldor = yes } + lthi_has_200_sindar_influence = yes + } + prerequisite = { focus = lth_refugeofdoriath } + search_filters = { FOCUS_FILTER_ELVEN_FACTIONS } + completion_reward = { + # increase sindar influence + lthi_increase_influence_sindar_minor = yes + # Maybe make this a state modifier? + add_ideas = LTH_girdle_of_melian + + # Some magic shit maybe + add_tech_bonus = { + name = special_bonus + category = lotr_knowledge_magic + uses = 1 + bonus = 0.5 + } + } + } + + focus = { + id = lth_refugeofdoriath + icon = GFX_goal_lth_refugeofdoriath + + relative_position_id = lth_harmonyofthesindar + x =1 + y =1 + + cost = 5 + ai_will_do = { + factor = 5 + modifier = { + factor = 4 + is_going_revolutionary = yes + } + } + available = { + NOT = { lth_civil_war_noldor = yes } + lthi_has_100_sindar_influence = yes + } + prerequisite = { focus = lth_harmonyofthesindar } + search_filters = { FOCUS_FILTER_ELVEN_FACTIONS } + completion_reward = { + # increase sindar influence + lthi_increase_influence_sindar_minor = yes + # supply bonus + add_to_variable = { + var = lthi_sindar_bonus_supply_base + value = -0.15 + tooltip = lth_refugeofdoriath_tt + } + } + } + + focus = { + id = lth_affiliatewithlindon + icon = GFX_goal_lth_affiliatewithlindon + + relative_position_id = lth_harmonyofthesindar + x =1 + y =3 + + cost = 10 + ai_will_do = { factor = 50 } + prerequisite = { focus = lth_wisdomofeluthingol } + prerequisite = { focus = lth_thegirdleofmelian } + search_filters = { FOCUS_FILTER_ELVEN_FACTIONS } + available = { + lthi_has_200_sindar_influence = yes + NOT = { has_war_with = LIN } + country_exists = LIN + NOT = { lth_civil_war_noldor = yes } + } + completion_reward = { + custom_effect_tooltip = lth_affiliatewithlindon_tt + hidden_effect = { + # Send event to lindon, they get to choose which current bonus to double + LIN = { country_event = { id = lothlorien.12 days = 5 } } + } + + mio:LTH_ballistics_guild = { + add_mio_funds_gain_factor = 0.15 + add_mio_size = 1 + } + } + } + + focus = { + id = lth_theprinceofdoriath + icon = GFX_goal_lth_reassertcelebornslodrship + + relative_position_id = lth_harmonyofthesindar + x =-1 + y =3 + + cost = 5 + ai_will_do = { + factor = 5 + modifier = { + factor = 8 + is_going_revolutionary = yes + } + } + prerequisite = { focus = lth_harmonyofthesindar } + prerequisite = { focus = lth_alordsprerogative } + search_filters = { FOCUS_FILTER_ELVEN_FACTIONS } + available = { + lthi_has_100_sindar_influence = yes + can_be_country_leader = LTH_celeborn + NOT = { lth_civil_war_noldor = yes } + } + completion_reward = { + # increase sindar influence + lthi_increase_influence_sindar_major = yes + } + } + + focus = { + id = lth_nurturingthehalfelven + icon = GFX_goal_lth_nurturingthehalfelven + + + x =39 + y =3 + + cost = 5 + ai_will_do = { + factor = 5 + modifier = { + factor = 4 + is_going_cooperative = yes + } + modifier = { + factor = 2 + GON = { is_ai = no } + } + modifier = { + factor = 2 + RIV = { is_ai = no } + } + } + prerequisite = { } + search_filters = { FOCUS_FILTER_ELVEN_FACTIONS } + completion_reward = { + # increase half-elven influence + lthi_increase_influence_halfelves_intermediate = yes + add_doctrine_cost_reduction = { + cost_reduction = 0.5 + uses = 2 + category = cat_grand_battle_plan + } + } + } + + focus = { + id = lth_celebrateperendhillegends + icon = GFX_goal_lth_celebrateperendhillegends + + relative_position_id = lth_nurturingthehalfelven + x =0 + y =1 + + cost = 5 + ai_will_do = { + factor = 5 + modifier = { + factor = 4 + is_going_cooperative = yes + } + modifier = { + factor = 2 + GON = { is_ai = no } + } + modifier = { + factor = 2 + RIV = { is_ai = no } + } + } + prerequisite = { focus = lth_nurturingthehalfelven } + search_filters = { FOCUS_FILTER_ELVEN_FACTIONS } + completion_reward = { + # increase half-elven influence + lthi_increase_influence_halfelves_intermediate = yes + # add stability bonus + add_to_variable = { + var = lthi_halfelves_bonus_stability_base + value = 0.15 + tooltip = lth_celebrateperendhillegends_tt + } + } + } + + focus = { + id = lth_thechildrenofluthien + icon = GFX_goal_lth_thechildrenofluthien + + relative_position_id = lth_celebrateperendhillegends + x =-1 + y =1 + + cost = 5 + ai_will_do = { + factor = 5 + modifier = { + factor = 4 + is_going_cooperative = yes + } + } + prerequisite = { focus = lth_celebrateperendhillegends } + search_filters = { FOCUS_FILTER_ELVEN_FACTIONS } + available = { + lthi_has_100_halfelves_influence = yes + } + completion_reward = { + # increase half-elven influence + lthi_increase_influence_halfelves_minor = yes + custom_effect_tooltip = lth_thechildrenofluthien_tt + # add stability bonus + add_to_variable = { + var = lthi_halfelves_bonus_stability_base + value = 0.05 + tooltip = lth_celebrateperendhillegends_tt + } + # xp bonus + add_to_variable = { + var = lthi_halfelves_bonus_experiencegain_base + value = 0.05 + tooltip = lth_earendilthemariner_tt + } + + mio:LTH_woodcutters_guild = { + add_mio_funds_gain_factor = 0.15 + } + } + } + + focus = { + id = lth_diorthefair + icon = GFX_goal_lth_diorthefair + + relative_position_id = lth_thechildrenofluthien + x =0 + y =2 + + cost = 5 + ai_will_do = { + factor = 5 + modifier = { + factor = 4 + is_going_cooperative = yes + } + } + prerequisite = { focus = lth_thechildrenofluthien } + search_filters = { FOCUS_FILTER_ELVEN_FACTIONS } + available = { + lthi_has_200_halfelves_influence = yes + } + completion_reward = { + # increase half-elven influence + lthi_increase_influence_halfelves_minor = yes + # consumers bonus + add_to_variable = { + var = lthi_halfelves_bonus_consumergoods_base + value = -0.16 + tooltip = lth_diorthefair_tt + } + + mio:LTH_woodcutters_guild = { + add_mio_research_bonus = 0.05 + } + } + } + + focus = { + id = lth_earendilthemariner + icon = GFX_goal_lth_earendilthemariner + + relative_position_id = lth_nurturingthehalfelven + x =1 + y =2 + + cost = 10 + ai_will_do = { + factor = 5 + modifier = { + factor = 4 + is_going_cooperative = yes + } + modifier = { + factor = 2 + GON = { is_ai = no } + } + modifier = { + factor = 2 + RIV = { is_ai = no } + } + } + prerequisite = { focus = lth_celebrateperendhillegends } + search_filters = { FOCUS_FILTER_ELVEN_FACTIONS } + available = { + lthi_has_100_halfelves_influence = yes + } + completion_reward = { + # increase half-elven influence + lthi_increase_influence_halfelves_minor = yes + # xp bonus + add_to_variable = { + var = lthi_halfelves_bonus_experiencegain_base + value = 0.15 + tooltip = lth_earendilthemariner_tt + } + } + } + + focus = { + id = lth_elrosofnumenor + icon = GFX_goal_lth_elrosofnumenor + + relative_position_id = lth_earendilthemariner + x =-1 + y =1 + + cost = 5 + ai_will_do = { + factor = 5 + modifier = { + factor = 4 + is_going_cooperative = yes + } + modifier = { + factor = 2 + GON = { is_ai = no } + } + } + prerequisite = { focus = lth_earendilthemariner } + search_filters = { FOCUS_FILTER_ELVEN_FACTIONS } + available = { + lthi_has_100_halfelves_influence = yes + } + completion_reward = { + # increase half-elven influence + lthi_increase_influence_halfelves_minor = yes + # Send event to Gondor, letting them choose to give us a certain bonus + GON = { country_event = { id = lothlorien.14 days = 5 } } + custom_effect_tooltip = if_they_accept + event_option_tooltip = lothlorien.15.a + } + } + + focus = { + id = lth_elrondtheperedhil + icon = GFX_goal_lth_elrondtheperedhil + + relative_position_id = lth_earendilthemariner + x =1 + y =1 + + cost = 5 + ai_will_do = { + factor = 5 + modifier = { + factor = 4 + is_going_cooperative = yes + } + modifier = { + factor = 2 + RIV = { is_ai = no } + } + } + prerequisite = { focus = lth_earendilthemariner } + search_filters = { FOCUS_FILTER_ELVEN_FACTIONS } + available = { + lthi_has_100_halfelves_influence = yes + } + completion_reward = { + # increase half-elven influence + lthi_increase_influence_halfelves_minor = yes + # Send an event to Rivendell, letting them choose to give us a certain bonus + RIV = { country_event = { id = lothlorien.16 days = 5 } } + + mio:LTH_woodcutters_guild = { + add_mio_size = 1 + } + } + } + + focus = { + id = lth_echoesofrivendell + icon = GFX_goal_lth_echoesofrivendell + + relative_position_id = lth_elrondtheperedhil + x =3 + y =1 + + cost = 5 + ai_will_do = { factor = 1 } + prerequisite = { focus = lth_unitethefactions } + prerequisite = { focus = lth_elrondtheperedhil } + search_filters = { FOCUS_FILTER_ELVEN_FACTIONS } + available = { + lthi_has_200_halfelves_influence = yes + NOT = { has_war_with = RIV } + is_faction_leader = yes + RIV = { is_in_faction = no } + RIV = { is_puppet = no } + } + bypass = { + is_in_faction_with = RIV + } + completion_reward = { + # increase half-elven influence + lthi_decrease_influence_halfelves_intermediate = yes + # Invite Rivendell to faction + RIV = { country_event = generic.5 } + } + } + + focus = { + id = lth_beaconofhope + icon = GFX_goal_lth_beaconofhope + + relative_position_id = lth_acknowledgethemordorthreat + x =16 + y =1 + + cost = 10 + ai_will_do = { + factor = 15 + modifier = { + factor = 0 + NOT = { is_going_cooperative = yes } + } + } + prerequisite = { focus = lth_acknowledgethemordorthreat } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_COOPERATIVE } + mutually_exclusive = { focus = lth_thegreatschism } + mutually_exclusive = { focus = lth_immortalendurance } + completion_reward = { + # Add an idea that gives cooperative drift and stuff + add_ideas = LTH_beacon_of_hope + } + } + + focus = { + id = lth_unitethefactions + icon = GFX_goal_lth_unitethefactions + + relative_position_id = lth_beaconofhope + x =-2 + y =1 + + cost = 10 + ai_will_do = { factor = 35 } + prerequisite = { focus = lth_beaconofhope } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_COOPERATIVE } + completion_reward = { + lthi_increase_bonus_nandor = yes + lthi_increase_bonus_noldor = yes + lthi_increase_bonus_sindar = yes + lthi_increase_bonus_halfelves = yes + add_popularity = { ideology = cooperative popularity = 0.1 } + } + } + + focus = { + id = lth_alignthenobility + icon = GFX_goal_lth_alignthenobility + + relative_position_id = lth_beaconofhope + x =-1 + y =3 + + cost = 10 + ai_will_do = { factor = 25 } + prerequisite = { focus = lth_unitethefactions } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_COOPERATIVE } + completion_reward = { + swap_ideas = { + remove_idea = LTH_decadent_nobility + add_idea = LTH_decadent_nobility_coop + } + add_popularity = { ideology = cooperative popularity = 0.1 } + } + } + + focus = { + id = lth_alignthearmy + icon = GFX_goal_lth_alignthenobility + + relative_position_id = lth_beaconofhope + x =-3 + y =3 + + cost = 10 + ai_will_do = { factor = 25 } + prerequisite = { focus = lth_unitethefactions } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_COOPERATIVE } + completion_reward = { + army_experience = 50 + add_popularity = { ideology = cooperative popularity = 0.1 } + } + } + + focus = { + id = lth_breakthechainsofisolation + icon = GFX_goal_lth_breakthechainsofisolation + + relative_position_id = lth_beaconofhope + x =0 + y =5 + + cost = 10 + ai_will_do = { + factor = 35 + } + prerequisite = { focus = lth_beaconofhope } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_COOPERATIVE } + available = { + cooperative > 0.6 + } + completion_reward = { + lth_lower_isolationist_reservations = yes + # Go cooperative + set_politics = { + ruling_party = cooperative + elections_allowed = no + } + } + } + + focus = { + id = lth_forgealliances + icon = GFX_goal_lth_forgealliances + + relative_position_id = lth_beaconofhope + x =0 + y =7 + + cost = 5 + ai_will_do = { factor = 20 } + prerequisite = { focus = lth_breakthechainsofisolation } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_COOPERATIVE } + available = { + has_government = cooperative + } + completion_reward = { + lth_lower_isolationist_reservations = yes + } + } + + focus = { + id = lth_bondsofnature + icon = GFX_goal_lth_bondsofnature + + relative_position_id = lth_forgealliances + x =-4 + y =7 + + cost = 10 + ai_will_do = { + factor = 5 + modifier = { + factor = 2 + OR = { + MIR = { is_going_same_path_as_root = yes } + MIR = { is_ai = no } + } + } + modifier = { + factor = 2 + OR = { + ENT = { is_going_same_path_as_root = yes } + ENT = { is_ai = no } + } + } + modifier = { + factor = 2 + has_government = revolutionary + } + } + prerequisite = { focus = lth_unityindivision focus = lth_forgealliances } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_COOPERATIVE FOCUS_FILTER_REVOLUTIONARY } + completion_reward = { + # Advance medicine research + # Increase opinion with MIR, ENT, SPI + MIR = { + add_opinion_modifier = { + target = LTH + modifier = medium_increase + } + } + ENT = { + add_opinion_modifier = { + target = LTH + modifier = medium_increase + } + } + SPI = { + add_opinion_modifier = { + target = LTH + modifier = medium_increase + } + } + } + } + + focus = { + id = lth_watersofhealing + icon = GFX_goal_lth_watersofhealing + + relative_position_id = lth_bondsofnature + x =-2 + y =1 + + cost = 5 + ai_will_do = { factor = 5 } + prerequisite = { focus = lth_bondsofnature } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_COOPERATIVE FOCUS_FILTER_REVOLUTIONARY } + completion_reward = { + # Give medicine boost + add_tech_bonus = { + bonus = 0.5 + uses = 2 + category = lotr_knowledge_alchemy_herbology + } + } + } + + focus = { + id = lth_theentsoffangorn + icon = GFX_goal_lth_theonodrimoffangorn + + relative_position_id = lth_bondsofnature + x =2 + y =1 + + cost = 10 + ai_will_do = { + factor = 10 + modifier = { + factor = 2 + OR = { + ENT = { is_going_same_path_as_root = yes } + ENT = { is_ai = no } + } + } + modifier = { + factor = 2 + has_government = revolutionary + } + } + prerequisite = { focus = lth_bondsofnature } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_COOPERATIVE FOCUS_FILTER_REVOLUTIONARY } + available = { + NOT = { + any_enemy_country = { + is_ents = yes + } + } + } + completion_reward = { + # Send some event to the ents, if they accept, gain resource rights + ENT = { country_event = { id = lothlorien.53 days = 3 } } + custom_effect_tooltip = if_they_accept + event_option_tooltip = lothlorien.54.a + } + } + + focus = { + id = lth_thegreatbeasts + icon = GFX_goal_lth_thegreatbeasts + + relative_position_id = lth_bondsofnature + x =0 + y =2 + + cost = 5 + ai_will_do = { factor = 10 } + prerequisite = { focus = lth_bondsofnature } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_COOPERATIVE FOCUS_FILTER_REVOLUTIONARY } + completion_reward = { + # Give increased air supp /bombing bonuses and stuff + add_ideas = LTH_great_beasts + } + } + + focus = { + id = lth_eaglesofmanwe + icon = GFX_goal_lth_eaglesofmanwe + + relative_position_id = lth_bondsofnature + x =-1 + y =3 + + cost = 5 + ai_will_do = { factor = 18 } + prerequisite = { focus = lth_thegreatbeasts } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_COOPERATIVE FOCUS_FILTER_REVOLUTIONARY } + completion_reward = { + # Unlock eagle research + set_technology = { + eagle_domestication = 1 + fighter_eagle = 1 + } + custom_effect_tooltip = lth_eaglesofmanwe_tt + # Get a number of eagles + add_equipment_to_stockpile = { + type = fighter_equipment_1 + amount = 80 + producer = LTH + } + } + } + + focus = { + id = lth_fellbeastsofmordor + icon = GFX_goal_lth_fellbeastsofmordor + + relative_position_id = lth_bondsofnature + x =1 + y =3 + + cost = 5 + ai_will_do = { factor = 15 } + prerequisite = { focus = lth_thegreatbeasts } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_COOPERATIVE FOCUS_FILTER_REVOLUTIONARY } + completion_reward = { + # Unlock fellbeast tech + set_technology = { + fellbeast_domestication = 1 + fighter_fellbeast = 1 + } + custom_effect_tooltip = lth_fellbeastsofmordor_tt + # Get a number of fellbeasts + add_equipment_to_stockpile = { + type = fighter_equipment_0 + amount = 80 + producer = LTH + } + } + } + + focus = { + id = lth_spidersofungoliant + icon = GFX_goal_lth_spidersofungoliant + + relative_position_id = lth_bondsofnature + x =0 + y =5 + + cost = 10 + ai_will_do = { + factor = 10 + modifier = { + factor = 2 + OR = { + MIR = { is_going_same_path_as_root = yes } + MIR = { is_ai = no } + } + } + modifier = { + factor = 3 + has_government = revolutionary + } + } + prerequisite = { focus = lth_tamingthewild } + prerequisite = { focus = lth_thegreatbeasts } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_COOPERATIVE FOCUS_FILTER_REVOLUTIONARY } + available = { + NOT = { + any_enemy_country = { + is_spiders = yes + } + } + } + completion_reward = { + # Send event to spoders + # If the spoders accept, periodically spawn a spierdling division + if = { + limit = { MIR = { is_spiders = yes } } + MIR = { country_event = lothlorien.56 } + } + else_if = { + limit = { country_exists = SPI } + SPI = { country_event = lothlorien.56 } + } + else = { + effect_tooltip = { + SPI = { country_event = lothlorien.56 } + } + hidden_effect = { + random_list = { + 85 = { country_event = lothlorien.57 } + 15 = { country_event = lothlorien.58 } + } + } + } + custom_effect_tooltip = if_they_accept + event_option_tooltip = lothlorien.57.a + } + } + + focus = { + id = lth_theforestbetween + icon = GFX_goal_lth_theforestbetween + + relative_position_id = lth_bondsofnature + x =2 + y =6 + + cost = 10 + ai_will_do = { factor = 35 } + prerequisite = { focus = lth_theentsoffangorn } + prerequisite = { focus = lth_spidersofungoliant } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_COOPERATIVE FOCUS_FILTER_REVOLUTIONARY } + available = { + has_country_flag = lth_ent_cooperation + has_country_flag = lth_spider_cooperation + NOT = { + any_enemy_country = { + OR = { is_spiders = yes is_ents = yes } + } + } + } + completion_reward = { + custom_effect_tooltip = lth_theforestbetween_tt + # Upgrade the periodically spawning spiderlings to + # mixed divisions of ents *and* spiders + hidden_effect = { + load_oob = Lothlorien_Spiders_2_Template + lth_spawn_spider_ent_division = yes + } + } + } + + focus = { + id = lth_supportspiderindependence + icon = GFX_goal_lth_wrathoftheforests + + relative_position_id = lth_spidersofungoliant + x =-2 + y =1 + + cost = 5 + ai_will_do = { factor = 0 } + prerequisite = { focus = lth_spidersofungoliant } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_COOPERATIVE FOCUS_FILTER_REVOLUTIONARY } + available = { + NOT = { country_exists = SPI } + } + completion_reward = { + # force Thranduil to release the spoders + custom_effect_tooltip = lth_supportspiderindependence_tt + + # Ngl, this focus doesn't do *anything* atm. But I don't think anyone would even notice lmao + } + } + + focus = { + id = lth_tamingthewild + icon = GFX_goal_lth_tamingthewild + + relative_position_id = lth_bondsofnature + x =-3 + y =4 + + cost = 5 + ai_will_do = { factor = 25 } + prerequisite = { focus = lth_unityindivision } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_COOPERATIVE FOCUS_FILTER_REVOLUTIONARY } + completion_reward = { + custom_effect_tooltip = lth_tamingthewild_tt + # Give our generals a forest trait or something + hidden_effect = { + every_unit_leader = { + limit = { + check_variable = { skill_level > 1 } + } + add_trait = { trait = forest_skirmisher } + } + } + } + } + + focus = { + id = lth_unlikelyallies + icon = GFX_goal_lth_unlikelyallies + + relative_position_id = lth_forgealliances + x =-2 + y =1 + + cost = 5 + ai_will_do = { + factor = 15 + modifier = { + factor = 2 + OR = { + ERE = { NOT = { has_government = belligerent is_ai = no } } + MOA = { NOT = { has_government = belligerent is_ai = no } } + } + } + } + prerequisite = { focus = lth_forgealliances } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_COOPERATIVE } + available = { + has_government = cooperative + any_country = { + is_dwarves = yes + NOT = { has_war_with = LTH } + } + } + completion_reward = { + # small opinion bonus for every dwarf country + every_country = { + limit = { + is_dwarves = yes + NOT = { has_war_with = LTH } + } + add_opinion_modifier = { + target = LTH + modifier = small_increase + } + } + } + } + + focus = { + id = lth_sendadelegationtoerebor + icon = GFX_goal_lth_sendadelegationtoerebor + + relative_position_id = lth_unlikelyallies + x =-1 + y =1 + + cost = 5 + ai_will_do = { + factor = 10 + modifier = { + factor = 2 + ERE = { NOT = { has_government = belligerent is_ai = no } } + } + } + prerequisite = { focus = lth_unlikelyallies } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_COOPERATIVE } + available = { + NOT = { has_war_with = ERE } + country_exists = ERE + } + completion_reward = { + # Something with erebor + ERE = { country_event = { id = lotr_generic.6 days = 1 } } + } + } + + focus = { + id = lth_senddelegationtomoria + icon = GFX_goal_lth_senddelegationtomoria + + relative_position_id = lth_unlikelyallies + x =1 + y =1 + + cost = 5 + ai_will_do = { + factor = 10 + modifier = { + factor = 2 + MOA = { NOT = { has_government = belligerent is_ai = no } } + } + } + prerequisite = { focus = lth_unlikelyallies } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_COOPERATIVE } + available = { + NOT = { has_war_with = MOA } + country_exists = MOA + NOT = { country_exists = MOC } + } + completion_reward = { + # Something with moria + MOA = { country_event = { id = lotr_generic.6 days = 1 } } + } + } + + focus = { + id = lth_pressurethranduil + icon = GFX_goal_lth_pressurethranduil + + relative_position_id = lth_unlikelyallies + x =0 + y =2 + + cost = 10 + ai_will_do = { factor = 15 } + prerequisite = { focus = lth_unlikelyallies } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_COOPERATIVE } + bypass = { + OR = { + MIR = { has_war_with = ERE } + MIR = { has_non_aggression_pact_with = MIR } + } + } + available = { + NOT = { MIR = { has_war_with = ERE } } + NOT = { has_war_with = MIR } + NOT = { has_war_with = ERE } + country_exists = ERE + country_exists = MIR + } + completion_reward = { + # Send event to MIR telling them to sign non-agression pact with ERE + MIR = { country_event = { id = lothlorien.59 days = 1 } } + ERE = { country_event = { id = lothlorien.60 days = 3 } } + custom_effect_tooltip = lth_pressurethranduil_tt + } + } + + focus = { + id = lth_unitewitherebor + icon = GFX_goal_erebor + + relative_position_id = lth_unlikelyallies + x =0 + y =4 + + cost = 5 + ai_will_do = { factor = 25 } + prerequisite = { focus = lth_pressurethranduil } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_COOPERATIVE } + mutually_exclusive = { focus = lth_ourowninitiative } + mutually_exclusive = { focus = lth_unitedfront } + available = { + country_exists = ERE + NOT = { has_war_with = ERE } + ERE = { is_faction_leader = yes } + OR = { + ERE = { has_government = cooperative } + ERE = { has_government = unaligned } + } + } + completion_reward = { + # request join ere faction + ERE = { ask_to_join_faction = yes } + } + } + + focus = { + id = lth_allywithmen + icon = GFX_goal_lth_allywithmen + + relative_position_id = lth_forgealliances + x =2 + y =1 + + cost = 5 + ai_will_do = { + factor = 15 + modifier = { + factor = 2 + OR = { + GON = { NOT = { has_government = belligerent is_ai = no } } + ROH = { NOT = { has_government = belligerent is_ai = no } } + ART = { NOT = { has_government = belligerent is_ai = no } } + } + } + } + prerequisite = { focus = lth_forgealliances } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_COOPERATIVE } + available = { + has_government = cooperative + any_country = { + is_men = yes + NOT = { has_war_with = LTH } + } + } + completion_reward = { + # Small opinion bonus for every men country + every_country = { + limit = { + is_men = yes + NOT = { has_war_with = LTH } + } + add_opinion_modifier = { + target = LTH + modifier = small_increase + } + } + } + } + + focus = { + id = lth_tieswiththerohirrim + icon = GFX_goal_lth_tieswiththerohirrim + + relative_position_id = lth_allywithmen + x =-1 + y =1 + + cost = 5 + ai_will_do = { + factor = 10 + modifier = { + factor = 2 + ROH = { NOT = { has_government = belligerent is_ai = no } } + } + } + prerequisite = { focus = lth_allywithmen } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_COOPERATIVE } + available = { + country_exists = ROH + NOT = { has_war_with = ROH } + } + completion_reward = { + # event to rohan + ROH = { country_event = { id = lotr_generic.6 days = 1 } } + } + } + + focus = { + id = lth_commemoratethecelebrantbattle + icon = GFX_goal_lth_commemoratethecelebrantbattle + + relative_position_id = lth_allywithmen + x =-1 + y =2 + + cost = 10 + ai_will_do = { + factor = 10 + modifier = { + factor = 2 + ROH = { NOT = { has_government = belligerent is_ai = no } } + } + } + prerequisite = { focus = lth_tieswiththerohirrim } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_COOPERATIVE } + available = { + country_exists = ROH + NOT = { has_war_with = ROH } + } + completion_reward = { + event_option_tooltip = lothlorien.62.a + effect_tooltip = { + ROH = { + event_option_tooltip = lothlorien.61.a + } + } + # doctrine bonus, xp and stability for both + hidden_effect = { + ROH = { country_event = { id = lothlorien.61 days = 1 } } + LTH = { country_event = { id = lothlorien.62 days = 1 } } + } + } + } + + focus = { + id = lth_invokethetaleofgaladrielandeorl + icon = GFX_goal_lth_invokethetaleofgaladrielandeorl + + relative_position_id = lth_allywithmen + x =-1 + y =3 + + cost = 10 + ai_will_do = { + factor = 10 + modifier = { + factor = 2 + ROH = { NOT = { has_government = belligerent is_ai = no } } + } + } + prerequisite = { focus = lth_commemoratethecelebrantbattle } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_COOPERATIVE } + available = { + country_exists = ROH + NOT = { has_war_with = ROH } + } + completion_reward = { + # Event to rohan asking for a guarantee + ROH = { country_event = { id = lothlorien.63 days = 1 } } + + custom_effect_tooltip = if_they_accept + effect_tooltip = { + ROH = { give_guarantee = LTH } + } + } + } + + focus = { + id = lth_sendadelegationtogondor + icon = GFX_goal_lth_sendadelegationtogondor + + relative_position_id = lth_allywithmen + x =1 + y =1 + + cost = 5 + ai_will_do = { + factor = 10 + modifier = { + factor = 2 + GON = { NOT = { has_government = belligerent is_ai = no } } + } + modifier = { + factor = 5 + ART = { NOT = { has_government = belligerent is_ai = no } } + } + } + prerequisite = { focus = lth_allywithmen } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_COOPERATIVE } + available = { + country_exists = GON + NOT = { has_war_with = GON } + } + completion_reward = { + # event to gondor + GON = { country_event = { id = lotr_generic.6 days = 1 } } + } + } + + focus = { + id = lth_supportthegreycompany + icon = GFX_goal_lth_supportthegreycompany + + relative_position_id = lth_allywithmen + x =1 + y =3 + + cost = 10 + ai_will_do = { + factor = 10 + modifier = { + factor = 5 + ART = { NOT = { has_government = belligerent is_ai = no } } + } + } + prerequisite = { focus = lth_sendadelegationtogondor } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_COOPERATIVE } + available = { + country_exists = ART + country_exists = RHD + country_exists = RIV + NOT = { has_war_with = ART } + NOT = { has_war_with = RIV } + NOT = { has_war_with = RHD } + } + completion_reward = { + # This is a company between LTH, RIV, RHD and ART. + # All of them should have a focus to start this. + # Whoever does it first, sends events out to everyone else. + # If at least 3 agree to pay out a little bit of equipment and civs, then ART and RHD will get some kick-ass division + custom_effect_tooltip = lth_supportthegreycompany_tt + hidden_effect = { + ART = { country_event = { id = arthedain.6 days = 7 } } + RHD = { country_event = { id = arthedain.6 days = 4 } } + RIV = { country_event = { id = arthedain.6 days = 3 } } + } + } + } + + focus = { + id = lth_unitedfront + icon = GFX_goal_gondor + + relative_position_id = lth_allywithmen + x =0 + y =4 + + cost = 5 + ai_will_do = { factor = 25 } + prerequisite = { focus = lth_allywithmen } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_COOPERATIVE } + mutually_exclusive = { focus = lth_unitewitherebor } + mutually_exclusive = { focus = lth_ourowninitiative } + available = { + NOT = { has_war_with = GON } + country_exists = GON + GON = { is_faction_leader = yes } + OR = { + GON = { has_government = cooperative } + GON = { has_government = unaligned } + } + } + completion_reward = { + # Join their faction + GON = { ask_to_join_faction = yes } + } + } + + focus = { + id = lth_ourowninitiative + icon = GFX_goal_lth_ourowninitiative + + relative_position_id = lth_forgealliances + x =5 + y =5 + + cost = 10 + ai_will_do = { + factor = 15 + modifier = { + factor = 0.5 + RIV = { is_faction_leader = yes } + } + } + prerequisite = { focus = lth_forgealliances } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_COOPERATIVE } + mutually_exclusive = { focus = lth_unitewitherebor } + mutually_exclusive = { focus = lth_unitedfront } + available = { + is_in_faction = no + is_puppet = no + } + completion_reward = { + # Create a new faction + create_faction = "Alliance of Light" + } + } + + focus = { + id = lth_aidtotheweary + icon = GFX_goal_lth_aidtotheweary + + relative_position_id = lth_ourowninitiative + x =-1 + y =1 + + cost = 5 + ai_will_do = { factor = 20 } + prerequisite = { focus = lth_ourowninitiative } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_COOPERATIVE } + mutually_exclusive = { focus = lth_allianceoflight } + available = { + is_faction_leader = yes + any_country = { + has_government = cooperative + NOT = { tag = LTH } + NOT = { is_in_faction = yes } + NOT = { has_war_with = LTH } + ic_ratio = { + tag = LTH + ratio < 0.5 + } + } + } + completion_reward = { + # Send events to weaker members to join + every_country = { + limit = { + has_government = cooperative + NOT = { tag = LTH } + NOT = { is_in_faction = yes } + NOT = { has_war_with = LTH } + ic_ratio = { + tag = LTH + ratio < 0.5 + } + } + random_select_amount = 4 # Let's keep things under control + invite_to_faction = yes + } + } + } + + focus = { + id = lth_safehaven + icon = GFX_goal_lth_safehaven + + relative_position_id = lth_ourowninitiative + x =-1 + y =2 + + cost = 5 + ai_will_do = { factor = 30 } + prerequisite = { focus = lth_aidtotheweary } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_COOPERATIVE } + available = { + is_faction_leader = yes + } + completion_reward = { + # Let smaller countries become exiled + # Every time you get a GoE, get some manpower + custom_effect_tooltip = lth_safehaven_tt + + set_major = yes + } + } + + focus = { + id = lth_allianceoflight + icon = GFX_goal_lth_allianceoflight + + relative_position_id = lth_ourowninitiative + x =1 + y =1 + + cost = 5 + ai_will_do = { + factor = 30 + modifier = { + add = -5 + ROH = { is_in_faction = yes } + } + modifier = { + add = -5 + RIV = { is_in_faction = yes } + } + modifier = { + add = -5 + MIR = { is_in_faction = yes } + } + modifier = { + add = -5 + ERE = { is_in_faction = yes } + } + } + prerequisite = { focus = lth_ourowninitiative } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_COOPERATIVE } + mutually_exclusive = { focus = lth_aidtotheweary } + available = { + is_puppet = no + OR = { + ROH = { + NOT = { is_in_faction = yes } + NOT = { has_war_with = LTH } + NOT = { has_government = belligerent } + NOT = { has_government = revolutionary } + } + GON = { + NOT = { is_in_faction = yes } + NOT = { has_war_with = LTH } + NOT = { has_government = belligerent } + NOT = { has_government = revolutionary } + } + RIV = { + NOT = { is_in_faction = yes } + NOT = { has_war_with = LTH } + NOT = { has_government = belligerent } + NOT = { has_government = revolutionary } + } + MIR = { + NOT = { is_in_faction = yes } + NOT = { has_war_with = LTH } + NOT = { has_government = belligerent } + NOT = { has_government = revolutionary } + } + ERE = { + NOT = { is_in_faction = yes } + NOT = { has_war_with = LTH } + NOT = { has_government = belligerent } + NOT = { has_government = revolutionary } + } + } + } + completion_reward = { + # Send requests to join to more powerful countries + if = { + limit = { ROH = { + NOT = { is_in_faction = yes } + NOT = { has_war_with = LTH } + NOT = { has_government = belligerent } + NOT = { has_government = revolutionary } + } } + ROH = { invite_to_faction = yes } + } + if = { + limit = { GON = { + NOT = { is_in_faction = yes } + NOT = { has_war_with = LTH } + NOT = { has_government = belligerent } + NOT = { has_government = revolutionary } + } } + GON = { invite_to_faction = yes } + } + if = { + limit = { RIV = { + NOT = { is_in_faction = yes } + NOT = { has_war_with = LTH } + NOT = { has_government = belligerent } + NOT = { has_government = revolutionary } + } } + RIV = { invite_to_faction = yes } + } + if = { + limit = { MIR = { + NOT = { is_in_faction = yes } + NOT = { has_war_with = LTH } + NOT = { has_government = belligerent } + NOT = { has_government = revolutionary } + } } + MIR = { invite_to_faction = yes } + } + if = { + limit = { ERE = { + NOT = { is_in_faction = yes } + NOT = { has_war_with = LTH } + NOT = { has_government = belligerent } + NOT = { has_government = revolutionary } + } } + ERE = { invite_to_faction = yes } + } + } + } + + focus = { + id = lth_learnfromthestrongest + icon = GFX_goal_lth_learnfromthestrongest + + relative_position_id = lth_ourowninitiative + x =1 + y =2 + + cost = 5 + ai_will_do = { factor = 30 } + prerequisite = { focus = lth_allianceoflight } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_COOPERATIVE } + available = { + is_faction_leader = yes + } + completion_reward = { + # Form a research group with people in our faction or something + add_to_tech_sharing_group = lth_alliance_of_light_group + every_country = { + limit = { is_in_faction_with = LTH NOT = { tag = LTH } } + add_to_tech_sharing_group = lth_alliance_of_light_group + } + } + } + + focus = { + id = lth_galadrielsfarewell + icon = GFX_goal_lth_galadrielsfarewell + + x =37 + y =9 + + cost = 5 + ai_will_do = { + factor = 200 + } + prerequisite = { focus = lth_publiccelebrations } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_REVOLUTIONARY } + mutually_exclusive = { focus = lth_mendtheschism } + mutually_exclusive = { focus = lth_celebornsexile } + available = { + lthi_sindar_have_more_influence_than_noldor = yes + lthi_has_200_sindar_influence = yes + + OR = { + set_temp_variable = { days_left = days_mission_timeout@great_schism_civil_war } + check_variable = { + var = days_left + val = 180 + compare = less_than + tooltip = lth_less_than_X_days_until_cw_tt + } + revolutionary > 0.3 + } + } + completion_reward = { + # End the schism + remove_ideas = LTH_great_schism + # Get rid of Cele + LTH_galadriel = { + retire = yes + } + # Switch to revolutionary + add_popularity = { ideology = revolutionary popularity = 1.0 } + set_politics = { + ruling_party = revolutionary + elections_allowed = no + } + + hidden_effect = { news_event = { hours = 24 id = news.362 } } + } + } + + focus = { + id = lth_celebornsascendancy + icon = GFX_goal_lth_celebornsreforms + + relative_position_id = lth_galadrielsfarewell + x =0 + y =1 + + cost = 10 + ai_will_do = { factor = 50 } + prerequisite = { focus = lth_galadrielsfarewell } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_REVOLUTIONARY } + completion_reward = { + # Cele becomes a field marshal + add_field_marshal_role = { + character = LTH_celeborn + traits={ inspirational_leader sindar_trait } + skill=5 + attack_skill=4 + defense_skill=4 + planning_skill=3 + logistics_skill=5 + } + } + } + + focus = { + id = lth_unityindivision + icon = GFX_goal_lth_unityindivision + + relative_position_id = lth_galadrielsfarewell + x =0 + y =5 + + cost = 5 + ai_will_do = { factor = 25 } + prerequisite = { focus = lth_thesupremeleader } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_REVOLUTIONARY } + completion_reward = { + # grant bonuses based on how evened out the influence among races is + custom_effect_tooltip = lth_unityindivision_tt + # Max bonus is 15% + hidden_effect = { + add_dynamic_modifier = { + modifier = lth_unity_in_division_modifier + } + lthi_update_values = yes + } + } + } + + focus = { + id = lth_theorcrightsdebate + icon = GFX_goal_lth_theorcrightsdebate + + relative_position_id = lth_galadrielsfarewell + x =0 + y =9 + + cost = 10 + ai_will_do = { + factor = 15 + modifier = { + factor = 2 + has_manpower < 10000 + } + modifier = { + factor = 2 + any_allied_country = { + is_orcs = yes + } + } + } + prerequisite = { focus = lth_asharedcause } + prerequisite = { focus = lth_elvenhighereducation } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_REVOLUTIONARY } + completion_reward = { + # Event on orc rights + country_event = lothlorien.52 + } + } + + focus = { + id = lth_theuntreadedpath + icon = GFX_goal_lth_theuntreadedpath + + relative_position_id = lth_galadrielsfarewell + x =0 + y =3 + + cost = 10 + ai_will_do = { factor = 25 } + prerequisite = { focus = lth_celebornsascendancy } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_REVOLUTIONARY } + completion_reward = { + lth_lower_isolationist_reservations = yes + } + } + + focus = { + id = lth_asharedcause + icon = GFX_goal_lth_asharedcause + + relative_position_id = lth_theuntreadedpath + x =1 + y =4 + + cost = 5 + ai_will_do = { + factor = 15 + modifier = { + factor = 2 + has_manpower < 10000 + } + } + prerequisite = { focus = lth_unityindivision } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_REVOLUTIONARY } + completion_reward = { + # Add MP based on other commie countries and their commie suppoort + lth_add_sharedcause_mp = yes + } + } + + focus = { + id = lth_thesupremeleader + icon = GFX_goal_lth_thesupremeleader + + relative_position_id = lth_theuntreadedpath + x =0 + y =1 + + cost = 5 + ai_will_do = { factor = 25 } + prerequisite = { focus = lth_theuntreadedpath } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_REVOLUTIONARY } + available = { + has_country_leader = { character = LTH_celeborn ruling_only = yes } + } + completion_reward = { + # Extra traits for Cele + add_country_leader_trait = supreme_leader + } + } + + focus = { + id = lth_elvenhighereducation + icon = GFX_goal_lth_culturalexchangeinitiatives + + relative_position_id = lth_unityindivision + x =-1 + y =2 + + cost = 5 + ai_will_do = { factor = 50 } + prerequisite = { focus = lth_unityindivision } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_REVOLUTIONARY FOCUS_FILTER_RESEARCH } + completion_reward = { + # Give research slot + add_research_slot = 1 + } + } + + focus = { + id = lth_atasteofempire + icon = GFX_goal_lth_atasteofempire + + relative_position_id = lth_thereawakening + x =2 + y =1 + + cost = 5 + ai_will_do = { factor = 25 } + prerequisite = { focus = lth_thereawakening focus = lth_celeborngaladrielaccord } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_BELLIGERENT } + available = { + lthi_has_25p_noldor_influence = yes + has_government = belligerent + } + completion_reward = { + # Unlocks "Elven Imperial Rule" Occupation law + # Automatically done through focus and triggers + custom_effect_tooltip = lth_atasteofempire_tt + } + } + + focus = { + id = lth_reformmilitaryleadership + icon = GFX_goal_lth_reformmilitaryleadership + + relative_position_id = lth_atasteofempire + x =0 + y =1 + + cost = 10 + ai_will_do = { factor = 25 } + prerequisite = { focus = lth_atasteofempire } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_BELLIGERENT } + available = { + has_government = belligerent + } + completion_reward = { + army_experience = 100 + custom_effect_tooltip = lth_reformmilitaryleadership_tt + hidden_effect = { + # Every unit leader of skill level 1 will be dismissed + every_unit_leader = { + limit = { + check_variable = { skill_level < 2 } + } + retire = yes + } + # All other unit leaders gain an additional skill level + every_unit_leader = { + limit = { + check_variable = { skill_level > 1 } + } + add_skill_level = 1 + } + } + } + } + + focus = { + id = lth_thefateofmortals + icon = GFX_goal_lth_thefateofmortals + + relative_position_id = lth_atasteofempire + x =-2 + y =2 + + cost = 5 + ai_will_do = { + factor = 25 + modifier = { + factor = 0 + has_war = yes + } + modifier = { + factor = 0.1 + has_country_flag = gameplan_bully_elves + NOT = { has_completed_focus = lth_atanycost } + } + } + prerequisite = { focus = lth_atasteofempire } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_BELLIGERENT } + available = { + has_government = belligerent + } + completion_reward = { + # Give targeted modifier against some realms of men + add_named_threat = { + threat = 8 + name = "Lothlórien completed the 'Fate of Mortals' focus" + } + add_ideas = LTH_tha_fate_of_mortals + } + } + + focus = { + id = lth_tacklethedwarves + icon = GFX_goal_lth_tacklethedwarves + + relative_position_id = lth_thefateofmortals + x =-1 + y =1 + + cost = 5 + ai_will_do = { + factor = 25 + modifier = { + factor = 0 + has_war = yes + } + } + prerequisite = { focus = lth_thefateofmortals } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_BELLIGERENT } + available = { + has_government = belligerent + is_puppet = no + any_country = { + is_dwarves = yes + ic_ratio = { tag = LTH ratio < 1.0 } + NOT = { has_war_with = LTH } + is_subject = no + } + } + completion_reward = { + # Send events to dwarves + every_country = { + limit = { + is_dwarves = yes + ic_ratio = { tag = LTH ratio < 1.3 } + NOT = { has_war_with = LTH } + is_subject = no + } + random_select_amount = 3 + custom_effect_tooltip = lth_send_subjugation_demand_tt + hidden_effect = { country_event = { id = lothlorien.31 days = 1 } } + } + } + } + + focus = { + id = lth_burrythemintheirholes + icon = GFX_goal_lth_burrythemintheirholes + + relative_position_id = lth_thefateofmortals + x =-1 + y =3 + + cost = 10 + ai_will_do = { + factor = 25 + modifier = { + factor = 0 + has_war = yes + } + } + prerequisite = { focus = lth_tacklethedwarves } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_BELLIGERENT } + available = { + has_government = belligerent + is_puppet = no + any_country = { + is_dwarves = yes + has_country_flag = lth_refused_subjugation + } + } + completion_reward = { + # Wargoals on dwarves who declined + # Send events to dwarves + custom_effect_tooltip = lth_avenge_demand_refusal_tt + hidden_effect = { + every_country = { + limit = { + is_dwarves = yes + has_country_flag = lth_refused_subjugation + } + ROOT = { + create_wargoal = { + target = PREV + type = puppet_wargoal_focus + } + } + } + } + } + } + + focus = { + id = lth_tackletherealmsofmen + icon = GFX_goal_lth_tackletherealmsofmen + + relative_position_id = lth_thefateofmortals + x =1 + y =1 + + cost = 5 + ai_will_do = { + factor = 25 + modifier = { + factor = 0 + has_war = yes + } + } + prerequisite = { focus = lth_thefateofmortals } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_BELLIGERENT } + available = { + has_government = belligerent + is_puppet = no + any_country = { + is_men = yes + ic_ratio = { tag = ROOT ratio < 0.8 } + NOT = { has_war_with = LTH } + is_subject = no + NOT = { tag = NEP } + } + } + completion_reward = { + # Send events to men whith less factories + every_country = { + limit = { + is_men = yes + ic_ratio = { tag = ROOT ratio < 0.8 } + NOT = { has_war_with = LTH } + is_subject = no + NOT = { tag = NEP } + } + random_select_amount = 5 + custom_effect_tooltip = lth_send_subjugation_demand_tt + hidden_effect = { country_event = { id = lothlorien.31 days = 3 } } + } + } + } + + focus = { + id = lth_acceleratetheinevitable + icon = GFX_goal_lth_acceleratetheinevitable + + relative_position_id = lth_thefateofmortals + x =1 + y =3 + + cost = 10 + ai_will_do = { + factor = 25 + modifier = { + factor = 0 + has_war = yes + } + } + prerequisite = { focus = lth_tackletherealmsofmen } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_BELLIGERENT } + available = { + has_government = belligerent + is_puppet = no + any_country = { + is_men = yes + has_country_flag = lth_refused_subjugation + } + } + completion_reward = { + # Wargoals on men who declined + custom_effect_tooltip = lth_avenge_demand_refusal_tt + hidden_effect = { + every_country = { + limit = { + is_men = yes + has_country_flag = lth_refused_subjugation + } + ROOT = { + create_wargoal = { + target = PREV + type = puppet_wargoal_focus + } + } + } + } + } + } + + focus = { + id = lth_safeguardtheelves + icon = GFX_goal_lth_safeguardtheelves + + relative_position_id = lth_atasteofempire + x =2 + y =2 + + cost = 5 + ai_will_do = { + factor = 25 + modifier = { + factor = 0 + has_war = yes + } + modifier = { + factor = 0.1 + has_country_flag = gameplan_bully_mortals + OR = { + NOT = { has_completed_focus = lth_burrythemintheirholes } + NOT = { has_completed_focus = lth_acceleratetheinevitable } + } + } + } + prerequisite = { focus = lth_atasteofempire } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_BELLIGERENT } + available = { + has_government = belligerent + } + completion_reward = { + # Should only be doable if we have more factories or divisions than the other elven states + + add_named_threat = { + threat = 8 + name = "Lothlórien completed the 'Safeguard the Elves' focus" + } + # Add collaboration for all elven states + every_country = { + limit = { + is_elves = yes + NOT = { tag = ROOT } + } + hidden_effect = { + ROOT = { + add_collaboration = { + target = PREV + value = 0.3 + } + } + } + # ^ THis is the correct way of doing this, but the tooltip doesn't work. So here is the *wrong* effect that produces the right tooltip: + effect_tooltip = { + add_collaboration = { + target = LTH + value = 0.3 + } + } + } + } + } + + focus = { + id = lth_turnrivendell + icon = GFX_goal_lth_turnrivendell + + relative_position_id = lth_safeguardtheelves + x =0 + y =1 + + cost = 5 + ai_will_do = { + factor = 25 + modifier = { + factor = 0 + has_war = yes + } + } + prerequisite = { focus = lth_safeguardtheelves } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_BELLIGERENT } + bypass = { + OR = { + RIV = { is_elves = no } + RIV = { is_subject = yes } + has_war_with = RIV + } + } + available = { + is_puppet = no + has_government = belligerent + } + completion_reward = { + # Event to rivendell + RIV = { + custom_effect_tooltip = lth_send_subjugation_demand_elves_tt + hidden_effect = { country_event = { id = lothlorien.33 days = 3 } } + } + } + } + + focus = { + id = lth_turnmirkwood + icon = GFX_goal_lth_turnmirkwood + + relative_position_id = lth_safeguardtheelves + x =-1 + y =2 + + cost = 5 + ai_will_do = { + factor = 25 + modifier = { + factor = 0 + has_war = yes + } + } + prerequisite = { focus = lth_safeguardtheelves } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_BELLIGERENT } + bypass = { + OR = { + MIR = { is_elves = no } + MIR = { is_subject = yes } + has_war_with = MIR + } + } + available = { + is_puppet = no + has_government = belligerent + } + completion_reward = { + # Event to mirkwood + MIR = { + custom_effect_tooltip = lth_send_subjugation_demand_elves_tt + hidden_effect = { country_event = { id = lothlorien.33 days = 3 } } + } + } + } + + focus = { + id = lth_turnlindon + icon = GFX_goal_lth_turnlindon + + relative_position_id = lth_safeguardtheelves + x =1 + y =2 + + cost = 5 + ai_will_do = { + factor = 25 + modifier = { + factor = 0 + has_war = yes + } + } + prerequisite = { focus = lth_safeguardtheelves } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_BELLIGERENT } + bypass = { + OR = { + LIN = { is_elves = no } + LIN = { is_subject = yes } + has_war_with = LIN + } + } + available = { + is_puppet = no + has_government = belligerent + } + completion_reward = { + # Event to lindon + LIN = { + custom_effect_tooltip = lth_send_subjugation_demand_elves_tt + hidden_effect = { country_event = { id = lothlorien.33 days = 3 } } + } + } + } + + focus = { + id = lth_atanycost + icon = GFX_goal_lth_atanycost + + relative_position_id = lth_safeguardtheelves + x =0 + y =3 + + cost = 10 + ai_will_do = { + factor = 25 + modifier = { + factor = 0 + has_war = yes + } + } + prerequisite = { focus = lth_turnrivendell } + prerequisite = { focus = lth_turnlindon } + prerequisite = { focus = lth_turnmirkwood } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_BELLIGERENT } + available = { + has_government = belligerent + any_country = { + is_elves = yes + has_country_flag = lth_refused_subjugation + NOT = { has_war_with = LTH } + } + } + completion_reward = { + # Get wargoals on all thos who declined + custom_effect_tooltip = lth_avenge_demand_refusal_tt + hidden_effect = { + every_country = { + limit = { + is_elves = yes + has_country_flag = lth_refused_subjugation + NOT = { has_war_with = LTH } + } + ROOT = { + create_wargoal = { + target = PREV + type = puppet_wargoal_focus + } + } + } + } + } + } + + focus = { + id = lth_celebornsreforms + icon = GFX_goal_lth_celebornsreforms + + relative_position_id = lth_galadrielsfarewell + x =-3 + y =4 + + cost = 5 + ai_will_do = { factor = 35 } + available = { + lthi_has_25p_sindar_influence = yes + has_government = revolutionary + } + prerequisite = { focus = lth_celebornsascendancy focus = lth_celeborngaladrielaccord } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_REVOLUTIONARY } + completion_reward = { + # This is super lame ngl + add_political_power = 200 + } + } + + focus = { + id = lth_thedissolutionoftheelvennobility + icon = GFX_goal_lth_thedissolutionoftheelvennobility + + relative_position_id = lth_celebornsreforms + x =0 + y =1 + + cost = 10 + ai_will_do = { factor = 35 } + prerequisite = { focus = lth_celebornsreforms } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_REVOLUTIONARY } + available = { + lthi_has_25p_sindar_influence = yes + has_government = revolutionary + } + completion_reward = { + # Remove decadent nobility idea + remove_ideas = LTH_decadent_nobility + } + } + + focus = { + id = lth_thepeasantassembly + icon = GFX_goal_lth_thepeasantassembly + + relative_position_id = lth_celebornsreforms + x =-1 + y =4 + + cost = 5 + ai_will_do = { factor = 25 } + prerequisite = { focus = lth_thedissolutionoftheelvennobility } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_REVOLUTIONARY } + available = { + has_government = revolutionary + } + completion_reward = { + # Add an idea that gives nice bonuses, but doesn't allow us to go to high taxes + + if = { + limit = { has_idea = high_taxes } + add_ideas = medium_taxes + } + + add_ideas = LTH_peasant_assembly + } + } + + focus = { + id = lth_establishagraindole + icon = GFX_goal_lth_establishagraindole + + relative_position_id = lth_celebornsreforms + x =1 + y =4 + + cost = 5 + ai_will_do = { factor = 25 } + prerequisite = { focus = lth_thedissolutionoftheelvennobility } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_REVOLUTIONARY } + available = { + has_government = revolutionary + } + completion_reward = { + # Add food production + random_core_state = { + add_resource = { + type = oil + amount = 15 + } + } + # build a bunch of fuel silos + random_core_state = { + add_building_construction = { + type = fuel_silo + level = 4 + } + } + # + stability + add_stability = 0.15 + } + } + + focus = { + id = lth_meritbasedadvancement + icon = GFX_goal_lth_meritbasedadvancement + + relative_position_id = lth_celebornsreforms + x =0 + y =3 + + cost = 5 + ai_will_do = { factor = 25 } + prerequisite = { focus = lth_thedissolutionoftheelvennobility } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_REVOLUTIONARY } + available = { + has_government = revolutionary + } + completion_reward = { + # better starter level for leaders and stuff + add_ideas = LTH_merit_based_advancement + } + } + + focus = { + id = lth_leadbyexample + icon = GFX_goal_lth_leadbyexample + + relative_position_id = lth_celebornsreforms + x =0 + y =5 + + cost = 10 + ai_will_do = { factor = 25 } + prerequisite = { focus = lth_thepeasantassembly focus = lth_establishagraindole } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_REVOLUTIONARY } + available = { + has_government = revolutionary + } + completion_reward = { + # If we are on low/no taxes and low centralization or lower, We get a bunch of bonuses + add_ideas = LTH_lead_by_example + } + } + + focus = { + id = lth_preemptivemeasures + icon = GFX_goal_lth_preemptivemeasures + + relative_position_id = lth_territorialdefense + x =-1 + y =8 + + cost = 5 + ai_will_do = { factor = 5 } + prerequisite = { focus = lth_territorialdefense } + search_filters = { FOCUS_FILTER_POLITICAL } + available = { + threat > 0.03 + NOT = { has_completed_focus = lth_totalisoltation } + } + completion_reward = { + lth_lower_isolationist_reservations = yes + } + } + + focus = { + id = lth_valesofanduin + icon = GFX_goal_lth_valesofanduin + + relative_position_id = lth_preemptivemeasures + x =-3 + y =1 + + cost = 5 + ai_will_do = { + factor = 10 + } + prerequisite = { focus = lth_preemptivemeasures } + search_filters = { FOCUS_FILTER_POLITICAL } + available = { + country_exists = VAL + controls_state = 76 + } + completion_reward = { + # build new supply base to anduin and stuff + build_railway = { + level = 2 + path = { 2211 4619 2089 } + } + 76 = { + add_building_construction = { + type = supply_node + level = 1 + instant_build = yes + province = 2089 + } + } + } + } + + focus = { + id = lth_amostgenerousoffer + icon = GFX_goal_lth_amostgenerousoffer + + relative_position_id = lth_valesofanduin + x =-1 + y =1 + + cost = 5 + ai_will_do = { + factor = 3 + modifier = { + factor = 0 + has_government = cooperative + } + modifier = { + factor = 0 + has_government = unaligned + } + } + prerequisite = { focus = lth_valesofanduin } + search_filters = { FOCUS_FILTER_POLITICAL } + mutually_exclusive = { focus = lth_agestureofgoodwill } + available = { + lthi_has_100_noldor_influence = yes + lthi_has_25p_noldor_influence = yes + country_exists = VAL + NOT = { has_war_with = VAL } + NOT = { + VAL = { is_puppet = yes } + } + controls_state = 76 + } + completion_reward = { + # Offer anduin puppetry + custom_effect_tooltip = lth_amostgenerousoffer_tt + event_option_tooltip = lothlorien.28.a + hidden_effect = { + VAL = { country_event = { id = lothlorien.28 days = 3 } } + } + add_named_threat = { + threat = 2 + name = "Lothlorien finished the A Most Generous Offer focus" + } + custom_effect_tooltip = mirror_predictable + } + } + + focus = { + id = lth_northboundinvasion + icon = GFX_goal_lth_northboundinvasion + + relative_position_id = lth_valesofanduin + x =-1 + y =2 + + cost = 10 + ai_will_do = { factor = 10 } + prerequisite = { focus = lth_amostgenerousoffer } + search_filters = { FOCUS_FILTER_POLITICAL } + available = { + country_exists = VAL + VAL = { NOT = { has_country_flag = lth_anduin_accepts_offer } } + } + completion_reward = { + add_named_threat = { + threat = 2 + name = "Lothlorien finished the Northbound Invasion Focus" + } + # Gain wargoal if they decline + create_wargoal = { + target = VAL + type = puppet_wargoal_focus + } + } + } + + focus = { + id = lth_agestureofgoodwill + icon = GFX_goal_lth_agestureofgoodwill + + relative_position_id = lth_valesofanduin + x =1 + y =1 + + cost = 5 + ai_will_do = { + factor = 3 + modifier = { + factor = 0 + has_government = belligerent + } + } + prerequisite = { focus = lth_valesofanduin } + search_filters = { FOCUS_FILTER_POLITICAL } + mutually_exclusive = { focus = lth_amostgenerousoffer } + available = { + country_exists = VAL + lthi_has_100_halfelves_influence = yes + NOT = { has_war_with = VAL } + } + completion_reward = { + custom_effect_tooltip = lth_agestureofgoodwill_tt + # Get event to choose what to send anduin + hidden_effect = { + country_event = lothlorien.30 + } + } + } + + focus = { + id = lth_cooperationefforts + icon = GFX_goal_lth_cooperationefforts + + relative_position_id = lth_valesofanduin + x =1 + y =2 + + cost = 10 + ai_will_do = { factor = 10 } + prerequisite = { focus = lth_agestureofgoodwill } + search_filters = { FOCUS_FILTER_POLITICAL } + available = { + country_exists = VAL + NOT = { has_war_with = VAL } + } + completion_reward = { + custom_effect_tooltip = lth_cooperationefforts_tt + + # Better relations with anduin + hidden_effect = { + VAL = { country_event = { id = lothlorien.44 days = 1 } } + LTH = { country_event = { id = lothlorien.44 days = 1 } } + } + } + } + + focus = { + id = lth_theminesofmoria + icon = GFX_goal_lth_theminesofmoria + + relative_position_id = lth_preemptivemeasures + x =0 + y =1 + + cost = 5 + ai_will_do = { factor = 10 } + prerequisite = { focus = lth_preemptivemeasures } + search_filters = { FOCUS_FILTER_POLITICAL } + available = { + OR = { + country_exists = MOA + country_exists = MOC + } + controls_state = 160 + } + completion_reward = { + # build new supply base to moria and stuff + 160 = { + add_building_construction = { + type = supply_node + level = 1 + instant_build = yes + province = 6252 + } + } + + # if MOA exists: choose if we want to help MOA + if = { + limit = { + country_exists = MOA + MOA = { has_war_with = MOC } + NOT = { has_government = belligerent } + } + country_event = lothlorien.40 + } + + # Slightly lowers the chances of orc raids from MOC succeeding + # (Taken care of automatically in the raid decision) + custom_effect_tooltip = lth_theminesofmoria_tt + } + } + + focus = { + id = lth_cleansethetunnels + icon = GFX_goal_lth_cleansethetunnels + + relative_position_id = lth_preemptivemeasures + x =0 + y =2 + + cost = 10 + ai_will_do = { + factor = 10 + modifier = { + factor = 0 + has_government = cooperative + } + modifier = { + factor = 0 + has_government = unaligned + } + } + prerequisite = { focus = lth_theminesofmoria } + search_filters = { FOCUS_FILTER_POLITICAL } + available = { + lthi_has_200_noldor_influence = yes + country_exists = MOC + MOC = { has_civil_war = no } + MOC = { has_country_flag = has_raided_lothlorien } + has_army_manpower = { + size > 50000 + } + controls_state = 160 + } + will_lead_to_war_with = MOC + completion_reward = { + add_named_threat = { + threat = 3 + name = "Lothlorien finished the Cleans the Tunnels Focus" + } + # Gain wargoal on orc moria + create_wargoal = { + type = puppet_wargoal_focus + target = MOC + } + } + } + + focus = { + id = lth_liftthelawofisolation + icon = GFX_goal_lth_liftthelawofisolation + + relative_position_id = lth_preemptivemeasures + x =1 + y =3 + + cost = 5 + ai_will_do = { + factor = 10 + modifier = { + factor = 5 + MOA = { is_ai = no } + } + modifier = { + factor = 0 + has_government = cooperative + } + modifier = { + factor = 0 + has_government = unaligned + } + } + prerequisite = { focus = lth_theminesofmoria } + search_filters = { FOCUS_FILTER_POLITICAL } + available = { + country_exists = MOA + country_exists = MOC + MOA = { has_civil_war = yes } + } + completion_reward = { + custom_effect_tooltip = lth_liftthelawofisolation_tt + } + } + + focus = { + id = lth_trackdowndurinsbane + icon = GFX_goal_lth_trackdowndurinsbane + + relative_position_id = lth_preemptivemeasures + x =0 + y =4 + + cost = 10 + ai_will_do = { + factor = 15 + modifier = { + factor = 200 + ring_has_the_ring = yes + } + modifier = { + factor = 10 + has_manpower > 200000 + } + } + prerequisite = { focus = lth_cleansethetunnels } + search_filters = { FOCUS_FILTER_POLITICAL } + available = { + 73 = { has_dynamic_modifier = { modifier = moria_loose_balrog } } + controls_state = 134 + controls_state = 73 + has_army_manpower = { + size > 50000 + } + } + completion_reward = { + custom_effect_tooltip = lth_trackdowndurinsbane_tt + # Get event on what to do with durins bane + hidden_effect = { + country_event = lothlorien.21 + } + } + } + + focus = { + id = lth_thefortressofdolguldur + icon = GFX_goal_lth_thefortressofdolguldur + + relative_position_id = lth_preemptivemeasures + x =3 + y =1 + + cost = 5 + ai_will_do = { factor = 10 } + prerequisite = { focus = lth_patrolsandriverwardens } + prerequisite = { focus = lth_preemptivemeasures } + search_filters = { FOCUS_FILTER_POLITICAL } + available = { + controls_state = 75 + } + completion_reward = { + # Slightly lowers the chances of orc raids from Dol Guldur succeeding + # (Taken care of automatically in the raid decision) + custom_effect_tooltip = lth_thefortressofdolguldur_tt + + 75 = { + add_building_construction = { + type = supply_node + level = 1 + instant_build = yes + province = 3335 + } + } + } + } + + focus = { + id = lth_helpmirkwoodwithcontainment + icon = GFX_goal_lth_cooperatewithmirkwood + + relative_position_id = lth_thefortressofdolguldur + x =0 + y =1 + + cost = 5 + ai_will_do = { factor = 5 } + prerequisite = { focus = lth_thefortressofdolguldur } + search_filters = { FOCUS_FILTER_POLITICAL } + available = { + MIR = { controls_state = 87 } + 87 = { compliance < 80 } + NOT = { has_war_with = MIR } + MIR = { is_elves = yes } + NOT = { MIR = { is_ally_with = MOR } } + } + bypass = { + country_exists = DGU + } + completion_reward = { + # Can only be taken whilst DGU isn't released yet + + custom_effect_tooltip = lth_helpmirkwoodwithcontainment_tt + + # Send Mirkwood an event that increases compliance and lowers resistance in DGU + MIR = { + hidden_effect = { + country_event = lothlorien.23 + } + + add_opinion_modifier = { + target = LTH + modifier = medium_increase + } + } + } + } + + focus = { + id = lth_forcetheissue + icon = GFX_goal_lth_forcetheissue + + relative_position_id = lth_thefortressofdolguldur + x =0 + y =2 + + will_lead_to_war_with = DGU + + cost = 5 + ai_will_do = { + factor = 8 + modifier = { + factor = 0 + has_war = yes + } + } + prerequisite = { focus = lth_helpmirkwoodwithcontainment } + search_filters = { FOCUS_FILTER_POLITICAL } + available = { + country_exists = DGU + DGU = { controls_state = 87 } + NOT = { has_war_with = DGU } + NOT = { is_ally_with = DGU } + DGU = { has_country_flag = has_raided_lothlorien } + } + completion_reward = { + custom_effect_tooltip = lth_forcetheissue_tt + # Choose one of three options to offer Mirkwood + hidden_effect = { + country_event = lothlorien.24 + } + } + } + + focus = { + id = lth_theonering + icon = GFX_goal_the_one_ring + + + x =31 + y =19 + + cost = 5 + ai_will_do = { + factor = 5 + modifier = { + factor = 2 + has_global_flag = fs_started + } + } + prerequisite = { } + search_filters = { FOCUS_FILTER_RING } + bypass = { + has_global_flag = fs_ring_seized + has_global_flag = fs_ring_destroyed + } + completion_reward = { + # Unlock access to the ring mechanic decisions + custom_effect_tooltip = unlock_ring_mechanic_tt + set_country_flag = lth_ring_mechanic_unlocked + } + } + + focus = { + id = lth_requestaseatonelrondscouncil + icon = GFX_goal_lth_requestaseatonelrondscouncil + + relative_position_id = lth_theonering + x =0 + y =1 + + cost = 5 + ai_will_do = { + factor = 1 + modifier = { + factor = 0 + is_historical_focus_on = yes + } + } + prerequisite = { focus = lth_theonering } + search_filters = { FOCUS_FILTER_RING } + available = { + has_global_flag = fs_started + NOT = { has_global_flag = fs_arrived_in_rivendell } + } + completion_reward = { + # NOTE: Only available before fellowship reaches rivendell + custom_effect_tooltip = lth_requestaseatonelrondscouncil_tt + + # Send RIV request for seat + hidden_effect = { + RIV = { country_event = { id = lothlorien.27 days = 1 } } + } + } + } + + focus = { + id = lth_seizetheonering + icon = GFX_goal_lth_seizetheonering + + relative_position_id = lth_theonering + x =-2 + y =2 + + cost = 10 + ai_will_do = { factor = 100 } + prerequisite = { focus = lth_theonering } + search_filters = { FOCUS_FILTER_RING } + mutually_exclusive = { focus = lth_supportthefellowship } + available = { + always = no + } + bypass = { + ring_has_the_ring = yes + } + completion_reward = { + custom_effect_tooltip = autocompleted_on_event_tt + # If you dont do another of the focuses, after a while an event pops forcing you to go either way + hidden_effect = { + country_event = { id = lothlorien.66 days = 90 } + } + } + } + + focus = { + id = lth_anelvenfellowship + icon = GFX_goal_lth_anelvenfellowship + + relative_position_id = lth_seizetheonering + x =1 + y =1 + + cost = 10 + ai_will_do = { factor = 30 } + prerequisite = { focus = lth_seizetheonering } + search_filters = { FOCUS_FILTER_RING } + mutually_exclusive = { focus = lth_keepthering } + available = { + ring_has_the_ring = yes + has_global_flag = fs_ring_seized_in_lth # Should only be available if Ring was taken in Lothlorien, otherwise the map will mess up + LTH_haldir = { is_unit_leader = yes } # NEED haldir because he is the ringbearer + } + completion_reward = { + # form a new elven fellowship that will try to go to mordor + ring_start_elven_fellowship = yes + } + } + + focus = { + id = lth_keepthering + icon = GFX_goal_the_one_ring + + relative_position_id = lth_seizetheonering + x =-1 + y =1 + + cost = 10 + ai_will_do = { factor = 40 } + prerequisite = { focus = lth_seizetheonering } + search_filters = { FOCUS_FILTER_RING } + mutually_exclusive = { focus = lth_anelvenfellowship } + available = { + ring_has_the_ring = yes + } + completion_reward = { + + } + } + + focus = { + id = lth_supportthefellowship + icon = GFX_goal_lth_supportthefellowship + + relative_position_id = lth_theonering + x =2 + y =2 + + cost = 10 + ai_will_do = { factor = 1 } + prerequisite = { focus = lth_theonering } + search_filters = { FOCUS_FILTER_RING } + mutually_exclusive = { focus = lth_seizetheonering } + available = { + always = no + } + completion_reward = { + custom_effect_tooltip = autocompleted_on_event_tt + } + } + + focus = { + id = lth_echoesoftheeldendays + icon = GFX_goal_lth_echoesoftheeldendays + + relative_position_id = lth_elvenknowledge + x =-3 + y =1 + + cost = 5 + ai_will_do = { + factor = 10 + modifier = { + factor = 2 + num_researched_technologies > 30 + } + modifier = { + factor = 3 + num_researched_technologies > 35 + } + } + prerequisite = { focus = lth_elvenknowledge } + search_filters = { FOCUS_FILTER_RESEARCH } + completion_reward = { + # magic tech research boost + add_tech_bonus = { + bonus = 0.35 + uses = 1 + category = lotr_knowledge_magic + } + add_tech_bonus = { + bonus = 0.35 + uses = 1 + category = lotr_knowledge_alchemy + } + } + } + + focus = { + id = lth_galadrielsmirror + icon = GFX_goal_lth_gal_mirror + + relative_position_id = lth_echoesoftheeldendays + x =-2 + y =1 + + cost = 5 + ai_will_do = { factor = 0 } + prerequisite = { focus = lth_echoesoftheeldendays } + search_filters = { FOCUS_FILTER_RESEARCH } + completion_reward = { + # Unlock mirror decisions + hidden_effect = { mirror_randomize_targets = yes } + custom_effect_tooltip = lth_galadrielsmirror_tt + } + } + + focus = { + id = lth_mirrorupgrade + icon = GFX_goal_lth_mirrorupgrade + + relative_position_id = lth_echoesoftheeldendays + x =-2 + y =3 + + cost = 5 + ai_will_do = { factor = 0 } + prerequisite = { focus = lth_galadrielsmirror } + search_filters = { FOCUS_FILTER_RESEARCH } + completion_reward = { + # Add more decisions + custom_effect_tooltip = lth_mirrorupgrade_tt + } + } + + focus = { + id = lth_thearchivesofagespast + icon = GFX_goal_lth_thearchivesofagespast + + relative_position_id = lth_echoesoftheeldendays + x =0 + y =2 + + cost = 10 + ai_will_do = { + factor = 10 + modifier = { + factor = 3 + num_researched_technologies > 35 + } + } + prerequisite = { focus = lth_echoesoftheeldendays } + search_filters = { FOCUS_FILTER_RESEARCH FOCUS_FILTER_RESEARCH } + available = { + num_researched_technologies > 35 + } + completion_reward = { + # Add research slot + add_research_slot = 1 + } + } + + focus = { + id = lth_lorekeepersguild + icon = GFX_goal_lth_lorekeepersguild + + relative_position_id = lth_thearchivesofagespast + x =-1 + y =2 + + cost = 5 + ai_will_do = { factor = 5 } + prerequisite = { focus = lth_thearchivesofagespast } + search_filters = { FOCUS_FILTER_RESEARCH } + completion_reward = { + if = { + limit = { has_dlc = "Arms Against Tyranny" } + custom_effect_tooltip = lth_lorekeepersguild_tt + } + else = { + # Lame effect for those who don't have dlc + add_tech_bonus = { + bonus = 0.5 + uses = 1 + category = lotr_knowledge_scriptorium + } + } + # Unlock a new guild that does alchemy/scriptorium stuff + } + } + + focus = { + id = lth_cryptsofmemory + icon = GFX_goal_lth_lorekeepersguild + + relative_position_id = lth_thearchivesofagespast + x =1 + y =2 + + cost = 5 + ai_will_do = { factor = 5 } + prerequisite = { focus = lth_thearchivesofagespast } + search_filters = { FOCUS_FILTER_RESEARCH } + completion_reward = { + # research boost + add_tech_bonus = { + bonus = 0.5 + uses = 2 + category = lotr_knowledge_scriptorium + } + } + } + + focus = { + id = lth_resilienceofnenya + icon = GFX_goal_lth_nenyasprotection + + relative_position_id = lth_elvenknowledge + x =0 + y =4 + + cost = 5 + ai_will_do = { + factor = 5 + modifier = { + factor = 10 + ring_has_the_ring = yes + } + modifier = { + factor = 3 + has_government = belligerent + } + } + prerequisite = { focus = lth_elvenknowledge } + search_filters = { FOCUS_FILTER_RING FOCUS_FILTER_RESEARCH } + available = { + controls_state = 75 + controls_state = 222 + has_country_leader = { character = LTH_galadriel ruling_only = yes } + } + completion_reward = { + # add a modifier to core states like in hiddenrealm + 75 = { + add_dynamic_modifier = { modifier = lth_nenya_enchantment } + } + 222 = { + add_dynamic_modifier = { modifier = lth_nenya_enchantment } + } + } + } + + focus = { + id = lth_ringenchantments + icon = GFX_goal_lth_ringenchantments + + relative_position_id = lth_resilienceofnenya + x =0 + y =4 + + cost = 10 + ai_will_do = { + factor = 5 + modifier = { + factor = 10 + ring_has_the_ring = yes + } + modifier = { + factor = 3 + has_government = belligerent + } + } + prerequisite = { focus = lth_resilienceofnenya } + search_filters = { FOCUS_FILTER_RING FOCUS_FILTER_RESEARCH } + available = { + has_country_leader = { character = LTH_galadriel ruling_only = yes } + } + completion_reward = { + # Improve the ring trait + swap_ruler_traits = { remove = ringbearer add = ringbearer_2 } + } + } + + focus = { + id = lth_theeternaldominion + icon = GFX_goal_lth_theeternaldominion + + relative_position_id = lth_celebornsexile + x =1 + y =4 + + cost = 10 + ai_will_do = { + factor = 15 + } + bypass = { + OR = { + is_in_faction = yes + is_puppet = yes + } + } + available = { + threat > 0.1 + } + prerequisite = { focus = lth_purityandbrilliance } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_BELLIGERENT } + completion_reward = { + if = { limit = { NOT = { is_in_faction = yes } } + create_faction = "The Eternal Dominion" + } + } + } + + focus = { + id = lth_eternalwisdom + icon = GFX_goal_lth_eternalwisdom + + relative_position_id = lth_celebornsexile + x =1 + y =6 + + cost = 10 + ai_will_do = { + factor = 15 + } + prerequisite = { focus = lth_theeternaldominion } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_BELLIGERENT FOCUS_FILTER_RESEARCH } + completion_reward = { + # Give a research slot + add_research_slot = 1 + } + } + + focus = { + id = lth_tworingsbecomethone + icon = GFX_goal_lth_tworingsbecomethone + + x =22 + y =23 + + cost = 10 + ai_will_do = { factor = 100 } + prerequisite = { focus = lth_eternalwisdom } + prerequisite = { focus = lth_ringenchantments } + prerequisite = { focus = lth_keepthering } + search_filters = { FOCUS_FILTER_RING } + available = { + has_country_leader = { character = LTH_galadriel ruling_only = yes } + ring_has_the_ring = yes + } + completion_reward = { + # Remove Nenya, add bonuses to the One Ring + remove_country_leader_trait = ringbearer_2 + ring_upgrade_ring = yes + } + } + + focus = { + id = lth_dismantlethenazgul + icon = GFX_goal_lth_dismantlethenazgul + + relative_position_id = lth_tworingsbecomethone + x =0 + y =1 + + cost = 10 + ai_will_do = { factor = 35 } + prerequisite = { focus = lth_tworingsbecomethone } + search_filters = { FOCUS_FILTER_RING } + available = { + has_country_leader = { character = LTH_galadriel ruling_only = yes } + ring_has_the_ring = yes + MOR = { has_completed_focus = submittosauron } + } + completion_reward = { + # Get timed decisions to kill the nazgul + custom_effect_tooltip = lth_dismantlethenazgul_tt + } + } + + focus = { + id = lth_prisonervivisections + icon = GFX_goal_lth_prisonervivisections + + relative_position_id = lth_tworingsbecomethone + x =-2 + y =2 + + cost = 5 + ai_will_do = { factor = 100 } + prerequisite = { focus = lth_sauronstoolsturned } + search_filters = { FOCUS_FILTER_RING } + available = { + MOR = { casualties_inflicted_by = { opponent = LTH thousands > 80 } } + has_country_leader = { character = LTH_galadriel ruling_only = yes } + ring_has_the_ring = yes + } + completion_reward = { + add_ideas = LTH_prisoner_vivisections + } + } + + focus = { + id = lth_sauronstoolsturned + icon = GFX_goal_mor_second_wave + + relative_position_id = lth_tworingsbecomethone + x =-2 + y =1 + + cost = 5 + ai_will_do = { factor = 100 } + prerequisite = { focus = lth_tworingsbecomethone } + search_filters = { FOCUS_FILTER_RING } + available = { + MOR = { casualties_inflicted_by = { opponent = LTH thousands > 10 } } + has_country_leader = { character = LTH_galadriel ruling_only = yes } + ring_has_the_ring = yes + + } + completion_reward = { + # Periodically spawn orc penal devisions + custom_effect_tooltip = lth_orc_prisoners_tt + hidden_effect = { + load_oob = Lothlorien_Orc_Prisoners_Template + lth_spawn_orc_penal_division = yes + } + } + } + + focus = { + id = lth_thegiftofservitude + icon = GFX_goal_lth_thegiftofservitude + + relative_position_id = lth_tworingsbecomethone + x =-2 + y =4 + + cost = 5 + ai_will_do = { factor = 100 } + prerequisite = { focus = lth_prisonervivisections } + search_filters = { FOCUS_FILTER_RING } + available = { + MOR = { casualties_inflicted_by = { opponent = LTH thousands > 200 } } + has_country_leader = { character = LTH_galadriel ruling_only = yes } + ring_has_the_ring = yes + } + completion_reward = { + # After X casualties inflicted, upgrade the divisions to be much stronger + # Also: give idea which buffs penal_battalion units + add_ideas = LTH_gift_of_servitude + remove_ideas = LTH_prisoner_vivisections + custom_effect_tooltip = lth_thegiftofservitude_tt + hidden_effect = { + load_oob = Lothlorien_Orc_Prisoners_2_Template + lth_spawn_orc_penal_division = yes + } + } + } + + focus = { + id = lth_theshadowswhisper + icon = GFX_goal_lth_theshadowswhisper + + relative_position_id = lth_tworingsbecomethone + x =2 + y =1 + + cost = 10 + ai_will_do = { + factor = 1 + modifier = { + factor = 10 + power_balance_value = { + id = ring_corruption_balance + value < 0.5 + } + } + modifier = { + factor = 10 + power_balance_value = { + id = ring_corruption_balance + value < 0.15 + } + } + } + prerequisite = { focus = lth_tworingsbecomethone } + search_filters = { FOCUS_FILTER_RING } + available = { + has_country_leader = { character = LTH_galadriel ruling_only = yes } + ring_has_the_ring = yes + } + completion_reward = { + add_power_balance_value = { + id = ring_corruption_balance + value = -0.2 + } + } + } + + focus = { + id = lth_resistthedarkness + icon = GFX_goal_lth_resistthedarkness + + relative_position_id = lth_tworingsbecomethone + x =2 + y =2 + + cost = 10 + ai_will_do = { + factor = 1 + modifier = { + factor = 10 + power_balance_value = { + id = ring_corruption_balance + value < 0.5 + } + } + modifier = { + factor = 10 + power_balance_value = { + id = ring_corruption_balance + value < 0.15 + } + } + } + prerequisite = { focus = lth_theshadowswhisper } + search_filters = { FOCUS_FILTER_RING } + available = { + has_country_leader = { character = LTH_galadriel ruling_only = yes } + ring_has_the_ring = yes + } + completion_reward = { + # improve ring corruption + add_power_balance_value = { + id = ring_corruption_balance + value = -0.2 + } + } + } + + focus = { + id = lth_givesauronthering + icon = GFX_goal_lth_givesauronthering + + relative_position_id = lth_seizetheonering + x =4 + y =2 + + cost = 5 + ai_will_do = { factor = 1 } + prerequisite = { focus = lth_keepthering } + search_filters = { FOCUS_FILTER_RING } + available = { + always = no + } + completion_reward = { + custom_effect_tooltip = autocompleted_on_event_tt + } + } + + focus = { + id = lth_theunholyalliance + icon = GFX_goal_lth_theunholyalliance + + relative_position_id = lth_givesauronthering + x =0 + y =1 + + cost = 10 + ai_will_do = { factor = 100 } + prerequisite = { focus = lth_givesauronthering } + search_filters = { FOCUS_FILTER_RING } + available = { + country_exists = MOR + } + completion_reward = { + # Faction with MOR + if = { + limit = { has_war_with = MOR } + white_peace = MOR + } + hidden_effect = { news_event = { hours = 24 id = news.363 } } + leave_faction = yes + MOR = { add_to_faction = LTH } + } + } + + focus = { + id = lth_foeturnedfriend + icon = GFX_goal_lth_foeturnedfriend + + x =37 + y =25 + + cost = 10 + ai_will_do = { factor = 50 } + prerequisite = { focus = lth_theunholyalliance focus = lth_theorcrightsdebate } + available = { + NOT = { has_country_flag = orc_rights_debate_declined } + OR = { + has_government = belligerent + has_government = revolutionary + } + } + completion_reward = { + # Add orcs to influence system + lthi_activate_orcs = yes + } + } + + focus = { + id = lth_anecessaryevil + icon = GFX_goal_lth_anecessaryevil + + relative_position_id = lth_foeturnedfriend + x =-1 + y =1 + + cost = 10 + ai_will_do = { + factor = 25 + modifier = { + factor = 2 + NOT = { + any_allied_country = { + is_orcs = yes + } + } + } + } + prerequisite = { focus = lth_foeturnedfriend } + mutually_exclusive = { + focus = lth_forsaketheelves + } + completion_reward = { + # give elven influence + lthi_decrease_influence_orcs_intermediate = yes + # Add idea with daily manpower but also negatives + add_ideas = LTH_a_necessary_evil + } + } + + focus = { + id = lth_integrateorcsintothegaladhrim + icon = GFX_goal_lth_integrateorcsintothegaladhrim + + relative_position_id = lth_foeturnedfriend + x =-1 + y =3 + + cost = 10 + ai_will_do = { factor = 35 } + prerequisite = { focus = lth_anecessaryevil } + completion_reward = { + # improve the idea given in the last focus + swap_ideas = { + remove_idea = LTH_a_necessary_evil + add_idea = LTH_a_necessary_evil_2 + } + } + } + + focus = { + id = lth_forsaketheelves + icon = GFX_goal_lth_forsaketheelves + + relative_position_id = lth_foeturnedfriend + x =1 + y =1 + + cost = 10 + ai_will_do = { + factor = 25 + modifier = { + factor = 2 + any_allied_country = { + is_orcs = yes + } + } + } + mutually_exclusive = { + focus = lth_anecessaryevil + } + prerequisite = { focus = lth_foeturnedfriend } + completion_reward = { + # Switch race to orcs + lotr_switch_to_orcs = yes + # Give big boost to orc influence + lthi_increase_influence_orcs_huge = yes + } + } + + focus = { + id = lth_anewbreed + icon = GFX_goal_lth_anewbreed + + relative_position_id = lth_foeturnedfriend + x =1 + y =2 + + cost = 10 + ai_will_do = { factor = 35 } + prerequisite = { focus = lth_forsaketheelves } + completion_reward = { + custom_effect_tooltip = lth_anewbreed_tt + # Double orc bonus + multiply_variable = { lthi_orcs_bonus_strength_base = 3.0 } + # give 3 weekly orc influence + # ^ auto taken care of + } + } + + focus = { + id = lth_theneworder + icon = GFX_goal_lth_theneworder + + relative_position_id = lth_foeturnedfriend + x =1 + y =3 + + cost = 10 + ai_will_do = { factor = 35 } + prerequisite = { focus = lth_anewbreed } + completion_reward = { + # give orc influence + lthi_increase_influence_orcs_major = yes + # Add idea with daily manpower and other stuff + add_ideas = LTH_the_new_order + } + } + + focus = { + id = lth_provincialcouncils + icon = GFX_goal_lth_territorialadministration + + relative_position_id = lth_territorialadministration + x =-4 + y =1 + + cost = 10 + ai_will_do = { factor = 10 } + prerequisite = { focus = lth_territorialadministration } + search_filters = { FOCUS_FILTER_INDUSTRY } + completion_reward = { + # enable and hire an "Provincial councilor" pol advisor + custom_effect_tooltip = lth_provincialcouncils_tt + hidden_effect = { + if = { + limit = { + amount_taken_ideas = { + amount < 2 + slots = { + political_advisor + } + } + } + activate_advisor = generic_LTH_provincial_councilor_political_advisor + } + } + } + } + + focus = { + id = lth_organizetributaries + icon = GFX_goal_lth_organizetributaries + + relative_position_id = lth_theeternaldominion + x =1 + y =1 + + cost = 10 + ai_will_do = { factor = 5 } + available = { + num_subjects > 0 + } + prerequisite = { focus = lth_theeternaldominion } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_BELLIGERENT } + completion_reward = { + custom_effect_tooltip = tribute_collector_advisor_effect_tooltip + } + } + + focus = { + id = lth_labourtaxfornonelves + icon = GFX_goal_lth_labourtaxfornonelves + + relative_position_id = lth_theeternaldominion + x =-1 + y =1 + + cost = 10 + ai_will_do = { factor = 15 } + prerequisite = { focus = lth_theeternaldominion } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_BELLIGERENT } + available = { + num_subjects > 0 + any_subject_country = { + is_elves = no + } + } + completion_reward = { + custom_effect_tooltip = lth_labourtaxfornonelves_tt + hidden_effect = { + # Extra civs to overlord or something + every_subject_country = { + limit = { is_elves = no } + LTH = { + random_state_add_building_slot_and_civ_x2 = yes + random_state_add_building_slot_and_mil_x2 = yes + } + } + } + } + } + + focus = { + id = lth_localautonomy + icon = GFX_goal_lth_localautonomy + + relative_position_id = lth_provincialcouncils + x =-1 + y =4 + + cost = 5 + ai_will_do = { + factor = 1 + modifier = { + factor = 100 + has_completed_focus = lth_investinnanduhirion + has_completed_focus = lth_investintaurhith + has_completed_focus = lth_investinparthcelebrant + } + } + prerequisite = { focus = lth_investinnanduhirion focus = lth_investintaurhith focus = lth_investinparthcelebrant } + search_filters = { FOCUS_FILTER_INDUSTRY } + available = { + OR = { + controls_state = 160 + controls_state = 76 + controls_state = 74 + } + } + completion_reward = { + # Disable resistance in these states + # add compliance + custom_effect_tooltip = lth_localautonomy_tt + hidden_effect = { + if = { + limit = { + has_completed_focus = lth_investinnanduhirion + controls_state = 160 + } + 160 = { + force_disable_resistance = LTH + add_compliance = 25 + } + } + if = { + limit = { + has_completed_focus = lth_investintaurhith + controls_state = 76 + } + 76 = { + force_disable_resistance = LTH + add_compliance = 25 + } + } + if = { + limit = { + has_completed_focus = lth_investinparthcelebrant + controls_state = 74 + } + 74 = { + force_disable_resistance = LTH + add_compliance = 25 + } + } + } + } + } + + focus = { + id = lth_territorialintegration + icon = GFX_goal_lth_territorialintegration + + relative_position_id = lth_localautonomy + x =1 + y =2 + + cost = 10 + ai_will_do = { + factor = 1 + modifier = { + factor = 100 + has_completed_focus = lth_investinnanduhirion + has_completed_focus = lth_investintaurhith + has_completed_focus = lth_investinparthcelebrant + } + } + prerequisite = { focus = lth_reformtaxcollection } + prerequisite = { focus = lth_localautonomy } + search_filters = { FOCUS_FILTER_INDUSTRY } + available = { + num_of_factories > 40 + OR = { + controls_state = 160 + controls_state = 76 + controls_state = 74 + } + } + completion_reward = { + # Get *only* the OG lothlorien states as cores + custom_effect_tooltip = lth_territorialintegration_tt + hidden_effect = { + if = { + limit = { + has_completed_focus = lth_investinnanduhirion + controls_state = 160 + } + 160 = { + add_core_of = LTH + } + } + if = { + limit = { + has_completed_focus = lth_investintaurhith + controls_state = 76 + } + 76 = { + add_core_of = LTH + } + } + if = { + limit = { + has_completed_focus = lth_investinparthcelebrant + controls_state = 74 + } + 74 = { + add_core_of = LTH + } + } + } + } + } + + focus = { + id = lth_investintaurhith + icon = GFX_goal_lth_investfocus + + relative_position_id = lth_provincialcouncils + x =-2 + y =2 + + cost = 10 + ai_will_do = { + factor = 5 + modifier = { + factor = 10 + 74 = { has_dynamic_modifier = { modifier = provincial_council_modifier } } + 160 = { has_dynamic_modifier = { modifier = provincial_council_modifier } } + 76 = { has_dynamic_modifier = { modifier = provincial_council_modifier } } + } + } + available = { + controls_state = 76 + 76 = { has_dynamic_modifier = { modifier = provincial_council_modifier } } + } + prerequisite = { focus = lth_provincialcouncils } + search_filters = { FOCUS_FILTER_INDUSTRY } + completion_reward = { + # building slots + 76 = { + add_extra_state_shared_building_slots = 2 + } + } + } + + focus = { + id = lth_investinparthcelebrant + icon = GFX_goal_lth_investfocus + + relative_position_id = lth_provincialcouncils + x =0 + y =2 + + cost = 10 + ai_will_do = { + factor = 5 + modifier = { + factor = 10 + 74 = { has_dynamic_modifier = { modifier = provincial_council_modifier } } + 160 = { has_dynamic_modifier = { modifier = provincial_council_modifier } } + 76 = { has_dynamic_modifier = { modifier = provincial_council_modifier } } + } + } + available = { + controls_state = 74 + 74 = { has_dynamic_modifier = { modifier = provincial_council_modifier } } + } + prerequisite = { focus = lth_provincialcouncils } + search_filters = { FOCUS_FILTER_INDUSTRY } + completion_reward = { + # building slots + 74 = { + add_extra_state_shared_building_slots = 2 + } + } + } + + focus = { + id = lth_investinnanduhirion + icon = GFX_goal_lth_investfocus + + relative_position_id = lth_provincialcouncils + x =2 + y =2 + + cost = 10 + ai_will_do = { + factor = 5 + modifier = { + factor = 10 + 74 = { has_dynamic_modifier = { modifier = provincial_council_modifier } } + 160 = { has_dynamic_modifier = { modifier = provincial_council_modifier } } + 76 = { has_dynamic_modifier = { modifier = provincial_council_modifier } } + } + } + available = { + controls_state = 160 + 160 = { has_dynamic_modifier = { modifier = provincial_council_modifier } } + } + prerequisite = { focus = lth_provincialcouncils } + search_filters = { FOCUS_FILTER_INDUSTRY } + completion_reward = { + # building slots + 160 = { + add_extra_state_shared_building_slots = 2 + } + } + } + + focus = { + id = lth_reformtaxcollection + icon = GFX_goal_lth_reformtaxcollection + + relative_position_id = lth_localautonomy + x =2 + y =0 + + cost = 5 + ai_will_do = { + factor = 1 + modifier = { + factor = 100 + has_completed_focus = lth_investinnanduhirion + has_completed_focus = lth_investintaurhith + has_completed_focus = lth_investinparthcelebrant + } + } + prerequisite = { focus = lth_investinnanduhirion focus = lth_investintaurhith focus = lth_investinparthcelebrant } + search_filters = { FOCUS_FILTER_INDUSTRY } + available = { + OR = { + controls_state = 160 + controls_state = 76 + controls_state = 74 + } + } + completion_reward = { + # Gain civs in every invested state + custom_effect_tooltip = lth_reformtaxcollection_tt + hidden_effect = { + if = { + limit = { + has_completed_focus = lth_investinnanduhirion + controls_state = 160 + } + 160 = { add_building_slot_and_civ_x4 = yes } + } + if = { + limit = { + has_completed_focus = lth_investintaurhith + controls_state = 76 + } + 76 = { add_building_slot_and_civ_x4 = yes } + } + if = { + limit = { + has_completed_focus = lth_investinparthcelebrant + controls_state = 74 + } + 74 = { add_building_slot_and_civ_x4 = yes } + } + } + } + } + + focus = { + id = lth_minglewiththemortals + icon = GFX_goal_lth_minglewiththemortals + + relative_position_id = lth_forgealliances + x =0 + y =7 + + cost = 10 + ai_will_do = { + factor = 5 + modifier = { + factor = 2 + has_manpower < 1000 + } + modifier = { + factor = 10 + date > 3022.1.1 + } + } + prerequisite = { focus = lth_unityindivision focus = lth_forgealliances } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_COOPERATIVE FOCUS_FILTER_REVOLUTIONARY } + available = { + lthi_has_100_halfelves_influence = yes + } + completion_reward = { + # Add dwarves and men to the influence system + lthi_activate_nonelves = yes + } + } + + focus = { + id = lth_nonelvencitizenship + icon = GFX_goal_lth_nonelvencitizenship + + relative_position_id = lth_forgealliances + x =0 + y =8 + + cost = 10 + ai_will_do = { + factor = 5 + modifier = { + factor = 2 + has_manpower < 1000 + } + modifier = { + factor = 10 + date > 3022.1.1 + } + } + prerequisite = { focus = lth_minglewiththemortals } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_COOPERATIVE FOCUS_FILTER_REVOLUTIONARY } + available = { + lthi_has_200_halfelves_influence = yes + } + completion_reward = { + # Add men and dwarf advisors and some generals + custom_effect_tooltip = lth_nonelvencitizenship_tt + set_country_flag = lth_nonelves_activated + } + } + + focus = { + id = lth_migrationtreaties + icon = GFX_goal_lth_migrationtreaties + + relative_position_id = lth_nonelvencitizenship + x =0 + y =2 + + cost = 5 + ai_will_do = { + factor = 5 + modifier = { + factor = 2 + has_manpower < 1000 + } + modifier = { + factor = 10 + date > 3022.1.1 + } + } + prerequisite = { focus = lth_nonelvencitizenship } + search_filters = { FOCUS_FILTER_POLITICAL FOCUS_FILTER_COOPERATIVE FOCUS_FILTER_REVOLUTIONARY } + available = { + lthi_has_200_halfelves_influence = yes + } + completion_reward = { + # decisions with neighbours + # If they accept -> manpower growth and influence + # automatically taken care of + unlock_decision_tooltip = enact_migration_treaty + } + } } diff --git a/common/national_focus/lotr_shared.txt b/common/national_focus/lotr_shared.txt index db6e0a934..75a4efb95 100644 --- a/common/national_focus/lotr_shared.txt +++ b/common/national_focus/lotr_shared.txt @@ -1058,7 +1058,7 @@ shared_focus = { random_state = { #After the first build set, then pick any controlled state to build more. limit = { - controller = { tag = ROOT } + is_controlled_by = ROOT free_building_slots = { building = dockyard size > 1 diff --git a/common/national_focus/lotr_shared_political.txt b/common/national_focus/lotr_shared_political.txt new file mode 100644 index 000000000..3866fd084 --- /dev/null +++ b/common/national_focus/lotr_shared_political.txt @@ -0,0 +1,854 @@ + shared_focus = { + id = political_effort + icon = GFX_focus_hol_the_foundations_of_defense #GFX_goal_generic_demand_territory + x = 22 + y = 0 + cost = 10 + + available_if_capitulated = yes + + ai_will_do = { + factor = 5 + } + + completion_reward = { + add_political_power = 120 + } + } + + shared_focus = { + id = collectivist_ethos + icon = GFX_goal_generic_national_unity #icon = GFX_goal_tripartite_pact + prerequisite = { focus = political_effort } + mutually_exclusive = { focus = liberty_ethos} + relative_position_id = political_effort + available = { + is_puppet = no + } + x = -1 + y = 1 + cost = 10 + + available_if_capitulated = yes + + + ai_will_do = { + factor = 5 + modifier = { + factor = 0 #Making sure Dagorlad doesnt go down this path + original_tag = DAG + } + modifier = { + factor = 1 + is_orcs = yes + } + } + + completion_reward = { + add_ideas = collectivist_ethos_focus + } + } + +### Fascist Path + + shared_focus = { + id = nationalism_focus + icon = GFX_goal_support_belligerent #icon = GFX_goal_tripartite_pact + prerequisite = { focus = collectivist_ethos } + mutually_exclusive = { focus = internationalism_focus } + relative_position_id = collectivist_ethos + x = -2 + y = 1 + cost = 10 + + available_if_capitulated = yes + + + ai_will_do = { + factor = 5 + modifier = { factor = 0 is_going_belligerent = no } + } + + completion_reward = { + add_ideas = nationalism + } + } + + shared_focus = { + id = militarism + icon = GFX_goal_generic_political_pressure + prerequisite = { focus = nationalism_focus } + relative_position_id = nationalism_focus + x = 0 + y = 1 + cost = 10 + + available = { + has_government = belligerent + } + + available_if_capitulated = yes + + completion_reward = { + if = { + limit = { has_idea = unaligned_idea } + remove_ideas = unaligned_idea + } + add_ideas = militarism_focus + army_experience = 20 + set_rule = { can_send_volunteers = yes } + } + } + + shared_focus = { + id = military_youth + icon = GFX_goal_generic_more_territorial_claims + prerequisite = { focus = militarism } + relative_position_id = militarism + x = 0 + y = 1 + cost = 10 + + available_if_capitulated = yes + + completion_reward = { + add_ideas = military_youth_focus + if = { + limit = { has_government = belligerent } + add_popularity = { + ideology = belligerent + popularity = 0.2 + } + } + if = { + limit = { has_government = revolutionary } + add_popularity = { + ideology = revolutionary + popularity = 0.2 + } + } + } + } + + shared_focus = { + id = paramilitarism + icon = GFX_goal_generic_military_sphere + prerequisite = { focus = military_youth } + relative_position_id = military_youth + x = 0 + y = 1 + cost = 10 + + available_if_capitulated = yes + + completion_reward = { + add_ideas = paramilitarism_focus + } + } + +### Communist Path + + shared_focus = { + id = internationalism_focus + icon = GFX_goal_support_revolutionary #icon = GFX_goal_tripartite_pact + prerequisite = { focus = collectivist_ethos } + mutually_exclusive = { focus = nationalism_focus } + relative_position_id = collectivist_ethos + x = 0 + y = 1 + cost = 10 + + available_if_capitulated = yes + + + ai_will_do = { + factor = 5 + modifier = { factor = 0 is_going_revolutionary = no } + } + + completion_reward = { + add_ideas = internationalism + } + } + + shared_focus = { + id = political_correctness + icon = GFX_goal_generic_dangerous_deal + prerequisite = { focus = internationalism_focus } + relative_position_id = internationalism_focus + x = 0 + y = 1 + cost = 10 + + available = { + has_government = revolutionary + } + + available_if_capitulated = yes + + completion_reward = { + if = { + limit = { has_idea = unaligned_idea } + remove_ideas = unaligned_idea + } + add_political_power = 200 + add_ideas = idea_political_correctness + } + } + + shared_focus = { + id = indoctrination_focus + icon = GFX_goal_generic_propaganda + prerequisite = { focus = political_correctness } + relative_position_id = political_correctness + x = 0 + y = 1 + cost = 10 + + available_if_capitulated = yes + + completion_reward = { + add_ideas = indoctrination_focus + add_political_power = 150 + } + } + + shared_focus = { + id = political_commissars + icon = GFX_goal_generic_forceful_treaty + prerequisite = { focus = indoctrination_focus } + relative_position_id = indoctrination_focus + x = 0 + y = 1 + cost = 10 + + available_if_capitulated = yes + + completion_reward = { + add_ideas = political_commissars_focus + if = { + limit = { has_government = belligerent } + add_popularity = { + ideology = belligerent + popularity = 0.2 + } + } + if = { + limit = { has_government = revolutionary } + add_popularity = { + ideology = revolutionary + popularity = 0.2 + } + } + add_political_power = 200 + } + } + + shared_focus = { + id = ideological_fanaticism + icon = GFX_goal_generic_demand_territory + prerequisite = { focus = paramilitarism focus = political_commissars } + relative_position_id = paramilitarism + x = 1 + y = 1 + cost = 10 + + available_if_capitulated = yes + + completion_reward = { + add_ideas = ideological_fanaticism_focus + set_rule = { + can_create_factions = yes + } + hidden_effect = { + set_rule = { can_use_kamikaze_pilots = yes } + } + custom_effect_tooltip = kamikaze_focus_tooltip + } + } + +### End of Fascist / Communist Paths + + shared_focus = { + id = liberty_ethos + icon = GFX_goal_support_cooperative + prerequisite = { focus = political_effort } + mutually_exclusive = { focus = collectivist_ethos } + relative_position_id = political_effort + available = { + is_puppet = no + } + x = 1 + y = 1 + cost = 10 + + available_if_capitulated = yes + + ai_will_do = { + factor = 5 + modifier = { + factor = 0 #Making sure Dagorlad doesnt go down this path + original_tag = DAG + } + modifier = { factor = 0 is_going_belligerent = yes } + modifier = { factor = 0 is_going_revolutionary = yes } + } + + completion_reward = { + add_ideas = generic_cooperative + add_ideas = liberty_ethos_focus + } + } + +### Neutrality Path + + shared_focus = { + id = generic_unaligned_focus + icon = GFX_goal_support_unalligned + prerequisite = { focus = generic_pick_a_path } + mutually_exclusive = { focus = generic_draw_closer_to_gondor focus = generic_draw_closer_to_erebor focus = generic_draw_closer_to_mordor focus = interventionism_focus } + relative_position_id = liberty_ethos + ai_will_do = { + factor = 15 + modifier = { + add = 50 + original_tag = LIN + } + } + x = 2 + y = 1 + cost = 10 + + available_if_capitulated = yes + + completion_reward = { + if = { + limit = { NOT = { has_idea = unaligned_idea } } + add_ideas = unaligned_idea + + } + add_political_power = 150 + } + } + + shared_focus = { + id = deterrence + icon = GFX_goal_generic_defence + + prerequisite = { focus = generic_unaligned_focus } + relative_position_id = generic_unaligned_focus + x = 0 + y = 1 + + cost = 10 + + ai_will_do = { + factor = 5 + } + + available_if_capitulated = yes + + completion_reward = { + add_ideas = deterrence + hidden_effect = { + every_owned_state = { + limit = { + is_controlled_by = ROOT + any_neighbor_state = { + NOT = { is_owned_and_controlled_by = ROOT } + } + } + add_building_construction = { + type = bunker + level = 3 + instant_build = yes + province = { + all_provinces = yes + limit_to_border = yes + } + } + #ADDS TO CONSTRUCTION QUEUE, PARTICULARLY USEFUL FOR AI + add_building_construction = { + type = bunker + level = 4 + instant_build = no + province = { + all_provinces = yes + limit_to_border = yes + } + } + } #End Foritify Borders bloc + every_owned_state = { + limit = { + is_controlled_by = ROOT + is_coastal = yes + } + add_building_construction = { + type = coastal_bunker + level = 3 + instant_build = yes + province = { + all_provinces = yes + limit_to_naval_base = yes + } + } + #ADDS TO CONSTRUCTION QUEUE, PARTICULARLY USEFUL FOR AI + add_building_construction = { + type = coastal_bunker + level = 4 + instant_build = no + province = { + all_provinces = yes + limit_to_naval_base = yes + } + } + } #End Fortify Naval Bases bloc + every_owned_state = { + limit = { + is_controlled_by = ROOT + is_coastal = yes + } + add_building_construction = { + type = coastal_bunker + level = 3 + instant_build = yes + province = { + all_provinces = yes + limit_to_coastal = yes + } + } + #ADDS TO CONSTRUCTION QUEUE, PARTICULARLY USEFUL FOR AI + add_building_construction = { + type = coastal_bunker + level = 4 + instant_build = no + province = { + all_provinces = yes + limit_to_coastal = yes + } + } + } #End Fortify Coasts bloc + } # End Hidden Effects Bloc + } + } + +### Democratic / Intervention Path + + shared_focus = { + id = interventionism_focus + icon = GFX_goal_generic_political_pressure + prerequisite = { focus = liberty_ethos } + mutually_exclusive = { focus = generic_unaligned_focus } + relative_position_id = liberty_ethos + x = 0 + y = 1 + cost = 10 + available_if_capitulated = yes + + available = { + OR = { + has_government = cooperative + has_government = unaligned + } + } + + ai_will_do = { + factor = 2 + modifier = { + factor = 0 + has_idea = unaligned_idea + } + } + + completion_reward = { + if = { + limit = { has_idea = unaligned_idea } + remove_ideas = unaligned_idea + } + set_rule = { can_send_volunteers = yes } + add_political_power = 150 + } + } + + shared_focus = { + id = volunteer_corps + icon = GFX_goal_generic_allies_build_infantry + prerequisite = { focus = interventionism_focus } + relative_position_id = interventionism_focus + x = 0 + y = 1 + cost = 10 + + available_if_capitulated = yes + + completion_reward = { + add_ideas = volunteer_corps_focus + } + } + + shared_focus = { + id = foreign_expeditions + icon = GFX_goal_generic_more_territorial_claims + prerequisite = { focus = volunteer_corps } + relative_position_id = volunteer_corps + x = 0 + y = 1 + cost = 10 + + available_if_capitulated = yes + + completion_reward = { + add_ideas = foreign_expeditions_focus + } + } + + shared_focus = { + id = why_we_fight + icon = GFX_goal_generic_propaganda + prerequisite = { focus = foreign_expeditions focus = deterrence } + available = { + OR = { + threat > 0.75 + has_defensive_war = yes + } + } + + continue_if_invalid = yes + relative_position_id = deterrence + x = 0 + y = 2 + cost = 10 + + available_if_capitulated = yes + + completion_reward = { + add_ideas = why_we_fight_focus + custom_effect_tooltip = why_we_fight_effect + hidden_effect = { + if = { + limit = { NOT = { has_idea = unaligned_idea } } + set_rule = { can_create_factions = yes } + } + } + } + } + + +### End Neutrality / Democratic Path + + shared_focus = { + id = technology_sharing + icon = GFX_goal_generic_scientific_exchange + prerequisite = { focus = ideological_fanaticism focus = why_we_fight } + available = { + has_war = yes + is_in_faction = yes + OR = { + num_of_factories > 50 + any_other_country = { + is_in_faction_with = ROOT + num_of_factories > 50 + } + } + } + relative_position_id = ideological_fanaticism + x = 2 + y = 1 + cost = 10 + + available_if_capitulated = yes + + completion_reward = { + if = { + limit = { + original_research_slots < 3 + } + add_research_slot = 1 + } + if = { + limit = { + original_research_slots > 2 + } + add_tech_bonus = { + name = electronics_bonus + bonus = 0.5 + uses = 1 + category = lotr_knowledge + } + add_tech_bonus = { + name = industrial_bonus + bonus = 0.5 + uses = 1 + category = lotr_labour + } + add_tech_bonus = { + name = infantry_weapons_bonus + bonus = 0.5 + uses = 1 + category = lotr_infantry + } + } + } + } + +### Political Adjustments + + shared_focus = { + id = generic_pick_a_path + icon = GFX_goal_generic_demand_territory + prerequisite = { focus = political_effort } + relative_position_id = political_effort + x = 6 + y = 1 + cost = 5 + + ai_will_do = { + base = 0 + modifier = { + add = 10 + OR = { + has_completed_focus = collectivist_ethos + has_completed_focus = liberty_ethos + } + } + } + + available_if_capitulated = yes + + completion_reward = { + add_political_power = 150 + } + } + +#Focus for Draw closer to Erebor + shared_focus = { + id = generic_draw_closer_to_erebor + icon = GFX_goal_army_dwarves + available = { is_in_faction = no ERE = { is_faction_leader = yes } } + ai_will_do = { + factor = 1 + modifier = { + factor = 0 #Making sure Dagorlad doesnt go down this path + original_tag = DAG + } + } + relative_position_id = generic_pick_a_path + x = -1 + y = 1 + mutually_exclusive = { focus = generic_draw_closer_to_gondor focus = generic_unaligned_focus focus = generic_draw_closer_to_mordor } + prerequisite = { focus = generic_pick_a_path} + cost = 5 + available_if_capitulated = yes + completion_reward = { + add_opinion_modifier = { target = ERE modifier = large_increase } + ERE = { add_opinion_modifier = { target = ROOT modifier = large_increase } } + } +} + +#Focus for Unite with Erebor +shared_focus = { + id = generic_unite_with_erebor + icon = GFX_goal_erebor + ai_will_do = { factor = 3 } + available = { is_in_faction = no ERE = { is_faction_leader = yes } is_subject = no } + relative_position_id = generic_draw_closer_to_erebor + x =0 + y =1 + mutually_exclusive = { } + prerequisite = { focus = generic_draw_closer_to_erebor} + cost = 5 + available_if_capitulated = yes + completion_reward = { ERE = { country_event = { id = erebor.6 } } } +} + +shared_focus = { + id = generic_learn_from_the_dwarves + icon = GFX_goal_generic_air_production + ai_will_do = { factor = 4 } + available = { is_in_faction_with = ERE } + relative_position_id = generic_unite_with_erebor + x = 0 + y = 1 + prerequisite = { focus = generic_unite_with_erebor} + cost = 10 + available_if_capitulated = yes + completion_reward = { + add_tech_bonus = { + name = special_bonus + bonus = 0.5 + uses = 2 + category = lotr_labour_metalworking + } + add_tech_bonus = { + name = special_bonus + bonus = 1 + uses = 1 + category = lotr_labour_construction_industry + } + } +} + +#Focus for Draw closer to Gondor + shared_focus = { + id = generic_draw_closer_to_gondor + icon = GFX_goal_generic_intelligence_exchange + relative_position_id = generic_pick_a_path + x =1 + y =1 + ai_will_do = { + factor = 1 + modifier = { + factor = 0 #Making sure Dagorlad doesnt go down this path + original_tag = DAG + } + } + mutually_exclusive = { focus = generic_draw_closer_to_erebor focus = generic_unaligned_focus focus = generic_draw_closer_to_mordor } + prerequisite = { focus = generic_pick_a_path } + available = { has_government = cooperative is_in_faction = no GON = { is_faction_leader = yes has_government = cooperative } } + cost = 5 + available_if_capitulated = yes + completion_reward = { + add_opinion_modifier = { target = GON modifier = large_increase } + GON = { add_opinion_modifier = { target = ROOT modifier = large_increase } } + } +} + +#Focus for Unite with Gondor + shared_focus = { + id = generic_unite_with_gondor + icon = GFX_goal_gondor + ai_will_do = { factor = 5 } + available = { + is_in_faction = no + GON = { is_faction_leader = yes } + threat > 0.35 + is_subject = no + } + relative_position_id = generic_draw_closer_to_gondor + x = 0 + y = 1 + prerequisite = { focus = generic_draw_closer_to_gondor} + cost = 5 + available_if_capitulated = yes + completion_reward = { + GON = { + country_event = { + id = gondor.7 + } + } + } + } + + shared_focus = { + id = generic_gondor_research_sharing + icon = GFX_goal_generic_gondor_research + ai_will_do = { factor = 5 } + available = { + is_in_faction_with = GON + } + relative_position_id = generic_unite_with_gondor + x = 0 + y = 1 + prerequisite = { focus = generic_unite_with_gondor} + cost = 10 + available_if_capitulated = yes + completion_reward = { + GON = { + country_event = { + id = gondor.8 + } + } + } + } + + #Focus for Draw closer to Mordor + shared_focus = { + id = generic_draw_closer_to_mordor + icon = GFX_goal_mordor + relative_position_id = generic_pick_a_path + x = 3 + y = 1 + ai_will_do = { + factor = 1 + modifier = { + factor = 0 #Making sure Dagorlad doesnt go down this path + original_tag = DAG + } + } + bypass = { + MOR = { + NOT = { + has_government = belligerent + } + } + } + mutually_exclusive = { focus = generic_draw_closer_to_erebor focus = generic_unaligned_focus focus = generic_draw_closer_to_gondor} + prerequisite = { focus = generic_pick_a_path } + available = { has_government = belligerent is_in_faction = no MOR = { is_faction_leader = yes has_government = belligerent } } + cost = 5 + available_if_capitulated = yes + completion_reward = { + add_opinion_modifier = { target = MOR modifier = large_increase } + MOR = { add_opinion_modifier = { target = ROOT modifier = large_increase } } + } +} + +shared_focus = { + id = generic_honor_morgoth + icon = GFX_servant_of_melkor + x = 0 + y = 1 + relative_position_id = generic_draw_closer_to_mordor + ai_will_do = { factor = 15 } + cost = 10 + prerequisite = { focus = generic_draw_closer_to_mordor } + search_filters = { FOCUS_FILTER_STABILITY FOCUS_FILTER_POLITICAL FOCUS_FILTER_WAR_SUPPORT} + available = { has_government = belligerent } + completion_reward = { + add_ideas = MOR_servant_morgoth + } +} + + #Focus for Unite with Sauron +shared_focus = { + id = generic_unite_with_mordor + icon = GFX_goal_sauron_eye + ai_will_do = { + factor = 4 + modifier = { + factor = 0 + date < 3021.1.1 + } + } + + available = { + has_government = belligerent + MOR = { + has_government = belligerent + is_faction_leader = yes + } + threat > 0.25 + is_subject = no + } + bypass = { + any_country = { + original_tag = MOR + has_government = belligerent + is_faction_leader = yes + is_in_faction_with = ROOT + } + } + relative_position_id = generic_honor_morgoth + x = 0 + y = 1 + prerequisite = { focus = generic_honor_morgoth } + cost = 5 + available_if_capitulated = yes + completion_reward = { + MOR = { + country_event = { + id = mordor.52 + } + } + } +} \ No newline at end of file diff --git a/common/national_focus/mirkwood.txt b/common/national_focus/mirkwood.txt index 560f177b1..904eecd0a 100644 --- a/common/national_focus/mirkwood.txt +++ b/common/national_focus/mirkwood.txt @@ -1,5 +1,5 @@ focus_tree = { -id = 'mirkwood' +id = mirkwood country = { factor=0 modifier = { @@ -13,6 +13,8 @@ default = no continuous_focus_position = { x = 50 y = 2000 } +shared_focus = ea_theelvenalliance + #Custom focuses start here @@ -121,14 +123,17 @@ continuous_focus_position = { x = 50 y = 2000 } focus = { id = diplomaticrule icon = GFX_goal_support_cooperative - ai_will_do = { factor = 7 } + ai_will_do = { + factor = 7 + modifier = { factor = 0 is_going_cooperative = no } + } x =4 y =2 mutually_exclusive = { focus=consensusrule focus=ironfistrule } prerequisite = { focus = breakthesilence} cost = 10 available_if_capitulated = yes - completion_reward = { set_country_flag = path_going_cooperative add_ideas = generic_cooperative_intermediate } + completion_reward = { add_ideas = generic_cooperative_intermediate } } #Focus for Draw closer to Erebor @@ -200,14 +205,17 @@ continuous_focus_position = { x = 50 y = 2000 } focus = { id = consensusrule icon = GFX_goal_support_revolutionary - ai_will_do = { factor = 8 } + ai_will_do = { + factor = 8 + modifier = { factor = 0 is_going_revolutionary = no } + } x =7 y =2 mutually_exclusive = { focus = diplomaticrule focus = ironfistrule } prerequisite = { focus = breakthesilence} cost = 10 available_if_capitulated = yes - completion_reward = { set_country_flag = path_going_revolutionary add_ideas = generic_revolutionary_intermediate } + completion_reward = { add_ideas = generic_revolutionary_intermediate } } #Focus for Red in Heart and Mind @@ -331,7 +339,10 @@ continuous_focus_position = { x = 50 y = 2000 } focus = { id = selfcenteredrule icon = GFX_goal_support_unalligned - ai_will_do = { factor = 10 } + ai_will_do = { + factor = 10 + modifier = { factor = 0 is_going_unaligned = no } + } x =14 y =1 mutually_exclusive = { focus = breakthesilence } @@ -339,7 +350,6 @@ continuous_focus_position = { x = 50 y = 2000 } cost = 10 available_if_capitulated = yes completion_reward = { - set_country_flag = path_going_unaligned add_stability = 0.05 add_ideas = generic_unaligned } @@ -442,7 +452,10 @@ continuous_focus_position = { x = 50 y = 2000 } focus = { id = ironfistrule icon = GFX_goal_support_belligerent - ai_will_do = { factor = 8 } + ai_will_do = { + factor = 8 + modifier = { factor = 0 is_going_belligerent = no } + } x =10 y =2 mutually_exclusive = { focus = diplomaticrule focus = consensusrule} @@ -450,7 +463,6 @@ continuous_focus_position = { x = 50 y = 2000 } cost = 10 available_if_capitulated = yes completion_reward = { - set_country_flag = path_going_belligerent add_ideas = generic_belligerent_intermediate add_stability = -0.05 } diff --git a/common/national_focus/mordor.txt b/common/national_focus/mordor.txt index cb3e4caa0..0ca1088c8 100644 --- a/common/national_focus/mordor.txt +++ b/common/national_focus/mordor.txt @@ -1,5 +1,5 @@ focus_tree = { - id = 'mordor' + id = mordor country = { factor=0 modifier = { @@ -75,7 +75,9 @@ default = no focus = { id = resistsauron icon = GFX_goal_azog - ai_will_do = { factor = 25 } + ai_will_do = { + factor = 25 + } bypass = { has_global_flag = mordor_civil_war has_government = revolutionary} x = -7 y = 1 @@ -91,7 +93,6 @@ default = no available_if_capitulated = yes search_filters = { FOCUS_FILTER_STABILITY FOCUS_FILTER_POLITICAL } completion_reward = { - set_country_flag = path_going_revolutionary add_political_power = -50 add_stability = -0.05 add_ideas = MOR_orc_resistance @@ -899,7 +900,9 @@ focus = { focus = { id = liberateminasmorgul icon = GFX_goal_generic_national_unity - ai_will_do = { factor = 1 } + ai_will_do = { + factor = 0 + } x = -2 y = 1 available = { @@ -925,7 +928,9 @@ focus = { focus = { id = integrateintomordor icon = GFX_goal_generic_secret_weapon - ai_will_do = { factor = 3 } + ai_will_do = { + factor = 5 + } x = 0 y = 1 relative_position_id = thefateofminasmorgul @@ -947,7 +952,13 @@ focus = { focus = { id = grantautonomy icon = GFX_goal_generic_cavalry - ai_will_do = { factor = 5 } + ai_will_do = { + factor = 2 + modifier = { + factor = 0 + is_historical_focus_on = yes + } + } x = 2 y = 1 relative_position_id = thefateofminasmorgul @@ -1176,6 +1187,7 @@ focus = { character = MOR_acrif activate = no advisor = { + idea_token = MOR_acrif_high_command slot = high_command cost = 150 traits = { commando_expert } @@ -1331,7 +1343,7 @@ focus = { focus = { id = thebeatingheart icon = GFX_focus_generic_industry_2 - ai_will_do = { factor = 3 } + ai_will_do = { factor = 5 } available = { 12 = { is_controlled_by = ROOT } } x = 0 y = 1 @@ -1351,7 +1363,7 @@ focus = { focus = { id = research_rural_industry icon = GFX_goal_generic_production2 - ai_will_do = { factor = 3 } + ai_will_do = { factor = 5 } prerequisite = { focus = thebeatingheart } relative_position_id = thebeatingheart x = 0 @@ -1377,8 +1389,8 @@ focus = { #Focus for Centralized Militirization focus = { id = centralizedmilitirization - icon = GFX_goal_generic_construct_mil_factory - ai_will_do = { factor = 3 } + icon = GFX_goal_generic_anvil + ai_will_do = { factor = 5 } available = { 12 = { is_controlled_by = ROOT } 6 = { is_controlled_by = ROOT } } x = 0 y = 1 @@ -1423,8 +1435,8 @@ focus = { #Focus for Build animal farms focus = { id = MOR_build_animal_farms - icon = GFX_goal_generic_construct_civ_factory - ai_will_do = { factor = 9 } + icon = GFX_goal_generic_windmile + ai_will_do = { factor = 1 } available = { 187 = { is_controlled_by = ROOT } 9 = { is_controlled_by = ROOT } } x = 4 y = 1 @@ -1454,7 +1466,7 @@ focus = { focus = { id = MOR_expand_the_sawmill_industry icon = GFX_goal_resource_wood - ai_will_do = { factor = 9 } + ai_will_do = { factor = 1 } available = { 120 = { is_controlled_by = ROOT } } x = 0 y = 1 @@ -1636,7 +1648,7 @@ focus = { #Focus for deCentralized Militirization focus = { id = decentralizedmilitirization - icon = GFX_goal_generic_construct_mil_factory + icon = GFX_goal_generic_anvil ai_will_do = { factor = 3 } available = { 11 = { is_controlled_by = ROOT } 9 = { is_controlled_by = ROOT } 2 = { is_controlled_by = ROOT } 3 = { is_controlled_by = ROOT } 7 = { is_controlled_by = ROOT } } x = 0 @@ -1775,7 +1787,9 @@ focus = { focus = { id = submittosauron icon = GFX_goal_sauron_eye - ai_will_do = { factor = 75 } + ai_will_do = { + factor = 75 + } available = { has_government = belligerent } x = 3 y = 1 @@ -1797,7 +1811,6 @@ focus = { available_if_capitulated = yes search_filters = { FOCUS_FILTER_STABILITY } completion_reward = { - set_country_flag = path_going_belligerent add_ideas = MOR_enslaved_nation add_threat = 2 mark_focus_tree_layout_dirty = yes if = { @@ -2998,6 +3011,18 @@ focus = { army_experience = 10 add_named_threat = { threat = 1 name = "Nazguls gathered once more in Minas Morgul" } custom_effect_tooltip = MOR_gather_the_nazgul + hidden_effect = { + if = { + limit = { + GON = { + is_denethor_paranoid = yes + } + } + GON = { + country_event = { id = denethor_paranoid.2 } + } + } + } } } @@ -3025,12 +3050,12 @@ focus = { focus = { id = unleashsauron icon = GFX_goal_unleash_sauron - ai_will_do = { factor = 20 } + ai_will_do = { factor = 35 } x = 0 y = 1 relative_position_id = obtainthering prerequisite = { focus = obtainthering} - available = { has_idea = one_true_ring has_government = belligerent } + available = { ring_has_the_ring = yes has_government = belligerent } cost = 10 available_if_capitulated = yes completion_reward = { @@ -3242,6 +3267,18 @@ focus = { add_opinion_modifier = { target = MOR modifier = small_decrease } } news_event = { hours = 6 id = news.386 } + hidden_effect = { + if = { + limit = { + GON = { + is_denethor_paranoid = yes + } + } + GON = { + country_event = { id = denethor_paranoid.4 } + } + } + } } } @@ -3307,6 +3344,7 @@ focus = { has_government = belligerent is_in_faction = no } + NOT = { has_war_with = ERE } } bypass = { is_in_faction_with = ERE @@ -3629,6 +3667,67 @@ focus = { add_resource = { type = rubber amount = 15 state = 25 } } } + + focus = { + id = encroach_on_ithilien + icon = GFX_goal_mor_encroach_on_ithilien + ai_will_do = { factor = 0 } + x = 6 + y = 1 + relative_position_id = conquestofmiddleearth + prerequisite = { focus = conquestofmiddleearth } + cost = 10 + available = { + ithc_is_available = yes + } + completion_reward = { + set_country_flag = { flag = ithc_focus_cooldown value = 1 days = 90 } + ithc_commence_ithilien_crisis = yes + } + } + + focus = { + id = escalate_the_attacks + icon = GFX_goal_mor_escalate_the_attacks + ai_will_do = { factor = 0 } + x = 0 + y = 1 + relative_position_id = encroach_on_ithilien + prerequisite = { focus = encroach_on_ithilien } + cost = 5 + available = { + ithc_crisis_is_active = yes + NOT = { has_country_flag = ithc_focus_cooldown } + } + completion_reward = { + set_country_flag = { flag = ithc_focus_cooldown value = 1 days = 90 } + country_event = ithc.3 + } + } + + focus = { + id = second_wave + icon = GFX_goal_mor_second_wave + ai_will_do = { factor = 0 } + x = 0 + y = 2 + relative_position_id = encroach_on_ithilien + prerequisite = { focus = escalate_the_attacks } + cost = 5 + available = { + ithc_crisis_is_active = yes + NOT = { has_country_flag = ithc_focus_cooldown } + } + completion_reward = { + # increase power projection + custom_effect_tooltip = increase_power_projection_overall_tt + # add war-support + add_war_support = 0.05 + # Decrease cost of ithc decisions + subtract_from_variable = { ithc_pillage_decision_cost_pp = 50 } + custom_effect_tooltip = decrease_ithc_pp_cost_tt + } + } } diff --git a/common/national_focus/moria.txt b/common/national_focus/moria.txt index 3c23c90e3..785f12955 100644 --- a/common/national_focus/moria.txt +++ b/common/national_focus/moria.txt @@ -211,7 +211,9 @@ default = no id = beatbacktheorcinvasion icon = GFX_goal_army_uruk_hai ai_will_do = { factor = 100 } - available = { NOT = { has_civil_war = yes } has_global_flag = moria_civil_war has_government = cooperative } + available = { + OR = { has_civil_war = no MOA = { is_government_in_exile = yes } MOC = { is_government_in_exile = yes } } + has_global_flag = moria_civil_war has_government = cooperative } x =2 y =1 mutually_exclusive = { } @@ -226,7 +228,7 @@ default = no id = assumecontrolovermoria icon = GFX_goal_azog ai_will_do = { factor = 100 } - available = { NOT = { has_civil_war = yes } has_global_flag = moria_civil_war has_government = revolutionary } + available = { OR = { has_civil_war = no MOA = { is_government_in_exile = yes } MOC = { is_government_in_exile = yes } } NOT = { has_civil_war = yes } has_global_flag = moria_civil_war has_government = revolutionary } x =8 y =1 mutually_exclusive = { } @@ -307,20 +309,45 @@ default = no mutually_exclusive = { focus = huntdownthebalrog } prerequisite = { focus = dealwiththebalrog} cost = 10 + available = { controls_state = 134 } available_if_capitulated = no completion_reward = { news_event = { hours = 48 id = news.361 } if = { limit = { is_puppet = yes } ERE = { end_puppet = ROOT } } set_politics = { ruling_party = belligerent elections_allowed = no } add_popularity = { ideology = belligerent popularity = 0.8 } - remove_ideas = MOA_loose_balrog - create_country_leader = { - name = "Durin's Bane" - picture = "Portrait_Moria_Bane.dds" - expire = "1965.1.1" - ideology = supremacist - traits = {} + remove_durins_bane_from_moria = yes + + if = { + limit = { tag = MOA } + MOA_bane = { + add_country_leader_role = { + promote_leader = yes + country_leader = { + ideology = domineering + expire = "5000.1.1.1" + } + } + } + } + else_if = { + limit = { tag = MOC } + MOC_bane = { + add_country_leader_role = { + promote_leader = yes + country_leader = { + ideology = domineering + expire = "5000.1.1.1" + } + } + } + } + + custom_effect_tooltip = submittothebalrog_tt + hidden_effect = { + load_oob = Moria_Balrog } + add_threat = 3 } } @@ -341,9 +368,10 @@ default = no prerequisite = { focus = dealwiththebalrog} cost = 10 available_if_capitulated = no + available = { controls_state = 134 controls_state = 73 } completion_reward = { - add_manpower = -50000 - remove_ideas = MOA_loose_balrog + add_manpower = -25000 + remove_durins_bane_from_moria = yes hidden_effect = { MOA = { MOA_bane = { retire = yes } } MOC = { MOC_bane = { retire = yes } } @@ -360,6 +388,7 @@ default = no y =3 mutually_exclusive = { } prerequisite = { focus = restorestability} + available = { controls_state = 134 controls_state = 73 } cost = 10 available_if_capitulated = no completion_reward = { @@ -549,6 +578,7 @@ default = no y =5 mutually_exclusive = { } prerequisite = { focus = restoretheupperlayers} + available = { controls_state = 134 controls_state = 73 } cost = 15 available_if_capitulated = no completion_reward = { add_manpower = 120000 } @@ -563,6 +593,7 @@ default = no y =5 mutually_exclusive = { } prerequisite = { focus = ignitetheforges} + available = { controls_state = 134 controls_state = 73 } cost = 10 available_if_capitulated = yes completion_reward = { @@ -605,6 +636,7 @@ default = no y =6 mutually_exclusive = { focus = getbacktowork } prerequisite = { focus = formtheminersbureau} + available = { controls_state = 134 controls_state = 73 } cost = 10 available_if_capitulated = yes completion_reward = { add_stability = 0.1 } @@ -787,6 +819,7 @@ default = no id = resettlethelowerlayers icon = GFX_goal_generic_national_unity ai_will_do = { factor = 10 } + available = { controls_state = 134 controls_state = 73 } x =19 y =8 mutually_exclusive = { } diff --git a/common/national_focus/rivendell.txt b/common/national_focus/rivendell.txt index b2359ba0b..1cddd0422 100644 --- a/common/national_focus/rivendell.txt +++ b/common/national_focus/rivendell.txt @@ -1,5 +1,5 @@ focus_tree = { -id = 'rivendell' +id = rivendell country = { factor=0 modifier = { @@ -10,6 +10,10 @@ country = { default = no +shared_focus = whc_rekindlewhitecouncil + +shared_focus = ea_theelvenalliance + continuous_focus_position = { x = 50 y = 2000 } @@ -602,7 +606,10 @@ continuous_focus_position = { x = 50 y = 2000 } focus = { id = stabilityfocus icon = GFX_goal_support_unalligned - ai_will_do = { factor = 30 } + ai_will_do = { + factor = 30 + modifier = { factor = 0 is_going_unaligned = no } + } available = { unaligned > 0.1 } x =13 y =3 @@ -611,7 +618,6 @@ continuous_focus_position = { x = 50 y = 2000 } cost = 10 available_if_capitulated = yes completion_reward = { - set_country_flag = path_going_unaligned add_ideas = RIV_stability_focus } } @@ -620,7 +626,10 @@ continuous_focus_position = { x = 50 y = 2000 } focus = { id = elvenarrogance icon = GFX_goal_tfv_saf_support_ossebrandwag - ai_will_do = { factor = 80 } + ai_will_do = { + factor = 80 + modifier = { factor = 0 is_going_belligerent = no } + } available = { belligerent > 0.3 } bypass = { has_government = belligerent } x =2 @@ -629,7 +638,7 @@ continuous_focus_position = { x = 50 y = 2000 } prerequisite = { focus = assasinateelrond} cost = 10 available_if_capitulated = yes - completion_reward = { set_country_flag = path_going_belligerent set_politics = { ruling_party = belligerent elections_allowed = no } } + completion_reward = { set_politics = { ruling_party = belligerent elections_allowed = no } } } #Focus for Assasinate Elrond! @@ -660,7 +669,10 @@ continuous_focus_position = { x = 50 y = 2000 } focus = { id = landofthepopulace icon = GFX_goal_support_revolutionary - ai_will_do = { factor = 20 } + ai_will_do = { + factor = 20 + modifier = { factor = 0 is_going_revolutionary = no } + } x =8 y =4 mutually_exclusive = { focus = elvenarrogance } @@ -669,14 +681,17 @@ continuous_focus_position = { x = 50 y = 2000 } prerequisite = { focus = assasinateelrond} cost = 10 available_if_capitulated = yes - completion_reward = { set_country_flag = path_going_revolutionary set_politics = { ruling_party = revolutionary elections_allowed = no } } + completion_reward = { set_politics = { ruling_party = revolutionary elections_allowed = no } } } #Focus for Integrity Focus focus = { id = integrityfocus icon = GFX_goal_support_democracy - ai_will_do = { factor = 10 } + ai_will_do = { + factor = 10 + modifier = { factor = 0 is_going_cooperative = no } + } bypass = { has_government = cooperative } available = { cooperative > 0.4 } x =22 @@ -685,7 +700,7 @@ continuous_focus_position = { x = 50 y = 2000 } prerequisite = { focus = libertyconsensus} cost = 10 available_if_capitulated = yes - completion_reward = { set_country_flag = path_going_cooperative set_politics = { ruling_party = cooperative elections_allowed = no } } + completion_reward = { set_politics = { ruling_party = cooperative elections_allowed = no } } } #Focus for Mordor Cooperation @@ -1010,7 +1025,7 @@ continuous_focus_position = { x = 50 y = 2000 } prerequisite = { focus = exertinfluenceamongstmen} cost = 10 available_if_capitulated = yes - completion_reward = { ROH = { add_ideas = RIV_rivendell_influence_d } } + completion_reward = { ROH = { add_timed_idea = { idea = RIV_rivendell_influence_d days = 356 } } } } #Focus for Prevent Extremism in Gondor @@ -1030,7 +1045,7 @@ continuous_focus_position = { x = 50 y = 2000 } prerequisite = { focus = exertinfluenceamongstmen} cost = 10 available_if_capitulated = yes - completion_reward = { GON = { add_ideas = RIV_rivendell_influence_d } } + completion_reward = { GON = { add_timed_idea = { idea = RIV_rivendell_influence_d days = 356 } } } } #Focus for Ask Gondor for an Alliance @@ -1196,7 +1211,7 @@ continuous_focus_position = { x = 50 y = 2000 } } modifier = { add = 500 - MOR = { has_idea = one_true_ring } + MOR = { ring_has_the_ring = yes } } } x =0 @@ -1389,7 +1404,7 @@ continuous_focus_position = { x = 50 y = 2000 } factor = 2 modifier = { add = 5 - MOR = { has_added_tension_amount > 0.25 } + MOR = { has_added_tension_amount > 25 } } modifier = { add = 2 @@ -1415,7 +1430,7 @@ continuous_focus_position = { x = 50 y = 2000 } factor = 5 modifier = { add = 5 - ANG = { has_added_tension_amount > 0.15 } + ANG = { has_added_tension_amount > 15 } } } x =22 @@ -1437,7 +1452,7 @@ continuous_focus_position = { x = 50 y = 2000 } factor = 1 modifier = { add = 5 - ISE = { has_added_tension_amount > 0.15 } + ISE = { has_added_tension_amount > 15 } } modifier = { add = 3 diff --git a/common/national_focus/rohan.txt b/common/national_focus/rohan.txt index 8eedaad41..26d6ea866 100644 --- a/common/national_focus/rohan.txt +++ b/common/national_focus/rohan.txt @@ -74,6 +74,7 @@ continuous_focus_position = { x = 50 y = 2000 } available_if_capitulated = yes completion_reward = { custom_effect_tooltip = ROH_gandalf_tt + set_country_flag = path_going_cooperative } } @@ -125,7 +126,6 @@ continuous_focus_position = { x = 50 y = 2000 } cost = 10 available_if_capitulated = yes completion_reward = { - set_country_flag = path_going_cooperative set_politics = { ruling_party = cooperative elections_allowed = no } add_stability = 0.05 add_ideas = ROH_reformed_realm @@ -174,7 +174,6 @@ continuous_focus_position = { x = 50 y = 2000 } cost = 1 available_if_capitulated = yes completion_reward = { - set_country_flag = path_going_belligerent add_popularity = { ideology = belligerent popularity = 0.05 } country_event = { days = 0 id = rohan.7 } } @@ -243,6 +242,18 @@ continuous_focus_position = { x = 50 y = 2000 } hidden_effect = { news_event = { hours = 48 id = news.339 } } ROH_theoden = { retire = yes } ROH_theoden_old = { retire = yes } + hidden_effect = { + if = { + limit = { + GON = { + is_denethor_paranoid = yes + } + } + GON = { + country_event = { id = denethor_paranoid.7 } + } + } + } } } @@ -272,6 +283,7 @@ continuous_focus_position = { x = 50 y = 2000 } } add_advisor_role = { advisor = { + idea_token = ROH_eomer_chief_advisor slot = chief_advisor cost = 150 traits = { lord_of_the_mark } diff --git a/common/national_focus/shire.txt b/common/national_focus/shire.txt index 39fa72dec..7f71898d5 100644 --- a/common/national_focus/shire.txt +++ b/common/national_focus/shire.txt @@ -51,7 +51,10 @@ shared_focus = industrial_effort focus = { id = traditionalhobbitpacifism icon = GFX_goal_generic_national_unity - ai_will_do = { factor = 10 } + ai_will_do = { + factor = 10 + modifier = { factor = 0 is_going_cooperative = no } + } relative_position_id = thefateoftheshire x =-3 y =1 @@ -60,7 +63,6 @@ shared_focus = industrial_effort cost = 10 available_if_capitulated = yes completion_reward = { - set_country_flag = path_going_cooperative add_ideas = liberty_ethos_focus } } @@ -105,7 +107,10 @@ shared_focus = industrial_effort focus = { id = empowerthehobbitproletariat icon = GFX_goal_support_revolutionary - ai_will_do = { factor = 4 } + ai_will_do = { + factor = 4 + modifier = { factor = 0 is_going_revolutionary = no } + } available = { revolutionary > 0.3 } cancel_if_invalid = no continue_if_invalid = yes @@ -116,7 +121,7 @@ shared_focus = industrial_effort prerequisite = { focus = adifferentapproach} cost = 10 available_if_capitulated = yes - completion_reward = { set_country_flag = path_going_revolutionary set_politics = { ruling_party = revolutionary elections_allowed = no } remove_ideas = SHI_different_approach add_ideas = generic_revolutionary_intermediate } + completion_reward = { set_politics = { ruling_party = revolutionary elections_allowed = no } remove_ideas = SHI_different_approach add_ideas = generic_revolutionary_intermediate } } #Focus for Improve Relations with Cardolan @@ -141,7 +146,10 @@ shared_focus = industrial_effort focus = { id = empowertheshirriffs icon = GFX_goal_rhineland - ai_will_do = { factor = 15 } + ai_will_do = { + factor = 15 + modifier = { factor = 0 is_going_belligerent = no } + } available = { belligerent > 0.3 } cancel_if_invalid = no continue_if_invalid = yes @@ -152,7 +160,7 @@ shared_focus = industrial_effort prerequisite = { focus = adifferentapproach} cost = 10 available_if_capitulated = yes - completion_reward = { set_country_flag = path_going_belligerent add_threat = 2 set_politics = { ruling_party = belligerent elections_allowed = no } remove_ideas = SHI_different_approach add_ideas = generic_belligerent_intermediate } + completion_reward = { add_threat = 2 set_politics = { ruling_party = belligerent elections_allowed = no } remove_ideas = SHI_different_approach add_ideas = generic_belligerent_intermediate } } #Focus for Encourage a Reformation of Arthedain @@ -378,7 +386,7 @@ shared_focus = industrial_effort prerequisite = { focus = adisplayofstrength} cost = 10 available_if_capitulated = yes - completion_reward = { add_ideas = SHI_unquestioned_authority add_ideas = service_by_requirement } + completion_reward = { add_ideas = SHI_unquestioned_authority add_ideas = limited_levy } } #Focus for Militarize the Hobbits! diff --git a/common/national_focus/white_council_focus.txt b/common/national_focus/white_council_focus.txt new file mode 100644 index 000000000..638066ec0 --- /dev/null +++ b/common/national_focus/white_council_focus.txt @@ -0,0 +1,771 @@ +shared_focus = { + id = whc_rekindlewhitecouncil + icon = GFX_goal_lth_revivethewhitecouncil + text_icon = joint_focus_style + prerequisite = { } + + x = 0 + y = 0 + offset = { + x =0 + y =16 + trigger = { + has_focus_tree = lothlorien + } + } + offset = { + x =43 + y =1 + trigger = { + has_focus_tree = rivendell + } + } + offset = { + x =28 + y =0 + trigger = { + has_focus_tree = isengard + } + } + + ai_will_do = { + factor = 15 + modifier = { + factor = 0.5 + lth_is_evil = yes + } + modifier = { + factor = 0.5 + ise_is_evil = yes + } + modifier = { + factor = 0.5 + riv_is_evil = yes + } + } + + cost = 10 + + available = { + has_government = cooperative + is_white_council_member = no + } + + search_filters = {} + + completion_reward = { + if = { + limit = { white_council_exists = no } + create_white_council = yes + + if = { + limit = { NOT = { tag = ISE } NOT = { ise_is_evil = yes } NOT = { ISE = { has_war_with = ROOT } } } + ISE = { country_event = { id = whitecouncil.1 days = 3 random_days = 3 } } + } + if = { + limit = { NOT = { tag = RIV } NOT = { riv_is_evil = yes } NOT = { RIV = { has_war_with = ROOT } } } + RIV = { country_event = { id = whitecouncil.1 days = 3 random_days = 3 } } + } + if = { + limit = { NOT = { tag = LTH } NOT = { lth_is_evil = yes } NOT = { LTH = { has_war_with = ROOT } } } + LTH = { country_event = { id = whitecouncil.1 days = 3 random_days = 3 } } + } + } + + add_to_white_council = yes + + add_political_power = 100 + } +} + +joint_focus = { + id = whc_sarumanthewise + icon = GFX_goal_lth_invitesaruman + text_icon = joint_focus_style + prerequisite = { focus = whc_rekindlewhitecouncil } + + relative_position_id = whc_rekindlewhitecouncil + x = -4 + y = 1 + + cost = 10 + + ai_will_do = { + factor = 15 + modifier = { + factor = 2 + LTH = { is_ai = no is_white_council_member = yes } + } + modifier = { + factor = 2 + RIV = { is_ai = no is_white_council_member = yes } + } + } + + available = { + tag = ISE + ISE = { is_white_council_member = yes } + } + + search_filters = {} + + joint_trigger = { + is_white_council_member = yes + } + + completion_reward = { + + } + + completion_reward_joint_originator = { + add_tech_bonus = { + name = special_bonus + category = lotr_knowledge_magic + uses = 2 + bonus = 0.5 + } + } + + completion_reward_joint_member = { + add_tech_bonus = { + name = special_bonus + category = lotr_knowledge_magic + uses = 1 + bonus = 0.5 + } + } +} + +joint_focus = { + id = whc_thewizardswisdom + icon = GFX_goal_lth_thewizardswisdom + text_icon = joint_focus_style + prerequisite = { focus = whc_sarumanthewise } + + relative_position_id = whc_rekindlewhitecouncil + x = -4 + y = 3 + + cost = 10 + + ai_will_do = { + factor = 15 + modifier = { + factor = 2 + LTH = { is_ai = no is_white_council_member = yes } + } + modifier = { + factor = 2 + RIV = { is_ai = no is_white_council_member = yes } + } + } + + available = { + tag = ISE + ISE = { is_white_council_member = yes } + } + + search_filters = {} + + joint_trigger = { + is_white_council_member = yes + } + + completion_reward = { + + } + + completion_reward_joint_originator = { + add_to_tech_sharing_group = white_council_group + } + + completion_reward_joint_member = { + add_to_tech_sharing_group = white_council_group + } +} + +joint_focus = { + id = whc_elrondofrivendell + icon = GFX_goal_lth_inviteelrond + text_icon = joint_focus_style + prerequisite = { focus = whc_rekindlewhitecouncil } + + relative_position_id = whc_rekindlewhitecouncil + x = -2 + y = 1 + + cost = 10 + + ai_will_do = { + factor = 15 + modifier = { + factor = 2 + LTH = { is_ai = no is_white_council_member = yes } + } + modifier = { + factor = 2 + ISE = { is_ai = no is_white_council_member = yes } + } + } + + available = { + tag = RIV + RIV = { is_white_council_member = yes } + } + + search_filters = {} + + joint_trigger = { + is_white_council_member = yes + } + + completion_reward = { + + } + + completion_reward_joint_originator = { + custom_effect_tooltip = whc_theinfluenceofrivendell_o_tt + white_council_members_tt = yes + hidden_effect = { + every_country = { + limit = { is_white_council_member = yes } + ROOT = { random_state_add_building_slot_and_civ_x2 = yes } + } + # Gandalf + ROOT = { random_state_add_building_slot_and_civ_x2 = yes } + } + } + + completion_reward_joint_member = { + custom_effect_tooltip = whc_theinfluenceofrivendell_m_tt + white_council_members_tt = yes + hidden_effect = { + every_country = { + limit = { is_white_council_member = yes } + ROOT = { random_state_add_building_slot_and_civ = yes } + } + # Gandalf + ROOT = { random_state_add_building_slot_and_civ = yes } + } + } +} + +joint_focus = { + id = whc_theinfluenceofrivendell + icon = GFX_goal_lth_theinfluenceofrivendell + text_icon = joint_focus_style + prerequisite = { focus = whc_elrondofrivendell } + + relative_position_id = whc_rekindlewhitecouncil + x = -2 + y = 3 + + cost = 10 + + ai_will_do = { + factor = 15 + modifier = { + factor = 2 + LTH = { is_ai = no is_white_council_member = yes } + } + modifier = { + factor = 2 + ISE = { is_ai = no is_white_council_member = yes } + } + } + + available = { + tag = RIV + RIV = { is_white_council_member = yes } + } + + search_filters = {} + + joint_trigger = { + is_white_council_member = yes + } + + completion_reward = { + + } + + completion_reward_joint_originator = { + set_major = yes + add_political_power = 200 + } + + completion_reward_joint_member = { + set_major = yes + add_political_power = 100 + } +} + +joint_focus = { + id = whc_gandalfthegrey + icon = GFX_goal_lth_invitegandalf + text_icon = joint_focus_style + prerequisite = { focus = whc_rekindlewhitecouncil } + + relative_position_id = whc_rekindlewhitecouncil + x = 2 + y = 1 + + cost = 10 + + ai_will_do = { + factor = 15 + modifier = { + factor = 2 + LTH = { is_ai = no is_white_council_member = yes } + } + modifier = { + factor = 2 + ISE = { is_ai = no is_white_council_member = yes } + } + modifier = { + factor = 2 + RIV = { is_ai = no is_white_council_member = yes } + } + } + + available = { + ROOT = { is_white_council_member = yes } + } + + search_filters = {} + + joint_trigger = { + is_white_council_member = yes + } + + completion_reward = { + + } + + completion_reward_joint_originator = { + add_tech_bonus = { + name = special_bonus + bonus = 0.5 + uses = 1 + category = lotr_eagles + } + army_experience = 50 + navy_experience = 50 + air_experience = 50 + } + + completion_reward_joint_member = { + add_tech_bonus = { + name = special_bonus + bonus = 0.25 + uses = 1 + category = lotr_eagles + } + army_experience = 25 + navy_experience = 25 + air_experience = 25 + } +} + +joint_focus = { + id = whc_supportofthegreateagles + icon = GFX_goal_lth_supportofthegreateagles + text_icon = joint_focus_style + prerequisite = { focus = whc_gandalfthegrey } + + relative_position_id = whc_rekindlewhitecouncil + x = 2 + y = 3 + + cost = 10 + + ai_will_do = { + factor = 15 + modifier = { + factor = 2 + LTH = { is_ai = no is_white_council_member = yes } + } + modifier = { + factor = 2 + ISE = { is_ai = no is_white_council_member = yes } + } + modifier = { + factor = 2 + RIV = { is_ai = no is_white_council_member = yes } + } + } + + available = { + ROOT = { is_white_council_member = yes } + } + + search_filters = {} + + joint_trigger = { + is_white_council_member = yes + } + + completion_reward = { + + } + + available = { + OR = { + is_men = yes + is_elves = yes + } + OR = { + has_tech = fighter_eagle_men + hidden_trigger = { has_tech = fighter_eagle } + } + } + + completion_reward_joint_originator = { + air_experience = 50 + if = { + limit = { + OR = { + NOT = { has_tech = fighter_eagle } + NOT = { has_tech = fighter_eagle_men } + } + } + custom_effect_tooltip = whc_supportofthegreateagles_o_tt + } + add_equipment_to_stockpile = { + type = fighter_equipment_1 + amount = 80 + producer = FROM + } + } + + completion_reward_joint_member = { + if = { + limit = { + is_men = yes + NOT = { has_tech = fighter_eagle_men } + } + set_technology = { + fighter_eagle_men = 1 + } + } + else_if = { + limit = { + is_elves = yes + NOT = { has_tech = fighter_eagle } + } + set_technology = { + fighter_eagle = 1 + } + } + custom_effect_tooltip = whc_supportofthegreateagles_m_tt + add_equipment_to_stockpile = { + type = fighter_equipment_1 + amount = 25 + producer = FROM + } + } +} + +joint_focus = { + id = whc_galadrieloflorien + icon = GFX_goal_lth_invitegaladriel + text_icon = joint_focus_style + prerequisite = { focus = whc_rekindlewhitecouncil } + + relative_position_id = whc_rekindlewhitecouncil + x = 4 + y = 1 + + cost = 10 + + ai_will_do = { + factor = 15 + modifier = { + factor = 2 + ISE = { is_ai = no is_white_council_member = yes } + } + modifier = { + factor = 2 + RIV = { is_ai = no is_white_council_member = yes } + } + } + + available = { + tag = LTH + LTH = { is_white_council_member = yes } + } + + search_filters = {} + + joint_trigger = { + is_white_council_member = yes + } + + completion_reward = { + + } + + completion_reward_joint_originator = { + set_technology = { + improved_feanorian_lamps = 1 + } + add_tech_bonus = { + category = lotr_elven_secrets + bonus = 0.5 + } + } + + completion_reward_joint_member = { + set_technology = { + improved_feanorian_lamps = 1 + } + } +} + +joint_focus = { + id = whc_theladysmight + icon = GFX_goal_lth_powers_of_nenya + text_icon = joint_focus_style + prerequisite = { focus = whc_galadrieloflorien } + + relative_position_id = whc_rekindlewhitecouncil + x = 4 + y = 3 + + cost = 10 + + ai_will_do = { + factor = 15 + modifier = { + factor = 2 + ISE = { is_ai = no is_white_council_member = yes } + } + modifier = { + factor = 2 + RIV = { is_ai = no is_white_council_member = yes } + } + } + + available = { + tag = LTH + LTH = { is_white_council_member = yes } + } + + search_filters = {} + + joint_trigger = { + is_white_council_member = yes + } + + completion_reward = { + + } + + completion_reward_joint_originator = { + set_technology = { + protective_enchantments = 1 + } + add_political_power = 100 + } + + completion_reward_joint_member = { + set_technology = { + protective_enchantments = 1 + } + } +} + +joint_focus = { + id = whc_oathtothefellowship + icon = GFX_goal_lth_revivethewhitecouncil + text_icon = joint_focus_style + prerequisite = { focus = whc_elrondofrivendell focus = whc_gandalfthegrey } + + relative_position_id = whc_rekindlewhitecouncil + x = 0 + y = 2 + + cost = 10 + + ai_will_do = { + factor = 5 + modifier = { + factor = 10 + tag = RIV + } + } + + available = { + ROOT = { is_white_council_member = yes } + has_global_flag = fs_started + NOT = { has_global_flag = fs_ring_seized } + NOT = { has_global_flag = fs_ring_destroyed } + at_least_three_white_council_members = yes + } + + search_filters = {} + + joint_trigger = { + is_white_council_member = yes + } + + completion_reward = { + custom_effect_tooltip = whc_oathtothefellowship_tt + white_council_members_tt = yes + } + + completion_reward_joint_originator = { + hidden_effect = { + country_event = { id = whitecouncil.5 days = 1 random_days = 3 } + } + add_political_power = 100 + } + + completion_reward_joint_member = { + hidden_effect = { + country_event = { id = whitecouncil.5 days = 1 random_days = 3 } + } + } +} + +joint_focus = { + id = whc_coordinatedresistance + icon = GFX_goal_lth_coordinatedresistance + text_icon = joint_focus_style + prerequisite = { focus = whc_oathtothefellowship } + + relative_position_id = whc_rekindlewhitecouncil + x = 0 + y = 3 + + cost = 10 + + ai_will_do = { + factor = 15 + modifier = { + factor = 2 + ISE = { is_ai = no is_white_council_member = yes } + } + modifier = { + factor = 2 + RIV = { is_ai = no is_white_council_member = yes } + } + modifier = { + factor = 2 + LTH = { is_ai = no is_white_council_member = yes } + } + } + + available = { + ROOT = { is_white_council_member = yes } + } + + search_filters = {} + + joint_trigger = { + is_white_council_member = yes + } + + completion_reward = { + + } + + completion_reward_joint_originator = { + custom_effect_tooltip = whc_coordinatedresistance_o_tt + white_council_members_tt = yes + hidden_effect = { + every_country = { + limit = { is_white_council_member = yes } + ROOT = { army_experience = 50 } + } + # Gandalf + ROOT = { army_experience = 50 } + } + + modify_tech_sharing_bonus = { + id = white_council_group + bonus = 0.1 + } + } + + completion_reward_joint_member = { + custom_effect_tooltip = whc_coordinatedresistance_m_tt + white_council_members_tt = yes + hidden_effect = { + every_country = { + limit = { is_white_council_member = yes } + ROOT = { army_experience = 25 } + } + # Gandalf + ROOT = { army_experience = 25 } + } + } +} + +joint_focus = { + id = whc_unitethecause + icon = GFX_goal_lth_unitethecause + text_icon = joint_focus_style + prerequisite = { focus = whc_thewizardswisdom } + prerequisite = { focus = whc_theinfluenceofrivendell } + prerequisite = { focus = whc_supportofthegreateagles } + prerequisite = { focus = whc_theladysmight } + + relative_position_id = whc_rekindlewhitecouncil + x = 0 + y = 4 + + cost = 10 + + ai_will_do = { + factor = 15 + modifier = { + factor = 2 + ISE = { is_ai = no is_white_council_member = yes } + } + modifier = { + factor = 2 + RIV = { is_ai = no is_white_council_member = yes } + } + modifier = { + factor = 2 + LTH = { is_ai = no is_white_council_member = yes } + } + } + + + available = { + ISE = { is_white_council_member = yes } + RIV = { is_white_council_member = yes } + LTH = { is_white_council_member = yes } + } + + search_filters = {} + + joint_trigger = { + is_white_council_member = yes + } + + completion_reward = { + + } + + completion_reward_joint_originator = { + create_faction = "White Council" + hidden_effect = { + every_country = { + limit = { + is_white_council_member = yes + NOT = { tag = ROOT } + } + country_event = whitecouncil.2 + } + } + } + + completion_reward_joint_member = { + effect_tooltip = { + FROM = { add_to_faction = PREV } + } + } +} \ No newline at end of file diff --git a/common/occupation_laws/occupation_laws.txt b/common/occupation_laws/occupation_laws.txt index fe8e90013..f52818a7d 100644 --- a/common/occupation_laws/occupation_laws.txt +++ b/common/occupation_laws/occupation_laws.txt @@ -214,7 +214,6 @@ secret_police_oversight = { local_resources = 0.05 enemy_operative_detection_chance_over_occupied_tag = 1 # offset detection chance by +1% enemy_intel_network_gain_factor_over_occupied_tag = -0.25 # -25% scaled by the number of occupied states and the ratio of the network covering those occupied states - # todo + spy defense } } @@ -470,3 +469,29 @@ brutally_oppressive_occupation = { } } } + +elven_imperial_rule = { + icon = 12 + sound_effect = "Martial_Law_Interface_Harsh_Quotas_Occupation" + + visible = { + tag = LTH + has_completed_focus = lth_atasteofempire + } + + state_modifier = { + resistance_target = -0.4 + compliance_gain = 0.0 + required_garrison_factor = 0.1 + resistance_damage_to_garrison = 0.15 + + local_factories = 0.2 + local_resources = 0.1 + + local_org_regain = 0.1 + } + + ai_will_do = { + base = 200 + } +} diff --git a/common/on_actions/00_lotr_create_entities.txt b/common/on_actions/00_lotr_create_entities.txt new file mode 100644 index 000000000..a0c4e964c --- /dev/null +++ b/common/on_actions/00_lotr_create_entities.txt @@ -0,0 +1,19 @@ +on_actions = { + + on_startup = { + effect = { + create_entity = { + entity = caras_entity + id = 12305094 + x = 13 + y = 3 + z = -1.3 + province = 5094 + #state = 75 + rotation = 0 + scale = 5.0 + min_zoom = 400.0 + } + } + } +} \ No newline at end of file diff --git a/common/on_actions/00_lotr_elven_alliance_on_actions.txt b/common/on_actions/00_lotr_elven_alliance_on_actions.txt new file mode 100644 index 000000000..f70776249 --- /dev/null +++ b/common/on_actions/00_lotr_elven_alliance_on_actions.txt @@ -0,0 +1,83 @@ + + + +on_actions = { + + on_monthly = { + effect = { + if = { + limit = { + is_elven_alliance_member = yes + is_ai = yes + can_propose_resolutions_elven_alliance = yes + ea_has_resolution_in_queue = no + ea_more_than_2_resolutions_in_queue = no + } + + elven_alliance_ai_propose = yes + } + } + } + + + on_war = { + effect = { + elven_alliance_ensure_no_war = yes + } + } + + on_declare_war = { + effect = { + + # If war decleared on alliance member with martial 2 enabled, send out a call for help to all other members + if = { + limit = { + FROM = { is_elven_alliance_member = yes } + ea_has_martial_tier_2 = yes + ea_has_martial_tier_3 = no # We're faction now anyway + } + for_each_scope_loop = { + array = global.elven_alliance_members + if = { + limit = { + NOT = { tag = FROM } + NOT = { has_war_with = ROOT } + NOT = { is_in_faction_with = FROM } + } + ROOT = { save_event_target_as = ea_call_to_arms_attacker } + FROM = { save_event_target_as = ea_call_to_arms_defender } + country_event = { id = elven_alliance.8 days = 1 } + } + } + } + } + } + + on_join_faction = { + effect = { + if = { + limit = { FROM = { is_elven_alliance_member = yes } ea_has_martial_tier_3 = yes } + elven_alliance_join = yes + } + } + } + + on_leave_faction = { + effect = { + if = { + limit = { is_elven_alliance_member = yes ea_has_martial_tier_3 = yes } + elven_alliance_leave = yes + } + } + } + + # countries that dont exist cant be part of EA + on_annex = { + effect = { + if = { + limit = { FROM = { is_elven_alliance_member = yes } } + FROM = { elven_alliance_leave = yes } + } + } + } +} \ No newline at end of file diff --git a/common/on_actions/00_lotr_gondor_on_actions.txt b/common/on_actions/00_lotr_gondor_on_actions.txt new file mode 100644 index 000000000..bbb20aa2c --- /dev/null +++ b/common/on_actions/00_lotr_gondor_on_actions.txt @@ -0,0 +1,26 @@ +on_actions = { + + on_puppet = { + effect = { + if = { + limit = { + ROOT = { original_tag = GON } + FROM = { has_government = belligerent } + } + load_focus_tree = generic_focus + if = { + limit = { has_idea = GON_weary_armed_forces } + remove_ideas = GON_weary_armed_forces + } + if = { + limit = { has_idea = GON_kingdom_without_king_0 } + remove_ideas = GON_kingdom_without_king_0 + } + if = { + limit = { has_idea = GON_kingdom_without_king_1 } + remove_ideas = GON_kingdom_without_king_1 + } + } + } + } +} \ No newline at end of file diff --git a/common/on_actions/00_lotr_ithilien_crisis_on_actions.txt b/common/on_actions/00_lotr_ithilien_crisis_on_actions.txt new file mode 100644 index 000000000..5fe319ae6 --- /dev/null +++ b/common/on_actions/00_lotr_ithilien_crisis_on_actions.txt @@ -0,0 +1,75 @@ + + + +on_actions = { + + # If GON and MOR end up at war, execute the ithilien-crisis effects. + on_war_relation_added = { + effect = { + if = { + limit = { + OR = { + AND = { + FROM = { original_tag = MOR } + ROOT = { original_tag = GON } + } + AND = { + FROM = { original_tag = GON } + ROOT = { original_tag = MOR } + } + } + } + + 22 = { ithc_on_war_with_mordor_effects = yes } + 175 = { ithc_on_war_with_mordor_effects = yes } + 173 = { ithc_on_war_with_mordor_effects = yes } + 135 = { ithc_on_war_with_mordor_effects = yes } + set_global_flag = mordor_gondor_war + ithc_end_ithilien_crisis = yes + } + } + } + + on_monthly_MOR = { + effect = { + if = { + limit = { + ithc_crisis_is_active = yes + has_country_flag = ithc_long_term_vars + check_variable = { ithc_bonus_pp < 30 } + } + add_to_variable = { ithc_bonus_pp = 1 } + } + else_if = { + limit = { + ithc_crisis_is_active = yes + has_country_flag = ithc_short_term_vars + check_variable = { ithc_bonus_pp > 0 } + } + subtract_from_variable = { ithc_bonus_pp = 1 } + } + } + } + + on_monthly_GON = { + effect = { + if = { + limit = { + ithc_crisis_is_active = yes + has_country_flag = ithc_long_term_vars + check_variable = { ithc_bonus_pp < 30 } + } + add_to_variable = { ithc_bonus_pp = 1 } + } + else_if = { + limit = { + ithc_crisis_is_active = yes + has_country_flag = ithc_short_term_vars + check_variable = { ithc_bonus_pp > 0 } + } + subtract_from_variable = { ithc_bonus_pp = 1 } + } + } + } + +} \ No newline at end of file diff --git a/common/on_actions/00_lotr_lothlorien_on_actions.txt b/common/on_actions/00_lotr_lothlorien_on_actions.txt new file mode 100644 index 000000000..1db2db9fc --- /dev/null +++ b/common/on_actions/00_lotr_lothlorien_on_actions.txt @@ -0,0 +1,229 @@ + + + + + +# To change the bonuses of the factions correctly, we run this on a weekly basis + +on_actions = { + + on_weekly_LTH = { + + effect = { + + lth_on_weekly = yes + + } + + } + + # THis on_action doesn't exist, so we use the month-counter variable below to get yearly events + #on_yearly_LTH = { + # effect = { + # lth_on_yearly = yes + # } + #} + + on_monthly_LTH = { + effect = { + if = { + limit = { + has_variable = lth_yearly_mcounter + check_variable = { lth_yearly_mcounter < 12 } + } + add_to_variable = { lth_yearly_mcounter = 1 } + } + else = { + set_variable = { lth_yearly_mcounter = 1 } + lth_on_yearly = yes + } + + mirror_randomize_targets = yes + } + } + + + # ROOT is capitulated country, FROM is winner + on_capitulation = { + effect = { + + if = { + limit = { + LTH = { + exists = yes + has_capitulated = no + NOT = { has_war_with = MOA } + has_completed_focus = lth_liftthelawofisolation + } + ROOT = { tag = MOA } + FROM = { tag = MOC } + } + LTH = { country_event = lothlorien.67 } + } + + # If LTH has the safehaven focus, we can become a GoE within them + if = { + limit = { + LTH = { has_completed_focus = lth_safehaven } + LTH = { is_faction_leader = yes } + ROOT = { is_in_faction_with = LTH } + ROOT = { NOT = { tag = LTH } } + ROOT = { is_government_in_exile = no } + } + LTH = { country_event = lotr_generic.7 } + LTH = { add_manpower = 100000 } + } + } + } + + # New general -> assign race trait + on_unit_leader_promote_from_ranks_veteran = { + effect = { + if = { + limit = { OWNER = { original_tag = LTH } } + if = { + limit = { OWNER = { is_elves = yes } } + ROOT = { + random_list = { + 20 = { + add_unit_leader_trait = nandor_trait + } + 10 = { + modifier = { + factor = 0 + has_global_flag = lth_civil_war + has_government = revolutionary + } + add_unit_leader_trait = noldor_trait + } + 10 = { + modifier = { + factor = 0 + has_global_flag = lth_civil_war + has_government = belligerent + } + add_unit_leader_trait = sindar_trait + } + 5 = { + add_unit_leader_trait = halfelves_trait + } + } + } + } + else_if = { + limit = { OWNER = { is_orcs = yes } } + add_unit_leader_trait = orcs_trait + } + } + } + } + + # New general -> assign race trait + on_unit_leader_promote_from_ranks_green = { + effect = { + if = { + limit = { OWNER = { original_tag = LTH } } + if = { + limit = { OWNER = { is_elves = yes } } + ROOT = { + random_list = { + 20 = { + add_unit_leader_trait = nandor_trait + } + 10 = { + modifier = { + factor = 0 + has_global_flag = lth_civil_war + has_government = revolutionary + } + add_unit_leader_trait = noldor_trait + } + 10 = { + modifier = { + factor = 0 + has_global_flag = lth_civil_war + has_government = belligerent + } + add_unit_leader_trait = sindar_trait + } + 5 = { + add_unit_leader_trait = halfelves_trait + } + } + } + } + else_if = { + limit = { OWNER = { is_orcs = yes } } + add_unit_leader_trait = orcs_trait + } + } + } + } + + + # Unit leader wins combat -> Add influence + on_army_leader_won_combat = { + effect = { + if = { + limit = { OWNER = { original_tag = LTH } } + if = { + limit = { has_trait = nandor_trait } + OWNER = { lthi_increase_influence_nandor_one = yes } + } + else_if = { + limit = { has_trait = noldor_trait } + OWNER = { lthi_increase_influence_noldor_one = yes } + } + else_if = { + limit = { has_trait = sindar_trait } + OWNER = { lthi_increase_influence_sindar_one = yes } + } + else_if = { + limit = { has_trait = halfelves_trait } + OWNER = { lthi_increase_influence_halfelves_one = yes } + } + else_if = { + limit = { has_trait = nonelves_trait } + OWNER = { lthi_increase_influence_nonelves_one = yes } + } + else_if = { + limit = { has_trait = orcs_trait } + OWNER = { lthi_increase_influence_orcs_one = yes } + } + } + } + } + + # General promoted to Field Marshal -> add infl + on_army_leader_promoted = { + effect = { + if = { + limit = { OWNER = { original_tag = LTH } } + if = { + limit = { has_trait = nandor_trait } + OWNER = { lthi_increase_influence_nandor_twenty = yes } + } + else_if = { + limit = { has_trait = noldor_trait } + OWNER = { lthi_increase_influence_noldor_twenty = yes } + } + else_if = { + limit = { has_trait = sindar_trait } + OWNER = { lthi_increase_influence_sindar_twenty = yes } + } + else_if = { + limit = { has_trait = halfelves_trait } + OWNER = { lthi_increase_influence_halfelves_twenty = yes } + } + else_if = { + limit = { has_trait = nonelves_trait } + OWNER = { lthi_increase_influence_nonelves_twenty = yes } + } + else_if = { + limit = { has_trait = orcs_trait } + OWNER = { lthi_increase_influence_orcs_twenty = yes } + } + } + } + } +} \ No newline at end of file diff --git a/common/on_actions/00_lotr_moria_on_actions.txt b/common/on_actions/00_lotr_moria_on_actions.txt new file mode 100644 index 000000000..c46301ca4 --- /dev/null +++ b/common/on_actions/00_lotr_moria_on_actions.txt @@ -0,0 +1,52 @@ + + +on_actions = { + + on_daily_MOA = { + + effect = { + + if = { + limit = { + NOT = { has_global_flag = durins_bane_dead } + has_completed_focus = submittothebalrog + } + + if = { + limit = { + NOT = { any_country_division = { division_has_battalion_in_template = balrog } } + } + + # Durin's Bane is dead + kill_durins_bane = yes + } + } + + } + + } + + on_daily_MOC = { + + effect = { + + if = { + limit = { + NOT = { has_global_flag = durins_bane_dead } + has_completed_focus = submittothebalrog + } + + if = { + limit = { + NOT = { any_country_division = { division_has_battalion_in_template = balrog } } + } + + # Durin's Bane is dead + kill_durins_bane = yes + } + } + + } + + } +} \ No newline at end of file diff --git a/common/on_actions/00_lotr_set_ai_gameplans.txt b/common/on_actions/00_lotr_set_ai_gameplans.txt new file mode 100644 index 000000000..442fbf2fa --- /dev/null +++ b/common/on_actions/00_lotr_set_ai_gameplans.txt @@ -0,0 +1,27 @@ +on_actions = { + + on_startup = { + effect = { + every_possible_country = { + if = { limit = { tag = ANG } set_gameplan_ANG = yes } + else_if = { limit = { tag = ANG } set_gameplan_ANG = yes } + else_if = { limit = { tag = ART } set_gameplan_ART = yes } + else_if = { limit = { tag = RHU } set_gameplan_RHU = yes } + else_if = { limit = { tag = ENT } set_gameplan_ENT = yes } + else_if = { limit = { tag = ERE } set_gameplan_ERE = yes } + else_if = { limit = { tag = GON } set_gameplan_GON = yes } + else_if = { limit = { tag = HAR } set_gameplan_HAR = yes } + else_if = { limit = { tag = ISE } set_gameplan_ISE = yes } + else_if = { limit = { tag = LTH } set_gameplan_LTH = yes } + else_if = { limit = { tag = MIR } set_gameplan_MIR = yes } + else_if = { limit = { tag = MOR } set_gameplan_MOR = yes } + else_if = { limit = { tag = MOA } set_gameplan_MOA = yes } + else_if = { limit = { tag = MOC } set_gameplan_MOC = yes } + else_if = { limit = { tag = RIV } set_gameplan_RIV = yes } + else_if = { limit = { tag = ROH } set_gameplan_ROH = yes } + else_if = { limit = { tag = SHI } set_gameplan_SHI = yes } + else = { set_gameplan_generic = yes } + } + } + } +} \ No newline at end of file diff --git a/common/on_actions/00_lotr_white_council_on_actions.txt b/common/on_actions/00_lotr_white_council_on_actions.txt new file mode 100644 index 000000000..b9404ecbe --- /dev/null +++ b/common/on_actions/00_lotr_white_council_on_actions.txt @@ -0,0 +1,29 @@ + + +on_actions = { + + on_ruling_party_change = { + effect = { + if = { + limit = { + is_white_council_member = yes + OR = { + has_government = belligerent + has_government = revolutionary + } + } + remove_from_white_council = yes + } + } + } + + on_war_relation_added = { + effect = { + if = { + limit = { FROM = { is_white_council_member = yes } ROOT = { is_white_council_member = yes } } + ROOT = { remove_from_white_council = yes } + } + } + } + +} \ No newline at end of file diff --git a/common/on_actions/00_on_actions.txt b/common/on_actions/00_on_actions.txt index ccc0cd318..d98e35c85 100644 --- a/common/on_actions/00_on_actions.txt +++ b/common/on_actions/00_on_actions.txt @@ -105,15 +105,6 @@ on_actions = { on_leave_faction = { effect = { - if = { - limit = { - AND = { - tag = CAN - NOT = { has_dlc = "Together for Victory" } - } - } - drop_cosmetic_tag = yes - } FROM = { add_opinion_modifier = { modifier = faction_traitor @@ -203,7 +194,7 @@ on_actions = { ## LOTR mod specific stuff starts here if = { - limit = { has_idea = one_true_ring } + limit = { ring_has_the_ring = yes } # transfer the ring from loser to winner FROM = { ring_seize_ring = yes } @@ -273,16 +264,7 @@ on_actions = { on_coup_succeeded = { effect = { - #Turn elections on for democracies created from coup - random_other_country = { - limit = { - has_government = cooperative - original_tag = ROOT - } - set_politics = { - elections_allowed = yes - } - } + } } @@ -298,7 +280,7 @@ on_actions = { effect = { ## LOTR mod specific stuff starts here if = { - limit = { FROM = { has_idea = one_true_ring } } + limit = { FROM = { ring_has_the_ring = yes } } # transfer the ring from loser to winner FROM = { ring_seize_ring = yes } diff --git a/common/operations/00_operations.txt b/common/operations/00_operations.txt index ed21c6a32..a855242f7 100644 --- a/common/operations/00_operations.txt +++ b/common/operations/00_operations.txt @@ -1116,7 +1116,7 @@ operation_coup_government = { ### 7 1/70 } risk_chance = 0.3 experience = 2.5 - cost_modifiers = { operation_coup_cost } + #cost_modifiers = { operation_coup_cost } outcome_execute = { # SCOPE_OPERATION FROM = { if = { diff --git a/common/operations/_documentation.info b/common/operations/_documentation.info index 4e59f038f..d4e476203 100644 --- a/common/operations/_documentation.info +++ b/common/operations/_documentation.info @@ -262,7 +262,7 @@ operation_test = { } # - # ON_ACTION :: TODO move to onactions + # ON_ACTION :: # Executed when the operation has completed [ once per assigned operative ] # SCOPE_UNIT_LEADER [ # ROOT, FROM diff --git a/common/opinion_modifiers/00_opinion_modifiers.txt b/common/opinion_modifiers/00_opinion_modifiers.txt index 81467bfa9..cad16218c 100644 --- a/common/opinion_modifiers/00_opinion_modifiers.txt +++ b/common/opinion_modifiers/00_opinion_modifiers.txt @@ -9,6 +9,10 @@ # trade = yes/no opinion_modifiers = { + + oath_of_feanor = { + value = -100 + } past_quarrels = { value = -50 diff --git a/common/scorers/country/ai_decryption_scorer.txt b/common/scorers/country/ai_decryption_scorer.txt index 2db548478..3aa81b7d9 100644 --- a/common/scorers/country/ai_decryption_scorer.txt +++ b/common/scorers/country/ai_decryption_scorer.txt @@ -43,19 +43,6 @@ ai_decryption_target_scorer = { factor = 1.5 } - # quite possibly we will attack this target due to strats - modifier = { - NOT = { has_war_with = FROM } - OR = { - check_variable = { FROM.ai_strategy_conquer@THIS > 0 } - check_variable = { FROM.ai_strategy_antagonize@THIS > 0 } - check_variable = { FROM.ai_strategy_declare_war@THIS > 0 } - check_variable = { FROM.ai_strategy_prepare_for_war@THIS > 0 } - check_variable = { FROM.ai_strategy_contain@THIS > 0 } - } - factor = 1.3 - } - modifier = { is_in_array = { FROM.neighbors = this } factor = 1.2 diff --git a/common/scorers/country/elven_alliance_scorers.txt b/common/scorers/country/elven_alliance_scorers.txt new file mode 100644 index 000000000..bbcaeece3 --- /dev/null +++ b/common/scorers/country/elven_alliance_scorers.txt @@ -0,0 +1,29 @@ +ea_hegemony_leader_scorer = { #Finds the strongest ea member + targets = { + targets_dynamic = yes + target_non_existing = no + target_array = global.elven_alliance_members + + score = { + base = 1 + # Add total number of Divisions + modifier = { + always = yes + add = num_armies + } + # add factories + modifier = { + always = yes + add = num_of_factories + } + modifier = { + is_major = yes + add = 25 + } + modifier = { + is_faction_leader = yes + add = 10 + } + } + } +} \ No newline at end of file diff --git a/common/scorers/country/generic_platonic_scorers.txt b/common/scorers/country/generic_platonic_scorers.txt new file mode 100644 index 000000000..c6898d1f0 --- /dev/null +++ b/common/scorers/country/generic_platonic_scorers.txt @@ -0,0 +1,1043 @@ +belligerent_major_scorer = { #Finds biggest Fascist + # Valid example of mission scorer: + targets = { + # describe the target to consider + targets_dynamic = no + target_non_existing = no + #target_array = global.majors + target_array = global.countries + # MTTH like score description + # THIS is a target + # FROM is the initiator + score = { + base = 1 + # Add tension added by country + modifier = { + always = yes + add = has_added_tension_amount + } + # Add total number of Divisions + modifier = { + always = yes + add = num_armies + } + # add factories + modifier = { + always = yes + add = num_of_factories + } + modifier = { + tag = MOR # If Mordor is still belligerent, they are something to be vary about - always + factor = 2.0 + } + modifier = { # Angmar and Isengard should have preference, but not as much as Germany + OR = { + tag = ANG + tag = ISE + } + factor = 1.3 + } + modifier = { + is_major = yes + add = 100 + } + modifier = { + is_faction_leader = yes + add = 50 + } + modifier = { + NOT = { has_government = belligerent } + factor = 0 + } + } + } +} +cooperative_major_scorer = { # Finds biggest Democratic Nation + targets = { + # describe the target to consider + targets_dynamic = no + target_non_existing = no + #target_array = global.majors + target_array = global.countries + # MTTH like score description + # THIS is a target + # FROM is the initiator + score = { + base = 1 + # Add tension added by country + modifier = { + always = yes + add = has_added_tension_amount + } + # Add total number of Divisions + modifier = { + always = yes + add = num_armies + } + # add factories + modifier = { + always = yes + add = num_of_factories + } + modifier = { + tag = GON # If the Gon is still cooperative, they should have preference + factor = 2.0 + } + modifier = { # Roh and Riv should have preference, but not as much as the UK + OR = { + tag = ROH + tag = RIV + } + factor = 1.3 + } + modifier = { + is_major = yes + add = 100 + } + modifier = { + is_faction_leader = yes + add = 50 + } + modifier = { + NOT = { has_government = cooperative } + factor = 0 + } + } + } +} + +revolutionary_major_scorer = { # Finds biggest Communist + targets = { + # describe the target to consider + targets_dynamic = no + target_non_existing = no + #target_array = global.majors + target_array = global.countries + # MTTH like score description + # THIS is a target + # FROM is the initiator + score = { + base = 1 + # Add tension added by country + modifier = { + always = yes + add = has_added_tension_amount + } + # Add total number of Divisions + modifier = { + always = yes + add = num_armies + } + # add factories + modifier = { + always = yes + add = num_of_factories + } + modifier = { + tag = MOR # If the MOR is revolutionary, they are something to be vary about - always + factor = 1.5 + } + modifier = { + tag = GON # If the GON is revolutionary, they are something to be vary about - always + factor = 1.5 + } + modifier = { # MOC should have preference, but not as much as SOV + tag = MOC + factor = 1.3 + } + modifier = { + is_major = yes + add = 100 + } + modifier = { + is_faction_leader = yes + add = 50 + } + modifier = { + NOT = { has_government = revolutionary } + factor = 0 + } + } + } +} + +unaligned_major_scorer = { # Finds biggest Non-Aligned + targets = { + # describe the target to consider + targets_dynamic = no + target_non_existing = no + #target_array = global.majors + target_array = global.countries + # MTTH like score description + # THIS is a target + # FROM is the initiator + score = { + base = 1 + # Add tension added by country + modifier = { + always = yes + add = has_added_tension_amount + } + # Add total number of Divisions + modifier = { + always = yes + add = num_armies + } + # add factories + modifier = { + always = yes + add = num_of_factories + } + modifier = { + is_major = yes + add = 100 + } + modifier = { + is_faction_leader = yes + add = 50 + } + modifier = { + NOT = { has_government = unaligned } + factor = 0 + } + } + } +} + +local_belligerent_country = { + # Valid example of mission scorer: + targets = { + # describe the target to consider + targets_dynamic = no + target_non_existing = no + #target_array = global.majors + target_array = global.countries + # MTTH like score description + # THIS is a target + # FROM is the initiator + score = { + base = 1 + + modifier = { + is_major = yes + factor = 10 + } + # Add tension added by country + modifier = { + always = yes + add = has_added_tension_amount + } + # Add total number of Divisions + modifier = { + always = yes + add = num_armies + } + modifier = { + tag = GER # If Germany is still belligerent, they are something to be vary about - always + factor = 1.8 + } + # If neighbor, more scary + modifier = { + is_neighbor_of = FROM + factor = 2 + } + # Same continent also more scary + modifier = { + OR = { + AND = { + THIS.capital_scope = { is_on_continent = eriador } + FROM.capital_scope = { is_on_continent = eriador } + } + AND = { + THIS.capital_scope = { is_on_continent = rhovanion } + FROM.capital_scope = { is_on_continent = rhovanion } + } + AND = { + OR = { + THIS.capital_scope = { is_on_continent = erebor } + THIS.capital_scope = { is_on_continent = erebor } + } + OR = { + FROM.capital_scope = { is_on_continent = rhun } + FROM.capital_scope = { is_on_continent = rhun } + } + } + AND = { + THIS.capital_scope = { is_on_continent = gondor } + FROM.capital_scope = { is_on_continent = gondor } + } + AND = { + THIS.capital_scope = { is_on_continent = rohan } + FROM.capital_scope = { is_on_continent = rohan } + } + } + factor = 3 + } + modifier = { + add = num_armies + } + # add factories + modifier = { + always = yes + add = num_of_factories + } + modifier = { + NOT = { has_government = belligerent } + factor = 0 + } + } + } +} + +belligerent_bully_scorer = { #Finds meanest belligerent + # Valid example of mission scorer: + targets = { + # describe the target to consider + targets_dynamic = no + target_non_existing = no + #target_array = global.majors + target_array = global.countries + # MTTH like score description + # THIS is a target + # FROM is the initiator + score = { + base = 1 + # Add tension added by country + # Add total number of Divisions + modifier = { + always = yes + add = num_armies + } + # add factories + modifier = { + always = yes + add = num_of_factories + } + modifier = { + always = yes + add = has_added_tension_amount + } + modifier = { + tag = MOR # If Mordor is still belligerent, they are something to be vary about - always + factor = 1.5 + } + modifier = { # ISE and ANG should have preference, but not as much as Germany + OR = { + tag = ANG + tag = ISE + } + factor = 1.3 + } + modifier = { + is_major = yes + add = 100 + } + modifier = { + is_faction_leader = yes + add = 100 + } + modifier = { + NOT = { has_government = belligerent } + factor = 0 + } + } + } +} +cooperative_faction_leader_scorer = { # Finds biggest Democratic Nation + targets = { + # describe the target to consider + targets_dynamic = no + target_non_existing = no + #target_array = global.majors + target_array = global.countries + # MTTH like score description + # THIS is a target + # FROM is the initiator + score = { + base = 1 + # Add tension added by country + modifier = { + always = yes + add = has_added_tension_amount + } + # Add total number of Divisions + modifier = { + always = yes + add = num_armies + } + # add factories + modifier = { + always = yes + add = num_of_factories + } + modifier = { + tag = GON # If the UK is still cooperative, they should have preference + factor = 1.5 + } + modifier = { # France and USA should have preference, but not as much as the UK + OR = { + tag = RIV + tag = ROH + } + factor = 1.2 + } + modifier = { + is_major = yes + add = 100 + } + modifier = { + is_faction_leader = no + factor = 0.1 + } + modifier = { + NOT = { has_government = cooperative } + factor = 0 + } + } + } +} + +cooperative_sleeping_giant_scorer = { #Finds the least armed big cooperative country. + targets = { + # describe the target to consider + targets_dynamic = no + target_non_existing = no + #target_array = global.majors + target_array = global.countries + # MTTH like score description + # THIS is a target + # FROM is the initiator + score = { + base = 1 + # Add tension added by country + # Add total number of Divisions + # add factories + modifier = { + always = yes + add = num_of_factories + } + modifier = { + always = yes + add = -num_armies + } + modifier = { + always = yes + add = -has_added_tension_amount + } + modifier = { + tag = GON # If the US is still cooperative, they should have preference + factor = 1.5 + } + modifier = { # France and UK should have preference, but not as much as the UK + OR = { + tag = LTH + tag = RIV + } + factor = 1.2 + } + modifier = { + is_major = yes + add = 30 + } + modifier = { + is_faction_leader = yes + factor = 0.5 + } + modifier = { + NOT = { has_government = cooperative } + factor = 0 + } + } + } +} + + +################################################### +########### BY CONTINTENT ############### +################################################### + +western_belligerent_major_scorer = { #Finds biggest Fascist in West + # Valid example of mission scorer: + targets = { + # describe the target to consider + targets_dynamic = no + target_non_existing = no + #target_array = global.majors + target_array = global.countries + # MTTH like score description + # THIS is a target + # FROM is the initiator + score = { + base = 1 + # Add tension added by country + modifier = { + always = yes + add = has_added_tension_amount + } + # Add total number of Divisions + modifier = { + always = yes + add = num_armies + } + # add factories + modifier = { + always = yes + add = num_of_factories + } + modifier = { + tag = MOR # If Mordor is still belligerent, they are something to be vary about - always + factor = 1.5 + } + modifier = { # Isengard should have preference, but not as much as Germany + tag = ISE + factor = 1.3 + } + modifier = { + is_major = yes + add = 100 + } + modifier = { + is_faction_leader = yes + add = 50 + } + modifier = { + NOT = { has_government = belligerent } + factor = 0 + } + modifier = { + NOT = { THIS.capital_scope = { is_on_continent = europe } } + } + } + } +} + +western_cooperative_major_scorer = { # Finds biggest Democratic Nation in the west + targets = { + # describe the target to consider + targets_dynamic = no + target_non_existing = no + #target_array = global.majors + target_array = global.countries + # MTTH like score description + # THIS is a target + # FROM is the initiator + score = { + base = 1 + # Add tension added by country + modifier = { + always = yes + add = has_added_tension_amount + } + # Add total number of Divisions + modifier = { + always = yes + add = num_armies + } + # add factories + modifier = { + always = yes + add = num_of_factories + } + modifier = { + tag = ENG # If the UK is still cooperative, they should have preference + factor = 1.5 + } + modifier = { # France should have preference, but not as much as the UK + tag = FRA + factor = 1.3 + } + modifier = { + is_major = yes + add = 100 + } + modifier = { + is_faction_leader = yes + add = 50 + } + modifier = { + NOT = { has_government = cooperative } + factor = 0 + } + modifier = { + is_western = yes + factor = 0 + } + } + } +} + +western_revolutionary_major_scorer = { # Finds biggest Communist in the west + targets = { + # describe the target to consider + targets_dynamic = no + target_non_existing = no + #target_array = global.majors + target_array = global.countries + # MTTH like score description + # THIS is a target + # FROM is the initiator + score = { + base = 1 + # Add tension added by country + modifier = { + always = yes + add = has_added_tension_amount + } + # Add total number of Divisions + modifier = { + always = yes + add = num_armies + } + # add factories + modifier = { + always = yes + add = num_of_factories + } + modifier = { + tag = SOV # If the Soviet Union is still revolutionary, they are something to be vary about - always + factor = 1.5 + } + modifier = { + is_major = yes + add = 100 + } + modifier = { + is_faction_leader = yes + add = 50 + } + modifier = { + NOT = { has_government = revolutionary } + factor = 0 + } + modifier = { + is_western = yes + factor = 0 + } + } + } +} + +western_unaligned_major_scorer = { # Finds biggest Non-Aligned in the west + targets = { + # describe the target to consider + targets_dynamic = no + target_non_existing = no + #target_array = global.majors + target_array = global.countries + # MTTH like score description + # THIS is a target + # FROM is the initiator + score = { + base = 1 + # Add tension added by country + modifier = { + always = yes + add = has_added_tension_amount + } + # Add total number of Divisions + modifier = { + always = yes + add = num_armies + } + # add factories + modifier = { + always = yes + add = num_of_factories + } + modifier = { + is_major = yes + add = 100 + } + modifier = { + is_faction_leader = yes + add = 50 + } + modifier = { + NOT = { has_government = unaligned } + factor = 0 + } + modifier = { + is_western = yes + factor = 0 + } + } + } +} + +eastern_belligerent_major_scorer = { #Finds biggest Fascist in East + # Valid example of mission scorer: + targets = { + # describe the target to consider + targets_dynamic = no + target_non_existing = no + #target_array = global.majors + target_array = global.countries + # MTTH like score description + # THIS is a target + # FROM is the initiator + score = { + base = 1 + # Add tension added by country + modifier = { + always = yes + add = has_added_tension_amount + } + # Add total number of Divisions + modifier = { + always = yes + add = num_armies + } + # add factories + modifier = { + always = yes + add = num_of_factories + } + modifier = { + tag = JAP # If Japan is still belligerent, they are something to be vary about - always + factor = 1.5 + } + modifier = { + is_major = yes + add = 100 + } + modifier = { + is_faction_leader = yes + add = 50 + } + modifier = { + NOT = { has_government = belligerent } + factor = 0 + } + modifier = { + is_eastern = yes + factor = 0 + } + } + } +} + +eastern_cooperative_major_scorer = { # Finds biggest Democratic Nation in East + targets = { + # describe the target to consider + targets_dynamic = no + target_non_existing = no + #target_array = global.majors + target_array = global.countries + # MTTH like score description + # THIS is a target + # FROM is the initiator + score = { + base = 1 + # Add tension added by country + modifier = { + always = yes + add = has_added_tension_amount + } + # Add total number of Divisions + modifier = { + always = yes + add = num_armies + } + # add factories + modifier = { + always = yes + add = num_of_factories + } + modifier = { + is_major = yes + add = 100 + } + modifier = { + is_faction_leader = yes + add = 50 + } + modifier = { + NOT = { has_government = cooperative } + factor = 0 + } + modifier = { + is_eastern = yes + factor = 0 + } + } + } +} + +eastern_revolutionary_major_scorer = { # Finds biggest Communist in East + targets = { + # describe the target to consider + targets_dynamic = no + target_non_existing = no + #target_array = global.majors + target_array = global.countries + # MTTH like score description + # THIS is a target + # FROM is the initiator + score = { + base = 1 + # Add tension added by country + modifier = { + always = yes + add = has_added_tension_amount + } + # Add total number of Divisions + modifier = { + always = yes + add = num_armies + } + # add factories + modifier = { + always = yes + add = num_of_factories + } + modifier = { + tag = PRC # If Communist China is still revolutionary, they should have preference + factor = 1.5 + } + modifier = { + is_major = yes + add = 100 + } + modifier = { + is_faction_leader = yes + add = 50 + } + modifier = { + NOT = { has_government = revolutionary } + factor = 0 + } + modifier = { + is_eastern = yes + factor = 0 + } + } + } +} + +eastern_unaligned_major_scorer = { # Finds biggest Non-Aligned in East + targets = { + # describe the target to consider + targets_dynamic = no + target_non_existing = no + #target_array = global.majors + target_array = global.countries + # MTTH like score description + # THIS is a target + # FROM is the initiator + score = { + base = 1 + # Add tension added by country + modifier = { + always = yes + add = has_added_tension_amount + } + # Add total number of Divisions + modifier = { + always = yes + add = num_armies + } + # add factories + modifier = { + always = yes + add = num_of_factories + } + modifier = { + is_major = yes + add = 100 + } + modifier = { + is_faction_leader = yes + add = 50 + } + modifier = { + NOT = { has_government = unaligned } + factor = 0 + } + modifier = { + is_eastern = yes + factor = 0 + } + } + } +} + +central_belligerent_major_scorer = { #Finds biggest Fascist in the Center + # Valid example of mission scorer: + targets = { + # describe the target to consider + targets_dynamic = no + target_non_existing = no + #target_array = global.majors + target_array = global.countries + # MTTH like score description + # THIS is a target + # FROM is the initiator + score = { + base = 1 + # Add tension added by country + modifier = { + always = yes + add = has_added_tension_amount + } + # Add total number of Divisions + modifier = { + always = yes + add = num_armies + } + # add factories + modifier = { + always = yes + add = num_of_factories + } + modifier = { + is_major = yes + add = 100 + } + modifier = { + is_faction_leader = yes + add = 50 + } + modifier = { + NOT = { has_government = belligerent } + factor = 0 + } + modifier = { + is_center = yes + factor = 0 + } + } + } +} + +central_cooperative_major_scorer = { # Finds biggest Democratic Nation in the Center + targets = { + # describe the target to consider + targets_dynamic = no + target_non_existing = no + #target_array = global.majors + target_array = global.countries + # MTTH like score description + # THIS is a target + # FROM is the initiator + score = { + base = 1 + # Add tension added by country + modifier = { + always = yes + add = has_added_tension_amount + } + # Add total number of Divisions + modifier = { + always = yes + add = num_armies + } + # add factories + modifier = { + always = yes + add = num_of_factories + } + modifier = { # If the US is still cooperative, it shuld prefer it + tag = USA + factor = 1.5 + } + modifier = { + is_major = yes + add = 100 + } + modifier = { + NOT = { has_government = cooperative } + factor = 0 + } + modifier = { + is_center = yes + factor = 0 + } + } + } +} + +central_revolutionary_major_scorer = { # Finds biggest Communist in the Center + targets = { + # describe the target to consider + targets_dynamic = no + target_non_existing = no + #target_array = global.majors + target_array = global.countries + # MTTH like score description + # THIS is a target + # FROM is the initiator + score = { + base = 1 + # Add tension added by country + modifier = { + always = yes + add = has_added_tension_amount + } + # Add total number of Divisions + modifier = { + always = yes + add = num_armies + } + # add factories + modifier = { + always = yes + add = num_of_factories + } + modifier = { + is_major = yes + add = 100 + } + modifier = { + NOT = { has_government = revolutionary } + factor = 0 + } + modifier = { + is_center = yes + factor = 0 + } + } + } +} + +central_unaligned_major_scorer = { # Finds biggest Non-Aligned in The Center + targets = { + # describe the target to consider + targets_dynamic = no + target_non_existing = no + #target_array = global.majors + target_array = global.countries + # MTTH like score description + # THIS is a target + # FROM is the initiator + score = { + base = 1 + # Add tension added by country + modifier = { + always = yes + add = has_added_tension_amount + } + # Add total number of Divisions + modifier = { + always = yes + add = num_armies + } + # add factories + modifier = { + always = yes + add = num_of_factories + } + modifier = { + is_major = yes + add = 100 + } + modifier = { + NOT = { has_government = unaligned } + factor = 0 + } + modifier = { + is_center = yes + factor = 0 + } + } + } +} diff --git a/common/script_enums.txt b/common/script_enums.txt index c788957e5..d869a146f 100644 --- a/common/script_enums.txt +++ b/common/script_enums.txt @@ -1,114 +1,602 @@ -script_enum_equipment_bonus_type = { - ## Air - fighter_equipment - cv_fighter_equipment - jet_fighter_equipment - cv_CAS_equipment - CAS_equipment - nav_bomber_equipment - cv_nav_bomber_equipment - rocket_interceptor_equipment - tac_bomber_equipment - jet_tac_bomber_equipment - heavy_fighter_equipment - strat_bomber_equipment - jet_strat_bomber_equipment - transport_plane_equipment - guided_missile_equipment - scout_plane_equipment - small_plane_airframe - cv_small_plane_airframe - small_plane_cas_airframe - cv_small_plane_cas_airframe - small_plane_naval_bomber_airframe - cv_small_plane_naval_bomber_airframe - medium_plane_airframe - medium_plane_fighter_airframe - medium_plane_scout_plane_airframe - large_plane_airframe - large_plane_maritime_patrol_plane_airframe - +script_enum_operative_mission_type = { + build_intel_network + counter_intelligence + quiet_network + root_out_resistance + control_trade +} + +script_enum_advisor_slot_type = { + chief_advisor + spymaster + treasurer + cavalry_chief + theorist + high_command + army_chief + navy_chief + air_chief + political_advisor +} +script_enum_equipment_stat = { + default_morale + defense + breakthrough + hardness + soft_attack + hard_attack + recon + entrenchment + initiative + casualty_trickleback + supply_consumption_factor + supply_consumption + suppression + suppression_factor + experience_loss_factor + equipment_capture_factor + fuel_capacity + surface_detection + sub_detection + surface_visibility + sub_visibility + lg_attack + lg_armor_piercing + hg_attack + hg_armor_piercing + torpedo_attack + sub_attack + anti_air_attack + amphibious_defense + naval_speed + naval_range + mines_planting + mines_sweeping + naval_light_gun_hit_chance_factor + naval_heavy_gun_hit_chance_factor + naval_torpedo_hit_chance_factor + naval_torpedo_damage_reduction_factor + naval_torpedo_enemy_critical_chance_factor + convoy_raiding_coordination + patrol_coordination + search_and_destroy_coordination + air_range + air_defence + air_attack + air_agility + air_bombing + air_superiority + naval_strike_attack + naval_strike_targetting + air_ground_attack + air_visibility_factor + railway_gun_attack + railway_gun_attack_range + max_organisation + max_strength + maximum_speed + armor_value + ap_attack + reliability + reliability_factor + weight + thrust + fuel_consumption + fuel_consumption_factor + strategic_attack + carrier_size + acclimatization_hot_climate_gain_factor + acclimatization_cold_climate_gain_factor + night_penalty + build_cost_ic + naval_weather_penalty_factor +} + +script_enum_production_stat = { + production_cost_factor + production_capacity_factor + production_efficiency_cap_factor + production_efficiency_gain_factor + production_resource_need_factor + production_resource_penalty_factor + production_conversion_speed_factor +} + +script_enum_equipment_category = { + convoy + train + floating_harbor + railway_gun + armor + motorized + mechanized + infantry + capital_ship + submarine + screen_ship fighter + heavy_fighter + interceptor + tactical_bomber + strategic_bomber cas + naval_bomber + missile + suicide + scout_plane + maritime_patrol_plane + air_transport + carrier + support + amphibious + anti_air + artillery + anti_tank + rocket + flame +} + +script_enum_equipment_bonus_type = { + ## This script enum contains all equipment types that can be used in equipment_bonus + ## or in game/common/military_industrial_organization scripts. + + ## This list contains either equipment category (see script_enum_equipment_category above) + ## or equipment archetypes & types defined in game/common/units/equipments + + ## This enum should be updated every time either of those is updated + ## (there will be a log error at startup as a reminder) + + # Equipment categories + convoy + train + floating_harbor + railway_gun + armor + motorized + mechanized + infantry + capital_ship + submarine + screen_ship + fighter + heavy_fighter + interceptor tactical_bomber + strategic_bomber + cas + naval_bomber + missile + suicide scout_plane + maritime_patrol_plane + air_transport + carrier + support + amphibious + anti_air + artillery + anti_tank + rocket + flame - ## Land + # Equipment archetypes & types + destroyer infantry_equipment - support_equipment artillery_equipment - rocket_artillery_equipment anti_tank_equipment - anti_air_equipment - artillery - amphibious_mechanized_equipment + amphibious_mechanized_equipment_1 + amphibious_mechanized_equipment_2 + anti_air_equipment + anti_air_equipment_1 + anti_air_equipment_2 + anti_air_equipment_3 + anti_tank_equipment_1 + anti_tank_equipment_2 + anti_tank_equipment_3 armored_car_equipment + gw_armored_car_equipment + armored_car_equipment_1 + armored_car_equipment_2 + armored_car_at_equipment + artillery_equipment_1 + artillery_equipment_2 + artillery_equipment_3 + rocket_artillery_equipment + rocket_artillery_equipment_1 + rocket_artillery_equipment_2 + motorized_rocket_equipment + motorized_rocket_equipment_1 + convoy_1 + floating_harbor_equipment + floating_harbor_equipment_1 + guided_missile_equipment + guided_missile_equipment_1 + guided_missile_equipment_2 + guided_missile_equipment_3 + infantry_equipment_0 + infantry_equipment_1 + infantry_equipment_2 + infantry_equipment_3 mechanized_equipment + mechanized_equipment_1 + mechanized_equipment_2 + mechanized_equipment_3 motorized_equipment - motorized_rocket_equipment - train_equipment + motorized_equipment_1 + small_plane_airframe + cv_small_plane_airframe + small_plane_airframe_0 + small_plane_airframe_1 + small_plane_airframe_2 + small_plane_airframe_3 + small_plane_airframe_4 + cv_small_plane_airframe_0 + cv_small_plane_airframe_1 + cv_small_plane_airframe_2 + cv_small_plane_airframe_3 + cv_small_plane_airframe_4 + medium_plane_airframe + medium_plane_airframe_0 + medium_plane_airframe_1 + medium_plane_airframe_2 + medium_plane_airframe_3 + medium_plane_airframe_4 + large_plane_airframe + large_plane_airframe_0 + large_plane_airframe_1 + large_plane_airframe_2 + large_plane_airframe_3 + large_plane_airframe_4 + transport_plane_equipment + transport_plane_equipment_1 railway_gun_equipment - - armor + railway_gun_equipment_1 + ship_hull_carrier + ship_hull_carrier_1 + ship_hull_carrier_2 + ship_hull_carrier_3 + ship_hull_carrier_conversion_bb + ship_hull_carrier_conversion_ca + carrier_1 + carrier_2 + carrier_3 + carrier_4 + ship_hull_cruiser + light_cruiser + ship_hull_cruiser_1 + ship_hull_cruiser_2 + ship_hull_cruiser_3 + ship_hull_cruiser_4 + light_cruiser_1 + light_cruiser_2 + light_cruiser_3 + light_cruiser_4 + heavy_cruiser_1 + heavy_cruiser_2 + heavy_cruiser_3 + heavy_cruiser_4 + torpedo_cruiser + ship_hull_torpedo_cruiser + ship_hull_cruiser_panzerschiff + ship_hull_cruiser_coastal_defense_ship + ship_hull_heavy + ship_hull_pre_dreadnought + ship_hull_heavy_1 + ship_hull_heavy_2 + ship_hull_heavy_3 + ship_hull_heavy_4 + ship_hull_super_heavy_1 + battleship_1 + battleship_2 + battleship_3 + battleship_4 + SH_battleship_1 + SH_battleship_2 + battle_cruiser_1 + battle_cruiser_2 + ship_hull_light + ship_hull_light_1 + ship_hull_light_2 + ship_hull_light_3 + ship_hull_light_4 + destroyer_1 + destroyer_2 + destroyer_3 + destroyer_4 + ship_hull_submarine + ship_hull_submarine_1 + ship_hull_submarine_2 + ship_hull_submarine_3 + ship_hull_submarine_4 + ship_hull_cruiser_submarine + submarine_1 + submarine_2 + submarine_3 + submarine_4 + support_equipment + support_equipment_1 light_tank_chassis + light_tank_chassis_0 + light_tank_chassis_1 + light_tank_chassis_2 + light_tank_chassis_3 medium_tank_chassis + medium_tank_chassis_0 + medium_tank_chassis_1 + medium_tank_chassis_2 + medium_tank_chassis_3 heavy_tank_chassis - super_heavy_tank_chassis + heavy_tank_chassis_0 + heavy_tank_chassis_1 + heavy_tank_chassis_2 + heavy_tank_chassis_3 modern_tank_chassis + modern_tank_chassis_1 + super_heavy_tank_chassis + super_heavy_tank_chassis_1 amphibious_tank_chassis - + amphibious_tank_chassis_1 + train_equipment + train_equipment_1 + train_equipment_2 + train_equipment_3 + small_plane_cas_airframe + cv_small_plane_cas_airframe + small_plane_naval_bomber_airframe + cv_small_plane_naval_bomber_airframe + small_plane_suicide_airframe + cv_small_plane_suicide_airframe + medium_plane_fighter_airframe + medium_plane_scout_plane_airframe + large_plane_maritime_patrol_plane_airframe + jet_fighter_equipment + rocket_interceptor_equipment + jet_tac_bomber_equipment + jet_strat_bomber_equipment + small_plane_cas_airframe_0 + small_plane_cas_airframe_1 + small_plane_cas_airframe_2 + small_plane_cas_airframe_3 + small_plane_cas_airframe_4 + cv_small_plane_cas_airframe_0 + cv_small_plane_cas_airframe_1 + cv_small_plane_cas_airframe_2 + cv_small_plane_cas_airframe_3 + cv_small_plane_cas_airframe_4 + small_plane_naval_bomber_airframe_0 + small_plane_naval_bomber_airframe_1 + small_plane_naval_bomber_airframe_2 + small_plane_naval_bomber_airframe_3 + small_plane_naval_bomber_airframe_4 + cv_small_plane_naval_bomber_airframe_0 + cv_small_plane_naval_bomber_airframe_1 + cv_small_plane_naval_bomber_airframe_2 + cv_small_plane_naval_bomber_airframe_3 + cv_small_plane_naval_bomber_airframe_4 + small_plane_suicide_airframe_0 + small_plane_suicide_airframe_1 + small_plane_suicide_airframe_2 + small_plane_suicide_airframe_3 + small_plane_suicide_airframe_4 + cv_small_plane_suicide_airframe_0 + cv_small_plane_suicide_airframe_1 + cv_small_plane_suicide_airframe_2 + cv_small_plane_suicide_airframe_3 + cv_small_plane_suicide_airframe_4 + medium_plane_fighter_airframe_0 + medium_plane_fighter_airframe_1 + medium_plane_fighter_airframe_2 + medium_plane_fighter_airframe_3 + medium_plane_fighter_airframe_4 + medium_plane_scout_plane_airframe_0 + medium_plane_scout_plane_airframe_1 + medium_plane_scout_plane_airframe_2 + medium_plane_scout_plane_airframe_3 + medium_plane_scout_plane_airframe_4 + large_plane_maritime_patrol_plane_airframe_0 + large_plane_maritime_patrol_plane_airframe_1 + large_plane_maritime_patrol_plane_airframe_2 + large_plane_maritime_patrol_plane_airframe_3 + large_plane_maritime_patrol_plane_airframe_4 + fighter_equipment_0 + fighter_equipment_1 + fighter_equipment_2 + fighter_equipment_3 + jet_fighter_equipment_1 + jet_fighter_equipment_2 + cv_fighter_equipment_0 + cv_fighter_equipment_1 + cv_fighter_equipment_2 + cv_fighter_equipment_3 + CAS_equipment_1 + CAS_equipment_2 + CAS_equipment_3 + cv_CAS_equipment_1 + cv_CAS_equipment_2 + cv_CAS_equipment_3 + nav_bomber_equipment_1 + nav_bomber_equipment_2 + nav_bomber_equipment_3 + cv_nav_bomber_equipment_1 + cv_nav_bomber_equipment_2 + cv_nav_bomber_equipment_3 + rocket_interceptor_equipment_1 + rocket_interceptor_equipment_2 + rocket_interceptor_equipment_3 + rocket_suicide_equipment_1 + tac_bomber_equipment_0 + tac_bomber_equipment_1 + tac_bomber_equipment_2 + tac_bomber_equipment_3 + jet_tac_bomber_equipment_1 + jet_tac_bomber_equipment_2 + heavy_fighter_equipment_1 + heavy_fighter_equipment_2 + heavy_fighter_equipment_3 + scout_plane_equipment_1 + scout_plane_equipment_2 + strat_bomber_equipment_1 + strat_bomber_equipment_2 + strat_bomber_equipment_3 + jet_strat_bomber_equipment_1 + light_tank_aa_chassis light_tank_artillery_chassis - medium_tank_artillery_chassis - heavy_tank_artillery_chassis - light_tank_destroyer_chassis + light_tank_amphibious_chassis + light_tank_flame_chassis + medium_tank_aa_chassis + medium_tank_artillery_chassis medium_tank_destroyer_chassis + medium_tank_amphibious_chassis + medium_tank_flame_chassis + heavy_tank_aa_chassis + heavy_tank_artillery_chassis heavy_tank_destroyer_chassis + heavy_tank_amphibious_chassis + heavy_tank_flame_chassis + super_heavy_tank_aa_chassis + super_heavy_tank_artillery_chassis + super_heavy_tank_destroyer_chassis + modern_tank_aa_chassis + modern_tank_artillery_chassis + modern_tank_destroyer_chassis + light_tank_aa_chassis_0 + light_tank_aa_chassis_1 + light_tank_aa_chassis_2 + light_tank_aa_chassis_3 + light_tank_artillery_chassis_0 + light_tank_artillery_chassis_1 + light_tank_artillery_chassis_2 + light_tank_artillery_chassis_3 + light_tank_destroyer_chassis_0 + light_tank_destroyer_chassis_1 + light_tank_destroyer_chassis_2 + light_tank_destroyer_chassis_3 + light_tank_amphibious_chassis_0 + light_tank_amphibious_chassis_1 + light_tank_amphibious_chassis_2 + light_tank_amphibious_chassis_3 + light_tank_flame_chassis_0 + light_tank_flame_chassis_1 + light_tank_flame_chassis_2 + light_tank_flame_chassis_3 + medium_tank_aa_chassis_0 + medium_tank_aa_chassis_1 + medium_tank_aa_chassis_2 + medium_tank_aa_chassis_3 + medium_tank_artillery_chassis_0 + medium_tank_artillery_chassis_1 + medium_tank_artillery_chassis_2 + medium_tank_artillery_chassis_3 + medium_tank_destroyer_chassis_0 + medium_tank_destroyer_chassis_1 + medium_tank_destroyer_chassis_2 + medium_tank_destroyer_chassis_3 + medium_tank_amphibious_chassis_0 + medium_tank_amphibious_chassis_1 + medium_tank_amphibious_chassis_2 + medium_tank_amphibious_chassis_3 + medium_tank_flame_chassis_0 + medium_tank_flame_chassis_1 + medium_tank_flame_chassis_2 + medium_tank_flame_chassis_3 + heavy_tank_aa_chassis_0 + heavy_tank_aa_chassis_1 + heavy_tank_aa_chassis_2 + heavy_tank_aa_chassis_3 + heavy_tank_artillery_chassis_0 + heavy_tank_artillery_chassis_1 + heavy_tank_artillery_chassis_2 + heavy_tank_artillery_chassis_3 + heavy_tank_destroyer_chassis_0 + heavy_tank_destroyer_chassis_1 + heavy_tank_destroyer_chassis_2 + heavy_tank_destroyer_chassis_3 + heavy_tank_amphibious_chassis_0 + heavy_tank_amphibious_chassis_1 + heavy_tank_amphibious_chassis_2 + heavy_tank_amphibious_chassis_3 + heavy_tank_flame_chassis_0 + heavy_tank_flame_chassis_1 + heavy_tank_flame_chassis_2 + heavy_tank_flame_chassis_3 + super_heavy_tank_aa_chassis_1 + super_heavy_tank_artillery_chassis_1 + super_heavy_tank_destroyer_chassis_1 + modern_tank_aa_chassis_1 + modern_tank_artillery_chassis_1 + modern_tank_destroyer_chassis_1 + gw_tank_equipment + light_tank_equipment_1 + light_tank_equipment_2 + light_tank_equipment_3 + light_tank_artillery_equipment_1 + light_tank_artillery_equipment_2 + light_tank_artillery_equipment_3 + light_tank_destroyer_equipment_1 + light_tank_destroyer_equipment_2 + light_tank_destroyer_equipment_3 + light_tank_aa_equipment_1 + light_tank_aa_equipment_2 + light_tank_aa_equipment_3 + medium_tank_equipment_1 + medium_tank_equipment_2 + medium_tank_equipment_3 + medium_tank_artillery_equipment_1 + medium_tank_artillery_equipment_2 + medium_tank_artillery_equipment_3 + medium_tank_destroyer_equipment_1 + medium_tank_destroyer_equipment_2 + medium_tank_destroyer_equipment_3 + medium_tank_aa_equipment_1 + medium_tank_aa_equipment_2 + medium_tank_aa_equipment_3 + heavy_tank_equipment_1 + heavy_tank_equipment_2 + heavy_tank_equipment_3 + heavy_tank_artillery_equipment_1 + heavy_tank_artillery_equipment_2 + heavy_tank_artillery_equipment_3 + heavy_tank_destroyer_equipment_1 + heavy_tank_destroyer_equipment_2 + heavy_tank_destroyer_equipment_3 + heavy_tank_aa_equipment_1 + heavy_tank_aa_equipment_2 + heavy_tank_aa_equipment_3 + modern_tank_equipment_1 + modern_tank_artillery_equipment_1 + modern_tank_destroyer_equipment_1 + modern_tank_aa_equipment_1 + super_heavy_tank_equipment_1 + super_heavy_tank_artillery_equipment_1 + super_heavy_tank_destroyer_equipment_1 + super_heavy_tank_aa_equipment_1 - ## Sea - ship_hull_light - ship_hull_heavy - ship_hull_submarine - ship_hull_cruiser - ship_hull_carrier - ship_hull_super_heavy - ship_hull_super_heavy_1 - - convoy - submarine - destroyer - screen_ship - carrier - heavy_cruiser - capital_ship - - ship_hull_cruiser_coastal_defense_ship - floating_harbor_equipment -} - -script_enum_operative_mission_type = { - build_intel_network - counter_intelligence - quiet_network - root_out_resistance - control_trade + # LOTR stuff + elven_artillery_equipment_1 + elven_artillery_equipment_2 + motorized_rocket_equipment_2 + infantry_equipment_4 + infantry_equipment_5 + infantry_equipment_6 + infantry_equipment_7 + infantry_equipment_8 + infantry_equipment_9 + infantry_equipment_10 + dwarven_mechanized_equipment_1 + dwarven_mechanized_equipment_2 + archetype_troll_equipment + archetype_mumakil_equipment + orc_troll_equipment_1 + orc_troll_equipment_2 + mumakil_equipment_1 + mumakil_equipment_2 + orc_siege_equipment_1 + orc_siege_equipment_2 } -script_enum_advisor_slot_type = { - chief_advisor - spymaster - treasurer - cavalry_chief - theorist - high_command - army_chief - navy_chief - political_advisor -} - - script_enum_ringevent_localiaztion_key = { fs_event_member_joins fs_event_member_leaves @@ -119,7 +607,7 @@ script_enum_ringevent_localiaztion_key = { fs_event_tries_to_intercept fs_event_failed_to_locate fs_event_managed_to_locate - fs_event_char_attacks_char_miss + fs_event_char_attacks_char_miss fs_event_char_attacks_char_1dmg fs_event_char_attacks_char_2dmg fs_event_char_attacks_char_3dmg @@ -180,6 +668,36 @@ script_enum_ringevent_localiaztion_key = { fs_event_lth_haldir fs_event_fellowship_troll_keeps_fighting fs_event_boromir_takes_ring_back_down + fs_event_aragorn_leaves_for_gondor fs_event_interception_aborted -} \ No newline at end of file + fs_event_country_curse_fellowship_member + fs_event_country_ringbearer_blessed_member + + fs_event_frodo_bilbo_to_valinor + fs_event_rivendell_council_invoked_with_lth + fs_event_lth_haldir_betrays_fellowship + fs_event_lth_orophin_betrays_fellowship + fs_event_lth_orophin_asked_to_stay_behind + fs_event_lth_haldir_asked_to_stay_behind + fs_event_elven_fellowship +} + +script_enum_elven_assembly_resolutions = { + ea_resolution_alliance + ea_resolution_industry + ea_resolution_expansion + + ea_resolution_trade + ea_resolution_peace + ea_resolution_research + + ea_resolution_union + ea_resolution_martial + ea_resolution_hegemony + + ea_resolution_kick + ea_resolution_sanction + ea_resolution_joint_war + ea_resolution_make_leader +} diff --git a/common/scripted_diplomatic_actions/collect_tribute_diplo_actions.txt b/common/scripted_diplomatic_actions/collect_tribute_diplo_actions.txt new file mode 100644 index 000000000..354941bf0 --- /dev/null +++ b/common/scripted_diplomatic_actions/collect_tribute_diplo_actions.txt @@ -0,0 +1,44 @@ +scripted_diplomatic_actions = { + + collect_tribute = { + icon = 16 # The icon to use for the dipomatic request, visible when the diplomatic action is sent, not visible if the diplomatic request does not require acceptance, must be included in the \gfx\interface\alerts\global_diplorequest_icons.dds file, number represents icon location from left to right. + + #### CONDITIONS TO USE/SEE ACTION ### + + allowed = { + always = yes + } + visible = { + ROOT = { + OR = { + has_completed_focus = lth_organizetributaries + has_idea_with_trait = tribute_collector + } + } + FROM = { is_subject_of = ROOT } + } + selectable = { + FROM = { + NOT = { has_idea = paying_tribute } + } + } + can_be_sent = { + always = yes + } + + cost = 150 + + requires_acceptance = no + show_acceptance_on_action_button = no + + complete_effect = { + FROM = { add_timed_idea = { idea = paying_tribute days = 300 } } + } + + #### AI SECTION ### + + ai_desire = { + base = 10 + } + } +} \ No newline at end of file diff --git a/common/scripted_diplomatic_actions/elven_alliance_diplo_actions.txt b/common/scripted_diplomatic_actions/elven_alliance_diplo_actions.txt new file mode 100644 index 000000000..6cb78471e --- /dev/null +++ b/common/scripted_diplomatic_actions/elven_alliance_diplo_actions.txt @@ -0,0 +1,403 @@ +scripted_diplomatic_actions = { + + invite_to_elven_assembly = { + icon = 17 # The icon to use for the dipomatic request, visible when the diplomatic action is sent, not visible if the diplomatic request does not require acceptance, must be included in the \gfx\interface\alerts\global_diplorequest_icons.dds file, number represents icon location from left to right. + + #### CONDITIONS TO USE/SEE ACTION ### + + allowed = { + always = yes + } + visible = { + FROM = { NOT = { is_elven_alliance_member = yes } } + ROOT = { is_elven_alliance_member = yes } + FROM = { NOT = { has_war_with = ROOT } } + } + selectable = { + FROM = { is_subject = no } + ROOT = { can_invite_to_elven_alliance = yes } + + FROM = { can_be_invited_to_elven_alliance = yes } + FROM = { NOT = { is_sanctioned_by_elven_alliance = yes } } + + OR = { + FROM = { is_not_at_war_with_elven_alliance_member = yes } + ea_has_union_tier_2 = yes + } + } + can_be_accepted = { + always = yes + } + can_be_sent = { + NOT = { ROOT = { has_country_flag = ea_last_invitation_cooldown } } # NOTE: This i broken. Idk why, but it doesn't work. + } + + cost = 50 + + requires_acceptance = yes + show_acceptance_on_action_button = yes + + #### ACTION LOCALISATION ### + + send_description = invite_to_elven_assembly_send_desc + receive_description = invite_to_elven_assembly_receive_desc + #### EFFECTS ### + + on_sent_effect = { # An effect that can be applied when sending the diplomatic action. + ROOT = { set_country_flag = { flag = ea_last_invitation_cooldown days = 70 value = 1 } } + } + + complete_effect = { # An effect that can be applied the action is ACCEPTED (accepted always if requires_acceptance is set to NO) + elven_alliance_join = yes + } + reject_effect = { # An effect that can be applied the action is REJECTED (only valid if requires_acceptance is set to YES ) + set_country_flag = ea_has_declined_invitation + } + + #### AI SECTION ### + + ai_desire = { # AI modifiers to use this diplomatic action + modifier = { + add = 20 + FROM = { is_ai = no } + } + modifier = { + add = 10 + FROM = { is_same_race = yes } + } + modifier = { + add = -5 + FROM = { is_same_race = no } + } + modifier = { + add = -25 + FROM = { has_same_ideology = no } + } + modifier = { + add = 10 + FROM = { has_same_ideology = yes } + } + modifier = { + add = 10 + FROM = { has_same_ideology = yes } + OR = { + FROM = { has_government = belligerent } + FROM = { has_government = cooperative } + FROM = { has_government = revolutionary } + } + } + modifier = { + add = 50 + is_ally_with = FROM + } + modifier = { + add = -99999 + FROM = { has_country_flag = ea_has_declined_invitation } + } + modifier = { + add = -99999 + ROOT = { has_country_flag = ea_last_invitation_cooldown } + } + modifier = { + add = -99999 + FROM = { tag = DAG } + } + modifier = { + add = -99999 + FROM = { tag = NEP } + } + modifier = { + add = 10 + elven_alliance_has_at_least_5_members = no + } + modifier = { + add = -5 + elven_alliance_has_at_least_5_members = yes + } + modifier = { + add = -10 + elven_alliance_has_at_least_8_members = yes + } + modifier = { + add = -10 + elven_alliance_has_at_least_10_members = yes + } + } + ai_acceptance = { # AI modifiers to accept this diplomatic action, not valid if requires_acceptance is set to NO. + race_diff = { + base = 0 + modifier = { + is_same_race = yes + add = 10 + } + modifier = { + is_same_race = no + add = -15 + } + modifier = { + ROOT = { is_orcs = no } + FROM = { is_orcs = yes } + add = -20 + } + modifier = { + ROOT = { is_spiders = no } + FROM = { is_spiders = yes } + add = -20 + } + } + threat_generation = { + base = 0 + modifier = { + FROM = { has_government = cooperative } + + set_temp_variable = { t = 0 } + subtract_from_temp_variable = { t = ROOT.has_added_tension_amount } + multiply_temp_variable = { t = 2.0 } # cooperative cares extra about tension + add = t + } + modifier = { + FROM = { has_government = unaligned } + + set_temp_variable = { t = 0 } + subtract_from_temp_variable = { t = ROOT.has_added_tension_amount } + add = t + } + } + ea_is_hegemony = { + base = 0 + modifier = { + FROM = { has_government = cooperative } + has_global_flag = ea_type_hegemony + add = -20 + } + modifier = { + FROM = { has_government = unaligned } + has_global_flag = ea_type_hegemony + add = -15 + } + modifier = { + FROM = { is_major = yes } + has_global_flag = ea_type_hegemony + add = -30 + } + } + is_major_power = { + base = 0 + modifier = { + is_major = yes + add = -10 + } + } + differing_alliances = { + base = 0 + modifier = { + FROM = { + is_in_faction = yes + NOT = { is_in_faction_with = ROOT } + } + add = -10 + } + } + base_reluctance = { + modifier = { + factor = -5 + } + modifier = { + FROM = { tag = NEP } + add = -1000 + } + modifier = { + FROM = { tag = DAG } + add = -1000 + } + modifier = { + FROM = { has_government = unaligned } + add = -5 + } + modifier = { + FROM = { tag = ROH } + FROM = { has_government = unaligned } + add = -5 + } + } + opinion_modifier = { + modifier = { + factor = FROM.opinion@ROOT + } + } + } + } + + propose_kick_from_elven_assembly = { + allowed = { + always = yes + } + visible = { + ROOT = { is_elven_alliance_member = yes } + FROM = { is_elven_alliance_member = yes } + FROM = { is_sanctioned_by_elven_alliance = no } + FROM = { ea_is_hegemony_leader = no } + } + selectable = { + ROOT = { can_propose_resolutions_elven_alliance = yes } + + NOT = { ROOT = { has_country_flag = ea_last_kick_cooldown } } + } + + cost = elven_alliance_proposal_cost?25 + + requires_acceptance = no + show_acceptance_on_action_button = no + + send_description = propose_kick_from_elven_assembly_send_desc + + complete_effect = { # An effect that can be applied when sending the diplomatic action. + ROOT = { set_country_flag = { flag = ea_last_kick_cooldown days = 90 value = 1 } } + FROM = { ea_kick_add_to_queue = yes } + } + } + + propose_sanction_elven_assembly = { + allowed = { + always = yes + } + visible = { + has_global_flag = ea_sanctions_unlocked + OR = { + FROM = { NOT = { is_elven_alliance_member = yes } } + ea_has_union_tier_3 = yes + } + ROOT = { is_elven_alliance_member = yes } + } + selectable = { + FROM = { has_added_tension_amount > 5 } + + ROOT = { can_propose_resolutions_elven_alliance = yes } + + NOT = { ROOT = { has_country_flag = ea_last_sanction_cooldown } } + } + + cost = elven_alliance_proposal_cost?25 + + requires_acceptance = no + show_acceptance_on_action_button = no + + send_description = propose_sanction_elven_assembly_send_desc + + complete_effect = { # An effect that can be applied when sending the diplomatic action. + ROOT = { set_country_flag = { flag = ea_last_sanction_cooldown days = 90 value = 1 } } + FROM = { ea_sanction_add_to_queue = yes } + } + } + + propose_joint_war_elven_assembly = { + allowed = { + always = yes + } + visible = { + FROM = { NOT = { is_elven_alliance_member = yes } } + ROOT = { is_elven_alliance_member = yes } + OR = { + ea_has_martial_tier_1 = yes + } + } + selectable = { + OR = { + FROM = { has_added_tension_amount > 15 } + AND = { + FROM = { has_war_with = ROOT } + enemies_strength_ratio > 0.5 + } + } + + ROOT = { can_propose_resolutions_elven_alliance = yes } + + NOT = { ROOT = { has_country_flag = ea_last_joint_war_cooldown } } + } + + cost = elven_alliance_proposal_cost?25 + + requires_acceptance = no + show_acceptance_on_action_button = no + + send_description = propose_joint_war_elven_assembly_send_desc + + complete_effect = { # An effect that can be applied when sending the diplomatic action. + ROOT = { set_country_flag = { flag = ea_last_joint_war_cooldown days = 90 value = 1 } } + FROM = { ea_joint_war_add_to_queue = yes } + } + } + + propose_make_leader_elven_assembly = { + icon = 17 # The icon to use for the dipomatic request, visible when the diplomatic action is sent, not visible if the diplomatic request does not require acceptance, must be included in the \gfx\interface\alerts\global_diplorequest_icons.dds file, number represents icon location from left to right. + + #### CONDITIONS TO USE/SEE ACTION ### + + allowed = { + always = yes + } + visible = { + has_global_flag = ea_type_hegemony + FROM = { is_elven_alliance_member = yes } + ROOT = { is_elven_alliance_member = yes } + FROM = { NOT = { has_war_with = ROOT } } + FROM = { NOT = { ea_is_hegemony_leader = yes } } + NOT = { ea_make_leader_proposal_in_queue = yes } # Only one leader proposal at a time pls + NOT = { ea_has_hegemony_tier_3 = yes } + } + selectable = { + ROOT = { can_propose_resolutions_elven_alliance = yes } + FROM = { is_major = yes } + } + can_be_accepted = { + always = yes + } + can_be_sent = { + NOT = { ROOT = { has_country_flag = ea_last_make_leader_cooldown } } # NOTE: This i broken. Idk why, but it doesn't work. + } + + cost = elven_alliance_proposal_cost?25 + + requires_acceptance = yes + show_acceptance_on_action_button = yes + + #### ACTION LOCALISATION ### + + send_description = make_leader_elven_assembly_send_desc + receive_description = make_leader_elven_assembly_receive_desc + #### EFFECTS ### + + on_sent_effect = { # An effect that can be applied when sending the diplomatic action. + ROOT = { set_country_flag = { flag = ea_last_make_leader_cooldown days = 120 value = 1 } } + } + + complete_effect = { # An effect that can be applied the action is ACCEPTED (accepted always if requires_acceptance is set to NO) + FROM = { ea_make_leader_add_to_queue = yes } + } + reject_effect = { # An effect that can be applied the action is REJECTED (only valid if requires_acceptance is set to YES ) + + } + + #### AI SECTION ### + + ai_desire = { # AI modifiers to use this diplomatic action + base = 0 + modifier = { + add = 100 + FROM = { is_ai = no } + is_subject_of = FROM + } + modifier = { + factor = 0 + ROOT = { has_country_flag = ea_last_make_leader_cooldown } + } + } + ai_acceptance = { # AI modifiers to accept this diplomatic action, not valid if requires_acceptance is set to NO. + base_reluctance = { + modifier = { + factor = 10 + } + } + } + } +} \ No newline at end of file diff --git a/common/scripted_effects/00_gameplan.txt b/common/scripted_effects/00_gameplan.txt new file mode 100644 index 000000000..ccf604288 --- /dev/null +++ b/common/scripted_effects/00_gameplan.txt @@ -0,0 +1,514 @@ + + +set_gameplan_generic = { + random_list = { + # BELLIGERENT + 100 = { + modifier = { + factor = 0 + NOT = { has_belligerent_path = yes } + } + modifier = { + factor = 2 + any_neighbor_country = { + is_major = yes + has_government = belligerent + } + } + modifier = { + factor = 3 + has_government = belligerent + } + modifier = { + factor = 0 + is_historical_focus_on = yes + NOT = { has_government = belligerent } + } + + set_country_flag = gamplan_going_belligerent + } + + # REVOLUTIONARY + 100 = { + modifier = { + factor = 0 + NOT = { has_revolutionary_path = yes } + } + modifier = { + factor = 0 + tag = DAG + } + modifier = { + factor = 2 + any_neighbor_country = { + is_major = yes + has_government = revolutionary + } + } + modifier = { + factor = 3 + has_government = revolutionary + } + modifier = { + factor = 0 + AND = { + is_historical_focus_on = yes + NOT = { has_government = revolutionary } + } + } + + set_country_flag = gameplan_going_revolutionary + } + + # COOPERATIVE + 100 = { + modifier = { + factor = 0 + NOT = { has_cooperative_path = yes } + } + modifier = { + factor = 0 + tag = DAG + } + modifier = { + factor = 3 + has_government = cooperative + } + modifier = { + factor = 0 + is_historical_focus_on = yes + NOT = { has_government = cooperative } + } + + set_country_flag = gameplan_going_cooperative + } + + # UNALIGNED + 100 = { + modifier = { + factor = 0 + has_unaligned_path = no + } + modifier = { + factor = 3 + has_government = unaligned + } + modifier = { + factor = 0 + is_historical_focus_on = yes + NOT = { has_government = unaligned } + } + + set_country_flag = gameplan_going_unaligned + } + + 1 = { + # This is just here for the countries where none of the above applies + } + } + + # Choose a gameplan (see ai_strategy_plans) + random_list = { + 15 = { + set_country_flag = gameplan_slow_buildup + } + 12 = { + set_country_flag = gameplan_fast_rearm + } + 5 = { + modifier = { + factor = 0 + OR = { + AND = { has_government = revolutionary is_going_revolutionary = yes } + AND = { has_government = cooperative is_going_cooperative = yes } + AND = { has_government = belligerent is_going_belligerent = yes } + AND = { has_government = unaligned is_going_unaligned = yes } + } + } + modifier = { + factor = 0 + is_historical_focus_on = yes + } + set_country_flag = gameplan_fast_ideology_switch + } + 3 = { + + } + } +} + + +set_gameplan_ANG = { + random_list = { + 10 = { + modifier = { + is_historical_focus_on = yes + factor=0 + } + set_country_flag = gamplan_going_belligerent + } + 10 = { + modifier = { + is_historical_focus_on = yes + factor=0 + } + set_country_flag = gameplan_going_cooperative + } + 10 = { + set_country_flag = gameplan_going_unaligned + } + } +} + + +set_gameplan_ART = { + random_list = { + 5 = { + modifier = { + is_historical_focus_on = yes + factor=0 + } + set_country_flag = gamplan_going_belligerent + } + 10 = { + modifier = { + is_historical_focus_on = yes + factor=0 + } + set_country_flag = gameplan_going_cooperative + } + 10 = { + set_country_flag = gameplan_going_unaligned + } + } +} + + +set_gameplan_RHU = { + random_list = { + 8 = { + set_country_flag = gamplan_going_belligerent + } + 0 = { + modifier = { + is_historical_focus_on = yes + factor=0 + } + set_country_flag = gameplan_going_cooperative + } + } +} + + +set_gameplan_ENT = { + random_list = { + 5 = { + modifier = { + is_historical_focus_on = yes + factor=0 + } + set_country_flag = gamplan_going_belligerent + } + 10 = { + modifier = { + is_historical_focus_on = yes + factor=0 + } + set_country_flag = gameplan_going_cooperative + } + 20 = { + set_country_flag = gameplan_going_unaligned + } + 2 = { + modifier = { + is_historical_focus_on = yes + factor=0 + } + set_country_flag = gameplan_going_revolutionary + } + } +} + + +set_gameplan_ERE = { + random_list = { + 6 = { + modifier = { + is_historical_focus_on = yes + factor=0 + } + set_country_flag = gamplan_going_belligerent + } + 6 = { + modifier = { + is_historical_focus_on = yes + factor=0 + } + set_country_flag = gameplan_going_revolutionary + } + 20 = { + set_country_flag = gameplan_going_cooperative + } + } +} + + +set_gameplan_GON = { + random_list = { + 2 = { + modifier = { + is_historical_focus_on = yes + factor=0 + } + set_country_flag = gameplan_going_revolutionary + } + 6 = { + modifier = { + is_historical_focus_on = yes + factor=0 + } + set_country_flag = gameplan_going_unaligned + } + 13 = { + set_country_flag = gameplan_going_cooperative + } + } +} + + +set_gameplan_HAR = { + # There is no alternate paths for HAR afaik + set_country_flag = gamplan_going_belligerent +} + + +set_gameplan_ISE = { + random_list = { + 65 = { + set_country_flag = gamplan_going_belligerent + } + 15 = { + modifier = { + is_historical_focus_on = yes + factor=0 + } + set_country_flag = gameplan_going_cooperative + } + } +} + + +set_gameplan_LTH = { + if = { + limit = { is_historical_focus_on = yes } + + set_country_flag = gameplan_going_unaligned + set_country_flag = gameplan_historical + set_country_flag = gameplan_limited_intervention + } + + else = { + random_list = { + # unaligned + 35 = { + set_country_flag = gameplan_going_unaligned + random_list = { + 8 = { + set_country_flag = gameplan_limited_intervention + } + 5 = { + set_country_flag = gameplan_total_isolation + } + } + } + # cooperative + 12 = { + set_country_flag = gameplan_going_cooperative + random_list = { + 10 = { } + 2 = { + set_country_flag = gameplan_white_council + } + 2 = { + set_country_flag = gameplan_elven_alliance + } + } + } + # belligerent + 6 = { + set_country_flag = gamplan_going_belligerent + random_list = { + 5 = { } + 3 = { + set_country_flag = gameplan_bully_elves + } + 3 = { + set_country_flag = gameplan_bully_mortals + } + } + } + #revo + 4 = { + set_country_flag = gameplan_going_revolutionary + } + # mix/harmonic ascendancy + 2 = { + set_country_flag = gameplan_going_revolutionary + set_country_flag = gamplan_going_belligerent + set_country_flag = gamplan_harmonic_ascendancy + } + } + + # 10% chance to rush moria focuses + random = { + chance = 10 + set_country_flag = gameplan_rush_moria + } + + # 7% chance to rush vales-of-anduin focuses + random = { + chance = 7 + set_country_flag = gameplan_rush_vale + } + + # 12% chance to go for elronds council + random = { + chance = 12 + set_country_flag = gameplan_rush_ring + } + } +} + + +set_gameplan_MIR = { + random_list = { + 10 = { + set_country_flag = gameplan_going_unaligned + } + 8 = { + modifier = { + is_historical_focus_on = yes + factor=0 + } + set_country_flag = gameplan_going_revolutionary + } + 8 = { + modifier = { + is_historical_focus_on = yes + factor=0 + } + set_country_flag = gamplan_going_belligerent + } + 7 = { + modifier = { + is_historical_focus_on = yes + factor=0 + } + set_country_flag = gameplan_going_cooperative + random = { + chance = 10 + set_country_flag = gameplan_elven_alliance + } + } + } +} + + +set_gameplan_MOR = { + random_list = { + 75 = { + set_country_flag = gamplan_going_belligerent + } + 15 = { + modifier = { + is_historical_focus_on = yes + factor=0 + } + set_country_flag = gameplan_going_revolutionary + } + } +} + + +set_gameplan_MOA = { + set_country_flag = gameplan_going_cooperative +} + + +set_gameplan_MOC = { + set_country_flag = gameplan_going_revolutionary +} + + +set_gameplan_RIV = { + random_list = { + 5 = { + modifier = { + is_historical_focus_on = yes + factor=0 + } + set_country_flag = gamplan_going_belligerent + } + 15 = { + modifier = { + is_historical_focus_on = yes + factor=0 + } + set_country_flag = gameplan_going_cooperative + random = { + chance = 20 + set_country_flag = gameplan_elven_alliance + } + } + 20 = { + set_country_flag = gameplan_going_unaligned + } + 5 = { + modifier = { + is_historical_focus_on = yes + factor=0 + } + set_country_flag = gameplan_going_revolutionary + } + } +} + + +set_gameplan_ROH = { + random_list = { + 8 = { + modifier = { + is_historical_focus_on = yes + factor=0 + } + set_country_flag = gamplan_going_belligerent + } + 25 = { + set_country_flag = gameplan_going_cooperative + } + } +} + + +set_gameplan_SHI = { + random_list = { + 5 = { + modifier = { + is_historical_focus_on = yes + factor=0 + } + set_country_flag = gamplan_going_belligerent + } + 15 = { + set_country_flag = gameplan_going_cooperative + } + 5 = { + modifier = { + is_historical_focus_on = yes + factor=0 + } + set_country_flag = gameplan_going_revolutionary + } + } +} + diff --git a/common/scripted_effects/00_lotr_advisors_scripted_effects.txt b/common/scripted_effects/00_lotr_advisors_scripted_effects.txt index 53089c3a0..b2df2eabc 100644 --- a/common/scripted_effects/00_lotr_advisors_scripted_effects.txt +++ b/common/scripted_effects/00_lotr_advisors_scripted_effects.txt @@ -128,3 +128,15 @@ lotr_advisors_update_vars_weekly = { } } + + + +lotr_advisors_improve_long_term_planner = { + custom_effect_tooltip = lotr_advisors_improve_long_term_planner_tt + set_country_flag = long_term_planner_improved +} + +lotr_advisors_improve_pedantic_organizer = { + custom_effect_tooltip = lotr_advisors_improve_pedantic_organizer_tt + set_country_flag = pedantic_organizer_improved +} \ No newline at end of file diff --git a/common/scripted_effects/00_lotr_elven_alliance_resolutions.txt b/common/scripted_effects/00_lotr_elven_alliance_resolutions.txt new file mode 100644 index 000000000..166200a92 --- /dev/null +++ b/common/scripted_effects/00_lotr_elven_alliance_resolutions.txt @@ -0,0 +1,509 @@ +######################## +### Effects: expansion +######################## + + +ea_expansion_passed_effect = { + if = { + limit = { has_idea = ea_resolution_expansion_idea_1 } + swap_ideas = { remove_idea = ea_resolution_expansion_idea_1 add_idea = ea_resolution_expansion_idea_2 } + set_global_flag = { flag = ea_resolution_expansion_passed value = 2 } + } + else_if = { + limit = { has_idea = ea_resolution_expansion_idea_2 } + swap_ideas = { remove_idea = ea_resolution_expansion_idea_2 add_idea = ea_resolution_expansion_idea_3 } + set_global_flag = { flag = ea_resolution_expansion_passed value = 3 } + } + else = { + add_ideas = ea_resolution_expansion_idea_1 + set_global_flag = { flag = ea_resolution_expansion_passed value = 1 } + } +} + +ea_expansion_add_to_new_member = { + if = { + limit = { has_global_flag = ea_resolution_expansion_passed } + + if = { + limit = { has_global_flag = { flag = ea_resolution_expansion_passed value = 1 } } + add_ideas = ea_resolution_expansion_idea_1 + } + else_if = { + limit = { has_global_flag = { flag = ea_resolution_expansion_passed value = 2 } } + add_ideas = ea_resolution_expansion_idea_2 + } + else_if = { + limit = { has_global_flag = { flag = ea_resolution_expansion_passed value = 3 } } + add_ideas = ea_resolution_expansion_idea_3 + } + } +} + +ea_expansion_add_to_queue = { + elven_alliance_withdraw_resolution_from_queue = yes + + clear_variable = ea_resolution_target + add_to_array = { global.ea_proposers_queue = ROOT } + add_to_array = { global.ea_resolutions_queue = token:ea_resolution_expansion } + + custom_effect_tooltip = ea_propose_resolution_tt + effect_tooltip = { ea_expansion_passed_effect = yes } +} + + + + + + +######################## +### Effects: martial +######################## + + +ea_martial_passed_effect = { + if = { + limit = { has_idea = ea_resolution_martial_idea_1 } + swap_ideas = { remove_idea = ea_resolution_martial_idea_1 add_idea = ea_resolution_martial_idea_2 } + set_global_flag = { flag = ea_resolution_martial_passed value = 2 } + } + else_if = { + limit = { has_idea = ea_resolution_martial_idea_2 } + swap_ideas = { remove_idea = ea_resolution_martial_idea_2 add_idea = ea_resolution_martial_idea_3 } + set_global_flag = { flag = ea_resolution_martial_passed value = 3 } + # NOTE: Manual addition. Not script-generated + elven_alliance_form_martial_faction = yes + } + else = { + add_ideas = ea_resolution_martial_idea_1 + set_global_flag = { flag = ea_resolution_martial_passed value = 1 } + } +} + +ea_martial_add_to_new_member = { + if = { + limit = { has_global_flag = ea_resolution_martial_passed } + + if = { + limit = { has_global_flag = { flag = ea_resolution_martial_passed value = 1 } } + add_ideas = ea_resolution_martial_idea_1 + } + else_if = { + limit = { has_global_flag = { flag = ea_resolution_martial_passed value = 2 } } + add_ideas = ea_resolution_martial_idea_2 + } + else_if = { + limit = { has_global_flag = { flag = ea_resolution_martial_passed value = 3 } } + add_ideas = ea_resolution_martial_idea_3 + } + } +} + +ea_martial_add_to_queue = { + elven_alliance_withdraw_resolution_from_queue = yes + + clear_variable = ea_resolution_target + add_to_array = { global.ea_proposers_queue = ROOT } + add_to_array = { global.ea_resolutions_queue = token:ea_resolution_martial } + + custom_effect_tooltip = ea_propose_resolution_tt + effect_tooltip = { ea_martial_passed_effect = yes } +} + + + + + + +######################## +### Effects: research +######################## + + +ea_research_passed_effect = { + if = { + limit = { has_idea = ea_resolution_research_idea_1 } + swap_ideas = { remove_idea = ea_resolution_research_idea_1 add_idea = ea_resolution_research_idea_2 } + set_global_flag = { flag = ea_resolution_research_passed value = 2 } + } + else_if = { + limit = { has_idea = ea_resolution_research_idea_2 } + swap_ideas = { remove_idea = ea_resolution_research_idea_2 add_idea = ea_resolution_research_idea_3 } + set_global_flag = { flag = ea_resolution_research_passed value = 3 } + } + else = { + add_ideas = ea_resolution_research_idea_1 + set_global_flag = { flag = ea_resolution_research_passed value = 1 } + } +} + +ea_research_add_to_new_member = { + if = { + limit = { has_global_flag = ea_resolution_research_passed } + + if = { + limit = { has_global_flag = { flag = ea_resolution_research_passed value = 1 } } + add_ideas = ea_resolution_research_idea_1 + } + else_if = { + limit = { has_global_flag = { flag = ea_resolution_research_passed value = 2 } } + add_ideas = ea_resolution_research_idea_2 + } + else_if = { + limit = { has_global_flag = { flag = ea_resolution_research_passed value = 3 } } + add_ideas = ea_resolution_research_idea_3 + } + } +} + +ea_research_add_to_queue = { + elven_alliance_withdraw_resolution_from_queue = yes + + clear_variable = ea_resolution_target + add_to_array = { global.ea_proposers_queue = ROOT } + add_to_array = { global.ea_resolutions_queue = token:ea_resolution_research } + + custom_effect_tooltip = ea_propose_resolution_tt + effect_tooltip = { ea_research_passed_effect = yes } +} + + + + + + +######################## +### Effects: alliance +######################## + + +ea_alliance_passed_effect = { + if = { + limit = { has_idea = ea_resolution_alliance_idea_1 } + swap_ideas = { remove_idea = ea_resolution_alliance_idea_1 add_idea = ea_resolution_alliance_idea_2 } + set_global_flag = { flag = ea_resolution_alliance_passed value = 2 } + } + else_if = { + limit = { has_idea = ea_resolution_alliance_idea_2 } + swap_ideas = { remove_idea = ea_resolution_alliance_idea_2 add_idea = ea_resolution_alliance_idea_3 } + set_global_flag = { flag = ea_resolution_alliance_passed value = 3 } + } + else = { + add_ideas = ea_resolution_alliance_idea_1 + set_global_flag = { flag = ea_resolution_alliance_passed value = 1 } + } +} + +ea_alliance_add_to_new_member = { + if = { + limit = { has_global_flag = ea_resolution_alliance_passed } + + if = { + limit = { has_global_flag = { flag = ea_resolution_alliance_passed value = 1 } } + add_ideas = ea_resolution_alliance_idea_1 + } + else_if = { + limit = { has_global_flag = { flag = ea_resolution_alliance_passed value = 2 } } + add_ideas = ea_resolution_alliance_idea_2 + } + else_if = { + limit = { has_global_flag = { flag = ea_resolution_alliance_passed value = 3 } } + add_ideas = ea_resolution_alliance_idea_3 + } + } +} + +ea_alliance_add_to_queue = { + elven_alliance_withdraw_resolution_from_queue = yes + + clear_variable = ea_resolution_target + add_to_array = { global.ea_proposers_queue = ROOT } + add_to_array = { global.ea_resolutions_queue = token:ea_resolution_alliance } + + custom_effect_tooltip = ea_propose_resolution_tt + effect_tooltip = { ea_alliance_passed_effect = yes } +} + + + + + + +######################## +### Effects: union +######################## + + +ea_union_passed_effect = { + if = { + limit = { has_idea = ea_resolution_union_idea_1 } + swap_ideas = { remove_idea = ea_resolution_union_idea_1 add_idea = ea_resolution_union_idea_2 } + set_global_flag = { flag = ea_resolution_union_passed value = 2 } + } + else_if = { + limit = { has_idea = ea_resolution_union_idea_2 } + swap_ideas = { remove_idea = ea_resolution_union_idea_2 add_idea = ea_resolution_union_idea_3 } + set_global_flag = { flag = ea_resolution_union_passed value = 3 } + } + else = { + add_ideas = ea_resolution_union_idea_1 + set_global_flag = { flag = ea_resolution_union_passed value = 1 } + } +} + +ea_union_add_to_new_member = { + if = { + limit = { has_global_flag = ea_resolution_union_passed } + + if = { + limit = { has_global_flag = { flag = ea_resolution_union_passed value = 1 } } + add_ideas = ea_resolution_union_idea_1 + } + else_if = { + limit = { has_global_flag = { flag = ea_resolution_union_passed value = 2 } } + add_ideas = ea_resolution_union_idea_2 + } + else_if = { + limit = { has_global_flag = { flag = ea_resolution_union_passed value = 3 } } + add_ideas = ea_resolution_union_idea_3 + } + } +} + +ea_union_add_to_queue = { + elven_alliance_withdraw_resolution_from_queue = yes + + clear_variable = ea_resolution_target + add_to_array = { global.ea_proposers_queue = ROOT } + add_to_array = { global.ea_resolutions_queue = token:ea_resolution_union } + + custom_effect_tooltip = ea_propose_resolution_tt + effect_tooltip = { ea_union_passed_effect = yes } +} + + + + + + +######################## +### Effects: hegemony +######################## + + +ea_hegemony_passed_effect = { + if = { + limit = { has_idea = ea_resolution_hegemony_idea_1 } + swap_ideas = { remove_idea = ea_resolution_hegemony_idea_1 add_idea = ea_resolution_hegemony_idea_2 } + set_global_flag = { flag = ea_resolution_hegemony_passed value = 2 } + } + else_if = { + limit = { has_idea = ea_resolution_hegemony_idea_2 } + swap_ideas = { remove_idea = ea_resolution_hegemony_idea_2 add_idea = ea_resolution_hegemony_idea_3 } + set_global_flag = { flag = ea_resolution_hegemony_passed value = 3 } + } + else = { + add_ideas = ea_resolution_hegemony_idea_1 + set_global_flag = { flag = ea_resolution_hegemony_passed value = 1 } + } +} + +ea_hegemony_add_to_new_member = { + if = { + limit = { has_global_flag = ea_resolution_hegemony_passed } + + if = { + limit = { has_global_flag = { flag = ea_resolution_hegemony_passed value = 1 } } + add_ideas = ea_resolution_hegemony_idea_1 + } + else_if = { + limit = { has_global_flag = { flag = ea_resolution_hegemony_passed value = 2 } } + add_ideas = ea_resolution_hegemony_idea_2 + } + else_if = { + limit = { has_global_flag = { flag = ea_resolution_hegemony_passed value = 3 } } + add_ideas = ea_resolution_hegemony_idea_3 + } + } +} + +ea_hegemony_add_to_queue = { + elven_alliance_withdraw_resolution_from_queue = yes + + clear_variable = ea_resolution_target + add_to_array = { global.ea_proposers_queue = ROOT } + add_to_array = { global.ea_resolutions_queue = token:ea_resolution_hegemony } + + custom_effect_tooltip = ea_propose_resolution_tt + effect_tooltip = { ea_hegemony_passed_effect = yes } +} + + + + + + +######################## +### Effects: trade +######################## + + +ea_trade_passed_effect = { + if = { + limit = { has_idea = ea_resolution_trade_idea_1 } + swap_ideas = { remove_idea = ea_resolution_trade_idea_1 add_idea = ea_resolution_trade_idea_2 } + set_global_flag = { flag = ea_resolution_trade_passed value = 2 } + } + else_if = { + limit = { has_idea = ea_resolution_trade_idea_2 } + swap_ideas = { remove_idea = ea_resolution_trade_idea_2 add_idea = ea_resolution_trade_idea_3 } + set_global_flag = { flag = ea_resolution_trade_passed value = 3 } + } + else = { + add_ideas = ea_resolution_trade_idea_1 + set_global_flag = { flag = ea_resolution_trade_passed value = 1 } + } +} + +ea_trade_add_to_new_member = { + if = { + limit = { has_global_flag = ea_resolution_trade_passed } + + if = { + limit = { has_global_flag = { flag = ea_resolution_trade_passed value = 1 } } + add_ideas = ea_resolution_trade_idea_1 + } + else_if = { + limit = { has_global_flag = { flag = ea_resolution_trade_passed value = 2 } } + add_ideas = ea_resolution_trade_idea_2 + } + else_if = { + limit = { has_global_flag = { flag = ea_resolution_trade_passed value = 3 } } + add_ideas = ea_resolution_trade_idea_3 + } + } +} + +ea_trade_add_to_queue = { + elven_alliance_withdraw_resolution_from_queue = yes + + clear_variable = ea_resolution_target + add_to_array = { global.ea_proposers_queue = ROOT } + add_to_array = { global.ea_resolutions_queue = token:ea_resolution_trade } + + custom_effect_tooltip = ea_propose_resolution_tt + effect_tooltip = { ea_trade_passed_effect = yes } +} + + + + + + +######################## +### Effects: peace +######################## + + +ea_peace_passed_effect = { + if = { + limit = { has_idea = ea_resolution_peace_idea_1 } + swap_ideas = { remove_idea = ea_resolution_peace_idea_1 add_idea = ea_resolution_peace_idea_2 } + set_global_flag = { flag = ea_resolution_peace_passed value = 2 } + } + else_if = { + limit = { has_idea = ea_resolution_peace_idea_2 } + swap_ideas = { remove_idea = ea_resolution_peace_idea_2 add_idea = ea_resolution_peace_idea_3 } + set_global_flag = { flag = ea_resolution_peace_passed value = 3 } + } + else = { + add_ideas = ea_resolution_peace_idea_1 + set_global_flag = { flag = ea_resolution_peace_passed value = 1 } + } +} + +ea_peace_add_to_new_member = { + if = { + limit = { has_global_flag = ea_resolution_peace_passed } + + if = { + limit = { has_global_flag = { flag = ea_resolution_peace_passed value = 1 } } + add_ideas = ea_resolution_peace_idea_1 + } + else_if = { + limit = { has_global_flag = { flag = ea_resolution_peace_passed value = 2 } } + add_ideas = ea_resolution_peace_idea_2 + } + else_if = { + limit = { has_global_flag = { flag = ea_resolution_peace_passed value = 3 } } + add_ideas = ea_resolution_peace_idea_3 + } + } +} + +ea_peace_add_to_queue = { + elven_alliance_withdraw_resolution_from_queue = yes + + clear_variable = ea_resolution_target + add_to_array = { global.ea_proposers_queue = ROOT } + add_to_array = { global.ea_resolutions_queue = token:ea_resolution_peace } + + custom_effect_tooltip = ea_propose_resolution_tt + effect_tooltip = { ea_peace_passed_effect = yes } +} + + + + + + +######################## +### Effects: industry +######################## + + +ea_industry_passed_effect = { + if = { + limit = { has_idea = ea_resolution_industry_idea_1 } + swap_ideas = { remove_idea = ea_resolution_industry_idea_1 add_idea = ea_resolution_industry_idea_2 } + set_global_flag = { flag = ea_resolution_industry_passed value = 2 } + } + else_if = { + limit = { has_idea = ea_resolution_industry_idea_2 } + swap_ideas = { remove_idea = ea_resolution_industry_idea_2 add_idea = ea_resolution_industry_idea_3 } + set_global_flag = { flag = ea_resolution_industry_passed value = 3 } + } + else = { + add_ideas = ea_resolution_industry_idea_1 + set_global_flag = { flag = ea_resolution_industry_passed value = 1 } + } +} + +ea_industry_add_to_new_member = { + if = { + limit = { has_global_flag = ea_resolution_industry_passed } + + if = { + limit = { has_global_flag = { flag = ea_resolution_industry_passed value = 1 } } + add_ideas = ea_resolution_industry_idea_1 + } + else_if = { + limit = { has_global_flag = { flag = ea_resolution_industry_passed value = 2 } } + add_ideas = ea_resolution_industry_idea_2 + } + else_if = { + limit = { has_global_flag = { flag = ea_resolution_industry_passed value = 3 } } + add_ideas = ea_resolution_industry_idea_3 + } + } +} + +ea_industry_add_to_queue = { + elven_alliance_withdraw_resolution_from_queue = yes + + clear_variable = ea_resolution_target + add_to_array = { global.ea_proposers_queue = ROOT } + add_to_array = { global.ea_resolutions_queue = token:ea_resolution_industry } + + custom_effect_tooltip = ea_propose_resolution_tt + effect_tooltip = { ea_industry_passed_effect = yes } +} \ No newline at end of file diff --git a/common/scripted_effects/00_lotr_elven_alliance_resolutions_2.txt b/common/scripted_effects/00_lotr_elven_alliance_resolutions_2.txt new file mode 100644 index 000000000..d7b55b0b8 --- /dev/null +++ b/common/scripted_effects/00_lotr_elven_alliance_resolutions_2.txt @@ -0,0 +1,80 @@ + + + + + +ea_kick_passed_effect = { + if = { + limit = { var:global.ea_current_resolution_target = { tag = PREV } } + elven_alliance_leave = yes + country_event = elven_alliance.11 + } +} + +# ROOT wants to kick THIS +ea_kick_add_to_queue = { + elven_alliance_withdraw_resolution_from_queue = yes + + clear_variable = ea_resolution_target + add_to_array = { global.ea_proposers_queue = ROOT } + add_to_array = { global.ea_resolutions_queue = token:ea_resolution_kick } + + ROOT = { set_variable = { ea_resolution_target = PREV } } +} + + + + +ea_sanction_passed_effect = { + elven_alliance_sanction_country = yes +} + +# ROOT wants to sanction THIS +ea_sanction_add_to_queue = { + elven_alliance_withdraw_resolution_from_queue = yes + + clear_variable = ea_resolution_target + add_to_array = { global.ea_proposers_queue = ROOT } + add_to_array = { global.ea_resolutions_queue = token:ea_resolution_sanction } + + ROOT = { set_variable = { ea_resolution_target = PREV } } +} + + +ea_joint_war_passed_effect = { + elven_alliance_declare_joint_war_against = yes +} + +# ROOT wants to attack THIS +ea_joint_war_add_to_queue = { + elven_alliance_withdraw_resolution_from_queue = yes + + clear_variable = ea_resolution_target + add_to_array = { global.ea_proposers_queue = ROOT } + add_to_array = { global.ea_resolutions_queue = token:ea_resolution_joint_war } + + ROOT = { set_variable = { ea_resolution_target = PREV } } +} + +ea_make_leader_passed_effect = { + if = { + limit = { var:global.ea_current_resolution_target = { tag = PREV } } + set_variable = { global.ea_hegemony_leader = THIS } + # Notify new leader + var:global.ea_hegemony_leader = { + country_event = elven_alliance.6 + } + } +} + +# ROOT wants to make THIS new leader +ea_make_leader_add_to_queue = { + elven_alliance_withdraw_resolution_from_queue = yes + + clear_variable = ea_resolution_target + add_to_array = { global.ea_proposers_queue = ROOT } + add_to_array = { global.ea_resolutions_queue = token:ea_resolution_make_leader } + + ROOT = { set_variable = { ea_resolution_target = PREV } } +} + diff --git a/common/scripted_effects/00_lotr_elven_alliance_scripted_effects.txt b/common/scripted_effects/00_lotr_elven_alliance_scripted_effects.txt new file mode 100644 index 000000000..de8959715 --- /dev/null +++ b/common/scripted_effects/00_lotr_elven_alliance_scripted_effects.txt @@ -0,0 +1,673 @@ + + +elven_alliance_sanction_country = { + var:global.ea_current_resolution_target = { + set_country_flag = ea_is_sanctioned + } + + send_embargo = global.ea_current_resolution_target +} + +ea_apply_all_sanctions = { + every_country = { + limit = { is_sanctioned_by_elven_alliance = yes } + PREV = { + send_embargo = PREV + } + } +} + +elven_alliance_declare_joint_war_against = { + custom_effect_tooltip = elven_alliance_declare_joint_war_against_tt + hidden_effect = { + declare_war_on = { + target = var:global.ea_current_resolution_target + type = annex_everything + } + } +} + +elven_alliance_form_martial_faction = { + get_highest_scored_country_temp = { + var = ea_strongest_member + scorer = ea_hegemony_leader_scorer + } + var:ea_strongest_member = { + if = { + limit = { is_faction_leader = yes } + set_faction_name = "Elven Assembly" + } + else_if = { + limit = { is_in_faction = yes } + leave_faction = yes + create_faction = "Elven Assembly" + } + else = { + create_faction = "Elven Assembly" + } + + save_event_target_as = ea_martial_faction_leader + + for_each_scope_loop = { + array = global.elven_alliance_members + if = { + limit = { + NOT = { tag = PREV } + NOT = { is_subject = yes } + } + country_event = elven_alliance.9 + } + } + } +} + + +elven_alliance_ensure_no_war = { + if = { + limit = { + NOT = { ea_has_union_tier_2 = yes } # Union tier 2 allows wars + is_elven_alliance_member = yes + any_of_scopes = { + array = global.elven_alliance_members + PREV = { has_offensive_war_with = PREV } + } + } + country_event = elven_alliance.10 + elven_alliance_leave = yes + } +} + +elven_alliance_hegemony_puppet = { + # get current popularities + store_ideologies_before_puppeting = yes + + var:global.ea_hegemony_leader = { + set_autonomy = { + target = PREV + autonomy_state = autonomy_ea_hegemony_subject + end_wars = no + end_civil_wars = no + } + } + + # restore ideologies + restore_ideologies_post_puppeting = yes +} + +elven_alliance_hegemony_end_puppet = { + var:global.ea_hegemony_leader = { + end_puppet = PREV + } +} + + +ea_set_type_hegemony = { + hidden_effect = { + ea_hegemony_select_leader = yes + set_global_flag = ea_type_hegemony + set_global_flag = ea_hegemony_resolutions_unlocked + every_country = { + limit = { is_elven_alliance_member = yes } + country_event = { id = elven_alliance.7 days = 1 } + } + } +} + +ea_set_type_martial = { + hidden_effect = { + set_global_flag = ea_type_martial + set_global_flag = ea_martial_resolutions_unlocked + every_country = { + limit = { is_elven_alliance_member = yes } + country_event = { id = elven_alliance.7 days = 1 } + } + } +} + +ea_set_type_union = { + hidden_effect = { + set_global_flag = ea_type_union + set_global_flag = ea_union_resolutions_unlocked + every_country = { + limit = { is_elven_alliance_member = yes } + country_event = { id = elven_alliance.7 days = 1 } + } + } +} + + +# Select strongest ea member and write it into global.ea_hegemony_leader_scorer +ea_hegemony_select_leader = { + get_highest_scored_country = { + var = global.ea_hegemony_leader + scorer = ea_hegemony_leader_scorer + } + # Notify new leader + var:global.ea_hegemony_leader = { + country_event = elven_alliance.6 + } +} + + +# Opens/Closes the details view +elven_alliance_toggle_details_view = { + if = { + limit = { has_country_flag = ring_details_view_open } + clr_country_flag = ring_details_view_open + } + if = { + limit = { has_country_flag = elven_alliance_details_view_open } + clr_country_flag = elven_alliance_details_view_open + } + # To keep the UI clean and smooth, we won't allow this to open when interception_form is open + else_if = { + limit = { NOT = { has_country_flag = ring_interception_form_open } } + set_country_flag = elven_alliance_details_view_open + } +} + + +# This THIS has a resolution in the ea queue, remove it +elven_alliance_withdraw_resolution_from_queue = { + if = { + limit = { ea_has_resolution_in_queue = yes } + clear_variable = ea_resolution_target + # Loop over the array of tags, check if any matches ours, then remove entries from both arrays + for_each_loop = { + array = global.ea_proposers_queue + value = v + index = i + break = break + if = { + limit = { tag = v } + clear_variable = ea_resolution_target + remove_from_array = { array = global.ea_proposers_queue index = i } + remove_from_array = { array = global.ea_resolutions_queue index = i } + set_temp_variable = { break = 1 } + } + } + } +} + + +elven_alliance_join = { + custom_effect_tooltip = elven_alliance_join_tt + + set_country_flag = wtf_is_going_on + + if = { + limit = { is_elven_alliance_member = no } + # Add all the existing ideas to the new member + ea_alliance_add_to_new_member = yes + ea_industry_add_to_new_member = yes + ea_expansion_add_to_new_member = yes + + ea_trade_add_to_new_member = yes + ea_peace_add_to_new_member = yes + ea_research_add_to_new_member = yes + + ea_hegemony_add_to_new_member = yes + ea_martial_add_to_new_member = yes + ea_union_add_to_new_member = yes + + hidden_effect = { add_ideas = ea_is_member_idea } + + ea_apply_all_sanctions = yes + + add_to_array = { + global.elven_alliance_members = THIS + } + + set_country_flag = is_elven_alliance_member + } +} + +elven_alliance_leave = { + custom_effect_tooltip = "Leave the Elven Assembly" + if = { + limit = { is_elven_alliance_member = yes } + clr_country_flag = is_elven_alliance_member + + if = { + limit = { ea_has_martial_tier_3 = yes is_in_faction = yes } + leave_faction = yes + } + + remove_from_array = { + global.elven_alliance_members = THIS + } + + elven_alliance_withdraw_resolution_from_queue = yes + + # Note: Ideas get removed automatically through the cancel trigger + } +} + + +elven_allicane_increase_pp_cost = { + custom_effect_tooltip = elven_allicane_increase_pp_cost_tt + if = { + limit = { NOT = { has_variable = elven_alliance_proposal_cost } } + set_variable = { elven_alliance_proposal_cost = 25 } + } + add_to_variable = { elven_alliance_proposal_cost = 10 } +} + +elven_alliance_clear_votes = { + clear_array = global.elven_alliance_members_against + clear_array = global.elven_alliance_members_in_favour + clear_array = global.elven_alliance_members_abstain + + every_country = { + limit = { has_country_flag = is_elven_alliance_member } + add_to_array = { global.elven_alliance_members_abstain = THIS } + } +} + + + +elven_alliance_vote_in_favour = { + add_political_power = -5 + if = { + limit = { is_in_array = { global.elven_alliance_members_against = THIS } } + remove_from_array = { global.elven_alliance_members_against = THIS } + } + else_if = { + limit = { is_in_array = { global.elven_alliance_members_abstain = THIS } } + remove_from_array = { global.elven_alliance_members_abstain = THIS } + } + if = { + limit = { NOT = { is_in_array = { global.elven_alliance_members_in_favour = THIS } } } + add_to_array = { global.elven_alliance_members_in_favour = THIS } + } +} + +elven_alliance_vote_against = { + add_political_power = -5 + if = { + limit = { is_in_array = { global.elven_alliance_members_in_favour = THIS } } + remove_from_array = { global.elven_alliance_members_in_favour = THIS } + } + else_if = { + limit = { is_in_array = { global.elven_alliance_members_abstain = THIS } } + remove_from_array = { global.elven_alliance_members_abstain = THIS } + } + if = { + limit = { NOT = { is_in_array = { global.elven_alliance_members_against = THIS } } } + add_to_array = { global.elven_alliance_members_against = THIS } + } +} + +elven_alliance_abstain = { + add_political_power = -5 + if = { + limit = { is_in_array = { global.elven_alliance_members_against = THIS } } + remove_from_array = { global.elven_alliance_members_against = THIS } + } + else_if = { + limit = { is_in_array = { global.elven_alliance_members_in_favour = THIS } } + remove_from_array = { global.elven_alliance_members_in_favour = THIS } + } + if = { + limit = { NOT = { is_in_array = { global.elven_alliance_members_abstain = THIS } } } + add_to_array = { global.elven_alliance_members_abstain = THIS } + } +} + + + +# The effect that the current vote will have +elven_alliance_vote_effect = { + if = { + limit = { check_variable = { global.elven_alliance_members_in_favour^num > global.elven_alliance_members_against^num } } + + custom_effect_tooltip = elven_alliance_vote_passing_tt + elven_alliance_vote_passed_effect = yes + } + else = { + custom_effect_tooltip = elven_alliance_vote_failing_tt + effect_tooltip = { + elven_alliance_vote_passed_effect = yes + } + } +} + + +# The effect that the current vote will have if it passes +elven_alliance_vote_passed_effect = { + + if = { + limit = { check_variable = { global.ea_current_resolution = token:ea_resolution_alliance } } + ea_alliance_passed_effect = yes + } + else_if = { + limit = { check_variable = { global.ea_current_resolution = token:ea_resolution_industry } } + ea_industry_passed_effect = yes + } + else_if = { + limit = { check_variable = { global.ea_current_resolution = token:ea_resolution_trade } } + ea_trade_passed_effect = yes + } + else_if = { + limit = { check_variable = { global.ea_current_resolution = token:ea_resolution_expansion } } + ea_expansion_passed_effect = yes + } + else_if = { + limit = { check_variable = { global.ea_current_resolution = token:ea_resolution_peace } } + ea_peace_passed_effect = yes + } + else_if = { + limit = { check_variable = { global.ea_current_resolution = token:ea_resolution_research } } + ea_research_passed_effect = yes + } + else_if = { + limit = { check_variable = { global.ea_current_resolution = token:ea_resolution_union } } + ea_union_passed_effect = yes + } + else_if = { + limit = { check_variable = { global.ea_current_resolution = token:ea_resolution_martial } } + ea_martial_passed_effect = yes + } + else_if = { + limit = { check_variable = { global.ea_current_resolution = token:ea_resolution_hegemony } } + ea_hegemony_passed_effect = yes + } + else_if = { + limit = { check_variable = { global.ea_current_resolution = token:ea_resolution_kick} } + ea_kick_passed_effect = yes + } + else_if = { + limit = { check_variable = { global.ea_current_resolution = token:ea_resolution_joint_war} } + ea_joint_war_passed_effect = yes + } + else_if = { + limit = { check_variable = { global.ea_current_resolution = token:ea_resolution_sanction} } + ea_sanction_passed_effect = yes + } + else_if = { + limit = { check_variable = { global.ea_current_resolution = token:ea_resolution_make_leader} } + ea_make_leader_passed_effect = yes + } +} + + +elven_alliance_ai_vote = { + if = { + limit = { ea_is_resolution_proposer = yes } + elven_alliance_vote_in_favour = yes + } + else = { + random_list = { + # Vote YES + 50 = { + # Add opinion modifier + modifier = { + add = ROOT.opinion@var:global.ea_current_resolution_proposer + } + # Make it less likely to switch votes + modifier = { + ea_is_voting_yes = yes + factor = 4 + } + # If we're a puppet -> vote like our master + modifier = { + is_puppet = yes + THIS.overlord = { ea_is_voting_yes = yes } + factor = 30 + } + # Hegemony leaders are always going to vote for themselves + modifier = { + ea_is_hegemony_leader = yes + check_variable = { global.ea_current_resolution = token:ea_resolution_hegemony } + factor = 100 + } + # Cooperative/Commie -> wants to expand more + modifier = { + OR = { + has_government = cooperative + has_government = revolutionary + } + check_variable = { global.ea_current_resolution = token:ea_resolution_expansion } + factor = 2 + } + # Federatives likes expanding even more + modifier = { + check_variable = { global.ea_current_resolution = token:ea_resolution_expansion } + has_country_leader_ideology = federative + factor = 2 + } + # Unaligned -> loves peace and stability + modifier = { + check_variable = { global.ea_current_resolution = token:ea_resolution_peace } + has_government = unaligned + factor = 5 + } + # Mercantile -> loves trade resolutions + modifier = { + check_variable = { global.ea_current_resolution = token:ea_resolution_trade } + has_country_leader_ideology = mercantile + factor = 10 + } + # Martial makes sense when at war + modifier = { + check_variable = { global.ea_current_resolution = token:ea_resolution_martial } + has_war = yes + factor = 5 + } + # Federatives LOVES unions + modifier = { + check_variable = { global.ea_current_resolution = token:ea_resolution_union } + has_country_leader_ideology = federative + factor = 10 + } + modifier = { + check_variable = { global.ea_current_resolution = token:ea_resolution_kick } + ea_is_current_resolution_target = yes + factor = 0 + } + modifier = { + check_variable = { global.ea_current_resolution = token:ea_resolution_sanction } + ea_is_current_resolution_target = yes + factor = 0 + } + # Not voting for anything that asshole proposes + modifier = { + has_war_with = var:global.ea_current_resolution_proposer + factor = 0 + } + elven_alliance_vote_in_favour = yes + } + + # VOTE NO + 50 = { + # If we're a puppet -> vote like our master + modifier = { + is_puppet = yes + THIS.overlord = { ea_is_voting_no = yes } + factor = 30 + } + # Make it less likely to switch votes + modifier = { + ea_is_voting_no = yes + factor = 4 + } + # Belli/Unaligned -> Doesn't want to expand more + modifier = { + OR = { + has_government = unaligned + has_government = belligerent + } + check_variable = { global.ea_current_resolution = token:ea_resolution_expansion } + factor = 2 + } + # Already at war -> fuck peace + modifier = { + check_variable = { global.ea_current_resolution = token:ea_resolution_peace } + has_war = yes + factor = 2 + } + # Cooperative and commie doesnt like hegemony + modifier = { + check_variable = { global.ea_current_resolution = token:ea_resolution_hegemony } + OR = { + has_government = cooperative + has_government = revolutionary + } + factor = 5 + } + # Martial makes no sense when chilling at peace + modifier = { + check_variable = { global.ea_current_resolution = token:ea_resolution_martial } + has_war = no + OR = { + has_government = cooperative + has_government = unaligned + } + factor = 2 + } + elven_alliance_vote_against = yes + } + + # ABSTAIN + 100 = { + # If we're a puppet -> vote like our master + modifier = { + is_puppet = yes + THIS.overlord = { ea_is_abstaining = yes } + factor = 30 + } + # Make it less likely to switch votes + modifier = { + OR = { + ea_is_voting_yes = yes + ea_is_voting_no = yes + } + factor = 0.5 + } + modifier = { + check_variable = { global.ea_current_resolution = token:ea_resolution_kick } + ea_is_current_resolution_target = yes + factor = 0 + } + modifier = { + check_variable = { global.ea_current_resolution = token:ea_resolution_sanction } + ea_is_current_resolution_target = yes + factor = 0 + } + elven_alliance_abstain = yes + } + + # In case all are 0 + 1 = { + + } + } + } +} + + +elven_alliance_ai_propose = { + random_list = { + 90 = { + # Dont propose anything + modifier = { + factor = 2 + elven_alliance_has_at_least_8_members = yes + } + } + 10 = { + random_list = { + + # This makes sure that if all modifiers are 0, something still gets picked + 1 = { } + + # ALLIANCE + 10 = { + modifier = { + factor = 0 + ea_alliance_can_be_passed = no + } + ea_alliance_add_to_queue = yes + } + + # INDUSTRY + 10 = { + modifier = { + factor = 0 + ea_industry_can_be_passed = no + } + ea_industry_add_to_queue = yes + } + + # EXPANSION + 10 = { + modifier = { + factor = 0 + ea_expansion_can_be_passed = no + } + modifier = { + factor = 0 + has_government = belligerent + } + modifier = { + factor = 2 + has_government = revolutionary + } + modifier = { + factor = 1.5 + has_government = cooperative + } + ea_expansion_add_to_queue = yes + } + + # PEACE + 10 = { + modifier = { + factor = 0 + ea_peace_can_be_passed = no + } + modifier = { + factor = 0 + has_government = belligerent + } + modifier = { + factor = 0 + has_government = revolutionary + } + ea_peace_add_to_queue = yes + } + + # TRADE + 10 = { + modifier = { + factor = 0 + ea_trade_can_be_passed = no + } + ea_trade_add_to_queue = yes + } + + # RESEARCH + 10 = { + modifier = { + factor = 0 + ea_research_can_be_passed = no + } + ea_research_add_to_queue = yes + } + + # SPECIAL + 10 = { + modifier = { + factor = 0 + ea_hegemony_can_be_passed = no + ea_martial_can_be_passed = no + ea_union_can_be_passed = no + } + if = { limit = { has_global_flag = ea_type_hegemony } ea_hegemony_add_to_queue = yes } + else_if = { limit = { has_global_flag = ea_type_martial } ea_martial_add_to_queue = yes } + else_if = { limit = { has_global_flag = ea_type_union } ea_union_add_to_queue = yes } + } + } + } + } +} \ No newline at end of file diff --git a/common/scripted_effects/00_lotr_ithilien_crisis_scripted_effects.txt b/common/scripted_effects/00_lotr_ithilien_crisis_scripted_effects.txt new file mode 100644 index 000000000..8f16be7c8 --- /dev/null +++ b/common/scripted_effects/00_lotr_ithilien_crisis_scripted_effects.txt @@ -0,0 +1,190 @@ + + +# Happens when mordor does the Ithilien crisis focus. Scope is MOR +ithc_commence_ithilien_crisis = { + + hidden_effect = { + GON = { ithc_set_vars = yes } + MOR = { ithc_set_vars = yes } + + set_global_flag = ithc_ithilien_crisis_commenced + + GON = { country_event = ithc.1 } + MOR = { country_event = ithc.2 } + } + + custom_effect_tooltip = ithc_commence_ithilien_crisis_tt +} + +ithc_set_vars = { + hidden_effect = { + set_variable = { ithc_pillage_decision_cost_pp = 50 } + } +} + +ithc_set_vars_long_term = { + custom_effect_tooltip = ithc_set_vars_long_term_tt + + set_country_flag = ithc_long_term_vars + set_variable = { ithc_bonus_pp = 0 } +} + +ithc_set_vars_short_term = { + custom_effect_tooltip = ithc_set_vars_short_term_tt + + set_country_flag = ithc_short_term_vars + set_variable = { ithc_bonus_pp = 30 } +} + +# Happens when GON and MOR got to war. Runs on no scope in particular +ithc_end_ithilien_crisis = { + clr_global_flag = ithc_ithilien_crisis_commenced +} + + +# THIS is the state to run effects on. +ithc_on_war_with_mordor_effects = { + + # spawn divisions + if = { + limit = { + check_variable = { ithc_pillage_level > 1 } + check_variable = { id = 22.id } + } + MOR = { + set_province_controller = 792 + set_province_controller = 6910 + set_province_controller = 3515 + load_oob = "ithc/ithc_slepper_cells_22" + } + } + else_if = { + limit = { + check_variable = { ithc_pillage_level > 1 } + check_variable = { id = 135.id } + } + MOR = { + set_province_controller = 3840 + set_province_controller = 7241 + set_province_controller = 2866 + load_oob = "ithc/ithc_slepper_cells_135" + } + } + else_if = { + limit = { + check_variable = { ithc_pillage_level > 1 } + check_variable = { id = 173.id } + } + MOR = { + set_province_controller = 7008 + set_province_controller = 7029 + set_province_controller = 7030 + load_oob = "ithc/ithc_slepper_cells_173" + } + } + else_if = { + limit = { + check_variable = { ithc_pillage_level > 1 } + check_variable = { id = 175.id } + } + MOR = { + set_province_controller = 7180 + set_province_controller = 3267 + set_province_controller = 3998 + load_oob = "ithc/ithc_slepper_cells_175" + } + } + + add_core_of = GON + clear_variable = ithc_pillage_level +} + + +# MOR contests a state -> Gon looses core and she shitshow begins +ithc_contest_state = { + + hidden_effect = { + force_enable_resistance = GON + start_resistance = yes + set_compliance = 50 + + set_state_flag = ithc_contested + + set_variable = { ithc_pillage_level = 0 } + } + effect_tooltip = { + start_resistance = yes + + custom_effect_tooltip = ithc_pillage_enable_new_decision_tt + } +} + +ithc_begin_pillage_decision = { + set_state_flag = ithc_pillage_operation + + add_to_variable = { ROOT.ithc_pillage_decision_cost_pp = 10 } +} + +ithc_begin_unpillage_decision = { + set_state_flag = ithc_pillage_operation + + add_to_variable = { ROOT.ithc_pillage_decision_cost_pp = 10 } +} + +ithc_end_pillage_decision = { + clr_state_flag = ithc_pillage_operation + + ithc_increase_pillage_level = yes +} + +ithc_end_unpillage_decision = { + clr_state_flag = ithc_pillage_operation + + ithc_decrease_pillage_level = yes +} + +ithc_increase_pillage_level = { + add_to_variable = { ithc_pillage_level = 1 } + + custom_effect_tooltip = ithc_increase_pillage_tt + ithc_set_state_modifier = yes +} + +ithc_decrease_pillage_level = { + subtract_from_variable = { ithc_pillage_level = 1 } + + custom_effect_tooltip = ithc_decrease_pillage_tt + hidden_effect = { + ithc_set_state_modifier = yes + } +} + +ithc_set_state_modifier = { + if = { + limit = { check_variable = { ithc_pillage_level < 1 } } + effect_tooltip = { add_dynamic_modifier = { modifier = ithc_pillage_modifier_1 } } + } + if = { + limit = { check_variable = { ithc_pillage_level = 1 } } + effect_tooltip = { add_dynamic_modifier = { modifier = ithc_pillage_modifier_2 } } + hidden_effect = { add_dynamic_modifier = { modifier = ithc_pillage_modifier_1 } } + } + else_if = { + limit = { check_variable = { ithc_pillage_level = 2 } } + effect_tooltip = { add_dynamic_modifier = { modifier = ithc_pillage_modifier_3 } } + hidden_effect = { add_dynamic_modifier = { modifier = ithc_pillage_modifier_2 } } + } + else_if = { + limit = { check_variable = { ithc_pillage_level = 3 } } + effect_tooltip = { transfer_state_to = MOR } + hidden_effect = { add_dynamic_modifier = { modifier = ithc_pillage_modifier_3 } } + } + else_if = { + limit = { check_variable = { ithc_pillage_level > 3 } } + transfer_state_to = MOR + } +} + + + + diff --git a/common/scripted_effects/00_lotr_lothlorien_scripted_effects.txt b/common/scripted_effects/00_lotr_lothlorien_scripted_effects.txt new file mode 100644 index 000000000..9381d4e53 --- /dev/null +++ b/common/scripted_effects/00_lotr_lothlorien_scripted_effects.txt @@ -0,0 +1,1257 @@ + + +# Initialize the variables at game start +lthi_initialize_values = { + set_variable = { lthi_base_nandor_influence = 100 } + set_variable = { lthi_base_noldor_influence = 36 } + set_variable = { lthi_base_sindar_influence = 31 } + set_variable = { lthi_base_halfelves_influence = 6 } + set_variable = { lthi_base_nonelves_influence = 0 } + set_variable = { lthi_base_orcs_influence = 0 } + + # These are for civil war + if = { + limit = { + has_completed_focus = lth_acknowledgethemordorthreat + has_government = revolutionary + } + set_variable = { lthi_base_noldor_influence = 0 } + } + else_if = { + limit = { + has_government = belligerent + has_completed_focus = lth_acknowledgethemordorthreat + } + set_variable = { lthi_base_sindar_influence = 0 } + } + + force_update_dynamic_modifier = yes + + add_dynamic_modifier = { + modifier = lothlorien_base_influences + } + add_dynamic_modifier = { + modifier = lthi_influence_bonuses + } + + # Bonus variables + set_variable = { lthi_nandor_bonus_conscription = 0 } + set_variable = { lthi_nandor_bonus_speed = 0 } + set_variable = { lthi_nandor_bonus_organization = 0 } + + set_variable = { lthi_noldor_bonus_attack = 0 } + set_variable = { lthi_noldor_bonus_breakthrough = 0 } + set_variable = { lthi_noldor_bonus_factoryoutput = 0 } + + set_variable = { lthi_sindar_bonus_constructionspeed = 0 } + set_variable = { lthi_sindar_bonus_supply = 0 } + set_variable = { lthi_sindar_bonus_research = 0 } + + set_variable = { lthi_halfelves_bonus_experiencegain = 0 } + set_variable = { lthi_halfelves_bonus_stability = 0 } + set_variable = { lthi_halfelves_bonus_consumergoods = 0 } + + set_variable = { lthi_nonelves_bonus_monthlypop = 0 } + set_variable = { lthi_orcs_bonus_strength = 0 } + + # max bonus vars + set_variable = { lthi_nandor_bonus_conscription_base = 0.1 } + set_variable = { lthi_nandor_bonus_speed_base = 0 } + set_variable = { lthi_nandor_bonus_organization_base = 0 } + + set_variable = { lthi_noldor_bonus_attack_base = 0.1 } + set_variable = { lthi_noldor_bonus_breakthrough_base = 0 } + set_variable = { lthi_noldor_bonus_factoryoutput_base = 0 } + + set_variable = { lthi_sindar_bonus_constructionspeed_base = 0.1 } + set_variable = { lthi_sindar_bonus_supply_base = 0 } + set_variable = { lthi_sindar_bonus_research_base = 0 } + + set_variable = { lthi_halfelves_bonus_experiencegain_base = 0.1 } + set_variable = { lthi_halfelves_bonus_stability_base = 0 } + set_variable = { lthi_halfelves_bonus_consumergoods_base = 0 } + + set_variable = { lthi_nonelves_bonus_monthlypop_base = 0.2 } + set_variable = { lthi_orcs_bonus_strength_base = 0.2 } + + lthi_update_values = yes +} + + +# Call this every time one of the influence vars is changed +lthi_update_values = { + # Make sure no negative values + clamp_variable = { var = lthi_base_nandor_influence min = 0 } + clamp_variable = { var = lthi_base_sindar_influence min = 0 } + clamp_variable = { var = lthi_base_noldor_influence min = 0 } + clamp_variable = { var = lthi_base_halfelves_influence min = 0 } + clamp_variable = { var = lthi_base_nonelves_influence min = 0 } + clamp_variable = { var = lthi_base_orcs_influence min = 0 } + + # Calculate sum + set_variable = { lthi_influence_sum = modifier@nandor_influence } + add_to_variable = { lthi_influence_sum = modifier@noldor_influence } + add_to_variable = { lthi_influence_sum = modifier@sindar_influence } + add_to_variable = { lthi_influence_sum = modifier@halfelves_influence } + add_to_variable = { lthi_influence_sum = modifier@nonelves_influence } + add_to_variable = { lthi_influence_sum = modifier@orcs_influence } + + # Calculate fractions + set_variable = { lthi_nandor_influence_fraction = modifier@nandor_influence } + set_variable = { lthi_noldor_influence_fraction = modifier@noldor_influence } + set_variable = { lthi_sindar_influence_fraction = modifier@sindar_influence } + set_variable = { lthi_halfelves_influence_fraction = modifier@halfelves_influence } + set_variable = { lthi_nonelves_influence_fraction = modifier@nonelves_influence } + set_variable = { lthi_orcs_influence_fraction = modifier@orcs_influence } + divide_variable = { lthi_nandor_influence_fraction = lthi_influence_sum } + divide_variable = { lthi_noldor_influence_fraction = lthi_influence_sum } + divide_variable = { lthi_sindar_influence_fraction = lthi_influence_sum } + divide_variable = { lthi_halfelves_influence_fraction = lthi_influence_sum } + divide_variable = { lthi_nonelves_influence_fraction = lthi_influence_sum } + divide_variable = { lthi_orcs_influence_fraction = lthi_influence_sum } + + # NOTE: Due to rounding errors, the fractions will not always sum up to 100% + # I could add a x*100 -> round(x) -> x/100 here, but that would still lead to errors (though less rare) + + # Ancestral Echoes in tandem focus: Noldor and Sindar share influence + if = { + limit = { has_completed_focus = lth_ancestralechoesintandem } + + set_temp_variable = { noldor_infl_frac_temp = lthi_noldor_influence_fraction } + add_to_variable = { lthi_noldor_influence_fraction = lthi_sindar_influence_fraction } + add_to_variable = { lthi_sindar_influence_fraction = noldor_infl_frac_temp } + } + + # Set bonus nandor + set_variable = { lthi_nandor_bonus_conscription = lthi_nandor_bonus_conscription_base } + set_variable = { lthi_nandor_bonus_speed = lthi_nandor_bonus_speed_base } + set_variable = { lthi_nandor_bonus_organization = lthi_nandor_bonus_organization_base } + multiply_variable = { lthi_nandor_bonus_conscription = lthi_nandor_influence_fraction } + multiply_variable = { lthi_nandor_bonus_speed = lthi_nandor_influence_fraction } + multiply_variable = { lthi_nandor_bonus_organization = lthi_nandor_influence_fraction } + + # Set bonus noldor + set_variable = { lthi_noldor_bonus_attack = lthi_noldor_bonus_attack_base } + set_variable = { lthi_noldor_bonus_breakthrough = lthi_noldor_bonus_breakthrough_base } + set_variable = { lthi_noldor_bonus_factoryoutput = lthi_noldor_bonus_factoryoutput_base } + multiply_variable = { lthi_noldor_bonus_attack = lthi_noldor_influence_fraction } + multiply_variable = { lthi_noldor_bonus_breakthrough = lthi_noldor_influence_fraction } + multiply_variable = { lthi_noldor_bonus_factoryoutput = lthi_noldor_influence_fraction } + + # Set bonus sindar + set_variable = { lthi_sindar_bonus_constructionspeed = lthi_sindar_bonus_constructionspeed_base } + set_variable = { lthi_sindar_bonus_supply = lthi_sindar_bonus_supply_base } + set_variable = { lthi_sindar_bonus_research = lthi_sindar_bonus_research_base } + multiply_variable = { lthi_sindar_bonus_constructionspeed = lthi_sindar_influence_fraction } + multiply_variable = { lthi_sindar_bonus_supply = lthi_sindar_influence_fraction } + multiply_variable = { lthi_sindar_bonus_research = lthi_sindar_influence_fraction } + + # Set bonus halfelves + set_variable = { lthi_halfelves_bonus_experiencegain = lthi_halfelves_bonus_experiencegain_base } + set_variable = { lthi_halfelves_bonus_stability = lthi_halfelves_bonus_stability_base } + set_variable = { lthi_halfelves_bonus_consumergoods = lthi_halfelves_bonus_consumergoods_base } + multiply_variable = { lthi_halfelves_bonus_experiencegain = lthi_halfelves_influence_fraction } + multiply_variable = { lthi_halfelves_bonus_stability = lthi_halfelves_influence_fraction } + multiply_variable = { lthi_halfelves_bonus_consumergoods = lthi_halfelves_influence_fraction } + + # Set bonus nonelves + set_variable = { lthi_nonelves_bonus_monthlypop = lthi_nonelves_bonus_monthlypop_base } + multiply_variable = { lthi_nonelves_bonus_monthlypop = lthi_nonelves_influence_fraction } + + # Set bonus orcs + set_variable = { lthi_orcs_bonus_strength = lthi_orcs_bonus_strength_base } + multiply_variable = { lthi_orcs_bonus_strength = lthi_orcs_influence_fraction } + + # If we have the unity_in_division modifier we need to find out how "evened out" the influence is + # For this, we fing the highest and lowest values + if = { + limit = { has_dynamic_modifier = { modifier = lth_unity_in_division_modifier } } + + add_to_temp_array = { temp_infl = lthi_nandor_influence_fraction } + add_to_temp_array = { temp_infl = lthi_noldor_influence_fraction } + add_to_temp_array = { temp_infl = lthi_sindar_influence_fraction } + add_to_temp_array = { temp_infl = lthi_halfelves_influence_fraction } + + find_highest_in_array = { + array = temp_infl + value = temp_highest_influence + } + + find_lowest_in_array = { + array = temp_infl + value = temp_lowest_influence + } + + # We subtract from 1 the difference between highest and lowest + subtract_from_temp_variable = { temp_highest_influence = temp_lowest_influence } + set_variable = { lth_influence_spread_bonus = 1 } + subtract_from_variable = { lth_influence_spread_bonus = temp_highest_influence } + + # Multiply with base value (maximum bonus) + multiply_variable = { lth_influence_spread_bonus = 0.15 } + } + # Purity and Brilliance: Any faction with more than 80% support automatically gets their bonus doubled + else_if = { + limit = { has_completed_focus = lth_purityandbrilliance } + + if = { + limit = { check_variable = { lthi_noldor_influence_fraction > 0.8 } } + multiply_variable = { lthi_noldor_bonus_attack = 2 } + multiply_variable = { lthi_noldor_bonus_breakthrough = 2 } + multiply_variable = { lthi_noldor_bonus_factoryoutput = 2 } + } + else_if = { + limit = { check_variable = { lthi_nandor_influence_fraction > 0.8 } } + multiply_variable = { lthi_nandor_bonus_conscription = 2 } + multiply_variable = { lthi_nandor_bonus_speed = 2 } + multiply_variable = { lthi_nandor_bonus_organization = 2 } + } + else_if = { + limit = { check_variable = { lthi_sindar_influence_fraction > 0.8 } } + multiply_variable = { lthi_sindar_bonus_constructionspeed = 2 } + multiply_variable = { lthi_sindar_bonus_supply = 2 } + multiply_variable = { lthi_sindar_bonus_research = 2 } + } + else_if = { + limit = { check_variable = { lthi_halfelves_influence_fraction > 0.8 } } + multiply_variable = { lthi_halfelves_bonus_experiencegain = 2 } + multiply_variable = { lthi_halfelves_bonus_stability = 2 } + multiply_variable = { lthi_halfelves_bonus_consumergoods = 2 } + } + else_if = { + limit = { check_variable = { lthi_nonelves_influence_fraction > 0.8 } } + multiply_variable = { lthi_nonelves_bonus_monthlypop = 2 } + } + else_if = { + limit = { check_variable = { lthi_orcs_influence_fraction > 0.8 } } + multiply_variable = { lthi_orcs_bonus_strength = 2 } + } + } +} + +lthi_increase_influence_nandor_one = { + add_to_variable = { + var = lthi_base_nandor_influence + value = 1 + tooltip = increase_influence_nandor_tt + } +} + +lthi_increase_influence_noldor_one = { + add_to_variable = { + var = lthi_base_noldor_influence + value = 1 + tooltip = increase_influence_noldor_tt + } +} + +lthi_increase_influence_sindar_one = { + add_to_variable = { + var = lthi_base_sindar_influence + value = 1 + tooltip = increase_influence_sindar_tt + } +} + +lthi_increase_influence_halfelves_one = { + add_to_variable = { + var = lthi_base_halfelves_influence + value = 1 + tooltip = increase_influence_halfelves_tt + } +} + +lthi_increase_influence_orcs_one = { + add_to_variable = { + var = lthi_base_orcs_influence + value = 1 + tooltip = increase_influence_orcs_tt + } +} + +lthi_increase_influence_nonelves_one = { + add_to_variable = { + var = lthi_base_nonelves_influence + value = 1 + tooltip = increase_influence_nonelves_tt + } +} + +lthi_increase_influence_nandor_twenty = { + add_to_variable = { + var = lthi_base_nandor_influence + value = 20 + tooltip = increase_influence_nandor_tt + } +} + +lthi_increase_influence_noldor_twenty = { + add_to_variable = { + var = lthi_base_noldor_influence + value = 20 + tooltip = increase_influence_noldor_tt + } +} + +lthi_increase_influence_sindar_twenty = { + add_to_variable = { + var = lthi_base_sindar_influence + value = 20 + tooltip = increase_influence_sindar_tt + } +} + +lthi_increase_influence_halfelves_twenty = { + add_to_variable = { + var = lthi_base_halfelves_influence + value = 20 + tooltip = increase_influence_halfelves_tt + } +} + +lthi_increase_influence_orcs_twenty = { + add_to_variable = { + var = lthi_base_orcs_influence + value = 20 + tooltip = increase_influence_orcs_tt + } +} + +lthi_increase_influence_nonelves_twenty = { + add_to_variable = { + var = lthi_base_nonelves_influence + value = 20 + tooltip = increase_influence_nonelves_tt + } +} + +lthi_increase_influence_nandor_minor = { + add_to_variable = { + var = lthi_base_nandor_influence + value = 20 + tooltip = increase_influence_nandor_tt + } +} + +lthi_increase_influence_nandor_intermediate = { + add_to_variable = { + var = lthi_base_nandor_influence + value = 35 + tooltip = increase_influence_nandor_tt + } +} + +lthi_increase_influence_nandor_major = { + add_to_variable = { + var = lthi_base_nandor_influence + value = 50 + tooltip = increase_influence_nandor_tt + } +} + +lthi_increase_influence_noldor_minor = { + add_to_variable = { + var = lthi_base_noldor_influence + value = 20 + tooltip = increase_influence_noldor_tt + } +} + +lthi_increase_influence_noldor_intermediate = { + add_to_variable = { + var = lthi_base_noldor_influence + value = 35 + tooltip = increase_influence_noldor_tt + } +} + +lthi_increase_influence_noldor_major = { + add_to_variable = { + var = lthi_base_noldor_influence + value = 50 + tooltip = increase_influence_noldor_tt + } +} + +lthi_increase_influence_sindar_minor = { + add_to_variable = { + var = lthi_base_sindar_influence + value = 20 + tooltip = increase_influence_sindar_tt + } +} + +lthi_increase_influence_sindar_intermediate = { + add_to_variable = { + var = lthi_base_sindar_influence + value = 35 + tooltip = increase_influence_sindar_tt + } +} + +lthi_increase_influence_sindar_major = { + add_to_variable = { + var = lthi_base_sindar_influence + value = 50 + tooltip = increase_influence_sindar_tt + } +} + +lthi_increase_influence_nonelves_minor = { + add_to_variable = { + var = lthi_base_nonelves_influence + value = 20 + tooltip = increase_influence_nonelves_tt + } +} + +lthi_increase_influence_nonelves_intermediate = { + add_to_variable = { + var = lthi_base_nonelves_influence + value = 35 + tooltip = increase_influence_nonelves_tt + } +} + +lthi_increase_influence_nonelves_major = { + add_to_variable = { + var = lthi_base_nonelves_influence + value = 50 + tooltip = increase_influence_nonelves_tt + } +} + +lthi_increase_influence_orcs_minor = { + add_to_variable = { + var = lthi_base_orcs_influence + value = 20 + tooltip = increase_influence_orcs_tt + } +} + +lthi_increase_influence_orcs_intermediate = { + add_to_variable = { + var = lthi_base_orcs_influence + value = 35 + tooltip = increase_influence_orcs_tt + } +} + +lthi_increase_influence_orcs_major = { + add_to_variable = { + var = lthi_base_orcs_influence + value = 50 + tooltip = increase_influence_orcs_tt + } +} + +lthi_increase_influence_orcs_huge = { + add_to_variable = { + var = lthi_base_orcs_influence + value = 200 + tooltip = increase_influence_orcs_tt + } +} + +lthi_increase_influence_halfelves_minor = { + add_to_variable = { + var = lthi_base_halfelves_influence + value = 20 + tooltip = increase_influence_halfelves_tt + } +} + +lthi_increase_influence_halfelves_intermediate = { + add_to_variable = { + var = lthi_base_halfelves_influence + value = 35 + tooltip = increase_influence_halfelves_tt + } +} + +lthi_increase_influence_halfelves_major = { + add_to_variable = { + var = lthi_base_halfelves_influence + value = 50 + tooltip = increase_influence_halfelves_tt + } +} + +lthi_celebrations_increase_influence_halfelves_minor = { + add_to_variable = { + var = lthi_base_halfelves_influence + value = 25 + tooltip = increase_influence_halfelves_tt + } +} + +lthi_celebrations_increase_influence_halfelves_intermediate = { + add_to_variable = { + var = lthi_base_halfelves_influence + value = 45 + tooltip = increase_influence_halfelves_tt + } +} + +lthi_celebrations_increase_influence_halfelves_major = { + add_to_variable = { + var = lthi_base_halfelves_influence + value = 75 + tooltip = increase_influence_halfelves_tt + } +} + +lthi_celebrations_increase_influence_nandor_minor = { + add_to_variable = { + var = lthi_base_nandor_influence + value = 25 + tooltip = increase_influence_nandor_tt + } +} + +lthi_celebrations_increase_influence_nandor_intermediate = { + add_to_variable = { + var = lthi_base_nandor_influence + value = 45 + tooltip = increase_influence_nandor_tt + } +} + +lthi_celebrations_increase_influence_nandor_major = { + add_to_variable = { + var = lthi_base_nandor_influence + value = 75 + tooltip = increase_influence_nandor_tt + } +} + +lthi_celebrations_increase_influence_noldor_minor = { + add_to_variable = { + var = lthi_base_noldor_influence + value = 25 + tooltip = increase_influence_noldor_tt + } +} + +lthi_celebrations_increase_influence_noldor_intermediate = { + add_to_variable = { + var = lthi_base_noldor_influence + value = 45 + tooltip = increase_influence_noldor_tt + } +} + +lthi_celebrations_increase_influence_noldor_major = { + add_to_variable = { + var = lthi_base_noldor_influence + value = 75 + tooltip = increase_influence_noldor_tt + } +} + +lthi_celebrations_increase_influence_sindar_minor = { + add_to_variable = { + var = lthi_base_sindar_influence + value = 25 + tooltip = increase_influence_sindar_tt + } +} + +lthi_celebrations_increase_influence_sindar_intermediate = { + add_to_variable = { + var = lthi_base_sindar_influence + value = 45 + tooltip = increase_influence_sindar_tt + } +} + +lthi_celebrations_increase_influence_sindar_major = { + add_to_variable = { + var = lthi_base_sindar_influence + value = 75 + tooltip = increase_influence_sindar_tt + } +} + +lthi_decrease_influence_nandor_minor = { + add_to_variable = { + var = lthi_base_nandor_influence + value = -20 + tooltip = decrease_influence_nandor_tt + } +} + +lthi_decrease_influence_nandor_intermediate = { + add_to_variable = { + var = lthi_base_nandor_influence + value = -35 + tooltip = decrease_influence_nandor_tt + } +} + +lthi_decrease_influence_nandor_major = { + add_to_variable = { + var = lthi_base_nandor_influence + value = -50 + tooltip = decrease_influence_nandor_tt + } +} + +lthi_decrease_influence_noldor_minor = { + add_to_variable = { + var = lthi_base_noldor_influence + value = -20 + tooltip = decrease_influence_noldor_tt + } +} + +lthi_decrease_influence_noldor_intermediate = { + add_to_variable = { + var = lthi_base_noldor_influence + value = -35 + tooltip = decrease_influence_noldor_tt + } +} + +lthi_decrease_influence_noldor_major = { + add_to_variable = { + var = lthi_base_noldor_influence + value = -50 + tooltip = decrease_influence_noldor_tt + } +} + +lthi_decrease_influence_sindar_minor = { + add_to_variable = { + var = lthi_base_sindar_influence + value = -20 + tooltip = decrease_influence_sindar_tt + } +} + +lthi_decrease_influence_sindar_intermediate = { + add_to_variable = { + var = lthi_base_sindar_influence + value = -35 + tooltip = decrease_influence_sindar_tt + } +} + +lthi_decrease_influence_sindar_major = { + add_to_variable = { + var = lthi_base_sindar_influence + value = -50 + tooltip = decrease_influence_sindar_tt + } +} + +lthi_decrease_influence_halfelves_minor = { + add_to_variable = { + var = lthi_base_halfelves_influence + value = -20 + tooltip = decrease_influence_halfelves_tt + } +} + +lthi_decrease_influence_halfelves_intermediate = { + add_to_variable = { + var = lthi_base_halfelves_influence + value = -35 + tooltip = decrease_influence_halfelves_tt + } +} + +lthi_decrease_influence_halfelves_major = { + add_to_variable = { + var = lthi_base_halfelves_influence + value = -50 + tooltip = decrease_influence_halfelves_tt + } +} + +lthi_decrease_influence_nonelves_minor = { + add_to_variable = { + var = lthi_base_nonelves_influence + value = -20 + tooltip = decrease_influence_nonelves_tt + } +} + +lthi_decrease_influence_nonelves_intermediate = { + add_to_variable = { + var = lthi_base_nonelves_influence + value = -35 + tooltip = decrease_influence_nonelves_tt + } +} + +lthi_decrease_influence_nonelves_major = { + add_to_variable = { + var = lthi_base_nonelves_influence + value = -50 + tooltip = decrease_influence_nonelves_tt + } +} + +lthi_decrease_influence_orcs_minor = { + add_to_variable = { + var = lthi_base_orcs_influence + value = -20 + tooltip = decrease_influence_orcs_tt + } +} + +lthi_decrease_influence_orcs_intermediate = { + add_to_variable = { + var = lthi_base_orcs_influence + value = -35 + tooltip = decrease_influence_orcs_tt + } +} + +lthi_decrease_influence_orcs_major = { + add_to_variable = { + var = lthi_base_orcs_influence + value = -50 + tooltip = decrease_influence_orcs_tt + } +} + + + +lthi_decrease_cw_timer = { + add_days_mission_timeout = { + mission = great_schism_civil_war + days = -60 + } +} + +lthi_increase_cw_timer = { + add_days_mission_timeout = { + mission = great_schism_civil_war + days = 90 + } +} + +lthi_increase_bonus_nandor = { + custom_effect_tooltip = lthi_increase_bonus_nandor_tt + multiply_variable = { lthi_nandor_bonus_conscription_base = 1.2 } + multiply_variable = { lthi_nandor_bonus_organization_base = 1.2 } + multiply_variable = { lthi_nandor_bonus_speed_base = 1.2 } +} + +lthi_increase_bonus_noldor = { + custom_effect_tooltip = lthi_increase_bonus_noldor_tt + multiply_variable = { lthi_noldor_bonus_attack_base = 1.2 } + multiply_variable = { lthi_noldor_bonus_breakthrough_base = 1.2 } + multiply_variable = { lthi_noldor_bonus_factoryoutput_base = 1.2 } +} + +lthi_increase_bonus_sindar = { + custom_effect_tooltip = lthi_increase_bonus_sindar_tt + multiply_variable = { lthi_sindar_bonus_constructionspeed_base = 1.2 } + multiply_variable = { lthi_sindar_bonus_research_base = 1.2 } + multiply_variable = { lthi_sindar_bonus_supply_base = 1.2 } +} + +lthi_increase_bonus_halfelves = { + custom_effect_tooltip = lthi_increase_bonus_halfelves_tt + multiply_variable = { lthi_halfelves_bonus_consumergoods_base = 1.2 } + multiply_variable = { lthi_halfelves_bonus_experiencegain_base = 1.2 } + multiply_variable = { lthi_halfelves_bonus_stability_base = 1.2 } +} + +lthi_decrease_bonus_nandor = { + custom_effect_tooltip = lthi_decrease_bonus_nandor_tt + multiply_variable = { lthi_nandor_bonus_conscription_base = 0.8 } + multiply_variable = { lthi_nandor_bonus_organization_base = 0.8 } + multiply_variable = { lthi_nandor_bonus_speed_base = 0.8 } +} + +lthi_decrease_bonus_noldor = { + custom_effect_tooltip = lthi_decrease_bonus_noldor_tt + multiply_variable = { lthi_noldor_bonus_attack_base = 0.8 } + multiply_variable = { lthi_noldor_bonus_breakthrough_base = 0.8 } + multiply_variable = { lthi_noldor_bonus_factoryoutput_base = 0.8 } +} + +lthi_decrease_bonus_sindar = { + custom_effect_tooltip = lthi_decrease_bonus_sindar_tt + multiply_variable = { lthi_sindar_bonus_constructionspeed_base = 0.8 } + multiply_variable = { lthi_sindar_bonus_research_base = 0.8 } + multiply_variable = { lthi_sindar_bonus_supply_base = 0.8 } +} + +lthi_decrease_bonus_halfelves = { + custom_effect_tooltip = lthi_decrease_bonus_halfelves_tt + multiply_variable = { lthi_halfelves_bonus_consumergoods_base = 0.8 } + multiply_variable = { lthi_halfelves_bonus_experiencegain_base = 0.8 } + multiply_variable = { lthi_halfelves_bonus_stability_base = 0.8 } +} + +lthi_decrease_bonus_nandor_major = { + custom_effect_tooltip = lthi_decrease_bonus_nandor_major_tt + multiply_variable = { lthi_nandor_bonus_conscription_base = 0.1 } + multiply_variable = { lthi_nandor_bonus_organization_base = 0.1 } + multiply_variable = { lthi_nandor_bonus_speed_base = 0.1 } +} + +lthi_decrease_bonus_noldor_major = { + custom_effect_tooltip = lthi_decrease_bonus_noldor_major_tt + multiply_variable = { lthi_noldor_bonus_attack_base = 0.1 } + multiply_variable = { lthi_noldor_bonus_breakthrough_base = 0.1 } + multiply_variable = { lthi_noldor_bonus_factoryoutput_base = 0.1 } +} + +lthi_decrease_bonus_sindar_major = { + custom_effect_tooltip = lthi_decrease_bonus_sindar_major_tt + multiply_variable = { lthi_sindar_bonus_constructionspeed_base = 0.1 } + multiply_variable = { lthi_sindar_bonus_research_base = 0.1 } + multiply_variable = { lthi_sindar_bonus_supply_base = 0.1 } +} + +lthi_decrease_bonus_halfelves_major = { + custom_effect_tooltip = lthi_decrease_bonus_halfelves_major_tt + multiply_variable = { lthi_halfelves_bonus_consumergoods_base = 0.1 } + multiply_variable = { lthi_halfelves_bonus_experiencegain_base = 0.1 } + multiply_variable = { lthi_halfelves_bonus_stability_base = 0.1 } +} + +lthi_send_to_valinor_nandor = { + random_character = { + limit = { + is_advisor = yes + # Don't retire the big boys + NOT = { is_character = LTH_celeborn } + NOT = { is_character = LTH_galadriel } + NOT = { is_character = LTH_haldir } + + character_has_nandor_trait = yes + } + + LTH = { + retire_character = PREV + } + } + + add_manpower = -10000 + + lthi_decrease_influence_nandor_major = yes +} + +lthi_send_to_valinor_noldor = { + random_character = { + limit = { + is_advisor = yes + # Don't retire the big boys + NOT = { is_character = LTH_celeborn } + NOT = { is_character = LTH_galadriel } + NOT = { is_character = LTH_haldir } + + character_has_noldor_trait = yes + } + + LTH = { + retire_character = PREV + } + } + + add_manpower = -10000 + + lthi_decrease_influence_noldor_major = yes +} + +lthi_send_to_valinor_sindar = { + random_character = { + limit = { + is_advisor = yes + # Don't retire the big boys + NOT = { is_character = LTH_celeborn } + NOT = { is_character = LTH_galadriel } + NOT = { is_character = LTH_haldir } + + character_has_sindar_trait = yes + } + + LTH = { + retire_character = PREV + } + } + + add_manpower = -10000 + + lthi_decrease_influence_sindar_major = yes +} + +lthi_send_to_valinor_halfelves = { + random_character = { + limit = { + is_advisor = yes + # Don't retire the big boys + NOT = { is_character = LTH_celeborn } + NOT = { is_character = LTH_galadriel } + NOT = { is_character = LTH_haldir } + + character_has_halfelves_trait = yes + } + + LTH = { + retire_character = PREV + } + } + + add_manpower = -10000 + + lthi_decrease_influence_halfelves_major = yes +} + + +lth_on_weekly = { + # New breed adds 3 orc influence every week + if = { + limit = { has_completed_focus = lth_anewbreed } + add_to_variable = { + var = lthi_base_orcs_influence + value = 3 + } + } + + lthi_update_values = yes +} + +lth_spawn_spider_division = { + load_oob = Lothlorien_Spiders +} + +lth_spawn_spider_ent_division = { + load_oob = Lothlorien_Spiders_2 +} + +lth_spawn_orc_penal_division = { + if = { + limit = { has_completed_focus = lth_thegiftofservitude } + load_oob = Lothlorien_Orc_Prisoners_2 + } + else = { + load_oob = Lothlorien_Orc_Prisoners + } +} + + +lth_on_yearly = { + # clear flag whena t war with spoders + if = { + limit = { + has_country_flag = lth_spider_cooperation + any_country = { + is_spiders = yes + has_war_with = LTH + } + } + clr_country_flag = lth_spider_cooperation + } + if = { + limit = { + has_country_flag = lth_spider_cooperation + any_country = { + is_ents = yes + has_war_with = LTH + } + } + clr_country_flag = lth_ent_cooperation + } + + # Spawn spoder/ent divisions + if = { + limit = { + has_completed_focus = lth_theforestbetween + has_country_flag = lth_spider_cooperation + has_country_flag = lth_ent_cooperation + controls_state = 75 + } + lth_spawn_spider_ent_division = yes + } + else_if = { + limit = { + has_country_flag = lth_spider_cooperation + controls_state = 75 + } + lth_spawn_spider_division = yes + } + if = { + limit = { + has_completed_focus = lth_sauronstoolsturned + NOT = { is_ally_with = MOR } + controls_state = 75 + } + lth_spawn_orc_penal_division = yes + } + + + # immortal endurance growth + if = { + limit = { + has_completed_focus = lth_endurethedarkness + has_dynamic_modifier = { modifier = lth_immortal_endurance_modifier } + check_variable = { lth_immortal_endurance_bonus < 0.4 } # cap + } + add_to_variable = { lth_immortal_endurance_bonus = 0.04 } + } + else_if = { + limit = { + has_dynamic_modifier = { modifier = lth_immortal_endurance_modifier } + check_variable = { lth_immortal_endurance_bonus < 0.14 } # cap + } + + add_to_variable = { lth_immortal_endurance_bonus = 0.02 } + } + + if = { + limit = { + has_dynamic_modifier = { modifier = lth_immortal_endurance_modifier } + has_completed_focus = lth_preservationofknowledge + } + set_variable = { lth_preservationofknowledge_bonus = var:lth_immortal_endurance_bonus } + } +} + +# Make the isoloationist_resevations idea less bad +lth_lower_isolationist_reservations = { + if = { + limit = { has_idea = LTH_isolationist_reservations_3 } + swap_ideas = { + remove_idea = LTH_isolationist_reservations_3 + add_idea = LTH_isolationist_reservations_2 + } + } + else_if = { + limit = { has_idea = LTH_isolationist_reservations_2 } + swap_ideas = { + remove_idea = LTH_isolationist_reservations_2 + add_idea = LTH_isolationist_reservations_1 + } + } + else_if = { + limit = { has_idea = LTH_isolationist_reservations_1 } + remove_ideas = LTH_isolationist_reservations_1 + } + else_if = { + limit = { has_idea = LTH_total_isolation_idea } + add_political_power = 100 + } +} + +lthi_activate_nonelves = { + custom_effect_tooltip = lthi_activate_nonelves_tt + add_to_variable = { lthi_base_nonelves_influence = 50 } +} + +lthi_activate_orcs = { + custom_effect_tooltip = lthi_activate_orcs_tt + add_to_variable = { lthi_base_orcs_influence = 100 } +} + +lthi_hire_random_advisors = { + # Fill treasurer, spymaster and political advisor slots with random advisors + + # NOTE: This does not care if advisors are already hired, or if they have been sent to Valinor + # Too bad. + + # treasurer + if = { + limit = { + amount_taken_ideas = { amount < 1 slots = { treasurer } } + } + random_list = { + 10 = { activate_advisor = generic_LTH_longterm_planner_treasurer } + 10 = { activate_advisor = generic_LTH_serial_indeptor_treasurer } + 10 = { activate_advisor = generic_LTH_level_headed_financier_treasurer } + 10 = { activate_advisor = generic_LTH_backalley_dealer_treasurer } + } + } + + # spymaster (no-lar) + if = { + limit = { + NOT = { has_dlc = "La Resistance" } + amount_taken_ideas = { amount < 1 slots = { spymaster } } + } + random_list = { + 10 = { activate_advisor = generic_LTH_hearts_and_minds_occupier_nolar_spymaster } + 10 = { activate_advisor = generic_LTH_networking_genius_nolar_spymaster } + 10 = { activate_advisor = generic_LTH_daredevil_nolar_spymaster } + 10 = { activate_advisor = generic_LTH_strict_supervisor_nolar_spymaster } + 10 = { activate_advisor = generic_LTH_bribe_dispenser_nolar_spymaster } + } + } + + # spymaster (lar) + if = { + limit = { + has_dlc = "La Resistance" + amount_taken_ideas = { amount < 1 slots = { spymaster } } + } + random_list = { + 10 = { activate_advisor = generic_LTH_hearts_and_minds_occupier_spymaster } + 10 = { activate_advisor = generic_LTH_networking_genius_spymaster } + 10 = { activate_advisor = generic_LTH_daredevil_spymaster } + 10 = { activate_advisor = generic_LTH_strict_supervisor_spymaster } + 10 = { activate_advisor = generic_LTH_bribe_dispenser_spymaster } + } + } + + # advisor #1 + if = { + limit = { + amount_taken_ideas = { amount < 2 slots = { political_advisor } } + } + random_list = { + 10 = { activate_advisor = generic_LTH_inspiring_artist_political_advisor } + 10 = { activate_advisor = generic_LTH_food_hoarder_political_advisor } + 10 = { activate_advisor = generic_LTH_aristocratic_landowner_political_advisor } + 10 = { activate_advisor = generic_LTH_stubborn_struggler_political_advisor } + 10 = { activate_advisor = generic_LTH_trade_enthusiast_political_advisor } + 10 = { activate_advisor = generic_LTH_military_lobbyist_political_advisor } + 10 = { activate_advisor = generic_LTH_silent_workhorse_political_advisor } + 10 = { activate_advisor = generic_LTH_reluctant_interventionist_political_advisor } + 10 = { activate_advisor = generic_LTH_xenophobic_isolationist_political_advisor } + 10 = { activate_advisor = generic_LTH_militant_bully_political_advisor } + 10 = { activate_advisor = generic_LTH_propaganda_expert_political_advisor } + 10 = { activate_advisor = generic_LTH_sower_of_distrust_political_advisor } + } + } + + # advisor #2 + if = { + limit = { + amount_taken_ideas = { amount < 2 slots = { political_advisor } } + } + random_list = { + 10 = { activate_advisor = generic_LTH_inspiring_artist_political_advisor } + 10 = { activate_advisor = generic_LTH_food_hoarder_political_advisor } + 10 = { activate_advisor = generic_LTH_aristocratic_landowner_political_advisor } + 10 = { activate_advisor = generic_LTH_stubborn_struggler_political_advisor } + 10 = { activate_advisor = generic_LTH_trade_enthusiast_political_advisor } + 10 = { activate_advisor = generic_LTH_military_lobbyist_political_advisor } + 10 = { activate_advisor = generic_LTH_silent_workhorse_political_advisor } + 10 = { activate_advisor = generic_LTH_reluctant_interventionist_political_advisor } + 10 = { activate_advisor = generic_LTH_xenophobic_isolationist_political_advisor } + 10 = { activate_advisor = generic_LTH_militant_bully_political_advisor } + 10 = { activate_advisor = generic_LTH_propaganda_expert_political_advisor } + 10 = { activate_advisor = generic_LTH_sower_of_distrust_political_advisor } + } + } +} + + +lth_harmoinic_ascendandy_year_one = { + add_political_power = 50 + random_state_add_building_slot_and_civ = yes + random_state_add_building_slot_and_mil = yes +} + +lth_harmoinic_ascendandy_year_two = { + add_political_power = 100 + add_stability = 0.1 + add_war_support = 0.1 + random_state_add_building_slot_and_civ_x2 = yes + random_state_add_building_slot_and_mil_x2 = yes +} + +lth_harmoinic_ascendandy_year_three = { + add_political_power = 150 + add_research_slot = 1 + random_state_add_building_slot_and_civ_x3 = yes + random_state_add_building_slot_and_mil_x3 = yes +} + +lth_accord_cele_term = { + hidden_effect = { + set_popularities = { + belligerent = 50 + revolutionary = 50 + } + set_politics = { + ruling_party = revolutionary + elections_allowed = no + } + + add_timed_idea = { + idea = LTH_celeborn_galadriel_accord_cele + days = 365 + } + + # Gala becomes chief advisor that cant be fired + activate_advisor = LTH_galadriel_chief_advisor + set_can_be_fired_in_advisor_role = { + character = LTH_galadriel + slot = chief_advisor + value = no + } + } + custom_effect_tooltip = lth_accord_cele_term_tt +} + +lth_accord_gala_term = { + hidden_effect = { + set_popularities = { + belligerent = 50 + revolutionary = 50 + } + set_politics = { + ruling_party = belligerent + elections_allowed = no + } + + add_timed_idea = { + idea = LTH_celeborn_galadriel_accord_gala + days = 365 + } + + # Cele becomes chief advisor that cant be fired + activate_advisor = LTH_celeborn_chief_advisor + set_can_be_fired_in_advisor_role = { + character = LTH_celeborn + slot = chief_advisor + value = no + } + } + custom_effect_tooltip = lth_accord_gala_term_tt +} + +lth_add_sharedcause_mp = { + set_temp_variable = { lth_sharedcause_total_manpower_gained = 0 } + + hidden_effect = { + every_other_country = { + limit = { + has_government = revolutionary + NOT = { original_tag = lth } + } + + set_temp_variable = { lth_sharedcause_manpower_gained = party_popularity@revolutionary } + if = { + limit = { + is_major = yes + } + multiply_temp_variable = { lth_sharedcause_manpower_gained = 40000 } + + } + else = { + multiply_temp_variable = { lth_sharedcause_manpower_gained = 10000 } + } + add_to_temp_variable = { + var = lth_sharedcause_total_manpower_gained + value = lth_sharedcause_manpower_gained + } + } + } + clamp_temp_variable = { + var = lth_sharedcause_total_manpower_gained + min = 15000 + max = 150000 + } + + custom_effect_tooltip = lth_add_sharedcause_mp_tt + add_manpower = lth_sharedcause_total_manpower_gained +} \ No newline at end of file diff --git a/common/scripted_effects/00_scripted_effects.txt b/common/scripted_effects/00_scripted_effects.txt index ba8dfd734..da2d5edc6 100644 --- a/common/scripted_effects/00_scripted_effects.txt +++ b/common/scripted_effects/00_scripted_effects.txt @@ -20,7 +20,7 @@ ### emergency_factory_conversion #### ##################################### -#This is going to give misleading and ugly tooltips. Making it nice will take effort. TODO_WTT_CD make nice or ignore and remove comment. Easiest solution is just making a custom tooltip that says "5 civilian factories will be converted to military factories" and ignore telling the player the states where it will happen. +#This is going to give misleading and ugly tooltips. Making it nice will take effort. T_ODO_WTT_CD make nice or ignore and remove comment. Easiest solution is just making a custom tooltip that says "5 civilian factories will be converted to military factories" and ignore telling the player the states where it will happen. replace_civ_with_arms_factories = { @@ -628,24 +628,20 @@ join_allies_effect = { } -#Should remove any and all fascist foreign influence, to be updated -remove_fascist_spirits_effect = { +#Should remove any and all belligerent foreign influence, to be updated +remove_belligerent_spirits_effect = { if = { - limit = { has_idea = fascist_influence } - remove_ideas = fascist_influence + limit = { has_idea = belligerent_influence } + remove_ideas = belligerent_influence } } -#Should remove any and all communist foreign influence -remove_communist_spirits_effect = { +#Should remove any and all revolutionary foreign influence +remove_revolutionary_spirits_effect = { if = { limit = { has_idea = american_influence_drift_revolutionary } remove_ideas = american_influence_drift_revolutionary } - if = { - limit = { has_idea = comintern_influence } - remove_ideas = comintern_influence - } if = { limit = { has_idea = pan_slavic_propaganda } remove_ideas = pan_slavic_propaganda @@ -655,16 +651,16 @@ remove_communist_spirits_effect = { remove_ideas = agitated_peasants } if = { - limit = { has_idea = armed_communist_militants } - remove_ideas = armed_communist_militants + limit = { has_idea = armed_revolutionary_militants } + remove_ideas = armed_revolutionary_militants } if = { - limit = { has_idea = BALTIC_communist_propaganda } - remove_ideas = BALTIC_communist_propaganda + limit = { has_idea = BALTIC_revolutionary_propaganda } + remove_ideas = BALTIC_revolutionary_propaganda } if = { - limit = { has_idea = BALTIC_communist_militancy } - remove_ideas = BALTIC_communist_militancy + limit = { has_idea = BALTIC_revolutionary_militancy } + remove_ideas = BALTIC_revolutionary_militancy } } @@ -1066,3 +1062,329 @@ on_daily = { #on_daily_USA = { # # you can specify an on daily action for a specific country #} + + +remove_any_country_role_from_character = { #Expected to be used inside the character scope + #log = "I am [THIS.GetName]" + if = { + limit = { + is_character_slot = army_chief + } + remove_advisor_role = { slot = army_chief } + } + if = { + limit = { + is_character_slot = navy_chief + } + remove_advisor_role = { slot = navy_chief } + } + if = { + limit = { + is_character_slot = high_command + } + remove_advisor_role = { slot = high_command } + } + if = { + limit = { + is_character_slot = theorist + } + remove_advisor_role = { slot = theorist } + } + if = { + limit = { + is_character_slot = political_advisor + } + remove_advisor_role = { slot = political_advisor } + } +} + +### Paratroopers +SF_PARA_sabotage_effect = { #When changing this, update the research tooltip + damage_building = { + type = infrastructure + damage = 2 + } + damage_building = { + type = industrial_complex + damage = 1 + } + damage_building = { + type = arms_factory + damage = 1 + } + set_state_flag = { + flag = para_drop_effect + days = 30 + } +} + +SF_PARA_combat_effect = { #When changing this, update the research tooltip + every_state_division = { + limit = { + OWNER = { has_war_with = FROM } + } + set_unit_organization = 0.50 + } + set_state_flag = { + flag = para_drop_effect + days = 30 + } +} + +### Muuuurrrriiinnnnneeeeessssss +SF_marine_demoliton_effect = { #When changing this, update the research tooltip + damage_building = { + type = radar_station + damage = 1 + } + damage_building = { + type = naval_base + damage = 1 + } + damage_building = { + type = dockyard + damage = 1 + } + damage_building = { + type = nuclear_reactor + damage = 1 + } + damage_building = { + type = rocket_site + damage = 1 + } + damage_building = { + type = fuel_silo + damage = 1 + } + set_state_flag = { + flag = marines_commando_effect + days = 30 + } +} + +########################################################################################### +########################################################################################### +########################################################################################### + + ######## ### ### ######## + ## ## ## ## ## ## + ## ## ## ## ## ## + ## ## ## ## ## ## + ## ######### ######### ## + ## ## ## ## ## ## + ## ## ## ## ## ## + +########################################################################################### +########################################################################################### +########################################################################################### + +find_global_platonic_countries = { # Look for the countries that meet the best criteria for the different platonic countries we expect in HoI + find_biggest_belligerent = yes + find_biggest_democrat = yes + find_biggest_revolutionary = yes + find_biggest_belligerent_bully = yes + find_best_cooperative_ally_leader = yes + find_cooperative_sleeping_giant = yes + find_local_dangerous_belligerent = yes +} + + +find_biggest_belligerent_bully = { # Finds the biggest and/or meanest belligerent country + get_highest_scored_country = { + var = GLOBAL.platonic_belligerent_bully + scorer = belligerent_bully_scorer + } +} + +find_best_cooperative_ally_leader = { # Finds the most suitable cooperative country to lead a faction + get_highest_scored_country = { + var = GLOBAL.platonic_cooperative_ally_leader + scorer = cooperative_faction_leader_scorer + } +} + +find_cooperative_sleeping_giant = { # Finds biggest desarmed cooperative nation. Expected to be USA + get_highest_scored_country = { + var = GLOBAL.platonic_cooperative_sleeping_giant + scorer = cooperative_sleeping_giant_scorer + } +} + +find_biggest_belligerent = { # Finds Nazi Germany, or the closest to it + get_highest_scored_country = { + var = GLOBAL.platonic_big_belligerent + scorer = belligerent_major_scorer + } +} + +find_biggest_democrat = { # Finds biggest Democratic Nation + get_highest_scored_country = { + var = GLOBAL.platonic_big_cooperative + scorer = cooperative_major_scorer + } +} + +find_biggest_revolutionary = { # Finds biggest Communist + get_highest_scored_country = { + var = GLOBAL.platonic_big_revolutionary + scorer = revolutionary_major_scorer + } +} + +# There are ideology scorers for each continent. If you need more check the generic_platonic_scorers file and make a new scripted effect + +find_local_dangerous_belligerent = { + get_highest_scored_country = { + var = platonic_local_dangerous_belligerent + scorer = local_belligerent_country + } +} + + +# The idea is that you can use these effects to store the party popularities (and, if desired, the ruling party) when puppeting or possibly when starting civil wars, and then use the "restore" effects to reset it after the puppeting has happened, so that you don't have to use the overlord's ideology if you don't want to. +get_current_ideology_popularities = { + set_variable = { ROOT.revolutionary_support_before_change = ROOT.party_popularity_100@revolutionary } + set_variable = { ROOT.cooperative_support_before_change = ROOT.party_popularity_100@cooperative } + set_variable = { ROOT.belligerent_support_before_change = ROOT.party_popularity_100@belligerent } + set_variable = { ROOT.unaligned_support_before_change = ROOT.party_popularity_100@unaligned } +} +get_current_ruling_party = { + set_variable = { ROOT.ruling_ideology_before_change = ROOT.current_party_ideology_group } +} +restore_ideology_popularities = { + hidden_effect = { + # Reset popluarities to what they were before puppeting + set_popularities = { + revolutionary = ROOT.revolutionary_support_before_change + cooperative = ROOT.cooperative_support_before_change + belligerent = ROOT.belligerent_support_before_change + unaligned = ROOT.unaligned_support_before_change + } + clear_variable = ROOT.revolutionary_support_before_change + clear_variable = ROOT.cooperative_support_before_change + clear_variable = ROOT.belligerent_support_before_change + clear_variable = ROOT.unaligned_support_before_change + } +} +restore_ruling_party = { + ROOT = { + set_politics = { + ruling_party = var:ROOT.ruling_ideology_before_change + } + } +} + + +#Upgrades state cat to the next valid level. Called from state scope +increase_state_category = { + if = { + limit = { + has_state_category = tiny_island + } + set_state_category = small_island + effect_tooltip = { + add_extra_state_shared_building_slots = 1 + } + } + + if = { + limit = { + OR = { + has_state_category = wasteland + has_state_category = enclave + } + } + set_state_category = pastoral + effect_tooltip = { + add_extra_state_shared_building_slots = 1 + } + } + else_if = { + limit = { + has_state_category = pastoral + } + set_state_category = rural + effect_tooltip = { + add_extra_state_shared_building_slots = 1 + } + } + else_if = { + limit = { + has_state_category = rural + } + set_state_category = town + effect_tooltip = { + add_extra_state_shared_building_slots = 2 + } + } + else_if = { + limit = { + has_state_category = town + } + set_state_category = large_town + effect_tooltip = { + add_extra_state_shared_building_slots = 1 + } + } + else_if = { + limit = { + has_state_category = large_town + } + set_state_category = city + effect_tooltip = { + add_extra_state_shared_building_slots = 1 + } + } + else_if = { + limit = { + has_state_category = city + } + set_state_category = metropolis + effect_tooltip = { + add_extra_state_shared_building_slots = 4 + } + } + + else_if = { + limit = { + has_state_category = metropolis + } + set_state_category = megalopolis + effect_tooltip = { + add_extra_state_shared_building_slots = 2 + } + } +} + +add_potential_special_forces_tree = { + custom_effect_tooltip = add_potential_special_forces_tree_tt + if = { + limit = { NOT = { has_variable = sf_trees } } + set_variable = { sf_trees = 2 } + } + else = { + add_to_variable = { sf_trees = 1 } + } +} + +remove_potential_special_forces_tree = { + if = { + limit = { NOT = { has_variable = sf_trees } } + set_variable = { sf_trees = 0 } + } + else = { + subtract_from_variable = { sf_trees = 1 } + } +} + +store_core_states_on_game_start = { #Should be called from history file + every_core_state = { + ROOT = { + add_to_array = { + array = core_states_at_game_start + value = PREV + } + } + } +} \ No newline at end of file diff --git a/common/scripted_effects/gondor_scripted_effects.txt b/common/scripted_effects/gondor_scripted_effects.txt new file mode 100644 index 000000000..20044093e --- /dev/null +++ b/common/scripted_effects/gondor_scripted_effects.txt @@ -0,0 +1,140 @@ +denethor_gets_more_paranoid = { + if = { + limit = { + has_idea = GON_denethor_0 + } + swap_ideas = { + remove_idea = GON_denethor_0 + add_idea = GON_denethor_1 + } + } + else_if = { + limit = { + has_idea = GON_denethor_1 + } + swap_ideas = { + remove_idea = GON_denethor_1 + add_idea = GON_denethor_2 + } + } + else_if = { + limit = { + has_idea = GON_denethor_2 + } + swap_ideas = { + remove_idea = GON_denethor_2 + add_idea = GON_denethor_3 + } + } + else_if = { + limit = { + has_idea = GON_denethor_3 + } + swap_ideas = { + remove_idea = GON_denethor_3 + add_idea = GON_denethor_4 + } + } +} + +denethor_gets_less_paranoid = { + if = { + limit = { + has_idea = GON_denethor_4 + } + swap_ideas = { + remove_idea = GON_denethor_4 + add_idea = GON_denethor_3 + } + } + else_if = { + limit = { + has_idea = GON_denethor_3 + } + swap_ideas = { + remove_idea = GON_denethor_3 + add_idea = GON_denethor_2 + } + } + else_if = { + limit = { + has_idea = GON_denethor_2 + } + swap_ideas = { + remove_idea = GON_denethor_2 + add_idea = GON_denethor_1 + } + } + else_if = { + limit = { + has_idea = GON_denethor_1 + } + swap_ideas = { + remove_idea = GON_denethor_1 + add_idea = GON_denethor_0 + } + } + else = { + custom_effect_tooltip = "If Denethor paranoide is higher than state 1 this will decrease it" + } +} + +remove_denethor_paranoid = { + if = { + limit = { + has_idea = GON_denethor_4 + } + remove_ideas = GON_denethor_4 + } + else_if = { + limit = { + has_idea = GON_denethor_3 + } + remove_ideas = GON_denethor_3 + } + else_if = { + limit = { + has_idea = GON_denethor_2 + } + remove_ideas = GON_denethor_2 + } + else_if = { + limit = { + has_idea = GON_denethor_1 + } + remove_ideas = GON_denethor_1 + } + else_if = { + limit = { + has_idea = GON_denethor_0 + } + remove_ideas = GON_denethor_0 + } +} + +decrease_defeatist = { + if = { + limit = { + has_idea = GON_defeatist_0 + } + swap_ideas = { + remove_idea = GON_defeatist_0 + add_idea = GON_defeatist_1 + } + } + else_if = { + limit = { + has_idea = GON_defeatist_1 + } + swap_ideas = { + remove_idea = GON_defeatist_1 + add_idea = GON_defeatist_2 + } + } + else_if = { + limit = { + has_idea = GON_defeatist_2 + } + remove_ideas = GON_defeatist_2 + } +} \ No newline at end of file diff --git a/common/scripted_effects/lotr_generic_scripted_effects.txt b/common/scripted_effects/lotr_generic_scripted_effects.txt new file mode 100644 index 000000000..bcc497bf7 --- /dev/null +++ b/common/scripted_effects/lotr_generic_scripted_effects.txt @@ -0,0 +1,292 @@ + + + + + + +kill_character = { + custom_effect_tooltip = kill_character_tt + hidden_effect = { retire = yes } +} + + + + +# ROOT steals from THIS +give_steal_tech_from_country = { + ROOT = { + steal_random_tech_bonus = { + category = lotr_infantry + category = lotr_support_tech + category = lotr_cavalry + category = lotr_machines + category = lotr_knowledge + category = lotr_labour + category = lotr_sailing + + ahead_reduction = 0.8 + bonus = 1.2 + base_bonus = 1.1 + dynamic = yes + name = stolen_tech_bonus + target = PREV + uses = 2 + } + } +} + +# ROOT gets intel on THIS +give_intel_on_country = { + ROOT = { + add_intel = { + target = PREV + civilian_intel = 20 + army_intel = 20 + navy_intel = 20 + airforce_intel = 20 + } + } +} + + +# Increase centralization with no pre-requisite checks +increase_centralization = { + if = { limit = { has_idea = no_centralization } swap_ideas = { add_idea = weak_centralization remove_idea = no_centralization } } + else_if = { limit = { has_idea = weak_centralization } swap_ideas = { add_idea = moderate_centralization remove_idea = weak_centralization } } + else_if = { limit = { has_idea = moderate_centralization } swap_ideas = { add_idea = strong_centralization remove_idea = moderate_centralization } } + else_if = { limit = { has_idea = strong_centralization } swap_ideas = { add_idea = very_strong_centralization remove_idea = strong_centralization } } + else = { add_political_power = 150 } +} + + +add_building_slot_and_civ = { + add_extra_state_shared_building_slots = 1 + add_building_construction = { type = industrial_complex level = 1 instant_build = yes } +} + +add_building_slot_and_mil = { + add_extra_state_shared_building_slots = 1 + add_building_construction = { type = arms_factory level = 1 instant_build = yes } +} + +add_building_slot_and_civ_x2 = { + add_extra_state_shared_building_slots = 2 + add_building_construction = { type = industrial_complex level = 2 instant_build = yes } +} + +add_building_slot_and_mil_x2 = { + add_extra_state_shared_building_slots = 2 + add_building_construction = { type = arms_factory level = 2 instant_build = yes } +} + +add_building_slot_and_civ_x3 = { + add_extra_state_shared_building_slots = 3 + add_building_construction = { type = industrial_complex level = 3 instant_build = yes } +} + +add_building_slot_and_mil_x3 = { + add_extra_state_shared_building_slots = 3 + add_building_construction = { type = arms_factory level = 3 instant_build = yes } +} + +add_building_slot_and_civ_x4 = { + add_extra_state_shared_building_slots = 4 + add_building_construction = { type = industrial_complex level = 4 instant_build = yes } +} + +add_building_slot_and_mil_x4 = { + add_extra_state_shared_building_slots = 4 + add_building_construction = { type = arms_factory level = 4 instant_build = yes } +} + +kill_durins_bane = { + hidden_effect = { + set_global_flag = durins_bane_dead + MOA = { MOA_bane = { retire = yes } } + MOC = { MOC_bane = { retire = yes } } + news_event = { id = news.393 days = 7 } + } +} + +remove_durins_bane_from_moria = { + 73 = { remove_dynamic_modifier = { modifier = moria_loose_balrog } } + 134 = { remove_dynamic_modifier = { modifier = moria_loose_balrog } } +} + +random_state_add_building_slot_and_civ = { + random_controlled_state = { + custom_effect_tooltip = random_state_add_building_slot_and_civ_tt + hidden_effect = { + add_extra_state_shared_building_slots = 1 + add_building_construction = { type = industrial_complex level = 1 instant_build = yes } + } + } +} + +random_state_add_building_slot_and_mil = { + random_controlled_state = { + custom_effect_tooltip = random_state_add_building_slot_and_mil_tt + hidden_effect = { + add_extra_state_shared_building_slots = 1 + add_building_construction = { type = arms_factory level = 1 instant_build = yes } + } + } +} + +random_state_add_building_slot_and_doc = { + random_controlled_state = { + limit = { is_coastal = yes } + custom_effect_tooltip = random_state_add_building_slot_and_doc_tt + hidden_effect = { + add_extra_state_shared_building_slots = 2 + add_building_construction = { type = dockyard level = 1 instant_build = yes } + } + } +} + +random_state_add_building_slot_and_civ_x2 = { + random_controlled_state = { + custom_effect_tooltip = random_state_add_building_slot_and_civ_x2_tt + hidden_effect = { + add_extra_state_shared_building_slots = 2 + add_building_construction = { type = industrial_complex level = 2 instant_build = yes } + } + } +} + +random_state_add_building_slot_and_mil_x2 = { + random_controlled_state = { + custom_effect_tooltip = random_state_add_building_slot_and_mil_x2_tt + hidden_effect = { + add_extra_state_shared_building_slots = 2 + add_building_construction = { type = arms_factory level = 2 instant_build = yes } + } + } +} + +random_state_add_building_slot_and_doc_x2 = { + random_controlled_state = { + limit = { is_coastal = yes } + custom_effect_tooltip = random_state_add_building_slot_and_doc_x2_tt + hidden_effect = { + add_extra_state_shared_building_slots = 2 + add_building_construction = { type = dockyard level = 2 instant_build = yes } + } + } +} + +random_state_add_building_slot_and_civ_x3 = { + random_controlled_state = { + custom_effect_tooltip = random_state_add_building_slot_and_civ_x3_tt + hidden_effect = { + add_extra_state_shared_building_slots = 3 + add_building_construction = { type = industrial_complex level = 3 instant_build = yes } + } + } +} + +random_state_add_building_slot_and_mil_x3 = { + random_controlled_state = { + custom_effect_tooltip = random_state_add_building_slot_and_mil_x3_tt + hidden_effect = { + add_extra_state_shared_building_slots = 3 + add_building_construction = { type = arms_factory level = 3 instant_build = yes } + } + } +} + +random_state_add_building_slot_and_doc_x3 = { + random_controlled_state = { + limit = { is_coastal = yes } + custom_effect_tooltip = random_state_add_building_slot_and_doc_x3_tt + hidden_effect = { + add_extra_state_shared_building_slots = 3 + add_building_construction = { type = dockyard level = 3 instant_build = yes } + } + } +} + +random_state_add_building_slot_and_civ_x4 = { + random_controlled_state = { + custom_effect_tooltip = random_state_add_building_slot_and_civ_x4_tt + hidden_effect = { + add_extra_state_shared_building_slots = 4 + add_building_construction = { type = industrial_complex level = 4 instant_build = yes } + } + } +} + +random_state_add_building_slot_and_mil_x4 = { + random_controlled_state = { + custom_effect_tooltip = random_state_add_building_slot_and_mil_x4_tt + hidden_effect = { + add_extra_state_shared_building_slots = 4 + add_building_construction = { type = arms_factory level = 4 instant_build = yes } + } + } +} + +random_state_add_building_slot_and_doc_x4 = { + random_controlled_state = { + limit = { is_coastal = yes } + custom_effect_tooltip = random_state_add_building_slot_and_doc_x4_tt + hidden_effect = { + add_extra_state_shared_building_slots = 4 + add_building_construction = { type = dockyard level = 4 instant_build = yes } + } + } +} + + +invite_to_faction = { + country_event = { id = lotr_generic.11 days = 1 } +} + +ask_to_join_faction = { + country_event = { id = lotr_generic.8 days = 1 } +} + +store_ideologies_before_puppeting = { + get_current_ideology_popularities = yes + get_current_ruling_party = yes +} + +restore_ideologies_post_puppeting = { + # if this is run the same frame as store_ideologies the game crashes, that's why we do it next frame through a hidden event + ROOT = { country_event = { id = generic.26 hours = 1 } } +} + +get_current_ideology_popularities = { + set_variable = { ROOT.revo_support_before_change = ROOT.party_popularity_100@revolutionary } + set_variable = { ROOT.coop_support_before_change = ROOT.party_popularity_100@cooperative } + set_variable = { ROOT.bell_support_before_change = ROOT.party_popularity_100@belligerent } + set_variable = { ROOT.unal_support_before_change = ROOT.party_popularity_100@unaligned } +} +get_current_ruling_party = { + set_variable = { ROOT.ruling_ideology_before_change = ROOT.current_party_ideology_group } +} + +restore_ideology_popularities = { + hidden_effect = { + # Reset popluarities to what they were before puppeting + set_popularities = { + revolutionary = ROOT.revo_support_before_change + cooperative = ROOT.coop_support_before_change + belligerent = ROOT.bell_support_before_change + unaligned = ROOT.unal_support_before_change + } + clear_variable = ROOT.revo_support_before_change + clear_variable = ROOT.coop_support_before_change + clear_variable = ROOT.bell_support_before_change + clear_variable = ROOT.unal_support_before_change + } +} +restore_ruling_party = { + ROOT = { + set_politics = { + ruling_party = var:ROOT.ruling_ideology_before_change + #ruling_party = revolutionary + } + clear_variable = ROOT.ruling_ideology_before_change + } +} \ No newline at end of file diff --git a/common/scripted_effects/mirror_scripted_effects.txt b/common/scripted_effects/mirror_scripted_effects.txt new file mode 100644 index 000000000..5fcb1cc64 --- /dev/null +++ b/common/scripted_effects/mirror_scripted_effects.txt @@ -0,0 +1,583 @@ + + + +mirror_randomize_targets = { + + if = { + limit = { has_completed_focus = lth_galadrielsmirror } + + clear_array = mirror_targets_future + + every_other_country = { + limit = { + NOT = { has_country_flag = mirror_targets_used } + NOT = { tag = MOR } + NOT = { tag = GON } + NOT = { tag = ERE } + NOT = { tag = ANG } + NOT = { tag = NEP } + NOT = { tag = DAG } + is_ai = yes + OR = { + is_going_belligerent = yes + is_going_revolutionary = yes + is_going_unaligned = yes + is_going_cooperative = yes + } + NOT = { is_in_array = { mirror_targets_future = THIS } } + } + random_select_amount = 2 + + LTH = { add_to_array = { mirror_targets_future = PREV } } + } + + if = { + limit = { has_completed_focus = lth_mirrorupgrade } + + every_other_country = { + limit = { + NOT = { has_country_flag = mirror_targets_used } + NOT = { tag = MOR } + NOT = { tag = GON } + NOT = { tag = ERE } + NOT = { tag = ANG } + NOT = { tag = NEP } + NOT = { tag = DAG } + is_ai = yes + OR = { + is_going_belligerent = yes + is_going_revolutionary = yes + is_going_unaligned = yes + is_going_cooperative = yes + } + NOT = { is_in_array = { mirror_targets_future = THIS } } + } + random_select_amount = 1 + + LTH = { add_to_array = { mirror_targets_future = PREV } } + } + } + } +} + + +mirror_look_into_mirror = { + random_list = { + + # start storyline + 20 = { + modifier = { + factor = 0 + has_country_flag = m_has_storyline + } + modifier = { + factor = 0.25 + has_country_flag = mirror_has_had_storyline + } + set_country_flag = mirror_has_had_storyline + mirror_start_storyline = yes + } + + # continue storyline + 200 = { + modifier = { + factor = 0 + NOT = { mirror_can_continue_storyline = yes } + } + mirror_continue_storyline = yes + } + + # Fellowship + 10 = { + # Only show once + modifier = { + factor = 0 + has_country_flag = mirror_has_had_fellowship_vision + } + modifier = { + factor = 0 + has_global_flag = fs_elven_fellowship + } + # Only show when fellowship started + modifier = { + factor = 0 + NOT = { has_global_flag = fs_started } + } + set_country_flag = mirror_has_had_fellowship_vision + # Fall of fellowship + if = { + limit = { has_global_flag = fs_ring_seized } + country_event = mirror.4 + } + # frodo and the ring + else_if = { + limit = { + has_global_flag = fs_post_argonath + } + country_event = mirror.3 + } + # fellowship generic + else = { + country_event = mirror.2 + } + } + + # influence to faction + 10 = { + modifier = { + factor = 0.5 + has_country_flag = mirror_has_had_influence_vision + } + random_list = { + 10 = { country_event = mirror.5 } + 10 = { country_event = mirror.6 } + 10 = { country_event = mirror.7 } + 10 = { country_event = mirror.8 } + } + } + + # ring-related visions + 50 = { + modifier = { + factor = 0 + NOT = { ring_has_the_ring = yes } + } + random_list = { + 10 = { country_event = mirror.9 } + 10 = { country_event = mirror.10 } + } + } + + # Generic + 20 = { + random_list = { + 10 = { country_event = mirror.1 } + 10 = { country_event = mirror.16 } + 10 = { country_event = mirror.17 } + 10 = { country_event = mirror.18 } + } + } + + # Visions of a place + 10 = { + modifier = { + factor = 0.8 + has_country_flag = mirror_has_had_place_vision + } + set_country_flag = mirror_has_had_place_vision + random_list = { + 10 = { country_event = mirror.11 } + 10 = { country_event = mirror.12 } + 10 = { country_event = mirror.13 } + 10 = { country_event = mirror.14 } + } + } + + # visions of the fall of a country + 10 = { + modifier = { + factor = 0.0 + NOT = { any_country = { has_capitulated = yes } } + } + modifier = { + has_country_flag = mirror_has_had_fall_vision + factor = 0 + } + random_country = { + limit = { has_capitulated = yes } + LTH = { country_event = mirror.19 } + } + } + + # Nothing + 10 = { + country_event = mirror.15 + } + } + +} + + +# Same as above, but no storyline or fellowship +mirror_run_generic_mirror_event = { + random_list = { + + # influence to faction + 10 = { + modifier = { + factor = 0.5 + has_country_flag = mirror_has_had_influence_vision + } + set_country_flag = mirror_has_had_influence_vision + random_list = { + 10 = { country_event = mirror.5 } + 10 = { country_event = mirror.6 } + 10 = { country_event = mirror.7 } + 10 = { country_event = mirror.8 } + } + } + + # ring-related visions + 50 = { + modifier = { + factor = 0 + NOT = { ring_has_the_ring = yes } + } + random_list = { + 10 = { country_event = mirror.9 } + 10 = { country_event = mirror.10 } + } + } + + # Generic + 20 = { + random_list = { + 10 = { country_event = mirror.1 } + 10 = { country_event = mirror.16 } + 10 = { country_event = mirror.17 } + 10 = { country_event = mirror.18 } + } + } + + # Visions of a place + 10 = { + modifier = { + factor = 0.8 + has_country_flag = mirror_has_had_place_vision + } + set_country_flag = mirror_has_had_place_vision + random_list = { + 10 = { country_event = mirror.11 } + 10 = { country_event = mirror.12 } + 10 = { country_event = mirror.13 } + 10 = { country_event = mirror.14 } + } + } + + # visions of the fall of a country + 10 = { + modifier = { + factor = 0.0 + NOT = { any_country = { has_capitulated = yes } } + } + modifier = { + factor = 0 + has_country_flag = mirror_has_had_fall_vision + } + set_country_flag = mirror_has_had_fall_vision + country_event = mirror.19 + } + + # Nothing + 10 = { + country_event = mirror.15 + } + } +} + + +mirror_continue_storyline = { + if = { + limit = { has_country_flag = m_storyline_ritual } + mirror_storyline_ritual_look = yes + } + if = { + limit = { has_country_flag = m_storyline_illness } + mirror_storyline_illness_look = yes + } + if = { + limit = { has_country_flag = m_storyline_giant } + mirror_storyline_giant_look = yes + } + if = { + limit = { has_country_flag = m_storyline_plot } + mirror_storyline_plot_look = yes + } +} + +mirror_start_storyline = { + random_list = { + 10 = { + modifier = { + factor = 0 + has_country_flag = m_storyline_ritual_completed + } + mirror_storyline_ritual_look = yes + } + 10 = { + modifier = { + factor = 0 + has_country_flag = m_storyline_illness_completed + } + mirror_storyline_illness_look = yes + } + 10 = { + modifier = { + factor = 0 + has_country_flag = m_storyline_giant_completed + } + mirror_storyline_giant_look = yes + } + 10 = { + modifier = { + factor = 0 + has_country_flag = m_storyline_plot_completed + } + mirror_storyline_plot_look = yes + } + } +} + + + +mirror_end_storyline = { + if = { + limit = { has_country_flag = m_storyline_ritual } + set_country_flag = m_storyline_ritual_completed + } + if = { + limit = { has_country_flag = m_storyline_illness } + set_country_flag = m_storyline_illness_completed + } + if = { + limit = { has_country_flag = m_storyline_giant } + set_country_flag = m_storyline_giant_completed + } + if = { + limit = { has_country_flag = m_storyline_plot } + set_country_flag = m_storyline_plot_completed + } + + clr_country_flag = m_storyline_ritual + clr_country_flag = m_storyline_illness + clr_country_flag = m_storyline_giant + clr_country_flag = m_storyline_plot + clr_country_flag = m_has_storyline + + hidden_effect = { + every_unit_leader = { + limit = { has_character_flag = m_storyline_reserved } + clr_character_flag = m_storyline_reserved + } + } +} + + +mirror_storyline_ritual_look = { + hidden_effect = { + # Start + if = { + limit = { NOT = { has_country_flag = m_storyline_ritual } } + set_country_flag = m_has_storyline + set_country_flag = m_storyline_ritual + + random_unit_leader = { + set_variable = { LTH.m_storyline_ritual_spoken_name1 = THIS } + set_character_flag = m_storyline_reserved + } + random_unit_leader = { + limit = { NOT = { has_character_flag = m_storyline_reserved } } + set_variable = { LTH.m_storyline_ritual_spoken_name2 = THIS } + set_character_flag = m_storyline_reserved + } + random_unit_leader = { + limit = { + NOT = { has_character_flag = m_storyline_reserved } + } + set_variable = { LTH.m_storyline_ritual_spoken_name3 = THIS } + set_character_flag = m_storyline_reserved + } + } + + random_list = { + # Asks for a name + 20 = { + modifier = { + factor = 0 + has_country_flag = m_storyline_ritual_has_given_name + } + set_country_flag = m_storyline_ritual_has_given_name + country_event = mirror.26 + } + # Visions of rune + 10 = { + modifier = { + factor = 0 + has_country_flag = m_storyline_ritual_rune_found + } + set_country_flag = m_storyline_ritual_rune_found + country_event = mirror.34 + } + # Visions of ancient ritual + 10 = { + modifier = { + factor = 0 + has_country_flag = m_storyline_ritual_knows_about_ritual + } + set_country_flag = m_storyline_ritual_knows_about_ritual + country_event = mirror.25 + } + } + } +} + + +mirror_storyline_ritual_give_buff = { + add_skill_level = 3 + # NOTE: A lot of risk and cost incurred, this should be substantial. +} + +mirror_storyline_ritual_kill = { + custom_effect_tooltip = character_dies_tt + hidden_effect = { + retire = yes + } +} + + +mirror_storyline_illness_look = { + if = { + limit = { NOT = { has_country_flag = m_storyline_illness } } + set_country_flag = m_has_storyline + set_country_flag = m_storyline_illness + } + + random_list = { + # Run some generic event, but secretely begin illness storyline + 30 = { + modifier = { + factor = 0 + has_country_flag = m_storyline_illness_started + } + set_country_flag = m_storyline_illness_started # only start this once + mirror_run_generic_mirror_event = yes + # Mallorn trees fading + country_event = { id = mirror.37 days = 60 random_days = 90 } + } + # Visions of historian + 10 = { + modifier = { + factor = 0 + has_country_flag = m_storyline_illness_knows_about_historian + } + set_country_flag = m_storyline_illness_knows_about_historian + country_event = mirror.24 + } + # Visions of rift + 10 = { + modifier = { + factor = 0 + has_country_flag = m_storyline_illness_knows_about_rift + } + set_country_flag = m_storyline_illness_knows_about_rift + country_event = mirror.23 + } + } +} + + +mirror_storyline_giant_look = { + if = { + limit = { NOT = { has_country_flag = m_storyline_giant } } + set_country_flag = m_has_storyline + set_country_flag = m_storyline_giant + } + + random_list = { + # Run some generic event, but secretely begin giant storyline + 50 = { + modifier = { + factor = 0 + has_country_flag = m_storyline_giant_started + } + set_country_flag = m_storyline_giant_started # only start this once + mirror_run_generic_mirror_event = yes + # Scouts missing + country_event = { id = mirror.41 days = 60 random_days = 90 } + } + # Visions of mound + 10 = { + modifier = { + factor = 0 + has_country_flag = m_storyline_giant_knows_about_mound + } + set_country_flag = m_storyline_giant_knows_about_mound + country_event = mirror.20 + } + # Visions of giant + 20 = { + modifier = { + factor = 0 + has_country_flag = m_storyline_giant_knows_about_giant + } + set_country_flag = m_storyline_giant_knows_about_giant + country_event = mirror.21 + } + # Visions of researcher + 10 = { + modifier = { + factor = 0 + has_country_flag = m_storyline_giant_knows_about_researcher + } + set_country_flag = m_storyline_giant_knows_about_researcher + country_event = mirror.22 + } + } +} + + +mirror_storyline_plot_look = { + if = { + limit = { NOT = { has_country_flag = m_storyline_plot } } + set_country_flag = m_has_storyline + set_country_flag = m_storyline_plot + + random_unit_leader = { + limit = { + NOT = { is_character = LTH_haldir } + NOT = { is_character = LTH_celeborn } + } + set_variable = { LTH.m_storyline_pot_mirrors_chosen = THIS } + set_character_flag = m_storyline_reserved + } + random_unit_leader = { + limit = { + NOT = { is_character = LTH_haldir } + NOT = { is_character = LTH_celeborn } + NOT = { has_character_flag = m_storyline_reserved } + } + set_variable = { LTH.m_storyline_pot_mirrors_doomed = THIS } + set_character_flag = m_storyline_reserved + } + } + + random_list = { + # Visions of a plot + 30 = { + modifier = { + factor = 0 + has_country_flag = m_storyline_plot_knows_about_plot + } + set_country_flag = m_storyline_plot_knows_about_plot # only start this once + country_event = mirror.29 + } + # Mirror's Chosen and Doomed + 20 = { + modifier = { + factor = 0 + has_country_flag = m_storyline_plot_knows_mirrors_chosen_and_doomed + } + set_country_flag = m_storyline_plot_knows_mirrors_chosen_and_doomed + country_event = mirror.28 + } + # Visions of mystery man + 20 = { + modifier = { + factor = 0 + has_country_flag = m_storyline_plot_mystery_man + } + set_country_flag = m_storyline_plot_mystery_man + country_event = mirror.27 + } + } +} diff --git a/common/scripted_effects/ring_scripted_effects.txt b/common/scripted_effects/ring_scripted_effects.txt index 342a3de1a..5c0950391 100644 --- a/common/scripted_effects/ring_scripted_effects.txt +++ b/common/scripted_effects/ring_scripted_effects.txt @@ -180,7 +180,7 @@ execute_fellowship_step = { } unlock_national_focus = torturegollum } - + # Eventlog add_to_array = { global.fs_eventlog_prefix_targets = 0 } @@ -217,7 +217,7 @@ execute_fellowship_step = { ring_clear_fellowship_members = yes - # Create base fellowship + # Create base fellowship FS_frodo = { ring_add_member_to_fellowship_nolog = yes } FS_sam = { ring_add_member_to_fellowship_nolog = yes } FS_aragorn = { ring_add_member_to_fellowship_nolog = yes } @@ -225,10 +225,19 @@ execute_fellowship_step = { ring_heal_fellowship = yes # Hold Council of Elrond: - add_to_array = { global.fs_eventlog_prefix_targets = 0 } - add_to_array = { global.fs_eventlog_suffix_targets = 0 } - add_to_array = { global.fs_eventlog = token:fs_event_rivendell_council_invoked } - ring_trim_eventlog = yes + if = { + limit = { has_global_flag = fs_lothlorien_invited } + add_to_array = { global.fs_eventlog_prefix_targets = 0 } + add_to_array = { global.fs_eventlog_suffix_targets = 0 } + add_to_array = { global.fs_eventlog = token:fs_event_rivendell_council_invoked_with_lth } + ring_trim_eventlog = yes + } + else = { + add_to_array = { global.fs_eventlog_prefix_targets = 0 } + add_to_array = { global.fs_eventlog_suffix_targets = 0 } + add_to_array = { global.fs_eventlog = token:fs_event_rivendell_council_invoked } + ring_trim_eventlog = yes + } RIV = { country_event = { days = 14 id = rivendell.1 } } } @@ -278,6 +287,12 @@ execute_fellowship_step = { else_if = { limit = { check_variable = { global.fs_currentstate = 75 } } + # If LTH hasn't done the ring focus yet, complete it now. + if = { + limit = { NOT = { LTH = { has_completed_focus = lth_theonering } } } + LTH = { complete_national_focus = lth_theonering } + } + # give LTH option to offer fellowship shelter if = { limit = { @@ -302,7 +317,14 @@ execute_fellowship_step = { limit = { check_variable = { global.fs_currentstate = 182 } } if = { - limit = { ring_boromir_in_fellowship = yes } + limit = { + ring_boromir_in_fellowship = yes + # Boromir only does this if there is *one* Gondor + GON = { + exists = yes + the_other_gondor_does_not_exist = yes + } + } # Boromir incident: GON = { country_event = { id = gondor.4 days = 4 } } @@ -317,12 +339,16 @@ execute_fellowship_step = { else_if = { limit = { check_variable = { global.fs_currentstate = 98 } } + set_global_flag = fs_post_argonath # Slow things down after Argonath + clr_global_flag = fs_on_boat + clr_global_flag = fs_on_horseback + if = { - limit = { has_global_flag = fs_fellowship_breakup } + limit = { + has_global_flag = fs_fellowship_breakup + NOT = { has_global_flag = fs_elven_fellowship } + } FS_gollum = { ring_add_member_to_fellowship = yes } - set_global_flag = fs_only_hobbits - clr_global_flag = fs_on_boat - clr_global_flag = fs_on_horseback } } @@ -335,7 +361,10 @@ execute_fellowship_step = { # Ithilien: Faramir encounter else_if = { - limit = { check_variable = { global.fs_currentstate = 173 } } + limit = { + check_variable = { global.fs_currentstate = 173 } + NOT = { has_global_flag = fs_elven_fellowship } + } if = { limit = { @@ -364,7 +393,10 @@ execute_fellowship_step = { # Minas Morgul: Gollum leaves and Shelob encounter # Last chance for Mordor else_if = { - limit = { check_variable = { global.fs_currentstate = 5 } } + limit = { + check_variable = { global.fs_currentstate = 5 } + NOT = { has_global_flag = fs_elven_fellowship } + } FS_gollum = { ring_remove_member_from_fellowship = yes } @@ -381,18 +413,9 @@ execute_fellowship_step = { # Mount Doom: RING DESTROYED else_if = { limit = { check_variable = { global.fs_currentstate = 10 } } - if = { - limit = { MOR = { has_government = belligerent } } - MOR = { country_event = { days = 12 id = fs.106 } } - } - else = { - set_global_flag = fs_ring_destroyed - ring_clear_pathstack = yes - ring_clear_fellowship_members = yes - news_event = { hours = 12 id = news.376 } - } + ring_destroy_ring = yes } - + # Move into next state if fellowship still exists if = { limit = { check_variable = { global.fs_path_stack^num > 0 } } @@ -403,55 +426,57 @@ execute_fellowship_step = { # starting-event execute_fs_commence = { SHI = { + if = { + limit = { NOT = { has_global_flag = fs_started } } + # set variables + set_variable = { global.fs_currentstate = 42 } + set_variable = { global.fs_steps = 1 } + log = "currentState: [?global.fs_currentstate]" - # set variables - set_variable = { global.fs_currentstate = 42 } - set_variable = { global.fs_steps = 1 } - log = "currentState: [?global.fs_currentstate]" + set_global_flag = fs_started - set_global_flag = fs_started + # Set path to prelude + set_variable = { global.fs_path = 0 } - # Set path to prelude - set_variable = { global.fs_path = 0 } + # Set mordor max attempts + set_variable = { global.ring_mor_max_attempts = 1 } - # Set mordor max attempts - set_variable = { global.ring_mor_max_attempts = 1 } + # Initial fellowship + FS_frodo = { ring_add_member_to_fellowship_nolog = yes } + FS_sam = { ring_add_member_to_fellowship_nolog = yes } - # Initial fellowship - FS_frodo = { ring_add_member_to_fellowship_nolog = yes } - FS_sam = { ring_add_member_to_fellowship_nolog = yes } + if = { + limit = { has_global_flag = fs_nazgul_sent_to_shire } + add_to_array = { global.fs_eventlog_prefix_targets = 0 } + add_to_array = { global.fs_eventlog_suffix_targets = 0 } + add_to_array = { global.fs_eventlog = token:fs_event_start } + ring_trim_eventlog = yes + } + else = { + add_to_array = { global.fs_eventlog_prefix_targets = 0 } + add_to_array = { global.fs_eventlog_suffix_targets = 0 } + add_to_array = { global.fs_eventlog = token:fs_event_start_nazgul } + ring_trim_eventlog = yes + } - if = { - limit = { has_global_flag = fs_nazgul_sent_to_shire } + # Gandalf goes to meet Saruman + ISE = { country_event = { days = 20 id = isengard.1 } } add_to_array = { global.fs_eventlog_prefix_targets = 0 } add_to_array = { global.fs_eventlog_suffix_targets = 0 } - add_to_array = { global.fs_eventlog = token:fs_event_start } + add_to_array = { global.fs_eventlog = token:fs_event_gandalf_goes_to_saruman } ring_trim_eventlog = yes - } - else = { - add_to_array = { global.fs_eventlog_prefix_targets = 0 } - add_to_array = { global.fs_eventlog_suffix_targets = 0 } - add_to_array = { global.fs_eventlog = token:fs_event_start_nazgul } - ring_trim_eventlog = yes - } - - # Gandalf goes to meet Saruman - ISE = { country_event = { days = 20 id = isengard.1 } } - add_to_array = { global.fs_eventlog_prefix_targets = 0 } - add_to_array = { global.fs_eventlog_suffix_targets = 0 } - add_to_array = { global.fs_eventlog = token:fs_event_gandalf_goes_to_saruman } - ring_trim_eventlog = yes - # starting pathstack (Shire to Rivendell) - add_to_array = { global.fs_path_stack = 150 } - add_to_array = { global.fs_path_stack = 149 } - add_to_array = { global.fs_path_stack = 145 } - add_to_array = { global.fs_path_stack = 64 } - add_to_array = { global.fs_path_stack = 200 } - add_to_array = { global.fs_path_stack = 202 } - add_to_array = { global.fs_path_stack = 65 } + # starting pathstack (Shire to Rivendell) + add_to_array = { global.fs_path_stack = 150 } + add_to_array = { global.fs_path_stack = 149 } + add_to_array = { global.fs_path_stack = 145 } + add_to_array = { global.fs_path_stack = 64 } + add_to_array = { global.fs_path_stack = 200 } + add_to_array = { global.fs_path_stack = 202 } + add_to_array = { global.fs_path_stack = 65 } - ring_fellowship_begin_move_to_next_state = yes + ring_fellowship_begin_move_to_next_state = yes + } } } @@ -465,6 +490,10 @@ ring_check_if_council_of_elrond_started = { has_global_flag = fs_mirkwood_responded has_global_flag = fs_gondor_responded has_global_flag = fs_erebor_responded + OR = { + NOT = { has_global_flag = fs_lothlorien_invited } + has_global_flag = fs_lothlorien_responded + } } SHI = { execute_start_council_of_elrond = yes } } @@ -478,6 +507,10 @@ ring_check_if_council_of_elrond_concluded = { has_global_flag = fs_gondor_responded has_global_flag = fs_erebor_responded has_global_flag = fs_rivendell_responded + OR = { + NOT = { has_global_flag = fs_lothlorien_invited } + has_global_flag = fs_lothlorien_responded + } } SHI = { execute_conclude_council_of_elrond = yes } } @@ -488,6 +521,7 @@ execute_start_council_of_elrond = { clr_global_flag = fs_mirkwood_responded clr_global_flag = fs_erebor_responded clr_global_flag = fs_gondor_responded + clr_global_flag = fs_lothlorien_responded # Let the members vote on the fellowships path RIV = { country_event = { id = rivendell.19 days = 4 } } @@ -512,6 +546,16 @@ execute_start_council_of_elrond = { else = { set_global_flag = fs_mirkwood_responded } + if = { + limit = { + has_global_flag = fs_lothlorien_invited + NOT = { has_global_flag = fs_lothlorien_noone } + } + LTH = { country_event = { id = rivendell.19 days = 4 } } + } + else = { + set_global_flag = fs_lothlorien_responded + } } execute_conclude_council_of_elrond = { @@ -769,7 +813,7 @@ execute_black_gate_decision = { } # get going - ring_fellowship_begin_move_to_next_state = yes + ring_fellowship_begin_move_to_next_state = yes } execute_force_fellowship_through_moria = { @@ -817,14 +861,10 @@ ring_execute_weathertop_encounter = { add_to_array = { global.fs_eventlog = token:fs_event_weathertop_encounter } ring_trim_eventlog = yes - # Nazgul get a chance to attack once: - random_list = { - 1 = { - ring_interception_combat_hp_attack_fs = yes - } - 1 = { - - } + random = { + chance = 50 + # Nazgul attack once: + ring_interception_combat_hp_attack_fs = yes } # Aragorn gets to attack 3-4 times @@ -864,7 +904,7 @@ ring_execute_weathertop_encounter = { # Post-combat: if = { limit = { - NOT = { ring_frodo_is_dead = yes } + NOT = { ring_ringbearer_is_dead = yes } has_global_flag = fs_arwen_sent } @@ -888,7 +928,7 @@ ring_execute_weathertop_encounter = { } else_if = { limit = { - NOT = { ring_frodo_is_dead = yes } + NOT = { ring_ringbearer_is_dead = yes } } MOR = { country_event = { days = 3 id = mordor.56 } } } @@ -918,7 +958,7 @@ ring_execute_boromir_betrayal = { limit = { NOT = { ring_boromir_is_dead = yes - ring_frodo_is_dead = yes + ring_ringbearer_is_dead = yes } } @@ -928,7 +968,7 @@ ring_execute_boromir_betrayal = { # if frodo dies -> GON seizes ring if = { - limit = { ring_frodo_is_dead = yes } + limit = { ring_ringbearer_is_dead = yes } GON = { country_event = gondor.11 } } @@ -948,6 +988,7 @@ ring_execute_argonath_raid = { limit = { has_global_flag = gandalf_imprisoned country_exists = ISE + ISE = { NOT = { has_country_flag = fs_interceptions_disabled } } } ISE = { country_event = { id = isengard.7 days = 6 } } } @@ -969,19 +1010,98 @@ ring_execute_argonath_raid = { } ring_breakup_fellowship = { - SHI = { - add_to_array = { global.fs_eventlog_prefix_targets = 0 } - add_to_array = { global.fs_eventlog_suffix_targets = 0 } - add_to_array = { global.fs_eventlog = token:fs_event_fellowship_separated } - ring_trim_eventlog = yes + if = { + limit = { NOT = { has_global_flag = fs_elven_fellowship } } # Elven fellowship doesnt break up + SHI = { + add_to_array = { global.fs_eventlog_prefix_targets = 0 } + add_to_array = { global.fs_eventlog_suffix_targets = 0 } + add_to_array = { global.fs_eventlog = token:fs_event_fellowship_separated } + ring_trim_eventlog = yes - ring_clear_fellowship_members = yes - set_global_flag = fs_fellowship_breakup + ring_clear_fellowship_members = yes + set_global_flag = fs_fellowship_breakup - FS_frodo = { ring_add_member_to_fellowship_nolog = yes } - FS_sam = { ring_add_member_to_fellowship_nolog = yes } + FS_frodo = { ring_add_member_to_fellowship_nolog = yes } + FS_sam = { ring_add_member_to_fellowship_nolog = yes } + + set_global_flag = fs_gandalf_left_fellowship + } + } +} + +# Lothlorien can set up an elven fellowship after taking the ring +ring_start_elven_fellowship = { + custom_effect_tooltip = ring_start_elven_fellowship_tt + hidden_effect = { + SHI = { + ring_clear_fellowship_members = yes + + # Eventlog + add_to_array = { global.fs_eventlog_prefix_targets = 0 } + add_to_array = { global.fs_eventlog_suffix_targets = 0 } + add_to_array = { global.fs_eventlog = token:fs_event_elven_fellowship } + ring_trim_eventlog = yes + + # News event: + news_event = { hours = 24 id = news.396 } + + # global flag + set_global_flag = fs_elven_fellowship + } + + LTH = { + # take ring away + ring_remove_ring = yes + + # Create fellowship + #ring_clear_fellowship_members = yes + # Haldir is ringbearer + #LTH_haldir = { retire = yes } + LTH_haldir = { retire = yes } + SHI = { FS_haldir = { ring_add_member_to_fellowship_nolog = yes } } + # Add the other elves (if available) + if = { + limit = { LTH_orophin = { is_unit_leader = yes } } + LTH_orophin = { retire = yes } + SHI = { FS_orophin = { ring_add_member_to_fellowship_nolog = yes } } + } + if = { + limit = { LTH_rumil = { is_unit_leader = yes } } + LTH_rumil = { retire = yes } + SHI = { FS_rumil = { ring_add_member_to_fellowship_nolog = yes } } + } + if = { + limit = { LTH_tarborn = { is_unit_leader = yes } } + LTH_tarborn = { retire = yes } + SHI = { FS_tarborn = { ring_add_member_to_fellowship_nolog = yes } } + } + if = { + limit = { LTH_lethsael = { is_unit_leader = yes } } + LTH_lethsael = { retire = yes } + SHI = { FS_lethsael = { ring_add_member_to_fellowship_nolog = yes } } + } + } + + SHI = { + # Clear all the ring stuff: + clr_global_flag = fs_ring_seized + clear_variable = global.fs_ring_owner + + # Re-populate pathstack (Path shouldnt change) + add_to_array = { global.fs_path_stack = 191 } + add_to_array = { global.fs_path_stack = 179 } + add_to_array = { global.fs_path_stack = 30 } + add_to_array = { global.fs_path_stack = 206 } + add_to_array = { global.fs_path_stack = 27 } + add_to_array = { global.fs_path_stack = 98 } + add_to_array = { global.fs_path_stack = 182 } + add_to_array = { global.fs_path_stack = 98 } + add_to_array = { global.fs_path_stack = 101 } + add_to_array = { global.fs_path_stack = 204 } - set_global_flag = fs_gandalf_left_fellowship + # Get going + ring_fellowship_begin_move_to_next_state = yes + } } } diff --git a/common/scripted_effects/ring_scripted_effects_common.txt b/common/scripted_effects/ring_scripted_effects_common.txt index 3edade6da..6f414b074 100644 --- a/common/scripted_effects/ring_scripted_effects_common.txt +++ b/common/scripted_effects/ring_scripted_effects_common.txt @@ -2,7 +2,6 @@ # Clears the current queue of states the fellowship will travel through (the pathstack) ring_clear_pathstack = { - clear_array = global.fs_path_stack } @@ -22,6 +21,57 @@ ring_heal_fellowship = { } } +# Gives ringbearer 1 extra HP +ring_bless_ringbearer = { + custom_effect_tooltip = ring_bless_ringbearer_tt + + hidden_effect = { + SHI = { + add_to_variable = { global.fs_members^0.health = 1 } + + add_to_array = { global.fs_eventlog_prefix_targets = THIS } + add_to_array = { global.fs_eventlog_suffix_targets = 0 } + add_to_array = { global.fs_eventlog = token:fs_event_country_ringbearer_blessed_member } + ring_trim_eventlog = yes + } + } +} + +# Reduces the health and dexterity of a random member +ring_curse_random_fellowship_member = { + custom_effect_tooltip = ring_curse_random_fellowship_member_tt + + hidden_effect = { + SHI = { + random_scope_in_array = { + array = global.fs_members + limit = { + check_variable = { defense_level > 1 } + check_variable = { logistics_level > 1 } + } + + THIS = { ring_curse_member = yes } + } + } + } +} + +# Reduces the health and dexterity +ring_curse_member = { + add_logistics = -1 + add_defense = -1 + + if = { + limit = { check_variable = { health > 1 } } + subtract_from_variable = { health = 1 } + } + + add_to_array = { global.fs_eventlog_prefix_targets = THIS } + add_to_array = { global.fs_eventlog_suffix_targets = 0 } + add_to_array = { global.fs_eventlog = token:fs_event_country_curse_fellowship_member } + ring_trim_eventlog = yes +} + # Gives a random fellowship member +2 hp and +2 attack ring_gear_up_random_member = { @@ -53,6 +103,10 @@ ring_heal_fellowship_member = { # Opens/Closes the details view ring_toggle_details_view = { + if = { + limit = { has_country_flag = elven_alliance_details_view_open } + clr_country_flag = elven_alliance_details_view_open + } if = { limit = { has_country_flag = ring_details_view_open } clr_country_flag = ring_details_view_open @@ -242,7 +296,7 @@ ring_fellowship_begin_move_to_next_state = { } # two hobbits on foot, not knowing wtf they're doing else_if = { - limit = { has_global_flag = fs_only_hobbits } + limit = { has_global_flag = fs_post_argonath } set_variable = { global.fs_days_left_in_state = 120 } } # base speed @@ -268,12 +322,70 @@ ring_fellowship_begin_move_to_next_state = { } +ring_destroy_ring = { + # Remove BOPs + var:global.fs_ring_owner = { + if = { + limit = { has_power_balance = { id = ring_corruption_balance } } + remove_power_balance = { id = ring_corruption_balance } + } + } + + if = { + limit = { MOR = { has_government = belligerent } } + MOR = { country_event = { days = 12 id = fs.106 } } + } + + set_global_flag = fs_ring_destroyed + ring_clear_pathstack = yes + ring_clear_fellowship_members = yes + news_event = { hours = 12 id = news.376 } +} + + +# Update variables used for the ring corruption BOP +ring_update_bop_values = { + if = { + limit = { NOT = { has_variable = ring_bop_casualties } } + set_variable = { ring_bop_casualties = casualties_k } + } + set_variable = { ring_bop_casualties_diff = casualties_k } + subtract_from_variable = { ring_bop_casualties_diff = ring_bop_casualties } + + if = { + limit = { NOT = { has_variable = ring_bop_stability } } + set_variable = { ring_bop_stability = stability } + } + set_variable = { ring_bop_stability_diff = stability } + subtract_from_variable = { ring_bop_stability_diff = ring_bop_stability } + + if = { + limit = { NOT = { has_variable = ring_bop_warsupport } } + set_variable = { ring_bop_warsupport = has_war_support } + } + set_variable = { ring_bop_warsupport_diff = has_war_support } + subtract_from_variable = { ring_bop_warsupport_diff = ring_bop_warsupport } +} + + # Runs every day. Pls keep as simple as possible for best performance # Note to self: Maybe make this a weekly update instead? ring_daily_update = { - if = { + limit = { + has_global_flag = fs_ring_seized + NOT = { has_global_flag = fs_ring_destroyed } + var:global.fs_ring_owner = { NOT = { tag = MOR } } + } + var:global.fs_ring_owner = { + ring_update_bop_values = yes + } + MOR = { + ring_update_bop_values = yes + } + } + if = { # Update fs_days_left_in_state limit = { check_variable = { global.fs_days_left_in_state > 0 } } subtract_from_variable = { global.fs_days_left_in_state = 1 } @@ -447,7 +559,7 @@ ring_execute_interception_attempt = { if = { limit = { tag = MOC - NOT = { ring_frodo_is_dead = yes } + NOT = { ring_ringbearer_is_dead = yes } MOC_cavetroll = { is_in_array = { ROOT.fs_hunting_party = THIS } } MOC_cavetroll = { check_variable = { health > 0 } } } @@ -478,7 +590,7 @@ ring_execute_interception_attempt = { # eventlog if fellowship killed the entire hunting party if = { limit = { - NOT = { ring_frodo_is_dead = yes } + NOT = { ring_ringbearer_is_dead = yes } check_variable = { ROOT.fs_hunting_party^num < 1 } } @@ -491,7 +603,7 @@ ring_execute_interception_attempt = { # if the for-loop ran to end without cancelling, let the fellowship escape else_if = { limit = { - NOT = { ring_frodo_is_dead = yes } + NOT = { ring_ringbearer_is_dead = yes } check_variable = { fs_interception_cancelled = 0 } } @@ -866,9 +978,9 @@ ring_interception_combat_fs_attack_hp = { ring_try_seize = { if = { - limit = { ring_frodo_is_dead = yes } + limit = { ring_ringbearer_is_dead = yes } - log = "FRODO IS DEAD. RING SEIZED" + log = "RINGBEARER IS DEAD. RING SEIZED" ring_seize_ring = yes } @@ -915,11 +1027,72 @@ ring_interception_disengage_check = { } } + +ring_increase_corruption = { + add_power_balance_value = { + id = ring_corruption_balance + value = 0.1 + } +} + +ring_increase_corruption_2 = { + add_power_balance_value = { + id = ring_corruption_balance + value = 0.2 + } +} + +ring_decrease_corruption = { + add_power_balance_value = { + id = ring_corruption_balance + value = 0.1 + } +} + +ring_decrease_corruption_2 = { + add_power_balance_value = { + id = ring_corruption_balance + value = 0.2 + } +} + +ring_give_sauron_ring = { + custom_effect_tooltip = corruption_bad_corrupted_tt + hidden_effect = { + if = { + limit = { + original_tag = LTH + NOT = { has_completed_focus = lth_givesauronthering } + } + complete_national_focus = lth_givesauronthering + } + + MOR = { ring_seize_ring = yes } + } +} + # THIS gets the ring (NOT ROOT!) ring_seize_ring = { hidden_effect = { log = "RING SEIZED" + + if = { + limit = { + tag = LTH + NOT = { has_completed_focus = lth_seizetheonering } + } + LTH = { complete_national_focus = lth_seizetheonering } + } + # Ring was seized through events in Lothlorien -> Elven Fellowship available + if = { + limit = { + tag = LTH + check_variable = { global.fs_currentstate = 75 } + NOT = { has_global_flag = fs_ring_seized } + } + set_global_flag = fs_ring_seized_in_lth + } set_variable = { global.fs_days_left_in_state = 0 } @@ -929,21 +1102,59 @@ ring_seize_ring = { add_to_array = { global.fs_eventlog = token:fs_event_takes_the_ring } ring_trim_eventlog = yes - set_global_flag = fs_ring_seized var:global.fs_ring_owner = { - remove_ideas = one_true_ring + ring_remove_ring = yes } THIS = { set_variable = { global.fs_ring_owner = THIS } - add_ideas = one_true_ring + ring_add_ring = yes } ring_clear_fellowship_members = yes ring_clear_pathstack = yes } - THIS = { - country_event = fs.101 +} + +ring_remove_ring = { + if = { + limit = { has_idea = one_true_ring } + remove_ideas = one_true_ring + } + else_if = { + limit = { has_idea = one_true_ring_2 } + remove_ideas = one_true_ring_2 + } + remove_power_balance = { id = ring_corruption_balance } +} + +ring_add_ring = { + if = { + limit = { has_global_flag = ring_merged_with_nenya } + add_ideas = one_true_ring_2 + } + else = { + add_ideas = one_true_ring + } + # add BOP to new owner + if = { + limit = { NOT = { tag = MOR } } # MOR can't corrupt themselves lol + set_power_balance = { + id = ring_corruption_balance + set_default = yes + } + } + ring_update_bop_values = yes + MOR = { + ring_update_bop_values = yes + } +} + +ring_upgrade_ring = { + set_global_flag = ring_merged_with_nenya + swap_ideas = { + remove_idea = one_true_ring + add_idea = one_true_ring_2 } } diff --git a/common/scripted_effects/white_council_scripted_effects.txt b/common/scripted_effects/white_council_scripted_effects.txt new file mode 100644 index 000000000..af14696fe --- /dev/null +++ b/common/scripted_effects/white_council_scripted_effects.txt @@ -0,0 +1,73 @@ + + + +add_to_white_council = { + if = { + limit = { + OR = { + LTH = { is_in_tech_sharing_group = white_council_group } + ISE = { is_in_tech_sharing_group = white_council_group } + RIV = { is_in_tech_sharing_group = white_council_group } + } + NOT = { is_in_tech_sharing_group = white_council_group } + } + add_to_tech_sharing_group = white_council_group + } + + custom_effect_tooltip = "Joins the White Council." + set_country_flag = whc_white_council_member + + every_country = { + limit = { is_white_council_member = yes NOT = { tag = ROOT } } + country_event = whitecouncil.8 + } +} + + +remove_from_white_council = { + custom_effect_tooltip = remove_from_white_council_tt + + every_country = { + limit = { + is_white_council_member = yes + NOT = { tag = THIS } + } + country_event = whitecouncil.3 + } + country_event = whitecouncil.4 + + custom_effect_tooltip = "Leaves the White Council." + clr_country_flag = whc_white_council_member + + every_country = { + limit = { is_white_council_member = yes NOT = { tag = ROOT } } + country_event = whitecouncil.9 + } +} + +remove_from_white_council_noevent = { + custom_effect_tooltip = remove_from_white_council_tt + + clr_country_flag = whc_white_council_member +} + +create_white_council = { + set_global_flag = whc_white_council_exists +} + +white_council_members_tt = { + custom_effect_tooltip = "Current White Council Members:" + custom_effect_tooltip = " Gandalf" + if = { + limit = { ISE = { is_white_council_member = yes } } + custom_effect_tooltip = " Saruman" + } + if = { + limit = { RIV = { is_white_council_member = yes } } + custom_effect_tooltip = " Elrond" + } + if = { + limit = { LTH = { is_white_council_member = yes } } + custom_effect_tooltip = " Galadriel" + } +} \ No newline at end of file diff --git a/common/scripted_guis/elven_alliance_decisions_scripted_gui.txt b/common/scripted_guis/elven_alliance_decisions_scripted_gui.txt new file mode 100644 index 000000000..2335db26a --- /dev/null +++ b/common/scripted_guis/elven_alliance_decisions_scripted_gui.txt @@ -0,0 +1,64 @@ +scripted_gui = { + + elven_alliance_scripted_gui = { + context_type = decision_category + + #parent_window_token = politics_tab + window_name = "elven_alliance_container" + + properties = { + + } + + triggers = { + vote_in_favour_button_visible = { + has_global_flag = ea_vote_in_progress + ea_is_abstaining = yes + } + vote_against_button_visible = { + has_global_flag = ea_vote_in_progress + ea_is_abstaining = yes + } + vote_count_visible = { has_global_flag = ea_vote_in_progress } + background_count_visible = { has_global_flag = ea_vote_in_progress } + + vote_in_favour_button_click_enabled = { ea_can_vote = yes } + vote_against_button_click_enabled = { ea_can_vote = yes } + } + + effects = { + vote_in_favour_button_click = { + ROOT = { + elven_alliance_vote_in_favour = yes + } + } + + vote_against_button_click = { + ROOT = { + elven_alliance_vote_against = yes + } + } + + details_button_click = { + elven_alliance_toggle_details_view = yes + } + + resolution_passes_effect_click = { + effect_tooltip = { + custom_effect_tooltip = effects_when_passed_tt + + elven_alliance_vote_passed_effect = yes + } + } + } + + ai_enabled = { + always = no + } + + visible = { + is_ai = no + } + } +} + diff --git a/common/scripted_guis/elven_alliance_details_view_scripted_gui.txt b/common/scripted_guis/elven_alliance_details_view_scripted_gui.txt new file mode 100644 index 000000000..0ebc078ca --- /dev/null +++ b/common/scripted_guis/elven_alliance_details_view_scripted_gui.txt @@ -0,0 +1,190 @@ +scripted_gui = { + + elven_alliance_details_scripted_gui = { + context_type = player_context + + #parent_window_token = politics_tab + window_name = "elven_alliance_details_container" + + properties = { + ea_resolution_alliance_icon_1 = { image = "[Get_ea_alliance_icon_1]" } + ea_resolution_alliance_icon_2 = { image = "[Get_ea_alliance_icon_2]" } + ea_resolution_alliance_icon_3 = { image = "[Get_ea_alliance_icon_3]" } + + ea_resolution_expansion_icon_1 = { image = "[Get_ea_expansion_icon_1]" } + ea_resolution_expansion_icon_2 = { image = "[Get_ea_expansion_icon_2]" } + ea_resolution_expansion_icon_3 = { image = "[Get_ea_expansion_icon_3]" } + + ea_resolution_industry_icon_1 = { image = "[Get_ea_industry_icon_1]" } + ea_resolution_industry_icon_2 = { image = "[Get_ea_industry_icon_2]" } + ea_resolution_industry_icon_3 = { image = "[Get_ea_industry_icon_3]" } + + ea_resolution_trade_icon_1 = { image = "[Get_ea_trade_icon_1]" } + ea_resolution_trade_icon_2 = { image = "[Get_ea_trade_icon_2]" } + ea_resolution_trade_icon_3 = { image = "[Get_ea_trade_icon_3]" } + + ea_resolution_peace_icon_1 = { image = "[Get_ea_peace_icon_1]" } + ea_resolution_peace_icon_2 = { image = "[Get_ea_peace_icon_2]" } + ea_resolution_peace_icon_3 = { image = "[Get_ea_peace_icon_3]" } + + ea_resolution_research_icon_1 = { image = "[Get_ea_research_icon_1]" } + ea_resolution_research_icon_2 = { image = "[Get_ea_research_icon_2]" } + ea_resolution_research_icon_3 = { image = "[Get_ea_research_icon_3]" } + + ea_resolution_special_icon_1 = { image = "[Get_ea_special_icon_1]" } + ea_resolution_special_icon_2 = { image = "[Get_ea_special_icon_2]" } + ea_resolution_special_icon_3 = { image = "[Get_ea_special_icon_3]" } + } + + dynamic_lists = { + proposal_queue = { + array = global.ea_proposers_queue + value = v + index = i + change_scope = yes + entry_container = "proposal_queue_entry" + } + } + + triggers = { + vote_in_favour_button_visible = { has_global_flag = ea_vote_in_progress } + vote_in_favour_button_click_enabled = { ea_can_vote = yes } + vote_against_button_visible = { has_global_flag = ea_vote_in_progress } + vote_against_button_click_enabled = { ea_can_vote = yes } + abstain_button_click_enabled = { ea_can_vote = yes } + abstain_button_visible = { has_global_flag = ea_vote_in_progress } + vote_against_count_visible = { has_global_flag = ea_vote_in_progress } + vote_in_favour_count_visible = { has_global_flag = ea_vote_in_progress } + vote_in_favour_button_list_visible = { has_global_flag = ea_vote_in_progress } + vote_against_button_list_visible = { has_global_flag = ea_vote_in_progress } + abstain_button_list_visible = { has_global_flag = ea_vote_in_progress } + + memberlist_visible = { NOT = { has_global_flag = ea_vote_in_progress } } + memberlist_bg_visible = { NOT = { has_global_flag = ea_vote_in_progress } } + + ea_leader_indicator_visible = { has_global_flag = ea_type_hegemony } + + # buttons disabled/enabled + ea_resolution_alliance_button_click_enabled = { ea_alliance_can_be_passed = yes } + ea_resolution_industry_button_click_enabled = { ea_industry_can_be_passed = yes } + ea_resolution_expansion_button_click_enabled = { ea_expansion_can_be_passed = yes } + ea_resolution_peace_button_click_enabled = { ea_peace_can_be_passed = yes } + ea_resolution_trade_button_click_enabled = { ea_trade_can_be_passed = yes } + ea_resolution_research_button_click_enabled = { ea_research_can_be_passed = yes } + ea_resolution_special_button_click_enabled = { + if = { limit = { has_global_flag = ea_type_hegemony } ea_hegemony_can_be_passed = yes } + else_if = { limit = { has_global_flag = ea_type_martial } ea_martial_can_be_passed = yes } + else_if = { limit = { has_global_flag = ea_type_union } ea_union_can_be_passed = yes } + else = { custom_trigger_tooltip = { tooltip = ea_type_decided_tt always = no } } + } + } + + effects = { + ea_resolution_alliance_button_click = { + ea_alliance_add_to_queue = yes + } + ea_resolution_industry_button_click = { + ea_industry_add_to_queue = yes + } + ea_resolution_expansion_button_click = { + ea_expansion_add_to_queue = yes + } + ea_resolution_peace_button_click = { + ea_peace_add_to_queue = yes + } + ea_resolution_trade_button_click = { + ea_trade_add_to_queue = yes + } + ea_resolution_research_button_click = { + ea_research_add_to_queue = yes + } + ea_resolution_special_button_click = { + if = { limit = { has_global_flag = ea_type_hegemony } ea_hegemony_add_to_queue = yes } + else_if = { limit = { has_global_flag = ea_type_martial } ea_martial_add_to_queue = yes } + else_if = { limit = { has_global_flag = ea_type_union } ea_union_add_to_queue = yes } + } + + vote_in_favour_button_click = { + ROOT = { + elven_alliance_vote_in_favour = yes + } + } + + vote_against_button_click = { + ROOT = { + elven_alliance_vote_against = yes + } + } + + abstain_button_click = { + ROOT = { + elven_alliance_abstain = yes + } + } + + close_click = { + elven_alliance_toggle_details_view = yes + } + + help_click = { + country_event = elven_alliance.4 + } + + resolution_passes_effect_click = { + effect_tooltip = { + custom_effect_tooltip = effects_when_passed_tt + + elven_alliance_vote_passed_effect = yes + } + } + + # TOOLTIPS + ea_resolution_alliance_icon_1_tt_click = { show_ideas_tooltip = ea_resolution_alliance_idea_1 } + ea_resolution_alliance_icon_2_tt_click = { show_ideas_tooltip = ea_resolution_alliance_idea_2 } + ea_resolution_alliance_icon_3_tt_click = { show_ideas_tooltip = ea_resolution_alliance_idea_3 } + ea_resolution_expansion_icon_1_tt_click = { show_ideas_tooltip = ea_resolution_expansion_idea_1 } + ea_resolution_expansion_icon_2_tt_click = { show_ideas_tooltip = ea_resolution_expansion_idea_2 } + ea_resolution_expansion_icon_3_tt_click = { show_ideas_tooltip = ea_resolution_expansion_idea_3 } + ea_resolution_industry_icon_1_tt_click = { show_ideas_tooltip = ea_resolution_industry_idea_1 } + ea_resolution_industry_icon_2_tt_click = { show_ideas_tooltip = ea_resolution_industry_idea_2 } + ea_resolution_industry_icon_3_tt_click = { show_ideas_tooltip = ea_resolution_industry_idea_3 } + ea_resolution_trade_icon_1_tt_click = { show_ideas_tooltip = ea_resolution_trade_idea_1 } + ea_resolution_trade_icon_2_tt_click = { show_ideas_tooltip = ea_resolution_trade_idea_2 } + ea_resolution_trade_icon_3_tt_click = { show_ideas_tooltip = ea_resolution_trade_idea_3 } + ea_resolution_peace_icon_1_tt_click = { show_ideas_tooltip = ea_resolution_peace_idea_1 } + ea_resolution_peace_icon_2_tt_click = { show_ideas_tooltip = ea_resolution_peace_idea_2 } + ea_resolution_peace_icon_3_tt_click = { show_ideas_tooltip = ea_resolution_peace_idea_3 } + ea_resolution_research_icon_1_tt_click = { show_ideas_tooltip = ea_resolution_research_idea_1 } + ea_resolution_research_icon_2_tt_click = { show_ideas_tooltip = ea_resolution_research_idea_2 } + ea_resolution_research_icon_3_tt_click = { show_ideas_tooltip = ea_resolution_research_idea_3 } + ea_resolution_special_icon_1_tt_click = { + if = { limit = { has_global_flag = ea_type_hegemony } show_ideas_tooltip = ea_resolution_hegemony_idea_1 } + else_if = { limit = { has_global_flag = ea_type_martial } show_ideas_tooltip = ea_resolution_martial_idea_1 } + else_if = { limit = { has_global_flag = ea_type_union } show_ideas_tooltip = ea_resolution_union_idea_1 } + else = { custom_effect_tooltip = ea_type_undecided_tt } + } + ea_resolution_special_icon_2_tt_click = { + if = { limit = { has_global_flag = ea_type_hegemony } show_ideas_tooltip = ea_resolution_hegemony_idea_2 } + else_if = { limit = { has_global_flag = ea_type_martial } show_ideas_tooltip = ea_resolution_martial_idea_2 } + else_if = { limit = { has_global_flag = ea_type_union } show_ideas_tooltip = ea_resolution_union_idea_2 } + else = { custom_effect_tooltip = ea_type_undecided_tt } + } + ea_resolution_special_icon_3_tt_click = { + if = { limit = { has_global_flag = ea_type_hegemony } show_ideas_tooltip = ea_resolution_hegemony_idea_3 } + else_if = { limit = { has_global_flag = ea_type_martial } show_ideas_tooltip = ea_resolution_martial_idea_3 } + else_if = { limit = { has_global_flag = ea_type_union } show_ideas_tooltip = ea_resolution_union_idea_3 } + else = { custom_effect_tooltip = ea_type_undecided_tt } + } + } + + ai_enabled = { + always = no + } + + visible = { + is_ai = no + has_country_flag = elven_alliance_details_view_open + } + } +} + diff --git a/common/scripted_guis/ithilien_crisis_decisions_gui.txt b/common/scripted_guis/ithilien_crisis_decisions_gui.txt new file mode 100644 index 000000000..43460c662 --- /dev/null +++ b/common/scripted_guis/ithilien_crisis_decisions_gui.txt @@ -0,0 +1,103 @@ +scripted_gui = { + + ithilien_crisis_decisions_scripted_gui = { + context_type = decision_category + + #parent_window_token = politics_tab + window_name = "ithilien_crisis_decisions_container" + + properties = { + state_1 = { + image = "[GetState1Image]" + frame = 1 + } + state_2 = { + image = "[GetState2Image]" + frame = 1 + } + state_3 = { + image = "[GetState3Image]" + frame = 1 + } + state_4 = { + image = "[GetState4Image]" + frame = 1 + } + state_1_pillage_hp = { + image = "[22.GetStatePillageHPBar]" + frame = 1 + } + state_2_pillage_hp = { + image = "[173.GetStatePillageHPBar]" + frame = 1 + } + state_3_pillage_hp = { + image = "[175.GetStatePillageHPBar]" + frame = 1 + } + state_4_pillage_hp = { + image = "[135.GetStatePillageHPBar]" + frame = 1 + } + } + + triggers = { + state_1_pillage_hp_visible = { 22 = { has_state_flag = ithc_contested } } + state_2_pillage_hp_visible = { 173 = { has_state_flag = ithc_contested } } + state_3_pillage_hp_visible = { 175 = { has_state_flag = ithc_contested } } + state_4_pillage_hp_visible = { 135 = { has_state_flag = ithc_contested } } + } + + triggers = { + state_1_tt_click = { + 22 = { + ROOT = { + custom_trigger_tooltip = { tooltip = ithc_state_1_tt_e } + if = { limit = { 22 = { has_state_flag = ithc_contested } } + ithc_has_higher_power_projection = yes + } + } + } + } + state_2_tt_click = { + 173 = { + ROOT = { + custom_trigger_tooltip = { tooltip = ithc_state_2_tt_e } + if = { limit = { 173 = { has_state_flag = ithc_contested } } + ithc_has_higher_power_projection = yes + } + } + } + } + state_3_tt_click = { + 175 = { + ROOT = { + custom_trigger_tooltip = { tooltip = ithc_state_3_tt_e } + if = { limit = { 175 = { has_state_flag = ithc_contested } } + ithc_has_higher_power_projection = yes + } + } + } + } + state_4_tt_click = { + 135 = { + ROOT = { + custom_trigger_tooltip = { tooltip = ithc_state_4_tt_e } + if = { limit = { 135 = { has_state_flag = ithc_contested } } + ithc_has_higher_power_projection = yes + } + } + } + } + } + + ai_enabled = { + always = no + } + + visible = { + is_ai = no + } + } +} + diff --git a/common/scripted_guis/lothlorien_influence_focustree_scripted_gui.txt b/common/scripted_guis/lothlorien_influence_focustree_scripted_gui.txt new file mode 100644 index 000000000..69ac7822d --- /dev/null +++ b/common/scripted_guis/lothlorien_influence_focustree_scripted_gui.txt @@ -0,0 +1,31 @@ +scripted_gui = { + + lothlorien_influence_focustree_scripted_gui = { + context_type = player_context + parent_window_name = "lotr_focustree_guihook" + + window_name = "lothlorien_influence_focustree_container" + + properties = { + + } + + triggers = { + # Standard view + ft_orcs_emblem_visible = { check_variable = { modifier@orcs_influence > 0 } } + ft_orcs_title_visible = { check_variable = { modifier@orcs_influence > 0 } } + ft_nonelves_emblem_visible = { check_variable = { modifier@nonelves_influence > 0 } } + ft_nonelves_title_visible = { check_variable = { modifier@nonelves_influence > 0 } } + } + + ai_enabled = { + always = no + } + + visible = { + #is_ai = no + original_tag = LTH + } + } +} + diff --git a/common/scripted_guis/lothlorien_influence_scripted_gui.txt b/common/scripted_guis/lothlorien_influence_scripted_gui.txt new file mode 100644 index 000000000..40c6e4e5b --- /dev/null +++ b/common/scripted_guis/lothlorien_influence_scripted_gui.txt @@ -0,0 +1,67 @@ +scripted_gui = { + + lothlorien_influence_scripted_gui = { + context_type = decision_category + + #parent_window_token = politics_tab + window_name = "lothlorien_influence_container" + + properties = { + + } + + triggers = { + # Standard view + orcs_emblem_visible = { NOT = { has_country_flag = lthi_view_bonuses } check_variable = { modifier@orcs_influence > 0 } } + orcs_title_visible = { NOT = { has_country_flag = lthi_view_bonuses } check_variable = { modifier@orcs_influence > 0 } } + nandor_emblem_visible = { NOT = { has_country_flag = lthi_view_bonuses } } + nandor_title_visible = { NOT = { has_country_flag = lthi_view_bonuses } } + noldor_emblem_visible = { NOT = { has_country_flag = lthi_view_bonuses } } + noldor_title_visible = { NOT = { has_country_flag = lthi_view_bonuses } } + sindar_emblem_visible = { NOT = { has_country_flag = lthi_view_bonuses } } + sindar_title_visible = { NOT = { has_country_flag = lthi_view_bonuses } } + halfelves_emblem_visible = { NOT = { has_country_flag = lthi_view_bonuses } } + halfelves_title_visible = { NOT = { has_country_flag = lthi_view_bonuses } } + nonelves_emblem_visible = { NOT = { has_country_flag = lthi_view_bonuses } check_variable = { modifier@nonelves_influence > 0 } } + nonelves_title_visible = { NOT = { has_country_flag = lthi_view_bonuses } check_variable = { modifier@nonelves_influence > 0 } } + + # Bonuses view + bv_bonuses_list_visible = { has_country_flag = lthi_view_bonuses } + bv_banner_visible = { has_country_flag = lthi_view_bonuses } + bv_orcs_emblem_visible = { has_country_flag = lthi_view_bonuses check_variable = { modifier@orcs_influence > 0 } } + bv_orcs_influence_visible = { has_country_flag = lthi_view_bonuses check_variable = { modifier@orcs_influence > 0 } } + bv_nandor_emblem_visible = { has_country_flag = lthi_view_bonuses } + bv_nandor_influence_visible = { has_country_flag = lthi_view_bonuses } + bv_noldor_emblem_visible = { has_country_flag = lthi_view_bonuses } + bv_noldor_influence_visible = { has_country_flag = lthi_view_bonuses } + bv_sindar_emblem_visible = { has_country_flag = lthi_view_bonuses } + bv_sindar_influence_visible = { has_country_flag = lthi_view_bonuses } + bv_halfelves_emblem_visible = { has_country_flag = lthi_view_bonuses } + bv_halfelves_influence_visible = { has_country_flag = lthi_view_bonuses } + bv_nonelves_emblem_visible = { has_country_flag = lthi_view_bonuses check_variable = { modifier@nonelves_influence > 0 } } + bv_nonelves_influence_visible = { has_country_flag = lthi_view_bonuses check_variable = { modifier@nonelves_influence > 0 } } + + # Toggle button + bv_hide_bonuses_visible = { has_country_flag = lthi_view_bonuses } + view_bonuses_visible = { NOT = { has_country_flag = lthi_view_bonuses } } + } + + effects = { + view_bonuses_click = { + set_country_flag = lthi_view_bonuses + } + bv_hide_bonuses_click = { + clr_country_flag = lthi_view_bonuses + } + } + + ai_enabled = { + always = no + } + + visible = { + is_ai = no + } + } +} + diff --git a/common/scripted_guis/lth_mirror_decisions_gui.txt b/common/scripted_guis/lth_mirror_decisions_gui.txt new file mode 100644 index 000000000..1d4056ddf --- /dev/null +++ b/common/scripted_guis/lth_mirror_decisions_gui.txt @@ -0,0 +1,18 @@ +scripted_gui = { + + lth_mirror_decisions_scripted_gui = { + context_type = decision_category + + #parent_window_token = politics_tab + window_name = "lth_mirror_decisions_container" + + ai_enabled = { + always = no + } + + visible = { + is_ai = no + } + } +} + diff --git a/common/scripted_guis/ring_corruption_decisions_gui.txt b/common/scripted_guis/ring_corruption_decisions_gui.txt new file mode 100644 index 000000000..20e304082 --- /dev/null +++ b/common/scripted_guis/ring_corruption_decisions_gui.txt @@ -0,0 +1,42 @@ +scripted_gui = { + + ring_corruption_decisions_scripted_gui = { + context_type = decision_category + + #parent_window_token = politics_tab + window_name = "ring_corruption_decisions_container" + + properties = { + + } + + triggers = { + overlay_message_text_visible = { OR = { has_global_flag = fs_ring_seized has_global_flag = fs_ring_destroyed } } + overlay_message_bg_visible = { OR = { has_global_flag = fs_ring_seized has_global_flag = fs_ring_destroyed } } + overlay_message_text_corruption_visible = { + has_global_flag = fs_ring_seized + NOT = { has_global_flag = fs_ring_destroyed } + NOT = { MOR = { ring_has_the_ring = yes } } + } + } + + effects = { + details_button_click = { + ring_toggle_details_view = yes + } + } + + ai_enabled = { + always = no + } + + visible = { + is_ai = no + OR = { + has_global_flag = fs_ring_seized + has_global_flag = fs_ring_destroyed + } + } + } +} + diff --git a/common/scripted_guis/ring_decisions_gui.txt b/common/scripted_guis/ring_decisions_gui.txt index 297871a08..23d224ec3 100644 --- a/common/scripted_guis/ring_decisions_gui.txt +++ b/common/scripted_guis/ring_decisions_gui.txt @@ -93,6 +93,8 @@ scripted_gui = { visible = { is_ai = no + #NOT = { has_global_flag = fs_ring_seized } + #NOT = { has_global_flag = fs_ring_destroyed } } } } diff --git a/common/scripted_localisation/elven_alliance_localization.txt b/common/scripted_localisation/elven_alliance_localization.txt new file mode 100644 index 000000000..5e7d6ba8e --- /dev/null +++ b/common/scripted_localisation/elven_alliance_localization.txt @@ -0,0 +1,567 @@ +defined_text = { + name = DisplayElvenAllianceMembers + text = { + trigger = { + if = { + limit = { has_variable = temp_eam_index } + add_to_temp_variable = { temp_eam_index = 1 } + } + else = { + set_temp_variable = { temp_eam_index = 0 } + } + + check_variable = { temp_eam_index < global.elven_alliance_members^num } + } + localization_key = "elven_alliance_memberlist_recruse" + } +} + + + +defined_text = { + name = DisplayElvenAllianceMember + text = { + trigger = { + check_variable = { global.elven_alliance_members^num > temp_eam_index } + } + localization_key = "[?global.elven_alliance_members^temp_eam_index.GetNameWithFlag]" + } +} + + +defined_text = { + name = DisplayElvenAllianceMembers_in_favour + text = { + trigger = { + if = { + limit = { has_variable = temp_eamif_index } + add_to_temp_variable = { temp_eamif_index = 1 } + } + else = { + set_temp_variable = { temp_eamif_index = 0 } + } + + check_variable = { temp_eamif_index < global.elven_alliance_members_in_favour^num } + } + localization_key = "elven_alliance_memberlist_recruse_in_favour" + } +} + + + +defined_text = { + name = DisplayElvenAllianceMember_in_favour + text = { + trigger = { + check_variable = { global.elven_alliance_members_in_favour^num > temp_eamif_index } + } + localization_key = "[?global.elven_alliance_members_in_favour^temp_eamif_index.GetNameWithFlag]" + } +} + + + +defined_text = { + name = DisplayElvenAllianceMembers_against + text = { + trigger = { + if = { + limit = { has_variable = temp_eama_index } + add_to_temp_variable = { temp_eama_index = 1 } + } + else = { + set_temp_variable = { temp_eama_index = 0 } + } + + check_variable = { temp_eama_index < global.elven_alliance_members_against^num } + always = yes + } + localization_key = elven_alliance_memberlist_recruse_against + } +} + + + +defined_text = { + name = DisplayElvenAllianceMember_against + text = { + trigger = { + check_variable = { global.elven_alliance_members_against^num > temp_eama_index } + } + localization_key = "[?global.elven_alliance_members_against^temp_eama_index.GetNameWithFlag]" + } +} + + +defined_text = { + name = DisplayElvenAllianceMembers_FlagOnly_abstain + text = { + trigger = { + if = { + limit = { has_variable = temp_eamfa_index } + add_to_temp_variable = { temp_eamfa_index = 1 } + } + else = { + set_temp_variable = { temp_eamfa_index = 0 } + } + + check_variable = { temp_eamfa_index < global.elven_alliance_members_abstain^num } + } + localization_key = "elven_alliance_memberlist_recruse_flagonly_abstain" + } +} + + + +defined_text = { + name = DisplayElvenAllianceMember_FlagOnly_abstain + text = { + trigger = { + check_variable = { global.elven_alliance_members_abstain^num > temp_eamfa_index } + } + localization_key = "[?global.elven_alliance_members_abstain^temp_eamfa_index.GetFlag]" + } +} + +defined_text = { + name = GetResolutionTarget + text = { + trigger = { + has_variable = ea_resolution_target + } + localization_key = "[?ea_resolution_target.GetNameWithFlag]" + } + text = { + localization_key = "" + } +} + +defined_text = { + name = GetAssemblyStatus + text = { + trigger = { + has_global_flag = ea_vote_in_progress + } + localization_key = "vote_status_resolution" + } + text = { + trigger = { + has_global_flag = ea_assembly_in_recess + } + localization_key = "ea_recess_status" + } + text = { + localization_key = "ea_ready_status" + } +} + +defined_text = { + name = GetAssemblyDiplo + text = { + trigger = { + is_elven_alliance_member = yes + } + localization_key = "ea_diplo_is_member" + } + text = { + trigger = { + is_at_war_with_elven_alliance = yes + } + localization_key = "ea_diplo_at_war" + } + text = { + trigger = { + is_sanctioned_by_elven_alliance = yes + } + localization_key = "ea_diplo_sanctioned" + } + text = { + localization_key = "ea_diplo_neutral" + } +} + +## + +defined_text = { + name = Get_ea_alliance_icon_1 + text = { + trigger = { + has_global_flag = { flag = ea_resolution_alliance_passed value > 0 } + } + localization_key = "GFX_idea_ea_resolution_icon_alliance" + } + text = { + localization_key = "GFX_idea_ea_resolution_icon_alliance_grey" + } +} + +defined_text = { + name = Get_ea_alliance_icon_2 + text = { + trigger = { + has_global_flag = { flag = ea_resolution_alliance_passed value > 1 } + } + localization_key = "GFX_idea_ea_resolution_icon_alliance" + } + text = { + localization_key = "GFX_idea_ea_resolution_icon_alliance_grey" + } +} + +defined_text = { + name = Get_ea_alliance_icon_3 + text = { + trigger = { + has_global_flag = { flag = ea_resolution_alliance_passed value > 2 } + } + localization_key = "GFX_idea_ea_resolution_icon_alliance" + } + text = { + localization_key = "GFX_idea_ea_resolution_icon_alliance_grey" + } +} + +## + +defined_text = { + name = Get_ea_expansion_icon_1 + text = { + trigger = { + has_global_flag = { flag = ea_resolution_expansion_passed value > 0 } + } + localization_key = "GFX_idea_ea_resolution_icon_expansion" + } + text = { + localization_key = "GFX_idea_ea_resolution_icon_expansion_grey" + } +} + +defined_text = { + name = Get_ea_expansion_icon_2 + text = { + trigger = { + has_global_flag = { flag = ea_resolution_expansion_passed value > 1 } + } + localization_key = "GFX_idea_ea_resolution_icon_expansion" + } + text = { + localization_key = "GFX_idea_ea_resolution_icon_expansion_grey" + } +} + +defined_text = { + name = Get_ea_expansion_icon_3 + text = { + trigger = { + has_global_flag = { flag = ea_resolution_expansion_passed value > 2 } + } + localization_key = "GFX_idea_ea_resolution_icon_expansion" + } + text = { + localization_key = "GFX_idea_ea_resolution_icon_expansion_grey" + } +} + +## + +defined_text = { + name = Get_ea_industry_icon_1 + text = { + trigger = { + has_global_flag = { flag = ea_resolution_industry_passed value > 0 } + } + localization_key = "GFX_idea_ea_resolution_icon_industry" + } + text = { + localization_key = "GFX_idea_ea_resolution_icon_industry_grey" + } +} + +defined_text = { + name = Get_ea_industry_icon_2 + text = { + trigger = { + has_global_flag = { flag = ea_resolution_industry_passed value > 1 } + } + localization_key = "GFX_idea_ea_resolution_icon_industry" + } + text = { + localization_key = "GFX_idea_ea_resolution_icon_industry_grey" + } +} + +defined_text = { + name = Get_ea_industry_icon_3 + text = { + trigger = { + has_global_flag = { flag = ea_resolution_industry_passed value > 2 } + } + localization_key = "GFX_idea_ea_resolution_icon_industry" + } + text = { + localization_key = "GFX_idea_ea_resolution_icon_industry_grey" + } +} + +## + +defined_text = { + name = Get_ea_trade_icon_1 + text = { + trigger = { + has_global_flag = { flag = ea_resolution_trade_passed value > 0 } + } + localization_key = "GFX_idea_ea_resolution_icon_trade" + } + text = { + localization_key = "GFX_idea_ea_resolution_icon_trade_grey" + } +} + +defined_text = { + name = Get_ea_trade_icon_2 + text = { + trigger = { + has_global_flag = { flag = ea_resolution_trade_passed value > 1 } + } + localization_key = "GFX_idea_ea_resolution_icon_trade" + } + text = { + localization_key = "GFX_idea_ea_resolution_icon_trade_grey" + } +} + +defined_text = { + name = Get_ea_trade_icon_3 + text = { + trigger = { + has_global_flag = { flag = ea_resolution_trade_passed value > 2 } + } + localization_key = "GFX_idea_ea_resolution_icon_trade" + } + text = { + localization_key = "GFX_idea_ea_resolution_icon_trade_grey" + } +} + +## + +defined_text = { + name = Get_ea_peace_icon_1 + text = { + trigger = { + has_global_flag = { flag = ea_resolution_peace_passed value > 0 } + } + localization_key = "GFX_idea_ea_resolution_icon_peace" + } + text = { + localization_key = "GFX_idea_ea_resolution_icon_peace_grey" + } +} + +defined_text = { + name = Get_ea_peace_icon_2 + text = { + trigger = { + has_global_flag = { flag = ea_resolution_peace_passed value > 1 } + } + localization_key = "GFX_idea_ea_resolution_icon_peace" + } + text = { + localization_key = "GFX_idea_ea_resolution_icon_peace_grey" + } +} + +defined_text = { + name = Get_ea_peace_icon_3 + text = { + trigger = { + has_global_flag = { flag = ea_resolution_peace_passed value > 2 } + } + localization_key = "GFX_idea_ea_resolution_icon_peace" + } + text = { + localization_key = "GFX_idea_ea_resolution_icon_peace_grey" + } +} + +## + +defined_text = { + name = Get_ea_research_icon_1 + text = { + trigger = { + has_global_flag = { flag = ea_resolution_research_passed value > 0 } + } + localization_key = "GFX_idea_ea_resolution_icon_research" + } + text = { + localization_key = "GFX_idea_ea_resolution_icon_research_grey" + } +} + +defined_text = { + name = Get_ea_research_icon_2 + text = { + trigger = { + has_global_flag = { flag = ea_resolution_research_passed value > 1 } + } + localization_key = "GFX_idea_ea_resolution_icon_research" + } + text = { + localization_key = "GFX_idea_ea_resolution_icon_research_grey" + } +} + +defined_text = { + name = Get_ea_research_icon_3 + text = { + trigger = { + has_global_flag = { flag = ea_resolution_research_passed value > 2 } + } + localization_key = "GFX_idea_ea_resolution_icon_research" + } + text = { + localization_key = "GFX_idea_ea_resolution_icon_research_grey" + } +} + +## + +defined_text = { + name = Get_ea_special_icon_1 + text = { + trigger = { + has_global_flag = ea_type_hegemony + has_global_flag = { flag = ea_resolution_hegemony_passed value > 0 } + } + localization_key = "GFX_idea_ea_resolution_icon_hegemony" + } + text = { + trigger = { + has_global_flag = ea_type_hegemony + } + localization_key = "GFX_idea_ea_resolution_icon_hegemony_grey" + } + text = { + trigger = { + has_global_flag = ea_type_martial + has_global_flag = { flag = ea_resolution_martial_passed value > 0 } + } + localization_key = "GFX_idea_ea_resolution_icon_martial" + } + text = { + trigger = { + has_global_flag = ea_type_martial + } + localization_key = "GFX_idea_ea_resolution_icon_martial_grey" + } + text = { + trigger = { + has_global_flag = ea_type_union + has_global_flag = { flag = ea_resolution_union_passed value > 0 } + } + localization_key = "GFX_idea_ea_resolution_icon_union" + } + text = { + trigger = { + has_global_flag = ea_type_union + } + localization_key = "GFX_idea_ea_resolution_icon_union_grey" + } + text = { + localization_key = "GFX_idea_ea_resolution_icon_union_grey" + } +} + +defined_text = { + name = Get_ea_special_icon_2 + text = { + trigger = { + has_global_flag = ea_type_hegemony + has_global_flag = { flag = ea_resolution_hegemony_passed value > 1 } + } + localization_key = "GFX_idea_ea_resolution_icon_hegemony" + } + text = { + trigger = { + has_global_flag = ea_type_hegemony + } + localization_key = "GFX_idea_ea_resolution_icon_hegemony_grey" + } + text = { + trigger = { + has_global_flag = ea_type_martial + has_global_flag = { flag = ea_resolution_martial_passed value > 1 } + } + localization_key = "GFX_idea_ea_resolution_icon_martial" + } + text = { + trigger = { + has_global_flag = ea_type_martial + } + localization_key = "GFX_idea_ea_resolution_icon_martial_grey" + } + text = { + trigger = { + has_global_flag = ea_type_union + has_global_flag = { flag = ea_resolution_union_passed value > 1 } + } + localization_key = "GFX_idea_ea_resolution_icon_union" + } + text = { + trigger = { + has_global_flag = ea_type_union + } + localization_key = "GFX_idea_ea_resolution_icon_union_grey" + } + text = { + localization_key = "GFX_idea_ea_resolution_icon_union_grey" + } +} + +defined_text = { + name = Get_ea_special_icon_3 + text = { + trigger = { + has_global_flag = ea_type_hegemony + has_global_flag = { flag = ea_resolution_hegemony_passed value > 2 } + } + localization_key = "GFX_idea_ea_resolution_icon_hegemony" + } + text = { + trigger = { + has_global_flag = ea_type_hegemony + } + localization_key = "GFX_idea_ea_resolution_icon_hegemony_grey" + } + text = { + trigger = { + has_global_flag = ea_type_martial + has_global_flag = { flag = ea_resolution_martial_passed value > 2 } + } + localization_key = "GFX_idea_ea_resolution_icon_martial" + } + text = { + trigger = { + has_global_flag = ea_type_martial + } + localization_key = "GFX_idea_ea_resolution_icon_martial_grey" + } + text = { + trigger = { + has_global_flag = ea_type_union + has_global_flag = { flag = ea_resolution_union_passed value > 2 } + } + localization_key = "GFX_idea_ea_resolution_icon_union" + } + text = { + trigger = { + has_global_flag = ea_type_union + } + localization_key = "GFX_idea_ea_resolution_icon_union_grey" + } + text = { + localization_key = "GFX_idea_ea_resolution_icon_union_grey" + } +} \ No newline at end of file diff --git a/common/scripted_localisation/gondor_scripted_localization.txt b/common/scripted_localisation/gondor_scripted_localization.txt new file mode 100644 index 000000000..d9a0887b5 --- /dev/null +++ b/common/scripted_localisation/gondor_scripted_localization.txt @@ -0,0 +1,26 @@ +# ID/Name +defined_text = { + name = DenethorParanoid + text = { + trigger = { + is_denethor_paranoid = yes + } + localization_key = GON_denethor_paranoid_text + } +} + +defined_text = { + name = FocusNameChange + text = { + trigger = { + ring_aragorn_is_dead = no + } + localization_key = GON_invite_aragorn_to_minas_tirith_title + } + text = { + trigger = { + ring_aragorn_is_dead = yes + } + localization_key = GON_invite_aragorn_to_minas_tirith_aragorn_dead + } +} \ No newline at end of file diff --git a/common/scripted_localisation/ithc_scripted_localization.txt b/common/scripted_localisation/ithc_scripted_localization.txt new file mode 100644 index 000000000..45625bddc --- /dev/null +++ b/common/scripted_localisation/ithc_scripted_localization.txt @@ -0,0 +1,195 @@ +# Map-Image +defined_text = { + name = GetState1Image + + text = { + trigger = { + 22 = { + is_fully_controlled_by = GON + has_state_flag = ithc_contested + } + } + localization_key = "GFX_ithc_map_1_cont" + } + + text = { + trigger = { + 22 = { + is_fully_controlled_by = GON + } + } + localization_key = "GFX_ithc_map_1_gon" + } + + text = { + trigger = { + 22 = { + is_fully_controlled_by = MOR + } + } + localization_key = "GFX_ithc_map_1_mor" + } +} + +defined_text = { + name = GetState2Image + + text = { + trigger = { + 173 = { + is_fully_controlled_by = GON + has_state_flag = ithc_contested + } + } + localization_key = "GFX_ithc_map_2_cont" + } + + text = { + trigger = { + 173 = { + is_fully_controlled_by = GON + } + } + localization_key = "GFX_ithc_map_2_gon" + } + + text = { + trigger = { + 173 = { + is_fully_controlled_by = MOR + } + } + localization_key = "GFX_ithc_map_2_mor" + } +} + +defined_text = { + name = GetState3Image + + text = { + trigger = { + 175 = { + is_fully_controlled_by = GON + has_state_flag = ithc_contested + } + } + localization_key = "GFX_ithc_map_3_cont" + } + + text = { + trigger = { + 175 = { + is_fully_controlled_by = GON + } + } + localization_key = "GFX_ithc_map_3_gon" + } + + text = { + trigger = { + 175 = { + is_fully_controlled_by = MOR + } + } + localization_key = "GFX_ithc_map_3_mor" + } +} + +defined_text = { + name = GetState4Image + + text = { + trigger = { + 135 = { + is_fully_controlled_by = GON + has_state_flag = ithc_contested + } + } + localization_key = "GFX_ithc_map_4_cont" + } + + text = { + trigger = { + 135 = { + is_fully_controlled_by = GON + } + } + localization_key = "GFX_ithc_map_4_gon" + } + + text = { + trigger = { + 135 = { + is_fully_controlled_by = MOR + } + } + localization_key = "GFX_ithc_map_4_mor" + } +} + +defined_text = { + name = GetStatePillageHPBar + + text = { + trigger = { + check_variable = { ithc_pillage_level > 2 } + } + localization_key = "GFX_ithc_pillage_hp_bar_3" + } + + text = { + trigger = { + check_variable = { ithc_pillage_level = 2 } + } + localization_key = "GFX_ithc_pillage_hp_bar_2" + } + + text = { + trigger = { + check_variable = { ithc_pillage_level = 1 } + } + localization_key = "GFX_ithc_pillage_hp_bar_1" + } + + text = { + trigger = { + check_variable = { ithc_pillage_level < 1 } + } + localization_key = "GFX_ithc_pillage_hp_bar_0" + } +} + +defined_text = { + name = GetStateTooltip + + text = { + trigger = { + is_controlled_by = GON + NOT = { has_state_flag = ithc_contested } + } + localization_key = "ithc_state_tt_gon" + } + + text = { + trigger = { + is_controlled_by = GON + has_state_flag = ithc_contested + } + localization_key = "ithc_state_tt_mix" + } + + text = { + trigger = { + is_controlled_by = MOR + has_state_flag = ithc_contested + } + localization_key = "ithc_state_tt_mor" + } + + text = { + trigger = { + always = yes + } + localization_key = "" + } +} \ No newline at end of file diff --git a/common/scripted_localisation/lthi_scripted_localization.txt b/common/scripted_localisation/lthi_scripted_localization.txt new file mode 100644 index 000000000..1e3c100e3 --- /dev/null +++ b/common/scripted_localisation/lthi_scripted_localization.txt @@ -0,0 +1,116 @@ +defined_text = { + name = Get_nandor_bonus_speed + + text = { + trigger = { + check_variable = { lthi_nandor_bonus_speed > 0 } + } + localization_key = "lthi_nandor_bonus_speed" + } +} + +defined_text = { + name = Get_nandor_bonus_organization + text = { + trigger = { + check_variable = { lthi_nandor_bonus_organization > 0 } + } + localization_key = "lthi_nandor_bonus_organization" + } +} + +defined_text = { + name = Get_noldor_bonus_breakthrough + + text = { + trigger = { + check_variable = { lthi_noldor_bonus_breakthrough > 0 } + } + localization_key = "lthi_noldor_bonus_breakthrough" + } +} + +defined_text = { + name = Get_noldor_bonus_factoryoutput + text = { + trigger = { + check_variable = { lthi_noldor_bonus_factoryoutput > 0 } + } + localization_key = "lthi_noldor_bonus_factoryoutput" + } +} + +defined_text = { + name = Get_sindar_bonus_supply + + text = { + trigger = { + check_variable = { lthi_sindar_bonus_supply < 0 } + } + localization_key = "lthi_sindar_bonus_supply" + } +} + +defined_text = { + name = Get_sindar_bonus_research + text = { + trigger = { + check_variable = { lthi_sindar_bonus_research > 0 } + } + localization_key = "lthi_sindar_bonus_research" + } +} + +defined_text = { + name = Get_lthi_halfelves_bonus_stability + + text = { + trigger = { + check_variable = { lthi_halfelves_bonus_stability > 0 } + } + localization_key = "lthi_halfelves_bonus_stability" + } +} + +defined_text = { + name = Get_halfelves_bonus_consumergoods + text = { + trigger = { + check_variable = { lthi_halfelves_bonus_consumergoods < 0 } + } + localization_key = "lthi_halfelves_bonus_consumergoods" + } +} + +defined_text = { + name = Get_nonelves_bonus_monthlypop + text = { + trigger = { + check_variable = { lthi_nonelves_bonus_monthlypop > 0 } + } + localization_key = "lthi_nonelves_bonus_monthlypop" + } +} + +defined_text = { + name = Get_orcs_bonus_strength + text = { + trigger = { + check_variable = { lthi_orcs_bonus_strength > 0 } + } + localization_key = "lthi_orcs_bonus_strength" + } +} + +defined_text = { + name = GetImmortalEnduranceModifierTT + text = { + trigger = { + has_completed_focus = lth_endurethedarkness + } + localization_key = lth_immortal_endurance_modifier_tt_enhanced + } + text = { + localization_key = lth_immortal_endurance_modifier_tt_base + } +} \ No newline at end of file diff --git a/common/scripted_localisation/ring_scripted_localization.txt b/common/scripted_localisation/ring_scripted_localization.txt index a237dc7ea..56da1676f 100644 --- a/common/scripted_localisation/ring_scripted_localization.txt +++ b/common/scripted_localisation/ring_scripted_localization.txt @@ -1,5 +1,3 @@ -##### TODO: unfinished - defined_text = { name = DisplayRingEventLog text = { @@ -324,4 +322,22 @@ defined_text = { } localization_key = "fs_ring_seized_message" } +} + +defined_text = { + name = GetRingCorruption + text = { + trigger = { + var:global.fs_ring_owner = { + power_balance_value = { + id = ring_corruption_balance + value < 0.0 + } + } + } + localization_key = ring_corruption_good_t + } + text = { + localization_key = ring_corruption_bad_t + } } \ No newline at end of file diff --git a/common/scripted_triggers/00_gameplan.txt b/common/scripted_triggers/00_gameplan.txt new file mode 100644 index 000000000..d806b5ac2 --- /dev/null +++ b/common/scripted_triggers/00_gameplan.txt @@ -0,0 +1,104 @@ + + +ise_is_evil = { + ISE = { has_completed_focus = imprisongandalf } +} + +lth_is_evil = { + LTH = { has_completed_focus = lth_thegreatschism } +} + +riv_is_evil = { + RIV = { has_completed_focus = assasinateelrond } +} + + +has_cooperative_path = { + OR = { + has_focus_tree = generic_focus + AND = { + NOT = { tag = MOR } + NOT = { tag = MOC } + } + } +} + +has_belligerent_path = { + OR = { + has_focus_tree = generic_focus + AND = { + NOT = { tag = GON } + NOT = { tag = MOA } + } + } +} + +has_revolutionary_path = { + OR = { + has_focus_tree = generic_focus + AND = { + NOT = { tag = ROH } + NOT = { tag = ANG } + NOT = { tag = RHU } + NOT = { tag = HAR } + NOT = { tag = ISE } + NOT = { tag = MOA } + } + } +} + +has_unaligned_path = { + OR = { + has_focus_tree = generic_focus + tag = ART + tag = LTH + tag = ENT + tag = RIV + tag = ANG + tag = MIR + } +} + + + +is_going_cooperative = { + has_country_flag = gameplan_going_cooperative +} + +is_going_belligerent = { + has_country_flag = gamplan_going_belligerent +} + +is_going_revolutionary = { + has_country_flag = gameplan_going_revolutionary +} + +is_going_unaligned = { + has_country_flag = gameplan_going_unaligned +} + +# Runs for THIS and ROOT +is_going_same_path_as_root = { + OR = { + AND = { + THIS = { is_going_cooperative = yes } + ROOT = { is_going_cooperative = yes } + } + AND = { + THIS = { is_going_belligerent = yes } + ROOT = { is_going_belligerent = yes } + } + AND = { + THIS = { is_going_revolutionary = yes } + ROOT = { is_going_revolutionary = yes } + } + AND = { + THIS = { is_going_unaligned = yes } + ROOT = { is_going_unaligned = yes } + } + } +} + +is_going_different_path_as_root = { + NOT = { is_going_same_path_as_root = yes } +} \ No newline at end of file diff --git a/common/scripted_triggers/00_scripted_triggers.txt b/common/scripted_triggers/00_scripted_triggers.txt index 9758eacd3..bf79a9051 100644 --- a/common/scripted_triggers/00_scripted_triggers.txt +++ b/common/scripted_triggers/00_scripted_triggers.txt @@ -316,7 +316,13 @@ is_core_or_compliance_60 = { } has_any_byz_cosmetic_tag = { - always = no + OR = { + has_cosmetic_tag = BYZ_UNIFIED + has_cosmetic_tag = BYZ_UNIFIED_revolutionary + has_cosmetic_tag = BYZ_UNIFIED_cooperative + has_cosmetic_tag = BYZ_UNIFIED_belligerent + has_cosmetic_tag = BYZ_UNIFIED_unaligned + } } has_same_ideology = { @@ -344,7 +350,28 @@ has_same_ideology = { } is_latin_american_country = { - always = no + OR = { + original_tag = CUB + original_tag = ARG + original_tag = BRA + original_tag = URG + original_tag = PAR + original_tag = CHL + original_tag = BOL + original_tag = PRU + original_tag = ECU + original_tag = COL + original_tag = VEN + original_tag = PAN + original_tag = COS + original_tag = NIC + original_tag = HON + original_tag = ELS + original_tag = GUA + original_tag = MEX + original_tag = HAI + original_tag = DOM + } } has_specialist_level_trigger = { @@ -377,19 +404,26 @@ is_major_not_original_tag_root = { } is_initial_ethiopian_state = { - always = no + OR = { + state = 271 + state = 835 + state = 836 + state = 837 + state = 838 + state = 839 + state = 840 + state = 841 + state = 842 + state = 843 + } } has_subject_autonomy_feature = { has_dlc = "Together for Victory" - #TODO_Manu: More DLCs? } is_organization_of_african_unity_member = { - custom_trigger_tooltip = { - tooltip = is_league_of_nations_member_tt - has_idea = organization_of_african_unity_member_idea - } + always = no } has_tech_sharing_feature = { @@ -493,3 +527,58 @@ is_unlikely_country_tag = { tag = MMO } } + +has_aat = { + has_dlc = "Arms Against Tyranny" +} + +has_any_tank_tech = { + OR = { + has_tech = basic_light_tank_chassis + has_tech = basic_medium_tank_chassis + has_tech = basic_heavy_tank_chassis + } +} + +has_any_tanks = { + OR = { + has_equipment = { light_tank_chassis_0 > 0} + has_equipment = { medium_tank_chassis > 0 } + has_equipment = { light_tank_chassis > 0 } + has_equipment = { heavy_tank_chassis > 0 } + } +} + +can_unlock_new_special_forces_tree = { + always = no +} +# These are to make strength comparisons easier + +FROM_is_stronger = { + strength_ratio = { + tag = FROM + ratio < 1 + } +} + +FROM_is_twice_as_strong = { + strength_ratio = { + tag = FROM + ratio < 0.5 + } +} + +FROM_is_weaker = { + strength_ratio = { + tag = FROM + ratio > 1 + } +} + +FROM_is_twice_as_weak = { + strength_ratio = { + tag = FROM + ratio > 2 + } +} + diff --git a/common/scripted_triggers/diplomacy_scripted_triggers.txt b/common/scripted_triggers/diplomacy_scripted_triggers.txt index 3615e08b6..97c6ed088 100644 --- a/common/scripted_triggers/diplomacy_scripted_triggers.txt +++ b/common/scripted_triggers/diplomacy_scripted_triggers.txt @@ -119,6 +119,26 @@ DIPLOMACY_RELEASE_NATION_ENABLE_TRIGGER = { } always = no } + if = { + limit = { + ROOT = { tag = LTH } + FROM = { tag = NDH } + } + custom_trigger_tooltip = { + tooltip = RULE_DONT_ALLOW_REALEASE_DOL_GULDER_TOOLTIP + } + always = no + } + if = { + limit = { + ROOT = { tag = GON } + FROM = { tag = ITH } + } + custom_trigger_tooltip = { + tooltip = RULE_DONT_ALLOW_REALEASE_DOL_GULDER_TOOLTIP + } + always = no + } } DIPLOMACY_MILACC_ENABLE_TRIGGER = { if = { @@ -647,6 +667,60 @@ DIPLOMACY_KICK_FROM_FACTION_ENABLE_TRIGGER = { } } } +DIPLOMACY_JOIN_FACTION_ENABLE_TRIGGER = { + if = { + limit = { + OR = { + AND = { FROM = { tag = MOR } ROOT = { tag = LTH } } + AND = { ROOT = { tag = MOR } FROM = { tag = LTH } } + AND = { FROM = { is_in_faction_with = MOR } ROOT = { tag = LTH } } + AND = { ROOT = { is_in_faction_with = MOR } FROM = { tag = LTH } } + } + MOR = { has_government = belligerent } + LTH = { has_completed_focus = lth_theoathoffeanor } + } + custom_trigger_tooltip = { + tooltip = oath_of_feanor_diplo_tt + always = no + } + } +} +DIPLOMACY_OFFER_JOIN_FACTION_ENABLE_TRIGGER = { + if = { + limit = { + OR = { + AND = { FROM = { tag = MOR } ROOT = { tag = LTH } } + AND = { ROOT = { tag = MOR } FROM = { tag = LTH } } + AND = { FROM = { is_in_faction_with = MOR } ROOT = { tag = LTH } } + AND = { ROOT = { is_in_faction_with = MOR } FROM = { tag = LTH } } + } + MOR = { has_government = belligerent } + LTH = { has_completed_focus = lth_theoathoffeanor } + } + custom_trigger_tooltip = { + tooltip = oath_of_feanor_diplo_tt + always = no + } + } +} +DIPLOMACY_CREATE_FACTION_ACTION_ENABLE_TRIGGER = { + if = { + limit = { + OR = { + AND = { FROM = { tag = MOR } ROOT = { tag = LTH } } + AND = { ROOT = { tag = MOR } FROM = { tag = LTH } } + AND = { FROM = { is_in_faction_with = MOR } ROOT = { tag = LTH } } + AND = { ROOT = { is_in_faction_with = MOR } FROM = { tag = LTH } } + } + MOR = { has_government = belligerent } + LTH = { has_completed_focus = lth_theoathoffeanor } + } + custom_trigger_tooltip = { + tooltip = oath_of_feanor_diplo_tt + always = no + } + } +} DIPLOMACY_SEND_VOLUNTEERS_ENABLE_TRIGGER = { if = { limit = { @@ -710,7 +784,7 @@ game_weight_can_add_communist = { } DIPLOMACY_JOIN_ALLY_ENABLE_TRIGGER = { - if = { # TODO_TA make more generic trigger + if = { limit = { always = no @@ -722,7 +796,7 @@ DIPLOMACY_JOIN_ALLY_ENABLE_TRIGGER = { } } DIPLOMACY_CALL_ALLY_ENABLE_TRIGGER = { - if = { # TODO_TA make more generic trigger + if = { limit = { always = no diff --git a/common/scripted_triggers/elven_alliance_resolutions_triggers.txt b/common/scripted_triggers/elven_alliance_resolutions_triggers.txt new file mode 100644 index 000000000..c8a69c26b --- /dev/null +++ b/common/scripted_triggers/elven_alliance_resolutions_triggers.txt @@ -0,0 +1,300 @@ +######################## +### Triggers: alliance +######################## + +ea_alliance_can_be_passed = { + has_political_power > elven_alliance_proposal_cost + ROOT = { can_propose_resolutions_elven_alliance = yes } + custom_trigger_tooltip = { + tooltip = ea_resolution_unlocked_tt + has_global_flag = ea_alliance_resolutions_unlocked + OR = { + NOT = { has_global_flag = ea_resolution_alliance_passed } + has_global_flag = { flag = ea_resolution_alliance_passed value < 2 } + AND = { + has_global_flag = { flag = ea_resolution_alliance_passed value < 3 } + has_global_flag = ea_alliance_advanced_resolutions_unlocked + } + } + } + custom_trigger_tooltip = { + tooltip = ea_resolution_is_in_queue_tt + NOT = { is_in_array = { global.ea_resolutions_queue = token:ea_resolution_alliance } } + } + custom_trigger_tooltip = { + tooltip = ea_already_passing_resolution_tt + NOT = { is_in_array = { global.ea_proposers_queue = ROOT } } + } +} + + + + + + +######################## +### Triggers: hegemony +######################## + +ea_hegemony_can_be_passed = { + has_political_power > elven_alliance_proposal_cost + ROOT = { can_propose_resolutions_elven_alliance = yes } + custom_trigger_tooltip = { + tooltip = ea_resolution_unlocked_tt + has_global_flag = ea_hegemony_resolutions_unlocked + OR = { + NOT = { has_global_flag = ea_resolution_hegemony_passed } + has_global_flag = { flag = ea_resolution_hegemony_passed value < 2 } + AND = { + has_global_flag = { flag = ea_resolution_hegemony_passed value < 3 } + has_global_flag = ea_hegemony_advanced_resolutions_unlocked + } + } + } + custom_trigger_tooltip = { + tooltip = ea_resolution_is_in_queue_tt + NOT = { is_in_array = { global.ea_resolutions_queue = token:ea_resolution_hegemony } } + } + custom_trigger_tooltip = { + tooltip = ea_already_passing_resolution_tt + NOT = { is_in_array = { global.ea_proposers_queue = ROOT } } + } +} + + + + + + +######################## +### Triggers: peace +######################## + +ea_peace_can_be_passed = { + has_political_power > elven_alliance_proposal_cost + ROOT = { can_propose_resolutions_elven_alliance = yes } + custom_trigger_tooltip = { + tooltip = ea_resolution_unlocked_tt + has_global_flag = ea_peace_resolutions_unlocked + OR = { + NOT = { has_global_flag = ea_resolution_peace_passed } + has_global_flag = { flag = ea_resolution_peace_passed value < 2 } + AND = { + has_global_flag = { flag = ea_resolution_peace_passed value < 3 } + has_global_flag = ea_peace_advanced_resolutions_unlocked + } + } + } + custom_trigger_tooltip = { + tooltip = ea_resolution_is_in_queue_tt + NOT = { is_in_array = { global.ea_resolutions_queue = token:ea_resolution_peace } } + } + custom_trigger_tooltip = { + tooltip = ea_already_passing_resolution_tt + NOT = { is_in_array = { global.ea_proposers_queue = ROOT } } + } +} + + + + + + +######################## +### Triggers: expansion +######################## + +ea_expansion_can_be_passed = { + has_political_power > elven_alliance_proposal_cost + ROOT = { can_propose_resolutions_elven_alliance = yes } + custom_trigger_tooltip = { + tooltip = ea_resolution_unlocked_tt + has_global_flag = ea_expansion_resolutions_unlocked + OR = { + NOT = { has_global_flag = ea_resolution_expansion_passed } + has_global_flag = { flag = ea_resolution_expansion_passed value < 2 } + AND = { + has_global_flag = { flag = ea_resolution_expansion_passed value < 3 } + has_global_flag = ea_expansion_advanced_resolutions_unlocked + } + } + } + custom_trigger_tooltip = { + tooltip = ea_resolution_is_in_queue_tt + NOT = { is_in_array = { global.ea_resolutions_queue = token:ea_resolution_expansion } } + } + custom_trigger_tooltip = { + tooltip = ea_already_passing_resolution_tt + NOT = { is_in_array = { global.ea_proposers_queue = ROOT } } + } +} + + + + + + +######################## +### Triggers: industry +######################## + +ea_industry_can_be_passed = { + has_political_power > elven_alliance_proposal_cost + ROOT = { can_propose_resolutions_elven_alliance = yes } + custom_trigger_tooltip = { + tooltip = ea_resolution_unlocked_tt + has_global_flag = ea_industry_resolutions_unlocked + OR = { + NOT = { has_global_flag = ea_resolution_industry_passed } + has_global_flag = { flag = ea_resolution_industry_passed value < 2 } + AND = { + has_global_flag = { flag = ea_resolution_industry_passed value < 3 } + has_global_flag = ea_industry_advanced_resolutions_unlocked + } + } + } + custom_trigger_tooltip = { + tooltip = ea_resolution_is_in_queue_tt + NOT = { is_in_array = { global.ea_resolutions_queue = token:ea_resolution_industry } } + } + custom_trigger_tooltip = { + tooltip = ea_already_passing_resolution_tt + NOT = { is_in_array = { global.ea_proposers_queue = ROOT } } + } +} + + + + + + +######################## +### Triggers: research +######################## + +ea_research_can_be_passed = { + has_political_power > elven_alliance_proposal_cost + ROOT = { can_propose_resolutions_elven_alliance = yes } + custom_trigger_tooltip = { + tooltip = ea_resolution_unlocked_tt + has_global_flag = ea_research_resolutions_unlocked + OR = { + NOT = { has_global_flag = ea_resolution_research_passed } + has_global_flag = { flag = ea_resolution_research_passed value < 2 } + AND = { + has_global_flag = { flag = ea_resolution_research_passed value < 3 } + has_global_flag = ea_research_advanced_resolutions_unlocked + } + } + } + custom_trigger_tooltip = { + tooltip = ea_resolution_is_in_queue_tt + NOT = { is_in_array = { global.ea_resolutions_queue = token:ea_resolution_research } } + } + custom_trigger_tooltip = { + tooltip = ea_already_passing_resolution_tt + NOT = { is_in_array = { global.ea_proposers_queue = ROOT } } + } +} + + + + + + +######################## +### Triggers: martial +######################## + +ea_martial_can_be_passed = { + has_political_power > elven_alliance_proposal_cost + ROOT = { can_propose_resolutions_elven_alliance = yes } + custom_trigger_tooltip = { + tooltip = ea_resolution_unlocked_tt + has_global_flag = ea_martial_resolutions_unlocked + OR = { + NOT = { has_global_flag = ea_resolution_martial_passed } + has_global_flag = { flag = ea_resolution_martial_passed value < 2 } + AND = { + has_global_flag = { flag = ea_resolution_martial_passed value < 3 } + has_global_flag = ea_martial_advanced_resolutions_unlocked + } + } + } + custom_trigger_tooltip = { + tooltip = ea_resolution_is_in_queue_tt + NOT = { is_in_array = { global.ea_resolutions_queue = token:ea_resolution_martial } } + } + custom_trigger_tooltip = { + tooltip = ea_already_passing_resolution_tt + NOT = { is_in_array = { global.ea_proposers_queue = ROOT } } + } +} + + + + + + +######################## +### Triggers: union +######################## + +ea_union_can_be_passed = { + has_political_power > elven_alliance_proposal_cost + ROOT = { can_propose_resolutions_elven_alliance = yes } + custom_trigger_tooltip = { + tooltip = ea_resolution_unlocked_tt + has_global_flag = ea_union_resolutions_unlocked + OR = { + NOT = { has_global_flag = ea_resolution_union_passed } + has_global_flag = { flag = ea_resolution_union_passed value < 2 } + AND = { + has_global_flag = { flag = ea_resolution_union_passed value < 3 } + has_global_flag = ea_union_advanced_resolutions_unlocked + } + } + } + custom_trigger_tooltip = { + tooltip = ea_resolution_is_in_queue_tt + NOT = { is_in_array = { global.ea_resolutions_queue = token:ea_resolution_union } } + } + custom_trigger_tooltip = { + tooltip = ea_already_passing_resolution_tt + NOT = { is_in_array = { global.ea_proposers_queue = ROOT } } + } +} + + + + + + +######################## +### Triggers: trade +######################## + +ea_trade_can_be_passed = { + has_political_power > elven_alliance_proposal_cost + ROOT = { can_propose_resolutions_elven_alliance = yes } + custom_trigger_tooltip = { + tooltip = ea_resolution_unlocked_tt + has_global_flag = ea_trade_resolutions_unlocked + OR = { + NOT = { has_global_flag = ea_resolution_trade_passed } + has_global_flag = { flag = ea_resolution_trade_passed value < 2 } + AND = { + has_global_flag = { flag = ea_resolution_trade_passed value < 3 } + has_global_flag = ea_trade_advanced_resolutions_unlocked + } + } + } + custom_trigger_tooltip = { + tooltip = ea_resolution_is_in_queue_tt + NOT = { is_in_array = { global.ea_resolutions_queue = token:ea_resolution_trade } } + } + custom_trigger_tooltip = { + tooltip = ea_already_passing_resolution_tt + NOT = { is_in_array = { global.ea_proposers_queue = ROOT } } + } +} \ No newline at end of file diff --git a/common/scripted_triggers/elven_alliance_scripted_triggers.txt b/common/scripted_triggers/elven_alliance_scripted_triggers.txt new file mode 100644 index 000000000..b2f709147 --- /dev/null +++ b/common/scripted_triggers/elven_alliance_scripted_triggers.txt @@ -0,0 +1,238 @@ + + + +ea_is_voting_yes = { + is_in_array = { global.elven_alliance_members_in_favour = THIS } +} + +ea_is_voting_no = { + is_in_array = { global.elven_alliance_members_against = THIS } +} + +ea_is_abstaining = { + is_in_array = { global.elven_alliance_members_abstain = THIS } +} + +ea_is_hegemony_leader = { + check_variable = { + global.ea_hegemony_leader = THIS + } +} + +ea_is_resolution_proposer = { + check_variable = { + global.ea_current_resolution_proposer = THIS + } +} + +is_elven_alliance_member = { + has_country_flag = is_elven_alliance_member +} + +is_elven_alliance_member_no_tt = { + hidden_trigger = { + has_country_flag = is_elven_alliance_member + } +} + +is_sanctioned_by_elven_alliance = { + has_country_flag = ea_is_sanctioned +} + +is_not_sanctioned_by_elven_alliance = { + NOT = { is_sanctioned_by_elven_alliance = yes } +} + +ea_can_vote = { + has_political_power > 5 + is_not_sanctioned_by_elven_alliance = yes +} + +is_at_war_with_elven_alliance_member = { + custom_trigger_tooltip = { + tooltip = "[THIS.GetName] is at war with an Elven Assembly member" + any_of_scopes = { + array = global.elven_alliance_members + has_war_with = PREV + } + } +} + +is_not_at_war_with_elven_alliance_member = { + custom_trigger_tooltip = { + tooltip = "[THIS.GetName] is not at war with an Elven Assembly member" + is_at_war_with_elven_alliance_member = no + } +} + +is_at_war_with_elven_alliance = { + custom_trigger_tooltip = { + tooltip = "[THIS.GetName] is at war with all Elven Assembly members" + all_of_scopes = { + array = global.elven_alliance_members + has_war_with = PREV + } + } +} + + +can_invite_to_elven_alliance = { + custom_trigger_tooltip = { + tooltip = "The current Expansion Resolution allows [THIS.GetName] to invite new members" + OR = { + is_elves = yes + AND = { + has_global_flag = { flag = ea_resolution_expansion_passed value = 2 } + is_men = yes + } + has_global_flag = { flag = ea_resolution_expansion_passed value = 3 } + } + } +} + +can_propose_resolutions_elven_alliance = { + custom_trigger_tooltip = { + tooltip = "The current Assembly Resolution allows [THIS.GetName] to make proposals" + OR = { + is_elves = yes + ea_has_alliance_tier_1 = yes + } + } +} + +can_be_invited_to_elven_alliance = { + custom_trigger_tooltip = { + tooltip = "The current Expansion Resolution allows [THIS.GetName] to be invited" + OR = { + is_elves = yes + AND = { + has_global_flag = { flag = ea_resolution_expansion_passed value = 1 } + is_men = yes + } + AND = { + has_global_flag = { flag = ea_resolution_expansion_passed value = 2 } + is_orcs = no + } + has_global_flag = { flag = ea_resolution_expansion_passed value = 3 } + } + } +} + +ea_more_than_2_resolutions_in_queue = { + check_variable = { global.ea_proposers_queue^num > 2 } +} + +ea_has_resolution_in_queue = { + is_in_array = { global.ea_proposers_queue = THIS } +} + +ea_resolution_queue_empty = { + check_variable = { global.ea_proposers_queue^num < 1 } +} + +# This is true for a single EA member. No guarantee on which one +ea_single_member_trigger = { + check_variable = { + var:global.elven_alliance_members^0 = ROOT + } +} + +ea_make_leader_proposal_in_queue = { + is_in_array = { + array = global.ea_resolutions_queue + value = token:ea_resolution_make_leader + } +} + + +elven_alliance_has_at_least_5_members = { + custom_trigger_tooltip = { + tooltip = "The Assembly has at least 5 members" + check_variable = { + global.elven_alliance_members^num > 4 + } + } +} + +elven_alliance_has_at_least_8_members = { + custom_trigger_tooltip = { + tooltip = "The Assembly has at least 8 members" + check_variable = { + global.elven_alliance_members^num > 7 + } + } +} + +elven_alliance_has_at_least_10_members = { + custom_trigger_tooltip = { + tooltip = "The Assembly has at least 10 members" + check_variable = { + global.elven_alliance_members^num > 9 + } + } +} + +ea_is_current_resolution_target = { + check_variable = { global.ea_resolution_target = THIS } +} + + +ea_has_alliance_tier_1 = { + has_global_flag = { flag = ea_resolution_alliance_passed value > 0 } +} + +ea_has_alliance_tier_2 = { + has_global_flag = { flag = ea_resolution_alliance_passed value > 1 } +} + +ea_has_alliance_tier_3 = { + has_global_flag = { flag = ea_resolution_alliance_passed value > 2 } +} + +ea_has_expansion_tier_1 = { + has_global_flag = { flag = ea_resolution_expansion_passed value > 0 } +} + +ea_has_expansion_tier_2 = { + has_global_flag = { flag = ea_resolution_expansion_passed value > 1 } +} + +ea_has_expansion_tier_3 = { + has_global_flag = { flag = ea_resolution_expansion_passed value > 2 } +} + +ea_has_hegemony_tier_1 = { + has_global_flag = { flag = ea_resolution_hegemony_passed value > 0 } +} + +ea_has_hegemony_tier_2 = { + has_global_flag = { flag = ea_resolution_hegemony_passed value > 1 } +} + +ea_has_hegemony_tier_3 = { + has_global_flag = { flag = ea_resolution_hegemony_passed value > 2 } +} + +ea_has_martial_tier_1 = { + has_global_flag = { flag = ea_resolution_martial_passed value > 0 } +} + +ea_has_martial_tier_2 = { + has_global_flag = { flag = ea_resolution_martial_passed value > 1 } +} + +ea_has_martial_tier_3 = { + has_global_flag = { flag = ea_resolution_martial_passed value > 2 } +} + +ea_has_union_tier_1 = { + has_global_flag = { flag = ea_resolution_union_passed value > 0 } +} + +ea_has_union_tier_2 = { + has_global_flag = { flag = ea_resolution_union_passed value > 1 } +} + +ea_has_union_tier_3 = { + has_global_flag = { flag = ea_resolution_union_passed value > 2 } +} \ No newline at end of file diff --git a/common/scripted_triggers/gondor_scripted_triggers.txt b/common/scripted_triggers/gondor_scripted_triggers.txt new file mode 100644 index 000000000..89ecd05a3 --- /dev/null +++ b/common/scripted_triggers/gondor_scripted_triggers.txt @@ -0,0 +1,47 @@ +is_denethor_paranoid = { + GON = { + OR = { + has_idea = GON_denethor_0 + has_idea = GON_denethor_1 + has_idea = GON_denethor_2 + has_idea = GON_denethor_3 + has_idea = GON_denethor_4 + } + } +} + +could_denethor_paranoid_be_decreased = { + GON = { + OR = { + has_idea = GON_denethor_1 + has_idea = GON_denethor_2 + has_idea = GON_denethor_3 + has_idea = GON_denethor_4 + } + } +} + +the_other_gondor_exists = { + custom_trigger_tooltip = { + tooltip = "The opposing side of the Gondor civil war still exists" + any_country_with_original_tag = { + original_tag_to_check = GON + NOT = { TAG = ROOT } + exists = yes + } + } +} + +the_other_gondor_does_not_exist = { + custom_trigger_tooltip = { + tooltip = "The opposing side of the Gondor civil war does not exists" + the_other_gondor_exists = no + } +} + +denethor_is_leader = { + has_country_leader = { + character = GON_denethor + ruling_only = yes + } +} \ No newline at end of file diff --git a/common/scripted_triggers/ithilien_crisis_scripted_triggers.txt b/common/scripted_triggers/ithilien_crisis_scripted_triggers.txt new file mode 100644 index 000000000..e97a58c3b --- /dev/null +++ b/common/scripted_triggers/ithilien_crisis_scripted_triggers.txt @@ -0,0 +1,78 @@ + + +ithc_is_available = { + GON = { + NOT = { is_in_faction_with = MOR } + NOT = { has_war_with = GON } + } + NOT = { + has_global_flag = mordor_gondor_war + } +} + + +ithc_crisis_is_active = { + has_global_flag = ithc_ithilien_crisis_commenced + NOT = { GON = { has_war_with = MOR } } + NOT = { GON = { is_ally_with = MOR } } + NOT = { has_global_flag = mordor_gondor_war } +} + +ithc_state_available_to_contest = { + NOT = { has_state_flag = ithc_contested } + is_fully_controlled_by = GON +} + +ithc_state_can_annex_visible = { + check_variable = { ithc_pillage_level > 1 } +} + +ithc_state_can_annex = { + check_variable = { ithc_pillage_level > 2 } + custom_trigger_tooltip = { + tooltip = ithc_state_can_annex_tt + } +} + + +ithc_has_higher_power_projection = { + if = { + limit = { tag = MOR } + custom_trigger_tooltip = { + tooltip = ithc_has_higher_power_projection_MOR_tt + PREV = { MOR = { set_temp_variable = { pp_total_MOR = mtth:ithc_pp_total_MOR } } } + PREV = { GON = { set_temp_variable = { pp_total_GON = mtth:ithc_pp_total_GON } } } + check_variable = { pp_total_MOR > pp_total_GON } + } + + PREV = { MOR = { + custom_trigger_tooltip = { + tooltip = ithc_power_projection_MOR_good_tt + } + } } + PREV = { GON = { + custom_trigger_tooltip = { + tooltip = ithc_power_projection_GON_evil_tt + } + } } + } + else = { + custom_trigger_tooltip = { + tooltip = ithc_has_higher_power_projection_GON_tt + PREV = { MOR = { set_temp_variable = { pp_total_MOR = mtth:ithc_pp_total_MOR } } } + PREV = { GON = { set_temp_variable = { pp_total_GON = mtth:ithc_pp_total_GON } } } + check_variable = { pp_total_GON > pp_total_MOR } + } + + PREV = { GON = { + custom_trigger_tooltip = { + tooltip = ithc_power_projection_GON_good_tt + } + } } + PREV = { MOR = { + custom_trigger_tooltip = { + tooltip = ithc_power_projection_MOR_evil_tt + } + } } + } +} \ No newline at end of file diff --git a/common/scripted_triggers/lothlorien_scripted_triggers.txt b/common/scripted_triggers/lothlorien_scripted_triggers.txt new file mode 100644 index 000000000..dd846a067 --- /dev/null +++ b/common/scripted_triggers/lothlorien_scripted_triggers.txt @@ -0,0 +1,364 @@ + + + +mirror_can_continue_storyline = { + OR = { + AND = { + has_country_flag = m_storyline_ritual + OR = { + NOT = { has_country_flag = m_storyline_ritual_knows_about_rune } + NOT = { has_country_flag = m_storyline_ritual_knows_about_ritual } + NOT = { has_country_flag = m_storyline_ritual_has_given_name } + } + } + AND = { + has_country_flag = m_storyline_illness + OR = { + NOT = { has_country_flag = m_storyline_illness_knows_about_illness } + NOT = { has_country_flag = m_storyline_illness_knows_about_rift } + NOT = { has_country_flag = m_storyline_illness_knows_about_historian } + } + } + AND = { + has_country_flag = m_storyline_giant + OR = { + NOT = { has_country_flag = m_storyline_giant_knows_about_missing_scouts } + NOT = { has_country_flag = m_storyline_giant_knows_about_mound } + NOT = { has_country_flag = m_storyline_giant_knows_about_giant } + NOT = { has_country_flag = m_storyline_giant_knows_about_researcher } + } + } + AND = { + has_country_flag = m_storyline_plot + OR = { + NOT = { has_country_flag = m_storyline_plot_mystery_man } + NOT = { has_country_flag = m_storyline_plot_knows_mirrors_chosen_and_doomed } + NOT = { has_country_flag = m_storyline_plot_knows_about_plot } + } + } + } +} + +lthi_noldor_have_more_influence_than_sindar = { + check_variable = { + var = modifier@noldor_influence + value = modifier@sindar_influence + compare = greater_than + tooltip = noldor_more_inflence_than_sindar_tt + } +} + +lthi_sindar_have_more_influence_than_noldor = { + check_variable = { + var = modifier@sindar_influence + value = modifier@noldor_influence + compare = greater_than + tooltip = sindar_more_inflence_than_noldor_tt + } +} + +lthi_sindar_and_noldor_influence_diff_under_35 = { + set_temp_variable = { temp_diff = modifier@sindar_influence } + subtract_from_temp_variable = { temp_diff = modifier@noldor_influence } + if = { + limit = { check_variable = { temp_diff < 0 } } + multiply_temp_variable = { temp_diff = -1 } + } + + # The AI is too dumb to balance influence, so it just cheats x) + if = { + limit = { is_ai = yes } + set_temp_variable = { temp_diff = 0 } + } + + check_variable = { + var = temp_diff + value = 35 + compare = less_than + tooltip = sindar_and_noldor_influence_diff_under_tt + } +} + +lthi_has_25p_noldor_influence = { + check_variable = { + var = lthi_noldor_influence_fraction + value = 0.25 + compare = greater_than + tooltip = lthi_has_25p_noldor_influence_tt + } +} + +lthi_has_50p_noldor_influence = { + check_variable = { + var = lthi_noldor_influence_fraction + value = 0.5 + compare = greater_than + tooltip = lthi_has_50p_noldor_influence_tt + } +} + +lthi_has_80p_noldor_influence = { + check_variable = { + var = lthi_noldor_influence_fraction + value = 0.8 + compare = greater_than + tooltip = lthi_has_80p_noldor_influence_tt + } +} + +lthi_has_25p_nandor_influence = { + check_variable = { + var = lthi_nandor_influence_fraction + value = 0.25 + compare = greater_than + tooltip = lthi_has_25p_nandor_influence_tt + } +} + +lthi_has_50p_nandor_influence = { + check_variable = { + var = lthi_nandor_influence_fraction + value = 0.5 + compare = greater_than + tooltip = lthi_has_50p_nandor_influence_tt + } +} + +lthi_has_80p_nandor_influence = { + check_variable = { + var = lthi_nandor_influence_fraction + value = 0.8 + compare = greater_than + tooltip = lthi_has_80p_nandor_influence_tt + } +} + +lthi_has_25p_sindar_influence = { + check_variable = { + var = lthi_sindar_influence_fraction + value = 0.25 + compare = greater_than + tooltip = lthi_has_25p_sindar_influence_tt + } +} + +lthi_has_50p_sindar_influence = { + check_variable = { + var = lthi_sindar_influence_fraction + value = 0.5 + compare = greater_than + tooltip = lthi_has_50p_sindar_influence_tt + } +} + +lthi_has_80p_sindar_influence = { + check_variable = { + var = lthi_sindar_influence_fraction + value = 0.8 + compare = greater_than + tooltip = lthi_has_80p_sindar_influence_tt + } +} + +lthi_has_25p_halfelves_influence = { + check_variable = { + var = lthi_halfelves_influence_fraction + value = 0.25 + compare = greater_than + tooltip = lthi_has_25p_halfelves_influence_tt + } +} + +lthi_has_50p_halfelves_influence = { + check_variable = { + var = lthi_halfelves_influence_fraction + value = 0.5 + compare = greater_than + tooltip = lthi_has_50p_halfelves_influence_tt + } +} + +lthi_has_80p_halfelves_influence = { + check_variable = { + var = lthi_halfelves_influence_fraction + value = 0.8 + compare = greater_than + tooltip = lthi_has_80p_halfelves_influence_tt + } +} + + + +lthi_has_100_noldor_influence = { + check_variable = { + var = modifier@noldor_influence + value = 100 + compare = greater_than + tooltip = noldor_more_inflence_than + } +} + +lthi_has_200_noldor_influence = { + check_variable = { + var = modifier@noldor_influence + value = 200 + compare = greater_than + tooltip = noldor_more_inflence_than + } +} + +lthi_has_300_noldor_influence = { + check_variable = { + var = modifier@noldor_influence + value = 300 + compare = greater_than + tooltip = noldor_more_inflence_than + } +} + +lthi_has_100_nandor_influence = { + check_variable = { + var = modifier@nandor_influence + value = 100 + compare = greater_than + tooltip = nandor_more_inflence_than + } +} + +lthi_has_200_nandor_influence = { + check_variable = { + var = modifier@nandor_influence + value = 200 + compare = greater_than + tooltip = nandor_more_inflence_than + } +} + +lthi_has_300_nandor_influence = { + check_variable = { + var = modifier@nandor_influence + value = 300 + compare = greater_than + tooltip = nandor_more_inflence_than + } +} + +lthi_has_100_sindar_influence = { + check_variable = { + var = modifier@sindar_influence + value = 100 + compare = greater_than + tooltip = sindar_more_inflence_than + } +} + +lthi_has_200_sindar_influence = { + check_variable = { + var = modifier@sindar_influence + value = 200 + compare = greater_than + tooltip = sindar_more_inflence_than + } +} + +lthi_has_300_sindar_influence = { + check_variable = { + var = modifier@sindar_influence + value = 300 + compare = greater_than + tooltip = sindar_more_inflence_than + } +} + +lthi_has_100_halfelves_influence = { + check_variable = { + var = modifier@halfelves_influence + value = 100 + compare = greater_than + tooltip = halfelves_more_inflence_than + } +} + +lthi_has_200_halfelves_influence = { + check_variable = { + var = modifier@halfelves_influence + value = 200 + compare = greater_than + tooltip = halfelves_more_inflence_than + } +} + +lthi_has_300_halfelves_influence = { + check_variable = { + var = modifier@halfelves_influence + value = 300 + compare = greater_than + tooltip = halfelves_more_inflence_than + } +} + + + +lth_civil_war_sindar = { + custom_trigger_tooltip = { + tooltip = "Has fought a civil war against the Noldor" + has_global_flag = lth_civil_war + has_government = revolutionary + } +} + +lth_civil_war_noldor = { + custom_trigger_tooltip = { + tooltip = "Has fought a civil war against the Sindar" + has_global_flag = lth_civil_war + has_government = belligerent + } +} + +character_has_noldor_trait = { + OR = { + has_trait = noldor_minor + has_trait = noldor_intermediate + has_trait = noldor_major + has_trait = noldor_minor_hired + has_trait = noldor_intermediate_hired + has_trait = noldor_major_hired + has_trait = noldor_trait + } +} + +character_has_nandor_trait = { + OR = { + has_trait = nandor_minor + has_trait = nandor_intermediate + has_trait = nandor_major + has_trait = nandor_minor_hired + has_trait = nandor_intermediate_hired + has_trait = nandor_major_hired + has_trait = nandor_trait + } +} + +character_has_sindar_trait = { + OR = { + has_trait = sindar_minor + has_trait = sindar_intermediate + has_trait = sindar_major + has_trait = sindar_minor_hired + has_trait = sindar_intermediate_hired + has_trait = sindar_major_hired + has_trait = sindar_trait + } +} + +character_has_halfelves_trait = { + OR = { + has_trait = halfelves_minor + has_trait = halfelves_intermediate + has_trait = halfelves_major + has_trait = halfelves_minor_hired + has_trait = halfelves_intermediate_hired + has_trait = halfelves_major_hired + has_trait = halfelves_trait + } +} \ No newline at end of file diff --git a/common/scripted_triggers/lotr_generic_triggers.txt b/common/scripted_triggers/lotr_generic_triggers.txt new file mode 100644 index 000000000..ce2413820 --- /dev/null +++ b/common/scripted_triggers/lotr_generic_triggers.txt @@ -0,0 +1,55 @@ + + + +# checks if THIS has the same race as ROOT +is_same_race = { + OR = { + AND = { ROOT = { is_men = yes } is_men = yes } + AND = { ROOT = { is_elves = yes } is_elves = yes } + AND = { ROOT = { is_orcs = yes } is_orcs = yes } + AND = { ROOT = { is_dwarves= yes } is_dwarves = yes } + } +} + + +# state controlled by this or ally +is_coontrolled_by_THIS_or_ally = { + OR = { + is_controlled_by = THIS + var:controller = { is_ally_with = PREV } + } +} + + +# checks if THIS is weaker than ROOT +is_weaker = { + ic_ratio = { + tag = ROOT + ratio < 0.9 + } +} + +# checks if THIS is weaker than ROOT +is_significantly_weaker = { + ic_ratio = { + tag = ROOT + ratio < 0.6 + } +} + +# checks if THIS is wstronger than ROOT +is_stronger = { + ic_ratio = { + tag = ROOT + ratio > 1.1 + } +} + +# checks if THIS is wstronger than ROOT +is_significantly_stronger = { + ic_ratio = { + tag = ROOT + ratio > 1.8 + } +} + diff --git a/common/scripted_triggers/lotr_races_triggers.txt b/common/scripted_triggers/lotr_races_triggers.txt index fcbd387c2..6e0e49cee 100644 --- a/common/scripted_triggers/lotr_races_triggers.txt +++ b/common/scripted_triggers/lotr_races_triggers.txt @@ -1,12 +1,19 @@ is_elves = { - OR = { - original_tag = LIN - original_tag = LTH - original_tag = RIV - original_tag = HLI - AND = { - original_tag = MIR - NOT = { has_country_flag = has_switched_to_spiders } + custom_trigger_tooltip = { + tooltip = "is Elves" + OR = { + original_tag = LIN + original_tag = RIV + original_tag = HLI + original_tag = NDH + AND = { + original_tag = MIR + NOT = { has_country_flag = has_switched_to_spiders } + } + AND = { + original_tag = LTH + NOT = { has_country_flag = has_switched_to_orcs } + } } } } @@ -19,13 +26,17 @@ is_elves_init = { original_tag = MIR original_tag = RIV original_tag = HLI + original_tag = NDH } } is_dwarves = { - OR = { - original_tag = ERE - original_tag = MOA + custom_trigger_tooltip = { + tooltip = "is Dwarves" + OR = { + original_tag = ERE + original_tag = MOA + } } } @@ -38,19 +49,26 @@ is_dwarves_init = { } is_orcs = { - OR = { - original_tag = MOR - original_tag = MMO - original_tag = DGU - original_tag = MOC - original_tag = GUN - AND = { - original_tag = ISE - has_country_flag = has_switched_to_orcs - } - AND = { - original_tag = ANG - has_country_flag = has_switched_to_orcs + custom_trigger_tooltip = { + tooltip = "is Orcs" + OR = { + original_tag = MOR + original_tag = MMO + original_tag = DGU + original_tag = MOC + original_tag = GUN + AND = { + original_tag = ISE + has_country_flag = has_switched_to_orcs + } + AND = { + original_tag = ANG + has_country_flag = has_switched_to_orcs + } + AND = { + original_tag = LTH + has_country_flag = has_switched_to_orcs + } } } } @@ -70,12 +88,16 @@ can_switch_to_orcs = { # Moria's not in here, because they have a dedicated tag OR = { original_tag = ANG original_tag = ISE + original_tag = LTH } } is_hobbits = { - OR = { - original_tag = SHI + custom_trigger_tooltip = { + tooltip = "is Hobbits" + OR = { + original_tag = SHI + } } } @@ -86,11 +108,14 @@ is_hobbits_init = { } is_spiders = { - OR = { - original_tag = SPI - AND = { - original_tag = MIR - has_country_flag = has_switched_to_spiders + custom_trigger_tooltip = { + tooltip = "is Spiders" + OR = { + original_tag = SPI + AND = { + original_tag = MIR + has_country_flag = has_switched_to_spiders + } } } } @@ -108,8 +133,11 @@ can_switch_to_spiders = { } is_ents = { - OR = { - original_tag = ENT + custom_trigger_tooltip = { + tooltip = "is Ents" + OR = { + original_tag = ENT + } } } @@ -120,8 +148,11 @@ is_ents_init = { } is_other = { - OR = { - original_tag = DAG + custom_trigger_tooltip = { + tooltip = "is Other" + OR = { + original_tag = DAG + } } } @@ -132,14 +163,17 @@ is_other_init = { } is_men = { - NOT = { - is_elves = yes - is_orcs = yes - is_hobbits = yes - is_dwarves = yes - is_spiders = yes - is_ents = yes - is_other = yes + custom_trigger_tooltip = { + tooltip = "is Men" + NOT = { + is_elves = yes + is_orcs = yes + is_hobbits = yes + is_dwarves = yes + is_spiders = yes + is_ents = yes + is_other = yes + } } } @@ -175,4 +209,20 @@ is_eastern_men_init = { # Note: NOT mutually exclusive with is_men original_tag = KND original_tag = UMB } +} + +is_rangers_men = { # Note: NOT mutually exclusive with is_men + OR = { + original_tag = CAR + original_tag = ART + original_tag = RHD + } +} + +is_rangers_men_init = { # Note: NOT mutually exclusive with is_men + OR = { + original_tag = CAR + original_tag = ART + original_tag = RHD + } } \ No newline at end of file diff --git a/common/scripted_triggers/lotr_regions.txt b/common/scripted_triggers/lotr_regions.txt new file mode 100644 index 000000000..1f72091cb --- /dev/null +++ b/common/scripted_triggers/lotr_regions.txt @@ -0,0 +1,31 @@ + + + + +is_western = { + OR = { + THIS.capital_scope = { is_on_continent = gondor } + THIS.capital_scope = { is_on_continent = rohan } + THIS.capital_scope = { is_on_continent = eriador } + THIS.capital_scope = { is_on_continent = hollin } + THIS.capital_scope = { is_on_continent = enedwaith } + THIS.capital_scope = { is_on_continent = lindon } + } +} + +is_eastern = { + OR = { + THIS.capital_scope = { is_on_continent = mordor } + THIS.capital_scope = { is_on_continent = harad } + THIS.capital_scope = { is_on_continent = rhun } + } +} + +is_center = { + OR = { + THIS.capital_scope = { is_on_continent = erebor } + THIS.capital_scope = { is_on_continent = mirkwood } + THIS.capital_scope = { is_on_continent = vale } + THIS.capital_scope = { is_on_continent = rhovanion } + } +} diff --git a/common/scripted_triggers/ring_scripted_triggers.txt b/common/scripted_triggers/ring_scripted_triggers.txt index 6cafc6fa4..6022ef187 100644 --- a/common/scripted_triggers/ring_scripted_triggers.txt +++ b/common/scripted_triggers/ring_scripted_triggers.txt @@ -2,19 +2,6 @@ can_attempt_ring_interception = { controls_state = global.fs_currentstate } -can_prepare_ring_interception = { - always = no - - #any_of = { - # array = global.fs_path_stack - # value = v - # index = i - # - # v > 0 # make sure v is a state-event - # controls_state = v - #} -} - ring_frodo_is_dead = { SHI = { @@ -24,6 +11,30 @@ ring_frodo_is_dead = { } } +ring_haldir_is_dead = { + SHI = { + FS_haldir = { + check_variable = { isdead > 0 } + } + } +} + + +ring_ringbearer_is_dead = { + SHI = { + OR = { + AND = { + NOT = { has_global_flag = fs_elven_fellowship } + ring_frodo_is_dead = yes + } + AND = { + has_global_flag = fs_elven_fellowship + ring_haldir_is_dead = yes + } + } + } +} + ring_boromir_is_dead = { SHI = { FS_boromir = { @@ -79,7 +90,10 @@ ring_has_the_ring = { custom_trigger_tooltip = { tooltip = ring_has_the_ring_tt - has_idea = one_true_ring + OR = { + has_idea = one_true_ring + has_idea = one_true_ring_2 + } } } @@ -107,6 +121,27 @@ ring_boromir_in_fellowship = { } } +ring_faramir_in_fellowship = { + custom_trigger_tooltip = { + tooltip = "Faramir is in the fellowship" + SHI = { + FS_faramir = { ring_is_fs_member = yes } + } + } +} + +ring_haldir_in_fellowship = { + SHI = { + FS_haldir = { ring_is_fs_member = yes } + } +} + +ring_orophin_in_fellowship = { + SHI = { + FS_orophin = { ring_is_fs_member = yes } + } +} + # The countries that have "special" interactions with the ring-mechanic # IE. countries that should not be able to intercept/help at will ring_has_special_interaction = { @@ -115,7 +150,11 @@ ring_has_special_interaction = { tag = LTH tag = MOA tag = MOC - tag = GON tag = MOR + # Gondor can intercept only if it is the elven fellowship + AND = { + tag = GON + NOT = { has_global_flag = fs_elven_fellowship } + } } } \ No newline at end of file diff --git a/common/scripted_triggers/white_council_scripted_triggers.txt b/common/scripted_triggers/white_council_scripted_triggers.txt new file mode 100644 index 000000000..b7d9968be --- /dev/null +++ b/common/scripted_triggers/white_council_scripted_triggers.txt @@ -0,0 +1,19 @@ + + + +is_white_council_member = { + has_country_flag = whc_white_council_member +} + +white_council_exists = { + has_global_flag = whc_white_council_exists +} + +at_least_three_white_council_members = { + custom_trigger_tooltip = { + tooltip = at_least_three_white_council_members_tt + any_other_country = { + is_white_council_member = yes + } + } +} \ No newline at end of file diff --git a/common/technologies/MTG_naval.txt b/common/technologies/MTG_naval.txt index 3dc4d7f7c..5e83bca7b 100644 --- a/common/technologies/MTG_naval.txt +++ b/common/technologies/MTG_naval.txt @@ -1565,7 +1565,7 @@ early_ship_hull_carrier = { enable_equipment_modules = { ship_torpedo_2 - ship_modules_tech + #ship_modules_tech } @@ -1856,21 +1856,6 @@ early_ship_hull_carrier = { ai_will_do = { factor = 1 - - modifier = { - factor = 7 - OR = { - tag = NEP - tag = HOL - } - } - modifier = { - not = { - has_war_with = ENG - has_War_with = NEP - } - factor = 0.5 - } } categories = { @@ -1908,14 +1893,6 @@ early_ship_hull_carrier = { ai_will_do = { factor = 1 - - modifier = { - factor = 7 - OR = { - tag = NEP - tag = HOL - } - } } categories = { diff --git a/common/technologies/NSB_armor.txt b/common/technologies/NSB_armor.txt index 95fb75d49..936dad7ea 100644 --- a/common/technologies/NSB_armor.txt +++ b/common/technologies/NSB_armor.txt @@ -359,13 +359,6 @@ technologies = { factor = 2 is_major = yes } - modifier = { - OR = { - original_tag = USA - original_tag = JAP - } - factor = 2 - } modifier = { not = { any_controlled_state = { @@ -487,30 +480,6 @@ technologies = { ai_will_do = { factor = 2 - - modifier = { - factor = 2 - is_major = yes - not = { - tag = JAP - num_of_military_factories < 50 - } - date > "1938.1.1" - } - modifier = { - factor = 1.1 - date > "1940.1.1" - } - - modifier = { - factor = 1.1 - date > "1941.1.1" - } - - modifier = { - factor = 1.1 - date > "1942.1.1" - } } categories = { @@ -546,14 +515,6 @@ technologies = { ai_will_do = { factor = 3 - modifier = { - factor = 2 - is_major = yes - not = { - tag = JAP - num_of_military_factories < 50 - } - } modifier = { date < "1941.1.1" factor = 0.3 @@ -743,15 +704,6 @@ technologies = { factor = 1.2 date > "1939.1.1" } - modifier = { - tag = FRA - factor = 3 - } - modifier = { - tag = JAP - num_of_military_factories < 100 - factor = 0 - } } categories = { @@ -789,25 +741,6 @@ technologies = { ai_will_do = { factor = 0.8 - modifier = { - tag = JAP - num_of_military_factories < 100 - factor = 0 - } - modifier = { - factor = 1.2 - date > "1942.1.1" - } - - modifier = { - factor = 1.2 - date > "1943.1.1" - } - - modifier = { - factor = 1.2 - date > "1944.1.1" - } } categories = { diff --git a/common/technologies/cavalry.txt b/common/technologies/cavalry.txt index 1a193293e..07458c6b3 100644 --- a/common/technologies/cavalry.txt +++ b/common/technologies/cavalry.txt @@ -292,6 +292,11 @@ technologies = { ai_will_do = { factor = 0.1 + modifier = { + factor = 0 + date < "3021.1.1" + } + modifier = { has_war = yes factor = 2 @@ -356,27 +361,7 @@ technologies = { } ai_will_do = { - factor = 1 - - modifier = { - factor = 2 - is_major = yes - } - - modifier = { - factor = 1.2 - date > "3019.1.1" - } - - modifier = { - factor = 1.2 - date > "3020.1.1" - } - - modifier = { - factor = 1.2 - date > "3021.1.1" - } + factor = 0 } categories = { @@ -449,27 +434,7 @@ technologies = { } ai_will_do = { - factor = 1 - - modifier = { - factor = 2 - is_major = yes - } - - modifier = { - factor = 1.1 - date > "3019.1.1" - } - - modifier = { - factor = 1.1 - date > "3020.1.1" - } - - modifier = { - factor = 1.1 - date > "3021.1.1" - } + factor = 0 } categories = { @@ -497,7 +462,7 @@ technologies = { } ai_will_do = { - factor = 0.1 + factor = 0 } categories = { @@ -520,7 +485,7 @@ technologies = { } ai_will_do = { - factor = 0.1 + factor = 0 } categories = { @@ -553,38 +518,7 @@ technologies = { start_year = 3020 ai_will_do = { - factor = 0.5 - - modifier = { - factor = 100 - has_war = yes - any_enemy_country = { - ROOT = { - estimated_intel_max_armor = { - tag = PREV - value > 25 - } - } - } - } - modifier = { - has_template_containing_unit = light_tank_destroyer_brigade - factor = 2 - } - modifier = { - num_of_military_factories > 50 - num_of_military_factories < 120 - factor = 2 - } - - modifier = { - factor = 0 - OR = { - has_tech = improved_light_td - can_research = improved_light_td - is_researching_technology = improved_light_tank - } - } + factor = 0 } categories = { @@ -615,38 +549,7 @@ technologies = { start_year = 3021 ai_will_do = { - factor = 0.5 - - modifier = { - factor = 100 - has_war = yes - any_enemy_country = { - ROOT = { - estimated_intel_max_armor = { - tag = PREV - value > 25 - } - } - } - } - modifier = { - has_template_containing_unit = light_tank_destroyer_brigade - factor = 2 - } - modifier = { - num_of_military_factories > 50 - num_of_military_factories < 120 - factor = 2 - } - - modifier = { - factor = 0 - OR = { - has_tech = improved_light_td - can_research = improved_light_td - is_researching_technology = improved_light_tank - } - } + factor = 0 } categories = { @@ -683,19 +586,7 @@ technologies = { start_year = 3021 ai_will_do = { - factor = 0.25 - modifier = { - has_template_containing_unit = light_sp_artillery_brigade - add = 2 - } - modifier = { - factor = 0 - OR = { - has_tech = improved_light_art - can_research = improved_light_art - is_researching_technology = improved_light_tank - } - } + factor = 0 } categories = { @@ -752,32 +643,7 @@ technologies = { } ai_will_do = { - factor = 1 - - modifier = { - factor = 2 - is_major = yes - } - modifier = { - is_major = yes - has_war = yes - factor = 10 #you are embarassing yourself - } - - modifier = { - factor = 1.1 - date > "3019.1.1" - } - - modifier = { - factor = 1.1 - date > "3020.1.1" - } - - modifier = { - factor = 1.1 - date > "3021.1.1" - } + factor = 0 } categories = { @@ -808,31 +674,6 @@ technologies = { ai_will_do = { factor = 0 - - modifier = { - factor = 120 - has_war = yes - any_enemy_country = { - ROOT = { - estimated_intel_max_armor = { - tag = PREV - value > 27 - } - } - } - } - modifier = { - has_template_containing_unit = light_tank_destroyer_brigade - factor = 2 - } - modifier = { - factor = 0 - OR = { - has_tech = advanced_light_td - can_research = advanced_light_td - is_researching_technology = advanced_light_tank - } - } } categories = { @@ -863,20 +704,6 @@ technologies = { ai_will_do = { factor = 0 - - modifier = { - has_template_containing_unit = light_sp_artillery_brigade - add = 2 - } - - modifier = { - factor = 0 - OR = { - has_tech = advanced_light_art - can_research = advanced_light_art - is_researching_technology = advanced_light_tank - } - } } categories = { @@ -901,21 +728,7 @@ technologies = { } ai_will_do = { - factor = 0.5 - modifier = { - is_major = no - factor = 2 - } - - modifier = { - factor = 1.1 - date > "3025.1.1" - } - - modifier = { - factor = 1.1 - date > "3026.1.1" - } + factor = 0 } categories = { @@ -941,19 +754,6 @@ technologies = { ai_will_do = { factor = 0 - - modifier = { - factor = 130 - has_war = yes - any_enemy_country = { - ROOT = { - estimated_intel_max_armor = { - tag = PREV - value > 27 - } - } - } - } } categories = { @@ -978,7 +778,7 @@ technologies = { start_year = 3025 ai_will_do = { - factor = 0.1 + factor = 0 } categories = { @@ -1013,27 +813,7 @@ technologies = { } ai_will_do = { - factor = 2 - - modifier = { - factor = 2 - is_major = yes - date > "3020.1.1" - } - modifier = { - factor = 1.1 - date > "3022.1.1" - } - - modifier = { - factor = 1.1 - date > "2023.1.1" - } - - modifier = { - factor = 1.1 - date > "3024.1.1" - } + factor = 0 } categories = { @@ -1066,27 +846,7 @@ technologies = { } ai_will_do = { - factor = 2 - - modifier = { - factor = 2 - is_major = yes - date > "3020.1.1" - } - modifier = { - factor = 1.1 - date > "3022.1.1" - } - - modifier = { - factor = 1.1 - date > "2023.1.1" - } - - modifier = { - factor = 1.1 - date > "3024.1.1" - } + factor = 0 } categories = { @@ -1117,26 +877,7 @@ technologies = { } ai_will_do = { - factor = 3 - modifier = { - date < "2023.1.1" - factor = 0.3 - } - - modifier = { - factor = 1.1 - date > "3024.1.1" - } - - modifier = { - factor = 1.1 - date > "3025.1.1" - } - - modifier = { - factor = 1.1 - date > "3026.1.1" - } + factor = 0 } categories = { @@ -1162,22 +903,7 @@ technologies = { ai_will_do = { - factor = 1 - - modifier = { - factor = 1.2 - date > "3026.1.1" - } - - modifier = { - factor = 1.2 - date > "3027.1.1" - } - - modifier = { - factor = 1.2 - date > "3028.1.1" - } + factor = 0 } categories = { @@ -1194,10 +920,6 @@ technologies = { amphibious_mechanized_equipment_1 } - allow_branch = { - has_dlc = "Man the Guns" - } - enable_subunits = { amphibious_mechanized } @@ -1210,10 +932,6 @@ technologies = { allow = { always = no} research_cost = 2 start_year = 3023 - folder = { - name = armour_folder - position = { x = 2 y = 10 } - } categories = { motorized_equipment @@ -1238,10 +956,6 @@ technologies = { allow = { always = no} research_cost = 2 start_year = 3025 - folder = { - name = armour_folder - position = { x = 2 y = 14 } - } categories = { motorized_equipment @@ -1263,10 +977,6 @@ technologies = { allow = { always = no} research_cost = 1.5 start_year = 1936 - folder = { - name = armour_folder - position = { x = 4 y = 3 } - } categories = { train_tech @@ -1304,10 +1014,6 @@ technologies = { allow = { always = no} research_cost = 1.5 start_year = 1936 - folder = { - name = armour_folder - position = { x = 2 y = 3 } - } categories = { train_tech @@ -1388,11 +1094,6 @@ technologies = { research_cost = 2 start_year = 3022 - folder = { - name = armour_folder - position = { x = -8 y = 7 } - } - ai_will_do = { factor = 0.5 @@ -1426,11 +1127,6 @@ technologies = { research_cost = 2 start_year = 3024 - folder = { - name = armour_folder - position = { x = -8 y = 9 } - } - ai_will_do = { factor = 0.5 @@ -1752,10 +1448,6 @@ technologies = { allow = { always = no} research_cost = 2 start_year = 1914 - folder = { - name = armour_folder - position = { x = 4 y = 2 } - } categories = { motorized_equipment @@ -1800,10 +1492,6 @@ technologies = { allow = { always = no} research_cost = 2 start_year = 3022 - folder = { - name = armour_folder - position = { x = 4 y = 8 } - } categories = { motorized_equipment @@ -1843,10 +1531,6 @@ technologies = { allow = { always = no} research_cost = 2 start_year = 3024 - folder = { - name = armour_folder - position = { x = 4 y = 12 } - } categories = { motorized_equipment @@ -2068,11 +1752,6 @@ technologies = { research_cost = 2.5 start_year = 3050 - folder = { - name = armour_folder - position = { x = 2 y = 12 } - } - sub_technologies = { modern_td modern_art diff --git a/common/technologies/elves_special_techs.txt b/common/technologies/elves_special_techs.txt index 48135b7f5..3a7f20edc 100644 --- a/common/technologies/elves_special_techs.txt +++ b/common/technologies/elves_special_techs.txt @@ -27,6 +27,12 @@ technologies = { modifier = { factor = 2 date > "3018.1.1" } modifier = { factor = 3 date > "3019.1.1" } modifier = { factor = 5 date > "3020.1.1" } modifier = { is_major = yes factor = 2 } + + modifier = { + add = 999 + is_white_council_member = yes + date > "3018.1.1" + } } categories = { @@ -52,6 +58,12 @@ technologies = { factor = 3 modifier = { factor = 25 date > "3020.1.1" } + + modifier = { + add = 999 + is_white_council_member = yes + date > "3020.1.1" + } } categories = { diff --git a/common/technologies/forest_infantry_tech.txt b/common/technologies/forest_infantry_tech.txt deleted file mode 100644 index d1a106ac1..000000000 --- a/common/technologies/forest_infantry_tech.txt +++ /dev/null @@ -1,17 +0,0 @@ -technologies = { - - ######### FROM ENTWOOD FOCUS ########## - forest_infantry = { - - allow = { - always = no - } - - research_cost = 1 - start_year = 3018 - - enable_subunits = { - forest_infantry - } - } -} diff --git a/common/technologies/hidden_techs.txt b/common/technologies/hidden_techs.txt new file mode 100644 index 000000000..9e5a925eb --- /dev/null +++ b/common/technologies/hidden_techs.txt @@ -0,0 +1,37 @@ + + + + + +technologies = { + + improved_feanorian_lamps = { + + allow = { + always = no + } + + research_cost = 1 + start_year = 3018 + + land_night_attack = 0.1 + naval_night_attack = 0.1 + night_spotting_chance = 0.1 + air_night_penalty = -0.1 + } + + protective_enchantments = { + + allow = { + always = no + } + + research_cost = 1 + start_year = 3018 + + encryption = 1 + category_front_line = { + defense = 0.1 + } + } +} \ No newline at end of file diff --git a/common/technologies/infantry.txt b/common/technologies/infantry.txt index ba3aca02c..ee92e75d8 100644 --- a/common/technologies/infantry.txt +++ b/common/technologies/infantry.txt @@ -31,7 +31,7 @@ technologies = { } ai_will_do = { - factor = 1 + factor = 100 # What do you even do in this game without equipment? } } @@ -69,11 +69,16 @@ technologies = { } ai_will_do = { - factor = 2 + factor = 25 + + modifier = { + factor = 2 + date > "3019.1.1" + } modifier = { factor = 5 - date > "3021.1.1" + date > "3020.1.1" } } } @@ -104,11 +109,6 @@ technologies = { ai_will_do = { factor = 2 - - modifier = { - factor = 5 - date > "3021.1.1" - } } } @@ -137,11 +137,6 @@ technologies = { ai_will_do = { factor = 2 - - modifier = { - factor = 5 - date > "3021.1.1" - } } } @@ -175,7 +170,7 @@ technologies = { } ai_will_do = { - factor = 1 + factor = 10 modifier = { factor = 10 @@ -215,7 +210,7 @@ technologies = { } ai_will_do = { - factor = 3 + factor = 5 modifier = { factor = 10 @@ -390,7 +385,7 @@ technologies = { } ai_will_do = { - factor = 1 + factor = 10 modifier = { factor = 10 @@ -430,7 +425,7 @@ technologies = { } ai_will_do = { - factor = 3 + factor = 8 modifier = { factor = 10 @@ -555,7 +550,7 @@ technologies = { } ai_will_do = { - factor = 1 + factor = 5 modifier = { factor = 2 @@ -600,7 +595,7 @@ technologies = { } ai_will_do = { - factor = 1 + factor = 4 modifier = { factor = 10 @@ -635,7 +630,7 @@ technologies = { } ai_will_do = { - factor = 1 + factor = 4 modifier = { factor = 10 @@ -669,7 +664,7 @@ technologies = { } ai_will_do = { - factor = 1 + factor = 5 modifier = { factor = 10 date > "3025.1.1" @@ -743,7 +738,7 @@ technologies = { paratroopers = { enable_subunits = { - paratrooper + heavy_infantry } path = { @@ -760,12 +755,12 @@ technologies = { on_research_complete_limit = { NOT = { - has_template_containing_unit = paratrooper + has_template_containing_unit = heavy_infantry } } on_research_complete = { hidden_effect = { - load_oob = "unlock_paratroopers" + load_oob = "unlock_heavy_infantry" } custom_effect_tooltip = UNLOCK_DIVISION_TEMPLATE } @@ -782,7 +777,7 @@ technologies = { paratroopers2 = { - paratrooper = { + heavy_infantry = { max_organisation = 5 soft_attack = 0.05 } @@ -811,7 +806,7 @@ technologies = { paratroopers3 = { - paratrooper = { + heavy_infantry = { max_organisation = 5 } diff --git a/common/technologies/knowledge.txt b/common/technologies/knowledge.txt index 47b637997..872e5f506 100644 --- a/common/technologies/knowledge.txt +++ b/common/technologies/knowledge.txt @@ -4,7 +4,7 @@ technologies = { cartography = { - terrain_penalty_reduction = 0.15 + terrain_penalty_reduction = 0.08 max_planning_factor = 0.1 path = { @@ -53,7 +53,7 @@ technologies = { } ai_will_do = { - factor = 10 + factor = 25 modifier = { factor = 2 date > "3018.1.1" } modifier = { factor = 3 date > "3019.1.1" } modifier = { factor = 5 date > "3020.1.1" } } @@ -65,7 +65,6 @@ technologies = { } calendar = { - stability_weekly = 0.001 research_speed_factor = 0.02 path = { @@ -207,9 +206,9 @@ technologies = { urban_planning = { - global_building_slots_factor = 0.25 - industry_free_repair_factor = 0.25 - industry_repair_factor = 0.25 + global_building_slots_factor = 0.1 + industry_free_repair_factor = 0.15 + industry_repair_factor = 0.15 path = { leads_to_tech = sewer_system @@ -237,7 +236,7 @@ technologies = { sewer_system = { - stability_weekly = 0.003 + stability_weekly = 0.002 research_cost = 1 start_year = 3023 @@ -316,7 +315,7 @@ technologies = { high_culture = { - stability_weekly = 0.003 + stability_weekly = 0.002 path = { leads_to_tech = high_culture2 @@ -342,7 +341,7 @@ technologies = { high_culture2 = { - stability_weekly = 0.005 + stability_weekly = 0.002 research_cost = 1 start_year = 3026 @@ -483,8 +482,9 @@ technologies = { herbology = { base_fuel_gain_factor = 0.02 - category_all_infantry= { - casualty_trickleback = 0.05 + + category_support_battalions = { + casualty_trickleback = 0.03 experience_loss_factor = -0.03 } @@ -548,8 +548,8 @@ technologies = { medicine = { - category_all_infantry = { - casualty_trickleback = 0.10 + category_support_battalions = { + casualty_trickleback = 0.03 experience_loss_factor = -0.05 } @@ -580,8 +580,8 @@ technologies = { medicine2 = { - category_all_infantry = { - casualty_trickleback = 0.10 + category_support_battalions = { + casualty_trickleback = 0.06 experience_loss_factor = -0.05 } @@ -1001,9 +1001,9 @@ technologies = { } ai_will_do = { - factor = 3 + factor = 0.5 - modifier = { factor = 2 date > "3018.1.1" } modifier = { factor = 3 date > "3019.1.1" } modifier = { factor = 5 date > "3020.1.1" } + modifier = { factor = 3 date > "3019.1.1" } modifier = { factor = 5 date > "3020.1.1" } } categories = { diff --git a/common/technologies/land_doctrine.txt b/common/technologies/land_doctrine.txt index a9ced424e..edea15038 100644 --- a/common/technologies/land_doctrine.txt +++ b/common/technologies/land_doctrine.txt @@ -560,6 +560,7 @@ technologies = { } # faster planning planning_speed = 0.2 + additional_brigade_column_size = 1 enable_tactic = tactic_overwhelming_fire @@ -1160,6 +1161,13 @@ technologies = { category_line_artillery = { default_morale = 0.2 } + + signal_company = { + battalion_mult = { + category = category_artillery + defense = 0.10 + } + } path = { leads_to_tech = overwhelming_firepower @@ -1211,6 +1219,7 @@ technologies = { soft_attack = 0.10 } coordination_bonus = 0.05 + enable_tactic = tactic_overwhelming_fire path = { @@ -1427,6 +1436,8 @@ technologies = { xp_unlock_cost = 100 land_reinforce_rate = 0.02 + additional_brigade_column_size = 1 + enable_tactic = tactic_tactical_withdrawal path = { @@ -1480,7 +1491,21 @@ technologies = { } #combat advantage when air superior - army_bonus_air_superiority_factor = 0.20 + army_bonus_air_superiority_factor = 0.15 + + recon = { + battalion_mult = { + category = category_anti_air + air_attack = 0.10 + } + } + + mot_recon = { + battalion_mult = { + category = category_anti_air + air_attack = 0.10 + } + } doctrine = yes research_cost = 4.5 @@ -1647,6 +1672,8 @@ technologies = { default_morale = 0.05 } + additional_brigade_column_size = 1 + enable_tactic = tactic_tactical_withdrawal path = { @@ -1959,6 +1986,8 @@ technologies = { amphibious_mechanized = { max_organisation = 5 } + + additional_brigade_column_size = 1 enable_tactic = tactic_blitz enable_tactic = tactic_elastic_defense @@ -2282,6 +2311,8 @@ technologies = { breakthrough = 0.1 } + additional_brigade_column_size = 1 + enable_tactic = tactic_infantry_charge path = { @@ -2394,6 +2425,13 @@ technologies = { xp_unlock_cost = 100 supply_consumption_factor = -0.10 command_power_gain_mult = 0.15 + + recon = { + battalion_mult = { + category = category_light_infantry + soft_attack = 0.05 + } + } path = { leads_to_tech = night_assault_tactics @@ -2607,6 +2645,7 @@ technologies = { land_reinforce_rate = 0.02 minimum_training_level = -0.1 + weekly_casualties_war_support = 0.001 doctrine = yes research_cost = 2.25 @@ -2734,10 +2773,10 @@ technologies = { peoples_army } - - supply_consumption_factor = -0.10 + additional_brigade_column_size = 1 + enable_tactic = tactic_relentless_assault path = { @@ -2893,7 +2932,7 @@ technologies = { supply_consumption_factor = -0.10 infantry = { - combat_width = -0.4 + combat_width = -0.3 } @@ -3027,6 +3066,14 @@ technologies = { max_organisation = 10 default_morale = 0.1 } + + armored_car_recon = { + battalion_mult = { + category = category_light_infantry + max_organisation = 1 + add = yes + } + } path = { leads_to_tech = continuous_offensive @@ -3130,6 +3177,8 @@ technologies = { #Land Units take less attrition attrition = -0.1 #take 10% less attrition losses + additional_brigade_column_size = 1 + enable_tactic = tactic_human_wave_tactics diff --git a/common/technologies/machines.txt b/common/technologies/machines.txt index f1bb7676d..1672ecd2a 100644 --- a/common/technologies/machines.txt +++ b/common/technologies/machines.txt @@ -521,7 +521,7 @@ technologies = { } ai_will_do = { - factor = 3 + factor = 0.1 } categories = { @@ -590,29 +590,7 @@ technologies = { } ai_will_do = { - factor = 0.8 - - modifier = { - factor = 1.2 - date > "3019.1.1" - } - - modifier = { - factor = 1.2 - date > "3020.1.1" - } - - modifier = { - factor = 1.2 - date > "3021.1.1" - } - modifier = { - factor = 0 - OR = { - can_research = improved_heavy_tank - has_tech = improved_heavy_tank - } - } + factor = 0.1 } categories = { @@ -666,24 +644,7 @@ technologies = { } ai_will_do = { - factor = 0.8 - - modifier = { - factor = 1.2 - date > "3020.1.1" - } - - modifier = { - factor = 1.2 - date > "3021.1.1" - } - modifier = { - factor = 0 - OR = { - can_research = improved_heavy_tank - has_tech = improved_heavy_tank - } - } + factor = 0.1 } categories = { @@ -713,28 +674,7 @@ technologies = { } ai_will_do = { - factor = 0.8 - modifier = { - factor = 1.2 - date > "3024.1.1" - } - - modifier = { - factor = 1.2 - date > "3025.1.1" - } - - modifier = { - factor = 1.2 - date > "3026.1.1" - } - modifier = { - factor = 0 - OR = { - can_research = advanced_heavy_tank - has_tech = advanced_heavy_tank - } - } + factor = 0.1 } categories = { @@ -759,22 +699,7 @@ technologies = { } ai_will_do = { - factor = 0.8 - - modifier = { - factor = 1.2 - date > "3026.1.1" - } - - modifier = { - factor = 1.2 - date > "3027.1.1" - } - - modifier = { - factor = 1.2 - date > "3028.1.1" - } + factor = 0.1 } categories = { @@ -784,7 +709,7 @@ technologies = { } # Siege Tower - super_heavy_tank = { #Maus + super_heavy_tank = { enable_equipments = { super_heavy_tank_equipment_1 @@ -802,7 +727,7 @@ technologies = { } ai_will_do = { - factor = 0 # Hitler cries on the inside + factor = 0 } categories = { @@ -893,15 +818,6 @@ technologies = { ai_will_do = { factor = 0 - - modifier = { - factor = 0 - OR = { - has_tech = modern_td - can_research = modern_td - is_researching_technology = main_battle_tank - } - } } categories = { @@ -921,15 +837,6 @@ technologies = { ai_will_do = { factor = 0 - - modifier = { - factor = 0 - OR = { - has_tech = modern_art - can_research = modern_art - is_researching_technology = main_battle_tank - } - } } categories = { @@ -949,15 +856,6 @@ technologies = { ai_will_do = { factor = 0 - - modifier = { - factor = 0 - OR = { - has_tech = modern_spaa - can_research = modern_spaa - is_researching_technology = main_battle_tank - } - } } categories = { diff --git a/common/technologies/men_special_techs.txt b/common/technologies/men_special_techs.txt index 6fbe1f158..47f6fb24b 100644 --- a/common/technologies/men_special_techs.txt +++ b/common/technologies/men_special_techs.txt @@ -27,6 +27,12 @@ technologies = { modifier = { factor = 2 date > "3018.1.1" } modifier = { factor = 3 date > "3019.1.1" } modifier = { factor = 5 date > "3020.1.1" } modifier = { is_major = yes factor = 2 } + + modifier = { + add = 999 + is_white_council_member = yes + date > "3018.1.1" + } } categories = { @@ -52,6 +58,12 @@ technologies = { factor = 3 modifier = { factor = 25 date > "3020.1.1" } + + modifier = { + add = 999 + is_white_council_member = yes + date > "3020.1.1" + } } categories = { @@ -268,7 +280,7 @@ technologies = { } } - rangers = { + rangers_units = { enable_subunits = { rangers_infantry } @@ -281,7 +293,7 @@ technologies = { } path = { - leads_to_tech = rangers2 + leads_to_tech = rangers2_units research_cost_coeff = 1 } @@ -298,7 +310,7 @@ technologies = { } } - rangers2 = { + rangers2_units = { special_forces_cap = 0.2 rangers_infantry = { soft_attack = 0.2 diff --git a/common/technologies/naval_doctrine.txt b/common/technologies/naval_doctrine.txt index 23899adae..12b927519 100644 --- a/common/technologies/naval_doctrine.txt +++ b/common/technologies/naval_doctrine.txt @@ -9,13 +9,13 @@ technologies = { # EFFECT ############# battleship = { - max_organisation = 10 + max_organisation = 5 } battle_cruiser = { - max_organisation = 10 + max_organisation = 5 } heavy_cruiser = { - max_organisation = 10 + max_organisation = 5 } light_cruiser = { surface_detection = 0.10 @@ -74,13 +74,13 @@ technologies = { battlefleet_concentration = { # EFFECT ############# battleship = { - max_organisation = 10 + max_organisation = 5 } battle_cruiser = { - max_organisation = 10 + max_organisation = 5 } heavy_cruiser = { - max_organisation = 10 + max_organisation = 5 } strike_force_movement_org_loss = -0.2 ######## @@ -189,11 +189,11 @@ technologies = { # EFFECT ############# destroyer = { - max_organisation = 20 + max_organisation = 5 sub_detection = 0.1 } light_cruiser = { - max_organisation = 10 + max_organisation = 5 sub_detection = 0.2 } @@ -404,7 +404,7 @@ technologies = { # EFFECT ############# destroyer = { - max_organisation = 10 + max_organisation = 5 sub_detection = 0.05 } convoy_escort_efficiency = 0.05 @@ -457,7 +457,7 @@ technologies = { # EFFECT ############# destroyer = { - max_organisation = 10 + max_organisation = 5 sub_detection = 0.05 } convoy_escort_efficiency = 0.1 @@ -578,7 +578,7 @@ technologies = { # EFFECT ############# destroyer = { - max_organisation = 20 + max_organisation = 5 sub_detection = 0.1 } light_cruiser = { @@ -1223,14 +1223,12 @@ technologies = { # EFFECT ############## light_cruiser = { max_organisation = 10 - surface_visibility = -0.10 convoy_raiding_coordination = 0.15 surface_detection = 0.10 } heavy_cruiser = { max_organisation = 10 - surface_visibility = -0.10 convoy_raiding_coordination = 0.15 surface_detection = 0.10 } @@ -1275,14 +1273,12 @@ technologies = { # EFFECT ############## battle_cruiser = { max_organisation = 20 - surface_visibility = -0.20 convoy_raiding_coordination = 0.15 surface_detection = 0.15 } battleship = { max_organisation = 20 - surface_visibility = -0.25 convoy_raiding_coordination = 0.5 surface_detection = 0.25 } @@ -1535,7 +1531,7 @@ technologies = { #same as convoy_sailing # EFFECT ############# destroyer = { - max_organisation = 10 + max_organisation = 5 sub_detection = 0.05 } convoy_escort_efficiency = 0.05 @@ -2289,7 +2285,7 @@ technologies = { #same as convoy_escorts # EFFECT ############# destroyer = { - max_organisation = 10 + max_organisation = 5 sub_detection = 0.05 } convoy_escort_efficiency = 0.1 @@ -2340,11 +2336,11 @@ technologies = { # EFFECT ############## destroyer = { - max_organisation = 10 + max_organisation = 5 sub_detection = 0.05 } light_cruiser = { - max_organisation = 10 + max_organisation = 5 sub_detection = 0.1 } @@ -2404,7 +2400,7 @@ technologies = { #same as convoy_sailing # EFFECT ############# destroyer = { - max_organisation = 10 + max_organisation = 5 sub_detection = 0.05 } convoy_escort_efficiency = 0.05 @@ -2463,11 +2459,11 @@ technologies = { #same as integrated_convoy_defence # EFFECT ############# destroyer = { - max_organisation = 20 + max_organisation = 5 sub_detection = 0.10 } light_cruiser = { - max_organisation = 10 + max_organisation = 5 sub_detection = 0.15 } carrier = { diff --git a/common/technologies/orcs_special_techs.txt b/common/technologies/orcs_special_techs.txt index 2b05d9a65..8043d71c5 100644 --- a/common/technologies/orcs_special_techs.txt +++ b/common/technologies/orcs_special_techs.txt @@ -147,7 +147,7 @@ technologies = { } orc_society = { - war_support_weekly = 0.005 + war_support_weekly = 0.002 annex_cost_factor = -0.3 path = { @@ -227,7 +227,7 @@ technologies = { } orc_production2 = { - industrial_capacity_factory = 0.15 + industrial_capacity_factory = 0.1 research_cost = 1 start_year = 3022 diff --git a/common/technologies/special_forces_doctrine.txt b/common/technologies/special_forces_doctrine.txt new file mode 100644 index 000000000..39c50f434 --- /dev/null +++ b/common/technologies/special_forces_doctrine.txt @@ -0,0 +1,1351 @@ +technologies = { + + ###Mountaineers + + special_forces_mountaineers = { + doctrine_name = "TITLE_SPECIAL_FORCES" + + # EFFECT ######## + mountaineers_special_forces_contribution_factor = -0.25 + category_mountaineers = { + supply_consumption = -0.02 + } + category_special_forces = { + max_organisation = 5 + soft_attack = 0.05 + } + enable_subunits = { + rangers_support + } + ########### + + force_use_small_tech_layout = yes + + xp_research_type = army + xp_unlock_cost = 100 + + #xor = { special_forces_marines special_forces_paratroopers } + + path = { + leads_to_tech = ski_troops + research_cost_coeff = 1 + } + + path = { + leads_to_tech = rangers + research_cost_coeff = 1 + } + + doctrine = yes + research_cost = 2.25 + + allow = { + AND = { + has_tech = tech_mountaineers + can_unlock_new_special_forces_tree = yes + } + } + + on_research_complete = { + remove_potential_special_forces_tree = yes + } + + categories = { + special_forces_doctrine + mountaineers_tech + } + + folder = { + name = special_forces_doctrine_folder + position = { x = 0 y = 0 } + } + + ai_will_do = { + factor = 10 + } + + ai_research_weights = { + #air_doctrine = -1.0 + #light_air = -2.0 + } + } + + ski_troops = { + + xp_research_type = army + xp_unlock_cost = 100 + + xor = { rangers } + + force_use_small_tech_layout = yes + + path = { + leads_to_tech = special_forces_recon + research_cost_coeff = 1 + } + + rangers_support = { + acclimatization_cold_climate_gain_factor = 0.25 + snow = { + attack = 0.10 + defence = 0.15 + movement = 0.15 + } + } + + doctrine = yes + research_cost = 4.5 + + categories = { + special_forces_doctrine + mountaineers_tech + } + + folder = { + name = special_forces_doctrine_folder + position = { x = -1 y = 2 } + } + + ai_will_do = { + factor = 20 + } + + ai_research_weights = { + #armor = 3.0 + } + } + + rangers = { + + xp_research_type = army + xp_unlock_cost = 100 + + force_use_small_tech_layout = yes + + path = { + leads_to_tech = special_forces_recon + research_cost_coeff = 1 + } + + xor = { ski_troops } + + rangers_support = { + mountain = { + attack = 0.15 + defence = 0.10 + movement = 0.10 + } + } + + doctrine = yes + research_cost = 4.5 + + categories = { + special_forces_doctrine + mountaineers_tech + } + + folder = { + name = special_forces_doctrine_folder + position = { x = 1 y = 2 } + } + + ai_will_do = { + factor = 20 + } + + ai_research_weights = { + #armor = 3.0 + } + } + + special_forces_recon = { + + xp_research_type = army + xp_unlock_cost = 100 + + category_mountaineers = { + initiative = 0.01 + } + unit_mountaineers_design_cost_factor = -0.50 + unit_rangers_support_design_cost_factor = -0.50 + + force_use_small_tech_layout = yes + + path = { + leads_to_tech = mountaineers_combat_1 + research_cost_coeff = 1 + } + + path = { + leads_to_tech = mountaineers_combat_2 + research_cost_coeff = 1 + } + + doctrine = yes + research_cost = 4.5 + + categories = { + special_forces_doctrine + mountaineers_tech + } + + folder = { + name = special_forces_doctrine_folder + position = { x = 0 y = 4 } + } + + ai_will_do = { + factor = 20 + } + + ai_research_weights = { + #armor = 3.0 + } + } + + mountaineers_combat_1 = { + + xp_research_type = army + xp_unlock_cost = 100 + + force_use_small_tech_layout = yes + + category_mountaineers = { + defense = 0.10 + } + mountaineers = { + combat_width = -0.2 + } + + path = { + leads_to_tech = mountaineers_combat_3 + research_cost_coeff = 1 + } + + xor = { mountaineers_combat_2 } + + doctrine = yes + research_cost = 4.5 + + categories = { + special_forces_doctrine + mountaineers_tech + } + + folder = { + name = special_forces_doctrine_folder + position = { x = -1 y = 6 } + } + + ai_will_do = { + factor = 20 + } + + ai_research_weights = { + #armor = 3.0 + } + } + + mountaineers_combat_2 = { + + xp_research_type = army + xp_unlock_cost = 100 + + force_use_small_tech_layout = yes + + path = { + leads_to_tech = mountaineers_combat_3 + research_cost_coeff = 1 + } + + artillery = { + battalion_mult = { + category = category_mountaineers + breakthrough = 0.15 + } + } + + xor = { mountaineers_combat_1 } + + doctrine = yes + research_cost = 4.5 + + categories = { + special_forces_doctrine + mountaineers_tech + } + + folder = { + name = special_forces_doctrine_folder + position = { x = 1 y = 6 } + } + + ai_will_do = { + factor = 20 + } + + ai_research_weights = { + #armor = 3.0 + } + } + + mountaineers_combat_3 = { + + xp_research_type = army + xp_unlock_cost = 100 + + category_mountaineers = { + max_organisation = 10 + } + + force_use_small_tech_layout = yes + + path = { + leads_to_tech = mountaineers_keystone_1 + research_cost_coeff = 1 + } + + path = { + leads_to_tech = mountaineers_keystone_2 + research_cost_coeff = 1 + } + + doctrine = yes + research_cost = 4.5 + + categories = { + special_forces_doctrine + mountaineers_tech + } + + folder = { + name = special_forces_doctrine_folder + position = { x = 0 y = 8 } + } + + ai_will_do = { + factor = 20 + } + + ai_research_weights = { + #armor = 3.0 + } + } + + mountaineers_keystone_1 = { + + xp_research_type = army + xp_unlock_cost = 100 + + force_use_small_tech_layout = yes + + category_mountaineers = { + soft_attack = 0.10 + } + + mountaineers_special_forces_contribution_factor = -0.25 + special_forces_training_time_factor = -0.20 + + xor = { mountaineers_keystone_2 } + + doctrine = yes + research_cost = 4.5 + + categories = { + special_forces_doctrine + mountaineers_tech + } + + folder = { + name = special_forces_doctrine_folder + position = { x = -1 y = 10 } + } + + ai_will_do = { + factor = 20 + } + + ai_research_weights = { + #armor = 3.0 + } + } + + mountaineers_keystone_2 = { + + xp_research_type = army + xp_unlock_cost = 100 + + special_forces_cap = 0.20 + special_forces_out_of_supply_factor = -0.1 + special_forces_attack_factor = 0.10 + acclimatization_hot_climate_gain_factor = 0.10 + acclimatization_cold_climate_gain_factor = 0.10 + + force_use_small_tech_layout = yes + + xor = { mountaineers_keystone_1 } + + doctrine = yes + research_cost = 4.5 + + categories = { + special_forces_doctrine + mountaineers_tech + } + + folder = { + name = special_forces_doctrine_folder + position = { x = 1 y = 10 } + } + + ai_will_do = { + factor = 20 + } + + ai_research_weights = { + #armor = 3.0 + } + } + + ###Marines + + special_forces_marines = { + doctrine_name = "MARINES_DOCTRINE" + + xp_research_type = navy + xp_unlock_cost = 100 + + #xor = { special_forces_mountaineers special_forces_paratroopers } + + force_use_small_tech_layout = yes + + allow = { + AND = { + has_tech = marines + can_unlock_new_special_forces_tree = yes + } + } + + on_research_complete = { + remove_potential_special_forces_tree = yes + } + + path = { + leads_to_tech = marines_jungle_troops + research_cost_coeff = 1 + } + + path = { + leads_to_tech = marines_shore_parties + research_cost_coeff = 1 + } + + marines_special_forces_contribution_factor = -0.25 + naval_invasion_capacity = 5 + category_special_forces = { + max_organisation = 5 + soft_attack = 0.05 + } + + enable_subunits = { + pioneer_support + } + + doctrine = yes + research_cost = 2.25 + + categories = { + special_forces_doctrine + marine_tech + } + + + folder = { + name = special_forces_doctrine_folder + position = { x = 0 y = 0 } + } + + ai_will_do = { + factor = 20 + } + + ai_research_weights = { + #artillery = 4.0 + } + } + + marines_jungle_troops = { + + xp_research_type = navy + xp_unlock_cost = 100 + + xor = { marines_shore_parties } + + force_use_small_tech_layout = yes + + pioneer_support = { + jungle = { + attack = 0.15 + defence = 0.10 + movement = 0.10 + } + } + + path = { + leads_to_tech = marines_recon + research_cost_coeff = 1 + } + + doctrine = yes + research_cost = 2.25 + + categories = { + special_forces_doctrine + marine_tech + } + + + folder = { + name = special_forces_doctrine_folder + position = { x = -1 y = 2 } + } + + ai_will_do = { + factor = 20 + } + + ai_research_weights = { + #artillery = 4.0 + } + } + + marines_shore_parties = { + + xp_research_type = navy + xp_unlock_cost = 100 + + xor = { marines_jungle_troops } + + force_use_small_tech_layout = yes + + path = { + leads_to_tech = marines_recon + research_cost_coeff = 1 + } + + pioneer_support = { + amphibious = { + attack = 0.25 + defence = 0.15 + movement = 0.20 + } + } + + doctrine = yes + research_cost = 2.25 + + categories = { + special_forces_doctrine + marine_tech + } + + + folder = { + name = special_forces_doctrine_folder + position = { x = 1 y = 2 } + } + + ai_will_do = { + factor = 20 + } + + ai_research_weights = { + #artillery = 4.0 + } + } + + marines_recon = { + + xp_research_type = navy + xp_unlock_cost = 100 + + force_use_small_tech_layout = yes + + path = { + leads_to_tech = marines_commandoes + research_cost_coeff = 1 + } + + path = { + leads_to_tech = marines_expeditionary + research_cost_coeff = 1 + } + + unit_marine_design_cost_factor = -0.50 + + marine = { + max_organisation = 5 + } + + doctrine = yes + research_cost = 2.25 + + categories = { + special_forces_doctrine + marine_tech + } + + + folder = { + name = special_forces_doctrine_folder + position = { x = 0 y = 4 } + } + + ai_will_do = { + factor = 20 + } + + ai_research_weights = { + #artillery = 4.0 + } + } + + marines_commandoes = { + + xp_research_type = navy + xp_unlock_cost = 100 + + force_use_small_tech_layout = yes + + path = { + leads_to_tech = marines_commandos_demolition + research_cost_coeff = 1 + } + + xor = { marines_expeditionary } + + enable_subunits = { + marine_commando + } + + on_research_complete = { + custom_effect_tooltip = SF_MARINES_exfiltration_effect_tt + } + + acclimatization_cold_climate_gain_factor = 0.1 + acclimatization_hot_climate_gain_factor = 0.1 + + doctrine = yes + research_cost = 2.25 + + categories = { + special_forces_doctrine + marine_tech + } + + + folder = { + name = special_forces_doctrine_folder + position = { x = -1 y = 6 } + } + + ai_will_do = { + factor = 20 + } + + ai_research_weights = { + #artillery = 4.0 + } + } + + marines_expeditionary = { + + xp_research_type = navy + xp_unlock_cost = 100 + + force_use_small_tech_layout = yes + + path = { + leads_to_tech = marines_expeditionary_blowtorch + research_cost_coeff = 1 + } + + xor = { marines_commandoes } + + special_forces_cap = 0.10 + naval_invasion_planning_bonus_speed = 0.2 + + army_bonus_air_superiority_factor = 0.10 + + doctrine = yes + research_cost = 2.25 + + categories = { + special_forces_doctrine + marine_tech + } + + + folder = { + name = special_forces_doctrine_folder + position = { x = 1 y = 6 } + } + + ai_will_do = { + factor = 20 + } + + ai_research_weights = { + #artillery = 4.0 + } + } + + marines_commandos_demolition = { + + xp_research_type = navy + xp_unlock_cost = 100 + + force_use_small_tech_layout = yes + + path = { + leads_to_tech = marines_commandoes_mechanised + research_cost_coeff = 1 + } + + path = { + leads_to_tech = marines_commandoes_mechanised_non_mtg + research_cost_coeff = 1 + } + + marine_commando = { + breakthrough = 0.15 + } + + doctrine = yes + research_cost = 2.25 + + categories = { + special_forces_doctrine + marine_tech + } + + on_research_complete = { + custom_effect_tooltip = SF_marine_demoliton_effect_TT + } + + folder = { + name = special_forces_doctrine_folder + position = { x = -1 y = 8 } + } + + ai_will_do = { + factor = 20 + } + + ai_research_weights = { + #artillery = 4.0 + } + } + + marines_expeditionary_blowtorch = { + + xp_research_type = navy + xp_unlock_cost = 100 + + force_use_small_tech_layout = yes + + + path = { + leads_to_tech = marines_expeditionary_support + research_cost_coeff = 1 + } + + + shore_bombardment_bonus = 0.15 + special_forces_attack_factor = 0.10 + + doctrine = yes + research_cost = 2.25 + + categories = { + special_forces_doctrine + marine_tech + } + + + folder = { + name = special_forces_doctrine_folder + position = { x = 1 y = 8 } + } + + ai_will_do = { + factor = 20 + } + + ai_research_weights = { + #artillery = 4.0 + } + } + + marines_commandoes_mechanised = { + + xp_research_type = navy + xp_unlock_cost = 100 + + force_use_small_tech_layout = yes + allow_branch = { has_dlc = "Man the Guns" } + + amphibious_mechanized = { + soft_attack = 0.1 + breakthrough = 0.1 + max_organisation = 5 + } + + on_research_complete = { + add_ideas = GEN_cheaper_amphib + } + + doctrine = yes + research_cost = 2.25 + + categories = { + special_forces_doctrine + marine_tech + } + + + folder = { + name = special_forces_doctrine_folder + position = { x = -1 y = 10 } + } + + ai_will_do = { + factor = 20 + } + + ai_research_weights = { + #artillery = 4.0 + } + } + + marines_commandoes_mechanised_non_mtg = { + + xp_research_type = navy + xp_unlock_cost = 100 + + force_use_small_tech_layout = yes + allow_branch = { not = { has_dlc = "Man the Guns" } } + + special_forces_attack_factor = 0.10 + + doctrine = yes + research_cost = 2.25 + + categories = { + special_forces_doctrine + marine_tech + } + + + folder = { + name = special_forces_doctrine_folder + position = { x = -1 y = 10 } + } + + ai_will_do = { + factor = 20 + } + + ai_research_weights = { + #artillery = 4.0 + } + } + + marines_expeditionary_support = { + + xp_research_type = navy + xp_unlock_cost = 100 + + force_use_small_tech_layout = yes + + artillery = { + battalion_mult = { + category = category_marines + defense = 0.05 + breakthrough = 0.1 + } + } + + artillery = { + battalion_mult = { + category = category_amphibious_tanks + defense = 0.05 + breakthrough = 0.1 + } + } + + extra_marine_supply_grace = 24 + naval_invasion_capacity = 15 + + doctrine = yes + research_cost = 2.25 + + categories = { + special_forces_doctrine + marine_tech + } + + + folder = { + name = special_forces_doctrine_folder + position = { x = 1 y = 10 } + } + + ai_will_do = { + factor = 20 + } + + ai_research_weights = { + #artillery = 4.0 + } + } + + ###Paratroopers + + special_forces_paratroopers = { + doctrine_name = "PARATROOPERS_DOCTRINE" + + xp_research_type = air + xp_unlock_cost = 100 + + force_use_small_tech_layout = yes + + #xor = { special_forces_mountaineers special_forces_marines } + + paratroopers_special_forces_contribution_factor = -0.10 + transport_plane = { + air_defence = 0.20 + } + category_special_forces = { + max_organisation = 5 + soft_attack = 0.05 + } + + allow = { + AND = { + has_tech = paratroopers + can_unlock_new_special_forces_tree = yes + } + } + + on_research_complete = { + remove_potential_special_forces_tree = yes + } + + path = { + leads_to_tech = paras_dispersed_drop + research_cost_coeff = 1 + } + + path = { + leads_to_tech = paras_combat_drop + research_cost_coeff = 1 + } + + doctrine = yes + research_cost = 2.25 + + categories = { + special_forces_doctrine + para_tech + } + + + folder = { + name = special_forces_doctrine_folder + position = { x = 0 y = 0 } + } + + ai_will_do = { + factor = 20 + } + + ai_research_weights = { + #infantry_weapons = 1.5 + #motorized_equipment = 1.0 + } + } + + paras_dispersed_drop = { + + xp_research_type = air + xp_unlock_cost = 100 + + force_use_small_tech_layout = yes + + path = { + leads_to_tech = paras_airborne_light_armor + research_cost_coeff = 1 + } + + xor = { paras_combat_drop } + + doctrine = yes + research_cost = 4.5 + + paratroopers_special_forces_contribution_factor = -0.10 + + on_research_complete = { + custom_effect_tooltip = SF_PARAS_sabotage_effect_tt + } + + categories = { + special_forces_doctrine + para_tech + } + + folder = { + name = special_forces_doctrine_folder + position = { x = -1 y = 2 } + } + + ai_will_do = { + factor = 20 + } + + ai_research_weights = { + #armor = 3.0 + } + } + + paras_combat_drop = { + + xp_research_type = air + xp_unlock_cost = 100 + + force_use_small_tech_layout = yes + + xor = { paras_dispersed_drop } + + path = { + leads_to_tech = paras_airborne_light_armor + research_cost_coeff = 1 + } + + doctrine = yes + research_cost = 4.5 + + paratroopers_special_forces_contribution_factor = -0.10 + + on_research_complete = { + custom_effect_tooltip = SF_PARAS_combat_effect_tt + } + + categories = { + special_forces_doctrine + para_tech + } + + folder = { + name = special_forces_doctrine_folder + position = { x = 1 y = 2 } + } + + ai_will_do = { + factor = 20 + } + + ai_research_weights = { + #armor = 3.0 + } + } + + paras_airborne_light_armor = { + + xp_research_type = air + xp_unlock_cost = 100 + + force_use_small_tech_layout = yes + + #category_all_infantry = { + # max_organisation = 15 + #} + + path = { + leads_to_tech = paras_combat_1 + research_cost_coeff = 1 + } + + path = { + leads_to_tech = paras_combat_2 + research_cost_coeff = 1 + } + + doctrine = yes + research_cost = 4.5 + + enable_subunits = { + airborne_light_armor + } + + categories = { + special_forces_doctrine + para_tech + } + + folder = { + name = special_forces_doctrine_folder + position = { x = 0 y = 4 } + } + + ai_will_do = { + factor = 20 + } + + ai_research_weights = { + #armor = 3.0 + } + } + + paras_combat_1 = { + + xp_research_type = air + xp_unlock_cost = 100 + + force_use_small_tech_layout = yes + + path = { + leads_to_tech = paras_bonus_1 + research_cost_coeff = 1 + } + + xor = { paras_combat_2 } + + signal_company = { + battalion_mult = { + category = category_paratroopers + defense = 0.15 + } + } + + doctrine = yes + research_cost = 2.25 + + categories = { + special_forces_doctrine + para_tech + } + + + folder = { + name = special_forces_doctrine_folder + position = { x = -1 y = 6 } + } + + ai_will_do = { + factor = 20 + } + + ai_research_weights = { + #artillery = 4.0 + } + } + + paras_combat_2 = { + + xp_research_type = air + xp_unlock_cost = 100 + + force_use_small_tech_layout = yes + + path = { + leads_to_tech = paras_bonus_2 + research_cost_coeff = 1 + } + + field_hospital = { + battalion_mult = { + category = category_paratroopers + default_morale = 0.15 + } + } + + xor = { paras_combat_1 } + + doctrine = yes + research_cost = 2.25 + + categories = { + special_forces_doctrine + para_tech + } + + + folder = { + name = special_forces_doctrine_folder + position = { x = 1 y = 6 } + } + + ai_will_do = { + factor = 20 + } + + ai_research_weights = { + #artillery = 4.0 + } + } + + paras_bonus_1 = { + + xp_research_type = air + xp_unlock_cost = 100 + + force_use_small_tech_layout = yes + + path = { + leads_to_tech = paras_keystone_1 + research_cost_coeff = 1 + } + + category_paratroopers = { + max_organisation = 5 + supply_consumption = -0.02 + } + + acclimatization_hot_climate_gain_factor = 0.10 + acclimatization_cold_climate_gain_factor = 0.10 + + doctrine = yes + research_cost = 2.25 + + categories = { + special_forces_doctrine + para_tech + } + + + folder = { + name = special_forces_doctrine_folder + position = { x = -1 y = 8 } + } + + ai_will_do = { + factor = 20 + } + + ai_research_weights = { + #artillery = 4.0 + } + } + + paras_bonus_2 = { + + xp_research_type = air + xp_unlock_cost = 100 + + force_use_small_tech_layout = yes + + path = { + leads_to_tech = paras_keystone_2 + research_cost_coeff = 1 + } + + paratrooper_weight_factor = -0.5 + special_forces_no_supply_grace = 24 + + doctrine = yes + research_cost = 2.25 + + categories = { + special_forces_doctrine + para_tech + } + + + folder = { + name = special_forces_doctrine_folder + position = { x = 1 y = 8 } + } + + ai_will_do = { + factor = 20 + } + + ai_research_weights = { + #artillery = 4.0 + } + } + + paras_keystone_1 = { + + xp_research_type = air + xp_unlock_cost = 100 + + force_use_small_tech_layout = yes + + category_paratroopers = { + soft_attack = 0.15 + breakthrough = 0.15 + } + + special_forces_training_time_factor = 0.20 + + doctrine = yes + research_cost = 2.25 + + categories = { + special_forces_doctrine + para_tech + } + + + folder = { + name = special_forces_doctrine_folder + position = { x = -1 y = 10 } + } + + ai_will_do = { + factor = 20 + } + + ai_research_weights = { + #artillery = 4.0 + } + } + + paras_keystone_2 = { + + xp_research_type = air + xp_unlock_cost = 100 + + force_use_small_tech_layout = yes + + paratroopers_special_forces_contribution_factor = -0.20 + special_forces_training_time_factor = -0.10 + special_forces_attack_factor = 0.10 + + doctrine = yes + research_cost = 2.25 + + categories = { + special_forces_doctrine + para_tech + } + + + folder = { + name = special_forces_doctrine_folder + position = { x = 1 y = 10 } + } + + ai_will_do = { + factor = 20 + } + + ai_research_weights = { + #artillery = 4.0 + } + } + +} diff --git a/common/technologies/special_units_techs.txt b/common/technologies/special_units_techs.txt new file mode 100644 index 000000000..52a506e69 --- /dev/null +++ b/common/technologies/special_units_techs.txt @@ -0,0 +1,109 @@ +technologies = { + + ######### FROM ENTWOOD FOCUS ########## + forest_infantry = { + + allow = { + always = no + } + + research_cost = 1 + start_year = 3018 + + enable_subunits = { + forest_infantry + } + } + + ent_infantry = { + + allow = { + always = no + } + + research_cost = 1 + start_year = 3018 + + enable_subunits = { + ent_infantry + } + } + + ######### FROM LTH FOCUS ########## + riders_of_the_naith = { + + allow = { + always = no + } + + research_cost = 1 + start_year = 3018 + + enable_subunits = { + riders_of_the_naith + } + } + + ######### FROM LTH FOCUS ########## + marchwardens_of_lothlorien = { + + allow = { + always = no + } + + research_cost = 1 + start_year = 3018 + + enable_subunits = { + marchwardens_of_lothlorien + } + } + + ######### FROM LTH FOCUS ########## + sindar_pathstalkers = { + + allow = { + always = no + } + + research_cost = 1 + start_year = 3018 + + enable_subunits = { + sindar_pathstalkers + } + } + + ######### FROM LTH FOCUS ########## + spider_infantry = { + + allow = { + always = no + } + + research_cost = 1 + start_year = 3018 + + enable_subunits = { + spider_infantry + } + } + + ######### FROM LTH FOCUS ########## + penal_infantry_buff = { + + allow = { + always = no + } + + research_cost = 1 + start_year = 3018 + + penal_battalion = { + soft_attack = 0.15 + hard_attack = 0.15 + defense = 0.15 + breakthrough = 0.15 + } + } +} diff --git a/common/technologies/support.txt b/common/technologies/support.txt index 01a3af84d..6fe5801a6 100644 --- a/common/technologies/support.txt +++ b/common/technologies/support.txt @@ -62,22 +62,7 @@ technologies = { } ai_will_do = { - factor = 2 - - modifier = { - factor = 4 - date > "3019.1.1" - } - - modifier = { - factor = 4 - date > "3020.1.1" - } - - modifier = { - factor = 4 - date > "3021.1.1" - } + factor = 1 } } @@ -163,7 +148,7 @@ technologies = { } ai_will_do = { - factor = 2 + factor = 1 modifier = { factor = 1.2 @@ -209,7 +194,7 @@ technologies = { } ai_will_do = { - factor = 2 + factor = 1 modifier = { factor = 1.2 @@ -251,7 +236,7 @@ technologies = { } ai_will_do = { - factor = 2 + factor = 1 modifier = { factor = 1.2 @@ -472,11 +457,6 @@ technologies = { ai_will_do = { factor = 0.5 - - modifier = { - factor = 2 - has_war = yes - } } } @@ -506,11 +486,6 @@ technologies = { ai_will_do = { factor = 0.5 - - modifier = { - factor = 2 - has_war = yes - } } } @@ -538,11 +513,6 @@ technologies = { ai_will_do = { factor = 0.5 - - modifier = { - factor = 2 - has_war = yes - } } } @@ -566,11 +536,6 @@ technologies = { ai_will_do = { factor = 0.5 - - modifier = { - factor = 2 - has_war = yes - } } } @@ -780,7 +745,7 @@ technologies = { tech_field_hospital2 = { field_hospital = { - casualty_trickleback = 0.10 + casualty_trickleback = 0.05 experience_loss_factor = -0.10 } @@ -810,7 +775,7 @@ technologies = { tech_field_hospital3 = { field_hospital = { - casualty_trickleback = 0.1 + casualty_trickleback = 0.05 experience_loss_factor = -0.10 } path = { @@ -839,7 +804,7 @@ technologies = { tech_field_hospital4 = { field_hospital = { - casualty_trickleback = 0.1 + casualty_trickleback = 0.05 experience_loss_factor = -0.10 } @@ -1073,7 +1038,7 @@ technologies = { } ai_will_do = { - factor = 0.1 + factor = 0 } } @@ -1103,7 +1068,7 @@ technologies = { } ai_will_do = { - factor = 0.1 + factor = 0 } } @@ -1131,7 +1096,7 @@ technologies = { } ai_will_do = { - factor = 0.1 + factor = 0 } } @@ -1155,7 +1120,7 @@ technologies = { } ai_will_do = { - factor = 0.1 + factor = 0 } } } diff --git a/common/technology_sharing/00_tech_sharing_groups.txt b/common/technology_sharing/00_tech_sharing_groups.txt index 8cfbedb57..b4ab12dcb 100644 --- a/common/technology_sharing/00_tech_sharing_groups.txt +++ b/common/technology_sharing/00_tech_sharing_groups.txt @@ -44,4 +44,32 @@ technology_sharing_group = { available = { has_idea_with_trait = secret_society_member } +} + +technology_sharing_group = { + + id = lth_alliance_of_light_group + name = lth_alliance_of_light_group_name + desc = lth_alliance_of_light_group_desc + picture = GFX_technology_sharing_default + + research_sharing_per_country_bonus = 0.15 + + available = { + is_in_faction_with = LTH + } +} + +technology_sharing_group = { + + id = white_council_group + name = white_council_group_name + desc = white_council_group_desc + picture = GFX_technology_sharing_default + + research_sharing_per_country_bonus = 0.15 + + available = { + is_white_council_member = yes + } } \ No newline at end of file diff --git a/common/technology_tags/00_technology.txt b/common/technology_tags/00_technology.txt index ed516dd33..0dcdf13a8 100644 --- a/common/technology_tags/00_technology.txt +++ b/common/technology_tags/00_technology.txt @@ -92,6 +92,7 @@ technology_categories = { cat_production cat_synth_rubber cat_synth_oil + special_forces_doctrine # lotr mod categories lotr_infantry @@ -204,6 +205,10 @@ technology_folders = { ledger = army doctrine = yes } + special_forces_doctrine_folder = { + ledger = hidden + doctrine = yes + } naval_doctrine_folder = { ledger = navy doctrine = yes diff --git a/common/unit_leader/00_traits.txt b/common/unit_leader/00_traits.txt index 4e830c91d..2675fb452 100644 --- a/common/unit_leader/00_traits.txt +++ b/common/unit_leader/00_traits.txt @@ -20,10 +20,14 @@ # custom_prerequisite_tooltip = "" # loc key # custom_gain_xp_trigger_tooltip = "" # loc key # mutually_exclusive = other_trait # trait key -# parent = other_trait # trait key -# num_parents_needed = -1 # integer, -1 means "all" -# gui_row = -1 # integer, starts at 0, -1 means auto -# gui_column = -1 # integer, starts at 0, -1 means auto +# parent = { # Can be added multiple times +# traits = {XXX YYY ZZZ} # A list of other traits that +# num_parents_needed = 1 # The number of the above traits that must be true +# } +# any_parent = { XXX YYY ZZZ } # shorthand for parent when num_parents_needed are defaulted to 1 +# all_parents = { XXX YYY ZZZ } # shorthand for parent when num_parents_needed are the same as the number of parents +# gui_row = 0 # integer, starts at 0, unset or -1 means the trait does not appear in unlockable trait tree. +# gui_column = 0 # integer, starts at 0, unset or -1 means auto # allowed = trigger # scope is a unit leader # prerequisites = trigger # scope is an unit leader # gain_xp = trigger # scope is a combatant @@ -173,7 +177,7 @@ leader_traits = { type = { land navy } trait_type = personality_trait - non_shared_modifier = { + non_shared_modifier = { # WARNING! Changing the value of these modifiers requires changing them also in the tooltip ITA_heroes_of_the_nation_general_traits_tt promote_cost_factor = -0.5 reassignment_duration_factor = 0.5 # +50% cost to replace leader } @@ -325,7 +329,7 @@ leader_traits = { logistics_skill_factor = 1 } - bearer_of_artillery = { + bearer_of_artillery = { # Reserved for Wojtek type = corps_commander trait_type = personality_trait @@ -342,6 +346,29 @@ leader_traits = { infantry_officer = { type = land trait_type = personality_trait + + unit_trigger = { + OR = { + division_has_majority_template = infantry + division_has_majority_template = bicycle_battalion + division_has_majority_template = marine + division_has_majority_template = mountaineers + division_has_majority_template = paratrooper + division_has_majority_template = penal_battalion + + owner = { + has_idea = mass_assault_academy_spirit + } + } + owner = { + NOT = { + OR = { + has_idea = best_of_the_best_spirit + has_idea = academy_scholarships_spirit + } + } + } + } trait_xp_factor = { infantry_leader = 1 #+100% @@ -351,8 +378,10 @@ leader_traits = { factor = 1 modifier = { - FROM = { has_idea = mass_assault_academy_spirit } - factor = 1.5 + FROM = { + has_idea = mass_assault_academy_spirit + } + factor = 2 } modifier = { @@ -371,6 +400,29 @@ leader_traits = { cavalry_officer = { type = land trait_type = personality_trait + unit_type = { + type = cavalry + type = camelry + type = motorized + type = mechanized + } + + unit_trigger = { + OR = { + division_has_majority_template = cavalry + division_has_majority_template = camelry + division_has_majority_template = motorized + division_has_majority_template = mechanized + } + owner = { + NOT = { + OR = { + has_idea = best_of_the_best_spirit + has_idea = academy_scholarships_spirit + } + } + } + } trait_xp_factor = { cavalry_leader = 1 #+100% @@ -387,6 +439,14 @@ leader_traits = { FROM = { has_idea = academy_scholarships_spirit } factor = 0 } + + modifier = { + FROM = { + has_dlc = "By Blood Alone" + } + factor = 0 + } + } attack_skill_factor = 1 @@ -400,12 +460,37 @@ leader_traits = { trait_xp_factor = { panzer_leader = 1 #+100% } + + unit_trigger = { + OR = { + division_has_majority_template = light_armor + division_has_majority_template = medium_armor + division_has_majority_template = heavy_armor + division_has_majority_template = super_heavy_armor + + owner = { + has_idea = mobile_warfare_academy_spirit + } + + } + owner = { + NOT = { + OR = { + has_idea = best_of_the_best_spirit + has_idea = academy_scholarships_spirit + } + } + } + } + new_commander_weight = { factor = 1 modifier = { - FROM = { has_idea = mobile_warfare_academy_spirit } - factor = 1.5 + FROM = { + has_idea = mobile_warfare_academy_spirit + } + factor = 2 } modifier = { @@ -416,6 +501,13 @@ leader_traits = { FROM = { has_idea = academy_scholarships_spirit } factor = 0 } + modifier = { + FROM = { + has_dlc = "By Blood Alone" + } + factor = 0 + } + } attack_skill_factor = 1 planning_skill_factor = 1 @@ -428,6 +520,27 @@ leader_traits = { trait_xp_factor = { trait_engineer = 1 #+100% } + + unit_trigger = { + OR = { + division_has_battalion_in_template = engineer + division_has_battalion_in_template = light_flame_tank + division_has_battalion_in_template = medium_flame_tank + division_has_battalion_in_template = heavy_flame_tank + owner = { + has_idea = superior_firepower_academy_spirit + } + } + owner = { + NOT = { + OR = { + has_idea = best_of_the_best_spirit + has_idea = academy_scholarships_spirit + } + } + } + } + new_commander_weight = { factor = 1 @@ -444,11 +557,159 @@ leader_traits = { FROM = { has_idea = academy_scholarships_spirit } factor = 0 } + + modifier = { + FROM = { has_dlc = "By Blood Alone" } + factor = 0 + } + } attack_skill_factor = 1 planning_skill_factor = 1 } + irregulars_officer = { + type = corps_commander + + trait_type = personality_trait + + allowed = { + always = no + } + + unit_type = { + type = cavalry + type = camelry + type = irregular_infantry + } + + unit_trigger = { + OR = { + division_has_majority_template = cavalry + division_has_majority_template = camelry + division_has_majority_template = irregular_infantry + } + owner = { + always = no + } + } + + modifier = { + modifier_army_sub_unit_irregular_infantry_attack_factor = 0.05 + modifier_army_sub_unit_cavalry_speed_factor = 0.05 + modifier_army_sub_unit_camelry_speed_factor = 0.05 + out_of_supply_factor = -0.1 + desert = { + movement = 0.1 + } + } + + new_commander_weight = { + base = 0 + } + + attack_skill_factor = 1 + planning_skill_factor = 1 + } + + ascari_officer = { + type = corps_commander + + trait_type = personality_trait + + allowed = { + always = no + } + + unit_type = { + type = infantry + } + + unit_trigger = { + division_has_majority_template = infantry + owner = { + always = no + } + } + + modifier = { + modifier_army_sub_unit_infantry_defence_factor = 0.05 + modifier_army_sub_unit_cavalry_defence_factor = 0.05 + modifier_army_sub_unit_camelry_defence_factor = 0.05 + desert = { + defence = 0.05 + } + } + + new_commander_weight = { + base = 0 + } + + defense_skill_factor = 1 + logistics_skill_factor = 1 + } + + militias_officer = { + type = corps_commander + + trait_type = personality_trait + + allowed = { + always = no + } + + unit_type = { + type = militia + } + + unit_trigger = { + always = no + } + + modifier = { + modifier_army_sub_unit_militia_defence_factor = 0.05 + modifier_army_sub_unit_militia_speed_factor = 0.05 + modifier_army_sub_unit_militia_max_org_factor = 0.05 + } + + new_commander_weight = { + base = 0 + } + + defense_skill_factor = 1 + planning_skill_factor = 1 + } + + jaeger = { + type = land + trait_type = personality_trait + + allowed = { + always = no + } + + trait_xp_factor = { + trickster = 1 #+100% + winter_specialist = 1 #+100% + commando = 1 #+100% + swamp_fox = 1 #+100% + ranger = 1 #+100% + hill_fighter = 1 #+100% + urban_assault_specialist = 1 #+100% + naval_invader = 1 #+100% + } + + modifier = { + equipment_capture = 0.03 + } + + new_commander_weight = { + factor = 0 + } + + attack_skill_factor = 1 + logistics_skill_factor = 1 + } ################################## @@ -471,7 +732,7 @@ leader_traits = { } gui_row = 0 trait_type = assignable_trait - parent = organizer + any_parent = {organizer} } offensive_doctrine = { @@ -540,7 +801,7 @@ leader_traits = { factor = 1 } gui_row = 1 - parent = organizer + any_parent = { organizer } mutually_exclusive = thorough_planner trait_type = assignable_trait } @@ -565,7 +826,7 @@ leader_traits = { factor = 1 } gui_row = 2 - parent = organizer + any_parent = { organizer } mutually_exclusive = fast_planner trait_type = assignable_trait } @@ -695,7 +956,7 @@ leader_traits = { factor = 1 } trait_type = assignable_trait - parent = skilled_staffer + any_parent = { skilled_staffer } gui_row = 15 } @@ -875,17 +1136,20 @@ leader_traits = { trait_type = assignable_terrain_trait gui_row = 3 - parent = desert_fox - parent = swamp_fox - parent = trait_mountaineer - parent = hill_fighter - parent = jungle_rat - parent = ranger - parent = urban_assault_specialist - parent = winter_specialist - + parent = { + traits = { + desert_fox + swamp_fox + trait_mountaineer + hill_fighter + jungle_rat + ranger + urban_assault_specialist + winter_specialist + } num_parents_needed = 2 } + } winter_expert = { type = corps_commander @@ -902,7 +1166,7 @@ leader_traits = { factor = 1 } - parent = winter_specialist + any_parent = { winter_specialist } trait_type = assignable_terrain_trait gui_row = 7 @@ -1193,7 +1457,7 @@ leader_traits = { } trait_type = assignable_trait - parent = panzer_leader + any_parent = { panzer_leader } mutually_exclusive = combined_arms_expert mutually_exclusive = cavalry_expert @@ -1224,13 +1488,12 @@ leader_traits = { } trait_type = assignable_trait - parent = cavalry_leader - parent = panzer_leader + any_parent = { cavalry_leader panzer_leader } mutually_exclusive = panzer_expert mutually_exclusive = cavalry_expert - num_parents_needed = 1 + gui_row = 2 } @@ -1250,7 +1513,7 @@ leader_traits = { } trait_type = assignable_trait - parent = cavalry_leader + any_parent = { cavalry_leader } mutually_exclusive = panzer_expert mutually_exclusive = combined_arms_expert @@ -1286,7 +1549,7 @@ leader_traits = { gui_row = 4 trait_type = assignable_trait - parent = trait_engineer + any_parent = { trait_engineer } mutually_exclusive = scavenger } @@ -1307,7 +1570,7 @@ leader_traits = { trait_type = assignable_trait gui_row = 5 - parent = trait_engineer + any_parent = { trait_engineer } mutually_exclusive = fortress_buster } @@ -1328,7 +1591,7 @@ leader_traits = { mutually_exclusive = ambusher trait_type = assignable_trait - parent = infantry_leader + any_parent = { infantry_leader } gui_row = 6 } @@ -1350,7 +1613,7 @@ leader_traits = { mutually_exclusive = infantry_expert trait_type = assignable_trait - parent = infantry_leader + any_parent = { infantry_leader } gui_row = 7 } @@ -1371,7 +1634,7 @@ leader_traits = { } trait_type = assignable_trait - parent = naval_invader + any_parent = { naval_invader } gui_row = 8 } @@ -1390,7 +1653,7 @@ leader_traits = { } trait_type = assignable_trait - parent = naval_invader + any_parent = { naval_invader } gui_row = 9 } @@ -1411,7 +1674,7 @@ leader_traits = { enable_ability = probing_attack trait_type = assignable_trait - parent = commando + any_parent = { commando } gui_row = 10 } @@ -1433,7 +1696,7 @@ leader_traits = { } trait_type = assignable_trait - parent = commando + any_parent = { commando } gui_row = 11 } @@ -1460,7 +1723,7 @@ leader_traits = { genius_advisor_trait = army_concealment_3 trait_type = assignable_trait - parent = commando + any_parent = { commando } gui_row = 12 } @@ -1507,7 +1770,7 @@ leader_traits = { enable_ability = makeshift_bridges trait_type = assignable_trait - parent = trickster + any_parent = { trickster } prerequisites = { check_variable = { num_terrain_traits > 0 } } @@ -1531,7 +1794,7 @@ leader_traits = { } trait_type = assignable_trait - parent = trickster + any_parent = { trickster } gui_row = 14 } @@ -1735,7 +1998,7 @@ leader_traits = { } trait_type = assignable_trait - parent = seawolf + any_parent = { seawolf } mutually_exclusive = lancer gui_row = 1 gui_column = 1 @@ -1757,7 +2020,7 @@ leader_traits = { } trait_type = assignable_trait - parent = silent_hunter + any_parent = { silent_hunter } gui_row = 1 gui_column = 2 } @@ -1773,10 +2036,7 @@ leader_traits = { } trait_type = assignable_trait - parent = seawolf - parent = fleet_protector - - num_parents_needed = 1 + any_parent = { seawolf fleet_protector } mutually_exclusive = silent_hunter @@ -1806,7 +2066,7 @@ leader_traits = { } trait_type = assignable_trait - parent = fleet_protector + any_parent = { fleet_protector } gui_row = 3 gui_column = 1 @@ -1822,10 +2082,11 @@ leader_traits = { } trait_type = assignable_trait - num_parents_needed = 1 - parent = silent_hunter - parent = lancer - parent = destroyer_leader + any_parent = { + silent_hunter + lancer + destroyer_leader + } gui_row = 2 gui_column = 2 @@ -1842,7 +2103,7 @@ leader_traits = { } trait_type = assignable_trait - parent = destroyer_leader + any_parent = { destroyer_leader } gui_row = 3 gui_column = 2 @@ -1868,7 +2129,7 @@ leader_traits = { } trait_type = assignable_trait - parent = fly_swatter + any_parent = { fly_swatter } gui_row = 4 gui_column = 1 @@ -1885,7 +2146,7 @@ leader_traits = { } trait_type = assignable_trait - parent = cruiser_captain + any_parent = { cruiser_captain } gui_row = 4 gui_column = 2 @@ -1902,7 +2163,7 @@ leader_traits = { } trait_type = assignable_trait - parent = superior_tactician + any_parent = { superior_tactician } mutually_exclusive = concealment_expert gui_row = 5 gui_column = 1 @@ -1924,10 +2185,11 @@ leader_traits = { genius_advisor_trait = navy_chief_commerce_raiding_3 trait_type = assignable_trait - parent = superior_tactician - parent = spotter - parent = blockade_runner - num_parents_needed = 1 + any_parent = { + superior_tactician + spotter + blockade_runner + } mutually_exclusive = lone_wolf gui_row = 6 gui_column = 1 @@ -1944,9 +2206,10 @@ leader_traits = { } trait_type = assignable_trait - parent = spotter - parent = blockade_runner - num_parents_needed = 1 + any_parent = { + spotter + blockade_runner + } mutually_exclusive = mine_layer gui_row = 7 gui_column = 1 @@ -1962,9 +2225,10 @@ leader_traits = { } trait_type = assignable_trait - parent = spotter - parent = blockade_runner - num_parents_needed = 1 + any_parent = { + spotter + blockade_runner + } mutually_exclusive = mine_sweeper gui_row = 8 gui_column = 1 @@ -1981,9 +2245,10 @@ leader_traits = { } trait_type = assignable_trait - parent = lone_wolf - parent = concealment_expert - num_parents_needed = 1 + any_parent = { + lone_wolf + concealment_expert + } gui_row = 5 gui_column = 2 } @@ -2004,7 +2269,7 @@ leader_traits = { } trait_type = assignable_trait - parent = ironside + any_parent = { ironside } gui_row = 12 gui_column = 1 @@ -2020,7 +2285,7 @@ leader_traits = { } trait_type = assignable_trait - parent = ironside + any_parent = { ironside } gui_row = 14 gui_column = 1 @@ -2041,7 +2306,7 @@ leader_traits = { } trait_type = assignable_trait - parent = ironside + any_parent = { ironside } gui_row = 13 gui_column = 1 @@ -2063,7 +2328,7 @@ leader_traits = { trait_type = assignable_trait mutually_exclusive = crisis_magician - parent = big_guns_expert + any_parent = { big_guns_expert } gui_row = 12 gui_column = 2 @@ -2080,7 +2345,7 @@ leader_traits = { trait_type = assignable_trait mutually_exclusive = marksman - parent = safety_first + any_parent = { safety_first } gui_row = 13 gui_column = 2 @@ -2102,7 +2367,7 @@ leader_traits = { trait_type = assignable_trait - parent = air_controller + any_parent = { air_controller } gui_row = 10 gui_column = 1 @@ -2120,7 +2385,7 @@ leader_traits = { trait_type = assignable_trait mutually_exclusive = dive_bomber mutually_exclusive = torpedo_bomber - parent = flight_deck_manager + any_parent = { flight_deck_manager } gui_row = 9 gui_column = 2 @@ -2145,7 +2410,7 @@ leader_traits = { trait_type = assignable_trait mutually_exclusive = fighter_director mutually_exclusive = torpedo_bomber - parent = flight_deck_manager + any_parent = { flight_deck_manager } gui_row = 10 gui_column = 2 @@ -2171,7 +2436,7 @@ leader_traits = { trait_type = assignable_trait mutually_exclusive = fighter_director mutually_exclusive = dive_bomber - parent = flight_deck_manager + any_parent = { flight_deck_manager } gui_row = 11 gui_column = 2 @@ -2423,7 +2688,7 @@ leader_traits = { type = navy trait_type = personality_trait - modifier = { + modifier = { # WARNING! Changing the value of these modifiers requires changing them also in the tooltip ITA_flotta_d_evasione_admiral_traits_tt naval_damage_factor = 0.05 naval_speed_factor = 0.1 } @@ -3118,4 +3383,19 @@ leader_traits = { } } + promoted_from_the_ranks = { + type = land + trait_type = personality_trait + + modifier = { + promote_cost_factor = 0.5 + planning_speed = 0.1 + recon_factor = 0.05 + } + + new_commander_weight = { + factor = 0 + } + } + } diff --git a/common/unit_leader/00_traits_lotr_lth.txt b/common/unit_leader/00_traits_lotr_lth.txt new file mode 100644 index 000000000..fcfcdfc5f --- /dev/null +++ b/common/unit_leader/00_traits_lotr_lth.txt @@ -0,0 +1,134 @@ +leader_traits = { + + nandor_trait = { + type = land + trait_type = personality_trait + + custom_effect_tooltip = nandor_trait_tt + + ai_will_do = { + factor = 1 + } + } + + noldor_trait = { + type = land + trait_type = personality_trait + + custom_effect_tooltip = noldor_trait_tt + + ai_will_do = { + factor = 1 + } + } + + sindar_trait = { + type = land + trait_type = personality_trait + + custom_effect_tooltip = sindar_trait_tt + + ai_will_do = { + factor = 1 + } + } + + halfelves_trait = { + type = land + trait_type = personality_trait + + custom_effect_tooltip = halfelves_trait_tt + + ai_will_do = { + factor = 1 + } + } + + orcs_trait = { + type = land + trait_type = personality_trait + + custom_effect_tooltip = orcs_trait_tt + + ai_will_do = { + factor = 1 + } + } + + nonelves_trait = { + type = land + trait_type = personality_trait + + custom_effect_tooltip = nonelves_trait_tt + + ai_will_do = { + factor = 1 + } + } + + galadriels_blessing_trait = { + type = land + trait_type = personality_trait + + modifier = { + sickness_chance = -1.0 + wounded_chance_factor = -1.0 + } + + ai_will_do = { + factor = 1 + } + } + + river_specialist = { + type = land + trait_type = personality_trait + + modifier = { + river_crossing_factor = -0.3 + } + + ai_will_do = { + factor = 1 + } + } + + mirrors_chosen = { + type = land + trait_type = personality_trait + + attack_skill = 2 + defense_skill = 2 + planning_skill = 2 + logistics_skill = 2 + } + + mirrors_doomed = { + type = land + trait_type = personality_trait + + attack_skill = -1 + defense_skill = -1 + planning_skill = -1 + logistics_skill = -1 + } + + forest_skirmisher = { + type = land + trait_type = personality_trait + + modifier = { + jungle = { + movement = 0.05 + attack = 0.1 + defence = 0.1 + } + forest = { + movement = 0.05 + attack = 0.1 + defence = 0.1 + } + } + } + +} \ No newline at end of file diff --git a/common/units/air.txt b/common/units/air.txt index 0c90f8ebe..acf462d95 100644 --- a/common/units/air.txt +++ b/common/units/air.txt @@ -179,7 +179,7 @@ sub_units = { transport_plane = { sprite = heavy_plane priority = 6 - active = yes + active = no type = air_transport need = { transport_plane_equipment = 1 } land_air_wing_size = 100 diff --git a/common/units/amphibious_armor.txt b/common/units/amphibious_armor.txt deleted file mode 100644 index dab5c7af8..000000000 --- a/common/units/amphibious_armor.txt +++ /dev/null @@ -1,269 +0,0 @@ -sub_units = { - - amphibious_armor = { - abbreviation = "ATK" - sprite = amphibious_armor - map_icon_category = armored - priority = 2501 - ai_priority = 2000 - active = yes - special_forces = yes - marines = yes - type = { - armor - } - - group = armor - - categories = { - category_tanks - category_front_line - category_all_armor - category_army - } - - - combat_width = 2 - - need = { - amphibious_tank_chassis = 50 - } - manpower = 500 - max_organisation = 10 - default_morale = 0.3 - training_time = 180 - max_strength = 2 - weight = 1 - supply_consumption = 0.2 - - forest = { - attack = -0.2 - movement = -0.4 - } - mountain = { - attack = -0.1 - } - plains = { - attack = -0.1 - movement = -0.1 - } - jungle = { - attack = -0.3 - movement = -0.4 - } - urban = { - attack = -0.4 - defence = -0.1 - } - marsh = { - attack = 0.3 - } - river = { - attack = 0.4 - } - amphibious = { - attack = 0.6 - } - } - - amphibious_light_armor = { - abbreviation = "LAM" - sprite = amphibious_armor - map_icon_category = armored - priority = 2501 - ai_priority = 2000 - active = yes - special_forces = yes - marines = yes - type = { - armor - amphibious - } - - group = armor - - categories = { - category_tanks - category_front_line - category_all_armor - category_army - } - - - combat_width = 2 - - need = { - light_tank_amphibious_chassis = 50 - } - manpower = 500 - max_organisation = 10 - default_morale = 0.3 - training_time = 180 - max_strength = 2 - weight = 1 - supply_consumption = 0.2 - - forest = { - attack = -0.2 - movement = -0.4 - } - mountain = { - attack = -0.1 - } - plains = { - attack = -0.1 - movement = -0.1 - } - jungle = { - attack = -0.3 - movement = -0.4 - } - urban = { - attack = -0.4 - defence = -0.1 - } - marsh = { - attack = 0.3 - } - river = { - attack = 0.4 - } - amphibious = { - attack = 0.6 - } - } - - amphibious_medium_armor = { - abbreviation = "MAM" - sprite = amphibious_armor - map_icon_category = armored - priority = 2501 - ai_priority = 2000 - active = yes - special_forces = yes - marines = yes - type = { - armor - amphibious - } - - group = armor - - categories = { - category_tanks - category_front_line - category_all_armor - category_army - } - - - combat_width = 2 - - need = { - medium_tank_amphibious_chassis = 50 - } - manpower = 500 - max_organisation = 10 - default_morale = 0.3 - training_time = 180 - max_strength = 2 - weight = 1 - supply_consumption = 0.2 - - forest = { - attack = -0.2 - movement = -0.4 - } - mountain = { - attack = -0.1 - } - plains = { - attack = -0.1 - movement = -0.1 - } - jungle = { - attack = -0.3 - movement = -0.4 - } - urban = { - attack = -0.4 - defence = -0.1 - } - marsh = { - attack = 0.3 - } - river = { - attack = 0.4 - } - amphibious = { - attack = 0.6 - } - } - - amphibious_heavy_armor = { - abbreviation = "HAM" - sprite = amphibious_armor - map_icon_category = armored - priority = 2501 - ai_priority = 2000 - active = yes - special_forces = yes - marines = yes - type = { - armor - amphibious - } - - group = armor - - categories = { - category_tanks - category_front_line - category_all_armor - category_army - } - - - combat_width = 2 - - need = { - heavy_tank_amphibious_chassis = 50 - } - manpower = 500 - max_organisation = 10 - default_morale = 0.3 - training_time = 180 - max_strength = 2 - weight = 1 - supply_consumption = 0.2 - - forest = { - attack = -0.2 - movement = -0.4 - } - mountain = { - attack = -0.1 - } - plains = { - attack = -0.1 - movement = -0.1 - } - jungle = { - attack = -0.3 - movement = -0.4 - } - urban = { - attack = -0.4 - defence = -0.1 - } - marsh = { - attack = 0.3 - } - river = { - attack = 0.4 - } - amphibious = { - attack = 0.6 - } - } -} diff --git a/common/units/cavalry.txt b/common/units/cavalry.txt index 031c8f15f..5955a3d23 100644 --- a/common/units/cavalry.txt +++ b/common/units/cavalry.txt @@ -20,9 +20,6 @@ sub_units = { category_front_line category_army } - essential = { - cant_have - } combat_width = 2 diff --git a/common/units/engineer.txt b/common/units/engineer.txt index 2ce311a29..ee1182924 100644 --- a/common/units/engineer.txt +++ b/common/units/engineer.txt @@ -36,7 +36,13 @@ sub_units = { weight = 0.1 supply_consumption = 0.02 - entrenchment = 5 + entrenchment = 2 + + battalion_mult = { + category = category_light_infantry + entrenchment = 0.20 + add = yes + } defense = 0.1 @@ -84,7 +90,93 @@ sub_units = { } amphibious = { - attack = 0.25 + attack = 0.15 } } + + pioneer_support = { + abbreviation = "PIO" + sprite = infantry + map_icon_category = infantry + priority = 0 + ai_priority = 0 + active = no + affects_speed = no + + type = { + infantry + support + } + + group = support + + categories = { + category_front_line + category_support_battalions + category_army + category_marines + } + + + combat_width = 0 + + #Size Definitions + max_strength = 2 + max_organisation = 20 + default_morale = 0.3 + manpower = 300 + training_time = 120 + + #Misc Abilities + weight = 0.1 + supply_consumption = 0.02 + + entrenchment = 2 + + battalion_mult = { + category = category_light_infantry + entrenchment = 0.20 + add = yes + } + + + entrenchment = 2.5 + defense = 0.1 + breakthrough = 0.5 + + # Support nerfs to combat abilities + soft_attack = -0.5 + + essential = { + support_equipment + } + + need = { + infantry_equipment = 10 + support_equipment = 40 + } + + can_be_parachuted = yes + + marsh = { + attack = 0.10 + defence = 0.20 + movement = 0.2 + } + + fort = { + attack = 0.15 + defence = 0.20 + } + + river = { + attack = 0.10 + defence = 0.20 + movement = 0.25 + } + + same_support_type = engineer + + } + } diff --git a/common/units/epic_units.txt b/common/units/epic_units.txt new file mode 100644 index 000000000..3156b5867 --- /dev/null +++ b/common/units/epic_units.txt @@ -0,0 +1,106 @@ +# options for map_icon_category: +# For land units: infantry,armored,other +# For sea units: ship,transport,uboat + +sub_units = { + + giant = { + abbreviation = "MIL" + sprite = infantry + map_icon_category = infantry + + priority = 400 + ai_priority = 150 + active = no + + type = { + infantry + } + + group = infantry + + categories = { + category_front_line + category_light_infantry + category_all_infantry + category_army + } + + combat_width = 20 + + #Size Definitions + max_strength = 150 + max_organisation = 35 #reg infantry 60 + default_morale = 0.3 + manpower = 1000 + + maximum_speed = 0.1 + soft_attack = 15.0 + hard_attack = 30.0 + ap_attack = 999.0 + breakthrough = 15.0 + armor_value = 999.0 + hardness = 1.0 + + #Misc Abilities + training_time = 80 #reg infantry 90 + suppression = 1.5 + weight = 10.0 + + supply_consumption = 0.1 + + need = { + infantry_equipment = 2000 + } + } + + balrog = { + abbreviation = "MIL" + sprite = infantry + map_icon_category = infantry + + priority = 400 + ai_priority = 150 + active = no + + type = { + infantry + } + + group = infantry + + categories = { + category_front_line + category_light_infantry + category_all_infantry + category_army + } + + combat_width = 20 + + #Size Definitions + max_strength = 150 + max_organisation = 35 #reg infantry 60 + default_morale = 0.3 + manpower = 1000 + + maximum_speed = 0.1 + soft_attack = 15.0 + hard_attack = 30.0 + ap_attack = 999.0 + breakthrough = 15.0 + armor_value = 999.0 + hardness = 1.0 + + #Misc Abilities + training_time = 80 #reg infantry 90 + suppression = 1.5 + weight = 10.0 + + supply_consumption = 0.1 + + need = { + infantry_equipment = 2000 + } + } +} \ No newline at end of file diff --git a/common/units/equipment/infantry.txt b/common/units/equipment/infantry.txt index 85426a05d..d84cf1ae5 100644 --- a/common/units/equipment/infantry.txt +++ b/common/units/equipment/infantry.txt @@ -337,28 +337,4 @@ equipments = { chromium = 2 } } - - cant_have = { - year = 5000 - - archetype = infantry_equipment - parent = infantry_equipment_2 - priority = 1 - visual_level = 1 - - #Defensive Abilities - defense = 34 - breakthrough = 5 - - #Offensive Abilities - soft_attack = 12 - hard_attack = 2 - ap_attack = 10 - air_attack = 0 - - reliability = 0.8 - build_cost_ic = 0.69 - resources = { - } - } } diff --git a/common/units/equipment/quad_engine_airframe.txt b/common/units/equipment/quad_engine_airframe.txt new file mode 100644 index 000000000..c3faf1df0 --- /dev/null +++ b/common/units/equipment/quad_engine_airframe.txt @@ -0,0 +1,241 @@ +equipments = { + +# strat_bomber_equipment = { +# year = 1933 +# +# can_be_produced = { +# NOT = { +# has_idea = BUL_army_restrictions +# } +# } +# +# is_archetype = yes +# is_convertable = yes +# picture = archetype_strat_bomber_equipment +# is_buildable = no +# type = strategic_bomber +# group_by = archetype +# sprite = heavy_plane +# air_map_icon_frame = 11 +# +# interface_category = interface_category_air +# +# # Strategic bomber +# interface_overview_category_index = 5 +# +# upgrades = { +# plane_bomb_upgrade +# plane_range_upgrade +# plane_engine_upgrade +# plane_reliability_upgrade +# } +# +# air_superiority = 0.01 +# reliability = 0.8 +# +# # Air vs Navy - high damage / low hit chance / hard to hurt +# naval_strike_attack = 1.5 +# naval_strike_targetting = 0.6 +# surface_detection = 10 # For airwing of 100 planes (Destroyer I: 20 surface detection) +# sub_detection = 2.5 # For airwing of 100 planes (Destroyer I: 5 sub detection ) +# +# #Space taken in convoy +# lend_lease_cost = 12 +# +# build_cost_ic = 60 +# resources = { +# #oil = 1 +# aluminium = 3 +# rubber = 2 +# } +# +# manpower = 80 +# fuel_consumption = 0.8 +# } +# +# jet_strat_bomber_equipment = { +# year = 1933 +# +# can_be_produced = { +# NOT = { +# has_idea = BUL_army_restrictions +# } +# } +# +# is_archetype = yes +# is_convertable = yes +# picture = archetype_strat_bomber_equipment +# is_buildable = no +# type = strategic_bomber +# group_by = archetype +# sprite = heavy_plane +# air_map_icon_frame = 10 +# +# interface_category = interface_category_air +# +# # Strategic bomber +# interface_overview_category_index = 5 +# +# upgrades = { +# plane_bomb_upgrade +# plane_range_upgrade +# plane_engine_upgrade +# plane_reliability_upgrade +# } +# +# air_superiority = 0.01 +# reliability = 0.8 +# +# # Air vs Navy - high damage / low hit chance / hard to hurt +# naval_strike_attack = 1.5 +# naval_strike_targetting = 0.6 +# surface_detection = 10 # For airwing of 100 planes (Destroyer I: 20 surface detection) +# sub_detection = 2.5 # For airwing of 100 planes (Destroyer I: 5 sub detection ) +# +# build_cost_ic = 80 +# resources = { +# aluminium = 3 +# tungsten = 3 +# rubber = 1 +# } +# +# manpower = 160 +# fuel_consumption = 1.6 +# } +# +# +# # Basic strat_bomber +# strat_bomber_equipment_1 = { +# year = 1936 +# +# archetype = strat_bomber_equipment +# priority = 140 +# +# air_range = 2500 +# maximum_speed = 400 +# air_agility = 5 +# air_attack = 50 +# air_defence = 25 +# air_bombing = 30 +# +# # build_cost_ic = 36 +# } +# +# # Improved strat_bomber +# strat_bomber_equipment_2 = { +# year = 1940 +# +# archetype = strat_bomber_equipment +# parent = strat_bomber_equipment_1 +# priority = 140 +# +# air_range = 3500 +# maximum_speed = 450 +# air_agility = 7 +# air_attack = 100 +# air_defence = 35 +# air_bombing = 45 +# +# build_cost_ic = 62 +# resources = { +# #oil = 1 +# aluminium = 4 +# rubber = 2 +# } +# } +# +# # Advanced strat_bomber +# strat_bomber_equipment_3 = { +# year = 1944 +# +# archetype = strat_bomber_equipment +# parent = strat_bomber_equipment_2 +# priority = 140 +# +# air_range = 5000 +# maximum_speed = 500 +# air_agility = 10 +# air_attack = 150 +# air_defence = 50 +# air_bombing = 60 +# +# build_cost_ic = 64 +# resources = { +# #oil = 1 +# aluminium = 5 +# rubber = 2 +# } +# } +# +# # Basic Jet strat_bomber +# jet_strat_bomber_equipment_1 = { +# year = 1950 +# +# archetype = jet_strat_bomber_equipment +# priority = 150 +# +# air_range = 7000 +# maximum_speed = 920 +# air_agility = 14 +# air_attack = 100 +# air_defence = 54 +# air_bombing = 64 +# } + + # Transport plane ########################## + transport_plane_equipment = { + year = 1933 + + allow_mission_type = { + paradrop + air_supply + } + + is_archetype = yes + is_convertable = yes + picture = archetype_strat_bomber_equipment + type = air_transport + group_by = archetype + sprite = medium_plane + air_map_icon_frame = 12 + + + interface_category = interface_category_air + + # Transport + interface_overview_category_index = 6 + + air_superiority = 0 + reliability = 0.8 + + # Air vs Navy - high damage / low hit chance / hard to hurt + naval_strike_attack = 0.0 + naval_strike_targetting = 0.0 + + build_cost_ic = 38 + resources = { + #oil = 1 + aluminium = 3 + rubber = 2 + } + + manpower = 80 + fuel_consumption = 1.0 + } + + + transport_plane_equipment_1 = { + year = 1933 + + archetype = transport_plane_equipment + active = no + priority = 130 + + air_superiority = 0 + + air_range = 1000 + maximum_speed = 400 + air_agility = 10 + air_defence = 20 + } +} \ No newline at end of file diff --git a/common/units/equipment/tank_amphibious.txt b/common/units/equipment/tank_amphibious.txt deleted file mode 100644 index 5cfc0d3da..000000000 --- a/common/units/equipment/tank_amphibious.txt +++ /dev/null @@ -1,102 +0,0 @@ -# All equipment based on light tank chassis - -equipments = { - - amphibious_tank_equipment = { - year = 1934 - - can_be_produced = { - NOT = { - always = no - } - } - - is_archetype = yes - is_buildable = no - is_convertable = yes - picture = archetype_amphibious_tank_equipment - type = armor - group_by = archetype - - interface_category = interface_category_armor - - upgrades = { - tank_reliability_upgrade - tank_engine_upgrade - tank_armor_upgrade - tank_gun_upgrade - } - - #Misc Abilities - maximum_speed = 7 - reliability = 0.8 - - #Defensive Abilities - defense = 4 - breakthrough = 26 - hardness = 0.8 - armor_value = 20 - - #Offensive Abilities - soft_attack = 13 - hard_attack = 4 - ap_attack = 10 - air_attack = 0 - - #Space taken in convoy - lend_lease_cost = 10 - - build_cost_ic = 10 - resources = { - steel = 2 - } - - fuel_consumption = 4 - } - - amphibious_tank_equipment_1 = { - year = 1934 - - archetype = amphibious_tank_equipment - priority = 10 - visual_level = 0 - is_convertable = yes - can_convert_from = { - light_tank_equipment_2 - } - } - - amphibious_tank_equipment_2 = { - year = 1939 - - archetype = amphibious_tank_equipment - parent = amphibious_tank_equipment_1 - priority = 10 - visual_level = 1 - is_convertable = yes - can_convert_from = { - medium_tank_equipment_1 - } - - #Misc Abilities - maximum_speed = 8 - - #Defensive Abilities - defense = 5 - breakthrough = 36 - hardness = 0.9 - armor_value = 80 - - #Offensive Abilities - soft_attack = 19 - hard_attack = 14 - ap_attack = 61 - air_attack = 0 - - build_cost_ic = 13 - resources = { - steel = 2 - tungsten = 2 - } - } -} diff --git a/common/units/equipment/tank_chassis.txt b/common/units/equipment/tank_chassis.txt index f429744b4..599b71dae 100644 --- a/common/units/equipment/tank_chassis.txt +++ b/common/units/equipment/tank_chassis.txt @@ -17,8 +17,6 @@ equipments = { interface_category = interface_category_armor priority = 2000 - - module_slots = { main_armament_slot = { required = yes @@ -27,7 +25,6 @@ equipments = { tank_flamethrower } } - turret_type_slot = { required = yes allowed_module_categories = { @@ -41,21 +38,18 @@ equipments = { tank_non_tracked_suspension_type } } - armor_type_slot = { required = yes allowed_module_categories = { tank_armor_type } } - engine_type_slot = { required = yes allowed_module_categories = { tank_engine_type } } - special_type_slot_1 = { required = no allowed_module_categories = { @@ -64,7 +58,6 @@ equipments = { tank_secondary_turret } } - special_type_slot_2 = { required = no allowed_module_categories = { @@ -73,7 +66,6 @@ equipments = { tank_secondary_turret } } - special_type_slot_3 = { required = no allowed_module_categories = { @@ -82,7 +74,6 @@ equipments = { tank_secondary_turret } } - special_type_slot_4 = { required = no allowed_module_categories = { @@ -91,7 +82,6 @@ equipments = { tank_secondary_turret } } - } module_count_limit = { module = sloped_armor @@ -109,27 +99,22 @@ equipments = { module = amphibious_drive count < 2 } - module_count_limit = { module = wet_ammo_storage count < 2 } - module_count_limit = { module = squeezebore_adaptor count < 2 } - module_count_limit = { module = armor_skirts count < 2 } - module_count_limit = { module = dozer_blade count < 2 } - module_count_limit = { module = easy_maintenance count < 2 diff --git a/common/units/equipment/x_tank_chassis.txt b/common/units/equipment/x_tank_chassis.txt index 6ec9a46f7..6a171a958 100644 --- a/common/units/equipment/x_tank_chassis.txt +++ b/common/units/equipment/x_tank_chassis.txt @@ -218,21 +218,21 @@ equipments = { } #Misc Abilities - maximum_speed = 6 - reliability = 0.8 + maximum_speed = 10 + reliability = 0.9 #Defensive Abilities defense = 4 breakthrough = 18 - armor_value = 5 + armor_value = 8 #Offensive Abilities - soft_attack = 8 + soft_attack = 10 hard_attack = 4 ap_attack = 15 air_attack = 0 - build_cost_ic = 7 #gw tanks are clunky + build_cost_ic = 5 #gw tanks are clunky fuel_consumption = 1.0 resources = { @@ -253,7 +253,7 @@ equipments = { #Misc Abilities maximum_speed = 10 - reliability = 0.8 + reliability = 0.9 #Defensive Abilities defense = 4 @@ -270,7 +270,7 @@ equipments = { #Space taken in convoy lend_lease_cost = 10 - build_cost_ic = 8 + build_cost_ic = 6 resources = { rubber = 1 steel = 2 @@ -291,7 +291,7 @@ equipments = { #Misc Abilities maximum_speed = 12 - reliability = 0.8 + reliability = 0.9 #Defensive Abilities defense = 5 breakthrough = 36 @@ -303,7 +303,7 @@ equipments = { ap_attack = 30 air_attack = 0 fuel_consumption = 2.4 - build_cost_ic = 9 + build_cost_ic = 7 resources = { rubber = 2 steel = 2 @@ -322,7 +322,7 @@ equipments = { #Misc Abilities maximum_speed = 14 - reliability = 0.8 + reliability = 0.9 #Defensive Abilities defense = 6 breakthrough = 46 @@ -334,7 +334,7 @@ equipments = { ap_attack = 50 air_attack = 0 fuel_consumption = 2.4 - build_cost_ic = 10 + build_cost_ic = 9 resources = { rubber = 2 steel = 3 @@ -362,7 +362,7 @@ equipments = { #Misc Abilities maximum_speed = 10 - reliability = 0.8 + reliability = 0.9 #Defensive Abilities defense = 4 @@ -376,7 +376,7 @@ equipments = { ap_attack = 4 air_attack = 0 - build_cost_ic = 8 + build_cost_ic = 7 resources = { chromium = 2 tungsten= 1 @@ -400,7 +400,7 @@ equipments = { #Misc Abilities maximum_speed = 12 - reliability = 0.8 + reliability = 0.9 #Defensive Abilities defense = 5 breakthrough = 2.5 @@ -410,7 +410,7 @@ equipments = { soft_attack = 42 hard_attack = 1 fuel_consumption = 1.2 - build_cost_ic = 9 + build_cost_ic = 8 resources = { chromium = 2 tungsten= 2 @@ -433,7 +433,7 @@ equipments = { #Misc Abilities maximum_speed = 14 - reliability = 0.8 + reliability = 0.9 #Defensive Abilities defense = 7 breakthrough = 3.5 @@ -443,7 +443,7 @@ equipments = { soft_attack = 46 hard_attack = 1.5 fuel_consumption = 1.2 - build_cost_ic = 10 + build_cost_ic = 9 resources = { chromium = 3 tungsten= 2 @@ -469,25 +469,24 @@ equipments = { } #Misc Abilities maximum_speed = 12 - reliability = 0.8 + reliability = 0.9 #Defensive Abilities defense = 5 - breakthrough = 1.3 + breakthrough = 36 armor_value = 15 #Offensive Abilities soft_attack = 6 - hard_attack = 16 + hard_attack = 12 ap_attack = 77 fuel_consumption = 1.2 - build_cost_ic = 9 + build_cost_ic = 7 resources = { rubber = 2 steel = 2 } - fuel_consumption = 1.2 } # lancer2 @@ -506,18 +505,18 @@ equipments = { #Misc Abilities maximum_speed = 14 - reliability = 0.8 + reliability = 0.9 #Defensive Abilities defense = 7 - breakthrough = 1.8 + breakthrough = 40 armor_value = 30 #Offensive Abilities soft_attack = 8 - hard_attack = 24 + hard_attack = 16 ap_attack = 99 fuel_consumption = 1.2 - build_cost_ic = 10 + build_cost_ic = 8 resources = { rubber = 2 steel = 2 @@ -540,18 +539,18 @@ equipments = { #Misc Abilities maximum_speed = 14 - reliability = 0.8 + reliability = 0.9 #Defensive Abilities defense = 10 - breakthrough = 2 + breakthrough = 50 armor_value = 34 #Offensive Abilities soft_attack = 10 - hard_attack = 30 + hard_attack = 20 ap_attack = 99 fuel_consumption = 1.6 - build_cost_ic = 12 + build_cost_ic = 9 resources = { rubber = 2 steel = 3 @@ -576,7 +575,7 @@ equipments = { } #Misc Abilities maximum_speed = 10 - reliability = 0.8 + reliability = 0.9 #Defensive Abilities defense = 2 @@ -613,7 +612,7 @@ equipments = { #Misc Abilities maximum_speed = 12 - reliability = 0.8 + reliability = 0.9 #Defensive Abilities defense = 2.5 breakthrough = 2.5 @@ -634,7 +633,7 @@ equipments = { light_tank_aa_equipment_3 = { year = 1941 - reliability = 0.8 + reliability = 0.9 archetype = light_tank_aa_chassis parent = light_tank_aa_equipment_2 #family = light_tank_equipment_3 @@ -682,7 +681,7 @@ equipments = { } #Misc Abilities maximum_speed = 8 - reliability = 0.8 + reliability = 0.9 #Defensive Abilities defense = 5 @@ -699,7 +698,7 @@ equipments = { #Space taken in convoy lend_lease_cost = 12 - build_cost_ic = 12 + build_cost_ic = 9 resources = { rubber = 2 steel = 4 @@ -720,7 +719,7 @@ equipments = { #Misc Abilities maximum_speed = 9 - reliability = 0.8 + reliability = 0.9 #Defensive Abilities defense = 7 breakthrough = 51 @@ -732,7 +731,7 @@ equipments = { ap_attack = 81 air_attack = 0 fuel_consumption = 3.6 - build_cost_ic = 13 + build_cost_ic = 10 resources = { rubber = 2 steel = 6 @@ -751,7 +750,7 @@ equipments = { #Misc Abilities maximum_speed = 10 - reliability = 0.8 + reliability = 0.9 #Defensive Abilities defense = 9 breakthrough = 66 @@ -763,7 +762,7 @@ equipments = { ap_attack = 91 air_attack = 0 fuel_consumption = 3.6 - build_cost_ic = 14 + build_cost_ic = 11 resources = { rubber = 2 steel = 8 @@ -781,7 +780,7 @@ equipments = { #Misc Abilities maximum_speed = 9 - reliability = 0.8 + reliability = 0.9 #Defensive Abilities defense = 7 breakthrough = 51 @@ -793,7 +792,7 @@ equipments = { ap_attack = 81 air_attack = 0 fuel_consumption = 3.6 - build_cost_ic = 13 + build_cost_ic = 12 resources = { rubber = 2 steel = 6 @@ -812,7 +811,7 @@ equipments = { #Misc Abilities maximum_speed = 10 - reliability = 0.8 + reliability = 0.9 #Defensive Abilities defense = 9 breakthrough = 66 @@ -824,7 +823,7 @@ equipments = { ap_attack = 91 air_attack = 0 fuel_consumption = 3.6 - build_cost_ic = 14 + build_cost_ic = 13 resources = { rubber = 2 steel = 8 @@ -842,7 +841,7 @@ equipments = { #Misc Abilities maximum_speed = 9 - reliability = 0.8 + reliability = 0.9 #Defensive Abilities defense = 7 breakthrough = 51 @@ -854,7 +853,7 @@ equipments = { ap_attack = 81 air_attack = 0 fuel_consumption = 3.6 - build_cost_ic = 13 + build_cost_ic = 12 resources = { rubber = 2 steel = 6 @@ -873,7 +872,7 @@ equipments = { #Misc Abilities maximum_speed = 10 - reliability = 0.8 + reliability = 0.9 #Defensive Abilities defense = 9 breakthrough = 66 @@ -885,7 +884,7 @@ equipments = { ap_attack = 91 air_attack = 0 fuel_consumption = 3.6 - build_cost_ic = 14 + build_cost_ic = 13 resources = { rubber = 2 steel = 8 @@ -910,7 +909,7 @@ equipments = { } #Misc Abilities maximum_speed = 8 - reliability = 0.8 + reliability = 0.9 #Defensive Abilities defense = 5 @@ -949,7 +948,7 @@ equipments = { #Misc Abilities maximum_speed = 9 - reliability = 0.8 + reliability = 0.9 #Defensive Abilities defense = 6 breakthrough = 3 @@ -983,7 +982,7 @@ equipments = { #Misc Abilities maximum_speed = 10 - reliability = 0.8 + reliability = 0.9 #Defensive Abilities defense = 7 breakthrough = 4 @@ -1020,7 +1019,7 @@ equipments = { } #Misc Abilities maximum_speed = 8 - reliability = 0.8 + reliability = 0.9 #Defensive Abilities defense = 5 @@ -1060,7 +1059,7 @@ equipments = { #Misc Abilities maximum_speed = 9 - reliability = 0.8 + reliability = 0.9 #Defensive Abilities defense = 6 breakthrough = 1.5 @@ -1096,7 +1095,7 @@ equipments = { #Misc Abilities maximum_speed = 10 - reliability = 0.8 + reliability = 0.9 #Defensive Abilities defense = 7 breakthrough = 1.8 @@ -1134,7 +1133,7 @@ equipments = { } #Misc Abilities maximum_speed = 8 - reliability = 0.8 + reliability = 0.9 #Defensive Abilities defense = 2.5 @@ -1173,7 +1172,7 @@ equipments = { #Misc Abilities maximum_speed = 9 - reliability = 0.8 + reliability = 0.9 #Defensive Abilities defense = 3 breakthrough = 3 @@ -1209,7 +1208,7 @@ equipments = { #Misc Abilities maximum_speed = 10 - reliability = 0.8 + reliability = 0.9 #Defensive Abilities defense = 3.5 breakthrough = 3.5 @@ -1241,7 +1240,7 @@ equipments = { #Misc Abilities maximum_speed = 5 - reliability = 0.8 + reliability = 0.9 #Defensive Abilities defense = 6 @@ -1286,7 +1285,7 @@ equipments = { #Misc Abilities maximum_speed = 6 - reliability = 0.8 + reliability = 0.9 #Defensive Abilities defense = 8 breakthrough = 70 @@ -1316,7 +1315,7 @@ equipments = { #Misc Abilities maximum_speed = 6 - reliability = 0.8 + reliability = 0.9 #Defensive Abilities defense = 8 breakthrough = 52 @@ -1346,7 +1345,7 @@ equipments = { #Misc Abilities maximum_speed = 6 - reliability = 0.8 + reliability = 0.9 #Defensive Abilities defense = 9 breakthrough = 67 @@ -1375,7 +1374,7 @@ equipments = { #Misc Abilities maximum_speed = 4 - reliability = 0.8 + reliability = 0.9 #Defensive Abilities defense = 10 @@ -1419,7 +1418,7 @@ equipments = { #Misc Abilities maximum_speed = 5 - reliability = 0.8 + reliability = 0.9 upgrades = { tank_reliability_upgrade tank_engine_upgrade @@ -1462,7 +1461,7 @@ equipments = { #Misc Abilities maximum_speed = 6 - reliability = 0.8 + reliability = 0.9 #Defensive Abilities defense = 6 breakthrough = 3 @@ -1495,7 +1494,7 @@ equipments = { #Misc Abilities maximum_speed = 6 - reliability = 0.8 + reliability = 0.9 #Defensive Abilities defense = 7 breakthrough = 3.5 @@ -1530,7 +1529,7 @@ equipments = { } #Misc Abilities maximum_speed = 5 - reliability = 0.8 + reliability = 0.9 #Defensive Abilities defense = 4 @@ -1568,7 +1567,7 @@ equipments = { #Misc Abilities maximum_speed = 6 - reliability = 0.8 + reliability = 0.9 #Defensive Abilities defense = 6 breakthrough = 1.5 @@ -1603,7 +1602,7 @@ equipments = { #Misc Abilities maximum_speed = 6 - reliability = 0.8 + reliability = 0.9 #Defensive Abilities defense = 7 breakthrough = 1.8 @@ -1641,7 +1640,7 @@ equipments = { } #Misc Abilities maximum_speed = 5 - reliability = 0.8 + reliability = 0.9 #Defensive Abilities defense = 2 @@ -1679,7 +1678,7 @@ equipments = { #Misc Abilities maximum_speed = 6 - reliability = 0.8 + reliability = 0.9 #Defensive Abilities defense = 3 breakthrough = 3 @@ -1714,7 +1713,7 @@ equipments = { #Misc Abilities maximum_speed = 6 - reliability = 0.8 + reliability = 0.9 #Defensive Abilities @@ -1747,7 +1746,7 @@ equipments = { #Misc Abilities maximum_speed = 10 - reliability = 0.8 + reliability = 0.9 #Defensive Abilities defense = 10 @@ -1796,7 +1795,7 @@ equipments = { } #Misc Abilities maximum_speed = 10 - reliability = 0.8 + reliability = 0.9 #Defensive Abilities defense = 8 @@ -1837,7 +1836,7 @@ equipments = { } #Misc Abilities maximum_speed = 10 - reliability = 0.8 + reliability = 0.9 #Defensive Abilities defense = 8 @@ -1879,7 +1878,7 @@ equipments = { } #Misc Abilities maximum_speed = 10 - reliability = 0.8 + reliability = 0.9 #Defensive Abilities defense = 4 @@ -1914,7 +1913,7 @@ equipments = { #Misc Abilities maximum_speed = 4 - reliability = 0.8 + reliability = 0.9 #Defensive Abilities defense = 10 @@ -1962,7 +1961,7 @@ equipments = { } #Misc Abilities maximum_speed = 4 - reliability = 0.8 + reliability = 0.9 #Defensive Abilities defense = 7 @@ -2002,7 +2001,7 @@ equipments = { } #Misc Abilities maximum_speed = 4 - reliability = 0.8 + reliability = 0.9 #Defensive Abilities defense = 7 @@ -2042,7 +2041,7 @@ equipments = { } #Misc Abilities maximum_speed = 4 - reliability = 0.8 + reliability = 0.9 #Defensive Abilities defense = 3.5 diff --git a/common/units/field_hospital.txt b/common/units/field_hospital.txt index 1abc1a443..cfb61b8aa 100644 --- a/common/units/field_hospital.txt +++ b/common/units/field_hospital.txt @@ -36,11 +36,16 @@ sub_units = { can_be_parachuted = yes # Important Ability - casualty_trickleback = 0.20 + casualty_trickleback = 0.1 experience_loss_factor = -0.10 own_equipment_fuel_consumption_mult = 0.0 # no fuel use - + + battalion_mult = { + category = category_all_infantry + max_strength = 0.10 + } + essential = { support_equipment motorized_equipment diff --git a/common/units/forest_infantry.txt b/common/units/forest_infantry.txt deleted file mode 100644 index 268826e4f..000000000 --- a/common/units/forest_infantry.txt +++ /dev/null @@ -1,59 +0,0 @@ -# options for map_icon_category: -# For land units: infantry,armored,other -# For sea units: ship,transport,uboat - -sub_units = { - - forest_infantry = { - sprite = infantry - map_icon_category = infantry - - priority = 600 - ai_priority = 200 - active = no - - type = { - infantry - } - - group = infantry - - categories = { - category_front_line - category_light_infantry - category_all_infantry - category_army - } - - combat_width = 2 - - #Size Definitions - max_strength = 25 - max_organisation = 60 - default_morale = 0.3 - manpower = 1000 - - #Misc Abilities - training_time = 90 - suppression = 1 - weight = 0.5 - - supply_consumption = 0.07 - - need = { - infantry_equipment = 100 - } - - forest = { - attack = 0.15 - defence = 0.15 - movement = 0.2 - } - - jungle = { - attack = 0.15 - defence = 0.15 - movement = 0.2 - } - } -} diff --git a/common/units/heavy_armor.txt b/common/units/heavy_armor.txt index 8ced7184c..c072b4ad9 100644 --- a/common/units/heavy_armor.txt +++ b/common/units/heavy_armor.txt @@ -68,7 +68,7 @@ sub_units = { max_strength = 2 weight = 1.5 - supply_consumption = 0.32 + supply_consumption = 0.28 breakthrough = 0.15 diff --git a/common/units/infantry.txt b/common/units/infantry.txt index 4bff9ae70..c4b3b44ed 100644 --- a/common/units/infantry.txt +++ b/common/units/infantry.txt @@ -5,6 +5,7 @@ sub_units = { infantry = { + abbreviation = "INF" sprite = infantry map_icon_category = infantry @@ -16,6 +17,9 @@ sub_units = { infantry } + #can_exfiltrate_from_coast = yes #Can this subunit board convoys from a non-port location. + #Intended for use with special forces marine templates; all non-support subunits in the division must have this flag set to yes + group = infantry categories = { @@ -38,7 +42,7 @@ sub_units = { suppression = 1.5 weight = 0.5 - supply_consumption = 0.07 + supply_consumption = 0.09 need = { infantry_equipment = 100 @@ -46,6 +50,7 @@ sub_units = { } bicycle_battalion = { + abbreviation = "BIC" sprite = bicycle map_icon_category = infantry @@ -80,7 +85,7 @@ sub_units = { suppression = 2 weight = 0.5 - supply_consumption = 0.07 + supply_consumption = 0.09 need = { infantry_equipment = 100 @@ -117,6 +122,7 @@ sub_units = { } marine = { + abbreviation = "MRN" sprite = infantry map_icon_category = infantry special_forces = yes @@ -138,6 +144,7 @@ sub_units = { category_all_infantry category_army category_special_forces + category_marines } combat_width = 2 @@ -152,7 +159,64 @@ sub_units = { training_time = 120 suppression = 1 weight = 0.5 - supply_consumption = 0.06 + supply_consumption = 0.05 + breakthrough = 0.3 + + need = { + infantry_equipment = 150 + } + + marsh = { + attack = 0.3 + } + river = { + attack = 0.3 + } + amphibious = { + attack = 0.5 + } + } + + marine_commando = { + abbreviation = "MRC" + sprite = infantry + map_icon_category = infantry + special_forces = yes + marines = yes + can_exfiltrate_from_coast = yes + + priority = 601 + ai_priority = 200 + active = no + + type = { + infantry + } + + group = infantry + + categories = { + category_front_line + category_light_infantry + category_all_infantry + category_army + category_special_forces + category_marines + } + + combat_width = 2 + + #Size Definitions + max_strength = 20 + max_organisation = 70 + default_morale = 0.4 + manpower = 1000 + + #Misc Abilities + training_time = 120 + suppression = 1 + weight = 0.5 + supply_consumption = 0.09 breakthrough = 0.3 need = { @@ -171,6 +235,7 @@ sub_units = { } mountaineers = { + abbreviation = "MTN" sprite = infantry map_icon_category = infantry special_forces = yes @@ -192,6 +257,7 @@ sub_units = { category_all_infantry category_army category_special_forces + category_mountaineers } combat_width = 2 @@ -207,7 +273,7 @@ sub_units = { suppression = 1 weight = 0.5 - supply_consumption = 0.07 + supply_consumption = 0.09 breakthrough = 0.3 need = { @@ -227,6 +293,7 @@ sub_units = { } paratrooper = { + abbreviation = "PAR" sprite = infantry map_icon_category = infantry special_forces = yes @@ -247,6 +314,7 @@ sub_units = { category_all_infantry category_army category_special_forces + category_paratroopers } combat_width = 2 @@ -261,7 +329,7 @@ sub_units = { training_time = 150 suppression = 1 weight = 0.5 - supply_consumption = 0.06 + supply_consumption = 0.09 can_be_parachuted = yes @@ -270,7 +338,63 @@ sub_units = { } } + heavy_infantry = { + abbreviation = "HIN" + sprite = infantry + map_icon_category = infantry + special_forces = yes + + priority = 601 + ai_priority = 200 + active = no + + type = { + infantry + } + + group = infantry + + categories = { + category_front_line + category_light_infantry + category_all_infantry + category_army + category_special_forces + } + + combat_width = 2 + + #Size Definitions + max_strength = 20 + max_organisation = 50 + default_morale = 0.4 + manpower = 1000 + + #Misc Abilities + training_time = 120 + suppression = 1 + weight = 0.5 + supply_consumption = 0.05 + breakthrough = 0.3 + + need = { + infantry_equipment = 150 + medium_tank_chassis = 15 + } + + urban = { + attack = 0.15 + } + fort = { + attack = 0.15 + } + plains = { + attack = 0.1 + } + } + motorized = { + abbreviation = "MOT" sprite = motorized map_icon_category = infantry @@ -302,14 +426,14 @@ sub_units = { training_time = 90 suppression = 2.2 weight = 0.75 - supply_consumption = 0.11 + supply_consumption = 0.1 # this is what moves us and sets speed transport = motorized_equipment need = { infantry_equipment = 100 - motorized_equipment = 50 + motorized_equipment = 35 } forest = { @@ -340,6 +464,7 @@ sub_units = { } mechanized = { + abbreviation = "MEC" sprite = mechanized map_icon_category = infantry @@ -376,7 +501,7 @@ sub_units = { suppression = 2 weight = 1 - supply_consumption = 0.18 + supply_consumption = 0.14 # needed since we give so much bonus to infantry even with no mech equipment essential = { @@ -388,7 +513,7 @@ sub_units = { transport = mechanized_equipment need = { - mechanized_equipment = 50 + mechanized_equipment = 40 infantry_equipment = 100 } @@ -460,4 +585,156 @@ sub_units = { infantry_equipment = 1 } } -} + + penal_battalion = { + abbreviation = "PEN" + sprite = infantry + map_icon_category = infantry + + priority = 400 #600 + ai_priority = 150 #200 + active = no + + type = { + infantry + } + + group = infantry + + categories = { + category_front_line + category_light_infantry + category_all_infantry + category_army + } + + combat_width = 2 + + #Size Definitions + max_strength = 15 #25 (HP) + max_organisation = 70 #60 -> Lower HP but higher Org: They should keep fighting longer + default_morale = 0.4 #0.3 (Recovery) -> Easy to get more punishees + manpower = 850 #1000 -> Usually no more than 850 + + #Misc Abilities + training_time = 50 #90 -> Already trained + suppression = 0.5 #1.5 -> Not for suppression roles + weight = 0.5 + + supply_consumption = 0.05 #0.07 -> Don't need that much supply, and they have lower HP + + need = { + infantry_equipment = 85 #100 -> Same ratio as regular Infantry + } + } + + irregular_infantry = { + abbreviation = "IRR" + sprite = infantry + map_icon_category = infantry + + priority = 400 + ai_priority = 150 + active = no + + type = { + infantry + } + + group = infantry + + categories = { + category_front_line + category_light_infantry + category_all_infantry + category_army + } + + combat_width = 2 + + #Size Definitions + max_strength = 30 # reg inf 25 + max_organisation = 45 # reg inf 60 + default_morale = 0.2 # reg inf 0.3 + manpower = 1000 + + #Misc Abilities + training_time = 30 # was 75 # reg inf 90 + suppression = 1.5 # reg inf 1.5 + weight = 0.5 + + supply_consumption = 0.04 # reg inf 0.06 + + # generally not as drilled in modern warfare as regular troops + soft_attack = -0.05 + # breakthrough = -0.1 + defense = -0.15 # was -0.25 + + # Terrain bonuses + # Attack bonuses higher as they thought defending was dishonourable + hills = { + attack = 0.15 # was 0.1 + defence = 0.05 + } + forest = { + attack = 0.15 # was 0.1 + defence = 0.05 + } + mountain = { + attack = 0.15 # was 0.1 + defence = 0.05 + } + desert = { + attack = 0.25 # was 0.1 + defence = 0.10 + } + + + need = { + infantry_equipment = 80 # was 100 + } + } + + militia = { + abbreviation = "MIL" + sprite = infantry + map_icon_category = infantry + + priority = 400 + ai_priority = 150 + active = no + + type = { + infantry + } + + group = infantry + + categories = { + category_front_line + category_light_infantry + category_all_infantry + category_army + category_militia + } + + combat_width = 2 + + #Size Definitions + max_strength = 25 + max_organisation = 50 #reg infantry 60 + default_morale = 0.3 + manpower = 1000 + + #Misc Abilities + training_time = 80 #reg infantry 90 + suppression = 1.5 + weight = 0.5 + + supply_consumption = 0.06 + + need = { + infantry_equipment = 100 + } + } +} \ No newline at end of file diff --git a/common/units/infantry_unique.txt b/common/units/infantry_unique.txt new file mode 100644 index 000000000..9901a3c65 --- /dev/null +++ b/common/units/infantry_unique.txt @@ -0,0 +1,197 @@ +# options for map_icon_category: +# For land units: infantry,armored,other +# For sea units: ship,transport,uboat + +sub_units = { + + forest_infantry = { + sprite = infantry + map_icon_category = infantry + + priority = 600 + ai_priority = 200 + active = no + + type = { + infantry + } + + group = infantry + + categories = { + category_front_line + category_light_infantry + category_all_infantry + category_army + } + + combat_width = 2 + + #Size Definitions + max_strength = 25 + max_organisation = 60 + default_morale = 0.3 + manpower = 1000 + + #Misc Abilities + training_time = 90 + suppression = 1 + weight = 0.5 + + supply_consumption = 0.07 + + need = { + infantry_equipment = 100 + } + + forest = { + attack = 0.15 + defence = 0.15 + movement = 0.2 + } + + jungle = { + attack = 0.15 + defence = 0.15 + movement = 0.2 + } + } + + spider_infantry = { + sprite = infantry + map_icon_category = infantry + + priority = 600 + ai_priority = 200 + active = no + + type = { + infantry + } + + group = infantry + + categories = { + category_front_line + category_light_infantry + category_all_infantry + category_army + } + + combat_width = 2 + + #Size Definitions + max_strength = 25 + max_organisation = 60 + default_morale = 0.3 + manpower = 1000 + + #Misc Abilities + training_time = 90 + suppression = 1 + weight = 0.5 + + supply_consumption = 0.07 + + need = { + infantry_equipment = 100 + } + + forest = { + attack = 0.15 + defence = 0.15 + movement = 0.35 + } + + jungle = { + attack = 0.15 + defence = 0.15 + movement = 0.35 + } + hills = { + movement = 0.1 + } + mountain = { + movement = -0.15 + } + desert = { + attack = -0.15 + defence = -0.15 + movement = -0.35 + } + river = { + attack = -0.15 + defence = -0.15 + movement = -0.35 + } + amphibious = { + attack = -0.15 + defence = -0.15 + movement = -0.35 + } + } + + ent_infantry = { + sprite = infantry + map_icon_category = infantry + + priority = 600 + ai_priority = 200 + active = no + + type = { + infantry + } + + group = infantry + + categories = { + category_front_line + category_light_infantry + category_all_infantry + category_army + } + + combat_width = 2 + + #Size Definitions + max_strength = 25 + max_organisation = 60 + default_morale = 0.3 + manpower = 1000 + + #Misc Abilities + training_time = 90 + suppression = 1 + weight = 0.5 + + supply_consumption = 0.07 + + need = { + infantry_equipment = 100 + } + + forest = { + attack = 0.25 + defence = 0.25 + } + + jungle = { + attack = 0.25 + defence = 0.25 + } + mountain = { + movement = -0.25 + } + desert = { + attack = -0.35 + defence = -0.35 + movement = -0.35 + } + amphibious = { + attack = -0.15 + defence = -0.15 + movement = -0.35 + } + } +} diff --git a/common/units/light_armor.txt b/common/units/light_armor.txt index abfb6d46e..f2198f224 100644 --- a/common/units/light_armor.txt +++ b/common/units/light_armor.txt @@ -28,12 +28,12 @@ sub_units = { light_tank_chassis = 60 } manpower = 500 - max_organisation = 10 + max_organisation = 15 default_morale = 0.3 training_time = 180 - max_strength = 2 + max_strength = 8 weight = 1 - supply_consumption = 0.22 + supply_consumption = 0.13 #Tanks are awesome # soft_attack = 0.5 diff --git a/common/units/lothlorien_special_units.txt b/common/units/lothlorien_special_units.txt new file mode 100644 index 000000000..69a5dfa65 --- /dev/null +++ b/common/units/lothlorien_special_units.txt @@ -0,0 +1,217 @@ +sub_units = { + + riders_of_the_naith = { + abbreviation = "LTK" + sprite = light_armor + map_icon_category = armored + priority = 2501 + ai_priority = 2000 + active = no + + special_forces = yes + + type = { + armor + } + + group = mobile + + categories = { + category_tanks + category_front_line + category_all_armor + category_army + category_special_forces + } + + + combat_width = 2 + + need = { + light_tank_chassis = 60 + artillery_equipment = 10 + } + manpower = 500 + max_organisation = 10 + default_morale = 0.4 + training_time = 220 + max_strength = 2 + weight = 1 + supply_consumption = 0.22 + + soft_attack = 0.15 + maximum_speed = 0.15 + armor_value = 0.15 + hardness = 0.8 + breakthrough = 0.15 + suppression = 2.5 + + forest = { + attack = 0.2 + movement = 0.2 + } + mountain = { + attack = -0.15 + } + jungle = { + attack = 0.15 + movement = 0.2 + } + marsh = { + attack = -0.1 + movement = -0.1 + } + urban = { + attack = 0.15 + defence = -0.1 + } + river = { + attack = -0.2 + movement = -0.2 + } + amphibious = { + attack = -0.4 + } + } + + sindar_pathstalkers = { + abbreviation = "CREC" + sprite = infantry + map_icon_category = infantry + priority = 0 + ai_priority = 0 + active = no + + type = { + infantry + support + } + + group = support + + special_forces = yes + + categories = { + category_front_line + category_support_battalions + category_army + category_recon + category_special_forces + } + + + combat_width = 0 + + #Size Definitions + max_strength = 2 + max_organisation = 25 + default_morale = 0.3 + manpower = 500 + training_time = 190 + + #Misc Abilities + weight = 0.1 + supply_consumption = 0.02 + recon = 2 + can_be_parachuted = yes + + # Support nerfs to combat abilities + defense = -0.25 + breakthrough = -0.25 + soft_attack = 0.0 + hard_attack = -0.75 + + maximum_speed = 0.6 # move at horsie speeds + + essential = { + infantry_equipment + support_equipment + } + + need = { + infantry_equipment = 40 + support_equipment = 10 + } + + forest = { + movement = 0.05 + } + hills = { + movement = 0.10 + } + mountain = { + movement = 0.10 + } + jungle = { + movement = 0.10 + } + marsh = { + movement = 0.10 + } + plains = { + movement = 0.05 + } + desert = { + movement = 0.05 + } + river = { + movement = 0.1 + } + + #same_support_type = recon # blocks adding other recon types to template + } + + marchwardens_of_lothlorien = { + sprite = infantry + map_icon_category = infantry + + priority = 600 + ai_priority = 200 + active = no + + type = { + infantry + } + + group = infantry + + special_forces = yes + + categories = { + category_front_line + category_light_infantry + category_all_infantry + category_army + category_special_forces + } + + combat_width = 2 + + #Size Definitions + max_strength = 25 + max_organisation = 60 + default_morale = 0.3 + manpower = 1000 + + #Misc Abilities + training_time = 130 + suppression = 1.5 + weight = 0.5 + + supply_consumption = 0.09 + + need = { + infantry_equipment = 100 + artillery_equipment = 15 + } + + forest = { + attack = 0.1 + movement = 0.15 + } + jungle = { + attack = 0.1 + movement = 0.15 + } + } +} diff --git a/common/units/medium_armor.txt b/common/units/medium_armor.txt index 02b407848..c436d51f0 100644 --- a/common/units/medium_armor.txt +++ b/common/units/medium_armor.txt @@ -27,12 +27,12 @@ sub_units = { medium_tank_chassis = 50 } manpower = 500 - max_organisation = 10 - max_strength = 2 + max_organisation = 15 + max_strength = 8 default_morale = 0.3 training_time = 180 weight = 1.25 - supply_consumption = 0.25 + supply_consumption = 0.18 #Tanks are awesome # soft_attack = 0.5 diff --git a/common/units/military_police.txt b/common/units/military_police.txt index 5ff6a5e5d..9beb199e4 100644 --- a/common/units/military_police.txt +++ b/common/units/military_police.txt @@ -19,7 +19,11 @@ sub_units = { category_support_battalions category_army } - + + battalion_mult = { + category = category_all_infantry + default_morale = 0.20 + } combat_width = 0 diff --git a/common/units/recon.txt b/common/units/recon.txt index 3c4a1a5e8..0089a4150 100644 --- a/common/units/recon.txt +++ b/common/units/recon.txt @@ -54,7 +54,12 @@ sub_units = { infantry_equipment = 40 support_equipment = 10 } - + + battalion_mult = { + category = category_artillery + soft_attack = 0.10 + } + forest = { movement = 0.05 } @@ -104,7 +109,11 @@ sub_units = { category_army category_recon } - + + battalion_mult = { + category = category_artillery + soft_attack = 0.10 + } combat_width = 0 @@ -190,7 +199,11 @@ sub_units = { category_recon } - + battalion_mult = { + category = category_artillery + soft_attack = 0.10 + } + combat_width = 0 #Size Definitions @@ -261,6 +274,11 @@ sub_units = { support } + battalion_mult = { + category = category_all_armor + hard_attack = 0.10 + } + group = support categories = { @@ -328,4 +346,330 @@ sub_units = { } same_support_type = recon # blocks adding other recon types to template } + + airborne_light_armor = { #light tanks + abbreviation = "LTA" + sprite = light_armor + map_icon_category = infantry + priority = 0 + ai_priority = 0 + active = no + + type = { + infantry + support + } + + group = support + + categories = { + category_front_line + category_support_battalions + category_army + category_all_armor + category_paratroopers + } + + + combat_width = 0 + + #Size Definitions + max_strength = 2 + max_organisation = 20 + default_morale = 0.3 + manpower = 500 + training_time = 120 + + #Misc Abilities + weight = 0.1 + supply_consumption = 0.02 + recon = 1 + can_be_parachuted = yes + + # Support nerfs to combat abilities + defense = -0.5 + breakthrough = -0.25 + soft_attack = -0.25 + hard_attack = -0.25 + armor_value = -0.5 + can_be_parachuted = yes + + essential = { + light_tank_chassis + } + + need = { + light_tank_chassis = 24 + } + + forest = { + movement = 0.1 + } + hills = { + movement = 0.1 + } + mountain = { + movement = 0.1 + } + jungle = { + movement = 0.1 + } + marsh = { + movement = 0.1 + } + plains = { + movement = 0.1 + } + desert = { + movement = 0.1 + } + river = { + movement = 0.1 + } + } + + rangers_support = { #independent recon + abbreviation = "RAN" + sprite = infantry + map_icon_category = infantry + priority = 0 + ai_priority = 0 + active = no + + type = { + infantry + support + } + + group = support + + categories = { + category_front_line + category_support_battalions + category_army + category_recon + category_mountaineers + } + + + combat_width = 0 + + #Size Definitions + max_strength = 2 + max_organisation = 30 + default_morale = 0.3 + manpower = 500 + training_time = 120 + + #Misc Abilities + weight = 0.1 + supply_consumption = 0.06 + recon = 1 + can_be_parachuted = yes + + # Support nerfs to combat abilities + + maximum_speed = 0.6 # move at horsie speeds + + essential = { + infantry_equipment + support_equipment + } + + need = { + infantry_equipment = 40 + support_equipment = 15 + } + + forest = { + movement = 0.15 + attack = 0.05 + } + hills = { + movement = 0.15 + attack = 0.05 + } + mountain = { + movement = 0.10 + defence = 0.05 + } + jungle = { + movement = 0.10 + } + plains = { + movement = 0.1 + attack = 0.05 + } + + same_support_type = recon # blocks adding other recon types to template + } + + winter_logistics_support = { #Ski Troop Support for Finland. Not really considered recon + abbreviation = "WIN" + sprite = infantry + map_icon_category = infantry + priority = 0 + ai_priority = 0 + active = no + + type = { + infantry + support + } + + group = support + + categories = { + category_front_line + category_support_battalions + category_army + } + + + combat_width = 0 + + #Size Definitions + max_strength = 2 + max_organisation = 45 + default_morale = 0.3 + manpower = 500 + training_time = 120 + acclimatization_cold_climate_gain_factor = 3 + + #Misc Abilities + weight = 0.1 + supply_consumption = 0.05 + #recon = 1 + can_be_parachuted = yes + + #battalion_mult = { + # category = category_light_infantry + # defense = 0.25 + # add = yes + #} + + # Support nerfs to combat abilities + + #defense = -0.5 + breakthrough = -0.5 + soft_attack = -0.5 + hard_attack = -0.5 + armor_value = -0.5 + + essential = { + infantry_equipment + support_equipment + } + + need = { + infantry_equipment = 40 + support_equipment = 10 + } + + snow = { #This can end up stacking with terrain benefits + attack = 0.25 + defence = 0.25 + movement = 0.3 + } + } + + long_range_patrol_support = { # Long-range patrols for Finland + abbreviation = "LRP" + sprite = infantry + map_icon_category = infantry + priority = 0 + ai_priority = 0 + active = no + + type = { + infantry + support + } + + group = support + + categories = { + category_front_line + category_support_battalions + category_army + category_recon + } + + + combat_width = 0 + + battalion_mult = { + category = category_light_infantry + initiative = 0.25 + add = yes + } + + # Important Ability + soft_attack = 0.1 #Same as Mechanized + breakthrough = 0.3 #Same as Marines/Mountaineers + + #Size Definitions + max_strength = 10 #Inf is 25 + max_organisation = 60 #Inf is 60 + default_morale = 0.3 #Inf is 0.3 + manpower = 500 + training_time = 120 + equipment_capture_factor = 0.05 + + #Misc Abilities + weight = 0.3 #Inf is 0.5 + supply_consumption = 0.04 #Inf is 0.06 + recon = 2 #Recon is 1 + can_be_parachuted = yes + + maximum_speed = 0.6 # move at horsie speeds + + essential = { + infantry_equipment + support_equipment + } + + need = { + infantry_equipment = 40 + support_equipment = 10 + } + + forest = { + movement = 0.15 + attack = 0.05 + } + hills = { + movement = 0.15 + attack = 0.05 + } + marsh = { + movement = 0.10 + attack = 0.05 + } + plains = { + movement = 0.1 + attack = 0.05 + } + + mountain = { + movement = 0.15 + } + jungle = { + movement = 0.10 + } + desert = { + movement = 0.1 + } + river = { + movement = 0.1 + } + + same_support_type = recon # blocks adding other recon types to template + + snow = { #This can end up stacking with terrain benefits + attack = 0.1 + defence = 0.1 + } + } + } diff --git a/descriptor.mod b/descriptor.mod index 05de6417f..26bcd2727 100644 --- a/descriptor.mod +++ b/descriptor.mod @@ -6,6 +6,7 @@ tags={ "Gameplay" } name="Lord of the Rings Mod BETA" +picture="lotr.png" replace_path="history/states" replace_path="history/countries" replace_path="history/general" @@ -59,7 +60,13 @@ replace_path="common/units/names_ships" replace_path="common/units/names_divisions" replace_path="common/units/codenames_operatives" replace_path="common/units/names_railway_guns" +replace_path="common/military_industrial_organization/ai_bonus_weights" +replace_path="common/military_industrial_organization/organizations" +replace_path="common/military_industrial_organization/policies" replace_path="music" replace_path="portraits" -supported_version="1.12.*" -path="C:/Users/Kahl/Documents/Paradox Interactive/Hearts of Iron IV/mod/lotr" \ No newline at end of file +replace_path="gfx/interface/equipmentdesigner/graphic_db" +replace_path="scenario_tests/effects" +replace_path="scenario_tests/tests" +replace_path="scenario_tests/triggers" +supported_version="1.13.*" \ No newline at end of file diff --git a/events/Arthedain.txt b/events/Arthedain.txt index 9a1a827d2..513128646 100644 --- a/events/Arthedain.txt +++ b/events/Arthedain.txt @@ -176,7 +176,7 @@ country_event = { } } every_owned_state = { - limit = { is_core_of = THIS } + limit = { is_core_of = ROOT } add_core_of = ART } ART = { annex_country = { target = PREV transfer_troops = yes } } @@ -232,4 +232,242 @@ country_event = { add_political_power = -100 add_stability = -0.10 } +} + +# Request to form the 'Grey Company' +country_event = { + id = arthedain.6 + title = arthedain.6.t + desc = arthedain.6.d + picture = GFX_report_event_rangers + + is_triggered_only = yes + + trigger = { + NOT = { has_global_flag = grey_company_formed } + } + + option = { #Accept + name = arthedain.6.a + ai_chance = { + base = 6 + modifier = { + factor = 2 + has_opinion = { + target = ART + value > 30 + } + } + modifier = { + factor = 5 + ART = { is_going_same_path_as_root = yes } + } + modifier = { + factor = 0.25 + ART = { is_going_different_path_as_root = yes } + } + modifier = { + factor = 5 + OR = { + tag = ART + tag = RHD + } + } + } + + add_equipment_to_stockpile = { + type = infantry_equipment + amount = -800 + } + add_timed_idea = { + idea = minor_expense + days = 80 + } + + custom_effect_tooltip = arthedain.6.a_tt + + hidden_effect = { + if = { + limit = { NOT = { has_variable = global.grey_company_supporters } } + set_variable = { global.grey_company_supporters = 1 } # We start at 1 because whoever triggered the event/took the focus auto-support this + } + add_to_variable = { global.grey_company_supporters = 1 } + + if = { + limit = { + check_variable = { global.grey_company_supporters > 2 } + NOT = { has_global_flag = grey_company_formed } + } + set_global_flag = grey_company_formed + ART = { country_event = { id = arthedain.7 days = 12 } } + RHD = { country_event = { id = arthedain.7 days = 12 } } + } + } + + } + option = { #Refuse + name = arthedain.6.b + + ai_chance = { + base = 2 + modifier = { + factor = 3 + has_opinion = { + target = ART + value < 0 + } + } + modifier = { + factor = 3 + ART = { is_going_different_path_as_root = yes } + } + modifier = { + factor = 0.25 + OR = { + tag = ART + tag = RHD + } + } + } + } +} + +# Grey Company Formed +country_event = { + id = arthedain.7 + title = arthedain.7.t + desc = arthedain.7.d + picture = GFX_report_event_rangers + + is_triggered_only = yes + + option = { #Accept + name = arthedain.7.a + ai_chance = { + base = 60 + } + if = { + limit = { tag = ART } + load_oob = ART_GreyCompany + } + else_if = { + limit = { tag = RHD } + load_oob = RHD_GreyCompany + } + } +} + +# Gondor invites Arthedain to faction +country_event = { + id = arthedain.8 + title = arthedain.8.t + desc = arthedain.8.d + picture = GFX_report_event_gondor + + is_triggered_only = yes + + option = { #Accept + name = arthedain.8.a + ai_chance = { + base = 15 + modifier = { + factor = 2 + GON = { has_same_ideology = yes } + } + } + ART = { + dismantle_faction = yes + add_stability = 0.10 + } + GON = { + add_to_faction = ART + add_stability = 0.10 + } + } + option = { #Refuse + name = arthedain.8.b + ai_chance = { + base = 15 + modifier = { + factor = 2 + has_war = no + GON = { has_war = yes } + } + modifier = { + factor = 5 + has_government = belligerent + has_government = revolutionary + } + modifier = { + factor = 2 + GON = { is_weaker = yes } + } + modifier = { + factor = 2 + GON = { is_significantly_weaker = yes } + } + } + GON = { + add_opinion_modifier = { target = ART modifier = medium_increase } + } + add_political_power = -100 + add_stability = -0.05 + } +} + +# Gondor demands Arthedain become part of Gondor once more +country_event = { + id = arthedain.9 + title = arthedain.9.t + desc = arthedain.9.d + picture = GFX_report_event_gondor + + is_triggered_only = yes + + option = { #Accept + name = arthedain.9.a + ai_chance = { + base = 15 + modifier = { + factor = 2 + GON = { has_same_ideology = yes } + } + } + GON = { + set_autonomy = { + target = ART + autonomy_state = autonomy_fiefdom + } + } + } + option = { #Refuse + name = arthedain.9.b + ai_chance = { + base = 15 + modifier = { + factor = 2 + has_war = no + GON = { has_war = yes } + } + modifier = { + factor = 5 + has_government = belligerent + has_government = revolutionary + } + modifier = { + factor = 2 + GON = { is_weaker = yes } + } + modifier = { + factor = 2 + GON = { is_significantly_weaker = yes } + } + } + GON = { + add_opinion_modifier = { target = ART modifier = medium_increase } + create_wargoal = { type = puppet_wargoal_focus target = ART } + } + add_political_power = -100 + add_stability = -0.05 + } } \ No newline at end of file diff --git a/events/CapitulationEvents.txt b/events/CapitulationEvents.txt index f1015cbc4..82850c6bb 100644 --- a/events/CapitulationEvents.txt +++ b/events/CapitulationEvents.txt @@ -110,7 +110,7 @@ news_event = { } } - picture = GFX_news_event_generic_sign_treaty2 + picture = GFX_news_event_surrender major = yes diff --git a/events/CelebrationEvents.txt b/events/CelebrationEvents.txt new file mode 100644 index 000000000..b1eba4f03 --- /dev/null +++ b/events/CelebrationEvents.txt @@ -0,0 +1,3571 @@ +# Celebration events + +add_namespace = celebrations + +# Public Celebrations Commence +country_event = { + id = celebrations.1 + title = celebrations.1.t + desc = celebrations.1.d + + picture = GFX_report_event_celebrations + + is_triggered_only = yes + timeout_days = 7 + + # Let us commemorate the fall of Gondolin. + option = { + name = celebrations.1.a + hidden_effect = { country_event = { id = celebrations.11 days = 14 } } + } + + # Let us commemorate the fall of Doriath. + option = { + name = celebrations.1.b + hidden_effect = { country_event = { id = celebrations.12 days = 14 } } + } + + # Let us commemorate the years of the Tree and the first elves of Middle-Earth. + option = { + name = celebrations.1.c + hidden_effect = { country_event = { id = celebrations.13 days = 14 } } + } +} + +# Sindar demand to be represented in the celebrations +country_event = { + id = celebrations.11 + title = celebrations.11.t + desc = celebrations.11.d + + picture = GFX_report_event_celebrations + + is_triggered_only = yes + timeout_days = 7 + + # They will get a separate festival... 'later'. + option = { + name = celebrations.11.a + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.4 } } country_event = { id = celebrations.111 days = 7 } } + else = { country_event = { id = celebrations.111 days = 14 } } + } + } + + # We should include Sindar legends as well. + option = { + name = celebrations.11.b + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.4 } } country_event = { id = celebrations.112 days = 7 } } + else = { country_event = { id = celebrations.112 days = 14 } } + } + } + + # We should ensure that *all* elven groups are appropriately celebrated. + option = { + name = celebrations.11.c + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.4 } } country_event = { id = celebrations.113 days = 7 } } + else = { country_event = { id = celebrations.113 days = 14 } } + } + } +} + +# Members of the Ñoldor faction wish to hold a fencing tournament +country_event = { + id = celebrations.111 + title = celebrations.111.t + desc = celebrations.111.d + + picture = GFX_report_event_tournament + + is_triggered_only = yes + timeout_days = 7 + + # Just make sure nobody gets hurt. + option = { + name = celebrations.111.a + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.6 } } country_event = { id = celebrations.1111 days = 7 } } + else = { country_event = { id = celebrations.1111 days = 14 } } + } + } + + # Make sure the tournament isn't just for the Ñoldor. + option = { + name = celebrations.111.b + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.6 } } country_event = { id = celebrations.1112 days = 7 } } + else = { country_event = { id = celebrations.1112 days = 14 } } + } + } + + # The celebrations were not assembled to witness a violent display of this kind. + option = { + name = celebrations.111.c + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.6 } } country_event = { id = celebrations.1113 days = 7 } } + else = { country_event = { id = celebrations.1113 days = 14 } } + } + } + + + +} + +# Celebrations coming to a close +country_event = { + id = celebrations.1111 + title = celebrations.1111.t + desc = celebrations.1111.d + + picture = GFX_report_event_celebrations_3 + + is_triggered_only = yes + timeout_days = 7 + + # Let lady Galadriel hold a speech. + option = { + name = celebrations.1111.a + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.8 } } country_event = { id = celebrations.11111 days = 7 } } + else = { country_event = { id = celebrations.11111 days = 14 } } + } + } + + # Celeborn. It is only sensible that the Lord of Lothlórien should speak to his people. + option = { + name = celebrations.1111.b + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.8 } } country_event = { id = celebrations.11112 days = 7 } } + else = { country_event = { id = celebrations.11112 days = 14 } } + } + } + + # Tarborn! Let the tournament champion speak. + option = { + name = celebrations.1111.c + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.8 } } country_event = { id = celebrations.11113 days = 7 } } + else = { country_event = { id = celebrations.11113 days = 14 } } + } + } + + + +} + +# Celebrations coming to a close +country_event = { + id = celebrations.1112 + title = celebrations.1112.t + desc = celebrations.1112.d + + picture = GFX_report_event_celebrations_3 + + is_triggered_only = yes + timeout_days = 7 + + # Let lady Galadriel hold a speech. + option = { + name = celebrations.1112.a + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.8 } } country_event = { id = celebrations.11121 days = 7 } } + else = { country_event = { id = celebrations.11121 days = 14 } } + } + } + + # Celeborn. It is only sensible that the Lord of Lothlórien should speak to his people. + option = { + name = celebrations.1112.b + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.8 } } country_event = { id = celebrations.11122 days = 7 } } + else = { country_event = { id = celebrations.11122 days = 14 } } + } + } + + # Orophin! Let the tournament champion speak. + option = { + name = celebrations.1112.c + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.8 } } country_event = { id = celebrations.11123 days = 7 } } + else = { country_event = { id = celebrations.11123 days = 14 } } + } + } + + + +} + +# Celebrations coming to a close +country_event = { + id = celebrations.1113 + title = celebrations.1113.t + desc = celebrations.1113.d + + picture = GFX_report_event_celebrations_3 + + is_triggered_only = yes + timeout_days = 7 + + # We should have a great feast to bring everyone together. + option = { + name = celebrations.1113.a + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.8 } } country_event = { id = celebrations.11131 days = 7 } } + else = { country_event = { id = celebrations.11131 days = 14 } } + } + } + + # A public speech by our Ñoldor princess, Galadriel. + option = { + name = celebrations.1113.b + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.8 } } country_event = { id = celebrations.11132 days = 7 } } + else = { country_event = { id = celebrations.11132 days = 14 } } + } + } + + # The celebrations are about the fall of Gondolin. We will have a musical performance to commemorate this tragic event. + option = { + name = celebrations.1113.c + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.8 } } country_event = { id = celebrations.11133 days = 7 } } + else = { country_event = { id = celebrations.11133 days = 14 } } + } + } + + + +} + +# Horse race +country_event = { + id = celebrations.112 + title = celebrations.112.t + desc = celebrations.112.d + + picture = GFX_report_event_celebrations_2 + + is_triggered_only = yes + timeout_days = 7 + + # Fine. (Just make sure the Ñoldor jockey wins...) + option = { + name = celebrations.112.a + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.6 } } country_event = { id = celebrations.1121 days = 7 } } + else = { country_event = { id = celebrations.1121 days = 14 } } + } + } + + # This is a great idea. Let the best rider win. + option = { + name = celebrations.112.b + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.6 } } country_event = { id = celebrations.1122 days = 7 } } + else = { country_event = { id = celebrations.1122 days = 14 } } + } + } + + # There will be no race. This would only exasperate tensions. + option = { + name = celebrations.112.c + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.6 } } country_event = { id = celebrations.1123 days = 7 } } + else = { country_event = { id = celebrations.1123 days = 14 } } + } + } + + + +} + +# Celebrations coming to a close +country_event = { + id = celebrations.1121 + title = celebrations.1121.t + desc = celebrations.1121.d + + picture = GFX_report_event_celebrations_3 + + is_triggered_only = yes + timeout_days = 7 + + # Let's just bring these celebrations to an end. The Sindar will forget about this soon enough. + option = { + name = celebrations.1121.a + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.8 } } country_event = { id = celebrations.11211 days = 7 } } + else = { country_event = { id = celebrations.11211 days = 14 } } + } + } + + # Race-fixing? An absurd proposition! The Sindar just can't take loosing very well. + option = { + name = celebrations.1121.b + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.8 } } country_event = { id = celebrations.11212 days = 7 } } + else = { country_event = { id = celebrations.11212 days = 14 } } + } + } + + # We should come clean on our involvement. + option = { + name = celebrations.1121.c + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.8 } } country_event = { id = celebrations.11213 days = 7 } } + else = { country_event = { id = celebrations.11213 days = 14 } } + } + } + + + +} + +# Celebrations coming to a close +country_event = { + id = celebrations.1122 + title = celebrations.1122.t + desc = celebrations.1122.d + + picture = GFX_report_event_celebrations_3 + + is_triggered_only = yes + timeout_days = 7 + + # The victorious Sindar rider should hold a speech! + option = { + name = celebrations.1122.a + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.8 } } country_event = { id = celebrations.11221 days = 7 } } + else = { country_event = { id = celebrations.11221 days = 14 } } + } + } + + # Let lady Galadriel hold a speech. + option = { + name = celebrations.1122.b + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.8 } } country_event = { id = celebrations.11222 days = 7 } } + else = { country_event = { id = celebrations.11222 days = 14 } } + } + } + + # Celeborn. It is only sensible that the Lord of Lothlórien should speak to his people. + option = { + name = celebrations.1122.c + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.8 } } country_event = { id = celebrations.11223 days = 7 } } + else = { country_event = { id = celebrations.11223 days = 14 } } + } + } + + + +} + +# Celebrations coming to a close +country_event = { + id = celebrations.1123 + title = celebrations.1123.t + desc = celebrations.1123.d + + picture = GFX_report_event_celebrations_3 + + is_triggered_only = yes + timeout_days = 7 + + # Let's calm things down with a great feast in the heart of Lothlórien. + option = { + name = celebrations.1123.a + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.8 } } country_event = { id = celebrations.11231 days = 7 } } + else = { country_event = { id = celebrations.11231 days = 14 } } + } + } + + # Our leaders should hold closing speeches, highlighting the imperatives of unity among our people. + option = { + name = celebrations.1123.b + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.8 } } country_event = { id = celebrations.11232 days = 7 } } + else = { country_event = { id = celebrations.11232 days = 14 } } + } + } + + # Blame this on the Sindar insisting on being included in festivitites celebrating a Ñoldorin tale. + option = { + name = celebrations.1123.c + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.8 } } country_event = { id = celebrations.11233 days = 7 } } + else = { country_event = { id = celebrations.11233 days = 14 } } + } + } + + + +} + +# Dignitaries from Mirkwood and Rivendell expect invitations +country_event = { + id = celebrations.113 + title = celebrations.113.t + desc = celebrations.113.d + + picture = GFX_report_event_celebrations_2 + + is_triggered_only = yes + timeout_days = 7 + + # This festival is for the people of Lothlórien, not Rivendell or Mirkwood. + option = { + name = celebrations.113.a + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.6 } } country_event = { id = celebrations.1131 days = 7 } } + else = { country_event = { id = celebrations.1131 days = 14 } } + } + } + + # They are very welcome to join us. + option = { + name = celebrations.113.b + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.6 } } country_event = { id = celebrations.1132 days = 7 } } + else = { country_event = { id = celebrations.1132 days = 14 } } + } + } + + # We should send out some invitations to Rohan and Erebor too! + option = { + name = celebrations.113.c + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.6 } } country_event = { id = celebrations.1133 days = 7 } } + else = { country_event = { id = celebrations.1133 days = 14 } } + } + } + + + +} + +# Celebrations coming to a close +country_event = { + id = celebrations.1132 + title = celebrations.1132.t + desc = celebrations.1132.d + + picture = GFX_report_event_celebrations_3 + + is_triggered_only = yes + timeout_days = 7 + + # We should hold a joint diction with our friends from Mirkwood and Rivendell. + option = { + name = celebrations.1132.a + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.8 } } country_event = { id = celebrations.11321 days = 7 } } + else = { country_event = { id = celebrations.11321 days = 14 } } + } + } + + # Placate the Ñoldor by having Galadriel hold a speech on Gondolin. + option = { + name = celebrations.1132.b + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.8 } } country_event = { id = celebrations.11322 days = 7 } } + else = { country_event = { id = celebrations.11322 days = 14 } } + } + } + + # Celeborn. It is only sensible that the Lord of Lothlórien should speak to his people. + option = { + name = celebrations.1132.c + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.8 } } country_event = { id = celebrations.11323 days = 7 } } + else = { country_event = { id = celebrations.11323 days = 14 } } + } + } + + + +} + +# Celebrations coming to a close +country_event = { + id = celebrations.1131 + title = celebrations.1131.t + desc = celebrations.1131.d + + picture = GFX_report_event_celebrations_3 + + is_triggered_only = yes + timeout_days = 7 + + # Let lady Galadriel hold a speech. + option = { + name = celebrations.1131.a + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.8 } } country_event = { id = celebrations.11311 days = 7 } } + else = { country_event = { id = celebrations.11311 days = 14 } } + } + } + + # Celeborn. It is only sensible that the Lord of Lothlórien should speak to his people. + option = { + name = celebrations.1131.b + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.8 } } country_event = { id = celebrations.11312 days = 7 } } + else = { country_event = { id = celebrations.11312 days = 14 } } + } + } + + # There's no need for a speech + option = { + name = celebrations.1131.c + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.8 } } country_event = { id = celebrations.11313 days = 7 } } + else = { country_event = { id = celebrations.11313 days = 14 } } + } + } + + + +} + +# Celebrations coming to a close +country_event = { + id = celebrations.1133 + title = celebrations.1133.t + desc = celebrations.1133.d + + picture = GFX_report_event_celebrations_3 + + is_triggered_only = yes + timeout_days = 7 + + # Kick the dwarves out. There is no place for violence here. + option = { + name = celebrations.1133.a + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.8 } } country_event = { id = celebrations.11331 days = 7 } } + else = { country_event = { id = celebrations.11331 days = 14 } } + } + } + + # The Mirkwood elves need to learn respect for outsiders. + option = { + name = celebrations.1133.b + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.8 } } country_event = { id = celebrations.11332 days = 7 } } + else = { country_event = { id = celebrations.11332 days = 14 } } + } + } + + # Try to keep them in separate places for the remainder of the celebrations. + option = { + name = celebrations.1133.c + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.8 } } country_event = { id = celebrations.11333 days = 7 } } + else = { country_event = { id = celebrations.11333 days = 14 } } + } + } + + + +} + +# Celebrating Doriath: Choosing a themes for the Parade +country_event = { + id = celebrations.12 + title = celebrations.12.t + desc = celebrations.12.d + + picture = GFX_report_event_celebrations + + is_triggered_only = yes + timeout_days = 7 + + # Highlight the Rising Darkness: Portray Mordor's shadow and its parallels to the fall of Doriath. + option = { + name = celebrations.12.a + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.4 } } country_event = { id = celebrations.121 days = 7 } } + else = { country_event = { id = celebrations.121 days = 14 } } + } + } + + # Reminisce Old Elven Glory: Celebrate the feats of our forebears and their legendary achievements. + option = { + name = celebrations.12.b + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.4 } } country_event = { id = celebrations.122 days = 7 } } + else = { country_event = { id = celebrations.122 days = 14 } } + } + } + + # No particular message. Let's focus on having fun. + option = { + name = celebrations.12.c + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.4 } } country_event = { id = celebrations.123 days = 7 } } + else = { country_event = { id = celebrations.123 days = 14 } } + } + } + + + +} + +# The people fearful of the rising power of Mordor +country_event = { + id = celebrations.121 + title = celebrations.121.t + desc = celebrations.121.d + + picture = GFX_report_event_celebrations_2 + + is_triggered_only = yes + timeout_days = 7 + + # Soothe their feary by redirecting focus towards the ongoing departures to Valinor. + option = { + name = celebrations.121.a + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.6 } } country_event = { id = celebrations.1211 days = 7 } } + else = { country_event = { id = celebrations.1211 days = 14 } } + } + } + + # Dark times lie ahead. Emphasize our need to fight this evil. + option = { + name = celebrations.121.b + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.6 } } country_event = { id = celebrations.1212 days = 7 } } + else = { country_event = { id = celebrations.1212 days = 14 } } + } + } + + # This is the time for party, not fear. + option = { + name = celebrations.121.c + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.6 } } country_event = { id = celebrations.1213 days = 7 } } + else = { country_event = { id = celebrations.1213 days = 14 } } + } + } + + + +} + +# Celebrations coming to a close +country_event = { + id = celebrations.1211 + title = celebrations.1211.t + desc = celebrations.1211.d + + picture = GFX_report_event_celebrations_3 + + is_triggered_only = yes + timeout_days = 7 + + # Send Forth the Noldor + option = { + name = celebrations.1211.a + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.8 } } country_event = { id = celebrations.12111 days = 7 } } + else = { country_event = { id = celebrations.12111 days = 14 } } + } + } + + # Bid Adieu to the Sindar + option = { + name = celebrations.1211.b + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.8 } } country_event = { id = celebrations.12112 days = 7 } } + else = { country_event = { id = celebrations.12112 days = 14 } } + } + } + + # Embrace the Nandor in Farewell + option = { + name = celebrations.1211.c + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.8 } } country_event = { id = celebrations.12113 days = 7 } } + else = { country_event = { id = celebrations.12113 days = 14 } } + } + } + + + +} + +# Celebrations coming to a close +country_event = { + id = celebrations.1212 + title = celebrations.1212.t + desc = celebrations.1212.d + + picture = GFX_report_event_celebrations_3 + + is_triggered_only = yes + timeout_days = 7 + + # Arrange a parade featuring our finest warriors, showcasing their strength and unity as a testament to our readiness. + option = { + name = celebrations.1212.a + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.8 } } country_event = { id = celebrations.12121 days = 7 } } + else = { country_event = { id = celebrations.12121 days = 14 } } + } + } + + # Lord Celeborn has fought against Sauron before. He should hold an inspiring speech. + option = { + name = celebrations.1212.b + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.8 } } country_event = { id = celebrations.12122 days = 7 } } + else = { country_event = { id = celebrations.12122 days = 14 } } + } + } + + # A display of fireworks should lighten the mood. + option = { + name = celebrations.1212.c + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.8 } } country_event = { id = celebrations.12123 days = 7 } } + else = { country_event = { id = celebrations.12123 days = 14 } } + } + } + + + +} + +# Celebrations coming to a close +country_event = { + id = celebrations.1213 + title = celebrations.1213.t + desc = celebrations.1213.d + + picture = GFX_report_event_celebrations_3 + + is_triggered_only = yes + timeout_days = 7 + + # Have Galadriel's soothing voice calm them down. + option = { + name = celebrations.1213.a + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.8 } } country_event = { id = celebrations.12131 days = 7 } } + else = { country_event = { id = celebrations.12131 days = 14 } } + } + } + + # Celeborn will let assure them that everything is under control. + option = { + name = celebrations.1213.b + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.8 } } country_event = { id = celebrations.12132 days = 7 } } + else = { country_event = { id = celebrations.12132 days = 14 } } + } + } + + # Shoot out some fireworks! Let's enjoy this world while it lasts! + option = { + name = celebrations.1213.c + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.8 } } country_event = { id = celebrations.12133 days = 7 } } + else = { country_event = { id = celebrations.12133 days = 14 } } + } + } + + + +} + +# Rising tensions among factions +country_event = { + id = celebrations.122 + title = celebrations.122.t + desc = celebrations.122.d + + picture = GFX_report_event_celebrations_2 + + is_triggered_only = yes + timeout_days = 7 + + # Purity of heritage is important. Seggragate the factions and let them celebrate their distinct cultures separately. + option = { + name = celebrations.122.a + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.6 } } country_event = { id = celebrations.1221 days = 7 } } + else = { country_event = { id = celebrations.1221 days = 14 } } + } + } + + # We should embrace our diversity through a common dance. + option = { + name = celebrations.122.b + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.6 } } country_event = { id = celebrations.1222 days = 7 } } + else = { country_event = { id = celebrations.1222 days = 14 } } + } + } + + # Let them fight it out in a tournament! One chamption from each faction. + option = { + name = celebrations.122.c + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.6 } } country_event = { id = celebrations.1223 days = 7 } } + else = { country_event = { id = celebrations.1223 days = 14 } } + } + } + + + +} + +# Celebrations coming to a close +country_event = { + id = celebrations.1221 + title = celebrations.1221.t + desc = celebrations.1221.d + + picture = GFX_report_event_celebrations_3 + + is_triggered_only = yes + timeout_days = 7 + + # A large round table to bring everyone together. + option = { + name = celebrations.1221.a + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.8 } } country_event = { id = celebrations.12211 days = 7 } } + else = { country_event = { id = celebrations.12211 days = 14 } } + } + } + + # The celebration is about Doriath. Put the Sindar at the head of the table. + option = { + name = celebrations.1221.b + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.8 } } country_event = { id = celebrations.12212 days = 7 } } + else = { country_event = { id = celebrations.12212 days = 14 } } + } + } + + # Separate tables for each group. We don't want any incidents occuring. + option = { + name = celebrations.1221.c + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.8 } } country_event = { id = celebrations.12213 days = 7 } } + else = { country_event = { id = celebrations.12213 days = 14 } } + } + } + + + +} + +# Celebrations coming to a close +country_event = { + id = celebrations.1222 + title = celebrations.1222.t + desc = celebrations.1222.d + + picture = GFX_report_event_celebrations_3 + + is_triggered_only = yes + timeout_days = 7 + + # Let lady Galadriel hold a speech. + option = { + name = celebrations.1222.a + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.8 } } country_event = { id = celebrations.12221 days = 7 } } + else = { country_event = { id = celebrations.12221 days = 14 } } + } + } + + # Celeborn. It is only sensible that the Lord of Lothlórien should speak to his people. + option = { + name = celebrations.1222.b + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.8 } } country_event = { id = celebrations.12222 days = 7 } } + else = { country_event = { id = celebrations.12222 days = 14 } } + } + } + + # No speeches, let the tensions ease up. + option = { + name = celebrations.1222.c + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.8 } } country_event = { id = celebrations.12223 days = 7 } } + else = { country_event = { id = celebrations.12223 days = 14 } } + } + } + + + +} + +# Celebrations coming to a close +country_event = { + id = celebrations.1223 + title = celebrations.1223.t + desc = celebrations.1223.d + + picture = GFX_report_event_tournament + + is_triggered_only = yes + timeout_days = 7 + + # Bring all champions up to stage and honor their valor. + option = { + name = celebrations.1223.a + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.8 } } country_event = { id = celebrations.12231 days = 7 } } + else = { country_event = { id = celebrations.12231 days = 14 } } + } + } + + # The half-elf deserves praise. Give him a trophy. + option = { + name = celebrations.1223.b + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.8 } } country_event = { id = celebrations.12232 days = 7 } } + else = { country_event = { id = celebrations.12232 days = 14 } } + } + } + + # Half-Elf aside, the Ñoldorin came in second. Celebrate his victory over the Sindar. + option = { + name = celebrations.1223.c + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.8 } } country_event = { id = celebrations.12233 days = 7 } } + else = { country_event = { id = celebrations.12233 days = 14 } } + } + } + + + +} + +# Sindar wish to perform a re-enactment +country_event = { + id = celebrations.123 + title = celebrations.123.t + desc = celebrations.123.d + + picture = GFX_report_event_celebrations_2 + + is_triggered_only = yes + timeout_days = 7 + + # Re-enactment? I'll do you one better: Let's have a tournament! + option = { + name = celebrations.123.a + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.6 } } country_event = { id = celebrations.1231 days = 7 } } + else = { country_event = { id = celebrations.1231 days = 14 } } + } + } + + # This is a great idea! + option = { + name = celebrations.123.b + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.6 } } country_event = { id = celebrations.1232 days = 7 } } + else = { country_event = { id = celebrations.1232 days = 14 } } + } + } + + # Let's not do this. + option = { + name = celebrations.123.c + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.6 } } country_event = { id = celebrations.1233 days = 7 } } + else = { country_event = { id = celebrations.1233 days = 14 } } + } + } + + + +} + +# Celebrations coming to a close +country_event = { + id = celebrations.1231 + title = celebrations.1231.t + desc = celebrations.1231.d + + picture = GFX_report_event_celebrations_3 + + is_triggered_only = yes + timeout_days = 7 + + # The Nandor champion fought well. Give him a trophy. + option = { + name = celebrations.1231.a + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.8 } } country_event = { id = celebrations.12311 days = 7 } } + else = { country_event = { id = celebrations.12311 days = 14 } } + } + } + + # Try to liken the champion to the valiant defenders of Doriath. + option = { + name = celebrations.1231.b + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.8 } } country_event = { id = celebrations.12312 days = 7 } } + else = { country_event = { id = celebrations.12312 days = 14 } } + } + } + + # Let's pretend this tournament never happened... + option = { + name = celebrations.1231.c + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.8 } } country_event = { id = celebrations.12313 days = 7 } } + else = { country_event = { id = celebrations.12313 days = 14 } } + } + } + + + +} + +# Celebrations coming to a close +country_event = { + id = celebrations.1232 + title = celebrations.1232.t + desc = celebrations.1232.d + + picture = GFX_report_event_celebrations_3 + + is_triggered_only = yes + timeout_days = 7 + + # Let lady Galadriel hold a speech. + option = { + name = celebrations.1232.a + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.8 } } country_event = { id = celebrations.12321 days = 7 } } + else = { country_event = { id = celebrations.12321 days = 14 } } + } + } + + # Celeborn. It is only sensible that the Lord of Lothlórien should speak to his people. + option = { + name = celebrations.1232.b + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.8 } } country_event = { id = celebrations.12322 days = 7 } } + else = { country_event = { id = celebrations.12322 days = 14 } } + } + } + + # Let a commoner from the crowd speak. + option = { + name = celebrations.1232.c + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.8 } } country_event = { id = celebrations.12323 days = 7 } } + else = { country_event = { id = celebrations.12323 days = 14 } } + } + } + + + +} + +# Celebrations coming to a close +country_event = { + id = celebrations.1233 + title = celebrations.1233.t + desc = celebrations.1233.d + + picture = GFX_report_event_celebrations_3 + + is_triggered_only = yes + timeout_days = 7 + + # Have Celeborn speak on the history of Doriath. + option = { + name = celebrations.1233.a + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.8 } } country_event = { id = celebrations.12331 days = 7 } } + else = { country_event = { id = celebrations.12331 days = 14 } } + } + } + + # The Sindar must learn to be more humble. Let's have fun with a feast and fireworks! + option = { + name = celebrations.1233.b + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.8 } } country_event = { id = celebrations.12332 days = 7 } } + else = { country_event = { id = celebrations.12332 days = 14 } } + } + } + + # Galadriel could offer an apology to the Sindar. + option = { + name = celebrations.1233.c + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.8 } } country_event = { id = celebrations.12333 days = 7 } } + else = { country_event = { id = celebrations.12333 days = 14 } } + } + } + + + +} + +# Selecting a Musical Performance +country_event = { + id = celebrations.13 + title = celebrations.13.t + desc = celebrations.13.d + + picture = GFX_report_event_celebrations + + is_triggered_only = yes + timeout_days = 7 + + # A Nandor ballad, The Song of Nimrodel. + option = { + name = celebrations.13.a + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.4 } } country_event = { id = celebrations.131 days = 7 } } + else = { country_event = { id = celebrations.131 days = 14 } } + } + } + + # A Sindarin classic, Elbereth Githoniel. + option = { + name = celebrations.13.b + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.4 } } country_event = { id = celebrations.132 days = 7 } } + else = { country_event = { id = celebrations.132 days = 14 } } + } + } + + # A Ñoldor song on the fall of Gil-Galad + option = { + name = celebrations.13.c + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.4 } } country_event = { id = celebrations.133 days = 7 } } + else = { country_event = { id = celebrations.133 days = 14 } } + } + } + + + +} + +# Organizing an Uplifting Activity +country_event = { + id = celebrations.131 + title = celebrations.131.t + desc = celebrations.131.d + + picture = GFX_report_event_celebrations_2 + + is_triggered_only = yes + timeout_days = 7 + + # We should have a group pilgrimage through the Golden Wood. + option = { + name = celebrations.131.a + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.6 } } country_event = { id = celebrations.1311 days = 7 } } + else = { country_event = { id = celebrations.1311 days = 14 } } + } + } + + # How about an Archery tournament? + option = { + name = celebrations.131.b + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.6 } } country_event = { id = celebrations.1312 days = 7 } } + else = { country_event = { id = celebrations.1312 days = 14 } } + } + } + + # Let's keep things calm and quiet. + option = { + name = celebrations.131.c + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.6 } } country_event = { id = celebrations.1313 days = 7 } } + else = { country_event = { id = celebrations.1313 days = 14 } } + } + } + + + +} + +# Celebrations coming to a close +country_event = { + id = celebrations.1311 + title = celebrations.1311.t + desc = celebrations.1311.d + + picture = GFX_report_event_celebrations_3 + + is_triggered_only = yes + timeout_days = 7 + + # Let lady Galadriel hold a speech. + option = { + name = celebrations.1311.a + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.8 } } country_event = { id = celebrations.13111 days = 7 } } + else = { country_event = { id = celebrations.13111 days = 14 } } + } + } + + # Celeborn. It is only sensible that the Lord of Lothlórien should speak to his people. + option = { + name = celebrations.1311.b + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.8 } } country_event = { id = celebrations.13112 days = 7 } } + else = { country_event = { id = celebrations.13112 days = 14 } } + } + } + + # Haldir, the marchwarden of Lothlórien. + option = { + name = celebrations.1311.c + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.8 } } country_event = { id = celebrations.13113 days = 7 } } + else = { country_event = { id = celebrations.13113 days = 14 } } + } + } + + + +} + +# Celebrations coming to a close +country_event = { + id = celebrations.1312 + title = celebrations.1312.t + desc = celebrations.1312.d + + picture = GFX_report_event_tournament + + is_triggered_only = yes + timeout_days = 7 + + # We should award the archery champion a specially crafted bow, and ephasize his battle-skill. + option = { + name = celebrations.1312.a + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.8 } } country_event = { id = celebrations.13121 days = 7 } } + else = { country_event = { id = celebrations.13121 days = 14 } } + } + } + + # That's enough on war, let's celebrate the theme of these festivities: the first elves. + option = { + name = celebrations.1312.b + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.8 } } country_event = { id = celebrations.13122 days = 7 } } + else = { country_event = { id = celebrations.13122 days = 14 } } + } + } + + # We should have another performance of the Song of Nimrodel. + option = { + name = celebrations.1312.c + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.8 } } country_event = { id = celebrations.13123 days = 7 } } + else = { country_event = { id = celebrations.13123 days = 14 } } + } + } + + + +} + +# Celebrations coming to a close +country_event = { + id = celebrations.1313 + title = celebrations.1313.t + desc = celebrations.1313.d + + picture = GFX_report_event_celebrations_3 + + is_triggered_only = yes + timeout_days = 7 + + # We should speak on our future in Valinor, and elven enternity. + option = { + name = celebrations.1313.a + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.8 } } country_event = { id = celebrations.13131 days = 7 } } + else = { country_event = { id = celebrations.13131 days = 14 } } + } + } + + # Focus on the unrelenting elven fighting spirit. + option = { + name = celebrations.1313.b + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.8 } } country_event = { id = celebrations.13132 days = 7 } } + else = { country_event = { id = celebrations.13132 days = 14 } } + } + } + + # Emphasize the greatness of our silver enclave, which has been our home for many centuries. + option = { + name = celebrations.1313.c + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.8 } } country_event = { id = celebrations.13133 days = 7 } } + else = { country_event = { id = celebrations.13133 days = 14 } } + } + } + + + +} + +# Festivities interrupted by a fire! +country_event = { + id = celebrations.132 + title = celebrations.132.t + desc = celebrations.132.d + + picture = GFX_report_event_fire + + is_triggered_only = yes + timeout_days = 7 + + # It's time for solidarity. The rich Ñoldor should provide temporary housing to those affected. + option = { + name = celebrations.132.a + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.6 } } country_event = { id = celebrations.1321 days = 7 } } + else = { country_event = { id = celebrations.1321 days = 14 } } + } + } + + # Cancel the celebrations immediately. Let's deal with this crisis directly. + option = { + name = celebrations.132.b + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.6 } } country_event = { id = celebrations.1322 days = 7 } } + else = { country_event = { id = celebrations.1322 days = 14 } } + } + } + + # The Nandor can solve this problem themselves. + option = { + name = celebrations.132.c + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.6 } } country_event = { id = celebrations.1323 days = 7 } } + else = { country_event = { id = celebrations.1323 days = 14 } } + } + } + + + +} + +# Celebrations coming to a close +country_event = { + id = celebrations.1321 + title = celebrations.1321.t + desc = celebrations.1321.d + + picture = GFX_report_event_celebrations_3 + + is_triggered_only = yes + timeout_days = 7 + + # We will make sure to publicly praise their efforts. + option = { + name = celebrations.1321.a + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.8 } } country_event = { id = celebrations.13211 days = 7 } } + else = { country_event = { id = celebrations.13211 days = 14 } } + } + } + + # They will be handsomely rewarded. + option = { + name = celebrations.1321.b + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.8 } } country_event = { id = celebrations.13212 days = 7 } } + else = { country_event = { id = celebrations.13212 days = 14 } } + } + } + + # They have it good enough already. + option = { + name = celebrations.1321.c + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.8 } } country_event = { id = celebrations.13213 days = 7 } } + else = { country_event = { id = celebrations.13213 days = 14 } } + } + } + + + +} + +# Rebuilding the Nandor homes +country_event = { + id = celebrations.1322 + title = celebrations.1322.t + desc = celebrations.1322.d + + picture = GFX_report_event_celebrations_3 + + is_triggered_only = yes + timeout_days = 7 + + # Too bad. + option = { + name = celebrations.1322.a + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.8 } } country_event = { id = celebrations.13221 days = 7 } } + else = { country_event = { id = celebrations.13221 days = 14 } } + } + } + + # Once the houses are rebuilt, we shall have a great feast. At equally great cost. + option = { + name = celebrations.1322.b + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.8 } } country_event = { id = celebrations.13222 days = 7 } } + else = { country_event = { id = celebrations.13222 days = 14 } } + } + } + + # Dark times lie ahead of us. Let this be a taste. + option = { + name = celebrations.1322.c + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.8 } } country_event = { id = celebrations.13223 days = 7 } } + else = { country_event = { id = celebrations.13223 days = 14 } } + } + } + + + +} + +# Celebrations coming to a close +country_event = { + id = celebrations.1323 + title = celebrations.1323.t + desc = celebrations.1323.d + + picture = GFX_report_event_celebrations_3 + + is_triggered_only = yes + timeout_days = 7 + + # Well, at least someone had fun. + option = { + name = celebrations.1323.a + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.8 } } country_event = { id = celebrations.13231 days = 7 } } + else = { country_event = { id = celebrations.13231 days = 14 } } + } + } + + # We should conclude the celebrations with a public charity drive to help those affected. + option = { + name = celebrations.1323.b + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.8 } } country_event = { id = celebrations.13232 days = 7 } } + else = { country_event = { id = celebrations.13232 days = 14 } } + } + } + + # The Sindar and Ñoldor should pay for some of the damage. + option = { + name = celebrations.1323.c + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.8 } } country_event = { id = celebrations.13233 days = 7 } } + else = { country_event = { id = celebrations.13233 days = 14 } } + } + } + + + +} + +# The song of Gil-Galad deemed inappropriate +country_event = { + id = celebrations.133 + title = celebrations.133.t + desc = celebrations.133.d + + picture = GFX_report_event_celebrations_2 + + is_triggered_only = yes + timeout_days = 7 + + # Gil-Galad was the High King of the Eldar. It is not 'inappropriate'. + option = { + name = celebrations.133.a + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.6 } } country_event = { id = celebrations.1331 days = 7 } } + else = { country_event = { id = celebrations.1331 days = 14 } } + } + } + + # They are right. We should perform some historical recitations to connect Gil-Galad to the first elves. + option = { + name = celebrations.133.b + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.6 } } country_event = { id = celebrations.1332 days = 7 } } + else = { country_event = { id = celebrations.1332 days = 14 } } + } + } + + # We should honor other great elves as well. Such as Melian and Elu Thingol. + option = { + name = celebrations.133.c + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.6 } } country_event = { id = celebrations.1333 days = 7 } } + else = { country_event = { id = celebrations.1333 days = 14 } } + } + } + + + +} + +# Celebrations coming to a close +country_event = { + id = celebrations.1331 + title = celebrations.1331.t + desc = celebrations.1331.d + + picture = GFX_report_event_celebrations_3 + + is_triggered_only = yes + timeout_days = 7 + + # Let lady Galadriel hold a speech. + option = { + name = celebrations.1331.a + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.8 } } country_event = { id = celebrations.13311 days = 7 } } + else = { country_event = { id = celebrations.13311 days = 14 } } + } + } + + # Celeborn. It is only sensible that the Lord of Lothlórien should speak to his people. + option = { + name = celebrations.1331.b + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.8 } } country_event = { id = celebrations.13312 days = 7 } } + else = { country_event = { id = celebrations.13312 days = 14 } } + } + } + + # Haldir, the marchwarden of Lothlórien should speak to them. + option = { + name = celebrations.1331.c + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.8 } } country_event = { id = celebrations.13313 days = 7 } } + else = { country_event = { id = celebrations.13313 days = 14 } } + } + } + + + +} + +# Celebrations coming to a close +country_event = { + id = celebrations.1332 + title = celebrations.1332.t + desc = celebrations.1332.d + + picture = GFX_report_event_celebrations_3 + + is_triggered_only = yes + timeout_days = 7 + + # Galadriel should highlight the continuity between the first elves, Gil-Galad and our present enclave. + option = { + name = celebrations.1332.a + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.8 } } country_event = { id = celebrations.13321 days = 7 } } + else = { country_event = { id = celebrations.13321 days = 14 } } + } + } + + # Celeborn should speak on the relation between the first elves, the kingdom of Doriath and our present. + option = { + name = celebrations.1332.b + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.8 } } country_event = { id = celebrations.13322 days = 7 } } + else = { country_event = { id = celebrations.13322 days = 14 } } + } + } + + # Highlight the connection to the Nandor settlers that established our enclave. Let Haldir speak. + option = { + name = celebrations.1332.c + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.8 } } country_event = { id = celebrations.13323 days = 7 } } + else = { country_event = { id = celebrations.13323 days = 14 } } + } + } + + + +} + +# Celebrations coming to a close +country_event = { + id = celebrations.1333 + title = celebrations.1333.t + desc = celebrations.1333.d + + picture = GFX_report_event_celebrations_3 + + is_triggered_only = yes + timeout_days = 7 + + # A costume parade showcasing all the great elven legends. + option = { + name = celebrations.1333.a + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.8 } } country_event = { id = celebrations.13331 days = 7 } } + else = { country_event = { id = celebrations.13331 days = 14 } } + } + } + + # A common elven dance. + option = { + name = celebrations.1333.b + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.8 } } country_event = { id = celebrations.13332 days = 7 } } + else = { country_event = { id = celebrations.13332 days = 14 } } + } + } + + # A great feast in the center of Caras Galadhon. + option = { + name = celebrations.1333.c + hidden_effect = { + if = { limit = { focus_progress = { focus = lth_publiccelebrations progress > 0.8 } } country_event = { id = celebrations.13333 days = 7 } } + else = { country_event = { id = celebrations.13333 days = 14 } } + } + } + + + +} + +# Celebrations concluded +country_event = { + id = celebrations.11111 + title = celebrations.11111.t + desc = celebrations.11111.d + + picture = GFX_report_event_elves + + is_triggered_only = yes + timeout_days = 7 + + # They'll get over it. + option = { + name = celebrations.11111.a + add_stability = -0.05 + add_war_support = 0.05 + lthi_decrease_influence_nandor_minor = yes + lthi_decrease_influence_sindar_intermediate = yes + lthi_celebrations_increase_influence_noldor_major = yes + lthi_decrease_cw_timer = yes + + } + +} + +# Celebrations concluded +country_event = { + id = celebrations.11112 + title = celebrations.11112.t + desc = celebrations.11112.d + + picture = GFX_report_event_elves + + is_triggered_only = yes + timeout_days = 7 + + # Back to work. + option = { + name = celebrations.11112.a + add_stability = -0.05 + add_war_support = 0.05 + lthi_decrease_influence_nandor_minor = yes + lthi_decrease_influence_sindar_minor = yes + lthi_celebrations_increase_influence_noldor_intermediate = yes + + } + +} + +# Celebrations concluded +country_event = { + id = celebrations.11113 + title = celebrations.11113.t + desc = celebrations.11113.d + + picture = GFX_report_event_elves + + is_triggered_only = yes + timeout_days = 7 + + # Back to work. + option = { + name = celebrations.11113.a + add_stability = -0.05 + add_war_support = 0.05 + lthi_celebrations_increase_influence_nandor_minor = yes + lthi_decrease_influence_sindar_intermediate = yes + lthi_celebrations_increase_influence_noldor_major = yes + + } + +} + +# Celebrations concluded +country_event = { + id = celebrations.11121 + title = celebrations.11121.t + desc = celebrations.11121.d + + picture = GFX_report_event_elves + + is_triggered_only = yes + timeout_days = 7 + + # Alright, back to work. + option = { + name = celebrations.11121.a + add_war_support = 0.05 + lthi_decrease_influence_nandor_minor = yes + lthi_decrease_influence_sindar_minor = yes + lthi_celebrations_increase_influence_noldor_major = yes + + } + +} + +# Celebrations concluded +country_event = { + id = celebrations.11122 + title = celebrations.11122.t + desc = celebrations.11122.d + + picture = GFX_report_event_elves + + is_triggered_only = yes + timeout_days = 7 + + # Back to work. + option = { + name = celebrations.11122.a + add_war_support = 0.05 + lthi_increase_influence_nandor_minor = yes + lthi_increase_influence_sindar_minor = yes + lthi_celebrations_increase_influence_noldor_intermediate = yes + + } + +} + +# Celebrations concluded +country_event = { + id = celebrations.11123 + title = celebrations.11123.t + desc = celebrations.11123.d + + picture = GFX_report_event_elves + + is_triggered_only = yes + timeout_days = 7 + + # They'll get over it. + option = { + name = celebrations.11123.a + add_war_support = 0.05 + lthi_celebrations_increase_influence_nandor_minor = yes + lthi_celebrations_increase_influence_noldor_intermediate = yes + + } + +} + +# Celebrations concluded +country_event = { + id = celebrations.11131 + title = celebrations.11131.t + desc = celebrations.11131.d + + picture = GFX_report_event_elves + + is_triggered_only = yes + timeout_days = 7 + + # It was good while it lasted. + option = { + name = celebrations.11131.a + add_stability = 0.05 + lthi_celebrations_increase_influence_nandor_minor = yes + lthi_celebrations_increase_influence_noldor_minor = yes + lthi_celebrations_increase_influence_sindar_minor = yes + + } + +} + +# Celebrations concluded +country_event = { + id = celebrations.11132 + title = celebrations.11132.t + desc = celebrations.11132.d + + picture = GFX_report_event_elves + + is_triggered_only = yes + timeout_days = 7 + + # Mistakes were made. + option = { + name = celebrations.11132.a + add_political_power = 100 + lthi_decrease_influence_nandor_intermediate = yes + lthi_celebrations_increase_influence_noldor_intermediate = yes + lthi_decrease_influence_noldor_intermediate = yes + + } + +} + +# Celebrations concluded +country_event = { + id = celebrations.11133 + title = celebrations.11133.t + desc = celebrations.11133.d + + picture = GFX_report_event_elves + + is_triggered_only = yes + timeout_days = 7 + + # Mistakes were made. + option = { + name = celebrations.11133.a + add_political_power = -150 + lthi_decrease_influence_nandor_intermediate = yes + lthi_celebrations_increase_influence_noldor_minor = yes + lthi_decrease_influence_sindar_intermediate = yes + + } + +} + +# Celebrations concluded +country_event = { + id = celebrations.11211 + title = celebrations.11211.t + desc = celebrations.11211.d + + picture = GFX_report_event_elves + + is_triggered_only = yes + timeout_days = 7 + + # It was good while it lasted. + option = { + name = celebrations.11211.a + add_political_power = 150 + add_stability = -0.05 + lthi_celebrations_increase_influence_noldor_major = yes + lthi_decrease_influence_sindar_intermediate = yes + lthi_decrease_cw_timer = yes + + } + +} + +# Celebrations concluded +country_event = { + id = celebrations.11212 + title = celebrations.11212.t + desc = celebrations.11212.d + + picture = GFX_report_event_elves + + is_triggered_only = yes + timeout_days = 7 + + # They will get over it... + option = { + name = celebrations.11212.a + add_political_power = 150 + add_stability = -0.05 + lthi_celebrations_increase_influence_noldor_intermediate = yes + lthi_celebrations_increase_influence_nandor_minor = yes + lthi_decrease_influence_sindar_major = yes + lthi_decrease_bonus_sindar_major = yes + + } + +} + +# Celebrations concluded +country_event = { + id = celebrations.11213 + title = celebrations.11213.t + desc = celebrations.11213.d + + picture = GFX_report_event_elves + + is_triggered_only = yes + timeout_days = 7 + + # Not the ending we hoped for. + option = { + name = celebrations.11213.a + add_stability = -0.1 + lthi_decrease_cw_timer = yes + lthi_celebrations_increase_influence_noldor_minor = yes + lthi_decrease_influence_sindar_minor = yes + lthi_decrease_bonus_sindar = yes + + } + +} + + +# Celebrations concluded +country_event = { + id = celebrations.11221 + title = celebrations.11221.t + desc = celebrations.11221.d + + picture = GFX_report_event_elves + + is_triggered_only = yes + timeout_days = 7 + + # It was good while it lasted. + option = { + name = celebrations.11221.a + add_stability = -0.05 + lthi_decrease_cw_timer = yes + lthi_decrease_influence_noldor_minor = yes + lthi_celebrations_increase_influence_sindar_major = yes + lthi_celebrations_increase_influence_nandor_minor = yes + + } + +} + +# Celebrations concluded +country_event = { + id = celebrations.11222 + title = celebrations.11222.t + desc = celebrations.11222.d + + picture = GFX_report_event_elves + + is_triggered_only = yes + timeout_days = 7 + + # It was good while it lasted. + option = { + name = celebrations.11222.a + add_stability = 0.1 + lthi_celebrations_increase_influence_sindar_intermediate = yes + lthi_celebrations_increase_influence_nandor_minor = yes + lthi_celebrations_increase_influence_noldor_minor = yes + + } + +} + +# Celebrations concluded +country_event = { + id = celebrations.11223 + title = celebrations.11223.t + desc = celebrations.11223.d + + picture = GFX_report_event_elves + + is_triggered_only = yes + timeout_days = 7 + + # They will get over it. + option = { + name = celebrations.11223.a + add_stability = -0.05 + add_political_power = 100 + lthi_decrease_cw_timer = yes + lthi_celebrations_increase_influence_sindar_major = yes + lthi_decrease_influence_noldor_minor = yes + + } + +} + +# Celebrations concluded +country_event = { + id = celebrations.11231 + title = celebrations.11231.t + desc = celebrations.11231.d + + picture = GFX_report_event_elves + + is_triggered_only = yes + timeout_days = 7 + + # It was good while it lasted. + option = { + name = celebrations.11231.a + lthi_increase_cw_timer = yes + lthi_celebrations_increase_influence_sindar_minor = yes + lthi_celebrations_increase_influence_noldor_minor = yes + lthi_celebrations_increase_influence_nandor_minor = yes + + } + +} + +# Celebrations concluded +country_event = { + id = celebrations.11232 + title = celebrations.11232.t + desc = celebrations.11232.d + + picture = GFX_report_event_elves + + is_triggered_only = yes + timeout_days = 7 + + # Mistakes were made. + option = { + name = celebrations.11232.a + add_stability = -0.05 + add_political_power = -100 + lthi_celebrations_increase_influence_sindar_minor = yes + + } + +} + +# Celebrations concluded +country_event = { + id = celebrations.11233 + title = celebrations.11233.t + desc = celebrations.11233.d + + picture = GFX_report_event_elves + + is_triggered_only = yes + timeout_days = 7 + + # They'll get over it. + option = { + name = celebrations.11233.a + lthi_decrease_cw_timer = yes + lthi_decrease_influence_sindar_major = yes + lthi_celebrations_increase_influence_noldor_major = yes + lthi_celebrations_increase_influence_nandor_minor = yes + lthi_decrease_bonus_sindar_major = yes + + } + +} + +# Celebrations concluded +country_event = { + id = celebrations.11311 + title = celebrations.11311.t + desc = celebrations.11311.d + + picture = GFX_report_event_elves + + is_triggered_only = yes + timeout_days = 7 + + # It was good while it lasted. + option = { + name = celebrations.11311.a + add_stability = 0.05 + lthi_increase_cw_timer = yes + lthi_celebrations_increase_influence_sindar_minor = yes + lthi_celebrations_increase_influence_noldor_major = yes + lthi_celebrations_increase_influence_nandor_minor = yes + lthi_increase_bonus_noldor = yes + + } + +} + +# Celebrations concluded +country_event = { + id = celebrations.11312 + title = celebrations.11312.t + desc = celebrations.11312.d + + picture = GFX_report_event_elves + + is_triggered_only = yes + timeout_days = 7 + + # GOOD ONE + # It was good while it lasted. + option = { + name = celebrations.11312.a + add_stability = 0.05 + lthi_increase_cw_timer = yes + lthi_celebrations_increase_influence_sindar_intermediate = yes + lthi_celebrations_increase_influence_noldor_major = yes + lthi_celebrations_increase_influence_nandor_minor = yes + + } + +} + +# Celebrations concluded +country_event = { + id = celebrations.11313 + title = celebrations.11313.t + desc = celebrations.11313.d + + picture = GFX_report_event_elves + + is_triggered_only = yes + timeout_days = 7 + + # It was good while it lasted. + option = { + name = celebrations.11313.a + add_stability = 0.05 + lthi_increase_cw_timer = yes + lthi_celebrations_increase_influence_noldor_major = yes + lthi_celebrations_increase_influence_nandor_minor = yes + + } + +} + +# Celebrations concluded +country_event = { + id = celebrations.11321 + title = celebrations.11321.t + desc = celebrations.11321.d + + picture = GFX_report_event_elves + + is_triggered_only = yes + timeout_days = 7 + + # It was good while it lasted. + option = { + name = celebrations.11321.a + lthi_celebrations_increase_influence_noldor_minor = yes + RIV = { add_opinion_modifier = { target = LTH modifier = medium_increase } } + MIR = { add_opinion_modifier = { target = LTH modifier = medium_increase } } + add_stability = 0.05 + add_political_power = 100 + + } + +} + +# Celebrations concluded +country_event = { + id = celebrations.11322 + title = celebrations.11322.t + desc = celebrations.11322.d + + picture = GFX_report_event_elves + + is_triggered_only = yes + timeout_days = 7 + + # It was good while it lasted. + option = { + name = celebrations.11322.a + lthi_celebrations_increase_influence_noldor_intermediate = yes + RIV = { add_opinion_modifier = { target = LTH modifier = small_increase } } + MIR = { add_opinion_modifier = { target = LTH modifier = small_increase } } + add_stability = 0.05 + add_political_power = 100 + + } + +} + +# Celebrations concluded +country_event = { + id = celebrations.11323 + title = celebrations.11323.t + desc = celebrations.11323.d + + picture = GFX_report_event_elves + + is_triggered_only = yes + timeout_days = 7 + + # It was good while it lasted. + option = { + name = celebrations.11323.a + lthi_celebrations_increase_influence_noldor_intermediate = yes + lthi_celebrations_increase_influence_sindar_minor = yes + RIV = { add_opinion_modifier = { target = LTH modifier = small_increase } } + MIR = { add_opinion_modifier = { target = LTH modifier = small_increase } } + add_stability = 0.05 + + } + +} + +# Celebrations concluded +country_event = { + id = celebrations.11331 + title = celebrations.11331.t + desc = celebrations.11331.d + + picture = GFX_report_event_elves + + is_triggered_only = yes + timeout_days = 7 + + # The dwarves need to learn to behave. + option = { + name = celebrations.11331.a + lthi_celebrations_increase_influence_noldor_minor = yes + ERE = { add_opinion_modifier = { target = LTH modifier = large_decrease } } + MOA = { add_opinion_modifier = { target = LTH modifier = large_decrease } } + MIR = { add_opinion_modifier = { target = LTH modifier = large_increase } } + + } + +} + +# Celebrations concluded +country_event = { + id = celebrations.11332 + title = celebrations.11332.t + desc = celebrations.11332.d + + picture = GFX_report_event_elves + + is_triggered_only = yes + timeout_days = 7 + + # It was good while it lasted. + option = { + name = celebrations.11332.a + lthi_celebrations_increase_influence_noldor_minor = yes + ERE = { add_opinion_modifier = { target = LTH modifier = medium_increase } } + MOA = { add_opinion_modifier = { target = LTH modifier = medium_increase } } + MIR = { add_opinion_modifier = { target = LTH modifier = small_decrease } } + } + +} + +# Celebrations concluded +country_event = { + id = celebrations.11333 + title = celebrations.11333.t + desc = celebrations.11333.d + + picture = GFX_report_event_elves + + is_triggered_only = yes + timeout_days = 7 + + # It was good while it lasted. + option = { + name = celebrations.11333.a + lthi_celebrations_increase_influence_noldor_minor = yes + ERE = { add_opinion_modifier = { target = LTH modifier = medium_increase } } + MOA = { add_opinion_modifier = { target = LTH modifier = medium_increase } } + MIR = { add_opinion_modifier = { target = LTH modifier = medium_increase } } + } + +} + +# Celebrations concluded +country_event = { + id = celebrations.12111 + title = celebrations.12111.t + desc = celebrations.12111.d + + picture = GFX_report_event_elves + + is_triggered_only = yes + timeout_days = 7 + + # We wish them a safe journey. + option = { + name = celebrations.12111.a + add_stability = 0.05 + add_war_support = -0.05 + lthi_increase_cw_timer = yes + lthi_celebrations_increase_influence_sindar_major = yes + lthi_celebrations_increase_influence_nandor_intermediate = yes + lthi_send_to_valinor_noldor = yes + } + +} + +# Celebrations concluded +country_event = { + id = celebrations.12112 + title = celebrations.12112.t + desc = celebrations.12112.d + + picture = GFX_report_event_elves + + is_triggered_only = yes + timeout_days = 7 + + # We wish them a safe journey. + option = { + name = celebrations.12112.a + add_stability = 0.05 + add_war_support = -0.05 + lthi_increase_cw_timer = yes + lthi_celebrations_increase_influence_noldor_major = yes + lthi_celebrations_increase_influence_nandor_intermediate = yes + lthi_send_to_valinor_sindar = yes + } + +} + +# Celebrations concluded +country_event = { + id = celebrations.12113 + title = celebrations.12113.t + desc = celebrations.12113.d + + picture = GFX_report_event_elves + + is_triggered_only = yes + timeout_days = 7 + + # GOOD ONE + # We wish them a safe journey. + option = { + name = celebrations.12113.a + add_stability = 0.05 + add_war_support = -0.05 + lthi_increase_cw_timer = yes + lthi_celebrations_increase_influence_sindar_intermediate = yes + lthi_celebrations_increase_influence_noldor_intermediate = yes + lthi_send_to_valinor_nandor = yes + } + +} + +# Celebrations concluded +country_event = { + id = celebrations.12121 + title = celebrations.12121.t + desc = celebrations.12121.d + + picture = GFX_report_event_elves + + is_triggered_only = yes + timeout_days = 7 + + # GOOD ONE + # It was good while it lasted. + option = { + name = celebrations.12121.a + add_war_support = 0.05 + lthi_celebrations_increase_influence_sindar_major = yes + lthi_celebrations_increase_influence_noldor_intermediate = yes + add_timed_idea = { idea = increased_morale days = 90 } + + } + +} + +# Celebrations concluded +country_event = { + id = celebrations.12122 + title = celebrations.12122.t + desc = celebrations.12122.d + + picture = GFX_report_event_elves + + is_triggered_only = yes + timeout_days = 7 + + # It was good while it lasted. + option = { + name = celebrations.12122.a + lthi_celebrations_increase_influence_sindar_major = yes + lthi_decrease_influence_noldor_minor = yes + add_timed_idea = { idea = increased_morale days = 90 } + + } + +} + +# Celebrations concluded +country_event = { + id = celebrations.12123 + title = celebrations.12123.t + desc = celebrations.12123.d + + picture = GFX_report_event_elves + + is_triggered_only = yes + timeout_days = 7 + + # Their concerns are unfounded. + option = { + name = celebrations.12123.a + add_political_power = -150 + lthi_celebrations_increase_influence_sindar_intermediate = yes + add_timed_idea = { idea = decreased_morale days = 210 } + + } + +} + +# Celebrations Concluded +country_event = { + id = celebrations.12131 + title = celebrations.12131.t + desc = celebrations.12131.d + + picture = GFX_report_event_elves + + is_triggered_only = yes + timeout_days = 7 + + # A harmonious conclusion. + option = { + name = celebrations.12131.a + lthi_celebrations_increase_influence_sindar_intermediate = yes + add_timed_idea = { idea = euphoric_mood days = 180 } + lthi_increase_cw_timer = yes + + } + +} + +# Celebrations Concluded +country_event = { + id = celebrations.12132 + title = celebrations.12132.t + desc = celebrations.12132.d + + picture = GFX_report_event_elves + + is_triggered_only = yes + timeout_days = 7 + + # GOOD ONE + # A reassuring conclusion. + option = { + name = celebrations.12132.a + add_war_support = 0.1 + lthi_celebrations_increase_influence_sindar_major = yes + add_timed_idea = { idea = euphoric_mood days = 60 } + lthi_increase_cw_timer = yes + + } + +} + +# Celebrations Concluded +country_event = { + id = celebrations.12133 + title = celebrations.12133.t + desc = celebrations.12133.d + + picture = GFX_report_event_elves + + is_triggered_only = yes + timeout_days = 7 + + # This will hurt our productivity in the coming days. + option = { + name = celebrations.12133.a + lthi_celebrations_increase_influence_sindar_major = yes + add_timed_idea = { idea = euphoric_mood days = 210 } + lthi_increase_cw_timer = yes + + } + +} + +# Celebrations Concluded +country_event = { + id = celebrations.12211 + title = celebrations.12211.t + desc = celebrations.12211.d + + picture = GFX_report_event_elves + + is_triggered_only = yes + timeout_days = 7 + + # Mixed success. + option = { + name = celebrations.12211.a + lthi_celebrations_increase_influence_sindar_intermediate = yes + lthi_celebrations_increase_influence_noldor_minor = yes + lthi_celebrations_increase_influence_nandor_minor = yes + lthi_decrease_cw_timer = yes + add_stability = -0.05 + + } + +} + +# Celebrations Concluded +country_event = { + id = celebrations.12212 + title = celebrations.12212.t + desc = celebrations.12212.d + + picture = GFX_report_event_elves + + is_triggered_only = yes + timeout_days = 7 + + # Mixed reactions. + option = { + name = celebrations.12212.a + lthi_celebrations_increase_influence_sindar_major = yes + lthi_decrease_influence_noldor_intermediate = yes + lthi_celebrations_increase_influence_nandor_minor = yes + lthi_decrease_cw_timer = yes + + } + +} + +# Celebrations Concluded +country_event = { + id = celebrations.12213 + title = celebrations.12213.t + desc = celebrations.12213.d + + picture = GFX_report_event_elves + + is_triggered_only = yes + timeout_days = 7 + + # A delicate balance. + option = { + name = celebrations.12213.a + lthi_celebrations_increase_influence_sindar_major = yes + lthi_celebrations_increase_influence_nandor_minor = yes + lthi_decrease_cw_timer = yes + + } + +} + +# Celebrations Concluded +country_event = { + id = celebrations.12221 + title = celebrations.12221.t + desc = celebrations.12221.d + + picture = GFX_report_event_elves + + is_triggered_only = yes + timeout_days = 7 + + # A harmonious conclusion. + option = { + name = celebrations.12221.a + lthi_celebrations_increase_influence_sindar_major = yes + lthi_celebrations_increase_influence_nandor_minor = yes + add_stability = 0.05 + lthi_increase_cw_timer = yes + + } + +} + +# Celebrations Debrief +country_event = { + id = celebrations.12222 + title = celebrations.12222.t + desc = celebrations.12222.d + + picture = GFX_report_event_elves + + is_triggered_only = yes + timeout_days = 7 + + # A delicate balance. + option = { + name = celebrations.12222.a + lthi_celebrations_increase_influence_sindar_minor = yes + lthi_celebrations_increase_influence_noldor_intermediate = yes + add_stability = -0.05 + lthi_decrease_cw_timer = yes + + } + +} + +# Celebrations Debrief +country_event = { + id = celebrations.12223 + title = celebrations.12223.t + desc = celebrations.12223.d + + picture = GFX_report_event_elves + + is_triggered_only = yes + timeout_days = 7 + + # A step towards unity. + option = { + name = celebrations.12223.a + lthi_celebrations_increase_influence_sindar_intermediate = yes + lthi_celebrations_increase_influence_noldor_minor = yes + lthi_celebrations_increase_influence_nandor_minor = yes + add_stability = 0.05 + lthi_increase_cw_timer = yes + + } + +} + +# Celebrations Debrief +country_event = { + id = celebrations.12231 + title = celebrations.12231.t + desc = celebrations.12231.d + + picture = GFX_report_event_elves + + is_triggered_only = yes + timeout_days = 7 + + # GOOD ONE + # A great success. + option = { + name = celebrations.12231.a + lthi_celebrations_increase_influence_sindar_major = yes + lthi_celebrations_increase_influence_noldor_intermediate = yes + lthi_celebrations_increase_influence_nandor_intermediate = yes + lthi_decrease_influence_halfelves_minor = yes + add_war_support = 0.1 + lthi_increase_cw_timer = yes + + } + +} + +# Celebrations Debrief +country_event = { + id = celebrations.12232 + title = celebrations.12232.t + desc = celebrations.12232.d + + picture = GFX_report_event_elves + + is_triggered_only = yes + timeout_days = 7 + + # Unity with undercurrents. + option = { + name = celebrations.12232.a + lthi_celebrations_increase_influence_sindar_minor = yes + lthi_celebrations_increase_influence_noldor_minor = yes + lthi_celebrations_increase_influence_nandor_minor = yes + lthi_celebrations_increase_influence_halfelves_major = yes + lthi_increase_cw_timer = yes + + } + +} + +# Celebrations Debrief +country_event = { + id = celebrations.12233 + title = celebrations.12233.t + desc = celebrations.12233.d + + picture = GFX_report_event_elves + + is_triggered_only = yes + timeout_days = 7 + + # Too bad. + option = { + name = celebrations.12233.a + lthi_decrease_influence_sindar_intermediate = yes + lthi_decrease_bonus_sindar = yes + lthi_celebrations_increase_influence_noldor_major = yes + lthi_decrease_influence_halfelves_intermediate = yes + add_stability = -0.05 + lthi_decrease_cw_timer = yes + + } + +} + +# Celebrations Debrief +country_event = { + id = celebrations.12311 + title = celebrations.12311.t + desc = celebrations.12311.d + + picture = GFX_report_event_elves + + is_triggered_only = yes + timeout_days = 7 + + # A bittersweet success. + option = { + name = celebrations.12311.a + + lthi_celebrations_increase_influence_nandor_major = yes + lthi_decrease_influence_sindar_minor = yes + add_stability = 0.05 + add_war_support = 0.05 + lthi_decrease_cw_timer = yes + + } + +} + +# Celebrations Debrief +country_event = { + id = celebrations.12312 + title = celebrations.12312.t + desc = celebrations.12312.d + + picture = GFX_report_event_elves + + is_triggered_only = yes + timeout_days = 7 + + # A victorious unity. + option = { + name = celebrations.12312.a + lthi_celebrations_increase_influence_nandor_major = yes + lthi_celebrations_increase_influence_sindar_major = yes + add_stability = 0.1 + add_war_support = 0.05 + add_timed_idea = { idea = three_civs_cost days = 120 } + lthi_increase_cw_timer = yes + + } + +} + +# Celebrations Debrief +country_event = { + id = celebrations.12313 + title = celebrations.12313.t + desc = celebrations.12313.d + + picture = GFX_report_event_elves + + is_triggered_only = yes + timeout_days = 7 + + # Mistakes were made. + option = { + name = celebrations.12313.a + lthi_decrease_influence_nandor_intermediate = yes + lthi_celebrations_increase_influence_sindar_minor = yes + add_political_power = -150 + + } + +} + +# Celebrations Debrief +country_event = { + id = celebrations.12321 + title = celebrations.12321.t + desc = celebrations.12321.d + + picture = GFX_report_event_elves + + is_triggered_only = yes + timeout_days = 7 + + # A mixed but relieved atmosphere. + option = { + name = celebrations.12321.a + lthi_decrease_influence_noldor_minor = yes + lthi_celebrations_increase_influence_sindar_major = yes + lthi_decrease_cw_timer = yes + + } + +} + +# Celebrations Debrief +country_event = { + id = celebrations.12322 + title = celebrations.12322.t + desc = celebrations.12322.d + + picture = GFX_report_event_elves + + is_triggered_only = yes + timeout_days = 7 + + # They'll get over it. + option = { + name = celebrations.12322.a + lthi_decrease_influence_noldor_major = yes + lthi_celebrations_increase_influence_sindar_major = yes + lthi_decrease_cw_timer = yes + add_stability = -0.05 + add_political_power = 100 + + } + +} + +# Celebrations Debrief +country_event = { + id = celebrations.12323 + title = celebrations.12323.t + desc = celebrations.12323.d + + picture = GFX_report_event_elves + + is_triggered_only = yes + timeout_days = 7 + + # A mixed aftermath. + option = { + name = celebrations.12323.a + lthi_decrease_influence_noldor_intermediate = yes + lthi_celebrations_increase_influence_sindar_major = yes + lthi_celebrations_increase_influence_nandor_minor = yes + + } + +} + +# Celebrations Debrief +country_event = { + id = celebrations.12331 + title = celebrations.12331.t + desc = celebrations.12331.d + + picture = GFX_report_event_elves + + is_triggered_only = yes + timeout_days = 7 + + # A subdued conclusion. + option = { + name = celebrations.12331.a + lthi_decrease_influence_noldor_minor = yes + lthi_celebrations_increase_influence_sindar_intermediate = yes + + } + +} + +# Celebrations Debrief +country_event = { + id = celebrations.12332 + title = celebrations.12332.t + desc = celebrations.12332.d + + picture = GFX_report_event_elves + + is_triggered_only = yes + timeout_days = 7 + + # Mixed successes. + option = { + name = celebrations.12332.a + lthi_celebrations_increase_influence_noldor_minor = yes + lthi_celebrations_increase_influence_nandor_intermediate = yes + lthi_decrease_influence_sindar_minor = yes + + } + +} + +# Celebrations Debrief +country_event = { + id = celebrations.12333 + title = celebrations.12333.t + desc = celebrations.12333.d + + picture = GFX_report_event_elves + + is_triggered_only = yes + timeout_days = 7 + + # Mixed sentiments. + option = { + name = celebrations.12333.a + lthi_decrease_influence_noldor_intermediate = yes + lthi_celebrations_increase_influence_nandor_minor = yes + lthi_celebrations_increase_influence_sindar_intermediate = yes + lthi_decrease_cw_timer = yes + add_political_power = 100 + + } + +} + +# Celebrations Debrief +country_event = { + id = celebrations.13111 + title = celebrations.13111.t + desc = celebrations.13111.d + + picture = GFX_report_event_elves + + is_triggered_only = yes + timeout_days = 7 + + # Unity and satisfaction. + option = { + name = celebrations.13111.a + lthi_celebrations_increase_influence_noldor_major = yes + lthi_celebrations_increase_influence_nandor_minor = yes + lthi_celebrations_increase_influence_sindar_minor = yes + lthi_increase_cw_timer = yes + add_stability = 0.05 + + } + +} + +# Celebrations Debrief +country_event = { + id = celebrations.13112 + title = celebrations.13112.t + desc = celebrations.13112.d + + picture = GFX_report_event_elves + + is_triggered_only = yes + timeout_days = 7 + + # Unity and satisfaction. + option = { + name = celebrations.13112.a + lthi_celebrations_increase_influence_noldor_minor = yes + lthi_celebrations_increase_influence_nandor_minor = yes + lthi_celebrations_increase_influence_sindar_major = yes + lthi_increase_cw_timer = yes + add_stability = 0.05 + + } + +} + +# Celebrations Debrief +country_event = { + id = celebrations.13113 + title = celebrations.13113.t + desc = celebrations.13113.d + + picture = GFX_report_event_elves + + is_triggered_only = yes + timeout_days = 7 + + # Unity and satisfaction. + option = { + name = celebrations.13113.a + lthi_celebrations_increase_influence_noldor_minor = yes + lthi_celebrations_increase_influence_nandor_major = yes + lthi_celebrations_increase_influence_sindar_minor = yes + lthi_increase_cw_timer = yes + add_stability = 0.05 + + } + +} + +# Celebrations Debrief +country_event = { + id = celebrations.13121 + title = celebrations.13121.t + desc = celebrations.13121.d + + picture = GFX_report_event_elves + + is_triggered_only = yes + timeout_days = 7 + + # A successful tournament with divergent reactions. + option = { + name = celebrations.13121.a + lthi_decrease_influence_noldor_minor = yes + lthi_celebrations_increase_influence_nandor_minor = yes + lthi_celebrations_increase_influence_sindar_major = yes + add_tech_bonus = { name = special_bonus bonus = 0.25 uses = 1 category = lotr_infantry_archery_bow } + + } + +} + +# Celebrations Debrief +country_event = { + id = celebrations.13122 + title = celebrations.13122.t + desc = celebrations.13122.d + + picture = GFX_report_event_elves + + is_triggered_only = yes + timeout_days = 7 + + # A step towards unity. + option = { + name = celebrations.13122.a + lthi_celebrations_increase_influence_nandor_intermediate = yes + add_stability = 0.05 + lthi_increase_cw_timer = yes + + } + +} + +# Celebrations Debrief +country_event = { + id = celebrations.13123 + title = celebrations.13123.t + desc = celebrations.13123.d + + picture = GFX_report_event_elves + + is_triggered_only = yes + timeout_days = 7 + + # Tournament triumph and a bittersweet melody. + option = { + name = celebrations.13123.a + add_timed_idea = { idea = melancholic_mood days = 180 } + lthi_celebrations_increase_influence_sindar_minor = yes + lthi_celebrations_increase_influence_nandor_major = yes + + } + +} + +# Celebrations Debrief +country_event = { + id = celebrations.13131 + title = celebrations.13131.t + desc = celebrations.13131.d + + picture = GFX_report_event_elves + + is_triggered_only = yes + timeout_days = 7 + + # A bittersweet aftermath. + option = { + name = celebrations.13131.a + add_timed_idea = { idea = melancholic_mood days = 210 } + add_political_power = 200 + + } + +} + +# Celebrations Debrief +country_event = { + id = celebrations.13132 + title = celebrations.13132.t + desc = celebrations.13132.d + + picture = GFX_report_event_elves + + is_triggered_only = yes + timeout_days = 7 + + # A somber reflection. + option = { + name = celebrations.13132.a + add_timed_idea = { idea = melancholic_mood days = 210 } + add_political_power = 200 + add_war_support = 0.05 + + } + +} + +# Celebrations Debrief +country_event = { + id = celebrations.13133 + title = celebrations.13133.t + desc = celebrations.13133.d + + picture = GFX_report_event_elves + + is_triggered_only = yes + timeout_days = 7 + + # GOOD ONE (if you dont need influence) + # A somber reflection. + option = { + name = celebrations.13133.a + add_timed_idea = { idea = increased_austerity days = 120 } + add_stability = 0.1 + add_war_support = 0.1 + + } + +} + +# Celebrations Debrief +country_event = { + id = celebrations.13211 + title = celebrations.13211.t + desc = celebrations.13211.d + + picture = GFX_report_event_elves + + is_triggered_only = yes + timeout_days = 7 + + # GOOD ONE (for noldor) + # Mixed feelings linger. + option = { + name = celebrations.13211.a + lthi_celebrations_increase_influence_noldor_major = yes + lthi_decrease_influence_sindar_intermediate = yes + lthi_increase_bonus_noldor = yes + lthi_decrease_cw_timer = yes + + } + +} + +# Celebrations Debrief +country_event = { + id = celebrations.13212 + title = celebrations.13212.t + desc = celebrations.13212.d + + picture = GFX_report_event_elves + + is_triggered_only = yes + timeout_days = 7 + + # Crisis averted. + option = { + name = celebrations.13212.a + lthi_celebrations_increase_influence_noldor_intermediate = yes + lthi_decrease_influence_sindar_minor = yes + lthi_increase_bonus_noldor = yes + lthi_decrease_cw_timer = yes + add_timed_idea = { idea = minor_expense days = 180 } + + } + +} + +# Celebrations Debrief +country_event = { + id = celebrations.13213 + title = celebrations.13213.t + desc = celebrations.13213.d + + picture = GFX_report_event_elves + + is_triggered_only = yes + timeout_days = 7 + + # Mixed emotions linger. + option = { + name = celebrations.13213.a + lthi_celebrations_increase_influence_noldor_intermediate = yes + add_political_power = -100 + lthi_celebrations_increase_influence_sindar_minor = yes + } + +} + +# Celebrations Debrief +country_event = { + id = celebrations.13221 + title = celebrations.13221.t + desc = celebrations.13221.d + + picture = GFX_report_event_elves + + is_triggered_only = yes + timeout_days = 7 + + # A bittersweet ending. + option = { + name = celebrations.13221.a + lthi_increase_influence_nandor_minor = yes + add_stability = 0.05 + } + +} + +# Celebrations Debrief +country_event = { + id = celebrations.13222 + title = celebrations.13222.t + desc = celebrations.13222.d + + picture = GFX_report_event_elves + + is_triggered_only = yes + timeout_days = 7 + + # A costly outcome. + option = { + name = celebrations.13222.a + lthi_celebrations_increase_influence_nandor_minor = yes + lthi_increase_bonus_nandor = yes + add_stability = 0.05 + add_political_power = 200 + add_timed_idea = { idea = minor_expense days = 180 } + lthi_increase_cw_timer = yes + + } + +} + +# Celebrations Debrief +country_event = { + id = celebrations.13223 + title = celebrations.13223.t + desc = celebrations.13223.d + + picture = GFX_report_event_elves + + is_triggered_only = yes + timeout_days = 7 + + # A somber aftermath. + option = { + name = celebrations.13223.a + lthi_celebrations_increase_influence_nandor_minor = yes + lthi_increase_bonus_nandor = yes + add_stability = -0.05 + add_political_power = -100 + add_timed_idea = { idea = increased_austerity days = 180 } + + } + +} + +# Celebrations Debrief +country_event = { + id = celebrations.13231 + title = celebrations.13231.t + desc = celebrations.13231.d + + picture = GFX_report_event_elves + + is_triggered_only = yes + timeout_days = 7 + + # GOOD ONE (for harmonic) + # A mixed outcome. + option = { + name = celebrations.13231.a + lthi_decrease_influence_nandor_major = yes + lthi_decrease_bonus_nandor_major = yes + add_political_power = -100 + lthi_celebrations_increase_influence_noldor_major = yes + lthi_celebrations_increase_influence_sindar_major = yes + lthi_increase_cw_timer = yes + + } + +} + +# Celebrations Debrief +country_event = { + id = celebrations.13232 + title = celebrations.13232.t + desc = celebrations.13232.d + + picture = GFX_report_event_elves + + is_triggered_only = yes + timeout_days = 7 + + # A mix of discontent and limited relief. + option = { + name = celebrations.13232.a + lthi_decrease_influence_nandor_minor = yes + lthi_decrease_bonus_nandor = yes + add_political_power = -50 + lthi_celebrations_increase_influence_noldor_intermediate = yes + lthi_celebrations_increase_influence_sindar_intermediate = yes + lthi_increase_cw_timer = yes + + } + +} + +# Celebrations Debrief +country_event = { + id = celebrations.13233 + title = celebrations.13233.t + desc = celebrations.13233.d + + picture = GFX_report_event_elves + + is_triggered_only = yes + timeout_days = 7 + + # Mixed success. + option = { + name = celebrations.13233.a + lthi_celebrations_increase_influence_nandor_major = yes + lthi_increase_bonus_nandor = yes + lthi_decrease_bonus_noldor = yes + lthi_decrease_bonus_sindar = yes + add_stability = 0.1 + } + +} + +# Celebrations Debrief +country_event = { + id = celebrations.13311 + title = celebrations.13311.t + desc = celebrations.13311.d + + picture = GFX_report_event_elves + + is_triggered_only = yes + timeout_days = 7 + + # They'll get over it. + option = { + name = celebrations.13311.a + lthi_decrease_influence_sindar_minor = yes + lthi_decrease_influence_nandor_intermediate = yes + lthi_celebrations_increase_influence_noldor_major = yes + lthi_decrease_bonus_nandor = yes + lthi_increase_bonus_noldor = yes + lthi_decrease_cw_timer = yes + + } + +} + +# Celebrations Debrief +country_event = { + id = celebrations.13312 + title = celebrations.13312.t + desc = celebrations.13312.d + + picture = GFX_report_event_elves + + is_triggered_only = yes + timeout_days = 7 + + # This is fine. + option = { + name = celebrations.13312.a + lthi_celebrations_increase_influence_sindar_minor = yes + lthi_decrease_influence_nandor_intermediate = yes + lthi_celebrations_increase_influence_noldor_major = yes + lthi_decrease_bonus_nandor = yes + lthi_increase_bonus_noldor = yes + + } + +} + +# Celebrations Debrief +country_event = { + id = celebrations.13313 + title = celebrations.13313.t + desc = celebrations.13313.d + + picture = GFX_report_event_elves + + is_triggered_only = yes + timeout_days = 7 + + # A balance struck with a shift in focus. + option = { + name = celebrations.13313.a + lthi_decrease_influence_sindar_minor = yes + lthi_decrease_influence_nandor_minor = yes + lthi_celebrations_increase_influence_noldor_major = yes + lthi_decrease_cw_timer = yes + + } + +} + +# Celebrations Debrief +country_event = { + id = celebrations.13321 + title = celebrations.13321.t + desc = celebrations.13321.d + + picture = GFX_report_event_elves + + is_triggered_only = yes + timeout_days = 7 + + # Mixed reactions with debates on history and politics. + option = { + name = celebrations.13321.a + lthi_decrease_influence_sindar_minor = yes + lthi_decrease_influence_nandor_minor = yes + lthi_celebrations_increase_influence_noldor_intermediate = yes + lthi_decrease_cw_timer = yes + add_stability = -0.05 + + } + +} + +# Celebrations Debrief +country_event = { + id = celebrations.13322 + title = celebrations.13322.t + desc = celebrations.13322.d + + picture = GFX_report_event_elves + + is_triggered_only = yes + timeout_days = 7 + + # Mixed reactions with debates on history and politics. + option = { + name = celebrations.13322.a + lthi_decrease_influence_noldor_minor = yes + lthi_decrease_influence_nandor_minor = yes + lthi_celebrations_increase_influence_sindar_intermediate = yes + lthi_decrease_cw_timer = yes + add_stability = -0.05 + + } + +} + +# Celebrations Debrief +country_event = { + id = celebrations.13323 + title = celebrations.13323.t + desc = celebrations.13323.d + + picture = GFX_report_event_elves + + is_triggered_only = yes + timeout_days = 7 + + # A harmonious conclusion + option = { + name = celebrations.13323.a + lthi_decrease_influence_noldor_minor = yes + lthi_decrease_influence_sindar_minor = yes + lthi_celebrations_increase_influence_nandor_intermediate = yes + add_stability = 0.05 + + } + +} + +# Celebrations Debrief +country_event = { + id = celebrations.13331 + title = celebrations.13331.t + desc = celebrations.13331.d + + picture = GFX_report_event_elves + + is_triggered_only = yes + timeout_days = 7 + + # GOOD ONE + # Successful and festive. + option = { + name = celebrations.13331.a + lthi_celebrations_increase_influence_noldor_intermediate = yes + lthi_increase_bonus_noldor = yes + lthi_celebrations_increase_influence_sindar_intermediate = yes + lthi_increase_bonus_sindar = yes + lthi_celebrations_increase_influence_nandor_intermediate = yes + lthi_increase_bonus_nandor = yes + add_stability = 0.05 + lthi_increase_cw_timer = yes + + } + +} + +# Celebrations Debrief +country_event = { + id = celebrations.13332 + title = celebrations.13332.t + desc = celebrations.13332.d + + picture = GFX_report_event_elves + + is_triggered_only = yes + timeout_days = 7 + + # Successful and unifying. + option = { + name = celebrations.13332.a + lthi_celebrations_increase_influence_noldor_intermediate = yes + lthi_celebrations_increase_influence_sindar_intermediate = yes + lthi_celebrations_increase_influence_nandor_intermediate = yes + add_stability = 0.1 + lthi_increase_cw_timer = yes + + } + +} + +# Celebrations Debrief +country_event = { + id = celebrations.13333 + title = celebrations.13333.t + desc = celebrations.13333.d + + picture = GFX_report_event_elves + + is_triggered_only = yes + timeout_days = 7 + + # Successful and unifying. + option = { + name = celebrations.13333.a + lthi_celebrations_increase_influence_noldor_intermediate = yes + lthi_celebrations_increase_influence_sindar_intermediate = yes + lthi_celebrations_increase_influence_nandor_intermediate = yes + add_stability = 0.1 + add_political_power = 100 + lthi_decrease_cw_timer = yes + + } + +} diff --git a/events/Denethor_paranoid_chain.txt b/events/Denethor_paranoid_chain.txt new file mode 100644 index 000000000..e91d15f89 --- /dev/null +++ b/events/Denethor_paranoid_chain.txt @@ -0,0 +1,179 @@ +########################### +# Denethor Paranoid Events +########################### + +add_namespace = denethor_paranoid + +#Start Denethor Parnanoid event chain +country_event = { + id = denethor_paranoid.1 + title = denethor_paranoid.1.t + desc = denethor_paranoid.1.d + picture = GFX_report_event_ring + + mean_time_to_happen = { days = 35 } + fire_only_once = yes + + trigger = { + date > 3018.1.31 + tag = GON + denethor_is_leader = yes + } + + option = { + name = denethor_paranoid.1.a + ai_chance = { + base = 50 + } + add_ideas = GON_denethor_0 + } +} + +#The nazguls being gatherd by Mordor +country_event = { + id = denethor_paranoid.2 + title = denethor_paranoid.2.t + desc = denethor_paranoid.2.d + picture = GFX_report_event_ring + + is_triggered_only = yes + + trigger = { + denethor_is_leader = yes + } + + option = { + name = denethor_paranoid.2.a + ai_chance = { + base = 50 + } + denethor_gets_more_paranoid = yes + } +} + +#Harad joining the Dark Pact faction +country_event = { + id = denethor_paranoid.3 + title = denethor_paranoid.3.t + desc = denethor_paranoid.3.d + picture = GFX_report_event_ring + + mean_time_to_happen = { days = 10 } + fire_only_once = yes + + trigger = { + HAR = { + is_in_faction_with = MOR + } + GON = { + is_denethor_paranoid = yes + } + tag = GON + } + + + option = { + name = denethor_paranoid.3.a + ai_chance = { + base = 50 + } + denethor_gets_more_paranoid = yes + } +} + +#Isengard rebranded +country_event = { + id = denethor_paranoid.4 + title = denethor_paranoid.4.t + desc = denethor_paranoid.4.d + picture = GFX_report_event_ring + + is_triggered_only = yes + + trigger = { + denethor_is_leader = yes + } + + option = { + name = denethor_paranoid.4.a + ai_chance = { + base = 50 + } + denethor_gets_more_paranoid = yes + } +} + +#Black gate outskirts annexed by Mordor +country_event = { + id = denethor_paranoid.5 + title = denethor_paranoid.5.t + desc = denethor_paranoid.5.d + picture = GFX_report_event_ring + + is_triggered_only = yes + + trigger = { + denethor_is_leader = yes + } + + option = { + name = denethor_paranoid.5.a + ai_chance = { + base = 50 + } + denethor_gets_more_paranoid = yes + } +} + +#Isengard joining the Dark Pact faction +country_event = { + id = denethor_paranoid.6 + title = denethor_paranoid.6.t + desc = denethor_paranoid.6.d + picture = GFX_report_event_ring + + mean_time_to_happen = { days = 10 } + fire_only_once = yes + + trigger = { + ISE = { + is_in_faction_with = MOR + } + GON = { + is_denethor_paranoid = yes + } + tag = GON + } + + + option = { + name = denethor_paranoid.6.a + ai_chance = { + base = 50 + } + denethor_gets_more_paranoid = yes + } +} + + +#Rohan getting rid of Theoden +country_event = { + id = denethor_paranoid.7 + title = denethor_paranoid.7.t + desc = denethor_paranoid.7.d + picture = GFX_report_event_ring + + is_triggered_only = yes + + trigger = { + denethor_is_leader = yes + } + + option = { + name = denethor_paranoid.7.a + ai_chance = { + base = 50 + } + denethor_gets_more_paranoid = yes + } +} diff --git a/events/Dol_Amroth.txt b/events/Dol_Amroth.txt new file mode 100644 index 000000000..d7193fff6 --- /dev/null +++ b/events/Dol_Amroth.txt @@ -0,0 +1,72 @@ +########################### +# Dol Amroth Events +########################### + +add_namespace = dolamroth + + +# Gondor denounces Isildurs heritage +country_event = { + id = dolamroth.1 + title = dolamroth.1.t + desc = dolamroth.1.d + picture = GFX_report_event_paper + + is_triggered_only = yes + fire_only_once = yes + + option = { # Stay loyal to Isildur + name = dolamroth.1.a + ai_chance = { + base = 50 + modifier = { + add = -10 + has_country_flag = denethor_supporters + } + modifier = { + add = -50 + has_country_leader = { character = DAM_amrothos ruling_only = yes } + } + } + GON = { + country_event = gondor.22 + set_autonomy = { + target = DAM + autonomy_state = autonomy_free + } + remove_from_faction = DAM + denethor_gets_more_paranoid = yes + } + } + option = { # Follow Gondor + name = dolamroth.1.b + ai_chance = { + base = 25 + modifier = { + add = 5 + has_country_flag = denethor_supporters + } + modifier = { + add = 50 + has_country_leader = { character = DAM_amrothos ruling_only = yes } + } + } + add_stability = 0.10 + } +} + +# Gondor gets wargoal to take Dol Amroth back +country_event = { + id = dolamroth.2 + title = dolamroth.2.t + desc = dolamroth.2.d + picture = GFX_report_event_paper + + is_triggered_only = yes + fire_only_once = yes + + option = { + name = dolamroth.2.a + add_war_support = 0.05 + } +} diff --git a/events/ElvenAllianceEvents.txt b/events/ElvenAllianceEvents.txt new file mode 100644 index 000000000..0ba89f3b0 --- /dev/null +++ b/events/ElvenAllianceEvents.txt @@ -0,0 +1,373 @@ +add_namespace = elven_alliance + +# AI vote for resolution event +country_event = { + id = elven_alliance.1 + + hidden = yes + + mean_time_to_happen = { + days = 10 + } + + trigger = { + has_country_flag = is_elven_alliance_member + is_ai = yes + has_global_flag = ea_vote_in_progress + } + + immediate = { + elven_alliance_ai_vote = yes + } +} + +# Invite to elven alliance +country_event = { + id = elven_alliance.2 + title = elven_alliance.2.t + desc = elven_alliance.2.d + picture = GFX_report_event_alliance + + is_triggered_only = yes + + # Ye + option = { + name = elven_alliance.2.a + ai_chance = { + base = 20 + } + elven_alliance_join = yes + } + + # Nah + option = { + name = elven_alliance.2.a + ai_chance = { + base = 1 + } + } +} + +# Vote on alliance type +country_event = { + id = elven_alliance.3 + title = elven_alliance.3.t + desc = elven_alliance.3.d + picture = GFX_report_event_alliance + + timeout_days = 20 + + is_triggered_only = yes + + # Hegemony + option = { + name = elven_alliance.3.a + ai_chance = { + base = 1 + modifier = { + factor = 3 + has_government = belligerent + } + modifier = { + factor = 2 + is_puppet = yes + } + modifier = { + factor = 0 + has_government = revolutionary + } + } + add_to_variable = { global.ea_type_vote_hegemony = 1 } + } + + # Martial + option = { + name = elven_alliance.3.b + ai_chance = { + base = 1 + modifier = { + factor = 3 + has_government = cooperative + } + } + + add_to_variable = { global.ea_type_vote_martial = 1 } + } + + # Union + option = { + name = elven_alliance.3.c + ai_chance = { + base = 1 + modifier = { + factor = 3 + has_government = unaligned + } + } + + add_to_variable = { global.ea_type_vote_union = 1 } + } +} + +# Elven Alliance tutorial/help event +country_event = { + id = elven_alliance.4 + title = elven_alliance.4.t + desc = elven_alliance.4.d + + is_triggered_only = yes + + # Ye + option = { + name = elven_alliance.4.a + ai_chance = { + base = 50 + } + } +} + +# Form new assembly type (hidden) +country_event = { + id = elven_alliance.5 + + hidden = yes + + is_triggered_only = yes + + immediate = { + if = { + limit = { + check_variable = { global.ea_type_vote_hegemony > global.ea_type_vote_martial } + check_variable = { global.ea_type_vote_hegemony > global.ea_type_vote_union } + } + complete_national_focus = ea_hegemony + } + else_if = { + limit = { + check_variable = { global.ea_type_vote_martial > global.ea_type_vote_hegemony } + check_variable = { global.ea_type_vote_martial > global.ea_type_vote_union } + } + complete_national_focus = ea_martialalliance + } + else = { + complete_national_focus = ea_internationalorganization + } + } +} + +# Elven Alliance Hegemony leadership passed to us +country_event = { + id = elven_alliance.6 + title = elven_alliance.6.t + desc = elven_alliance.6.d + + is_triggered_only = yes + + # Ye + option = { + name = elven_alliance.6.a + ai_chance = { + base = 50 + } + custom_effect_tooltip = "Become leader of the Elven Assembly." + } +} + +# Elven Alliance: Type decided +country_event = { + id = elven_alliance.7 + + title = { + trigger = { has_global_flag = ea_type_hegemony } + text = elven_alliance.7.t_hegemony + } + title = { + trigger = { has_global_flag = ea_type_martial } + text = elven_alliance.7.t_martial + } + title = { + trigger = { has_global_flag = ea_type_union } + text = elven_alliance.7.t_union + } + + desc = { + trigger = { has_global_flag = ea_type_hegemony } + text = elven_alliance.7.d_hegemony + } + desc = { + trigger = { has_global_flag = ea_type_martial } + text = elven_alliance.7.d_martial + } + desc = { + trigger = { has_global_flag = ea_type_union } + text = elven_alliance.7.d_union + } + + is_triggered_only = yes + + # Ye + option = { + name = elven_alliance.7.a + ai_chance = { + base = 50 + } + if = { + limit = { has_global_flag = ea_type_hegemony } + custom_effect_tooltip = elven_alliance.7.a_h_tt + } + else_if = { + limit = { has_global_flag = ea_type_martial } + custom_effect_tooltip = elven_alliance.7.a_m_tt + } + else_if = { + limit = { has_global_flag = ea_type_union } + custom_effect_tooltip = elven_alliance.7.a_u_tt + } + } +} + +# Elven Alliance: Call for help Martial tier 2 +country_event = { + id = elven_alliance.8 + title = elven_alliance.8.t + desc = elven_alliance.8.d + + is_triggered_only = yes + + # Join in + option = { + name = elven_alliance.8.a + ai_chance = { + base = 30 + modifier = { + factor = 2 + var:event_target:ea_call_to_arms_defender = { + has_same_ideology = yes + } + } + modifier = { + factor = 2 + var:event_target:ea_call_to_arms_defender = { + is_ai = no + } + } + } + declare_war_on = { + target = var:event_target:ea_call_to_arms_attacker + type = annex_everything + } + } + + # Leave + option = { + name = elven_alliance.8.b + ai_chance = { + base = 50 + modifier = { + factor = 2 + has_war = yes + } + modifier = { + factor = 2 + has_government = unaligned + } + } + add_political_power = -100 + var:event_target:ea_call_to_arms_defender = { + add_opinion_modifier = { + target = ROOT + modifier = large_decrease + } + } + } +} + +# Elven Alliance Martial Alliance Faction created +country_event = { + id = elven_alliance.9 + title = elven_alliance.9.t + desc = { + text = elven_alliance.9.d + trigger = { + is_in_faction = no + } + } + desc = { + text = elven_alliance.9.d_2 + trigger = { + is_in_faction = yes + } + } + + is_triggered_only = yes + + # Join in + option = { + name = elven_alliance.9.a + ai_chance = { + base = 50 + modifier = { + factor = 0 + is_in_faction = yes + } + } + if = { + limit = { is_in_faction = yes } + leave_faction = yes + } + event_target:ea_martial_faction_leader = { + add_to_faction = ROOT + } + } + + # Leave + option = { + trigger = { + is_in_faction = yes + } + name = elven_alliance.9.b + ai_chance = { + base = 50 + } + } +} + +# Kicked out due to war +country_event = { + id = elven_alliance.10 + title = elven_alliance.10.t + desc = elven_alliance.10.d + + is_triggered_only = yes + + # k den + option = { + name = elven_alliance.10.a + ai_chance = { + base = 1 + } + effect_tooltip = { + elven_alliance_leave = yes + } + } +} + +# Kicked out due to vote +country_event = { + id = elven_alliance.11 + title = elven_alliance.11.t + desc = elven_alliance.11.d + + is_triggered_only = yes + + # k den + option = { + name = elven_alliance.11.a + ai_chance = { + base = 1 + } + effect_tooltip = { + elven_alliance_leave = yes + } + } +} \ No newline at end of file diff --git a/events/Enedwaith.txt b/events/Enedwaith.txt index f7fd67381..22beac6cc 100644 --- a/events/Enedwaith.txt +++ b/events/Enedwaith.txt @@ -33,7 +33,11 @@ country_event = { ISE = { transfer_state = 77 transfer_state = 156 - puppet = ENE + puppet = { + target = ENE + end_wars = no + end_civil_wars = no + } } } option = { #Refuse diff --git a/events/Generic.txt b/events/Generic.txt index 273994542..b468836f9 100644 --- a/events/Generic.txt +++ b/events/Generic.txt @@ -42,7 +42,7 @@ country_event = { country_event = { id = generic.2 title = generic.2.t - desc = { # FROM and ROOT are Democratic + desc = { # FROM and ROOT are cooperative text = generic.2.d.a trigger = { AND = { @@ -113,7 +113,7 @@ country_event = { is_triggered_only = yes - option = { #Agree / Both Democratic + option = { #Agree / Both cooperative name = generic.2.a trigger = { AND = { @@ -370,7 +370,7 @@ country_event = { country_event = { id = generic.5 title = generic.5.t - desc = { # FROM and ROOT are Democratic + desc = { # FROM and ROOT are cooperative text = generic.5.d.a trigger = { AND = { @@ -441,7 +441,7 @@ country_event = { is_triggered_only = yes - option = { #Agree / Both Democratic + option = { #Agree / Both cooperative name = generic.5.a trigger = { AND = { @@ -697,4 +697,780 @@ country_event = { } } } -} \ No newline at end of file +} + +# Object to Attaches +country_event = { + id = generic.14 + title = generic.14.t + desc = generic.14.d + + picture = GFX_report_event_generic_read_write + + is_triggered_only = yes + + # Agree - recall attache + option = { + name = generic.14.a + ai_chance = { + base = 80 + modifier = { + factor = 1.5 + has_opinion = { target = FROM value > 50 } + } + modifier = { + factor = 1.5 + has_opinion = { target = FROM value > 75 } + } + } + random_other_country = { + limit = { + has_war_with = FROM + has_attache_from = ROOT + } + ROOT = { recall_attache = PREV } + } + FROM = { + country_event = { id = generic.15 days = 1 } + } + clr_country_flag = object_attache_going_on + } + + # Reject demands + option = { + name = generic.14.b + ai_chance = { + base = 20 + modifier = { + factor = 2 + has_opinion = { target = FROM value < 0 } + } + modifier = { + factor = 3 + has_opinion = { target = FROM value < -20 } + } + modifier = { + factor = 3 + has_opinion = { target = FROM value < -50 } + } + } + custom_effect_tooltip = attache_political_power_tt + if = { + limit = { + NOT = { strength_ratio = { tag = FROM ratio < 3 } } + } + if = { + limit = { + has_opinion = { target = FROM value > -25 } + NOT = { has_opinion = { target = FROM value > 0 } } + } + add_political_power = -5 + } + if = { + limit = { + has_opinion = { target = FROM value > 0 } + NOT = { has_opinion = { target = FROM value > 50 } } + + } + add_political_power = -10 + } + if = { + limit = { has_opinion = { target = FROM value > 50 } } + add_political_power = -15 + } + } + if = { + limit = { + strength_ratio = { tag = FROM ratio < 3 } + NOT = { strength_ratio = { tag = FROM ratio < 2.5 } } + } + if = { + limit = { + has_opinion = { target = FROM value > -25 } + NOT = { has_opinion = { target = FROM value > 0 } } + } + add_political_power = -10 + } + if = { + limit = { + has_opinion = { target = FROM value > 0 } + NOT = { has_opinion = { target = FROM value > 50 } } + + } + add_political_power = -20 + } + if = { + limit = { has_opinion = { target = FROM value > 50 } } + add_political_power = -30 + } + } + if = { + limit = { + strength_ratio = { tag = FROM ratio < 2.5 } + NOT = { strength_ratio = { tag = FROM ratio < 2 } } + } + if = { + limit = { + has_opinion = { target = FROM value > -25 } + NOT = { has_opinion = { target = FROM value > 0 } } + } + add_political_power = -15 + } + if = { + limit = { + has_opinion = { target = FROM value > 0 } + NOT = { has_opinion = { target = FROM value > 50 } } + + } + add_political_power = -30 + } + if = { + limit = { has_opinion = { target = FROM value > 50 } } + add_political_power = -45 + } + } + if = { + limit = { + strength_ratio = { tag = FROM ratio < 2 } + NOT = { strength_ratio = { tag = FROM ratio < 1.5 } } + } + if = { + limit = { + has_opinion = { target = FROM value > -25 } + NOT = { has_opinion = { target = FROM value > 0 } } + } + add_political_power = -20 + } + if = { + limit = { + has_opinion = { target = FROM value > 0 } + NOT = { has_opinion = { target = FROM value > 50 } } + + } + add_political_power = -40 + } + if = { + limit = { has_opinion = { target = FROM value > 50 } } + add_political_power = -60 + } + } + if = { + limit = { + strength_ratio = { tag = FROM ratio < 1.5 } + } + if = { + limit = { + has_opinion = { target = FROM value > -25 } + NOT = { has_opinion = { target = FROM value > 0 } } + } + add_political_power = -25 + } + if = { + limit = { + has_opinion = { target = FROM value > 0 } + NOT = { has_opinion = { target = FROM value > 50 } } + + } + add_political_power = -50 + } + if = { + limit = { has_opinion = { target = FROM value > 50 } } + add_political_power = -75 + } + } + FROM = { + add_opinion_modifier = { target = ROOT modifier = rejected_demands } + country_event = { id = generic.16 days = 1 } + } + hidden_effect = { + set_country_flag = { flag = rejected_withdrawing_attache value = 1 days = 90 } + set_country_flag = { flag = rejected_withdrawing_attache@FROM value = 1 days = 365 } + clr_country_flag = object_attache_going_on + } + if = { + limit = { + FROM = { has_government = belligerent } + NOT = { has_government = belligerent } + belligerent > 0.1 + NOT = { belligerent > 0.2 } + strength_ratio = { tag = FROM ratio < 1.2 } + } + custom_effect_tooltip = attache_belligerent_tt + add_stability = -0.025 + } + if = { + limit = { + FROM = { has_government = belligerent } + NOT = { has_government = belligerent } + belligerent > 0.2 + NOT = { belligerent > 0.3 } + strength_ratio = { tag = FROM ratio < 1.2 } + } + custom_effect_tooltip = attache_belligerent_tt + add_stability = -0.05 + } + if = { + limit = { + FROM = { has_government = belligerent } + NOT = { has_government = belligerent } + belligerent > 0.3 + NOT = { belligerent > 0.4 } + strength_ratio = { tag = FROM ratio < 1.2 } + } + custom_effect_tooltip = attache_belligerent_tt + add_stability = -0.075 + } + if = { + limit = { + FROM = { has_government = belligerent } + NOT = { has_government = belligerent } + belligerent > 0.4 + strength_ratio = { tag = FROM ratio < 1.2 } + } + custom_effect_tooltip = attache_belligerent_tt + add_stability = -0.1 + } + if = { + limit = { + FROM = { has_government = revolutionary } + revolutionary > 0.1 + NOT = { revolutionary > 0.2 } + strength_ratio = { tag = FROM ratio < 1.2 } + } + custom_effect_tooltip = attache_revolutionary_tt + add_stability = -0.025 + } + if = { + limit = { + FROM = { has_government = revolutionary } + NOT = { has_government = revolutionary } + revolutionary > 0.2 + NOT = { revolutionary > 0.3 } + strength_ratio = { tag = FROM ratio < 1.2 } + } + custom_effect_tooltip = attache_revolutionary_tt + add_stability = -0.05 + } + if = { + limit = { + FROM = { has_government = revolutionary } + NOT = { has_government = revolutionary } + revolutionary > 0.3 + NOT = { revolutionary > 0.4 } + strength_ratio = { tag = FROM ratio < 1.2 } + } + custom_effect_tooltip = attache_revolutionary_tt + add_stability = -0.075 + } + if = { + limit = { + FROM = { has_government = revolutionary } + NOT = { has_government = revolutionary } + revolutionary > 0.4 + strength_ratio = { tag = FROM ratio < 1.2 } + } + custom_effect_tooltip = attache_revolutionary_tt + add_stability = -0.1 + } + if = { + limit = { + FROM = { has_government = cooperative } + NOT = { has_government = cooperative } + cooperative > 0.1 + NOT = { cooperative > 0.2 } + strength_ratio = { tag = FROM ratio < 1.2 } + } + custom_effect_tooltip = attache_cooperative_tt + add_stability = -0.025 + } + if = { + limit = { + FROM = { has_government = cooperative } + NOT = { has_government = cooperative } + cooperative > 0.2 + NOT = { cooperative > 0.3 } + strength_ratio = { tag = FROM ratio < 1.2 } + } + custom_effect_tooltip = attache_cooperative_tt + add_stability = -0.05 + } + if = { + limit = { + FROM = { has_government = cooperative } + NOT = { has_government = cooperative } + cooperative > 0.3 + NOT = { cooperative > 0.4 } + strength_ratio = { tag = FROM ratio < 1.2 } + } + custom_effect_tooltip = attache_cooperative_tt + add_stability = -0.075 + } + if = { + limit = { + FROM = { has_government = cooperative } + NOT = { has_government = cooperative } + cooperative > 0.4 + strength_ratio = { tag = FROM ratio < 1.2 } + } + custom_effect_tooltip = attache_cooperative_tt + add_stability = -0.1 + } + } +} + +# Notification event that TAG withdrew attache +country_event = { + id = generic.15 + title = generic.15.t + desc = generic.15.d + + picture = GFX_report_event_generic_read_write + + is_triggered_only = yes + + option = { + name = excellent + } +} + +# Notification event that TAG refused to withdraw attache +country_event = { + id = generic.16 + title = generic.16.t + desc = generic.16.d + + picture = GFX_report_event_generic_read_write + + is_triggered_only = yes + + option = { + name = generic.16.a + effect_tooltip = { + add_opinion_modifier = { target = FROM modifier = rejected_demands } + } + } +} + +# Notification event that leader has gotten sick +unit_leader_event = { + id = generic.17 + title = generic.17.t + desc = generic.17.d + + picture = GFX_report_event_military_planning + + is_triggered_only = yes + + immediate = { + hidden_effect = { + FROM = { + set_unit_leader_flag = { + flag = recently_sick + value = 1 + days = 180 + } + } + } + } + + option = { + name = unfortunate + effect_tooltip = { + FROM = { + add_timed_unit_leader_trait = { + trait = sick + days = 30 + } + } + } + } +} + +# Notification event that leader has been wounded +country_event = { + id = generic.18 + title = generic.18.t + desc = generic.18.d + + picture = GFX_report_event_military_planning + + is_triggered_only = yes + + option = { + name = unfortunate + effect_tooltip = { + FROM = { + add_timed_unit_leader_trait = { + trait = wounded + days = 90 + } + } + } + } +} + +# Notification event that FROM has sent industrial support +country_event = { + id = generic.19 + title = generic.19.t + desc = generic.19.d + + picture = GFX_report_event_generic_factory + + is_triggered_only = yes + + option = { + name = excellent + effect_tooltip = { + add_offsite_building = { type = arms_factory level = 2 } + } + } +} + +#Become a puppet +country_event = { + id = generic.20 + title = generic.20.t + desc = { + text = generic.20.d_friends + trigger = { + has_opinion = { + target = FROM + value = 150 + } + } + } + desc = { + text = generic.20.d_enemies + trigger = { + NOT = { + has_opinion = { + target = FROM + value = 150 + } + } + } + } + picture = GFX_report_event_generic_read_write + + is_triggered_only = yes + + option = { + name = generic.20.a + trigger = { + NOT = { + has_opinion = { + target = FROM + value = 150 + } + } + } + ai_chance = { + factor = 20 + modifier = { + threat > 0.2 + factor = 2 + } + modifier = { + is_in_faction = no + factor = 2 + } + modifier = { + is_in_faction_with = FROM + factor = 2 + } + modifier = { + is_in_faction = yes + NOT = { is_in_faction_with = FROM } + factor = 0.5 + } + } + effect_tooltip = { + FROM = { puppet = ROOT } + if = { + limit = { + FROM = { is_in_faction = yes } + } + random_country = { + limit = { + is_in_faction_with = FROM + is_faction_leader = yes + } + add_to_faction = ROOT + } + } + } + hidden_effect = { + FROM = { country_event = { id = generic.21 hours = 6 } } + } + } + + option = { + name = generic.20.b + trigger = { + has_opinion = { + target = FROM + value = 150 + } + } + ai_chance = { + factor = 25 + modifier = { + threat > 0.2 + factor = 2 + } + modifier = { + is_in_faction = no + factor = 2 + } + modifier = { + is_in_faction_with = FROM + factor = 2 + } + modifier = { + is_in_faction = yes + NOT = { is_in_faction_with = FROM } + factor = 0.5 + } + } + effect_tooltip = { + FROM = { puppet = ROOT } + if = { + limit = { + FROM = { is_in_faction = yes } + } + random_country = { + limit = { + is_in_faction_with = FROM + is_faction_leader = yes + } + add_to_faction = ROOT + } + } + } + hidden_effect = { + FROM = { country_event = { id = generic.21 hours = 6 } } + } + } + + option = { + name = generic.20.c + ai_chance = { + factor = 30 + modifier = { + is_in_faction = yes + NOT = { is_in_faction_with = FROM } + factor = 2 + } + modifier = { + threat < 0.2 + factor = 2 + } + } + effect_tooltip = { + FROM = { + create_wargoal = { + type = puppet_wargoal_focus + target = ROOT + } + } + } + hidden_effect = { + FROM = { country_event = { id = generic.22 hours = 6 } } + } + } + +} + +#Became puppet +country_event = { + id = generic.21 + title = generic.21.t + desc = generic.21.d + picture = GFX_report_event_generic_read_write + + is_triggered_only = yes + + option = { + name = generic.21.a + ai_chance = { + factor = 1 + } + ROOT = { puppet = FROM } + if = { + limit = { + ROOT = { is_in_faction = yes } + } + random_country = { + limit = { + is_in_faction_with = ROOT + is_faction_leader = yes + } + add_to_faction = FROM + } + } + } + +} + +#Denied puppet +country_event = { + id = generic.22 + title = generic.22.t + desc = generic.22.d + picture = GFX_report_event_generic_read_write + + is_triggered_only = yes + + option = { + name = generic.22.a + ai_chance = { + factor = 1 + } + ROOT = { + create_wargoal = { + type = puppet_wargoal_focus + target = FROM + } + } + } + +} + +# generic event for demanding territory +country_event = { + id = generic.23 + title = generic.23.t + desc = generic.23.d + + picture = GFX_report_event_czech_soldiers_01 + + is_triggered_only = yes + + option = { + name = generic.23.a + ai_chance = { + factor = 90 + modifier = { # If they stand a chance they will fight + factor = 0 + strength_ratio = { + tag = FROM + ratio > 0.75 + } + NOT = { + any_neighbor_country = { + NOT = { tag = FROM } + is_in_faction_with = FROM + } + } + } + modifier = { + factor = 0 #if you lead a faction, fight + is_faction_leader = yes + } + modifier = { + factor = 0.5 #if you are in a faction, maybe fight + is_faction_leader = no + is_in_faction = yes + } + modifier = { # Increase it again if other bordering nations are in the enemy faction + any_neighbor_country = { + NOT = { tag = FROM } + is_in_faction_with = FROM + } + factor = 2.0 + } + } + effect_tooltip = { + FROM = { transfer_state = event_target:demanded_prov_target } + if = { + limit = { + event_target:demanded_prov_target = { has_state_flag = give_core_to_state_flag } + } + event_target:demanded_prov_target = { add_core_of = FROM } + } + } + hidden_effect = { + FROM = { country_event = generic.24 } + } + } + + option = { + name = generic.23.b + ai_chance = { + factor = 10 + modifier = { + factor = 0.5 + strength_ratio = { + tag = FROM + ratio < 0.5 + } + } + } + custom_effect_tooltip = maybe_war_tt + hidden_effect = { + FROM = { country_event = generic.25 } + } + } +} + +# accepted demands +country_event = { + id = generic.24 + title = generic.24.t + desc = generic.24.d + + picture = GFX_report_event_czech_soldiers_01 + + is_triggered_only = yes + + option = { + name = excellent + THIS = { transfer_state = event_target:demanded_prov_target } + if = { + limit = { + event_target:demanded_prov_target = { has_state_flag = give_core_to_state_flag } + } + event_target:demanded_prov_target = { + add_core_of = THIS + clr_state_flag = give_core_to_state_flag + } + } + hidden_effect = { clear_global_event_target = demanded_prov_target } + } +} + +# accepted demands +country_event = { + id = generic.25 + title = generic.25.t + desc = generic.25.d + + picture = GFX_report_event_czech_soldiers_01 + + is_triggered_only = yes + + option = { + name = generic.25.a + ai_chance = { + factor = 90 + } + create_wargoal = { + type = annex_everything + target = FROM + } + hidden_effect = { clear_global_event_target = demanded_prov_target } + } +} + +# restore ideologies +country_event = { + id = generic.26 + hidden = yes + is_triggered_only = yes + + immediate = { + restore_ideology_popularities = yes + restore_ruling_party = yes + } +} diff --git a/events/Gondor.txt b/events/Gondor.txt index 15d8630f8..255aa2cf6 100644 --- a/events/Gondor.txt +++ b/events/Gondor.txt @@ -9,7 +9,7 @@ country_event = { id = gondor.1 title = gondor.1.t desc = gondor.1.d - picture = GFX_report_event_alliance + picture = GFX_report_event_paper is_triggered_only = yes @@ -53,13 +53,12 @@ country_event = { } } - # Battle for Osgiliath country_event = { id = gondor.2 title = gondor.2.t desc = gondor.2.d - picture = GFX_report_event_paper + picture = GFX_report_event_fight trigger = { tag = GON @@ -98,12 +97,17 @@ country_event = { trigger = { tag = GON 22 = { is_controlled_by = MOR } - GON = { has_war_with = MOR } has_global_flag = boromir_dead has_global_flag = faramir_dead NOT = { has_global_flag = denethor_dead } - GON = { surrender_progress > 0.3 } - GON = { has_country_leader = { ruling_only = yes name = "Denethor II" } } + GON = { + has_war_with = MOR + surrender_progress > 0.3 + has_country_leader = { ruling_only = yes name = "Denethor II" } + NOT = { + has_completed_focus = GON_the_steward_of_gondor + } + } } mean_time_to_happen = { @@ -120,7 +124,6 @@ country_event = { } } - # Have Boromir steal ring? country_event = { id = gondor.4 @@ -244,8 +247,8 @@ country_event = { } } - # Workers start civil war +# Not in use for now country_event = { id = gondor.5 title = gondor.5.t @@ -260,6 +263,7 @@ country_event = { } } +#Harad demands state Poros country_event = { id = gondor.6 title = gondor.6.t @@ -584,7 +588,7 @@ country_event = { id = gondor.16 title = gondor.16.t desc = gondor.16.d - picture = GFX_report_event_ring + picture = GFX_report_event_paper is_triggered_only = yes @@ -620,7 +624,7 @@ country_event = { id = gondor.17 title = gondor.17.t desc = gondor.17.d - picture = GFX_report_event_ring + picture = GFX_report_event_paper is_triggered_only = yes @@ -639,6 +643,11 @@ country_event = { instant_build = yes } } + add_equipment_subsidy = { + cic = 500 + equipment_type = infantry_equipment + seller_tags = { ANG } + } } ANG = { add_ideas = ANG_trade_agremeent @@ -650,6 +659,11 @@ country_event = { instant_build = yes } } + add_equipment_subsidy = { + cic = 500 + equipment_type = infantry_equipment + seller_tags = { GON } + } } } @@ -665,13 +679,12 @@ country_event = { } } - #Angmar requests outpost near Gondor country_event = { id = gondor.18 title = gondor.18.t desc = gondor.18.d - picture = GFX_report_event_ring + picture = GFX_report_event_paper is_triggered_only = yes @@ -698,4 +711,249 @@ country_event = { add_opinion_modifier = { target = GON modifier = small_decrease } } } -} \ No newline at end of file +} + +#COUNTRY NAME accepts invite to faction +country_event = { + id = gondor.20 + title = gondor.20.t + desc = gondor.20.d + picture = GFX_report_event_paper + + is_triggered_only = yes + + option = { + name = gondor.20.a + ai_chance = { + base = 50 + } + } +} + +#COUNTRY NAME declines invite to faction +country_event = { + id = gondor.21 + title = gondor.21.t + desc = gondor.21.d + picture = GFX_report_event_paper + + is_triggered_only = yes + + option = { + name = gondor.21.a + ai_chance = { + base = 50 + } + } +} + +#Dol Amroth declares seperation +country_event = { + id = gondor.22 + title = gondor.22.t + desc = gondor.22.d + picture = GFX_report_event_paper + + is_triggered_only = yes + + option = { #So be it + name = gondor.22.a + ai_chance = { + base = 25 + } + add_stability = -0.05 + add_political_power = -50 + } + option = { #Dont stand by it + name = gondor.22.b + ai_chance = { + base = 50 + } + add_war_support = 0.05 + create_wargoal = { type = topple_government target = DAM } + DAM = { + country_event = dolamroth.2 + } + } +} + + +#COUNTRY NAME invite to faction Gondor Alliance +country_event = { + id = gondor.23 + title = gondor.23.t + desc = gondor.23.d + picture = GFX_report_event_paper + + is_triggered_only = yes + + option = { #Yes + name = gondor.23.a + ai_chance = { + base = 25 + modifier = { + add = 25 + has_war = yes + } + modifier = { + add = -25 + has_completed_focus = generic_unaligned_focus + } + } + GON = { + add_to_faction = ROOT + country_event = gondor.20 + add_opinion_modifier = { target = ROOT modifier = small_increase } + } + } + option = { #No + name = gondor.23.b + ai_chance = { + base = 25 + modifier = { + add = 25 + has_completed_focus = generic_unaligned_focus + } + } + GON = { + country_event = gondor.21 + add_opinion_modifier = { target = ROOT modifier = small_decrease } + } + } +} + +# Stewartship flees to Tolfalas. Pursue? +country_event = { + id = gondor.24 + title = gondor.24.t + desc = gondor.24.d + picture = GFX_report_event_fight + + is_triggered_only = yes + + trigger = { + 14 = { + controller = { + original_tag = GON + has_government = unaligned + } + } + } + + # yes + option = { + name = gondor.24.a + ai_chance = { + base = 30 + } + + hidden_effect = { + news_event = { id = news.401 hours = 12 } + } + + random_other_country = { + limit = { + original_tag = GON + has_government = unaligned + } + ROOT = { + remove_civil_war_target = PREV + white_peace = PREV + set_truce = { target = PREV days = 300 } + } + if = { + limit = { controls_state = 167 } + 167 = { + teleport_armies = { to_state = 14 } + transfer_state_to = GON + } + } + if = { + limit = { controls_state = 15 } + 15 = { + teleport_armies = { to_state = 14 } + transfer_state_to = GON + } + } + if = { + limit = { controls_state = 166 } + 166 = { + teleport_armies = { to_state = 14 } + transfer_state_to = GON + } + } + } + } + # no + option = { + name = gondor.24.b + ai_chance = { + base = 5 + } + + } +} + +# Revolution started +country_event = { + id = gondor.25 + title = gondor.25.t + desc = gondor.25.d + picture = GFX_report_event_fight + + is_triggered_only = yes + + option = { + name = gondor.25.a + ai_chance = { + base = 50 + } + + hidden_effect = { + news_event = { id = news.400 hours = 12 } + } + + dismantle_faction = yes + + if = { + limit = { DAM = { is_subject = yes } } + set_autonomy = { + target = DAM + autonomy_state = autonomy_free + end_wars = no + end_civil_wars = no + } + } + + start_civil_war = { + ruling_party = revolutionary + ideology = unaligned + army_ratio = 0.25 + navy_ratio = 1.0 + air_ratio = 0.25 + capital = 14 + states = { 14 167 15 166 } + } + + hidden_effect = { + # Send event to red gondor asking if continue war or not + country_event = { id = gondor.24 days = 30 random_days = 30 } + } + + # Complete national focus for unaligned GON + random_other_country = { + limit = { + original_tag = GON + has_government = unaligned + } + set_cosmetic_tag = STEWARDSHIP + # Increase VPs on Tolfalas to ensure stewartship does not surrender + add_victory_points = { province = 4726 value = 20 } + + #uncomplete_national_focus = { focus = GON_gondor_needs_no_king } + complete_national_focus = GON_the_steward_of_gondor + } + } +} + + diff --git a/events/Harad.txt b/events/Harad.txt index 2a3146ac3..ef8e3fc99 100644 --- a/events/Harad.txt +++ b/events/Harad.txt @@ -117,4 +117,57 @@ country_event = { } } } -} \ No newline at end of file +} + +#Gondor demands control over Haronder +country_event = { + id = harad.3 + title = harad.3.t + desc = harad.3.d + picture = GFX_report_event_paper + + is_triggered_only = yes + fire_only_once = yes + + option = { # Accept + name = harad.3.a + ai_chance = { + base = 25 + modifier = { + add = 25 + has_war = yes + } + } + GON = { + add_opinion_modifier = { target = HAR modifier = medium_increase } + transfer_state = 105 + transfer_state = 106 + transfer_state = 107 + } + } + + option = { # Deny + name = harad.3.b + ai_chance = { + base = 75 + modifier = { + add = -25 + FROM = { has_army_size = { size < 30 } } + } + modifier = { + add = 25 + is_in_faction = yes + } + } + add_war_support = 0.05 + add_political_power = 100 + GON = { + add_opinion_modifier = { target = HAR modifier = small_decrease } + create_wargoal = { + type = take_state_focus + target = HAR + generator = { 105 106 107 } + } + } + } +} diff --git a/events/Isengard.txt b/events/Isengard.txt index 75cb71fa2..a87839032 100644 --- a/events/Isengard.txt +++ b/events/Isengard.txt @@ -117,6 +117,11 @@ country_event = { MOR = { has_army_size = { size > 20 } } } } + + # Adjust gameplan flag + set_country_flag = gamplan_going_belligerent + clr_country_flag = gameplan_going_cooperative + add_ideas = ISE_commited_to_the_dark set_global_flag = gandalf_imprisoned @@ -143,10 +148,15 @@ country_event = { factor = 0 is_historical_focus_on = yes } + modifier = { factor = 0 is_going_cooperative = no } } add_ideas = ISE_commited_to_the_light set_global_flag = gandalf_saruman_united + # Adjust gameplan flag + set_country_flag = gameplan_going_cooperative + clr_country_flag = gamplan_going_belligerent + # Complete focuses if = { limit = { NOT = { has_completed_focus = thefateofisengard } } @@ -191,6 +201,7 @@ country_event = { character = ISE_grima activate = yes advisor = { + idea_token = ISE_grima_chief_advisor slot = chief_advisor cost = 150 traits = { @@ -244,7 +255,7 @@ country_event = { ISE = { kill_country_leader = yes remove_ideas = saruman_chief_researcher - deactivate_advisor = ISE_grima + deactivate_advisor = ISE_grima_chief_advisor remove_advisor_role = { character = ISE_grima slot = chief_advisor @@ -450,6 +461,9 @@ country_event = { option = { name = isengard.12.a + ai_chance = { + factor = 3 + } MOR = { add_to_faction = ISE } @@ -458,4 +472,47 @@ country_event = { option = { name = isengard.12.b } +} + + +# The Kingdom of Gondor requests if Isengard will join as a fiefdom +country_event = { + id = isengard.13 + title = isengard.13.t + desc = isengard.13.d + picture = GFX_report_event_ring + + is_triggered_only = yes + + option = { + name = isengard.13.a + ai_chance = { + factor = 1 + modifier = { + factor = 0 + has_government = belligerent + } + modifier = { + factor = 3 + has_government = cooperative + GON = { has_government = cooperative } + } + } + GON = { + set_autonomy = { + target = ISE + autonomy_state = autonomy_fiefdom + } + } + } + + option = { + name = isengard.13.b + ai_chance = { + factor = 10 + } + GON = { + add_opinion_modifier = { target = ISE modifier = large_decrease } + } + } } \ No newline at end of file diff --git a/events/Ithilien_Crisis.txt b/events/Ithilien_Crisis.txt new file mode 100644 index 000000000..87e16bab1 --- /dev/null +++ b/events/Ithilien_Crisis.txt @@ -0,0 +1,178 @@ +add_namespace = ithc + + + + +# Ithilien crisis start (GON) +country_event = { + id = ithc.1 + title = ithc.1.t + desc = ithc.1.d + picture = GFX_report_event_fire + + is_triggered_only = yes + + option = { # low base cd but high scaling + name = ithc.1.a + ithc_set_vars_short_term = yes + } + option = { # high base cd but low scaling + name = ithc.1.b + ithc_set_vars_long_term = yes + } +} + +# Ithilien crisis start (MOR) +country_event = { + id = ithc.2 + title = ithc.2.t + desc = ithc.2.d + picture = GFX_report_event_fire + + is_triggered_only = yes + + option = { # low base cd but high scaling + name = ithc.2.a + ithc_set_vars_short_term = yes + } + option = { # high base cd but low scaling + name = ithc.2.b + ithc_set_vars_long_term = yes + } +} + +# MOR: escalate attacks +country_event = { + id = ithc.3 + title = ithc.3.t + desc = ithc.3.d + picture = GFX_report_event_fire + + is_triggered_only = yes + + option = { # focus north + name = ithc.3.a + trigger = { + 22 = { is_controlled_by = GON } + } + 22 = { + set_state_flag = ithc_mordor_focus + custom_effect_tooltip = increase_power_projection_in_state_tt + + damage_building = { + type = bunker + damage = 2 + } + } + damage_units = { + state = 22 + org_damage = 0.1 + str_damage = 0.1 + ratio = yes + army = yes + } + } + option = { # focus south + name = ithc.3.b + trigger = { + 173 = { is_controlled_by = GON } + } + 173 = { + set_state_flag = ithc_mordor_focus + custom_effect_tooltip = increase_power_projection_in_state_tt + + damage_building = { + type = bunker + damage = 2 + } + } + damage_units = { + state = 173 + org_damage = 0.1 + str_damage = 0.1 + ratio = yes + army = yes + } + } + option = { # focus center + name = ithc.3.c + trigger = { + 135 = { is_controlled_by = GON } + } + 135 = { + set_state_flag = ithc_mordor_focus + custom_effect_tooltip = increase_power_projection_in_state_tt + + damage_building = { + type = bunker + damage = 2 + } + } + damage_units = { + state = 135 + org_damage = 0.1 + str_damage = 0.1 + ratio = yes + army = yes + } + } + option = { # already have all states? + name = ithc.3.q + trigger = { + NOT = { 22 = { is_controlled_by = GON } } + NOT = { 173 = { is_controlled_by = GON } } + NOT = { 135 = { is_controlled_by = GON } } + } + add_political_power = 150 + } +} + +# GON: emergency measures +country_event = { + id = ithc.4 + title = ithc.4.t + desc = ithc.4.d + picture = GFX_report_event_fire + + is_triggered_only = yes + + option = { # focus north + name = ithc.4.a + trigger = { + 22 = { is_controlled_by = GON } + } + 22 = { + set_state_flag = ithc_gondor_focus + custom_effect_tooltip = increase_power_projection_in_state_tt + } + } + option = { # focus south + name = ithc.4.b + trigger = { + 173 = { is_controlled_by = GON } + } + 173 = { + set_state_flag = ithc_gondor_focus + custom_effect_tooltip = increase_power_projection_in_state_tt + } + } + option = { # focus center + name = ithc.4.c + trigger = { + 135 = { is_controlled_by = GON } + } + 135 = { + set_state_flag = ithc_gondor_focus + custom_effect_tooltip = increase_power_projection_in_state_tt + } + } + option = { # we're fucked + name = ithc.4.q + trigger = { + NOT = { 22 = { is_controlled_by = GON } } + NOT = { 173 = { is_controlled_by = GON } } + NOT = { 135 = { is_controlled_by = GON } } + } + add_political_power = 150 + } +} \ No newline at end of file diff --git a/events/Lothlorien.txt b/events/Lothlorien.txt index 824c5832d..894f3504f 100644 --- a/events/Lothlorien.txt +++ b/events/Lothlorien.txt @@ -5,45 +5,6 @@ add_namespace = lothlorien -# Lorien asks jo join Gondor Faction -country_event = { - id = lothlorien.1 - title = lothlorien.1.t - desc = lothlorien.1.d - picture = GFX_report_event_alliance - - is_triggered_only = yes - - option = { #Accept - name = lothlorien.1.a - ai_chance = { - base = 60 - modifier = { - add = 40 - GON = { has_war = yes } - } - } - GON = { add_to_faction = LTH } - } - option = { #Refuse - name = lothlorien.1.b - ai_chance = { - base = 30 - modifier = { - add = 5000 - GON = { has_government = belligerent } - } - modifier = { - add = 20 - GON = { has_government = unaligned } - } - modifier = { - add = 10 - LTH = { has_war = yes } - } - } - } -} # Offer shelter to fellowship country_event = { @@ -54,14 +15,25 @@ country_event = { is_triggered_only = yes + picture = GFX_report_event_fellowship_lothlorien + + # yes option = { - ai_chance = {base = 6} + ai_chance = { + base = 6 + modifier = { + factor = 2 + OR = { + ring_orophin_in_fellowship = yes + ring_haldir_in_fellowship = yes + } + } + } name = lothlorien.3.a ring_rivendell_approves = yes set_global_flag = LTH_offered_shelter - LTH = {complete_national_focus = offersheltertothefellowship} # delay the fellowship leaving add_to_variable = { global.fs_days_left_in_state = 30 } @@ -78,6 +50,8 @@ country_event = { ring_trim_eventlog = yes } } + + # A la calle option = { ai_chance = { base = 1 @@ -109,15 +83,18 @@ country_event = { # take it option = { name = lothlorien.2.a + trigger = { + NOT = { has_country_flag = fs_interceptions_disabled } + } ai_chance = { base = 3 modifier = { - OR = { - has_completed_focus = victorythroughstrength - has_completed_focus = victorythroughsubmission - has_completed_focus = victorythroughequity - } - add = 10 + has_completed_focus = lth_thegreatschism + factor = 3 + } + modifier = { + has_completed_focus = lth_celebornsexile + factor = 2 } modifier = { is_historical_focus_on = yes factor = 0 } } @@ -126,8 +103,6 @@ country_event = { add_political_power = -250 - LTH = {complete_national_focus = taketheringfromfrodo} - random_list = { # Frodo offers the ring up willingly @@ -147,6 +122,10 @@ country_event = { name = lothlorien.2.b # gear up fellowship ai_chance = { base = 5 + modifier = { + factor = 3 + has_government = cooperative + } } ring_rivendell_approves = yes @@ -163,6 +142,8 @@ country_event = { desc = lothlorien.4.d fire_only_once = yes + picture = GFX_report_event_ring + is_triggered_only = yes option = { @@ -170,6 +151,18 @@ country_event = { name = lothlorien.4.a hidden_effect = { + # Add Haldir/Orophin back as a general if they were in fellowship + if = { + limit = { ring_haldir_in_fellowship = yes } + clr_global_flag = fs_lothlorien_haldir + SHI = { FS_haldir = { ring_remove_member_from_fellowship_nolog = yes } } + } + else_if = { + limit = { ring_orophin_in_fellowship = yes } + clr_global_flag = fs_lothlorien_orophin + SHI = { FS_orophin = { ring_remove_member_from_fellowship_nolog = yes } } + } + news_event = { hours = 12 id = news.371 } ring_seize_ring = yes @@ -188,19 +181,24 @@ country_event = { desc = lothlorien.5.d fire_only_once = yes + picture = GFX_report_event_ring + is_triggered_only = yes # Escalate option = { + trigger = { + NOT = { has_country_flag = fs_interceptions_disabled } + } ai_chance = { base = 1 modifier = { - OR = { - has_completed_focus = victorythroughstrength - has_completed_focus = victorythroughsubmission - has_completed_focus = victorythroughequity - } - add = 10 + has_completed_focus = lth_thegreatschism + add = 7 + } + modifier = { + has_completed_focus = lth_celebornsexile + add = 3 } } name = lothlorien.5.a @@ -220,12 +218,44 @@ country_event = { add_to_array = { global.fs_eventlog = token:fs_event_lth_frodo_refuses_escalate } ring_trim_eventlog = yes + # Haldir/Orophin betray fellowship if they were in it + if = { + limit = { ring_haldir_in_fellowship = yes } + clr_global_flag = fs_lothlorien_haldir + SHI = { FS_haldir = { ring_remove_member_from_fellowship_nolog = yes } } + + add_to_array = { global.fs_eventlog_prefix_targets = 0 } + add_to_array = { global.fs_eventlog_suffix_targets = 0 } + add_to_array = { global.fs_eventlog = token:fs_event_lth_haldir_betrays_fellowship } + ring_trim_eventlog = yes + } + else_if = { + limit = { ring_orophin_in_fellowship = yes } + clr_global_flag = fs_lothlorien_orophin + SHI = { FS_orophin = { ring_remove_member_from_fellowship_nolog = yes } } + + add_to_array = { global.fs_eventlog_prefix_targets = 0 } + add_to_array = { global.fs_eventlog_suffix_targets = 0 } + add_to_array = { global.fs_eventlog = token:fs_event_lth_orophin_betrays_fellowship } + ring_trim_eventlog = yes + } + ring_open_interception_attempt_prompt = yes } } # Doesnt matter option = { - ai_chance = { base = 2 } + ai_chance = { + base = 3 + modifier = { + add = 3 + has_government = cooperative + } + modifier = { + add = 1 + has_government = unaligned + } + } name = lothlorien.5.b custom_effect_tooltip = lothlorien.5.b.tt @@ -247,11 +277,13 @@ country_event = { country_event = { id = lothlorien.6 title = lothlorien.6.t - desc = lothlorien.6.d + desc = lothlorien.6.desc fire_only_once = yes is_triggered_only = yes + picture = GFX_report_event_fellowship_lothlorien + # Gifts option = { ai_chance = { @@ -280,11 +312,22 @@ country_event = { add_to_array = { global.fs_eventlog_suffix_targets = 0 } add_to_array = { global.fs_eventlog = token:fs_event_lth_gifts } ring_trim_eventlog = yes + + complete_national_focus = lth_supportthefellowship } } - # Haldir + # Send Haldir with them (Only available if not part of Elrond's council) option = { + trigger = { + OR = { + NOT = { has_global_flag = fs_lothlorien_invited } + has_global_flag = fs_lothlorien_none + } + LTH_haldir = { + is_unit_leader = yes + } + } ai_chance = { base = 1 modifier = { is_historical_focus_on = yes factor = 0 } @@ -301,6 +344,8 @@ country_event = { ring_trim_eventlog = yes SHI = { FS_haldir = { ring_add_member_to_fellowship = yes } } + + complete_national_focus = lth_supportthefellowship } } @@ -315,7 +360,2998 @@ country_event = { ring_rivendell_disapproves = yes } + # Request Haldir to stay behind + option = { + trigger = { + ring_haldir_in_fellowship = yes + } + ai_chance = { + base = 1 + modifier = { is_historical_focus_on = yes factor = 0 } + } + name = lothlorien.6.d + + custom_effect_tooltip = lothlorien.6.d.tt + + hidden_effect = { + clr_global_flag = fs_lothlorien_haldir + SHI = { FS_haldir = { ring_remove_member_from_fellowship_nolog = yes } } + + add_to_array = { global.fs_eventlog_prefix_targets = 0 } + add_to_array = { global.fs_eventlog_suffix_targets = 0 } + add_to_array = { global.fs_eventlog = token:fs_event_lth_haldir_asked_to_stay_behind } + ring_trim_eventlog = yes + + complete_national_focus = lth_supportthefellowship + } + } + + # Request Orophin to stay behind + option = { + trigger = { + ring_orophin_in_fellowship = yes + } + ai_chance = { + base = 1 + modifier = { is_historical_focus_on = yes factor = 0 } + } + name = lothlorien.6.e + + custom_effect_tooltip = lothlorien.6.e.tt + + hidden_effect = { + clr_global_flag = fs_lothlorien_orophin + SHI = { FS_orophin = { ring_remove_member_from_fellowship_nolog = yes } } + + add_to_array = { global.fs_eventlog_prefix_targets = 0 } + add_to_array = { global.fs_eventlog_suffix_targets = 0 } + add_to_array = { global.fs_eventlog = token:fs_event_lth_orophin_asked_to_stay_behind } + ring_trim_eventlog = yes + + complete_national_focus = lth_supportthefellowship + } + } +} + +# Schism: Consult elves +country_event = { + id = lothlorien.8 + title = lothlorien.8.t + desc = lothlorien.8.d + + is_triggered_only = yes + + picture = GFX_report_event_cele_gala + + # Support Gala + option = { + ai_chance = { + base = 2 + modifier = { + factor = 5 + is_going_belligerent = yes + } + } + name = lothlorien.8.a + + LTH = { country_event = lothlorien.47 } + } + + # Support Cele + option = { + ai_chance = { + base = 2 + modifier = { + factor = 5 + is_going_revolutionary = yes + } + modifier = { + factor = 2 + tag = LIN + } + } + name = lothlorien.8.b + + LTH = { country_event = lothlorien.48 } + } + + # Abstain + option = { + ai_chance = { + base = 3 + } + name = lothlorien.8.c + + LTH = { country_event = lothlorien.49 } + } +} + +# Aid to Helm's deep +country_event = { + id = lothlorien.9 + title = lothlorien.9.t + desc = lothlorien.9.d + fire_only_once = yes + + is_triggered_only = yes + + picture = GFX_report_event_elves_army + + # Thanks + option = { + ai_chance = { + base = 1 + } + name = lothlorien.9.a + + custom_effect_tooltip = lth_sendaidtohelmsdeep_tt + + hidden_effect = { + load_oob = Lothlorien_Air_HelmsDeep + } + } +} + +# Aid to Minas Tirith +country_event = { + id = lothlorien.10 + title = lothlorien.10.t + desc = lothlorien.10.d + fire_only_once = yes + + is_triggered_only = yes + + picture = GFX_report_event_elves_army + + # Thanks + option = { + ai_chance = { + base = 1 + } + name = lothlorien.10.a + + custom_effect_tooltip = lth_sendaidtominastirith_tt + hidden_effect = { + load_oob = Lothlorien_Air_MinasTirith + } + } +} + +# Commemorate Gondolin +country_event = { + id = lothlorien.11 + title = lothlorien.11.t + desc = lothlorien.11.d + fire_only_once = yes + + is_triggered_only = yes + + picture = GFX_report_event_celebrations + + # As an epic battle + option = { + ai_chance = { + base = 1 + } + name = lothlorien.11.a + + # Increase attack and breakthrough bonus by 5% + custom_effect_tooltip = lothlorien.11.a_tt + add_to_variable = { lthi_noldor_bonus_breakthrough_base = 0.1 } + } + + # As a tragedy to be rebuilt + option = { + ai_chance = { + base = 1 + } + name = lothlorien.11.b + + # Increase factory output bonus by 10% + custom_effect_tooltip = lothlorien.11.b_tt + add_to_variable = { lthi_noldor_bonus_factoryoutput_base = 0.15 } + } +} + +# Affiliate with Lindon +country_event = { + id = lothlorien.12 + title = lothlorien.12.t + desc = lothlorien.12.d + fire_only_once = yes + + is_triggered_only = yes + + picture = GFX_report_event_elves + + # Remind them that the sindar owe their longevity to their hard work and dedication + option = { + ai_chance = { + base = 1 + } + name = lothlorien.12.a + + # Increase sindar construction speed bonus + + set_global_flag = { + flag = lothlorien_12_response_a + value = 1 + days = 60 + } + + event_option_tooltip = lothlorien.13.a + hidden_effect = { LTH = { country_event = { id = lothlorien.13 days = 7 } } } + } + + # Remind them of the humility of the elves of Doriath + option = { + ai_chance = { + base = 1 + } + name = lothlorien.12.b + + # Increase sindar supply bonus + + set_global_flag = { + flag = lothlorien_12_response_b + value = 1 + days = 60 + } + + event_option_tooltip = lothlorien.13.b + hidden_effect = { LTH = { country_event = { id = lothlorien.13 days = 7 } } } + } + + # Remind them of the great Wisdom of Elu Thingol and Melian + option = { + ai_chance = { + base = 1 + } + name = lothlorien.12.c + + # Increase sindar research + + set_global_flag = { + flag = lothlorien_12_response_c^ + value = 1 + days = 60 + } + + event_option_tooltip = lothlorien.13.c + hidden_effect = { LTH = { country_event = { id = lothlorien.13 days = 7 } } } + } +} + +# Affiliate with Lindon - Response +country_event = { + id = lothlorien.13 + title = lothlorien.13.t + desc = lothlorien.13.d + fire_only_once = yes + is_triggered_only = yes + + picture = GFX_report_event_lindon + + # Remind them that the sindar owe their longevity to their hard work and dedication + option = { + ai_chance = { + base = 1 + } + trigger = { + has_global_flag = lothlorien_12_response_a + } + name = lothlorien.13.a + + # Increase sindar construction speed bonus + LTH = { + custom_effect_tooltip = lothlorien.13.a_tt + multiply_variable = { lthi_sindar_bonus_constructionspeed_base = 2 } + add_opinion_modifier = { + target = LIN + modifier = small_increase + } + } + } + + # Remind them of the humility of the elves of Doriath + option = { + ai_chance = { + base = 1 + } + trigger = { + has_global_flag = lothlorien_12_response_b + } + name = lothlorien.13.b + + # Increase sindar supply bonus + LTH = { + custom_effect_tooltip = lothlorien.13.b_tt + multiply_variable = { lthi_sindar_bonus_supply_base = 2 } + add_opinion_modifier = { + target = LIN + modifier = small_increase + } + } + } + + # Remind them of the great Wisdom of Elu Thingol and Melian + option = { + ai_chance = { + base = 1 + } + trigger = { + has_global_flag = lothlorien_12_response_c + } + name = lothlorien.13.c + + # Increase sindar research + LTH = { + custom_effect_tooltip = lothlorien.13.c_tt + multiply_variable = { lthi_sindar_bonus_research_base = 2 } + add_opinion_modifier = { + target = LIN + modifier = small_increase + } + } + } } +# elrosofnumenor - event to gondor +country_event = { + id = lothlorien.14 + title = lothlorien.14.t + desc = lothlorien.14.d + fire_only_once = yes + + is_triggered_only = yes + + picture = GFX_report_event_elves + + # Remind them of the great warriors the numenorians were + option = { + ai_chance = { + base = 1 + modifier = { + factor = 2 + LTH = { is_going_same_path_as_root = yes } + } + modifier = { + factor = 2 + has_opinion = { + target = LTH + value > 10 + } + } + modifier = { + factor = 2 + has_opinion = { + target = LTH + value > 50 + } + } + modifier = { + factor = 5 + is_ally_with = LTH + } + } + name = lothlorien.14.a + + # Increase half-elf army xp + + set_global_flag = { + flag = lothlorien_14_response_a + value = 1 + days = 60 + } + event_option_tooltip = lothlorien.15.a + + hidden_effect = { + LTH = { country_event = { id = lothlorien.15 days = 7 } } + } + } + + # Give general support + option = { + ai_chance = { + base = 2 + } + name = lothlorien.14.b + + # Give PP + + set_global_flag = { + flag = lothlorien_14_response_b + value = 1 + days = 60 + } + event_option_tooltip = lothlorien.15.b + + hidden_effect = { + LTH = { country_event = { id = lothlorien.15 days = 7 } } + } + } +} + +# elrosofnumenor - event to gondor - response +country_event = { + id = lothlorien.15 + title = lothlorien.15.t + desc = { + text = lothlorien.15.d_a + trigger = { + has_global_flag = lothlorien_14_response_a + } + text = lothlorien.15.d_b + trigger = { + has_global_flag = lothlorien_14_response_b + } + } + fire_only_once = yes + + is_triggered_only = yes + + picture = GFX_report_event_gondor + + # Find an old tome of war-stories and send it to them + option = { + ai_chance = { + base = 1 + } + trigger = { + has_global_flag = lothlorien_14_response_a + } + name = lothlorien.15.a + + # Increase half-elf army xp + LTH = { + custom_effect_tooltip = lothlorien.15.a_tt + multiply_variable = { lthi_halfelves_bonus_experiencegain_base = 2 } + add_opinion_modifier = { + target = GON + modifier = small_increase + } + } + } + + # Give their messengers common curesies, then send them back + option = { + ai_chance = { + base = 1 + } + trigger = { + has_global_flag = lothlorien_14_response_b + } + name = lothlorien.15.b + + # Give PP + LTH = { + add_political_power = 150 + } + } +} + +# elrondtheperedhil - event to rivendell +country_event = { + id = lothlorien.16 + title = lothlorien.16.t + desc = lothlorien.16.d + fire_only_once = yes + + is_triggered_only = yes + + picture = GFX_report_event_elves + + # Be humbled, full support. Speak at length with the delegation + option = { + ai_chance = { + base = 1 + modifier = { + factor = 2 + LTH = { is_going_same_path_as_root = yes } + } + modifier = { + factor = 2 + has_opinion = { + target = LTH + value > 10 + } + } + modifier = { + factor = 2 + has_opinion = { + target = LTH + value > 50 + } + } + modifier = { + factor = 5 + is_ally_with = LTH + } + } + name = lothlorien.16.a + + # Increase stability and consumer goods bonus, cost PP + + set_global_flag = { + flag = lothlorien_16_response_a + value = 1 + days = 60 + } + + event_option_tooltip = lothlorien.17.a + + hidden_effect = { LTH = { country_event = { id = lothlorien.17 days = 7 } } } + } + + # The delegation is welcome to speak with our more experienced warriors. Elrond is too busy + option = { + ai_chance = { + base = 1 + } + name = lothlorien.16.b + + # Increase army xp + + set_global_flag = { + flag = lothlorien_16_response_b + value = 1 + days = 60 + } + + event_option_tooltip = lothlorien.17.b + + hidden_effect = { LTH = { country_event = { id = lothlorien.17 days = 7 } } } + } +} + +# elrondtheperedhil - event to rivendell (reponse) +country_event = { + id = lothlorien.17 + title = lothlorien.17.t + desc = { + text = lothlorien.17.d_a + trigger = { + has_global_flag = lothlorien_16_response_a + } + text = lothlorien.17.d_b + trigger = { + has_global_flag = lothlorien_16_response_b + } + } + fire_only_once = yes + + is_triggered_only = yes + + picture = GFX_report_event_rivendell + + # Be humbled, full support. Speat at length with the delegation + option = { + ai_chance = { + base = 1 + } + trigger = { + has_global_flag = lothlorien_16_response_a + } + name = lothlorien.17.a + + # Dobule all half-elves bonuses + LTH = { + custom_effect_tooltip = lothlorien.17.a_tt + multiply_variable = { lthi_halfelves_bonus_consumergoods_base = 2.0 } + multiply_variable = { lthi_halfelves_bonus_experiencegain_base = 2.0 } + multiply_variable = { lthi_halfelves_bonus_stability_base = 2.0 } + + add_opinion_modifier = { + target = RIV + modifier = medium_increase + } + } + } + + # The delegation is welcome to speak with our more experienced warriors. Elrond is too busy + option = { + ai_chance = { + base = 1 + } + trigger = { + has_global_flag = lothlorien_16_response_b + } + name = lothlorien.17.b + + # Increase army xp bonus + LTH = { + custom_effect_tooltip = lothlorien.17.b_tt + add_to_variable = { lthi_halfelves_bonus_experiencegain_base = 0.1 } + + add_opinion_modifier = { + target = RIV + modifier = small_increase + } + } + } +} + +# maintain stability in the west event +country_event = { + id = lothlorien.18 + title = lothlorien.18.t + desc = lothlorien.18.d + fire_only_once = yes + + is_triggered_only = yes + + picture = GFX_report_event_paper + + # Stability is imperative, guarantee everyone + option = { + ai_chance = { + base = 1 + modifier = { + factor = 0 + is_historical_focus_on = yes + } + } + name = lothlorien.18.a + + every_country = { + limit = { + is_men = yes + is_western = yes + NOT = { tag = NEP } + NOT = { tag = ROH } + NOT = { tag = GON } + NOT = { belligerent > 0.35 } + NOT = { revolutionary > 0.35 } + NOT = { has_government = belligerent } + NOT = { has_government = revolutionary } + NOT = { is_in_faction = yes } + NOT = { is_puppet = yes } + + } + LTH = { give_guarantee = PREV } + } + } + + # opinion is enough + option = { + ai_chance = { + base = 4 + } + name = lothlorien.18.b + + every_country = { + limit = { + is_men = yes + is_western = yes + NOT = { tag = NEP } + NOT = { tag = ROH } + NOT = { tag = GON } + NOT = { belligerent > 0.35 } + NOT = { revolutionary > 0.35 } + NOT = { has_government = belligerent } + NOT = { has_government = revolutionary } + NOT = { is_in_faction = yes } + NOT = { is_puppet = yes } + } + add_opinion_modifier = { + target = LTH + modifier = medium_increase + } + } + } +} + +# Cele and Gala BOTH leave for valinor +country_event = { + id = lothlorien.19 + title = lothlorien.19.t + desc = lothlorien.19.d + fire_only_once = yes + + is_triggered_only = yes + + picture = GFX_report_event_cele_gala + + # Stability is imperative, guarantee everyone + option = { + ai_chance = { + base = 1 + } + name = lothlorien.19.a + + LTH_celeborn = { + retire = yes + } + LTH_galadriel = { + retire = yes + } + hidden_effect = { + news_event = news.394 + } + } +} + +# Take Halflings to Valinor +country_event = { + id = lothlorien.20 + title = lothlorien.20.t + desc = lothlorien.20.d + fire_only_once = yes + + is_triggered_only = yes + + picture = GFX_report_event_lindon + + option = { + ai_chance = { + base = 1 + } + name = lothlorien.20.a + + # Probably just add some flavour text to event-log + # and give a newspaper event + news_event = { id = news.395 days = 5 } + add_to_array = { global.fs_eventlog_prefix_targets = 0 } + add_to_array = { global.fs_eventlog_suffix_targets = 0 } + add_to_array = { global.fs_eventlog = token:fs_event_frodo_bilbo_to_valinor } + ring_trim_eventlog = yes + } +} + +# Durins Bane Tracked Down +country_event = { + id = lothlorien.21 + title = lothlorien.21.t + desc = lothlorien.21.d + fire_only_once = yes + + is_triggered_only = yes + + picture = GFX_report_event_balrog + + # Kill + option = { + ai_chance = { + base = 1 + } + name = lothlorien.21.a + + add_manpower = -25000 + remove_durins_bane_from_moria = yes + kill_durins_bane = yes + } + + # Tame + option = { + ai_chance = { + base = 5 + } + trigger = { + ring_has_the_ring = yes + controls_state = 134 + } + name = lothlorien.21.a + + remove_durins_bane_from_moria = yes + + custom_effect_tooltip = lothlorien.21.a_tt + hidden_effect = { + load_oob = Moria_Balrog + } + } +} + +# We got raided by FROM +country_event = { + id = lothlorien.22 + title = lothlorien.22.t + desc = lothlorien.22.d + + is_triggered_only = yes + + picture = GFX_report_event_fire + + # :( + option = { + ai_chance = { + base = 1 + } + name = lothlorien.22.a + + # Cause some damage to buildings + random_list = { + 10 = { + random_owned_state = { + damage_building = { + type = infrastructure + damage = 2 + } + } + } + 10 = { + random_owned_state = { + damage_building = { + type = industrial_complex + damage = 2 + } + } + } + 10 = { + random_owned_state = { + damage_building = { + type = arms_factory + damage = 2 + } + } + } + 10 = { + random_owned_state = { + limit = { industrial_complex > 1 } + remove_building = { type = industrial_complex level = 1 } + } + } + 10 = { + random_owned_state = { + limit = { arms_factory > 1 } + remove_building = { type = arms_factory level = 1 } + } + } + } + } +} + +# Help Mirkwood with containment of DGU +country_event = { + id = lothlorien.23 + title = lothlorien.23.t + desc = lothlorien.23.d + fire_only_once = yes + + is_triggered_only = yes + + picture = GFX_report_event_dolguldur + + # :) + option = { + ai_chance = { + base = 1 + } + name = lothlorien.23.a + + 87 = { + add_compliance = 15 + add_resistance = -5 + } + # Add compliance/reduce reistance in DGU + } +} + +# Force the DGU issue +country_event = { + id = lothlorien.24 + title = lothlorien.24.t + desc = lothlorien.24.d + fire_only_once = yes + + is_triggered_only = yes + + picture = GFX_report_event_dolguldur + + # Offer 1: If they give us Mirkwood Outskirts, we will declare war + option = { + ai_chance = { + base = 1 + modifier = { + factor = 3 + has_war = no + } + modifier = { + has_government = belligerent + factor = 2 + } + } + trigger = { + NOT = { has_war_with = MIR } + 191 = { is_controlled_by = MIR } + } + name = lothlorien.24.a + + hidden_effect = { + MIR = { country_event = { id = lothlorien.25 days = 5 } } + } + # Add tooltip saying that we *will* immediately declare war if they accept + custom_effect_tooltip = if_they_accept + event_option_tooltip = lothlorien.25.a + } + + # Offer 2: Offer them weapons n shit + option = { + ai_chance = { + base = 2 + } + trigger = { + NOT = { has_war_with = MIR } + } + name = lothlorien.24.b + + hidden_effect = { + MIR = { country_event = { id = lothlorien.26 days = 5 } } + } + # remove some weapons and stuff + event_option_tooltip = lothlorien.26.a + add_political_power = 100 + } + + # Take things into our own hands + option = { + ai_chance = { + base = 1 + modifier = { + factor = 2 + has_war = no + } + modifier = { + has_government = belligerent + factor = 2 + } + } + name = lothlorien.24.c + + # Get wargoal on DGU + create_wargoal = { + target = DGU + type = take_state_focus + generator = { 87 } + } + } +} + +# Mirkwood: Offer 1 on DGU (give us Mirkwood Outskirts, we will declare war) +country_event = { + id = lothlorien.25 + title = lothlorien.25.t + desc = lothlorien.25.d + fire_only_once = yes + + is_triggered_only = yes + + picture = GFX_report_event_dolguldur + + # OK + option = { + ai_chance = { + base = 1 + modifier = { + factor = 3 + LTH = { is_ai = yes is_going_same_path_as_root = yes } + } + modifier = { + factor = 3 + has_opinion = { target = LTH value > 20 } + } + modifier = { + factor = 2 + has_war = yes + } + modifier = { + factor = 2 + is_ally_with = LTH + } + } + name = lothlorien.25.a + + 191 = { transfer_state_to = LTH } + } + + # Hell no + option = { + ai_chance = { + base = 1 + modifier = { + factor = 3 + LTH = { is_ai = yes is_going_different_path_as_root = yes } + } + modifier = { + factor = 3 + has_opinion = { target = LTH value < -5 } + } + } + name = lothlorien.25.b + + add_stability = -0.1 + } +} + +# Mirkwood: Offer 2 on DGU: LTH sends weapons and stuff +country_event = { + id = lothlorien.26 + title = lothlorien.26.t + desc = lothlorien.26.d + fire_only_once = yes + + is_triggered_only = yes + + picture = GFX_report_event_dolguldur + + # Cool Beans + option = { + ai_chance = { + base = 1 + } + name = lothlorien.26.a + + LTH = { + send_equipment = { + equipment = infantry_equipment + amount = 2000 + target = MIR + } + } + MIR = { + add_opinion_modifier = { + target = LTH + modifier = medium_increase + } + } + } +} + +# Rivendell: Ask for a seat on Elrond's Council +country_event = { + id = lothlorien.27 + title = lothlorien.27.t + desc = lothlorien.27.d + fire_only_once = yes + + is_triggered_only = yes + + picture = GFX_report_event_lothlorien + + # Ok + option = { + ai_chance = { + base = 6 + modifier = { + factor = 2 + LTH = { is_going_same_path_as_root = yes } + } + modifier = { + factor = 2 + LTH = { is_going_cooperative = yes } + } + } + name = lothlorien.27.a + + set_global_flag = fs_lothlorien_invited + custom_effect_tooltip = lothlorien.27.a_tt + LTH = { country_event = lothlorien.64 } + } + + # Nope + option = { + ai_chance = { + base = 1 + modifier = { + factor = 10 + LTH = { has_completed_focus = lth_thegreatschism } + } + modifier = { + factor = 10 + LTH = { has_added_tension_amount > 1 } + } + } + name = lothlorien.27.b + + event_option_tooltip = lothlorien.65.a + LTH = { country_event = lothlorien.65 } + } +} + +# Vales: Offer Anduin to become our puppet in return for some stuff +country_event = { + id = lothlorien.28 + title = lothlorien.28.t + desc = lothlorien.28.d + fire_only_once = yes + + is_triggered_only = yes + + picture = GFX_report_event_elves_army + + # Ok + option = { + ai_chance = { + base = 7 + modifier = { + factor = 2 + has_opinion = { target = LTH value > 50 } + } + modifier = { + factor = 2 + has_opinion = { target = LTH value > 25 } + } + modifier = { + factor = 2 + LTH = { is_going_same_path_as_root = yes } + } + modifier = { + factor = 2 + strength_ratio = { tag = LTH ratio < 1 } + } + modifier = { + factor = 2 + strength_ratio = { tag = LTH ratio < 0.6 } + } + modifier = { + factor = 0 + has_country_flag = mirror_predicted_vales_decline + } + } + name = lothlorien.28.a + + set_global_flag = lth_anduin_accepts_offer + + LTH = { add_timed_idea = { idea = six_civs_cost days = 300 } } + VAL = { add_timed_idea = { idea = six_civs_gain days = 300 } } + + VAL = { transfer_state = 76 } + LTH = { puppet = { target = VAL end_wars = no } } + + hidden_effect = { + LTH = { country_event = lothlorien.29 } + } + } + + # Nope + option = { + ai_chance = { + base = 10 + modifier = { + factor = 2 + has_opinion = { target = LTH value < 0 } + } + modifier = { + factor = 2 + has_opinion = { target = LTH value < -25 } + } + modifier = { + factor = 2 + LTH = { is_going_different_path_as_root = yes } + } + modifier = { + factor = 2 + strength_ratio = { tag = LTH ratio > 1 } + } + modifier = { + factor = 2 + strength_ratio = { tag = LTH ratio > 2 } + } + modifier = { + has_government = cooperative + factor = 2 + } + modifier = { + factor = 0 + has_country_flag = mirror_predicted_vales_accept + } + } + name = lothlorien.28.b + + custom_effect_tooltip = lth_gain_wargoal_through_focus_tt + + hidden_effect = { + LTH = { country_event = lothlorien.29 } + } + } +} + +# Vales: Response to the offer above +country_event = { + id = lothlorien.29 + + title = { + text = lothlorien.29.t_accept + trigger = { has_global_flag = lth_anduin_accepts_offer } + } + title = { + text = lothlorien.29.t_decline + } + + desc = { + text = lothlorien.29.d_accept + trigger = { has_global_flag = lth_anduin_accepts_offer } + } + desc = { + text = lothlorien.29.d_decline + } + + fire_only_once = yes + + is_triggered_only = yes + + # Cool + option = { + trigger = { + has_global_flag = lth_anduin_accepts_offer + } + ai_chance = { + base = 1 + } + name = lothlorien.29.a + + effect_tooltip = { + LTH = { add_timed_idea = { idea = six_civs_cost days = 300 } } + VAL = { add_timed_idea = { idea = six_civs_gain days = 300 } } + + VAL = { transfer_state = 76 } + LTH = { puppet = VAL } + } + } + + # Wtf + option = { + trigger = { + NOT = { has_global_flag = lth_anduin_accepts_offer } + } + ai_chance = { + base = 1 + } + name = lothlorien.29.b + + add_opinion_modifier = { + target = VAL + modifier = medium_decrease + } + } +} + +# Vales: Choose what gifts to send Anduin +country_event = { + id = lothlorien.30 + title = lothlorien.30.t + desc = lothlorien.30.d + fire_only_once = yes + + is_triggered_only = yes + + # Give them a full guarantee + option = { + ai_chance = { + base = 1 + } + name = lothlorien.30.a + + set_country_flag = lth_anduin_gift_guarantee + give_guarantee = VAL + VAL = { + add_opinion_modifier = { + target = LTH + modifier = large_increase + } + } + hidden_effect = { + VAL = { country_event = lothlorien.43 } + } + } + + # Send them some old equipment + option = { + ai_chance = { + base = 2 + } + name = lothlorien.30.b + + set_country_flag = lth_anduin_gift_equipment + LTH = { + send_equipment = { + equipment = infantry_equipment + amount = 2000 + target = VAL + } + } + VAL = { + add_opinion_modifier = { + target = LTH + modifier = medium_increase + } + } + hidden_effect = { + VAL = { country_event = lothlorien.43 } + } + } + + # Just a diplomatic gesture + option = { + ai_chance = { + base = 1 + } + name = lothlorien.30.c + VAL = { + add_opinion_modifier = { + target = LTH + modifier = small_increase + } + } + + } +} + +# Generic subjugation event from "Fate of Mortals" +country_event = { + id = lothlorien.31 + title = lothlorien.31.t + desc = lothlorien.31.d + + is_triggered_only = yes + + picture = GFX_report_event_elves_army + + # Bow down to them (become puppet) + option = { + ai_chance = { + base = 1 + modifier = { + factor = 2 + LTH = { is_in_faction = yes } + } + modifier = { + factor = 2 + LTH = { is_going_same_path_as_root = yes } + } + modifier = { + factor = 2 + strength_ratio = { tag = LTH ratio < 1 } + } + modifier = { + factor = 2 + strength_ratio = { tag = LTH ratio < 0.5 } + } + # THese countries are too far away, they should probably say no + modifier = { + factor = 0.1 + OR = { + tag = DOR + tag = DAL + tag = ART + tag = ANG + } + } + } + name = lothlorien.31.a + + event_option_tooltip = lothlorien.32.a_accepted + + LTH = { country_event = { id = lothlorien.32 days = 1 } } + } + + # Send them tribute + option = { + ai_chance = { + base = 5 + modifier = { + factor = 2 + LTH = { is_in_faction = yes } + } + modifier = { + factor = 2 + LTH = { is_going_same_path_as_root = yes } + } + modifier = { + factor = 2 + strength_ratio = { tag = LTH ratio < 1 } + } + } + name = lothlorien.31.b + + set_country_flag = { + flag = lth_sent_tribute + days = 60 + } + event_option_tooltip = lothlorien.32.a_tribute + + LTH = { country_event = { id = lothlorien.32 days = 1 } } + } + + # No way + option = { + ai_chance = { + base = 2 + modifier = { + factor = 5 + is_in_faction = yes + } + modifier = { + factor = 3 + has_government = cooperative + } + modifier = { + factor = 5 + strength_ratio = { tag = LTH ratio > 1 } + } + } + name = lothlorien.31.c + + LTH = { + add_opinion_modifier = { + target = THIS + modifier = medium_decrease + } + } + + set_country_flag = lth_refused_subjugation + event_option_tooltip = lothlorien.32.a_declined + + LTH = { country_event = { id = lothlorien.32 days = 1 } } + } +} + +# Generic subjugation event response +country_event = { + id = lothlorien.32 + + title = { + text = lothlorien.32.t_declined + trigger = { FROM = { has_country_flag = lth_refused_subjugation } } + } + title = { + text = lothlorien.32.t_tribute + trigger = { FROM = { has_country_flag = lth_sent_tribute } } + } + title = { + text = lothlorien.32.t_accepted + } + + desc = { + text = lothlorien.32.d_declined + trigger = { FROM = { has_country_flag = lth_refused_subjugation } } + } + desc = { + text = lothlorien.32.d_tribute + trigger = { FROM = { has_country_flag = lth_sent_tribute } } + } + desc = { + text = lothlorien.32.d_accepted + } + + is_triggered_only = yes + + option = { + ai_chance = { + base = 1 + } + trigger = { FROM = { has_country_flag = lth_refused_subjugation } } + name = lothlorien.32.a_declined + + custom_effect_tooltip = lth_gain_wargoal_through_focus_tt + } + + option = { + ai_chance = { + base = 1 + } + trigger = { FROM = { has_country_flag = lth_sent_tribute } } + name = lothlorien.32.a_tribute + + if = { + limit = { FROM = { num_of_civilian_factories > 15 } } + LTH = { add_timed_idea = { idea = six_civs_gain days = 210 } } + FROM = { add_timed_idea = { idea = six_civs_cost days = 210 } } + } + else = { + LTH = { add_timed_idea = { idea = three_civs_gain days = 210 } } + FROM = { add_timed_idea = { idea = three_civs_cost days = 210 } } + } + } + + option = { + ai_chance = { + base = 1 + } + trigger = { + NOT = { FROM = { has_country_flag = lth_refused_subjugation } } + NOT = { FROM = { has_country_flag = lth_sent_tribute } } + } + name = lothlorien.32.a_accepted + + LTH = { + puppet = { + target = FROM + end_wars = no + } + } + } +} + +# Safeguard elves event +country_event = { + id = lothlorien.33 + title = lothlorien.33.t + desc = lothlorien.33.d + + is_triggered_only = yes + + picture = GFX_report_event_elves_army + + # Bow down to them (become puppet) + option = { + ai_chance = { + base = 1 + modifier = { + factor = 2 + LTH = { is_in_faction = yes } + } + modifier = { + factor = 2 + LTH = { is_going_same_path_as_root = yes } + } + modifier = { + factor = 2 + strength_ratio = { tag = LTH ratio < 1 } + } + modifier = { + factor = 3 + strength_ratio = { tag = LTH ratio < 0.5 } + } + modifier = { + factor = 2 + has_war = yes + } + } + name = lothlorien.33.a + + event_option_tooltip = lothlorien.34.a_accepted + + hidden_effect = { FROM = { country_event = { id = lothlorien.34 days = 3 } } } + } + + # Wtf? + option = { + ai_chance = { + base = 5 + modifier = { + factor = 5 + is_in_faction = yes + LTH = { is_in_faction = no } + } + modifier = { + factor = 3 + has_government = cooperative + } + modifier = { + factor = 2 + has_war = no + } + modifier = { + factor = 5 + strength_ratio = { tag = LTH ratio > 1 } + } + } + name = lothlorien.33.b + + custom_effect_tooltip = lth_gain_wargoal_through_focus_tt + + set_country_flag = lth_refused_subjugation + + hidden_effect = { FROM = { country_event = { id = lothlorien.34 days = 3 } } } + } +} + +# Safeguard elves event - Response +country_event = { + id = lothlorien.34 + + title = { + text = lothlorien.34.t_declined + trigger = { FROM = { has_country_flag = lth_refused_subjugation } } + } + title = { + text = lothlorien.34.t_accepted + trigger = { NOT = { FROM = { has_country_flag = lth_refused_subjugation } } } + } + + desc = { + text = lothlorien.34.d_declined + trigger = { FROM = { has_country_flag = lth_refused_subjugation } } + } + desc = { + text = lothlorien.34.d_accepted + trigger = { NOT = { FROM = { has_country_flag = lth_refused_subjugation } } } + } + + is_triggered_only = yes + + option = { + ai_chance = { + base = 1 + } + trigger = { FROM = { has_country_flag = lth_refused_subjugation } } + name = lothlorien.34.a_declined + } + + option = { + ai_chance = { + base = 1 + } + trigger = { + NOT = { FROM = { has_country_flag = lth_refused_subjugation } } + } + name = lothlorien.34.a_accepted + + LTH = { + puppet = { + target = FROM + end_wars = no + } + } + } +} + +# Ringbearers Edicts positive +country_event = { + id = lothlorien.36 + title = lothlorien.36.t + desc = lothlorien.36.d + fire_only_once = yes + + is_triggered_only = yes + + picture = GFX_report_event_galadriel + + # + option = { + ai_chance = { + base = 1 + } + name = lothlorien.36.a + + lthi_increase_influence_noldor_major = yes + add_political_power = 100 + } +} + +# Ringbearers Edicts negative +country_event = { + id = lothlorien.37 + title = lothlorien.37.t + desc = lothlorien.37.d + fire_only_once = yes + + is_triggered_only = yes + + picture = GFX_report_event_galadriel + + # + option = { + ai_chance = { + base = 1 + } + name = lothlorien.37.a + + lthi_decrease_influence_noldor_intermediate = yes + add_stability = -0.1 + add_political_power = -100 + } +} + +# Lords Prerogative positive +country_event = { + id = lothlorien.38 + title = lothlorien.38.t + desc = lothlorien.38.d + fire_only_once = yes + + is_triggered_only = yes + + picture = GFX_report_event_celeborn + + # + option = { + ai_chance = { + base = 1 + } + name = lothlorien.38.a + + lthi_increase_influence_sindar_major = yes + add_political_power = 100 + } +} + +# Lords Prerogative negative +country_event = { + id = lothlorien.39 + title = lothlorien.39.t + desc = lothlorien.39.d + fire_only_once = yes + + is_triggered_only = yes + + picture = GFX_report_event_celeborn + + # + option = { + ai_chance = { + base = 1 + } + name = lothlorien.39.a + + lthi_decrease_influence_sindar_intermediate = yes + add_stability = -0.1 + add_political_power = -100 + } +} + +# Send help to dwarf moria? +country_event = { + id = lothlorien.40 + title = lothlorien.40.t + desc = lothlorien.40.d + fire_only_once = yes + + is_triggered_only = yes + + picture = GFX_report_event_moria + + # + option = { + ai_chance = { + base = 1 + modifier = { + factor = 2 + MOA = { is_ai = no } + } + modifier = { + factor = 0 + is_going_revolutionary = yes + } + } + name = lothlorien.40.a + + # Send weapons + event_option_tooltip = lothlorien.41.a + } + + option = { + ai_chance = { + base = 1 + modifier = { + factor = 2 + MOA = { is_ai = no } + } + modifier = { + factor = 0 + is_going_revolutionary = yes + } + } + name = lothlorien.40.b + + # Send a few volunteers + event_option_tooltip = lothlorien.42.a + + add_manpower = -10000 + } + + option = { + ai_chance = { + base = 1 + } + name = lothlorien.40.c + + # Thoughts and prayers + } +} + +# Moria help: weapons +country_event = { + id = lothlorien.41 + title = lothlorien.41.t + desc = lothlorien.41.d + fire_only_once = yes + + is_triggered_only = yes + + picture = GFX_report_event_lothlorien + + # + option = { + ai_chance = { + base = 1 + } + name = lothlorien.41.a + + # Send weapons + LTH = { + send_equipment = { + equipment = infantry_equipment + amount = 1000 + target = MOA + } + } + MOA = { + add_opinion_modifier = { + target = LTH + modifier = medium_increase + } + add_equipment_subsidy = { + cic = 500 + equipment_type = infantry_equipment + seller_tags = { LTH } + } + } + } +} + +# Moria help: volunteers +country_event = { + id = lothlorien.42 + title = lothlorien.42.t + desc = lothlorien.42.d + fire_only_once = yes + + is_triggered_only = yes + + picture = GFX_report_event_elves_army + + # + option = { + ai_chance = { + base = 1 + } + name = lothlorien.42.a + + MOA = { + add_manpower = 10000 + add_war_support = 0.1 + add_opinion_modifier = { + target = LTH + modifier = small_increase + } + add_equipment_subsidy = { + cic = 500 + equipment_type = infantry_equipment + seller_tags = { LTH } + } + } + } +} + +# Vales of Anduin cooperation +country_event = { + id = lothlorien.43 + title = lothlorien.43.t + desc = lothlorien.43.d + fire_only_once = yes + + is_triggered_only = yes + + # + option = { + ai_chance = { + base = 1 + } + name = lothlorien.43.a + + if = { + limit = { LTH = { has_country_flag = lth_anduin_gift_equipment } } + effect_tooltip = { + LTH = { + send_equipment = { + equipment = infantry_equipment + amount = 2000 + target = VAL + } + } + VAL = { + add_opinion_modifier = { + target = LTH + modifier = medium_increase + } + } + } + } + else_if = { + limit = { LTH = { has_country_flag = lth_anduin_gift_guarantee } } + effect_tooltip = { + LTH = { give_guarantee = VAL } + VAL = { + add_opinion_modifier = { + target = LTH + modifier = large_increase + } + } + } + } + } +} + +# Vales of Anduin cooperation efforts +country_event = { + id = lothlorien.44 + title = lothlorien.44.t + desc = lothlorien.44.d + + is_triggered_only = yes + + # + option = { + ai_chance = { + base = 1 + } + name = lothlorien.44.a + + if = { + limit = { LTH = { has_country_flag = lth_anduin_gift_guarantee } } + army_experience = 100 + random_owned_state = { + add_building_slot_and_civ_x3 = yes + } + } + else_if = { + limit = { has_country_flag = lth_anduin_gift_equipment } + army_experience = 50 + random_owned_state = { + add_building_slot_and_civ_x2 = yes + } + } + else = { + army_experience = 25 + random_owned_state = { + add_building_slot_and_civ = yes + } + } + } +} + +# Leaving to Valinor flavour event +country_event = { + id = lothlorien.45 + title = lothlorien.45.t + desc = lothlorien.45.d + fire_only_once = yes + + is_triggered_only = yes + + picture = GFX_report_event_lindon + + # + option = { + ai_chance = { + base = 1 + } + name = lothlorien.45.a + + # start a mission that periodically looses manpower in core states + activate_mission = leaving_for_valinor + } +} + + +# Oath of Feanor reaffirmed +country_event = { + id = lothlorien.46 + title = lothlorien.46.t + desc = lothlorien.46.d + fire_only_once = yes + + is_triggered_only = yes + + picture = GFX_report_event_elves_oath + + # + option = { + ai_chance = { + base = 1 + } + name = lothlorien.46.a + + # Increase animosity towards Mordor + add_relation_modifier = { + target = MOR + modifier = oath_of_feanor + } + # Increase Noldor influence + lthi_increase_influence_noldor_intermediate = yes + add_opinion_modifier = { + target = MOR + modifier = oath_of_feanor + } + + custom_effect_tooltip = oath_of_feanor_effect_tt + } +} + +# [Elven Lord] supports Galadriel +country_event = { + id = lothlorien.47 + title = lothlorien.47.t + desc = lothlorien.47.d + + is_triggered_only = yes + + # + option = { + ai_chance = { + base = 1 + } + name = lothlorien.47.a + lthi_increase_influence_noldor_intermediate = yes + + } +} + +# [Elven Lord] supports Celeborn +country_event = { + id = lothlorien.48 + title = lothlorien.48.t + desc = lothlorien.48.d + + is_triggered_only = yes + + # + option = { + ai_chance = { + base = 1 + } + name = lothlorien.48.a + lthi_increase_influence_sindar_intermediate = yes + } +} + +# [Elven Lord] abstains +country_event = { + id = lothlorien.49 + title = lothlorien.49.t + desc = lothlorien.49.d + + is_triggered_only = yes + + # + option = { + ai_chance = { + base = 1 + } + name = lothlorien.49.a + } +} + +# Accord: Gala begins term +country_event = { + id = lothlorien.50 + title = lothlorien.50.t + desc = lothlorien.50.d + + is_triggered_only = yes + + picture = GFX_report_event_galadriel + + # + option = { + ai_chance = { + base = 1 + } + name = lothlorien.50.a + + lth_accord_gala_term = yes + } +} + +# Accord: Cele begins term +country_event = { + id = lothlorien.51 + title = lothlorien.51.t + desc = lothlorien.51.d + + is_triggered_only = yes + + picture = GFX_report_event_celeborn + + # + option = { + ai_chance = { + base = 1 + } + name = lothlorien.51.a + + lth_accord_cele_term = yes + } +} + +# Orc Right's Debate +country_event = { + id = lothlorien.52 + title = lothlorien.52.t + desc = lothlorien.52.d + + is_triggered_only = yes + + picture = GFX_report_event_orcs_marching + + # Let's go + option = { + ai_chance = { + base = 1 + modifier = { + factor = 2 + has_manpower < 50000 + } + modifier = { + factor = 3 + any_allied_country = { + is_orcs = yes + } + } + } + name = lothlorien.52.a + + add_stability = -0.15 + add_political_power = -150 + } + + # Hell no + option = { + ai_chance = { + base = 2 + modifier = { + factor = 2 + has_manpower > 200000 + } + } + name = lothlorien.52.b + + add_stability = 0.15 + add_political_power = 150 + custom_effect_tooltip = lothlorien.52.b_tt + set_country_flag = orc_rights_debate_declined + } +} + +# Ents asked for help +country_event = { + id = lothlorien.53 + title = lothlorien.53.t + desc = lothlorien.53.d + + is_triggered_only = yes + + picture = GFX_report_event_lothlorien + + # accept + option = { + ai_chance = { + base = 2 + modifier = { + factor = 2 + LTH = { is_ai = no } + } + modifier = { + factor = 2 + LTH = { is_going_same_path_as_root = yes } + } + modifier = { + factor = 2 + has_opinion = { target = LTH value > 25 } + } + modifier = { + factor = 2 + has_opinion = { target = LTH value > 15 } + } + } + name = lothlorien.53.a + + event_option_tooltip = lothlorien.54.a + + hidden_effect = { LTH = { country_event = { id = lothlorien.54 days = 7 } } } + } + + # decline + option = { + ai_chance = { + base = 1 + modifier = { + factor = 2 + LTH = { is_going_different_path_as_root = yes } + } + modifier = { + factor = 2 + has_opinion = { target = LTH value < -10 } + } + } + name = lothlorien.53.b + + event_option_tooltip = lothlorien.55.a + + add_political_power = -100 + + hidden_effect = { LTH = { country_event = { id = lothlorien.55 days = 7 } } } + } +} + +# Ents accept +country_event = { + id = lothlorien.54 + title = lothlorien.54.t + desc = lothlorien.54.d + + is_triggered_only = yes + + picture = GFX_report_event_ents + + # accept + option = { + ai_chance = { + base = 1 + } + name = lothlorien.54.a + + LTH = { + give_guarantee = ENT + add_opinion_modifier = { + target = ENT + modifier = small_increase + } + set_country_flag = lth_ent_cooperation + } + ENT = { + give_resource_rights = { + receiver = LTH + state = 161 + resources = { chromium } + } + } + } +} + +# Ents decline +country_event = { + id = lothlorien.55 + title = lothlorien.55.t + desc = lothlorien.55.d + + is_triggered_only = yes + + picture = GFX_report_event_ents + + # accept + option = { + ai_chance = { + base = 1 + } + name = lothlorien.55.a + + LTH = { + add_opinion_modifier = { + target = ENT + modifier = medium_decrease + } + } + } +} + +# Spiders asked for help +country_event = { + id = lothlorien.56 + title = lothlorien.56.t + desc = lothlorien.56.d + + is_triggered_only = yes + + picture = GFX_report_event_lothlorien + + # accept + option = { + ai_chance = { + base = 4 + modifier = { + factor = 2 + LTH = { is_ai = no } + } + } + name = lothlorien.56.a + + event_option_tooltip = lothlorien.57.a + + hidden_effect = { LTH = { country_event = { id = lothlorien.57 days = 7 } } } + } + + # decline + option = { + ai_chance = { + base = 1 + } + name = lothlorien.56.b + + event_option_tooltip = lothlorien.58.a + + add_political_power = -100 + + hidden_effect = { LTH = { country_event = { id = lothlorien.58 days = 7 } } } + } +} + +# Spiders accept +country_event = { + id = lothlorien.57 + title = lothlorien.57.t + desc = lothlorien.57.d + + is_triggered_only = yes + + picture = GFX_report_event_spiders + + # accept + option = { + ai_chance = { + base = 1 + } + name = lothlorien.57.a + + if = { + limit = { + MIR = { is_spiders = yes } + } + LTH = { + add_opinion_modifier = { + target = MIR + modifier = small_increase + } + diplomatic_relation = { + country = MIR + relation = non_aggression_pact + active = yes + } + # Will spawn spoders at regular intervals + custom_effect_tooltip = lth_spider_cooperation_tt + set_country_flag = lth_spider_cooperation + hidden_effect = { + load_oob = Lothlorien_Spiders_Template + lth_spawn_spider_division = yes + } + } + } + else = { + LTH = { + add_opinion_modifier = { + target = SPI + modifier = small_increase + } + diplomatic_relation = { + country = SPI + relation = non_aggression_pact + active = yes + } + # Will spawn spoders at regular intervals + custom_effect_tooltip = lth_spider_cooperation_tt + set_country_flag = lth_spider_cooperation + hidden_effect = { + load_oob = Lothlorien_Spiders_Template + lth_spawn_spider_division = yes + } + } + } + + } +} + +# Spiders decline +country_event = { + id = lothlorien.58 + title = lothlorien.58.t + desc = lothlorien.58.d + + is_triggered_only = yes + + picture = GFX_report_event_spiders + + # accept + option = { + ai_chance = { + base = 1 + } + name = lothlorien.58.a + + LTH = { + add_opinion_modifier = { + target = SPI + modifier = medium_decrease + } + } + } +} + +# Thranduil pressured to sign non-agression pact with Erebor +country_event = { + id = lothlorien.59 + title = lothlorien.59.t + desc = lothlorien.59.d + + is_triggered_only = yes + + picture = GFX_report_event_lothlorien + + # accept + option = { + ai_chance = { + base = 2 + modifier = { + factor = 2 + has_opinion = { + target = LTH + value > 30 + } + } + modifier = { + factor = 2 + LTH = { is_going_same_path_as_root = yes } + } + modifier = { + factor = 0.25 + LTH = { is_going_different_path_as_root = yes } + } + modifier = { + factor = 5 + ERE = { is_going_same_path_as_root = yes } + } + modifier = { + factor = 10 + has_completed_focus = reconcileerebor + } + } + + name = lothlorien.59.a + + custom_effect_tooltip = lothlorien.59.a_tt + effect_tooltip = { + diplomatic_relation = { + country = ERE + relation = non_aggression_pact + active = yes + } + } + + hidden_effect = { + if = { + limit = { ERE = { has_country_flag = lth_pressure_accepted } } + diplomatic_relation = { + country = ERE + relation = non_aggression_pact + active = yes + } + ERE = { clr_country_flag = lth_pressure_accepted } + } + else = { + set_country_flag = { + flag = lth_pressure_accepted + days = 60 + value = 1 + } + } + } + } + + # no + option = { + ai_chance = { + base = 1 + modifier = { + factor = 2 + has_opinion = { + target = LTH + value < 0 + } + } + modifier = { + factor = 10 + has_completed_focus = opposeerebor + } + modifier = { + factor = 2 + ERE = { is_going_different_path_as_root = yes } + } + } + + name = lothlorien.59.b + + add_political_power = -200 + add_stability = -0.1 + } +} + +# Erebor pressured to sign non-agression pact with Mirkwood +country_event = { + id = lothlorien.60 + title = lothlorien.60.t + desc = lothlorien.60.d + + is_triggered_only = yes + + picture = GFX_report_event_lothlorien + + # accept + option = { + ai_chance = { + base = 2 + modifier = { + factor = 2 + has_opinion = { + target = LTH + value > 30 + } + } + modifier = { + factor = 2 + LTH = { is_going_same_path_as_root = yes } + } + modifier = { + factor = 5 + MIR = { is_going_same_path_as_root = yes } + } + modifier = { + factor = 2 + has_opinion = { + target = MIR + value > 0 + } + } + } + name = lothlorien.60.a + + custom_effect_tooltip = lothlorien.60.a_tt + effect_tooltip = { + diplomatic_relation = { + country = MIR + relation = non_aggression_pact + active = yes + } + } + + hidden_effect = { + if = { + limit = { MIR = { has_country_flag = lth_pressure_accepted } } + diplomatic_relation = { + country = MIR + relation = non_aggression_pact + active = yes + } + MIR = { clr_country_flag = lth_pressure_accepted } + } + else = { + set_country_flag = { + flag = lth_pressure_accepted + days = 60 + value = 1 + } + } + } + } + + # no + option = { + ai_chance = { + base = 1 + modifier = { + factor = 2 + has_opinion = { + target = LTH + value > 30 + } + } + modifier = { + factor = 2 + LTH = { is_going_same_path_as_root = yes } + } + modifier = { + factor = 2 + MIR = { is_going_different_path_as_root = yes } + } + modifier = { + factor = 2 + has_opinion = { + target = MIR + value > 0 + } + } + } + name = lothlorien.60.b + + add_political_power = -150 + add_stability = -0.05 + + } +} + +# Commemorate Battle of Celebrant (ROH) +country_event = { + id = lothlorien.61 + title = lothlorien.61.t + desc = lothlorien.61.d + + is_triggered_only = yes + + picture = GFX_report_event_lothlorien + + # accept + option = { + ai_chance = { + base = 1 + } + name = lothlorien.61.a + + army_experience = 50 + add_war_support = 0.05 + add_stability = 0.05 + + effect_tooltip = { + LTH = { + add_opinion_modifier = { + target = ROH + modifier = small_increase + } + } + ROH = { + add_opinion_modifier = { + target = LTH + modifier = small_increase + } + } + } + } +} + +# Commemorate Battle of Celebrant (LTH) +country_event = { + id = lothlorien.62 + title = lothlorien.62.t + desc = lothlorien.62.d + + is_triggered_only = yes + + picture = GFX_report_event_riders + + # accept + option = { + ai_chance = { + base = 1 + } + name = lothlorien.62.a + + army_experience = 50 + add_war_support = 0.05 + add_stability = 0.05 + + LTH = { + add_opinion_modifier = { + target = ROH + modifier = small_increase + } + } + ROH = { + add_opinion_modifier = { + target = LTH + modifier = small_increase + } + } + } +} + +# ROH asked by LTH for guarantee +country_event = { + id = lothlorien.63 + title = lothlorien.63.t + desc = lothlorien.63.d + + is_triggered_only = yes + + picture = GFX_report_event_lothlorien + + # accept + option = { + ai_chance = { + base = 5 + modifier = { + factor = 2 + has_opinion = { + target = LTH + value > 30 + } + } + } + name = lothlorien.63.a + + ROH = { + give_guarantee = LTH + } + } + + # no + option = { + ai_chance = { + base = 2 + modifier = { + factor = 10 + LTH = { has_added_tension_amount > 5 } + } + } + name = lothlorien.63.b + + add_political_power = -150 + add_stability = -0.1 + } +} + +# Elrond council reponse: accepted +country_event = { + id = lothlorien.64 + title = lothlorien.64.t + desc = lothlorien.64.d + + picture = GFX_report_event_elrond_council + + is_triggered_only = yes + + # accept + option = { + ai_chance = { + base = 1 + } + name = lothlorien.64.a + custom_effect_tooltip = lothlorien.64.a_tt + } +} + +# Elrond council reponse: accepted +country_event = { + id = lothlorien.65 + title = lothlorien.65.t + desc = lothlorien.65.d + + is_triggered_only = yes + + picture = GFX_report_event_elrond_council + + # accept + option = { + ai_chance = { + base = 1 + } + name = lothlorien.65.a + + LTH = { + add_opinion_modifier = { + target = RIV + modifier = small_decrease + } + } + } +} + +# The One Ring: Forced to choose a path +country_event = { + id = lothlorien.66 + title = lothlorien.66.t + desc = lothlorien.66.d + + is_triggered_only = yes + + picture = GFX_report_event_ring + + trigger = { + NOT = { has_completed_focus = lth_keepthering } + NOT = { has_completed_focus = lth_anelvenfellowship } + } + + # Keep it + option = { + ai_chance = { + base = 2 + modifier = { + factor = 8 + has_government = belligerent + } + modifier = { + factor = 4 + has_government = revolutionary + } + } + name = lothlorien.66.a + + if = { + limit = { NOT = { has_completed_focus = lth_anelvenfellowship } } + complete_national_focus = lth_keepthering + } + } + + # Elven Fellowship + option = { + trigger = { + NOT = { is_ally_with = MOR } + LTH_haldir = { is_unit_leader = yes } # NEED Haldir, he is ringbearer + } + ai_chance = { + base = 2 + modifier = { + factor = 8 + has_government = cooperative + } + modifier = { + factor = 4 + has_government = unaligned + } + } + name = lothlorien.66.b + + if = { + limit = { NOT = { has_completed_focus = lth_keepthering } } + complete_national_focus = lth_anelvenfellowship + } + } +} + +# Moria has fallen - Government in exile? +country_event = { + id = lothlorien.67 + title = lothlorien.67.t + desc = lothlorien.67.d + + is_triggered_only = yes + + picture = GFX_report_event_fight + + # accept + option = { + ai_chance = { + base = 1 + } + name = lothlorien.67.a + + MOA = { become_exiled_in = { target = LTH legitimacy = 50 } } + } + + # no + option = { + ai_chance = { + base = 0 + } + name = lothlorien.67.b + + } +} + +# Schism failed -> Civil war +country_event = { + id = lothlorien.68 + title = lothlorien.68.t + desc = lothlorien.68.d + + is_triggered_only = yes + + picture = GFX_report_event_elves_oath + + # support Galadriel + option = { + ai_chance = { + base = 1 + } + name = lothlorien.68.a + + start_civil_war = { + ruling_party = belligerent + ideology = revolutionary + + size = 0.5 + + keep_unit_leaders_trigger = { + NOT = { has_trait = sindar_trait } + } + keep_political_leader = no + } + complete_national_focus = lth_celebornsexile + remove_ideas_with_trait = sindar_minor + remove_ideas_with_trait = sindar_intermediate + remove_ideas_with_trait = sindar_major + every_character = { + limit = { character_has_sindar_trait = yes } + retire = yes + } + set_variable = { lthi_base_sindar_influence = 0 } + add_popularity = { + ideology = belligerent + popularity = 100 + } + + random_other_country = { + limit = { + original_tag = LTH + has_government = revolutionary + } + complete_national_focus = lth_galadrielsfarewell + every_character = { + limit = { character_has_noldor_trait = yes } + retire = yes + } + remove_ideas_with_trait = noldor_minor + remove_ideas_with_trait = noldor_intermediate + remove_ideas_with_trait = noldor_major + lthi_initialize_values = yes + } + + set_global_flag = lth_civil_war + } + + # Support Celeborn + option = { + ai_chance = { + base = 1 + } + name = lothlorien.68.b + + start_civil_war = { + ruling_party = revolutionary + ideology = belligerent + + size = 0.5 + + keep_unit_leaders_trigger = { + NOT = { has_trait = noldor_trait } + } + keep_political_leader = no + } + complete_national_focus = lth_galadrielsfarewell + remove_ideas_with_trait = noldor_minor + remove_ideas_with_trait = noldor_intermediate + remove_ideas_with_trait = noldor_major + every_character = { + limit = { character_has_noldor_trait = yes } + retire = yes + } + set_variable = { lthi_base_noldor_influence = 0 } + add_popularity = { + ideology = revolutionary + popularity = 100 + } + + random_other_country = { + limit = { + original_tag = LTH + has_government = belligerent + } + complete_national_focus = lth_celebornsexile + every_character = { + limit = { character_has_sindar_trait = yes } + retire = yes + } + remove_ideas_with_trait = sindar_minor + remove_ideas_with_trait = sindar_intermediate + remove_ideas_with_trait = sindar_major + lthi_initialize_values = yes + } + + set_global_flag = lth_civil_war + } +} + +# Starting event: Great Schism +country_event = { + id = lothlorien.69 + title = lothlorien.69.t + desc = lothlorien.69.d + + is_triggered_only = yes + + picture = GFX_report_event_cele_gala + + # accept + option = { + ai_chance = { + base = 1 + } + name = lothlorien.69.a + + effect_tooltip = { + remove_ideas = LTH_celeborn_and_galadriel + add_ideas = LTH_great_schism + + custom_effect_tooltip = lth_thegreatschism_tt + } + } +} \ No newline at end of file diff --git a/events/Lotr_Generic.txt b/events/Lotr_Generic.txt index 298331f52..15532cde2 100644 --- a/events/Lotr_Generic.txt +++ b/events/Lotr_Generic.txt @@ -292,3 +292,794 @@ country_event = { set_country_flag = investment_gambler_killed } } + +# Send delegation to country +country_event = { + id = lotr_generic.6 + title = lotr_generic.6.t + desc = lotr_generic.6.d + picture = GFX_report_event_alliance + + is_triggered_only = yes + + option = { # Shower them with gifts + name = lotr_generic.6.a + ai_chance = { + base = 1 + modifier = { + factor = 2 + has_opinion = { + target = LTH + value > 30 + } + } + modifier = { + factor = 2 + FROM = { is_going_same_path_as_root = yes } + } + modifier = { + factor = 0.25 + FROM = { is_going_different_path_as_root = yes } + } + } + + add_timed_idea = { + idea = minor_expense + days = 60 + } + FROM = { + add_opinion_modifier = { + target = ROOT + modifier = large_increase + } + add_relation_modifier = { + target = FROM + modifier = free_license + } + } + } + + option = { # Give them the common courtesies + name = lotr_generic.6.b + ai_chance = { + base = 1 + modifier = { + factor = 2 + has_opinion = { + target = LTH + value > 15 + } + } + modifier = { + factor = 0.5 + FROM = { is_going_different_path_as_root = yes } + } + } + + add_political_power = 50 + FROM = { + add_opinion_modifier = { + target = ROOT + modifier = medium_increase + } + } + } + + option = { # They're not welcome here + name = lotr_generic.6.c + ai_chance = { + base = 1 + modifier = { + factor = 2 + has_opinion = { + target = LTH + value < 0 + } + } + modifier = { + factor = 0.5 + FROM = { is_going_same_path_as_root = yes } + } + modifier = { + factor = 2 + FROM = { is_going_different_path_as_root = yes } + } + } + + add_political_power = -50 + FROM = { + add_opinion_modifier = { + target = ROOT + modifier = medium_decrease + } + } + } +} + +# Government in Exile Request +country_event = { + id = lotr_generic.7 + title = lotr_generic.7.t + desc = lotr_generic.7.d + picture = GFX_report_event_alliance + + is_triggered_only = yes + + option = { # Okay + name = lotr_generic.7.a + ai_chance = { + base = 5 + } + + FROM = { + become_exiled_in = { target = ROOT legitimacy = 50 } + } + } + + option = { # No + name = lotr_generic.7.b + ai_chance = { + base = 1 + } + + add_political_power = -100 + } +} + +# Generic request to join major Alliance +country_event = { + id = lotr_generic.8 + title = lotr_generic.8.t + desc = { # FROM and ROOT are cooperative + text = lotr_generic.8.d.a + trigger = { + AND = { + FROM = { + has_government = cooperative + } + has_government = cooperative + } + } + } + desc = { # FROM and ROOT are Fascist + text = lotr_generic.8.d.b + trigger = { + AND = { + FROM = { + has_government = belligerent + } + has_government = belligerent + } + } + } + desc = { # FROM and ROOT are Communist + text = lotr_generic.8.d.c + trigger = { + AND = { + FROM = { + has_government = revolutionary + } + has_government = revolutionary + } + } + } + desc = { # FROM and ROOT are different ideologies + text = lotr_generic.8.d.e + trigger = { + NOT = { + AND = { + FROM = { + has_government = cooperative + } + has_government = cooperative + } + AND = { + FROM = { + has_government = belligerent + } + has_government = belligerent + } + AND = { + FROM = { + has_government = revolutionary + } + has_government = revolutionary + } + } + } + } + picture = GFX_report_event_generic_read_write + + immediate = { + hidden_effect = { + save_event_target_as = alliance_inviter + FROM = { + save_event_target_as = alliance_applicant + } + } + } + + is_triggered_only = yes + + option = { #Agree / Both cooperative + name = lotr_generic.8.a + trigger = { + AND = { + FROM = { + has_government = cooperative + } + has_government = cooperative + } + } + ai_chance = { + base = 100 + } + add_to_faction = FROM + FROM = { country_event = { id = lotr_generic.9 hours = 6 } } + hidden_effect = { + set_country_flag = alliance_inviter@ROOT + FROM = { set_country_flag = alliance_applicant@ROOT } + news_event = { id = news.289 hours = 12 } + } + } + option = { #Agree / Both Fascist + name = lotr_generic.8.b + trigger = { + AND = { + FROM = { + has_government = belligerent + } + has_government = belligerent + } + } + ai_chance = { + base = 100 + } + add_to_faction = FROM + FROM = { country_event = { id = lotr_generic.9 hours = 6 } } + hidden_effect = { + set_country_flag = alliance_inviter@ROOT + FROM = { set_country_flag = alliance_applicant@ROOT } + news_event = { id = news.289 hours = 12 } + } + } + option = { #Agree / Both Communist + name = lotr_generic.8.c + trigger = { + AND = { + FROM = { + has_government = revolutionary + } + has_government = revolutionary + } + } + ai_chance = { + base = 100 + } + add_to_faction = FROM + FROM = { country_event = { id = lotr_generic.9 hours = 6 } } + hidden_effect = { + set_country_flag = alliance_inviter@ROOT + FROM = { set_country_flag = alliance_applicant@ROOT } + news_event = { id = news.289 hours = 12 } + } + } + option = { #Agree / Both different + name = lotr_generic.8.e + trigger = { + NOT = { + AND = { + FROM = { + has_government = cooperative + } + has_government = cooperative + } + AND = { + FROM = { + has_government = belligerent + } + has_government = belligerent + } + AND = { + FROM = { + has_government = revolutionary + } + has_government = revolutionary + } + } + } + ai_chance = { + base = 100 + } + add_to_faction = FROM + FROM = { country_event = { id = lotr_generic.9 hours = 6 } } + hidden_effect = { + set_country_flag = alliance_inviter@ROOT + FROM = { set_country_flag = alliance_applicant@ROOT } + news_event = { id = news.289 hours = 12 } + } + } + + option = { #Reject + name = lotr_generic.8.f + ai_chance = { factor = 0 } + FROM = { + country_event = { id = lotr_generic.10 hours = 6 } + } + } +} + +# Generic accepted request to join major Alliance +country_event = { + id = lotr_generic.9 + title = lotr_generic.9.t + desc = lotr_generic.9.d + + picture = GFX_report_event_generic_sign_treaty2 + + is_triggered_only = yes + + option = { + name = lotr_generic.9.a + trigger = { + AND = { + FROM = { + has_government = cooperative + } + has_government = cooperative + } + } + } + option = { + name = lotr_generic.9.b + trigger = { + AND = { + FROM = { + has_government = belligerent + } + has_government = belligerent + } + } + + + } + option = { + name = lotr_generic.9.c + trigger = { + AND = { + FROM = { + has_government = revolutionary + } + has_government = revolutionary + } + } + } + option = { + name = lotr_generic.9.e + trigger = { + NOT = { + AND = { + FROM = { + has_government = cooperative + } + has_government = cooperative + } + AND = { + FROM = { + has_government = belligerent + } + has_government = belligerent + } + AND = { + FROM = { + has_government = revolutionary + } + has_government = revolutionary + } + } + } + } +} + +# Generic rejected request to join major Alliance +country_event = { + id = lotr_generic.10 + title = lotr_generic.10.t + desc = lotr_generic.10.d + + picture = GFX_report_event_generic_read_write + + is_triggered_only = yes + + option = { + name = lotr_generic.10.a + trigger = { + AND = { + FROM = { + has_government = cooperative + } + has_government = cooperative + } + } + } + option = { + name = lotr_generic.10.b + trigger = { + AND = { + FROM = { + has_government = belligerent + } + has_government = belligerent + } + } + } + option = { + name = lotr_generic.10.c + trigger = { + AND = { + FROM = { + has_government = revolutionary + } + has_government = revolutionary + } + } + } + option = { + name = lotr_generic.10.e + trigger = { + NOT = { + AND = { + FROM = { + has_government = cooperative + } + has_government = cooperative + } + AND = { + FROM = { + has_government = belligerent + } + has_government = belligerent + } + AND = { + FROM = { + has_government = revolutionary + } + has_government = revolutionary + } + } + } + } +} + +# Generic invitaton to join major Alliance +country_event = { + id = lotr_generic.11 + title = lotr_generic.11.t + desc = { # FROM and ROOT are cooperative + text = lotr_generic.11.d.a + trigger = { + AND = { + FROM = { + has_government = cooperative + } + has_government = cooperative + } + } + } + desc = { # FROM and ROOT are Fascist + text = lotr_generic.11.d.b + trigger = { + AND = { + FROM = { + has_government = belligerent + } + has_government = belligerent + } + } + } + desc = { # FROM and ROOT are Communist + text = lotr_generic.11.d.c + trigger = { + AND = { + FROM = { + has_government = revolutionary + } + has_government = revolutionary + } + } + } + desc = { # FROM and ROOT are different ideologies + text = lotr_generic.11.d.e + trigger = { + NOT = { + AND = { + FROM = { + has_government = cooperative + } + has_government = cooperative + } + AND = { + FROM = { + has_government = belligerent + } + has_government = belligerent + } + AND = { + FROM = { + has_government = revolutionary + } + has_government = revolutionary + } + } + } + } + picture = GFX_report_event_generic_read_write + + immediate = { + hidden_effect = { + save_event_target_as = alliance_applicant + FROM = { + save_event_target_as = alliance_inviter + } + } + } + + is_triggered_only = yes + + option = { #Agree / Both cooperative + name = lotr_generic.11.a + trigger = { + AND = { + FROM = { + has_government = cooperative + } + has_government = cooperative + } + } + ai_chance = { + base = 100 + } + FROM = { + add_to_faction = ROOT + country_event = { id = lotr_generic.12 hours = 6 } + } + hidden_effect = { + set_country_flag = alliance_applicant@ROOT + FROM = { set_country_flag = alliance_inviter@ROOT } + news_event = { id = news.289 hours = 12 } + } + } + option = { #Agree / Both Fascist + name = lotr_generic.11.b + trigger = { + AND = { + FROM = { + has_government = belligerent + } + has_government = belligerent + } + } + ai_chance = { + base = 100 + } + FROM = { + add_to_faction = ROOT + country_event = { id = lotr_generic.12 hours = 6 } + } + hidden_effect = { + set_country_flag = alliance_applicant@ROOT + FROM = { set_country_flag = alliance_inviter@ROOT } + news_event = { id = news.289 hours = 12 } + } + } + option = { #Agree / Both Communist + name = lotr_generic.11.c + trigger = { + AND = { + FROM = { + has_government = revolutionary + } + has_government = revolutionary + } + } + ai_chance = { + base = 100 + } + FROM = { + add_to_faction = ROOT + country_event = { id = lotr_generic.12 hours = 6 } + } + hidden_effect = { + set_country_flag = alliance_applicant@ROOT + FROM = { set_country_flag = alliance_inviter@ROOT } + news_event = { id = news.289 hours = 12 } + } + } + option = { #Agree / Both different + name = lotr_generic.11.e + trigger = { + NOT = { + AND = { + FROM = { + has_government = cooperative + } + has_government = cooperative + } + AND = { + FROM = { + has_government = belligerent + } + has_government = belligerent + } + AND = { + FROM = { + has_government = revolutionary + } + has_government = revolutionary + } + } + } + ai_chance = { + base = 100 + } + FROM = { + add_to_faction = ROOT + country_event = { id = lotr_generic.12 hours = 6 } + } + hidden_effect = { + set_country_flag = alliance_applicant@ROOT + FROM = { set_country_flag = alliance_inviter@ROOT } + news_event = { id = news.289 hours = 12 } + } + } + + option = { #Reject + name = lotr_generic.8.f + ai_chance = { factor = 0 } + FROM = { + country_event = { id = lotr_generic.13 hours = 6 } + } + } +} + +# Generic accepted invitation to join major Alliance +country_event = { + id = lotr_generic.12 + title = lotr_generic.12.t + desc = lotr_generic.12.d + + picture = GFX_report_event_generic_sign_treaty2 + + is_triggered_only = yes + + option = { + name = lotr_generic.9.a + trigger = { + AND = { + FROM = { + has_government = cooperative + } + has_government = cooperative + } + } + } + option = { + name = lotr_generic.9.b + trigger = { + AND = { + FROM = { + has_government = belligerent + } + has_government = belligerent + } + } + + + } + option = { + name = lotr_generic.9.c + trigger = { + AND = { + FROM = { + has_government = revolutionary + } + has_government = revolutionary + } + } + } + option = { + name = lotr_generic.9.e + trigger = { + NOT = { + AND = { + FROM = { + has_government = cooperative + } + has_government = cooperative + } + AND = { + FROM = { + has_government = belligerent + } + has_government = belligerent + } + AND = { + FROM = { + has_government = revolutionary + } + has_government = revolutionary + } + } + } + } +} + +# Generic rejected invitation to join major Alliance +country_event = { + id = lotr_generic.13 + title = lotr_generic.13.t + desc = lotr_generic.13.d + + picture = GFX_report_event_generic_read_write + + is_triggered_only = yes + + option = { + name = lotr_generic.13.a + trigger = { + AND = { + FROM = { + has_government = cooperative + } + has_government = cooperative + } + } + } + option = { + name = lotr_generic.10.b + trigger = { + AND = { + FROM = { + has_government = belligerent + } + has_government = belligerent + } + } + } + option = { + name = lotr_generic.10.c + trigger = { + AND = { + FROM = { + has_government = revolutionary + } + has_government = revolutionary + } + } + } + option = { + name = lotr_generic.10.e + trigger = { + NOT = { + AND = { + FROM = { + has_government = cooperative + } + has_government = cooperative + } + AND = { + FROM = { + has_government = belligerent + } + has_government = belligerent + } + AND = { + FROM = { + has_government = revolutionary + } + has_government = revolutionary + } + } + } + } +} diff --git a/events/Mirkwood.txt b/events/Mirkwood.txt index 54d734867..84492a7ba 100644 --- a/events/Mirkwood.txt +++ b/events/Mirkwood.txt @@ -22,7 +22,7 @@ country_event = { days = 1 } - option = { #Seize hostilities! + option = { #Cease hostilities! name = mirkwood.1.a ai_chance = { base = 100 @@ -218,17 +218,6 @@ country_event = { option = { name = mirkwood.5.a set_global_flag = mirkwood_spider_attack - transfer_units_fraction= { - target = SPI - size = 0.1 - stockpile_ratio = 0.15 - army_ratio = 0.1 - navy_ratio = 0.1 - air_ratio = 0.1 - keep_unit_leaders_trigger = { - always = yes - } - } SPI = { add_state_core = 82 set_capital = { state = 82 } @@ -249,6 +238,17 @@ country_event = { declare_war_on = { target = MIR type = annex_everything } } + transfer_units_fraction= { + target = SPI + size = 0.15 + stockpile_ratio = 0.15 + army_ratio = 0.15 + navy_ratio = 0.15 + air_ratio = 0.15 + keep_unit_leaders_trigger = { + always = yes + } + } hidden_effect = {news_event = { hours = 24 id = news.382 }} } diff --git a/events/MirrorEvents.txt b/events/MirrorEvents.txt new file mode 100644 index 000000000..734fd4c92 --- /dev/null +++ b/events/MirrorEvents.txt @@ -0,0 +1,2394 @@ +# Galadriels mirror events + +add_namespace = mirror + + + + + + +# Whispers of the Enemy +country_event = { + id = mirror.1 + title = mirror.1.t + desc = mirror.1.d + + picture = GFX_report_event_mirror + + is_triggered_only = yes + + # We construct additional fortifications! + option = { + name = mirror.1.a + if = { + limit = { has_completed_focus = lth_mirrorupgrade } + add_timed_idea = { idea = fortification_focus days = 90 } + } + else = { add_timed_idea = { idea = fortification_focus days = 60 } } + } + + # Send diplomatic emissaries and ask for protection! + option = { + name = mirror.1.b + if = { + limit = { has_completed_focus = lth_mirrorupgrade } + add_timed_idea = { idea = diplomacy_focus days = 90 } + } + else = { add_timed_idea = { idea = diplomacy_focus days = 60 } } + } + + # Let them try, if they dare. + option = { + name = mirror.1.c + if = { + limit = { has_completed_focus = lth_mirrorupgrade } + add_timed_idea = { idea = defense_focus days = 90 } + } + else = { add_timed_idea = { idea = defense_focus days = 60 } } + } + + + +} + +# The Fellowship of the Ring +country_event = { + id = mirror.2 + title = mirror.2.t + desc = mirror.2.d + + picture = GFX_report_event_mirror + + is_triggered_only = yes + + # An inspiring sight! + option = { + trigger = { + NOT = { has_completed_focus = lth_thegreatschism } + NOT = { has_government = belligerent } + NOT = { is_ally_with = MOR } + } + name = mirror.2.a + add_stability = 0.1 + } + + # They may arrive in Lothlorien before long. + option = { + name = mirror.2.b + add_political_power = 50 + } + + # Curse them! + option = { + trigger = { + OR = { + has_government = belligerent + is_ally_with = MOR + } + } + name = mirror.2.c + ring_curse_random_fellowship_member = yes + } + + + +} + +# The Halfling and the Ring +country_event = { + id = mirror.3 + title = mirror.3.t + desc = mirror.3.d + + picture = GFX_report_event_mirror + + is_triggered_only = yes + + # The halfling's strength is an inspiration to us all! + option = { + name = mirror.3.a + trigger = { + NOT = { has_completed_focus = lth_thegreatschism } + } + add_stability = 0.1 + add_war_support = 0.1 + } + + # Reach out to him through the veil. Channel into him the positive energy of hopefulness. + option = { + name = mirror.3.b + trigger = { + NOT = { has_completed_focus = lth_thegreatschism } + NOT = { has_government = belligerent } + NOT = { is_ally_with = MOR } + } + ring_bless_ringbearer = yes + } + + # Whisper a curse to him. + option = { + trigger = { + OR = { + has_government = belligerent + is_ally_with = MOR + } + } + name = mirror.3.c + ring_curse_random_fellowship_member = yes + } +} + +# The Fall of the Fellowship +country_event = { + id = mirror.4 + title = mirror.4.t + desc = mirror.4.d + + picture = GFX_report_event_mirror + + is_triggered_only = yes + + # Tragic, but a stark reminder that our enemy is without mercy. Ring or not, we will not yield to Sauron! + option = { + name = mirror.4.a + trigger = { + NOT = { has_completed_focus = lth_thegreatschism } + NOT = { has_government = belligerent } + NOT = { is_ally_with = MOR } + NOT = { ring_has_the_ring = yes } + } + if = { + limit = { has_completed_focus = lth_mirrorupgrade } + add_timed_idea = { idea = increased_morale days = 90 } + } + else = { add_timed_idea = { idea = increased_morale days = 60 } } + } + + # Elrond's gamble has failed. Now the Ring will decide the fate of empires. + option = { + name = mirror.4.b + ring_rivendell_disapproves = yes + if = { + limit = { has_completed_focus = lth_mirrorupgrade } + add_timed_idea = { idea = bracing_for_war days = 90 } + } + else = { add_timed_idea = { idea = bracing_for_war days = 60 } } + } + + # An now it ours, at last! + option = { + name = mirror.4.c + trigger = { + ring_has_the_ring = yes + } + if = { + limit = { has_completed_focus = lth_mirrorupgrade } + add_war_support = 0.15 + add_political_power = 150 + } + else = { + add_war_support = 0.1 + add_political_power = 100 + } + } + + # The Ring has not yet reached Sauron. There may yet be hope. + option = { + name = mirror.4.do + trigger = { + NOT = { MOR = { ring_has_the_ring = yes } } + } + if = { + limit = { has_completed_focus = lth_mirrorupgrade } + add_political_power = 150 + } + else = { + add_political_power = 100 + } + } + + + +} + +# Visions of the fallen city of Gondolin +country_event = { + id = mirror.5 + title = mirror.5.t + desc = mirror.5.d + + picture = GFX_report_event_mirror + + is_triggered_only = yes + + # A stirring sight for any proud Noldorin! + option = { + name = mirror.5.a + lthi_increase_influence_noldor_intermediate = yes + if = { + limit = { + NOT = { has_country_flag = mirror_has_had_influence_vision } + has_completed_focus = lth_mirrorupgrade + } + multiply_variable = { var:lthi_noldor_bonus_factoryoutput = 1.2 } + multiply_variable = { var:lthi_noldor_bonus_breakthrough = 1.2 } + multiply_variable = { var:lthi_noldor_bonus_attack = 1.2 } + custom_effect_tooltip = increase_noldor_bonus_20p_tt + } + else_if = { + limit = { NOT = { has_country_flag = mirror_has_had_influence_vision } } + multiply_variable = { var:lthi_noldor_bonus_factoryoutput = 1.3 } + multiply_variable = { var:lthi_noldor_bonus_breakthrough = 1.3 } + multiply_variable = { var:lthi_noldor_bonus_attack = 1.3 } + custom_effect_tooltip = increase_noldor_bonus_30p_tt + } + } + +} + +# Visions of Beren and Lúthien +country_event = { + id = mirror.6 + title = mirror.6.t + desc = mirror.6.d + + picture = GFX_report_event_mirror + + is_triggered_only = yes + + # A reminder that not all victories are without cost. Our peredhil compatriots be blessed! + option = { + name = mirror.6.a + lthi_increase_influence_halfelves_intermediate = yes + if = { + limit = { + NOT = { has_country_flag = mirror_has_had_influence_vision } + has_completed_focus = lth_mirrorupgrade + } + multiply_variable = { var:lthi_halfelves_bonus_factoryoutput = 1.2 } + multiply_variable = { var:lthi_halfelves_bonus_breakthrough = 1.2 } + multiply_variable = { var:lthi_halfelves_bonus_attack = 1.2 } + custom_effect_tooltip = increase_halfelves_bonus_20p_tt + } + else_if = { + limit = { NOT = { has_country_flag = mirror_has_had_influence_vision } } + multiply_variable = { var:lthi_halfelves_bonus_factoryoutput = 1.3 } + multiply_variable = { var:lthi_halfelves_bonus_breakthrough = 1.3 } + multiply_variable = { var:lthi_halfelves_bonus_attack = 1.3 } + custom_effect_tooltip = increase_halfelves_bonus_30p_tt + } + } + +} + +# Visions of the first settlers +country_event = { + id = mirror.7 + title = mirror.7.t + desc = mirror.7.d + + picture = GFX_report_event_mirror + + is_triggered_only = yes + + # It is a stirring sight, to glance upon the ancestors our people. + option = { + name = mirror.7.a + lthi_increase_influence_nandor_intermediate = yes + if = { + limit = { + NOT = { has_country_flag = mirror_has_had_influence_vision } + has_completed_focus = lth_mirrorupgrade + } + multiply_variable = { var:lthi_nandor_bonus_factoryoutput = 1.2 } + multiply_variable = { var:lthi_nandor_bonus_breakthrough = 1.2 } + multiply_variable = { var:lthi_nandor_bonus_attack = 1.2 } + custom_effect_tooltip = increase_nandor_bonus_20p_tt + } + else_if = { + limit = { NOT = { has_country_flag = mirror_has_had_influence_vision } } + multiply_variable = { var:lthi_nandor_bonus_factoryoutput = 1.3 } + multiply_variable = { var:lthi_nandor_bonus_breakthrough = 1.3 } + multiply_variable = { var:lthi_nandor_bonus_attack = 1.3 } + custom_effect_tooltip = increase_nandor_bonus_30p_tt + } + } + +} + +# Visions of the kingdom of Doriath +country_event = { + id = mirror.8 + title = mirror.8.t + desc = mirror.8.d + + picture = GFX_report_event_mirror + + is_triggered_only = yes + + # A depiction of the true potential held by the Sindar. + option = { + name = mirror.8.a + lthi_increase_influence_sindar_intermediate = yes + if = { + limit = { + NOT = { has_country_flag = mirror_has_had_influence_vision } + has_completed_focus = lth_mirrorupgrade + } + multiply_variable = { var:lthi_sindar_bonus_factoryoutput = 1.2 } + multiply_variable = { var:lthi_sindar_bonus_breakthrough = 1.2 } + multiply_variable = { var:lthi_sindar_bonus_attack = 1.2 } + custom_effect_tooltip = increase_sindar_bonus_20p_tt + } + else_if = { + limit = { NOT = { has_country_flag = mirror_has_had_influence_vision } } + multiply_variable = { var:lthi_sindar_bonus_factoryoutput = 1.3 } + multiply_variable = { var:lthi_sindar_bonus_breakthrough = 1.3 } + multiply_variable = { var:lthi_sindar_bonus_attack = 1.3 } + custom_effect_tooltip = increase_sindar_bonus_30p_tt + } + } + +} + +# Visions of the Eye +country_event = { + id = mirror.9 + title = mirror.9.t + desc = mirror.9.d + + picture = GFX_report_event_sauron_eye + + is_triggered_only = yes + + # It... it was just a vision, right? + option = { + name = mirror.9.a + if = { + limit = { has_completed_focus = lth_mirrorupgrade } + ring_increase_corruption = yes + } + else = { + ring_increase_corruption_2 = yes + } + } + +} + +# Visions of the Eye +country_event = { + id = mirror.10 + title = mirror.10.t + desc = mirror.10.d + + picture = GFX_report_event_mirror + + is_triggered_only = yes + + # Nice try, Sauron. + option = { + name = mirror.10.a + if = { + limit = { has_completed_focus = lth_mirrorupgrade } + ring_decrease_corruption_2 = yes + } + else = { + ring_decrease_corruption = yes + } + } + +} + +# Visions of Mordor +country_event = { + id = mirror.11 + title = mirror.11.t + desc = mirror.11.d + + picture = GFX_report_event_sauron_eye + + is_triggered_only = yes + + # The vision has provided useful insight into what is happening in Mordor. + option = { + name = mirror.11.a + MOR = { + give_intel_on_country = yes + if = { + limit = { has_completed_focus = lth_mirrorupgrade } + give_steal_tech_from_country = yes + } + } + } + +} + +# Visions of Gondor +country_event = { + id = mirror.12 + title = mirror.12.t + desc = mirror.12.d + + picture = GFX_report_event_gondor + + is_triggered_only = yes + + # The vision has provided useful insight into what is happening in Gondor. + option = { + name = mirror.12.a + GON = { + give_intel_on_country = yes + if = { + limit = { has_completed_focus = lth_mirrorupgrade } + give_steal_tech_from_country = yes + } + } + } + +} + +# Visions of Erebor +country_event = { + id = mirror.13 + title = mirror.13.t + desc = mirror.13.d + + picture = GFX_report_event_mirror + + is_triggered_only = yes + + # The vision has provided useful insight into what the dwarves are up to. + option = { + name = mirror.13.a + ERE = { + give_intel_on_country = yes + if = { + limit = { has_completed_focus = lth_mirrorupgrade } + give_steal_tech_from_country = yes + } + } + } + +} + +# Visions of Angmar +country_event = { + id = mirror.14 + title = mirror.14.t + desc = mirror.14.d + + picture = GFX_report_event_mirror + + is_triggered_only = yes + + # The vision provides a clear image of the situation in Angmar. + option = { + name = mirror.14.a + ANG = { + give_intel_on_country = yes + if = { + limit = { has_completed_focus = lth_mirrorupgrade } + give_steal_tech_from_country = yes + } + } + } + +} + +# Visions of confusion +country_event = { + id = mirror.15 + title = mirror.15.t + desc = mirror.15.d + + picture = GFX_report_event_mirror + + is_triggered_only = yes + + # There is nothing to be learnt of these visions. + option = { + name = mirror.15.a + if = { + limit = { has_completed_focus = lth_mirrorupgrade } + add_political_power = 50 + } + } + +} + +# Visions of knowledge +country_event = { + id = mirror.16 + title = mirror.16.t + desc = mirror.16.d + + picture = GFX_report_event_mirror + + is_triggered_only = yes + + # This could be useful. + option = { + name = mirror.16.a + custom_effect_tooltip = spark_of_genius_timeout_tooltip + hidden_effect = { + random_list = { + 10 = { add_tech_bonus = { bonus = 0.5 uses = 1 name = "The Mirror's Vision" category = lotr_infantry_weapons } } + 10 = { add_tech_bonus = { bonus = 0.5 uses = 1 name = "The Mirror's Vision" category = lotr_infantry_archery } } + 10 = { add_tech_bonus = { bonus = 0.5 uses = 1 name = "The Mirror's Vision" category = lotr_support_tech } } + 10 = { add_tech_bonus = { bonus = 0.5 uses = 1 name = "The Mirror's Vision" category = lotr_cavalry_carriages } } + 10 = { add_tech_bonus = { bonus = 0.5 uses = 1 name = "The Mirror's Vision" category = lotr_cavalry_archers } } + 10 = { add_tech_bonus = { bonus = 0.5 uses = 1 name = "The Mirror's Vision" category = lotr_cavalry_light } } + 10 = { add_tech_bonus = { bonus = 0.5 uses = 1 name = "The Mirror's Vision" category = lotr_cavalry_lancer } } + 10 = { add_tech_bonus = { bonus = 0.5 uses = 1 name = "The Mirror's Vision" category = lotr_cavalry_heavy } } + 10 = { add_tech_bonus = { bonus = 0.5 uses = 1 name = "The Mirror's Vision" category = lotr_machines_ballista } } + 10 = { add_tech_bonus = { bonus = 0.5 uses = 1 name = "The Mirror's Vision" category = lotr_machines_siege_equipment } } + 10 = { add_tech_bonus = { bonus = 0.5 uses = 1 name = "The Mirror's Vision" category = lotr_knowledge_alchemy } } + 10 = { add_tech_bonus = { bonus = 0.5 uses = 1 name = "The Mirror's Vision" category = lotr_knowledge_scriptorium } } + 10 = { add_tech_bonus = { bonus = 0.5 uses = 1 name = "The Mirror's Vision" category = lotr_knowledge_intrigue } } + 10 = { add_tech_bonus = { bonus = 0.5 uses = 1 name = "The Mirror's Vision" category = lotr_labour_metalworking } } + 10 = { add_tech_bonus = { bonus = 0.5 uses = 1 name = "The Mirror's Vision" category = lotr_labour_construction } } + 10 = { add_tech_bonus = { bonus = 0.5 uses = 1 name = "The Mirror's Vision" category = lotr_labour_farming } } + 10 = { add_tech_bonus = { bonus = 0.5 uses = 1 name = "The Mirror's Vision" category = lotr_sailing_longship } } + 10 = { add_tech_bonus = { bonus = 0.5 uses = 1 name = "The Mirror's Vision" category = lotr_sailing_galley } } + 10 = { add_tech_bonus = { bonus = 0.5 uses = 1 name = "The Mirror's Vision" category = lotr_sailing_sailingship } } + } + } + } + +} + +# Visions of triumph +country_event = { + id = mirror.17 + title = mirror.17.t + desc = mirror.17.d + + picture = GFX_report_event_mirror + + is_triggered_only = yes + + # A testament to the unbreakable will of Lothlórien! + option = { + name = mirror.17.a + if = { + limit = { has_completed_focus = lth_mirrorupgrade } + add_timed_idea = { idea = increased_attack days = 90 } + } + else = { add_timed_idea = { idea = increased_attack days = 60 } } + } + +} + +# Visions of austerity +country_event = { + id = mirror.18 + title = mirror.18.t + desc = mirror.18.d + + picture = GFX_report_event_mirror + + is_triggered_only = yes + + # A testament to Lothlórien's tenacious spirit! + option = { + name = mirror.18.a + if = { + limit = { has_completed_focus = lth_mirrorupgrade } + add_timed_idea = { idea = increased_austerity days = 90 } + } + else = { add_timed_idea = { idea = increased_austerity days = 60 } } + } + +} + +# Visions of the fall of [FROM.GetName] +country_event = { + id = mirror.19 + title = mirror.19.t + desc = mirror.19.d + + picture = GFX_report_event_mirror + + is_triggered_only = yes + + # A stirring sight, to glance upon the upturned faces of the dead... + option = { + name = mirror.19.a + add_popularity = { ideology = unaligned popularity = 0.1 } + if = { + limit = { has_completed_focus = lth_mirrorupgrade } + add_stability = 0.1 + add_political_power = 150 + } + else = { + add_stability = 0.05 + add_political_power = 100 + } + } + + # Another enemy bites the dust. + option = { + name = mirror.19.b + trigger = { + has_war_with = FROM + } + if = { + limit = { has_completed_focus = lth_mirrorupgrade } + add_war_support = 0.15 + } + else = { + add_war_support = 0.1 + } + } + + # They will be avenged. + option = { + name = mirror.19.c + trigger = { + is_ally_with = FROM + } + if = { + limit = { has_completed_focus = lth_mirrorupgrade } + add_war_support = 0.15 + } + else = { + add_war_support = 0.1 + } + } + + + +} + +# Visions of a magical mound +country_event = { + id = mirror.20 + title = mirror.20.t + desc = mirror.20.d + + picture = GFX_report_event_mirror + + is_triggered_only = yes + + # Locate this mound immediately. + option = { + name = mirror.20.a + trigger = { + NOT = { has_country_flag = m_storyline_giant_knows_about_missing_scouts } + NOT = { has_country_flag = m_storyline_giant_knows_about_giant } + } + hidden_effect = { country_event = { id = mirror.43 days = 20 random_days = 20 } } + } + + # This may be related to the missing scouts. Locate this mound immediately. + option = { + name = mirror.20.b + trigger = { + has_country_flag = m_storyline_giant_knows_about_missing_scouts + NOT = { has_country_flag = m_storyline_giant_knows_about_giant } + } + hidden_effect = { country_event = { id = mirror.43 days = 20 random_days = 20 } } + } + + # Its the giant + option = { + name = mirror.20.c + trigger = { + has_country_flag = m_storyline_giant_knows_about_giant + } + hidden_effect = { country_event = { id = mirror.44 days = 20 random_days = 20 } } + } + + # We have more important things to attend to. + option = { + name = mirror.20.do + } +} + +# Visions of a giant +country_event = { + id = mirror.21 + title = mirror.21.t + desc = mirror.21.d + + picture = GFX_report_event_mirror + + is_triggered_only = yes + + # The magical mound! It is burried giant, stirring to wake. We must prepare for this calamity. + option = { + name = mirror.21.a + trigger = { + has_country_flag = m_storyline_giant_knows_about_mound + } + country_event = { id = mirror.44 days = 14 } + } + + # A harrowing sight. We will have to consult the mirror more closely on this. + option = { + name = mirror.21.b + } +} + +# Visions of an elf (giant researcher) +country_event = { + id = mirror.22 + title = mirror.22.t + desc = mirror.22.d + + picture = GFX_report_event_mirror + + is_triggered_only = yes + + # Locate this elf immediately. We may require his unique knowledge. + option = { + name = mirror.22.a + hidden_effect = { country_event = { id = mirror.47 days = 20 random_days = 20 } } + } + +} + +# Visions of a dark rift +country_event = { + id = mirror.23 + title = mirror.23.t + desc = mirror.23.d + + picture = GFX_report_event_mirror + + is_triggered_only = yes + + # It is this rift what is causing the trees to fade. We must seal it as soon as possible. + option = { + name = mirror.23.a + trigger = { + NOT = { has_country_flag = m_storyline_illness_knows_about_historian } + } + set_country_flag = m_storyline_illness_knows_about_rift + } + + # Ask historian + option = { + name = mirror.23.b + trigger = { + has_country_flag = m_storyline_illness_knows_about_historian + } + set_country_flag = m_storyline_illness_knows_about_rift + country_event = { id = mirror.39 days = 10 random_days = 10 } + } + +} + +# Visions of an elf +country_event = { + id = mirror.24 + title = mirror.24.t + desc = mirror.24.d + + picture = GFX_report_event_mirror + + is_triggered_only = yes + + # Seek out this historian. He may be able to help us. + option = { + name = mirror.24.a + if = { + limit = { has_country_flag = m_storyline_illness_knows_about_rift } + hidden_effect = { country_event = { id = mirror.39 days = 10 random_days = 20 } } + } + } + +} + +# Visions of an ancient ritual +country_event = { + id = mirror.25 + title = mirror.25.t + desc = mirror.25.d + + picture = GFX_report_event_mirror + + is_triggered_only = yes + + # This ritual might be useful. Search the archives for information. + option = { + name = mirror.25.a + hidden_effect = { country_event = { id = mirror.33 days = 60 random_days = 30 } } + add_timed_idea = { idea = minor_research_expense days = 60 } + custom_effect_tooltip = mirror.25.a_tt + set_country_flag = m_storyline_ritual_knows_about_ritual + } + + # What a waste of time. + option = { + name = mirror.25.b + mirror_end_storyline = yes + } + + +} + +# The mirror asks for a name +country_event = { + id = mirror.26 + title = mirror.26.t + desc = mirror.26.d + + picture = GFX_report_event_mirror + + is_triggered_only = yes + + # Name1 + option = { + name = mirror.26.a + set_variable = { m_storyline_ritual_chosen = var:m_storyline_ritual_spoken_name1 } + var:m_storyline_ritual_chosen = { + set_character_flag = m_storyline_ritual_is_chosen + } + hidden_effect = { country_event = { id = mirror.30 days = 1 } } + set_country_flag = m_storyline_ritual_has_given_name + } + + # Name2 + option = { + name = mirror.26.b + set_variable = { m_storyline_ritual_chosen = var:m_storyline_ritual_spoken_name2 } + var:m_storyline_ritual_chosen = { + set_character_flag = m_storyline_ritual_is_chosen + } + hidden_effect = { country_event = { id = mirror.30 days = 1 } } + set_country_flag = m_storyline_ritual_has_given_name + } + + # Name3 + option = { + name = mirror.26.c + set_variable = { m_storyline_ritual_chosen = var:m_storyline_ritual_spoken_name3 } + var:m_storyline_ritual_chosen = { + set_character_flag = m_storyline_ritual_is_chosen + } + hidden_effect = { country_event = { id = mirror.30 days = 1 } } + set_country_flag = m_storyline_ritual_has_given_name + } + + # We will name nobody. + option = { + name = mirror.26.do + set_country_flag = m_storyline_ritual_has_given_name + } + + + +} + +# Visions of a mysterious stanger +country_event = { + id = mirror.27 + title = mirror.27.t + desc = mirror.27.d + + picture = GFX_report_event_mirror + + is_triggered_only = yes + + # Curious. + option = { + name = mirror.27.a + set_country_flag = m_storyline_plot_mystery_man + hidden_effect = { country_event = { id = mirror.55 days = 30 random_days = 60 } } + } + +} + +# Visions of victory and death +country_event = { + id = mirror.28 + title = mirror.28.t + desc = mirror.28.d + + picture = GFX_report_event_mirror + + is_triggered_only = yes + + # The mirror appears to have chosen one of our generals, and doomed the other. + option = { + name = mirror.28.a + set_country_flag = m_storyline_plot_knows_mirrors_chosen_and_doomed + var:m_storyline_pot_mirrors_chosen = { + add_unit_leader_trait = mirrors_chosen + } + var:m_storyline_pot_mirrors_doomed = { + add_unit_leader_trait = mirrors_doomed + } + + hidden_effect = { + country_event = { id = mirror.53 days = 30 random_days = 70 } + } + } + +} + +# Visions of a secret plot +country_event = { + id = mirror.29 + title = mirror.29.t + desc = mirror.29.d + + picture = GFX_report_event_mirror + + is_triggered_only = yes + + # A worrying vision. Could our fellow elves really be this treacherous? + option = { + name = mirror.29.a + set_country_flag = m_storyline_plot_knows_about_plot + add_stability = -0.1 + hidden_effect = { + # It is time for the plot to unfold + if = { + limit = { + has_country_flag = m_storyline_plot_mirrors_cult_formed + has_country_flag = m_storyline_plot_mystery_man_arrived + NOT = { has_country_flag = m_storyline_plot_plot_in_motion } + } + set_country_flag = m_storyline_plot_plot_in_motion + random_list = { + # mysterious stranger is plotter, thwarted by cult + 6 = { + country_event = { id = mirror.57 days = 30 random_days = 60 } + } + # cult is plotter, thwarted by stranger + 10 = { + country_event = { id = mirror.56 days = 30 random_days = 60 } + } + # stranger is plotter, thwarted by doomed + 6 = { + modifier = { + factor = 0 + has_country_flag = m_storyline_plot_mirrors_doomed_executed + } + country_event = { id = mirror.58 days = 30 random_days = 60 } + } + } + } + } + } + +} + +# Nothing happens +country_event = { + id = mirror.30 + title = mirror.30.t + desc = mirror.30.d + + picture = GFX_report_event_mirror + + is_triggered_only = yes + + # Strange. + option = { + name = mirror.30.a + hidden_effect = { + random_list = { + 10 = { + hidden_effect = { country_event = { id = mirror.31 days = 20 random_days = 20 } } + } + 10 = { + hidden_effect = { country_event = { id = mirror.32 days = 20 random_days = 20 } } + } + } + } + } + +} + +# Doomed turns up dead +country_event = { + id = mirror.31 + title = mirror.31.t + desc = mirror.31.d + + picture = GFX_report_event_mirror + + is_triggered_only = yes + + # It couldn't have been... the mirror? + option = { + name = mirror.31.a + var:m_storyline_ritual_chosen = { + mirror_storyline_ritual_kill = yes + } + } + +} + +# Chosen revitalized +country_event = { + id = mirror.32 + title = mirror.32.t + desc = mirror.32.d + + picture = GFX_report_event_mirror + + is_triggered_only = yes + + # The mirror's blessing. + option = { + name = mirror.32.a + var:m_storyline_ritual_chosen = { + mirror_storyline_ritual_give_buff = yes + } + } + +} + +# Information on the ancient ritual found +country_event = { + id = mirror.33 + title = mirror.33.t + desc = mirror.33.d + + picture = GFX_report_event_mirror + + is_triggered_only = yes + + # Begin searching for this rune. + option = { + name = mirror.33.a + trigger = { + NOT = { has_country_flag = m_storyline_ritual_rune_found } + } + hidden_effect = { country_event = { id = mirror.35 days = 60 random_days = 30 } } + add_timed_idea = { idea = minor_expense days = 60 } + custom_effect_tooltip = mirror.33.a_tt + set_country_flag = m_storyline_ritual_knows_about_rune + } + + # We already have this rune. Let's start the ritual + option = { + name = mirror.33.b + trigger = { + has_country_flag = m_storyline_ritual_rune_found + } + country_event = { id = mirror.36 days = 5 } + set_country_flag = m_storyline_ritual_knows_about_rune + } + + # We have no need of ancient rituals + option = { + name = mirror.33.c + mirror_end_storyline = yes + set_country_flag = m_storyline_ritual_knows_about_rune + } + + +} + +# Visions of an enigmatic rune +country_event = { + id = mirror.34 + title = mirror.34.t + desc = mirror.34.d + + picture = GFX_report_event_mirror + + is_triggered_only = yes + + # That's the rune we've been looking for. + option = { + name = mirror.34.a + trigger = { + has_country_flag = m_storyline_ritual_knows_about_rune + } + set_country_flag = m_storyline_ritual_knows_about_rune + country_event = { id = mirror.35 days = 1 } + } + + # We should retrieve this rune. It could be of use. + option = { + name = mirror.34.b + trigger = { + NOT = { has_country_flag = m_storyline_ritual_knows_about_rune } + } + set_country_flag = m_storyline_ritual_knows_about_rune + country_event = { id = mirror.35 days = 14 } + } + + +} + +# Rune found +country_event = { + id = mirror.35 + title = mirror.35.t + desc = mirror.35.d + + picture = GFX_report_event_mirror + + is_triggered_only = yes + fire_only_once = yes + + # Great! Let's begin, then. + option = { + name = mirror.35.a + country_event = { id = mirror.36 days = 14 } + set_country_flag = m_storyline_ritual_rune_found + } + +} + +# The ritual +country_event = { + id = mirror.36 + title = mirror.36.t + desc = mirror.36.d + + picture = GFX_report_event_mirror + + is_triggered_only = yes + + # [Previously Chosen Guy .GetName] + option = { + name = mirror.36.a + trigger = { + has_country_flag = m_storyline_ritual_chosen_buffed + } + random_list = { + 50 = { + var:m_storyline_ritual_chosen = { + mirror_storyline_ritual_give_buff = yes + } + } + 30 = { + var:m_storyline_ritual_chosen = { + mirror_storyline_ritual_kill = yes + } + } + } + mirror_end_storyline = yes + } + + # Find someone else + option = { + name = mirror.36.b + trigger = { + has_country_flag = m_storyline_ritual_chosen_buffed + } + random_unit_leader = { + limit = { NOT = { has_character_flag = m_storyline_ritual_chosen } } + random_list = { + 50 = { + mirror_storyline_ritual_give_buff = yes + } + 30 = { + mirror_storyline_ritual_kill = yes + } + } + } + mirror_end_storyline = yes + } + + # find a volunteer + option = { + name = mirror.36.c + trigger = { + NOT = { has_country_flag = m_storyline_ritual_chosen_buffed } + } + random_unit_leader = { + limit = { NOT = { has_character_flag = m_storyline_ritual_chosen } } + random_list = { + 50 = { + mirror_storyline_ritual_give_buff = yes + } + 10 = { + mirror_storyline_ritual_kill = yes + } + } + } + mirror_end_storyline = yes + } + + # On a second thought, this ritual is too dangerous. + option = { + name = mirror.36.do + mirror_end_storyline = yes + } +} + +# Fading of the Mallorn Trees +country_event = { + id = mirror.37 + title = mirror.37.t + desc = mirror.37.d + + picture = GFX_report_event_mirror + + is_triggered_only = yes + + trigger = { + NOT = { has_country_flag = m_storyline_illness_completed } + } + + # We should consult the mirror on this. + option = { + name = mirror.37.a + add_ideas = LTH_fading_trees + hidden_effect = { country_event = { id = mirror.38 days = 60 random_days = 60 } } + set_country_flag = m_storyline_illness_knows_about_illness + } + +} + +# Sickness spreading among the elves +country_event = { + id = mirror.38 + title = mirror.38.t + desc = mirror.38.d + + picture = GFX_report_event_mirror + + is_triggered_only = yes + + trigger = { + NOT = { has_country_flag = m_storyline_illness_completed } + } + + # It's the fading of the Mallorn trees. We need to seal the rift soon. + option = { + trigger = { + has_country_flag = m_storyline_illness_knows_about_rift + } + name = mirror.38.a + swap_ideas = { + remove_idea = LTH_fading_trees + add_idea = LTH_fading_trees_2 + } + } + + # This is beginning to be very serious. We should consult the mirror on this matter. + option = { + trigger = { + NOT = { has_country_flag = m_storyline_illness_knows_about_rift } + } + name = mirror.38.b + swap_ideas = { + remove_idea = LTH_fading_trees + add_idea = LTH_fading_trees_2 + } + } + + +} + +# The reclusive historian +country_event = { + id = mirror.39 + title = mirror.39.t + desc = mirror.39.d + + picture = GFX_report_event_mirror + + is_triggered_only = yes + + # Sealing it is sufficient + option = { + name = mirror.39.a + add_ideas = reclusive_historian_idea + if = { + limit = { has_idea = LTH_fading_trees_2 } + remove_ideas = LTH_fading_trees_2 + } + if = { + limit = { has_idea = LTH_fading_trees } + remove_ideas = LTH_fading_trees + } + mirror_end_storyline = yes + } + + # We can never have enough protective enchantments. + option = { + name = mirror.39.b + add_political_power = -200 + add_timed_idea = { idea = minor_expense days = 60 } + add_ideas = reclusive_historian_idea + if = { + limit = { has_idea = LTH_fading_trees_2 } + remove_ideas = LTH_fading_trees_2 + } + if = { + limit = { has_idea = LTH_fading_trees } + remove_ideas = LTH_fading_trees + } + add_ideas = LTH_fading_trees_protective_enchantment + mirror_end_storyline = yes + } + + +} + +# Missing Scouts +country_event = { + id = mirror.41 + title = mirror.41.t + desc = mirror.41.d + + picture = GFX_report_event_mirror + + is_triggered_only = yes + + trigger = { + NOT = { has_country_flag = m_storyline_giant_completed } + } + + # Unusual. We should consult Galadriel's mirror on this. + option = { + name = mirror.41.a + set_country_flag = m_storyline_giant_knows_about_missing_scouts + add_manpower = -5000 + hidden_effect = { country_event = { id = mirror.42 days = 60 random_days = 30 } } + } + +} + +# Unusual Wildlife Behaviour +country_event = { + id = mirror.42 + title = mirror.42.t + desc = mirror.42.d + + picture = GFX_report_event_mirror + + is_triggered_only = yes + + trigger = { + NOT = { has_country_flag = m_storyline_giant_completed } + } + + # Something dangerous is stirring in the woods. + option = { + name = mirror.42.a + add_stability = -0.1 + } + +} + +# Mound located +country_event = { + id = mirror.43 + title = mirror.43.t + desc = mirror.43.d + + picture = GFX_report_event_mirror + + is_triggered_only = yes + + # Investigate it. + option = { + name = mirror.43.a + hidden_effect = { country_event = { id = mirror.46 days = 2 } } + } + +} + +# Dormant giant located +country_event = { + id = mirror.44 + title = mirror.44.t + desc = mirror.44.d + + picture = GFX_report_event_mirror + + trigger = { + NOT = { has_country_flag = m_storyline_giant_completed } + } + + is_triggered_only = yes + + # Investigate it, carefully. + option = { + name = mirror.44.a + hidden_effect = { country_event = { id = mirror.45 days = 5 } } + } + + # It is too dangerous. We must wait for more information. + option = { + name = mirror.44.b + set_country_flag = m_storyline_giant_knows_about_giant + } + + +} + +# The giant stirs +country_event = { + id = mirror.45 + title = mirror.45.t + desc = mirror.45.d + + picture = GFX_report_event_mirror + + is_triggered_only = yes + + # Attack it with everything we have! + option = { + name = mirror.45.a + add_manpower = -5000 + random_list = { + 20 = { + country_event = mirror.49 + } + 80 = { + country_event = mirror.48 + add_ideas = LTH_loose_giant + set_country_flag = m_storyline_giant_has_failed + } + } + } + + # The Giantslayer arrows! Use them! + option = { + trigger = { + has_country_flag = m_storyline_giant_arrows + } + name = mirror.45.b + country_event = mirror.49 + } + + # The control rod! Use it now! + option = { + trigger = { + has_country_flag = m_storyline_giant_rod + } + name = mirror.45.c + country_event = mirror.50 + } +} + +# A giant stirs +country_event = { + id = mirror.46 + title = mirror.46.t + desc = mirror.46.d + + picture = GFX_report_event_mirror + + is_triggered_only = yes + + # Attack it with everything we have! + option = { + name = mirror.46.a + add_manpower = -5000 + random_list = { + 20 = { + country_event = mirror.49 + } + 80 = { + country_event = mirror.48 + add_ideas = LTH_loose_giant + } + } + } + + # Retreat! + option = { + name = mirror.46.b + add_political_power = -50 + set_country_flag = m_storyline_giant_has_failed + add_ideas = LTH_loose_giant + } + + # The control rod! Use it now! + option = { + trigger = { + has_country_flag = m_storyline_giant_arrows + } + name = mirror.46.c + country_event = mirror.49 + } + + # The giantslayer arrows! Use them! + option = { + name = mirror.46.do + trigger = { + has_country_flag = m_storyline_giant_rod + } + country_event = mirror.50 + } + + + +} + +# Elf located +country_event = { + id = mirror.47 + title = mirror.47.t + desc = mirror.47.d + + picture = GFX_report_event_mirror + + is_triggered_only = yes + + # The giantslayer arrows will be useful either way. + option = { + name = mirror.47.a + add_ideas = giants_researcher_idea + set_country_flag = m_storyline_giant_arrows + } + + # The control rod could prove useful. + option = { + name = mirror.47.b + add_ideas = giants_researcher_idea + set_country_flag = m_storyline_giant_rod + } + + +} + +# The giant tears through our forces +country_event = { + id = mirror.48 + title = mirror.48.t + desc = mirror.48.d + + picture = GFX_report_event_mirror + + is_triggered_only = yes + + # Unfortunate. We will have to find a different way. + option = { + name = mirror.48.a + add_manpower = -5000 + set_country_flag = m_storyline_giant_has_failed + } + +} + +# The giant falls +country_event = { + id = mirror.49 + title = mirror.49.t + desc = mirror.49.d + + picture = GFX_report_event_mirror + + is_triggered_only = yes + + # A testament to the skill of our soldiers. + option = { + name = mirror.49.a + add_ideas = LTH_giant_slayer + mirror_end_storyline = yes + if = { + limit = { has_idea = LTH_loose_giant } + remove_ideas = LTH_loose_giant + } + } + +} + +# The giant under our control +country_event = { + id = mirror.50 + title = mirror.50.t + desc = mirror.50.d + + picture = GFX_report_event_mirror + + is_triggered_only = yes + + # Fascinating. + option = { + name = mirror.50.a + load_oob = Lothlorien_Giant + mirror_end_storyline = yes + if = { + limit = { has_idea = LTH_loose_giant } + remove_ideas = LTH_loose_giant + } + } + +} + +# Caladion asks for permission to look into Galadriel's mirror +country_event = { + id = mirror.51 + title = mirror.51.t + desc = mirror.51.d + + picture = GFX_report_event_mirror + + is_triggered_only = yes + + trigger = { + has_country_flag = m_storyline_plot + } + + # We shall allow this. + option = { + name = mirror.51.a + set_country_flag = m_storyline_plot_mystery_man_looked_into_mirror + country_event = { id = mirror.52 days = 2 } + } + + # Not happening. + option = { + name = mirror.51.b + + hidden_effect = { + # It is time for the plot to unfold + if = { + limit = { + has_country_flag = m_storyline_plot_mirrors_cult_formed + has_country_flag = m_storyline_plot_knows_about_plot + NOT = { has_country_flag = m_storyline_plot_plot_in_motion } + } + set_country_flag = m_storyline_plot_plot_in_motion + random_list = { + # mysterious stranger is plotter, thwarted by cult + 10 = { + country_event = { id = mirror.57 days = 60 random_days = 30 } + } + # cult is plotter, thwarted by stranger + 5 = { + country_event = { id = mirror.56 days = 60 random_days = 30 } + } + # stranger is plotter, thwarted by doomed + 10 = { + modifier = { + factor = 0 + has_country_flag = m_storyline_plot_mirrors_doomed_executed + } + country_event = { id = mirror.58 days = 60 random_days = 30 } + } + } + } + } + } + + +} + +# Caladion's vision +country_event = { + id = mirror.52 + title = mirror.52.t + desc = mirror.52.d + + picture = GFX_report_event_mirror + + is_triggered_only = yes + + # Mysterious. + option = { + name = mirror.52.a + hidden_effect = { + # It is time for the plot to unfold + if = { + limit = { + has_country_flag = m_storyline_plot_mirrors_cult_formed + has_country_flag = m_storyline_plot_knows_about_plot + NOT = { has_country_flag = m_storyline_plot_plot_in_motion } + } + set_country_flag = m_storyline_plot_plot_in_motion + random_list = { + # mysterious stranger is plotter, thwarted by cult + 5 = { + country_event = { id = mirror.57 days = 60 random_days = 30 } + } + # cult is plotter, thwarted by stranger + 35 = { + country_event = { id = mirror.56 days = 60 random_days = 30 } + } + # stranger is plotter, thwarted by doomed + 5 = { + modifier = { + factor = 0 + has_country_flag = m_storyline_plot_mirrors_doomed_executed + } + country_event = { id = mirror.58 days = 60 random_days = 30 } + } + } + } + } + } + +} + +# A mysterious group of warriors arrive +country_event = { + id = mirror.53 + title = mirror.53.t + desc = mirror.53.d + + picture = GFX_report_event_mirror + + is_triggered_only = yes + + # So long as they fight for our side... + option = { + name = mirror.53.a + set_country_flag = m_storyline_plot_mirrors_cult_formed + load_oob = Lothlorien_MirrorsCult + hidden_effect = { + random_list = { + 40 = { + country_event = { id = mirror.54 days = 60 random_days = 60 } + } + 20 = { } + } + } + } + +} + +# The mirror's cult demand the execution of Doomed +country_event = { + id = mirror.54 + title = mirror.54.t + desc = mirror.54.d + + picture = GFX_report_event_mirror + + is_triggered_only = yes + + trigger = { + has_country_flag = m_storyline_plot + } + + # They are in no place to make demands of this sort. + option = { + name = mirror.54.a + add_political_power = -50 + + hidden_effect = { + # It is time for the plot to unfold + if = { + limit = { + has_country_flag = m_storyline_plot_mystery_man_arrived + has_country_flag = m_storyline_plot_knows_about_plot + NOT = { has_country_flag = m_storyline_plot_plot_in_motion } + } + set_country_flag = m_storyline_plot_plot_in_motion + random_list = { + # mysterious stranger is plotter, thwarted by cult + 5 = { + country_event = { id = mirror.57 days = 60 random_days = 60 } + } + # cult is plotter, thwarted by stranger + 20 = { + country_event = { id = mirror.56 days = 60 random_days = 60 } + } + # stranger is plotter, thwarted by doomed + 5 = { + modifier = { + factor = 0 + has_country_flag = m_storyline_plot_mirrors_doomed_executed + } + country_event = { id = mirror.58 days = 60 random_days = 60 } + } + } + } + } + } + + # Perhaps it is for the better. + option = { + name = mirror.54.b + var:m_storyline_pot_mirrors_doomed = { + kill_character = yes + } + set_country_flag = m_storyline_plot_mirrors_doomed_executed + hidden_effect = { + # It is time for the plot to unfold + if = { + limit = { + has_country_flag = m_storyline_plot_mystery_man_arrived + has_country_flag = m_storyline_plot_knows_about_plot + NOT = { has_country_flag = m_storyline_plot_plot_in_motion } + } + set_country_flag = m_storyline_plot_plot_in_motion + random_list = { + # mysterious stranger is plotter, thwarted by cult + 20 = { + country_event = { id = mirror.57 days = 90 random_days = 60 } + } + # cult is plotter, thwarted by stranger + 5 = { + country_event = { id = mirror.56 days = 90 random_days = 60 } + } + } + } + } + } +} + +# Mysterious elf arrives +country_event = { + id = mirror.55 + title = mirror.55.t + desc = mirror.55.d + + picture = GFX_report_event_mirror + + is_triggered_only = yes + + # Put him to work. + option = { + name = mirror.55.a + add_ideas = mysterious_stranger_idea + set_country_flag = m_storyline_plot_mystery_man_arrived + hidden_effect = { + random_list = { + 40 = { + country_event = { id = mirror.51 days = 60 random_days = 60 } + } + 20 = { } + } + } + } + + # Keep an eye on him. + option = { + name = mirror.55.b + set_country_flag = m_storyline_plot_mystery_man_arrived + hidden_effect = { + random_list = { + 20 = { + country_event = { id = mirror.51 days = 60 random_days = 60 } + } + 40 = { } + } + } + } + + +} + +# Secret plot by cult thwarted by Caladion +country_event = { + id = mirror.56 + title = mirror.56.t + desc = mirror.56.d + + picture = GFX_report_event_mirror + + is_triggered_only = yes + + # A close shave. Caladion has earned our gratitude. + option = { + name = mirror.56.a + var:m_storyline_pot_mirrors_chosen = { + kill_character = yes + } + delete_unit_template_and_units = { division_template = "Mirror's Cult" } + add_stability = 0.2 + add_political_power = 150 + mirror_end_storyline = yes + } + +} + +# Secret plot stragner thwarted by the Mirror's Chosen +country_event = { + id = mirror.57 + title = mirror.57.t + desc = mirror.57.d + + picture = GFX_report_event_mirror + + is_triggered_only = yes + + # A close shave. Chosen deserves our gratitude. + option = { + name = mirror.57.a + remove_ideas = mysterious_stranger_idea + var:m_storyline_pot_mirrors_chosen = { + add_skill_level = 1 + } + add_stability = 0.2 + add_political_power = 150 + mirror_end_storyline = yes + } + +} + +# Secret plot by stanger thwarted by the Mirror's Doomed +country_event = { + id = mirror.58 + title = mirror.58.t + desc = mirror.58.d + + picture = GFX_report_event_mirror + + is_triggered_only = yes + + # Doomed dies a hero. + option = { + name = mirror.58.a + remove_ideas = mysterious_stranger_idea + var:m_storyline_pot_mirrors_doomed = { + kill_character = yes + } + add_stability = 0.2 + add_political_power = 150 + add_war_support = 0.1 + mirror_end_storyline = yes + } + +} + +# Secret plot by cult thwarted by the Mirror's Doomed +country_event = { + id = mirror.59 + title = mirror.59.t + desc = mirror.59.d + + picture = GFX_report_event_mirror + + is_triggered_only = yes + + # Doomed dies a hero. + option = { + name = mirror.59.a + var:m_storyline_pot_mirrors_chosen = { + kill_character = yes + } + delete_unit_template_and_units = { division_template = "Mirror's Cult" } + var:m_storyline_pot_mirrors_doomed = { + kill_character = yes + } + add_stability = 0.2 + add_political_power = 150 + add_war_support = 0.1 + mirror_end_storyline = yes + } +} + +# The fellowship's path gundabad +country_event = { + id = mirror.84 + title = mirror.84.t + desc = mirror.84.d + + picture = GFX_report_event_mirror + + is_triggered_only = yes + + # They may try to bypass the Misty Mountains to the north. + option = { + name = mirror.84.a + } + +} + +# The fellowship's path isengard +country_event = { + id = mirror.60 + title = mirror.60.t + desc = mirror.60.d + + picture = GFX_report_event_mirror + + is_triggered_only = yes + + # Orthanc? They will likely try to bypass the Misty Mountains to the south. + option = { + name = mirror.60.a + } + +} + +# The fellowship's path redhorn +country_event = { + id = mirror.61 + title = mirror.61.t + desc = mirror.61.d + + picture = GFX_report_event_mirror + + is_triggered_only = yes + + # They will move through the Redhorn Pass. That will bring them into our territory. + option = { + name = mirror.61.a + } + +} + + +# The fellowship's path is uncertain +country_event = { + id = mirror.62 + title = mirror.62.t + desc = mirror.62.d + + picture = GFX_report_event_mirror + + is_triggered_only = yes + + # The fellowship's fate remains uncertain. + option = { + name = mirror.62.a + } + +} + +# Ringbearer's Edicts unpopular +country_event = { + id = mirror.63 + title = mirror.63.t + desc = mirror.63.d + + picture = GFX_report_event_mirror + + is_triggered_only = yes + + # The people don't like needless meddling. + option = { + name = mirror.63.a + } + +} + +# Ringbearer's Edicts likely popular +country_event = { + id = mirror.64 + title = mirror.64.t + desc = mirror.64.d + + picture = GFX_report_event_mirror + + is_triggered_only = yes + + # The people like an assertive leader. + option = { + name = mirror.64.a + } + +} + +# Celeborn's edicts likely unpopular +country_event = { + id = mirror.65 + title = mirror.65.t + desc = mirror.65.d + + picture = GFX_report_event_mirror + + is_triggered_only = yes + + # The people don't like needless meddling. + option = { + name = mirror.65.a + } + +} + +# Ringbearer's Edicts likely popular +country_event = { + id = mirror.66 + title = mirror.66.t + desc = mirror.66.d + + picture = GFX_report_event_mirror + + is_triggered_only = yes + + # The people like an assertive leader. + option = { + name = mirror.66.a + } + +} + +# The dark future of [FROM.GetName] +country_event = { + id = mirror.67 + title = mirror.67.t + desc = mirror.67.d + + picture = GFX_report_event_mirror + + is_triggered_only = yes + + # A worrying prospect. + option = { + name = mirror.67.a + } + +} + +# The dark future of [FROM.GetName] +country_event = { + id = mirror.68 + title = mirror.68.t + desc = mirror.68.d + + picture = GFX_report_event_mirror + + is_triggered_only = yes + + # [FROM.GetName] will stop at nothing. + option = { + name = mirror.68.a + } + +} + +# The dark future of [FROM.GetName] +country_event = { + id = mirror.69 + title = mirror.69.t + desc = mirror.69.d + + picture = GFX_report_event_mirror + + is_triggered_only = yes + + # [FROM.GetName] treads a dangerous path. + option = { + name = mirror.69.a + } + +} + +# The chaotic future of [FROM.GetName] +country_event = { + id = mirror.70 + title = mirror.70.t + desc = mirror.70.d + + picture = GFX_report_event_mirror + + is_triggered_only = yes + + # The people of [FROM.GetName] have a precarious future ahead of themselves. + option = { + name = mirror.70.a + } + +} + +# The chaotic future of [FROM.GetName] +country_event = { + id = mirror.71 + title = mirror.71.t + desc = mirror.71.d + + picture = GFX_report_event_mirror + + is_triggered_only = yes + + # The people of [FROM.GetName] seem to want change above all. + option = { + name = mirror.71.a + } + +} + +# The chaotic future of [FROM.GetName] +country_event = { + id = mirror.72 + title = mirror.72.t + desc = mirror.72.d + + picture = GFX_report_event_mirror + + is_triggered_only = yes + + # Such change rarely comes without bloodshed. + option = { + name = mirror.72.a + } + +} + +# The future of [FROM.GetName] +country_event = { + id = mirror.73 + title = mirror.73.t + desc = mirror.73.d + + picture = GFX_report_event_mirror + + is_triggered_only = yes + + # [FROM.GetName] will fight for their freedom. + option = { + name = mirror.73.a + } + +} + +# The future of [FROM.GetName] +country_event = { + id = mirror.74 + title = mirror.74.t + desc = mirror.74.d + + picture = GFX_report_event_mirror + + is_triggered_only = yes + + # [FROM.GetName] will not succumb to tyranny without a fight. + option = { + name = mirror.74.a + } + +} + +# The future of [FROM.GetName] +country_event = { + id = mirror.75 + title = mirror.75.t + desc = mirror.75.d + + picture = GFX_report_event_mirror + + is_triggered_only = yes + + # The people of [FROM.GetName] are determined to keep their freedom. + option = { + name = mirror.75.a + } + +} + +# The future of [FROM.GetName] +country_event = { + id = mirror.76 + title = mirror.76.t + desc = mirror.76.d + + picture = GFX_report_event_mirror + + is_triggered_only = yes + + # [FROM.GetName] will try to avoid getting involved. + option = { + name = mirror.76.a + } + +} + +# The future of [FROM.GetName] +country_event = { + id = mirror.77 + title = mirror.77.t + desc = mirror.77.d + + picture = GFX_report_event_mirror + + is_triggered_only = yes + + # [FROM.GetName] is hoping to sit this one out + option = { + name = mirror.77.a + } + +} + +# The future of [FROM.GetName] +country_event = { + id = mirror.78 + title = mirror.78.t + desc = mirror.78.d + + picture = GFX_report_event_mirror + + is_triggered_only = yes + + # [FROM.GetName] will trend towards neutrality. + option = { + name = mirror.78.a + } + +} + +# The future of [FROM.GetName] uncertain +country_event = { + id = mirror.79 + title = mirror.79.t + desc = mirror.79.d + + picture = GFX_report_event_mirror + + is_triggered_only = yes + + # The fate of [FROM.GetName] yet remains to be decided + option = { + name = mirror.79.a + } + +} + +# The future of [FROM.GetName] uncertain +country_event = { + id = mirror.80 + title = mirror.80.t + desc = mirror.80.d + + picture = GFX_report_event_mirror + + is_triggered_only = yes + + # Who knows what fate has in store for the people of [FROM.GetName]... + option = { + name = mirror.80.a + } + +} + +# The future of [FROM.GetName] uncertain +country_event = { + id = mirror.81 + title = mirror.81.t + desc = mirror.81.d + + picture = GFX_report_event_mirror + + is_triggered_only = yes + + # These visions offer nothing of value. + option = { + name = mirror.81.a + } + +} + +# The Vales of Anduin likely to accept elven leadership +country_event = { + id = mirror.82 + title = mirror.82.t + desc = mirror.82.d + + picture = GFX_report_event_mirror + + is_triggered_only = yes + + # It would be the right choice + option = { + name = mirror.82.a + } + +} + +# The Vales of Anduin likely to reject elven leadership +country_event = { + id = mirror.83 + title = mirror.83.t + desc = mirror.83.d + + picture = GFX_report_event_mirror + + is_triggered_only = yes + + # Let's see how well it serves them. + option = { + name = mirror.83.a + } + +} diff --git a/events/Mordor.txt b/events/Mordor.txt index f13ee1bcc..7853bb81a 100644 --- a/events/Mordor.txt +++ b/events/Mordor.txt @@ -548,7 +548,7 @@ country_event = { name = mordor.42.a set_global_flag = ring_found set_global_flag = sauron_has_ring - add_ideas = one_true_ring + ring_seize_ring = yes } } @@ -564,7 +564,7 @@ country_event = { option = { name = mordor.43.a set_global_flag = ring_found - add_ideas = one_true_ring + ring_seize_ring = yes } } @@ -1131,7 +1131,7 @@ country_event = { id = mordor.61 title = mordor.61.t desc = mordor.61.d - picture = GFX_report_event_ring + picture = GFX_report_event_sauron_eye is_triggered_only = yes @@ -1147,7 +1147,7 @@ country_event = { is_historical_focus_on = yes NOT = { original_tag = HAR - original_tag = RUH + original_tag = RHU } add = -50 } @@ -1195,7 +1195,7 @@ country_event = { id = mordor.62 title = mordor.62.t desc = mordor.62.d - picture = GFX_report_event_ring + picture = GFX_report_event_sauron_eye is_triggered_only = yes @@ -1255,7 +1255,7 @@ country_event = { id = mordor.63 title = mordor.63.t desc = mordor.63.d - picture = GFX_report_event_ring + picture = GFX_report_event_sauron_eye is_triggered_only = yes @@ -1315,7 +1315,7 @@ country_event = { id = mordor.64 title = mordor.64.t desc = mordor.64.d - picture = GFX_report_event_ring + picture = GFX_report_event_sauron_eye is_triggered_only = yes diff --git a/events/Moria.txt b/events/Moria.txt index b389e56b6..330541725 100644 --- a/events/Moria.txt +++ b/events/Moria.txt @@ -4,7 +4,7 @@ add_namespace = moria -# Mordor Civil War +# Moria Civil War country_event = { id = moria.1 title = moria.1.t @@ -60,8 +60,7 @@ country_event = { load_oob = "MOA_Orcs" complete_national_focus = thefateofmoria - add_ideas = MOA_loose_balrog - add_ideas = service_by_requirement + add_ideas = limited_levy add_ideas = MOA_civil_war } 73 = { @@ -129,8 +128,7 @@ country_event = { load_oob = "MOA_Orcs" complete_national_focus = thefateofmoria - add_ideas = MOA_loose_balrog - add_ideas = service_by_requirement + add_ideas = limited_levy add_ideas = MOA_civil_war } 73 = { @@ -187,6 +185,10 @@ country_event = { name = moria.2.b ai_chance = { base = 50 + modifier = { + factor = 0 + is_historical_focus_on = yes + } } ERE = { send_equipment = { target = MOA type = infantry_equipment amount = 8000 } } } @@ -244,7 +246,7 @@ country_event = { ai_chance = { base = 0 } - send_equipment = { target = MOR type = infantry_equipment amount = 8000 } + send_equipment = { target = MOR type = infantry_equipment amount = 3000 } } option = { #Troops name = moria.4.c @@ -516,4 +518,39 @@ country_event = { } } } +} + +# Balrog attack (This event happens to *anyone* who owns a moria state whilst Balrog lives) +country_event = { + id = moria.9 + title = moria.9.t + desc = moria.9.d + picture = GFX_report_event_balrog + + trigger = { + is_ai = no # hax + OR = { + controls_state = 73 + controls_state = 134 + } + NOT = { has_country_flag = balrog_event_triggered } + 73 = { has_dynamic_modifier = { modifier = moria_loose_balrog } } + } + + mean_time_to_happen = { + days = 12 #365 + } + + #fire_only_once = yes + + immediate = { + set_country_flag = balrog_event_triggered + } + + option = { + name = moria.9.a + add_stability = -0.05 + add_manpower = -1000 + custom_effect_tooltip = moria.9.a_tt + } } \ No newline at end of file diff --git a/events/NewsEvents.txt b/events/NewsEvents.txt index 34981a16a..8e98e60f0 100644 --- a/events/NewsEvents.txt +++ b/events/NewsEvents.txt @@ -4,31 +4,175 @@ add_namespace = news -# The return of Sauron +# Angmar establishes new Arnor news_event = { - id = news.392 - title = news.392.t - desc = news.392.d - picture = GFX_news_event_ring_shire + id = news.402 + title = news.402.t + desc = news.402.d + picture = GFX_news_event_carn_dum + + major = yes is_triggered_only = yes option = { - name = news.392.a + name = news.402.a + } +} + +# Stewartship flees to Tolfalas +news_event = { + id = news.401 + title = news.401.t + desc = news.401.d + picture = GFX_news_event_ships + + major = yes + + is_triggered_only = yes + + option = { + name = news.401.a + } +} + +# Revolution in Gondor +news_event = { + id = news.400 + title = news.400.t + desc = news.400.d + picture = GFX_news_event_uprising + + major = yes + + is_triggered_only = yes + + option = { + name = news.400.a + } +} + +# Gondor shares intrest in retaking Haronder +news_event = { + id = news.399 + title = news.399.t + desc = news.399.d + picture = GFX_news_event_gondor_army + + major = yes + + is_triggered_only = yes + + option = { + name = news.399.a + } +} + +# Gondor doesnt reconize Aragorns claim to the crown +news_event = { + id = news.398 + title = news.398.t + desc = news.398.d + picture = GFX_news_event_coronation + + major = yes + + is_triggered_only = yes + + option = { + name = news.398.a } } -# The necromancer of the North +# Celeborn Leaves news_event = { - id = news.391 - title = news.391.t - desc = news.391.d + id = news.397 + title = news.397.t + desc = news.397.d + picture = GFX_news_event_celeborn + + major = yes + + is_triggered_only = yes + + option = { + name = news.397.a + } +} + +# Elven Fellowship +news_event = { + id = news.396 + title = news.396.t + desc = news.396.d + picture = GFX_news_event_ring_lorien_intercept + + major = yes + + is_triggered_only = yes + + option = { + name = news.396.a + } +} + +# Frodo and Bilbo leave middle earth +news_event = { + id = news.395 + title = news.395.t + desc = news.395.d + picture = GFX_news_event_sailaway + + major = yes + + is_triggered_only = yes + + option = { + name = news.395.a + } +} + +# Galadriel and Celeborn leave middle earth +news_event = { + id = news.394 + title = news.394.t + desc = news.394.d + picture = GFX_news_event_sailaway + + major = yes + + is_triggered_only = yes + + option = { + name = news.394.a + } +} + +# Durin's Bane dies +news_event = { + id = news.393 + title = news.393.t + desc = news.393.d + picture = GFX_news_event_balrog + + is_triggered_only = yes + + option = { + name = news.393.a + } +} + +# The return of Sauron +news_event = { + id = news.392 + title = news.392.t + desc = news.392.d picture = GFX_news_event_ring_shire is_triggered_only = yes option = { - name = news.391.a + name = news.392.a } } @@ -42,7 +186,7 @@ news_event = { major = yes is_triggered_only = yes - + option = { name = news.390.a } @@ -58,13 +202,13 @@ news_event = { major = yes is_triggered_only = yes - + option = { name = news.389.a } } -#Isengard betrays Sauron +#Helms Deep breached news_event = { id = news.388 title = news.388.t @@ -74,7 +218,7 @@ news_event = { major = yes is_triggered_only = yes - + option = { name = news.388.a } @@ -90,7 +234,7 @@ news_event = { major = yes is_triggered_only = yes - + option = { name = news.387.a } @@ -106,7 +250,7 @@ news_event = { major = yes is_triggered_only = yes - + option = { name = news.386.a } @@ -261,7 +405,14 @@ news_event = { news_event = { id = news.376 title = news.376.t - desc = news.376.d + desc = { + text = news.376.d + trigger = { NOT = { has_global_flag = fs_elven_fellowship } } + } + desc = { + text = news.376.d_elves + trigger = { has_global_flag = fs_elven_fellowship } + } picture = GFX_news_event_ring_destroyed major = yes @@ -326,7 +477,7 @@ news_event = { id = news.372 title = news.372.t desc = news.372.d - picture = GFX_news_event_ring_lorien_take + picture = GFX_news_event_ring_lorien_intercept major = yes @@ -342,7 +493,7 @@ news_event = { id = news.371 title = news.371.t desc = news.371.d - picture = GFX_news_event_ring_lorien_intercept + picture = GFX_news_event_ring_lorien_take major = yes @@ -993,4 +1144,4 @@ news_event = { custom_effect_tooltip = news.331.a.tt } -} \ No newline at end of file +} diff --git a/events/NukeEvents.txt b/events/NukeEvents.txt index 6cdbdbaeb..c7eb40603 100644 --- a/events/NukeEvents.txt +++ b/events/NukeEvents.txt @@ -17,18 +17,6 @@ news_event = { fire_only_once = yes - immediate = { - if = { - limit = { - tag = ITA - has_government = belligerent - FROM = { state = 378 } - } - set_country_flag = duce_nukedem_flag - } - news_event = { id = nuke_dropped.1 days = 1 } - } - option = { name = dummy_nuke_option } @@ -416,38 +404,12 @@ news_event = { FROM = { state = 37 } } - option = { - name = nuke_dropped.12.a - trigger = { - OR = { - AND = { - tag = DAG - NOT = { has_war_with = DEN } - } - AND = { - NOT = { owns_state = FROM } - NOT = { tag = DAG } - NOT = { has_war_with = DEN } - } - } - } - } - option = { name = nuke_dropped.12.b trigger = { owns_state = FROM } } - - option = { - name = nuke_dropped.12.c - trigger = { - NOT = { owns_state = FROM } - tag = DAG - has_war_with = DEN - } - } } # Nuclear Attack on Stockholm diff --git a/events/Old_alliances.txt b/events/Old_alliances.txt new file mode 100644 index 000000000..45a003ff9 --- /dev/null +++ b/events/Old_alliances.txt @@ -0,0 +1,143 @@ +########################### +# Dorwinion Events +########################### + +add_namespace = old_alliances + +#Gondor lits the beacons will Rohan answer? +country_event = { + id = old_alliances.1 + title = old_alliances.1.t + desc = old_alliances.1.d + picture = GFX_report_event_beacons + + is_triggered_only = yes + + option = { #yes + name = old_alliances.1.a + ai_chance = { + base = 20 + modifier = { + add = 10 + GON = { + has_completed_focus = GON_honor_isildurs_legacy + } + } + modifier = { + add = 10 + OR = { + GON = { + has_war_with = MOR + } + GON = { + has_war_with = ISE + } + } + } + modifier = { + add = 20 + has_government = cooperative + GON = { + has_government = cooperative + } + } + modifier = { + add = 20 + has_global_flag = gandalf_allowed_into_rohan + } + } + GON = { + add_to_war = { + targeted_alliance = ROH + hostility_reason = beacons_are_lit + } + } + } + + option = { #no + name = old_alliances.1.b + ai_chance = { + base = 20 + modifier = { + add = 20 + NOT = { + has_government = cooperative + } + GON = { + NOT = { + has_government = cooperative + } + } + } + } + add_political_power = -100 + add_war_support = -0.05 + GON = { + add_opinion_modifier = { target = ROH modifier = medium_decrease } + } + } +} + +#Rohan lits the beacon will Gondor answer? +country_event = { + id = old_alliances.2 + title = old_alliances.2.t + desc = old_alliances.2.d + picture = GFX_report_event_beacons + + is_triggered_only = yes + + option = { #yes + name = old_alliances.2.a + ai_chance = { + base = 20 + modifier = { + add = 10 + OR = { + ROH = { + has_war_with = MOR + } + ROH = { + has_war_with = ISE + } + } + } + modifier = { + add = 20 + has_government = cooperative + ROH = { + has_government = cooperative + } + } + } + ROH = { + add_to_war = { + targeted_alliance = GON + hostility_reason = beacons_are_lit + } + } + } + + option = { #no + name = old_alliances.2.b + ai_chance = { + base = 20 + modifier = { + add = 20 + NOT = { + has_government = cooperative + } + ROH = { + NOT = { + has_government = cooperative + } + } + } + } + add_political_power = -100 + add_war_support = -0.05 + ROH = { + add_opinion_modifier = { target = ROH modifier = medium_decrease } + } + } +} diff --git a/events/PoliticalEvents_Referendums.txt b/events/PoliticalEvents_Referendums.txt index e204d7585..cb450aed8 100644 --- a/events/PoliticalEvents_Referendums.txt +++ b/events/PoliticalEvents_Referendums.txt @@ -130,18 +130,6 @@ country_event = { has_idea_with_trait = communist_revolutionary NOT = { has_government = revolutionary } revolutionary > 0.2 - if = { - limit = { - has_dlc = "Together for Victory" - } - OR = { - NOT = { tag = RAJ } - AND = { - tag = RAJ - is_puppet = no - } - } - } } mean_time_to_happen = { @@ -175,18 +163,6 @@ country_event = { NOT = { has_government = revolutionary } revolutionary > 0.3 NOT = { has_idea = communist_partisans_recruiting } - if = { - limit = { - has_dlc = "Together for Victory" - } - OR = { - NOT = { tag = RAJ } - AND = { - tag = RAJ - is_puppet = no - } - } - } } mean_time_to_happen = { @@ -504,18 +480,6 @@ country_event = { NOT = { has_government = belligerent } belligerent > 0.3 NOT = { has_idea = fascist_assault_divisions } - if = { - limit = { - has_dlc = "Together for Victory" - } - OR = { - NOT = { tag = RAJ } - AND = { - tag = RAJ - is_puppet = no - } - } - } } mean_time_to_happen = { @@ -842,31 +806,12 @@ country_event = { # } #} - #option = { - # name = political.19.b - # add_timed_idea = { - # idea = communist_revolutionaries - # days = 365 - # } - #} - option = { - name = political.19.c - trigger = { - #Special case CHI PRC - OR = { - NOT = { tag = CHI } - AND = { - NOT = { country_exists = PRC } - tag = CHI - } - } - } - set_politics = { - ruling_party = revolutionary - elections_allowed = no - } - add_stability = -0.05 + name = political.19.b + #add_timed_idea = { + # idea = communist_revolutionaries + # days = 365 + #} } } @@ -1018,13 +963,6 @@ country_event = { #has_idea = communist_revolutionaries NOT = { has_government = revolutionary } #Special case CHI PRC - OR = { - NOT = { tag = CHI } - AND = { - NOT = { country_exists = PRC } - tag = CHI - } - } has_civil_war = no check_has_focus_tree_to_switch_to_revolutionary = yes } @@ -1096,13 +1034,6 @@ country_event = { #Special case CHI PRC NOT = { has_government = cooperative } - OR = { - NOT = { tag = CHI } - AND = { - NOT = { country_exists = PRC } - tag = CHI - } - } has_civil_war = no check_has_focus_tree_to_switch_to_cooperative = yes } diff --git a/events/Rivendell.txt b/events/Rivendell.txt index 8b85ffc43..f05ec34e2 100644 --- a/events/Rivendell.txt +++ b/events/Rivendell.txt @@ -9,7 +9,7 @@ country_event = { id = rivendell.1 title = rivendell.1.t desc = rivendell.1.d - picture = GFX_report_event_ring + picture = GFX_report_event_elrond_council fire_only_once = yes @@ -26,6 +26,10 @@ country_event = { MIR = { country_event = { days = 7 id = rivendell.2 } } ERE = { country_event = { days = 10 id = rivendell.3 } } GON = { country_event = { days = 7 id = rivendell.4 } } + if = { + limit = { has_global_flag = fs_lothlorien_invited } + LTH = { country_event = { days = 5 id = rivendell.20 } } + } } } @@ -36,7 +40,7 @@ country_event = { id = rivendell.2 title = rivendell.2.t desc = rivendell.2.d - picture = GFX_report_event_paper + picture = GFX_report_event_elrond_council fire_only_once = yes @@ -103,7 +107,7 @@ country_event = { id = rivendell.3 title = rivendell.3.t desc = rivendell.3.d - picture = GFX_report_event_paper + picture = GFX_report_event_elrond_council fire_only_once = yes @@ -163,7 +167,7 @@ country_event = { id = rivendell.4 title = rivendell.4.t desc = rivendell.4.d - picture = GFX_report_event_paper + picture = GFX_report_event_elrond_council fire_only_once = yes @@ -575,7 +579,7 @@ country_event = { id = rivendell.15 title = rivendell.15.t desc = rivendell.15.d - picture = GFX_report_event_ring + picture = GFX_report_event_nazgul is_triggered_only = yes @@ -704,7 +708,7 @@ country_event = { id = rivendell.19 title = rivendell.19.t desc = rivendell.19.desc - picture = GFX_report_event_ring + picture = GFX_report_event_elrond_council is_triggered_only = yes @@ -713,6 +717,11 @@ country_event = { name = rivendell.19.a ai_chance = { base = 2 + # Galadriel magic + modifier = { + factor = 2 + has_global_flag = mirror_predicted_redhorn + } } # human votes count for more, to give players mor agency in the case of a tie @@ -746,6 +755,10 @@ country_event = { limit = { tag = MIR } set_global_flag = fs_mirkwood_responded } + else_if = { + limit = { tag = LTH } + set_global_flag = fs_lothlorien_responded + } ring_check_if_council_of_elrond_concluded = yes } @@ -762,6 +775,10 @@ country_event = { factor = 0 is_historical_focus_on = yes } + modifier = { + factor = 2 + has_global_flag = mirror_predicted_isengard + } } if = { @@ -794,6 +811,10 @@ country_event = { limit = { tag = MIR } set_global_flag = fs_mirkwood_responded } + else_if = { + limit = { tag = LTH } + set_global_flag = fs_lothlorien_responded + } ring_check_if_council_of_elrond_concluded = yes } @@ -814,6 +835,10 @@ country_event = { factor = 0 is_historical_focus_on = yes } + modifier = { + factor = 2 + has_global_flag = mirror_predicted_gundabad + } } if = { @@ -846,6 +871,10 @@ country_event = { limit = { tag = MIR } set_global_flag = fs_mirkwood_responded } + else_if = { + limit = { tag = LTH } + set_global_flag = fs_lothlorien_responded + } ring_check_if_council_of_elrond_concluded = yes } @@ -872,10 +901,70 @@ country_event = { limit = { tag = MIR } set_global_flag = fs_mirkwood_responded } + else_if = { + limit = { tag = LTH } + set_global_flag = fs_lothlorien_responded + } ring_check_if_council_of_elrond_concluded = yes } } +# Lothlorien asked about the Fellowship +country_event = { + id = rivendell.20 + title = rivendell.20.t + desc = rivendell.20.d + picture = GFX_report_event_elrond_council + + fire_only_once = yes + + is_triggered_only = yes + + option = { #Haldir + name = rivendell.20.a + ai_chance = { + base = 50 + } + custom_effect_tooltip = rivendell.20.a.tt + set_global_flag = fs_lothlorien_haldir + effect_tooltip = { + LTH_haldir = { retire = yes } + } + + hidden_effect = { SHI = { FS_haldir = { ring_add_member_to_fellowship = yes } } } + + set_global_flag = fs_lothlorien_responded + ring_check_if_council_of_elrond_started = yes + } + option = { #Orophin + name = rivendell.20.b + ai_chance = { + base = 30 + } + custom_effect_tooltip = rivendell.20.b.tt + set_global_flag = fs_lothlorien_orophin + effect_tooltip = { + LTH_orophin = { retire = yes } + } + + hidden_effect = { SHI = { FS_orophin = { ring_add_member_to_fellowship = yes } } } + + set_global_flag = fs_lothlorien_responded + ring_check_if_council_of_elrond_started = yes + } + option = { #Noone + name = rivendell.20.c + ai_chance = { + base = 15 + } + custom_effect_tooltip = rivendell.20.c.tt + set_global_flag = fs_lothlorien_none + + set_global_flag = fs_lothlorien_responded + ring_check_if_council_of_elrond_started = yes + } +} + diff --git a/events/Rohan.txt b/events/Rohan.txt index 082b96371..1da5a1520 100644 --- a/events/Rohan.txt +++ b/events/Rohan.txt @@ -75,10 +75,7 @@ country_event = { name = rohan.6.a ai_chance = { base = 250 - modifier = { - add = 50 - ROH = { cooperative > 0.3 } - } + modifier = { factor = 0 is_going_cooperative = no } } set_global_flag = gandalf_allowed_into_rohan } @@ -86,14 +83,11 @@ country_event = { name = rohan.6.b ai_chance = { base = 100 - modifier = { - add = 50 - ROH = { belligerent > 0.4 } - } modifier = { factor = 0 is_historical_focus_on = yes } + modifier = { factor = 0 is_going_belligerent = no } } set_global_flag = gandalf_denied_access_rohan } @@ -213,5 +207,26 @@ country_event = { set_global_flag = grima_eowyn_married hidden_effect = { news_event = { hours = 48 id = news.338 } } } +} + +# Event for Gondor sending help to deal with Isengard +country_event = { + id = rohan.8 + title = rohan.8.t + desc = rohan.8.d + picture = GFX_report_event_paper + fire_only_once = yes + + is_triggered_only = yes + + option = { + name = rohan.8.a + add_manpower = 10000 + add_equipment_to_stockpile = { + type = infantry_equipment_0 + amount = 1000 + } + add_opinion_modifier = { target = GON modifier = medium_increase } + } } diff --git a/events/WarJustification.txt b/events/WarJustification.txt index ba460e2e4..db3c775e9 100644 --- a/events/WarJustification.txt +++ b/events/WarJustification.txt @@ -9,7 +9,7 @@ country_event = { id = war_justification.1 title = war_justification.1.t desc = war_justification.1.d - picture = GFX_report_event_fascist_speech + picture = GFX_report_event_paper is_triggered_only = yes @@ -35,7 +35,7 @@ country_event = { id = war_justification.2 title = war_justification.2.t desc = war_justification.2.d - picture = GFX_report_event_communist_leader + picture = GFX_report_event_paper is_triggered_only = yes @@ -61,7 +61,7 @@ country_event = { id = war_justification.3 title = war_justification.3.t desc = war_justification.3.d - picture = GFX_report_event_communists_cheer + picture = GFX_report_event_paper is_triggered_only = yes @@ -87,7 +87,7 @@ country_event = { id = war_justification.4 title = war_justification.4.t desc = war_justification.4.d - picture = GFX_report_event_fascist_speech + picture = GFX_report_event_paper is_triggered_only = yes @@ -113,7 +113,7 @@ country_event = { id = war_justification.5 title = war_justification.5.t desc = war_justification.5.d - picture = GFX_report_event_nra_march + picture = GFX_report_event_paper is_triggered_only = yes @@ -139,7 +139,7 @@ country_event = { id = war_justification.6 title = war_justification.6.t desc = war_justification.6.d - picture = GFX_report_event_pla_in_beijing + picture = GFX_report_event_paper is_triggered_only = yes @@ -165,7 +165,7 @@ country_event = { id = war_justification.7 title = war_justification.7.t desc = war_justification.7.d - picture = GFX_report_event_american_hunger_march + picture = GFX_report_event_paper is_triggered_only = yes @@ -191,7 +191,7 @@ country_event = { id = war_justification.8 title = war_justification.8.t desc = war_justification.8.d - picture = GFX_report_event_communist_leader + picture = GFX_report_event_paper is_triggered_only = yes @@ -217,7 +217,7 @@ country_event = { id = war_justification.9 title = war_justification.9.t desc = war_justification.9.d - picture = GFX_report_event_communist_leader + picture = GFX_report_event_paper is_triggered_only = yes @@ -243,7 +243,7 @@ country_event = { id = war_justification.10 title = war_justification.10.t desc = war_justification.10.d - picture = GFX_report_event_soldiers_marching + picture = GFX_report_event_paper is_triggered_only = yes @@ -269,7 +269,7 @@ country_event = { id = war_justification.11 title = war_justification.11.t desc = war_justification.11.d - picture = GFX_report_event_crowd_in_prague + picture = GFX_report_event_paper is_triggered_only = yes @@ -295,7 +295,7 @@ country_event = { id = war_justification.12 title = war_justification.12.t desc = war_justification.12.d - picture = GFX_report_event_fascists_posing + picture = GFX_report_event_paper is_triggered_only = yes @@ -321,7 +321,7 @@ country_event = { id = war_justification.13 title = war_justification.13.t desc = war_justification.13.d - picture = GFX_report_event_soldiers_marching + picture = GFX_report_event_paper is_triggered_only = yes @@ -347,7 +347,7 @@ country_event = { id = war_justification.14 title = war_justification.14.t desc = war_justification.14.d - picture = GFX_report_event_tanks_vietnam + picture = GFX_report_event_paper is_triggered_only = yes @@ -373,7 +373,7 @@ country_event = { id = war_justification.15 title = war_justification.15.t desc = war_justification.15.d - picture = GFX_report_event_tanks_mexico_city + picture = GFX_report_event_paper is_triggered_only = yes @@ -399,7 +399,7 @@ country_event = { id = war_justification.16 title = war_justification.16.t desc = war_justification.16.d - picture = GFX_report_event_pla_in_beijing + picture = GFX_report_event_paper is_triggered_only = yes @@ -425,7 +425,7 @@ country_event = { id = war_justification.17 title = war_justification.17.t desc = war_justification.17.d - picture = GFX_report_event_riot_police_poland + picture = GFX_report_event_paper is_triggered_only = yes @@ -450,7 +450,7 @@ country_event = { id = war_justification.18 title = war_justification.18.t desc = war_justification.18.d - picture = GFX_report_event_korean_war_march + picture = GFX_report_event_paper is_triggered_only = yes @@ -482,7 +482,7 @@ country_event = { id = war_justification.19 title = war_justification.19.t desc = war_justification.19.d - picture = GFX_report_event_soldiers_marching + picture = GFX_report_event_paper is_triggered_only = yes @@ -518,7 +518,7 @@ country_event = { id = war_justification.20 title = war_justification.20.t desc = war_justification.20.d - picture = GFX_report_event_tanks_vietnam + picture = GFX_report_event_paper is_triggered_only = yes @@ -542,7 +542,7 @@ country_event = { id = war_justification.201 title = war_justification.201.t desc = war_justification.201.d - picture = GFX_report_event_fascist_speech + picture = GFX_report_event_paper is_triggered_only = yes @@ -556,7 +556,7 @@ country_event = { id = war_justification.202 title = war_justification.202.t desc = war_justification.202.d - picture = GFX_report_event_communist_leader + picture = GFX_report_event_paper is_triggered_only = yes @@ -570,7 +570,7 @@ country_event = { id = war_justification.203 title = war_justification.203.t desc = war_justification.203.d - picture = GFX_report_event_communists_cheer + picture = GFX_report_event_paper is_triggered_only = yes @@ -584,7 +584,7 @@ country_event = { id = war_justification.204 title = war_justification.204.t desc = war_justification.204.d - picture = GFX_report_event_fascist_speech + picture = GFX_report_event_paper is_triggered_only = yes @@ -598,7 +598,7 @@ country_event = { id = war_justification.205 title = war_justification.205.t desc = war_justification.205.d - picture = GFX_report_event_nra_march + picture = GFX_report_event_paper is_triggered_only = yes @@ -612,7 +612,7 @@ country_event = { id = war_justification.206 title = war_justification.206.t desc = war_justification.206.d - picture = GFX_report_event_pla_in_beijing + picture = GFX_report_event_paper is_triggered_only = yes @@ -626,7 +626,7 @@ country_event = { id = war_justification.207 title = war_justification.207.t desc = war_justification.207.d - picture = GFX_report_event_american_hunger_march + picture = GFX_report_event_paper is_triggered_only = yes @@ -640,7 +640,7 @@ country_event = { id = war_justification.208 title = war_justification.208.t desc = war_justification.208.d - picture = GFX_report_event_communist_leader + picture = GFX_report_event_paper is_triggered_only = yes @@ -654,7 +654,7 @@ country_event = { id = war_justification.209 title = war_justification.209.t desc = war_justification.209.d - picture = GFX_report_event_communist_leader + picture = GFX_report_event_paper is_triggered_only = yes @@ -668,7 +668,7 @@ country_event = { id = war_justification.210 title = war_justification.210.t desc = war_justification.210.d - picture = GFX_report_event_soldiers_marching + picture = GFX_report_event_paper is_triggered_only = yes @@ -682,7 +682,7 @@ country_event = { id = war_justification.211 title = war_justification.211.t desc = war_justification.211.d - picture = GFX_report_event_crowd_in_prague + picture = GFX_report_event_paper is_triggered_only = yes @@ -696,7 +696,7 @@ country_event = { id = war_justification.212 title = war_justification.212.t desc = war_justification.212.d - picture = GFX_report_event_fascists_posing + picture = GFX_report_event_paper is_triggered_only = yes @@ -710,7 +710,7 @@ country_event = { id = war_justification.213 title = war_justification.213.t desc = war_justification.213.d - picture = GFX_report_event_soldiers_marching + picture = GFX_report_event_paper is_triggered_only = yes @@ -724,7 +724,7 @@ country_event = { id = war_justification.214 title = war_justification.214.t desc = war_justification.214.d - picture = GFX_report_event_tanks_vietnam + picture = GFX_report_event_paper is_triggered_only = yes @@ -738,7 +738,7 @@ country_event = { id = war_justification.215 title = war_justification.215.t desc = war_justification.215.d - picture = GFX_report_event_tanks_mexico_city + picture = GFX_report_event_paper is_triggered_only = yes @@ -752,7 +752,7 @@ country_event = { id = war_justification.216 title = war_justification.216.t desc = war_justification.216.d - picture = GFX_report_event_pla_in_beijing + picture = GFX_report_event_paper is_triggered_only = yes @@ -766,7 +766,7 @@ country_event = { id = war_justification.217 title = war_justification.217.t desc = war_justification.217.d - picture = GFX_report_event_riot_police_poland + picture = GFX_report_event_paper is_triggered_only = yes @@ -780,7 +780,7 @@ country_event = { id = war_justification.218 title = war_justification.218.t desc = war_justification.218.d - picture = GFX_report_event_korean_war_march + picture = GFX_report_event_paper is_triggered_only = yes @@ -794,7 +794,7 @@ country_event = { id = war_justification.219 title = war_justification.219.t desc = war_justification.219.d - picture = GFX_report_event_soldiers_marching + picture = GFX_report_event_paper is_triggered_only = yes @@ -809,7 +809,7 @@ country_event = { id = war_justification.220 title = war_justification.220.t desc = war_justification.220.d - picture = GFX_report_event_tanks_vietnam + picture = GFX_report_event_paper is_triggered_only = yes @@ -823,7 +823,7 @@ country_event = { id = war_justification.301 title = war_justification.301.t desc = war_justification.301.d - picture = GFX_report_event_iww_demonstration + picture = GFX_report_event_paper is_triggered_only = yes diff --git a/events/WhiteCouncilEvents.txt b/events/WhiteCouncilEvents.txt new file mode 100644 index 000000000..40bf48266 --- /dev/null +++ b/events/WhiteCouncilEvents.txt @@ -0,0 +1,236 @@ +########################### +# White Council Events +########################### + +add_namespace = whitecouncil + +# Invited to White Council +country_event = { + id = whitecouncil.1 + title = whitecouncil.1.t + desc = whitecouncil.1.d + picture = GFX_report_event_white_council + + is_triggered_only = yes + + # yes + option = { + name = whitecouncil.1.a + ai_chance = { + base = 50 + } + complete_national_focus = whc_rekindlewhitecouncil + + #hidden_effect = { FROM = { country_event = { id = whitecouncil.6 days = 3 random_days = 5 } } } + # No response needed: completed focus already takes care of this + } + + # no + option = { + name = whitecouncil.1.b + ai_chance = { + base = 0 + } + + hidden_effect = { FROM = { country_event = { id = whitecouncil.7 days = 3 random_days = 5 } } } + } +} + +# Join newly created faction +country_event = { + id = whitecouncil.2 + title = whitecouncil.2.t + desc = whitecouncil.2.d + picture = GFX_report_event_white_council + + is_triggered_only = yes + + option = { + name = whitecouncil.2.a + ai_chance = { + base = 50 + } + + FROM = { add_to_faction = PREV } + } +} + +# Country X Forced to leave white council +country_event = { + id = whitecouncil.3 + title = whitecouncil.3.t + desc = { + trigger = { + FROM = { + OR = { + has_government = belligerent + has_government = revolutionary + } + } + } + text = whitecouncil.3.d_ideology + } + desc = { + trigger = { + FROM = { + NOT = { has_government = belligerent } + NOT = { has_government = revolutionary } + } + } + text = whitecouncil.3.d_war + } + picture = GFX_report_event_white_council + + is_triggered_only = yes + + option = { + name = whitecouncil.3.a + ai_chance = { + base = 50 + } + } +} + +# We have been Forced to leave white council +country_event = { + id = whitecouncil.4 + title = whitecouncil.4.t + desc = { + trigger = { + OR = { + has_government = belligerent + has_government = revolutionary + } + } + text = whitecouncil.4.d_ideology + } + desc = { + trigger = { + FROM = { + NOT = { has_government = belligerent } + NOT = { has_government = revolutionary } + } + } + text = whitecouncil.4.d_war + } + picture = GFX_report_event_white_council + + is_triggered_only = yes + + option = { + name = whitecouncil.4.a + ai_chance = { + base = 50 + } + } +} + +# Oath to the fellowship +country_event = { + id = whitecouncil.5 + title = whitecouncil.5.t + desc = whitecouncil.5.d + picture = GFX_report_event_white_council + + is_triggered_only = yes + + # Ye + option = { + name = whitecouncil.5.a + ai_chance = { + base = 50 + } + set_country_flag = fs_interceptions_disabled + custom_effect_tooltip = disable_interceptions_tt + } + + # Nah + option = { + name = whitecouncil.5.b + ai_chance = { + base = 1 + modifier = { + factor = 0 + tag = RIV + } + modifier = { + add = 10 + tag = LTH + LTH = { is_going_cooperative = no } + } + } + + remove_from_white_council_noevent = yes + } +} + +# Accepts invitation +country_event = { + id = whitecouncil.6 + title = whitecouncil.6.t + desc = whitecouncil.6.d + picture = GFX_report_event_white_council + + is_triggered_only = yes + + option = { + name = whitecouncil.6.a + ai_chance = { + base = 50 + } + } +} + +# Declines invitation +country_event = { + id = whitecouncil.7 + title = whitecouncil.7.t + desc = whitecouncil.7.d + picture = GFX_report_event_white_council + + is_triggered_only = yes + + option = { + name = whitecouncil.7.a + ai_chance = { + base = 50 + } + } +} + +# joins white council (no invitation) +country_event = { + id = whitecouncil.8 + title = whitecouncil.8.t + desc = whitecouncil.8.d + picture = GFX_report_event_white_council + + is_triggered_only = yes + + option = { + name = whitecouncil.8.a + ai_chance = { + base = 50 + } + } +} + +# leaves white council +country_event = { + id = whitecouncil.9 + title = whitecouncil.9.t + desc = whitecouncil.9.d + picture = GFX_report_event_white_council + + is_triggered_only = yes + + option = { + name = whitecouncil.9.a + ai_chance = { + base = 50 + } + } +} + + + diff --git a/events/ring_events.txt b/events/ring_events.txt index 0bfb25efe..e8878b0ad 100644 --- a/events/ring_events.txt +++ b/events/ring_events.txt @@ -25,7 +25,7 @@ country_event = { is_triggered_only = yes hidden = yes - immediate { + immediate = { ring_open_interception_attempt_prompt = yes } } @@ -45,7 +45,7 @@ country_event = { base = 50 } effect_tooltip = { - add_ideas = one_true_ring + ring_add_ring = yes } hidden_effect = { news_event = { hours = 12 id = news.389 } @@ -140,11 +140,17 @@ country_event = { } # Ring destroyed (this runs for Mordor) -#TODO Make the other countries(Like Rhun and Angmar) that have Nazguls as leaders lose there leaders aswell. country_event = { id = fs.106 title = fs.106.t - desc = fs.106.d + desc = { + text = fs.106.d + trigger = { NOT = { has_global_flag = fs_elven_fellowship } } + } + desc = { + text = fs.106.d_elves + trigger = { has_global_flag = fs_elven_fellowship } + } picture = GFX_report_event_hitler_parade fire_only_once = yes @@ -159,11 +165,6 @@ country_event = { ai_chance = { base = 15 } - set_global_flag = fs_ring_destroyed - ring_clear_pathstack = yes - ring_clear_fellowship_members = yes - - news_event = { hours = 12 id = news.376 } dismantle_faction = yes kill_country_leader = yes ISE = { annex_country = { target = MOR } } @@ -173,11 +174,6 @@ country_event = { ai_chance = { base = 15 } - set_global_flag = fs_ring_destroyed - ring_clear_pathstack = yes - ring_clear_fellowship_members = yes - - news_event = { hours = 12 id = news.376 } dismantle_faction = yes kill_country_leader = yes MOR = { set_politics = { ruling_party = revolutionary elections_allowed = no } } @@ -188,12 +184,21 @@ country_event = { ai_chance = { base = 3 } - set_global_flag = fs_ring_destroyed - ring_clear_pathstack = yes - ring_clear_fellowship_members = yes - - news_event = { hours = 12 id = news.376 } kill_country_leader = yes add_ideas = MOR_false_king } +} + +# Ring Corruption is High Warning +country_event = { + id = fs.107 + title = fs.107.t + desc = fs.107.d + picture = GFX_report_event_ring + + is_triggered_only = yes + + option = { + name = fs.107.a + } } \ No newline at end of file diff --git a/gfx/FX/pdxwater.shader b/gfx/FX/pdxwater.shader index bc3782bf0..eab08e048 100644 --- a/gfx/FX/pdxwater.shader +++ b/gfx/FX/pdxwater.shader @@ -294,7 +294,7 @@ PixelShader = float3 SunDirWater = float3( 0, -1, 0 ); #else float3 SunDirWater = CalculateSunDirectionWater( Input.pos ); - //float3 SunDirWater = float3( 0, -1, 0 ); // LOTR NOTE: TODO: Consider this + //float3 SunDirWater = float3( 0, -1, 0 ); // LOTR NOTE: Alternative way to do water #endif float3 H = normalize( normalize(vCamPos - Input.pos).xzy + -SunDirWater.xzy ); float2 HWave = H.xy/H.z - B; diff --git a/gfx/entities/lothlorien_soldier_unitmodel.gfx b/gfx/entities/lothlorien_soldier_unitmodel.gfx new file mode 100644 index 000000000..cdd06c9a1 --- /dev/null +++ b/gfx/entities/lothlorien_soldier_unitmodel.gfx @@ -0,0 +1,89 @@ +objectTypes = { + pdxmesh = { + name = "lothlorien_soldier_mesh" + + file = "gfx/models/units/lothlorien_soldier/lothlorien_soldier_mesh.mesh" + + animation = { + id = "idle1" + type = "spear_shield_idle1_animation" + } + + animation = { + id = "idle2" + type = "spear_shield_idle2_animation" + } + + animation = { + id = "idle3" + type = "spear_shield_idle3_animation" + } + + animation = { + id = "idle4" + type = "spear_shield_idle4_animation" + } + + animation = { + id = "move1" + type = "spear_shield_move1_animation" + } + + animation = { + id = "dying1" + type = "spear_shield_dying1_animation" + } + + animation = { + id = "defend1" + type = "spear_shield_defense1_animation" + } + + animation = { + id = "attack1" + type = "spear_shield_attack1_animation" + } + + animation = { + id = "attack2" + type = "spear_shield_attack2_animation" + } + + animation = { + id = "attack3" + type = "spear_shield_attack3_animation" + } + + animation = { + id = "attack4" + type = "spear_shield_attack4_animation" + } + + animation = { + id = "attack5" + type = "spear_shield_attack5_animation" + } + + animation = { + id = "attack6" + type = "spear_shield_attack6_animation" + } + + animation = { + id = "attack7" + type = "spear_shield_attack7_animation" + } + + animation = { + id = "training1" + type = "sword_shield_training1_animation" + } + + animation = { + id = "retreat1" + type = "sword_shield_retreat1_animation" + } + + scale = 1.0 + } +} diff --git a/gfx/entities/lotr_units_infantry.asset b/gfx/entities/lotr_units_infantry.asset new file mode 100644 index 000000000..cc16904c4 --- /dev/null +++ b/gfx/entities/lotr_units_infantry.asset @@ -0,0 +1,2186 @@ + + +### ENTITIES: + +# Generic infantry entity +entity = { + name = "lotr_generic_infantry_entity" + pdxmesh = "generic_soldier_mesh" + + default_state = "idle" + + state = { + name = "idle" + animation = "idle1" + animation_blend_time = 0.6 + looping = no + next_state = "idle" + chance = 10 + } + state = { + name = "idle" + animation = "idle2" + animation_blend_time = 0.6 + looping = no + next_state = "idle" + chance = 2 + } + state = { + name = "idle" + animation = "idle3" + animation_blend_time = 0.6 + looping = no + next_state = "idle" + chance = 2 + } + state = { + name = "idle" + animation = "idle4" + animation_blend_time = 0.6 + looping = no + next_state = "idle" + chance = 1 + } + + state = { + name = "move" + animation = "move1" + animation_blend_time = 0.0 + animation_speed = 1.0 + chance = 1 + event = { + trigger_once = yes + sound = { soundeffect = "infantry_move_animation" } + } + } + + state = { + name = "attack" + animation = "attack1" + animation_blend_time = 0.15 + animation_speed = 1.0 + looping = no + next_state = "attack" + chance = 1 + } + state = { + name = "attack" + animation = "attack2" + animation_blend_time = 0.15 + animation_speed = 1.0 + looping = no + next_state = "attack" + chance = 1 + } + state = { + name = "attack" + animation = "attack3" + animation_blend_time = 0.15 + animation_speed = 1.0 + looping = no + next_state = "attack" + chance = 1 + } + state = { + name = "attack" + animation = "attack4" + animation_blend_time = 0.15 + animation_speed = 1.0 + looping = no + next_state = "attack" + chance = 1 + } + state = { + name = "attack" + animation = "attack5" + animation_blend_time = 0.15 + animation_speed = 1.0 + looping = no + next_state = "attack" + chance = 1 + } + state = { + name = "attack" + animation = "attack6" + animation_blend_time = 0.15 + animation_speed = 1.0 + looping = no + next_state = "attack" + chance = 1 + } + state = { + name = "attack" + animation = "attack7" + animation_blend_time = 0.15 + animation_speed = 1.0 + looping = no + next_state = "attack" + chance = 5 + } + + state = { + name = "support_attack" + animation = "attack3" + animation_blend_time = 0.3 + animation_speed = 1.0 + } + + state = { + name = "defend" + animation = "defend1" + animation_blend_time = 0.3 + animation_speed = 1.0 + chance = 1 + } + + state = { + name = "training" + animation = "training1" + animation_blend_time = 0.5 + animation_speed = 1.0 + chance = 1 + looping = no + } + + state = { + name = "retreat" + animation = "retreat1" + animation_blend_time = 0.3 + animation_speed = 1.0 + } + + state = { + name = "death" + animation = "dying1" + animation_blend_time = 0.3 + animation_speed = 1.0 + } + + scale = 0.08 +} + +# Rohan infantry entity +entity = { + name = "lotr_rohan_infantry_entity" + pdxmesh = "rohan_soldier_mesh" + + clone = "lotr_generic_infantry_entity" + + scale = 0.08 +} + +# Gondor infantry entity +entity = { + name = "lotr_gondor_infantry_entity" + pdxmesh = "gondor_soldier_mesh" + + clone = "lotr_generic_infantry_entity" + + scale = 0.08 +} + +# Rhun infantry entity +entity = { + name = "lotr_rhun_infantry_entity" + pdxmesh = "rhun_soldier_mesh" + + clone = "lotr_generic_infantry_entity" + + scale = 0.08 +} + +# Orc infantry entity +entity = { + name = "lotr_orc_infantry_entity" + pdxmesh = "orc_soldier_mesh" + + default_state = "idle" + + state = { + name = "idle" + animation = "idle1" + animation_blend_time = 0.6 + looping = no + next_state = "idle" + chance = 1 + } + state = { + name = "idle" + animation = "idle2" + animation_blend_time = 0.6 + looping = no + next_state = "idle" + chance = 10 + } + state = { + name = "idle" + animation = "idle3" + animation_blend_time = 0.6 + looping = no + next_state = "idle" + chance = 3 + } + + state = { + name = "move" + animation = "move1" + animation_blend_time = 0.0 + animation_speed = 1.0 + chance = 1 + event = { + trigger_once = yes + sound = { soundeffect = "infantry_move_animation" } + } + } + state = { + name = "move" + animation = "move2" + animation_blend_time = 0.0 + animation_speed = 1.0 + chance = 1 + event = { + trigger_once = yes + sound = { soundeffect = "infantry_move_animation" } + } + } + + state = { + name = "attack" + animation = "attack1" + animation_blend_time = 0.15 + animation_speed = 1.0 + looping = no + next_state = "attack" + chance = 4 + } + state = { + name = "attack" + animation = "attack2" + animation_blend_time = 0.15 + animation_speed = 1.0 + looping = no + next_state = "attack" + chance = 1 + } + state = { + name = "attack" + animation = "attack3" + animation_blend_time = 0.15 + animation_speed = 1.0 + looping = no + next_state = "attack" + chance = 1 + } + state = { + name = "attack" + animation = "attack4" + animation_blend_time = 0.15 + animation_speed = 1.0 + looping = no + next_state = "attack" + chance = 1 + } + + state = { + name = "support_attack" + animation = "attack3" + animation_blend_time = 0.3 + animation_speed = 1.0 + } + + state = { + name = "defend" + animation = "defend1" + animation_blend_time = 0.3 + animation_speed = 1.0 + chance = 3 + } + + state = { + name = "training" + animation = "training1" + animation_blend_time = 0.5 + animation_speed = 1.0 + chance = 2 + looping = no + } + + state = { + name = "retreat" + animation = "retreat1" + animation_blend_time = 0.3 + animation_speed = 1.0 + } + + state = { + name = "death" + animation = "dying1" + animation_blend_time = 0.3 + animation_speed = 1.0 + } + + scale = 0.08 +} + +# Elves infantry entity +entity = { + name = "lotr_elves_infantry_entity" + pdxmesh = "rivendell_soldier_mesh" + + default_state = "idle" + + state = { + name = "idle" + animation = "idle1" + animation_blend_time = 0.6 + animation_speed = 0.5 + looping = no + next_state = "idle" + chance = 10 + } + state = { + name = "idle" + animation = "idle2" + animation_blend_time = 0.6 + looping = no + next_state = "idle" + chance = 2 + } + state = { + name = "idle" + animation = "idle3" + animation_blend_time = 0.6 + looping = no + next_state = "idle" + chance = 2 + } + + state = { + name = "move" + animation = "move1" + animation_blend_time = 0.0 + animation_speed = 1.0 + chance = 1 + event = { + trigger_once = yes + sound = { soundeffect = "infantry_move_animation" } + } + } + + state = { + name = "attack" + animation = "attack1" + animation_blend_time = 0.15 + animation_speed = 1.0 + looping = no + next_state = "attack" + chance = 1 + } + state = { + name = "attack" + animation = "attack2" + animation_blend_time = 0.15 + animation_speed = 1.0 + looping = no + next_state = "attack" + chance = 1 + } + state = { + name = "attack" + animation = "attack3" + animation_blend_time = 0.15 + animation_speed = 1.0 + looping = no + next_state = "attack" + chance = 1 + } + state = { + name = "attack" + animation = "attack6" + animation_blend_time = 0.15 + animation_speed = 1.0 + looping = no + next_state = "attack" + chance = 3 + } + state = { + name = "attack" + animation = "attack7" + animation_blend_time = 0.15 + animation_speed = 1.0 + looping = no + next_state = "attack" + chance = 6 + } + + state = { + name = "support_attack" + animation = "attack3" + animation_blend_time = 0.3 + animation_speed = 1.0 + } + + state = { + name = "defend" + animation = "defend1" + animation_blend_time = 0.3 + animation_speed = 1.0 + chance = 1 + } + + state = { + name = "training" + animation = "training1" + animation_blend_time = 0.5 + animation_speed = 1.0 + chance = 1 + looping = no + } + + state = { + name = "retreat" + animation = "retreat1" + animation_blend_time = 0.3 + animation_speed = 1.0 + } + + state = { + name = "death" + animation = "dying1" + animation_blend_time = 0.3 + animation_speed = 1.0 + } + + scale = 0.08 +} + +# Lothlorien infantry entity +entity = { + name = "lotr_lothlorien_infantry_entity" + pdxmesh = "lothlorien_soldier_mesh" + + clone = "lotr_elves_infantry_entity" + + scale = 0.08 +} + + +### COUNTRIES: + +# LOTHLORIEN + +entity = { + clone = "lotr_elves_infantry_entity" + name = "LTH_infantry_entity" +} + +entity = { + clone = "lotr_lothlorien_infantry_entity" + name = "LTH_infantry_0_entity" +} + +entity = { + clone = "lotr_lothlorien_infantry_entity" + name = "LTH_infantry_1_entity" +} + +entity = { + clone = "lotr_lothlorien_infantry_entity" + name = "LTH_infantry_2_entity" +} + +entity = { + clone = "lotr_lothlorien_infantry_entity" + name = "LTH_infantry_3_entity" +} + +entity = { + clone = "lotr_lothlorien_infantry_entity" + name = "LTH_infantry_4_entity" +} + +entity = { + clone = "lotr_lothlorien_infantry_entity" + name = "LTH_infantry_5_entity" +} + +entity = { + clone = "lotr_lothlorien_infantry_entity" + name = "LTH_infantry_6_entity" +} + +entity = { + clone = "lotr_lothlorien_infantry_entity" + name = "LTH_light_armor_entity" +} + +entity = { + clone = "lotr_lothlorien_infantry_entity" + name = "LTH_medium_armor_entity" +} + +entity = { + clone = "lotr_lothlorien_infantry_entity" + name = "LTH_heavy_armor_entity" +} + +entity = { + clone = "lotr_lothlorien_infantry_entity" + name = "LTH_motorized_entity" +} + +entity = { + clone = "lotr_lothlorien_infantry_entity" + name = "LTH_mechanized_entity" +} + +entity = { + clone = "lotr_lothlorien_infantry_entity" + name = "LTH_anti_tank_entity" +} + +entity = { + clone = "lotr_lothlorien_infantry_entity" + name = "LTH_artillery_entity" +} + +# NANDUHIRION + +entity = { + clone = "lotr_elves_infantry_entity" + name = "NDH_infantry_entity" +} + +entity = { + clone = "lotr_lothlorien_infantry_entity" + name = "NDH_infantry_0_entity" +} + +entity = { + clone = "lotr_lothlorien_infantry_entity" + name = "NDH_infantry_2_entity" +} + +entity = { + clone = "lotr_lothlorien_infantry_entity" + name = "NDH_light_armor_entity" +} + +entity = { + clone = "lotr_lothlorien_infantry_entity" + name = "NDH_medium_armor_entity" +} + +entity = { + clone = "lotr_lothlorien_infantry_entity" + name = "NDH_heavy_armor_entity" +} + +entity = { + clone = "lotr_lothlorien_infantry_entity" + name = "NDH_motorized_entity" +} + +entity = { + clone = "lotr_lothlorien_infantry_entity" + name = "NDH_mechanized_entity" +} + +entity = { + clone = "lotr_lothlorien_infantry_entity" + name = "NDH_anti_tank_entity" +} + +entity = { + clone = "lotr_lothlorien_infantry_entity" + name = "NDH_artillery_entity" +} + +# GONDOR + +entity = { + clone = "lotr_gondor_infantry_entity" + name = "GON_infantry_entity" +} + +entity = { + clone = "lotr_gondor_infantry_entity" + name = "GON_infantry_2_entity" +} + +entity = { + clone = "lotr_gondor_infantry_entity" + name = "GON_light_armor_entity" +} + +entity = { + clone = "lotr_gondor_infantry_entity" + name = "GON_medium_armor_entity" +} + +entity = { + clone = "lotr_gondor_infantry_entity" + name = "GON_heavy_armor_entity" +} + +entity = { + clone = "lotr_gondor_infantry_entity" + name = "GON_motorized_entity" +} + +entity = { + clone = "lotr_gondor_infantry_entity" + name = "GON_mechanized_entity" +} + +entity = { + clone = "lotr_gondor_infantry_entity" + name = "GON_anti_tank_entity" +} + +entity = { + clone = "lotr_gondor_infantry_entity" + name = "GON_artillery_entity" +} + +# DOL AMROTH + +entity = { + clone = "lotr_gondor_infantry_entity" + name = "DAM_infantry_entity" +} + +entity = { + clone = "lotr_gondor_infantry_entity" + name = "DAM_infantry_2_entity" +} + +entity = { + clone = "lotr_gondor_infantry_entity" + name = "DAM_light_armor_entity" +} + +entity = { + clone = "lotr_gondor_infantry_entity" + name = "DAM_medium_armor_entity" +} + +entity = { + clone = "lotr_gondor_infantry_entity" + name = "DAM_heavy_armor_entity" +} + +entity = { + clone = "lotr_gondor_infantry_entity" + name = "DAM_motorized_entity" +} + +entity = { + clone = "lotr_gondor_infantry_entity" + name = "DAM_mechanized_entity" +} + +entity = { + clone = "lotr_gondor_infantry_entity" + name = "DAM_anti_tank_entity" +} + +entity = { + clone = "lotr_gondor_infantry_entity" + name = "DAM_artillery_entity" +} + +# RIVENDELL + +entity = { + clone = "lotr_lothlorien_infantry_entity" + name = "RIV_infantry_entity" +} + +entity = { + clone = "lotr_elves_infantry_entity" + name = "RIV_infantry_0_entity" +} + +entity = { + clone = "lotr_elves_infantry_entity" + name = "RIV_infantry_2_entity" +} + +entity = { + clone = "lotr_elves_infantry_entity" + name = "RIV_light_armor_entity" +} + +entity = { + clone = "lotr_elves_infantry_entity" + name = "RIV_medium_armor_entity" +} + +entity = { + clone = "lotr_elves_infantry_entity" + name = "RIV_heavy_armor_entity" +} + +entity = { + clone = "lotr_elves_infantry_entity" + name = "RIV_motorized_entity" +} + +entity = { + clone = "lotr_elves_infantry_entity" + name = "RIV_mechanized_entity" +} + +entity = { + clone = "lotr_elves_infantry_entity" + name = "RIV_anti_tank_entity" +} + +entity = { + clone = "lotr_elves_infantry_entity" + name = "RIV_artillery_entity" +} + +# LINDON + +entity = { + clone = "lotr_lothlorien_infantry_entity" + name = "LIN_infantry_entity" +} + +entity = { + clone = "lotr_elves_infantry_entity" + name = "LIN_infantry_0_entity" +} + +entity = { + clone = "lotr_elves_infantry_entity" + name = "LIN_infantry_2_entity" +} + +entity = { + clone = "lotr_elves_infantry_entity" + name = "LIN_light_armor_entity" +} + +entity = { + clone = "lotr_elves_infantry_entity" + name = "LIN_medium_armor_entity" +} + +entity = { + clone = "lotr_elves_infantry_entity" + name = "LIN_heavy_armor_entity" +} + +entity = { + clone = "lotr_elves_infantry_entity" + name = "LIN_motorized_entity" +} + +entity = { + clone = "lotr_elves_infantry_entity" + name = "LIN_mechanized_entity" +} + +entity = { + clone = "lotr_elves_infantry_entity" + name = "LIN_anti_tank_entity" +} + +entity = { + clone = "lotr_elves_infantry_entity" + name = "LIN_artillery_entity" +} + +# HARLINDON + +entity = { + clone = "lotr_lothlorien_infantry_entity" + name = "HLI_infantry_entity" +} + +entity = { + clone = "lotr_elves_infantry_entity" + name = "HLI_infantry_0_entity" +} + +entity = { + clone = "lotr_elves_infantry_entity" + name = "HLI_infantry_2_entity" +} + +entity = { + clone = "lotr_elves_infantry_entity" + name = "HLI_light_armor_entity" +} + +entity = { + clone = "lotr_elves_infantry_entity" + name = "HLI_medium_armor_entity" +} + +entity = { + clone = "lotr_elves_infantry_entity" + name = "HLI_heavy_armor_entity" +} + +entity = { + clone = "lotr_elves_infantry_entity" + name = "HLI_motorized_entity" +} + +entity = { + clone = "lotr_elves_infantry_entity" + name = "HLI_mechanized_entity" +} + +entity = { + clone = "lotr_elves_infantry_entity" + name = "HLI_anti_tank_entity" +} + +entity = { + clone = "lotr_elves_infantry_entity" + name = "HLI_artillery_entity" +} + +# MIRKWOOD + +entity = { + clone = "lotr_lothlorien_infantry_entity" + name = "MIR_infantry_entity" +} + +entity = { + clone = "lotr_elves_infantry_entity" + name = "MIR_infantry_0_entity" +} + +entity = { + clone = "lotr_elves_infantry_entity" + name = "MIR_infantry_2_entity" +} + +entity = { + clone = "lotr_elves_infantry_entity" + name = "MIR_light_armor_entity" +} + +entity = { + clone = "lotr_elves_infantry_entity" + name = "MIR_medium_armor_entity" +} + +entity = { + clone = "lotr_elves_infantry_entity" + name = "MIR_heavy_armor_entity" +} + +entity = { + clone = "lotr_elves_infantry_entity" + name = "MIR_motorized_entity" +} + +entity = { + clone = "lotr_elves_infantry_entity" + name = "MIR_mechanized_entity" +} + +entity = { + clone = "lotr_elves_infantry_entity" + name = "MIR_anti_tank_entity" +} + +entity = { + clone = "lotr_elves_infantry_entity" + name = "MIR_artillery_entity" +} + + +# ROHAN + +entity = { + clone = "lotr_rohan_infantry_entity" + name = "ROH_infantry_entity" +} + +entity = { + clone = "lotr_rohan_infantry_entity" + name = "ROH_infantry_2_entity" +} + +entity = { + clone = "lotr_rohan_infantry_entity" + name = "ROH_light_armor_entity" +} + +entity = { + clone = "lotr_rohan_infantry_entity" + name = "ROH_medium_armor_entity" +} + +entity = { + clone = "lotr_rohan_infantry_entity" + name = "ROH_heavy_armor_entity" +} + +entity = { + clone = "lotr_rohan_infantry_entity" + name = "ROH_motorized_entity" +} + +entity = { + clone = "lotr_rohan_infantry_entity" + name = "ROH_mechanized_entity" +} + +entity = { + clone = "lotr_rohan_infantry_entity" + name = "ROH_anti_tank_entity" +} + +entity = { + clone = "lotr_rohan_infantry_entity" + name = "ROH_artillery_entity" +} + + +# RHUN + +entity = { + clone = "lotr_rhun_infantry_entity" + name = "RHU_infantry_entity" +} + +entity = { + clone = "lotr_rhun_infantry_entity" + name = "RHU_infantry_2_entity" +} + +entity = { + clone = "lotr_rhun_infantry_entity" + name = "RHU_light_armor_entity" +} + +entity = { + clone = "lotr_rhun_infantry_entity" + name = "RHU_medium_armor_entity" +} + +entity = { + clone = "lotr_rhun_infantry_entity" + name = "RHU_heavy_armor_entity" +} + +entity = { + clone = "lotr_rhun_infantry_entity" + name = "RHU_motorized_entity" +} + +entity = { + clone = "lotr_rhun_infantry_entity" + name = "RHU_mechanized_entity" +} + +entity = { + clone = "lotr_rhun_infantry_entity" + name = "RHU_anti_tank_entity" +} + +entity = { + clone = "lotr_rhun_infantry_entity" + name = "RHU_artillery_entity" +} + +entity = { + clone = "lotr_rhun_infantry_entity" + name = "HAR_infantry_entity" +} + +entity = { + clone = "lotr_rhun_infantry_entity" + name = "HAR_infantry_2_entity" +} + +entity = { + clone = "lotr_rhun_infantry_entity" + name = "HAR_light_armor_entity" +} + +entity = { + clone = "lotr_rhun_infantry_entity" + name = "HAR_medium_armor_entity" +} + +entity = { + clone = "lotr_rhun_infantry_entity" + name = "HAR_heavy_armor_entity" +} + +entity = { + clone = "lotr_rhun_infantry_entity" + name = "HAR_motorized_entity" +} + +entity = { + clone = "lotr_rhun_infantry_entity" + name = "HAR_mechanized_entity" +} + +entity = { + clone = "lotr_rhun_infantry_entity" + name = "HAR_anti_tank_entity" +} + +entity = { + clone = "lotr_rhun_infantry_entity" + name = "HAR_artillery_entity" +} + + +# GENERIC + +entity = { + clone = "lotr_generic_infantry_entity" + name = "CAR_infantry_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "CAR_infantry_2_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "CAR_light_armor_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "CAR_medium_armor_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "CAR_heavy_armor_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "CAR_motorized_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "CAR_mechanized_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "CAR_anti_tank_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "CAR_artillery_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "ART_infantry_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "ART_infantry_2_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "ART_light_armor_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "ART_medium_armor_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "ART_heavy_armor_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "ART_motorized_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "ART_mechanized_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "ART_anti_tank_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "ART_artillery_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "RHD_infantry_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "RHD_infantry_2_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "RHD_light_armor_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "RHD_medium_armor_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "RHD_heavy_armor_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "RHD_motorized_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "RHD_mechanized_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "RHD_anti_tank_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "RHD_artillery_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "DAG_infantry_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "DAG_infantry_2_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "DAG_light_armor_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "DAG_medium_armor_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "DAG_heavy_armor_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "DAG_motorized_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "DAG_mechanized_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "DAG_anti_tank_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "DAG_artillery_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "ENT_infantry_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "ENT_infantry_2_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "ENT_light_armor_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "ENT_medium_armor_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "ENT_heavy_armor_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "ENT_motorized_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "ENT_mechanized_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "ENT_anti_tank_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "ENT_artillery_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "PEL_infantry_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "PEL_infantry_2_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "PEL_light_armor_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "PEL_medium_armor_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "PEL_heavy_armor_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "PEL_motorized_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "PEL_mechanized_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "PEL_anti_tank_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "PEL_artillery_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "VAL_infantry_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "VAL_infantry_2_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "VAL_light_armor_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "VAL_medium_armor_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "VAL_heavy_armor_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "VAL_motorized_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "VAL_mechanized_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "VAL_anti_tank_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "VAL_artillery_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "MOA_infantry_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "MOA_infantry_2_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "MOA_light_armor_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "MOA_medium_armor_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "MOA_heavy_armor_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "MOA_motorized_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "MOA_mechanized_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "MOA_anti_tank_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "MOA_artillery_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "ITH_infantry_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "ITH_infantry_2_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "ITH_light_armor_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "ITH_medium_armor_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "ITH_heavy_armor_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "ITH_motorized_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "ITH_mechanized_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "ITH_anti_tank_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "ITH_artillery_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "ERE_infantry_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "ERE_infantry_2_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "ERE_light_armor_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "ERE_medium_armor_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "ERE_heavy_armor_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "ERE_motorized_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "ERE_mechanized_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "ERE_anti_tank_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "ERE_artillery_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "NEP_infantry_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "NEP_infantry_2_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "NEP_light_armor_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "NEP_medium_armor_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "NEP_heavy_armor_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "NEP_motorized_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "NEP_mechanized_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "NEP_anti_tank_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "NEP_artillery_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "DAL_infantry_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "DAL_infantry_2_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "DAL_light_armor_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "DAL_medium_armor_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "DAL_heavy_armor_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "DAL_motorized_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "DAL_mechanized_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "DAL_anti_tank_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "DAL_artillery_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "SHI_infantry_entity" + + scale = 0.04 # hobbits small lmao +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "SHI_infantry_2_entity" + + scale = 0.04 # hobbits small lmao +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "ENE_infantry_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "ENE_infantry_2_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "ENE_light_armor_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "ENE_medium_armor_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "ENE_heavy_armor_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "ENE_motorized_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "ENE_mechanized_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "ENE_anti_tank_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "ENE_artillery_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "UMB_infantry_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "UMB_infantry_2_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "UMB_light_armor_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "UMB_medium_armor_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "UMB_heavy_armor_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "UMB_motorized_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "UMB_mechanized_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "UMB_anti_tank_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "UMB_artillery_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "KND_infantry_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "KND_infantry_2_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "KND_light_armor_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "KND_medium_armor_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "KND_heavy_armor_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "KND_motorized_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "KND_mechanized_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "KND_anti_tank_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "KND_artillery_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "ANG_infantry_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "ANG_infantry_2_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "ANG_light_armor_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "ANG_medium_armor_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "ANG_heavy_armor_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "ANG_motorized_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "ANG_mechanized_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "ANG_anti_tank_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "ANG_artillery_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "ISE_infantry_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "ISE_infantry_2_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "ISE_light_armor_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "ISE_medium_armor_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "ISE_heavy_armor_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "ISE_motorized_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "ISE_mechanized_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "ISE_anti_tank_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "ISE_artillery_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "SOS_infantry_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "SOS_infantry_2_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "SOS_light_armor_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "SOS_medium_armor_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "SOS_heavy_armor_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "SOS_motorized_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "SOS_mechanized_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "SOS_anti_tank_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "SOS_artillery_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "SPI_infantry_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "SPI_infantry_2_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "SPI_light_armor_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "SPI_medium_armor_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "SPI_heavy_armor_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "SPI_motorized_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "SPI_mechanized_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "SPI_anti_tank_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "SPI_artillery_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "DOR_infantry_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "DOR_infantry_2_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "DOR_light_armor_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "DOR_medium_armor_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "DOR_heavy_armor_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "DOR_motorized_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "DOR_mechanized_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "DOR_anti_tank_entity" +} + +entity = { + clone = "lotr_generic_infantry_entity" + name = "DOR_artillery_entity" +} + + +# ORCS + +entity = { + clone = "lotr_orc_infantry_entity" + name = "MOR_infantry_entity" +} + +entity = { + clone = "lotr_orc_infantry_entity" + name = "MOR_infantry_2_entity" +} + +entity = { + clone = "lotr_orc_infantry_entity" + name = "MOR_light_armor_entity" +} + +entity = { + clone = "lotr_orc_infantry_entity" + name = "MOR_medium_armor_entity" +} + +entity = { + clone = "lotr_orc_infantry_entity" + name = "MOR_heavy_armor_entity" +} + +entity = { + clone = "lotr_orc_infantry_entity" + name = "MOR_motorized_entity" +} + +entity = { + clone = "lotr_orc_infantry_entity" + name = "MOR_mechanized_entity" +} + +entity = { + clone = "lotr_orc_infantry_entity" + name = "MOR_anti_tank_entity" +} + +entity = { + clone = "lotr_orc_infantry_entity" + name = "MOR_artillery_entity" +} + +entity = { + clone = "lotr_orc_infantry_entity" + name = "DGU_infantry_entity" +} + +entity = { + clone = "lotr_orc_infantry_entity" + name = "DGU_infantry_2_entity" +} + +entity = { + clone = "lotr_orc_infantry_entity" + name = "DGU_light_armor_entity" +} + +entity = { + clone = "lotr_orc_infantry_entity" + name = "DGU_medium_armor_entity" +} + +entity = { + clone = "lotr_orc_infantry_entity" + name = "DGU_heavy_armor_entity" +} + +entity = { + clone = "lotr_orc_infantry_entity" + name = "DGU_motorized_entity" +} + +entity = { + clone = "lotr_orc_infantry_entity" + name = "DGU_mechanized_entity" +} + +entity = { + clone = "lotr_orc_infantry_entity" + name = "DGU_anti_tank_entity" +} + +entity = { + clone = "lotr_orc_infantry_entity" + name = "DGU_artillery_entity" +} + +entity = { + clone = "lotr_orc_infantry_entity" + name = "MMO_infantry_entity" +} + +entity = { + clone = "lotr_orc_infantry_entity" + name = "MMO_infantry_2_entity" +} + +entity = { + clone = "lotr_orc_infantry_entity" + name = "MMO_light_armor_entity" +} + +entity = { + clone = "lotr_orc_infantry_entity" + name = "MMO_medium_armor_entity" +} + +entity = { + clone = "lotr_orc_infantry_entity" + name = "MMO_heavy_armor_entity" +} + +entity = { + clone = "lotr_orc_infantry_entity" + name = "MMO_motorized_entity" +} + +entity = { + clone = "lotr_orc_infantry_entity" + name = "MMO_mechanized_entity" +} + +entity = { + clone = "lotr_orc_infantry_entity" + name = "MMO_anti_tank_entity" +} + +entity = { + clone = "lotr_orc_infantry_entity" + name = "MMO_artillery_entity" +} + +entity = { + clone = "lotr_orc_infantry_entity" + name = "MOC_infantry_entity" +} + +entity = { + clone = "lotr_orc_infantry_entity" + name = "MOC_infantry_2_entity" +} + +entity = { + clone = "lotr_orc_infantry_entity" + name = "MOC_light_armor_entity" +} + +entity = { + clone = "lotr_orc_infantry_entity" + name = "MOC_medium_armor_entity" +} + +entity = { + clone = "lotr_orc_infantry_entity" + name = "MOC_heavy_armor_entity" +} + +entity = { + clone = "lotr_orc_infantry_entity" + name = "MOC_motorized_entity" +} + +entity = { + clone = "lotr_orc_infantry_entity" + name = "MOC_mechanized_entity" +} + +entity = { + clone = "lotr_orc_infantry_entity" + name = "MOC_anti_tank_entity" +} + +entity = { + clone = "lotr_orc_infantry_entity" + name = "MOC_artillery_entity" +} + +entity = { + clone = "lotr_orc_infantry_entity" + name = "ORCGENERIC_infantry_entity" +} + +entity = { + clone = "lotr_orc_infantry_entity" + name = "ORCGENERIC_infantry_2_entity" +} + +entity = { + clone = "lotr_orc_infantry_entity" + name = "ORCGENERIC_light_armor_entity" +} + +entity = { + clone = "lotr_orc_infantry_entity" + name = "ORCGENERIC_medium_armor_entity" +} + +entity = { + clone = "lotr_orc_infantry_entity" + name = "ORCGENERIC_heavy_armor_entity" +} + +entity = { + clone = "lotr_orc_infantry_entity" + name = "ORCGENERIC_motorized_entity" +} + +entity = { + clone = "lotr_orc_infantry_entity" + name = "ORCGENERIC_mechanized_entity" +} + +entity = { + clone = "lotr_orc_infantry_entity" + name = "ORCGENERIC_anti_tank_entity" +} + +entity = { + clone = "lotr_orc_infantry_entity" + name = "ORCGENERIC_artillery_entity" +} + diff --git a/gfx/entities/mapitems_custom.asset b/gfx/entities/mapitems_custom.asset index cc0b401cf..f5355269f 100644 --- a/gfx/entities/mapitems_custom.asset +++ b/gfx/entities/mapitems_custom.asset @@ -5,6 +5,11 @@ entity = { pdxmesh = "orthanc_mesh" } +entity = { + name = "caras_entity" + pdxmesh = "caras_mesh" +} + entity = { name = "mtdoom_entity" pdxmesh = "mtdoom_mesh" diff --git a/gfx/entities/mapitems_custom.gfx b/gfx/entities/mapitems_custom.gfx index c417182fe..734282669 100644 --- a/gfx/entities/mapitems_custom.gfx +++ b/gfx/entities/mapitems_custom.gfx @@ -7,6 +7,13 @@ objectTypes = { cull_distance = 99999.0 } + pdxmesh = { + name = "caras_mesh" + file = "gfx/models/caras.mesh" + scale = 1.0 + cull_distance = 99999.0 + } + pdxmesh = { name = "baradur_mesh" file = "gfx/models/baradur.mesh" diff --git a/gfx/entities/rivendell_soldier_unitmodel.gfx b/gfx/entities/rivendell_soldier_unitmodel.gfx new file mode 100644 index 000000000..731c8357f --- /dev/null +++ b/gfx/entities/rivendell_soldier_unitmodel.gfx @@ -0,0 +1,89 @@ +objectTypes = { + pdxmesh = { + name = "rivendell_soldier_mesh" + + file = "gfx/models/units/rivendell_soldier/rivendell_soldier_mesh.mesh" + + animation = { + id = "idle1" + type = "spear_shield_idle1_animation" + } + + animation = { + id = "idle2" + type = "spear_shield_idle2_animation" + } + + animation = { + id = "idle3" + type = "spear_shield_idle3_animation" + } + + animation = { + id = "idle4" + type = "spear_shield_idle4_animation" + } + + animation = { + id = "move1" + type = "spear_shield_move1_animation" + } + + animation = { + id = "dying1" + type = "spear_shield_dying1_animation" + } + + animation = { + id = "defend1" + type = "spear_shield_defense1_animation" + } + + animation = { + id = "attack1" + type = "spear_shield_attack1_animation" + } + + animation = { + id = "attack2" + type = "spear_shield_attack2_animation" + } + + animation = { + id = "attack3" + type = "spear_shield_attack3_animation" + } + + animation = { + id = "attack4" + type = "spear_shield_attack4_animation" + } + + animation = { + id = "attack5" + type = "spear_shield_attack5_animation" + } + + animation = { + id = "attack6" + type = "spear_shield_attack6_animation" + } + + animation = { + id = "attack7" + type = "spear_shield_attack7_animation" + } + + animation = { + id = "training1" + type = "sword_shield_training1_animation" + } + + animation = { + id = "retreat1" + type = "sword_shield_retreat1_animation" + } + + scale = 1.0 + } +} diff --git a/gfx/entities/units_infantry.asset b/gfx/entities/units_infantry.asset index 50f47d7e4..2be83eeec 100644 --- a/gfx/entities/units_infantry.asset +++ b/gfx/entities/units_infantry.asset @@ -1,5 +1,3 @@ -# NOTE: For LOTR MOD stuff scroll all the way to the bottom. - ##################################################################### @@ -703,716 +701,893 @@ entity = { scale = 1.0 } +####################################################### FINLAND ########################################################### + +################################################# +### DEFAULT INFANTRY - M36 Tunic + M40 Helmet ### +################################################# entity = { clone = "infantry_rifle_entity" - name = "FRA_infantry_entity" - pdxmesh = "FRA_infantry_rifle_mesh" - - attach = { name = "rifle1" Right_Hand_node = "FRA_infantry_weapon_rifle_right_entity" } - attach = { name = "rifle4" Root_node_2 = "FRA_infantry_weapon_rifle_right_entity" } - attach = { name = "rifle2" Left_Hand_node = "FRA_infantry_weapon_rifle_left_entity" } - attach = { name = "rifle3" mid_back_node = "FRA_infantry_weapon_rifle_long_idle_entity" } + name = "FIN_infantry_entity" + pdxmesh = "FIN_infantry_rifle_mesh" - attach = { name = "lighter" Right_Hand_node_4 = "lighter_entity" } - attach = { name = "cigarette1" Right_Hand_node_2 = "cigarette_entity" } - attach = { name = "cigarette_package1" Right_Hand_node_3 = "cigarette_package_entity" } - attach = { name = "cigarette_package2" Left_Hand_node_2 = "cigarette_package_entity" } - attach = { name = "cigarette2" Root_node_1 = "cigarette_entity" } + attach = { name = "rifle1" Right_Hand_node = "SOV_infantry_weapon_rifle_right_entity" } + attach = { name = "rifle2" Left_Hand_node = "SOV_infantry_weapon_rifle_left_entity" } + attach = { name = "rifle3" mid_back_node = "SOV_infantry_weapon_rifle_long_idle_entity" } + attach = { name = "rifle4" Root_node_2 = "SOV_infantry_weapon_rifle_right_entity" } + scale = 1.9 } entity = { clone = "infantry_2_entity" - name = "FRA_infantry_2_entity" - pdxmesh = "FRA_infantry_mg_mesh" + name = "FIN_infantry_2_entity" + pdxmesh = "FIN_infantry_mg_mesh" - attach = { name = "rifle1" Right_Hand_node = "FRA_infantry_weapon_mg_right_entity" } - attach = { name = "rifle4" Root_node_2 = "FRA_infantry_weapon_rifle_right_entity" } - attach = { name = "rifle2" Left_Hand_node = "FRA_infantry_weapon_mg_left_entity" } - attach = { name = "rifle3" mid_back_node = "FRA_infantry_weapon_mg_long_idle_entity" } + attach = { name = "rifle1" Right_Hand_node = "SOV_infantry_weapon_mg_right_entity" } + attach = { name = "rifle2" Left_Hand_node = "SOV_infantry_weapon_mg_left_entity" } + attach = { name = "rifle3" mid_back_node = "SOV_infantry_weapon_mg_long_idle_entity" } + attach = { name = "rifle4" Root_node_2 = "SOV_infantry_weapon_rifle_right_entity" } - attach = { name = "lighter" Right_Hand_node_4 = "lighter_entity" } - attach = { name = "cigarette1" Right_Hand_node_2 = "cigarette_entity" } - attach = { name = "cigarette_package1" Right_Hand_node_3 = "cigarette_package_entity" } - attach = { name = "cigarette_package2" Left_Hand_node_2 = "cigarette_package_entity" } - attach = { name = "cigarette2" Root_node_1 = "cigarette_entity" } + scale = 1.9 } entity = { - name = "FRA_infantry_weapon_rifle_right_entity" - pdxmesh = "FRA_infantry_weapon_rifle_mesh" - scale = 1.0 + clone = "FIN_infantry_2_entity" + name = "FIN_infantry_3_entity" } -entity = { - name = "FRA_infantry_weapon_rifle_left_entity" - pdxmesh = "FRA_infantry_weapon_rifle_mesh" - scale = 1.0 - get_state_from_parent = yes - default_state = "idle" - state = { name = "idle" } - state = { name = "move" } +################################################# +### SNOW DEFAULT - M36 Greatcoat + M40 Helmet ### +################################################# - state = { - name = "attack" animation = "attack" - #event = { time = 1.15 node="muzzle" particle = "rifle_muzzle_particle" keep_particle = yes light = "muzzle_flash" sound = { soundeffect = infantry_rifle_attack } } - #event = { time = 2.2 node="cartridge" particle = "rifle_cartridge_particle" keep_particle = yes sound = { soundeffect = infantry_rifle_cartridge } } - } +entity = { + clone = "infantry_rifle_entity" + name = "FIN_infantry_entity_snow" + pdxmesh = "FIN_infantry_snow_rifle_mesh" - state = { - name = "defend" - #event = { time = 0 node="muzzle" particle = "rifle_muzzle_particle" keep_particle = yes light = "muzzle_flash" sound = { soundeffect = infantry_rifle_attack } } - #event = { time = 1.2 node="cartridge" particle = "rifle_cartridge_particle" keep_particle = yes sound = { soundeffect = infantry_rifle_cartridge } } - } + attach = { name = "rifle1" Right_Hand_node = "SOV_infantry_weapon_rifle_right_entity" } + attach = { name = "rifle2" Left_Hand_node = "SOV_infantry_weapon_rifle_left_entity" } + attach = { name = "rifle3" mid_back_node = "SOV_infantry_weapon_rifle_long_idle_entity" } + attach = { name = "rifle4" Root_node_2 = "SOV_infantry_weapon_rifle_right_entity" } - state = { - name = "support_attack" animation = "support_attack" - #event = { time = 0 node="muzzle" particle = "rifle_muzzle_particle" keep_particle = yes light = "muzzle_flash" sound = { soundeffect = infantry_rifle_attack } } - #event = { time = 1.2 node="cartridge" particle = "rifle_cartridge_particle" keep_particle = yes sound = { soundeffect = infantry_rifle_cartridge } } - } } entity = { - name = "FRA_infantry_weapon_rifle_long_idle_entity" - pdxmesh = "FRA_infantry_weapon_rifle_mesh" - scale = 1.0 + clone = "infantry_2_entity" + name = "FIN_infantry_2_entity_snow" + pdxmesh = "FIN_infantry_snow_mg_mesh" + + attach = { name = "rifle1" Right_Hand_node = "SOV_infantry_weapon_mg_right_entity" } + attach = { name = "rifle2" Left_Hand_node = "SOV_infantry_weapon_mg_left_entity" } + attach = { name = "rifle3" mid_back_node = "SOV_infantry_weapon_mg_long_idle_entity" } + attach = { name = "rifle4" Root_node_2 = "SOV_infantry_weapon_rifle_right_entity" } #THIS NEEDS TO BE SET TO RIFLE. IF NOT, SMOKE WILL APPEAR WHEN ATTACK ANIMATION PLAYS! + } entity = { - name = "FRA_infantry_weapon_mg_left_entity" - pdxmesh = "FRA_infantry_weapon_mg_mesh" - scale = 1.0 + clone = "FIN_infantry_2_entity_snow" + name = "FIN_infantry_3_entity_snow" } +################################################# +#### DESERT DEFAULT - M36 Tunic + M40 Helmet #### +################################################# + entity = { - name = "FRA_infantry_weapon_mg_right_entity" - pdxmesh = "FRA_infantry_weapon_mg_mesh" - scale = 1.0 + clone = "infantry_rifle_entity" + name = "FIN_infantry_entity_desert" + pdxmesh = "FIN_infantry_desert_rifle_mesh" - get_state_from_parent = yes - default_state = "idle" - state = { name = "idle" } - state = { name = "move" } + attach = { name = "rifle1" Right_Hand_node = "SOV_infantry_weapon_rifle_right_entity" } + attach = { name = "rifle2" Left_Hand_node = "SOV_infantry_weapon_rifle_left_entity" } + attach = { name = "rifle3" mid_back_node = "SOV_infantry_weapon_rifle_long_idle_entity" } + attach = { name = "rifle4" Root_node_2 = "SOV_infantry_weapon_rifle_right_entity" } - state = { name = "attack" animation = "attack" - event = { time = 0.5 node="muzzle" particle = "mg_muzzle_particle" keep_particle = yes light = "mg_muzzle_flash" sound = { soundeffect = infantry_mg_attack } } - event = { time = 0.5 node="muzzle" particle = "mg_muzzle_smoke_particle" keep_particle = yes light = "mg_muzzle_flash" sound = { soundeffect = infantry_mg_attack } } - event = { time = 0.5 node="cartridge" particle = "mg_cartridge_particle" keep_particle = yes } - } +} - state = { name = "defend" - event = { time = 0 node="muzzle" particle = "mg_muzzle_particle" keep_particle = yes light = "mg_muzzle_flash" sound = { soundeffect = infantry_mg_attack } } - event = { time = 0 node="muzzle" particle = "mg_muzzle_smoke_particle" keep_particle = yes light = "mg_muzzle_flash" sound = { soundeffect = infantry_mg_attack } } - event = { time = 0 node="cartridge" particle = "mg_cartridge_particle" keep_particle = yes } - } +entity = { + clone = "infantry_2_entity" + name = "FIN_infantry_2_entity_desert" + pdxmesh = "FIN_infantry_desert_mg_mesh" + + attach = { name = "rifle1" Right_Hand_node = "SOV_infantry_weapon_mg_right_entity" } + attach = { name = "rifle2" Left_Hand_node = "SOV_infantry_weapon_mg_left_entity" } + attach = { name = "rifle3" mid_back_node = "SOV_infantry_weapon_mg_long_idle_entity" } + attach = { name = "rifle4" Root_node_2 = "SOV_infantry_weapon_rifle_right_entity" } #THIS NEEDS TO BE SET TO RIFLE. IF NOT, SMOKE WILL APPEAR WHEN ATTACK ANIMATION PLAYS! - state = { - name = "support_attack" animation = "support_attack" - event = { time = 0 node="muzzle" particle = "mg_muzzle_particle" keep_particle = yes light = "mg_muzzle_flash" sound = { soundeffect = infantry_mg_attack } } - event = { time = 0 node="muzzle" particle = "mg_muzzle_smoke_particle" keep_particle = yes light = "mg_muzzle_flash" sound = { soundeffect = infantry_mg_attack } } - event = { time = 0 node="cartridge" particle = "mg_cartridge_particle" keep_particle = yes } - } } entity = { - name = "FRA_infantry_weapon_mg_long_idle_entity" - pdxmesh = "FRA_infantry_weapon_mg_mesh" - scale = 1.0 + clone = "FIN_infantry_2_entity_desert" + name = "FIN_infantry_3_entity_desert" } + +############################################## +############################################## +##### FINNISH ALT 0 INFANTRY (USHANKA) ####### +############################################## +############################################## + +################################################# +##### ALT 0 INFANTRY - M36 Tunic + Ushanka ###### +################################################# + +### ALT 0 INFANTRY - M36 Tunic + ushanka + entity = { clone = "infantry_rifle_entity" - name = "GER_infantry_entity" - pdxmesh = "GER_infantry_rifle_mesh" - - attach = { name = "rifle1" Right_Hand_node = "GER_infantry_weapon_rifle_right_entity" } - attach = { name = "rifle2" Left_Hand_node = "GER_infantry_weapon_rifle_left_entity" } - attach = { name = "rifle3" mid_back_node = "GER_infantry_weapon_rifle_long_idle_entity" } - attach = { name = "rifle4" Root_node_2 = "GER_infantry_weapon_rifle_right_entity" } + name = "FIN_infantry_alt_0_entity" + pdxmesh = "FIN_infantry_alt_0_rifle_mesh" - attach = { name = "lighter" Right_Hand_node_4 = "lighter_entity" } - attach = { name = "cigarette1" Right_Hand_node_2 = "cigarette_entity" } - attach = { name = "cigarette_package1" Right_Hand_node_3 = "cigarette_package_entity" } - attach = { name = "cigarette_package2" Left_Hand_node_2 = "cigarette_package_entity" } - attach = { name = "cigarette2" Root_node_1 = "cigarette_entity" } - #attach = { name = "sandbag" Root_node_1 = "sandbag_entity" } + attach = { name = "rifle1" Right_Hand_node = "SOV_infantry_weapon_rifle_right_entity" } + attach = { name = "rifle2" Left_Hand_node = "SOV_infantry_weapon_rifle_left_entity" } + attach = { name = "rifle3" mid_back_node = "SOV_infantry_weapon_rifle_long_idle_entity" } + attach = { name = "rifle4" Root_node_2 = "SOV_infantry_weapon_rifle_right_entity" } - state = { - name = "death" animation = "death" - event = { time = 0 node="head" particle = "blood_particle" keep_particle = yes } - } } entity = { clone = "infantry_2_entity" - name = "GER_infantry_2_entity" - pdxmesh = "GER_infantry_mg_mesh" + name = "FIN_infantry_2_alt_0_entity" + pdxmesh = "FIN_infantry_alt_0_mg_mesh" - attach = { name = "rifle1" Right_Hand_node = "GER_infantry_weapon_mg_right_entity" } - attach = { name = "rifle2" Left_Hand_node = "GER_infantry_weapon_mg_left_entity" } - attach = { name = "rifle4" Root_node_2 = "GER_infantry_weapon_rifle_right_entity" } - attach = { name = "rifle3" mid_back_node = "GER_infantry_weapon_mg_long_idle_entity" } + attach = { name = "rifle1" Right_Hand_node = "SOV_infantry_weapon_mg_right_entity" } + attach = { name = "rifle2" Left_Hand_node = "SOV_infantry_weapon_mg_left_entity" } + attach = { name = "rifle3" mid_back_node = "SOV_infantry_weapon_mg_long_idle_entity" } + attach = { name = "rifle4" Root_node_2 = "SOV_infantry_weapon_rifle_right_entity" } #THIS NEEDS TO BE SET TO RIFLE. IF NOT, SMOKE WILL APPEAR WHEN ATTACK ANIMATION PLAYS! - attach = { name = "lighter" Right_Hand_node_4 = "lighter_entity" } - attach = { name = "cigarette1" Right_Hand_node_2 = "cigarette_entity" } - attach = { name = "cigarette_package1" Right_Hand_node_3 = "cigarette_package_entity" } - attach = { name = "cigarette_package2" Left_Hand_node_2 = "cigarette_package_entity" } - attach = { name = "cigarette2" Root_node_1 = "cigarette_entity" } +} +entity = { + clone = "FIN_infantry_2_alt_0_entity" + name = "FIN_infantry_3_alt_0_entity" } +################################################# +#### SNOW ALT 0 - M36 Greatcoat + M40 Helmet #### +################################################# entity = { - name = "GER_infantry_weapon_rifle_left_entity" - pdxmesh = "GER_infantry_weapon_rifle_mesh" - scale = 1 - - get_state_from_parent = yes - default_state = "idle" - state = { name = "idle" } - state = { name = "move" } - - state = { - name = "attack" animation = "attack" - #event = { time = 1.15 node="muzzle" particle = "rifle_muzzle_particle" keep_particle = yes light = "muzzle_flash" sound = { soundeffect = infantry_rifle_attack } } - #event = { time = 2.2 node="cartridge" particle = "rifle_cartridge_particle" keep_particle = yes sound = { soundeffect = infantry_rifle_cartridge } } - } + clone = "infantry_rifle_entity" + name = "FIN_infantry_alt_0_entity_snow" + pdxmesh = "FIN_infantry_snow_alt_0_rifle_mesh" - state = { - name = "defend" - #event = { time = 0 node="muzzle" particle = "rifle_muzzle_particle" keep_particle = yes light = "muzzle_flash" sound = { soundeffect = infantry_rifle_attack } } - #event = { time = 1.2 node="cartridge" particle = "rifle_cartridge_particle" keep_particle = yes sound = { soundeffect = infantry_rifle_cartridge } } - } + attach = { name = "rifle1" Right_Hand_node = "SOV_infantry_weapon_rifle_right_entity" } + attach = { name = "rifle2" Left_Hand_node = "SOV_infantry_weapon_rifle_left_entity" } + attach = { name = "rifle3" mid_back_node = "SOV_infantry_weapon_rifle_long_idle_entity" } + attach = { name = "rifle4" Root_node_2 = "SOV_infantry_weapon_rifle_right_entity" } - state = { - name = "support_attack" animation = "support_attack" - #event = { time = 0 node="muzzle" particle = "rifle_muzzle_particle" keep_particle = yes light = "muzzle_flash" sound = { soundeffect = infantry_rifle_attack } } - #event = { time = 1.2 node="cartridge" particle = "rifle_cartridge_particle" keep_particle = yes sound = { soundeffect = infantry_rifle_cartridge } } - } } entity = { - name = "sandbag_entity" - pdxmesh = "sandbag_mesh" - scale = 1 -} + clone = "infantry_2_entity" + name = "FIN_infantry_2_alt_0_entity_snow" + pdxmesh = "FIN_infantry_snow_alt_0_mg_mesh" + + attach = { name = "rifle1" Right_Hand_node = "SOV_infantry_weapon_mg_right_entity" } + attach = { name = "rifle2" Left_Hand_node = "SOV_infantry_weapon_mg_left_entity" } + attach = { name = "rifle3" mid_back_node = "SOV_infantry_weapon_mg_long_idle_entity" } + attach = { name = "rifle4" Root_node_2 = "SOV_infantry_weapon_rifle_right_entity" } #THIS NEEDS TO BE SET TO RIFLE. IF NOT, SMOKE WILL APPEAR WHEN ATTACK ANIMATION PLAYS! -entity = { - name = "GER_infantry_weapon_rifle_right_entity" - pdxmesh = "GER_infantry_weapon_rifle_mesh" - scale = 1 } entity = { - name = "GER_infantry_weapon_rifle_long_idle_entity" - pdxmesh = "GER_infantry_weapon_rifle_mesh" - scale = 1 + clone = "FIN_infantry_2_alt_0_entity_snow" + name = "FIN_infantry_3_alt_0_entity_snow" } -entity = { - name = "GER_infantry_weapon_mg_right_entity" - pdxmesh = "GER_infantry_weapon_mg_mesh" - scale = 1 - get_state_from_parent = yes - default_state = "idle" - state = { name = "idle" } - state = { name = "move" } +################################################# +##### DESERT ALT 0 - M36 Tunic + M40 Helmet ##### +################################################# - state = { name = "attack" animation = "attack" - event = { time = 0.5 node="muzzle" particle = "mg_muzzle_particle" keep_particle = yes light = "mg_muzzle_flash" sound = { soundeffect = infantry_mg_attack } } - event = { time = 0.5 node="muzzle" particle = "mg_muzzle_smoke_particle" keep_particle = yes light = "mg_muzzle_flash" sound = { soundeffect = infantry_mg_attack } } - event = { time = 0.5 node="cartridge" particle = "mg_cartridge_particle" keep_particle = yes } - } +entity = { + clone = "infantry_rifle_entity" + name = "FIN_infantry_alt_0_entity_desert" + pdxmesh = "FIN_infantry_desert_alt_0_rifle_mesh" - state = { name = "defend" - event = { time = 0 node="muzzle" particle = "mg_muzzle_particle" keep_particle = yes light = "mg_muzzle_flash" sound = { soundeffect = infantry_mg_attack } } - event = { time = 0 node="muzzle" particle = "mg_muzzle_smoke_particle" keep_particle = yes light = "mg_muzzle_flash" sound = { soundeffect = infantry_mg_attack } } - event = { time = 0 node="cartridge" particle = "mg_cartridge_particle" keep_particle = yes } - } + attach = { name = "rifle1" Right_Hand_node = "SOV_infantry_weapon_rifle_right_entity" } + attach = { name = "rifle2" Left_Hand_node = "SOV_infantry_weapon_rifle_left_entity" } + attach = { name = "rifle3" mid_back_node = "SOV_infantry_weapon_rifle_long_idle_entity" } + attach = { name = "rifle4" Root_node_2 = "SOV_infantry_weapon_rifle_right_entity" } - state = { name = "support_attack" animation = "support_attack" - event = { time = 0 node="muzzle" particle = "mg_muzzle_particle" keep_particle = yes light = "mg_muzzle_flash" sound = { soundeffect = infantry_mg_attack } } - event = { time = 0 node="muzzle" particle = "mg_muzzle_smoke_particle" keep_particle = yes light = "mg_muzzle_flash" sound = { soundeffect = infantry_mg_attack } } - event = { time = 0 node="cartridge" particle = "mg_cartridge_particle" keep_particle = yes } - } } entity = { - name = "GER_infantry_weapon_mg_long_idle_entity" - pdxmesh = "GER_infantry_weapon_mg_mesh" - scale = 1 + clone = "infantry_2_entity" + name = "FIN_infantry_2_alt_0_entity_desert" + pdxmesh = "FIN_infantry_desert_alt_0_mg_mesh" + + attach = { name = "rifle1" Right_Hand_node = "SOV_infantry_weapon_mg_right_entity" } + attach = { name = "rifle2" Left_Hand_node = "SOV_infantry_weapon_mg_left_entity" } + attach = { name = "rifle3" mid_back_node = "SOV_infantry_weapon_mg_long_idle_entity" } + attach = { name = "rifle4" Root_node_2 = "SOV_infantry_weapon_rifle_right_entity" } #THIS NEEDS TO BE SET TO RIFLE. IF NOT, SMOKE WILL APPEAR WHEN ATTACK ANIMATION PLAYS! + } entity = { - name = "GER_infantry_weapon_mg_left_entity" - pdxmesh = "GER_infantry_weapon_mg_mesh" - scale = 1 + clone = "FIN_infantry_2_alt_0_entity_desert" + name = "FIN_infantry_3_alt_0_entity_desert" } +############################################## +############################################## +######## FINNISH ALT 1 INFANTRY (CAP) ######## +############################################## +############################################## +################################################# +##### ALT 1 INFANTRY - M36 Tunic + M36 Cap ##### +################################################# +### ALT 1 INFANTRY - M36 Tunic + M36 Field Cap entity = { clone = "infantry_rifle_entity" - name = "ITA_infantry_entity" - pdxmesh = "ITA_infantry_rifle_mesh" + name = "FIN_infantry_alt_1_entity" + pdxmesh = "FIN_infantry_alt_1_rifle_mesh" - attach = { name = "rifle1" Right_Hand_node = "ITA_infantry_weapon_rifle_right_entity" } - attach = { name = "rifle2" Left_Hand_node = "ITA_infantry_weapon_rifle_left_entity" } - attach = { name = "rifle4" Root_node_2 = "ITA_infantry_weapon_rifle_right_entity" } - attach = { name = "rifle3" mid_back_node = "ITA_infantry_weapon_rifle_long_idle_entity" } - - attach = { name = "lighter" Right_Hand_node_4 = "lighter_entity" } - attach = { name = "cigarette1" Right_Hand_node_2 = "cigarette_entity" } - attach = { name = "cigarette_package1" Right_Hand_node_3 = "cigarette_package_entity" } - attach = { name = "cigarette_package2" Left_Hand_node_2 = "cigarette_package_entity" } - attach = { name = "cigarette2" Root_node_1 = "cigarette_entity" } + attach = { name = "rifle1" Right_Hand_node = "SOV_infantry_weapon_rifle_right_entity" } + attach = { name = "rifle2" Left_Hand_node = "SOV_infantry_weapon_rifle_left_entity" } + attach = { name = "rifle3" mid_back_node = "SOV_infantry_weapon_rifle_long_idle_entity" } + attach = { name = "rifle4" Root_node_2 = "SOV_infantry_weapon_rifle_right_entity" } } entity = { clone = "infantry_2_entity" - name = "ITA_infantry_2_entity" - pdxmesh = "ITA_infantry_mg_mesh" + name = "FIN_infantry_2_alt_1_entity" + pdxmesh = "FIN_infantry_alt_1_mg_mesh" - attach = { name = "rifle1" Right_Hand_node = "ITA_infantry_weapon_mg_right_entity" } - attach = { name = "rifle2" Left_Hand_node = "ITA_infantry_weapon_mg_left_entity" } - attach = { name = "rifle3" mid_back_node = "ITA_infantry_weapon_mg_long_idle_entity" } - attach = { name = "rifle4" Root_node_2 = "ITA_infantry_weapon_rifle_right_entity" } + attach = { name = "rifle1" Right_Hand_node = "SOV_infantry_weapon_mg_right_entity" } + attach = { name = "rifle2" Left_Hand_node = "SOV_infantry_weapon_mg_left_entity" } + attach = { name = "rifle3" mid_back_node = "SOV_infantry_weapon_mg_long_idle_entity" } + attach = { name = "rifle4" Root_node_2 = "SOV_infantry_weapon_rifle_right_entity" } #THIS NEEDS TO BE SET TO RIFLE. IF NOT, SMOKE WILL APPEAR WHEN ATTACK ANIMATION PLAYS! - attach = { name = "lighter" Right_Hand_node_4 = "lighter_entity" } - attach = { name = "cigarette1" Right_Hand_node_2 = "cigarette_entity" } - attach = { name = "cigarette_package1" Right_Hand_node_3 = "cigarette_package_entity" } - attach = { name = "cigarette_package2" Left_Hand_node_2 = "cigarette_package_entity" } - attach = { name = "cigarette2" Root_node_1 = "cigarette_entity" } +} + +entity = { + clone = "FIN_infantry_2_alt_1_entity" + name = "FIN_infantry_3_alt_1_entity" } +################################################# +#### SNOW ALT 1 - M36 Greatcoat + M40 Helmet #### +################################################# entity = { - name = "ITA_infantry_weapon_rifle_right_entity" - pdxmesh = "ITA_infantry_weapon_rifle_mesh" - scale = 1.0 + clone = "infantry_rifle_entity" + name = "FIN_infantry_alt_1_entity_snow" + pdxmesh = "FIN_infantry_snow_alt_1_rifle_mesh" + + attach = { name = "rifle1" Right_Hand_node = "SOV_infantry_weapon_rifle_right_entity" } + attach = { name = "rifle2" Left_Hand_node = "SOV_infantry_weapon_rifle_left_entity" } + attach = { name = "rifle3" mid_back_node = "SOV_infantry_weapon_rifle_long_idle_entity" } + attach = { name = "rifle4" Root_node_2 = "SOV_infantry_weapon_rifle_right_entity" } + } entity = { - name = "ITA_infantry_weapon_rifle_left_entity" - pdxmesh = "ITA_infantry_weapon_rifle_mesh" - scale = 1.0 + clone = "infantry_2_entity" + name = "FIN_infantry_2_alt_1_entity_snow" + pdxmesh = "FIN_infantry_snow_alt_1_mg_mesh" - get_state_from_parent = yes - default_state = "idle" - state = { name = "idle" } - state = { name = "move" } + attach = { name = "rifle1" Right_Hand_node = "SOV_infantry_weapon_mg_right_entity" } + attach = { name = "rifle2" Left_Hand_node = "SOV_infantry_weapon_mg_left_entity" } + attach = { name = "rifle3" mid_back_node = "SOV_infantry_weapon_mg_long_idle_entity" } + attach = { name = "rifle4" Root_node_2 = "SOV_infantry_weapon_rifle_right_entity" } #THIS NEEDS TO BE SET TO RIFLE. IF NOT, SMOKE WILL APPEAR WHEN ATTACK ANIMATION PLAYS! - state = { - name = "attack" animation = "attack" - event = { time = 1.15 node="muzzle" particle = "rifle_muzzle_particle" keep_particle = yes light = "muzzle_flash" sound = { soundeffect = infantry_rifle_attack } } - event = { time = 2.2 node="cartridge" particle = "rifle_cartridge_particle" keep_particle = yes sound = { soundeffect = infantry_rifle_cartridge } } - } +} - state = { - name = "defend" - event = { time = 0 node="muzzle" particle = "rifle_muzzle_particle" keep_particle = yes light = "muzzle_flash" sound = { soundeffect = infantry_rifle_attack } } - event = { time = 1.2 node="cartridge" particle = "rifle_cartridge_particle" keep_particle = yes sound = { soundeffect = infantry_rifle_cartridge } } - } +entity = { + clone = "FIN_infantry_2_alt_1_entity_snow" + name = "FIN_infantry_3_alt_1_entity_snow" +} + + +################################################# +##### DESERT ALT 1 - M36 Tunic + M40 Helmet ##### +################################################# + +entity = { + clone = "infantry_rifle_entity" + name = "FIN_infantry_alt_1_entity_desert" + pdxmesh = "FIN_infantry_desert_alt_1_rifle_mesh" + + attach = { name = "rifle1" Right_Hand_node = "SOV_infantry_weapon_rifle_right_entity" } + attach = { name = "rifle2" Left_Hand_node = "SOV_infantry_weapon_rifle_left_entity" } + attach = { name = "rifle3" mid_back_node = "SOV_infantry_weapon_rifle_long_idle_entity" } + attach = { name = "rifle4" Root_node_2 = "SOV_infantry_weapon_rifle_right_entity" } - state = { - name = "support_attack" animation = "support_attack" - event = { time = 0 node="muzzle" particle = "rifle_muzzle_particle" keep_particle = yes light = "muzzle_flash" sound = { soundeffect = infantry_rifle_attack }} - event = { time = 1.2 node="cartridge" particle = "rifle_cartridge_particle" keep_particle = yes sound = { soundeffect = infantry_rifle_cartridge } } - } } entity = { - name = "ITA_infantry_weapon_rifle_long_idle_entity" - pdxmesh = "ITA_infantry_weapon_rifle_mesh" - scale = 1.0 + clone = "infantry_2_entity" + name = "FIN_infantry_2_alt_1_entity_desert" + pdxmesh = "FIN_infantry_desert_alt_1_mg_mesh" + + attach = { name = "rifle1" Right_Hand_node = "SOV_infantry_weapon_mg_right_entity" } + attach = { name = "rifle2" Left_Hand_node = "SOV_infantry_weapon_mg_left_entity" } + attach = { name = "rifle3" mid_back_node = "SOV_infantry_weapon_mg_long_idle_entity" } + attach = { name = "rifle4" Root_node_2 = "SOV_infantry_weapon_rifle_right_entity" } #THIS NEEDS TO BE SET TO RIFLE. IF NOT, SMOKE WILL APPEAR WHEN ATTACK ANIMATION PLAYS! + } entity = { - name = "ITA_infantry_weapon_mg_left_entity" - pdxmesh = "ITA_infantry_weapon_mg_mesh" - scale = 1.0 + clone = "FIN_infantry_2_alt_1_entity_desert" + name = "FIN_infantry_3_alt_1_entity_desert" } +################################################# +### INFANTRY ALT 2 - SKI UNIT ### +################################################# entity = { - name = "ITA_infantry_weapon_mg_right_entity" - pdxmesh = "ITA_infantry_weapon_mg_mesh" - scale = 1.0 + clone = "infantry_rifle_entity" + name = "FIN_snowman_entity" #Old name was "FIN_infantry_alt_2_entity" now used for deer companion entity. + pdxmesh = "FIN_infantry_alt_2_rifle_mesh" - get_state_from_parent = yes - default_state = "idle" - state = { name = "idle" } - state = { name = "move" } + attach = { name = "rifle1" Right_Hand_node = "SOV_infantry_weapon_rifle_right_entity" } + attach = { name = "rifle2" Left_Hand_node = "SOV_infantry_weapon_rifle_left_entity" } + attach = { name = "rifle3" mid_back_node = "SOV_infantry_weapon_rifle_long_idle_entity" } + attach = { name = "rifle4" Root_node_2 = "SOV_infantry_weapon_rifle_right_entity" } +} - state = { name = "attack" animation = "attack" - event = { time = 0.5 node="muzzle" particle = "mg_muzzle_particle" keep_particle = yes light = "mg_muzzle_flash" sound = { soundeffect = infantry_mg_attack } } - event = { time = 0.5 node="muzzle" particle = "mg_muzzle_smoke_particle" keep_particle = yes light = "mg_muzzle_flash" sound = { soundeffect = infantry_mg_attack } } - event = { time = 0.5 node="cartridge" particle = "mg_cartridge_particle" keep_particle = yes } - } +entity = { + clone = "infantry_2_entity" + name = "FIN_snowman_2_entity" #Old name was "FIN_infantry_2_alt_2_entity" now used for deer companion entity. + pdxmesh = "FIN_infantry_alt_2_mg_mesh" - state = { name = "defend" - event = { time = 0 node="muzzle" particle = "mg_muzzle_particle" keep_particle = yes light = "mg_muzzle_flash" sound = { soundeffect = infantry_mg_attack } } - event = { time = 0 node="muzzle" particle = "mg_muzzle_smoke_particle" keep_particle = yes light = "mg_muzzle_flash" sound = { soundeffect = infantry_mg_attack } } - event = { time = 0 node="cartridge" particle = "mg_cartridge_particle" keep_particle = yes } - } + attach = { name = "rifle1" Right_Hand_node = "SOV_infantry_weapon_mg_right_entity" } + attach = { name = "rifle2" Left_Hand_node = "SOV_infantry_weapon_mg_left_entity" } + attach = { name = "rifle3" mid_back_node = "SOV_infantry_weapon_mg_long_idle_entity" } + attach = { name = "rifle4" Root_node_2 = "SOV_infantry_weapon_rifle_right_entity" } #THIS NEEDS TO BE SET TO RIFLE. IF NOT, SMOKE WILL APPEAR WHEN ATTACK ANIMATION PLAYS! - state = { - name = "support_attack" animation = "support_attack" - event = { time = 0 node="muzzle" particle = "mg_muzzle_particle" keep_particle = yes light = "mg_muzzle_flash" sound = { soundeffect = infantry_mg_attack } } - event = { time = 0 node="muzzle" particle = "mg_muzzle_smoke_particle" keep_particle = yes light = "mg_muzzle_flash" sound = { soundeffect = infantry_mg_attack } } - event = { time = 0 node="cartridge" particle = "mg_cartridge_particle" keep_particle = yes } - } } entity = { - name = "ITA_infantry_weapon_mg_long_idle_entity" - pdxmesh = "ITA_infantry_weapon_mg_mesh" - scale = 1.0 + clone = "FIN_snowman_2_entity" + name = "FIN_snowman_3_entity" #Old name was "FIN_infantry_3_alt_2_entity" now used for deer companion entity. +} + +################################################# +### SNOW ALT 2 - SKI UNIT ### +################################################# + +entity = { + clone = "infantry_rifle_entity" + name = "FIN_infantry_alt_2_entity_snow" + pdxmesh = "FIN_infantry_snow_alt_2_rifle_mesh" + + attach = { name = "rifle1" Right_Hand_node = "SOV_infantry_weapon_rifle_right_entity" } + attach = { name = "rifle2" Left_Hand_node = "SOV_infantry_weapon_rifle_left_entity" } + attach = { name = "rifle3" mid_back_node = "SOV_infantry_weapon_rifle_long_idle_entity" } + attach = { name = "rifle4" Root_node_2 = "SOV_infantry_weapon_rifle_right_entity" } + } +entity = { + clone = "infantry_2_entity" + name = "FIN_infantry_2_alt_2_entity_snow" + pdxmesh = "FIN_infantry_snow_alt_2_mg_mesh" + + attach = { name = "rifle1" Right_Hand_node = "SOV_infantry_weapon_mg_right_entity" } + attach = { name = "rifle2" Left_Hand_node = "SOV_infantry_weapon_mg_left_entity" } + attach = { name = "rifle3" mid_back_node = "SOV_infantry_weapon_mg_long_idle_entity" } + attach = { name = "rifle4" Root_node_2 = "SOV_infantry_weapon_rifle_right_entity" } #THIS NEEDS TO BE SET TO RIFLE. IF NOT, SMOKE WILL APPEAR WHEN ATTACK ANIMATION PLAYS! +} +entity = { + clone = "FIN_infantry_2_alt_2_entity_snow" + name = "FIN_infantry_3_alt_2_entity_snow" +} +################################################# +### DESERT ALT 2 - SKI UNIT ### +################################################# entity = { clone = "infantry_rifle_entity" - name = "SOV_infantry_entity" - pdxmesh = "SOV_infantry_rifle_mesh" + name = "FIN_infantry_alt_2_entity_desert" + pdxmesh = "FIN_infantry_desert_alt_2_rifle_mesh" attach = { name = "rifle1" Right_Hand_node = "SOV_infantry_weapon_rifle_right_entity" } attach = { name = "rifle2" Left_Hand_node = "SOV_infantry_weapon_rifle_left_entity" } attach = { name = "rifle3" mid_back_node = "SOV_infantry_weapon_rifle_long_idle_entity" } attach = { name = "rifle4" Root_node_2 = "SOV_infantry_weapon_rifle_right_entity" } - attach = { name = "lighter" Right_Hand_node_4 = "lighter_entity" } - attach = { name = "cigarette1" Right_Hand_node_2 = "cigarette_entity" } - attach = { name = "cigarette_package1" Right_Hand_node_3 = "cigarette_package_entity" } - attach = { name = "cigarette_package2" Left_Hand_node_2 = "cigarette_package_entity" } - attach = { name = "cigarette2" Root_node_1 = "cigarette_entity" } - } entity = { clone = "infantry_2_entity" - name = "SOV_infantry_2_entity" - pdxmesh = "SOV_infantry_mg_mesh" + name = "FIN_infantry_2_alt_2_entity_desert" + pdxmesh = "FIN_infantry_desert_alt_2_mg_mesh" attach = { name = "rifle1" Right_Hand_node = "SOV_infantry_weapon_mg_right_entity" } - attach = { name = "rifle2" Left_Hand_node = "SOV_infantry_weapon_mg_left_entity" } - attach = { name = "rifle3" mid_back_node = "SOV_infantry_weapon_mg_long_idle_entity" } - attach = { name = "rifle4" Root_node_2 = "SOV_infantry_weapon_rifle_right_entity" } + attach = { name = "rifle2" Left_Hand_node = "SOV_infantry_weapon_mg_left_entity" } + attach = { name = "rifle3" mid_back_node = "SOV_infantry_weapon_mg_long_idle_entity" } + attach = { name = "rifle4" Root_node_2 = "SOV_infantry_weapon_rifle_right_entity" } #THIS NEEDS TO BE SET TO RIFLE. IF NOT, SMOKE WILL APPEAR WHEN ATTACK ANIMATION PLAYS! - attach = { name = "lighter" Right_Hand_node_4 = "lighter_entity" } - attach = { name = "cigarette1" Right_Hand_node_2 = "cigarette_entity" } - attach = { name = "cigarette_package1" Right_Hand_node_3 = "cigarette_package_entity" } - attach = { name = "cigarette_package2" Left_Hand_node_2 = "cigarette_package_entity" } - attach = { name = "cigarette2" Root_node_1 = "cigarette_entity" } } +entity = { + clone = "FIN_infantry_2_alt_2_entity_desert" + name = "FIN_infantry_3_alt_2_entity_desert" +} - +################################################# +##### Deer Companion ##### +################################################# entity = { - name = "SOV_infantry_weapon_rifle_right_entity" - pdxmesh = "SOV_infantry_weapon_rifle_mesh" - scale = 1.0 + name = "FIN_infantry_alt_2_entity" + pdxmesh = "frame_artillery_mesh" + + default_state = "idle" + state = { name = "idle" animation = "idle" animation_blend_time = 0.3 animation_speed = 1.0 } + state = { name = "retreat" animation = "idle" animation_blend_time = 0.3 animation_speed = 1.0 } + state = { name = "training" animation = "idle" animation_blend_time = 0.3 animation_speed = 1.0 } + state = { name = "death" animation = "idle" animation_blend_time = 0.3 animation_speed = 1.0 } + state = { name = "support_attack" animation = "idle" animation_blend_time = 0.0 animation_speed = 1.0 propagate_state = { infantry = "support_attack" } } + state = { name = "attack" animation = "move" animation_blend_time = 0.0 animation_speed = 1.0 propagate_state = { infantry = "attack" } } + state = { name = "defend" animation = "move" animation_blend_time = 0.0 animation_speed = 1.0 propagate_state = { infantry = "defend" } } + state = { name = "move" animation = "move" animation_blend_time = 0.3 animation_speed = 1.0 } + state = { name = "retreat" animation = "move" animation_blend_time = 0.3 animation_speed = 1.0 } + + scale = 1 + + attach = { name = artillery artillery = "FIN_deer_entity" } + attach = { name = infantry infantry = "FIN_snowman_entity" } } entity = { - name = "SOV_infantry_weapon_rifle_left_entity" - pdxmesh = "SOV_infantry_weapon_rifle_mesh" - scale = 1.0 + name = "FIN_infantry_2_alt_2_entity" + pdxmesh = "frame_artillery_mesh" + + default_state = "idle" + state = { name = "idle" animation = "idle" animation_blend_time = 0.3 animation_speed = 1.0 } + state = { name = "retreat" animation = "idle" animation_blend_time = 0.3 animation_speed = 1.0 } + state = { name = "training" animation = "idle" animation_blend_time = 0.3 animation_speed = 1.0 } + state = { name = "death" animation = "idle" animation_blend_time = 0.3 animation_speed = 1.0 } + state = { name = "support_attack" animation = "idle" animation_blend_time = 0.0 animation_speed = 1.0 propagate_state = { infantry = "support_attack" } } + state = { name = "attack" animation = "move" animation_blend_time = 0.0 animation_speed = 1.0 propagate_state = { infantry = "attack" } } + state = { name = "defend" animation = "move" animation_blend_time = 0.0 animation_speed = 1.0 propagate_state = { infantry = "defend" } } + state = { name = "move" animation = "move" animation_blend_time = 0.3 animation_speed = 1.0 } + state = { name = "retreat" animation = "move" animation_blend_time = 0.3 animation_speed = 1.0 } + + scale = 1 + + attach = { name = artillery artillery = "FIN_deer_entity" } + attach = { name = infantry infantry = "FIN_snowman_2_entity" } +} - get_state_from_parent = yes +entity = { + name = "FIN_infantry_3_alt_2_entity" + pdxmesh = "frame_artillery_mesh" + default_state = "idle" - state = { name = "idle" } - state = { name = "move" } + state = { name = "idle" animation = "idle" animation_blend_time = 0.3 animation_speed = 1.0 } + state = { name = "retreat" animation = "idle" animation_blend_time = 0.3 animation_speed = 1.0 } + state = { name = "training" animation = "idle" animation_blend_time = 0.3 animation_speed = 1.0 } + state = { name = "death" animation = "idle" animation_blend_time = 0.3 animation_speed = 1.0 } + state = { name = "support_attack" animation = "idle" animation_blend_time = 0.0 animation_speed = 1.0 propagate_state = { infantry = "support_attack" } } + state = { name = "attack" animation = "move" animation_blend_time = 0.0 animation_speed = 1.0 propagate_state = { infantry = "attack" } } + state = { name = "defend" animation = "move" animation_blend_time = 0.0 animation_speed = 1.0 propagate_state = { infantry = "defend" } } + state = { name = "move" animation = "move" animation_blend_time = 0.3 animation_speed = 1.0 } + state = { name = "retreat" animation = "move" animation_blend_time = 0.3 animation_speed = 1.0 } + + scale = 1 + + attach = { name = artillery artillery = "FIN_deer_entity" } + attach = { name = infantry infantry = "FIN_snowman_3_entity" } +} - state = { - name = "attack" animation = "attack" - event = { time = 1.15 node="muzzle" particle = "rifle_muzzle_particle" keep_particle = yes light = "muzzle_flash" sound = { soundeffect = infantry_rifle_attack } } - event = { time = 2.2 node="cartridge" particle = "rifle_cartridge_particle" keep_particle = yes sound = { soundeffect = infantry_rifle_cartridge } } - } +################################################# +##### Finnish Marine ##### +################################################# - state = { - name = "defend" - event = { time = 0 node="muzzle" particle = "rifle_muzzle_particle" keep_particle = yes light = "muzzle_flash" sound = { soundeffect = infantry_rifle_attack } } - event = { time = 1.2 node="cartridge" particle = "rifle_cartridge_particle" keep_particle = yes sound = { soundeffect = infantry_rifle_cartridge } } - } +entity = { + clone = "infantry_rifle_entity" + name = "FIN_marine_entity" + pdxmesh = "FIN_marine_rifle_mesh" + + attach = { name = "rifle1" Right_Hand_node = "SOV_infantry_weapon_rifle_right_entity" } + attach = { name = "rifle2" Left_Hand_node = "SOV_infantry_weapon_rifle_left_entity" } + attach = { name = "rifle3" mid_back_node = "SOV_infantry_weapon_rifle_long_idle_entity" } + attach = { name = "rifle4" Root_node_2 = "SOV_infantry_weapon_rifle_right_entity" } - state = { - name = "support_attack" animation = "support_attack" - event = { time = 0 node="muzzle" particle = "rifle_muzzle_particle" keep_particle = yes light = "muzzle_flash" sound = { soundeffect = infantry_rifle_attack } } - event = { time = 1.2 node="cartridge" particle = "rifle_cartridge_particle" keep_particle = yes sound = { soundeffect = infantry_rifle_cartridge } } - } } entity = { - name = "SOV_infantry_weapon_rifle_long_idle_entity" - pdxmesh = "SOV_infantry_weapon_rifle_mesh" - scale = 1.0 + clone = "infantry_2_entity" + name = "FIN_marine_2_entity" + pdxmesh = "FIN_marine_mg_mesh" + + attach = { name = "rifle1" Right_Hand_node = "SOV_infantry_weapon_mg_right_entity" } + attach = { name = "rifle2" Left_Hand_node = "SOV_infantry_weapon_mg_left_entity" } + attach = { name = "rifle3" mid_back_node = "SOV_infantry_weapon_mg_long_idle_entity" } + attach = { name = "rifle4" Root_node_2 = "SOV_infantry_weapon_rifle_right_entity" } #THIS NEEDS TO BE SET TO RIFLE. IF NOT, SMOKE WILL APPEAR WHEN ATTACK ANIMATION PLAYS! + } entity = { - name = "SOV_infantry_weapon_mg_left_entity" - pdxmesh = "SOV_infantry_weapon_mg_mesh" - scale = 1.0 + clone = "FIN_marine_2_entity" + name = "FIN_marine_3_entity" } +#################################### +#################################### +##### DEFAULT FINNISH BICYCLE ###### +#################################### +#################################### + + +######### DEFAULT BICYCLE RIFLE ######### + entity = { - name = "SOV_infantry_weapon_mg_right_entity" - pdxmesh = "SOV_infantry_weapon_mg_mesh" - scale = 1.0 + name = "FIN_bicycle_entity" + pdxmesh = "bicycle_frame_mesh" - get_state_from_parent = yes default_state = "idle" - state = { name = "idle" } - state = { name = "move" } + state = { name = "idle" animation = "idle" } + state = { name = "move" animation = "move" } + state = { name = "retreat" animation = "move" } + state = { name = "attack" animation = "attack" } + state = { name = "support_attack" animation = "attack" } + state = { name = "defend" animation = "attack" } + state = { name = "training" animation = "attack" } - state = { name = "attack" animation = "attack" - event = { time = 0.5 node="muzzle" particle = "mg_muzzle_particle" keep_particle = yes light = "mg_muzzle_flash" sound = { soundeffect = infantry_mg_attack } } - event = { time = 0.5 node="muzzle" particle = "mg_muzzle_smoke_particle" keep_particle = yes light = "mg_muzzle_flash" sound = { soundeffect = infantry_mg_attack } } - event = { time = 0.5 node="cartridge" particle = "mg_cartridge_particle" keep_particle = yes } - } + attach = { name = "infantry" infantry = "FIN_bicycle_rider_rifle_entity" } + attach = { name = "combined" combined = "FIN_bicycle_rifle_combined_entity" } + attach = { name = "bicycle" bike = "FIN_bicycle_vehicle_entity" } +} - state = { name = "defend" - event = { time = 0 node="muzzle" particle = "mg_muzzle_particle" keep_particle = yes light = "mg_muzzle_flash" sound = { soundeffect = infantry_mg_attack } } - event = { time = 0 node="muzzle" particle = "mg_muzzle_smoke_particle" keep_particle = yes light = "mg_muzzle_flash" sound = { soundeffect = infantry_mg_attack } } - event = { time = 0 node="cartridge" particle = "mg_cartridge_particle" keep_particle = yes } - } +entity = { + name = "FIN_bicycle_vehicle_entity" + pdxmesh = "bicycle_vehicle_mesh" - state = { - name = "support_attack" animation = "support_attack" - event = { time = 0 node="muzzle" particle = "mg_muzzle_particle" keep_particle = yes light = "mg_muzzle_flash" sound = { soundeffect = infantry_mg_attack } } - event = { time = 0 node="muzzle" particle = "mg_muzzle_smoke_particle" keep_particle = yes light = "mg_muzzle_flash" sound = { soundeffect = infantry_mg_attack } } - event = { time = 0 node="cartridge" particle = "mg_cartridge_particle" keep_particle = yes } - } + default_state = "idle" + state = { name = "idle" animation = "still" } + + scale = 1.9 } entity = { - name = "SOV_infantry_weapon_mg_long_idle_entity" - pdxmesh = "SOV_infantry_weapon_mg_mesh" - scale = 1.0 + name = "FIN_bicycle_rifle_combined_entity" + pdxmesh = "bicycle_vehicle_mesh" + + default_state = "idle" + state = { name = "idle" animation = "idle" chance = 5 next_state = "idle" looping = no propagate_state = { rider = "idle" } } + state = { name = "idle" animation = "idle_2" chance = 1 next_state = "idle" looping = no propagate_state = { rider = "idle_2" } } + state = { name = "move" animation = "move" chance = 5 next_state = "move" looping = no propagate_state = { rider = "move" } } + state = { name = "move" animation = "move_2" chance = 1 next_state = "move" looping = no propagate_state = { rider = "move_2" } } + state = { name = "retreat" animation = "retreat" chance = 10 next_state = "retreat" looping = no propagate_state = { rider = "retreat" } } + state = { name = "retreat" animation = "retreat_2" chance = 1 next_state = "retreat" looping = no propagate_state = { rider = "retreat_2" } } + + attach = { name = "rider" bike_center = "FIN_bicycle_rider_rifle_entity" } + + scale = 1.9 } entity = { - name = "USA_infantry_entity" - pdxmesh = "orc_soldier_mesh" + name = "FIN_bicycle_rider_rifle_entity" + pdxmesh = "FIN_infantry_rifle_mesh" - default_state = "idle" + state = { name = "attack" animation = "charge_rifle" animation_blend_time = 0.0 animation_speed = 1.0 looping = no next_state = "attack" chance = 2 propagate_state = { rifle2 = "idle" } } + state = { name = "attack" animation = "charge_rifle_shoot" animation_blend_time = 0.0 animation_speed = 1.0 looping = no next_state = "attack" chance = 1 } + state = { name = "defend" animation = "attack" animation_blend_time = 0.3 animation_speed = 1.0 } + state = { name = "support_attack" animation = "support_attack" animation_blend_time = 0.3 animation_speed = 1.0 } + state = { name = "move" animation = "bicycle_move" animation_blend_time = 0.0 animation_speed = 1.0 } + state = { name = "move_2" animation = "bicycle_move_2" animation_blend_time = 0.0 animation_speed = 1.0 } + state = { name = "retreat" animation = "bicycle_retreat" animation_blend_time = 0.0 animation_speed = 1.0 } + state = { name = "retreat_2" animation = "bicycle_retreat_2" animation_blend_time = 0.0 animation_speed = 1.0 } + state = { name = "idle" animation = "bicycle_idle" animation_blend_time = 0.0 animation_speed = 1.0 } + state = { name = "idle_2" animation = "bicycle_idle_2" animation_blend_time = 0.0 animation_speed = 1.0 } + state = { name = "training" animation = "training" animation_blend_time = 0.3 animation_speed = 1.0 chance = 2 looping = no } + state = { name = "training" animation = "jumping_jacks" animation_blend_time = 0.3 animation_speed = 1.0 chance = 1 looping = no } + state = { name = "training" animation = "pushup" animation_blend_time = 0.3 animation_speed = 1.0 chance = 1 looping = no } + state = { name = "training" animation = "guard_rifle" animation_blend_time = 0.3 animation_speed = 1.0 chance = 1 looping = no } + state = { name = "training" animation = "aim_exercise" animation_blend_time = 0.3 animation_speed = 1.0 chance = 1 looping = no } - state = { - name = "idle" - animation = "idle1" - animation_blend_time = 0.3 - chance = 1 - } - state = { - name = "idle" - animation = "idle2" - animation_blend_time = 0.3 - chance = 1 - } - state = { - name = "idle" - animation = "idle3" - animation_blend_time = 0.3 - chance = 1 - } + attach = { name = "rifle1" Right_Hand_node = "SOV_infantry_weapon_rifle_right_entity" } + attach = { name = "rifle2" Left_Hand_node = "SOV_infantry_weapon_rifle_left_entity" } + attach = { name = "rifle4" Root_node_2 = "SOV_infantry_weapon_rifle_right_entity" } - state = { - name = "move" - animation = "move1" - animation_blend_time = 0.0 - animation_speed = 1.0 - chance = 1 - event = { - trigger_once = yes - sound = { soundeffect = "infantry_move_animation" } - } - } - state = { - name = "move" - animation = "move2" - animation_blend_time = 0.0 - animation_speed = 1.0 - chance = 1 - event = { - trigger_once = yes - sound = { soundeffect = "infantry_move_animation" } - } - } + scale = 1 +} - state = { - name = "attack" - animation = "attack1" - animation_blend_time = 0.15 - animation_speed = 1.0 - looping = no - next_state = "attack" - chance = 4 - } - state = { - name = "attack" - animation = "attack2" - animation_blend_time = 0.15 - animation_speed = 1.0 - looping = no - next_state = "attack" - chance = 1 - } - state = { - name = "attack" - animation = "attack3" - animation_blend_time = 0.15 - animation_speed = 1.0 - looping = no - next_state = "attack" - chance = 1 - } - state = { - name = "attack" - animation = "attack4" - animation_blend_time = 0.15 - animation_speed = 1.0 - looping = no - next_state = "attack" - chance = 1 - } - state = { - name = "support_attack" - animation = "attack3" - animation_blend_time = 0.3 - animation_speed = 1.0 - } +######### DEFAULT BICYCLE MG ######### - state = { - name = "defend" - animation = "defend1" - animation_blend_time = 0.3 - animation_speed = 1.0 - chance = 3 - } +entity = { + name = "FIN_bicycle_2_entity" + pdxmesh = "bicycle_frame_mesh" - state = { - name = "training" - animation = "training1" - animation_blend_time = 0.5 - animation_speed = 1.0 - chance = 2 - looping = no - } + default_state = "idle" + state = { name = "idle" animation = "idle" } + state = { name = "move" animation = "move" } + state = { name = "retreat" animation = "move" } + state = { name = "attack" animation = "attack" } + state = { name = "support_attack" animation = "attack" } + state = { name = "defend" animation = "attack" } + state = { name = "training" animation = "attack" } - state = { - name = "retreat" - animation = "retreat1" - animation_blend_time = 0.3 - animation_speed = 1.0 - } + attach = { name = "infantry" infantry = "FIN_bicycle_rider_mg_entity" } + attach = { name = "combined" combined = "FIN_bicycle_mg_combined_entity" } + attach = { name = "bicycle" bike = "FIN_bicycle_vehicle_entity" } +} - state = { - name = "death" - animation = "dying1" - animation_blend_time = 0.3 - animation_speed = 1.0 - } +entity = { + name = "FIN_bicycle_mg_combined_entity" + pdxmesh = "bicycle_vehicle_mesh" - scale = 0.04 + default_state = "idle" + state = { name = "idle" animation = "idle" chance = 5 next_state = "idle" looping = no propagate_state = { rider = "idle" } } + state = { name = "idle" animation = "idle_2" chance = 1 next_state = "idle" looping = no propagate_state = { rider = "idle_2" } } + state = { name = "move" animation = "move" chance = 5 next_state = "move" looping = no propagate_state = { rider = "move" } } + state = { name = "move" animation = "move_2" chance = 1 next_state = "move" looping = no propagate_state = { rider = "move_2" } } + state = { name = "retreat" animation = "retreat" chance = 10 next_state = "retreat" looping = no propagate_state = { rider = "retreat" } } + state = { name = "retreat" animation = "retreat_2" chance = 1 next_state = "retreat" looping = no propagate_state = { rider = "retreat_2" } } + + attach = { name = "rider" bike_center = "FIN_bicycle_rider_mg_entity" } + + scale = 1.9 } entity = { - clone = "infantry_2_entity" - name = "USA_infantry_2_entity" - pdxmesh = "USA_infantry_mg_mesh" + name = "FIN_bicycle_rider_mg_entity" + pdxmesh = "FIN_infantry_mg_mesh" - attach = { name = "rifle1" Right_Hand_node = "USA_infantry_weapon_mg_right_entity" } - attach = { name = "rifle4" Root_node_2 = "USA_infantry_weapon_rifle_right_entity" } - attach = { name = "rifle2" Left_Hand_node = "USA_infantry_weapon_mg_left_entity" } - attach = { name = "rifle3" mid_back_node = "USA_infantry_weapon_mg_long_idle_entity" } + state = { name = "attack" animation = "charge_mg" animation_blend_time = 0.0 animation_speed = 1.0 looping = no next_state = "attack" chance = 2 propagate_state = { rifle1 = "idle" } } + state = { name = "attack" animation = "charge_mg_shoot" animation_blend_time = 0.0 animation_speed = 1.0 looping = no next_state = "attack" chance = 1 } + state = { name = "defend" animation = "attack" animation_blend_time = 0.3 animation_speed = 1.0 } + state = { name = "support_attack" animation = "support_attack" animation_blend_time = 0.3 animation_speed = 1.0 } + state = { name = "move" animation = "bicycle_move" animation_blend_time = 0.0 animation_speed = 1.0 } + state = { name = "move_2" animation = "bicycle_move_2" animation_blend_time = 0.0 animation_speed = 1.0 } + state = { name = "retreat" animation = "bicycle_retreat" animation_blend_time = 0.0 animation_speed = 1.0 } + state = { name = "retreat_2" animation = "bicycle_retreat_2" animation_blend_time = 0.0 animation_speed = 1.0 } + state = { name = "idle" animation = "bicycle_idle" animation_blend_time = 0.0 animation_speed = 1.0 } + state = { name = "idle_2" animation = "bicycle_idle_2" animation_blend_time = 0.0 animation_speed = 1.0 } + state = { name = "training" animation = "training" animation_blend_time = 0.3 animation_speed = 1.0 chance = 2 looping = no } + state = { name = "training" animation = "jumping_jacks" animation_blend_time = 0.3 animation_speed = 1.0 chance = 1 looping = no } + state = { name = "training" animation = "pushup" animation_blend_time = 0.3 animation_speed = 1.0 chance = 1 looping = no } + state = { name = "training" animation = "aim_exercise" animation_blend_time = 0.3 animation_speed = 1.0 chance = 1 looping = no } + + attach = { name = "rifle1" Right_Hand_node = "SOV_infantry_weapon_mg_right_entity" } + attach = { name = "rifle2" Left_Hand_node = "SOV_infantry_weapon_mg_left_entity" } + + scale = 1 +} + + +# Snow versions not working (as FIN_bicycle_entity_snow) + +######### DEFAULT SNOW BICYCLE RIFLE ######### + + +######### DEFAULT SNOW BICYCLE MG ######### + + + +#################################### +#################################### +######### ALT 0 BICYCLE ########## +#################################### +#################################### + + +######### ALT 0 BICYCLE RIFLE ######### + +entity = { + clone = "FIN_bicycle_entity" + name = "FIN_bicycle_alt_0_entity" + pdxmesh = "bicycle_frame_mesh" + + attach = { name = "infantry" infantry = "FIN_bicycle_rider_rifle_alt_0_entity" } + attach = { name = "combined" combined = "FIN_bicycle_rifle_alt_0_combined_entity" } + #attach = { name = "bicycle" bike = "FIN_bicycle_vehicle_entity" } +} + +entity = { + clone = "FIN_bicycle_rifle_combined_entity" + name = "FIN_bicycle_rifle_alt_0_combined_entity" + pdxmesh = "bicycle_vehicle_mesh" + + attach = { name = "rider" bike_center = "FIN_bicycle_rider_rifle_alt_0_entity" } +} + +entity = { + clone = "FIN_bicycle_rider_rifle_entity" + name = "FIN_bicycle_rider_rifle_alt_0_entity" + pdxmesh = "FIN_infantry_alt_0_rifle_mesh" +} + + +######### ALT 0 BICYCLE MG ######### + +entity = { + clone = "FIN_bicycle_2_entity" + name = "FIN_bicycle_2_alt_0_entity" + pdxmesh = "bicycle_frame_mesh" + + attach = { name = "infantry" infantry = "FIN_bicycle_rider_mg_alt_0_entity" } + attach = { name = "combined" combined = "FIN_bicycle_mg_alt_0_combined_entity" } + #attach = { name = "bicycle" bike = "FIN_bicycle_vehicle_entity" } +} + +entity = { + clone = "FIN_bicycle_mg_combined_entity" + name = "FIN_bicycle_mg_alt_0_combined_entity" + pdxmesh = "bicycle_vehicle_mesh" + + attach = { name = "rider" bike_center = "FIN_bicycle_rider_mg_alt_0_entity" } +} + +entity = { + clone = "FIN_bicycle_rider_mg_entity" + name = "FIN_bicycle_rider_mg_alt_0_entity" + pdxmesh = "FIN_infantry_alt_0_mg_mesh" +} + +#################################### +#################################### +######### ALT 1 BICYCLE ############ +#################################### +#################################### + + +######### ALT 1 BICYCLE RIFLE ######### + +entity = { + clone = "FIN_bicycle_entity" + name = "FIN_bicycle_alt_1_entity" + pdxmesh = "bicycle_frame_mesh" + + attach = { name = "infantry" infantry = "FIN_bicycle_rider_rifle_alt_1_entity" } + attach = { name = "combined" combined = "FIN_bicycle_rifle_alt_1_combined_entity" } + #attach = { name = "bicycle" bike = "FIN_bicycle_vehicle_entity" } +} + +entity = { + clone = "FIN_bicycle_rifle_combined_entity" + name = "FIN_bicycle_rifle_alt_1_combined_entity" + pdxmesh = "bicycle_vehicle_mesh" + + attach = { name = "rider" bike_center = "FIN_bicycle_rider_rifle_alt_1_entity" } +} + +entity = { + clone = "FIN_bicycle_rider_rifle_entity" + name = "FIN_bicycle_rider_rifle_alt_1_entity" + pdxmesh = "FIN_infantry_alt_1_rifle_mesh" +} + + +######### ALT 1 BICYCLE MG ######### + +entity = { + clone = "FIN_bicycle_2_entity" + name = "FIN_bicycle_2_alt_1_entity" + pdxmesh = "bicycle_frame_mesh" + + attach = { name = "infantry" infantry = "FIN_bicycle_rider_mg_alt_1_entity" } + attach = { name = "combined" combined = "FIN_bicycle_mg_alt_1_combined_entity" } + #attach = { name = "bicycle" bike = "FIN_bicycle_vehicle_entity" } +} + +entity = { + clone = "FIN_bicycle_mg_combined_entity" + name = "FIN_bicycle_mg_alt_1_combined_entity" + pdxmesh = "bicycle_vehicle_mesh" + + attach = { name = "rider" bike_center = "FIN_bicycle_rider_mg_alt_1_entity" } +} + +entity = { + clone = "FIN_bicycle_rider_mg_entity" + name = "FIN_bicycle_rider_mg_alt_1_entity" + pdxmesh = "FIN_infantry_alt_1_mg_mesh" +} + +####################################################### FRANCE ########################################################### + +entity = { + clone = "infantry_rifle_entity" + name = "FRA_infantry_entity" + pdxmesh = "FRA_infantry_rifle_mesh" + + attach = { name = "rifle1" Right_Hand_node = "FRA_infantry_weapon_rifle_right_entity" } + attach = { name = "rifle4" Root_node_2 = "FRA_infantry_weapon_rifle_right_entity" } + attach = { name = "rifle2" Left_Hand_node = "FRA_infantry_weapon_rifle_left_entity" } + attach = { name = "rifle3" mid_back_node = "FRA_infantry_weapon_rifle_long_idle_entity" } attach = { name = "lighter" Right_Hand_node_4 = "lighter_entity" } attach = { name = "cigarette1" Right_Hand_node_2 = "cigarette_entity" } attach = { name = "cigarette_package1" Right_Hand_node_3 = "cigarette_package_entity" } attach = { name = "cigarette_package2" Left_Hand_node_2 = "cigarette_package_entity" } attach = { name = "cigarette2" Root_node_1 = "cigarette_entity" } + } +entity = { + clone = "infantry_2_entity" + name = "FRA_infantry_2_entity" + pdxmesh = "FRA_infantry_mg_mesh" + attach = { name = "rifle1" Right_Hand_node = "FRA_infantry_weapon_mg_right_entity" } + attach = { name = "rifle4" Root_node_2 = "FRA_infantry_weapon_rifle_right_entity" } + attach = { name = "rifle2" Left_Hand_node = "FRA_infantry_weapon_mg_left_entity" } + attach = { name = "rifle3" mid_back_node = "FRA_infantry_weapon_mg_long_idle_entity" } -entity = { - name = "USA_infantry_weapon_rifle_right_entity" - pdxmesh = "USA_infantry_weapon_rifle_mesh" - scale = 1 + attach = { name = "lighter" Right_Hand_node_4 = "lighter_entity" } + attach = { name = "cigarette1" Right_Hand_node_2 = "cigarette_entity" } + attach = { name = "cigarette_package1" Right_Hand_node_3 = "cigarette_package_entity" } + attach = { name = "cigarette_package2" Left_Hand_node_2 = "cigarette_package_entity" } + attach = { name = "cigarette2" Root_node_1 = "cigarette_entity" } } entity = { - name = "USA_infantry_weapon_rifle_long_idle_entity" - pdxmesh = "USA_infantry_weapon_rifle_mesh" - scale = 1 + name = "FRA_infantry_weapon_rifle_right_entity" + pdxmesh = "FRA_infantry_weapon_rifle_mesh" + scale = 1.0 } entity = { - name = "USA_infantry_weapon_rifle_left_entity" - pdxmesh = "USA_infantry_weapon_rifle_mesh" - scale = 1 + name = "FRA_infantry_weapon_rifle_left_entity" + pdxmesh = "FRA_infantry_weapon_rifle_mesh" + scale = 1.0 get_state_from_parent = yes default_state = "idle" state = { name = "idle" } state = { name = "move" } - state = { - name = "attack" + name = "attack" animation = "attack" #event = { time = 1.15 node="muzzle" particle = "rifle_muzzle_particle" keep_particle = yes light = "muzzle_flash" sound = { soundeffect = infantry_rifle_attack } } - #event = { time = 1.15 node="cartridge" particle = "rifle_cartridge_particle" keep_particle = yes sound = { soundeffect = infantry_rifle_cartridge } } + #event = { time = 2.2 node="cartridge" particle = "rifle_cartridge_particle" keep_particle = yes sound = { soundeffect = infantry_rifle_cartridge } } } state = { name = "defend" #event = { time = 0 node="muzzle" particle = "rifle_muzzle_particle" keep_particle = yes light = "muzzle_flash" sound = { soundeffect = infantry_rifle_attack } } - #event = { time = 0 node="cartridge" particle = "rifle_cartridge_particle" keep_particle = yes sound = { soundeffect = infantry_rifle_cartridge } } - #event = { time = 1.015 node="muzzle" particle = "rifle_muzzle_particle" keep_particle = yes light = "muzzle_flash" } - #event = { time = 1.015 node="cartridge" particle = "rifle_cartridge_particle" keep_particle = yes } + #event = { time = 1.2 node="cartridge" particle = "rifle_cartridge_particle" keep_particle = yes sound = { soundeffect = infantry_rifle_cartridge } } } state = { name = "support_attack" animation = "support_attack" #event = { time = 0 node="muzzle" particle = "rifle_muzzle_particle" keep_particle = yes light = "muzzle_flash" sound = { soundeffect = infantry_rifle_attack } } - #event = { time = 0 node="cartridge" particle = "rifle_cartridge_particle" keep_particle = yes sound = { soundeffect = infantry_rifle_cartridge } } - #event = { time = 1.015 node="muzzle" particle = "rifle_muzzle_particle" keep_particle = yes light = "muzzle_flash" } - #event = { time = 1.015 node="cartridge" particle = "rifle_cartridge_particle" keep_particle = yes } + #event = { time = 1.2 node="cartridge" particle = "rifle_cartridge_particle" keep_particle = yes sound = { soundeffect = infantry_rifle_cartridge } } } } entity = { - name = "USA_infantry_weapon_mg_left_entity" - pdxmesh = "USA_infantry_weapon_mg_mesh" - scale = 0.9 + name = "FRA_infantry_weapon_rifle_long_idle_entity" + pdxmesh = "FRA_infantry_weapon_rifle_mesh" + scale = 1.0 } entity = { - name = "USA_infantry_weapon_mg_long_idle_entity" - pdxmesh = "USA_infantry_weapon_mg_mesh" - scale = 0.9 + name = "FRA_infantry_weapon_mg_left_entity" + pdxmesh = "FRA_infantry_weapon_mg_mesh" + scale = 1.0 } entity = { - name = "USA_infantry_weapon_mg_right_entity" - pdxmesh = "USA_infantry_weapon_mg_mesh" - scale = 0.8 + name = "FRA_infantry_weapon_mg_right_entity" + pdxmesh = "FRA_infantry_weapon_mg_mesh" + scale = 1.0 get_state_from_parent = yes default_state = "idle" state = { name = "idle" } - state = { name = "move" } + state = { name = "move" } state = { name = "attack" animation = "attack" event = { time = 0.5 node="muzzle" particle = "mg_muzzle_particle" keep_particle = yes light = "mg_muzzle_flash" sound = { soundeffect = infantry_mg_attack } } @@ -1434,190 +1609,44 @@ entity = { } } - - entity = { - name = "JAP_infantry_entity" - pdxmesh = "generic_soldier_mesh" - - default_state = "idle" - - state = { - name = "idle" - animation = "idle1" - animation_blend_time = 0.3 - chance = 10 - } - state = { - name = "idle" - animation = "idle2" - animation_blend_time = 0.3 - chance = 2 - } - state = { - name = "idle" - animation = "idle3" - animation_blend_time = 0.3 - chance = 2 - } - state = { - name = "idle" - animation = "idle4" - animation_blend_time = 0.3 - chance = 1 - } - - state = { - name = "move" - animation = "move1" - animation_blend_time = 0.0 - animation_speed = 1.0 - chance = 1 - event = { - trigger_once = yes - sound = { soundeffect = "infantry_move_animation" } - } - } - - state = { - name = "attack" - animation = "attack1" - animation_blend_time = 0.15 - animation_speed = 1.0 - looping = no - next_state = "attack" - chance = 1 - } - state = { - name = "attack" - animation = "attack2" - animation_blend_time = 0.15 - animation_speed = 1.0 - looping = no - next_state = "attack" - chance = 1 - } - state = { - name = "attack" - animation = "attack3" - animation_blend_time = 0.15 - animation_speed = 1.0 - looping = no - next_state = "attack" - chance = 1 - } - state = { - name = "attack" - animation = "attack4" - animation_blend_time = 0.15 - animation_speed = 1.0 - looping = no - next_state = "attack" - chance = 1 - } - state = { - name = "attack" - animation = "attack5" - animation_blend_time = 0.15 - animation_speed = 1.0 - looping = no - next_state = "attack" - chance = 1 - } - state = { - name = "attack" - animation = "attack6" - animation_blend_time = 0.15 - animation_speed = 1.0 - looping = no - next_state = "attack" - chance = 1 - } - state = { - name = "attack" - animation = "attack7" - animation_blend_time = 0.15 - animation_speed = 1.0 - looping = no - next_state = "attack" - chance = 5 - } - - state = { - name = "support_attack" - animation = "attack3" - animation_blend_time = 0.3 - animation_speed = 1.0 - } + name = "FRA_infantry_weapon_mg_long_idle_entity" + pdxmesh = "FRA_infantry_weapon_mg_mesh" + scale = 1.0 +} - state = { - name = "defend" - animation = "defend1" - animation_blend_time = 0.3 - animation_speed = 1.0 - chance = 1 - } +entity = { + clone = "infantry_rifle_entity" + name = "GER_infantry_entity" + pdxmesh = "GER_infantry_rifle_mesh" - state = { - name = "training" - animation = "training1" - animation_blend_time = 0.5 - animation_speed = 1.0 - chance = 1 - looping = no - } + attach = { name = "rifle1" Right_Hand_node = "GER_infantry_weapon_rifle_right_entity" } + attach = { name = "rifle2" Left_Hand_node = "GER_infantry_weapon_rifle_left_entity" } + attach = { name = "rifle3" mid_back_node = "GER_infantry_weapon_rifle_long_idle_entity" } + attach = { name = "rifle4" Root_node_2 = "GER_infantry_weapon_rifle_right_entity" } - state = { - name = "retreat" - animation = "retreat1" - animation_blend_time = 0.3 - animation_speed = 1.0 - } + attach = { name = "lighter" Right_Hand_node_4 = "lighter_entity" } + attach = { name = "cigarette1" Right_Hand_node_2 = "cigarette_entity" } + attach = { name = "cigarette_package1" Right_Hand_node_3 = "cigarette_package_entity" } + attach = { name = "cigarette_package2" Left_Hand_node_2 = "cigarette_package_entity" } + attach = { name = "cigarette2" Root_node_1 = "cigarette_entity" } + #attach = { name = "sandbag" Root_node_1 = "sandbag_entity" } state = { - name = "death" - animation = "dying1" - animation_blend_time = 0.3 - animation_speed = 1.0 + name = "death" animation = "death" + event = { time = 0 node="head" particle = "blood_particle" keep_particle = yes } } - - scale = 0.08 } entity = { - name = "JAP_infantry_2_entity" - pdxmesh = "JAP_infantry_mg_mesh" - - default_state = "idle" - state = { name = "attack" animation = "charge_mg" animation_blend_time = 0.0 animation_speed = 1.0 looping = no next_state = "attack" chance = 2 propagate_state = { rifle1 = "idle" } } - state = { name = "attack" animation = "charge_mg_shoot" animation_blend_time = 0.0 animation_speed = 1.0 looping = no next_state = "attack" chance = 1 } - state = { name = "defend" animation = "attack" animation_blend_time = 0.3 animation_speed = 1.0 } - state = { name = "support_attack" animation = "support_attack" animation_blend_time = 0.3 animation_speed = 1.0 } - state = { name = "move" animation = "move" animation_blend_time = 0.0 animation_speed = 1.0 chance = 1 - event = { trigger_once = yes sound = { soundeffect = "infantry_move_animation" } } - } - state = { name = "move" animation = "march_move" animation_blend_time = 0.0 animation_speed = 1.0 chance = 1 - event = { trigger_once = yes sound = { soundeffect = "infantry_move_animation" } } - } - state = { name = "retreat" animation = "retreat" animation_blend_time = 0.3 animation_speed = 1.0 } - state = { name = "death" animation = "death" animation_blend_time = 0.3 animation_speed = 1.0 } - state = { name = "idle" animation = "idle" animation_blend_time = 0.3 animation_speed = 1.0 chance = 15 looping = no } - state = { name = "idle" animation = "long_idle02" animation_blend_time = 0.3 animation_speed = 1.0 chance = 1 looping = no } - state = { name = "idle" animation = "long_idle03" animation_blend_time = 0.3 animation_speed = 1.0 chance = 1 looping = no propagate_state = { lighter = "smoke" } - event = { time = 0 node="head" particle = "cigarette_smoke_particle" keep_particle = yes } - } - state = { name = "idle" animation = "long_idle04" animation_blend_time = 0.3 animation_speed = 1.0 chance = 1 looping = no } - state = { name = "idle" animation = "long_idle05" animation_blend_time = 0.3 animation_speed = 1.0 chance = 1 looping = no } - state = { name = "training" animation = "training" animation_blend_time = 0.3 animation_speed = 1.0 chance = 2 looping = no } - state = { name = "training" animation = "jumping_jacks" animation_blend_time = 0.3 animation_speed = 1.0 chance = 1 looping = no } - state = { name = "training" animation = "pushup" animation_blend_time = 0.3 animation_speed = 1.0 chance = 1 looping = no } - #state = { name = "training" animation = "guard_rifle" animation_blend_time = 0.3 animation_speed = 1.0 chance = 1 looping = no } - state = { name = "training" animation = "aim_exercise" animation_blend_time = 0.3 animation_speed = 1.0 chance = 1 looping = no } + clone = "infantry_2_entity" + name = "GER_infantry_2_entity" + pdxmesh = "GER_infantry_mg_mesh" - attach = { name = "rifle1" Right_Hand_node = "JAP_infantry_weapon_mg_right_entity" } - attach = { name = "rifle2" Left_Hand_node = "JAP_infantry_weapon_mg_left_entity" } - attach = { name = "rifle3" mid_back_node = "JAP_infantry_weapon_mg_long_idle_entity" } - attach = { name = "rifle4" Root_node_2 = "JAP_infantry_weapon_rifle_right_entity" } + attach = { name = "rifle1" Right_Hand_node = "GER_infantry_weapon_mg_right_entity" } + attach = { name = "rifle2" Left_Hand_node = "GER_infantry_weapon_mg_left_entity" } + attach = { name = "rifle4" Root_node_2 = "GER_infantry_weapon_rifle_right_entity" } + attach = { name = "rifle3" mid_back_node = "GER_infantry_weapon_mg_long_idle_entity" } attach = { name = "lighter" Right_Hand_node_4 = "lighter_entity" } attach = { name = "cigarette1" Right_Hand_node_2 = "cigarette_entity" } @@ -1625,328 +1654,369 @@ entity = { attach = { name = "cigarette_package2" Left_Hand_node_2 = "cigarette_package_entity" } attach = { name = "cigarette2" Root_node_1 = "cigarette_entity" } - scale = 0.8 } entity = { - name = "JAP_infantry_weapon_mg_left_entity" - pdxmesh = "JAP_infantry_weapon_mg_mesh" - scale = 1.0 -} - -entity = { - name = "JAP_infantry_weapon_mg_right_entity" - pdxmesh = "JAP_infantry_weapon_mg_mesh" - scale = 1.0 + name = "GER_infantry_weapon_rifle_left_entity" + pdxmesh = "GER_infantry_weapon_rifle_mesh" + scale = 1 get_state_from_parent = yes default_state = "idle" state = { name = "idle" } state = { name = "move" } - state = { name = "attack" animation = "attack" - #event = { time = 0.5 node="muzzle" particle = "mg_muzzle_particle" keep_particle = yes light = "mg_muzzle_flash" sound = { soundeffect = infantry_mg_attack } } - #event = { time = 0.5 node="muzzle" particle = "mg_muzzle_smoke_particle" keep_particle = yes light = "mg_muzzle_flash" sound = { soundeffect = infantry_mg_attack } } - #event = { time = 0.5 node="cartridge" particle = "mg_cartridge_particle" keep_particle = yes } + state = { + name = "attack" animation = "attack" + #event = { time = 1.15 node="muzzle" particle = "rifle_muzzle_particle" keep_particle = yes light = "muzzle_flash" sound = { soundeffect = infantry_rifle_attack } } + #event = { time = 2.2 node="cartridge" particle = "rifle_cartridge_particle" keep_particle = yes sound = { soundeffect = infantry_rifle_cartridge } } } - state = { name = "defend" - #event = { time = 0 node="muzzle" particle = "mg_muzzle_particle" keep_particle = yes light = "mg_muzzle_flash" sound = { soundeffect = infantry_mg_attack } } - #event = { time = 0 node="muzzle" particle = "mg_muzzle_smoke_particle" keep_particle = yes light = "mg_muzzle_flash" sound = { soundeffect = infantry_mg_attack } } - #event = { time = 0 node="cartridge" particle = "mg_cartridge_particle" keep_particle = yes } + state = { + name = "defend" + #event = { time = 0 node="muzzle" particle = "rifle_muzzle_particle" keep_particle = yes light = "muzzle_flash" sound = { soundeffect = infantry_rifle_attack } } + #event = { time = 1.2 node="cartridge" particle = "rifle_cartridge_particle" keep_particle = yes sound = { soundeffect = infantry_rifle_cartridge } } } state = { name = "support_attack" animation = "support_attack" - #event = { time = 0 node="muzzle" particle = "mg_muzzle_particle" keep_particle = yes light = "mg_muzzle_flash" sound = { soundeffect = infantry_mg_attack } } - #event = { time = 0 node="muzzle" particle = "mg_muzzle_smoke_particle" keep_particle = yes light = "mg_muzzle_flash" sound = { soundeffect = infantry_mg_attack } } - #event = { time = 0 node="cartridge" particle = "mg_cartridge_particle" keep_particle = yes } + #event = { time = 0 node="muzzle" particle = "rifle_muzzle_particle" keep_particle = yes light = "muzzle_flash" sound = { soundeffect = infantry_rifle_attack } } + #event = { time = 1.2 node="cartridge" particle = "rifle_cartridge_particle" keep_particle = yes sound = { soundeffect = infantry_rifle_cartridge } } } } entity = { - name = "JAP_infantry_weapon_mg_long_idle_entity" - pdxmesh = "JAP_infantry_weapon_mg_mesh" - scale = 1.0 + name = "sandbag_entity" + pdxmesh = "sandbag_mesh" + scale = 1 } entity = { - name = "JAP_infantry_weapon_rifle_right_entity" - pdxmesh = "JAP_infantry_weapon_rifle_mesh" - scale = 1.0 + name = "GER_infantry_weapon_rifle_right_entity" + pdxmesh = "GER_infantry_weapon_rifle_mesh" + scale = 1 } entity = { - name = "JAP_infantry_weapon_rifle_left_entity" - pdxmesh = "JAP_infantry_weapon_rifle_mesh" - scale = 1.0 + name = "GER_infantry_weapon_rifle_long_idle_entity" + pdxmesh = "GER_infantry_weapon_rifle_mesh" + scale = 1 +} + +entity = { + name = "GER_infantry_weapon_mg_right_entity" + pdxmesh = "GER_infantry_weapon_mg_mesh" + scale = 1 get_state_from_parent = yes default_state = "idle" state = { name = "idle" } state = { name = "move" } - state = { - name = "attack" animation = "attack" - #event = { time = 1.15 node="muzzle" particle = "rifle_muzzle_particle" keep_particle = yes light = "muzzle_flash" sound = { soundeffect = infantry_rifle_attack } } - #event = { time = 2.2 node="cartridge" particle = "rifle_cartridge_particle" keep_particle = yes sound = { soundeffect = infantry_rifle_cartridge } } + state = { name = "attack" animation = "attack" + event = { time = 0.5 node="muzzle" particle = "mg_muzzle_particle" keep_particle = yes light = "mg_muzzle_flash" sound = { soundeffect = infantry_mg_attack } } + event = { time = 0.5 node="muzzle" particle = "mg_muzzle_smoke_particle" keep_particle = yes light = "mg_muzzle_flash" sound = { soundeffect = infantry_mg_attack } } + event = { time = 0.5 node="cartridge" particle = "mg_cartridge_particle" keep_particle = yes } } - state = { - name = "defend" - #event = { time = 0 node="muzzle" particle = "rifle_muzzle_particle" keep_particle = yes light = "muzzle_flash" sound = { soundeffect = infantry_rifle_attack } } - #event = { time = 1.2 node="cartridge" particle = "rifle_cartridge_particle" keep_particle = yes sound = { soundeffect = infantry_rifle_cartridge } } + state = { name = "defend" + event = { time = 0 node="muzzle" particle = "mg_muzzle_particle" keep_particle = yes light = "mg_muzzle_flash" sound = { soundeffect = infantry_mg_attack } } + event = { time = 0 node="muzzle" particle = "mg_muzzle_smoke_particle" keep_particle = yes light = "mg_muzzle_flash" sound = { soundeffect = infantry_mg_attack } } + event = { time = 0 node="cartridge" particle = "mg_cartridge_particle" keep_particle = yes } } - state = { - name = "support_attack" animation = "support_attack" - #event = { time = 0 node="muzzle" particle = "rifle_muzzle_particle" keep_particle = yes light = "muzzle_flash" sound = { soundeffect = infantry_rifle_attack } } - #event = { time = 1.2 node="cartridge" particle = "rifle_cartridge_particle" keep_particle = yes sound = { soundeffect = infantry_rifle_cartridge } } + state = { name = "support_attack" animation = "support_attack" + event = { time = 0 node="muzzle" particle = "mg_muzzle_particle" keep_particle = yes light = "mg_muzzle_flash" sound = { soundeffect = infantry_mg_attack } } + event = { time = 0 node="muzzle" particle = "mg_muzzle_smoke_particle" keep_particle = yes light = "mg_muzzle_flash" sound = { soundeffect = infantry_mg_attack } } + event = { time = 0 node="cartridge" particle = "mg_cartridge_particle" keep_particle = yes } } } -entity = { - name = "JAP_infantry_weapon_rifle_long_idle_entity" - pdxmesh = "JAP_infantry_weapon_rifle_mesh" - scale = 1.0 + entity = { + name = "GER_infantry_weapon_mg_long_idle_entity" + pdxmesh = "GER_infantry_weapon_mg_mesh" + scale = 1 } +entity = { + name = "GER_infantry_weapon_mg_left_entity" + pdxmesh = "GER_infantry_weapon_mg_mesh" + scale = 1 +} +entity = { + clone = "infantry_rifle_entity" + name = "ITA_infantry_entity" + pdxmesh = "ITA_infantry_rifle_mesh" + attach = { name = "rifle1" Right_Hand_node = "ITA_infantry_weapon_rifle_right_entity" } + attach = { name = "rifle2" Left_Hand_node = "ITA_infantry_weapon_rifle_left_entity" } + attach = { name = "rifle4" Root_node_2 = "ITA_infantry_weapon_rifle_right_entity" } + attach = { name = "rifle3" mid_back_node = "ITA_infantry_weapon_rifle_long_idle_entity" } + attach = { name = "lighter" Right_Hand_node_4 = "lighter_entity" } + attach = { name = "cigarette1" Right_Hand_node_2 = "cigarette_entity" } + attach = { name = "cigarette_package1" Right_Hand_node_3 = "cigarette_package_entity" } + attach = { name = "cigarette_package2" Left_Hand_node_2 = "cigarette_package_entity" } + attach = { name = "cigarette2" Root_node_1 = "cigarette_entity" } +} +entity = { + clone = "infantry_2_entity" + name = "ITA_infantry_2_entity" + pdxmesh = "ITA_infantry_mg_mesh" + attach = { name = "rifle1" Right_Hand_node = "ITA_infantry_weapon_mg_right_entity" } + attach = { name = "rifle2" Left_Hand_node = "ITA_infantry_weapon_mg_left_entity" } + attach = { name = "rifle3" mid_back_node = "ITA_infantry_weapon_mg_long_idle_entity" } + attach = { name = "rifle4" Root_node_2 = "ITA_infantry_weapon_rifle_right_entity" } + attach = { name = "lighter" Right_Hand_node_4 = "lighter_entity" } + attach = { name = "cigarette1" Right_Hand_node_2 = "cigarette_entity" } + attach = { name = "cigarette_package1" Right_Hand_node_3 = "cigarette_package_entity" } + attach = { name = "cigarette_package2" Left_Hand_node_2 = "cigarette_package_entity" } + attach = { name = "cigarette2" Root_node_1 = "cigarette_entity" } +} -###### LOTR stuff: -### ENTITIES: +entity = { + name = "ITA_infantry_weapon_rifle_right_entity" + pdxmesh = "ITA_infantry_weapon_rifle_mesh" + scale = 1.0 +} -# Generic infantry entity entity = { - name = "lotr_generic_infantry_entity" - pdxmesh = "generic_soldier_mesh" + name = "ITA_infantry_weapon_rifle_left_entity" + pdxmesh = "ITA_infantry_weapon_rifle_mesh" + scale = 1.0 + get_state_from_parent = yes default_state = "idle" + state = { name = "idle" } + state = { name = "move" } state = { - name = "idle" - animation = "idle1" - animation_blend_time = 0.6 - looping = no - next_state = "idle" - chance = 10 - } - state = { - name = "idle" - animation = "idle2" - animation_blend_time = 0.6 - looping = no - next_state = "idle" - chance = 2 - } - state = { - name = "idle" - animation = "idle3" - animation_blend_time = 0.6 - looping = no - next_state = "idle" - chance = 2 - } - state = { - name = "idle" - animation = "idle4" - animation_blend_time = 0.6 - looping = no - next_state = "idle" - chance = 1 - } - - state = { - name = "move" - animation = "move1" - animation_blend_time = 0.0 - animation_speed = 1.0 - chance = 1 - event = { - trigger_once = yes - sound = { soundeffect = "infantry_move_animation" } - } + name = "attack" animation = "attack" + event = { time = 1.15 node="muzzle" particle = "rifle_muzzle_particle" keep_particle = yes light = "muzzle_flash" sound = { soundeffect = infantry_rifle_attack } } + event = { time = 2.2 node="cartridge" particle = "rifle_cartridge_particle" keep_particle = yes sound = { soundeffect = infantry_rifle_cartridge } } } state = { - name = "attack" - animation = "attack1" - animation_blend_time = 0.15 - animation_speed = 1.0 - looping = no - next_state = "attack" - chance = 1 - } - state = { - name = "attack" - animation = "attack2" - animation_blend_time = 0.15 - animation_speed = 1.0 - looping = no - next_state = "attack" - chance = 1 - } - state = { - name = "attack" - animation = "attack3" - animation_blend_time = 0.15 - animation_speed = 1.0 - looping = no - next_state = "attack" - chance = 1 - } - state = { - name = "attack" - animation = "attack4" - animation_blend_time = 0.15 - animation_speed = 1.0 - looping = no - next_state = "attack" - chance = 1 - } - state = { - name = "attack" - animation = "attack5" - animation_blend_time = 0.15 - animation_speed = 1.0 - looping = no - next_state = "attack" - chance = 1 - } - state = { - name = "attack" - animation = "attack6" - animation_blend_time = 0.15 - animation_speed = 1.0 - looping = no - next_state = "attack" - chance = 1 - } - state = { - name = "attack" - animation = "attack7" - animation_blend_time = 0.15 - animation_speed = 1.0 - looping = no - next_state = "attack" - chance = 5 + name = "defend" + event = { time = 0 node="muzzle" particle = "rifle_muzzle_particle" keep_particle = yes light = "muzzle_flash" sound = { soundeffect = infantry_rifle_attack } } + event = { time = 1.2 node="cartridge" particle = "rifle_cartridge_particle" keep_particle = yes sound = { soundeffect = infantry_rifle_cartridge } } } state = { - name = "support_attack" - animation = "attack3" - animation_blend_time = 0.3 - animation_speed = 1.0 + name = "support_attack" animation = "support_attack" + event = { time = 0 node="muzzle" particle = "rifle_muzzle_particle" keep_particle = yes light = "muzzle_flash" sound = { soundeffect = infantry_rifle_attack }} + event = { time = 1.2 node="cartridge" particle = "rifle_cartridge_particle" keep_particle = yes sound = { soundeffect = infantry_rifle_cartridge } } } +} - state = { - name = "defend" - animation = "defend1" - animation_blend_time = 0.3 - animation_speed = 1.0 - chance = 1 - } +entity = { + name = "ITA_infantry_weapon_rifle_long_idle_entity" + pdxmesh = "ITA_infantry_weapon_rifle_mesh" + scale = 1.0 +} - state = { - name = "training" - animation = "training1" - animation_blend_time = 0.5 - animation_speed = 1.0 - chance = 1 - looping = no +entity = { + name = "ITA_infantry_weapon_mg_left_entity" + pdxmesh = "ITA_infantry_weapon_mg_mesh" + scale = 1.0 +} + +entity = { + name = "ITA_infantry_weapon_mg_right_entity" + pdxmesh = "ITA_infantry_weapon_mg_mesh" + scale = 1.0 + + get_state_from_parent = yes + default_state = "idle" + state = { name = "idle" } + state = { name = "move" } + + state = { name = "attack" animation = "attack" + event = { time = 0.5 node="muzzle" particle = "mg_muzzle_particle" keep_particle = yes light = "mg_muzzle_flash" sound = { soundeffect = infantry_mg_attack } } + event = { time = 0.5 node="muzzle" particle = "mg_muzzle_smoke_particle" keep_particle = yes light = "mg_muzzle_flash" sound = { soundeffect = infantry_mg_attack } } + event = { time = 0.5 node="cartridge" particle = "mg_cartridge_particle" keep_particle = yes } } - state = { - name = "retreat" - animation = "retreat1" - animation_blend_time = 0.3 - animation_speed = 1.0 + state = { name = "defend" + event = { time = 0 node="muzzle" particle = "mg_muzzle_particle" keep_particle = yes light = "mg_muzzle_flash" sound = { soundeffect = infantry_mg_attack } } + event = { time = 0 node="muzzle" particle = "mg_muzzle_smoke_particle" keep_particle = yes light = "mg_muzzle_flash" sound = { soundeffect = infantry_mg_attack } } + event = { time = 0 node="cartridge" particle = "mg_cartridge_particle" keep_particle = yes } } state = { - name = "death" - animation = "dying1" - animation_blend_time = 0.3 - animation_speed = 1.0 + name = "support_attack" animation = "support_attack" + event = { time = 0 node="muzzle" particle = "mg_muzzle_particle" keep_particle = yes light = "mg_muzzle_flash" sound = { soundeffect = infantry_mg_attack } } + event = { time = 0 node="muzzle" particle = "mg_muzzle_smoke_particle" keep_particle = yes light = "mg_muzzle_flash" sound = { soundeffect = infantry_mg_attack } } + event = { time = 0 node="cartridge" particle = "mg_cartridge_particle" keep_particle = yes } } - - scale = 0.08 } -# Rohan infantry entity entity = { - name = "lotr_rohan_infantry_entity" - pdxmesh = "rohan_soldier_mesh" - - clone = "lotr_generic_infantry_entity" - - scale = 0.08 + name = "ITA_infantry_weapon_mg_long_idle_entity" + pdxmesh = "ITA_infantry_weapon_mg_mesh" + scale = 1.0 } -# Gondor infantry entity -entity = { - name = "lotr_gondor_infantry_entity" - pdxmesh = "gondor_soldier_mesh" - - clone = "lotr_generic_infantry_entity" - scale = 0.08 -} - -# Rhun infantry entity -entity = { - name = "lotr_rhun_infantry_entity" - pdxmesh = "rhun_soldier_mesh" - clone = "lotr_generic_infantry_entity" - scale = 0.08 -} -# Orc infantry entity entity = { - name = "lotr_orc_infantry_entity" - pdxmesh = "orc_soldier_mesh" - + clone = "infantry_rifle_entity" + name = "SOV_infantry_entity" + pdxmesh = "SOV_infantry_rifle_mesh" + + attach = { name = "rifle1" Right_Hand_node = "SOV_infantry_weapon_rifle_right_entity" } + attach = { name = "rifle2" Left_Hand_node = "SOV_infantry_weapon_rifle_left_entity" } + attach = { name = "rifle3" mid_back_node = "SOV_infantry_weapon_rifle_long_idle_entity" } + attach = { name = "rifle4" Root_node_2 = "SOV_infantry_weapon_rifle_right_entity" } + + attach = { name = "lighter" Right_Hand_node_4 = "lighter_entity" } + attach = { name = "cigarette1" Right_Hand_node_2 = "cigarette_entity" } + attach = { name = "cigarette_package1" Right_Hand_node_3 = "cigarette_package_entity" } + attach = { name = "cigarette_package2" Left_Hand_node_2 = "cigarette_package_entity" } + attach = { name = "cigarette2" Root_node_1 = "cigarette_entity" } + +} + +entity = { + clone = "infantry_2_entity" + name = "SOV_infantry_2_entity" + pdxmesh = "SOV_infantry_mg_mesh" + + attach = { name = "rifle1" Right_Hand_node = "SOV_infantry_weapon_mg_right_entity" } + attach = { name = "rifle2" Left_Hand_node = "SOV_infantry_weapon_mg_left_entity" } + attach = { name = "rifle3" mid_back_node = "SOV_infantry_weapon_mg_long_idle_entity" } + attach = { name = "rifle4" Root_node_2 = "SOV_infantry_weapon_rifle_right_entity" } + + attach = { name = "lighter" Right_Hand_node_4 = "lighter_entity" } + attach = { name = "cigarette1" Right_Hand_node_2 = "cigarette_entity" } + attach = { name = "cigarette_package1" Right_Hand_node_3 = "cigarette_package_entity" } + attach = { name = "cigarette_package2" Left_Hand_node_2 = "cigarette_package_entity" } + attach = { name = "cigarette2" Root_node_1 = "cigarette_entity" } +} + + + +entity = { + name = "SOV_infantry_weapon_rifle_right_entity" + pdxmesh = "SOV_infantry_weapon_rifle_mesh" + scale = 1.0 +} + +entity = { + name = "SOV_infantry_weapon_rifle_left_entity" + pdxmesh = "SOV_infantry_weapon_rifle_mesh" + scale = 1.0 + + get_state_from_parent = yes + default_state = "idle" + state = { name = "idle" } + state = { name = "move" } + + state = { + name = "attack" animation = "attack" + event = { time = 1.15 node="muzzle" particle = "rifle_muzzle_particle" keep_particle = yes light = "muzzle_flash" sound = { soundeffect = infantry_rifle_attack } } + event = { time = 2.2 node="cartridge" particle = "rifle_cartridge_particle" keep_particle = yes sound = { soundeffect = infantry_rifle_cartridge } } + } + + state = { + name = "defend" + event = { time = 0 node="muzzle" particle = "rifle_muzzle_particle" keep_particle = yes light = "muzzle_flash" sound = { soundeffect = infantry_rifle_attack } } + event = { time = 1.2 node="cartridge" particle = "rifle_cartridge_particle" keep_particle = yes sound = { soundeffect = infantry_rifle_cartridge } } + } + + state = { + name = "support_attack" animation = "support_attack" + event = { time = 0 node="muzzle" particle = "rifle_muzzle_particle" keep_particle = yes light = "muzzle_flash" sound = { soundeffect = infantry_rifle_attack } } + event = { time = 1.2 node="cartridge" particle = "rifle_cartridge_particle" keep_particle = yes sound = { soundeffect = infantry_rifle_cartridge } } + } +} + +entity = { + name = "SOV_infantry_weapon_rifle_long_idle_entity" + pdxmesh = "SOV_infantry_weapon_rifle_mesh" + scale = 1.0 +} + +entity = { + name = "SOV_infantry_weapon_mg_left_entity" + pdxmesh = "SOV_infantry_weapon_mg_mesh" + scale = 1.0 +} + +entity = { + name = "SOV_infantry_weapon_mg_right_entity" + pdxmesh = "SOV_infantry_weapon_mg_mesh" + scale = 1.0 + + get_state_from_parent = yes + default_state = "idle" + state = { name = "idle" } + state = { name = "move" } + + state = { name = "attack" animation = "attack" + event = { time = 0.5 node="muzzle" particle = "mg_muzzle_particle" keep_particle = yes light = "mg_muzzle_flash" sound = { soundeffect = infantry_mg_attack } } + event = { time = 0.5 node="muzzle" particle = "mg_muzzle_smoke_particle" keep_particle = yes light = "mg_muzzle_flash" sound = { soundeffect = infantry_mg_attack } } + event = { time = 0.5 node="cartridge" particle = "mg_cartridge_particle" keep_particle = yes } + } + + state = { name = "defend" + event = { time = 0 node="muzzle" particle = "mg_muzzle_particle" keep_particle = yes light = "mg_muzzle_flash" sound = { soundeffect = infantry_mg_attack } } + event = { time = 0 node="muzzle" particle = "mg_muzzle_smoke_particle" keep_particle = yes light = "mg_muzzle_flash" sound = { soundeffect = infantry_mg_attack } } + event = { time = 0 node="cartridge" particle = "mg_cartridge_particle" keep_particle = yes } + } + + state = { + name = "support_attack" animation = "support_attack" + event = { time = 0 node="muzzle" particle = "mg_muzzle_particle" keep_particle = yes light = "mg_muzzle_flash" sound = { soundeffect = infantry_mg_attack } } + event = { time = 0 node="muzzle" particle = "mg_muzzle_smoke_particle" keep_particle = yes light = "mg_muzzle_flash" sound = { soundeffect = infantry_mg_attack } } + event = { time = 0 node="cartridge" particle = "mg_cartridge_particle" keep_particle = yes } + } +} + +entity = { + name = "SOV_infantry_weapon_mg_long_idle_entity" + pdxmesh = "SOV_infantry_weapon_mg_mesh" + scale = 1.0 +} + +entity = { + name = "USA_infantry_entity" + pdxmesh = "orc_soldier_mesh" + default_state = "idle" state = { name = "idle" animation = "idle1" - animation_blend_time = 0.6 - looping = no - next_state = "idle" + animation_blend_time = 0.3 chance = 1 } state = { name = "idle" animation = "idle2" - animation_blend_time = 0.6 - looping = no - next_state = "idle" - chance = 10 + animation_blend_time = 0.3 + chance = 1 } state = { name = "idle" animation = "idle3" - animation_blend_time = 0.6 - looping = no - next_state = "idle" - chance = 3 + animation_blend_time = 0.3 + chance = 1 } state = { @@ -2047,367 +2117,393 @@ entity = { animation_speed = 1.0 } - scale = 0.08 -} - - -### COUNTRIES: - -# GONDOR - -entity = { - clone = "lotr_gondor_infantry_entity" - name = "GON_infantry_entity" + scale = 0.04 } entity = { - clone = "lotr_gondor_infantry_entity" - name = "GON_infantry_2_entity" -} - - -# ROHAN + clone = "infantry_2_entity" + name = "USA_infantry_2_entity" + pdxmesh = "USA_infantry_mg_mesh" -entity = { - clone = "lotr_rohan_infantry_entity" - name = "ROH_infantry_entity" -} + attach = { name = "rifle1" Right_Hand_node = "USA_infantry_weapon_mg_right_entity" } + attach = { name = "rifle4" Root_node_2 = "USA_infantry_weapon_rifle_right_entity" } + attach = { name = "rifle2" Left_Hand_node = "USA_infantry_weapon_mg_left_entity" } + attach = { name = "rifle3" mid_back_node = "USA_infantry_weapon_mg_long_idle_entity" } -entity = { - clone = "lotr_rohan_infantry_entity" - name = "ROH_infantry_2_entity" + attach = { name = "lighter" Right_Hand_node_4 = "lighter_entity" } + attach = { name = "cigarette1" Right_Hand_node_2 = "cigarette_entity" } + attach = { name = "cigarette_package1" Right_Hand_node_3 = "cigarette_package_entity" } + attach = { name = "cigarette_package2" Left_Hand_node_2 = "cigarette_package_entity" } + attach = { name = "cigarette2" Root_node_1 = "cigarette_entity" } } -# RHUN - -entity = { - clone = "lotr_rhun_infantry_entity" - name = "RHU_infantry_entity" -} - -entity = { - clone = "lotr_rhun_infantry_entity" - name = "RHU_infantry_2_entity" -} entity = { - clone = "lotr_rhun_infantry_entity" - name = "HAR_infantry_entity" + name = "USA_infantry_weapon_rifle_right_entity" + pdxmesh = "USA_infantry_weapon_rifle_mesh" + scale = 1 } entity = { - clone = "lotr_rhun_infantry_entity" - name = "HAR_infantry_2_entity" + name = "USA_infantry_weapon_rifle_long_idle_entity" + pdxmesh = "USA_infantry_weapon_rifle_mesh" + scale = 1 } - -# GENERIC - entity = { - clone = "lotr_generic_infantry_entity" - name = "CAR_infantry_entity" -} + name = "USA_infantry_weapon_rifle_left_entity" + pdxmesh = "USA_infantry_weapon_rifle_mesh" + scale = 1 -entity = { - clone = "lotr_generic_infantry_entity" - name = "CAR_infantry_2_entity" -} + get_state_from_parent = yes + default_state = "idle" + state = { name = "idle" } + state = { name = "move" } -entity = { - clone = "lotr_generic_infantry_entity" - name = "ART_infantry_entity" -} -entity = { - clone = "lotr_generic_infantry_entity" - name = "ART_infantry_2_entity" -} + state = { + name = "attack" + #event = { time = 1.15 node="muzzle" particle = "rifle_muzzle_particle" keep_particle = yes light = "muzzle_flash" sound = { soundeffect = infantry_rifle_attack } } + #event = { time = 1.15 node="cartridge" particle = "rifle_cartridge_particle" keep_particle = yes sound = { soundeffect = infantry_rifle_cartridge } } + } -entity = { - clone = "lotr_generic_infantry_entity" - name = "RHD_infantry_entity" -} + state = { + name = "defend" + #event = { time = 0 node="muzzle" particle = "rifle_muzzle_particle" keep_particle = yes light = "muzzle_flash" sound = { soundeffect = infantry_rifle_attack } } + #event = { time = 0 node="cartridge" particle = "rifle_cartridge_particle" keep_particle = yes sound = { soundeffect = infantry_rifle_cartridge } } + #event = { time = 1.015 node="muzzle" particle = "rifle_muzzle_particle" keep_particle = yes light = "muzzle_flash" } + #event = { time = 1.015 node="cartridge" particle = "rifle_cartridge_particle" keep_particle = yes } + } -entity = { - clone = "lotr_generic_infantry_entity" - name = "RHD_infantry_2_entity" + state = { + name = "support_attack" animation = "support_attack" + #event = { time = 0 node="muzzle" particle = "rifle_muzzle_particle" keep_particle = yes light = "muzzle_flash" sound = { soundeffect = infantry_rifle_attack } } + #event = { time = 0 node="cartridge" particle = "rifle_cartridge_particle" keep_particle = yes sound = { soundeffect = infantry_rifle_cartridge } } + #event = { time = 1.015 node="muzzle" particle = "rifle_muzzle_particle" keep_particle = yes light = "muzzle_flash" } + #event = { time = 1.015 node="cartridge" particle = "rifle_cartridge_particle" keep_particle = yes } + } } entity = { - clone = "lotr_generic_infantry_entity" - name = "DAG_infantry_entity" + name = "USA_infantry_weapon_mg_left_entity" + pdxmesh = "USA_infantry_weapon_mg_mesh" + scale = 0.9 } entity = { - clone = "lotr_generic_infantry_entity" - name = "DAG_infantry_2_entity" + name = "USA_infantry_weapon_mg_long_idle_entity" + pdxmesh = "USA_infantry_weapon_mg_mesh" + scale = 0.9 } entity = { - clone = "lotr_generic_infantry_entity" - name = "LTH_infantry_entity" -} + name = "USA_infantry_weapon_mg_right_entity" + pdxmesh = "USA_infantry_weapon_mg_mesh" + scale = 0.8 -entity = { - clone = "lotr_generic_infantry_entity" - name = "LTH_infantry_2_entity" -} + get_state_from_parent = yes + default_state = "idle" + state = { name = "idle" } + state = { name = "move" } -entity = { - clone = "lotr_generic_infantry_entity" - name = "ENT_infantry_entity" -} + state = { name = "attack" animation = "attack" + event = { time = 0.5 node="muzzle" particle = "mg_muzzle_particle" keep_particle = yes light = "mg_muzzle_flash" sound = { soundeffect = infantry_mg_attack } } + event = { time = 0.5 node="muzzle" particle = "mg_muzzle_smoke_particle" keep_particle = yes light = "mg_muzzle_flash" sound = { soundeffect = infantry_mg_attack } } + event = { time = 0.5 node="cartridge" particle = "mg_cartridge_particle" keep_particle = yes } + } -entity = { - clone = "lotr_generic_infantry_entity" - name = "ENT_infantry_2_entity" -} + state = { name = "defend" + event = { time = 0 node="muzzle" particle = "mg_muzzle_particle" keep_particle = yes light = "mg_muzzle_flash" sound = { soundeffect = infantry_mg_attack } } + event = { time = 0 node="muzzle" particle = "mg_muzzle_smoke_particle" keep_particle = yes light = "mg_muzzle_flash" sound = { soundeffect = infantry_mg_attack } } + event = { time = 0 node="cartridge" particle = "mg_cartridge_particle" keep_particle = yes } + } -entity = { - clone = "lotr_generic_infantry_entity" - name = "PEL_infantry_entity" + state = { + name = "support_attack" animation = "support_attack" + event = { time = 0 node="muzzle" particle = "mg_muzzle_particle" keep_particle = yes light = "mg_muzzle_flash" sound = { soundeffect = infantry_mg_attack } } + event = { time = 0 node="muzzle" particle = "mg_muzzle_smoke_particle" keep_particle = yes light = "mg_muzzle_flash" sound = { soundeffect = infantry_mg_attack } } + event = { time = 0 node="cartridge" particle = "mg_cartridge_particle" keep_particle = yes } + } } -entity = { - clone = "lotr_generic_infantry_entity" - name = "PEL_infantry_2_entity" -} -entity = { - clone = "lotr_generic_infantry_entity" - name = "VAL_infantry_entity" -} entity = { - clone = "lotr_generic_infantry_entity" - name = "VAL_infantry_2_entity" -} + name = "JAP_infantry_entity" + pdxmesh = "generic_soldier_mesh" -entity = { - clone = "lotr_generic_infantry_entity" - name = "MOA_infantry_entity" -} + default_state = "idle" -entity = { - clone = "lotr_generic_infantry_entity" - name = "MOA_infantry_2_entity" -} - -entity = { - clone = "lotr_generic_infantry_entity" - name = "ITH_infantry_entity" -} - -entity = { - clone = "lotr_generic_infantry_entity" - name = "ITH_infantry_2_entity" -} - -entity = { - clone = "lotr_generic_infantry_entity" - name = "ERE_infantry_entity" -} - -entity = { - clone = "lotr_generic_infantry_entity" - name = "ERE_infantry_2_entity" -} - -entity = { - clone = "lotr_generic_infantry_entity" - name = "HLI_infantry_entity" -} - -entity = { - clone = "lotr_generic_infantry_entity" - name = "HLI_infantry_2_entity" -} - -entity = { - clone = "lotr_generic_infantry_entity" - name = "MIR_infantry_entity" -} - -entity = { - clone = "lotr_generic_infantry_entity" - name = "MIR_infantry_2_entity" -} - -entity = { - clone = "lotr_generic_infantry_entity" - name = "NEP_infantry_entity" -} - -entity = { - clone = "lotr_generic_infantry_entity" - name = "NEP_infantry_2_entity" -} - -entity = { - clone = "lotr_generic_infantry_entity" - name = "DAL_infantry_entity" -} - -entity = { - clone = "lotr_generic_infantry_entity" - name = "DAL_infantry_2_entity" -} - -entity = { - clone = "lotr_generic_infantry_entity" - name = "SHI_infantry_entity" - - scale = 0.04 # hobbits small lmao -} - -entity = { - clone = "lotr_generic_infantry_entity" - name = "SHI_infantry_2_entity" - - scale = 0.04 # hobbits small lmao -} + state = { + name = "idle" + animation = "idle1" + animation_blend_time = 0.3 + chance = 10 + } + state = { + name = "idle" + animation = "idle2" + animation_blend_time = 0.3 + chance = 2 + } + state = { + name = "idle" + animation = "idle3" + animation_blend_time = 0.3 + chance = 2 + } + state = { + name = "idle" + animation = "idle4" + animation_blend_time = 0.3 + chance = 1 + } -entity = { - clone = "lotr_generic_infantry_entity" - name = "LIN_infantry_entity" -} + state = { + name = "move" + animation = "move1" + animation_blend_time = 0.0 + animation_speed = 1.0 + chance = 1 + event = { + trigger_once = yes + sound = { soundeffect = "infantry_move_animation" } + } + } -entity = { - clone = "lotr_generic_infantry_entity" - name = "LIN_infantry_2_entity" -} + state = { + name = "attack" + animation = "attack1" + animation_blend_time = 0.15 + animation_speed = 1.0 + looping = no + next_state = "attack" + chance = 1 + } + state = { + name = "attack" + animation = "attack2" + animation_blend_time = 0.15 + animation_speed = 1.0 + looping = no + next_state = "attack" + chance = 1 + } + state = { + name = "attack" + animation = "attack3" + animation_blend_time = 0.15 + animation_speed = 1.0 + looping = no + next_state = "attack" + chance = 1 + } + state = { + name = "attack" + animation = "attack4" + animation_blend_time = 0.15 + animation_speed = 1.0 + looping = no + next_state = "attack" + chance = 1 + } + state = { + name = "attack" + animation = "attack5" + animation_blend_time = 0.15 + animation_speed = 1.0 + looping = no + next_state = "attack" + chance = 1 + } + state = { + name = "attack" + animation = "attack6" + animation_blend_time = 0.15 + animation_speed = 1.0 + looping = no + next_state = "attack" + chance = 1 + } + state = { + name = "attack" + animation = "attack7" + animation_blend_time = 0.15 + animation_speed = 1.0 + looping = no + next_state = "attack" + chance = 5 + } -entity = { - clone = "lotr_generic_infantry_entity" - name = "RIV_infantry_entity" -} + state = { + name = "support_attack" + animation = "attack3" + animation_blend_time = 0.3 + animation_speed = 1.0 + } -entity = { - clone = "lotr_generic_infantry_entity" - name = "RIV_infantry_2_entity" -} + state = { + name = "defend" + animation = "defend1" + animation_blend_time = 0.3 + animation_speed = 1.0 + chance = 1 + } -entity = { - clone = "lotr_generic_infantry_entity" - name = "ENE_infantry_entity" -} + state = { + name = "training" + animation = "training1" + animation_blend_time = 0.5 + animation_speed = 1.0 + chance = 1 + looping = no + } -entity = { - clone = "lotr_generic_infantry_entity" - name = "ENE_infantry_2_entity" -} + state = { + name = "retreat" + animation = "retreat1" + animation_blend_time = 0.3 + animation_speed = 1.0 + } -entity = { - clone = "lotr_generic_infantry_entity" - name = "UMB_infantry_entity" -} + state = { + name = "death" + animation = "dying1" + animation_blend_time = 0.3 + animation_speed = 1.0 + } -entity = { - clone = "lotr_generic_infantry_entity" - name = "UMB_infantry_2_entity" + scale = 0.08 } entity = { - clone = "lotr_generic_infantry_entity" - name = "KND_infantry_entity" -} + name = "JAP_infantry_2_entity" + pdxmesh = "JAP_infantry_mg_mesh" -entity = { - clone = "lotr_generic_infantry_entity" - name = "KND_infantry_2_entity" -} + default_state = "idle" + state = { name = "attack" animation = "charge_mg" animation_blend_time = 0.0 animation_speed = 1.0 looping = no next_state = "attack" chance = 2 propagate_state = { rifle1 = "idle" } } + state = { name = "attack" animation = "charge_mg_shoot" animation_blend_time = 0.0 animation_speed = 1.0 looping = no next_state = "attack" chance = 1 } + state = { name = "defend" animation = "attack" animation_blend_time = 0.3 animation_speed = 1.0 } + state = { name = "support_attack" animation = "support_attack" animation_blend_time = 0.3 animation_speed = 1.0 } + state = { name = "move" animation = "move" animation_blend_time = 0.0 animation_speed = 1.0 chance = 1 + event = { trigger_once = yes sound = { soundeffect = "infantry_move_animation" } } + } + state = { name = "move" animation = "march_move" animation_blend_time = 0.0 animation_speed = 1.0 chance = 1 + event = { trigger_once = yes sound = { soundeffect = "infantry_move_animation" } } + } + state = { name = "retreat" animation = "retreat" animation_blend_time = 0.3 animation_speed = 1.0 } + state = { name = "death" animation = "death" animation_blend_time = 0.3 animation_speed = 1.0 } + state = { name = "idle" animation = "idle" animation_blend_time = 0.3 animation_speed = 1.0 chance = 15 looping = no } + state = { name = "idle" animation = "long_idle02" animation_blend_time = 0.3 animation_speed = 1.0 chance = 1 looping = no } + state = { name = "idle" animation = "long_idle03" animation_blend_time = 0.3 animation_speed = 1.0 chance = 1 looping = no propagate_state = { lighter = "smoke" } + event = { time = 0 node="head" particle = "cigarette_smoke_particle" keep_particle = yes } + } + state = { name = "idle" animation = "long_idle04" animation_blend_time = 0.3 animation_speed = 1.0 chance = 1 looping = no } + state = { name = "idle" animation = "long_idle05" animation_blend_time = 0.3 animation_speed = 1.0 chance = 1 looping = no } + state = { name = "training" animation = "training" animation_blend_time = 0.3 animation_speed = 1.0 chance = 2 looping = no } + state = { name = "training" animation = "jumping_jacks" animation_blend_time = 0.3 animation_speed = 1.0 chance = 1 looping = no } + state = { name = "training" animation = "pushup" animation_blend_time = 0.3 animation_speed = 1.0 chance = 1 looping = no } + #state = { name = "training" animation = "guard_rifle" animation_blend_time = 0.3 animation_speed = 1.0 chance = 1 looping = no } + state = { name = "training" animation = "aim_exercise" animation_blend_time = 0.3 animation_speed = 1.0 chance = 1 looping = no } -entity = { - clone = "lotr_generic_infantry_entity" - name = "ANG_infantry_entity" -} + attach = { name = "rifle1" Right_Hand_node = "JAP_infantry_weapon_mg_right_entity" } + attach = { name = "rifle2" Left_Hand_node = "JAP_infantry_weapon_mg_left_entity" } + attach = { name = "rifle3" mid_back_node = "JAP_infantry_weapon_mg_long_idle_entity" } + attach = { name = "rifle4" Root_node_2 = "JAP_infantry_weapon_rifle_right_entity" } -entity = { - clone = "lotr_generic_infantry_entity" - name = "ANG_infantry_2_entity" -} + attach = { name = "lighter" Right_Hand_node_4 = "lighter_entity" } + attach = { name = "cigarette1" Right_Hand_node_2 = "cigarette_entity" } + attach = { name = "cigarette_package1" Right_Hand_node_3 = "cigarette_package_entity" } + attach = { name = "cigarette_package2" Left_Hand_node_2 = "cigarette_package_entity" } + attach = { name = "cigarette2" Root_node_1 = "cigarette_entity" } -entity = { - clone = "lotr_generic_infantry_entity" - name = "ISE_infantry_entity" + scale = 0.8 } -entity = { - clone = "lotr_generic_infantry_entity" - name = "ISE_infantry_2_entity" -} -entity = { - clone = "lotr_generic_infantry_entity" - name = "SPI_infantry_entity" -} entity = { - clone = "lotr_generic_infantry_entity" - name = "SPI_infantry_2_entity" + name = "JAP_infantry_weapon_mg_left_entity" + pdxmesh = "JAP_infantry_weapon_mg_mesh" + scale = 1.0 } entity = { - clone = "lotr_generic_infantry_entity" - name = "DOR_infantry_entity" -} + name = "JAP_infantry_weapon_mg_right_entity" + pdxmesh = "JAP_infantry_weapon_mg_mesh" + scale = 1.0 -entity = { - clone = "lotr_generic_infantry_entity" - name = "DOR_infantry_2_entity" -} + get_state_from_parent = yes + default_state = "idle" + state = { name = "idle" } + state = { name = "move" } + state = { name = "attack" animation = "attack" + #event = { time = 0.5 node="muzzle" particle = "mg_muzzle_particle" keep_particle = yes light = "mg_muzzle_flash" sound = { soundeffect = infantry_mg_attack } } + #event = { time = 0.5 node="muzzle" particle = "mg_muzzle_smoke_particle" keep_particle = yes light = "mg_muzzle_flash" sound = { soundeffect = infantry_mg_attack } } + #event = { time = 0.5 node="cartridge" particle = "mg_cartridge_particle" keep_particle = yes } + } -# ORCS + state = { name = "defend" + #event = { time = 0 node="muzzle" particle = "mg_muzzle_particle" keep_particle = yes light = "mg_muzzle_flash" sound = { soundeffect = infantry_mg_attack } } + #event = { time = 0 node="muzzle" particle = "mg_muzzle_smoke_particle" keep_particle = yes light = "mg_muzzle_flash" sound = { soundeffect = infantry_mg_attack } } + #event = { time = 0 node="cartridge" particle = "mg_cartridge_particle" keep_particle = yes } + } -entity = { - clone = "lotr_orc_infantry_entity" - name = "MOR_infantry_entity" + state = { + name = "support_attack" animation = "support_attack" + #event = { time = 0 node="muzzle" particle = "mg_muzzle_particle" keep_particle = yes light = "mg_muzzle_flash" sound = { soundeffect = infantry_mg_attack } } + #event = { time = 0 node="muzzle" particle = "mg_muzzle_smoke_particle" keep_particle = yes light = "mg_muzzle_flash" sound = { soundeffect = infantry_mg_attack } } + #event = { time = 0 node="cartridge" particle = "mg_cartridge_particle" keep_particle = yes } + } } entity = { - clone = "lotr_orc_infantry_entity" - name = "MOR_infantry_2_entity" + name = "JAP_infantry_weapon_mg_long_idle_entity" + pdxmesh = "JAP_infantry_weapon_mg_mesh" + scale = 1.0 } entity = { - clone = "lotr_orc_infantry_entity" - name = "DGU_infantry_entity" + name = "JAP_infantry_weapon_rifle_right_entity" + pdxmesh = "JAP_infantry_weapon_rifle_mesh" + scale = 1.0 } entity = { - clone = "lotr_orc_infantry_entity" - name = "DGU_infantry_2_entity" -} + name = "JAP_infantry_weapon_rifle_left_entity" + pdxmesh = "JAP_infantry_weapon_rifle_mesh" + scale = 1.0 -entity = { - clone = "lotr_orc_infantry_entity" - name = "MMO_infantry_entity" -} + get_state_from_parent = yes + default_state = "idle" + state = { name = "idle" } + state = { name = "move" } -entity = { - clone = "lotr_orc_infantry_entity" - name = "MMO_infantry_2_entity" -} + state = { + name = "attack" animation = "attack" + #event = { time = 1.15 node="muzzle" particle = "rifle_muzzle_particle" keep_particle = yes light = "muzzle_flash" sound = { soundeffect = infantry_rifle_attack } } + #event = { time = 2.2 node="cartridge" particle = "rifle_cartridge_particle" keep_particle = yes sound = { soundeffect = infantry_rifle_cartridge } } + } -entity = { - clone = "lotr_orc_infantry_entity" - name = "MOC_infantry_entity" -} + state = { + name = "defend" + #event = { time = 0 node="muzzle" particle = "rifle_muzzle_particle" keep_particle = yes light = "muzzle_flash" sound = { soundeffect = infantry_rifle_attack } } + #event = { time = 1.2 node="cartridge" particle = "rifle_cartridge_particle" keep_particle = yes sound = { soundeffect = infantry_rifle_cartridge } } + } -entity = { - clone = "lotr_orc_infantry_entity" - name = "MOC_infantry_2_entity" + state = { + name = "support_attack" animation = "support_attack" + #event = { time = 0 node="muzzle" particle = "rifle_muzzle_particle" keep_particle = yes light = "muzzle_flash" sound = { soundeffect = infantry_rifle_attack } } + #event = { time = 1.2 node="cartridge" particle = "rifle_cartridge_particle" keep_particle = yes sound = { soundeffect = infantry_rifle_cartridge } } + } } entity = { - clone = "lotr_orc_infantry_entity" - name = "ORCGENERIC_infantry_entity" + name = "JAP_infantry_weapon_rifle_long_idle_entity" + pdxmesh = "JAP_infantry_weapon_rifle_mesh" + scale = 1.0 } -entity = { - clone = "lotr_orc_infantry_entity" - name = "ORCGENERIC_infantry_2_entity" -} diff --git a/gfx/event_pictures/Rhun_new_dark_lord.dds b/gfx/event_pictures/Rhun_new_dark_lord.dds deleted file mode 100644 index f2d51e5e9..000000000 Binary files a/gfx/event_pictures/Rhun_new_dark_lord.dds and /dev/null differ diff --git a/gfx/event_pictures/news_event_3rd_breakfast.tga b/gfx/event_pictures/news_event_3rd_breakfast.tga deleted file mode 100644 index ead3c5211..000000000 Binary files a/gfx/event_pictures/news_event_3rd_breakfast.tga and /dev/null differ diff --git a/gfx/event_pictures/news_event_angmar.tga b/gfx/event_pictures/news_event_angmar.tga deleted file mode 100644 index 709f5e077..000000000 Binary files a/gfx/event_pictures/news_event_angmar.tga and /dev/null differ diff --git a/gfx/event_pictures/news_event_balrog.tga b/gfx/event_pictures/news_event_balrog.tga deleted file mode 100644 index 0724b4e6f..000000000 Binary files a/gfx/event_pictures/news_event_balrog.tga and /dev/null differ diff --git a/gfx/event_pictures/news_event_bilbo.tga b/gfx/event_pictures/news_event_bilbo.tga deleted file mode 100644 index 17dc30ff8..000000000 Binary files a/gfx/event_pictures/news_event_bilbo.tga and /dev/null differ diff --git a/gfx/event_pictures/news_event_boromir_dead.tga b/gfx/event_pictures/news_event_boromir_dead.tga deleted file mode 100644 index c18fab4da..000000000 Binary files a/gfx/event_pictures/news_event_boromir_dead.tga and /dev/null differ diff --git a/gfx/event_pictures/news_event_coronation.tga b/gfx/event_pictures/news_event_coronation.tga deleted file mode 100644 index 35463498c..000000000 Binary files a/gfx/event_pictures/news_event_coronation.tga and /dev/null differ diff --git a/gfx/event_pictures/news_event_council.tga b/gfx/event_pictures/news_event_council.tga deleted file mode 100644 index fe73e35b5..000000000 Binary files a/gfx/event_pictures/news_event_council.tga and /dev/null differ diff --git a/gfx/event_pictures/news_event_dagorlad.tga b/gfx/event_pictures/news_event_dagorlad.tga deleted file mode 100644 index 4a13e5df8..000000000 Binary files a/gfx/event_pictures/news_event_dagorlad.tga and /dev/null differ diff --git a/gfx/event_pictures/news_event_dead_army.tga b/gfx/event_pictures/news_event_dead_army.tga deleted file mode 100644 index 0076cc5cc..000000000 Binary files a/gfx/event_pictures/news_event_dead_army.tga and /dev/null differ diff --git a/gfx/event_pictures/news_event_denethor_suicide.tga b/gfx/event_pictures/news_event_denethor_suicide.tga deleted file mode 100644 index d56d1fc3f..000000000 Binary files a/gfx/event_pictures/news_event_denethor_suicide.tga and /dev/null differ diff --git a/gfx/event_pictures/news_event_dolguldur.tga b/gfx/event_pictures/news_event_dolguldur.tga deleted file mode 100644 index 201ba7bf5..000000000 Binary files a/gfx/event_pictures/news_event_dolguldur.tga and /dev/null differ diff --git a/gfx/event_pictures/news_event_dwarves.tga b/gfx/event_pictures/news_event_dwarves.tga deleted file mode 100644 index 76ec2b6b0..000000000 Binary files a/gfx/event_pictures/news_event_dwarves.tga and /dev/null differ diff --git a/gfx/event_pictures/news_event_elrond.tga b/gfx/event_pictures/news_event_elrond.tga deleted file mode 100644 index cc4f79a8e..000000000 Binary files a/gfx/event_pictures/news_event_elrond.tga and /dev/null differ diff --git a/gfx/event_pictures/news_event_enedwaith_saruman.tga b/gfx/event_pictures/news_event_enedwaith_saruman.tga deleted file mode 100644 index 36063570f..000000000 Binary files a/gfx/event_pictures/news_event_enedwaith_saruman.tga and /dev/null differ diff --git a/gfx/event_pictures/news_event_ents.tga b/gfx/event_pictures/news_event_ents.tga deleted file mode 100644 index 4bf086740..000000000 Binary files a/gfx/event_pictures/news_event_ents.tga and /dev/null differ diff --git a/gfx/event_pictures/news_event_faramir_dead.tga b/gfx/event_pictures/news_event_faramir_dead.tga deleted file mode 100644 index fdd1d6198..000000000 Binary files a/gfx/event_pictures/news_event_faramir_dead.tga and /dev/null differ diff --git a/gfx/event_pictures/news_event_fs_000.tga b/gfx/event_pictures/news_event_fs_000.tga deleted file mode 100644 index 1d9b578aa..000000000 Binary files a/gfx/event_pictures/news_event_fs_000.tga and /dev/null differ diff --git a/gfx/event_pictures/news_event_fs_001.tga b/gfx/event_pictures/news_event_fs_001.tga deleted file mode 100644 index 3fcda5a8f..000000000 Binary files a/gfx/event_pictures/news_event_fs_001.tga and /dev/null differ diff --git a/gfx/event_pictures/news_event_fs_002.tga b/gfx/event_pictures/news_event_fs_002.tga deleted file mode 100644 index 591751241..000000000 Binary files a/gfx/event_pictures/news_event_fs_002.tga and /dev/null differ diff --git a/gfx/event_pictures/news_event_fs_010.tga b/gfx/event_pictures/news_event_fs_010.tga deleted file mode 100644 index 69c32a58b..000000000 Binary files a/gfx/event_pictures/news_event_fs_010.tga and /dev/null differ diff --git a/gfx/event_pictures/news_event_fs_011.tga b/gfx/event_pictures/news_event_fs_011.tga deleted file mode 100644 index e7f346020..000000000 Binary files a/gfx/event_pictures/news_event_fs_011.tga and /dev/null differ diff --git a/gfx/event_pictures/news_event_fs_012.tga b/gfx/event_pictures/news_event_fs_012.tga deleted file mode 100644 index b68647372..000000000 Binary files a/gfx/event_pictures/news_event_fs_012.tga and /dev/null differ diff --git a/gfx/event_pictures/news_event_fs_020.tga b/gfx/event_pictures/news_event_fs_020.tga deleted file mode 100644 index ab3d6a965..000000000 Binary files a/gfx/event_pictures/news_event_fs_020.tga and /dev/null differ diff --git a/gfx/event_pictures/news_event_fs_021.tga b/gfx/event_pictures/news_event_fs_021.tga deleted file mode 100644 index 195d8ea39..000000000 Binary files a/gfx/event_pictures/news_event_fs_021.tga and /dev/null differ diff --git a/gfx/event_pictures/news_event_fs_022.tga b/gfx/event_pictures/news_event_fs_022.tga deleted file mode 100644 index a368f315b..000000000 Binary files a/gfx/event_pictures/news_event_fs_022.tga and /dev/null differ diff --git a/gfx/event_pictures/news_event_fs_100.tga b/gfx/event_pictures/news_event_fs_100.tga deleted file mode 100644 index 8140512d4..000000000 Binary files a/gfx/event_pictures/news_event_fs_100.tga and /dev/null differ diff --git a/gfx/event_pictures/news_event_fs_101.tga b/gfx/event_pictures/news_event_fs_101.tga deleted file mode 100644 index 13fb1f378..000000000 Binary files a/gfx/event_pictures/news_event_fs_101.tga and /dev/null differ diff --git a/gfx/event_pictures/news_event_fs_102.tga b/gfx/event_pictures/news_event_fs_102.tga deleted file mode 100644 index d396374aa..000000000 Binary files a/gfx/event_pictures/news_event_fs_102.tga and /dev/null differ diff --git a/gfx/event_pictures/news_event_fs_110.tga b/gfx/event_pictures/news_event_fs_110.tga deleted file mode 100644 index b15ac8d1a..000000000 Binary files a/gfx/event_pictures/news_event_fs_110.tga and /dev/null differ diff --git a/gfx/event_pictures/news_event_fs_111.tga b/gfx/event_pictures/news_event_fs_111.tga deleted file mode 100644 index 3b0438d2e..000000000 Binary files a/gfx/event_pictures/news_event_fs_111.tga and /dev/null differ diff --git a/gfx/event_pictures/news_event_fs_112.tga b/gfx/event_pictures/news_event_fs_112.tga deleted file mode 100644 index c1ad2f114..000000000 Binary files a/gfx/event_pictures/news_event_fs_112.tga and /dev/null differ diff --git a/gfx/event_pictures/news_event_fs_120.tga b/gfx/event_pictures/news_event_fs_120.tga deleted file mode 100644 index 61adf595c..000000000 Binary files a/gfx/event_pictures/news_event_fs_120.tga and /dev/null differ diff --git a/gfx/event_pictures/news_event_fs_121.tga b/gfx/event_pictures/news_event_fs_121.tga deleted file mode 100644 index 6ce7bc7b5..000000000 Binary files a/gfx/event_pictures/news_event_fs_121.tga and /dev/null differ diff --git a/gfx/event_pictures/news_event_fs_122.tga b/gfx/event_pictures/news_event_fs_122.tga deleted file mode 100644 index 7e6004eb5..000000000 Binary files a/gfx/event_pictures/news_event_fs_122.tga and /dev/null differ diff --git a/gfx/event_pictures/news_event_fs_200.tga b/gfx/event_pictures/news_event_fs_200.tga deleted file mode 100644 index 23881c280..000000000 Binary files a/gfx/event_pictures/news_event_fs_200.tga and /dev/null differ diff --git a/gfx/event_pictures/news_event_fs_201.tga b/gfx/event_pictures/news_event_fs_201.tga deleted file mode 100644 index fbb95ef39..000000000 Binary files a/gfx/event_pictures/news_event_fs_201.tga and /dev/null differ diff --git a/gfx/event_pictures/news_event_fs_202.tga b/gfx/event_pictures/news_event_fs_202.tga deleted file mode 100644 index 4775dae38..000000000 Binary files a/gfx/event_pictures/news_event_fs_202.tga and /dev/null differ diff --git a/gfx/event_pictures/news_event_fs_210.tga b/gfx/event_pictures/news_event_fs_210.tga deleted file mode 100644 index 7322b00c8..000000000 Binary files a/gfx/event_pictures/news_event_fs_210.tga and /dev/null differ diff --git a/gfx/event_pictures/news_event_fs_211.tga b/gfx/event_pictures/news_event_fs_211.tga deleted file mode 100644 index 6c2134420..000000000 Binary files a/gfx/event_pictures/news_event_fs_211.tga and /dev/null differ diff --git a/gfx/event_pictures/news_event_fs_212.tga b/gfx/event_pictures/news_event_fs_212.tga deleted file mode 100644 index a7bed6f16..000000000 Binary files a/gfx/event_pictures/news_event_fs_212.tga and /dev/null differ diff --git a/gfx/event_pictures/news_event_fs_220.tga b/gfx/event_pictures/news_event_fs_220.tga deleted file mode 100644 index 8f82008ef..000000000 Binary files a/gfx/event_pictures/news_event_fs_220.tga and /dev/null differ diff --git a/gfx/event_pictures/news_event_fs_221.tga b/gfx/event_pictures/news_event_fs_221.tga deleted file mode 100644 index e2bb383c0..000000000 Binary files a/gfx/event_pictures/news_event_fs_221.tga and /dev/null differ diff --git a/gfx/event_pictures/news_event_fs_222.tga b/gfx/event_pictures/news_event_fs_222.tga deleted file mode 100644 index ba1a3730e..000000000 Binary files a/gfx/event_pictures/news_event_fs_222.tga and /dev/null differ diff --git a/gfx/event_pictures/news_event_gandalf_saruman_alliance.tga b/gfx/event_pictures/news_event_gandalf_saruman_alliance.tga deleted file mode 100644 index cfd17433b..000000000 Binary files a/gfx/event_pictures/news_event_gandalf_saruman_alliance.tga and /dev/null differ diff --git a/gfx/event_pictures/news_event_gandalf_saruman_fight.tga b/gfx/event_pictures/news_event_gandalf_saruman_fight.tga deleted file mode 100644 index 5e4da8776..000000000 Binary files a/gfx/event_pictures/news_event_gandalf_saruman_fight.tga and /dev/null differ diff --git a/gfx/event_pictures/news_event_grima_eowyn_marriage.tga b/gfx/event_pictures/news_event_grima_eowyn_marriage.tga deleted file mode 100644 index ff24a0845..000000000 Binary files a/gfx/event_pictures/news_event_grima_eowyn_marriage.tga and /dev/null differ diff --git a/gfx/event_pictures/news_event_grima_exiled.tga b/gfx/event_pictures/news_event_grima_exiled.tga deleted file mode 100644 index de6a38222..000000000 Binary files a/gfx/event_pictures/news_event_grima_exiled.tga and /dev/null differ diff --git a/gfx/event_pictures/news_event_harad.tga b/gfx/event_pictures/news_event_harad.tga deleted file mode 100644 index 1fa56b216..000000000 Binary files a/gfx/event_pictures/news_event_harad.tga and /dev/null differ diff --git a/gfx/event_pictures/news_event_harad_war.tga b/gfx/event_pictures/news_event_harad_war.tga deleted file mode 100644 index 780412731..000000000 Binary files a/gfx/event_pictures/news_event_harad_war.tga and /dev/null differ diff --git a/gfx/event_pictures/news_event_helmsdeep_breached.dds b/gfx/event_pictures/news_event_helmsdeep_breached.dds deleted file mode 100644 index 282d1872e..000000000 Binary files a/gfx/event_pictures/news_event_helmsdeep_breached.dds and /dev/null differ diff --git a/gfx/event_pictures/news_event_major_death.tga b/gfx/event_pictures/news_event_major_death.tga deleted file mode 100644 index 9ec14cd9b..000000000 Binary files a/gfx/event_pictures/news_event_major_death.tga and /dev/null differ diff --git a/gfx/event_pictures/news_event_mirkwood.tga b/gfx/event_pictures/news_event_mirkwood.tga deleted file mode 100644 index ea78f614d..000000000 Binary files a/gfx/event_pictures/news_event_mirkwood.tga and /dev/null differ diff --git a/gfx/event_pictures/news_event_moria_overrun.tga b/gfx/event_pictures/news_event_moria_overrun.tga deleted file mode 100644 index c3360e265..000000000 Binary files a/gfx/event_pictures/news_event_moria_overrun.tga and /dev/null differ diff --git a/gfx/event_pictures/news_event_rangers.tga b/gfx/event_pictures/news_event_rangers.tga deleted file mode 100644 index b4e2fbb2f..000000000 Binary files a/gfx/event_pictures/news_event_rangers.tga and /dev/null differ diff --git a/gfx/event_pictures/news_event_redhorn_storm.dds b/gfx/event_pictures/news_event_redhorn_storm.dds deleted file mode 100644 index bee9cf747..000000000 Binary files a/gfx/event_pictures/news_event_redhorn_storm.dds and /dev/null differ diff --git a/gfx/event_pictures/news_event_rhun.tga b/gfx/event_pictures/news_event_rhun.tga deleted file mode 100644 index 654a4cb8f..000000000 Binary files a/gfx/event_pictures/news_event_rhun.tga and /dev/null differ diff --git a/gfx/event_pictures/news_event_ring_boromir.tga b/gfx/event_pictures/news_event_ring_boromir.tga deleted file mode 100644 index 0e23b27bf..000000000 Binary files a/gfx/event_pictures/news_event_ring_boromir.tga and /dev/null differ diff --git a/gfx/event_pictures/news_event_ring_destroyed.tga b/gfx/event_pictures/news_event_ring_destroyed.tga deleted file mode 100644 index 74bb36c96..000000000 Binary files a/gfx/event_pictures/news_event_ring_destroyed.tga and /dev/null differ diff --git a/gfx/event_pictures/news_event_ring_isengard.tga b/gfx/event_pictures/news_event_ring_isengard.tga deleted file mode 100644 index 84a57c3c6..000000000 Binary files a/gfx/event_pictures/news_event_ring_isengard.tga and /dev/null differ diff --git a/gfx/event_pictures/news_event_ring_lorien_intercept.tga b/gfx/event_pictures/news_event_ring_lorien_intercept.tga deleted file mode 100644 index b09cbad61..000000000 Binary files a/gfx/event_pictures/news_event_ring_lorien_intercept.tga and /dev/null differ diff --git a/gfx/event_pictures/news_event_ring_lorien_take.tga b/gfx/event_pictures/news_event_ring_lorien_take.tga deleted file mode 100644 index 53413dc54..000000000 Binary files a/gfx/event_pictures/news_event_ring_lorien_take.tga and /dev/null differ diff --git a/gfx/event_pictures/news_event_ring_shire.tga b/gfx/event_pictures/news_event_ring_shire.tga deleted file mode 100644 index 16fb42899..000000000 Binary files a/gfx/event_pictures/news_event_ring_shire.tga and /dev/null differ diff --git a/gfx/event_pictures/news_event_sailaway.tga b/gfx/event_pictures/news_event_sailaway.tga deleted file mode 100644 index 60bab6b91..000000000 Binary files a/gfx/event_pictures/news_event_sailaway.tga and /dev/null differ diff --git a/gfx/event_pictures/news_event_saruman.tga b/gfx/event_pictures/news_event_saruman.tga deleted file mode 100644 index fe86bc54e..000000000 Binary files a/gfx/event_pictures/news_event_saruman.tga and /dev/null differ diff --git a/gfx/event_pictures/news_event_sauron.tga b/gfx/event_pictures/news_event_sauron.tga deleted file mode 100644 index 19256a4a9..000000000 Binary files a/gfx/event_pictures/news_event_sauron.tga and /dev/null differ diff --git a/gfx/event_pictures/news_event_shire.tga b/gfx/event_pictures/news_event_shire.tga deleted file mode 100644 index d1aeab30f..000000000 Binary files a/gfx/event_pictures/news_event_shire.tga and /dev/null differ diff --git a/gfx/event_pictures/news_event_spiders.tga b/gfx/event_pictures/news_event_spiders.tga deleted file mode 100644 index 6de1615e5..000000000 Binary files a/gfx/event_pictures/news_event_spiders.tga and /dev/null differ diff --git a/gfx/event_pictures/news_event_theoden_dead.tga b/gfx/event_pictures/news_event_theoden_dead.tga deleted file mode 100644 index 0a6bd4c7b..000000000 Binary files a/gfx/event_pictures/news_event_theoden_dead.tga and /dev/null differ diff --git a/gfx/event_pictures/news_event_theoden_ill.tga b/gfx/event_pictures/news_event_theoden_ill.tga deleted file mode 100644 index 798c255f6..000000000 Binary files a/gfx/event_pictures/news_event_theoden_ill.tga and /dev/null differ diff --git a/gfx/event_pictures/news_event_theodred.tga b/gfx/event_pictures/news_event_theodred.tga deleted file mode 100644 index 174675a4f..000000000 Binary files a/gfx/event_pictures/news_event_theodred.tga and /dev/null differ diff --git a/gfx/event_pictures/news_event_witch.tga b/gfx/event_pictures/news_event_witch.tga deleted file mode 100644 index 1e0e0f0f4..000000000 Binary files a/gfx/event_pictures/news_event_witch.tga and /dev/null differ diff --git a/gfx/event_pictures/news_events/news_event_3rd_breakfast.dds b/gfx/event_pictures/news_events/news_event_3rd_breakfast.dds new file mode 100644 index 000000000..cbb9dbb8e Binary files /dev/null and b/gfx/event_pictures/news_events/news_event_3rd_breakfast.dds differ diff --git a/gfx/event_pictures/news_events/news_event_angmar.dds b/gfx/event_pictures/news_events/news_event_angmar.dds new file mode 100644 index 000000000..aee3452a1 Binary files /dev/null and b/gfx/event_pictures/news_events/news_event_angmar.dds differ diff --git a/gfx/event_pictures/news_events/news_event_balrog.dds b/gfx/event_pictures/news_events/news_event_balrog.dds new file mode 100644 index 000000000..f02e6cae1 Binary files /dev/null and b/gfx/event_pictures/news_events/news_event_balrog.dds differ diff --git a/gfx/event_pictures/news_events/news_event_bilbo.dds b/gfx/event_pictures/news_events/news_event_bilbo.dds new file mode 100644 index 000000000..75c6bbc85 Binary files /dev/null and b/gfx/event_pictures/news_events/news_event_bilbo.dds differ diff --git a/gfx/event_pictures/news_events/news_event_boromir_dead.dds b/gfx/event_pictures/news_events/news_event_boromir_dead.dds new file mode 100644 index 000000000..d11d04cfc Binary files /dev/null and b/gfx/event_pictures/news_events/news_event_boromir_dead.dds differ diff --git a/gfx/event_pictures/news_events/news_event_carn_dum.dds b/gfx/event_pictures/news_events/news_event_carn_dum.dds new file mode 100644 index 000000000..e66043ba0 Binary files /dev/null and b/gfx/event_pictures/news_events/news_event_carn_dum.dds differ diff --git a/gfx/event_pictures/news_events/news_event_celeborn.dds b/gfx/event_pictures/news_events/news_event_celeborn.dds new file mode 100644 index 000000000..2f6242b2c Binary files /dev/null and b/gfx/event_pictures/news_events/news_event_celeborn.dds differ diff --git a/gfx/event_pictures/news_events/news_event_coronation.dds b/gfx/event_pictures/news_events/news_event_coronation.dds new file mode 100644 index 000000000..7d90cf10d Binary files /dev/null and b/gfx/event_pictures/news_events/news_event_coronation.dds differ diff --git a/gfx/event_pictures/news_events/news_event_council.dds b/gfx/event_pictures/news_events/news_event_council.dds new file mode 100644 index 000000000..d67acd14b Binary files /dev/null and b/gfx/event_pictures/news_events/news_event_council.dds differ diff --git a/gfx/event_pictures/news_events/news_event_dagorlad.dds b/gfx/event_pictures/news_events/news_event_dagorlad.dds new file mode 100644 index 000000000..55630a906 Binary files /dev/null and b/gfx/event_pictures/news_events/news_event_dagorlad.dds differ diff --git a/gfx/event_pictures/news_events/news_event_dead_army.dds b/gfx/event_pictures/news_events/news_event_dead_army.dds new file mode 100644 index 000000000..8a6aa9b42 Binary files /dev/null and b/gfx/event_pictures/news_events/news_event_dead_army.dds differ diff --git a/gfx/event_pictures/news_events/news_event_denethor_suicide.dds b/gfx/event_pictures/news_events/news_event_denethor_suicide.dds new file mode 100644 index 000000000..53719a896 Binary files /dev/null and b/gfx/event_pictures/news_events/news_event_denethor_suicide.dds differ diff --git a/gfx/event_pictures/news_events/news_event_diplomacy.dds b/gfx/event_pictures/news_events/news_event_diplomacy.dds new file mode 100644 index 000000000..f7b29028a Binary files /dev/null and b/gfx/event_pictures/news_events/news_event_diplomacy.dds differ diff --git a/gfx/event_pictures/news_events/news_event_dolguldur.dds b/gfx/event_pictures/news_events/news_event_dolguldur.dds new file mode 100644 index 000000000..11caa7a4a Binary files /dev/null and b/gfx/event_pictures/news_events/news_event_dolguldur.dds differ diff --git a/gfx/event_pictures/news_events/news_event_dwarves.dds b/gfx/event_pictures/news_events/news_event_dwarves.dds new file mode 100644 index 000000000..a41fe8166 Binary files /dev/null and b/gfx/event_pictures/news_events/news_event_dwarves.dds differ diff --git a/gfx/event_pictures/news_events/news_event_elrond.dds b/gfx/event_pictures/news_events/news_event_elrond.dds new file mode 100644 index 000000000..7d3f0361f Binary files /dev/null and b/gfx/event_pictures/news_events/news_event_elrond.dds differ diff --git a/gfx/event_pictures/news_events/news_event_enedwaith_saruman.dds b/gfx/event_pictures/news_events/news_event_enedwaith_saruman.dds new file mode 100644 index 000000000..efc062626 Binary files /dev/null and b/gfx/event_pictures/news_events/news_event_enedwaith_saruman.dds differ diff --git a/gfx/event_pictures/news_events/news_event_ents.dds b/gfx/event_pictures/news_events/news_event_ents.dds new file mode 100644 index 000000000..1b8f87487 Binary files /dev/null and b/gfx/event_pictures/news_events/news_event_ents.dds differ diff --git a/gfx/event_pictures/news_events/news_event_eye.dds b/gfx/event_pictures/news_events/news_event_eye.dds new file mode 100644 index 000000000..e3de875e3 Binary files /dev/null and b/gfx/event_pictures/news_events/news_event_eye.dds differ diff --git a/gfx/event_pictures/news_events/news_event_faramir_dead.dds b/gfx/event_pictures/news_events/news_event_faramir_dead.dds new file mode 100644 index 000000000..87a702a96 Binary files /dev/null and b/gfx/event_pictures/news_events/news_event_faramir_dead.dds differ diff --git a/gfx/event_pictures/news_events/news_event_fs_000.dds b/gfx/event_pictures/news_events/news_event_fs_000.dds new file mode 100644 index 000000000..e9a8e3b7c Binary files /dev/null and b/gfx/event_pictures/news_events/news_event_fs_000.dds differ diff --git a/gfx/event_pictures/news_events/news_event_fs_001.dds b/gfx/event_pictures/news_events/news_event_fs_001.dds new file mode 100644 index 000000000..de501d7e2 Binary files /dev/null and b/gfx/event_pictures/news_events/news_event_fs_001.dds differ diff --git a/gfx/event_pictures/news_events/news_event_fs_002.dds b/gfx/event_pictures/news_events/news_event_fs_002.dds new file mode 100644 index 000000000..e1c39cc63 Binary files /dev/null and b/gfx/event_pictures/news_events/news_event_fs_002.dds differ diff --git a/gfx/event_pictures/news_events/news_event_fs_010.dds b/gfx/event_pictures/news_events/news_event_fs_010.dds new file mode 100644 index 000000000..4facdaef1 Binary files /dev/null and b/gfx/event_pictures/news_events/news_event_fs_010.dds differ diff --git a/gfx/event_pictures/news_events/news_event_fs_011.dds b/gfx/event_pictures/news_events/news_event_fs_011.dds new file mode 100644 index 000000000..7b72dde39 Binary files /dev/null and b/gfx/event_pictures/news_events/news_event_fs_011.dds differ diff --git a/gfx/event_pictures/news_events/news_event_fs_012.dds b/gfx/event_pictures/news_events/news_event_fs_012.dds new file mode 100644 index 000000000..87e85f4a7 Binary files /dev/null and b/gfx/event_pictures/news_events/news_event_fs_012.dds differ diff --git a/gfx/event_pictures/news_events/news_event_fs_020.dds b/gfx/event_pictures/news_events/news_event_fs_020.dds new file mode 100644 index 000000000..8122fe61b Binary files /dev/null and b/gfx/event_pictures/news_events/news_event_fs_020.dds differ diff --git a/gfx/event_pictures/news_events/news_event_fs_021.dds b/gfx/event_pictures/news_events/news_event_fs_021.dds new file mode 100644 index 000000000..46be333fe Binary files /dev/null and b/gfx/event_pictures/news_events/news_event_fs_021.dds differ diff --git a/gfx/event_pictures/news_events/news_event_fs_022.dds b/gfx/event_pictures/news_events/news_event_fs_022.dds new file mode 100644 index 000000000..d673f0c71 Binary files /dev/null and b/gfx/event_pictures/news_events/news_event_fs_022.dds differ diff --git a/gfx/event_pictures/news_events/news_event_fs_100.dds b/gfx/event_pictures/news_events/news_event_fs_100.dds new file mode 100644 index 000000000..55e75740c Binary files /dev/null and b/gfx/event_pictures/news_events/news_event_fs_100.dds differ diff --git a/gfx/event_pictures/news_events/news_event_fs_101.dds b/gfx/event_pictures/news_events/news_event_fs_101.dds new file mode 100644 index 000000000..c9c1c78b7 Binary files /dev/null and b/gfx/event_pictures/news_events/news_event_fs_101.dds differ diff --git a/gfx/event_pictures/news_events/news_event_fs_102.dds b/gfx/event_pictures/news_events/news_event_fs_102.dds new file mode 100644 index 000000000..66bd3e04b Binary files /dev/null and b/gfx/event_pictures/news_events/news_event_fs_102.dds differ diff --git a/gfx/event_pictures/news_events/news_event_fs_110.dds b/gfx/event_pictures/news_events/news_event_fs_110.dds new file mode 100644 index 000000000..7e0c843e9 Binary files /dev/null and b/gfx/event_pictures/news_events/news_event_fs_110.dds differ diff --git a/gfx/event_pictures/news_events/news_event_fs_111.dds b/gfx/event_pictures/news_events/news_event_fs_111.dds new file mode 100644 index 000000000..e39c8a875 Binary files /dev/null and b/gfx/event_pictures/news_events/news_event_fs_111.dds differ diff --git a/gfx/event_pictures/news_events/news_event_fs_112.dds b/gfx/event_pictures/news_events/news_event_fs_112.dds new file mode 100644 index 000000000..5989f4458 Binary files /dev/null and b/gfx/event_pictures/news_events/news_event_fs_112.dds differ diff --git a/gfx/event_pictures/news_events/news_event_fs_120.dds b/gfx/event_pictures/news_events/news_event_fs_120.dds new file mode 100644 index 000000000..c1532cc8a Binary files /dev/null and b/gfx/event_pictures/news_events/news_event_fs_120.dds differ diff --git a/gfx/event_pictures/news_events/news_event_fs_121.dds b/gfx/event_pictures/news_events/news_event_fs_121.dds new file mode 100644 index 000000000..f9bbc122e Binary files /dev/null and b/gfx/event_pictures/news_events/news_event_fs_121.dds differ diff --git a/gfx/event_pictures/news_events/news_event_fs_122.dds b/gfx/event_pictures/news_events/news_event_fs_122.dds new file mode 100644 index 000000000..70559a132 Binary files /dev/null and b/gfx/event_pictures/news_events/news_event_fs_122.dds differ diff --git a/gfx/event_pictures/news_events/news_event_fs_200.dds b/gfx/event_pictures/news_events/news_event_fs_200.dds new file mode 100644 index 000000000..da0023fdb Binary files /dev/null and b/gfx/event_pictures/news_events/news_event_fs_200.dds differ diff --git a/gfx/event_pictures/news_events/news_event_fs_201.dds b/gfx/event_pictures/news_events/news_event_fs_201.dds new file mode 100644 index 000000000..60522e92d Binary files /dev/null and b/gfx/event_pictures/news_events/news_event_fs_201.dds differ diff --git a/gfx/event_pictures/news_events/news_event_fs_202.dds b/gfx/event_pictures/news_events/news_event_fs_202.dds new file mode 100644 index 000000000..206fba86f Binary files /dev/null and b/gfx/event_pictures/news_events/news_event_fs_202.dds differ diff --git a/gfx/event_pictures/news_events/news_event_fs_210.dds b/gfx/event_pictures/news_events/news_event_fs_210.dds new file mode 100644 index 000000000..9595c5301 Binary files /dev/null and b/gfx/event_pictures/news_events/news_event_fs_210.dds differ diff --git a/gfx/event_pictures/news_events/news_event_fs_211.dds b/gfx/event_pictures/news_events/news_event_fs_211.dds new file mode 100644 index 000000000..d4fc3dad1 Binary files /dev/null and b/gfx/event_pictures/news_events/news_event_fs_211.dds differ diff --git a/gfx/event_pictures/news_events/news_event_fs_212.dds b/gfx/event_pictures/news_events/news_event_fs_212.dds new file mode 100644 index 000000000..009b613a3 Binary files /dev/null and b/gfx/event_pictures/news_events/news_event_fs_212.dds differ diff --git a/gfx/event_pictures/news_events/news_event_fs_220.dds b/gfx/event_pictures/news_events/news_event_fs_220.dds new file mode 100644 index 000000000..ff4175277 Binary files /dev/null and b/gfx/event_pictures/news_events/news_event_fs_220.dds differ diff --git a/gfx/event_pictures/news_events/news_event_fs_221.dds b/gfx/event_pictures/news_events/news_event_fs_221.dds new file mode 100644 index 000000000..302937f4b Binary files /dev/null and b/gfx/event_pictures/news_events/news_event_fs_221.dds differ diff --git a/gfx/event_pictures/news_events/news_event_fs_222.dds b/gfx/event_pictures/news_events/news_event_fs_222.dds new file mode 100644 index 000000000..cbee9664d Binary files /dev/null and b/gfx/event_pictures/news_events/news_event_fs_222.dds differ diff --git a/gfx/event_pictures/news_events/news_event_gandalf_saruman_alliance.dds b/gfx/event_pictures/news_events/news_event_gandalf_saruman_alliance.dds new file mode 100644 index 000000000..aa50566dc Binary files /dev/null and b/gfx/event_pictures/news_events/news_event_gandalf_saruman_alliance.dds differ diff --git a/gfx/event_pictures/news_events/news_event_gandalf_saruman_fight.dds b/gfx/event_pictures/news_events/news_event_gandalf_saruman_fight.dds new file mode 100644 index 000000000..fb0248e3d Binary files /dev/null and b/gfx/event_pictures/news_events/news_event_gandalf_saruman_fight.dds differ diff --git a/gfx/event_pictures/news_events/news_event_gondor_army.dds b/gfx/event_pictures/news_events/news_event_gondor_army.dds new file mode 100644 index 000000000..a71544eca Binary files /dev/null and b/gfx/event_pictures/news_events/news_event_gondor_army.dds differ diff --git a/gfx/event_pictures/news_events/news_event_grima_eowyn_marriage.dds b/gfx/event_pictures/news_events/news_event_grima_eowyn_marriage.dds new file mode 100644 index 000000000..29baace94 Binary files /dev/null and b/gfx/event_pictures/news_events/news_event_grima_eowyn_marriage.dds differ diff --git a/gfx/event_pictures/news_events/news_event_grima_exiled.dds b/gfx/event_pictures/news_events/news_event_grima_exiled.dds new file mode 100644 index 000000000..0e655a973 Binary files /dev/null and b/gfx/event_pictures/news_events/news_event_grima_exiled.dds differ diff --git a/gfx/event_pictures/news_events/news_event_harad.dds b/gfx/event_pictures/news_events/news_event_harad.dds new file mode 100644 index 000000000..c1f8da52e Binary files /dev/null and b/gfx/event_pictures/news_events/news_event_harad.dds differ diff --git a/gfx/event_pictures/news_events/news_event_harad_war.dds b/gfx/event_pictures/news_events/news_event_harad_war.dds new file mode 100644 index 000000000..c5b62c714 Binary files /dev/null and b/gfx/event_pictures/news_events/news_event_harad_war.dds differ diff --git a/gfx/event_pictures/news_events/news_event_helmsdeep_breached.dds b/gfx/event_pictures/news_events/news_event_helmsdeep_breached.dds new file mode 100644 index 000000000..366860656 Binary files /dev/null and b/gfx/event_pictures/news_events/news_event_helmsdeep_breached.dds differ diff --git a/gfx/event_pictures/news_events/news_event_major_death.dds b/gfx/event_pictures/news_events/news_event_major_death.dds new file mode 100644 index 000000000..92f530807 Binary files /dev/null and b/gfx/event_pictures/news_events/news_event_major_death.dds differ diff --git a/gfx/event_pictures/news_events/news_event_mirkwood.dds b/gfx/event_pictures/news_events/news_event_mirkwood.dds new file mode 100644 index 000000000..aa4314aaf Binary files /dev/null and b/gfx/event_pictures/news_events/news_event_mirkwood.dds differ diff --git a/gfx/event_pictures/news_events/news_event_moria_overrun.dds b/gfx/event_pictures/news_events/news_event_moria_overrun.dds new file mode 100644 index 000000000..66322eec3 Binary files /dev/null and b/gfx/event_pictures/news_events/news_event_moria_overrun.dds differ diff --git a/gfx/event_pictures/news_events/news_event_rangers.dds b/gfx/event_pictures/news_events/news_event_rangers.dds new file mode 100644 index 000000000..9944a06a5 Binary files /dev/null and b/gfx/event_pictures/news_events/news_event_rangers.dds differ diff --git a/gfx/event_pictures/news_events/news_event_redhorn_storm.dds b/gfx/event_pictures/news_events/news_event_redhorn_storm.dds new file mode 100644 index 000000000..5a04d553e Binary files /dev/null and b/gfx/event_pictures/news_events/news_event_redhorn_storm.dds differ diff --git a/gfx/event_pictures/news_events/news_event_rhun.dds b/gfx/event_pictures/news_events/news_event_rhun.dds new file mode 100644 index 000000000..d08428924 Binary files /dev/null and b/gfx/event_pictures/news_events/news_event_rhun.dds differ diff --git a/gfx/event_pictures/news_events/news_event_ring_boromir.dds b/gfx/event_pictures/news_events/news_event_ring_boromir.dds new file mode 100644 index 000000000..f7d4bd3ab Binary files /dev/null and b/gfx/event_pictures/news_events/news_event_ring_boromir.dds differ diff --git a/gfx/event_pictures/news_events/news_event_ring_destroyed.dds b/gfx/event_pictures/news_events/news_event_ring_destroyed.dds new file mode 100644 index 000000000..8f9f437b6 Binary files /dev/null and b/gfx/event_pictures/news_events/news_event_ring_destroyed.dds differ diff --git a/gfx/event_pictures/news_events/news_event_ring_isengard.dds b/gfx/event_pictures/news_events/news_event_ring_isengard.dds new file mode 100644 index 000000000..e7c339732 Binary files /dev/null and b/gfx/event_pictures/news_events/news_event_ring_isengard.dds differ diff --git a/gfx/event_pictures/news_events/news_event_ring_lorien_intercept.dds b/gfx/event_pictures/news_events/news_event_ring_lorien_intercept.dds new file mode 100644 index 000000000..7ad24a9d3 Binary files /dev/null and b/gfx/event_pictures/news_events/news_event_ring_lorien_intercept.dds differ diff --git a/gfx/event_pictures/news_events/news_event_ring_lorien_take.dds b/gfx/event_pictures/news_events/news_event_ring_lorien_take.dds new file mode 100644 index 000000000..2299ec75e Binary files /dev/null and b/gfx/event_pictures/news_events/news_event_ring_lorien_take.dds differ diff --git a/gfx/event_pictures/news_events/news_event_ring_shire.dds b/gfx/event_pictures/news_events/news_event_ring_shire.dds new file mode 100644 index 000000000..b8cb6a0ce Binary files /dev/null and b/gfx/event_pictures/news_events/news_event_ring_shire.dds differ diff --git a/gfx/event_pictures/news_events/news_event_sailaway.dds b/gfx/event_pictures/news_events/news_event_sailaway.dds new file mode 100644 index 000000000..36fc025ed Binary files /dev/null and b/gfx/event_pictures/news_events/news_event_sailaway.dds differ diff --git a/gfx/event_pictures/news_events/news_event_saruman.dds b/gfx/event_pictures/news_events/news_event_saruman.dds new file mode 100644 index 000000000..2a4eada65 Binary files /dev/null and b/gfx/event_pictures/news_events/news_event_saruman.dds differ diff --git a/gfx/event_pictures/news_events/news_event_sauron.dds b/gfx/event_pictures/news_events/news_event_sauron.dds new file mode 100644 index 000000000..c2aba497c Binary files /dev/null and b/gfx/event_pictures/news_events/news_event_sauron.dds differ diff --git a/gfx/event_pictures/news_events/news_event_ships.dds b/gfx/event_pictures/news_events/news_event_ships.dds new file mode 100644 index 000000000..789b2c0f7 Binary files /dev/null and b/gfx/event_pictures/news_events/news_event_ships.dds differ diff --git a/gfx/event_pictures/news_events/news_event_shire.dds b/gfx/event_pictures/news_events/news_event_shire.dds new file mode 100644 index 000000000..1004b37b5 Binary files /dev/null and b/gfx/event_pictures/news_events/news_event_shire.dds differ diff --git a/gfx/event_pictures/news_events/news_event_spiders.dds b/gfx/event_pictures/news_events/news_event_spiders.dds new file mode 100644 index 000000000..be105d737 Binary files /dev/null and b/gfx/event_pictures/news_events/news_event_spiders.dds differ diff --git a/gfx/event_pictures/news_events/news_event_surrender.dds b/gfx/event_pictures/news_events/news_event_surrender.dds new file mode 100644 index 000000000..d7b9ef3d5 Binary files /dev/null and b/gfx/event_pictures/news_events/news_event_surrender.dds differ diff --git a/gfx/event_pictures/news_events/news_event_theoden_dead.dds b/gfx/event_pictures/news_events/news_event_theoden_dead.dds new file mode 100644 index 000000000..78b515f10 Binary files /dev/null and b/gfx/event_pictures/news_events/news_event_theoden_dead.dds differ diff --git a/gfx/event_pictures/news_events/news_event_theoden_ill.dds b/gfx/event_pictures/news_events/news_event_theoden_ill.dds new file mode 100644 index 000000000..66d82c36c Binary files /dev/null and b/gfx/event_pictures/news_events/news_event_theoden_ill.dds differ diff --git a/gfx/event_pictures/news_events/news_event_theodred.dds b/gfx/event_pictures/news_events/news_event_theodred.dds new file mode 100644 index 000000000..daab35aef Binary files /dev/null and b/gfx/event_pictures/news_events/news_event_theodred.dds differ diff --git a/gfx/event_pictures/news_events/news_event_uprising.dds b/gfx/event_pictures/news_events/news_event_uprising.dds new file mode 100644 index 000000000..65445f337 Binary files /dev/null and b/gfx/event_pictures/news_events/news_event_uprising.dds differ diff --git a/gfx/event_pictures/news_events/news_event_witch.dds b/gfx/event_pictures/news_events/news_event_witch.dds new file mode 100644 index 000000000..2a4795581 Binary files /dev/null and b/gfx/event_pictures/news_events/news_event_witch.dds differ diff --git a/gfx/event_pictures/news_events/unmasked/news_event_3rd_breakfast.dds b/gfx/event_pictures/news_events/unmasked/news_event_3rd_breakfast.dds new file mode 100644 index 000000000..eef7f93b4 Binary files /dev/null and b/gfx/event_pictures/news_events/unmasked/news_event_3rd_breakfast.dds differ diff --git a/gfx/event_pictures/news_events/unmasked/news_event_angmar.dds b/gfx/event_pictures/news_events/unmasked/news_event_angmar.dds new file mode 100644 index 000000000..97060478f Binary files /dev/null and b/gfx/event_pictures/news_events/unmasked/news_event_angmar.dds differ diff --git a/gfx/event_pictures/news_events/unmasked/news_event_balrog.dds b/gfx/event_pictures/news_events/unmasked/news_event_balrog.dds new file mode 100644 index 000000000..4836ec1a6 Binary files /dev/null and b/gfx/event_pictures/news_events/unmasked/news_event_balrog.dds differ diff --git a/gfx/event_pictures/news_events/unmasked/news_event_bilbo.dds b/gfx/event_pictures/news_events/unmasked/news_event_bilbo.dds new file mode 100644 index 000000000..74777cc42 Binary files /dev/null and b/gfx/event_pictures/news_events/unmasked/news_event_bilbo.dds differ diff --git a/gfx/event_pictures/news_events/unmasked/news_event_boromir_dead.dds b/gfx/event_pictures/news_events/unmasked/news_event_boromir_dead.dds new file mode 100644 index 000000000..5501869db Binary files /dev/null and b/gfx/event_pictures/news_events/unmasked/news_event_boromir_dead.dds differ diff --git a/gfx/event_pictures/news_events/unmasked/news_event_carn_dum.dds b/gfx/event_pictures/news_events/unmasked/news_event_carn_dum.dds new file mode 100644 index 000000000..55837def5 Binary files /dev/null and b/gfx/event_pictures/news_events/unmasked/news_event_carn_dum.dds differ diff --git a/gfx/event_pictures/news_events/unmasked/news_event_celeborn.dds b/gfx/event_pictures/news_events/unmasked/news_event_celeborn.dds new file mode 100644 index 000000000..232dabcdb Binary files /dev/null and b/gfx/event_pictures/news_events/unmasked/news_event_celeborn.dds differ diff --git a/gfx/event_pictures/news_events/unmasked/news_event_coronation.dds b/gfx/event_pictures/news_events/unmasked/news_event_coronation.dds new file mode 100644 index 000000000..1cf43f422 Binary files /dev/null and b/gfx/event_pictures/news_events/unmasked/news_event_coronation.dds differ diff --git a/gfx/event_pictures/news_events/unmasked/news_event_council.dds b/gfx/event_pictures/news_events/unmasked/news_event_council.dds new file mode 100644 index 000000000..a04cf1970 Binary files /dev/null and b/gfx/event_pictures/news_events/unmasked/news_event_council.dds differ diff --git a/gfx/event_pictures/news_events/unmasked/news_event_dagorlad.dds b/gfx/event_pictures/news_events/unmasked/news_event_dagorlad.dds new file mode 100644 index 000000000..be47e01be Binary files /dev/null and b/gfx/event_pictures/news_events/unmasked/news_event_dagorlad.dds differ diff --git a/gfx/event_pictures/news_events/unmasked/news_event_dead_army.dds b/gfx/event_pictures/news_events/unmasked/news_event_dead_army.dds new file mode 100644 index 000000000..02f5c6533 Binary files /dev/null and b/gfx/event_pictures/news_events/unmasked/news_event_dead_army.dds differ diff --git a/gfx/event_pictures/news_events/unmasked/news_event_denethor_suicide.dds b/gfx/event_pictures/news_events/unmasked/news_event_denethor_suicide.dds new file mode 100644 index 000000000..4caf06e4c Binary files /dev/null and b/gfx/event_pictures/news_events/unmasked/news_event_denethor_suicide.dds differ diff --git a/gfx/event_pictures/news_events/unmasked/news_event_diplomacy.dds b/gfx/event_pictures/news_events/unmasked/news_event_diplomacy.dds new file mode 100644 index 000000000..3f2066409 Binary files /dev/null and b/gfx/event_pictures/news_events/unmasked/news_event_diplomacy.dds differ diff --git a/gfx/event_pictures/news_events/unmasked/news_event_dolguldur.dds b/gfx/event_pictures/news_events/unmasked/news_event_dolguldur.dds new file mode 100644 index 000000000..9bf760182 Binary files /dev/null and b/gfx/event_pictures/news_events/unmasked/news_event_dolguldur.dds differ diff --git a/gfx/event_pictures/news_events/unmasked/news_event_dwarves.dds b/gfx/event_pictures/news_events/unmasked/news_event_dwarves.dds new file mode 100644 index 000000000..3a65fc179 Binary files /dev/null and b/gfx/event_pictures/news_events/unmasked/news_event_dwarves.dds differ diff --git a/gfx/event_pictures/news_events/unmasked/news_event_elrond.dds b/gfx/event_pictures/news_events/unmasked/news_event_elrond.dds new file mode 100644 index 000000000..7a433d6c6 Binary files /dev/null and b/gfx/event_pictures/news_events/unmasked/news_event_elrond.dds differ diff --git a/gfx/event_pictures/news_events/unmasked/news_event_enedwaith_saruman.dds b/gfx/event_pictures/news_events/unmasked/news_event_enedwaith_saruman.dds new file mode 100644 index 000000000..af82c1d1e Binary files /dev/null and b/gfx/event_pictures/news_events/unmasked/news_event_enedwaith_saruman.dds differ diff --git a/gfx/event_pictures/news_events/unmasked/news_event_ents.dds b/gfx/event_pictures/news_events/unmasked/news_event_ents.dds new file mode 100644 index 000000000..8ab5fe1df Binary files /dev/null and b/gfx/event_pictures/news_events/unmasked/news_event_ents.dds differ diff --git a/gfx/event_pictures/news_events/unmasked/news_event_eye.dds b/gfx/event_pictures/news_events/unmasked/news_event_eye.dds new file mode 100644 index 000000000..a6825bc51 Binary files /dev/null and b/gfx/event_pictures/news_events/unmasked/news_event_eye.dds differ diff --git a/gfx/event_pictures/news_events/unmasked/news_event_faramir_dead.dds b/gfx/event_pictures/news_events/unmasked/news_event_faramir_dead.dds new file mode 100644 index 000000000..4a42275f9 Binary files /dev/null and b/gfx/event_pictures/news_events/unmasked/news_event_faramir_dead.dds differ diff --git a/gfx/event_pictures/news_events/unmasked/news_event_fs_000.dds b/gfx/event_pictures/news_events/unmasked/news_event_fs_000.dds new file mode 100644 index 000000000..36ef03e26 Binary files /dev/null and b/gfx/event_pictures/news_events/unmasked/news_event_fs_000.dds differ diff --git a/gfx/event_pictures/news_events/unmasked/news_event_fs_001.dds b/gfx/event_pictures/news_events/unmasked/news_event_fs_001.dds new file mode 100644 index 000000000..be42e139c Binary files /dev/null and b/gfx/event_pictures/news_events/unmasked/news_event_fs_001.dds differ diff --git a/gfx/event_pictures/news_events/unmasked/news_event_fs_002.dds b/gfx/event_pictures/news_events/unmasked/news_event_fs_002.dds new file mode 100644 index 000000000..d6dc22b9f Binary files /dev/null and b/gfx/event_pictures/news_events/unmasked/news_event_fs_002.dds differ diff --git a/gfx/event_pictures/news_events/unmasked/news_event_fs_010.dds b/gfx/event_pictures/news_events/unmasked/news_event_fs_010.dds new file mode 100644 index 000000000..15eeac01e Binary files /dev/null and b/gfx/event_pictures/news_events/unmasked/news_event_fs_010.dds differ diff --git a/gfx/event_pictures/news_events/unmasked/news_event_fs_011.dds b/gfx/event_pictures/news_events/unmasked/news_event_fs_011.dds new file mode 100644 index 000000000..f1c6894dc Binary files /dev/null and b/gfx/event_pictures/news_events/unmasked/news_event_fs_011.dds differ diff --git a/gfx/event_pictures/news_events/unmasked/news_event_fs_012.dds b/gfx/event_pictures/news_events/unmasked/news_event_fs_012.dds new file mode 100644 index 000000000..f5fe78292 Binary files /dev/null and b/gfx/event_pictures/news_events/unmasked/news_event_fs_012.dds differ diff --git a/gfx/event_pictures/news_events/unmasked/news_event_fs_020.dds b/gfx/event_pictures/news_events/unmasked/news_event_fs_020.dds new file mode 100644 index 000000000..11c3cf044 Binary files /dev/null and b/gfx/event_pictures/news_events/unmasked/news_event_fs_020.dds differ diff --git a/gfx/event_pictures/news_events/unmasked/news_event_fs_021.dds b/gfx/event_pictures/news_events/unmasked/news_event_fs_021.dds new file mode 100644 index 000000000..535cf5b92 Binary files /dev/null and b/gfx/event_pictures/news_events/unmasked/news_event_fs_021.dds differ diff --git a/gfx/event_pictures/news_events/unmasked/news_event_fs_022.dds b/gfx/event_pictures/news_events/unmasked/news_event_fs_022.dds new file mode 100644 index 000000000..9e6ac93a7 Binary files /dev/null and b/gfx/event_pictures/news_events/unmasked/news_event_fs_022.dds differ diff --git a/gfx/event_pictures/news_events/unmasked/news_event_fs_100.dds b/gfx/event_pictures/news_events/unmasked/news_event_fs_100.dds new file mode 100644 index 000000000..3de539273 Binary files /dev/null and b/gfx/event_pictures/news_events/unmasked/news_event_fs_100.dds differ diff --git a/gfx/event_pictures/news_events/unmasked/news_event_fs_101.dds b/gfx/event_pictures/news_events/unmasked/news_event_fs_101.dds new file mode 100644 index 000000000..451e41aca Binary files /dev/null and b/gfx/event_pictures/news_events/unmasked/news_event_fs_101.dds differ diff --git a/gfx/event_pictures/news_events/unmasked/news_event_fs_102.dds b/gfx/event_pictures/news_events/unmasked/news_event_fs_102.dds new file mode 100644 index 000000000..d0b522ce5 Binary files /dev/null and b/gfx/event_pictures/news_events/unmasked/news_event_fs_102.dds differ diff --git a/gfx/event_pictures/news_events/unmasked/news_event_fs_110.dds b/gfx/event_pictures/news_events/unmasked/news_event_fs_110.dds new file mode 100644 index 000000000..395884852 Binary files /dev/null and b/gfx/event_pictures/news_events/unmasked/news_event_fs_110.dds differ diff --git a/gfx/event_pictures/news_events/unmasked/news_event_fs_111.dds b/gfx/event_pictures/news_events/unmasked/news_event_fs_111.dds new file mode 100644 index 000000000..6e85f4617 Binary files /dev/null and b/gfx/event_pictures/news_events/unmasked/news_event_fs_111.dds differ diff --git a/gfx/event_pictures/news_events/unmasked/news_event_fs_112.dds b/gfx/event_pictures/news_events/unmasked/news_event_fs_112.dds new file mode 100644 index 000000000..1394edf99 Binary files /dev/null and b/gfx/event_pictures/news_events/unmasked/news_event_fs_112.dds differ diff --git a/gfx/event_pictures/news_events/unmasked/news_event_fs_120.dds b/gfx/event_pictures/news_events/unmasked/news_event_fs_120.dds new file mode 100644 index 000000000..1340873db Binary files /dev/null and b/gfx/event_pictures/news_events/unmasked/news_event_fs_120.dds differ diff --git a/gfx/event_pictures/news_events/unmasked/news_event_fs_121.dds b/gfx/event_pictures/news_events/unmasked/news_event_fs_121.dds new file mode 100644 index 000000000..bbdefbf99 Binary files /dev/null and b/gfx/event_pictures/news_events/unmasked/news_event_fs_121.dds differ diff --git a/gfx/event_pictures/news_events/unmasked/news_event_fs_122.dds b/gfx/event_pictures/news_events/unmasked/news_event_fs_122.dds new file mode 100644 index 000000000..5977a39d4 Binary files /dev/null and b/gfx/event_pictures/news_events/unmasked/news_event_fs_122.dds differ diff --git a/gfx/event_pictures/news_events/unmasked/news_event_fs_200.dds b/gfx/event_pictures/news_events/unmasked/news_event_fs_200.dds new file mode 100644 index 000000000..1634f1da5 Binary files /dev/null and b/gfx/event_pictures/news_events/unmasked/news_event_fs_200.dds differ diff --git a/gfx/event_pictures/news_events/unmasked/news_event_fs_201.dds b/gfx/event_pictures/news_events/unmasked/news_event_fs_201.dds new file mode 100644 index 000000000..abf3bfd18 Binary files /dev/null and b/gfx/event_pictures/news_events/unmasked/news_event_fs_201.dds differ diff --git a/gfx/event_pictures/news_events/unmasked/news_event_fs_202.dds b/gfx/event_pictures/news_events/unmasked/news_event_fs_202.dds new file mode 100644 index 000000000..750fa0acf Binary files /dev/null and b/gfx/event_pictures/news_events/unmasked/news_event_fs_202.dds differ diff --git a/gfx/event_pictures/news_events/unmasked/news_event_fs_210.dds b/gfx/event_pictures/news_events/unmasked/news_event_fs_210.dds new file mode 100644 index 000000000..b3355aec3 Binary files /dev/null and b/gfx/event_pictures/news_events/unmasked/news_event_fs_210.dds differ diff --git a/gfx/event_pictures/news_events/unmasked/news_event_fs_211.dds b/gfx/event_pictures/news_events/unmasked/news_event_fs_211.dds new file mode 100644 index 000000000..df32cd58a Binary files /dev/null and b/gfx/event_pictures/news_events/unmasked/news_event_fs_211.dds differ diff --git a/gfx/event_pictures/news_events/unmasked/news_event_fs_212.dds b/gfx/event_pictures/news_events/unmasked/news_event_fs_212.dds new file mode 100644 index 000000000..ca6e685d2 Binary files /dev/null and b/gfx/event_pictures/news_events/unmasked/news_event_fs_212.dds differ diff --git a/gfx/event_pictures/news_events/unmasked/news_event_fs_220.dds b/gfx/event_pictures/news_events/unmasked/news_event_fs_220.dds new file mode 100644 index 000000000..a5f28a543 Binary files /dev/null and b/gfx/event_pictures/news_events/unmasked/news_event_fs_220.dds differ diff --git a/gfx/event_pictures/news_events/unmasked/news_event_fs_221.dds b/gfx/event_pictures/news_events/unmasked/news_event_fs_221.dds new file mode 100644 index 000000000..7d8b7def2 Binary files /dev/null and b/gfx/event_pictures/news_events/unmasked/news_event_fs_221.dds differ diff --git a/gfx/event_pictures/news_events/unmasked/news_event_fs_222.dds b/gfx/event_pictures/news_events/unmasked/news_event_fs_222.dds new file mode 100644 index 000000000..30957ecd4 Binary files /dev/null and b/gfx/event_pictures/news_events/unmasked/news_event_fs_222.dds differ diff --git a/gfx/event_pictures/news_events/unmasked/news_event_gandalf_saruman_alliance.dds b/gfx/event_pictures/news_events/unmasked/news_event_gandalf_saruman_alliance.dds new file mode 100644 index 000000000..61d130edc Binary files /dev/null and b/gfx/event_pictures/news_events/unmasked/news_event_gandalf_saruman_alliance.dds differ diff --git a/gfx/event_pictures/news_events/unmasked/news_event_gandalf_saruman_fight.dds b/gfx/event_pictures/news_events/unmasked/news_event_gandalf_saruman_fight.dds new file mode 100644 index 000000000..7068f358f Binary files /dev/null and b/gfx/event_pictures/news_events/unmasked/news_event_gandalf_saruman_fight.dds differ diff --git a/gfx/event_pictures/news_events/unmasked/news_event_gondor_army.dds b/gfx/event_pictures/news_events/unmasked/news_event_gondor_army.dds new file mode 100644 index 000000000..3dbd75e6f Binary files /dev/null and b/gfx/event_pictures/news_events/unmasked/news_event_gondor_army.dds differ diff --git a/gfx/event_pictures/news_events/unmasked/news_event_grima_eowyn_marriage.dds b/gfx/event_pictures/news_events/unmasked/news_event_grima_eowyn_marriage.dds new file mode 100644 index 000000000..0bdcc0ffe Binary files /dev/null and b/gfx/event_pictures/news_events/unmasked/news_event_grima_eowyn_marriage.dds differ diff --git a/gfx/event_pictures/news_events/unmasked/news_event_grima_exiled.dds b/gfx/event_pictures/news_events/unmasked/news_event_grima_exiled.dds new file mode 100644 index 000000000..f2d56466d Binary files /dev/null and b/gfx/event_pictures/news_events/unmasked/news_event_grima_exiled.dds differ diff --git a/gfx/event_pictures/news_events/unmasked/news_event_harad.dds b/gfx/event_pictures/news_events/unmasked/news_event_harad.dds new file mode 100644 index 000000000..edfcbd2fd Binary files /dev/null and b/gfx/event_pictures/news_events/unmasked/news_event_harad.dds differ diff --git a/gfx/event_pictures/news_events/unmasked/news_event_harad_war.dds b/gfx/event_pictures/news_events/unmasked/news_event_harad_war.dds new file mode 100644 index 000000000..6256e1a7e Binary files /dev/null and b/gfx/event_pictures/news_events/unmasked/news_event_harad_war.dds differ diff --git a/gfx/event_pictures/news_events/unmasked/news_event_helmsdeep_breached.dds b/gfx/event_pictures/news_events/unmasked/news_event_helmsdeep_breached.dds new file mode 100644 index 000000000..b08ac1aa2 Binary files /dev/null and b/gfx/event_pictures/news_events/unmasked/news_event_helmsdeep_breached.dds differ diff --git a/gfx/event_pictures/news_events/unmasked/news_event_major_death.dds b/gfx/event_pictures/news_events/unmasked/news_event_major_death.dds new file mode 100644 index 000000000..a87d3c7d8 Binary files /dev/null and b/gfx/event_pictures/news_events/unmasked/news_event_major_death.dds differ diff --git a/gfx/event_pictures/news_events/unmasked/news_event_mirkwood.dds b/gfx/event_pictures/news_events/unmasked/news_event_mirkwood.dds new file mode 100644 index 000000000..101e493ca Binary files /dev/null and b/gfx/event_pictures/news_events/unmasked/news_event_mirkwood.dds differ diff --git a/gfx/event_pictures/news_events/unmasked/news_event_moria_overrun.dds b/gfx/event_pictures/news_events/unmasked/news_event_moria_overrun.dds new file mode 100644 index 000000000..4bd02c58b Binary files /dev/null and b/gfx/event_pictures/news_events/unmasked/news_event_moria_overrun.dds differ diff --git a/gfx/event_pictures/news_events/unmasked/news_event_rangers.dds b/gfx/event_pictures/news_events/unmasked/news_event_rangers.dds new file mode 100644 index 000000000..02065db21 Binary files /dev/null and b/gfx/event_pictures/news_events/unmasked/news_event_rangers.dds differ diff --git a/gfx/event_pictures/news_events/unmasked/news_event_redhorn_storm.dds b/gfx/event_pictures/news_events/unmasked/news_event_redhorn_storm.dds new file mode 100644 index 000000000..a696219fc Binary files /dev/null and b/gfx/event_pictures/news_events/unmasked/news_event_redhorn_storm.dds differ diff --git a/gfx/event_pictures/news_events/unmasked/news_event_rhun.dds b/gfx/event_pictures/news_events/unmasked/news_event_rhun.dds new file mode 100644 index 000000000..f3e93494d Binary files /dev/null and b/gfx/event_pictures/news_events/unmasked/news_event_rhun.dds differ diff --git a/gfx/event_pictures/news_events/unmasked/news_event_ring_boromir.dds b/gfx/event_pictures/news_events/unmasked/news_event_ring_boromir.dds new file mode 100644 index 000000000..68bb991fc Binary files /dev/null and b/gfx/event_pictures/news_events/unmasked/news_event_ring_boromir.dds differ diff --git a/gfx/event_pictures/news_events/unmasked/news_event_ring_destroyed.dds b/gfx/event_pictures/news_events/unmasked/news_event_ring_destroyed.dds new file mode 100644 index 000000000..07e5f530e Binary files /dev/null and b/gfx/event_pictures/news_events/unmasked/news_event_ring_destroyed.dds differ diff --git a/gfx/event_pictures/news_events/unmasked/news_event_ring_isengard.dds b/gfx/event_pictures/news_events/unmasked/news_event_ring_isengard.dds new file mode 100644 index 000000000..55f154ed7 Binary files /dev/null and b/gfx/event_pictures/news_events/unmasked/news_event_ring_isengard.dds differ diff --git a/gfx/event_pictures/news_events/unmasked/news_event_ring_lorien_intercept.dds b/gfx/event_pictures/news_events/unmasked/news_event_ring_lorien_intercept.dds new file mode 100644 index 000000000..6537bcb94 Binary files /dev/null and b/gfx/event_pictures/news_events/unmasked/news_event_ring_lorien_intercept.dds differ diff --git a/gfx/event_pictures/news_events/unmasked/news_event_ring_lorien_take.dds b/gfx/event_pictures/news_events/unmasked/news_event_ring_lorien_take.dds new file mode 100644 index 000000000..7394ff8fa Binary files /dev/null and b/gfx/event_pictures/news_events/unmasked/news_event_ring_lorien_take.dds differ diff --git a/gfx/event_pictures/news_events/unmasked/news_event_ring_shire.dds b/gfx/event_pictures/news_events/unmasked/news_event_ring_shire.dds new file mode 100644 index 000000000..2a22ac149 Binary files /dev/null and b/gfx/event_pictures/news_events/unmasked/news_event_ring_shire.dds differ diff --git a/gfx/event_pictures/news_events/unmasked/news_event_sailaway.dds b/gfx/event_pictures/news_events/unmasked/news_event_sailaway.dds new file mode 100644 index 000000000..df277d1a8 Binary files /dev/null and b/gfx/event_pictures/news_events/unmasked/news_event_sailaway.dds differ diff --git a/gfx/event_pictures/news_events/unmasked/news_event_saruman.dds b/gfx/event_pictures/news_events/unmasked/news_event_saruman.dds new file mode 100644 index 000000000..7026410c0 Binary files /dev/null and b/gfx/event_pictures/news_events/unmasked/news_event_saruman.dds differ diff --git a/gfx/event_pictures/news_events/unmasked/news_event_sauron.dds b/gfx/event_pictures/news_events/unmasked/news_event_sauron.dds new file mode 100644 index 000000000..a82084596 Binary files /dev/null and b/gfx/event_pictures/news_events/unmasked/news_event_sauron.dds differ diff --git a/gfx/event_pictures/news_events/unmasked/news_event_ships.dds b/gfx/event_pictures/news_events/unmasked/news_event_ships.dds new file mode 100644 index 000000000..fcfce47f5 Binary files /dev/null and b/gfx/event_pictures/news_events/unmasked/news_event_ships.dds differ diff --git a/gfx/event_pictures/news_events/unmasked/news_event_shire.dds b/gfx/event_pictures/news_events/unmasked/news_event_shire.dds new file mode 100644 index 000000000..2ef5221a1 Binary files /dev/null and b/gfx/event_pictures/news_events/unmasked/news_event_shire.dds differ diff --git a/gfx/event_pictures/news_events/unmasked/news_event_spiders.dds b/gfx/event_pictures/news_events/unmasked/news_event_spiders.dds new file mode 100644 index 000000000..0fee7375b Binary files /dev/null and b/gfx/event_pictures/news_events/unmasked/news_event_spiders.dds differ diff --git a/gfx/event_pictures/news_events/unmasked/news_event_surrender.dds b/gfx/event_pictures/news_events/unmasked/news_event_surrender.dds new file mode 100644 index 000000000..8446fae32 Binary files /dev/null and b/gfx/event_pictures/news_events/unmasked/news_event_surrender.dds differ diff --git a/gfx/event_pictures/news_events/unmasked/news_event_theoden_dead.dds b/gfx/event_pictures/news_events/unmasked/news_event_theoden_dead.dds new file mode 100644 index 000000000..d106f39f2 Binary files /dev/null and b/gfx/event_pictures/news_events/unmasked/news_event_theoden_dead.dds differ diff --git a/gfx/event_pictures/news_events/unmasked/news_event_theoden_ill.dds b/gfx/event_pictures/news_events/unmasked/news_event_theoden_ill.dds new file mode 100644 index 000000000..ba1c8d297 Binary files /dev/null and b/gfx/event_pictures/news_events/unmasked/news_event_theoden_ill.dds differ diff --git a/gfx/event_pictures/news_events/unmasked/news_event_theodred.dds b/gfx/event_pictures/news_events/unmasked/news_event_theodred.dds new file mode 100644 index 000000000..5c33374f6 Binary files /dev/null and b/gfx/event_pictures/news_events/unmasked/news_event_theodred.dds differ diff --git a/gfx/event_pictures/news_events/unmasked/news_event_uprising.dds b/gfx/event_pictures/news_events/unmasked/news_event_uprising.dds new file mode 100644 index 000000000..a078a6771 Binary files /dev/null and b/gfx/event_pictures/news_events/unmasked/news_event_uprising.dds differ diff --git a/gfx/event_pictures/news_events/unmasked/news_event_witch.dds b/gfx/event_pictures/news_events/unmasked/news_event_witch.dds new file mode 100644 index 000000000..5c1dd5f12 Binary files /dev/null and b/gfx/event_pictures/news_events/unmasked/news_event_witch.dds differ diff --git a/gfx/event_pictures/report_event_alliance.tga b/gfx/event_pictures/report_event_alliance.tga deleted file mode 100644 index b5c3a6ba2..000000000 Binary files a/gfx/event_pictures/report_event_alliance.tga and /dev/null differ diff --git a/gfx/event_pictures/report_event_fight.tga b/gfx/event_pictures/report_event_fight.tga deleted file mode 100644 index 4088dfbc2..000000000 Binary files a/gfx/event_pictures/report_event_fight.tga and /dev/null differ diff --git a/gfx/event_pictures/report_event_nazgul.tga b/gfx/event_pictures/report_event_nazgul.tga deleted file mode 100644 index 6a790ef5a..000000000 Binary files a/gfx/event_pictures/report_event_nazgul.tga and /dev/null differ diff --git a/gfx/event_pictures/report_event_orcs_marching.tga b/gfx/event_pictures/report_event_orcs_marching.tga deleted file mode 100644 index 9e2152ef2..000000000 Binary files a/gfx/event_pictures/report_event_orcs_marching.tga and /dev/null differ diff --git a/gfx/event_pictures/report_event_paper.tga b/gfx/event_pictures/report_event_paper.tga deleted file mode 100644 index aa384b4d1..000000000 Binary files a/gfx/event_pictures/report_event_paper.tga and /dev/null differ diff --git a/gfx/event_pictures/report_event_party.tga b/gfx/event_pictures/report_event_party.tga deleted file mode 100644 index a0f10e6f0..000000000 Binary files a/gfx/event_pictures/report_event_party.tga and /dev/null differ diff --git a/gfx/event_pictures/report_event_ring.tga b/gfx/event_pictures/report_event_ring.tga deleted file mode 100644 index 014be4e46..000000000 Binary files a/gfx/event_pictures/report_event_ring.tga and /dev/null differ diff --git a/gfx/event_pictures/report_events/report_event_alliance.dds b/gfx/event_pictures/report_events/report_event_alliance.dds new file mode 100644 index 000000000..653327b0d Binary files /dev/null and b/gfx/event_pictures/report_events/report_event_alliance.dds differ diff --git a/gfx/event_pictures/report_events/report_event_army_camp.dds b/gfx/event_pictures/report_events/report_event_army_camp.dds new file mode 100644 index 000000000..a1825075f Binary files /dev/null and b/gfx/event_pictures/report_events/report_event_army_camp.dds differ diff --git a/gfx/event_pictures/report_events/report_event_balrog.dds b/gfx/event_pictures/report_events/report_event_balrog.dds new file mode 100644 index 000000000..c6a066494 Binary files /dev/null and b/gfx/event_pictures/report_events/report_event_balrog.dds differ diff --git a/gfx/event_pictures/report_events/report_event_beacons.dds b/gfx/event_pictures/report_events/report_event_beacons.dds new file mode 100644 index 000000000..f957d200a Binary files /dev/null and b/gfx/event_pictures/report_events/report_event_beacons.dds differ diff --git a/gfx/event_pictures/report_events/report_event_building_sawmill.dds b/gfx/event_pictures/report_events/report_event_building_sawmill.dds new file mode 100644 index 000000000..aa2e9a6e9 Binary files /dev/null and b/gfx/event_pictures/report_events/report_event_building_sawmill.dds differ diff --git a/gfx/event_pictures/report_events/report_event_building_sawmill2.dds b/gfx/event_pictures/report_events/report_event_building_sawmill2.dds new file mode 100644 index 000000000..37539d761 Binary files /dev/null and b/gfx/event_pictures/report_events/report_event_building_sawmill2.dds differ diff --git a/gfx/event_pictures/report_events/report_event_castle.dds b/gfx/event_pictures/report_events/report_event_castle.dds new file mode 100644 index 000000000..89cc8b678 Binary files /dev/null and b/gfx/event_pictures/report_events/report_event_castle.dds differ diff --git a/gfx/event_pictures/report_events/report_event_cavalry_knights.dds b/gfx/event_pictures/report_events/report_event_cavalry_knights.dds new file mode 100644 index 000000000..15637397a Binary files /dev/null and b/gfx/event_pictures/report_events/report_event_cavalry_knights.dds differ diff --git a/gfx/event_pictures/report_events/report_event_cele_gala.dds b/gfx/event_pictures/report_events/report_event_cele_gala.dds new file mode 100644 index 000000000..46bff3a36 Binary files /dev/null and b/gfx/event_pictures/report_events/report_event_cele_gala.dds differ diff --git a/gfx/event_pictures/report_events/report_event_celeborn.dds b/gfx/event_pictures/report_events/report_event_celeborn.dds new file mode 100644 index 000000000..1ad15c606 Binary files /dev/null and b/gfx/event_pictures/report_events/report_event_celeborn.dds differ diff --git a/gfx/event_pictures/report_events/report_event_celebrations.dds b/gfx/event_pictures/report_events/report_event_celebrations.dds new file mode 100644 index 000000000..945432526 Binary files /dev/null and b/gfx/event_pictures/report_events/report_event_celebrations.dds differ diff --git a/gfx/event_pictures/report_events/report_event_celebrations_2.dds b/gfx/event_pictures/report_events/report_event_celebrations_2.dds new file mode 100644 index 000000000..89a19d890 Binary files /dev/null and b/gfx/event_pictures/report_events/report_event_celebrations_2.dds differ diff --git a/gfx/event_pictures/report_events/report_event_celebrations_3.dds b/gfx/event_pictures/report_events/report_event_celebrations_3.dds new file mode 100644 index 000000000..6299f673e Binary files /dev/null and b/gfx/event_pictures/report_events/report_event_celebrations_3.dds differ diff --git a/gfx/event_pictures/report_events/report_event_dolguldur.dds b/gfx/event_pictures/report_events/report_event_dolguldur.dds new file mode 100644 index 000000000..4b11c9c75 Binary files /dev/null and b/gfx/event_pictures/report_events/report_event_dolguldur.dds differ diff --git a/gfx/event_pictures/report_events/report_event_elrond_council.dds b/gfx/event_pictures/report_events/report_event_elrond_council.dds new file mode 100644 index 000000000..ded6254c1 Binary files /dev/null and b/gfx/event_pictures/report_events/report_event_elrond_council.dds differ diff --git a/gfx/event_pictures/report_events/report_event_elves.dds b/gfx/event_pictures/report_events/report_event_elves.dds new file mode 100644 index 000000000..59db91e73 Binary files /dev/null and b/gfx/event_pictures/report_events/report_event_elves.dds differ diff --git a/gfx/event_pictures/report_events/report_event_elves_army.dds b/gfx/event_pictures/report_events/report_event_elves_army.dds new file mode 100644 index 000000000..739d431e6 Binary files /dev/null and b/gfx/event_pictures/report_events/report_event_elves_army.dds differ diff --git a/gfx/event_pictures/report_events/report_event_elves_oath.dds b/gfx/event_pictures/report_events/report_event_elves_oath.dds new file mode 100644 index 000000000..e9014a011 Binary files /dev/null and b/gfx/event_pictures/report_events/report_event_elves_oath.dds differ diff --git a/gfx/event_pictures/report_events/report_event_ents.dds b/gfx/event_pictures/report_events/report_event_ents.dds new file mode 100644 index 000000000..9605a646a Binary files /dev/null and b/gfx/event_pictures/report_events/report_event_ents.dds differ diff --git a/gfx/event_pictures/report_events/report_event_fellowship_lothlorien.dds b/gfx/event_pictures/report_events/report_event_fellowship_lothlorien.dds new file mode 100644 index 000000000..a5583129c Binary files /dev/null and b/gfx/event_pictures/report_events/report_event_fellowship_lothlorien.dds differ diff --git a/gfx/event_pictures/report_events/report_event_fight.dds b/gfx/event_pictures/report_events/report_event_fight.dds new file mode 100644 index 000000000..94c99364e Binary files /dev/null and b/gfx/event_pictures/report_events/report_event_fight.dds differ diff --git a/gfx/event_pictures/report_events/report_event_fire.dds b/gfx/event_pictures/report_events/report_event_fire.dds new file mode 100644 index 000000000..faa4a62c5 Binary files /dev/null and b/gfx/event_pictures/report_events/report_event_fire.dds differ diff --git a/gfx/event_pictures/report_events/report_event_galadriel.dds b/gfx/event_pictures/report_events/report_event_galadriel.dds new file mode 100644 index 000000000..4253e231b Binary files /dev/null and b/gfx/event_pictures/report_events/report_event_galadriel.dds differ diff --git a/gfx/event_pictures/report_events/report_event_gondor.dds b/gfx/event_pictures/report_events/report_event_gondor.dds new file mode 100644 index 000000000..f124fcae3 Binary files /dev/null and b/gfx/event_pictures/report_events/report_event_gondor.dds differ diff --git a/gfx/event_pictures/report_events/report_event_gondor_soldiers.dds b/gfx/event_pictures/report_events/report_event_gondor_soldiers.dds new file mode 100644 index 000000000..cf575af53 Binary files /dev/null and b/gfx/event_pictures/report_events/report_event_gondor_soldiers.dds differ diff --git a/gfx/event_pictures/report_events/report_event_gondor_soldiers_2.dds b/gfx/event_pictures/report_events/report_event_gondor_soldiers_2.dds new file mode 100644 index 000000000..08300879a Binary files /dev/null and b/gfx/event_pictures/report_events/report_event_gondor_soldiers_2.dds differ diff --git a/gfx/event_pictures/report_events/report_event_lindon.dds b/gfx/event_pictures/report_events/report_event_lindon.dds new file mode 100644 index 000000000..b495922d9 Binary files /dev/null and b/gfx/event_pictures/report_events/report_event_lindon.dds differ diff --git a/gfx/event_pictures/report_events/report_event_lothlorien.dds b/gfx/event_pictures/report_events/report_event_lothlorien.dds new file mode 100644 index 000000000..10f3235ca Binary files /dev/null and b/gfx/event_pictures/report_events/report_event_lothlorien.dds differ diff --git a/gfx/event_pictures/report_events/report_event_man_fishing.dds b/gfx/event_pictures/report_events/report_event_man_fishing.dds new file mode 100644 index 000000000..a1f464aa1 Binary files /dev/null and b/gfx/event_pictures/report_events/report_event_man_fishing.dds differ diff --git a/gfx/event_pictures/report_events/report_event_market.dds b/gfx/event_pictures/report_events/report_event_market.dds new file mode 100644 index 000000000..2ce7788d3 Binary files /dev/null and b/gfx/event_pictures/report_events/report_event_market.dds differ diff --git a/gfx/event_pictures/report_events/report_event_mirror.dds b/gfx/event_pictures/report_events/report_event_mirror.dds new file mode 100644 index 000000000..de522180f Binary files /dev/null and b/gfx/event_pictures/report_events/report_event_mirror.dds differ diff --git a/gfx/event_pictures/report_events/report_event_moria.dds b/gfx/event_pictures/report_events/report_event_moria.dds new file mode 100644 index 000000000..4adfb0a14 Binary files /dev/null and b/gfx/event_pictures/report_events/report_event_moria.dds differ diff --git a/gfx/event_pictures/report_events/report_event_nazgul.dds b/gfx/event_pictures/report_events/report_event_nazgul.dds new file mode 100644 index 000000000..9ba8d6854 Binary files /dev/null and b/gfx/event_pictures/report_events/report_event_nazgul.dds differ diff --git a/gfx/event_pictures/report_events/report_event_negotiations.dds b/gfx/event_pictures/report_events/report_event_negotiations.dds new file mode 100644 index 000000000..a65f3c9af Binary files /dev/null and b/gfx/event_pictures/report_events/report_event_negotiations.dds differ diff --git a/gfx/event_pictures/report_events/report_event_orcs.dds b/gfx/event_pictures/report_events/report_event_orcs.dds new file mode 100644 index 000000000..a038ff0e6 Binary files /dev/null and b/gfx/event_pictures/report_events/report_event_orcs.dds differ diff --git a/gfx/event_pictures/report_events/report_event_orcs_2.dds b/gfx/event_pictures/report_events/report_event_orcs_2.dds new file mode 100644 index 000000000..ae1dbb32e Binary files /dev/null and b/gfx/event_pictures/report_events/report_event_orcs_2.dds differ diff --git a/gfx/event_pictures/report_events/report_event_orcs_marching.dds b/gfx/event_pictures/report_events/report_event_orcs_marching.dds new file mode 100644 index 000000000..3666279bf Binary files /dev/null and b/gfx/event_pictures/report_events/report_event_orcs_marching.dds differ diff --git a/gfx/event_pictures/report_events/report_event_paper.dds b/gfx/event_pictures/report_events/report_event_paper.dds new file mode 100644 index 000000000..a6c3aa9ac Binary files /dev/null and b/gfx/event_pictures/report_events/report_event_paper.dds differ diff --git a/gfx/event_pictures/report_events/report_event_party.dds b/gfx/event_pictures/report_events/report_event_party.dds new file mode 100644 index 000000000..941aebcc6 Binary files /dev/null and b/gfx/event_pictures/report_events/report_event_party.dds differ diff --git a/gfx/event_pictures/report_events/report_event_rangers.dds b/gfx/event_pictures/report_events/report_event_rangers.dds new file mode 100644 index 000000000..3e372713c Binary files /dev/null and b/gfx/event_pictures/report_events/report_event_rangers.dds differ diff --git a/gfx/event_pictures/report_events/report_event_riders.dds b/gfx/event_pictures/report_events/report_event_riders.dds new file mode 100644 index 000000000..649228b73 Binary files /dev/null and b/gfx/event_pictures/report_events/report_event_riders.dds differ diff --git a/gfx/event_pictures/report_events/report_event_ring.dds b/gfx/event_pictures/report_events/report_event_ring.dds new file mode 100644 index 000000000..0670c9cab Binary files /dev/null and b/gfx/event_pictures/report_events/report_event_ring.dds differ diff --git a/gfx/event_pictures/report_events/report_event_rivendell.dds b/gfx/event_pictures/report_events/report_event_rivendell.dds new file mode 100644 index 000000000..d36f4ab3c Binary files /dev/null and b/gfx/event_pictures/report_events/report_event_rivendell.dds differ diff --git a/gfx/event_pictures/report_events/report_event_rohan_riders.dds b/gfx/event_pictures/report_events/report_event_rohan_riders.dds new file mode 100644 index 000000000..5ddaf5238 Binary files /dev/null and b/gfx/event_pictures/report_events/report_event_rohan_riders.dds differ diff --git a/gfx/event_pictures/report_events/report_event_sauron_eye.dds b/gfx/event_pictures/report_events/report_event_sauron_eye.dds new file mode 100644 index 000000000..dd3d07838 Binary files /dev/null and b/gfx/event_pictures/report_events/report_event_sauron_eye.dds differ diff --git a/gfx/event_pictures/report_events/report_event_ship.dds b/gfx/event_pictures/report_events/report_event_ship.dds new file mode 100644 index 000000000..45081f89b Binary files /dev/null and b/gfx/event_pictures/report_events/report_event_ship.dds differ diff --git a/gfx/event_pictures/report_events/report_event_ship2.dds b/gfx/event_pictures/report_events/report_event_ship2.dds new file mode 100644 index 000000000..e28ef9484 Binary files /dev/null and b/gfx/event_pictures/report_events/report_event_ship2.dds differ diff --git a/gfx/event_pictures/report_events/report_event_spiders.dds b/gfx/event_pictures/report_events/report_event_spiders.dds new file mode 100644 index 000000000..72dee7c1f Binary files /dev/null and b/gfx/event_pictures/report_events/report_event_spiders.dds differ diff --git a/gfx/event_pictures/report_events/report_event_tournament.dds b/gfx/event_pictures/report_events/report_event_tournament.dds new file mode 100644 index 000000000..f0e6927ce Binary files /dev/null and b/gfx/event_pictures/report_events/report_event_tournament.dds differ diff --git a/gfx/event_pictures/report_events/report_event_trade_caravan.dds b/gfx/event_pictures/report_events/report_event_trade_caravan.dds new file mode 100644 index 000000000..25d4a2a4a Binary files /dev/null and b/gfx/event_pictures/report_events/report_event_trade_caravan.dds differ diff --git a/gfx/event_pictures/report_events/report_event_trade_caravan2.dds b/gfx/event_pictures/report_events/report_event_trade_caravan2.dds new file mode 100644 index 000000000..b708b7381 Binary files /dev/null and b/gfx/event_pictures/report_events/report_event_trade_caravan2.dds differ diff --git a/gfx/event_pictures/report_events/report_event_white_council.dds b/gfx/event_pictures/report_events/report_event_white_council.dds new file mode 100644 index 000000000..5478330b5 Binary files /dev/null and b/gfx/event_pictures/report_events/report_event_white_council.dds differ diff --git a/gfx/event_pictures/report_events/unmasked/report_event_alliance.dds b/gfx/event_pictures/report_events/unmasked/report_event_alliance.dds new file mode 100644 index 000000000..03186c96d Binary files /dev/null and b/gfx/event_pictures/report_events/unmasked/report_event_alliance.dds differ diff --git a/gfx/event_pictures/report_events/unmasked/report_event_army_camp.dds b/gfx/event_pictures/report_events/unmasked/report_event_army_camp.dds new file mode 100644 index 000000000..b41a4a1a7 Binary files /dev/null and b/gfx/event_pictures/report_events/unmasked/report_event_army_camp.dds differ diff --git a/gfx/event_pictures/report_events/unmasked/report_event_balrog.dds b/gfx/event_pictures/report_events/unmasked/report_event_balrog.dds new file mode 100644 index 000000000..00796b30b Binary files /dev/null and b/gfx/event_pictures/report_events/unmasked/report_event_balrog.dds differ diff --git a/gfx/event_pictures/report_events/unmasked/report_event_beacons.dds b/gfx/event_pictures/report_events/unmasked/report_event_beacons.dds new file mode 100644 index 000000000..11dea520d Binary files /dev/null and b/gfx/event_pictures/report_events/unmasked/report_event_beacons.dds differ diff --git a/gfx/event_pictures/report_events/unmasked/report_event_building_sawmill.dds b/gfx/event_pictures/report_events/unmasked/report_event_building_sawmill.dds new file mode 100644 index 000000000..6a3acd502 Binary files /dev/null and b/gfx/event_pictures/report_events/unmasked/report_event_building_sawmill.dds differ diff --git a/gfx/event_pictures/report_events/unmasked/report_event_building_sawmill2.dds b/gfx/event_pictures/report_events/unmasked/report_event_building_sawmill2.dds new file mode 100644 index 000000000..a985909e5 Binary files /dev/null and b/gfx/event_pictures/report_events/unmasked/report_event_building_sawmill2.dds differ diff --git a/gfx/event_pictures/report_events/unmasked/report_event_castle.dds b/gfx/event_pictures/report_events/unmasked/report_event_castle.dds new file mode 100644 index 000000000..94645b96b Binary files /dev/null and b/gfx/event_pictures/report_events/unmasked/report_event_castle.dds differ diff --git a/gfx/event_pictures/report_events/unmasked/report_event_cavalry_knights.dds b/gfx/event_pictures/report_events/unmasked/report_event_cavalry_knights.dds new file mode 100644 index 000000000..9a046b2c8 Binary files /dev/null and b/gfx/event_pictures/report_events/unmasked/report_event_cavalry_knights.dds differ diff --git a/gfx/event_pictures/report_events/unmasked/report_event_cele_gala.dds b/gfx/event_pictures/report_events/unmasked/report_event_cele_gala.dds new file mode 100644 index 000000000..151d08cb2 Binary files /dev/null and b/gfx/event_pictures/report_events/unmasked/report_event_cele_gala.dds differ diff --git a/gfx/event_pictures/report_events/unmasked/report_event_celeborn.dds b/gfx/event_pictures/report_events/unmasked/report_event_celeborn.dds new file mode 100644 index 000000000..045dfb463 Binary files /dev/null and b/gfx/event_pictures/report_events/unmasked/report_event_celeborn.dds differ diff --git a/gfx/event_pictures/report_events/unmasked/report_event_celebrations.dds b/gfx/event_pictures/report_events/unmasked/report_event_celebrations.dds new file mode 100644 index 000000000..b095910b5 Binary files /dev/null and b/gfx/event_pictures/report_events/unmasked/report_event_celebrations.dds differ diff --git a/gfx/event_pictures/report_events/unmasked/report_event_celebrations_2.dds b/gfx/event_pictures/report_events/unmasked/report_event_celebrations_2.dds new file mode 100644 index 000000000..88575477c Binary files /dev/null and b/gfx/event_pictures/report_events/unmasked/report_event_celebrations_2.dds differ diff --git a/gfx/event_pictures/report_events/unmasked/report_event_celebrations_3.dds b/gfx/event_pictures/report_events/unmasked/report_event_celebrations_3.dds new file mode 100644 index 000000000..a0231951f Binary files /dev/null and b/gfx/event_pictures/report_events/unmasked/report_event_celebrations_3.dds differ diff --git a/gfx/event_pictures/report_events/unmasked/report_event_dolguldur.dds b/gfx/event_pictures/report_events/unmasked/report_event_dolguldur.dds new file mode 100644 index 000000000..1c02f03b5 Binary files /dev/null and b/gfx/event_pictures/report_events/unmasked/report_event_dolguldur.dds differ diff --git a/gfx/event_pictures/report_events/unmasked/report_event_elrond_council.dds b/gfx/event_pictures/report_events/unmasked/report_event_elrond_council.dds new file mode 100644 index 000000000..bb7a289bd Binary files /dev/null and b/gfx/event_pictures/report_events/unmasked/report_event_elrond_council.dds differ diff --git a/gfx/event_pictures/report_events/unmasked/report_event_elves.dds b/gfx/event_pictures/report_events/unmasked/report_event_elves.dds new file mode 100644 index 000000000..4a0b601a1 Binary files /dev/null and b/gfx/event_pictures/report_events/unmasked/report_event_elves.dds differ diff --git a/gfx/event_pictures/report_events/unmasked/report_event_elves_army.dds b/gfx/event_pictures/report_events/unmasked/report_event_elves_army.dds new file mode 100644 index 000000000..604bd9576 Binary files /dev/null and b/gfx/event_pictures/report_events/unmasked/report_event_elves_army.dds differ diff --git a/gfx/event_pictures/report_events/unmasked/report_event_elves_oath.dds b/gfx/event_pictures/report_events/unmasked/report_event_elves_oath.dds new file mode 100644 index 000000000..ac8dae57c Binary files /dev/null and b/gfx/event_pictures/report_events/unmasked/report_event_elves_oath.dds differ diff --git a/gfx/event_pictures/report_events/unmasked/report_event_ents.dds b/gfx/event_pictures/report_events/unmasked/report_event_ents.dds new file mode 100644 index 000000000..ba06d84d9 Binary files /dev/null and b/gfx/event_pictures/report_events/unmasked/report_event_ents.dds differ diff --git a/gfx/event_pictures/report_events/unmasked/report_event_fellowship_lothlorien.dds b/gfx/event_pictures/report_events/unmasked/report_event_fellowship_lothlorien.dds new file mode 100644 index 000000000..f42115fd8 Binary files /dev/null and b/gfx/event_pictures/report_events/unmasked/report_event_fellowship_lothlorien.dds differ diff --git a/gfx/event_pictures/report_events/unmasked/report_event_fight.dds b/gfx/event_pictures/report_events/unmasked/report_event_fight.dds new file mode 100644 index 000000000..26b4a1487 Binary files /dev/null and b/gfx/event_pictures/report_events/unmasked/report_event_fight.dds differ diff --git a/gfx/event_pictures/report_events/unmasked/report_event_fire.dds b/gfx/event_pictures/report_events/unmasked/report_event_fire.dds new file mode 100644 index 000000000..3c4983e45 Binary files /dev/null and b/gfx/event_pictures/report_events/unmasked/report_event_fire.dds differ diff --git a/gfx/event_pictures/report_events/unmasked/report_event_galadriel.dds b/gfx/event_pictures/report_events/unmasked/report_event_galadriel.dds new file mode 100644 index 000000000..971893198 Binary files /dev/null and b/gfx/event_pictures/report_events/unmasked/report_event_galadriel.dds differ diff --git a/gfx/event_pictures/report_events/unmasked/report_event_gondor.dds b/gfx/event_pictures/report_events/unmasked/report_event_gondor.dds new file mode 100644 index 000000000..3037589bc Binary files /dev/null and b/gfx/event_pictures/report_events/unmasked/report_event_gondor.dds differ diff --git a/gfx/event_pictures/report_events/unmasked/report_event_gondor_soldiers.dds b/gfx/event_pictures/report_events/unmasked/report_event_gondor_soldiers.dds new file mode 100644 index 000000000..2c2f15cdf Binary files /dev/null and b/gfx/event_pictures/report_events/unmasked/report_event_gondor_soldiers.dds differ diff --git a/gfx/event_pictures/report_events/unmasked/report_event_gondor_soldiers_2.dds b/gfx/event_pictures/report_events/unmasked/report_event_gondor_soldiers_2.dds new file mode 100644 index 000000000..6a7065424 Binary files /dev/null and b/gfx/event_pictures/report_events/unmasked/report_event_gondor_soldiers_2.dds differ diff --git a/gfx/event_pictures/report_events/unmasked/report_event_lindon.dds b/gfx/event_pictures/report_events/unmasked/report_event_lindon.dds new file mode 100644 index 000000000..031df04da Binary files /dev/null and b/gfx/event_pictures/report_events/unmasked/report_event_lindon.dds differ diff --git a/gfx/event_pictures/report_events/unmasked/report_event_lothlorien.dds b/gfx/event_pictures/report_events/unmasked/report_event_lothlorien.dds new file mode 100644 index 000000000..e89abf064 Binary files /dev/null and b/gfx/event_pictures/report_events/unmasked/report_event_lothlorien.dds differ diff --git a/gfx/event_pictures/report_events/unmasked/report_event_man_fishing.dds b/gfx/event_pictures/report_events/unmasked/report_event_man_fishing.dds new file mode 100644 index 000000000..dda110fe3 Binary files /dev/null and b/gfx/event_pictures/report_events/unmasked/report_event_man_fishing.dds differ diff --git a/gfx/event_pictures/report_events/unmasked/report_event_market.dds b/gfx/event_pictures/report_events/unmasked/report_event_market.dds new file mode 100644 index 000000000..e33da5fe4 Binary files /dev/null and b/gfx/event_pictures/report_events/unmasked/report_event_market.dds differ diff --git a/gfx/event_pictures/report_events/unmasked/report_event_mirror.dds b/gfx/event_pictures/report_events/unmasked/report_event_mirror.dds new file mode 100644 index 000000000..16776327e Binary files /dev/null and b/gfx/event_pictures/report_events/unmasked/report_event_mirror.dds differ diff --git a/gfx/event_pictures/report_events/unmasked/report_event_moria.dds b/gfx/event_pictures/report_events/unmasked/report_event_moria.dds new file mode 100644 index 000000000..41967806a Binary files /dev/null and b/gfx/event_pictures/report_events/unmasked/report_event_moria.dds differ diff --git a/gfx/event_pictures/report_events/unmasked/report_event_nazgul.dds b/gfx/event_pictures/report_events/unmasked/report_event_nazgul.dds new file mode 100644 index 000000000..25329b189 Binary files /dev/null and b/gfx/event_pictures/report_events/unmasked/report_event_nazgul.dds differ diff --git a/gfx/event_pictures/report_events/unmasked/report_event_negotiations.dds b/gfx/event_pictures/report_events/unmasked/report_event_negotiations.dds new file mode 100644 index 000000000..46c9ab178 Binary files /dev/null and b/gfx/event_pictures/report_events/unmasked/report_event_negotiations.dds differ diff --git a/gfx/event_pictures/report_events/unmasked/report_event_orcs.dds b/gfx/event_pictures/report_events/unmasked/report_event_orcs.dds new file mode 100644 index 000000000..45293c88c Binary files /dev/null and b/gfx/event_pictures/report_events/unmasked/report_event_orcs.dds differ diff --git a/gfx/event_pictures/report_events/unmasked/report_event_orcs_2.dds b/gfx/event_pictures/report_events/unmasked/report_event_orcs_2.dds new file mode 100644 index 000000000..e7306504a Binary files /dev/null and b/gfx/event_pictures/report_events/unmasked/report_event_orcs_2.dds differ diff --git a/gfx/event_pictures/report_events/unmasked/report_event_orcs_marching.dds b/gfx/event_pictures/report_events/unmasked/report_event_orcs_marching.dds new file mode 100644 index 000000000..479635f7c Binary files /dev/null and b/gfx/event_pictures/report_events/unmasked/report_event_orcs_marching.dds differ diff --git a/gfx/event_pictures/report_events/unmasked/report_event_paper.dds b/gfx/event_pictures/report_events/unmasked/report_event_paper.dds new file mode 100644 index 000000000..262c265ae Binary files /dev/null and b/gfx/event_pictures/report_events/unmasked/report_event_paper.dds differ diff --git a/gfx/event_pictures/report_events/unmasked/report_event_party.dds b/gfx/event_pictures/report_events/unmasked/report_event_party.dds new file mode 100644 index 000000000..1d09d12bb Binary files /dev/null and b/gfx/event_pictures/report_events/unmasked/report_event_party.dds differ diff --git a/gfx/event_pictures/report_events/unmasked/report_event_rangers.dds b/gfx/event_pictures/report_events/unmasked/report_event_rangers.dds new file mode 100644 index 000000000..d96b1e2d2 Binary files /dev/null and b/gfx/event_pictures/report_events/unmasked/report_event_rangers.dds differ diff --git a/gfx/event_pictures/report_events/unmasked/report_event_riders.dds b/gfx/event_pictures/report_events/unmasked/report_event_riders.dds new file mode 100644 index 000000000..d9a5cad2c Binary files /dev/null and b/gfx/event_pictures/report_events/unmasked/report_event_riders.dds differ diff --git a/gfx/event_pictures/report_events/unmasked/report_event_ring.dds b/gfx/event_pictures/report_events/unmasked/report_event_ring.dds new file mode 100644 index 000000000..1517d76b6 Binary files /dev/null and b/gfx/event_pictures/report_events/unmasked/report_event_ring.dds differ diff --git a/gfx/event_pictures/report_events/unmasked/report_event_rivendell.dds b/gfx/event_pictures/report_events/unmasked/report_event_rivendell.dds new file mode 100644 index 000000000..ed8df9330 Binary files /dev/null and b/gfx/event_pictures/report_events/unmasked/report_event_rivendell.dds differ diff --git a/gfx/event_pictures/report_events/unmasked/report_event_rohan_riders.dds b/gfx/event_pictures/report_events/unmasked/report_event_rohan_riders.dds new file mode 100644 index 000000000..d764ad3ec Binary files /dev/null and b/gfx/event_pictures/report_events/unmasked/report_event_rohan_riders.dds differ diff --git a/gfx/event_pictures/report_events/unmasked/report_event_sauron_eye.dds b/gfx/event_pictures/report_events/unmasked/report_event_sauron_eye.dds new file mode 100644 index 000000000..663ef237e Binary files /dev/null and b/gfx/event_pictures/report_events/unmasked/report_event_sauron_eye.dds differ diff --git a/gfx/event_pictures/report_events/unmasked/report_event_ship.dds b/gfx/event_pictures/report_events/unmasked/report_event_ship.dds new file mode 100644 index 000000000..78834e2d3 Binary files /dev/null and b/gfx/event_pictures/report_events/unmasked/report_event_ship.dds differ diff --git a/gfx/event_pictures/report_events/unmasked/report_event_ship2.dds b/gfx/event_pictures/report_events/unmasked/report_event_ship2.dds new file mode 100644 index 000000000..46af764b1 Binary files /dev/null and b/gfx/event_pictures/report_events/unmasked/report_event_ship2.dds differ diff --git a/gfx/event_pictures/report_events/unmasked/report_event_spiders.dds b/gfx/event_pictures/report_events/unmasked/report_event_spiders.dds new file mode 100644 index 000000000..2a44e5bc3 Binary files /dev/null and b/gfx/event_pictures/report_events/unmasked/report_event_spiders.dds differ diff --git a/gfx/event_pictures/report_events/unmasked/report_event_tournament.dds b/gfx/event_pictures/report_events/unmasked/report_event_tournament.dds new file mode 100644 index 000000000..9cc069210 Binary files /dev/null and b/gfx/event_pictures/report_events/unmasked/report_event_tournament.dds differ diff --git a/gfx/event_pictures/report_events/unmasked/report_event_trade_caravan.dds b/gfx/event_pictures/report_events/unmasked/report_event_trade_caravan.dds new file mode 100644 index 000000000..31b1b4a50 Binary files /dev/null and b/gfx/event_pictures/report_events/unmasked/report_event_trade_caravan.dds differ diff --git a/gfx/event_pictures/report_events/unmasked/report_event_trade_caravan2.dds b/gfx/event_pictures/report_events/unmasked/report_event_trade_caravan2.dds new file mode 100644 index 000000000..68090af38 Binary files /dev/null and b/gfx/event_pictures/report_events/unmasked/report_event_trade_caravan2.dds differ diff --git a/gfx/event_pictures/report_events/unmasked/report_event_white_council.dds b/gfx/event_pictures/report_events/unmasked/report_event_white_council.dds new file mode 100644 index 000000000..5463fbc56 Binary files /dev/null and b/gfx/event_pictures/report_events/unmasked/report_event_white_council.dds differ diff --git a/gfx/flags/DAM.tga b/gfx/flags/DAM.tga new file mode 100644 index 000000000..d4442f27a Binary files /dev/null and b/gfx/flags/DAM.tga differ diff --git a/gfx/flags/DAM_belligerent.tga b/gfx/flags/DAM_belligerent.tga new file mode 100644 index 000000000..b8a40dfae Binary files /dev/null and b/gfx/flags/DAM_belligerent.tga differ diff --git a/gfx/flags/DAM_cooperative.tga b/gfx/flags/DAM_cooperative.tga new file mode 100644 index 000000000..d4442f27a Binary files /dev/null and b/gfx/flags/DAM_cooperative.tga differ diff --git a/gfx/flags/DAM_revolutionary.tga b/gfx/flags/DAM_revolutionary.tga new file mode 100644 index 000000000..957e00f28 Binary files /dev/null and b/gfx/flags/DAM_revolutionary.tga differ diff --git a/gfx/flags/NDH_belligerent.tga b/gfx/flags/NDH_belligerent.tga new file mode 100644 index 000000000..df6c9155e Binary files /dev/null and b/gfx/flags/NDH_belligerent.tga differ diff --git a/gfx/flags/NDH_cooperative.tga b/gfx/flags/NDH_cooperative.tga new file mode 100644 index 000000000..eeeb71967 Binary files /dev/null and b/gfx/flags/NDH_cooperative.tga differ diff --git a/gfx/flags/NDH_revolutionary.tga b/gfx/flags/NDH_revolutionary.tga new file mode 100644 index 000000000..18278ff32 Binary files /dev/null and b/gfx/flags/NDH_revolutionary.tga differ diff --git a/gfx/flags/NDH_unaligned.tga b/gfx/flags/NDH_unaligned.tga new file mode 100644 index 000000000..eeeb71967 Binary files /dev/null and b/gfx/flags/NDH_unaligned.tga differ diff --git a/gfx/flags/medium/DAM.tga b/gfx/flags/medium/DAM.tga new file mode 100644 index 000000000..e7964d3ab Binary files /dev/null and b/gfx/flags/medium/DAM.tga differ diff --git a/gfx/flags/medium/DAM_belligerent.tga b/gfx/flags/medium/DAM_belligerent.tga new file mode 100644 index 000000000..41b8b83e3 Binary files /dev/null and b/gfx/flags/medium/DAM_belligerent.tga differ diff --git a/gfx/flags/medium/DAM_cooperative.tga b/gfx/flags/medium/DAM_cooperative.tga new file mode 100644 index 000000000..070077cfb Binary files /dev/null and b/gfx/flags/medium/DAM_cooperative.tga differ diff --git a/gfx/flags/medium/DAM_revolutionary.tga b/gfx/flags/medium/DAM_revolutionary.tga new file mode 100644 index 000000000..5359b66b7 Binary files /dev/null and b/gfx/flags/medium/DAM_revolutionary.tga differ diff --git a/gfx/flags/medium/NDH_belligerent.tga b/gfx/flags/medium/NDH_belligerent.tga new file mode 100644 index 000000000..16786c831 Binary files /dev/null and b/gfx/flags/medium/NDH_belligerent.tga differ diff --git a/gfx/flags/medium/NDH_cooperative.tga b/gfx/flags/medium/NDH_cooperative.tga new file mode 100644 index 000000000..06d4538b5 Binary files /dev/null and b/gfx/flags/medium/NDH_cooperative.tga differ diff --git a/gfx/flags/medium/NDH_revolutionary.tga b/gfx/flags/medium/NDH_revolutionary.tga new file mode 100644 index 000000000..871c5ab20 Binary files /dev/null and b/gfx/flags/medium/NDH_revolutionary.tga differ diff --git a/gfx/flags/medium/NDH_unaligned.tga b/gfx/flags/medium/NDH_unaligned.tga new file mode 100644 index 000000000..06d4538b5 Binary files /dev/null and b/gfx/flags/medium/NDH_unaligned.tga differ diff --git a/gfx/flags/small/DAM.tga b/gfx/flags/small/DAM.tga new file mode 100644 index 000000000..f094c66c2 Binary files /dev/null and b/gfx/flags/small/DAM.tga differ diff --git a/gfx/flags/small/DAM_belligerent.tga b/gfx/flags/small/DAM_belligerent.tga new file mode 100644 index 000000000..260cdc3e6 Binary files /dev/null and b/gfx/flags/small/DAM_belligerent.tga differ diff --git a/gfx/flags/small/DAM_cooperative.tga b/gfx/flags/small/DAM_cooperative.tga new file mode 100644 index 000000000..f6e450e36 Binary files /dev/null and b/gfx/flags/small/DAM_cooperative.tga differ diff --git a/gfx/flags/small/DAM_revolutionary.tga b/gfx/flags/small/DAM_revolutionary.tga new file mode 100644 index 000000000..d1783798e Binary files /dev/null and b/gfx/flags/small/DAM_revolutionary.tga differ diff --git a/gfx/flags/small/NDH_belligerent.tga b/gfx/flags/small/NDH_belligerent.tga new file mode 100644 index 000000000..c53e62c7a Binary files /dev/null and b/gfx/flags/small/NDH_belligerent.tga differ diff --git a/gfx/flags/small/NDH_cooperative.tga b/gfx/flags/small/NDH_cooperative.tga new file mode 100644 index 000000000..24a19a75f Binary files /dev/null and b/gfx/flags/small/NDH_cooperative.tga differ diff --git a/gfx/flags/small/NDH_revolutionary.tga b/gfx/flags/small/NDH_revolutionary.tga new file mode 100644 index 000000000..f69790e73 Binary files /dev/null and b/gfx/flags/small/NDH_revolutionary.tga differ diff --git a/gfx/flags/small/NDH_unaligned.tga b/gfx/flags/small/NDH_unaligned.tga new file mode 100644 index 000000000..24a19a75f Binary files /dev/null and b/gfx/flags/small/NDH_unaligned.tga differ diff --git a/gfx/fonts/hoi_mapfont4.dds b/gfx/fonts/hoi_mapfont4.dds index 482d2361d..774db66c6 100644 Binary files a/gfx/fonts/hoi_mapfont4.dds and b/gfx/fonts/hoi_mapfont4.dds differ diff --git a/gfx/fonts/hoi_mapfont4.fnt b/gfx/fonts/hoi_mapfont4.fnt index 0f8e9c475..b1e8b5672 100644 --- a/gfx/fonts/hoi_mapfont4.fnt +++ b/gfx/fonts/hoi_mapfont4.fnt @@ -1,407 +1,473 @@ -info face="Aniron" size=-80 bold=0 italic=0 charset="" unicode=1 stretchH=100 smooth=1 aa=1 padding=0,0,0,0 spacing=1,1 outline=2 -common lineHeight=164 base=117 scaleW=1024 scaleH=1024 pages=1 packed=0 alphaChnl=0 redChnl=3 greenChnl=3 blueChnl=3 +info face="Aniron" size=-64 bold=0 italic=0 charset="" unicode=1 stretchH=100 smooth=1 aa=1 padding=0,0,0,0 spacing=1,1 outline=2 +common lineHeight=131 base=94 scaleW=1024 scaleH=1024 pages=1 packed=0 alphaChnl=0 redChnl=3 greenChnl=3 blueChnl=3 page id=0 file="hoi_mapfont4_0.dds" -chars count=199 -char id=32 x=102 y=147 width=7 height=5 xoffset=-3 yoffset=161 xadvance=42 page=0 chnl=15 -char id=33 x=99 y=764 width=19 height=58 xoffset=2 yoffset=62 xadvance=26 page=0 chnl=15 -char id=34 x=279 y=230 width=26 height=20 xoffset=0 yoffset=65 xadvance=32 page=0 chnl=15 -char id=35 x=169 y=878 width=38 height=45 xoffset=0 yoffset=70 xadvance=54 page=0 chnl=15 -char id=36 x=654 y=773 width=43 height=54 xoffset=1 yoffset=65 xadvance=52 page=0 chnl=15 -char id=37 x=956 y=628 width=54 height=58 xoffset=-2 yoffset=63 xadvance=66 page=0 chnl=15 -char id=38 x=93 y=457 width=83 height=82 xoffset=-2 yoffset=47 xadvance=87 page=0 chnl=15 -char id=39 x=352 y=331 width=14 height=20 xoffset=0 yoffset=65 xadvance=26 page=0 chnl=15 -char id=40 x=392 y=327 width=22 height=86 xoffset=-2 yoffset=52 xadvance=30 page=0 chnl=15 -char id=41 x=415 y=327 width=22 height=86 xoffset=-2 yoffset=52 xadvance=33 page=0 chnl=15 -char id=42 x=447 y=872 width=38 height=33 xoffset=0 yoffset=75 xadvance=44 page=0 chnl=15 -char id=43 x=486 y=863 width=35 height=33 xoffset=1 yoffset=75 xadvance=50 page=0 chnl=15 -char id=44 x=660 y=828 width=18 height=25 xoffset=-2 yoffset=104 xadvance=26 page=0 chnl=15 -char id=45 x=201 y=126 width=38 height=11 xoffset=0 yoffset=86 xadvance=44 page=0 chnl=15 -char id=46 x=306 y=230 width=21 height=15 xoffset=-2 yoffset=105 xadvance=26 page=0 chnl=15 -char id=47 x=50 y=764 width=48 height=58 xoffset=1 yoffset=63 xadvance=66 page=0 chnl=15 -char id=48 x=962 y=747 width=48 height=50 xoffset=-3 yoffset=70 xadvance=53 page=0 chnl=15 -char id=49 x=40 y=879 width=31 height=50 xoffset=-3 yoffset=70 xadvance=34 page=0 chnl=15 -char id=50 x=698 y=768 width=55 height=52 xoffset=-2 yoffset=68 xadvance=55 page=0 chnl=15 -char id=51 x=911 y=752 width=50 height=51 xoffset=-3 yoffset=69 xadvance=52 page=0 chnl=15 -char id=52 x=841 y=637 width=57 height=58 xoffset=-2 yoffset=64 xadvance=59 page=0 chnl=15 -char id=53 x=861 y=752 width=49 height=52 xoffset=-2 yoffset=68 xadvance=54 page=0 chnl=15 -char id=54 x=585 y=650 width=47 height=65 xoffset=-2 yoffset=55 xadvance=54 page=0 chnl=15 -char id=55 x=754 y=768 width=55 height=52 xoffset=-2 yoffset=68 xadvance=55 page=0 chnl=15 -char id=56 x=810 y=762 width=50 height=52 xoffset=-2 yoffset=68 xadvance=52 page=0 chnl=15 -char id=57 x=633 y=647 width=47 height=64 xoffset=-2 yoffset=68 xadvance=54 page=0 chnl=15 -char id=58 x=208 y=877 width=21 height=43 xoffset=-2 yoffset=77 xadvance=26 page=0 chnl=15 -char id=59 x=996 y=687 width=19 height=52 xoffset=-1 yoffset=77 xadvance=26 page=0 chnl=15 -char id=60 x=298 y=874 width=30 height=40 xoffset=0 yoffset=76 xadvance=41 page=0 chnl=15 -char id=61 x=392 y=414 width=38 height=21 xoffset=0 yoffset=82 xadvance=54 page=0 chnl=15 -char id=62 x=266 y=874 width=31 height=40 xoffset=-2 yoffset=76 xadvance=34 page=0 chnl=15 -char id=63 x=470 y=684 width=57 height=65 xoffset=1 yoffset=55 xadvance=60 page=0 chnl=15 -char id=64 x=511 y=326 width=87 height=84 xoffset=-1 yoffset=49 xadvance=98 page=0 chnl=15 -char id=65 x=880 y=403 width=92 height=80 xoffset=-3 yoffset=40 xadvance=94 page=0 chnl=15 -char id=66 x=177 y=456 width=76 height=82 xoffset=-6 yoffset=40 xadvance=78 page=0 chnl=15 -char id=67 x=717 y=487 width=71 height=79 xoffset=-1 yoffset=41 xadvance=79 page=0 chnl=15 -char id=68 x=394 y=0 width=85 height=122 xoffset=-2 yoffset=-2 xadvance=91 page=0 chnl=15 -char id=69 x=504 y=495 width=74 height=80 xoffset=-2 yoffset=40 xadvance=76 page=0 chnl=15 -char id=70 x=480 y=0 width=73 height=121 xoffset=-3 yoffset=40 xadvance=73 page=0 chnl=15 -char id=71 x=471 y=413 width=88 height=81 xoffset=-3 yoffset=39 xadvance=94 page=0 chnl=15 -char id=72 x=664 y=0 width=105 height=119 xoffset=-8 yoffset=9 xadvance=106 page=0 chnl=15 -char id=73 x=975 y=320 width=43 height=80 xoffset=-4 yoffset=40 xadvance=45 page=0 chnl=15 -char id=74 x=644 y=223 width=32 height=98 xoffset=-2 yoffset=40 xadvance=42 page=0 chnl=15 -char id=75 x=0 y=361 width=95 height=95 xoffset=-4 yoffset=27 xadvance=94 page=0 chnl=15 -char id=76 x=380 y=227 width=88 height=99 xoffset=-2 yoffset=21 xadvance=90 page=0 chnl=15 -char id=77 x=717 y=320 width=164 height=82 xoffset=-4 yoffset=38 xadvance=164 page=0 chnl=15 -char id=78 x=560 y=411 width=109 height=80 xoffset=-4 yoffset=40 xadvance=112 page=0 chnl=15 -char id=79 x=0 y=457 width=92 height=82 xoffset=-3 yoffset=38 xadvance=96 page=0 chnl=15 -char id=80 x=554 y=0 width=109 height=119 xoffset=-6 yoffset=40 xadvance=110 page=0 chnl=15 -char id=81 x=770 y=0 width=93 height=119 xoffset=-4 yoffset=40 xadvance=96 page=0 chnl=15 -char id=82 x=93 y=540 width=87 height=80 xoffset=-5 yoffset=40 xadvance=89 page=0 chnl=15 -char id=83 x=352 y=529 width=75 height=80 xoffset=-3 yoffset=40 xadvance=75 page=0 chnl=15 -char id=84 x=181 y=539 width=86 height=80 xoffset=-2 yoffset=40 xadvance=85 page=0 chnl=15 -char id=85 x=778 y=403 width=101 height=80 xoffset=-3 yoffset=41 xadvance=101 page=0 chnl=15 -char id=86 x=0 y=540 width=92 height=80 xoffset=-2 yoffset=40 xadvance=96 page=0 chnl=15 -char id=87 x=306 y=447 width=164 height=81 xoffset=-5 yoffset=41 xadvance=160 page=0 chnl=15 -char id=88 x=789 y=484 width=82 height=78 xoffset=-5 yoffset=42 xadvance=83 page=0 chnl=15 -char id=89 x=201 y=0 width=106 height=125 xoffset=-5 yoffset=40 xadvance=105 page=0 chnl=15 -char id=90 x=268 y=537 width=83 height=80 xoffset=-2 yoffset=40 xadvance=89 page=0 chnl=15 -char id=91 x=818 y=563 width=23 height=73 xoffset=-2 yoffset=59 xadvance=27 page=0 chnl=15 -char id=92 x=0 y=764 width=49 height=58 xoffset=1 yoffset=63 xadvance=66 page=0 chnl=15 -char id=93 x=794 y=563 width=23 height=73 xoffset=-2 yoffset=59 xadvance=33 page=0 chnl=15 -char id=94 x=597 y=862 width=34 height=26 xoffset=-1 yoffset=49 xadvance=41 page=0 chnl=15 -char id=95 x=864 y=105 width=53 height=10 xoffset=-3 yoffset=121 xadvance=47 page=0 chnl=15 -char id=96 x=822 y=815 width=15 height=21 xoffset=0 yoffset=64 xadvance=26 page=0 chnl=15 -char id=97 x=0 y=823 width=63 height=55 xoffset=-2 yoffset=65 xadvance=61 page=0 chnl=15 -char id=98 x=619 y=716 width=53 height=56 xoffset=-5 yoffset=65 xadvance=57 page=0 chnl=15 -char id=99 x=474 y=807 width=49 height=55 xoffset=-2 yoffset=65 xadvance=56 page=0 chnl=15 -char id=100 x=599 y=322 width=58 height=83 xoffset=-2 yoffset=37 xadvance=64 page=0 chnl=15 -char id=101 x=422 y=816 width=51 height=55 xoffset=-2 yoffset=65 xadvance=55 page=0 chnl=15 -char id=102 x=254 y=454 width=51 height=82 xoffset=-2 yoffset=65 xadvance=52 page=0 chnl=15 -char id=103 x=128 y=822 width=61 height=55 xoffset=-3 yoffset=65 xadvance=65 page=0 chnl=15 -char id=104 x=579 y=492 width=72 height=80 xoffset=-6 yoffset=45 xadvance=74 page=0 chnl=15 -char id=105 x=565 y=807 width=31 height=55 xoffset=-2 yoffset=65 xadvance=36 page=0 chnl=15 -char id=106 x=380 y=692 width=23 height=66 xoffset=-2 yoffset=65 xadvance=33 page=0 chnl=15 -char id=107 x=404 y=684 width=65 height=65 xoffset=-3 yoffset=56 xadvance=66 page=0 chnl=15 -char id=108 x=180 y=695 width=60 height=67 xoffset=-2 yoffset=53 xadvance=59 page=0 chnl=15 -char id=109 x=139 y=763 width=111 height=57 xoffset=-3 yoffset=63 xadvance=112 page=0 chnl=15 -char id=110 x=777 y=706 width=74 height=55 xoffset=-3 yoffset=65 xadvance=77 page=0 chnl=15 -char id=111 x=491 y=750 width=63 height=56 xoffset=-3 yoffset=64 xadvance=67 page=0 chnl=15 -char id=112 x=428 y=529 width=75 height=80 xoffset=-5 yoffset=65 xadvance=77 page=0 chnl=15 -char id=113 x=652 y=492 width=64 height=80 xoffset=-3 yoffset=65 xadvance=66 page=0 chnl=15 -char id=114 x=190 y=821 width=60 height=55 xoffset=-4 yoffset=65 xadvance=58 page=0 chnl=15 -char id=115 x=369 y=816 width=52 height=55 xoffset=-3 yoffset=65 xadvance=52 page=0 chnl=15 -char id=116 x=251 y=818 width=59 height=55 xoffset=-2 yoffset=65 xadvance=60 page=0 chnl=15 -char id=117 x=926 y=691 width=69 height=55 xoffset=-2 yoffset=65 xadvance=69 page=0 chnl=15 -char id=118 x=64 y=823 width=63 height=55 xoffset=-2 yoffset=65 xadvance=66 page=0 chnl=15 -char id=119 x=251 y=761 width=111 height=56 xoffset=-4 yoffset=65 xadvance=110 page=0 chnl=15 -char id=120 x=597 y=807 width=56 height=54 xoffset=-3 yoffset=66 xadvance=59 page=0 chnl=15 -char id=121 x=438 y=327 width=72 height=85 xoffset=-4 yoffset=65 xadvance=73 page=0 chnl=15 -char id=122 x=311 y=818 width=57 height=55 xoffset=-2 yoffset=65 xadvance=63 page=0 chnl=15 -char id=123 x=982 y=207 width=21 height=88 xoffset=0 yoffset=51 xadvance=28 page=0 chnl=15 -char id=124 x=1010 y=0 width=11 height=84 xoffset=-2 yoffset=51 xadvance=16 page=0 chnl=15 -char id=125 x=998 y=104 width=22 height=88 xoffset=-1 yoffset=51 xadvance=29 page=0 chnl=15 -char id=126 x=954 y=207 width=24 height=11 xoffset=-2 yoffset=65 xadvance=26 page=0 chnl=15 -char id=160 x=94 y=147 width=7 height=5 xoffset=-3 yoffset=161 xadvance=42 page=0 chnl=15 -char id=161 x=119 y=763 width=19 height=58 xoffset=2 yoffset=62 xadvance=26 page=0 chnl=15 -char id=162 x=524 y=807 width=40 height=55 xoffset=3 yoffset=65 xadvance=56 page=0 chnl=15 -char id=163 x=0 y=879 width=39 height=50 xoffset=2 yoffset=71 xadvance=69 page=0 chnl=15 -char id=164 x=121 y=879 width=47 height=45 xoffset=1 yoffset=60 xadvance=48 page=0 chnl=15 -char id=165 x=72 y=879 width=48 height=45 xoffset=-1 yoffset=75 xadvance=57 page=0 chnl=15 -char id=166 x=1004 y=193 width=11 height=84 xoffset=-2 yoffset=51 xadvance=16 page=0 chnl=15 -char id=167 x=872 y=484 width=32 height=77 xoffset=2 yoffset=65 xadvance=40 page=0 chnl=15 -char id=168 x=918 y=105 width=27 height=12 xoffset=2 yoffset=71 xadvance=69 page=0 chnl=15 -char id=169 x=427 y=750 width=63 height=56 xoffset=-3 yoffset=64 xadvance=67 page=0 chnl=15 -char id=170 x=619 y=773 width=34 height=29 xoffset=-2 yoffset=58 xadvance=41 page=0 chnl=15 -char id=171 x=408 y=872 width=38 height=33 xoffset=-1 yoffset=79 xadvance=40 page=0 chnl=15 -char id=172 x=530 y=650 width=52 height=24 xoffset=-2 yoffset=81 xadvance=57 page=0 chnl=15 -char id=174 x=363 y=759 width=63 height=56 xoffset=-3 yoffset=64 xadvance=67 page=0 chnl=15 -char id=176 x=585 y=716 width=27 height=27 xoffset=-2 yoffset=59 xadvance=41 page=0 chnl=15 -char id=177 x=230 y=877 width=35 height=42 xoffset=1 yoffset=70 xadvance=50 page=0 chnl=15 -char id=178 x=471 y=495 width=30 height=27 xoffset=-2 yoffset=59 xadvance=41 page=0 chnl=15 -char id=179 x=550 y=863 width=27 height=27 xoffset=-2 yoffset=59 xadvance=41 page=0 chnl=15 -char id=180 x=336 y=331 width=15 height=20 xoffset=0 yoffset=65 xadvance=26 page=0 chnl=15 -char id=182 x=681 y=647 width=40 height=62 xoffset=1 yoffset=57 xadvance=69 page=0 chnl=15 -char id=183 x=982 y=296 width=19 height=15 xoffset=6 yoffset=84 xadvance=34 page=0 chnl=15 -char id=184 x=757 y=821 width=24 height=21 xoffset=9 yoffset=115 xadvance=40 page=0 chnl=15 -char id=185 x=578 y=863 width=18 height=27 xoffset=-2 yoffset=59 xadvance=33 page=0 chnl=15 -char id=186 x=522 y=863 width=27 height=27 xoffset=-2 yoffset=59 xadvance=41 page=0 chnl=15 -char id=187 x=368 y=874 width=39 height=33 xoffset=-2 yoffset=79 xadvance=40 page=0 chnl=15 -char id=188 x=899 y=632 width=56 height=58 xoffset=1 yoffset=63 xadvance=66 page=0 chnl=15 -char id=189 x=782 y=641 width=58 height=58 xoffset=1 yoffset=63 xadvance=66 page=0 chnl=15 -char id=190 x=722 y=647 width=59 height=58 xoffset=-2 yoffset=63 xadvance=66 page=0 chnl=15 -char id=191 x=528 y=684 width=56 height=65 xoffset=1 yoffset=55 xadvance=60 page=0 chnl=15 -char id=192 x=768 y=120 width=92 height=101 xoffset=-3 yoffset=19 xadvance=94 page=0 chnl=15 -char id=193 x=168 y=258 width=92 height=100 xoffset=-3 yoffset=20 xadvance=94 page=0 chnl=15 -char id=194 x=93 y=154 width=92 height=103 xoffset=-3 yoffset=17 xadvance=94 page=0 chnl=15 -char id=195 x=299 y=352 width=92 height=94 xoffset=-3 yoffset=26 xadvance=94 page=0 chnl=15 -char id=196 x=677 y=222 width=92 height=97 xoffset=-3 yoffset=23 xadvance=94 page=0 chnl=15 -char id=197 x=0 y=154 width=92 height=104 xoffset=-3 yoffset=16 xadvance=94 page=0 chnl=15 -char id=198 x=670 y=406 width=107 height=80 xoffset=-3 yoffset=40 xadvance=113 page=0 chnl=15 -char id=199 x=427 y=123 width=71 height=103 xoffset=-1 yoffset=41 xadvance=79 page=0 chnl=15 -char id=200 x=0 y=259 width=74 height=101 xoffset=-2 yoffset=19 xadvance=76 page=0 chnl=15 -char id=201 x=261 y=251 width=74 height=100 xoffset=-2 yoffset=20 xadvance=76 page=0 chnl=15 -char id=202 x=279 y=126 width=74 height=103 xoffset=-2 yoffset=17 xadvance=76 page=0 chnl=15 -char id=203 x=863 y=222 width=74 height=97 xoffset=-2 yoffset=23 xadvance=76 page=0 chnl=15 -char id=204 x=954 y=105 width=43 height=101 xoffset=-4 yoffset=19 xadvance=45 page=0 chnl=15 -char id=205 x=336 y=230 width=43 height=100 xoffset=-4 yoffset=20 xadvance=45 page=0 chnl=15 -char id=206 x=966 y=0 width=43 height=103 xoffset=-4 yoffset=17 xadvance=45 page=0 chnl=15 -char id=207 x=938 y=222 width=43 height=97 xoffset=-4 yoffset=23 xadvance=45 page=0 chnl=15 -char id=208 x=308 y=0 width=85 height=122 xoffset=-2 yoffset=-2 xadvance=91 page=0 chnl=15 -char id=209 x=189 y=359 width=109 height=94 xoffset=-4 yoffset=26 xadvance=112 page=0 chnl=15 -char id=210 x=861 y=120 width=92 height=101 xoffset=-3 yoffset=19 xadvance=96 page=0 chnl=15 -char id=211 x=75 y=259 width=92 height=100 xoffset=-3 yoffset=20 xadvance=96 page=0 chnl=15 -char id=212 x=186 y=147 width=92 height=103 xoffset=-3 yoffset=17 xadvance=96 page=0 chnl=15 -char id=213 x=96 y=360 width=92 height=95 xoffset=-3 yoffset=25 xadvance=96 page=0 chnl=15 -char id=214 x=770 y=222 width=92 height=97 xoffset=-3 yoffset=23 xadvance=96 page=0 chnl=15 -char id=215 x=632 y=862 width=27 height=25 xoffset=6 yoffset=79 xadvance=50 page=0 chnl=15 -char id=216 x=882 y=320 width=92 height=82 xoffset=-3 yoffset=38 xadvance=96 page=0 chnl=15 -char id=217 x=564 y=120 width=101 height=102 xoffset=-3 yoffset=19 xadvance=101 page=0 chnl=15 -char id=218 x=666 y=120 width=101 height=101 xoffset=-3 yoffset=20 xadvance=101 page=0 chnl=15 -char id=219 x=864 y=0 width=101 height=104 xoffset=-3 yoffset=17 xadvance=101 page=0 chnl=15 -char id=220 x=469 y=227 width=101 height=98 xoffset=-3 yoffset=23 xadvance=101 page=0 chnl=15 -char id=221 x=94 y=0 width=106 height=146 xoffset=-5 yoffset=19 xadvance=105 page=0 chnl=15 -char id=222 x=0 y=0 width=93 height=153 xoffset=9 yoffset=6 xadvance=110 page=0 chnl=15 -char id=223 x=673 y=712 width=103 height=55 xoffset=-3 yoffset=65 xadvance=104 page=0 chnl=15 -char id=224 x=210 y=620 width=63 height=73 xoffset=-2 yoffset=47 xadvance=61 page=0 chnl=15 -char id=225 x=338 y=618 width=63 height=73 xoffset=-2 yoffset=47 xadvance=61 page=0 chnl=15 -char id=226 x=530 y=576 width=63 height=73 xoffset=-2 yoffset=47 xadvance=61 page=0 chnl=15 -char id=227 x=316 y=692 width=63 height=66 xoffset=-2 yoffset=54 xadvance=61 page=0 chnl=15 -char id=228 x=0 y=695 width=63 height=68 xoffset=-2 yoffset=52 xadvance=61 page=0 chnl=15 -char id=229 x=905 y=484 width=63 height=74 xoffset=-2 yoffset=46 xadvance=61 page=0 chnl=15 -char id=230 x=852 y=696 width=73 height=55 xoffset=-2 yoffset=65 xadvance=76 page=0 chnl=15 -char id=231 x=973 y=403 width=49 height=77 xoffset=-2 yoffset=65 xadvance=56 page=0 chnl=15 -char id=232 x=594 y=573 width=51 height=73 xoffset=-2 yoffset=47 xadvance=55 page=0 chnl=15 -char id=233 x=646 y=573 width=51 height=73 xoffset=-2 yoffset=47 xadvance=55 page=0 chnl=15 -char id=234 x=969 y=484 width=51 height=73 xoffset=-2 yoffset=47 xadvance=55 page=0 chnl=15 -char id=235 x=64 y=695 width=51 height=68 xoffset=-2 yoffset=52 xadvance=55 page=0 chnl=15 -char id=236 x=698 y=573 width=31 height=73 xoffset=-2 yoffset=47 xadvance=36 page=0 chnl=15 -char id=237 x=730 y=567 width=31 height=73 xoffset=-2 yoffset=47 xadvance=36 page=0 chnl=15 -char id=238 x=762 y=567 width=31 height=73 xoffset=-2 yoffset=47 xadvance=36 page=0 chnl=15 -char id=239 x=976 y=558 width=32 height=68 xoffset=-3 yoffset=52 xadvance=36 page=0 chnl=15 -char id=240 x=658 y=322 width=58 height=83 xoffset=-2 yoffset=37 xadvance=64 page=0 chnl=15 -char id=241 x=241 y=694 width=74 height=66 xoffset=-3 yoffset=54 xadvance=77 page=0 chnl=15 -char id=242 x=274 y=618 width=63 height=73 xoffset=-3 yoffset=47 xadvance=67 page=0 chnl=15 -char id=243 x=402 y=610 width=63 height=73 xoffset=-3 yoffset=47 xadvance=67 page=0 chnl=15 -char id=244 x=466 y=610 width=63 height=73 xoffset=-3 yoffset=47 xadvance=67 page=0 chnl=15 -char id=245 x=116 y=695 width=63 height=67 xoffset=-3 yoffset=53 xadvance=67 page=0 chnl=15 -char id=246 x=912 y=559 width=63 height=68 xoffset=-3 yoffset=52 xadvance=67 page=0 chnl=15 -char id=247 x=329 y=874 width=38 height=35 xoffset=0 yoffset=74 xadvance=44 page=0 chnl=15 -char id=248 x=555 y=750 width=63 height=56 xoffset=-3 yoffset=64 xadvance=67 page=0 chnl=15 -char id=249 x=0 y=621 width=69 height=73 xoffset=-2 yoffset=47 xadvance=69 page=0 chnl=15 -char id=250 x=70 y=621 width=69 height=73 xoffset=-2 yoffset=47 xadvance=69 page=0 chnl=15 -char id=251 x=140 y=621 width=69 height=73 xoffset=-2 yoffset=47 xadvance=69 page=0 chnl=15 -char id=252 x=842 y=563 width=69 height=68 xoffset=-2 yoffset=52 xadvance=69 page=0 chnl=15 -char id=253 x=354 y=123 width=72 height=103 xoffset=-4 yoffset=47 xadvance=73 page=0 chnl=15 -char id=254 x=499 y=122 width=64 height=103 xoffset=5 yoffset=42 xadvance=74 page=0 chnl=15 -char id=255 x=571 y=223 width=72 height=98 xoffset=-4 yoffset=52 xadvance=73 page=0 chnl=15 -char id=8208 x=240 y=126 width=38 height=11 xoffset=0 yoffset=86 xadvance=44 page=0 chnl=15 -char id=8216 x=806 y=821 width=15 height=21 xoffset=-1 yoffset=64 xadvance=26 page=0 chnl=15 -char id=8217 x=1009 y=558 width=14 height=21 xoffset=0 yoffset=64 xadvance=26 page=0 chnl=15 -char id=8218 x=838 y=815 width=14 height=21 xoffset=0 yoffset=107 xadvance=26 page=0 chnl=15 -char id=8219 x=853 y=815 width=14 height=21 xoffset=0 yoffset=64 xadvance=26 page=0 chnl=15 -char id=8220 x=731 y=821 width=25 height=21 xoffset=0 yoffset=64 xadvance=32 page=0 chnl=15 -char id=8221 x=504 y=576 width=25 height=21 xoffset=0 yoffset=64 xadvance=32 page=0 chnl=15 -char id=8222 x=679 y=828 width=25 height=21 xoffset=0 yoffset=105 xadvance=32 page=0 chnl=15 -char id=8226 x=782 y=821 width=23 height=21 xoffset=6 yoffset=80 xadvance=40 page=0 chnl=15 -char id=8242 x=868 y=805 width=14 height=21 xoffset=0 yoffset=64 xadvance=26 page=0 chnl=15 -char id=8243 x=705 y=821 width=25 height=21 xoffset=0 yoffset=64 xadvance=32 page=0 chnl=15 -kernings count=2190 -kerning first=65 second=73 amount=-5 -kerning first=65 second=76 amount=-9 -kerning first=65 second=79 amount=-5 -kerning first=65 second=80 amount=-6 -kerning first=65 second=81 amount=-9 -kerning first=65 second=84 amount=-13 -kerning first=65 second=85 amount=-7 -kerning first=65 second=86 amount=-17 -kerning first=65 second=87 amount=-21 -kerning first=65 second=89 amount=-15 -kerning first=65 second=99 amount=-8 -kerning first=65 second=100 amount=-8 -kerning first=65 second=101 amount=-8 -kerning first=65 second=103 amount=-8 -kerning first=65 second=105 amount=-6 -kerning first=65 second=108 amount=-6 -kerning first=65 second=109 amount=-4 -kerning first=65 second=111 amount=-8 -kerning first=65 second=112 amount=-8 -kerning first=65 second=113 amount=-8 -kerning first=65 second=116 amount=-12 -kerning first=65 second=117 amount=-6 -kerning first=65 second=118 amount=-18 -kerning first=65 second=119 amount=-18 -kerning first=65 second=121 amount=-10 -kerning first=65 second=204 amount=-5 -kerning first=65 second=205 amount=-5 -kerning first=65 second=206 amount=-5 -kerning first=65 second=207 amount=-5 -kerning first=65 second=210 amount=-5 -kerning first=65 second=211 amount=-5 -kerning first=65 second=212 amount=-5 -kerning first=65 second=213 amount=-5 -kerning first=65 second=214 amount=-5 -kerning first=65 second=216 amount=-5 -kerning first=65 second=217 amount=-7 -kerning first=65 second=218 amount=-7 -kerning first=65 second=219 amount=-7 -kerning first=65 second=220 amount=-7 -kerning first=65 second=221 amount=-15 -kerning first=65 second=231 amount=-8 -kerning first=65 second=232 amount=-8 -kerning first=65 second=233 amount=-8 -kerning first=65 second=234 amount=-8 -kerning first=65 second=235 amount=-8 -kerning first=65 second=236 amount=-6 -kerning first=65 second=237 amount=-6 -kerning first=65 second=238 amount=-6 -kerning first=65 second=239 amount=-6 -kerning first=65 second=240 amount=-8 -kerning first=65 second=242 amount=-8 -kerning first=65 second=243 amount=-8 -kerning first=65 second=244 amount=-8 -kerning first=65 second=245 amount=-8 -kerning first=65 second=246 amount=-8 -kerning first=65 second=248 amount=-8 -kerning first=65 second=249 amount=-6 -kerning first=65 second=250 amount=-6 -kerning first=65 second=251 amount=-6 -kerning first=65 second=252 amount=-6 -kerning first=65 second=253 amount=-10 -kerning first=65 second=254 amount=-8 -kerning first=65 second=255 amount=-10 -kerning first=66 second=109 amount=-6 +chars count=265 +char id=32 x=172 y=111 width=7 height=5 xoffset=-3 yoffset=128 xadvance=34 page=0 chnl=15 +char id=33 x=1006 y=251 width=16 height=48 xoffset=1 yoffset=49 xadvance=20 page=0 chnl=15 +char id=34 x=401 y=889 width=22 height=17 xoffset=0 yoffset=52 xadvance=26 page=0 chnl=15 +char id=35 x=812 y=795 width=31 height=37 xoffset=-1 yoffset=56 xadvance=44 page=0 chnl=15 +char id=36 x=361 y=845 width=35 height=44 xoffset=1 yoffset=52 xadvance=41 page=0 chnl=15 +char id=37 x=661 y=666 width=45 height=47 xoffset=-2 yoffset=51 xadvance=53 page=0 chnl=15 +char id=38 x=152 y=440 width=67 height=66 xoffset=-2 yoffset=38 xadvance=70 page=0 chnl=15 +char id=39 x=1005 y=511 width=13 height=17 xoffset=0 yoffset=52 xadvance=20 page=0 chnl=15 +char id=40 x=601 y=261 width=19 height=70 xoffset=-2 yoffset=41 xadvance=24 page=0 chnl=15 +char id=41 x=581 y=265 width=19 height=70 xoffset=-2 yoffset=41 xadvance=27 page=0 chnl=15 +char id=42 x=33 y=894 width=31 height=27 xoffset=-1 yoffset=60 xadvance=35 page=0 chnl=15 +char id=43 x=65 y=894 width=29 height=27 xoffset=1 yoffset=60 xadvance=40 page=0 chnl=15 +char id=44 x=247 y=893 width=16 height=21 xoffset=-2 yoffset=83 xadvance=20 page=0 chnl=15 +char id=45 x=213 y=187 width=31 height=9 xoffset=-1 yoffset=69 xadvance=35 page=0 chnl=15 +char id=46 x=245 y=187 width=17 height=13 xoffset=-2 yoffset=84 xadvance=20 page=0 chnl=15 +char id=47 x=794 y=655 width=40 height=47 xoffset=1 yoffset=51 xadvance=53 page=0 chnl=15 +char id=48 x=630 y=813 width=40 height=41 xoffset=-3 yoffset=56 xadvance=43 page=0 chnl=15 +char id=49 x=704 y=806 width=26 height=41 xoffset=-3 yoffset=56 xadvance=27 page=0 chnl=15 +char id=50 x=526 y=814 width=45 height=42 xoffset=-2 yoffset=55 xadvance=44 page=0 chnl=15 +char id=51 x=572 y=813 width=40 height=42 xoffset=-3 yoffset=55 xadvance=41 page=0 chnl=15 +char id=52 x=254 y=753 width=46 height=46 xoffset=-2 yoffset=52 xadvance=47 page=0 chnl=15 +char id=53 x=485 y=838 width=40 height=43 xoffset=-2 yoffset=54 xadvance=43 page=0 chnl=15 +char id=54 x=390 y=692 width=39 height=53 xoffset=-2 yoffset=44 xadvance=43 page=0 chnl=15 +char id=55 x=397 y=845 width=45 height=43 xoffset=-2 yoffset=54 xadvance=44 page=0 chnl=15 +char id=56 x=443 y=838 width=41 height=43 xoffset=-2 yoffset=54 xadvance=42 page=0 chnl=15 +char id=57 x=430 y=673 width=39 height=52 xoffset=-2 yoffset=54 xadvance=43 page=0 chnl=15 +char id=58 x=844 y=795 width=17 height=35 xoffset=-2 yoffset=62 xadvance=20 page=0 chnl=15 +char id=59 x=613 y=813 width=16 height=42 xoffset=-1 yoffset=62 xadvance=20 page=0 chnl=15 +char id=60 x=919 y=794 width=25 height=33 xoffset=-1 yoffset=61 xadvance=33 page=0 chnl=15 +char id=61 x=315 y=414 width=31 height=17 xoffset=-1 yoffset=66 xadvance=44 page=0 chnl=15 +char id=62 x=892 y=794 width=26 height=33 xoffset=-2 yoffset=61 xadvance=27 page=0 chnl=15 +char id=63 x=295 y=699 width=47 height=53 xoffset=0 yoffset=44 xadvance=48 page=0 chnl=15 +char id=64 x=741 y=261 width=71 height=68 xoffset=-1 yoffset=39 xadvance=78 page=0 chnl=15 +char id=65 x=317 y=500 width=75 height=65 xoffset=-2 yoffset=32 xadvance=76 page=0 chnl=15 +char id=66 x=287 y=433 width=62 height=66 xoffset=-5 yoffset=32 xadvance=62 page=0 chnl=15 +char id=67 x=245 y=573 width=58 height=65 xoffset=-2 yoffset=32 xadvance=63 page=0 chnl=15 +char id=68 x=338 y=0 width=69 height=99 xoffset=-2 yoffset=-2 xadvance=73 page=0 chnl=15 +char id=69 x=123 y=573 width=60 height=65 xoffset=-2 yoffset=32 xadvance=61 page=0 chnl=15 +char id=70 x=478 y=0 width=60 height=98 xoffset=-3 yoffset=32 xadvance=59 page=0 chnl=15 +char id=71 x=393 y=481 width=72 height=65 xoffset=-3 yoffset=32 xadvance=75 page=0 chnl=15 +char id=72 x=907 y=0 width=85 height=95 xoffset=-6 yoffset=8 xadvance=85 page=0 chnl=15 +char id=73 x=475 y=547 width=36 height=65 xoffset=-3 yoffset=32 xadvance=36 page=0 chnl=15 +char id=74 x=993 y=0 width=27 height=79 xoffset=-2 yoffset=32 xadvance=34 page=0 chnl=15 +char id=75 x=158 y=287 width=77 height=77 xoffset=-3 yoffset=22 xadvance=75 page=0 chnl=15 +char id=76 x=520 y=184 width=71 height=80 xoffset=-2 yoffset=17 xadvance=72 page=0 chnl=15 +char id=77 x=824 y=261 width=132 height=67 xoffset=-4 yoffset=30 xadvance=131 page=0 chnl=15 +char id=78 x=779 y=398 width=88 height=65 xoffset=-3 yoffset=32 xadvance=90 page=0 chnl=15 +char id=79 x=392 y=346 width=74 height=67 xoffset=-3 yoffset=30 xadvance=77 page=0 chnl=15 +char id=80 x=652 y=0 width=88 height=96 xoffset=-5 yoffset=32 xadvance=88 page=0 chnl=15 +char id=81 x=830 y=0 width=76 height=96 xoffset=-3 yoffset=32 xadvance=77 page=0 chnl=15 +char id=82 x=466 y=481 width=71 height=65 xoffset=-4 yoffset=32 xadvance=71 page=0 chnl=15 +char id=83 x=0 y=573 width=61 height=65 xoffset=-3 yoffset=32 xadvance=60 page=0 chnl=15 +char id=84 x=538 y=479 width=70 height=65 xoffset=-2 yoffset=32 xadvance=68 page=0 chnl=15 +char id=85 x=0 y=440 width=82 height=66 xoffset=-3 yoffset=32 xadvance=81 page=0 chnl=15 +char id=86 x=241 y=507 width=75 height=65 xoffset=-2 yoffset=32 xadvance=77 page=0 chnl=15 +char id=87 x=666 y=331 width=132 height=66 xoffset=-4 yoffset=32 xadvance=128 page=0 chnl=15 +char id=88 x=580 y=545 width=67 height=64 xoffset=-4 yoffset=33 xadvance=66 page=0 chnl=15 +char id=89 x=251 y=0 width=86 height=101 xoffset=-5 yoffset=32 xadvance=84 page=0 chnl=15 +char id=90 x=750 y=464 width=68 height=65 xoffset=-2 yoffset=32 xadvance=71 page=0 chnl=15 +char id=91 x=422 y=613 width=19 height=59 xoffset=-2 yoffset=47 xadvance=21 page=0 chnl=15 +char id=92 x=753 y=655 width=40 height=47 xoffset=1 yoffset=51 xadvance=53 page=0 chnl=15 +char id=93 x=442 y=613 width=19 height=59 xoffset=-2 yoffset=47 xadvance=27 page=0 chnl=15 +char id=94 x=476 y=768 width=28 height=22 xoffset=-1 yoffset=39 xadvance=33 page=0 chnl=15 +char id=95 x=164 y=102 width=44 height=8 xoffset=-3 yoffset=97 xadvance=38 page=0 chnl=15 +char id=96 x=424 y=889 width=13 height=17 xoffset=-1 yoffset=51 xadvance=20 page=0 chnl=15 +char id=97 x=0 y=802 width=52 height=45 xoffset=-2 yoffset=52 xadvance=48 page=0 chnl=15 +char id=98 x=846 y=749 width=43 height=45 xoffset=-4 yoffset=52 xadvance=45 page=0 chnl=15 +char id=99 x=215 y=847 width=41 height=45 xoffset=-2 yoffset=52 xadvance=45 page=0 chnl=15 +char id=100 x=617 y=332 width=48 height=67 xoffset=-2 yoffset=30 xadvance=51 page=0 chnl=15 +char id=101 x=0 y=848 width=42 height=45 xoffset=-2 yoffset=52 xadvance=44 page=0 chnl=15 +char id=102 x=538 y=412 width=42 height=66 xoffset=-2 yoffset=52 xadvance=41 page=0 chnl=15 +char id=103 x=315 y=799 width=50 height=45 xoffset=-3 yoffset=52 xadvance=52 page=0 chnl=15 +char id=104 x=363 y=566 width=58 height=65 xoffset=-5 yoffset=36 xadvance=59 page=0 chnl=15 +char id=105 x=334 y=845 width=26 height=45 xoffset=-2 yoffset=52 xadvance=29 page=0 chnl=15 +char id=106 x=220 y=699 width=20 height=54 xoffset=-2 yoffset=52 xadvance=27 page=0 chnl=15 +char id=107 x=241 y=699 width=53 height=53 xoffset=-3 yoffset=45 xadvance=53 page=0 chnl=15 +char id=108 x=890 y=590 width=50 height=55 xoffset=-2 yoffset=42 xadvance=47 page=0 chnl=15 +char id=109 x=835 y=655 width=90 height=46 xoffset=-3 yoffset=51 xadvance=89 page=0 chnl=15 +char id=110 x=551 y=721 width=61 height=45 xoffset=-3 yoffset=52 xadvance=62 page=0 chnl=15 +char id=111 x=914 y=702 width=52 height=45 xoffset=-2 yoffset=52 xadvance=53 page=0 chnl=15 +char id=112 x=819 y=464 width=61 height=65 xoffset=-4 yoffset=52 xadvance=61 page=0 chnl=15 +char id=113 x=422 y=547 width=52 height=65 xoffset=-3 yoffset=52 xadvance=53 page=0 chnl=15 +char id=114 x=515 y=768 width=48 height=45 xoffset=-2 yoffset=52 xadvance=46 page=0 chnl=15 +char id=115 x=129 y=847 width=42 height=45 xoffset=-2 yoffset=52 xadvance=41 page=0 chnl=15 +char id=116 x=416 y=792 width=49 height=45 xoffset=-2 yoffset=52 xadvance=48 page=0 chnl=15 +char id=117 x=857 y=702 width=56 height=45 xoffset=-2 yoffset=52 xadvance=55 page=0 chnl=15 +char id=118 x=263 y=800 width=51 height=45 xoffset=-2 yoffset=52 xadvance=53 page=0 chnl=15 +char id=119 x=301 y=753 width=90 height=45 xoffset=-3 yoffset=52 xadvance=88 page=0 chnl=15 +char id=120 x=754 y=751 width=46 height=45 xoffset=-3 yoffset=52 xadvance=47 page=0 chnl=15 +char id=121 x=621 y=261 width=59 height=69 xoffset=-4 yoffset=52 xadvance=58 page=0 chnl=15 +char id=122 x=564 y=767 width=47 height=45 xoffset=-2 yoffset=52 xadvance=50 page=0 chnl=15 +char id=123 x=562 y=265 width=18 height=71 xoffset=0 yoffset=41 xadvance=23 page=0 chnl=15 +char id=124 x=1011 y=179 width=10 height=68 xoffset=-2 yoffset=41 xadvance=13 page=0 chnl=15 +char id=125 x=991 y=179 width=19 height=71 xoffset=-1 yoffset=41 xadvance=23 page=0 chnl=15 +char id=126 x=452 y=882 width=20 height=10 xoffset=-2 yoffset=52 xadvance=21 page=0 chnl=15 +char id=160 x=164 y=111 width=7 height=5 xoffset=-3 yoffset=128 xadvance=34 page=0 chnl=15 +char id=161 x=1005 y=462 width=16 height=48 xoffset=1 yoffset=49 xadvance=20 page=0 chnl=15 +char id=162 x=299 y=846 width=34 height=45 xoffset=2 yoffset=52 xadvance=45 page=0 chnl=15 +char id=163 x=671 y=806 width=32 height=41 xoffset=1 yoffset=57 xadvance=55 page=0 chnl=15 +char id=164 x=772 y=797 width=39 height=37 xoffset=0 yoffset=48 xadvance=39 page=0 chnl=15 +char id=165 x=731 y=806 width=40 height=37 xoffset=-1 yoffset=60 xadvance=46 page=0 chnl=15 +char id=166 x=813 y=261 width=10 height=68 xoffset=-2 yoffset=41 xadvance=13 page=0 chnl=15 +char id=167 x=996 y=328 width=27 height=62 xoffset=1 yoffset=52 xadvance=32 page=0 chnl=15 +char id=168 x=993 y=80 width=23 height=10 xoffset=1 yoffset=57 xadvance=55 page=0 chnl=15 +char id=169 x=159 y=801 width=51 height=45 xoffset=-2 yoffset=52 xadvance=53 page=0 chnl=15 +char id=170 x=95 y=894 width=29 height=24 xoffset=-2 yoffset=46 xadvance=33 page=0 chnl=15 +char id=171 x=977 y=794 width=32 height=27 xoffset=-1 yoffset=64 xadvance=32 page=0 chnl=15 +char id=172 x=264 y=893 width=43 height=20 xoffset=-2 yoffset=65 xadvance=46 page=0 chnl=15 +char id=174 x=211 y=801 width=51 height=45 xoffset=-2 yoffset=52 xadvance=53 page=0 chnl=15 +char id=176 x=176 y=893 width=23 height=22 xoffset=-2 yoffset=47 xadvance=33 page=0 chnl=15 +char id=177 x=862 y=795 width=29 height=34 xoffset=1 yoffset=56 xadvance=40 page=0 chnl=15 +char id=178 x=125 y=894 width=26 height=23 xoffset=-2 yoffset=47 xadvance=33 page=0 chnl=15 +char id=179 x=152 y=893 width=23 height=23 xoffset=-2 yoffset=47 xadvance=33 page=0 chnl=15 +char id=180 x=296 y=269 width=13 height=16 xoffset=0 yoffset=52 xadvance=20 page=0 chnl=15 +char id=182 x=470 y=671 width=33 height=50 xoffset=0 yoffset=46 xadvance=55 page=0 chnl=15 +char id=183 x=373 y=481 width=16 height=13 xoffset=4 yoffset=67 xadvance=27 page=0 chnl=15 +char id=184 x=331 y=892 width=21 height=18 xoffset=6 yoffset=92 xadvance=32 page=0 chnl=15 +char id=185 x=1006 y=300 width=16 height=23 xoffset=-2 yoffset=47 xadvance=26 page=0 chnl=15 +char id=186 x=200 y=893 width=23 height=22 xoffset=-2 yoffset=47 xadvance=33 page=0 chnl=15 +char id=187 x=0 y=894 width=32 height=27 xoffset=-2 yoffset=64 xadvance=32 page=0 chnl=15 +char id=188 x=707 y=657 width=45 height=47 xoffset=1 yoffset=51 xadvance=53 page=0 chnl=15 +char id=189 x=612 y=666 width=48 height=47 xoffset=1 yoffset=51 xadvance=53 page=0 chnl=15 +char id=190 x=563 y=670 width=48 height=47 xoffset=-2 yoffset=51 xadvance=53 page=0 chnl=15 +char id=191 x=343 y=699 width=46 height=53 xoffset=0 yoffset=44 xadvance=48 page=0 chnl=15 +char id=192 x=0 y=209 width=75 height=82 xoffset=-2 yoffset=15 xadvance=76 page=0 chnl=15 +char id=193 x=188 y=204 width=75 height=81 xoffset=-2 yoffset=16 xadvance=76 page=0 chnl=15 +char id=194 x=643 y=97 width=75 height=83 xoffset=-2 yoffset=14 xadvance=76 page=0 chnl=15 +char id=195 x=400 y=267 width=75 height=76 xoffset=-2 yoffset=21 xadvance=76 page=0 chnl=15 +char id=196 x=779 y=181 width=75 height=79 xoffset=-2 yoffset=18 xadvance=76 page=0 chnl=15 +char id=197 x=296 y=102 width=75 height=84 xoffset=-2 yoffset=13 xadvance=76 page=0 chnl=15 +char id=198 x=868 y=397 width=87 height=65 xoffset=-2 yoffset=32 xadvance=91 page=0 chnl=15 +char id=199 x=447 y=100 width=58 height=84 xoffset=-2 yoffset=32 xadvance=63 page=0 chnl=15 +char id=200 x=960 y=96 width=60 height=82 xoffset=-2 yoffset=15 xadvance=61 page=0 chnl=15 +char id=201 x=339 y=187 width=60 height=81 xoffset=-2 yoffset=16 xadvance=61 page=0 chnl=15 +char id=202 x=719 y=97 width=60 height=83 xoffset=-2 yoffset=14 xadvance=61 page=0 chnl=15 +char id=203 x=0 y=292 width=60 height=79 xoffset=-2 yoffset=18 xadvance=61 page=0 chnl=15 +char id=204 x=151 y=204 width=36 height=82 xoffset=-3 yoffset=15 xadvance=36 page=0 chnl=15 +char id=205 x=400 y=185 width=36 height=81 xoffset=-3 yoffset=16 xadvance=36 page=0 chnl=15 +char id=206 x=840 y=97 width=36 height=83 xoffset=-3 yoffset=14 xadvance=36 page=0 chnl=15 +char id=207 x=121 y=292 width=36 height=79 xoffset=-3 yoffset=18 xadvance=36 page=0 chnl=15 +char id=208 x=408 y=0 width=69 height=99 xoffset=-2 yoffset=-2 xadvance=73 page=0 chnl=15 +char id=209 x=311 y=269 width=88 height=76 xoffset=-3 yoffset=21 xadvance=90 page=0 chnl=15 +char id=210 x=76 y=209 width=74 height=82 xoffset=-3 yoffset=15 xadvance=77 page=0 chnl=15 +char id=211 x=264 y=187 width=74 height=81 xoffset=-3 yoffset=16 xadvance=77 page=0 chnl=15 +char id=212 x=372 y=100 width=74 height=84 xoffset=-3 yoffset=13 xadvance=77 page=0 chnl=15 +char id=213 x=236 y=286 width=74 height=77 xoffset=-3 yoffset=20 xadvance=77 page=0 chnl=15 +char id=214 x=855 y=181 width=74 height=79 xoffset=-3 yoffset=18 xadvance=77 page=0 chnl=15 +char id=215 x=224 y=893 width=22 height=21 xoffset=4 yoffset=63 xadvance=40 page=0 chnl=15 +char id=216 x=467 y=344 width=74 height=67 xoffset=-3 yoffset=30 xadvance=77 page=0 chnl=15 +char id=217 x=560 y=97 width=82 height=83 xoffset=-3 yoffset=15 xadvance=81 page=0 chnl=15 +char id=218 x=877 y=97 width=82 height=82 xoffset=-3 yoffset=16 xadvance=81 page=0 chnl=15 +char id=219 x=213 y=102 width=82 height=84 xoffset=-3 yoffset=14 xadvance=81 page=0 chnl=15 +char id=220 x=437 y=185 width=82 height=80 xoffset=-3 yoffset=18 xadvance=81 page=0 chnl=15 +char id=221 x=77 y=0 width=86 height=118 xoffset=-5 yoffset=15 xadvance=84 page=0 chnl=15 +char id=222 x=0 y=0 width=76 height=123 xoffset=6 yoffset=5 xadvance=88 page=0 chnl=15 +char id=223 x=392 y=746 width=83 height=45 xoffset=-2 yoffset=52 xadvance=83 page=0 chnl=15 +char id=224 x=53 y=639 width=52 height=59 xoffset=-2 yoffset=38 xadvance=48 page=0 chnl=15 +char id=225 x=106 y=639 width=52 height=59 xoffset=-2 yoffset=38 xadvance=48 page=0 chnl=15 +char id=226 x=159 y=639 width=52 height=59 xoffset=-2 yoffset=38 xadvance=48 page=0 chnl=15 +char id=227 x=167 y=699 width=52 height=54 xoffset=-2 yoffset=43 xadvance=48 page=0 chnl=15 +char id=228 x=784 y=599 width=52 height=55 xoffset=-2 yoffset=42 xadvance=48 page=0 chnl=15 +char id=229 x=690 y=538 width=52 height=60 xoffset=-2 yoffset=37 xadvance=48 page=0 chnl=15 +char id=230 x=736 y=705 width=60 height=45 xoffset=-2 yoffset=52 xadvance=61 page=0 chnl=15 +char id=231 x=648 y=538 width=41 height=62 xoffset=-2 yoffset=52 xadvance=45 page=0 chnl=15 +char id=232 x=212 y=639 width=42 height=59 xoffset=-2 yoffset=38 xadvance=44 page=0 chnl=15 +char id=233 x=255 y=639 width=42 height=59 xoffset=-2 yoffset=38 xadvance=44 page=0 chnl=15 +char id=234 x=298 y=639 width=42 height=59 xoffset=-2 yoffset=38 xadvance=44 page=0 chnl=15 +char id=235 x=941 y=589 width=42 height=55 xoffset=-2 yoffset=42 xadvance=44 page=0 chnl=15 +char id=236 x=395 y=632 width=26 height=59 xoffset=-2 yoffset=38 xadvance=29 page=0 chnl=15 +char id=237 x=368 y=632 width=26 height=59 xoffset=-2 yoffset=38 xadvance=29 page=0 chnl=15 +char id=238 x=341 y=639 width=26 height=59 xoffset=-2 yoffset=38 xadvance=29 page=0 chnl=15 +char id=239 x=984 y=589 width=27 height=55 xoffset=-3 yoffset=42 xadvance=29 page=0 chnl=15 +char id=240 x=957 y=260 width=48 height=67 xoffset=-2 yoffset=30 xadvance=51 page=0 chnl=15 +char id=241 x=105 y=699 width=61 height=54 xoffset=-3 yoffset=43 xadvance=62 page=0 chnl=15 +char id=242 x=967 y=529 width=52 height=59 xoffset=-2 yoffset=38 xadvance=53 page=0 chnl=15 +char id=243 x=0 y=639 width=52 height=59 xoffset=-2 yoffset=38 xadvance=53 page=0 chnl=15 +char id=244 x=743 y=538 width=52 height=60 xoffset=-2 yoffset=37 xadvance=53 page=0 chnl=15 +char id=245 x=731 y=599 width=52 height=55 xoffset=-2 yoffset=42 xadvance=53 page=0 chnl=15 +char id=246 x=837 y=590 width=52 height=55 xoffset=-2 yoffset=42 xadvance=53 page=0 chnl=15 +char id=247 x=945 y=794 width=31 height=29 xoffset=-1 yoffset=59 xadvance=35 page=0 chnl=15 +char id=248 x=53 y=802 width=52 height=45 xoffset=-2 yoffset=52 xadvance=53 page=0 chnl=15 +char id=249 x=796 y=530 width=56 height=59 xoffset=-2 yoffset=38 xadvance=55 page=0 chnl=15 +char id=250 x=910 y=529 width=56 height=59 xoffset=-2 yoffset=38 xadvance=55 page=0 chnl=15 +char id=251 x=853 y=530 width=56 height=59 xoffset=-2 yoffset=38 xadvance=55 page=0 chnl=15 +char id=252 x=674 y=601 width=56 height=55 xoffset=-2 yoffset=42 xadvance=55 page=0 chnl=15 +char id=253 x=780 y=97 width=59 height=83 xoffset=-4 yoffset=38 xadvance=58 page=0 chnl=15 +char id=254 x=506 y=99 width=53 height=84 xoffset=3 yoffset=33 xadvance=59 page=0 chnl=15 +char id=255 x=61 y=292 width=59 height=79 xoffset=-4 yoffset=42 xadvance=58 page=0 chnl=15 +char id=1025 x=930 y=180 width=60 height=79 xoffset=-2 yoffset=18 xadvance=61 page=0 chnl=15 +char id=1040 x=165 y=507 width=75 height=65 xoffset=-2 yoffset=32 xadvance=76 page=0 chnl=15 +char id=1041 x=476 y=412 width=61 height=66 xoffset=-6 yoffset=32 xadvance=62 page=0 chnl=15 +char id=1042 x=413 y=414 width=62 height=66 xoffset=-5 yoffset=32 xadvance=62 page=0 chnl=15 +char id=1043 x=956 y=396 width=62 height=65 xoffset=-5 yoffset=32 xadvance=63 page=0 chnl=15 +char id=1044 x=592 y=181 width=97 height=79 xoffset=-3 yoffset=33 xadvance=97 page=0 chnl=15 +char id=1045 x=62 y=573 width=60 height=65 xoffset=-2 yoffset=32 xadvance=61 page=0 chnl=15 +char id=1046 x=799 y=330 width=108 height=66 xoffset=-5 yoffset=33 xadvance=106 page=0 chnl=15 +char id=1047 x=881 y=463 width=61 height=65 xoffset=-4 yoffset=32 xadvance=64 page=0 chnl=15 +char id=1048 x=690 y=398 width=88 height=65 xoffset=-3 yoffset=32 xadvance=93 page=0 chnl=15 +char id=1049 x=690 y=181 width=88 height=79 xoffset=-3 yoffset=18 xadvance=93 page=0 chnl=15 +char id=1050 x=315 y=346 width=76 height=67 xoffset=-4 yoffset=32 xadvance=75 page=0 chnl=15 +char id=1051 x=233 y=365 width=81 height=67 xoffset=-5 yoffset=30 xadvance=79 page=0 chnl=15 +char id=1052 x=0 y=372 width=132 height=67 xoffset=-4 yoffset=30 xadvance=131 page=0 chnl=15 +char id=1053 x=0 y=507 width=86 height=65 xoffset=-3 yoffset=32 xadvance=91 page=0 chnl=15 +char id=1054 x=542 y=338 width=74 height=67 xoffset=-3 yoffset=30 xadvance=77 page=0 chnl=15 +char id=1055 x=476 y=266 width=85 height=71 xoffset=-6 yoffset=32 xadvance=89 page=0 chnl=15 +char id=1056 x=741 y=0 width=88 height=96 xoffset=-5 yoffset=32 xadvance=88 page=0 chnl=15 +char id=1057 x=304 y=573 width=58 height=65 xoffset=-2 yoffset=32 xadvance=63 page=0 chnl=15 +char id=1058 x=609 y=472 width=70 height=65 xoffset=-2 yoffset=32 xadvance=68 page=0 chnl=15 +char id=1059 x=164 y=0 width=86 height=101 xoffset=-5 yoffset=32 xadvance=84 page=0 chnl=15 +char id=1060 x=539 y=0 width=112 height=96 xoffset=-3 yoffset=32 xadvance=120 page=0 chnl=15 +char id=1061 x=512 y=547 width=67 height=64 xoffset=-4 yoffset=33 xadvance=66 page=0 chnl=15 +char id=1062 x=120 y=119 width=92 height=84 xoffset=-4 yoffset=33 xadvance=91 page=0 chnl=15 +char id=1063 x=83 y=440 width=68 height=66 xoffset=-2 yoffset=32 xadvance=72 page=0 chnl=15 +char id=1064 x=581 y=406 width=108 height=65 xoffset=-3 yoffset=33 xadvance=110 page=0 chnl=15 +char id=1065 x=0 y=124 width=119 height=84 xoffset=-4 yoffset=33 xadvance=117 page=0 chnl=15 +char id=1066 x=220 y=440 width=66 height=66 xoffset=-3 yoffset=32 xadvance=70 page=0 chnl=15 +char id=1067 x=908 y=329 width=87 height=66 xoffset=-6 yoffset=32 xadvance=85 page=0 chnl=15 +char id=1068 x=350 y=414 width=62 height=66 xoffset=-6 yoffset=32 xadvance=62 page=0 chnl=15 +char id=1069 x=184 y=573 width=60 height=65 xoffset=-2 yoffset=32 xadvance=63 page=0 chnl=15 +char id=1070 x=133 y=372 width=99 height=67 xoffset=-3 yoffset=30 xadvance=102 page=0 chnl=15 +char id=1071 x=680 y=472 width=69 height=65 xoffset=-3 yoffset=32 xadvance=71 page=0 chnl=15 +char id=1072 x=967 y=693 width=52 height=45 xoffset=-2 yoffset=52 xadvance=48 page=0 chnl=15 +char id=1073 x=934 y=748 width=43 height=45 xoffset=-4 yoffset=52 xadvance=45 page=0 chnl=15 +char id=1074 x=890 y=748 width=43 height=45 xoffset=-4 yoffset=52 xadvance=45 page=0 chnl=15 +char id=1075 x=86 y=848 width=42 height=45 xoffset=-4 yoffset=52 xadvance=39 page=0 chnl=15 +char id=1076 x=606 y=610 width=67 height=55 xoffset=-3 yoffset=52 xadvance=64 page=0 chnl=15 +char id=1077 x=43 y=848 width=42 height=45 xoffset=-2 yoffset=52 xadvance=44 page=0 chnl=15 +char id=1078 x=0 y=755 width=74 height=46 xoffset=-3 yoffset=52 xadvance=74 page=0 chnl=15 +char id=1079 x=801 y=749 width=44 height=45 xoffset=-3 yoffset=52 xadvance=45 page=0 chnl=15 +char id=1080 x=613 y=714 width=61 height=45 xoffset=-3 yoffset=52 xadvance=62 page=0 chnl=15 +char id=1081 x=43 y=699 width=61 height=54 xoffset=-3 yoffset=43 xadvance=62 page=0 chnl=15 +char id=1082 x=200 y=754 width=53 height=46 xoffset=-3 yoffset=52 xadvance=53 page=0 chnl=15 +char id=1083 x=144 y=754 width=55 height=46 xoffset=-4 yoffset=51 xadvance=54 page=0 chnl=15 +char id=1084 x=926 y=646 width=90 height=46 xoffset=-3 yoffset=51 xadvance=89 page=0 chnl=15 +char id=1085 x=797 y=703 width=59 height=45 xoffset=-3 yoffset=52 xadvance=61 page=0 chnl=15 +char id=1086 x=106 y=801 width=52 height=45 xoffset=-2 yoffset=52 xadvance=53 page=0 chnl=15 +char id=1087 x=504 y=671 width=58 height=49 xoffset=-5 yoffset=52 xadvance=59 page=0 chnl=15 +char id=1088 x=943 y=463 width=61 height=65 xoffset=-4 yoffset=52 xadvance=61 page=0 chnl=15 +char id=1089 x=257 y=847 width=41 height=45 xoffset=-2 yoffset=52 xadvance=45 page=0 chnl=15 +char id=1090 x=366 y=799 width=49 height=45 xoffset=-2 yoffset=52 xadvance=48 page=0 chnl=15 +char id=1091 x=681 y=261 width=59 height=69 xoffset=-4 yoffset=52 xadvance=58 page=0 chnl=15 +char id=1092 x=87 y=507 width=77 height=65 xoffset=-2 yoffset=52 xadvance=80 page=0 chnl=15 +char id=1093 x=707 y=760 width=46 height=45 xoffset=-3 yoffset=52 xadvance=47 page=0 chnl=15 +char id=1094 x=543 y=612 width=62 height=57 xoffset=-3 yoffset=53 xadvance=63 page=0 chnl=15 +char id=1095 x=612 y=767 width=47 height=45 xoffset=-2 yoffset=52 xadvance=52 page=0 chnl=15 +char id=1096 x=476 y=722 width=74 height=45 xoffset=-2 yoffset=52 xadvance=77 page=0 chnl=15 +char id=1097 x=462 y=613 width=80 height=57 xoffset=-3 yoffset=53 xadvance=81 page=0 chnl=15 +char id=1098 x=660 y=760 width=46 height=45 xoffset=-3 yoffset=52 xadvance=49 page=0 chnl=15 +char id=1099 x=675 y=714 width=60 height=45 xoffset=-4 yoffset=52 xadvance=60 page=0 chnl=15 +char id=1100 x=978 y=739 width=43 height=45 xoffset=-5 yoffset=52 xadvance=44 page=0 chnl=15 +char id=1101 x=172 y=847 width=42 height=45 xoffset=-2 yoffset=52 xadvance=45 page=0 chnl=15 +char id=1102 x=75 y=754 width=68 height=46 xoffset=-4 yoffset=51 xadvance=69 page=0 chnl=15 +char id=1103 x=466 y=792 width=48 height=45 xoffset=-4 yoffset=52 xadvance=49 page=0 chnl=15 +char id=1105 x=0 y=699 width=42 height=55 xoffset=-2 yoffset=42 xadvance=44 page=0 chnl=15 +char id=8208 x=264 y=269 width=31 height=9 xoffset=-1 yoffset=69 xadvance=35 page=0 chnl=15 +char id=8216 x=388 y=890 width=12 height=18 xoffset=-1 yoffset=51 xadvance=20 page=0 chnl=15 +char id=8217 x=453 y=726 width=13 height=18 xoffset=-1 yoffset=51 xadvance=20 page=0 chnl=15 +char id=8218 x=438 y=889 width=13 height=17 xoffset=-1 yoffset=86 xadvance=20 page=0 chnl=15 +char id=8219 x=1010 y=785 width=13 height=18 xoffset=-1 yoffset=51 xadvance=20 page=0 chnl=15 +char id=8220 x=350 y=481 width=22 height=18 xoffset=-1 yoffset=51 xadvance=26 page=0 chnl=15 +char id=8221 x=430 y=726 width=22 height=18 xoffset=-1 yoffset=51 xadvance=26 page=0 chnl=15 +char id=8222 x=308 y=892 width=22 height=18 xoffset=-1 yoffset=84 xadvance=26 page=0 chnl=15 +char id=8226 x=353 y=891 width=20 height=18 xoffset=4 yoffset=64 xadvance=32 page=0 chnl=15 +char id=8242 x=374 y=890 width=13 height=18 xoffset=-1 yoffset=51 xadvance=20 page=0 chnl=15 +char id=8243 x=393 y=547 width=22 height=18 xoffset=-1 yoffset=51 xadvance=26 page=0 chnl=15 +kernings count=2660 +kerning first=65 second=73 amount=-4 +kerning first=65 second=76 amount=-7 +kerning first=65 second=79 amount=-4 +kerning first=65 second=80 amount=-5 +kerning first=65 second=81 amount=-7 +kerning first=65 second=84 amount=-10 +kerning first=65 second=85 amount=-6 +kerning first=65 second=86 amount=-13 +kerning first=65 second=87 amount=-17 +kerning first=65 second=89 amount=-12 +kerning first=65 second=99 amount=-7 +kerning first=65 second=100 amount=-7 +kerning first=65 second=101 amount=-7 +kerning first=65 second=103 amount=-7 +kerning first=65 second=105 amount=-4 +kerning first=65 second=108 amount=-5 +kerning first=65 second=109 amount=-3 +kerning first=65 second=111 amount=-7 +kerning first=65 second=112 amount=-7 +kerning first=65 second=113 amount=-7 +kerning first=65 second=116 amount=-9 +kerning first=65 second=117 amount=-5 +kerning first=65 second=118 amount=-14 +kerning first=65 second=119 amount=-14 +kerning first=65 second=121 amount=-8 +kerning first=65 second=204 amount=-4 +kerning first=65 second=205 amount=-4 +kerning first=65 second=206 amount=-4 +kerning first=65 second=207 amount=-4 +kerning first=65 second=210 amount=-4 +kerning first=65 second=211 amount=-4 +kerning first=65 second=212 amount=-4 +kerning first=65 second=213 amount=-4 +kerning first=65 second=214 amount=-4 +kerning first=65 second=216 amount=-4 +kerning first=65 second=217 amount=-6 +kerning first=65 second=218 amount=-6 +kerning first=65 second=219 amount=-6 +kerning first=65 second=220 amount=-6 +kerning first=65 second=221 amount=-12 +kerning first=65 second=231 amount=-7 +kerning first=65 second=232 amount=-7 +kerning first=65 second=233 amount=-7 +kerning first=65 second=234 amount=-7 +kerning first=65 second=235 amount=-7 +kerning first=65 second=236 amount=-4 +kerning first=65 second=237 amount=-4 +kerning first=65 second=238 amount=-4 +kerning first=65 second=239 amount=-4 +kerning first=65 second=240 amount=-7 +kerning first=65 second=242 amount=-7 +kerning first=65 second=243 amount=-7 +kerning first=65 second=244 amount=-7 +kerning first=65 second=245 amount=-7 +kerning first=65 second=246 amount=-7 +kerning first=65 second=248 amount=-7 +kerning first=65 second=249 amount=-5 +kerning first=65 second=250 amount=-5 +kerning first=65 second=251 amount=-5 +kerning first=65 second=252 amount=-5 +kerning first=65 second=253 amount=-8 +kerning first=65 second=254 amount=-7 +kerning first=65 second=255 amount=-8 +kerning first=66 second=109 amount=-5 kerning first=66 second=116 amount=-3 kerning first=66 second=118 amount=-4 -kerning first=66 second=122 amount=-3 -kerning first=67 second=97 amount=-4 -kerning first=67 second=105 amount=-4 -kerning first=67 second=109 amount=-8 -kerning first=67 second=113 amount=-4 -kerning first=67 second=117 amount=-4 -kerning first=67 second=118 amount=-8 -kerning first=67 second=119 amount=-6 -kerning first=67 second=120 amount=-5 -kerning first=67 second=121 amount=-5 -kerning first=67 second=122 amount=-4 -kerning first=67 second=224 amount=-4 -kerning first=67 second=225 amount=-4 -kerning first=67 second=226 amount=-4 -kerning first=67 second=227 amount=-4 -kerning first=67 second=228 amount=-4 -kerning first=67 second=229 amount=-4 -kerning first=67 second=236 amount=-4 -kerning first=67 second=237 amount=-4 -kerning first=67 second=238 amount=-4 -kerning first=67 second=239 amount=-4 -kerning first=67 second=249 amount=-4 -kerning first=67 second=250 amount=-4 -kerning first=67 second=251 amount=-4 -kerning first=67 second=252 amount=-4 -kerning first=67 second=253 amount=-5 -kerning first=67 second=255 amount=-5 -kerning first=68 second=97 amount=-4 -kerning first=68 second=109 amount=-8 -kerning first=68 second=122 amount=-4 -kerning first=68 second=224 amount=-4 -kerning first=68 second=225 amount=-4 -kerning first=68 second=226 amount=-4 -kerning first=68 second=227 amount=-4 -kerning first=68 second=228 amount=-4 -kerning first=68 second=229 amount=-4 -kerning first=69 second=97 amount=-4 -kerning first=69 second=109 amount=-8 -kerning first=69 second=122 amount=-4 -kerning first=69 second=224 amount=-4 -kerning first=69 second=225 amount=-4 -kerning first=69 second=226 amount=-4 -kerning first=69 second=227 amount=-4 -kerning first=69 second=228 amount=-4 -kerning first=69 second=229 amount=-4 -kerning first=70 second=97 amount=-10 -kerning first=70 second=98 amount=-9 -kerning first=70 second=99 amount=-9 -kerning first=70 second=100 amount=-7 -kerning first=70 second=101 amount=-9 +kerning first=66 second=122 amount=-2 +kerning first=67 second=97 amount=-3 +kerning first=67 second=105 amount=-3 +kerning first=67 second=109 amount=-6 +kerning first=67 second=113 amount=-3 +kerning first=67 second=117 amount=-3 +kerning first=67 second=118 amount=-6 +kerning first=67 second=119 amount=-5 +kerning first=67 second=120 amount=-4 +kerning first=67 second=121 amount=-4 +kerning first=67 second=122 amount=-3 +kerning first=67 second=224 amount=-3 +kerning first=67 second=225 amount=-3 +kerning first=67 second=226 amount=-3 +kerning first=67 second=227 amount=-3 +kerning first=67 second=228 amount=-3 +kerning first=67 second=229 amount=-3 +kerning first=67 second=236 amount=-3 +kerning first=67 second=237 amount=-3 +kerning first=67 second=238 amount=-3 +kerning first=67 second=239 amount=-3 +kerning first=67 second=249 amount=-3 +kerning first=67 second=250 amount=-3 +kerning first=67 second=251 amount=-3 +kerning first=67 second=252 amount=-3 +kerning first=67 second=253 amount=-4 +kerning first=67 second=255 amount=-4 +kerning first=68 second=97 amount=-3 +kerning first=68 second=109 amount=-6 +kerning first=68 second=122 amount=-3 +kerning first=68 second=224 amount=-3 +kerning first=68 second=225 amount=-3 +kerning first=68 second=226 amount=-3 +kerning first=68 second=227 amount=-3 +kerning first=68 second=228 amount=-3 +kerning first=68 second=229 amount=-3 +kerning first=69 second=97 amount=-3 +kerning first=69 second=109 amount=-6 +kerning first=69 second=122 amount=-3 +kerning first=69 second=224 amount=-3 +kerning first=69 second=225 amount=-3 +kerning first=69 second=226 amount=-3 +kerning first=69 second=227 amount=-3 +kerning first=69 second=228 amount=-3 +kerning first=69 second=229 amount=-3 +kerning first=70 second=97 amount=-8 +kerning first=70 second=98 amount=-7 +kerning first=70 second=99 amount=-7 +kerning first=70 second=100 amount=-5 +kerning first=70 second=101 amount=-7 kerning first=70 second=102 amount=-4 -kerning first=70 second=103 amount=-9 -kerning first=70 second=105 amount=-9 -kerning first=70 second=106 amount=-9 -kerning first=70 second=107 amount=-9 -kerning first=70 second=109 amount=-6 -kerning first=70 second=110 amount=-9 -kerning first=70 second=111 amount=-7 -kerning first=70 second=112 amount=-7 -kerning first=70 second=113 amount=-9 -kerning first=70 second=114 amount=-9 -kerning first=70 second=115 amount=-9 +kerning first=70 second=103 amount=-7 +kerning first=70 second=105 amount=-7 +kerning first=70 second=106 amount=-7 +kerning first=70 second=107 amount=-7 +kerning first=70 second=109 amount=-5 +kerning first=70 second=110 amount=-7 +kerning first=70 second=111 amount=-5 +kerning first=70 second=112 amount=-5 +kerning first=70 second=113 amount=-7 +kerning first=70 second=114 amount=-7 +kerning first=70 second=115 amount=-7 kerning first=70 second=116 amount=-3 -kerning first=70 second=117 amount=-9 +kerning first=70 second=117 amount=-7 kerning first=70 second=118 amount=-4 -kerning first=70 second=119 amount=-8 -kerning first=70 second=120 amount=-9 -kerning first=70 second=121 amount=-4 -kerning first=70 second=122 amount=-9 -kerning first=70 second=224 amount=-10 -kerning first=70 second=225 amount=-10 -kerning first=70 second=226 amount=-10 -kerning first=70 second=227 amount=-10 -kerning first=70 second=228 amount=-10 -kerning first=70 second=229 amount=-10 -kerning first=70 second=231 amount=-7 -kerning first=70 second=232 amount=-7 -kerning first=70 second=233 amount=-7 -kerning first=70 second=234 amount=-7 -kerning first=70 second=235 amount=-7 -kerning first=70 second=236 amount=-7 -kerning first=70 second=237 amount=-7 -kerning first=70 second=238 amount=-7 -kerning first=70 second=239 amount=-7 -kerning first=70 second=240 amount=-7 -kerning first=70 second=241 amount=-9 -kerning first=70 second=242 amount=-7 -kerning first=70 second=243 amount=-7 -kerning first=70 second=244 amount=-7 -kerning first=70 second=245 amount=-7 -kerning first=70 second=246 amount=-7 -kerning first=70 second=248 amount=-7 -kerning first=70 second=249 amount=-9 -kerning first=70 second=250 amount=-9 -kerning first=70 second=251 amount=-9 -kerning first=70 second=252 amount=-9 -kerning first=70 second=253 amount=-4 -kerning first=70 second=254 amount=-7 -kerning first=70 second=255 amount=-4 -kerning first=71 second=97 amount=-4 -kerning first=71 second=109 amount=-8 -kerning first=71 second=122 amount=-4 -kerning first=71 second=224 amount=-4 -kerning first=71 second=225 amount=-4 -kerning first=71 second=226 amount=-4 -kerning first=71 second=227 amount=-4 -kerning first=71 second=228 amount=-4 -kerning first=71 second=229 amount=-4 -kerning first=72 second=109 amount=-6 +kerning first=70 second=119 amount=-7 +kerning first=70 second=120 amount=-7 +kerning first=70 second=121 amount=-3 +kerning first=70 second=122 amount=-7 +kerning first=70 second=224 amount=-8 +kerning first=70 second=225 amount=-8 +kerning first=70 second=226 amount=-8 +kerning first=70 second=227 amount=-8 +kerning first=70 second=228 amount=-8 +kerning first=70 second=229 amount=-8 +kerning first=70 second=231 amount=-5 +kerning first=70 second=232 amount=-5 +kerning first=70 second=233 amount=-5 +kerning first=70 second=234 amount=-5 +kerning first=70 second=235 amount=-5 +kerning first=70 second=236 amount=-6 +kerning first=70 second=237 amount=-6 +kerning first=70 second=238 amount=-6 +kerning first=70 second=239 amount=-6 +kerning first=70 second=240 amount=-5 +kerning first=70 second=241 amount=-7 +kerning first=70 second=242 amount=-5 +kerning first=70 second=243 amount=-5 +kerning first=70 second=244 amount=-5 +kerning first=70 second=245 amount=-5 +kerning first=70 second=246 amount=-5 +kerning first=70 second=248 amount=-5 +kerning first=70 second=249 amount=-7 +kerning first=70 second=250 amount=-7 +kerning first=70 second=251 amount=-7 +kerning first=70 second=252 amount=-7 +kerning first=70 second=253 amount=-3 +kerning first=70 second=254 amount=-5 +kerning first=70 second=255 amount=-3 +kerning first=71 second=97 amount=-3 +kerning first=71 second=109 amount=-6 +kerning first=71 second=122 amount=-3 +kerning first=71 second=224 amount=-3 +kerning first=71 second=225 amount=-3 +kerning first=71 second=226 amount=-3 +kerning first=71 second=227 amount=-3 +kerning first=71 second=228 amount=-3 +kerning first=71 second=229 amount=-3 +kerning first=72 second=109 amount=-5 kerning first=72 second=116 amount=-3 kerning first=72 second=118 amount=-4 -kerning first=72 second=122 amount=-3 -kerning first=73 second=109 amount=-6 +kerning first=72 second=122 amount=-2 +kerning first=73 second=109 amount=-5 kerning first=73 second=116 amount=-3 kerning first=73 second=118 amount=-4 -kerning first=73 second=122 amount=-3 -kerning first=74 second=109 amount=-6 +kerning first=73 second=122 amount=-2 +kerning first=74 second=109 amount=-5 kerning first=74 second=116 amount=-3 kerning first=74 second=118 amount=-4 -kerning first=74 second=122 amount=-3 +kerning first=74 second=122 amount=-2 kerning first=75 second=99 amount=-3 kerning first=75 second=100 amount=-3 kerning first=75 second=101 amount=-3 kerning first=75 second=103 amount=-3 kerning first=75 second=105 amount=-4 -kerning first=75 second=109 amount=-6 +kerning first=75 second=109 amount=-5 kerning first=75 second=111 amount=-3 kerning first=75 second=112 amount=-3 kerning first=75 second=113 amount=-3 kerning first=75 second=116 amount=-3 kerning first=75 second=118 amount=-4 -kerning first=75 second=119 amount=-9 -kerning first=75 second=121 amount=-6 -kerning first=75 second=122 amount=-3 +kerning first=75 second=119 amount=-7 +kerning first=75 second=121 amount=-5 +kerning first=75 second=122 amount=-2 kerning first=75 second=231 amount=-3 kerning first=75 second=232 amount=-3 kerning first=75 second=233 amount=-3 @@ -418,296 +484,296 @@ kerning first=75 second=244 amount=-3 kerning first=75 second=245 amount=-3 kerning first=75 second=246 amount=-3 kerning first=75 second=248 amount=-3 -kerning first=75 second=253 amount=-6 +kerning first=75 second=253 amount=-5 kerning first=75 second=254 amount=-3 -kerning first=75 second=255 amount=-6 -kerning first=76 second=84 amount=-13 -kerning first=76 second=86 amount=-14 -kerning first=76 second=87 amount=-12 -kerning first=76 second=89 amount=-6 -kerning first=76 second=108 amount=-6 -kerning first=76 second=109 amount=-6 +kerning first=75 second=255 amount=-5 +kerning first=76 second=84 amount=-10 +kerning first=76 second=86 amount=-11 +kerning first=76 second=87 amount=-10 +kerning first=76 second=89 amount=-5 +kerning first=76 second=108 amount=-5 +kerning first=76 second=109 amount=-5 kerning first=76 second=112 amount=-4 kerning first=76 second=116 amount=-3 kerning first=76 second=118 amount=-4 -kerning first=76 second=119 amount=-14 -kerning first=76 second=121 amount=-9 -kerning first=76 second=122 amount=-3 -kerning first=76 second=221 amount=-6 -kerning first=76 second=253 amount=-9 -kerning first=76 second=255 amount=-9 -kerning first=77 second=84 amount=-11 -kerning first=77 second=86 amount=-14 -kerning first=77 second=87 amount=-12 -kerning first=77 second=89 amount=-9 -kerning first=77 second=105 amount=-3 -kerning first=77 second=116 amount=-9 -kerning first=77 second=118 amount=-10 -kerning first=77 second=119 amount=-10 -kerning first=77 second=121 amount=-8 -kerning first=77 second=221 amount=-9 -kerning first=77 second=236 amount=-3 -kerning first=77 second=237 amount=-3 -kerning first=77 second=238 amount=-3 -kerning first=77 second=239 amount=-3 -kerning first=77 second=253 amount=-8 -kerning first=77 second=255 amount=-8 -kerning first=78 second=109 amount=-6 +kerning first=76 second=119 amount=-11 +kerning first=76 second=121 amount=-7 +kerning first=76 second=122 amount=-2 +kerning first=76 second=221 amount=-5 +kerning first=76 second=253 amount=-7 +kerning first=76 second=255 amount=-7 +kerning first=77 second=84 amount=-9 +kerning first=77 second=86 amount=-12 +kerning first=77 second=87 amount=-9 +kerning first=77 second=89 amount=-7 +kerning first=77 second=105 amount=-2 +kerning first=77 second=116 amount=-7 +kerning first=77 second=118 amount=-8 +kerning first=77 second=119 amount=-8 +kerning first=77 second=121 amount=-7 +kerning first=77 second=221 amount=-7 +kerning first=77 second=236 amount=-2 +kerning first=77 second=237 amount=-2 +kerning first=77 second=238 amount=-2 +kerning first=77 second=239 amount=-2 +kerning first=77 second=253 amount=-7 +kerning first=77 second=255 amount=-7 +kerning first=78 second=109 amount=-5 kerning first=78 second=116 amount=-3 kerning first=78 second=118 amount=-4 -kerning first=78 second=122 amount=-3 -kerning first=79 second=97 amount=-4 -kerning first=79 second=109 amount=-8 -kerning first=79 second=122 amount=-4 -kerning first=79 second=224 amount=-4 -kerning first=79 second=225 amount=-4 -kerning first=79 second=226 amount=-4 -kerning first=79 second=227 amount=-4 -kerning first=79 second=228 amount=-4 -kerning first=79 second=229 amount=-4 -kerning first=80 second=97 amount=-5 -kerning first=80 second=109 amount=-6 +kerning first=78 second=122 amount=-2 +kerning first=79 second=97 amount=-3 +kerning first=79 second=109 amount=-6 +kerning first=79 second=122 amount=-3 +kerning first=79 second=224 amount=-3 +kerning first=79 second=225 amount=-3 +kerning first=79 second=226 amount=-3 +kerning first=79 second=227 amount=-3 +kerning first=79 second=228 amount=-3 +kerning first=79 second=229 amount=-3 +kerning first=80 second=97 amount=-4 +kerning first=80 second=109 amount=-5 kerning first=80 second=116 amount=-3 kerning first=80 second=118 amount=-4 -kerning first=80 second=122 amount=-3 -kerning first=80 second=224 amount=-5 -kerning first=80 second=225 amount=-5 -kerning first=80 second=226 amount=-5 -kerning first=80 second=227 amount=-5 -kerning first=80 second=228 amount=-5 -kerning first=80 second=229 amount=-5 -kerning first=81 second=97 amount=-4 -kerning first=81 second=109 amount=-8 -kerning first=81 second=122 amount=-4 -kerning first=81 second=224 amount=-4 -kerning first=81 second=225 amount=-4 -kerning first=81 second=226 amount=-4 -kerning first=81 second=227 amount=-4 -kerning first=81 second=228 amount=-4 -kerning first=81 second=229 amount=-4 +kerning first=80 second=122 amount=-2 +kerning first=80 second=224 amount=-4 +kerning first=80 second=225 amount=-4 +kerning first=80 second=226 amount=-4 +kerning first=80 second=227 amount=-4 +kerning first=80 second=228 amount=-4 +kerning first=80 second=229 amount=-4 +kerning first=81 second=97 amount=-3 +kerning first=81 second=109 amount=-6 +kerning first=81 second=122 amount=-3 +kerning first=81 second=224 amount=-3 +kerning first=81 second=225 amount=-3 +kerning first=81 second=226 amount=-3 +kerning first=81 second=227 amount=-3 +kerning first=81 second=228 amount=-3 +kerning first=81 second=229 amount=-3 kerning first=82 second=105 amount=-2 -kerning first=82 second=109 amount=-6 +kerning first=82 second=109 amount=-5 kerning first=82 second=116 amount=-3 kerning first=82 second=118 amount=-4 -kerning first=82 second=119 amount=-7 -kerning first=82 second=121 amount=-4 -kerning first=82 second=122 amount=-3 +kerning first=82 second=119 amount=-6 +kerning first=82 second=121 amount=-3 +kerning first=82 second=122 amount=-2 kerning first=82 second=236 amount=-2 kerning first=82 second=237 amount=-2 kerning first=82 second=238 amount=-2 kerning first=82 second=239 amount=-2 -kerning first=82 second=253 amount=-4 -kerning first=82 second=255 amount=-4 -kerning first=83 second=109 amount=-6 +kerning first=82 second=253 amount=-3 +kerning first=82 second=255 amount=-3 +kerning first=83 second=109 amount=-5 kerning first=83 second=116 amount=-3 kerning first=83 second=118 amount=-4 -kerning first=83 second=122 amount=-3 -kerning first=84 second=77 amount=-5 -kerning first=84 second=97 amount=-9 -kerning first=84 second=98 amount=-5 -kerning first=84 second=99 amount=-11 -kerning first=84 second=101 amount=-11 -kerning first=84 second=102 amount=-5 -kerning first=84 second=103 amount=-11 -kerning first=84 second=105 amount=-5 -kerning first=84 second=106 amount=-5 -kerning first=84 second=107 amount=-5 -kerning first=84 second=109 amount=-13 -kerning first=84 second=110 amount=-5 -kerning first=84 second=111 amount=-11 -kerning first=84 second=112 amount=-11 -kerning first=84 second=113 amount=-11 -kerning first=84 second=114 amount=-8 -kerning first=84 second=115 amount=-11 -kerning first=84 second=116 amount=-8 -kerning first=84 second=117 amount=-5 -kerning first=84 second=118 amount=-8 -kerning first=84 second=119 amount=-11 -kerning first=84 second=120 amount=-8 -kerning first=84 second=121 amount=-9 -kerning first=84 second=122 amount=-10 -kerning first=84 second=224 amount=-9 -kerning first=84 second=225 amount=-9 -kerning first=84 second=226 amount=-9 -kerning first=84 second=227 amount=-9 -kerning first=84 second=228 amount=-9 -kerning first=84 second=229 amount=-9 -kerning first=84 second=231 amount=-11 -kerning first=84 second=232 amount=-11 -kerning first=84 second=233 amount=-11 -kerning first=84 second=234 amount=-11 -kerning first=84 second=235 amount=-11 -kerning first=84 second=236 amount=-7 -kerning first=84 second=237 amount=-7 -kerning first=84 second=238 amount=-7 -kerning first=84 second=239 amount=-7 -kerning first=84 second=240 amount=-11 -kerning first=84 second=241 amount=-5 -kerning first=84 second=242 amount=-11 -kerning first=84 second=243 amount=-11 -kerning first=84 second=244 amount=-11 -kerning first=84 second=245 amount=-11 -kerning first=84 second=246 amount=-11 -kerning first=84 second=248 amount=-11 -kerning first=84 second=249 amount=-9 -kerning first=84 second=250 amount=-9 -kerning first=84 second=251 amount=-9 -kerning first=84 second=252 amount=-9 -kerning first=84 second=253 amount=-9 -kerning first=84 second=254 amount=-11 -kerning first=84 second=255 amount=-9 -kerning first=86 second=77 amount=-9 -kerning first=86 second=97 amount=-7 -kerning first=86 second=109 amount=-12 +kerning first=83 second=122 amount=-2 +kerning first=84 second=77 amount=-4 +kerning first=84 second=97 amount=-7 +kerning first=84 second=98 amount=-4 +kerning first=84 second=99 amount=-9 +kerning first=84 second=101 amount=-9 +kerning first=84 second=102 amount=-4 +kerning first=84 second=103 amount=-9 +kerning first=84 second=105 amount=-4 +kerning first=84 second=106 amount=-4 +kerning first=84 second=107 amount=-4 +kerning first=84 second=109 amount=-10 +kerning first=84 second=110 amount=-4 +kerning first=84 second=111 amount=-9 +kerning first=84 second=112 amount=-9 +kerning first=84 second=113 amount=-9 +kerning first=84 second=114 amount=-7 +kerning first=84 second=115 amount=-9 +kerning first=84 second=116 amount=-7 +kerning first=84 second=117 amount=-4 +kerning first=84 second=118 amount=-6 +kerning first=84 second=119 amount=-9 +kerning first=84 second=120 amount=-6 +kerning first=84 second=121 amount=-7 +kerning first=84 second=122 amount=-8 +kerning first=84 second=224 amount=-7 +kerning first=84 second=225 amount=-7 +kerning first=84 second=226 amount=-7 +kerning first=84 second=227 amount=-7 +kerning first=84 second=228 amount=-7 +kerning first=84 second=229 amount=-7 +kerning first=84 second=231 amount=-9 +kerning first=84 second=232 amount=-9 +kerning first=84 second=233 amount=-9 +kerning first=84 second=234 amount=-9 +kerning first=84 second=235 amount=-9 +kerning first=84 second=236 amount=-5 +kerning first=84 second=237 amount=-5 +kerning first=84 second=238 amount=-5 +kerning first=84 second=239 amount=-5 +kerning first=84 second=240 amount=-9 +kerning first=84 second=241 amount=-4 +kerning first=84 second=242 amount=-9 +kerning first=84 second=243 amount=-9 +kerning first=84 second=244 amount=-9 +kerning first=84 second=245 amount=-9 +kerning first=84 second=246 amount=-9 +kerning first=84 second=248 amount=-9 +kerning first=84 second=249 amount=-7 +kerning first=84 second=250 amount=-7 +kerning first=84 second=251 amount=-7 +kerning first=84 second=252 amount=-7 +kerning first=84 second=253 amount=-7 +kerning first=84 second=254 amount=-9 +kerning first=84 second=255 amount=-7 +kerning first=86 second=77 amount=-7 +kerning first=86 second=97 amount=-6 +kerning first=86 second=109 amount=-10 kerning first=86 second=122 amount=-4 -kerning first=86 second=224 amount=-7 -kerning first=86 second=225 amount=-7 -kerning first=86 second=226 amount=-7 -kerning first=86 second=227 amount=-7 -kerning first=86 second=228 amount=-7 -kerning first=86 second=229 amount=-7 -kerning first=87 second=77 amount=-6 -kerning first=87 second=97 amount=-7 -kerning first=87 second=99 amount=-8 -kerning first=87 second=100 amount=-4 -kerning first=87 second=101 amount=-6 -kerning first=87 second=103 amount=-5 -kerning first=87 second=105 amount=-4 -kerning first=87 second=109 amount=-12 -kerning first=87 second=111 amount=-4 -kerning first=87 second=112 amount=-4 -kerning first=87 second=113 amount=-4 -kerning first=87 second=114 amount=-3 -kerning first=87 second=115 amount=-6 -kerning first=87 second=116 amount=-5 -kerning first=87 second=117 amount=-6 -kerning first=87 second=118 amount=-3 +kerning first=86 second=224 amount=-6 +kerning first=86 second=225 amount=-6 +kerning first=86 second=226 amount=-6 +kerning first=86 second=227 amount=-6 +kerning first=86 second=228 amount=-6 +kerning first=86 second=229 amount=-6 +kerning first=87 second=77 amount=-5 +kerning first=87 second=97 amount=-5 +kerning first=87 second=99 amount=-6 +kerning first=87 second=100 amount=-3 +kerning first=87 second=101 amount=-5 +kerning first=87 second=103 amount=-4 +kerning first=87 second=105 amount=-3 +kerning first=87 second=109 amount=-9 +kerning first=87 second=111 amount=-3 +kerning first=87 second=112 amount=-3 +kerning first=87 second=113 amount=-3 +kerning first=87 second=114 amount=-2 +kerning first=87 second=115 amount=-5 +kerning first=87 second=116 amount=-4 +kerning first=87 second=117 amount=-5 +kerning first=87 second=118 amount=-2 kerning first=87 second=119 amount=-3 kerning first=87 second=120 amount=-4 -kerning first=87 second=121 amount=-6 -kerning first=87 second=122 amount=-9 -kerning first=87 second=224 amount=-7 -kerning first=87 second=225 amount=-7 -kerning first=87 second=226 amount=-7 -kerning first=87 second=227 amount=-7 -kerning first=87 second=228 amount=-7 -kerning first=87 second=229 amount=-7 -kerning first=87 second=231 amount=-4 -kerning first=87 second=232 amount=-6 -kerning first=87 second=233 amount=-6 -kerning first=87 second=234 amount=-6 -kerning first=87 second=235 amount=-6 -kerning first=87 second=236 amount=-4 -kerning first=87 second=237 amount=-4 -kerning first=87 second=238 amount=-4 -kerning first=87 second=239 amount=-4 -kerning first=87 second=240 amount=-4 -kerning first=87 second=242 amount=-4 -kerning first=87 second=243 amount=-4 -kerning first=87 second=244 amount=-4 -kerning first=87 second=245 amount=-4 -kerning first=87 second=246 amount=-4 -kerning first=87 second=248 amount=-4 -kerning first=87 second=249 amount=-6 -kerning first=87 second=250 amount=-6 -kerning first=87 second=251 amount=-6 -kerning first=87 second=252 amount=-6 -kerning first=87 second=253 amount=-6 -kerning first=87 second=254 amount=-4 -kerning first=87 second=255 amount=-6 -kerning first=88 second=109 amount=-6 +kerning first=87 second=121 amount=-5 +kerning first=87 second=122 amount=-7 +kerning first=87 second=224 amount=-5 +kerning first=87 second=225 amount=-5 +kerning first=87 second=226 amount=-5 +kerning first=87 second=227 amount=-5 +kerning first=87 second=228 amount=-5 +kerning first=87 second=229 amount=-5 +kerning first=87 second=231 amount=-3 +kerning first=87 second=232 amount=-5 +kerning first=87 second=233 amount=-5 +kerning first=87 second=234 amount=-5 +kerning first=87 second=235 amount=-5 +kerning first=87 second=236 amount=-3 +kerning first=87 second=237 amount=-3 +kerning first=87 second=238 amount=-3 +kerning first=87 second=239 amount=-3 +kerning first=87 second=240 amount=-3 +kerning first=87 second=242 amount=-3 +kerning first=87 second=243 amount=-3 +kerning first=87 second=244 amount=-3 +kerning first=87 second=245 amount=-3 +kerning first=87 second=246 amount=-3 +kerning first=87 second=248 amount=-3 +kerning first=87 second=249 amount=-5 +kerning first=87 second=250 amount=-5 +kerning first=87 second=251 amount=-5 +kerning first=87 second=252 amount=-5 +kerning first=87 second=253 amount=-5 +kerning first=87 second=254 amount=-3 +kerning first=87 second=255 amount=-5 +kerning first=88 second=109 amount=-5 kerning first=88 second=116 amount=-3 kerning first=88 second=118 amount=-4 -kerning first=88 second=119 amount=-13 -kerning first=88 second=121 amount=-5 -kerning first=88 second=122 amount=-3 -kerning first=88 second=253 amount=-5 -kerning first=88 second=255 amount=-5 -kerning first=89 second=67 amount=-5 -kerning first=89 second=69 amount=-6 -kerning first=89 second=71 amount=-4 -kerning first=89 second=77 amount=-14 -kerning first=89 second=97 amount=-16 -kerning first=89 second=98 amount=-8 -kerning first=89 second=99 amount=-8 -kerning first=89 second=100 amount=-6 -kerning first=89 second=101 amount=-8 -kerning first=89 second=103 amount=-8 -kerning first=89 second=105 amount=-8 -kerning first=89 second=106 amount=-8 -kerning first=89 second=107 amount=-8 -kerning first=89 second=109 amount=-10 -kerning first=89 second=110 amount=-8 -kerning first=89 second=111 amount=-6 -kerning first=89 second=112 amount=-6 -kerning first=89 second=113 amount=-8 -kerning first=89 second=114 amount=-8 -kerning first=89 second=115 amount=-8 -kerning first=89 second=116 amount=-4 -kerning first=89 second=117 amount=-8 +kerning first=88 second=119 amount=-10 +kerning first=88 second=121 amount=-4 +kerning first=88 second=122 amount=-2 +kerning first=88 second=253 amount=-4 +kerning first=88 second=255 amount=-4 +kerning first=89 second=67 amount=-4 +kerning first=89 second=69 amount=-5 +kerning first=89 second=71 amount=-3 +kerning first=89 second=77 amount=-11 +kerning first=89 second=97 amount=-13 +kerning first=89 second=98 amount=-7 +kerning first=89 second=99 amount=-7 +kerning first=89 second=100 amount=-5 +kerning first=89 second=101 amount=-7 +kerning first=89 second=103 amount=-7 +kerning first=89 second=105 amount=-7 +kerning first=89 second=106 amount=-7 +kerning first=89 second=107 amount=-7 +kerning first=89 second=109 amount=-8 +kerning first=89 second=110 amount=-7 +kerning first=89 second=111 amount=-5 +kerning first=89 second=112 amount=-5 +kerning first=89 second=113 amount=-7 +kerning first=89 second=114 amount=-7 +kerning first=89 second=115 amount=-7 +kerning first=89 second=116 amount=-3 +kerning first=89 second=117 amount=-7 kerning first=89 second=118 amount=-3 -kerning first=89 second=119 amount=-5 -kerning first=89 second=120 amount=-8 -kerning first=89 second=122 amount=-8 -kerning first=89 second=199 amount=-5 -kerning first=89 second=200 amount=-6 -kerning first=89 second=201 amount=-6 -kerning first=89 second=202 amount=-6 -kerning first=89 second=203 amount=-6 -kerning first=89 second=224 amount=-16 -kerning first=89 second=225 amount=-16 -kerning first=89 second=226 amount=-16 -kerning first=89 second=227 amount=-16 -kerning first=89 second=228 amount=-16 -kerning first=89 second=229 amount=-16 -kerning first=89 second=231 amount=-6 -kerning first=89 second=232 amount=-7 -kerning first=89 second=233 amount=-7 -kerning first=89 second=234 amount=-7 -kerning first=89 second=235 amount=-7 +kerning first=89 second=119 amount=-4 +kerning first=89 second=120 amount=-7 +kerning first=89 second=122 amount=-7 +kerning first=89 second=199 amount=-4 +kerning first=89 second=200 amount=-5 +kerning first=89 second=201 amount=-5 +kerning first=89 second=202 amount=-5 +kerning first=89 second=203 amount=-5 +kerning first=89 second=224 amount=-13 +kerning first=89 second=225 amount=-13 +kerning first=89 second=226 amount=-13 +kerning first=89 second=227 amount=-13 +kerning first=89 second=228 amount=-13 +kerning first=89 second=229 amount=-13 +kerning first=89 second=231 amount=-5 +kerning first=89 second=232 amount=-6 +kerning first=89 second=233 amount=-6 +kerning first=89 second=234 amount=-6 +kerning first=89 second=235 amount=-6 kerning first=89 second=236 amount=-4 kerning first=89 second=237 amount=-4 kerning first=89 second=238 amount=-4 kerning first=89 second=239 amount=-4 -kerning first=89 second=240 amount=-6 -kerning first=89 second=241 amount=-8 -kerning first=89 second=242 amount=-6 -kerning first=89 second=243 amount=-6 -kerning first=89 second=244 amount=-6 -kerning first=89 second=245 amount=-6 -kerning first=89 second=246 amount=-6 -kerning first=89 second=248 amount=-6 -kerning first=89 second=249 amount=-8 -kerning first=89 second=250 amount=-8 -kerning first=89 second=251 amount=-8 -kerning first=89 second=252 amount=-8 -kerning first=89 second=254 amount=-6 +kerning first=89 second=240 amount=-5 +kerning first=89 second=241 amount=-7 +kerning first=89 second=242 amount=-5 +kerning first=89 second=243 amount=-5 +kerning first=89 second=244 amount=-5 +kerning first=89 second=245 amount=-5 +kerning first=89 second=246 amount=-5 +kerning first=89 second=248 amount=-5 +kerning first=89 second=249 amount=-7 +kerning first=89 second=250 amount=-7 +kerning first=89 second=251 amount=-7 +kerning first=89 second=252 amount=-7 +kerning first=89 second=254 amount=-5 kerning first=90 second=105 amount=-2 -kerning first=90 second=109 amount=-6 +kerning first=90 second=109 amount=-5 kerning first=90 second=116 amount=-3 kerning first=90 second=118 amount=-4 -kerning first=90 second=119 amount=-9 -kerning first=90 second=121 amount=-3 -kerning first=90 second=122 amount=-3 +kerning first=90 second=119 amount=-7 +kerning first=90 second=121 amount=-2 +kerning first=90 second=122 amount=-2 kerning first=90 second=236 amount=-2 kerning first=90 second=237 amount=-2 kerning first=90 second=238 amount=-2 kerning first=90 second=239 amount=-2 -kerning first=90 second=253 amount=-3 -kerning first=90 second=255 amount=-3 -kerning first=97 second=84 amount=-10 -kerning first=97 second=86 amount=-12 -kerning first=97 second=87 amount=-11 -kerning first=97 second=89 amount=-10 +kerning first=90 second=253 amount=-2 +kerning first=90 second=255 amount=-2 +kerning first=97 second=84 amount=-8 +kerning first=97 second=86 amount=-10 +kerning first=97 second=87 amount=-9 +kerning first=97 second=89 amount=-8 kerning first=97 second=99 amount=-2 kerning first=97 second=101 amount=-1 kerning first=97 second=105 amount=-2 -kerning first=97 second=110 amount=4 -kerning first=97 second=116 amount=-6 -kerning first=97 second=118 amount=-10 -kerning first=97 second=119 amount=-11 -kerning first=97 second=121 amount=-12 -kerning first=97 second=221 amount=-10 +kerning first=97 second=110 amount=3 +kerning first=97 second=116 amount=-4 +kerning first=97 second=118 amount=-8 +kerning first=97 second=119 amount=-9 +kerning first=97 second=121 amount=-9 +kerning first=97 second=221 amount=-8 kerning first=97 second=232 amount=-1 kerning first=97 second=233 amount=-1 kerning first=97 second=234 amount=-1 @@ -716,13 +782,13 @@ kerning first=97 second=236 amount=-2 kerning first=97 second=237 amount=-2 kerning first=97 second=238 amount=-2 kerning first=97 second=239 amount=-2 -kerning first=97 second=241 amount=4 -kerning first=97 second=253 amount=-12 -kerning first=97 second=255 amount=-12 -kerning first=98 second=84 amount=-14 -kerning first=98 second=86 amount=-13 -kerning first=98 second=87 amount=-11 -kerning first=98 second=89 amount=-12 +kerning first=97 second=241 amount=3 +kerning first=97 second=253 amount=-9 +kerning first=97 second=255 amount=-9 +kerning first=98 second=84 amount=-11 +kerning first=98 second=86 amount=-11 +kerning first=98 second=87 amount=-9 +kerning first=98 second=89 amount=-10 kerning first=98 second=99 amount=-4 kerning first=98 second=100 amount=-4 kerning first=98 second=101 amount=-4 @@ -730,8 +796,8 @@ kerning first=98 second=103 amount=-4 kerning first=98 second=111 amount=-4 kerning first=98 second=112 amount=-4 kerning first=98 second=113 amount=-4 -kerning first=98 second=119 amount=-8 -kerning first=98 second=221 amount=-12 +kerning first=98 second=119 amount=-6 +kerning first=98 second=221 amount=-10 kerning first=98 second=231 amount=-4 kerning first=98 second=232 amount=-4 kerning first=98 second=233 amount=-4 @@ -745,64 +811,64 @@ kerning first=98 second=245 amount=-4 kerning first=98 second=246 amount=-4 kerning first=98 second=248 amount=-4 kerning first=98 second=254 amount=-4 -kerning first=99 second=84 amount=-13 -kerning first=99 second=86 amount=-15 -kerning first=99 second=87 amount=-15 -kerning first=99 second=89 amount=-13 +kerning first=99 second=84 amount=-11 +kerning first=99 second=86 amount=-12 +kerning first=99 second=87 amount=-12 +kerning first=99 second=89 amount=-10 kerning first=99 second=116 amount=-3 -kerning first=99 second=118 amount=-5 -kerning first=99 second=119 amount=-4 -kerning first=99 second=121 amount=-4 -kerning first=99 second=122 amount=-4 -kerning first=99 second=221 amount=-13 -kerning first=99 second=253 amount=-4 -kerning first=99 second=255 amount=-4 -kerning first=100 second=84 amount=-13 -kerning first=100 second=86 amount=-15 -kerning first=100 second=87 amount=-15 -kerning first=100 second=89 amount=-13 -kerning first=100 second=105 amount=-4 +kerning first=99 second=118 amount=-4 +kerning first=99 second=119 amount=-3 +kerning first=99 second=121 amount=-3 +kerning first=99 second=122 amount=-3 +kerning first=99 second=221 amount=-10 +kerning first=99 second=253 amount=-3 +kerning first=99 second=255 amount=-3 +kerning first=100 second=84 amount=-11 +kerning first=100 second=86 amount=-12 +kerning first=100 second=87 amount=-12 +kerning first=100 second=89 amount=-10 +kerning first=100 second=105 amount=-3 kerning first=100 second=116 amount=-3 -kerning first=100 second=118 amount=-5 -kerning first=100 second=119 amount=-4 -kerning first=100 second=121 amount=-4 -kerning first=100 second=122 amount=-4 -kerning first=100 second=221 amount=-13 -kerning first=100 second=236 amount=-4 -kerning first=100 second=237 amount=-4 -kerning first=100 second=238 amount=-4 -kerning first=100 second=239 amount=-4 -kerning first=100 second=253 amount=-4 -kerning first=100 second=255 amount=-4 -kerning first=101 second=84 amount=-13 -kerning first=101 second=86 amount=-15 -kerning first=101 second=87 amount=-15 -kerning first=101 second=89 amount=-13 -kerning first=101 second=108 amount=-5 +kerning first=100 second=118 amount=-4 +kerning first=100 second=119 amount=-3 +kerning first=100 second=121 amount=-3 +kerning first=100 second=122 amount=-3 +kerning first=100 second=221 amount=-10 +kerning first=100 second=236 amount=-3 +kerning first=100 second=237 amount=-3 +kerning first=100 second=238 amount=-3 +kerning first=100 second=239 amount=-3 +kerning first=100 second=253 amount=-3 +kerning first=100 second=255 amount=-3 +kerning first=101 second=84 amount=-11 +kerning first=101 second=86 amount=-12 +kerning first=101 second=87 amount=-12 +kerning first=101 second=89 amount=-10 +kerning first=101 second=108 amount=-4 kerning first=101 second=116 amount=-3 -kerning first=101 second=118 amount=-5 -kerning first=101 second=119 amount=-4 -kerning first=101 second=121 amount=-4 -kerning first=101 second=122 amount=-4 -kerning first=101 second=221 amount=-13 -kerning first=101 second=253 amount=-4 -kerning first=101 second=255 amount=-4 -kerning first=102 second=84 amount=-14 -kerning first=102 second=86 amount=-13 -kerning first=102 second=87 amount=-11 -kerning first=102 second=89 amount=-12 +kerning first=101 second=118 amount=-4 +kerning first=101 second=119 amount=-3 +kerning first=101 second=121 amount=-3 +kerning first=101 second=122 amount=-3 +kerning first=101 second=221 amount=-10 +kerning first=101 second=253 amount=-3 +kerning first=101 second=255 amount=-3 +kerning first=102 second=84 amount=-11 +kerning first=102 second=86 amount=-11 +kerning first=102 second=87 amount=-9 +kerning first=102 second=89 amount=-10 kerning first=102 second=97 amount=-2 kerning first=102 second=99 amount=-4 kerning first=102 second=100 amount=-4 kerning first=102 second=101 amount=-4 kerning first=102 second=103 amount=-4 -kerning first=102 second=109 amount=-7 +kerning first=102 second=109 amount=-6 kerning first=102 second=111 amount=-4 kerning first=102 second=112 amount=-4 kerning first=102 second=113 amount=-4 -kerning first=102 second=119 amount=-8 +kerning first=102 second=119 amount=-6 kerning first=102 second=122 amount=-2 -kerning first=102 second=221 amount=-12 +kerning first=102 second=221 amount=-10 kerning first=102 second=224 amount=-2 kerning first=102 second=225 amount=-2 kerning first=102 second=226 amount=-2 @@ -822,22 +888,22 @@ kerning first=102 second=245 amount=-4 kerning first=102 second=246 amount=-4 kerning first=102 second=248 amount=-4 kerning first=102 second=254 amount=-4 -kerning first=103 second=84 amount=-13 -kerning first=103 second=86 amount=-15 -kerning first=103 second=87 amount=-15 -kerning first=103 second=89 amount=-13 +kerning first=103 second=84 amount=-11 +kerning first=103 second=86 amount=-12 +kerning first=103 second=87 amount=-12 +kerning first=103 second=89 amount=-10 kerning first=103 second=116 amount=-3 -kerning first=103 second=118 amount=-5 -kerning first=103 second=119 amount=-4 -kerning first=103 second=121 amount=-4 -kerning first=103 second=122 amount=-4 -kerning first=103 second=221 amount=-13 -kerning first=103 second=253 amount=-4 -kerning first=103 second=255 amount=-4 -kerning first=104 second=84 amount=-14 -kerning first=104 second=86 amount=-13 -kerning first=104 second=87 amount=-11 -kerning first=104 second=89 amount=-12 +kerning first=103 second=118 amount=-4 +kerning first=103 second=119 amount=-3 +kerning first=103 second=121 amount=-3 +kerning first=103 second=122 amount=-3 +kerning first=103 second=221 amount=-10 +kerning first=103 second=253 amount=-3 +kerning first=103 second=255 amount=-3 +kerning first=104 second=84 amount=-11 +kerning first=104 second=86 amount=-11 +kerning first=104 second=87 amount=-9 +kerning first=104 second=89 amount=-10 kerning first=104 second=99 amount=-4 kerning first=104 second=100 amount=-4 kerning first=104 second=101 amount=-4 @@ -845,8 +911,8 @@ kerning first=104 second=103 amount=-4 kerning first=104 second=111 amount=-4 kerning first=104 second=112 amount=-4 kerning first=104 second=113 amount=-4 -kerning first=104 second=119 amount=-8 -kerning first=104 second=221 amount=-12 +kerning first=104 second=119 amount=-6 +kerning first=104 second=221 amount=-10 kerning first=104 second=231 amount=-4 kerning first=104 second=232 amount=-4 kerning first=104 second=233 amount=-4 @@ -860,20 +926,20 @@ kerning first=104 second=245 amount=-4 kerning first=104 second=246 amount=-4 kerning first=104 second=248 amount=-4 kerning first=104 second=254 amount=-4 -kerning first=105 second=84 amount=-14 -kerning first=105 second=86 amount=-13 -kerning first=105 second=87 amount=-11 -kerning first=105 second=89 amount=-12 +kerning first=105 second=84 amount=-11 +kerning first=105 second=86 amount=-11 +kerning first=105 second=87 amount=-9 +kerning first=105 second=89 amount=-10 kerning first=105 second=99 amount=-4 kerning first=105 second=100 amount=-4 kerning first=105 second=101 amount=-4 kerning first=105 second=103 amount=-4 -kerning first=105 second=108 amount=-4 +kerning first=105 second=108 amount=-3 kerning first=105 second=111 amount=-4 kerning first=105 second=112 amount=-4 kerning first=105 second=113 amount=-4 -kerning first=105 second=119 amount=-8 -kerning first=105 second=221 amount=-12 +kerning first=105 second=119 amount=-6 +kerning first=105 second=221 amount=-10 kerning first=105 second=231 amount=-4 kerning first=105 second=232 amount=-4 kerning first=105 second=233 amount=-4 @@ -887,10 +953,10 @@ kerning first=105 second=245 amount=-4 kerning first=105 second=246 amount=-4 kerning first=105 second=248 amount=-4 kerning first=105 second=254 amount=-4 -kerning first=106 second=84 amount=-14 -kerning first=106 second=86 amount=-13 -kerning first=106 second=87 amount=-11 -kerning first=106 second=89 amount=-12 +kerning first=106 second=84 amount=-11 +kerning first=106 second=86 amount=-11 +kerning first=106 second=87 amount=-9 +kerning first=106 second=89 amount=-10 kerning first=106 second=99 amount=-4 kerning first=106 second=100 amount=-4 kerning first=106 second=101 amount=-4 @@ -898,8 +964,8 @@ kerning first=106 second=103 amount=-4 kerning first=106 second=111 amount=-4 kerning first=106 second=112 amount=-4 kerning first=106 second=113 amount=-4 -kerning first=106 second=119 amount=-8 -kerning first=106 second=221 amount=-12 +kerning first=106 second=119 amount=-6 +kerning first=106 second=221 amount=-10 kerning first=106 second=231 amount=-4 kerning first=106 second=232 amount=-4 kerning first=106 second=233 amount=-4 @@ -913,10 +979,10 @@ kerning first=106 second=245 amount=-4 kerning first=106 second=246 amount=-4 kerning first=106 second=248 amount=-4 kerning first=106 second=254 amount=-4 -kerning first=107 second=84 amount=-14 -kerning first=107 second=86 amount=-13 -kerning first=107 second=87 amount=-11 -kerning first=107 second=89 amount=-12 +kerning first=107 second=84 amount=-11 +kerning first=107 second=86 amount=-11 +kerning first=107 second=87 amount=-9 +kerning first=107 second=89 amount=-10 kerning first=107 second=99 amount=-4 kerning first=107 second=100 amount=-4 kerning first=107 second=101 amount=-4 @@ -925,9 +991,9 @@ kerning first=107 second=111 amount=-4 kerning first=107 second=112 amount=-4 kerning first=107 second=113 amount=-4 kerning first=107 second=117 amount=-3 -kerning first=107 second=119 amount=-8 -kerning first=107 second=121 amount=-4 -kerning first=107 second=221 amount=-12 +kerning first=107 second=119 amount=-6 +kerning first=107 second=121 amount=-3 +kerning first=107 second=221 amount=-10 kerning first=107 second=231 amount=-4 kerning first=107 second=232 amount=-4 kerning first=107 second=233 amount=-4 @@ -944,13 +1010,13 @@ kerning first=107 second=249 amount=-3 kerning first=107 second=250 amount=-3 kerning first=107 second=251 amount=-3 kerning first=107 second=252 amount=-3 -kerning first=107 second=253 amount=-4 +kerning first=107 second=253 amount=-3 kerning first=107 second=254 amount=-4 -kerning first=107 second=255 amount=-4 -kerning first=108 second=84 amount=-14 -kerning first=108 second=86 amount=-13 -kerning first=108 second=87 amount=-11 -kerning first=108 second=89 amount=-12 +kerning first=107 second=255 amount=-3 +kerning first=108 second=84 amount=-11 +kerning first=108 second=86 amount=-11 +kerning first=108 second=87 amount=-9 +kerning first=108 second=89 amount=-10 kerning first=108 second=99 amount=-4 kerning first=108 second=100 amount=-4 kerning first=108 second=101 amount=-4 @@ -958,11 +1024,11 @@ kerning first=108 second=103 amount=-4 kerning first=108 second=111 amount=-4 kerning first=108 second=112 amount=-4 kerning first=108 second=113 amount=-4 -kerning first=108 second=116 amount=-5 -kerning first=108 second=118 amount=-7 -kerning first=108 second=119 amount=-8 -kerning first=108 second=121 amount=-5 -kerning first=108 second=221 amount=-12 +kerning first=108 second=116 amount=-4 +kerning first=108 second=118 amount=-6 +kerning first=108 second=119 amount=-6 +kerning first=108 second=121 amount=-4 +kerning first=108 second=221 amount=-10 kerning first=108 second=231 amount=-4 kerning first=108 second=232 amount=-4 kerning first=108 second=233 amount=-4 @@ -975,25 +1041,25 @@ kerning first=108 second=244 amount=-4 kerning first=108 second=245 amount=-4 kerning first=108 second=246 amount=-4 kerning first=108 second=248 amount=-4 -kerning first=108 second=253 amount=-5 +kerning first=108 second=253 amount=-4 kerning first=108 second=254 amount=-4 -kerning first=108 second=255 amount=-5 -kerning first=109 second=84 amount=-11 -kerning first=109 second=86 amount=-12 -kerning first=109 second=87 amount=-12 -kerning first=109 second=89 amount=-10 -kerning first=109 second=112 amount=-5 -kerning first=109 second=116 amount=-7 -kerning first=109 second=118 amount=-10 -kerning first=109 second=119 amount=-11 -kerning first=109 second=121 amount=-9 -kerning first=109 second=221 amount=-10 -kerning first=109 second=253 amount=-9 -kerning first=109 second=255 amount=-9 -kerning first=110 second=84 amount=-14 -kerning first=110 second=86 amount=-13 -kerning first=110 second=87 amount=-11 -kerning first=110 second=89 amount=-12 +kerning first=108 second=255 amount=-4 +kerning first=109 second=84 amount=-9 +kerning first=109 second=86 amount=-10 +kerning first=109 second=87 amount=-10 +kerning first=109 second=89 amount=-8 +kerning first=109 second=112 amount=-4 +kerning first=109 second=116 amount=-6 +kerning first=109 second=118 amount=-8 +kerning first=109 second=119 amount=-9 +kerning first=109 second=121 amount=-7 +kerning first=109 second=221 amount=-8 +kerning first=109 second=253 amount=-7 +kerning first=109 second=255 amount=-7 +kerning first=110 second=84 amount=-11 +kerning first=110 second=86 amount=-11 +kerning first=110 second=87 amount=-9 +kerning first=110 second=89 amount=-10 kerning first=110 second=99 amount=-4 kerning first=110 second=100 amount=-4 kerning first=110 second=101 amount=-4 @@ -1001,8 +1067,8 @@ kerning first=110 second=103 amount=-4 kerning first=110 second=111 amount=-4 kerning first=110 second=112 amount=-4 kerning first=110 second=113 amount=-4 -kerning first=110 second=119 amount=-8 -kerning first=110 second=221 amount=-12 +kerning first=110 second=119 amount=-6 +kerning first=110 second=221 amount=-10 kerning first=110 second=231 amount=-4 kerning first=110 second=232 amount=-4 kerning first=110 second=233 amount=-4 @@ -1016,22 +1082,22 @@ kerning first=110 second=245 amount=-4 kerning first=110 second=246 amount=-4 kerning first=110 second=248 amount=-4 kerning first=110 second=254 amount=-4 -kerning first=111 second=84 amount=-13 -kerning first=111 second=86 amount=-15 -kerning first=111 second=87 amount=-15 -kerning first=111 second=89 amount=-13 +kerning first=111 second=84 amount=-11 +kerning first=111 second=86 amount=-12 +kerning first=111 second=87 amount=-12 +kerning first=111 second=89 amount=-10 kerning first=111 second=116 amount=-3 -kerning first=111 second=118 amount=-5 -kerning first=111 second=119 amount=-4 -kerning first=111 second=121 amount=-4 -kerning first=111 second=122 amount=-4 -kerning first=111 second=221 amount=-13 -kerning first=111 second=253 amount=-4 -kerning first=111 second=255 amount=-4 -kerning first=112 second=84 amount=-14 -kerning first=112 second=86 amount=-13 -kerning first=112 second=87 amount=-11 -kerning first=112 second=89 amount=-12 +kerning first=111 second=118 amount=-4 +kerning first=111 second=119 amount=-3 +kerning first=111 second=121 amount=-3 +kerning first=111 second=122 amount=-3 +kerning first=111 second=221 amount=-10 +kerning first=111 second=253 amount=-3 +kerning first=111 second=255 amount=-3 +kerning first=112 second=84 amount=-11 +kerning first=112 second=86 amount=-11 +kerning first=112 second=87 amount=-9 +kerning first=112 second=89 amount=-10 kerning first=112 second=97 amount=-4 kerning first=112 second=99 amount=-4 kerning first=112 second=100 amount=-4 @@ -1041,9 +1107,9 @@ kerning first=112 second=109 amount=-4 kerning first=112 second=111 amount=-4 kerning first=112 second=112 amount=-4 kerning first=112 second=113 amount=-4 -kerning first=112 second=119 amount=-8 -kerning first=112 second=122 amount=-5 -kerning first=112 second=221 amount=-12 +kerning first=112 second=119 amount=-6 +kerning first=112 second=122 amount=-4 +kerning first=112 second=221 amount=-10 kerning first=112 second=224 amount=-4 kerning first=112 second=225 amount=-4 kerning first=112 second=226 amount=-4 @@ -1063,22 +1129,22 @@ kerning first=112 second=245 amount=-4 kerning first=112 second=246 amount=-4 kerning first=112 second=248 amount=-4 kerning first=112 second=254 amount=-4 -kerning first=113 second=84 amount=-13 -kerning first=113 second=86 amount=-15 -kerning first=113 second=87 amount=-15 -kerning first=113 second=89 amount=-13 +kerning first=113 second=84 amount=-11 +kerning first=113 second=86 amount=-12 +kerning first=113 second=87 amount=-12 +kerning first=113 second=89 amount=-10 kerning first=113 second=116 amount=-3 -kerning first=113 second=118 amount=-5 -kerning first=113 second=119 amount=-4 -kerning first=113 second=121 amount=-4 -kerning first=113 second=122 amount=-4 -kerning first=113 second=221 amount=-13 -kerning first=113 second=253 amount=-4 -kerning first=113 second=255 amount=-4 -kerning first=114 second=84 amount=-14 -kerning first=114 second=86 amount=-13 -kerning first=114 second=87 amount=-11 -kerning first=114 second=89 amount=-12 +kerning first=113 second=118 amount=-4 +kerning first=113 second=119 amount=-3 +kerning first=113 second=121 amount=-3 +kerning first=113 second=122 amount=-3 +kerning first=113 second=221 amount=-10 +kerning first=113 second=253 amount=-3 +kerning first=113 second=255 amount=-3 +kerning first=114 second=84 amount=-11 +kerning first=114 second=86 amount=-11 +kerning first=114 second=87 amount=-9 +kerning first=114 second=89 amount=-10 kerning first=114 second=99 amount=-4 kerning first=114 second=100 amount=-4 kerning first=114 second=101 amount=-4 @@ -1086,9 +1152,9 @@ kerning first=114 second=103 amount=-4 kerning first=114 second=111 amount=-4 kerning first=114 second=112 amount=-4 kerning first=114 second=113 amount=-4 -kerning first=114 second=118 amount=-3 -kerning first=114 second=119 amount=-8 -kerning first=114 second=221 amount=-12 +kerning first=114 second=118 amount=-2 +kerning first=114 second=119 amount=-6 +kerning first=114 second=221 amount=-10 kerning first=114 second=231 amount=-4 kerning first=114 second=232 amount=-4 kerning first=114 second=233 amount=-4 @@ -1102,10 +1168,10 @@ kerning first=114 second=245 amount=-4 kerning first=114 second=246 amount=-4 kerning first=114 second=248 amount=-4 kerning first=114 second=254 amount=-4 -kerning first=115 second=84 amount=-14 -kerning first=115 second=86 amount=-13 -kerning first=115 second=87 amount=-11 -kerning first=115 second=89 amount=-12 +kerning first=115 second=84 amount=-11 +kerning first=115 second=86 amount=-11 +kerning first=115 second=87 amount=-9 +kerning first=115 second=89 amount=-10 kerning first=115 second=99 amount=-4 kerning first=115 second=100 amount=-4 kerning first=115 second=101 amount=-4 @@ -1113,8 +1179,8 @@ kerning first=115 second=103 amount=-4 kerning first=115 second=111 amount=-4 kerning first=115 second=112 amount=-4 kerning first=115 second=113 amount=-4 -kerning first=115 second=119 amount=-8 -kerning first=115 second=221 amount=-12 +kerning first=115 second=119 amount=-6 +kerning first=115 second=221 amount=-10 kerning first=115 second=231 amount=-4 kerning first=115 second=232 amount=-4 kerning first=115 second=233 amount=-4 @@ -1128,74 +1194,74 @@ kerning first=115 second=245 amount=-4 kerning first=115 second=246 amount=-4 kerning first=115 second=248 amount=-4 kerning first=115 second=254 amount=-4 -kerning first=116 second=84 amount=-5 -kerning first=116 second=97 amount=-4 -kerning first=116 second=99 amount=-6 -kerning first=116 second=100 amount=-6 -kerning first=116 second=101 amount=-6 -kerning first=116 second=103 amount=-6 -kerning first=116 second=109 amount=-8 -kerning first=116 second=111 amount=-6 -kerning first=116 second=112 amount=-6 -kerning first=116 second=113 amount=-6 -kerning first=116 second=122 amount=-5 -kerning first=116 second=224 amount=-5 -kerning first=116 second=225 amount=-5 -kerning first=116 second=226 amount=-5 -kerning first=116 second=227 amount=-5 -kerning first=116 second=228 amount=-5 -kerning first=116 second=229 amount=-5 -kerning first=116 second=231 amount=-6 -kerning first=116 second=232 amount=-6 -kerning first=116 second=233 amount=-6 -kerning first=116 second=234 amount=-6 -kerning first=116 second=235 amount=-6 -kerning first=116 second=240 amount=-6 -kerning first=116 second=242 amount=-6 -kerning first=116 second=243 amount=-6 -kerning first=116 second=244 amount=-6 -kerning first=116 second=245 amount=-6 -kerning first=116 second=246 amount=-6 -kerning first=116 second=248 amount=-6 -kerning first=116 second=254 amount=-6 -kerning first=117 second=84 amount=-7 -kerning first=117 second=86 amount=-10 -kerning first=117 second=87 amount=-8 -kerning first=117 second=89 amount=-8 -kerning first=117 second=116 amount=-4 -kerning first=117 second=118 amount=-3 +kerning first=116 second=84 amount=-4 +kerning first=116 second=97 amount=-3 +kerning first=116 second=99 amount=-5 +kerning first=116 second=100 amount=-5 +kerning first=116 second=101 amount=-5 +kerning first=116 second=103 amount=-5 +kerning first=116 second=109 amount=-6 +kerning first=116 second=111 amount=-5 +kerning first=116 second=112 amount=-5 +kerning first=116 second=113 amount=-5 +kerning first=116 second=122 amount=-4 +kerning first=116 second=224 amount=-4 +kerning first=116 second=225 amount=-4 +kerning first=116 second=226 amount=-4 +kerning first=116 second=227 amount=-4 +kerning first=116 second=228 amount=-4 +kerning first=116 second=229 amount=-4 +kerning first=116 second=231 amount=-5 +kerning first=116 second=232 amount=-5 +kerning first=116 second=233 amount=-5 +kerning first=116 second=234 amount=-5 +kerning first=116 second=235 amount=-5 +kerning first=116 second=240 amount=-5 +kerning first=116 second=242 amount=-5 +kerning first=116 second=243 amount=-5 +kerning first=116 second=244 amount=-5 +kerning first=116 second=245 amount=-5 +kerning first=116 second=246 amount=-5 +kerning first=116 second=248 amount=-5 +kerning first=116 second=254 amount=-5 +kerning first=117 second=84 amount=-6 +kerning first=117 second=86 amount=-8 +kerning first=117 second=87 amount=-7 +kerning first=117 second=89 amount=-6 +kerning first=117 second=116 amount=-3 +kerning first=117 second=118 amount=-2 kerning first=117 second=119 amount=-4 -kerning first=117 second=121 amount=-3 -kerning first=117 second=221 amount=-8 -kerning first=117 second=253 amount=-3 -kerning first=117 second=255 amount=-3 -kerning first=118 second=97 amount=-4 -kerning first=118 second=109 amount=-10 -kerning first=118 second=122 amount=-3 -kerning first=118 second=224 amount=-4 -kerning first=118 second=225 amount=-4 -kerning first=118 second=226 amount=-4 -kerning first=118 second=227 amount=-4 -kerning first=118 second=228 amount=-4 -kerning first=118 second=229 amount=-4 -kerning first=119 second=97 amount=-4 -kerning first=119 second=99 amount=-6 +kerning first=117 second=121 amount=-2 +kerning first=117 second=221 amount=-6 +kerning first=117 second=253 amount=-2 +kerning first=117 second=255 amount=-2 +kerning first=118 second=97 amount=-3 +kerning first=118 second=109 amount=-8 +kerning first=118 second=122 amount=-2 +kerning first=118 second=224 amount=-3 +kerning first=118 second=225 amount=-3 +kerning first=118 second=226 amount=-3 +kerning first=118 second=227 amount=-3 +kerning first=118 second=228 amount=-3 +kerning first=118 second=229 amount=-3 +kerning first=119 second=97 amount=-3 +kerning first=119 second=99 amount=-5 kerning first=119 second=100 amount=-4 kerning first=119 second=101 amount=-4 kerning first=119 second=103 amount=-4 -kerning first=119 second=108 amount=-4 -kerning first=119 second=109 amount=-9 +kerning first=119 second=108 amount=-3 +kerning first=119 second=109 amount=-7 kerning first=119 second=111 amount=-4 kerning first=119 second=112 amount=-4 kerning first=119 second=113 amount=-4 kerning first=119 second=115 amount=-3 -kerning first=119 second=122 amount=-4 -kerning first=119 second=224 amount=-4 -kerning first=119 second=225 amount=-4 -kerning first=119 second=226 amount=-4 -kerning first=119 second=227 amount=-4 -kerning first=119 second=228 amount=-4 -kerning first=119 second=229 amount=-4 +kerning first=119 second=122 amount=-3 +kerning first=119 second=224 amount=-3 +kerning first=119 second=225 amount=-3 +kerning first=119 second=226 amount=-3 +kerning first=119 second=227 amount=-3 +kerning first=119 second=228 amount=-3 +kerning first=119 second=229 amount=-3 kerning first=119 second=231 amount=-4 kerning first=119 second=232 amount=-4 kerning first=119 second=233 amount=-4 @@ -1209,10 +1275,10 @@ kerning first=119 second=245 amount=-4 kerning first=119 second=246 amount=-4 kerning first=119 second=248 amount=-4 kerning first=119 second=254 amount=-4 -kerning first=120 second=84 amount=-14 -kerning first=120 second=86 amount=-13 -kerning first=120 second=87 amount=-11 -kerning first=120 second=89 amount=-12 +kerning first=120 second=84 amount=-11 +kerning first=120 second=86 amount=-11 +kerning first=120 second=87 amount=-9 +kerning first=120 second=89 amount=-10 kerning first=120 second=99 amount=-4 kerning first=120 second=100 amount=-4 kerning first=120 second=101 amount=-4 @@ -1220,8 +1286,8 @@ kerning first=120 second=103 amount=-4 kerning first=120 second=111 amount=-4 kerning first=120 second=112 amount=-4 kerning first=120 second=113 amount=-4 -kerning first=120 second=119 amount=-8 -kerning first=120 second=221 amount=-12 +kerning first=120 second=119 amount=-6 +kerning first=120 second=221 amount=-10 kerning first=120 second=231 amount=-4 kerning first=120 second=232 amount=-4 kerning first=120 second=233 amount=-4 @@ -1236,41 +1302,41 @@ kerning first=120 second=246 amount=-4 kerning first=120 second=248 amount=-4 kerning first=120 second=254 amount=-4 kerning first=121 second=84 amount=-2 -kerning first=121 second=97 amount=-8 -kerning first=121 second=98 amount=-3 -kerning first=121 second=99 amount=-3 -kerning first=121 second=101 amount=-3 -kerning first=121 second=103 amount=-3 -kerning first=121 second=105 amount=-3 -kerning first=121 second=106 amount=-3 -kerning first=121 second=107 amount=-3 -kerning first=121 second=109 amount=-10 -kerning first=121 second=110 amount=-3 -kerning first=121 second=113 amount=-3 -kerning first=121 second=114 amount=-3 -kerning first=121 second=115 amount=-3 -kerning first=121 second=117 amount=-3 -kerning first=121 second=120 amount=-3 -kerning first=121 second=122 amount=-5 -kerning first=121 second=224 amount=-8 -kerning first=121 second=225 amount=-8 -kerning first=121 second=226 amount=-8 -kerning first=121 second=227 amount=-8 -kerning first=121 second=228 amount=-8 -kerning first=121 second=229 amount=-8 -kerning first=121 second=232 amount=-5 -kerning first=121 second=233 amount=-5 -kerning first=121 second=234 amount=-5 -kerning first=121 second=235 amount=-5 -kerning first=121 second=241 amount=-3 -kerning first=121 second=249 amount=-3 -kerning first=121 second=250 amount=-3 -kerning first=121 second=251 amount=-3 -kerning first=121 second=252 amount=-3 -kerning first=122 second=84 amount=-14 -kerning first=122 second=86 amount=-13 -kerning first=122 second=87 amount=-11 -kerning first=122 second=89 amount=-12 +kerning first=121 second=97 amount=-6 +kerning first=121 second=98 amount=-2 +kerning first=121 second=99 amount=-2 +kerning first=121 second=101 amount=-2 +kerning first=121 second=103 amount=-2 +kerning first=121 second=105 amount=-2 +kerning first=121 second=106 amount=-2 +kerning first=121 second=107 amount=-2 +kerning first=121 second=109 amount=-8 +kerning first=121 second=110 amount=-2 +kerning first=121 second=113 amount=-2 +kerning first=121 second=114 amount=-2 +kerning first=121 second=115 amount=-2 +kerning first=121 second=117 amount=-2 +kerning first=121 second=120 amount=-2 +kerning first=121 second=122 amount=-4 +kerning first=121 second=224 amount=-6 +kerning first=121 second=225 amount=-6 +kerning first=121 second=226 amount=-6 +kerning first=121 second=227 amount=-6 +kerning first=121 second=228 amount=-6 +kerning first=121 second=229 amount=-6 +kerning first=121 second=232 amount=-4 +kerning first=121 second=233 amount=-4 +kerning first=121 second=234 amount=-4 +kerning first=121 second=235 amount=-4 +kerning first=121 second=241 amount=-2 +kerning first=121 second=249 amount=-2 +kerning first=121 second=250 amount=-2 +kerning first=121 second=251 amount=-2 +kerning first=121 second=252 amount=-2 +kerning first=122 second=84 amount=-11 +kerning first=122 second=86 amount=-11 +kerning first=122 second=87 amount=-9 +kerning first=122 second=89 amount=-10 kerning first=122 second=99 amount=-4 kerning first=122 second=100 amount=-4 kerning first=122 second=101 amount=-4 @@ -1281,9 +1347,9 @@ kerning first=122 second=112 amount=-4 kerning first=122 second=113 amount=-4 kerning first=122 second=116 amount=-2 kerning first=122 second=118 amount=-2 -kerning first=122 second=119 amount=-8 +kerning first=122 second=119 amount=-6 kerning first=122 second=121 amount=-1 -kerning first=122 second=221 amount=-12 +kerning first=122 second=221 amount=-10 kerning first=122 second=231 amount=-4 kerning first=122 second=232 amount=-4 kerning first=122 second=233 amount=-4 @@ -1299,647 +1365,647 @@ kerning first=122 second=248 amount=-4 kerning first=122 second=253 amount=-1 kerning first=122 second=254 amount=-4 kerning first=122 second=255 amount=-1 -kerning first=192 second=73 amount=-5 -kerning first=192 second=76 amount=-9 -kerning first=192 second=79 amount=-5 -kerning first=192 second=80 amount=-6 -kerning first=192 second=81 amount=-9 -kerning first=192 second=84 amount=-13 -kerning first=192 second=85 amount=-7 -kerning first=192 second=86 amount=-17 -kerning first=192 second=87 amount=-21 -kerning first=192 second=89 amount=-15 -kerning first=192 second=99 amount=-8 -kerning first=192 second=100 amount=-8 -kerning first=192 second=101 amount=-8 -kerning first=192 second=103 amount=-8 -kerning first=192 second=105 amount=-6 -kerning first=192 second=108 amount=-6 -kerning first=192 second=109 amount=-4 -kerning first=192 second=111 amount=-8 -kerning first=192 second=112 amount=-8 -kerning first=192 second=113 amount=-8 -kerning first=192 second=116 amount=-12 -kerning first=192 second=117 amount=-6 -kerning first=192 second=118 amount=-18 -kerning first=192 second=119 amount=-18 -kerning first=192 second=121 amount=-10 -kerning first=192 second=204 amount=-5 -kerning first=192 second=205 amount=-5 -kerning first=192 second=206 amount=-5 -kerning first=192 second=207 amount=-5 -kerning first=192 second=210 amount=-5 -kerning first=192 second=211 amount=-5 -kerning first=192 second=212 amount=-5 -kerning first=192 second=213 amount=-5 -kerning first=192 second=214 amount=-5 -kerning first=192 second=216 amount=-5 -kerning first=192 second=217 amount=-7 -kerning first=192 second=218 amount=-7 -kerning first=192 second=219 amount=-7 -kerning first=192 second=220 amount=-7 -kerning first=192 second=221 amount=-15 -kerning first=192 second=231 amount=-8 -kerning first=192 second=232 amount=-8 -kerning first=192 second=233 amount=-8 -kerning first=192 second=234 amount=-8 -kerning first=192 second=235 amount=-8 -kerning first=192 second=236 amount=-6 -kerning first=192 second=237 amount=-6 -kerning first=192 second=238 amount=-6 -kerning first=192 second=239 amount=-6 -kerning first=192 second=240 amount=-8 -kerning first=192 second=242 amount=-8 -kerning first=192 second=243 amount=-8 -kerning first=192 second=244 amount=-8 -kerning first=192 second=245 amount=-8 -kerning first=192 second=246 amount=-8 -kerning first=192 second=248 amount=-8 -kerning first=192 second=249 amount=-6 -kerning first=192 second=250 amount=-6 -kerning first=192 second=251 amount=-6 -kerning first=192 second=252 amount=-6 -kerning first=192 second=253 amount=-10 -kerning first=192 second=254 amount=-8 -kerning first=192 second=255 amount=-10 -kerning first=193 second=73 amount=-5 -kerning first=193 second=76 amount=-9 -kerning first=193 second=79 amount=-5 -kerning first=193 second=80 amount=-6 -kerning first=193 second=81 amount=-9 -kerning first=193 second=84 amount=-13 -kerning first=193 second=85 amount=-7 -kerning first=193 second=86 amount=-17 -kerning first=193 second=87 amount=-21 -kerning first=193 second=89 amount=-15 -kerning first=193 second=99 amount=-8 -kerning first=193 second=100 amount=-8 -kerning first=193 second=101 amount=-8 -kerning first=193 second=103 amount=-8 -kerning first=193 second=105 amount=-6 -kerning first=193 second=108 amount=-6 -kerning first=193 second=109 amount=-4 -kerning first=193 second=111 amount=-8 -kerning first=193 second=112 amount=-8 -kerning first=193 second=113 amount=-8 -kerning first=193 second=116 amount=-12 -kerning first=193 second=117 amount=-6 -kerning first=193 second=118 amount=-18 -kerning first=193 second=119 amount=-18 -kerning first=193 second=121 amount=-10 -kerning first=193 second=204 amount=-5 -kerning first=193 second=205 amount=-5 -kerning first=193 second=206 amount=-5 -kerning first=193 second=207 amount=-5 -kerning first=193 second=210 amount=-5 -kerning first=193 second=211 amount=-5 -kerning first=193 second=212 amount=-5 -kerning first=193 second=213 amount=-5 -kerning first=193 second=214 amount=-5 -kerning first=193 second=216 amount=-5 -kerning first=193 second=217 amount=-7 -kerning first=193 second=218 amount=-7 -kerning first=193 second=219 amount=-7 -kerning first=193 second=220 amount=-7 -kerning first=193 second=221 amount=-15 -kerning first=193 second=231 amount=-8 -kerning first=193 second=232 amount=-8 -kerning first=193 second=233 amount=-8 -kerning first=193 second=234 amount=-8 -kerning first=193 second=235 amount=-8 -kerning first=193 second=236 amount=-6 -kerning first=193 second=237 amount=-6 -kerning first=193 second=238 amount=-6 -kerning first=193 second=239 amount=-6 -kerning first=193 second=240 amount=-8 -kerning first=193 second=242 amount=-8 -kerning first=193 second=243 amount=-8 -kerning first=193 second=244 amount=-8 -kerning first=193 second=245 amount=-8 -kerning first=193 second=246 amount=-8 -kerning first=193 second=248 amount=-8 -kerning first=193 second=249 amount=-6 -kerning first=193 second=250 amount=-6 -kerning first=193 second=251 amount=-6 -kerning first=193 second=252 amount=-6 -kerning first=193 second=253 amount=-10 -kerning first=193 second=254 amount=-8 -kerning first=193 second=255 amount=-10 -kerning first=194 second=73 amount=-5 -kerning first=194 second=76 amount=-9 -kerning first=194 second=79 amount=-5 -kerning first=194 second=80 amount=-6 -kerning first=194 second=81 amount=-9 -kerning first=194 second=84 amount=-13 -kerning first=194 second=85 amount=-7 -kerning first=194 second=86 amount=-17 -kerning first=194 second=87 amount=-21 -kerning first=194 second=89 amount=-15 -kerning first=194 second=99 amount=-8 -kerning first=194 second=100 amount=-8 -kerning first=194 second=101 amount=-8 -kerning first=194 second=103 amount=-8 -kerning first=194 second=105 amount=-6 -kerning first=194 second=108 amount=-6 -kerning first=194 second=109 amount=-4 -kerning first=194 second=111 amount=-8 -kerning first=194 second=112 amount=-8 -kerning first=194 second=113 amount=-8 -kerning first=194 second=116 amount=-12 -kerning first=194 second=117 amount=-6 -kerning first=194 second=118 amount=-18 -kerning first=194 second=119 amount=-18 -kerning first=194 second=121 amount=-10 -kerning first=194 second=204 amount=-5 -kerning first=194 second=205 amount=-5 -kerning first=194 second=206 amount=-5 -kerning first=194 second=207 amount=-5 -kerning first=194 second=210 amount=-5 -kerning first=194 second=211 amount=-5 -kerning first=194 second=212 amount=-5 -kerning first=194 second=213 amount=-5 -kerning first=194 second=214 amount=-5 -kerning first=194 second=216 amount=-5 -kerning first=194 second=217 amount=-7 -kerning first=194 second=218 amount=-7 -kerning first=194 second=219 amount=-7 -kerning first=194 second=220 amount=-7 -kerning first=194 second=221 amount=-15 -kerning first=194 second=231 amount=-8 -kerning first=194 second=232 amount=-8 -kerning first=194 second=233 amount=-8 -kerning first=194 second=234 amount=-8 -kerning first=194 second=235 amount=-8 -kerning first=194 second=236 amount=-6 -kerning first=194 second=237 amount=-6 -kerning first=194 second=238 amount=-6 -kerning first=194 second=239 amount=-6 -kerning first=194 second=240 amount=-8 -kerning first=194 second=242 amount=-8 -kerning first=194 second=243 amount=-8 -kerning first=194 second=244 amount=-8 -kerning first=194 second=245 amount=-8 -kerning first=194 second=246 amount=-8 -kerning first=194 second=248 amount=-8 -kerning first=194 second=249 amount=-6 -kerning first=194 second=250 amount=-6 -kerning first=194 second=251 amount=-6 -kerning first=194 second=252 amount=-6 -kerning first=194 second=253 amount=-10 -kerning first=194 second=254 amount=-8 -kerning first=194 second=255 amount=-10 -kerning first=195 second=73 amount=-5 -kerning first=195 second=76 amount=-9 -kerning first=195 second=79 amount=-5 -kerning first=195 second=80 amount=-6 -kerning first=195 second=81 amount=-9 -kerning first=195 second=84 amount=-13 -kerning first=195 second=85 amount=-7 -kerning first=195 second=86 amount=-17 -kerning first=195 second=87 amount=-21 -kerning first=195 second=89 amount=-15 -kerning first=195 second=99 amount=-8 -kerning first=195 second=100 amount=-8 -kerning first=195 second=101 amount=-8 -kerning first=195 second=103 amount=-8 -kerning first=195 second=105 amount=-6 -kerning first=195 second=108 amount=-6 -kerning first=195 second=109 amount=-4 -kerning first=195 second=111 amount=-8 -kerning first=195 second=112 amount=-8 -kerning first=195 second=113 amount=-8 -kerning first=195 second=116 amount=-12 -kerning first=195 second=117 amount=-6 -kerning first=195 second=118 amount=-18 -kerning first=195 second=119 amount=-18 -kerning first=195 second=121 amount=-10 -kerning first=195 second=204 amount=-5 -kerning first=195 second=205 amount=-5 -kerning first=195 second=206 amount=-5 -kerning first=195 second=207 amount=-5 -kerning first=195 second=210 amount=-5 -kerning first=195 second=211 amount=-5 -kerning first=195 second=212 amount=-5 -kerning first=195 second=213 amount=-5 -kerning first=195 second=214 amount=-5 -kerning first=195 second=216 amount=-5 -kerning first=195 second=217 amount=-7 -kerning first=195 second=218 amount=-7 -kerning first=195 second=219 amount=-7 -kerning first=195 second=220 amount=-7 -kerning first=195 second=221 amount=-15 -kerning first=195 second=231 amount=-8 -kerning first=195 second=232 amount=-8 -kerning first=195 second=233 amount=-8 -kerning first=195 second=234 amount=-8 -kerning first=195 second=235 amount=-8 -kerning first=195 second=236 amount=-6 -kerning first=195 second=237 amount=-6 -kerning first=195 second=238 amount=-6 -kerning first=195 second=239 amount=-6 -kerning first=195 second=240 amount=-8 -kerning first=195 second=242 amount=-8 -kerning first=195 second=243 amount=-8 -kerning first=195 second=244 amount=-8 -kerning first=195 second=245 amount=-8 -kerning first=195 second=246 amount=-8 -kerning first=195 second=248 amount=-8 -kerning first=195 second=249 amount=-6 -kerning first=195 second=250 amount=-6 -kerning first=195 second=251 amount=-6 -kerning first=195 second=252 amount=-6 -kerning first=195 second=253 amount=-10 -kerning first=195 second=254 amount=-8 -kerning first=195 second=255 amount=-10 -kerning first=196 second=73 amount=-5 -kerning first=196 second=76 amount=-9 -kerning first=196 second=79 amount=-5 -kerning first=196 second=80 amount=-6 -kerning first=196 second=81 amount=-9 -kerning first=196 second=84 amount=-13 -kerning first=196 second=85 amount=-7 -kerning first=196 second=86 amount=-17 -kerning first=196 second=87 amount=-21 -kerning first=196 second=89 amount=-15 -kerning first=196 second=99 amount=-8 -kerning first=196 second=100 amount=-8 -kerning first=196 second=101 amount=-8 -kerning first=196 second=103 amount=-8 -kerning first=196 second=105 amount=-6 -kerning first=196 second=108 amount=-6 -kerning first=196 second=109 amount=-4 -kerning first=196 second=111 amount=-8 -kerning first=196 second=112 amount=-8 -kerning first=196 second=113 amount=-8 -kerning first=196 second=116 amount=-12 -kerning first=196 second=117 amount=-6 -kerning first=196 second=118 amount=-18 -kerning first=196 second=119 amount=-18 -kerning first=196 second=121 amount=-10 -kerning first=196 second=204 amount=-5 -kerning first=196 second=205 amount=-5 -kerning first=196 second=206 amount=-5 -kerning first=196 second=207 amount=-5 -kerning first=196 second=210 amount=-5 -kerning first=196 second=211 amount=-5 -kerning first=196 second=212 amount=-5 -kerning first=196 second=213 amount=-5 -kerning first=196 second=214 amount=-5 -kerning first=196 second=216 amount=-5 -kerning first=196 second=217 amount=-7 -kerning first=196 second=218 amount=-7 -kerning first=196 second=219 amount=-7 -kerning first=196 second=220 amount=-7 -kerning first=196 second=221 amount=-15 -kerning first=196 second=231 amount=-8 -kerning first=196 second=232 amount=-8 -kerning first=196 second=233 amount=-8 -kerning first=196 second=234 amount=-8 -kerning first=196 second=235 amount=-8 -kerning first=196 second=236 amount=-6 -kerning first=196 second=237 amount=-6 -kerning first=196 second=238 amount=-6 -kerning first=196 second=239 amount=-6 -kerning first=196 second=240 amount=-8 -kerning first=196 second=242 amount=-8 -kerning first=196 second=243 amount=-8 -kerning first=196 second=244 amount=-8 -kerning first=196 second=245 amount=-8 -kerning first=196 second=246 amount=-8 -kerning first=196 second=248 amount=-8 -kerning first=196 second=249 amount=-6 -kerning first=196 second=250 amount=-6 -kerning first=196 second=251 amount=-6 -kerning first=196 second=252 amount=-6 -kerning first=196 second=253 amount=-10 -kerning first=196 second=254 amount=-8 -kerning first=196 second=255 amount=-10 -kerning first=197 second=73 amount=-5 -kerning first=197 second=76 amount=-9 -kerning first=197 second=79 amount=-5 -kerning first=197 second=80 amount=-6 -kerning first=197 second=81 amount=-9 -kerning first=197 second=84 amount=-13 -kerning first=197 second=85 amount=-7 -kerning first=197 second=86 amount=-17 -kerning first=197 second=87 amount=-21 -kerning first=197 second=89 amount=-15 -kerning first=197 second=99 amount=-8 -kerning first=197 second=100 amount=-8 -kerning first=197 second=101 amount=-8 -kerning first=197 second=103 amount=-8 -kerning first=197 second=105 amount=-6 -kerning first=197 second=108 amount=-6 -kerning first=197 second=109 amount=-4 -kerning first=197 second=111 amount=-8 -kerning first=197 second=112 amount=-8 -kerning first=197 second=113 amount=-8 -kerning first=197 second=116 amount=-12 -kerning first=197 second=117 amount=-6 -kerning first=197 second=118 amount=-18 -kerning first=197 second=119 amount=-18 -kerning first=197 second=121 amount=-10 -kerning first=197 second=204 amount=-5 -kerning first=197 second=205 amount=-5 -kerning first=197 second=206 amount=-5 -kerning first=197 second=207 amount=-5 -kerning first=197 second=210 amount=-5 -kerning first=197 second=211 amount=-5 -kerning first=197 second=212 amount=-5 -kerning first=197 second=213 amount=-5 -kerning first=197 second=214 amount=-5 -kerning first=197 second=216 amount=-5 -kerning first=197 second=217 amount=-7 -kerning first=197 second=218 amount=-7 -kerning first=197 second=219 amount=-7 -kerning first=197 second=220 amount=-7 -kerning first=197 second=221 amount=-15 -kerning first=197 second=231 amount=-8 -kerning first=197 second=232 amount=-8 -kerning first=197 second=233 amount=-8 -kerning first=197 second=234 amount=-8 -kerning first=197 second=235 amount=-8 -kerning first=197 second=236 amount=-6 -kerning first=197 second=237 amount=-6 -kerning first=197 second=238 amount=-6 -kerning first=197 second=239 amount=-6 -kerning first=197 second=240 amount=-8 -kerning first=197 second=242 amount=-8 -kerning first=197 second=243 amount=-8 -kerning first=197 second=244 amount=-8 -kerning first=197 second=245 amount=-8 -kerning first=197 second=246 amount=-8 -kerning first=197 second=248 amount=-8 -kerning first=197 second=249 amount=-6 -kerning first=197 second=250 amount=-6 -kerning first=197 second=251 amount=-6 -kerning first=197 second=252 amount=-6 -kerning first=197 second=253 amount=-10 -kerning first=197 second=254 amount=-8 -kerning first=197 second=255 amount=-10 -kerning first=198 second=73 amount=-5 -kerning first=198 second=76 amount=-9 -kerning first=198 second=79 amount=-5 -kerning first=198 second=80 amount=-6 -kerning first=198 second=81 amount=-9 -kerning first=198 second=84 amount=-13 -kerning first=198 second=85 amount=-7 -kerning first=198 second=86 amount=-17 -kerning first=198 second=87 amount=-21 -kerning first=198 second=89 amount=-15 -kerning first=198 second=99 amount=-8 -kerning first=198 second=100 amount=-8 -kerning first=198 second=101 amount=-8 -kerning first=198 second=103 amount=-8 -kerning first=198 second=105 amount=-6 -kerning first=198 second=108 amount=-6 -kerning first=198 second=111 amount=-8 -kerning first=198 second=112 amount=-8 -kerning first=198 second=113 amount=-8 -kerning first=198 second=116 amount=-12 -kerning first=198 second=117 amount=-6 -kerning first=198 second=118 amount=-18 -kerning first=198 second=119 amount=-18 -kerning first=198 second=121 amount=-10 -kerning first=198 second=204 amount=-5 -kerning first=198 second=205 amount=-5 -kerning first=198 second=206 amount=-5 -kerning first=198 second=207 amount=-5 -kerning first=198 second=210 amount=-5 -kerning first=198 second=211 amount=-5 -kerning first=198 second=212 amount=-5 -kerning first=198 second=213 amount=-5 -kerning first=198 second=214 amount=-5 -kerning first=198 second=216 amount=-5 -kerning first=198 second=217 amount=-7 -kerning first=198 second=218 amount=-7 -kerning first=198 second=219 amount=-7 -kerning first=198 second=220 amount=-7 -kerning first=198 second=221 amount=-15 -kerning first=198 second=231 amount=-8 -kerning first=198 second=232 amount=-8 -kerning first=198 second=233 amount=-8 -kerning first=198 second=234 amount=-8 -kerning first=198 second=235 amount=-8 -kerning first=198 second=236 amount=-6 -kerning first=198 second=237 amount=-6 -kerning first=198 second=238 amount=-6 -kerning first=198 second=239 amount=-6 -kerning first=198 second=240 amount=-8 -kerning first=198 second=242 amount=-8 -kerning first=198 second=243 amount=-8 -kerning first=198 second=244 amount=-8 -kerning first=198 second=245 amount=-8 -kerning first=198 second=246 amount=-8 -kerning first=198 second=248 amount=-8 -kerning first=198 second=249 amount=-6 -kerning first=198 second=250 amount=-6 -kerning first=198 second=251 amount=-6 -kerning first=198 second=252 amount=-6 -kerning first=198 second=253 amount=-10 -kerning first=198 second=254 amount=-8 -kerning first=198 second=255 amount=-10 -kerning first=199 second=97 amount=-4 -kerning first=199 second=105 amount=-4 -kerning first=199 second=109 amount=-8 -kerning first=199 second=113 amount=-4 -kerning first=199 second=117 amount=-4 -kerning first=199 second=118 amount=-8 -kerning first=199 second=119 amount=-6 -kerning first=199 second=120 amount=-5 -kerning first=199 second=121 amount=-5 -kerning first=199 second=122 amount=-4 -kerning first=199 second=224 amount=-4 -kerning first=199 second=225 amount=-4 -kerning first=199 second=226 amount=-4 -kerning first=199 second=227 amount=-4 -kerning first=199 second=228 amount=-4 -kerning first=199 second=229 amount=-4 -kerning first=199 second=236 amount=-4 -kerning first=199 second=237 amount=-4 -kerning first=199 second=238 amount=-4 -kerning first=199 second=239 amount=-4 -kerning first=199 second=249 amount=-4 -kerning first=199 second=250 amount=-4 -kerning first=199 second=251 amount=-4 -kerning first=199 second=252 amount=-4 -kerning first=199 second=253 amount=-5 -kerning first=199 second=255 amount=-5 -kerning first=200 second=97 amount=-4 -kerning first=200 second=109 amount=-8 -kerning first=200 second=122 amount=-4 -kerning first=200 second=224 amount=-4 -kerning first=200 second=225 amount=-4 -kerning first=200 second=226 amount=-4 -kerning first=200 second=227 amount=-4 -kerning first=200 second=228 amount=-4 -kerning first=200 second=229 amount=-4 -kerning first=201 second=97 amount=-4 -kerning first=201 second=109 amount=-8 -kerning first=201 second=122 amount=-4 -kerning first=201 second=224 amount=-4 -kerning first=201 second=225 amount=-4 -kerning first=201 second=226 amount=-4 -kerning first=201 second=227 amount=-4 -kerning first=201 second=228 amount=-4 -kerning first=201 second=229 amount=-4 -kerning first=202 second=97 amount=-4 -kerning first=202 second=109 amount=-8 -kerning first=202 second=122 amount=-4 -kerning first=202 second=224 amount=-4 -kerning first=202 second=225 amount=-4 -kerning first=202 second=226 amount=-4 -kerning first=202 second=227 amount=-4 -kerning first=202 second=228 amount=-4 -kerning first=202 second=229 amount=-4 -kerning first=203 second=97 amount=-4 -kerning first=203 second=109 amount=-8 -kerning first=203 second=122 amount=-4 -kerning first=203 second=224 amount=-4 -kerning first=203 second=225 amount=-4 -kerning first=203 second=226 amount=-4 -kerning first=203 second=227 amount=-4 -kerning first=203 second=228 amount=-4 -kerning first=203 second=229 amount=-4 -kerning first=208 second=97 amount=-4 -kerning first=208 second=109 amount=-8 -kerning first=208 second=122 amount=-4 -kerning first=208 second=224 amount=-4 -kerning first=208 second=225 amount=-4 -kerning first=208 second=226 amount=-4 -kerning first=208 second=227 amount=-4 -kerning first=208 second=228 amount=-4 -kerning first=208 second=229 amount=-4 -kerning first=210 second=97 amount=-4 -kerning first=210 second=109 amount=-8 -kerning first=210 second=122 amount=-4 -kerning first=210 second=224 amount=-4 -kerning first=210 second=225 amount=-4 -kerning first=210 second=226 amount=-4 -kerning first=210 second=227 amount=-4 -kerning first=210 second=228 amount=-4 -kerning first=210 second=229 amount=-4 -kerning first=211 second=97 amount=-4 -kerning first=211 second=109 amount=-8 -kerning first=211 second=122 amount=-4 -kerning first=211 second=224 amount=-4 -kerning first=211 second=225 amount=-4 -kerning first=211 second=226 amount=-4 -kerning first=211 second=227 amount=-4 -kerning first=211 second=228 amount=-4 -kerning first=211 second=229 amount=-4 -kerning first=212 second=97 amount=-4 -kerning first=212 second=109 amount=-8 -kerning first=212 second=122 amount=-4 -kerning first=212 second=224 amount=-4 -kerning first=212 second=225 amount=-4 -kerning first=212 second=226 amount=-4 -kerning first=212 second=227 amount=-4 -kerning first=212 second=228 amount=-4 -kerning first=212 second=229 amount=-4 -kerning first=213 second=97 amount=-4 -kerning first=213 second=109 amount=-8 -kerning first=213 second=122 amount=-4 -kerning first=213 second=224 amount=-4 -kerning first=213 second=225 amount=-4 -kerning first=213 second=226 amount=-4 -kerning first=213 second=227 amount=-4 -kerning first=213 second=228 amount=-4 -kerning first=213 second=229 amount=-4 -kerning first=214 second=97 amount=-4 -kerning first=214 second=109 amount=-8 -kerning first=214 second=122 amount=-4 -kerning first=214 second=224 amount=-4 -kerning first=214 second=225 amount=-4 -kerning first=214 second=226 amount=-4 -kerning first=214 second=227 amount=-4 -kerning first=214 second=228 amount=-4 -kerning first=214 second=229 amount=-4 -kerning first=216 second=97 amount=-4 -kerning first=216 second=109 amount=-8 -kerning first=216 second=122 amount=-4 -kerning first=216 second=224 amount=-4 -kerning first=216 second=225 amount=-4 -kerning first=216 second=226 amount=-4 -kerning first=216 second=227 amount=-4 -kerning first=216 second=228 amount=-4 -kerning first=216 second=229 amount=-4 -kerning first=221 second=67 amount=-5 -kerning first=221 second=69 amount=-6 -kerning first=221 second=71 amount=-4 -kerning first=221 second=77 amount=-14 -kerning first=221 second=97 amount=-16 -kerning first=221 second=98 amount=-8 -kerning first=221 second=99 amount=-8 -kerning first=221 second=100 amount=-6 -kerning first=221 second=101 amount=-8 -kerning first=221 second=103 amount=-8 -kerning first=221 second=105 amount=-8 -kerning first=221 second=106 amount=-8 -kerning first=221 second=107 amount=-8 -kerning first=221 second=109 amount=-10 -kerning first=221 second=110 amount=-8 -kerning first=221 second=111 amount=-6 -kerning first=221 second=112 amount=-6 -kerning first=221 second=113 amount=-8 -kerning first=221 second=114 amount=-8 -kerning first=221 second=115 amount=-8 -kerning first=221 second=116 amount=-4 -kerning first=221 second=117 amount=-8 +kerning first=192 second=73 amount=-4 +kerning first=192 second=76 amount=-7 +kerning first=192 second=79 amount=-4 +kerning first=192 second=80 amount=-5 +kerning first=192 second=81 amount=-7 +kerning first=192 second=84 amount=-10 +kerning first=192 second=85 amount=-6 +kerning first=192 second=86 amount=-13 +kerning first=192 second=87 amount=-17 +kerning first=192 second=89 amount=-12 +kerning first=192 second=99 amount=-7 +kerning first=192 second=100 amount=-7 +kerning first=192 second=101 amount=-7 +kerning first=192 second=103 amount=-7 +kerning first=192 second=105 amount=-4 +kerning first=192 second=108 amount=-5 +kerning first=192 second=109 amount=-3 +kerning first=192 second=111 amount=-7 +kerning first=192 second=112 amount=-7 +kerning first=192 second=113 amount=-7 +kerning first=192 second=116 amount=-9 +kerning first=192 second=117 amount=-5 +kerning first=192 second=118 amount=-14 +kerning first=192 second=119 amount=-14 +kerning first=192 second=121 amount=-8 +kerning first=192 second=204 amount=-4 +kerning first=192 second=205 amount=-4 +kerning first=192 second=206 amount=-4 +kerning first=192 second=207 amount=-4 +kerning first=192 second=210 amount=-4 +kerning first=192 second=211 amount=-4 +kerning first=192 second=212 amount=-4 +kerning first=192 second=213 amount=-4 +kerning first=192 second=214 amount=-4 +kerning first=192 second=216 amount=-4 +kerning first=192 second=217 amount=-6 +kerning first=192 second=218 amount=-6 +kerning first=192 second=219 amount=-6 +kerning first=192 second=220 amount=-6 +kerning first=192 second=221 amount=-12 +kerning first=192 second=231 amount=-7 +kerning first=192 second=232 amount=-7 +kerning first=192 second=233 amount=-7 +kerning first=192 second=234 amount=-7 +kerning first=192 second=235 amount=-7 +kerning first=192 second=236 amount=-4 +kerning first=192 second=237 amount=-4 +kerning first=192 second=238 amount=-4 +kerning first=192 second=239 amount=-4 +kerning first=192 second=240 amount=-7 +kerning first=192 second=242 amount=-7 +kerning first=192 second=243 amount=-7 +kerning first=192 second=244 amount=-7 +kerning first=192 second=245 amount=-7 +kerning first=192 second=246 amount=-7 +kerning first=192 second=248 amount=-7 +kerning first=192 second=249 amount=-5 +kerning first=192 second=250 amount=-5 +kerning first=192 second=251 amount=-5 +kerning first=192 second=252 amount=-5 +kerning first=192 second=253 amount=-8 +kerning first=192 second=254 amount=-7 +kerning first=192 second=255 amount=-8 +kerning first=193 second=73 amount=-4 +kerning first=193 second=76 amount=-7 +kerning first=193 second=79 amount=-4 +kerning first=193 second=80 amount=-5 +kerning first=193 second=81 amount=-7 +kerning first=193 second=84 amount=-10 +kerning first=193 second=85 amount=-6 +kerning first=193 second=86 amount=-13 +kerning first=193 second=87 amount=-17 +kerning first=193 second=89 amount=-12 +kerning first=193 second=99 amount=-7 +kerning first=193 second=100 amount=-7 +kerning first=193 second=101 amount=-7 +kerning first=193 second=103 amount=-7 +kerning first=193 second=105 amount=-4 +kerning first=193 second=108 amount=-5 +kerning first=193 second=109 amount=-3 +kerning first=193 second=111 amount=-7 +kerning first=193 second=112 amount=-7 +kerning first=193 second=113 amount=-7 +kerning first=193 second=116 amount=-9 +kerning first=193 second=117 amount=-5 +kerning first=193 second=118 amount=-14 +kerning first=193 second=119 amount=-14 +kerning first=193 second=121 amount=-8 +kerning first=193 second=204 amount=-4 +kerning first=193 second=205 amount=-4 +kerning first=193 second=206 amount=-4 +kerning first=193 second=207 amount=-4 +kerning first=193 second=210 amount=-4 +kerning first=193 second=211 amount=-4 +kerning first=193 second=212 amount=-4 +kerning first=193 second=213 amount=-4 +kerning first=193 second=214 amount=-4 +kerning first=193 second=216 amount=-4 +kerning first=193 second=217 amount=-6 +kerning first=193 second=218 amount=-6 +kerning first=193 second=219 amount=-6 +kerning first=193 second=220 amount=-6 +kerning first=193 second=221 amount=-12 +kerning first=193 second=231 amount=-7 +kerning first=193 second=232 amount=-7 +kerning first=193 second=233 amount=-7 +kerning first=193 second=234 amount=-7 +kerning first=193 second=235 amount=-7 +kerning first=193 second=236 amount=-4 +kerning first=193 second=237 amount=-4 +kerning first=193 second=238 amount=-4 +kerning first=193 second=239 amount=-4 +kerning first=193 second=240 amount=-7 +kerning first=193 second=242 amount=-7 +kerning first=193 second=243 amount=-7 +kerning first=193 second=244 amount=-7 +kerning first=193 second=245 amount=-7 +kerning first=193 second=246 amount=-7 +kerning first=193 second=248 amount=-7 +kerning first=193 second=249 amount=-5 +kerning first=193 second=250 amount=-5 +kerning first=193 second=251 amount=-5 +kerning first=193 second=252 amount=-5 +kerning first=193 second=253 amount=-8 +kerning first=193 second=254 amount=-7 +kerning first=193 second=255 amount=-8 +kerning first=194 second=73 amount=-4 +kerning first=194 second=76 amount=-7 +kerning first=194 second=79 amount=-4 +kerning first=194 second=80 amount=-5 +kerning first=194 second=81 amount=-7 +kerning first=194 second=84 amount=-10 +kerning first=194 second=85 amount=-6 +kerning first=194 second=86 amount=-13 +kerning first=194 second=87 amount=-17 +kerning first=194 second=89 amount=-12 +kerning first=194 second=99 amount=-7 +kerning first=194 second=100 amount=-7 +kerning first=194 second=101 amount=-7 +kerning first=194 second=103 amount=-7 +kerning first=194 second=105 amount=-4 +kerning first=194 second=108 amount=-5 +kerning first=194 second=109 amount=-3 +kerning first=194 second=111 amount=-7 +kerning first=194 second=112 amount=-7 +kerning first=194 second=113 amount=-7 +kerning first=194 second=116 amount=-9 +kerning first=194 second=117 amount=-5 +kerning first=194 second=118 amount=-14 +kerning first=194 second=119 amount=-14 +kerning first=194 second=121 amount=-8 +kerning first=194 second=204 amount=-4 +kerning first=194 second=205 amount=-4 +kerning first=194 second=206 amount=-4 +kerning first=194 second=207 amount=-4 +kerning first=194 second=210 amount=-4 +kerning first=194 second=211 amount=-4 +kerning first=194 second=212 amount=-4 +kerning first=194 second=213 amount=-4 +kerning first=194 second=214 amount=-4 +kerning first=194 second=216 amount=-4 +kerning first=194 second=217 amount=-6 +kerning first=194 second=218 amount=-6 +kerning first=194 second=219 amount=-6 +kerning first=194 second=220 amount=-6 +kerning first=194 second=221 amount=-12 +kerning first=194 second=231 amount=-7 +kerning first=194 second=232 amount=-7 +kerning first=194 second=233 amount=-7 +kerning first=194 second=234 amount=-7 +kerning first=194 second=235 amount=-7 +kerning first=194 second=236 amount=-4 +kerning first=194 second=237 amount=-4 +kerning first=194 second=238 amount=-4 +kerning first=194 second=239 amount=-4 +kerning first=194 second=240 amount=-7 +kerning first=194 second=242 amount=-7 +kerning first=194 second=243 amount=-7 +kerning first=194 second=244 amount=-7 +kerning first=194 second=245 amount=-7 +kerning first=194 second=246 amount=-7 +kerning first=194 second=248 amount=-7 +kerning first=194 second=249 amount=-5 +kerning first=194 second=250 amount=-5 +kerning first=194 second=251 amount=-5 +kerning first=194 second=252 amount=-5 +kerning first=194 second=253 amount=-8 +kerning first=194 second=254 amount=-7 +kerning first=194 second=255 amount=-8 +kerning first=195 second=73 amount=-4 +kerning first=195 second=76 amount=-7 +kerning first=195 second=79 amount=-4 +kerning first=195 second=80 amount=-5 +kerning first=195 second=81 amount=-7 +kerning first=195 second=84 amount=-10 +kerning first=195 second=85 amount=-6 +kerning first=195 second=86 amount=-13 +kerning first=195 second=87 amount=-17 +kerning first=195 second=89 amount=-12 +kerning first=195 second=99 amount=-7 +kerning first=195 second=100 amount=-7 +kerning first=195 second=101 amount=-7 +kerning first=195 second=103 amount=-7 +kerning first=195 second=105 amount=-4 +kerning first=195 second=108 amount=-5 +kerning first=195 second=109 amount=-3 +kerning first=195 second=111 amount=-7 +kerning first=195 second=112 amount=-7 +kerning first=195 second=113 amount=-7 +kerning first=195 second=116 amount=-9 +kerning first=195 second=117 amount=-5 +kerning first=195 second=118 amount=-14 +kerning first=195 second=119 amount=-14 +kerning first=195 second=121 amount=-8 +kerning first=195 second=204 amount=-4 +kerning first=195 second=205 amount=-4 +kerning first=195 second=206 amount=-4 +kerning first=195 second=207 amount=-4 +kerning first=195 second=210 amount=-4 +kerning first=195 second=211 amount=-4 +kerning first=195 second=212 amount=-4 +kerning first=195 second=213 amount=-4 +kerning first=195 second=214 amount=-4 +kerning first=195 second=216 amount=-4 +kerning first=195 second=217 amount=-6 +kerning first=195 second=218 amount=-6 +kerning first=195 second=219 amount=-6 +kerning first=195 second=220 amount=-6 +kerning first=195 second=221 amount=-12 +kerning first=195 second=231 amount=-7 +kerning first=195 second=232 amount=-7 +kerning first=195 second=233 amount=-7 +kerning first=195 second=234 amount=-7 +kerning first=195 second=235 amount=-7 +kerning first=195 second=236 amount=-4 +kerning first=195 second=237 amount=-4 +kerning first=195 second=238 amount=-4 +kerning first=195 second=239 amount=-4 +kerning first=195 second=240 amount=-7 +kerning first=195 second=242 amount=-7 +kerning first=195 second=243 amount=-7 +kerning first=195 second=244 amount=-7 +kerning first=195 second=245 amount=-7 +kerning first=195 second=246 amount=-7 +kerning first=195 second=248 amount=-7 +kerning first=195 second=249 amount=-5 +kerning first=195 second=250 amount=-5 +kerning first=195 second=251 amount=-5 +kerning first=195 second=252 amount=-5 +kerning first=195 second=253 amount=-8 +kerning first=195 second=254 amount=-7 +kerning first=195 second=255 amount=-8 +kerning first=196 second=73 amount=-4 +kerning first=196 second=76 amount=-7 +kerning first=196 second=79 amount=-4 +kerning first=196 second=80 amount=-5 +kerning first=196 second=81 amount=-7 +kerning first=196 second=84 amount=-10 +kerning first=196 second=85 amount=-6 +kerning first=196 second=86 amount=-13 +kerning first=196 second=87 amount=-17 +kerning first=196 second=89 amount=-12 +kerning first=196 second=99 amount=-7 +kerning first=196 second=100 amount=-7 +kerning first=196 second=101 amount=-7 +kerning first=196 second=103 amount=-7 +kerning first=196 second=105 amount=-4 +kerning first=196 second=108 amount=-5 +kerning first=196 second=109 amount=-3 +kerning first=196 second=111 amount=-7 +kerning first=196 second=112 amount=-7 +kerning first=196 second=113 amount=-7 +kerning first=196 second=116 amount=-9 +kerning first=196 second=117 amount=-5 +kerning first=196 second=118 amount=-14 +kerning first=196 second=119 amount=-14 +kerning first=196 second=121 amount=-8 +kerning first=196 second=204 amount=-4 +kerning first=196 second=205 amount=-4 +kerning first=196 second=206 amount=-4 +kerning first=196 second=207 amount=-4 +kerning first=196 second=210 amount=-4 +kerning first=196 second=211 amount=-4 +kerning first=196 second=212 amount=-4 +kerning first=196 second=213 amount=-4 +kerning first=196 second=214 amount=-4 +kerning first=196 second=216 amount=-4 +kerning first=196 second=217 amount=-6 +kerning first=196 second=218 amount=-6 +kerning first=196 second=219 amount=-6 +kerning first=196 second=220 amount=-6 +kerning first=196 second=221 amount=-12 +kerning first=196 second=231 amount=-7 +kerning first=196 second=232 amount=-7 +kerning first=196 second=233 amount=-7 +kerning first=196 second=234 amount=-7 +kerning first=196 second=235 amount=-7 +kerning first=196 second=236 amount=-4 +kerning first=196 second=237 amount=-4 +kerning first=196 second=238 amount=-4 +kerning first=196 second=239 amount=-4 +kerning first=196 second=240 amount=-7 +kerning first=196 second=242 amount=-7 +kerning first=196 second=243 amount=-7 +kerning first=196 second=244 amount=-7 +kerning first=196 second=245 amount=-7 +kerning first=196 second=246 amount=-7 +kerning first=196 second=248 amount=-7 +kerning first=196 second=249 amount=-5 +kerning first=196 second=250 amount=-5 +kerning first=196 second=251 amount=-5 +kerning first=196 second=252 amount=-5 +kerning first=196 second=253 amount=-8 +kerning first=196 second=254 amount=-7 +kerning first=196 second=255 amount=-8 +kerning first=197 second=73 amount=-4 +kerning first=197 second=76 amount=-7 +kerning first=197 second=79 amount=-4 +kerning first=197 second=80 amount=-5 +kerning first=197 second=81 amount=-7 +kerning first=197 second=84 amount=-10 +kerning first=197 second=85 amount=-6 +kerning first=197 second=86 amount=-13 +kerning first=197 second=87 amount=-17 +kerning first=197 second=89 amount=-12 +kerning first=197 second=99 amount=-7 +kerning first=197 second=100 amount=-7 +kerning first=197 second=101 amount=-7 +kerning first=197 second=103 amount=-7 +kerning first=197 second=105 amount=-4 +kerning first=197 second=108 amount=-5 +kerning first=197 second=109 amount=-3 +kerning first=197 second=111 amount=-7 +kerning first=197 second=112 amount=-7 +kerning first=197 second=113 amount=-7 +kerning first=197 second=116 amount=-9 +kerning first=197 second=117 amount=-5 +kerning first=197 second=118 amount=-14 +kerning first=197 second=119 amount=-14 +kerning first=197 second=121 amount=-8 +kerning first=197 second=204 amount=-4 +kerning first=197 second=205 amount=-4 +kerning first=197 second=206 amount=-4 +kerning first=197 second=207 amount=-4 +kerning first=197 second=210 amount=-4 +kerning first=197 second=211 amount=-4 +kerning first=197 second=212 amount=-4 +kerning first=197 second=213 amount=-4 +kerning first=197 second=214 amount=-4 +kerning first=197 second=216 amount=-4 +kerning first=197 second=217 amount=-6 +kerning first=197 second=218 amount=-6 +kerning first=197 second=219 amount=-6 +kerning first=197 second=220 amount=-6 +kerning first=197 second=221 amount=-12 +kerning first=197 second=231 amount=-7 +kerning first=197 second=232 amount=-7 +kerning first=197 second=233 amount=-7 +kerning first=197 second=234 amount=-7 +kerning first=197 second=235 amount=-7 +kerning first=197 second=236 amount=-4 +kerning first=197 second=237 amount=-4 +kerning first=197 second=238 amount=-4 +kerning first=197 second=239 amount=-4 +kerning first=197 second=240 amount=-7 +kerning first=197 second=242 amount=-7 +kerning first=197 second=243 amount=-7 +kerning first=197 second=244 amount=-7 +kerning first=197 second=245 amount=-7 +kerning first=197 second=246 amount=-7 +kerning first=197 second=248 amount=-7 +kerning first=197 second=249 amount=-5 +kerning first=197 second=250 amount=-5 +kerning first=197 second=251 amount=-5 +kerning first=197 second=252 amount=-5 +kerning first=197 second=253 amount=-8 +kerning first=197 second=254 amount=-7 +kerning first=197 second=255 amount=-8 +kerning first=198 second=73 amount=-4 +kerning first=198 second=76 amount=-7 +kerning first=198 second=79 amount=-4 +kerning first=198 second=80 amount=-5 +kerning first=198 second=81 amount=-7 +kerning first=198 second=84 amount=-10 +kerning first=198 second=85 amount=-6 +kerning first=198 second=86 amount=-13 +kerning first=198 second=87 amount=-17 +kerning first=198 second=89 amount=-12 +kerning first=198 second=99 amount=-7 +kerning first=198 second=100 amount=-7 +kerning first=198 second=101 amount=-7 +kerning first=198 second=103 amount=-7 +kerning first=198 second=105 amount=-4 +kerning first=198 second=108 amount=-5 +kerning first=198 second=111 amount=-7 +kerning first=198 second=112 amount=-7 +kerning first=198 second=113 amount=-7 +kerning first=198 second=116 amount=-9 +kerning first=198 second=117 amount=-5 +kerning first=198 second=118 amount=-14 +kerning first=198 second=119 amount=-14 +kerning first=198 second=121 amount=-8 +kerning first=198 second=204 amount=-4 +kerning first=198 second=205 amount=-4 +kerning first=198 second=206 amount=-4 +kerning first=198 second=207 amount=-4 +kerning first=198 second=210 amount=-4 +kerning first=198 second=211 amount=-4 +kerning first=198 second=212 amount=-4 +kerning first=198 second=213 amount=-4 +kerning first=198 second=214 amount=-4 +kerning first=198 second=216 amount=-4 +kerning first=198 second=217 amount=-6 +kerning first=198 second=218 amount=-6 +kerning first=198 second=219 amount=-6 +kerning first=198 second=220 amount=-6 +kerning first=198 second=221 amount=-12 +kerning first=198 second=231 amount=-7 +kerning first=198 second=232 amount=-7 +kerning first=198 second=233 amount=-7 +kerning first=198 second=234 amount=-7 +kerning first=198 second=235 amount=-7 +kerning first=198 second=236 amount=-4 +kerning first=198 second=237 amount=-4 +kerning first=198 second=238 amount=-4 +kerning first=198 second=239 amount=-4 +kerning first=198 second=240 amount=-7 +kerning first=198 second=242 amount=-7 +kerning first=198 second=243 amount=-7 +kerning first=198 second=244 amount=-7 +kerning first=198 second=245 amount=-7 +kerning first=198 second=246 amount=-7 +kerning first=198 second=248 amount=-7 +kerning first=198 second=249 amount=-5 +kerning first=198 second=250 amount=-5 +kerning first=198 second=251 amount=-5 +kerning first=198 second=252 amount=-5 +kerning first=198 second=253 amount=-8 +kerning first=198 second=254 amount=-7 +kerning first=198 second=255 amount=-8 +kerning first=199 second=97 amount=-3 +kerning first=199 second=105 amount=-3 +kerning first=199 second=109 amount=-6 +kerning first=199 second=113 amount=-3 +kerning first=199 second=117 amount=-3 +kerning first=199 second=118 amount=-6 +kerning first=199 second=119 amount=-5 +kerning first=199 second=120 amount=-4 +kerning first=199 second=121 amount=-4 +kerning first=199 second=122 amount=-3 +kerning first=199 second=224 amount=-3 +kerning first=199 second=225 amount=-3 +kerning first=199 second=226 amount=-3 +kerning first=199 second=227 amount=-3 +kerning first=199 second=228 amount=-3 +kerning first=199 second=229 amount=-3 +kerning first=199 second=236 amount=-3 +kerning first=199 second=237 amount=-3 +kerning first=199 second=238 amount=-3 +kerning first=199 second=239 amount=-3 +kerning first=199 second=249 amount=-3 +kerning first=199 second=250 amount=-3 +kerning first=199 second=251 amount=-3 +kerning first=199 second=252 amount=-3 +kerning first=199 second=253 amount=-4 +kerning first=199 second=255 amount=-4 +kerning first=200 second=97 amount=-3 +kerning first=200 second=109 amount=-6 +kerning first=200 second=122 amount=-3 +kerning first=200 second=224 amount=-3 +kerning first=200 second=225 amount=-3 +kerning first=200 second=226 amount=-3 +kerning first=200 second=227 amount=-3 +kerning first=200 second=228 amount=-3 +kerning first=200 second=229 amount=-3 +kerning first=201 second=97 amount=-3 +kerning first=201 second=109 amount=-6 +kerning first=201 second=122 amount=-3 +kerning first=201 second=224 amount=-3 +kerning first=201 second=225 amount=-3 +kerning first=201 second=226 amount=-3 +kerning first=201 second=227 amount=-3 +kerning first=201 second=228 amount=-3 +kerning first=201 second=229 amount=-3 +kerning first=202 second=97 amount=-3 +kerning first=202 second=109 amount=-6 +kerning first=202 second=122 amount=-3 +kerning first=202 second=224 amount=-3 +kerning first=202 second=225 amount=-3 +kerning first=202 second=226 amount=-3 +kerning first=202 second=227 amount=-3 +kerning first=202 second=228 amount=-3 +kerning first=202 second=229 amount=-3 +kerning first=203 second=97 amount=-3 +kerning first=203 second=109 amount=-6 +kerning first=203 second=122 amount=-3 +kerning first=203 second=224 amount=-3 +kerning first=203 second=225 amount=-3 +kerning first=203 second=226 amount=-3 +kerning first=203 second=227 amount=-3 +kerning first=203 second=228 amount=-3 +kerning first=203 second=229 amount=-3 +kerning first=208 second=97 amount=-3 +kerning first=208 second=109 amount=-6 +kerning first=208 second=122 amount=-3 +kerning first=208 second=224 amount=-3 +kerning first=208 second=225 amount=-3 +kerning first=208 second=226 amount=-3 +kerning first=208 second=227 amount=-3 +kerning first=208 second=228 amount=-3 +kerning first=208 second=229 amount=-3 +kerning first=210 second=97 amount=-3 +kerning first=210 second=109 amount=-6 +kerning first=210 second=122 amount=-3 +kerning first=210 second=224 amount=-3 +kerning first=210 second=225 amount=-3 +kerning first=210 second=226 amount=-3 +kerning first=210 second=227 amount=-3 +kerning first=210 second=228 amount=-3 +kerning first=210 second=229 amount=-3 +kerning first=211 second=97 amount=-3 +kerning first=211 second=109 amount=-6 +kerning first=211 second=122 amount=-3 +kerning first=211 second=224 amount=-3 +kerning first=211 second=225 amount=-3 +kerning first=211 second=226 amount=-3 +kerning first=211 second=227 amount=-3 +kerning first=211 second=228 amount=-3 +kerning first=211 second=229 amount=-3 +kerning first=212 second=97 amount=-3 +kerning first=212 second=109 amount=-6 +kerning first=212 second=122 amount=-3 +kerning first=212 second=224 amount=-3 +kerning first=212 second=225 amount=-3 +kerning first=212 second=226 amount=-3 +kerning first=212 second=227 amount=-3 +kerning first=212 second=228 amount=-3 +kerning first=212 second=229 amount=-3 +kerning first=213 second=97 amount=-3 +kerning first=213 second=109 amount=-6 +kerning first=213 second=122 amount=-3 +kerning first=213 second=224 amount=-3 +kerning first=213 second=225 amount=-3 +kerning first=213 second=226 amount=-3 +kerning first=213 second=227 amount=-3 +kerning first=213 second=228 amount=-3 +kerning first=213 second=229 amount=-3 +kerning first=214 second=97 amount=-3 +kerning first=214 second=109 amount=-6 +kerning first=214 second=122 amount=-3 +kerning first=214 second=224 amount=-3 +kerning first=214 second=225 amount=-3 +kerning first=214 second=226 amount=-3 +kerning first=214 second=227 amount=-3 +kerning first=214 second=228 amount=-3 +kerning first=214 second=229 amount=-3 +kerning first=216 second=97 amount=-3 +kerning first=216 second=109 amount=-6 +kerning first=216 second=122 amount=-3 +kerning first=216 second=224 amount=-3 +kerning first=216 second=225 amount=-3 +kerning first=216 second=226 amount=-3 +kerning first=216 second=227 amount=-3 +kerning first=216 second=228 amount=-3 +kerning first=216 second=229 amount=-3 +kerning first=221 second=67 amount=-4 +kerning first=221 second=69 amount=-5 +kerning first=221 second=71 amount=-3 +kerning first=221 second=77 amount=-11 +kerning first=221 second=97 amount=-13 +kerning first=221 second=98 amount=-7 +kerning first=221 second=99 amount=-7 +kerning first=221 second=100 amount=-5 +kerning first=221 second=101 amount=-7 +kerning first=221 second=103 amount=-7 +kerning first=221 second=105 amount=-7 +kerning first=221 second=106 amount=-7 +kerning first=221 second=107 amount=-7 +kerning first=221 second=109 amount=-8 +kerning first=221 second=110 amount=-7 +kerning first=221 second=111 amount=-5 +kerning first=221 second=112 amount=-5 +kerning first=221 second=113 amount=-7 +kerning first=221 second=114 amount=-7 +kerning first=221 second=115 amount=-7 +kerning first=221 second=116 amount=-3 +kerning first=221 second=117 amount=-7 kerning first=221 second=118 amount=-3 -kerning first=221 second=119 amount=-5 -kerning first=221 second=120 amount=-8 -kerning first=221 second=122 amount=-8 -kerning first=221 second=199 amount=-5 -kerning first=221 second=200 amount=-6 -kerning first=221 second=201 amount=-6 -kerning first=221 second=202 amount=-6 -kerning first=221 second=203 amount=-6 -kerning first=221 second=224 amount=-16 -kerning first=221 second=225 amount=-16 -kerning first=221 second=226 amount=-16 -kerning first=221 second=227 amount=-16 -kerning first=221 second=228 amount=-16 -kerning first=221 second=229 amount=-16 -kerning first=221 second=231 amount=-6 -kerning first=221 second=232 amount=-7 -kerning first=221 second=233 amount=-7 -kerning first=221 second=234 amount=-7 -kerning first=221 second=235 amount=-7 +kerning first=221 second=119 amount=-4 +kerning first=221 second=120 amount=-7 +kerning first=221 second=122 amount=-7 +kerning first=221 second=199 amount=-4 +kerning first=221 second=200 amount=-5 +kerning first=221 second=201 amount=-5 +kerning first=221 second=202 amount=-5 +kerning first=221 second=203 amount=-5 +kerning first=221 second=224 amount=-13 +kerning first=221 second=225 amount=-13 +kerning first=221 second=226 amount=-13 +kerning first=221 second=227 amount=-13 +kerning first=221 second=228 amount=-13 +kerning first=221 second=229 amount=-13 +kerning first=221 second=231 amount=-5 +kerning first=221 second=232 amount=-6 +kerning first=221 second=233 amount=-6 +kerning first=221 second=234 amount=-6 +kerning first=221 second=235 amount=-6 kerning first=221 second=236 amount=-4 kerning first=221 second=237 amount=-4 kerning first=221 second=238 amount=-4 kerning first=221 second=239 amount=-4 -kerning first=221 second=240 amount=-6 -kerning first=221 second=241 amount=-8 -kerning first=221 second=242 amount=-6 -kerning first=221 second=243 amount=-6 -kerning first=221 second=244 amount=-6 -kerning first=221 second=245 amount=-6 -kerning first=221 second=246 amount=-6 -kerning first=221 second=248 amount=-6 -kerning first=221 second=249 amount=-8 -kerning first=221 second=250 amount=-8 -kerning first=221 second=251 amount=-8 -kerning first=221 second=252 amount=-8 -kerning first=221 second=254 amount=-6 -kerning first=222 second=109 amount=-6 +kerning first=221 second=240 amount=-5 +kerning first=221 second=241 amount=-7 +kerning first=221 second=242 amount=-5 +kerning first=221 second=243 amount=-5 +kerning first=221 second=244 amount=-5 +kerning first=221 second=245 amount=-5 +kerning first=221 second=246 amount=-5 +kerning first=221 second=248 amount=-5 +kerning first=221 second=249 amount=-7 +kerning first=221 second=250 amount=-7 +kerning first=221 second=251 amount=-7 +kerning first=221 second=252 amount=-7 +kerning first=221 second=254 amount=-5 +kerning first=222 second=109 amount=-5 kerning first=222 second=116 amount=-3 kerning first=222 second=118 amount=-4 -kerning first=222 second=122 amount=-3 -kerning first=224 second=84 amount=-10 -kerning first=224 second=86 amount=-12 -kerning first=224 second=87 amount=-11 -kerning first=224 second=89 amount=-10 +kerning first=222 second=122 amount=-2 +kerning first=224 second=84 amount=-8 +kerning first=224 second=86 amount=-10 +kerning first=224 second=87 amount=-9 +kerning first=224 second=89 amount=-8 kerning first=224 second=99 amount=-2 kerning first=224 second=101 amount=-1 kerning first=224 second=105 amount=-2 -kerning first=224 second=110 amount=4 -kerning first=224 second=116 amount=-6 -kerning first=224 second=118 amount=-10 -kerning first=224 second=119 amount=-11 -kerning first=224 second=121 amount=-12 -kerning first=224 second=221 amount=-10 +kerning first=224 second=110 amount=3 +kerning first=224 second=116 amount=-4 +kerning first=224 second=118 amount=-8 +kerning first=224 second=119 amount=-9 +kerning first=224 second=121 amount=-9 +kerning first=224 second=221 amount=-8 kerning first=224 second=232 amount=-1 kerning first=224 second=233 amount=-1 kerning first=224 second=234 amount=-1 @@ -1948,22 +2014,22 @@ kerning first=224 second=236 amount=-2 kerning first=224 second=237 amount=-2 kerning first=224 second=238 amount=-2 kerning first=224 second=239 amount=-2 -kerning first=224 second=241 amount=4 -kerning first=224 second=253 amount=-12 -kerning first=224 second=255 amount=-12 -kerning first=225 second=84 amount=-10 -kerning first=225 second=86 amount=-12 -kerning first=225 second=87 amount=-11 -kerning first=225 second=89 amount=-10 +kerning first=224 second=241 amount=3 +kerning first=224 second=253 amount=-9 +kerning first=224 second=255 amount=-9 +kerning first=225 second=84 amount=-8 +kerning first=225 second=86 amount=-10 +kerning first=225 second=87 amount=-9 +kerning first=225 second=89 amount=-8 kerning first=225 second=99 amount=-2 kerning first=225 second=101 amount=-1 kerning first=225 second=105 amount=-2 -kerning first=225 second=110 amount=4 -kerning first=225 second=116 amount=-6 -kerning first=225 second=118 amount=-10 -kerning first=225 second=119 amount=-11 -kerning first=225 second=121 amount=-12 -kerning first=225 second=221 amount=-10 +kerning first=225 second=110 amount=3 +kerning first=225 second=116 amount=-4 +kerning first=225 second=118 amount=-8 +kerning first=225 second=119 amount=-9 +kerning first=225 second=121 amount=-9 +kerning first=225 second=221 amount=-8 kerning first=225 second=232 amount=-1 kerning first=225 second=233 amount=-1 kerning first=225 second=234 amount=-1 @@ -1972,22 +2038,22 @@ kerning first=225 second=236 amount=-2 kerning first=225 second=237 amount=-2 kerning first=225 second=238 amount=-2 kerning first=225 second=239 amount=-2 -kerning first=225 second=241 amount=4 -kerning first=225 second=253 amount=-12 -kerning first=225 second=255 amount=-12 -kerning first=226 second=84 amount=-10 -kerning first=226 second=86 amount=-12 -kerning first=226 second=87 amount=-11 -kerning first=226 second=89 amount=-10 +kerning first=225 second=241 amount=3 +kerning first=225 second=253 amount=-9 +kerning first=225 second=255 amount=-9 +kerning first=226 second=84 amount=-8 +kerning first=226 second=86 amount=-10 +kerning first=226 second=87 amount=-9 +kerning first=226 second=89 amount=-8 kerning first=226 second=99 amount=-2 kerning first=226 second=101 amount=-1 kerning first=226 second=105 amount=-2 -kerning first=226 second=110 amount=4 -kerning first=226 second=116 amount=-6 -kerning first=226 second=118 amount=-10 -kerning first=226 second=119 amount=-11 -kerning first=226 second=121 amount=-12 -kerning first=226 second=221 amount=-10 +kerning first=226 second=110 amount=3 +kerning first=226 second=116 amount=-4 +kerning first=226 second=118 amount=-8 +kerning first=226 second=119 amount=-9 +kerning first=226 second=121 amount=-9 +kerning first=226 second=221 amount=-8 kerning first=226 second=232 amount=-1 kerning first=226 second=233 amount=-1 kerning first=226 second=234 amount=-1 @@ -1996,22 +2062,22 @@ kerning first=226 second=236 amount=-2 kerning first=226 second=237 amount=-2 kerning first=226 second=238 amount=-2 kerning first=226 second=239 amount=-2 -kerning first=226 second=241 amount=4 -kerning first=226 second=253 amount=-12 -kerning first=226 second=255 amount=-12 -kerning first=227 second=84 amount=-10 -kerning first=227 second=86 amount=-12 -kerning first=227 second=87 amount=-11 -kerning first=227 second=89 amount=-10 +kerning first=226 second=241 amount=3 +kerning first=226 second=253 amount=-9 +kerning first=226 second=255 amount=-9 +kerning first=227 second=84 amount=-8 +kerning first=227 second=86 amount=-10 +kerning first=227 second=87 amount=-9 +kerning first=227 second=89 amount=-8 kerning first=227 second=99 amount=-2 kerning first=227 second=101 amount=-1 kerning first=227 second=105 amount=-2 -kerning first=227 second=110 amount=4 -kerning first=227 second=116 amount=-6 -kerning first=227 second=118 amount=-10 -kerning first=227 second=119 amount=-11 -kerning first=227 second=121 amount=-12 -kerning first=227 second=221 amount=-10 +kerning first=227 second=110 amount=3 +kerning first=227 second=116 amount=-4 +kerning first=227 second=118 amount=-8 +kerning first=227 second=119 amount=-9 +kerning first=227 second=121 amount=-9 +kerning first=227 second=221 amount=-8 kerning first=227 second=232 amount=-1 kerning first=227 second=233 amount=-1 kerning first=227 second=234 amount=-1 @@ -2020,22 +2086,22 @@ kerning first=227 second=236 amount=-2 kerning first=227 second=237 amount=-2 kerning first=227 second=238 amount=-2 kerning first=227 second=239 amount=-2 -kerning first=227 second=241 amount=4 -kerning first=227 second=253 amount=-12 -kerning first=227 second=255 amount=-12 -kerning first=228 second=84 amount=-10 -kerning first=228 second=86 amount=-12 -kerning first=228 second=87 amount=-11 -kerning first=228 second=89 amount=-10 +kerning first=227 second=241 amount=3 +kerning first=227 second=253 amount=-9 +kerning first=227 second=255 amount=-9 +kerning first=228 second=84 amount=-8 +kerning first=228 second=86 amount=-10 +kerning first=228 second=87 amount=-9 +kerning first=228 second=89 amount=-8 kerning first=228 second=99 amount=-2 kerning first=228 second=101 amount=-1 kerning first=228 second=105 amount=-2 -kerning first=228 second=110 amount=4 -kerning first=228 second=116 amount=-6 -kerning first=228 second=118 amount=-10 -kerning first=228 second=119 amount=-11 -kerning first=228 second=121 amount=-12 -kerning first=228 second=221 amount=-10 +kerning first=228 second=110 amount=3 +kerning first=228 second=116 amount=-4 +kerning first=228 second=118 amount=-8 +kerning first=228 second=119 amount=-9 +kerning first=228 second=121 amount=-9 +kerning first=228 second=221 amount=-8 kerning first=228 second=232 amount=-1 kerning first=228 second=233 amount=-1 kerning first=228 second=234 amount=-1 @@ -2044,22 +2110,22 @@ kerning first=228 second=236 amount=-2 kerning first=228 second=237 amount=-2 kerning first=228 second=238 amount=-2 kerning first=228 second=239 amount=-2 -kerning first=228 second=241 amount=4 -kerning first=228 second=253 amount=-12 -kerning first=228 second=255 amount=-12 -kerning first=229 second=84 amount=-10 -kerning first=229 second=86 amount=-12 -kerning first=229 second=87 amount=-11 -kerning first=229 second=89 amount=-10 +kerning first=228 second=241 amount=3 +kerning first=228 second=253 amount=-9 +kerning first=228 second=255 amount=-9 +kerning first=229 second=84 amount=-8 +kerning first=229 second=86 amount=-10 +kerning first=229 second=87 amount=-9 +kerning first=229 second=89 amount=-8 kerning first=229 second=99 amount=-2 kerning first=229 second=101 amount=-1 kerning first=229 second=105 amount=-2 -kerning first=229 second=110 amount=4 -kerning first=229 second=116 amount=-6 -kerning first=229 second=118 amount=-10 -kerning first=229 second=119 amount=-11 -kerning first=229 second=121 amount=-12 -kerning first=229 second=221 amount=-10 +kerning first=229 second=110 amount=3 +kerning first=229 second=116 amount=-4 +kerning first=229 second=118 amount=-8 +kerning first=229 second=119 amount=-9 +kerning first=229 second=121 amount=-9 +kerning first=229 second=221 amount=-8 kerning first=229 second=232 amount=-1 kerning first=229 second=233 amount=-1 kerning first=229 second=234 amount=-1 @@ -2068,276 +2134,276 @@ kerning first=229 second=236 amount=-2 kerning first=229 second=237 amount=-2 kerning first=229 second=238 amount=-2 kerning first=229 second=239 amount=-2 -kerning first=229 second=241 amount=4 -kerning first=229 second=253 amount=-12 -kerning first=229 second=255 amount=-12 -kerning first=231 second=84 amount=-13 -kerning first=231 second=86 amount=-15 -kerning first=231 second=87 amount=-15 -kerning first=231 second=89 amount=-13 +kerning first=229 second=241 amount=3 +kerning first=229 second=253 amount=-9 +kerning first=229 second=255 amount=-9 +kerning first=231 second=84 amount=-11 +kerning first=231 second=86 amount=-12 +kerning first=231 second=87 amount=-12 +kerning first=231 second=89 amount=-10 kerning first=231 second=116 amount=-3 -kerning first=231 second=118 amount=-5 -kerning first=231 second=119 amount=-4 -kerning first=231 second=121 amount=-4 -kerning first=231 second=122 amount=-4 -kerning first=231 second=221 amount=-13 -kerning first=231 second=253 amount=-4 -kerning first=231 second=255 amount=-4 -kerning first=232 second=84 amount=-13 -kerning first=232 second=86 amount=-15 -kerning first=232 second=87 amount=-15 -kerning first=232 second=89 amount=-13 -kerning first=232 second=108 amount=-5 +kerning first=231 second=118 amount=-4 +kerning first=231 second=119 amount=-3 +kerning first=231 second=121 amount=-3 +kerning first=231 second=122 amount=-3 +kerning first=231 second=221 amount=-10 +kerning first=231 second=253 amount=-3 +kerning first=231 second=255 amount=-3 +kerning first=232 second=84 amount=-11 +kerning first=232 second=86 amount=-12 +kerning first=232 second=87 amount=-12 +kerning first=232 second=89 amount=-10 +kerning first=232 second=108 amount=-4 kerning first=232 second=116 amount=-3 -kerning first=232 second=118 amount=-5 -kerning first=232 second=119 amount=-4 -kerning first=232 second=121 amount=-4 -kerning first=232 second=122 amount=-4 -kerning first=232 second=221 amount=-13 -kerning first=232 second=253 amount=-4 -kerning first=232 second=255 amount=-4 -kerning first=233 second=84 amount=-13 -kerning first=233 second=86 amount=-15 -kerning first=233 second=87 amount=-15 -kerning first=233 second=89 amount=-13 -kerning first=233 second=108 amount=-5 +kerning first=232 second=118 amount=-4 +kerning first=232 second=119 amount=-3 +kerning first=232 second=121 amount=-3 +kerning first=232 second=122 amount=-3 +kerning first=232 second=221 amount=-10 +kerning first=232 second=253 amount=-3 +kerning first=232 second=255 amount=-3 +kerning first=233 second=84 amount=-11 +kerning first=233 second=86 amount=-12 +kerning first=233 second=87 amount=-12 +kerning first=233 second=89 amount=-10 +kerning first=233 second=108 amount=-4 kerning first=233 second=116 amount=-3 -kerning first=233 second=118 amount=-5 -kerning first=233 second=119 amount=-4 -kerning first=233 second=121 amount=-4 -kerning first=233 second=122 amount=-4 -kerning first=233 second=221 amount=-13 -kerning first=233 second=253 amount=-4 -kerning first=233 second=255 amount=-4 -kerning first=234 second=84 amount=-13 -kerning first=234 second=86 amount=-15 -kerning first=234 second=87 amount=-15 -kerning first=234 second=89 amount=-13 -kerning first=234 second=108 amount=-5 +kerning first=233 second=118 amount=-4 +kerning first=233 second=119 amount=-3 +kerning first=233 second=121 amount=-3 +kerning first=233 second=122 amount=-3 +kerning first=233 second=221 amount=-10 +kerning first=233 second=253 amount=-3 +kerning first=233 second=255 amount=-3 +kerning first=234 second=84 amount=-11 +kerning first=234 second=86 amount=-12 +kerning first=234 second=87 amount=-12 +kerning first=234 second=89 amount=-10 +kerning first=234 second=108 amount=-4 kerning first=234 second=116 amount=-3 -kerning first=234 second=118 amount=-5 -kerning first=234 second=119 amount=-4 -kerning first=234 second=121 amount=-4 -kerning first=234 second=122 amount=-4 -kerning first=234 second=221 amount=-13 -kerning first=234 second=253 amount=-4 -kerning first=234 second=255 amount=-4 -kerning first=235 second=84 amount=-13 -kerning first=235 second=86 amount=-15 -kerning first=235 second=87 amount=-15 -kerning first=235 second=89 amount=-13 -kerning first=235 second=108 amount=-5 +kerning first=234 second=118 amount=-4 +kerning first=234 second=119 amount=-3 +kerning first=234 second=121 amount=-3 +kerning first=234 second=122 amount=-3 +kerning first=234 second=221 amount=-10 +kerning first=234 second=253 amount=-3 +kerning first=234 second=255 amount=-3 +kerning first=235 second=84 amount=-11 +kerning first=235 second=86 amount=-12 +kerning first=235 second=87 amount=-12 +kerning first=235 second=89 amount=-10 +kerning first=235 second=108 amount=-4 kerning first=235 second=116 amount=-3 -kerning first=235 second=118 amount=-5 -kerning first=235 second=119 amount=-4 -kerning first=235 second=121 amount=-4 -kerning first=235 second=122 amount=-4 -kerning first=235 second=221 amount=-13 -kerning first=235 second=253 amount=-4 -kerning first=235 second=255 amount=-4 -kerning first=236 second=84 amount=-10 -kerning first=236 second=86 amount=-13 -kerning first=236 second=87 amount=-10 -kerning first=236 second=89 amount=-6 -kerning first=236 second=108 amount=-4 +kerning first=235 second=118 amount=-4 +kerning first=235 second=119 amount=-3 +kerning first=235 second=121 amount=-3 +kerning first=235 second=122 amount=-3 +kerning first=235 second=221 amount=-10 +kerning first=235 second=253 amount=-3 +kerning first=235 second=255 amount=-3 +kerning first=236 second=84 amount=-8 +kerning first=236 second=86 amount=-10 +kerning first=236 second=87 amount=-8 +kerning first=236 second=89 amount=-5 +kerning first=236 second=108 amount=-3 kerning first=236 second=119 amount=-3 -kerning first=236 second=221 amount=-6 -kerning first=237 second=84 amount=-10 -kerning first=237 second=86 amount=-13 -kerning first=237 second=87 amount=-10 -kerning first=237 second=89 amount=-6 -kerning first=237 second=108 amount=-4 +kerning first=236 second=221 amount=-5 +kerning first=237 second=84 amount=-8 +kerning first=237 second=86 amount=-10 +kerning first=237 second=87 amount=-8 +kerning first=237 second=89 amount=-5 +kerning first=237 second=108 amount=-3 kerning first=237 second=119 amount=-3 -kerning first=237 second=221 amount=-6 -kerning first=238 second=84 amount=-10 -kerning first=238 second=86 amount=-13 -kerning first=238 second=87 amount=-10 -kerning first=238 second=89 amount=-6 -kerning first=238 second=108 amount=-4 +kerning first=237 second=221 amount=-5 +kerning first=238 second=84 amount=-8 +kerning first=238 second=86 amount=-10 +kerning first=238 second=87 amount=-8 +kerning first=238 second=89 amount=-5 +kerning first=238 second=108 amount=-3 kerning first=238 second=119 amount=-3 -kerning first=238 second=221 amount=-6 -kerning first=239 second=84 amount=-10 -kerning first=239 second=86 amount=-13 -kerning first=239 second=87 amount=-10 -kerning first=239 second=89 amount=-6 -kerning first=239 second=108 amount=-4 +kerning first=238 second=221 amount=-5 +kerning first=239 second=84 amount=-8 +kerning first=239 second=86 amount=-10 +kerning first=239 second=87 amount=-8 +kerning first=239 second=89 amount=-5 +kerning first=239 second=108 amount=-3 kerning first=239 second=119 amount=-3 -kerning first=239 second=221 amount=-6 -kerning first=240 second=84 amount=-13 -kerning first=240 second=86 amount=-15 -kerning first=240 second=87 amount=-15 -kerning first=240 second=89 amount=-13 -kerning first=240 second=105 amount=-4 +kerning first=239 second=221 amount=-5 +kerning first=240 second=84 amount=-11 +kerning first=240 second=86 amount=-12 +kerning first=240 second=87 amount=-12 +kerning first=240 second=89 amount=-10 +kerning first=240 second=105 amount=-3 kerning first=240 second=116 amount=-4 -kerning first=240 second=118 amount=-5 -kerning first=240 second=119 amount=-8 -kerning first=240 second=121 amount=-4 -kerning first=240 second=122 amount=-4 -kerning first=240 second=221 amount=-13 -kerning first=240 second=236 amount=-4 -kerning first=240 second=237 amount=-4 -kerning first=240 second=238 amount=-4 -kerning first=240 second=239 amount=-4 -kerning first=240 second=253 amount=-4 -kerning first=240 second=255 amount=-4 -kerning first=241 second=84 amount=-8 -kerning first=241 second=86 amount=-8 +kerning first=240 second=118 amount=-4 +kerning first=240 second=119 amount=-6 +kerning first=240 second=121 amount=-3 +kerning first=240 second=122 amount=-3 +kerning first=240 second=221 amount=-10 +kerning first=240 second=236 amount=-3 +kerning first=240 second=237 amount=-3 +kerning first=240 second=238 amount=-3 +kerning first=240 second=239 amount=-3 +kerning first=240 second=253 amount=-3 +kerning first=240 second=255 amount=-3 +kerning first=241 second=84 amount=-6 +kerning first=241 second=86 amount=-6 kerning first=241 second=87 amount=-4 -kerning first=241 second=89 amount=-6 -kerning first=241 second=119 amount=-3 -kerning first=241 second=221 amount=-6 -kerning first=242 second=84 amount=-13 -kerning first=242 second=86 amount=-15 -kerning first=242 second=87 amount=-15 -kerning first=242 second=89 amount=-13 +kerning first=241 second=89 amount=-5 +kerning first=241 second=119 amount=-2 +kerning first=241 second=221 amount=-5 +kerning first=242 second=84 amount=-11 +kerning first=242 second=86 amount=-12 +kerning first=242 second=87 amount=-12 +kerning first=242 second=89 amount=-10 kerning first=242 second=116 amount=-3 -kerning first=242 second=118 amount=-5 -kerning first=242 second=119 amount=-4 -kerning first=242 second=121 amount=-4 -kerning first=242 second=122 amount=-4 -kerning first=242 second=221 amount=-13 -kerning first=242 second=253 amount=-4 -kerning first=242 second=255 amount=-4 -kerning first=243 second=84 amount=-13 -kerning first=243 second=86 amount=-15 -kerning first=243 second=87 amount=-15 -kerning first=243 second=89 amount=-13 +kerning first=242 second=118 amount=-4 +kerning first=242 second=119 amount=-3 +kerning first=242 second=121 amount=-3 +kerning first=242 second=122 amount=-3 +kerning first=242 second=221 amount=-10 +kerning first=242 second=253 amount=-3 +kerning first=242 second=255 amount=-3 +kerning first=243 second=84 amount=-11 +kerning first=243 second=86 amount=-12 +kerning first=243 second=87 amount=-12 +kerning first=243 second=89 amount=-10 kerning first=243 second=116 amount=-3 -kerning first=243 second=118 amount=-5 -kerning first=243 second=119 amount=-4 -kerning first=243 second=121 amount=-4 -kerning first=243 second=122 amount=-4 -kerning first=243 second=221 amount=-13 -kerning first=243 second=253 amount=-4 -kerning first=243 second=255 amount=-4 -kerning first=244 second=84 amount=-13 -kerning first=244 second=86 amount=-15 -kerning first=244 second=87 amount=-15 -kerning first=244 second=89 amount=-13 +kerning first=243 second=118 amount=-4 +kerning first=243 second=119 amount=-3 +kerning first=243 second=121 amount=-3 +kerning first=243 second=122 amount=-3 +kerning first=243 second=221 amount=-10 +kerning first=243 second=253 amount=-3 +kerning first=243 second=255 amount=-3 +kerning first=244 second=84 amount=-11 +kerning first=244 second=86 amount=-12 +kerning first=244 second=87 amount=-12 +kerning first=244 second=89 amount=-10 kerning first=244 second=116 amount=-3 -kerning first=244 second=118 amount=-5 -kerning first=244 second=119 amount=-4 -kerning first=244 second=121 amount=-4 -kerning first=244 second=122 amount=-4 -kerning first=244 second=221 amount=-13 -kerning first=244 second=253 amount=-4 -kerning first=244 second=255 amount=-4 -kerning first=245 second=84 amount=-13 -kerning first=245 second=86 amount=-15 -kerning first=245 second=87 amount=-15 -kerning first=245 second=89 amount=-13 +kerning first=244 second=118 amount=-4 +kerning first=244 second=119 amount=-3 +kerning first=244 second=121 amount=-3 +kerning first=244 second=122 amount=-3 +kerning first=244 second=221 amount=-10 +kerning first=244 second=253 amount=-3 +kerning first=244 second=255 amount=-3 +kerning first=245 second=84 amount=-11 +kerning first=245 second=86 amount=-12 +kerning first=245 second=87 amount=-12 +kerning first=245 second=89 amount=-10 kerning first=245 second=116 amount=-3 -kerning first=245 second=118 amount=-5 -kerning first=245 second=119 amount=-4 -kerning first=245 second=121 amount=-4 -kerning first=245 second=122 amount=-4 -kerning first=245 second=221 amount=-13 -kerning first=245 second=253 amount=-4 -kerning first=245 second=255 amount=-4 -kerning first=246 second=84 amount=-13 -kerning first=246 second=86 amount=-15 -kerning first=246 second=87 amount=-15 -kerning first=246 second=89 amount=-13 +kerning first=245 second=118 amount=-4 +kerning first=245 second=119 amount=-3 +kerning first=245 second=121 amount=-3 +kerning first=245 second=122 amount=-3 +kerning first=245 second=221 amount=-10 +kerning first=245 second=253 amount=-3 +kerning first=245 second=255 amount=-3 +kerning first=246 second=84 amount=-11 +kerning first=246 second=86 amount=-12 +kerning first=246 second=87 amount=-12 +kerning first=246 second=89 amount=-10 kerning first=246 second=116 amount=-3 -kerning first=246 second=118 amount=-5 -kerning first=246 second=119 amount=-4 -kerning first=246 second=121 amount=-4 -kerning first=246 second=122 amount=-4 -kerning first=246 second=221 amount=-13 -kerning first=246 second=253 amount=-4 -kerning first=246 second=255 amount=-4 -kerning first=248 second=84 amount=-13 -kerning first=248 second=86 amount=-15 -kerning first=248 second=87 amount=-15 -kerning first=248 second=89 amount=-13 +kerning first=246 second=118 amount=-4 +kerning first=246 second=119 amount=-3 +kerning first=246 second=121 amount=-3 +kerning first=246 second=122 amount=-3 +kerning first=246 second=221 amount=-10 +kerning first=246 second=253 amount=-3 +kerning first=246 second=255 amount=-3 +kerning first=248 second=84 amount=-11 +kerning first=248 second=86 amount=-12 +kerning first=248 second=87 amount=-12 +kerning first=248 second=89 amount=-10 kerning first=248 second=116 amount=-3 -kerning first=248 second=118 amount=-5 -kerning first=248 second=119 amount=-4 -kerning first=248 second=121 amount=-4 -kerning first=248 second=122 amount=-4 -kerning first=248 second=221 amount=-13 -kerning first=248 second=253 amount=-4 -kerning first=248 second=255 amount=-4 -kerning first=249 second=84 amount=-7 -kerning first=249 second=86 amount=-10 -kerning first=249 second=87 amount=-8 -kerning first=249 second=89 amount=-8 -kerning first=249 second=116 amount=-4 -kerning first=249 second=118 amount=-3 +kerning first=248 second=118 amount=-4 +kerning first=248 second=119 amount=-3 +kerning first=248 second=121 amount=-3 +kerning first=248 second=122 amount=-3 +kerning first=248 second=221 amount=-10 +kerning first=248 second=253 amount=-3 +kerning first=248 second=255 amount=-3 +kerning first=249 second=84 amount=-6 +kerning first=249 second=86 amount=-8 +kerning first=249 second=87 amount=-7 +kerning first=249 second=89 amount=-6 +kerning first=249 second=116 amount=-3 +kerning first=249 second=118 amount=-2 kerning first=249 second=119 amount=-4 -kerning first=249 second=121 amount=-3 -kerning first=249 second=221 amount=-8 -kerning first=249 second=253 amount=-3 -kerning first=249 second=255 amount=-3 -kerning first=250 second=84 amount=-7 -kerning first=250 second=86 amount=-10 -kerning first=250 second=87 amount=-8 -kerning first=250 second=89 amount=-8 -kerning first=250 second=116 amount=-4 -kerning first=250 second=118 amount=-3 +kerning first=249 second=121 amount=-2 +kerning first=249 second=221 amount=-6 +kerning first=249 second=253 amount=-2 +kerning first=249 second=255 amount=-2 +kerning first=250 second=84 amount=-6 +kerning first=250 second=86 amount=-8 +kerning first=250 second=87 amount=-7 +kerning first=250 second=89 amount=-6 +kerning first=250 second=116 amount=-3 +kerning first=250 second=118 amount=-2 kerning first=250 second=119 amount=-4 -kerning first=250 second=121 amount=-3 -kerning first=250 second=221 amount=-8 -kerning first=250 second=253 amount=-3 -kerning first=250 second=255 amount=-3 -kerning first=251 second=84 amount=-7 -kerning first=251 second=86 amount=-10 -kerning first=251 second=87 amount=-8 -kerning first=251 second=89 amount=-8 -kerning first=251 second=116 amount=-4 -kerning first=251 second=118 amount=-3 +kerning first=250 second=121 amount=-2 +kerning first=250 second=221 amount=-6 +kerning first=250 second=253 amount=-2 +kerning first=250 second=255 amount=-2 +kerning first=251 second=84 amount=-6 +kerning first=251 second=86 amount=-8 +kerning first=251 second=87 amount=-7 +kerning first=251 second=89 amount=-6 +kerning first=251 second=116 amount=-3 +kerning first=251 second=118 amount=-2 kerning first=251 second=119 amount=-4 -kerning first=251 second=121 amount=-3 -kerning first=251 second=221 amount=-8 -kerning first=251 second=253 amount=-3 -kerning first=251 second=255 amount=-3 -kerning first=252 second=84 amount=-7 -kerning first=252 second=86 amount=-10 -kerning first=252 second=87 amount=-8 -kerning first=252 second=89 amount=-8 -kerning first=252 second=116 amount=-4 -kerning first=252 second=118 amount=-3 +kerning first=251 second=121 amount=-2 +kerning first=251 second=221 amount=-6 +kerning first=251 second=253 amount=-2 +kerning first=251 second=255 amount=-2 +kerning first=252 second=84 amount=-6 +kerning first=252 second=86 amount=-8 +kerning first=252 second=87 amount=-7 +kerning first=252 second=89 amount=-6 +kerning first=252 second=116 amount=-3 +kerning first=252 second=118 amount=-2 kerning first=252 second=119 amount=-4 -kerning first=252 second=121 amount=-3 -kerning first=252 second=221 amount=-8 -kerning first=252 second=253 amount=-3 -kerning first=252 second=255 amount=-3 +kerning first=252 second=121 amount=-2 +kerning first=252 second=221 amount=-6 +kerning first=252 second=253 amount=-2 +kerning first=252 second=255 amount=-2 kerning first=253 second=84 amount=-2 -kerning first=253 second=97 amount=-8 -kerning first=253 second=98 amount=-3 -kerning first=253 second=99 amount=-3 -kerning first=253 second=101 amount=-5 -kerning first=253 second=103 amount=-3 -kerning first=253 second=105 amount=-3 -kerning first=253 second=106 amount=-3 -kerning first=253 second=107 amount=-3 -kerning first=253 second=109 amount=-10 -kerning first=253 second=110 amount=-3 -kerning first=253 second=113 amount=-3 -kerning first=253 second=114 amount=-3 -kerning first=253 second=115 amount=-3 -kerning first=253 second=117 amount=-3 -kerning first=253 second=120 amount=-3 -kerning first=253 second=122 amount=-5 -kerning first=253 second=224 amount=-8 -kerning first=253 second=225 amount=-8 -kerning first=253 second=226 amount=-8 -kerning first=253 second=227 amount=-8 -kerning first=253 second=228 amount=-8 -kerning first=253 second=229 amount=-8 -kerning first=253 second=232 amount=-5 -kerning first=253 second=233 amount=-5 -kerning first=253 second=234 amount=-5 -kerning first=253 second=235 amount=-5 -kerning first=253 second=241 amount=-3 -kerning first=253 second=249 amount=-3 -kerning first=253 second=250 amount=-3 -kerning first=253 second=251 amount=-3 -kerning first=253 second=252 amount=-3 -kerning first=254 second=84 amount=-14 -kerning first=254 second=86 amount=-13 -kerning first=254 second=87 amount=-11 -kerning first=254 second=89 amount=-12 +kerning first=253 second=97 amount=-6 +kerning first=253 second=98 amount=-2 +kerning first=253 second=99 amount=-2 +kerning first=253 second=101 amount=-4 +kerning first=253 second=103 amount=-2 +kerning first=253 second=105 amount=-2 +kerning first=253 second=106 amount=-2 +kerning first=253 second=107 amount=-2 +kerning first=253 second=109 amount=-8 +kerning first=253 second=110 amount=-2 +kerning first=253 second=113 amount=-2 +kerning first=253 second=114 amount=-2 +kerning first=253 second=115 amount=-2 +kerning first=253 second=117 amount=-2 +kerning first=253 second=120 amount=-2 +kerning first=253 second=122 amount=-4 +kerning first=253 second=224 amount=-6 +kerning first=253 second=225 amount=-6 +kerning first=253 second=226 amount=-6 +kerning first=253 second=227 amount=-6 +kerning first=253 second=228 amount=-6 +kerning first=253 second=229 amount=-6 +kerning first=253 second=232 amount=-4 +kerning first=253 second=233 amount=-4 +kerning first=253 second=234 amount=-4 +kerning first=253 second=235 amount=-4 +kerning first=253 second=241 amount=-2 +kerning first=253 second=249 amount=-2 +kerning first=253 second=250 amount=-2 +kerning first=253 second=251 amount=-2 +kerning first=253 second=252 amount=-2 +kerning first=254 second=84 amount=-11 +kerning first=254 second=86 amount=-11 +kerning first=254 second=87 amount=-9 +kerning first=254 second=89 amount=-10 kerning first=254 second=99 amount=-4 kerning first=254 second=100 amount=-4 kerning first=254 second=101 amount=-4 @@ -2345,8 +2411,8 @@ kerning first=254 second=103 amount=-4 kerning first=254 second=111 amount=-4 kerning first=254 second=112 amount=-4 kerning first=254 second=113 amount=-4 -kerning first=254 second=119 amount=-8 -kerning first=254 second=221 amount=-12 +kerning first=254 second=119 amount=-6 +kerning first=254 second=221 amount=-10 kerning first=254 second=231 amount=-4 kerning first=254 second=232 amount=-4 kerning first=254 second=233 amount=-4 @@ -2361,34 +2427,504 @@ kerning first=254 second=246 amount=-4 kerning first=254 second=248 amount=-4 kerning first=254 second=254 amount=-4 kerning first=255 second=84 amount=-2 -kerning first=255 second=97 amount=-8 -kerning first=255 second=98 amount=-3 -kerning first=255 second=99 amount=-3 -kerning first=255 second=101 amount=-5 -kerning first=255 second=103 amount=-3 -kerning first=255 second=105 amount=-3 -kerning first=255 second=106 amount=-3 -kerning first=255 second=107 amount=-3 -kerning first=255 second=109 amount=-10 -kerning first=255 second=110 amount=-3 -kerning first=255 second=113 amount=-3 -kerning first=255 second=114 amount=-3 -kerning first=255 second=115 amount=-3 -kerning first=255 second=117 amount=-3 -kerning first=255 second=120 amount=-3 -kerning first=255 second=122 amount=-5 -kerning first=255 second=224 amount=-8 -kerning first=255 second=225 amount=-8 -kerning first=255 second=226 amount=-8 -kerning first=255 second=227 amount=-8 -kerning first=255 second=228 amount=-8 -kerning first=255 second=229 amount=-8 -kerning first=255 second=232 amount=-5 -kerning first=255 second=233 amount=-5 -kerning first=255 second=234 amount=-5 -kerning first=255 second=235 amount=-5 -kerning first=255 second=241 amount=-3 -kerning first=255 second=249 amount=-3 -kerning first=255 second=250 amount=-3 -kerning first=255 second=251 amount=-3 -kerning first=255 second=252 amount=-3 +kerning first=255 second=97 amount=-6 +kerning first=255 second=98 amount=-2 +kerning first=255 second=99 amount=-2 +kerning first=255 second=101 amount=-4 +kerning first=255 second=103 amount=-2 +kerning first=255 second=105 amount=-2 +kerning first=255 second=106 amount=-2 +kerning first=255 second=107 amount=-2 +kerning first=255 second=109 amount=-8 +kerning first=255 second=110 amount=-2 +kerning first=255 second=113 amount=-2 +kerning first=255 second=114 amount=-2 +kerning first=255 second=115 amount=-2 +kerning first=255 second=117 amount=-2 +kerning first=255 second=120 amount=-2 +kerning first=255 second=122 amount=-4 +kerning first=255 second=224 amount=-6 +kerning first=255 second=225 amount=-6 +kerning first=255 second=226 amount=-6 +kerning first=255 second=227 amount=-6 +kerning first=255 second=228 amount=-6 +kerning first=255 second=229 amount=-6 +kerning first=255 second=232 amount=-4 +kerning first=255 second=233 amount=-4 +kerning first=255 second=234 amount=-4 +kerning first=255 second=235 amount=-4 +kerning first=255 second=241 amount=-2 +kerning first=255 second=249 amount=-2 +kerning first=255 second=250 amount=-2 +kerning first=255 second=251 amount=-2 +kerning first=255 second=252 amount=-2 +kerning first=1025 second=1042 amount=3 +kerning first=1040 second=1025 amount=-6 +kerning first=1040 second=1045 amount=-6 +kerning first=1040 second=1054 amount=-6 +kerning first=1040 second=1056 amount=-6 +kerning first=1040 second=1058 amount=-6 +kerning first=1040 second=1059 amount=-6 +kerning first=1040 second=1060 amount=-6 +kerning first=1040 second=1063 amount=-6 +kerning first=1040 second=1066 amount=-6 +kerning first=1040 second=1077 amount=-3 +kerning first=1040 second=1086 amount=-3 +kerning first=1040 second=1090 amount=-6 +kerning first=1040 second=1091 amount=-6 +kerning first=1040 second=1092 amount=-6 +kerning first=1040 second=1095 amount=-3 +kerning first=1040 second=1098 amount=-6 +kerning first=1040 second=1105 amount=-3 +kerning first=1041 second=1062 amount=3 +kerning first=1041 second=1064 amount=3 +kerning first=1041 second=1065 amount=3 +kerning first=1041 second=1076 amount=-6 +kerning first=1041 second=1078 amount=-3 +kerning first=1041 second=1079 amount=-3 +kerning first=1041 second=1083 amount=-3 +kerning first=1041 second=1084 amount=-3 +kerning first=1041 second=1088 amount=-3 +kerning first=1041 second=1091 amount=-3 +kerning first=1041 second=1098 amount=-3 +kerning first=1041 second=1101 amount=-3 +kerning first=1041 second=1103 amount=-3 +kerning first=1042 second=1062 amount=3 +kerning first=1042 second=1064 amount=3 +kerning first=1042 second=1065 amount=3 +kerning first=1042 second=1076 amount=-6 +kerning first=1042 second=1083 amount=-3 +kerning first=1042 second=1084 amount=-3 +kerning first=1042 second=1098 amount=-3 +kerning first=1042 second=1103 amount=-3 +kerning first=1043 second=97 amount=-13 +kerning first=1043 second=98 amount=-13 +kerning first=1043 second=99 amount=-13 +kerning first=1043 second=100 amount=-6 +kerning first=1043 second=101 amount=-13 +kerning first=1043 second=102 amount=-13 +kerning first=1043 second=103 amount=-13 +kerning first=1043 second=105 amount=-13 +kerning first=1043 second=106 amount=-13 +kerning first=1043 second=107 amount=-6 +kerning first=1043 second=108 amount=-6 +kerning first=1043 second=109 amount=-26 +kerning first=1043 second=110 amount=-13 +kerning first=1043 second=111 amount=-13 +kerning first=1043 second=112 amount=-13 +kerning first=1043 second=113 amount=-13 +kerning first=1043 second=114 amount=-13 +kerning first=1043 second=115 amount=-13 +kerning first=1043 second=116 amount=-13 +kerning first=1043 second=117 amount=-13 +kerning first=1043 second=118 amount=-13 +kerning first=1043 second=119 amount=-13 +kerning first=1043 second=120 amount=-13 +kerning first=1043 second=121 amount=-13 +kerning first=1043 second=122 amount=-13 +kerning first=1043 second=1040 amount=-9 +kerning first=1043 second=1044 amount=-14 +kerning first=1043 second=1046 amount=-6 +kerning first=1043 second=1051 amount=-12 +kerning first=1043 second=1052 amount=-13 +kerning first=1043 second=1054 amount=-5 +kerning first=1043 second=1057 amount=-9 +kerning first=1043 second=1072 amount=-13 +kerning first=1043 second=1073 amount=-13 +kerning first=1043 second=1074 amount=-13 +kerning first=1043 second=1075 amount=-13 +kerning first=1043 second=1076 amount=-26 +kerning first=1043 second=1077 amount=-13 +kerning first=1043 second=1078 amount=-13 +kerning first=1043 second=1079 amount=-13 +kerning first=1043 second=1080 amount=-13 +kerning first=1043 second=1081 amount=-13 +kerning first=1043 second=1082 amount=-13 +kerning first=1043 second=1083 amount=-19 +kerning first=1043 second=1084 amount=-19 +kerning first=1043 second=1085 amount=-13 +kerning first=1043 second=1086 amount=-13 +kerning first=1043 second=1087 amount=-13 +kerning first=1043 second=1088 amount=-13 +kerning first=1043 second=1089 amount=-13 +kerning first=1043 second=1090 amount=-13 +kerning first=1043 second=1091 amount=-13 +kerning first=1043 second=1092 amount=-13 +kerning first=1043 second=1093 amount=-13 +kerning first=1043 second=1094 amount=-16 +kerning first=1043 second=1095 amount=-16 +kerning first=1043 second=1096 amount=-16 +kerning first=1043 second=1097 amount=-16 +kerning first=1043 second=1098 amount=-16 +kerning first=1043 second=1099 amount=-13 +kerning first=1043 second=1100 amount=-13 +kerning first=1043 second=1101 amount=-13 +kerning first=1043 second=1102 amount=-13 +kerning first=1043 second=1103 amount=-13 +kerning first=1043 second=1105 amount=-13 +kerning first=1044 second=1025 amount=-3 +kerning first=1044 second=1040 amount=3 +kerning first=1044 second=1045 amount=-3 +kerning first=1044 second=1046 amount=3 +kerning first=1044 second=1047 amount=3 +kerning first=1044 second=1051 amount=3 +kerning first=1044 second=1052 amount=3 +kerning first=1044 second=1054 amount=-3 +kerning first=1044 second=1056 amount=-3 +kerning first=1044 second=1058 amount=-8 +kerning first=1044 second=1059 amount=-6 +kerning first=1044 second=1060 amount=-5 +kerning first=1044 second=1063 amount=-7 +kerning first=1044 second=1066 amount=-8 +kerning first=1044 second=1071 amount=3 +kerning first=1044 second=1090 amount=-3 +kerning first=1044 second=1092 amount=-3 +kerning first=1044 second=1095 amount=-3 +kerning first=1044 second=1098 amount=-3 +kerning first=1045 second=1047 amount=3 +kerning first=1046 second=1058 amount=-3 +kerning first=1047 second=1076 amount=-7 +kerning first=1047 second=1083 amount=-4 +kerning first=1047 second=1084 amount=-4 +kerning first=1050 second=1058 amount=-3 +kerning first=1050 second=1090 amount=-3 +kerning first=1050 second=1091 amount=-3 +kerning first=1050 second=1095 amount=-3 +kerning first=1051 second=1058 amount=-9 +kerning first=1051 second=1059 amount=-9 +kerning first=1051 second=1063 amount=-8 +kerning first=1051 second=1090 amount=-3 +kerning first=1051 second=1091 amount=-3 +kerning first=1051 second=1095 amount=-3 +kerning first=1051 second=1098 amount=-3 +kerning first=1052 second=1058 amount=-9 +kerning first=1052 second=1059 amount=-10 +kerning first=1052 second=1063 amount=-9 +kerning first=1052 second=1090 amount=-3 +kerning first=1052 second=1091 amount=-3 +kerning first=1052 second=1095 amount=-3 +kerning first=1052 second=1098 amount=-3 +kerning first=1056 second=1076 amount=-6 +kerning first=1056 second=1078 amount=-6 +kerning first=1056 second=1083 amount=-6 +kerning first=1056 second=1084 amount=-6 +kerning first=1058 second=1044 amount=-6 +kerning first=1058 second=1051 amount=-6 +kerning first=1058 second=1052 amount=-6 +kerning first=1058 second=1072 amount=-6 +kerning first=1058 second=1073 amount=-3 +kerning first=1058 second=1074 amount=-3 +kerning first=1058 second=1075 amount=-3 +kerning first=1058 second=1076 amount=-11 +kerning first=1058 second=1077 amount=-9 +kerning first=1058 second=1078 amount=-6 +kerning first=1058 second=1079 amount=-6 +kerning first=1058 second=1082 amount=-3 +kerning first=1058 second=1083 amount=-10 +kerning first=1058 second=1084 amount=-10 +kerning first=1058 second=1086 amount=-9 +kerning first=1058 second=1088 amount=-6 +kerning first=1058 second=1089 amount=-9 +kerning first=1058 second=1090 amount=-6 +kerning first=1058 second=1091 amount=-6 +kerning first=1058 second=1092 amount=-6 +kerning first=1058 second=1093 amount=-6 +kerning first=1058 second=1094 amount=-6 +kerning first=1058 second=1095 amount=-6 +kerning first=1058 second=1096 amount=-9 +kerning first=1058 second=1097 amount=-9 +kerning first=1058 second=1098 amount=-11 +kerning first=1058 second=1099 amount=-8 +kerning first=1058 second=1100 amount=-8 +kerning first=1058 second=1101 amount=-9 +kerning first=1058 second=1102 amount=-3 +kerning first=1058 second=1103 amount=-9 +kerning first=1058 second=1105 amount=-9 +kerning first=1059 second=1040 amount=-3 +kerning first=1059 second=1044 amount=-13 +kerning first=1059 second=1051 amount=-12 +kerning first=1059 second=1052 amount=-12 +kerning first=1059 second=1072 amount=-13 +kerning first=1059 second=1073 amount=-6 +kerning first=1059 second=1074 amount=-6 +kerning first=1059 second=1075 amount=-6 +kerning first=1059 second=1076 amount=-22 +kerning first=1059 second=1077 amount=-13 +kerning first=1059 second=1078 amount=-10 +kerning first=1059 second=1079 amount=-6 +kerning first=1059 second=1080 amount=-6 +kerning first=1059 second=1081 amount=-6 +kerning first=1059 second=1082 amount=-6 +kerning first=1059 second=1083 amount=-13 +kerning first=1059 second=1084 amount=-19 +kerning first=1059 second=1085 amount=-6 +kerning first=1059 second=1086 amount=-13 +kerning first=1059 second=1087 amount=-6 +kerning first=1059 second=1088 amount=-6 +kerning first=1059 second=1089 amount=-13 +kerning first=1059 second=1090 amount=-10 +kerning first=1059 second=1091 amount=-3 +kerning first=1059 second=1092 amount=-10 +kerning first=1059 second=1093 amount=-6 +kerning first=1059 second=1094 amount=-6 +kerning first=1059 second=1095 amount=-6 +kerning first=1059 second=1096 amount=-6 +kerning first=1059 second=1097 amount=-6 +kerning first=1059 second=1098 amount=-6 +kerning first=1059 second=1099 amount=-6 +kerning first=1059 second=1100 amount=-6 +kerning first=1059 second=1101 amount=-6 +kerning first=1059 second=1102 amount=-6 +kerning first=1059 second=1103 amount=-6 +kerning first=1059 second=1105 amount=-13 +kerning first=1060 second=1056 amount=-3 +kerning first=1060 second=1072 amount=-6 +kerning first=1060 second=1076 amount=-13 +kerning first=1060 second=1077 amount=-6 +kerning first=1060 second=1078 amount=-6 +kerning first=1060 second=1079 amount=-6 +kerning first=1060 second=1083 amount=-13 +kerning first=1060 second=1084 amount=-13 +kerning first=1060 second=1086 amount=-6 +kerning first=1060 second=1089 amount=-6 +kerning first=1060 second=1090 amount=-6 +kerning first=1060 second=1092 amount=-6 +kerning first=1060 second=1093 amount=-6 +kerning first=1060 second=1094 amount=-6 +kerning first=1060 second=1095 amount=-6 +kerning first=1060 second=1096 amount=-6 +kerning first=1060 second=1097 amount=-6 +kerning first=1060 second=1098 amount=-6 +kerning first=1060 second=1101 amount=-6 +kerning first=1060 second=1103 amount=-6 +kerning first=1060 second=1105 amount=-6 +kerning first=1062 second=1058 amount=-6 +kerning first=1062 second=1059 amount=-6 +kerning first=1062 second=1063 amount=-6 +kerning first=1062 second=1090 amount=-3 +kerning first=1065 second=1058 amount=-6 +kerning first=1065 second=1059 amount=-6 +kerning first=1065 second=1063 amount=-6 +kerning first=1065 second=1090 amount=-3 +kerning first=1066 second=1058 amount=-9 +kerning first=1066 second=1059 amount=-9 +kerning first=1066 second=1062 amount=3 +kerning first=1066 second=1064 amount=3 +kerning first=1066 second=1065 amount=3 +kerning first=1068 second=1058 amount=-9 +kerning first=1068 second=1059 amount=-9 +kerning first=1068 second=1062 amount=3 +kerning first=1068 second=1064 amount=3 +kerning first=1068 second=1065 amount=3 +kerning first=1072 second=1072 amount=2 +kerning first=1072 second=1076 amount=1 +kerning first=1072 second=1078 amount=1 +kerning first=1072 second=1086 amount=-3 +kerning first=1072 second=1090 amount=-4 +kerning first=1072 second=1091 amount=-9 +kerning first=1072 second=1092 amount=-3 +kerning first=1072 second=1095 amount=-3 +kerning first=1072 second=1098 amount=-3 +kerning first=1072 second=1103 amount=2 +kerning first=1073 second=1076 amount=-3 +kerning first=1073 second=1078 amount=-2 +kerning first=1073 second=1095 amount=-1 +kerning first=1073 second=1103 amount=-1 +kerning first=1074 second=1076 amount=-3 +kerning first=1074 second=1078 amount=-2 +kerning first=1074 second=1083 amount=-1 +kerning first=1074 second=1095 amount=-1 +kerning first=1074 second=1103 amount=-1 +kerning first=1075 second=1076 amount=-8 +kerning first=1075 second=1083 amount=-4 +kerning first=1075 second=1084 amount=-4 +kerning first=1075 second=1089 amount=-2 +kerning first=1076 second=1072 amount=2 +kerning first=1076 second=1076 amount=1 +kerning first=1076 second=1077 amount=-1 +kerning first=1076 second=1078 amount=3 +kerning first=1076 second=1079 amount=1 +kerning first=1076 second=1083 amount=2 +kerning first=1076 second=1084 amount=2 +kerning first=1076 second=1090 amount=-4 +kerning first=1076 second=1091 amount=-3 +kerning first=1076 second=1092 amount=-3 +kerning first=1076 second=1095 amount=-4 +kerning first=1076 second=1098 amount=-3 +kerning first=1076 second=1103 amount=1 +kerning first=1076 second=1105 amount=-1 +kerning first=1077 second=1076 amount=-2 +kerning first=1077 second=1078 amount=-2 +kerning first=1078 second=1095 amount=-3 +kerning first=1079 second=1076 amount=-3 +kerning first=1079 second=1078 amount=-3 +kerning first=1079 second=1083 amount=-1 +kerning first=1079 second=1084 amount=-1 +kerning first=1079 second=1090 amount=-3 +kerning first=1079 second=1098 amount=-3 +kerning first=1082 second=1077 amount=-3 +kerning first=1082 second=1086 amount=-3 +kerning first=1082 second=1088 amount=-2 +kerning first=1082 second=1090 amount=-3 +kerning first=1082 second=1092 amount=-3 +kerning first=1082 second=1095 amount=-3 +kerning first=1082 second=1105 amount=-3 +kerning first=1083 second=1072 amount=1 +kerning first=1083 second=1076 amount=1 +kerning first=1083 second=1088 amount=-2 +kerning first=1083 second=1090 amount=-4 +kerning first=1083 second=1091 amount=-4 +kerning first=1083 second=1092 amount=-2 +kerning first=1083 second=1095 amount=-3 +kerning first=1083 second=1098 amount=-3 +kerning first=1083 second=1103 amount=1 +kerning first=1084 second=1076 amount=1 +kerning first=1084 second=1077 amount=-3 +kerning first=1084 second=1086 amount=-3 +kerning first=1084 second=1088 amount=-2 +kerning first=1084 second=1090 amount=-4 +kerning first=1084 second=1091 amount=-4 +kerning first=1084 second=1092 amount=-3 +kerning first=1084 second=1093 amount=-1 +kerning first=1084 second=1095 amount=-4 +kerning first=1084 second=1098 amount=-3 +kerning first=1084 second=1105 amount=-3 +kerning first=1086 second=1072 amount=-2 +kerning first=1086 second=1076 amount=-4 +kerning first=1086 second=1083 amount=-2 +kerning first=1086 second=1084 amount=-2 +kerning first=1086 second=1090 amount=-2 +kerning first=1086 second=1094 amount=1 +kerning first=1086 second=1096 amount=1 +kerning first=1086 second=1097 amount=1 +kerning first=1086 second=1098 amount=-2 +kerning first=1086 second=1103 amount=-1 +kerning first=1087 second=1076 amount=-4 +kerning first=1087 second=1078 amount=-3 +kerning first=1087 second=1083 amount=-3 +kerning first=1087 second=1084 amount=-3 +kerning first=1087 second=1086 amount=1 +kerning first=1087 second=1094 amount=1 +kerning first=1087 second=1096 amount=1 +kerning first=1087 second=1097 amount=1 +kerning first=1087 second=1098 amount=-3 +kerning first=1087 second=1103 amount=-1 +kerning first=1088 second=1072 amount=-2 +kerning first=1088 second=1076 amount=-4 +kerning first=1088 second=1078 amount=-3 +kerning first=1088 second=1083 amount=-3 +kerning first=1088 second=1084 amount=-3 +kerning first=1088 second=1086 amount=1 +kerning first=1088 second=1094 amount=1 +kerning first=1088 second=1096 amount=1 +kerning first=1088 second=1097 amount=1 +kerning first=1088 second=1098 amount=-2 +kerning first=1088 second=1103 amount=-1 +kerning first=1089 second=1076 amount=-3 +kerning first=1089 second=1078 amount=-1 +kerning first=1089 second=1083 amount=-1 +kerning first=1089 second=1084 amount=-1 +kerning first=1089 second=1086 amount=-1 +kerning first=1089 second=1103 amount=-1 +kerning first=1090 second=1072 amount=-3 +kerning first=1090 second=1076 amount=-7 +kerning first=1090 second=1083 amount=-6 +kerning first=1090 second=1084 amount=-7 +kerning first=1091 second=1072 amount=-6 +kerning first=1091 second=1076 amount=-12 +kerning first=1091 second=1077 amount=-2 +kerning first=1091 second=1078 amount=-3 +kerning first=1091 second=1079 amount=-1 +kerning first=1091 second=1083 amount=-8 +kerning first=1091 second=1084 amount=-8 +kerning first=1091 second=1086 amount=-2 +kerning first=1091 second=1089 amount=-2 +kerning first=1091 second=1103 amount=-2 +kerning first=1091 second=1105 amount=-2 +kerning first=1092 second=1072 amount=-1 +kerning first=1092 second=1076 amount=-4 +kerning first=1092 second=1078 amount=-1 +kerning first=1092 second=1083 amount=-3 +kerning first=1092 second=1084 amount=-3 +kerning first=1092 second=1090 amount=-2 +kerning first=1092 second=1096 amount=1 +kerning first=1092 second=1097 amount=1 +kerning first=1092 second=1098 amount=-2 +kerning first=1093 second=1077 amount=-3 +kerning first=1093 second=1078 amount=-1 +kerning first=1093 second=1086 amount=-3 +kerning first=1093 second=1089 amount=-3 +kerning first=1093 second=1095 amount=-2 +kerning first=1093 second=1105 amount=-3 +kerning first=1094 second=1072 amount=1 +kerning first=1094 second=1079 amount=1 +kerning first=1094 second=1088 amount=-1 +kerning first=1094 second=1090 amount=-4 +kerning first=1094 second=1095 amount=-2 +kerning first=1094 second=1098 amount=-3 +kerning first=1094 second=1101 amount=1 +kerning first=1094 second=1103 amount=1 +kerning first=1095 second=1076 amount=-1 +kerning first=1095 second=1090 amount=-3 +kerning first=1095 second=1095 amount=-1 +kerning first=1095 second=1098 amount=-3 +kerning first=1095 second=1103 amount=-1 +kerning first=1096 second=1077 amount=-2 +kerning first=1096 second=1083 amount=-1 +kerning first=1096 second=1084 amount=-1 +kerning first=1096 second=1086 amount=-2 +kerning first=1096 second=1088 amount=-1 +kerning first=1096 second=1090 amount=-3 +kerning first=1096 second=1091 amount=-3 +kerning first=1096 second=1092 amount=-2 +kerning first=1096 second=1093 amount=-1 +kerning first=1096 second=1095 amount=-3 +kerning first=1096 second=1098 amount=-3 +kerning first=1096 second=1105 amount=-2 +kerning first=1097 second=1072 amount=1 +kerning first=1097 second=1088 amount=-1 +kerning first=1097 second=1090 amount=-4 +kerning first=1097 second=1095 amount=-2 +kerning first=1097 second=1098 amount=-3 +kerning first=1097 second=1103 amount=1 +kerning first=1098 second=1076 amount=-2 +kerning first=1098 second=1088 amount=-3 +kerning first=1098 second=1090 amount=-4 +kerning first=1098 second=1091 amount=-3 +kerning first=1098 second=1094 amount=1 +kerning first=1098 second=1096 amount=1 +kerning first=1098 second=1097 amount=1 +kerning first=1098 second=1098 amount=-6 +kerning first=1098 second=1103 amount=-1 +kerning first=1099 second=1090 amount=-3 +kerning first=1100 second=1076 amount=-2 +kerning first=1100 second=1088 amount=-3 +kerning first=1100 second=1090 amount=-4 +kerning first=1100 second=1091 amount=-3 +kerning first=1100 second=1094 amount=1 +kerning first=1100 second=1096 amount=1 +kerning first=1100 second=1097 amount=1 +kerning first=1100 second=1098 amount=-6 +kerning first=1100 second=1103 amount=-1 +kerning first=1101 second=1072 amount=-1 +kerning first=1101 second=1076 amount=-4 +kerning first=1101 second=1083 amount=-2 +kerning first=1101 second=1084 amount=-2 +kerning first=1101 second=1090 amount=-2 +kerning first=1101 second=1094 amount=1 +kerning first=1101 second=1096 amount=1 +kerning first=1101 second=1097 amount=1 +kerning first=1101 second=1098 amount=-2 +kerning first=1101 second=1103 amount=-1 +kerning first=1102 second=1072 amount=-1 +kerning first=1102 second=1076 amount=-2 +kerning first=1102 second=1083 amount=-2 +kerning first=1102 second=1084 amount=-2 +kerning first=1102 second=1090 amount=-2 +kerning first=1102 second=1094 amount=1 +kerning first=1102 second=1096 amount=1 +kerning first=1102 second=1097 amount=1 +kerning first=1102 second=1098 amount=-2 +kerning first=1102 second=1103 amount=-1 +kerning first=1105 second=1076 amount=-2 +kerning first=1105 second=1078 amount=-2 diff --git a/gfx/fonts/neucha_10.dds b/gfx/fonts/neucha_10.dds new file mode 100644 index 000000000..4047696d8 Binary files /dev/null and b/gfx/fonts/neucha_10.dds differ diff --git a/gfx/fonts/neucha_10.fnt b/gfx/fonts/neucha_10.fnt new file mode 100644 index 000000000..ea23f1363 --- /dev/null +++ b/gfx/fonts/neucha_10.fnt @@ -0,0 +1,270 @@ +info face="Neucha" size=-10 bold=0 italic=0 charset="" unicode=1 stretchH=100 smooth=1 aa=1 padding=0,0,0,0 spacing=1,1 outline=2 +common lineHeight=13 base=10 scaleW=256 scaleH=256 pages=1 packed=0 alphaChnl=0 redChnl=4 greenChnl=4 blueChnl=4 +page id=0 file="neucha_10_0.dds" +chars count=266 +char id=32 x=211 y=119 width=7 height=5 xoffset=-3 yoffset=10 xadvance=3 page=0 chnl=15 +char id=33 x=148 y=90 width=6 height=11 xoffset=-2 yoffset=1 xadvance=2 page=0 chnl=15 +char id=34 x=103 y=123 width=8 height=6 xoffset=-3 yoffset=1 xadvance=3 page=0 chnl=15 +char id=35 x=199 y=40 width=12 height=11 xoffset=-3 yoffset=1 xadvance=6 page=0 chnl=15 +char id=36 x=0 y=15 width=9 height=13 xoffset=-2 yoffset=0 xadvance=5 page=0 chnl=15 +char id=37 x=0 y=29 width=12 height=12 xoffset=-3 yoffset=0 xadvance=7 page=0 chnl=15 +char id=38 x=130 y=54 width=10 height=11 xoffset=-2 yoffset=1 xadvance=6 page=0 chnl=15 +char id=39 x=155 y=122 width=7 height=6 xoffset=-3 yoffset=1 xadvance=1 page=0 chnl=15 +char id=40 x=119 y=42 width=7 height=12 xoffset=-2 yoffset=1 xadvance=2 page=0 chnl=15 +char id=41 x=111 y=42 width=7 height=12 xoffset=-3 yoffset=1 xadvance=2 page=0 chnl=15 +char id=42 x=40 y=123 width=9 height=7 xoffset=-3 yoffset=0 xadvance=4 page=0 chnl=15 +char id=43 x=224 y=99 width=10 height=9 xoffset=-3 yoffset=2 xadvance=4 page=0 chnl=15 +char id=44 x=147 y=123 width=7 height=6 xoffset=-3 yoffset=7 xadvance=2 page=0 chnl=15 +char id=45 x=83 y=123 width=9 height=6 xoffset=-2 yoffset=3 xadvance=4 page=0 chnl=15 +char id=46 x=227 y=119 width=7 height=5 xoffset=-3 yoffset=7 xadvance=2 page=0 chnl=15 +char id=47 x=227 y=0 width=10 height=13 xoffset=-3 yoffset=0 xadvance=4 page=0 chnl=15 +char id=48 x=230 y=76 width=9 height=11 xoffset=-2 yoffset=1 xadvance=5 page=0 chnl=15 +char id=49 x=20 y=91 width=9 height=11 xoffset=-3 yoffset=1 xadvance=4 page=0 chnl=15 +char id=50 x=108 y=55 width=10 height=11 xoffset=-3 yoffset=1 xadvance=4 page=0 chnl=15 +char id=51 x=40 y=91 width=9 height=11 xoffset=-3 yoffset=1 xadvance=4 page=0 chnl=15 +char id=52 x=0 y=67 width=10 height=11 xoffset=-3 yoffset=1 xadvance=4 page=0 chnl=15 +char id=53 x=11 y=67 width=10 height=11 xoffset=-3 yoffset=1 xadvance=4 page=0 chnl=15 +char id=54 x=22 y=67 width=10 height=11 xoffset=-3 yoffset=1 xadvance=4 page=0 chnl=15 +char id=55 x=33 y=67 width=10 height=11 xoffset=-3 yoffset=1 xadvance=4 page=0 chnl=15 +char id=56 x=50 y=91 width=9 height=11 xoffset=-2 yoffset=1 xadvance=5 page=0 chnl=15 +char id=57 x=55 y=67 width=10 height=11 xoffset=-3 yoffset=1 xadvance=4 page=0 chnl=15 +char id=58 x=243 y=109 width=7 height=9 xoffset=-3 yoffset=3 xadvance=2 page=0 chnl=15 +char id=59 x=247 y=88 width=7 height=10 xoffset=-3 yoffset=3 xadvance=2 page=0 chnl=15 +char id=60 x=20 y=103 width=12 height=9 xoffset=-3 yoffset=3 xadvance=6 page=0 chnl=15 +char id=61 x=7 y=124 width=10 height=8 xoffset=-2 yoffset=2 xadvance=6 page=0 chnl=15 +char id=62 x=33 y=103 width=12 height=9 xoffset=-3 yoffset=3 xadvance=6 page=0 chnl=15 +char id=63 x=121 y=67 width=10 height=11 xoffset=-3 yoffset=1 xadvance=4 page=0 chnl=15 +char id=64 x=163 y=15 width=13 height=12 xoffset=-3 yoffset=0 xadvance=8 page=0 chnl=15 +char id=65 x=238 y=40 width=11 height=11 xoffset=-3 yoffset=1 xadvance=5 page=0 chnl=15 +char id=66 x=0 y=79 width=9 height=11 xoffset=-2 yoffset=1 xadvance=5 page=0 chnl=15 +char id=67 x=143 y=66 width=10 height=11 xoffset=-2 yoffset=1 xadvance=5 page=0 chnl=15 +char id=68 x=154 y=66 width=10 height=11 xoffset=-2 yoffset=1 xadvance=5 page=0 chnl=15 +char id=69 x=10 y=79 width=9 height=11 xoffset=-2 yoffset=1 xadvance=5 page=0 chnl=15 +char id=70 x=207 y=52 width=10 height=11 xoffset=-3 yoffset=1 xadvance=4 page=0 chnl=15 +char id=71 x=218 y=52 width=10 height=11 xoffset=-2 yoffset=1 xadvance=6 page=0 chnl=15 +char id=72 x=20 y=79 width=9 height=11 xoffset=-2 yoffset=1 xadvance=5 page=0 chnl=15 +char id=73 x=30 y=79 width=9 height=11 xoffset=-3 yoffset=1 xadvance=3 page=0 chnl=15 +char id=74 x=40 y=79 width=9 height=11 xoffset=-3 yoffset=1 xadvance=4 page=0 chnl=15 +char id=75 x=88 y=67 width=10 height=11 xoffset=-3 yoffset=1 xadvance=4 page=0 chnl=15 +char id=76 x=110 y=67 width=10 height=11 xoffset=-2 yoffset=1 xadvance=5 page=0 chnl=15 +char id=77 x=171 y=41 width=13 height=11 xoffset=-3 yoffset=1 xadvance=7 page=0 chnl=15 +char id=78 x=60 y=55 width=11 height=11 xoffset=-3 yoffset=1 xadvance=5 page=0 chnl=15 +char id=79 x=50 y=79 width=9 height=11 xoffset=-2 yoffset=1 xadvance=5 page=0 chnl=15 +char id=80 x=60 y=79 width=9 height=11 xoffset=-2 yoffset=1 xadvance=5 page=0 chnl=15 +char id=81 x=30 y=15 width=9 height=13 xoffset=-2 yoffset=1 xadvance=5 page=0 chnl=15 +char id=82 x=70 y=91 width=9 height=11 xoffset=-2 yoffset=1 xadvance=5 page=0 chnl=15 +char id=83 x=220 y=64 width=10 height=11 xoffset=-3 yoffset=1 xadvance=4 page=0 chnl=15 +char id=84 x=209 y=64 width=10 height=11 xoffset=-3 yoffset=1 xadvance=4 page=0 chnl=15 +char id=85 x=30 y=91 width=9 height=11 xoffset=-2 yoffset=1 xadvance=5 page=0 chnl=15 +char id=86 x=185 y=52 width=10 height=11 xoffset=-3 yoffset=1 xadvance=4 page=0 chnl=15 +char id=87 x=212 y=40 width=12 height=11 xoffset=-3 yoffset=1 xadvance=7 page=0 chnl=15 +char id=88 x=187 y=64 width=10 height=11 xoffset=-2 yoffset=1 xadvance=6 page=0 chnl=15 +char id=89 x=163 y=53 width=10 height=11 xoffset=-3 yoffset=1 xadvance=4 page=0 chnl=15 +char id=90 x=174 y=53 width=10 height=11 xoffset=-3 yoffset=1 xadvance=4 page=0 chnl=15 +char id=91 x=117 y=15 width=7 height=13 xoffset=-2 yoffset=0 xadvance=3 page=0 chnl=15 +char id=92 x=180 y=0 width=11 height=13 xoffset=-3 yoffset=0 xadvance=5 page=0 chnl=15 +char id=93 x=99 y=15 width=8 height=13 xoffset=-3 yoffset=0 xadvance=3 page=0 chnl=15 +char id=94 x=18 y=124 width=10 height=8 xoffset=-3 yoffset=1 xadvance=4 page=0 chnl=15 +char id=95 x=60 y=123 width=11 height=6 xoffset=-3 yoffset=6 xadvance=6 page=0 chnl=15 +char id=96 x=163 y=122 width=7 height=6 xoffset=-1 yoffset=0 xadvance=5 page=0 chnl=15 +char id=97 x=189 y=111 width=8 height=9 xoffset=-2 yoffset=3 xadvance=4 page=0 chnl=15 +char id=98 x=61 y=29 width=10 height=12 xoffset=-3 yoffset=0 xadvance=4 page=0 chnl=15 +char id=99 x=62 y=113 width=9 height=9 xoffset=-2 yoffset=3 xadvance=4 page=0 chnl=15 +char id=100 x=224 y=27 width=9 height=12 xoffset=-2 yoffset=0 xadvance=4 page=0 chnl=15 +char id=101 x=180 y=101 width=10 height=9 xoffset=-3 yoffset=3 xadvance=4 page=0 chnl=15 +char id=102 x=200 y=76 width=9 height=11 xoffset=-3 yoffset=1 xadvance=3 page=0 chnl=15 +char id=103 x=40 y=42 width=8 height=12 xoffset=-2 yoffset=3 xadvance=4 page=0 chnl=15 +char id=104 x=220 y=76 width=9 height=11 xoffset=-2 yoffset=1 xadvance=4 page=0 chnl=15 +char id=105 x=141 y=90 width=6 height=11 xoffset=-2 yoffset=1 xadvance=2 page=0 chnl=15 +char id=106 x=248 y=0 width=7 height=13 xoffset=-3 yoffset=1 xadvance=2 page=0 chnl=15 +char id=107 x=89 y=91 width=8 height=11 xoffset=-2 yoffset=1 xadvance=4 page=0 chnl=15 +char id=108 x=134 y=91 width=6 height=11 xoffset=-2 yoffset=1 xadvance=2 page=0 chnl=15 +char id=109 x=0 y=114 width=10 height=9 xoffset=-2 yoffset=3 xadvance=6 page=0 chnl=15 +char id=110 x=162 y=112 width=8 height=9 xoffset=-2 yoffset=3 xadvance=4 page=0 chnl=15 +char id=111 x=32 y=113 width=9 height=9 xoffset=-2 yoffset=3 xadvance=4 page=0 chnl=15 +char id=112 x=105 y=29 width=10 height=12 xoffset=-3 yoffset=3 xadvance=4 page=0 chnl=15 +char id=113 x=30 y=42 width=9 height=12 xoffset=-2 yoffset=3 xadvance=4 page=0 chnl=15 +char id=114 x=122 y=113 width=9 height=9 xoffset=-2 yoffset=3 xadvance=4 page=0 chnl=15 +char id=115 x=180 y=111 width=8 height=9 xoffset=-2 yoffset=3 xadvance=4 page=0 chnl=15 +char id=116 x=125 y=91 width=8 height=11 xoffset=-2 yoffset=1 xadvance=4 page=0 chnl=15 +char id=117 x=132 y=113 width=9 height=9 xoffset=-2 yoffset=3 xadvance=4 page=0 chnl=15 +char id=118 x=142 y=113 width=9 height=9 xoffset=-2 yoffset=3 xadvance=4 page=0 chnl=15 +char id=119 x=59 y=103 width=12 height=9 xoffset=-3 yoffset=3 xadvance=6 page=0 chnl=15 +char id=120 x=225 y=109 width=8 height=9 xoffset=-2 yoffset=3 xadvance=4 page=0 chnl=15 +char id=121 x=171 y=28 width=10 height=12 xoffset=-3 yoffset=3 xadvance=4 page=0 chnl=15 +char id=122 x=158 y=102 width=10 height=9 xoffset=-3 yoffset=3 xadvance=4 page=0 chnl=15 +char id=123 x=108 y=15 width=8 height=13 xoffset=-3 yoffset=0 xadvance=3 page=0 chnl=15 +char id=124 x=133 y=15 width=6 height=13 xoffset=-2 yoffset=0 xadvance=2 page=0 chnl=15 +char id=125 x=90 y=15 width=8 height=13 xoffset=-3 yoffset=0 xadvance=3 page=0 chnl=15 +char id=126 x=72 y=123 width=10 height=6 xoffset=-2 yoffset=3 xadvance=5 page=0 chnl=15 +char id=160 x=219 y=119 width=7 height=5 xoffset=-3 yoffset=10 xadvance=3 page=0 chnl=15 +char id=161 x=162 y=90 width=6 height=11 xoffset=-2 yoffset=3 xadvance=2 page=0 chnl=15 +char id=163 x=96 y=55 width=11 height=11 xoffset=-3 yoffset=1 xadvance=5 page=0 chnl=15 +char id=164 x=44 y=67 width=10 height=11 xoffset=-2 yoffset=1 xadvance=6 page=0 chnl=15 +char id=166 x=140 y=15 width=6 height=13 xoffset=-2 yoffset=0 xadvance=2 page=0 chnl=15 +char id=167 x=85 y=42 width=8 height=12 xoffset=-2 yoffset=1 xadvance=4 page=0 chnl=15 +char id=168 x=201 y=120 width=9 height=5 xoffset=-2 yoffset=1 xadvance=5 page=0 chnl=15 +char id=169 x=191 y=14 width=13 height=12 xoffset=-3 yoffset=1 xadvance=7 page=0 chnl=15 +char id=171 x=122 y=103 width=11 height=9 xoffset=-3 yoffset=3 xadvance=5 page=0 chnl=15 +char id=172 x=29 y=123 width=10 height=7 xoffset=-3 yoffset=4 xadvance=4 page=0 chnl=15 +char id=173 x=112 y=123 width=8 height=6 xoffset=-2 yoffset=3 xadvance=3 page=0 chnl=15 +char id=174 x=177 y=14 width=13 height=12 xoffset=-3 yoffset=1 xadvance=7 page=0 chnl=15 +char id=176 x=50 y=123 width=9 height=7 xoffset=-3 yoffset=0 xadvance=3 page=0 chnl=15 +char id=177 x=206 y=88 width=10 height=10 xoffset=-3 yoffset=2 xadvance=5 page=0 chnl=15 +char id=180 x=139 y=123 width=7 height=6 xoffset=-1 yoffset=0 xadvance=5 page=0 chnl=15 +char id=181 x=132 y=66 width=10 height=11 xoffset=-3 yoffset=3 xadvance=5 page=0 chnl=15 +char id=182 x=219 y=14 width=12 height=12 xoffset=-3 yoffset=1 xadvance=6 page=0 chnl=15 +char id=183 x=235 y=119 width=6 height=5 xoffset=-2 yoffset=4 xadvance=2 page=0 chnl=15 +char id=187 x=134 y=103 width=11 height=9 xoffset=-3 yoffset=3 xadvance=5 page=0 chnl=15 +char id=191 x=176 y=65 width=10 height=11 xoffset=-3 yoffset=3 xadvance=4 page=0 chnl=15 +char id=192 x=12 y=0 width=11 height=14 xoffset=-3 yoffset=-2 xadvance=5 page=0 chnl=15 +char id=193 x=0 y=0 width=11 height=14 xoffset=-3 yoffset=-2 xadvance=5 page=0 chnl=15 +char id=194 x=168 y=0 width=11 height=13 xoffset=-3 yoffset=-1 xadvance=5 page=0 chnl=15 +char id=196 x=37 y=29 width=11 height=12 xoffset=-3 yoffset=0 xadvance=5 page=0 chnl=15 +char id=197 x=204 y=0 width=11 height=13 xoffset=-3 yoffset=-1 xadvance=5 page=0 chnl=15 +char id=198 x=142 y=42 width=14 height=11 xoffset=-3 yoffset=1 xadvance=8 page=0 chnl=15 +char id=199 x=46 y=0 width=10 height=14 xoffset=-2 yoffset=1 xadvance=5 page=0 chnl=15 +char id=200 x=128 y=0 width=9 height=14 xoffset=-2 yoffset=-2 xadvance=5 page=0 chnl=15 +char id=201 x=138 y=0 width=9 height=14 xoffset=-2 yoffset=-2 xadvance=5 page=0 chnl=15 +char id=202 x=148 y=0 width=9 height=14 xoffset=-2 yoffset=-2 xadvance=5 page=0 chnl=15 +char id=203 x=40 y=15 width=9 height=13 xoffset=-2 yoffset=-1 xadvance=5 page=0 chnl=15 +char id=205 x=68 y=0 width=9 height=14 xoffset=-3 yoffset=-2 xadvance=3 page=0 chnl=15 +char id=206 x=98 y=0 width=9 height=14 xoffset=-3 yoffset=-2 xadvance=3 page=0 chnl=15 +char id=207 x=20 y=15 width=9 height=13 xoffset=-3 yoffset=-1 xadvance=3 page=0 chnl=15 +char id=209 x=192 y=0 width=11 height=13 xoffset=-3 yoffset=-1 xadvance=5 page=0 chnl=15 +char id=211 x=108 y=0 width=9 height=14 xoffset=-2 yoffset=-2 xadvance=5 page=0 chnl=15 +char id=212 x=118 y=0 width=9 height=14 xoffset=-2 yoffset=-2 xadvance=5 page=0 chnl=15 +char id=214 x=10 y=15 width=9 height=13 xoffset=-2 yoffset=-1 xadvance=5 page=0 chnl=15 +char id=217 x=78 y=0 width=9 height=14 xoffset=-2 yoffset=-2 xadvance=5 page=0 chnl=15 +char id=218 x=88 y=0 width=9 height=14 xoffset=-2 yoffset=-2 xadvance=5 page=0 chnl=15 +char id=219 x=158 y=0 width=9 height=14 xoffset=-2 yoffset=-2 xadvance=5 page=0 chnl=15 +char id=220 x=10 y=42 width=9 height=12 xoffset=-2 yoffset=0 xadvance=5 page=0 chnl=15 +char id=223 x=165 y=65 width=10 height=11 xoffset=-2 yoffset=1 xadvance=6 page=0 chnl=15 +char id=224 x=94 y=42 width=8 height=12 xoffset=-2 yoffset=0 xadvance=4 page=0 chnl=15 +char id=225 x=49 y=42 width=8 height=12 xoffset=-2 yoffset=0 xadvance=4 page=0 chnl=15 +char id=226 x=58 y=42 width=8 height=12 xoffset=-2 yoffset=0 xadvance=4 page=0 chnl=15 +char id=228 x=80 y=91 width=8 height=11 xoffset=-2 yoffset=1 xadvance=4 page=0 chnl=15 +char id=229 x=76 y=42 width=8 height=12 xoffset=-2 yoffset=0 xadvance=4 page=0 chnl=15 +char id=230 x=146 y=102 width=11 height=9 xoffset=-2 yoffset=3 xadvance=7 page=0 chnl=15 +char id=231 x=70 y=79 width=9 height=11 xoffset=-2 yoffset=3 xadvance=4 page=0 chnl=15 +char id=232 x=94 y=29 width=10 height=12 xoffset=-3 yoffset=0 xadvance=4 page=0 chnl=15 +char id=233 x=83 y=29 width=10 height=12 xoffset=-3 yoffset=0 xadvance=4 page=0 chnl=15 +char id=234 x=72 y=29 width=10 height=12 xoffset=-3 yoffset=0 xadvance=4 page=0 chnl=15 +char id=235 x=229 y=52 width=10 height=11 xoffset=-3 yoffset=1 xadvance=4 page=0 chnl=15 +char id=237 x=103 y=42 width=7 height=12 xoffset=-2 yoffset=0 xadvance=2 page=0 chnl=15 +char id=238 x=67 y=42 width=8 height=12 xoffset=-3 yoffset=0 xadvance=2 page=0 chnl=15 +char id=239 x=98 y=91 width=8 height=11 xoffset=-3 yoffset=1 xadvance=2 page=0 chnl=15 +char id=241 x=107 y=91 width=8 height=11 xoffset=-2 yoffset=1 xadvance=4 page=0 chnl=15 +char id=243 x=214 y=27 width=9 height=12 xoffset=-2 yoffset=0 xadvance=4 page=0 chnl=15 +char id=244 x=234 y=27 width=9 height=12 xoffset=-2 yoffset=0 xadvance=4 page=0 chnl=15 +char id=246 x=110 y=79 width=9 height=11 xoffset=-2 yoffset=1 xadvance=4 page=0 chnl=15 +char id=249 x=120 y=79 width=9 height=11 xoffset=-2 yoffset=1 xadvance=4 page=0 chnl=15 +char id=250 x=130 y=79 width=9 height=11 xoffset=-2 yoffset=1 xadvance=4 page=0 chnl=15 +char id=251 x=244 y=27 width=9 height=12 xoffset=-2 yoffset=0 xadvance=4 page=0 chnl=15 +char id=252 x=140 y=78 width=9 height=11 xoffset=-2 yoffset=1 xadvance=4 page=0 chnl=15 +char id=255 x=57 y=0 width=10 height=14 xoffset=-3 yoffset=1 xadvance=4 page=0 chnl=15 +char id=305 x=0 y=124 width=6 height=9 xoffset=-2 yoffset=3 xadvance=2 page=0 chnl=15 +char id=338 x=185 y=40 width=13 height=11 xoffset=-2 yoffset=1 xadvance=8 page=0 chnl=15 +char id=339 x=46 y=103 width=12 height=9 xoffset=-3 yoffset=3 xadvance=7 page=0 chnl=15 +char id=376 x=160 y=28 width=10 height=12 xoffset=-3 yoffset=0 xadvance=4 page=0 chnl=15 +char id=1025 x=80 y=15 width=9 height=13 xoffset=-2 yoffset=-1 xadvance=5 page=0 chnl=15 +char id=1026 x=13 y=29 width=11 height=12 xoffset=-3 yoffset=1 xadvance=6 page=0 chnl=15 +char id=1027 x=70 y=15 width=9 height=13 xoffset=-2 yoffset=-1 xadvance=4 page=0 chnl=15 +char id=1028 x=196 y=52 width=10 height=11 xoffset=-2 yoffset=1 xadvance=5 page=0 chnl=15 +char id=1029 x=152 y=54 width=10 height=11 xoffset=-3 yoffset=1 xadvance=4 page=0 chnl=15 +char id=1030 x=90 y=79 width=9 height=11 xoffset=-3 yoffset=1 xadvance=3 page=0 chnl=15 +char id=1031 x=60 y=15 width=9 height=13 xoffset=-3 yoffset=-1 xadvance=3 page=0 chnl=15 +char id=1032 x=210 y=76 width=9 height=11 xoffset=-3 yoffset=1 xadvance=4 page=0 chnl=15 +char id=1033 x=147 y=15 width=15 height=12 xoffset=-4 yoffset=1 xadvance=8 page=0 chnl=15 +char id=1034 x=225 y=40 width=12 height=11 xoffset=-2 yoffset=1 xadvance=8 page=0 chnl=15 +char id=1035 x=0 y=55 width=11 height=11 xoffset=-3 yoffset=1 xadvance=6 page=0 chnl=15 +char id=1036 x=216 y=0 width=10 height=13 xoffset=-2 yoffset=-1 xadvance=5 page=0 chnl=15 +char id=1038 x=49 y=29 width=11 height=12 xoffset=-3 yoffset=0 xadvance=5 page=0 chnl=15 +char id=1039 x=50 y=15 width=9 height=13 xoffset=-2 yoffset=1 xadvance=5 page=0 chnl=15 +char id=1040 x=12 y=55 width=11 height=11 xoffset=-3 yoffset=1 xadvance=5 page=0 chnl=15 +char id=1041 x=10 y=91 width=9 height=11 xoffset=-2 yoffset=1 xadvance=5 page=0 chnl=15 +char id=1042 x=231 y=64 width=9 height=11 xoffset=-2 yoffset=1 xadvance=5 page=0 chnl=15 +char id=1043 x=241 y=64 width=9 height=11 xoffset=-2 yoffset=1 xadvance=4 page=0 chnl=15 +char id=1044 x=25 y=29 width=11 height=12 xoffset=-3 yoffset=1 xadvance=6 page=0 chnl=15 +char id=1045 x=170 y=77 width=9 height=11 xoffset=-2 yoffset=1 xadvance=4 page=0 chnl=15 +char id=1046 x=127 y=42 width=14 height=11 xoffset=-3 yoffset=1 xadvance=8 page=0 chnl=15 +char id=1047 x=0 y=91 width=9 height=11 xoffset=-2 yoffset=1 xadvance=5 page=0 chnl=15 +char id=1048 x=240 y=76 width=9 height=11 xoffset=-2 yoffset=1 xadvance=5 page=0 chnl=15 +char id=1049 x=238 y=0 width=9 height=13 xoffset=-2 yoffset=-1 xadvance=5 page=0 chnl=15 +char id=1050 x=119 y=55 width=10 height=11 xoffset=-2 yoffset=1 xadvance=5 page=0 chnl=15 +char id=1051 x=116 y=29 width=10 height=12 xoffset=-3 yoffset=1 xadvance=5 page=0 chnl=15 +char id=1052 x=157 y=41 width=13 height=11 xoffset=-3 yoffset=1 xadvance=7 page=0 chnl=15 +char id=1053 x=190 y=76 width=9 height=11 xoffset=-2 yoffset=1 xadvance=5 page=0 chnl=15 +char id=1054 x=180 y=77 width=9 height=11 xoffset=-2 yoffset=1 xadvance=5 page=0 chnl=15 +char id=1055 x=160 y=78 width=9 height=11 xoffset=-2 yoffset=1 xadvance=5 page=0 chnl=15 +char id=1056 x=150 y=78 width=9 height=11 xoffset=-2 yoffset=1 xadvance=5 page=0 chnl=15 +char id=1057 x=77 y=67 width=10 height=11 xoffset=-2 yoffset=1 xadvance=5 page=0 chnl=15 +char id=1058 x=99 y=67 width=10 height=11 xoffset=-3 yoffset=1 xadvance=4 page=0 chnl=15 +char id=1059 x=24 y=55 width=11 height=11 xoffset=-3 yoffset=1 xadvance=5 page=0 chnl=15 +char id=1060 x=205 y=14 width=13 height=12 xoffset=-3 yoffset=0 xadvance=7 page=0 chnl=15 +char id=1061 x=240 y=52 width=10 height=11 xoffset=-2 yoffset=1 xadvance=6 page=0 chnl=15 +char id=1062 x=245 y=14 width=10 height=12 xoffset=-2 yoffset=1 xadvance=5 page=0 chnl=15 +char id=1063 x=100 y=79 width=9 height=11 xoffset=-2 yoffset=1 xadvance=5 page=0 chnl=15 +char id=1064 x=36 y=55 width=11 height=11 xoffset=-2 yoffset=1 xadvance=6 page=0 chnl=15 +char id=1065 x=232 y=14 width=12 height=12 xoffset=-2 yoffset=1 xadvance=7 page=0 chnl=15 +char id=1066 x=48 y=55 width=11 height=11 xoffset=-3 yoffset=1 xadvance=6 page=0 chnl=15 +char id=1067 x=72 y=55 width=11 height=11 xoffset=-2 yoffset=1 xadvance=7 page=0 chnl=15 +char id=1068 x=80 y=79 width=9 height=11 xoffset=-2 yoffset=1 xadvance=5 page=0 chnl=15 +char id=1069 x=66 y=67 width=10 height=11 xoffset=-3 yoffset=1 xadvance=5 page=0 chnl=15 +char id=1070 x=84 y=55 width=11 height=11 xoffset=-2 yoffset=1 xadvance=7 page=0 chnl=15 +char id=1071 x=193 y=27 width=10 height=12 xoffset=-3 yoffset=1 xadvance=5 page=0 chnl=15 +char id=1072 x=171 y=111 width=8 height=9 xoffset=-2 yoffset=3 xadvance=4 page=0 chnl=15 +char id=1073 x=182 y=27 width=10 height=12 xoffset=-3 yoffset=0 xadvance=4 page=0 chnl=15 +char id=1074 x=11 y=114 width=10 height=9 xoffset=-3 yoffset=3 xadvance=4 page=0 chnl=15 +char id=1075 x=52 y=113 width=9 height=9 xoffset=-2 yoffset=3 xadvance=4 page=0 chnl=15 +char id=1076 x=182 y=89 width=11 height=10 xoffset=-3 yoffset=3 xadvance=5 page=0 chnl=15 +char id=1077 x=191 y=100 width=10 height=9 xoffset=-3 yoffset=3 xadvance=4 page=0 chnl=15 +char id=1078 x=72 y=103 width=12 height=9 xoffset=-3 yoffset=3 xadvance=6 page=0 chnl=15 +char id=1079 x=198 y=110 width=8 height=9 xoffset=-2 yoffset=3 xadvance=4 page=0 chnl=15 +char id=1080 x=152 y=112 width=9 height=9 xoffset=-2 yoffset=3 xadvance=5 page=0 chnl=15 +char id=1081 x=60 y=91 width=9 height=11 xoffset=-2 yoffset=1 xadvance=5 page=0 chnl=15 +char id=1082 x=72 y=113 width=9 height=9 xoffset=-2 yoffset=3 xadvance=4 page=0 chnl=15 +char id=1083 x=227 y=88 width=9 height=10 xoffset=-3 yoffset=3 xadvance=4 page=0 chnl=15 +char id=1084 x=85 y=103 width=12 height=9 xoffset=-3 yoffset=3 xadvance=6 page=0 chnl=15 +char id=1085 x=82 y=113 width=9 height=9 xoffset=-2 yoffset=3 xadvance=4 page=0 chnl=15 +char id=1086 x=22 y=113 width=9 height=9 xoffset=-2 yoffset=3 xadvance=4 page=0 chnl=15 +char id=1087 x=92 y=113 width=9 height=9 xoffset=-2 yoffset=3 xadvance=4 page=0 chnl=15 +char id=1088 x=149 y=28 width=10 height=12 xoffset=-3 yoffset=3 xadvance=4 page=0 chnl=15 +char id=1089 x=102 y=113 width=9 height=9 xoffset=-2 yoffset=3 xadvance=4 page=0 chnl=15 +char id=1090 x=202 y=99 width=10 height=9 xoffset=-3 yoffset=3 xadvance=4 page=0 chnl=15 +char id=1091 x=138 y=29 width=10 height=12 xoffset=-3 yoffset=3 xadvance=4 page=0 chnl=15 +char id=1092 x=24 y=0 width=10 height=14 xoffset=-2 yoffset=1 xadvance=6 page=0 chnl=15 +char id=1093 x=216 y=109 width=8 height=9 xoffset=-2 yoffset=3 xadvance=4 page=0 chnl=15 +char id=1094 x=237 y=88 width=9 height=10 xoffset=-2 yoffset=3 xadvance=5 page=0 chnl=15 +char id=1095 x=112 y=113 width=9 height=9 xoffset=-3 yoffset=3 xadvance=4 page=0 chnl=15 +char id=1096 x=235 y=99 width=10 height=9 xoffset=-2 yoffset=3 xadvance=6 page=0 chnl=15 +char id=1097 x=194 y=88 width=11 height=10 xoffset=-2 yoffset=3 xadvance=6 page=0 chnl=15 +char id=1098 x=110 y=103 width=11 height=9 xoffset=-3 yoffset=3 xadvance=5 page=0 chnl=15 +char id=1099 x=169 y=101 width=10 height=9 xoffset=-2 yoffset=3 xadvance=6 page=0 chnl=15 +char id=1100 x=234 y=109 width=8 height=9 xoffset=-2 yoffset=3 xadvance=4 page=0 chnl=15 +char id=1101 x=42 y=113 width=9 height=9 xoffset=-3 yoffset=3 xadvance=4 page=0 chnl=15 +char id=1102 x=213 y=99 width=10 height=9 xoffset=-2 yoffset=3 xadvance=6 page=0 chnl=15 +char id=1103 x=217 y=88 width=9 height=10 xoffset=-3 yoffset=3 xadvance=4 page=0 chnl=15 +char id=1105 x=141 y=54 width=10 height=11 xoffset=-3 yoffset=1 xadvance=4 page=0 chnl=15 +char id=1106 x=127 y=29 width=10 height=12 xoffset=-3 yoffset=1 xadvance=5 page=0 chnl=15 +char id=1107 x=0 y=42 width=9 height=12 xoffset=-2 yoffset=0 xadvance=4 page=0 chnl=15 +char id=1108 x=246 y=99 width=9 height=9 xoffset=-2 yoffset=3 xadvance=4 page=0 chnl=15 +char id=1109 x=207 y=109 width=8 height=9 xoffset=-2 yoffset=3 xadvance=4 page=0 chnl=15 +char id=1110 x=155 y=90 width=6 height=11 xoffset=-2 yoffset=1 xadvance=2 page=0 chnl=15 +char id=1111 x=116 y=91 width=8 height=11 xoffset=-3 yoffset=1 xadvance=2 page=0 chnl=15 +char id=1112 x=125 y=15 width=7 height=13 xoffset=-3 yoffset=1 xadvance=2 page=0 chnl=15 +char id=1113 x=169 y=90 width=12 height=10 xoffset=-3 yoffset=3 xadvance=7 page=0 chnl=15 +char id=1114 x=98 y=103 width=11 height=9 xoffset=-2 yoffset=3 xadvance=7 page=0 chnl=15 +char id=1115 x=198 y=64 width=10 height=11 xoffset=-3 yoffset=1 xadvance=5 page=0 chnl=15 +char id=1116 x=204 y=27 width=9 height=12 xoffset=-2 yoffset=0 xadvance=4 page=0 chnl=15 +char id=1118 x=35 y=0 width=10 height=14 xoffset=-3 yoffset=1 xadvance=4 page=0 chnl=15 +char id=1119 x=0 y=103 width=9 height=10 xoffset=-2 yoffset=3 xadvance=4 page=0 chnl=15 +char id=1168 x=20 y=42 width=9 height=12 xoffset=-2 yoffset=0 xadvance=4 page=0 chnl=15 +char id=1169 x=10 y=103 width=9 height=10 xoffset=-2 yoffset=2 xadvance=4 page=0 chnl=15 +char id=8216 x=187 y=121 width=6 height=6 xoffset=-2 yoffset=0 xadvance=2 page=0 chnl=15 +char id=8217 x=171 y=121 width=7 height=6 xoffset=-3 yoffset=0 xadvance=2 page=0 chnl=15 +char id=8218 x=194 y=121 width=6 height=6 xoffset=-2 yoffset=7 xadvance=2 page=0 chnl=15 +char id=8220 x=121 y=123 width=8 height=6 xoffset=-2 yoffset=0 xadvance=4 page=0 chnl=15 +char id=8221 x=93 y=123 width=9 height=6 xoffset=-3 yoffset=0 xadvance=4 page=0 chnl=15 +char id=8222 x=130 y=123 width=8 height=6 xoffset=-2 yoffset=7 xadvance=4 page=0 chnl=15 +char id=8226 x=179 y=121 width=7 height=6 xoffset=-2 yoffset=3 xadvance=3 page=0 chnl=15 diff --git a/gfx/fonts/neucha_13.dds b/gfx/fonts/neucha_13.dds new file mode 100644 index 000000000..6a63f4016 Binary files /dev/null and b/gfx/fonts/neucha_13.dds differ diff --git a/gfx/fonts/neucha_13.fnt b/gfx/fonts/neucha_13.fnt new file mode 100644 index 000000000..9cb0b6c17 --- /dev/null +++ b/gfx/fonts/neucha_13.fnt @@ -0,0 +1,270 @@ +info face="Neucha" size=-13 bold=0 italic=0 charset="" unicode=1 stretchH=100 smooth=1 aa=1 padding=0,0,0,0 spacing=1,1 outline=2 +common lineHeight=17 base=13 scaleW=256 scaleH=256 pages=1 packed=0 alphaChnl=0 redChnl=4 greenChnl=4 blueChnl=4 +page id=0 file="neucha_13_0.dds" +chars count=266 +char id=32 x=39 y=179 width=7 height=5 xoffset=-3 yoffset=14 xadvance=4 page=0 chnl=15 +char id=33 x=38 y=127 width=6 height=14 xoffset=-2 yoffset=1 xadvance=2 page=0 chnl=15 +char id=34 x=171 y=164 width=8 height=7 xoffset=-2 yoffset=1 xadvance=3 page=0 chnl=15 +char id=35 x=106 y=51 width=14 height=14 xoffset=-3 yoffset=1 xadvance=8 page=0 chnl=15 +char id=36 x=56 y=18 width=12 height=16 xoffset=-3 yoffset=0 xadvance=6 page=0 chnl=15 +char id=37 x=121 y=51 width=14 height=14 xoffset=-3 yoffset=1 xadvance=9 page=0 chnl=15 +char id=38 x=80 y=126 width=13 height=13 xoffset=-3 yoffset=2 xadvance=7 page=0 chnl=15 +char id=39 x=189 y=164 width=6 height=7 xoffset=-2 yoffset=1 xadvance=2 page=0 chnl=15 +char id=40 x=227 y=34 width=7 height=15 xoffset=-2 yoffset=1 xadvance=3 page=0 chnl=15 +char id=41 x=235 y=34 width=7 height=15 xoffset=-2 yoffset=1 xadvance=3 page=0 chnl=15 +char id=42 x=90 y=164 width=10 height=8 xoffset=-3 yoffset=1 xadvance=5 page=0 chnl=15 +char id=43 x=165 y=140 width=12 height=11 xoffset=-3 yoffset=3 xadvance=6 page=0 chnl=15 +char id=44 x=139 y=164 width=6 height=8 xoffset=-2 yoffset=9 xadvance=2 page=0 chnl=15 +char id=45 x=233 y=163 width=10 height=6 xoffset=-2 yoffset=6 xadvance=6 page=0 chnl=15 +char id=46 x=24 y=179 width=6 height=6 xoffset=-2 yoffset=9 xadvance=2 page=0 chnl=15 +char id=47 x=82 y=18 width=12 height=16 xoffset=-3 yoffset=0 xadvance=6 page=0 chnl=15 +char id=48 x=211 y=66 width=11 height=14 xoffset=-2 yoffset=1 xadvance=7 page=0 chnl=15 +char id=49 x=143 y=111 width=10 height=14 xoffset=-3 yoffset=1 xadvance=5 page=0 chnl=15 +char id=50 x=223 y=66 width=11 height=14 xoffset=-3 yoffset=1 xadvance=5 page=0 chnl=15 +char id=51 x=165 y=111 width=10 height=14 xoffset=-3 yoffset=1 xadvance=5 page=0 chnl=15 +char id=52 x=12 y=83 width=11 height=14 xoffset=-3 yoffset=1 xadvance=6 page=0 chnl=15 +char id=53 x=176 y=111 width=10 height=14 xoffset=-2 yoffset=1 xadvance=6 page=0 chnl=15 +char id=54 x=198 y=111 width=10 height=14 xoffset=-2 yoffset=1 xadvance=6 page=0 chnl=15 +char id=55 x=122 y=35 width=11 height=15 xoffset=-3 yoffset=0 xadvance=5 page=0 chnl=15 +char id=56 x=209 y=111 width=10 height=14 xoffset=-2 yoffset=1 xadvance=6 page=0 chnl=15 +char id=57 x=24 y=97 width=10 height=14 xoffset=-2 yoffset=1 xadvance=6 page=0 chnl=15 +char id=58 x=40 y=167 width=6 height=11 xoffset=-2 yoffset=4 xadvance=2 page=0 chnl=15 +char id=59 x=198 y=126 width=6 height=13 xoffset=-2 yoffset=4 xadvance=2 page=0 chnl=15 +char id=60 x=71 y=140 width=13 height=11 xoffset=-3 yoffset=4 xadvance=8 page=0 chnl=15 +char id=61 x=54 y=166 width=12 height=9 xoffset=-2 yoffset=4 xadvance=8 page=0 chnl=15 +char id=62 x=57 y=142 width=13 height=11 xoffset=-3 yoffset=4 xadvance=8 page=0 chnl=15 +char id=63 x=168 y=81 width=11 height=14 xoffset=-3 yoffset=1 xadvance=5 page=0 chnl=15 +char id=64 x=18 y=36 width=15 height=15 xoffset=-2 yoffset=1 xadvance=10 page=0 chnl=15 +char id=65 x=0 y=68 width=13 height=14 xoffset=-3 yoffset=1 xadvance=7 page=0 chnl=15 +char id=66 x=35 y=97 width=10 height=14 xoffset=-2 yoffset=1 xadvance=6 page=0 chnl=15 +char id=67 x=96 y=81 width=11 height=14 xoffset=-2 yoffset=1 xadvance=7 page=0 chnl=15 +char id=68 x=0 y=98 width=11 height=14 xoffset=-2 yoffset=1 xadvance=7 page=0 chnl=15 +char id=69 x=46 y=97 width=10 height=14 xoffset=-2 yoffset=1 xadvance=6 page=0 chnl=15 +char id=70 x=57 y=96 width=10 height=14 xoffset=-2 yoffset=1 xadvance=6 page=0 chnl=15 +char id=71 x=12 y=98 width=11 height=14 xoffset=-2 yoffset=1 xadvance=7 page=0 chnl=15 +char id=72 x=68 y=96 width=10 height=14 xoffset=-2 yoffset=1 xadvance=6 page=0 chnl=15 +char id=73 x=20 y=128 width=9 height=14 xoffset=-2 yoffset=1 xadvance=4 page=0 chnl=15 +char id=74 x=79 y=96 width=10 height=14 xoffset=-3 yoffset=1 xadvance=5 page=0 chnl=15 +char id=75 x=90 y=96 width=10 height=14 xoffset=-2 yoffset=1 xadvance=6 page=0 chnl=15 +char id=76 x=180 y=81 width=11 height=14 xoffset=-2 yoffset=1 xadvance=6 page=0 chnl=15 +char id=77 x=58 y=51 width=15 height=14 xoffset=-3 yoffset=1 xadvance=9 page=0 chnl=15 +char id=78 x=36 y=82 width=11 height=14 xoffset=-2 yoffset=1 xadvance=7 page=0 chnl=15 +char id=79 x=156 y=81 width=11 height=14 xoffset=-2 yoffset=1 xadvance=7 page=0 chnl=15 +char id=80 x=121 y=66 width=12 height=14 xoffset=-3 yoffset=1 xadvance=6 page=0 chnl=15 +char id=81 x=107 y=18 width=11 height=16 xoffset=-2 yoffset=1 xadvance=7 page=0 chnl=15 +char id=82 x=132 y=81 width=11 height=14 xoffset=-2 yoffset=1 xadvance=7 page=0 chnl=15 +char id=83 x=160 y=66 width=12 height=14 xoffset=-3 yoffset=1 xadvance=6 page=0 chnl=15 +char id=84 x=228 y=81 width=11 height=14 xoffset=-2 yoffset=1 xadvance=6 page=0 chnl=15 +char id=85 x=204 y=81 width=11 height=14 xoffset=-2 yoffset=1 xadvance=7 page=0 chnl=15 +char id=86 x=192 y=81 width=11 height=14 xoffset=-3 yoffset=1 xadvance=5 page=0 chnl=15 +char id=87 x=166 y=51 width=14 height=14 xoffset=-2 yoffset=1 xadvance=9 page=0 chnl=15 +char id=88 x=196 y=51 width=13 height=14 xoffset=-3 yoffset=1 xadvance=7 page=0 chnl=15 +char id=89 x=48 y=81 width=11 height=14 xoffset=-3 yoffset=1 xadvance=5 page=0 chnl=15 +char id=90 x=173 y=66 width=12 height=14 xoffset=-3 yoffset=1 xadvance=6 page=0 chnl=15 +char id=91 x=209 y=35 width=8 height=15 xoffset=-2 yoffset=1 xadvance=4 page=0 chnl=15 +char id=92 x=60 y=35 width=12 height=15 xoffset=-3 yoffset=1 xadvance=7 page=0 chnl=15 +char id=93 x=199 y=35 width=9 height=15 xoffset=-3 yoffset=1 xadvance=4 page=0 chnl=15 +char id=94 x=67 y=166 width=11 height=9 xoffset=-3 yoffset=1 xadvance=6 page=0 chnl=15 +char id=95 x=196 y=164 width=13 height=6 xoffset=-3 yoffset=9 xadvance=7 page=0 chnl=15 +char id=96 x=8 y=180 width=7 height=6 xoffset=0 yoffset=1 xadvance=6 page=0 chnl=15 +char id=97 x=67 y=154 width=10 height=11 xoffset=-3 yoffset=4 xadvance=5 page=0 chnl=15 +char id=98 x=134 y=96 width=10 height=14 xoffset=-2 yoffset=1 xadvance=6 page=0 chnl=15 +char id=99 x=133 y=152 width=10 height=11 xoffset=-2 yoffset=4 xadvance=5 page=0 chnl=15 +char id=100 x=101 y=96 width=10 height=14 xoffset=-2 yoffset=1 xadvance=6 page=0 chnl=15 +char id=101 x=166 y=152 width=10 height=11 xoffset=-2 yoffset=4 xadvance=6 page=0 chnl=15 +char id=102 x=0 y=128 width=9 height=14 xoffset=-2 yoffset=1 xadvance=4 page=0 chnl=15 +char id=103 x=112 y=96 width=10 height=14 xoffset=-2 yoffset=4 xadvance=6 page=0 chnl=15 +char id=104 x=60 y=81 width=11 height=14 xoffset=-3 yoffset=1 xadvance=5 page=0 chnl=15 +char id=105 x=45 y=127 width=6 height=14 xoffset=-2 yoffset=1 xadvance=2 page=0 chnl=15 +char id=106 x=223 y=17 width=8 height=16 xoffset=-4 yoffset=1 xadvance=2 page=0 chnl=15 +char id=107 x=123 y=96 width=10 height=14 xoffset=-2 yoffset=1 xadvance=5 page=0 chnl=15 +char id=108 x=205 y=126 width=6 height=13 xoffset=-2 yoffset=2 xadvance=2 page=0 chnl=15 +char id=109 x=0 y=156 width=11 height=11 xoffset=-2 yoffset=4 xadvance=7 page=0 chnl=15 +char id=110 x=0 y=168 width=9 height=11 xoffset=-2 yoffset=4 xadvance=5 page=0 chnl=15 +char id=111 x=188 y=152 width=10 height=11 xoffset=-2 yoffset=4 xadvance=6 page=0 chnl=15 +char id=112 x=167 y=35 width=10 height=15 xoffset=-2 yoffset=4 xadvance=6 page=0 chnl=15 +char id=113 x=134 y=35 width=10 height=15 xoffset=-2 yoffset=4 xadvance=6 page=0 chnl=15 +char id=114 x=111 y=152 width=10 height=11 xoffset=-2 yoffset=4 xadvance=5 page=0 chnl=15 +char id=115 x=20 y=167 width=9 height=11 xoffset=-2 yoffset=4 xadvance=5 page=0 chnl=15 +char id=116 x=227 y=126 width=11 height=12 xoffset=-3 yoffset=3 xadvance=5 page=0 chnl=15 +char id=117 x=155 y=152 width=10 height=11 xoffset=-2 yoffset=4 xadvance=6 page=0 chnl=15 +char id=118 x=216 y=139 width=11 height=11 xoffset=-3 yoffset=4 xadvance=5 page=0 chnl=15 +char id=119 x=113 y=140 width=12 height=11 xoffset=-2 yoffset=4 xadvance=8 page=0 chnl=15 +char id=120 x=30 y=167 width=9 height=11 xoffset=-2 yoffset=4 xadvance=5 page=0 chnl=15 +char id=121 x=110 y=35 width=11 height=15 xoffset=-2 yoffset=4 xadvance=6 page=0 chnl=15 +char id=122 x=204 y=140 width=11 height=11 xoffset=-3 yoffset=4 xadvance=5 page=0 chnl=15 +char id=123 x=218 y=35 width=8 height=15 xoffset=-2 yoffset=1 xadvance=3 page=0 chnl=15 +char id=124 x=243 y=33 width=6 height=15 xoffset=-2 yoffset=1 xadvance=2 page=0 chnl=15 +char id=125 x=189 y=35 width=9 height=15 xoffset=-3 yoffset=1 xadvance=3 page=0 chnl=15 +char id=126 x=210 y=164 width=11 height=6 xoffset=-2 yoffset=5 xadvance=7 page=0 chnl=15 +char id=160 x=31 y=179 width=7 height=5 xoffset=-3 yoffset=14 xadvance=4 page=0 chnl=15 +char id=161 x=52 y=127 width=6 height=14 xoffset=-2 yoffset=4 xadvance=2 page=0 chnl=15 +char id=163 x=144 y=81 width=11 height=14 xoffset=-2 yoffset=1 xadvance=7 page=0 chnl=15 +char id=164 x=108 y=66 width=12 height=14 xoffset=-3 yoffset=1 xadvance=7 page=0 chnl=15 +char id=166 x=0 y=52 width=6 height=15 xoffset=-2 yoffset=1 xadvance=2 page=0 chnl=15 +char id=167 x=178 y=35 width=10 height=15 xoffset=-2 yoffset=1 xadvance=5 page=0 chnl=15 +char id=168 x=222 y=163 width=10 height=6 xoffset=-2 yoffset=1 xadvance=6 page=0 chnl=15 +char id=169 x=136 y=51 width=14 height=14 xoffset=-2 yoffset=1 xadvance=9 page=0 chnl=15 +char id=171 x=126 y=140 width=12 height=11 xoffset=-3 yoffset=5 xadvance=7 page=0 chnl=15 +char id=172 x=160 y=164 width=10 height=7 xoffset=-2 yoffset=6 xadvance=6 page=0 chnl=15 +char id=173 x=244 y=163 width=9 height=6 xoffset=-2 yoffset=6 xadvance=4 page=0 chnl=15 +char id=174 x=181 y=51 width=14 height=14 xoffset=-2 yoffset=1 xadvance=9 page=0 chnl=15 +char id=176 x=79 y=164 width=10 height=8 xoffset=-3 yoffset=1 xadvance=4 page=0 chnl=15 +char id=177 x=0 y=143 width=11 height=12 xoffset=-2 yoffset=3 xadvance=6 page=0 chnl=15 +char id=180 x=16 y=180 width=7 height=6 xoffset=0 yoffset=1 xadvance=6 page=0 chnl=15 +char id=181 x=94 y=126 width=12 height=13 xoffset=-4 yoffset=4 xadvance=6 page=0 chnl=15 +char id=182 x=223 y=0 width=13 height=16 xoffset=-2 yoffset=1 xadvance=8 page=0 chnl=15 +char id=183 x=0 y=180 width=7 height=6 xoffset=-2 yoffset=5 xadvance=3 page=0 chnl=15 +char id=187 x=191 y=140 width=12 height=11 xoffset=-2 yoffset=5 xadvance=7 page=0 chnl=15 +char id=191 x=107 y=126 width=11 height=13 xoffset=-3 yoffset=4 xadvance=5 page=0 chnl=15 +char id=192 x=52 y=0 width=13 height=17 xoffset=-3 yoffset=-2 xadvance=7 page=0 chnl=15 +char id=193 x=38 y=0 width=13 height=17 xoffset=-3 yoffset=-2 xadvance=7 page=0 chnl=15 +char id=194 x=237 y=0 width=13 height=16 xoffset=-3 yoffset=-1 xadvance=7 page=0 chnl=15 +char id=196 x=28 y=18 width=13 height=16 xoffset=-3 yoffset=-1 xadvance=7 page=0 chnl=15 +char id=197 x=42 y=18 width=13 height=16 xoffset=-3 yoffset=-1 xadvance=7 page=0 chnl=15 +char id=198 x=25 y=52 width=16 height=14 xoffset=-3 yoffset=1 xadvance=11 page=0 chnl=15 +char id=199 x=12 y=0 width=11 height=18 xoffset=-2 yoffset=1 xadvance=7 page=0 chnl=15 +char id=200 x=182 y=0 width=10 height=17 xoffset=-2 yoffset=-2 xadvance=6 page=0 chnl=15 +char id=201 x=190 y=18 width=10 height=16 xoffset=-2 yoffset=-1 xadvance=6 page=0 chnl=15 +char id=202 x=138 y=0 width=10 height=17 xoffset=-2 yoffset=-2 xadvance=6 page=0 chnl=15 +char id=203 x=149 y=0 width=10 height=17 xoffset=-2 yoffset=-2 xadvance=6 page=0 chnl=15 +char id=205 x=193 y=0 width=9 height=17 xoffset=-2 yoffset=-2 xadvance=4 page=0 chnl=15 +char id=206 x=203 y=0 width=9 height=17 xoffset=-2 yoffset=-2 xadvance=4 page=0 chnl=15 +char id=207 x=160 y=0 width=10 height=17 xoffset=-3 yoffset=-2 xadvance=4 page=0 chnl=15 +char id=209 x=95 y=18 width=11 height=16 xoffset=-2 yoffset=-1 xadvance=7 page=0 chnl=15 +char id=211 x=66 y=0 width=11 height=17 xoffset=-2 yoffset=-2 xadvance=7 page=0 chnl=15 +char id=212 x=126 y=0 width=11 height=17 xoffset=-2 yoffset=-2 xadvance=7 page=0 chnl=15 +char id=214 x=114 y=0 width=11 height=17 xoffset=-2 yoffset=-2 xadvance=7 page=0 chnl=15 +char id=217 x=90 y=0 width=11 height=17 xoffset=-2 yoffset=-2 xadvance=7 page=0 chnl=15 +char id=218 x=167 y=18 width=11 height=16 xoffset=-2 yoffset=-1 xadvance=7 page=0 chnl=15 +char id=219 x=102 y=0 width=11 height=17 xoffset=-2 yoffset=-2 xadvance=7 page=0 chnl=15 +char id=220 x=119 y=18 width=11 height=16 xoffset=-2 yoffset=-1 xadvance=7 page=0 chnl=15 +char id=223 x=186 y=66 width=12 height=14 xoffset=-2 yoffset=1 xadvance=8 page=0 chnl=15 +char id=224 x=145 y=96 width=10 height=14 xoffset=-3 yoffset=1 xadvance=5 page=0 chnl=15 +char id=225 x=156 y=96 width=10 height=14 xoffset=-3 yoffset=1 xadvance=5 page=0 chnl=15 +char id=226 x=167 y=96 width=10 height=14 xoffset=-3 yoffset=1 xadvance=5 page=0 chnl=15 +char id=228 x=178 y=96 width=10 height=14 xoffset=-3 yoffset=1 xadvance=5 page=0 chnl=15 +char id=229 x=189 y=96 width=10 height=14 xoffset=-3 yoffset=1 xadvance=5 page=0 chnl=15 +char id=230 x=85 y=140 width=13 height=11 xoffset=-2 yoffset=4 xadvance=9 page=0 chnl=15 +char id=231 x=200 y=96 width=10 height=14 xoffset=-2 yoffset=4 xadvance=5 page=0 chnl=15 +char id=232 x=211 y=96 width=10 height=14 xoffset=-2 yoffset=1 xadvance=6 page=0 chnl=15 +char id=233 x=222 y=96 width=10 height=14 xoffset=-2 yoffset=1 xadvance=6 page=0 chnl=15 +char id=234 x=233 y=96 width=10 height=14 xoffset=-2 yoffset=1 xadvance=6 page=0 chnl=15 +char id=235 x=244 y=96 width=10 height=14 xoffset=-2 yoffset=1 xadvance=6 page=0 chnl=15 +char id=237 x=30 y=128 width=7 height=14 xoffset=-2 yoffset=1 xadvance=2 page=0 chnl=15 +char id=238 x=247 y=65 width=8 height=14 xoffset=-3 yoffset=1 xadvance=2 page=0 chnl=15 +char id=239 x=10 y=128 width=9 height=14 xoffset=-4 yoffset=1 xadvance=2 page=0 chnl=15 +char id=241 x=220 y=111 width=9 height=14 xoffset=-2 yoffset=1 xadvance=5 page=0 chnl=15 +char id=243 x=0 y=113 width=10 height=14 xoffset=-2 yoffset=1 xadvance=6 page=0 chnl=15 +char id=244 x=11 y=113 width=10 height=14 xoffset=-2 yoffset=1 xadvance=6 page=0 chnl=15 +char id=246 x=22 y=113 width=10 height=14 xoffset=-2 yoffset=1 xadvance=6 page=0 chnl=15 +char id=249 x=176 y=126 width=10 height=13 xoffset=-2 yoffset=2 xadvance=6 page=0 chnl=15 +char id=250 x=165 y=126 width=10 height=13 xoffset=-2 yoffset=2 xadvance=6 page=0 chnl=15 +char id=251 x=33 y=112 width=10 height=14 xoffset=-2 yoffset=1 xadvance=6 page=0 chnl=15 +char id=252 x=44 y=112 width=10 height=14 xoffset=-2 yoffset=1 xadvance=6 page=0 chnl=15 +char id=255 x=0 y=0 width=11 height=18 xoffset=-2 yoffset=1 xadvance=6 page=0 chnl=15 +char id=305 x=47 y=166 width=6 height=11 xoffset=-2 yoffset=4 xadvance=2 page=0 chnl=15 +char id=338 x=74 y=51 width=15 height=14 xoffset=-2 yoffset=1 xadvance=10 page=0 chnl=15 +char id=339 x=42 y=142 width=14 height=11 xoffset=-3 yoffset=4 xadvance=9 page=0 chnl=15 +char id=376 x=131 y=18 width=11 height=16 xoffset=-3 yoffset=-1 xadvance=5 page=0 chnl=15 +char id=1025 x=171 y=0 width=10 height=17 xoffset=-2 yoffset=-2 xadvance=6 page=0 chnl=15 +char id=1026 x=47 y=35 width=12 height=15 xoffset=-3 yoffset=1 xadvance=7 page=0 chnl=15 +char id=1027 x=212 y=18 width=10 height=16 xoffset=-2 yoffset=-1 xadvance=5 page=0 chnl=15 +char id=1028 x=108 y=81 width=11 height=14 xoffset=-2 yoffset=1 xadvance=7 page=0 chnl=15 +char id=1029 x=82 y=66 width=12 height=14 xoffset=-3 yoffset=1 xadvance=6 page=0 chnl=15 +char id=1030 x=240 y=111 width=9 height=14 xoffset=-2 yoffset=1 xadvance=4 page=0 chnl=15 +char id=1031 x=213 y=0 width=9 height=17 xoffset=-2 yoffset=-2 xadvance=4 page=0 chnl=15 +char id=1032 x=55 y=112 width=10 height=14 xoffset=-3 yoffset=1 xadvance=5 page=0 chnl=15 +char id=1033 x=0 y=36 width=17 height=15 xoffset=-4 yoffset=1 xadvance=11 page=0 chnl=15 +char id=1034 x=42 y=51 width=15 height=14 xoffset=-2 yoffset=1 xadvance=10 page=0 chnl=15 +char id=1035 x=14 y=67 width=13 height=14 xoffset=-3 yoffset=1 xadvance=8 page=0 chnl=15 +char id=1036 x=69 y=18 width=12 height=16 xoffset=-2 yoffset=-1 xadvance=7 page=0 chnl=15 +char id=1038 x=241 y=17 width=12 height=15 xoffset=-3 yoffset=0 xadvance=6 page=0 chnl=15 +char id=1039 x=201 y=18 width=10 height=16 xoffset=-2 yoffset=1 xadvance=6 page=0 chnl=15 +char id=1040 x=238 y=50 width=13 height=14 xoffset=-3 yoffset=1 xadvance=7 page=0 chnl=15 +char id=1041 x=66 y=111 width=10 height=14 xoffset=-2 yoffset=1 xadvance=6 page=0 chnl=15 +char id=1042 x=77 y=111 width=10 height=14 xoffset=-2 yoffset=1 xadvance=6 page=0 chnl=15 +char id=1043 x=88 y=111 width=10 height=14 xoffset=-2 yoffset=1 xadvance=5 page=0 chnl=15 +char id=1044 x=14 y=19 width=13 height=16 xoffset=-3 yoffset=1 xadvance=7 page=0 chnl=15 +char id=1045 x=235 y=66 width=11 height=14 xoffset=-2 yoffset=1 xadvance=6 page=0 chnl=15 +char id=1046 x=7 y=52 width=17 height=14 xoffset=-3 yoffset=1 xadvance=11 page=0 chnl=15 +char id=1047 x=0 y=83 width=11 height=14 xoffset=-3 yoffset=1 xadvance=6 page=0 chnl=15 +char id=1048 x=24 y=82 width=11 height=14 xoffset=-2 yoffset=1 xadvance=7 page=0 chnl=15 +char id=1049 x=155 y=18 width=11 height=16 xoffset=-2 yoffset=-1 xadvance=7 page=0 chnl=15 +char id=1050 x=56 y=66 width=12 height=14 xoffset=-2 yoffset=1 xadvance=7 page=0 chnl=15 +char id=1051 x=73 y=35 width=12 height=15 xoffset=-3 yoffset=1 xadvance=7 page=0 chnl=15 +char id=1052 x=90 y=51 width=15 height=14 xoffset=-3 yoffset=1 xadvance=9 page=0 chnl=15 +char id=1053 x=99 y=111 width=10 height=14 xoffset=-2 yoffset=1 xadvance=6 page=0 chnl=15 +char id=1054 x=72 y=81 width=11 height=14 xoffset=-2 yoffset=1 xadvance=7 page=0 chnl=15 +char id=1055 x=110 y=111 width=10 height=14 xoffset=-2 yoffset=1 xadvance=6 page=0 chnl=15 +char id=1056 x=134 y=66 width=12 height=14 xoffset=-3 yoffset=1 xadvance=6 page=0 chnl=15 +char id=1057 x=120 y=81 width=11 height=14 xoffset=-2 yoffset=1 xadvance=7 page=0 chnl=15 +char id=1058 x=84 y=81 width=11 height=14 xoffset=-2 yoffset=1 xadvance=6 page=0 chnl=15 +char id=1059 x=147 y=66 width=12 height=14 xoffset=-3 yoffset=1 xadvance=6 page=0 chnl=15 +char id=1060 x=151 y=51 width=14 height=14 xoffset=-2 yoffset=1 xadvance=10 page=0 chnl=15 +char id=1061 x=224 y=51 width=13 height=14 xoffset=-3 yoffset=1 xadvance=7 page=0 chnl=15 +char id=1062 x=143 y=18 width=11 height=16 xoffset=-2 yoffset=1 xadvance=7 page=0 chnl=15 +char id=1063 x=121 y=111 width=10 height=14 xoffset=-2 yoffset=1 xadvance=6 page=0 chnl=15 +char id=1064 x=69 y=66 width=12 height=14 xoffset=-2 yoffset=1 xadvance=8 page=0 chnl=15 +char id=1065 x=0 y=19 width=13 height=16 xoffset=-2 yoffset=1 xadvance=9 page=0 chnl=15 +char id=1066 x=42 y=66 width=13 height=14 xoffset=-3 yoffset=1 xadvance=8 page=0 chnl=15 +char id=1067 x=28 y=67 width=13 height=14 xoffset=-2 yoffset=1 xadvance=9 page=0 chnl=15 +char id=1068 x=199 y=66 width=11 height=14 xoffset=-2 yoffset=1 xadvance=6 page=0 chnl=15 +char id=1069 x=216 y=81 width=11 height=14 xoffset=-2 yoffset=1 xadvance=7 page=0 chnl=15 +char id=1070 x=210 y=51 width=13 height=14 xoffset=-2 yoffset=1 xadvance=9 page=0 chnl=15 +char id=1071 x=98 y=35 width=11 height=15 xoffset=-3 yoffset=1 xadvance=6 page=0 chnl=15 +char id=1072 x=210 y=152 width=10 height=11 xoffset=-3 yoffset=4 xadvance=5 page=0 chnl=15 +char id=1073 x=156 y=35 width=10 height=15 xoffset=-2 yoffset=0 xadvance=6 page=0 chnl=15 +char id=1074 x=23 y=155 width=10 height=11 xoffset=-2 yoffset=4 xadvance=6 page=0 chnl=15 +char id=1075 x=34 y=155 width=10 height=11 xoffset=-2 yoffset=4 xadvance=5 page=0 chnl=15 +char id=1076 x=95 y=66 width=12 height=14 xoffset=-3 yoffset=4 xadvance=7 page=0 chnl=15 +char id=1077 x=12 y=155 width=10 height=11 xoffset=-2 yoffset=4 xadvance=6 page=0 chnl=15 +char id=1078 x=27 y=143 width=14 height=11 xoffset=-3 yoffset=4 xadvance=8 page=0 chnl=15 +char id=1079 x=242 y=151 width=9 height=11 xoffset=-2 yoffset=4 xadvance=5 page=0 chnl=15 +char id=1080 x=199 y=152 width=10 height=11 xoffset=-2 yoffset=4 xadvance=6 page=0 chnl=15 +char id=1081 x=187 y=126 width=10 height=13 xoffset=-2 yoffset=2 xadvance=6 page=0 chnl=15 +char id=1082 x=45 y=154 width=10 height=11 xoffset=-2 yoffset=4 xadvance=5 page=0 chnl=15 +char id=1083 x=239 y=126 width=11 height=12 xoffset=-3 yoffset=4 xadvance=6 page=0 chnl=15 +char id=1084 x=12 y=143 width=14 height=11 xoffset=-3 yoffset=4 xadvance=8 page=0 chnl=15 +char id=1085 x=89 y=152 width=10 height=11 xoffset=-2 yoffset=4 xadvance=6 page=0 chnl=15 +char id=1086 x=144 y=152 width=10 height=11 xoffset=-2 yoffset=4 xadvance=6 page=0 chnl=15 +char id=1087 x=177 y=152 width=10 height=11 xoffset=-2 yoffset=4 xadvance=6 page=0 chnl=15 +char id=1088 x=145 y=35 width=10 height=15 xoffset=-2 yoffset=4 xadvance=6 page=0 chnl=15 +char id=1089 x=100 y=152 width=10 height=11 xoffset=-2 yoffset=4 xadvance=5 page=0 chnl=15 +char id=1090 x=139 y=140 width=12 height=11 xoffset=-3 yoffset=4 xadvance=6 page=0 chnl=15 +char id=1091 x=86 y=35 width=11 height=15 xoffset=-2 yoffset=4 xadvance=6 page=0 chnl=15 +char id=1092 x=24 y=0 width=13 height=17 xoffset=-3 yoffset=2 xadvance=7 page=0 chnl=15 +char id=1093 x=232 y=151 width=9 height=11 xoffset=-2 yoffset=4 xadvance=5 page=0 chnl=15 +char id=1094 x=131 y=126 width=11 height=13 xoffset=-2 yoffset=4 xadvance=6 page=0 chnl=15 +char id=1095 x=56 y=154 width=10 height=11 xoffset=-3 yoffset=4 xadvance=5 page=0 chnl=15 +char id=1096 x=152 y=140 width=12 height=11 xoffset=-2 yoffset=4 xadvance=8 page=0 chnl=15 +char id=1097 x=66 y=126 width=13 height=13 xoffset=-2 yoffset=4 xadvance=8 page=0 chnl=15 +char id=1098 x=240 y=139 width=11 height=11 xoffset=-2 yoffset=4 xadvance=7 page=0 chnl=15 +char id=1099 x=228 y=139 width=11 height=11 xoffset=-2 yoffset=4 xadvance=7 page=0 chnl=15 +char id=1100 x=221 y=151 width=10 height=11 xoffset=-2 yoffset=4 xadvance=5 page=0 chnl=15 +char id=1101 x=78 y=152 width=10 height=11 xoffset=-3 yoffset=4 xadvance=5 page=0 chnl=15 +char id=1102 x=178 y=140 width=12 height=11 xoffset=-2 yoffset=4 xadvance=8 page=0 chnl=15 +char id=1103 x=119 y=126 width=11 height=13 xoffset=-3 yoffset=4 xadvance=6 page=0 chnl=15 +char id=1105 x=132 y=111 width=10 height=14 xoffset=-2 yoffset=1 xadvance=6 page=0 chnl=15 +char id=1106 x=34 y=35 width=12 height=15 xoffset=-3 yoffset=1 xadvance=7 page=0 chnl=15 +char id=1107 x=154 y=111 width=10 height=14 xoffset=-2 yoffset=1 xadvance=5 page=0 chnl=15 +char id=1108 x=122 y=152 width=10 height=11 xoffset=-2 yoffset=4 xadvance=5 page=0 chnl=15 +char id=1109 x=10 y=168 width=9 height=11 xoffset=-2 yoffset=4 xadvance=5 page=0 chnl=15 +char id=1110 x=59 y=127 width=6 height=14 xoffset=-2 yoffset=1 xadvance=2 page=0 chnl=15 +char id=1111 x=230 y=111 width=9 height=14 xoffset=-3 yoffset=1 xadvance=3 page=0 chnl=15 +char id=1112 x=232 y=17 width=8 height=16 xoffset=-4 yoffset=1 xadvance=2 page=0 chnl=15 +char id=1113 x=212 y=126 width=14 height=12 xoffset=-3 yoffset=4 xadvance=9 page=0 chnl=15 +char id=1114 x=99 y=140 width=13 height=11 xoffset=-2 yoffset=4 xadvance=9 page=0 chnl=15 +char id=1115 x=240 y=81 width=11 height=14 xoffset=-2 yoffset=1 xadvance=7 page=0 chnl=15 +char id=1116 x=187 y=111 width=10 height=14 xoffset=-2 yoffset=1 xadvance=5 page=0 chnl=15 +char id=1118 x=78 y=0 width=11 height=17 xoffset=-2 yoffset=2 xadvance=6 page=0 chnl=15 +char id=1119 x=143 y=126 width=10 height=13 xoffset=-2 yoffset=4 xadvance=6 page=0 chnl=15 +char id=1168 x=179 y=18 width=10 height=16 xoffset=-2 yoffset=-1 xadvance=5 page=0 chnl=15 +char id=1169 x=154 y=126 width=10 height=13 xoffset=-2 yoffset=2 xadvance=5 page=0 chnl=15 +char id=8216 x=146 y=164 width=6 height=8 xoffset=-2 yoffset=1 xadvance=2 page=0 chnl=15 +char id=8217 x=153 y=164 width=6 height=8 xoffset=-2 yoffset=1 xadvance=2 page=0 chnl=15 +char id=8218 x=131 y=164 width=7 height=8 xoffset=-2 yoffset=9 xadvance=3 page=0 chnl=15 +char id=8220 x=101 y=164 width=9 height=8 xoffset=-2 yoffset=1 xadvance=5 page=0 chnl=15 +char id=8221 x=111 y=164 width=9 height=8 xoffset=-2 yoffset=1 xadvance=5 page=0 chnl=15 +char id=8222 x=121 y=164 width=9 height=8 xoffset=-2 yoffset=9 xadvance=5 page=0 chnl=15 +char id=8226 x=180 y=164 width=8 height=7 xoffset=-2 yoffset=5 xadvance=4 page=0 chnl=15 diff --git a/gfx/fonts/neucha_16.dds b/gfx/fonts/neucha_16.dds new file mode 100644 index 000000000..d6e7a3a36 Binary files /dev/null and b/gfx/fonts/neucha_16.dds differ diff --git a/gfx/fonts/neucha_16.fnt b/gfx/fonts/neucha_16.fnt new file mode 100644 index 000000000..bd52c8832 --- /dev/null +++ b/gfx/fonts/neucha_16.fnt @@ -0,0 +1,270 @@ +info face="Neucha" size=-16 bold=0 italic=0 charset="" unicode=1 stretchH=100 smooth=1 aa=1 padding=0,0,0,0 spacing=1,1 outline=2 +common lineHeight=21 base=16 scaleW=256 scaleH=256 pages=1 packed=0 alphaChnl=0 redChnl=4 greenChnl=4 blueChnl=4 +page id=0 file="neucha_16_0.dds" +chars count=266 +char id=32 x=88 y=219 width=7 height=5 xoffset=-3 yoffset=18 xadvance=4 page=0 chnl=15 +char id=33 x=115 y=144 width=7 height=16 xoffset=-2 yoffset=2 xadvance=3 page=0 chnl=15 +char id=34 x=233 y=198 width=8 height=7 xoffset=-2 yoffset=2 xadvance=4 page=0 chnl=15 +char id=35 x=205 y=57 width=16 height=16 xoffset=-3 yoffset=2 xadvance=10 page=0 chnl=15 +char id=36 x=159 y=20 width=13 height=18 xoffset=-3 yoffset=1 xadvance=7 page=0 chnl=15 +char id=37 x=222 y=57 width=16 height=16 xoffset=-3 yoffset=2 xadvance=11 page=0 chnl=15 +char id=38 x=138 y=144 width=14 height=15 xoffset=-2 yoffset=3 xadvance=9 page=0 chnl=15 +char id=39 x=249 y=100 width=6 height=7 xoffset=-2 yoffset=2 xadvance=2 page=0 chnl=15 +char id=40 x=88 y=40 width=8 height=18 xoffset=-2 yoffset=2 xadvance=3 page=0 chnl=15 +char id=41 x=97 y=40 width=7 height=18 xoffset=-2 yoffset=2 xadvance=3 page=0 chnl=15 +char id=42 x=141 y=202 width=11 height=9 xoffset=-3 yoffset=2 xadvance=6 page=0 chnl=15 +char id=43 x=204 y=172 width=13 height=12 xoffset=-3 yoffset=5 xadvance=7 page=0 chnl=15 +char id=44 x=196 y=200 width=7 height=8 xoffset=-2 yoffset=12 xadvance=3 page=0 chnl=15 +char id=45 x=30 y=220 width=11 height=6 xoffset=-2 yoffset=8 xadvance=7 page=0 chnl=15 +char id=46 x=64 y=220 width=7 height=6 xoffset=-2 yoffset=12 xadvance=2 page=0 chnl=15 +char id=47 x=190 y=0 width=13 height=19 xoffset=-3 yoffset=1 xadvance=7 page=0 chnl=15 +char id=48 x=78 y=112 width=12 height=16 xoffset=-2 yoffset=2 xadvance=8 page=0 chnl=15 +char id=49 x=185 y=125 width=11 height=16 xoffset=-3 yoffset=2 xadvance=6 page=0 chnl=15 +char id=50 x=169 y=109 width=12 height=16 xoffset=-3 yoffset=2 xadvance=6 page=0 chnl=15 +char id=51 x=197 y=125 width=11 height=16 xoffset=-3 yoffset=2 xadvance=6 page=0 chnl=15 +char id=52 x=117 y=110 width=12 height=16 xoffset=-3 yoffset=2 xadvance=7 page=0 chnl=15 +char id=53 x=209 y=125 width=11 height=16 xoffset=-2 yoffset=2 xadvance=7 page=0 chnl=15 +char id=54 x=221 y=125 width=11 height=16 xoffset=-2 yoffset=2 xadvance=7 page=0 chnl=15 +char id=55 x=0 y=61 width=12 height=17 xoffset=-3 yoffset=1 xadvance=6 page=0 chnl=15 +char id=56 x=39 y=130 width=12 height=16 xoffset=-2 yoffset=2 xadvance=8 page=0 chnl=15 +char id=57 x=233 y=125 width=11 height=16 xoffset=-2 yoffset=2 xadvance=7 page=0 chnl=15 +char id=58 x=92 y=205 width=7 height=12 xoffset=-2 yoffset=6 xadvance=2 page=0 chnl=15 +char id=59 x=192 y=159 width=7 height=14 xoffset=-2 yoffset=6 xadvance=3 page=0 chnl=15 +char id=60 x=233 y=158 width=15 height=13 xoffset=-3 yoffset=5 xadvance=9 page=0 chnl=15 +char id=61 x=100 y=205 width=14 height=10 xoffset=-2 yoffset=5 xadvance=10 page=0 chnl=15 +char id=62 x=217 y=158 width=15 height=13 xoffset=-3 yoffset=5 xadvance=9 page=0 chnl=15 +char id=63 x=104 y=110 width=12 height=16 xoffset=-3 yoffset=2 xadvance=6 page=0 chnl=15 +char id=64 x=134 y=40 width=17 height=17 xoffset=-2 yoffset=2 xadvance=13 page=0 chnl=15 +char id=65 x=128 y=75 width=14 height=16 xoffset=-3 yoffset=2 xadvance=8 page=0 chnl=15 +char id=66 x=52 y=113 width=12 height=16 xoffset=-2 yoffset=2 xadvance=7 page=0 chnl=15 +char id=67 x=126 y=93 width=13 height=16 xoffset=-2 yoffset=2 xadvance=8 page=0 chnl=15 +char id=68 x=112 y=93 width=13 height=16 xoffset=-2 yoffset=2 xadvance=9 page=0 chnl=15 +char id=69 x=0 y=147 width=11 height=16 xoffset=-2 yoffset=2 xadvance=7 page=0 chnl=15 +char id=70 x=13 y=113 width=12 height=16 xoffset=-2 yoffset=2 xadvance=7 page=0 chnl=15 +char id=71 x=56 y=95 width=13 height=16 xoffset=-2 yoffset=2 xadvance=9 page=0 chnl=15 +char id=72 x=12 y=147 width=11 height=16 xoffset=-2 yoffset=2 xadvance=7 page=0 chnl=15 +char id=73 x=96 y=146 width=10 height=16 xoffset=-2 yoffset=2 xadvance=5 page=0 chnl=15 +char id=74 x=24 y=147 width=11 height=16 xoffset=-3 yoffset=2 xadvance=6 page=0 chnl=15 +char id=75 x=156 y=109 width=12 height=16 xoffset=-2 yoffset=2 xadvance=7 page=0 chnl=15 +char id=76 x=39 y=113 width=12 height=16 xoffset=-2 yoffset=2 xadvance=8 page=0 chnl=15 +char id=77 x=169 y=57 width=17 height=16 xoffset=-3 yoffset=2 xadvance=11 page=0 chnl=15 +char id=78 x=42 y=96 width=13 height=16 xoffset=-2 yoffset=2 xadvance=9 page=0 chnl=15 +char id=79 x=0 y=113 width=12 height=16 xoffset=-2 yoffset=2 xadvance=8 page=0 chnl=15 +char id=80 x=26 y=113 width=12 height=16 xoffset=-2 yoffset=2 xadvance=8 page=0 chnl=15 +char id=81 x=13 y=22 width=12 height=19 xoffset=-2 yoffset=2 xadvance=8 page=0 chnl=15 +char id=82 x=182 y=39 width=13 height=17 xoffset=-2 yoffset=2 xadvance=8 page=0 chnl=15 +char id=83 x=28 y=96 width=13 height=16 xoffset=-3 yoffset=2 xadvance=7 page=0 chnl=15 +char id=84 x=230 y=74 width=13 height=16 xoffset=-3 yoffset=2 xadvance=7 page=0 chnl=15 +char id=85 x=13 y=130 width=12 height=16 xoffset=-2 yoffset=2 xadvance=8 page=0 chnl=15 +char id=86 x=208 y=108 width=12 height=16 xoffset=-2 yoffset=2 xadvance=7 page=0 chnl=15 +char id=87 x=82 y=78 width=15 height=16 xoffset=-2 yoffset=2 xadvance=11 page=0 chnl=15 +char id=88 x=158 y=75 width=14 height=16 xoffset=-2 yoffset=2 xadvance=9 page=0 chnl=15 +char id=89 x=216 y=74 width=13 height=16 xoffset=-3 yoffset=2 xadvance=7 page=0 chnl=15 +char id=90 x=202 y=74 width=13 height=16 xoffset=-3 yoffset=2 xadvance=7 page=0 chnl=15 +char id=91 x=68 y=41 width=9 height=18 xoffset=-2 yoffset=1 xadvance=4 page=0 chnl=15 +char id=92 x=145 y=0 width=14 height=19 xoffset=-3 yoffset=1 xadvance=8 page=0 chnl=15 +char id=93 x=78 y=41 width=9 height=18 xoffset=-3 yoffset=1 xadvance=4 page=0 chnl=15 +char id=94 x=115 y=205 width=13 height=10 xoffset=-3 yoffset=2 xadvance=7 page=0 chnl=15 +char id=95 x=0 y=220 width=15 height=6 xoffset=-3 yoffset=12 xadvance=9 page=0 chnl=15 +char id=96 x=242 y=198 width=8 height=7 xoffset=0 yoffset=2 xadvance=8 page=0 chnl=15 +char id=97 x=192 y=187 width=11 height=12 xoffset=-3 yoffset=6 xadvance=6 page=0 chnl=15 +char id=98 x=244 y=74 width=11 height=16 xoffset=-2 yoffset=2 xadvance=7 page=0 chnl=15 +char id=99 x=180 y=187 width=11 height=12 xoffset=-2 yoffset=6 xadvance=6 page=0 chnl=15 +char id=100 x=36 y=147 width=11 height=16 xoffset=-2 yoffset=2 xadvance=7 page=0 chnl=15 +char id=101 x=95 y=192 width=12 height=12 xoffset=-2 yoffset=6 xadvance=7 page=0 chnl=15 +char id=102 x=75 y=60 width=10 height=17 xoffset=-2 yoffset=2 xadvance=5 page=0 chnl=15 +char id=103 x=48 y=147 width=11 height=16 xoffset=-2 yoffset=6 xadvance=7 page=0 chnl=15 +char id=104 x=60 y=147 width=11 height=16 xoffset=-2 yoffset=2 xadvance=7 page=0 chnl=15 +char id=105 x=85 y=163 width=7 height=15 xoffset=-2 yoffset=3 xadvance=3 page=0 chnl=15 +char id=106 x=48 y=41 width=9 height=18 xoffset=-4 yoffset=3 xadvance=3 page=0 chnl=15 +char id=107 x=72 y=146 width=11 height=16 xoffset=-2 yoffset=2 xadvance=6 page=0 chnl=15 +char id=108 x=77 y=163 width=7 height=15 xoffset=-2 yoffset=3 xadvance=3 page=0 chnl=15 +char id=109 x=28 y=194 width=13 height=12 xoffset=-2 yoffset=6 xadvance=9 page=0 chnl=15 +char id=110 x=59 y=207 width=10 height=12 xoffset=-2 yoffset=6 xadvance=6 page=0 chnl=15 +char id=111 x=156 y=188 width=11 height=12 xoffset=-2 yoffset=6 xadvance=7 page=0 chnl=15 +char id=112 x=51 y=60 width=11 height=17 xoffset=-2 yoffset=6 xadvance=7 page=0 chnl=15 +char id=113 x=84 y=146 width=11 height=16 xoffset=-2 yoffset=6 xadvance=7 page=0 chnl=15 +char id=114 x=144 y=188 width=11 height=12 xoffset=-2 yoffset=6 xadvance=6 page=0 chnl=15 +char id=115 x=70 y=206 width=10 height=12 xoffset=-2 yoffset=6 xadvance=6 page=0 chnl=15 +char id=116 x=143 y=160 width=12 height=14 xoffset=-3 yoffset=4 xadvance=6 page=0 chnl=15 +char id=117 x=132 y=189 width=11 height=12 xoffset=-2 yoffset=6 xadvance=7 page=0 chnl=15 +char id=118 x=82 y=192 width=12 height=12 xoffset=-3 yoffset=6 xadvance=6 page=0 chnl=15 +char id=119 x=144 y=175 width=15 height=12 xoffset=-3 yoffset=6 xadvance=9 page=0 chnl=15 +char id=120 x=14 y=180 width=11 height=13 xoffset=-2 yoffset=6 xadvance=6 page=0 chnl=15 +char id=121 x=13 y=61 width=12 height=17 xoffset=-2 yoffset=6 xadvance=7 page=0 chnl=15 +char id=122 x=42 y=194 width=13 height=12 xoffset=-3 yoffset=6 xadvance=7 page=0 chnl=15 +char id=123 x=72 y=21 width=9 height=19 xoffset=-2 yoffset=1 xadvance=4 page=0 chnl=15 +char id=124 x=105 y=40 width=7 height=18 xoffset=-2 yoffset=2 xadvance=3 page=0 chnl=15 +char id=125 x=61 y=21 width=10 height=19 xoffset=-3 yoffset=1 xadvance=4 page=0 chnl=15 +char id=126 x=16 y=220 width=13 height=6 xoffset=-2 yoffset=7 xadvance=8 page=0 chnl=15 +char id=160 x=80 y=219 width=7 height=5 xoffset=-3 yoffset=18 xadvance=4 page=0 chnl=15 +char id=161 x=107 y=146 width=7 height=16 xoffset=-2 yoffset=5 xadvance=3 page=0 chnl=15 +char id=163 x=70 y=95 width=13 height=16 xoffset=-2 yoffset=2 xadvance=9 page=0 chnl=15 +char id=164 x=84 y=95 width=13 height=16 xoffset=-2 yoffset=2 xadvance=9 page=0 chnl=15 +char id=166 x=86 y=60 width=7 height=17 xoffset=-2 yoffset=2 xadvance=3 page=0 chnl=15 +char id=167 x=39 y=60 width=11 height=17 xoffset=-2 yoffset=2 xadvance=6 page=0 chnl=15 +char id=168 x=42 y=220 width=10 height=6 xoffset=-1 yoffset=3 xadvance=8 page=0 chnl=15 +char id=169 x=17 y=79 width=16 height=16 xoffset=-2 yoffset=2 xadvance=11 page=0 chnl=15 +char id=171 x=160 y=174 width=14 height=12 xoffset=-3 yoffset=6 xadvance=8 page=0 chnl=15 +char id=172 x=212 y=198 width=11 height=7 xoffset=-2 yoffset=8 xadvance=7 page=0 chnl=15 +char id=173 x=53 y=220 width=10 height=6 xoffset=-2 yoffset=8 xadvance=5 page=0 chnl=15 +char id=174 x=0 y=79 width=16 height=16 xoffset=-2 yoffset=2 xadvance=11 page=0 chnl=15 +char id=176 x=129 y=204 width=11 height=9 xoffset=-3 yoffset=2 xadvance=5 page=0 chnl=15 +char id=177 x=56 y=194 width=12 height=12 xoffset=-2 yoffset=5 xadvance=8 page=0 chnl=15 +char id=180 x=224 y=198 width=8 height=7 xoffset=0 yoffset=2 xadvance=8 page=0 chnl=15 +char id=181 x=123 y=144 width=14 height=15 xoffset=-4 yoffset=6 xadvance=8 page=0 chnl=15 +char id=182 x=98 y=21 width=15 height=18 xoffset=-2 yoffset=2 xadvance=10 page=0 chnl=15 +char id=183 x=72 y=219 width=7 height=6 xoffset=-2 yoffset=7 xadvance=3 page=0 chnl=15 +char id=187 x=175 y=174 width=14 height=12 xoffset=-3 yoffset=6 xadvance=8 page=0 chnl=15 +char id=191 x=182 y=108 width=12 height=16 xoffset=-3 yoffset=5 xadvance=6 page=0 chnl=15 +char id=192 x=14 y=0 width=14 height=20 xoffset=-3 yoffset=-2 xadvance=8 page=0 chnl=15 +char id=193 x=175 y=0 width=14 height=19 xoffset=-3 yoffset=-1 xadvance=8 page=0 chnl=15 +char id=194 x=130 y=0 width=14 height=19 xoffset=-3 yoffset=-1 xadvance=8 page=0 chnl=15 +char id=196 x=144 y=20 width=14 height=18 xoffset=-3 yoffset=0 xadvance=8 page=0 chnl=15 +char id=197 x=129 y=21 width=14 height=18 xoffset=-3 yoffset=0 xadvance=8 page=0 chnl=15 +char id=198 x=114 y=58 width=18 height=16 xoffset=-3 yoffset=2 xadvance=13 page=0 chnl=15 +char id=199 x=0 y=0 width=13 height=21 xoffset=-2 yoffset=2 xadvance=8 page=0 chnl=15 +char id=200 x=106 y=0 width=11 height=20 xoffset=-2 yoffset=-2 xadvance=7 page=0 chnl=15 +char id=201 x=42 y=0 width=12 height=20 xoffset=-2 yoffset=-1 xadvance=7 page=0 chnl=15 +char id=202 x=94 y=0 width=11 height=20 xoffset=-2 yoffset=-2 xadvance=7 page=0 chnl=15 +char id=203 x=26 y=21 width=11 height=19 xoffset=-2 yoffset=-1 xadvance=7 page=0 chnl=15 +char id=205 x=50 y=21 width=10 height=19 xoffset=-2 yoffset=-1 xadvance=5 page=0 chnl=15 +char id=206 x=118 y=0 width=11 height=20 xoffset=-3 yoffset=-2 xadvance=5 page=0 chnl=15 +char id=207 x=25 y=42 width=11 height=18 xoffset=-3 yoffset=0 xadvance=5 page=0 chnl=15 +char id=209 x=215 y=20 width=13 height=18 xoffset=-2 yoffset=0 xadvance=9 page=0 chnl=15 +char id=211 x=68 y=0 width=12 height=20 xoffset=-2 yoffset=-2 xadvance=8 page=0 chnl=15 +char id=212 x=55 y=0 width=12 height=20 xoffset=-2 yoffset=-2 xadvance=8 page=0 chnl=15 +char id=214 x=217 y=0 width=12 height=19 xoffset=-2 yoffset=-1 xadvance=8 page=0 chnl=15 +char id=217 x=0 y=22 width=12 height=19 xoffset=-2 yoffset=-1 xadvance=8 page=0 chnl=15 +char id=218 x=243 y=0 width=12 height=19 xoffset=-2 yoffset=-1 xadvance=8 page=0 chnl=15 +char id=219 x=29 y=0 width=12 height=20 xoffset=-2 yoffset=-2 xadvance=8 page=0 chnl=15 +char id=220 x=0 y=42 width=12 height=18 xoffset=-2 yoffset=0 xadvance=8 page=0 chnl=15 +char id=223 x=98 y=93 width=13 height=16 xoffset=-2 yoffset=2 xadvance=9 page=0 chnl=15 +char id=224 x=65 y=129 width=11 height=16 xoffset=-3 yoffset=2 xadvance=6 page=0 chnl=15 +char id=225 x=77 y=129 width=11 height=16 xoffset=-3 yoffset=2 xadvance=6 page=0 chnl=15 +char id=226 x=89 y=129 width=11 height=16 xoffset=-3 yoffset=2 xadvance=6 page=0 chnl=15 +char id=228 x=218 y=142 width=11 height=15 xoffset=-3 yoffset=3 xadvance=6 page=0 chnl=15 +char id=229 x=230 y=142 width=11 height=15 xoffset=-3 yoffset=3 xadvance=6 page=0 chnl=15 +char id=230 x=112 y=178 width=15 height=12 xoffset=-2 yoffset=6 xadvance=11 page=0 chnl=15 +char id=231 x=101 y=129 width=11 height=16 xoffset=-2 yoffset=6 xadvance=6 page=0 chnl=15 +char id=232 x=236 y=91 width=12 height=16 xoffset=-2 yoffset=2 xadvance=7 page=0 chnl=15 +char id=233 x=223 y=91 width=12 height=16 xoffset=-2 yoffset=2 xadvance=7 page=0 chnl=15 +char id=234 x=26 y=130 width=12 height=16 xoffset=-2 yoffset=2 xadvance=7 page=0 chnl=15 +char id=235 x=181 y=143 width=12 height=15 xoffset=-2 yoffset=3 xadvance=7 page=0 chnl=15 +char id=237 x=247 y=108 width=8 height=16 xoffset=-2 yoffset=2 xadvance=3 page=0 chnl=15 +char id=238 x=47 y=164 width=9 height=15 xoffset=-3 yoffset=3 xadvance=3 page=0 chnl=15 +char id=239 x=67 y=164 width=9 height=15 xoffset=-3 yoffset=3 xadvance=3 page=0 chnl=15 +char id=241 x=36 y=164 width=10 height=15 xoffset=-2 yoffset=3 xadvance=6 page=0 chnl=15 +char id=243 x=113 y=127 width=11 height=16 xoffset=-2 yoffset=2 xadvance=7 page=0 chnl=15 +char id=244 x=125 y=127 width=11 height=16 xoffset=-2 yoffset=2 xadvance=7 page=0 chnl=15 +char id=246 x=12 y=164 width=11 height=15 xoffset=-2 yoffset=3 xadvance=7 page=0 chnl=15 +char id=249 x=24 y=164 width=11 height=15 xoffset=-2 yoffset=3 xadvance=7 page=0 chnl=15 +char id=250 x=206 y=142 width=11 height=15 xoffset=-2 yoffset=3 xadvance=7 page=0 chnl=15 +char id=251 x=137 y=127 width=11 height=16 xoffset=-2 yoffset=2 xadvance=7 page=0 chnl=15 +char id=252 x=194 y=142 width=11 height=15 xoffset=-2 yoffset=3 xadvance=7 page=0 chnl=15 +char id=255 x=81 y=0 width=12 height=20 xoffset=-2 yoffset=3 xadvance=7 page=0 chnl=15 +char id=305 x=246 y=172 width=7 height=12 xoffset=-2 yoffset=6 xadvance=3 page=0 chnl=15 +char id=338 x=187 y=57 width=17 height=16 xoffset=-2 yoffset=2 xadvance=13 page=0 chnl=15 +char id=339 x=62 y=180 width=16 height=12 xoffset=-3 yoffset=6 xadvance=11 page=0 chnl=15 +char id=376 x=173 y=20 width=13 height=18 xoffset=-3 yoffset=0 xadvance=7 page=0 chnl=15 +char id=1025 x=38 y=21 width=11 height=19 xoffset=-2 yoffset=-1 xadvance=7 page=0 chnl=15 +char id=1026 x=167 y=39 width=14 height=17 xoffset=-3 yoffset=2 xadvance=9 page=0 chnl=15 +char id=1027 x=242 y=20 width=12 height=18 xoffset=-2 yoffset=0 xadvance=7 page=0 chnl=15 +char id=1028 x=14 y=96 width=13 height=16 xoffset=-2 yoffset=2 xadvance=8 page=0 chnl=15 +char id=1029 x=0 y=96 width=13 height=16 xoffset=-3 yoffset=2 xadvance=7 page=0 chnl=15 +char id=1030 x=245 y=125 width=10 height=16 xoffset=-2 yoffset=2 xadvance=5 page=0 chnl=15 +char id=1031 x=37 y=41 width=10 height=18 xoffset=-2 yoffset=0 xadvance=5 page=0 chnl=15 +char id=1032 x=149 y=126 width=11 height=16 xoffset=-3 yoffset=2 xadvance=6 page=0 chnl=15 +char id=1033 x=113 y=40 width=20 height=17 xoffset=-4 yoffset=2 xadvance=13 page=0 chnl=15 +char id=1034 x=133 y=58 width=17 height=16 xoffset=-2 yoffset=2 xadvance=13 page=0 chnl=15 +char id=1035 x=173 y=74 width=14 height=16 xoffset=-3 yoffset=2 xadvance=9 page=0 chnl=15 +char id=1036 x=187 y=20 width=13 height=18 xoffset=-2 yoffset=0 xadvance=8 page=0 chnl=15 +char id=1038 x=196 y=39 width=13 height=17 xoffset=-2 yoffset=1 xadvance=8 page=0 chnl=15 +char id=1039 x=230 y=0 width=12 height=19 xoffset=-2 yoffset=2 xadvance=8 page=0 chnl=15 +char id=1040 x=143 y=75 width=14 height=16 xoffset=-3 yoffset=2 xadvance=8 page=0 chnl=15 +char id=1041 x=221 y=108 width=12 height=16 xoffset=-2 yoffset=2 xadvance=7 page=0 chnl=15 +char id=1042 x=210 y=91 width=12 height=16 xoffset=-2 yoffset=2 xadvance=7 page=0 chnl=15 +char id=1043 x=65 y=112 width=12 height=16 xoffset=-2 yoffset=2 xadvance=7 page=0 chnl=15 +char id=1044 x=114 y=21 width=14 height=18 xoffset=-3 yoffset=2 xadvance=9 page=0 chnl=15 +char id=1045 x=52 y=130 width=12 height=16 xoffset=-2 yoffset=2 xadvance=7 page=0 chnl=15 +char id=1046 x=94 y=59 width=19 height=16 xoffset=-3 yoffset=2 xadvance=13 page=0 chnl=15 +char id=1047 x=0 y=130 width=12 height=16 xoffset=-3 yoffset=2 xadvance=7 page=0 chnl=15 +char id=1048 x=91 y=112 width=12 height=16 xoffset=-2 yoffset=2 xadvance=8 page=0 chnl=15 +char id=1049 x=238 y=39 width=12 height=17 xoffset=-2 yoffset=1 xadvance=8 page=0 chnl=15 +char id=1050 x=188 y=74 width=13 height=16 xoffset=-2 yoffset=2 xadvance=8 page=0 chnl=15 +char id=1051 x=152 y=39 width=14 height=17 xoffset=-4 yoffset=2 xadvance=8 page=0 chnl=15 +char id=1052 x=151 y=58 width=17 height=16 xoffset=-3 yoffset=2 xadvance=11 page=0 chnl=15 +char id=1053 x=161 y=126 width=11 height=16 xoffset=-2 yoffset=2 xadvance=7 page=0 chnl=15 +char id=1054 x=130 y=110 width=12 height=16 xoffset=-2 yoffset=2 xadvance=8 page=0 chnl=15 +char id=1055 x=195 y=108 width=12 height=16 xoffset=-2 yoffset=2 xadvance=8 page=0 chnl=15 +char id=1056 x=234 y=108 width=12 height=16 xoffset=-2 yoffset=2 xadvance=8 page=0 chnl=15 +char id=1057 x=182 y=91 width=13 height=16 xoffset=-2 yoffset=2 xadvance=8 page=0 chnl=15 +char id=1058 x=168 y=92 width=13 height=16 xoffset=-3 yoffset=2 xadvance=7 page=0 chnl=15 +char id=1059 x=154 y=92 width=13 height=16 xoffset=-2 yoffset=2 xadvance=8 page=0 chnl=15 +char id=1060 x=239 y=57 width=16 height=16 xoffset=-2 yoffset=2 xadvance=12 page=0 chnl=15 +char id=1061 x=113 y=76 width=14 height=16 xoffset=-2 yoffset=2 xadvance=9 page=0 chnl=15 +char id=1062 x=201 y=20 width=13 height=18 xoffset=-2 yoffset=2 xadvance=8 page=0 chnl=15 +char id=1063 x=173 y=126 width=11 height=16 xoffset=-2 yoffset=2 xadvance=7 page=0 chnl=15 +char id=1064 x=98 y=76 width=14 height=16 xoffset=-2 yoffset=2 xadvance=10 page=0 chnl=15 +char id=1065 x=82 y=21 width=15 height=18 xoffset=-2 yoffset=2 xadvance=11 page=0 chnl=15 +char id=1066 x=34 y=79 width=15 height=16 xoffset=-3 yoffset=2 xadvance=9 page=0 chnl=15 +char id=1067 x=50 y=78 width=15 height=16 xoffset=-2 yoffset=2 xadvance=11 page=0 chnl=15 +char id=1068 x=143 y=109 width=12 height=16 xoffset=-2 yoffset=2 xadvance=8 page=0 chnl=15 +char id=1069 x=140 y=92 width=13 height=16 xoffset=-3 yoffset=2 xadvance=8 page=0 chnl=15 +char id=1070 x=66 y=78 width=15 height=16 xoffset=-2 yoffset=2 xadvance=11 page=0 chnl=15 +char id=1071 x=210 y=39 width=13 height=17 xoffset=-3 yoffset=2 xadvance=8 page=0 chnl=15 +char id=1072 x=204 y=185 width=11 height=12 xoffset=-3 yoffset=6 xadvance=6 page=0 chnl=15 +char id=1073 x=13 y=42 width=11 height=18 xoffset=-2 yoffset=0 xadvance=7 page=0 chnl=15 +char id=1074 x=216 y=185 width=11 height=12 xoffset=-2 yoffset=6 xadvance=7 page=0 chnl=15 +char id=1075 x=240 y=185 width=11 height=12 xoffset=-2 yoffset=6 xadvance=6 page=0 chnl=15 +char id=1076 x=153 y=143 width=14 height=15 xoffset=-3 yoffset=6 xadvance=8 page=0 chnl=15 +char id=1077 x=69 y=193 width=12 height=12 xoffset=-2 yoffset=6 xadvance=7 page=0 chnl=15 +char id=1078 x=79 y=179 width=16 height=12 xoffset=-3 yoffset=6 xadvance=10 page=0 chnl=15 +char id=1079 x=48 y=207 width=10 height=12 xoffset=-2 yoffset=6 xadvance=6 page=0 chnl=15 +char id=1080 x=0 y=207 width=11 height=12 xoffset=-2 yoffset=6 xadvance=7 page=0 chnl=15 +char id=1081 x=156 y=159 width=11 height=14 xoffset=-2 yoffset=4 xadvance=7 page=0 chnl=15 +char id=1082 x=12 y=207 width=11 height=12 xoffset=-2 yoffset=6 xadvance=6 page=0 chnl=15 +char id=1083 x=0 y=180 width=13 height=13 xoffset=-4 yoffset=6 xadvance=7 page=0 chnl=15 +char id=1084 x=96 y=179 width=15 height=12 xoffset=-3 yoffset=6 xadvance=9 page=0 chnl=15 +char id=1085 x=50 y=180 width=11 height=13 xoffset=-2 yoffset=6 xadvance=7 page=0 chnl=15 +char id=1086 x=24 y=207 width=11 height=12 xoffset=-2 yoffset=6 xadvance=7 page=0 chnl=15 +char id=1087 x=38 y=180 width=11 height=13 xoffset=-2 yoffset=6 xadvance=7 page=0 chnl=15 +char id=1088 x=63 y=60 width=11 height=17 xoffset=-2 yoffset=6 xadvance=7 page=0 chnl=15 +char id=1089 x=36 y=207 width=11 height=12 xoffset=-2 yoffset=6 xadvance=6 page=0 chnl=15 +char id=1090 x=14 y=194 width=13 height=12 xoffset=-3 yoffset=6 xadvance=7 page=0 chnl=15 +char id=1091 x=26 y=61 width=12 height=17 xoffset=-2 yoffset=6 xadvance=7 page=0 chnl=15 +char id=1092 x=160 y=0 width=14 height=19 xoffset=-3 yoffset=3 xadvance=8 page=0 chnl=15 +char id=1093 x=26 y=180 width=11 height=13 xoffset=-2 yoffset=6 xadvance=6 page=0 chnl=15 +char id=1094 x=130 y=160 width=12 height=14 xoffset=-2 yoffset=6 xadvance=8 page=0 chnl=15 +char id=1095 x=108 y=192 width=11 height=12 xoffset=-2 yoffset=6 xadvance=7 page=0 chnl=15 +char id=1096 x=190 y=174 width=13 height=12 xoffset=-2 yoffset=6 xadvance=9 page=0 chnl=15 +char id=1097 x=101 y=163 width=14 height=14 xoffset=-2 yoffset=6 xadvance=10 page=0 chnl=15 +char id=1098 x=218 y=172 width=13 height=12 xoffset=-3 yoffset=6 xadvance=8 page=0 chnl=15 +char id=1099 x=232 y=172 width=13 height=12 xoffset=-2 yoffset=6 xadvance=9 page=0 chnl=15 +char id=1100 x=228 y=185 width=11 height=12 xoffset=-2 yoffset=6 xadvance=6 page=0 chnl=15 +char id=1101 x=120 y=191 width=11 height=12 xoffset=-3 yoffset=6 xadvance=6 page=0 chnl=15 +char id=1102 x=0 y=194 width=13 height=12 xoffset=-2 yoffset=6 xadvance=9 page=0 chnl=15 +char id=1103 x=116 y=161 width=13 height=14 xoffset=-4 yoffset=6 xadvance=7 page=0 chnl=15 +char id=1105 x=168 y=143 width=12 height=15 xoffset=-2 yoffset=3 xadvance=7 page=0 chnl=15 +char id=1106 x=224 y=39 width=13 height=17 xoffset=-3 yoffset=2 xadvance=8 page=0 chnl=15 +char id=1107 x=242 y=142 width=11 height=15 xoffset=-2 yoffset=3 xadvance=6 page=0 chnl=15 +char id=1108 x=168 y=187 width=11 height=12 xoffset=-2 yoffset=6 xadvance=6 page=0 chnl=15 +char id=1109 x=81 y=206 width=10 height=12 xoffset=-2 yoffset=6 xadvance=6 page=0 chnl=15 +char id=1110 x=93 y=163 width=7 height=15 xoffset=-2 yoffset=3 xadvance=3 page=0 chnl=15 +char id=1111 x=57 y=164 width=9 height=15 xoffset=-3 yoffset=3 xadvance=3 page=0 chnl=15 +char id=1112 x=58 y=41 width=9 height=18 xoffset=-4 yoffset=3 xadvance=3 page=0 chnl=15 +char id=1113 x=200 y=158 width=16 height=13 xoffset=-3 yoffset=6 xadvance=11 page=0 chnl=15 +char id=1114 x=128 y=176 width=15 height=12 xoffset=-2 yoffset=6 xadvance=11 page=0 chnl=15 +char id=1115 x=196 y=91 width=13 height=16 xoffset=-3 yoffset=2 xadvance=8 page=0 chnl=15 +char id=1116 x=0 y=164 width=11 height=15 xoffset=-2 yoffset=3 xadvance=6 page=0 chnl=15 +char id=1118 x=204 y=0 width=12 height=19 xoffset=-2 yoffset=4 xadvance=7 page=0 chnl=15 +char id=1119 x=168 y=159 width=11 height=14 xoffset=-2 yoffset=6 xadvance=7 page=0 chnl=15 +char id=1168 x=229 y=20 width=12 height=18 xoffset=-2 yoffset=0 xadvance=7 page=0 chnl=15 +char id=1169 x=180 y=159 width=11 height=14 xoffset=-2 yoffset=4 xadvance=6 page=0 chnl=15 +char id=8216 x=249 y=91 width=6 height=8 xoffset=-2 yoffset=2 xadvance=3 page=0 chnl=15 +char id=8217 x=204 y=198 width=7 height=8 xoffset=-2 yoffset=2 xadvance=3 page=0 chnl=15 +char id=8218 x=249 y=158 width=6 height=8 xoffset=-1 yoffset=12 xadvance=3 page=0 chnl=15 +char id=8220 x=153 y=201 width=10 height=8 xoffset=-2 yoffset=2 xadvance=6 page=0 chnl=15 +char id=8221 x=164 y=201 width=10 height=8 xoffset=-2 yoffset=2 xadvance=6 page=0 chnl=15 +char id=8222 x=175 y=200 width=10 height=8 xoffset=-2 yoffset=12 xadvance=6 page=0 chnl=15 +char id=8226 x=186 y=200 width=9 height=8 xoffset=-2 yoffset=6 xadvance=5 page=0 chnl=15 diff --git a/gfx/fonts/neucha_21.dds b/gfx/fonts/neucha_21.dds new file mode 100644 index 000000000..21b028947 Binary files /dev/null and b/gfx/fonts/neucha_21.dds differ diff --git a/gfx/fonts/neucha_21.fnt b/gfx/fonts/neucha_21.fnt new file mode 100644 index 000000000..7caa4f066 --- /dev/null +++ b/gfx/fonts/neucha_21.fnt @@ -0,0 +1,270 @@ +info face="Neucha" size=-21 bold=0 italic=0 charset="" unicode=1 stretchH=100 smooth=1 aa=1 padding=0,0,0,0 spacing=1,1 outline=2 +common lineHeight=26 base=20 scaleW=384 scaleH=384 pages=1 packed=0 alphaChnl=0 redChnl=4 greenChnl=4 blueChnl=4 +page id=0 file="neucha_21_0.dds" +chars count=266 +char id=32 x=147 y=201 width=7 height=5 xoffset=-3 yoffset=23 xadvance=6 page=0 chnl=15 +char id=33 x=375 y=127 width=7 height=19 xoffset=-2 yoffset=3 xadvance=4 page=0 chnl=15 +char id=34 x=358 y=180 width=10 height=8 xoffset=-2 yoffset=3 xadvance=5 page=0 chnl=15 +char id=35 x=287 y=67 width=19 height=19 xoffset=-3 yoffset=3 xadvance=13 page=0 chnl=15 +char id=36 x=166 y=24 width=14 height=22 xoffset=-2 yoffset=2 xadvance=10 page=0 chnl=15 +char id=37 x=131 y=48 width=20 height=20 xoffset=-3 yoffset=2 xadvance=14 page=0 chnl=15 +char id=38 x=0 y=152 width=17 height=18 xoffset=-2 yoffset=4 xadvance=12 page=0 chnl=15 +char id=39 x=41 y=203 width=6 height=8 xoffset=-2 yoffset=3 xadvance=3 page=0 chnl=15 +char id=40 x=113 y=48 width=8 height=21 xoffset=-2 yoffset=3 xadvance=4 page=0 chnl=15 +char id=41 x=122 y=48 width=8 height=21 xoffset=-2 yoffset=3 xadvance=4 page=0 chnl=15 +char id=42 x=249 y=182 width=13 height=12 xoffset=-3 yoffset=2 xadvance=7 page=0 chnl=15 +char id=43 x=203 y=184 width=15 height=14 xoffset=-3 yoffset=6 xadvance=9 page=0 chnl=15 +char id=44 x=9 y=203 width=7 height=8 xoffset=-2 yoffset=16 xadvance=3 page=0 chnl=15 +char id=45 x=91 y=203 width=13 height=6 xoffset=-2 yoffset=10 xadvance=9 page=0 chnl=15 +char id=46 x=131 y=202 width=7 height=6 xoffset=-2 yoffset=16 xadvance=3 page=0 chnl=15 +char id=47 x=224 y=0 width=15 height=23 xoffset=-3 yoffset=1 xadvance=9 page=0 chnl=15 +char id=48 x=353 y=87 width=15 height=19 xoffset=-2 yoffset=3 xadvance=11 page=0 chnl=15 +char id=49 x=216 y=128 width=13 height=19 xoffset=-3 yoffset=3 xadvance=7 page=0 chnl=15 +char id=50 x=220 y=108 width=14 height=19 xoffset=-3 yoffset=3 xadvance=8 page=0 chnl=15 +char id=51 x=90 y=131 width=13 height=19 xoffset=-3 yoffset=3 xadvance=8 page=0 chnl=15 +char id=52 x=250 y=108 width=14 height=19 xoffset=-3 yoffset=3 xadvance=9 page=0 chnl=15 +char id=53 x=265 y=108 width=14 height=19 xoffset=-3 yoffset=3 xadvance=9 page=0 chnl=15 +char id=54 x=230 y=128 width=13 height=19 xoffset=-2 yoffset=3 xadvance=9 page=0 chnl=15 +char id=55 x=292 y=46 width=14 height=20 xoffset=-3 yoffset=2 xadvance=8 page=0 chnl=15 +char id=56 x=340 y=107 width=14 height=19 xoffset=-2 yoffset=3 xadvance=10 page=0 chnl=15 +char id=57 x=258 y=128 width=13 height=19 xoffset=-2 yoffset=3 xadvance=9 page=0 chnl=15 +char id=58 x=160 y=184 width=7 height=15 xoffset=-2 yoffset=7 xadvance=3 page=0 chnl=15 +char id=59 x=181 y=149 width=7 height=18 xoffset=-2 yoffset=7 xadvance=3 page=0 chnl=15 +char id=60 x=77 y=171 width=18 height=15 xoffset=-3 yoffset=7 xadvance=12 page=0 chnl=15 +char id=61 x=263 y=181 width=17 height=11 xoffset=-2 yoffset=7 xadvance=12 page=0 chnl=15 +char id=62 x=96 y=170 width=18 height=15 xoffset=-3 yoffset=7 xadvance=12 page=0 chnl=15 +char id=63 x=75 y=131 width=14 height=19 xoffset=-3 yoffset=3 xadvance=8 page=0 chnl=15 +char id=64 x=301 y=24 width=21 height=21 xoffset=-2 yoffset=2 xadvance=16 page=0 chnl=15 +char id=65 x=36 y=92 width=17 height=19 xoffset=-3 yoffset=3 xadvance=11 page=0 chnl=15 +char id=66 x=355 y=107 width=14 height=19 xoffset=-2 yoffset=3 xadvance=10 page=0 chnl=15 +char id=67 x=112 y=110 width=15 height=19 xoffset=-2 yoffset=3 xadvance=11 page=0 chnl=15 +char id=68 x=128 y=110 width=15 height=19 xoffset=-2 yoffset=3 xadvance=11 page=0 chnl=15 +char id=69 x=15 y=132 width=14 height=19 xoffset=-2 yoffset=3 xadvance=10 page=0 chnl=15 +char id=70 x=60 y=132 width=14 height=19 xoffset=-2 yoffset=3 xadvance=9 page=0 chnl=15 +char id=71 x=72 y=91 width=16 height=19 xoffset=-2 yoffset=3 xadvance=12 page=0 chnl=15 +char id=72 x=272 y=128 width=13 height=19 xoffset=-2 yoffset=3 xadvance=9 page=0 chnl=15 +char id=73 x=351 y=127 width=11 height=19 xoffset=-2 yoffset=3 xadvance=7 page=0 chnl=15 +char id=74 x=286 y=128 width=12 height=19 xoffset=-2 yoffset=3 xadvance=8 page=0 chnl=15 +char id=75 x=30 y=132 width=14 height=19 xoffset=-2 yoffset=3 xadvance=9 page=0 chnl=15 +char id=76 x=228 y=47 width=15 height=20 xoffset=-2 yoffset=3 xadvance=10 page=0 chnl=15 +char id=77 x=137 y=69 width=21 height=19 xoffset=-3 yoffset=3 xadvance=15 page=0 chnl=15 +char id=78 x=140 y=89 width=16 height=19 xoffset=-2 yoffset=3 xadvance=12 page=0 chnl=15 +char id=79 x=241 y=88 width=15 height=19 xoffset=-2 yoffset=3 xadvance=11 page=0 chnl=15 +char id=80 x=257 y=88 width=15 height=19 xoffset=-2 yoffset=3 xadvance=11 page=0 chnl=15 +char id=81 x=104 y=25 width=15 height=22 xoffset=-2 yoffset=3 xadvance=11 page=0 chnl=15 +char id=82 x=276 y=46 width=15 height=20 xoffset=-2 yoffset=3 xadvance=11 page=0 chnl=15 +char id=83 x=289 y=87 width=15 height=19 xoffset=-3 yoffset=3 xadvance=9 page=0 chnl=15 +char id=84 x=321 y=87 width=15 height=19 xoffset=-3 yoffset=3 xadvance=9 page=0 chnl=15 +char id=85 x=64 y=111 width=15 height=19 xoffset=-2 yoffset=3 xadvance=11 page=0 chnl=15 +char id=86 x=48 y=112 width=15 height=19 xoffset=-3 yoffset=3 xadvance=9 page=0 chnl=15 +char id=87 x=246 y=68 width=20 height=19 xoffset=-3 yoffset=3 xadvance=14 page=0 chnl=15 +char id=88 x=18 y=92 width=17 height=19 xoffset=-3 yoffset=3 xadvance=11 page=0 chnl=15 +char id=89 x=16 y=112 width=15 height=19 xoffset=-3 yoffset=3 xadvance=9 page=0 chnl=15 +char id=90 x=337 y=87 width=15 height=19 xoffset=-3 yoffset=3 xadvance=9 page=0 chnl=15 +char id=91 x=342 y=0 width=10 height=23 xoffset=-2 yoffset=1 xadvance=6 page=0 chnl=15 +char id=92 x=158 y=0 width=16 height=23 xoffset=-3 yoffset=1 xadvance=11 page=0 chnl=15 +char id=93 x=330 y=0 width=11 height=23 xoffset=-3 yoffset=1 xadvance=6 page=0 chnl=15 +char id=94 x=234 y=182 width=14 height=12 xoffset=-2 yoffset=3 xadvance=9 page=0 chnl=15 +char id=95 x=73 y=203 width=17 height=6 xoffset=-3 yoffset=16 xadvance=12 page=0 chnl=15 +char id=96 x=369 y=180 width=8 height=8 xoffset=1 yoffset=2 xadvance=10 page=0 chnl=15 +char id=97 x=109 y=186 width=12 height=15 xoffset=-2 yoffset=7 xadvance=8 page=0 chnl=15 +char id=98 x=337 y=46 width=13 height=20 xoffset=-2 yoffset=2 xadvance=9 page=0 chnl=15 +char id=99 x=291 y=165 width=13 height=15 xoffset=-2 yoffset=7 xadvance=8 page=0 chnl=15 +char id=100 x=0 y=71 width=13 height=20 xoffset=-2 yoffset=2 xadvance=9 page=0 chnl=15 +char id=101 x=217 y=167 width=14 height=15 xoffset=-2 yoffset=7 xadvance=9 page=0 chnl=15 +char id=102 x=28 y=71 width=12 height=20 xoffset=-2 yoffset=3 xadvance=7 page=0 chnl=15 +char id=103 x=14 y=71 width=13 height=20 xoffset=-2 yoffset=7 xadvance=9 page=0 chnl=15 +char id=104 x=202 y=129 width=13 height=19 xoffset=-2 yoffset=3 xadvance=9 page=0 chnl=15 +char id=105 x=189 y=149 width=7 height=18 xoffset=-2 yoffset=4 xadvance=4 page=0 chnl=15 +char id=106 x=238 y=24 width=10 height=22 xoffset=-5 yoffset=4 xadvance=3 page=0 chnl=15 +char id=107 x=370 y=107 width=13 height=19 xoffset=-2 yoffset=3 xadvance=8 page=0 chnl=15 +char id=108 x=173 y=149 width=7 height=18 xoffset=-2 yoffset=4 xadvance=3 page=0 chnl=15 +char id=109 x=274 y=148 width=16 height=16 xoffset=-2 yoffset=7 xadvance=12 page=0 chnl=15 +char id=110 x=70 y=187 width=12 height=15 xoffset=-2 yoffset=7 xadvance=8 page=0 chnl=15 +char id=111 x=56 y=187 width=13 height=15 xoffset=-2 yoffset=7 xadvance=9 page=0 chnl=15 +char id=112 x=74 y=48 width=13 height=21 xoffset=-2 yoffset=7 xadvance=9 page=0 chnl=15 +char id=113 x=46 y=48 width=13 height=21 xoffset=-2 yoffset=7 xadvance=9 page=0 chnl=15 +char id=114 x=14 y=187 width=13 height=15 xoffset=-2 yoffset=7 xadvance=8 page=0 chnl=15 +char id=115 x=122 y=186 width=12 height=15 xoffset=-2 yoffset=7 xadvance=8 page=0 chnl=15 +char id=116 x=83 y=151 width=13 height=18 xoffset=-2 yoffset=4 xadvance=8 page=0 chnl=15 +char id=117 x=28 y=187 width=13 height=15 xoffset=-2 yoffset=7 xadvance=9 page=0 chnl=15 +char id=118 x=262 y=165 width=14 height=15 xoffset=-3 yoffset=7 xadvance=8 page=0 chnl=15 +char id=119 x=58 y=171 width=18 height=15 xoffset=-3 yoffset=7 xadvance=12 page=0 chnl=15 +char id=120 x=335 y=147 width=13 height=16 xoffset=-3 yoffset=7 xadvance=7 page=0 chnl=15 +char id=121 x=31 y=49 width=14 height=21 xoffset=-2 yoffset=7 xadvance=9 page=0 chnl=15 +char id=122 x=201 y=168 width=15 height=15 xoffset=-3 yoffset=7 xadvance=9 page=0 chnl=15 +char id=123 x=249 y=24 width=10 height=22 xoffset=-2 yoffset=2 xadvance=5 page=0 chnl=15 +char id=124 x=268 y=24 width=7 height=22 xoffset=-2 yoffset=2 xadvance=4 page=0 chnl=15 +char id=125 x=226 y=24 width=11 height=22 xoffset=-3 yoffset=2 xadvance=5 page=0 chnl=15 +char id=126 x=48 y=203 width=15 height=7 xoffset=-2 yoffset=9 xadvance=11 page=0 chnl=15 +char id=160 x=139 y=201 width=7 height=5 xoffset=-3 yoffset=23 xadvance=6 page=0 chnl=15 +char id=161 x=376 y=23 width=7 height=19 xoffset=-2 yoffset=7 xadvance=4 page=0 chnl=15 +char id=163 x=144 y=109 width=15 height=19 xoffset=-2 yoffset=3 xadvance=11 page=0 chnl=15 +char id=164 x=208 y=88 width=16 height=19 xoffset=-2 yoffset=3 xadvance=12 page=0 chnl=15 +char id=166 x=260 y=24 width=7 height=22 xoffset=-2 yoffset=2 xadvance=4 page=0 chnl=15 +char id=167 x=54 y=70 width=12 height=20 xoffset=-2 yoffset=3 xadvance=8 page=0 chnl=15 +char id=168 x=105 y=202 width=12 height=6 xoffset=-1 yoffset=3 xadvance=10 page=0 chnl=15 +char id=169 x=172 y=47 width=19 height=20 xoffset=-2 yoffset=3 xadvance=15 page=0 chnl=15 +char id=171 x=168 y=184 width=17 height=14 xoffset=-3 yoffset=8 xadvance=11 page=0 chnl=15 +char id=172 x=305 y=181 width=13 height=8 xoffset=-2 yoffset=11 xadvance=9 page=0 chnl=15 +char id=173 x=118 y=202 width=12 height=6 xoffset=-2 yoffset=10 xadvance=7 page=0 chnl=15 +char id=174 x=152 y=48 width=19 height=20 xoffset=-2 yoffset=3 xadvance=15 page=0 chnl=15 +char id=176 x=281 y=181 width=12 height=11 xoffset=-3 yoffset=2 xadvance=7 page=0 chnl=15 +char id=177 x=219 y=183 width=14 height=14 xoffset=-2 yoffset=7 xadvance=10 page=0 chnl=15 +char id=180 x=0 y=203 width=8 height=8 xoffset=1 yoffset=2 xadvance=10 page=0 chnl=15 +char id=181 x=123 y=90 width=16 height=19 xoffset=-4 yoffset=7 xadvance=10 page=0 chnl=15 +char id=182 x=0 y=26 width=18 height=22 xoffset=-2 yoffset=3 xadvance=14 page=0 chnl=15 +char id=183 x=64 y=203 width=8 height=7 xoffset=-2 yoffset=9 xadvance=4 page=0 chnl=15 +char id=187 x=186 y=184 width=16 height=14 xoffset=-2 yoffset=8 xadvance=11 page=0 chnl=15 +char id=191 x=175 y=109 width=14 height=19 xoffset=-3 yoffset=7 xadvance=8 page=0 chnl=15 +char id=192 x=49 y=0 width=17 height=24 xoffset=-3 yoffset=-2 xadvance=11 page=0 chnl=15 +char id=193 x=31 y=0 width=17 height=24 xoffset=-3 yoffset=-2 xadvance=11 page=0 chnl=15 +char id=194 x=37 y=25 width=17 height=22 xoffset=-3 yoffset=0 xadvance=11 page=0 chnl=15 +char id=196 x=323 y=24 width=17 height=21 xoffset=-3 yoffset=1 xadvance=11 page=0 chnl=15 +char id=197 x=341 y=24 width=17 height=21 xoffset=-3 yoffset=1 xadvance=11 page=0 chnl=15 +char id=198 x=114 y=70 width=22 height=19 xoffset=-2 yoffset=3 xadvance=18 page=0 chnl=15 +char id=199 x=0 y=0 width=15 height=25 xoffset=-2 yoffset=3 xadvance=11 page=0 chnl=15 +char id=200 x=101 y=0 width=14 height=24 xoffset=-2 yoffset=-2 xadvance=10 page=0 chnl=15 +char id=201 x=16 y=0 width=14 height=25 xoffset=-2 yoffset=-2 xadvance=10 page=0 chnl=15 +char id=202 x=288 y=0 width=14 height=23 xoffset=-2 yoffset=-1 xadvance=10 page=0 chnl=15 +char id=203 x=196 y=24 width=14 height=22 xoffset=-2 yoffset=0 xadvance=10 page=0 chnl=15 +char id=205 x=146 y=0 width=11 height=24 xoffset=-2 yoffset=-2 xadvance=7 page=0 chnl=15 +char id=206 x=318 y=0 width=11 height=23 xoffset=-2 yoffset=-1 xadvance=7 page=0 chnl=15 +char id=207 x=88 y=48 width=12 height=21 xoffset=-3 yoffset=1 xadvance=7 page=0 chnl=15 +char id=209 x=55 y=25 width=16 height=22 xoffset=-2 yoffset=0 xadvance=12 page=0 chnl=15 +char id=211 x=85 y=0 width=15 height=24 xoffset=-2 yoffset=-2 xadvance=11 page=0 chnl=15 +char id=212 x=192 y=0 width=15 height=23 xoffset=-2 yoffset=-1 xadvance=11 page=0 chnl=15 +char id=214 x=256 y=0 width=15 height=23 xoffset=-2 yoffset=-1 xadvance=11 page=0 chnl=15 +char id=217 x=208 y=0 width=15 height=23 xoffset=-2 yoffset=-1 xadvance=11 page=0 chnl=15 +char id=218 x=240 y=0 width=15 height=23 xoffset=-2 yoffset=-1 xadvance=11 page=0 chnl=15 +char id=219 x=272 y=0 width=15 height=23 xoffset=-2 yoffset=-1 xadvance=11 page=0 chnl=15 +char id=220 x=120 y=25 width=15 height=22 xoffset=-2 yoffset=0 xadvance=11 page=0 chnl=15 +char id=223 x=89 y=91 width=16 height=19 xoffset=-2 yoffset=3 xadvance=12 page=0 chnl=15 +char id=224 x=41 y=71 width=12 height=20 xoffset=-2 yoffset=2 xadvance=8 page=0 chnl=15 +char id=225 x=67 y=70 width=12 height=20 xoffset=-2 yoffset=2 xadvance=8 page=0 chnl=15 +char id=226 x=338 y=127 width=12 height=19 xoffset=-2 yoffset=3 xadvance=8 page=0 chnl=15 +char id=228 x=325 y=127 width=12 height=19 xoffset=-2 yoffset=3 xadvance=8 page=0 chnl=15 +char id=229 x=312 y=127 width=12 height=19 xoffset=-2 yoffset=3 xadvance=8 page=0 chnl=15 +char id=230 x=39 y=171 width=18 height=15 xoffset=-2 yoffset=7 xadvance=14 page=0 chnl=15 +char id=231 x=365 y=45 width=13 height=20 xoffset=-2 yoffset=7 xadvance=8 page=0 chnl=15 +char id=232 x=307 y=46 width=14 height=20 xoffset=-2 yoffset=2 xadvance=9 page=0 chnl=15 +char id=233 x=322 y=46 width=14 height=20 xoffset=-2 yoffset=2 xadvance=9 page=0 chnl=15 +char id=234 x=280 y=108 width=14 height=19 xoffset=-2 yoffset=3 xadvance=9 page=0 chnl=15 +char id=235 x=325 y=107 width=14 height=19 xoffset=-2 yoffset=3 xadvance=9 page=0 chnl=15 +char id=237 x=80 y=70 width=9 height=20 xoffset=-2 yoffset=2 xadvance=4 page=0 chnl=15 +char id=238 x=150 y=149 width=11 height=18 xoffset=-3 yoffset=4 xadvance=4 page=0 chnl=15 +char id=239 x=138 y=150 width=11 height=18 xoffset=-4 yoffset=4 xadvance=4 page=0 chnl=15 +char id=241 x=125 y=150 width=12 height=18 xoffset=-2 yoffset=4 xadvance=8 page=0 chnl=15 +char id=243 x=351 y=46 width=13 height=20 xoffset=-2 yoffset=2 xadvance=9 page=0 chnl=15 +char id=244 x=104 y=131 width=13 height=19 xoffset=-2 yoffset=3 xadvance=9 page=0 chnl=15 +char id=246 x=118 y=130 width=13 height=19 xoffset=-2 yoffset=3 xadvance=9 page=0 chnl=15 +char id=249 x=132 y=130 width=13 height=19 xoffset=-2 yoffset=3 xadvance=9 page=0 chnl=15 +char id=250 x=146 y=129 width=13 height=19 xoffset=-2 yoffset=3 xadvance=9 page=0 chnl=15 +char id=251 x=160 y=129 width=13 height=19 xoffset=-2 yoffset=3 xadvance=9 page=0 chnl=15 +char id=252 x=97 y=151 width=13 height=18 xoffset=-2 yoffset=4 xadvance=9 page=0 chnl=15 +char id=255 x=116 y=0 width=14 height=24 xoffset=-2 yoffset=4 xadvance=9 page=0 chnl=15 +char id=305 x=375 y=163 width=7 height=15 xoffset=-2 yoffset=7 xadvance=4 page=0 chnl=15 +char id=338 x=159 y=69 width=21 height=19 xoffset=-2 yoffset=3 xadvance=17 page=0 chnl=15 +char id=339 x=0 y=171 width=19 height=15 xoffset=-2 yoffset=7 xadvance=15 page=0 chnl=15 +char id=376 x=0 y=49 width=15 height=21 xoffset=-3 yoffset=1 xadvance=9 page=0 chnl=15 +char id=1025 x=151 y=25 width=14 height=22 xoffset=-2 yoffset=0 xadvance=10 page=0 chnl=15 +char id=1026 x=210 y=47 width=17 height=20 xoffset=-3 yoffset=3 xadvance=12 page=0 chnl=15 +char id=1027 x=181 y=24 width=14 height=22 xoffset=-2 yoffset=0 xadvance=9 page=0 chnl=15 +char id=1028 x=174 y=89 width=16 height=19 xoffset=-2 yoffset=3 xadvance=11 page=0 chnl=15 +char id=1029 x=305 y=87 width=15 height=19 xoffset=-3 yoffset=3 xadvance=9 page=0 chnl=15 +char id=1030 x=363 y=127 width=11 height=19 xoffset=-2 yoffset=3 xadvance=7 page=0 chnl=15 +char id=1031 x=101 y=48 width=11 height=21 xoffset=-2 yoffset=1 xadvance=7 page=0 chnl=15 +char id=1032 x=299 y=127 width=12 height=19 xoffset=-2 yoffset=3 xadvance=8 page=0 chnl=15 +char id=1033 x=276 y=24 width=24 height=21 xoffset=-4 yoffset=3 xadvance=18 page=0 chnl=15 +char id=1034 x=181 y=68 width=21 height=19 xoffset=-2 yoffset=3 xadvance=16 page=0 chnl=15 +char id=1035 x=54 y=91 width=17 height=19 xoffset=-3 yoffset=3 xadvance=12 page=0 chnl=15 +char id=1036 x=175 y=0 width=16 height=23 xoffset=-2 yoffset=-1 xadvance=11 page=0 chnl=15 +char id=1038 x=359 y=23 width=16 height=21 xoffset=-3 yoffset=1 xadvance=10 page=0 chnl=15 +char id=1039 x=211 y=24 width=14 height=22 xoffset=-2 yoffset=3 xadvance=10 page=0 chnl=15 +char id=1040 x=345 y=67 width=17 height=19 xoffset=-3 yoffset=3 xadvance=11 page=0 chnl=15 +char id=1041 x=190 y=109 width=14 height=19 xoffset=-2 yoffset=3 xadvance=10 page=0 chnl=15 +char id=1042 x=205 y=108 width=14 height=19 xoffset=-2 yoffset=3 xadvance=10 page=0 chnl=15 +char id=1043 x=310 y=107 width=14 height=19 xoffset=-2 yoffset=3 xadvance=9 page=0 chnl=15 +char id=1044 x=19 y=26 width=17 height=22 xoffset=-3 yoffset=3 xadvance=12 page=0 chnl=15 +char id=1045 x=295 y=107 width=14 height=19 xoffset=-2 yoffset=3 xadvance=9 page=0 chnl=15 +char id=1046 x=90 y=70 width=23 height=19 xoffset=-3 yoffset=3 xadvance=17 page=0 chnl=15 +char id=1047 x=160 y=109 width=14 height=19 xoffset=-2 yoffset=3 xadvance=10 page=0 chnl=15 +char id=1048 x=273 y=88 width=15 height=19 xoffset=-2 yoffset=3 xadvance=11 page=0 chnl=15 +char id=1049 x=88 y=25 width=15 height=22 xoffset=-2 yoffset=0 xadvance=11 page=0 chnl=15 +char id=1050 x=106 y=90 width=16 height=19 xoffset=-2 yoffset=3 xadvance=11 page=0 chnl=15 +char id=1051 x=192 y=47 width=17 height=20 xoffset=-4 yoffset=3 xadvance=11 page=0 chnl=15 +char id=1052 x=203 y=68 width=21 height=19 xoffset=-3 yoffset=3 xadvance=15 page=0 chnl=15 +char id=1053 x=174 y=129 width=13 height=19 xoffset=-2 yoffset=3 xadvance=9 page=0 chnl=15 +char id=1054 x=96 y=111 width=15 height=19 xoffset=-2 yoffset=3 xadvance=11 page=0 chnl=15 +char id=1055 x=0 y=132 width=14 height=19 xoffset=-2 yoffset=3 xadvance=10 page=0 chnl=15 +char id=1056 x=0 y=112 width=15 height=19 xoffset=-2 yoffset=3 xadvance=11 page=0 chnl=15 +char id=1057 x=225 y=88 width=15 height=19 xoffset=-2 yoffset=3 xadvance=11 page=0 chnl=15 +char id=1058 x=80 y=111 width=15 height=19 xoffset=-3 yoffset=3 xadvance=9 page=0 chnl=15 +char id=1059 x=191 y=88 width=16 height=19 xoffset=-3 yoffset=3 xadvance=10 page=0 chnl=15 +char id=1060 x=225 y=68 width=20 height=19 xoffset=-2 yoffset=3 xadvance=16 page=0 chnl=15 +char id=1061 x=363 y=67 width=17 height=19 xoffset=-3 yoffset=3 xadvance=11 page=0 chnl=15 +char id=1062 x=72 y=25 width=15 height=22 xoffset=-2 yoffset=3 xadvance=11 page=0 chnl=15 +char id=1063 x=45 y=132 width=14 height=19 xoffset=-2 yoffset=3 xadvance=10 page=0 chnl=15 +char id=1064 x=0 y=92 width=17 height=19 xoffset=-2 yoffset=3 xadvance=13 page=0 chnl=15 +char id=1065 x=353 y=0 width=19 height=22 xoffset=-2 yoffset=3 xadvance=15 page=0 chnl=15 +char id=1066 x=307 y=67 width=18 height=19 xoffset=-3 yoffset=3 xadvance=12 page=0 chnl=15 +char id=1067 x=326 y=67 width=18 height=19 xoffset=-2 yoffset=3 xadvance=14 page=0 chnl=15 +char id=1068 x=235 y=108 width=14 height=19 xoffset=-2 yoffset=3 xadvance=10 page=0 chnl=15 +char id=1069 x=157 y=89 width=16 height=19 xoffset=-3 yoffset=3 xadvance=11 page=0 chnl=15 +char id=1070 x=267 y=68 width=19 height=19 xoffset=-2 yoffset=3 xadvance=15 page=0 chnl=15 +char id=1071 x=260 y=47 width=15 height=20 xoffset=-3 yoffset=3 xadvance=10 page=0 chnl=15 +char id=1072 x=96 y=186 width=12 height=15 xoffset=-2 yoffset=7 xadvance=8 page=0 chnl=15 +char id=1073 x=303 y=0 width=14 height=23 xoffset=-2 yoffset=0 xadvance=10 page=0 chnl=15 +char id=1074 x=305 y=165 width=13 height=15 xoffset=-2 yoffset=7 xadvance=9 page=0 chnl=15 +char id=1075 x=319 y=164 width=13 height=15 xoffset=-2 yoffset=7 xadvance=8 page=0 chnl=15 +char id=1076 x=36 y=152 width=16 height=18 xoffset=-3 yoffset=7 xadvance=11 page=0 chnl=15 +char id=1077 x=232 y=166 width=14 height=15 xoffset=-2 yoffset=7 xadvance=9 page=0 chnl=15 +char id=1078 x=363 y=147 width=19 height=15 xoffset=-3 yoffset=7 xadvance=13 page=0 chnl=15 +char id=1079 x=148 y=185 width=11 height=15 xoffset=-2 yoffset=7 xadvance=7 page=0 chnl=15 +char id=1080 x=247 y=166 width=14 height=15 xoffset=-2 yoffset=7 xadvance=10 page=0 chnl=15 +char id=1081 x=53 y=152 width=14 height=18 xoffset=-2 yoffset=4 xadvance=10 page=0 chnl=15 +char id=1082 x=361 y=164 width=13 height=15 xoffset=-2 yoffset=7 xadvance=8 page=0 chnl=15 +char id=1083 x=291 y=148 width=15 height=16 xoffset=-4 yoffset=7 xadvance=9 page=0 chnl=15 +char id=1084 x=20 y=171 width=18 height=15 xoffset=-3 yoffset=7 xadvance=12 page=0 chnl=15 +char id=1085 x=321 y=147 width=13 height=16 xoffset=-2 yoffset=7 xadvance=9 page=0 chnl=15 +char id=1086 x=347 y=164 width=13 height=15 xoffset=-2 yoffset=7 xadvance=9 page=0 chnl=15 +char id=1087 x=349 y=147 width=13 height=16 xoffset=-2 yoffset=7 xadvance=9 page=0 chnl=15 +char id=1088 x=60 y=48 width=13 height=21 xoffset=-2 yoffset=7 xadvance=9 page=0 chnl=15 +char id=1089 x=42 y=187 width=13 height=15 xoffset=-2 yoffset=7 xadvance=8 page=0 chnl=15 +char id=1090 x=152 y=168 width=16 height=15 xoffset=-3 yoffset=7 xadvance=10 page=0 chnl=15 +char id=1091 x=16 y=49 width=14 height=21 xoffset=-2 yoffset=7 xadvance=9 page=0 chnl=15 +char id=1092 x=67 y=0 width=17 height=24 xoffset=-3 yoffset=4 xadvance=11 page=0 chnl=15 +char id=1093 x=307 y=147 width=13 height=16 xoffset=-3 yoffset=7 xadvance=7 page=0 chnl=15 +char id=1094 x=68 y=152 width=14 height=18 xoffset=-2 yoffset=7 xadvance=10 page=0 chnl=15 +char id=1095 x=277 y=165 width=13 height=15 xoffset=-2 yoffset=7 xadvance=9 page=0 chnl=15 +char id=1096 x=257 y=148 width=16 height=16 xoffset=-2 yoffset=7 xadvance=12 page=0 chnl=15 +char id=1097 x=18 y=152 width=17 height=18 xoffset=-2 yoffset=7 xadvance=13 page=0 chnl=15 +char id=1098 x=185 y=168 width=15 height=15 xoffset=-2 yoffset=7 xadvance=11 page=0 chnl=15 +char id=1099 x=169 y=168 width=15 height=15 xoffset=-2 yoffset=7 xadvance=11 page=0 chnl=15 +char id=1100 x=135 y=185 width=12 height=15 xoffset=-2 yoffset=7 xadvance=8 page=0 chnl=15 +char id=1101 x=0 y=187 width=13 height=15 xoffset=-3 yoffset=7 xadvance=8 page=0 chnl=15 +char id=1102 x=134 y=169 width=17 height=15 xoffset=-2 yoffset=7 xadvance=13 page=0 chnl=15 +char id=1103 x=227 y=148 width=15 height=17 xoffset=-4 yoffset=7 xadvance=9 page=0 chnl=15 +char id=1105 x=369 y=87 width=14 height=19 xoffset=-2 yoffset=3 xadvance=9 page=0 chnl=15 +char id=1106 x=244 y=47 width=15 height=20 xoffset=-2 yoffset=3 xadvance=11 page=0 chnl=15 +char id=1107 x=188 y=129 width=13 height=19 xoffset=-2 yoffset=3 xadvance=8 page=0 chnl=15 +char id=1108 x=333 y=164 width=13 height=15 xoffset=-2 yoffset=7 xadvance=8 page=0 chnl=15 +char id=1109 x=83 y=187 width=12 height=15 xoffset=-2 yoffset=7 xadvance=8 page=0 chnl=15 +char id=1110 x=197 y=149 width=7 height=18 xoffset=-2 yoffset=4 xadvance=4 page=0 chnl=15 +char id=1111 x=162 y=149 width=10 height=18 xoffset=-3 yoffset=4 xadvance=4 page=0 chnl=15 +char id=1112 x=373 y=0 width=10 height=22 xoffset=-5 yoffset=4 xadvance=3 page=0 chnl=15 +char id=1113 x=205 y=149 width=21 height=17 xoffset=-4 yoffset=7 xadvance=14 page=0 chnl=15 +char id=1114 x=115 y=170 width=18 height=15 xoffset=-2 yoffset=7 xadvance=14 page=0 chnl=15 +char id=1115 x=32 y=112 width=15 height=19 xoffset=-2 yoffset=3 xadvance=11 page=0 chnl=15 +char id=1116 x=244 y=128 width=13 height=19 xoffset=-2 yoffset=3 xadvance=8 page=0 chnl=15 +char id=1118 x=131 y=0 width=14 height=24 xoffset=-2 yoffset=4 xadvance=9 page=0 chnl=15 +char id=1119 x=111 y=151 width=13 height=18 xoffset=-2 yoffset=7 xadvance=9 page=0 chnl=15 +char id=1168 x=136 y=25 width=14 height=22 xoffset=-2 yoffset=0 xadvance=9 page=0 chnl=15 +char id=1169 x=243 y=148 width=13 height=17 xoffset=-2 yoffset=5 xadvance=8 page=0 chnl=15 +char id=8216 x=17 y=203 width=7 height=8 xoffset=-2 yoffset=2 xadvance=3 page=0 chnl=15 +char id=8217 x=25 y=203 width=7 height=8 xoffset=-1 yoffset=2 xadvance=3 page=0 chnl=15 +char id=8218 x=33 y=203 width=7 height=8 xoffset=-1 yoffset=15 xadvance=4 page=0 chnl=15 +char id=8220 x=319 y=180 width=12 height=8 xoffset=-2 yoffset=2 xadvance=7 page=0 chnl=15 +char id=8221 x=332 y=180 width=12 height=8 xoffset=-2 yoffset=2 xadvance=7 page=0 chnl=15 +char id=8222 x=345 y=180 width=12 height=8 xoffset=-2 yoffset=15 xadvance=8 page=0 chnl=15 +char id=8226 x=294 y=181 width=10 height=9 xoffset=-2 yoffset=8 xadvance=6 page=0 chnl=15 diff --git a/gfx/fonts/raw/mapfont/Aniron-7BaP.ttf b/gfx/fonts/raw/mapfont/Aniron-7BaP.ttf new file mode 100644 index 000000000..c03c42352 Binary files /dev/null and b/gfx/fonts/raw/mapfont/Aniron-7BaP.ttf differ diff --git a/gfx/fonts/raw/mapfont/readme.txt b/gfx/fonts/raw/mapfont/readme.txt new file mode 100644 index 000000000..52cd1382d --- /dev/null +++ b/gfx/fonts/raw/mapfont/readme.txt @@ -0,0 +1,9 @@ +Anorion font by Pete Klassen +https://www.fontspace.com/aniron-font-f2247 + +BMF settings: +Size: 64px +Outline thickness: 2 +Width/Height: 1024 +RGB: zero +Bit Depth: 32 \ No newline at end of file diff --git a/gfx/fonts/raw/merienda/Merienda-Bold.ttf b/gfx/fonts/raw/merienda/Merienda-Bold.ttf new file mode 100644 index 000000000..86703adcb Binary files /dev/null and b/gfx/fonts/raw/merienda/Merienda-Bold.ttf differ diff --git a/gfx/fonts/raw/merienda/Merienda-Regular.ttf b/gfx/fonts/raw/merienda/Merienda-Regular.ttf new file mode 100644 index 000000000..8621c3807 Binary files /dev/null and b/gfx/fonts/raw/merienda/Merienda-Regular.ttf differ diff --git a/gfx/fonts/raw/merienda/Merienda_Neucha_Combined.ttf b/gfx/fonts/raw/merienda/Merienda_Neucha_Combined.ttf new file mode 100644 index 000000000..d9e626ca4 Binary files /dev/null and b/gfx/fonts/raw/merienda/Merienda_Neucha_Combined.ttf differ diff --git a/gfx/fonts/raw/merienda/OFL.txt b/gfx/fonts/raw/merienda/OFL.txt new file mode 100644 index 000000000..f05fe13d4 --- /dev/null +++ b/gfx/fonts/raw/merienda/OFL.txt @@ -0,0 +1,93 @@ +Copyright (c) 2012, Eduardo Tunni (http://www.tipo.net.ar), with Reserved Font Name 'Merienda' + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +http://scripts.sil.org/OFL + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/gfx/fonts/raw/merienda/bmfsettings.txt b/gfx/fonts/raw/merienda/bmfsettings.txt new file mode 100644 index 000000000..3d8243826 --- /dev/null +++ b/gfx/fonts/raw/merienda/bmfsettings.txt @@ -0,0 +1,6 @@ +BMF settings: +Size: (based on file) +Outline thickness: 2 +Width/Height: (based on size) +RGB: one +Bit Depth: 32 \ No newline at end of file diff --git a/gfx/fonts/raw/neucha/Neucha-Regular.ttf b/gfx/fonts/raw/neucha/Neucha-Regular.ttf new file mode 100644 index 000000000..87ddfbe7f Binary files /dev/null and b/gfx/fonts/raw/neucha/Neucha-Regular.ttf differ diff --git a/gfx/fonts/raw/neucha/OFL.txt b/gfx/fonts/raw/neucha/OFL.txt new file mode 100644 index 000000000..7ffb27e3b --- /dev/null +++ b/gfx/fonts/raw/neucha/OFL.txt @@ -0,0 +1,93 @@ +Copyright (c) 2008-2010 by Jovanny Lemonad (http://www.jovanny.ru) + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +http://scripts.sil.org/OFL + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/gfx/fonts/raw/neucha/readme.txt b/gfx/fonts/raw/neucha/readme.txt new file mode 100644 index 000000000..4c4af3856 --- /dev/null +++ b/gfx/fonts/raw/neucha/readme.txt @@ -0,0 +1,3 @@ +If the game is set to russian or polish, we swap the Merienda font to Neucha, to enable Cyrillic Alphabet symbols. + +BMF settings: same as merienda \ No newline at end of file diff --git a/gfx/interface/add_pol_idea_button.dds b/gfx/interface/add_pol_idea_button.dds new file mode 100644 index 000000000..fc398749f Binary files /dev/null and b/gfx/interface/add_pol_idea_button.dds differ diff --git a/gfx/interface/air_checkbox.dds b/gfx/interface/air_checkbox.dds new file mode 100644 index 000000000..13d01decf Binary files /dev/null and b/gfx/interface/air_checkbox.dds differ diff --git a/gfx/interface/armour_checkbox.dds b/gfx/interface/armour_checkbox.dds new file mode 100644 index 000000000..6f28fd391 Binary files /dev/null and b/gfx/interface/armour_checkbox.dds differ diff --git a/gfx/interface/autonomy/autonomy_fiefdom.dds b/gfx/interface/autonomy/autonomy_fiefdom.dds new file mode 100644 index 000000000..8f4f993bf Binary files /dev/null and b/gfx/interface/autonomy/autonomy_fiefdom.dds differ diff --git a/gfx/interface/counters/divisions_large/support_unit_sindar_pathstalkers_icon.dds b/gfx/interface/counters/divisions_large/support_unit_sindar_pathstalkers_icon.dds new file mode 100644 index 000000000..bd394090d Binary files /dev/null and b/gfx/interface/counters/divisions_large/support_unit_sindar_pathstalkers_icon.dds differ diff --git a/gfx/interface/counters/divisions_large/unit_balrog_units_icon.dds b/gfx/interface/counters/divisions_large/unit_balrog_units_icon.dds new file mode 100644 index 000000000..81b2c4c95 Binary files /dev/null and b/gfx/interface/counters/divisions_large/unit_balrog_units_icon.dds differ diff --git a/gfx/interface/counters/divisions_large/unit_ent_infantry_icon.dds b/gfx/interface/counters/divisions_large/unit_ent_infantry_icon.dds new file mode 100644 index 000000000..49c6777d4 Binary files /dev/null and b/gfx/interface/counters/divisions_large/unit_ent_infantry_icon.dds differ diff --git a/gfx/interface/counters/divisions_large/unit_giant_units_icon.dds b/gfx/interface/counters/divisions_large/unit_giant_units_icon.dds new file mode 100644 index 000000000..3a3821e5e Binary files /dev/null and b/gfx/interface/counters/divisions_large/unit_giant_units_icon.dds differ diff --git a/gfx/interface/counters/divisions_large/unit_heavy_infantry_icon.dds b/gfx/interface/counters/divisions_large/unit_heavy_infantry_icon.dds new file mode 100644 index 000000000..4e31cc48a Binary files /dev/null and b/gfx/interface/counters/divisions_large/unit_heavy_infantry_icon.dds differ diff --git a/gfx/interface/counters/divisions_large/unit_marchwardens_of_lothlorien_icon.dds b/gfx/interface/counters/divisions_large/unit_marchwardens_of_lothlorien_icon.dds new file mode 100644 index 000000000..90821881a Binary files /dev/null and b/gfx/interface/counters/divisions_large/unit_marchwardens_of_lothlorien_icon.dds differ diff --git a/gfx/interface/counters/divisions_large/unit_riders_of_the_naith_icon.dds b/gfx/interface/counters/divisions_large/unit_riders_of_the_naith_icon.dds new file mode 100644 index 000000000..a009c3110 Binary files /dev/null and b/gfx/interface/counters/divisions_large/unit_riders_of_the_naith_icon.dds differ diff --git a/gfx/interface/counters/divisions_large/unit_spider_infantry_icon.dds b/gfx/interface/counters/divisions_large/unit_spider_infantry_icon.dds new file mode 100644 index 000000000..29698692f Binary files /dev/null and b/gfx/interface/counters/divisions_large/unit_spider_infantry_icon.dds differ diff --git a/gfx/interface/counters/divisions_small/onmap_unit_balrog_icon.dds b/gfx/interface/counters/divisions_small/onmap_unit_balrog_icon.dds new file mode 100644 index 000000000..6d87564d2 Binary files /dev/null and b/gfx/interface/counters/divisions_small/onmap_unit_balrog_icon.dds differ diff --git a/gfx/interface/counters/divisions_small/onmap_unit_ent_infantry_icon.dds b/gfx/interface/counters/divisions_small/onmap_unit_ent_infantry_icon.dds new file mode 100644 index 000000000..ae51a152c Binary files /dev/null and b/gfx/interface/counters/divisions_small/onmap_unit_ent_infantry_icon.dds differ diff --git a/gfx/interface/counters/divisions_small/onmap_unit_giant_icon.dds b/gfx/interface/counters/divisions_small/onmap_unit_giant_icon.dds new file mode 100644 index 000000000..ed9e2eab3 Binary files /dev/null and b/gfx/interface/counters/divisions_small/onmap_unit_giant_icon.dds differ diff --git a/gfx/interface/counters/divisions_small/onmap_unit_heavy_infantry_icon.dds b/gfx/interface/counters/divisions_small/onmap_unit_heavy_infantry_icon.dds new file mode 100644 index 000000000..8c3e1801c Binary files /dev/null and b/gfx/interface/counters/divisions_small/onmap_unit_heavy_infantry_icon.dds differ diff --git a/gfx/interface/counters/divisions_small/onmap_unit_marchwardens_of_lothlorien_icon.dds b/gfx/interface/counters/divisions_small/onmap_unit_marchwardens_of_lothlorien_icon.dds new file mode 100644 index 000000000..dc1b472d0 Binary files /dev/null and b/gfx/interface/counters/divisions_small/onmap_unit_marchwardens_of_lothlorien_icon.dds differ diff --git a/gfx/interface/counters/divisions_small/onmap_unit_riders_of_the_naith_icon.dds b/gfx/interface/counters/divisions_small/onmap_unit_riders_of_the_naith_icon.dds new file mode 100644 index 000000000..0b098bd76 Binary files /dev/null and b/gfx/interface/counters/divisions_small/onmap_unit_riders_of_the_naith_icon.dds differ diff --git a/gfx/interface/counters/divisions_small/onmap_unit_sindar_pathstalkers_icon.dds b/gfx/interface/counters/divisions_small/onmap_unit_sindar_pathstalkers_icon.dds new file mode 100644 index 000000000..07d1ff0ac Binary files /dev/null and b/gfx/interface/counters/divisions_small/onmap_unit_sindar_pathstalkers_icon.dds differ diff --git a/gfx/interface/counters/divisions_small/onmap_unit_spider_infantry_icon.dds b/gfx/interface/counters/divisions_small/onmap_unit_spider_infantry_icon.dds new file mode 100644 index 000000000..7bfeca5e0 Binary files /dev/null and b/gfx/interface/counters/divisions_small/onmap_unit_spider_infantry_icon.dds differ diff --git a/gfx/interface/decisions/decision_assembly.dds b/gfx/interface/decisions/decision_assembly.dds new file mode 100644 index 000000000..c2aeb9f5c Binary files /dev/null and b/gfx/interface/decisions/decision_assembly.dds differ diff --git a/gfx/interface/decisions/decision_beacons.dds b/gfx/interface/decisions/decision_beacons.dds new file mode 100644 index 000000000..d60916d3a Binary files /dev/null and b/gfx/interface/decisions/decision_beacons.dds differ diff --git a/gfx/interface/decisions/decision_dorwinion_fascism.dds b/gfx/interface/decisions/decision_dorwinion_fascism.dds new file mode 100644 index 000000000..85cd96ae1 Binary files /dev/null and b/gfx/interface/decisions/decision_dorwinion_fascism.dds differ diff --git a/gfx/interface/decisions/decision_dorwinion_fascism_flag.dds b/gfx/interface/decisions/decision_dorwinion_fascism_flag.dds deleted file mode 100644 index e1f11dcda..000000000 Binary files a/gfx/interface/decisions/decision_dorwinion_fascism_flag.dds and /dev/null differ diff --git a/gfx/interface/decisions/decision_generic_1.dds b/gfx/interface/decisions/decision_generic_1.dds new file mode 100644 index 000000000..f1ea151f2 Binary files /dev/null and b/gfx/interface/decisions/decision_generic_1.dds differ diff --git a/gfx/interface/decisions/decision_generic_2.dds b/gfx/interface/decisions/decision_generic_2.dds new file mode 100644 index 000000000..b78f753a0 Binary files /dev/null and b/gfx/interface/decisions/decision_generic_2.dds differ diff --git a/gfx/interface/decisions/decision_generic_3.dds b/gfx/interface/decisions/decision_generic_3.dds new file mode 100644 index 000000000..8988576c4 Binary files /dev/null and b/gfx/interface/decisions/decision_generic_3.dds differ diff --git a/gfx/interface/decisions/decision_generic_4.dds b/gfx/interface/decisions/decision_generic_4.dds new file mode 100644 index 000000000..9b3b581ee Binary files /dev/null and b/gfx/interface/decisions/decision_generic_4.dds differ diff --git a/gfx/interface/decisions/decision_generic_5.dds b/gfx/interface/decisions/decision_generic_5.dds new file mode 100644 index 000000000..310c4dd9c Binary files /dev/null and b/gfx/interface/decisions/decision_generic_5.dds differ diff --git a/gfx/interface/decisions/decision_generic_army.dds b/gfx/interface/decisions/decision_generic_army.dds new file mode 100644 index 000000000..b16c2e4aa Binary files /dev/null and b/gfx/interface/decisions/decision_generic_army.dds differ diff --git a/gfx/interface/decisions/decision_generic_army_1.dds b/gfx/interface/decisions/decision_generic_army_1.dds new file mode 100644 index 000000000..a3ae8a4fa Binary files /dev/null and b/gfx/interface/decisions/decision_generic_army_1.dds differ diff --git a/gfx/interface/decisions/decision_generic_army_2.dds b/gfx/interface/decisions/decision_generic_army_2.dds new file mode 100644 index 000000000..419c33c20 Binary files /dev/null and b/gfx/interface/decisions/decision_generic_army_2.dds differ diff --git a/gfx/interface/decisions/decision_generic_army_3.dds b/gfx/interface/decisions/decision_generic_army_3.dds new file mode 100644 index 000000000..56e9ad22d Binary files /dev/null and b/gfx/interface/decisions/decision_generic_army_3.dds differ diff --git a/gfx/interface/decisions/decision_generic_authority.dds b/gfx/interface/decisions/decision_generic_authority.dds new file mode 100644 index 000000000..2ed02c442 Binary files /dev/null and b/gfx/interface/decisions/decision_generic_authority.dds differ diff --git a/gfx/interface/decisions/decision_generic_blacksmith.dds b/gfx/interface/decisions/decision_generic_blacksmith.dds new file mode 100644 index 000000000..5f809ff9d Binary files /dev/null and b/gfx/interface/decisions/decision_generic_blacksmith.dds differ diff --git a/gfx/interface/decisions/decision_generic_cavalry.dds b/gfx/interface/decisions/decision_generic_cavalry.dds new file mode 100644 index 000000000..00fd6d3b8 Binary files /dev/null and b/gfx/interface/decisions/decision_generic_cavalry.dds differ diff --git a/gfx/interface/decisions/decision_generic_cavalry_2.dds b/gfx/interface/decisions/decision_generic_cavalry_2.dds new file mode 100644 index 000000000..94c6a25e1 Binary files /dev/null and b/gfx/interface/decisions/decision_generic_cavalry_2.dds differ diff --git a/gfx/interface/decisions/decision_generic_construction.dds b/gfx/interface/decisions/decision_generic_construction.dds new file mode 100644 index 000000000..bfd83a9c4 Binary files /dev/null and b/gfx/interface/decisions/decision_generic_construction.dds differ diff --git a/gfx/interface/decisions/decision_generic_cooperation.dds b/gfx/interface/decisions/decision_generic_cooperation.dds new file mode 100644 index 000000000..2907fccf4 Binary files /dev/null and b/gfx/interface/decisions/decision_generic_cooperation.dds differ diff --git a/gfx/interface/decisions/decision_generic_decision.dds b/gfx/interface/decisions/decision_generic_decision.dds new file mode 100644 index 000000000..34449522e Binary files /dev/null and b/gfx/interface/decisions/decision_generic_decision.dds differ diff --git a/gfx/interface/decisions/decision_generic_farming.dds b/gfx/interface/decisions/decision_generic_farming.dds new file mode 100644 index 000000000..ef03b23c3 Binary files /dev/null and b/gfx/interface/decisions/decision_generic_farming.dds differ diff --git a/gfx/interface/decisions/decision_generic_infra.dds b/gfx/interface/decisions/decision_generic_infra.dds new file mode 100644 index 000000000..8148bc970 Binary files /dev/null and b/gfx/interface/decisions/decision_generic_infra.dds differ diff --git a/gfx/interface/decisions/decision_generic_naval.dds b/gfx/interface/decisions/decision_generic_naval.dds new file mode 100644 index 000000000..13180d913 Binary files /dev/null and b/gfx/interface/decisions/decision_generic_naval.dds differ diff --git a/gfx/interface/decisions/decision_generic_operation.dds b/gfx/interface/decisions/decision_generic_operation.dds new file mode 100644 index 000000000..0ae967e35 Binary files /dev/null and b/gfx/interface/decisions/decision_generic_operation.dds differ diff --git a/gfx/interface/decisions/decision_generic_plot.dds b/gfx/interface/decisions/decision_generic_plot.dds new file mode 100644 index 000000000..b39e8115c Binary files /dev/null and b/gfx/interface/decisions/decision_generic_plot.dds differ diff --git a/gfx/interface/decisions/decision_generic_research.dds b/gfx/interface/decisions/decision_generic_research.dds new file mode 100644 index 000000000..bfba2cf0a Binary files /dev/null and b/gfx/interface/decisions/decision_generic_research.dds differ diff --git a/gfx/interface/decisions/decision_generic_treasure.dds b/gfx/interface/decisions/decision_generic_treasure.dds new file mode 100644 index 000000000..e08ac441b Binary files /dev/null and b/gfx/interface/decisions/decision_generic_treasure.dds differ diff --git a/gfx/interface/decisions/decision_gondor.dds b/gfx/interface/decisions/decision_gondor.dds new file mode 100644 index 000000000..b04eee83a Binary files /dev/null and b/gfx/interface/decisions/decision_gondor.dds differ diff --git a/gfx/interface/decisions/decision_gondor_democratic_flag.dds b/gfx/interface/decisions/decision_gondor_democratic_flag.dds deleted file mode 100644 index e291b52c1..000000000 Binary files a/gfx/interface/decisions/decision_gondor_democratic_flag.dds and /dev/null differ diff --git a/gfx/interface/decisions/decision_grey_havens.dds b/gfx/interface/decisions/decision_grey_havens.dds new file mode 100644 index 000000000..dceac9438 Binary files /dev/null and b/gfx/interface/decisions/decision_grey_havens.dds differ diff --git a/gfx/interface/decisions/decision_harad_fascism.dds b/gfx/interface/decisions/decision_harad_fascism.dds new file mode 100644 index 000000000..de60cbd4a Binary files /dev/null and b/gfx/interface/decisions/decision_harad_fascism.dds differ diff --git a/gfx/interface/decisions/decision_harad_fascism_flag.dds b/gfx/interface/decisions/decision_harad_fascism_flag.dds deleted file mode 100644 index 32cf51567..000000000 Binary files a/gfx/interface/decisions/decision_harad_fascism_flag.dds and /dev/null differ diff --git a/gfx/interface/decisions/decision_knights.dds b/gfx/interface/decisions/decision_knights.dds new file mode 100644 index 000000000..33b2a12ba Binary files /dev/null and b/gfx/interface/decisions/decision_knights.dds differ diff --git a/gfx/interface/decisions/decision_lth_mirror.dds b/gfx/interface/decisions/decision_lth_mirror.dds new file mode 100644 index 000000000..588a460a6 Binary files /dev/null and b/gfx/interface/decisions/decision_lth_mirror.dds differ diff --git a/gfx/interface/decisions/decision_nazgul.dds b/gfx/interface/decisions/decision_nazgul.dds new file mode 100644 index 000000000..ec96b561c Binary files /dev/null and b/gfx/interface/decisions/decision_nazgul.dds differ diff --git a/gfx/interface/decisions/decision_operation_2.dds b/gfx/interface/decisions/decision_operation_2.dds new file mode 100644 index 000000000..1ea4295c5 Binary files /dev/null and b/gfx/interface/decisions/decision_operation_2.dds differ diff --git a/gfx/interface/decisions/decision_orcs.dds b/gfx/interface/decisions/decision_orcs.dds new file mode 100644 index 000000000..c42c19c0d Binary files /dev/null and b/gfx/interface/decisions/decision_orcs.dds differ diff --git a/gfx/interface/decisions/decision_orcs_2.dds b/gfx/interface/decisions/decision_orcs_2.dds new file mode 100644 index 000000000..e3e031651 Binary files /dev/null and b/gfx/interface/decisions/decision_orcs_2.dds differ diff --git a/gfx/interface/decisions/decision_orcs_3.dds b/gfx/interface/decisions/decision_orcs_3.dds new file mode 100644 index 000000000..bc3b3b6b1 Binary files /dev/null and b/gfx/interface/decisions/decision_orcs_3.dds differ diff --git a/gfx/interface/decisions/decision_orcs_4.dds b/gfx/interface/decisions/decision_orcs_4.dds new file mode 100644 index 000000000..958482f8b Binary files /dev/null and b/gfx/interface/decisions/decision_orcs_4.dds differ diff --git a/gfx/interface/decisions/decision_orcs_5.dds b/gfx/interface/decisions/decision_orcs_5.dds new file mode 100644 index 000000000..d633d2fc4 Binary files /dev/null and b/gfx/interface/decisions/decision_orcs_5.dds differ diff --git a/gfx/interface/decisions/decision_revolt.dds b/gfx/interface/decisions/decision_revolt.dds new file mode 100644 index 000000000..c1cd8d3bb Binary files /dev/null and b/gfx/interface/decisions/decision_revolt.dds differ diff --git a/gfx/interface/decisions/decision_ring.dds b/gfx/interface/decisions/decision_ring.dds new file mode 100644 index 000000000..55c2a39b1 Binary files /dev/null and b/gfx/interface/decisions/decision_ring.dds differ diff --git a/gfx/interface/decisions/decision_rohan.dds b/gfx/interface/decisions/decision_rohan.dds new file mode 100644 index 000000000..11fb42d1f Binary files /dev/null and b/gfx/interface/decisions/decision_rohan.dds differ diff --git a/gfx/interface/decisions/decision_rohan_democratic_flag.dds b/gfx/interface/decisions/decision_rohan_democratic_flag.dds deleted file mode 100644 index e62a820c8..000000000 Binary files a/gfx/interface/decisions/decision_rohan_democratic_flag.dds and /dev/null differ diff --git a/gfx/interface/decisions/decision_sauron_eye.dds b/gfx/interface/decisions/decision_sauron_eye.dds new file mode 100644 index 000000000..da627ec5e Binary files /dev/null and b/gfx/interface/decisions/decision_sauron_eye.dds differ diff --git a/gfx/interface/decisions/decision_unknown.dds b/gfx/interface/decisions/decision_unknown.dds new file mode 100644 index 000000000..f31ca8939 Binary files /dev/null and b/gfx/interface/decisions/decision_unknown.dds differ diff --git a/gfx/interface/decisions/elven_alliance/abstain_button.dds b/gfx/interface/decisions/elven_alliance/abstain_button.dds new file mode 100644 index 000000000..5b4093597 Binary files /dev/null and b/gfx/interface/decisions/elven_alliance/abstain_button.dds differ diff --git a/gfx/interface/decisions/elven_alliance/ea_resolutions_numberoverlay.dds b/gfx/interface/decisions/elven_alliance/ea_resolutions_numberoverlay.dds new file mode 100644 index 000000000..b911f3310 Binary files /dev/null and b/gfx/interface/decisions/elven_alliance/ea_resolutions_numberoverlay.dds differ diff --git a/gfx/interface/decisions/elven_alliance/ea_trees.psd b/gfx/interface/decisions/elven_alliance/ea_trees.psd new file mode 100644 index 000000000..dfcbda3a9 Binary files /dev/null and b/gfx/interface/decisions/elven_alliance/ea_trees.psd differ diff --git a/gfx/interface/decisions/elven_alliance/elven_alliance_bg.dds b/gfx/interface/decisions/elven_alliance/elven_alliance_bg.dds new file mode 100644 index 000000000..13bf4a6d7 Binary files /dev/null and b/gfx/interface/decisions/elven_alliance/elven_alliance_bg.dds differ diff --git a/gfx/interface/decisions/elven_alliance/elven_alliance_decisions_bg.dds b/gfx/interface/decisions/elven_alliance/elven_alliance_decisions_bg.dds new file mode 100644 index 000000000..aa2b6de43 Binary files /dev/null and b/gfx/interface/decisions/elven_alliance/elven_alliance_decisions_bg.dds differ diff --git a/gfx/interface/decisions/elven_alliance/elven_alliance_decisions_bg_count.dds b/gfx/interface/decisions/elven_alliance/elven_alliance_decisions_bg_count.dds new file mode 100644 index 000000000..06dc794f5 Binary files /dev/null and b/gfx/interface/decisions/elven_alliance/elven_alliance_decisions_bg_count.dds differ diff --git a/gfx/interface/decisions/elven_alliance/elven_alliance_decisions_vote_against.dds b/gfx/interface/decisions/elven_alliance/elven_alliance_decisions_vote_against.dds new file mode 100644 index 000000000..07f040072 Binary files /dev/null and b/gfx/interface/decisions/elven_alliance/elven_alliance_decisions_vote_against.dds differ diff --git a/gfx/interface/decisions/elven_alliance/elven_alliance_decisions_vote_in_favour.dds b/gfx/interface/decisions/elven_alliance/elven_alliance_decisions_vote_in_favour.dds new file mode 100644 index 000000000..3321bf5cc Binary files /dev/null and b/gfx/interface/decisions/elven_alliance/elven_alliance_decisions_vote_in_favour.dds differ diff --git a/gfx/interface/decisions/elven_alliance/elven_alliance_memberlist.dds b/gfx/interface/decisions/elven_alliance/elven_alliance_memberlist.dds new file mode 100644 index 000000000..ae46dee30 Binary files /dev/null and b/gfx/interface/decisions/elven_alliance/elven_alliance_memberlist.dds differ diff --git a/gfx/interface/decisions/elven_alliance/proposal_queue_entry_bg.dds b/gfx/interface/decisions/elven_alliance/proposal_queue_entry_bg.dds new file mode 100644 index 000000000..a796769fc Binary files /dev/null and b/gfx/interface/decisions/elven_alliance/proposal_queue_entry_bg.dds differ diff --git a/gfx/interface/decisions/elven_alliance/vote_against_button.dds b/gfx/interface/decisions/elven_alliance/vote_against_button.dds new file mode 100644 index 000000000..5d3ac5f24 Binary files /dev/null and b/gfx/interface/decisions/elven_alliance/vote_against_button.dds differ diff --git a/gfx/interface/decisions/elven_alliance/vote_in_favour_button.dds b/gfx/interface/decisions/elven_alliance/vote_in_favour_button.dds new file mode 100644 index 000000000..680bf9436 Binary files /dev/null and b/gfx/interface/decisions/elven_alliance/vote_in_favour_button.dds differ diff --git a/gfx/interface/decisions/ithilien_crisis/decision_knights_0.dds b/gfx/interface/decisions/ithilien_crisis/decision_knights_0.dds new file mode 100644 index 000000000..8533f5fe4 Binary files /dev/null and b/gfx/interface/decisions/ithilien_crisis/decision_knights_0.dds differ diff --git a/gfx/interface/decisions/ithilien_crisis/decision_knights_1.dds b/gfx/interface/decisions/ithilien_crisis/decision_knights_1.dds new file mode 100644 index 000000000..2623723c1 Binary files /dev/null and b/gfx/interface/decisions/ithilien_crisis/decision_knights_1.dds differ diff --git a/gfx/interface/decisions/ithilien_crisis/decision_knights_2.dds b/gfx/interface/decisions/ithilien_crisis/decision_knights_2.dds new file mode 100644 index 000000000..3f9b8014d Binary files /dev/null and b/gfx/interface/decisions/ithilien_crisis/decision_knights_2.dds differ diff --git a/gfx/interface/decisions/ithilien_crisis/decision_knights_3.dds b/gfx/interface/decisions/ithilien_crisis/decision_knights_3.dds new file mode 100644 index 000000000..70b95b827 Binary files /dev/null and b/gfx/interface/decisions/ithilien_crisis/decision_knights_3.dds differ diff --git a/gfx/interface/decisions/ithilien_crisis/decision_orcs_5_0.dds b/gfx/interface/decisions/ithilien_crisis/decision_orcs_5_0.dds new file mode 100644 index 000000000..904c22b14 Binary files /dev/null and b/gfx/interface/decisions/ithilien_crisis/decision_orcs_5_0.dds differ diff --git a/gfx/interface/decisions/ithilien_crisis/decision_orcs_5_1.dds b/gfx/interface/decisions/ithilien_crisis/decision_orcs_5_1.dds new file mode 100644 index 000000000..0eab87cfb Binary files /dev/null and b/gfx/interface/decisions/ithilien_crisis/decision_orcs_5_1.dds differ diff --git a/gfx/interface/decisions/ithilien_crisis/decision_orcs_5_2.dds b/gfx/interface/decisions/ithilien_crisis/decision_orcs_5_2.dds new file mode 100644 index 000000000..e899ff6ec Binary files /dev/null and b/gfx/interface/decisions/ithilien_crisis/decision_orcs_5_2.dds differ diff --git a/gfx/interface/decisions/ithilien_crisis/decision_orcs_5_3.dds b/gfx/interface/decisions/ithilien_crisis/decision_orcs_5_3.dds new file mode 100644 index 000000000..f48a75e92 Binary files /dev/null and b/gfx/interface/decisions/ithilien_crisis/decision_orcs_5_3.dds differ diff --git a/gfx/interface/decisions/ithilien_crisis/ithc_map_1_cont.dds b/gfx/interface/decisions/ithilien_crisis/ithc_map_1_cont.dds new file mode 100644 index 000000000..823ef740b Binary files /dev/null and b/gfx/interface/decisions/ithilien_crisis/ithc_map_1_cont.dds differ diff --git a/gfx/interface/decisions/ithilien_crisis/ithc_map_1_gon.dds b/gfx/interface/decisions/ithilien_crisis/ithc_map_1_gon.dds new file mode 100644 index 000000000..eed4238ac Binary files /dev/null and b/gfx/interface/decisions/ithilien_crisis/ithc_map_1_gon.dds differ diff --git a/gfx/interface/decisions/ithilien_crisis/ithc_map_1_mor.dds b/gfx/interface/decisions/ithilien_crisis/ithc_map_1_mor.dds new file mode 100644 index 000000000..143d0ec25 Binary files /dev/null and b/gfx/interface/decisions/ithilien_crisis/ithc_map_1_mor.dds differ diff --git a/gfx/interface/decisions/ithilien_crisis/ithc_map_2_cont.dds b/gfx/interface/decisions/ithilien_crisis/ithc_map_2_cont.dds new file mode 100644 index 000000000..e4779b619 Binary files /dev/null and b/gfx/interface/decisions/ithilien_crisis/ithc_map_2_cont.dds differ diff --git a/gfx/interface/decisions/ithilien_crisis/ithc_map_2_gon.dds b/gfx/interface/decisions/ithilien_crisis/ithc_map_2_gon.dds new file mode 100644 index 000000000..5e3d5a9cf Binary files /dev/null and b/gfx/interface/decisions/ithilien_crisis/ithc_map_2_gon.dds differ diff --git a/gfx/interface/decisions/ithilien_crisis/ithc_map_2_mor.dds b/gfx/interface/decisions/ithilien_crisis/ithc_map_2_mor.dds new file mode 100644 index 000000000..53d655f27 Binary files /dev/null and b/gfx/interface/decisions/ithilien_crisis/ithc_map_2_mor.dds differ diff --git a/gfx/interface/decisions/ithilien_crisis/ithc_map_3_cont.dds b/gfx/interface/decisions/ithilien_crisis/ithc_map_3_cont.dds new file mode 100644 index 000000000..191c2340b Binary files /dev/null and b/gfx/interface/decisions/ithilien_crisis/ithc_map_3_cont.dds differ diff --git a/gfx/interface/decisions/ithilien_crisis/ithc_map_3_gon.dds b/gfx/interface/decisions/ithilien_crisis/ithc_map_3_gon.dds new file mode 100644 index 000000000..b58074e66 Binary files /dev/null and b/gfx/interface/decisions/ithilien_crisis/ithc_map_3_gon.dds differ diff --git a/gfx/interface/decisions/ithilien_crisis/ithc_map_3_mor.dds b/gfx/interface/decisions/ithilien_crisis/ithc_map_3_mor.dds new file mode 100644 index 000000000..a5f0a3952 Binary files /dev/null and b/gfx/interface/decisions/ithilien_crisis/ithc_map_3_mor.dds differ diff --git a/gfx/interface/decisions/ithilien_crisis/ithc_map_4_cont.dds b/gfx/interface/decisions/ithilien_crisis/ithc_map_4_cont.dds new file mode 100644 index 000000000..c1738b307 Binary files /dev/null and b/gfx/interface/decisions/ithilien_crisis/ithc_map_4_cont.dds differ diff --git a/gfx/interface/decisions/ithilien_crisis/ithc_map_4_gon.dds b/gfx/interface/decisions/ithilien_crisis/ithc_map_4_gon.dds new file mode 100644 index 000000000..339b88362 Binary files /dev/null and b/gfx/interface/decisions/ithilien_crisis/ithc_map_4_gon.dds differ diff --git a/gfx/interface/decisions/ithilien_crisis/ithc_map_4_mor.dds b/gfx/interface/decisions/ithilien_crisis/ithc_map_4_mor.dds new file mode 100644 index 000000000..5b4957d82 Binary files /dev/null and b/gfx/interface/decisions/ithilien_crisis/ithc_map_4_mor.dds differ diff --git a/gfx/interface/decisions/ithilien_crisis/ithc_map_base.dds b/gfx/interface/decisions/ithilien_crisis/ithc_map_base.dds new file mode 100644 index 000000000..e9e40a781 Binary files /dev/null and b/gfx/interface/decisions/ithilien_crisis/ithc_map_base.dds differ diff --git a/gfx/interface/decisions/ithilien_crisis/ithc_pillage_hp_bar_0.dds b/gfx/interface/decisions/ithilien_crisis/ithc_pillage_hp_bar_0.dds new file mode 100644 index 000000000..2f2927076 Binary files /dev/null and b/gfx/interface/decisions/ithilien_crisis/ithc_pillage_hp_bar_0.dds differ diff --git a/gfx/interface/decisions/ithilien_crisis/ithc_pillage_hp_bar_1.dds b/gfx/interface/decisions/ithilien_crisis/ithc_pillage_hp_bar_1.dds new file mode 100644 index 000000000..f432e3dc4 Binary files /dev/null and b/gfx/interface/decisions/ithilien_crisis/ithc_pillage_hp_bar_1.dds differ diff --git a/gfx/interface/decisions/ithilien_crisis/ithc_pillage_hp_bar_2.dds b/gfx/interface/decisions/ithilien_crisis/ithc_pillage_hp_bar_2.dds new file mode 100644 index 000000000..0196e636c Binary files /dev/null and b/gfx/interface/decisions/ithilien_crisis/ithc_pillage_hp_bar_2.dds differ diff --git a/gfx/interface/decisions/ithilien_crisis/ithc_pillage_hp_bar_3.dds b/gfx/interface/decisions/ithilien_crisis/ithc_pillage_hp_bar_3.dds new file mode 100644 index 000000000..e53c7b757 Binary files /dev/null and b/gfx/interface/decisions/ithilien_crisis/ithc_pillage_hp_bar_3.dds differ diff --git a/gfx/interface/decisions/lothlorien_influence/banner.dds b/gfx/interface/decisions/lothlorien_influence/banner.dds new file mode 100644 index 000000000..c82bc89f2 Binary files /dev/null and b/gfx/interface/decisions/lothlorien_influence/banner.dds differ diff --git a/gfx/interface/decisions/lothlorien_influence/halfelves_emblem.dds b/gfx/interface/decisions/lothlorien_influence/halfelves_emblem.dds new file mode 100644 index 000000000..a2d85d212 Binary files /dev/null and b/gfx/interface/decisions/lothlorien_influence/halfelves_emblem.dds differ diff --git a/gfx/interface/decisions/lothlorien_influence/halfelves_emblem_label.dds b/gfx/interface/decisions/lothlorien_influence/halfelves_emblem_label.dds new file mode 100644 index 000000000..15e7dfb11 Binary files /dev/null and b/gfx/interface/decisions/lothlorien_influence/halfelves_emblem_label.dds differ diff --git a/gfx/interface/decisions/lothlorien_influence/lothlorien_influence_bg.dds b/gfx/interface/decisions/lothlorien_influence/lothlorien_influence_bg.dds new file mode 100644 index 000000000..39f96b635 Binary files /dev/null and b/gfx/interface/decisions/lothlorien_influence/lothlorien_influence_bg.dds differ diff --git a/gfx/interface/decisions/lothlorien_influence/nandor_emblem.dds b/gfx/interface/decisions/lothlorien_influence/nandor_emblem.dds new file mode 100644 index 000000000..e4fcd5fc6 Binary files /dev/null and b/gfx/interface/decisions/lothlorien_influence/nandor_emblem.dds differ diff --git a/gfx/interface/decisions/lothlorien_influence/nandor_emblem_label.dds b/gfx/interface/decisions/lothlorien_influence/nandor_emblem_label.dds new file mode 100644 index 000000000..f60068010 Binary files /dev/null and b/gfx/interface/decisions/lothlorien_influence/nandor_emblem_label.dds differ diff --git a/gfx/interface/decisions/lothlorien_influence/noldor_emblem.dds b/gfx/interface/decisions/lothlorien_influence/noldor_emblem.dds new file mode 100644 index 000000000..e584fc9bd Binary files /dev/null and b/gfx/interface/decisions/lothlorien_influence/noldor_emblem.dds differ diff --git a/gfx/interface/decisions/lothlorien_influence/noldor_emblem_label.dds b/gfx/interface/decisions/lothlorien_influence/noldor_emblem_label.dds new file mode 100644 index 000000000..6e590c7dc Binary files /dev/null and b/gfx/interface/decisions/lothlorien_influence/noldor_emblem_label.dds differ diff --git a/gfx/interface/decisions/lothlorien_influence/nonelves_emblem.dds b/gfx/interface/decisions/lothlorien_influence/nonelves_emblem.dds new file mode 100644 index 000000000..a63a381a4 Binary files /dev/null and b/gfx/interface/decisions/lothlorien_influence/nonelves_emblem.dds differ diff --git a/gfx/interface/decisions/lothlorien_influence/nonelves_emblem_label.dds b/gfx/interface/decisions/lothlorien_influence/nonelves_emblem_label.dds new file mode 100644 index 000000000..7ef2db314 Binary files /dev/null and b/gfx/interface/decisions/lothlorien_influence/nonelves_emblem_label.dds differ diff --git a/gfx/interface/decisions/lothlorien_influence/orcs_emblem.dds b/gfx/interface/decisions/lothlorien_influence/orcs_emblem.dds new file mode 100644 index 000000000..78d123271 Binary files /dev/null and b/gfx/interface/decisions/lothlorien_influence/orcs_emblem.dds differ diff --git a/gfx/interface/decisions/lothlorien_influence/orcs_emblem_label.dds b/gfx/interface/decisions/lothlorien_influence/orcs_emblem_label.dds new file mode 100644 index 000000000..cd2ce879e Binary files /dev/null and b/gfx/interface/decisions/lothlorien_influence/orcs_emblem_label.dds differ diff --git a/gfx/interface/decisions/lothlorien_influence/sindar_emblem.dds b/gfx/interface/decisions/lothlorien_influence/sindar_emblem.dds new file mode 100644 index 000000000..60783deb6 Binary files /dev/null and b/gfx/interface/decisions/lothlorien_influence/sindar_emblem.dds differ diff --git a/gfx/interface/decisions/lothlorien_influence/sindar_emblem_label.dds b/gfx/interface/decisions/lothlorien_influence/sindar_emblem_label.dds new file mode 100644 index 000000000..3bcf2e34b Binary files /dev/null and b/gfx/interface/decisions/lothlorien_influence/sindar_emblem_label.dds differ diff --git a/gfx/interface/decisions/lth_mirror/mirror_bg.dds b/gfx/interface/decisions/lth_mirror/mirror_bg.dds new file mode 100644 index 000000000..467088e7e Binary files /dev/null and b/gfx/interface/decisions/lth_mirror/mirror_bg.dds differ diff --git a/gfx/interface/decisions/unmasked/decision_assembly.dds b/gfx/interface/decisions/unmasked/decision_assembly.dds new file mode 100644 index 000000000..dc9fb1761 Binary files /dev/null and b/gfx/interface/decisions/unmasked/decision_assembly.dds differ diff --git a/gfx/interface/decisions/unmasked/decision_beacons.dds b/gfx/interface/decisions/unmasked/decision_beacons.dds new file mode 100644 index 000000000..94aba2019 Binary files /dev/null and b/gfx/interface/decisions/unmasked/decision_beacons.dds differ diff --git a/gfx/interface/decisions/unmasked/decision_dorwinion_fascism.dds b/gfx/interface/decisions/unmasked/decision_dorwinion_fascism.dds new file mode 100644 index 000000000..564e76865 Binary files /dev/null and b/gfx/interface/decisions/unmasked/decision_dorwinion_fascism.dds differ diff --git a/gfx/interface/decisions/unmasked/decision_generic_1.dds b/gfx/interface/decisions/unmasked/decision_generic_1.dds new file mode 100644 index 000000000..ddfa0b529 Binary files /dev/null and b/gfx/interface/decisions/unmasked/decision_generic_1.dds differ diff --git a/gfx/interface/decisions/unmasked/decision_generic_2.dds b/gfx/interface/decisions/unmasked/decision_generic_2.dds new file mode 100644 index 000000000..4bd39ac3e Binary files /dev/null and b/gfx/interface/decisions/unmasked/decision_generic_2.dds differ diff --git a/gfx/interface/decisions/unmasked/decision_generic_3.dds b/gfx/interface/decisions/unmasked/decision_generic_3.dds new file mode 100644 index 000000000..7b7bbb981 Binary files /dev/null and b/gfx/interface/decisions/unmasked/decision_generic_3.dds differ diff --git a/gfx/interface/decisions/unmasked/decision_generic_4.dds b/gfx/interface/decisions/unmasked/decision_generic_4.dds new file mode 100644 index 000000000..8d670871e Binary files /dev/null and b/gfx/interface/decisions/unmasked/decision_generic_4.dds differ diff --git a/gfx/interface/decisions/unmasked/decision_generic_5.dds b/gfx/interface/decisions/unmasked/decision_generic_5.dds new file mode 100644 index 000000000..522e8b7b3 Binary files /dev/null and b/gfx/interface/decisions/unmasked/decision_generic_5.dds differ diff --git a/gfx/interface/decisions/unmasked/decision_generic_army.dds b/gfx/interface/decisions/unmasked/decision_generic_army.dds new file mode 100644 index 000000000..3ea79ce62 Binary files /dev/null and b/gfx/interface/decisions/unmasked/decision_generic_army.dds differ diff --git a/gfx/interface/decisions/unmasked/decision_generic_army_1.dds b/gfx/interface/decisions/unmasked/decision_generic_army_1.dds new file mode 100644 index 000000000..08316d6c1 Binary files /dev/null and b/gfx/interface/decisions/unmasked/decision_generic_army_1.dds differ diff --git a/gfx/interface/decisions/unmasked/decision_generic_army_2.dds b/gfx/interface/decisions/unmasked/decision_generic_army_2.dds new file mode 100644 index 000000000..9e12f95a9 Binary files /dev/null and b/gfx/interface/decisions/unmasked/decision_generic_army_2.dds differ diff --git a/gfx/interface/decisions/unmasked/decision_generic_army_3.dds b/gfx/interface/decisions/unmasked/decision_generic_army_3.dds new file mode 100644 index 000000000..254fe954d Binary files /dev/null and b/gfx/interface/decisions/unmasked/decision_generic_army_3.dds differ diff --git a/gfx/interface/decisions/unmasked/decision_generic_authority.dds b/gfx/interface/decisions/unmasked/decision_generic_authority.dds new file mode 100644 index 000000000..5050ea0c6 Binary files /dev/null and b/gfx/interface/decisions/unmasked/decision_generic_authority.dds differ diff --git a/gfx/interface/decisions/unmasked/decision_generic_blacksmith.dds b/gfx/interface/decisions/unmasked/decision_generic_blacksmith.dds new file mode 100644 index 000000000..6e71f0490 Binary files /dev/null and b/gfx/interface/decisions/unmasked/decision_generic_blacksmith.dds differ diff --git a/gfx/interface/decisions/unmasked/decision_generic_cavalry.dds b/gfx/interface/decisions/unmasked/decision_generic_cavalry.dds new file mode 100644 index 000000000..b32950705 Binary files /dev/null and b/gfx/interface/decisions/unmasked/decision_generic_cavalry.dds differ diff --git a/gfx/interface/decisions/unmasked/decision_generic_cavalry_2.dds b/gfx/interface/decisions/unmasked/decision_generic_cavalry_2.dds new file mode 100644 index 000000000..bd3546311 Binary files /dev/null and b/gfx/interface/decisions/unmasked/decision_generic_cavalry_2.dds differ diff --git a/gfx/interface/decisions/unmasked/decision_generic_construction.dds b/gfx/interface/decisions/unmasked/decision_generic_construction.dds new file mode 100644 index 000000000..2da4cd84c Binary files /dev/null and b/gfx/interface/decisions/unmasked/decision_generic_construction.dds differ diff --git a/gfx/interface/decisions/unmasked/decision_generic_cooperation.dds b/gfx/interface/decisions/unmasked/decision_generic_cooperation.dds new file mode 100644 index 000000000..0a9287fd7 Binary files /dev/null and b/gfx/interface/decisions/unmasked/decision_generic_cooperation.dds differ diff --git a/gfx/interface/decisions/unmasked/decision_generic_decision.dds b/gfx/interface/decisions/unmasked/decision_generic_decision.dds new file mode 100644 index 000000000..14f238cb5 Binary files /dev/null and b/gfx/interface/decisions/unmasked/decision_generic_decision.dds differ diff --git a/gfx/interface/decisions/unmasked/decision_generic_farming.dds b/gfx/interface/decisions/unmasked/decision_generic_farming.dds new file mode 100644 index 000000000..fba841a6f Binary files /dev/null and b/gfx/interface/decisions/unmasked/decision_generic_farming.dds differ diff --git a/gfx/interface/decisions/unmasked/decision_generic_infra.dds b/gfx/interface/decisions/unmasked/decision_generic_infra.dds new file mode 100644 index 000000000..6af8ba622 Binary files /dev/null and b/gfx/interface/decisions/unmasked/decision_generic_infra.dds differ diff --git a/gfx/interface/decisions/unmasked/decision_generic_naval.dds b/gfx/interface/decisions/unmasked/decision_generic_naval.dds new file mode 100644 index 000000000..5e5fe873f Binary files /dev/null and b/gfx/interface/decisions/unmasked/decision_generic_naval.dds differ diff --git a/gfx/interface/decisions/unmasked/decision_generic_operation.dds b/gfx/interface/decisions/unmasked/decision_generic_operation.dds new file mode 100644 index 000000000..7a3299a85 Binary files /dev/null and b/gfx/interface/decisions/unmasked/decision_generic_operation.dds differ diff --git a/gfx/interface/decisions/unmasked/decision_generic_plot.dds b/gfx/interface/decisions/unmasked/decision_generic_plot.dds new file mode 100644 index 000000000..db7511694 Binary files /dev/null and b/gfx/interface/decisions/unmasked/decision_generic_plot.dds differ diff --git a/gfx/interface/decisions/unmasked/decision_generic_research.dds b/gfx/interface/decisions/unmasked/decision_generic_research.dds new file mode 100644 index 000000000..cf7c3a7ac Binary files /dev/null and b/gfx/interface/decisions/unmasked/decision_generic_research.dds differ diff --git a/gfx/interface/decisions/unmasked/decision_generic_treasure.dds b/gfx/interface/decisions/unmasked/decision_generic_treasure.dds new file mode 100644 index 000000000..b59ebc858 Binary files /dev/null and b/gfx/interface/decisions/unmasked/decision_generic_treasure.dds differ diff --git a/gfx/interface/decisions/unmasked/decision_gondor.dds b/gfx/interface/decisions/unmasked/decision_gondor.dds new file mode 100644 index 000000000..3e3db0309 Binary files /dev/null and b/gfx/interface/decisions/unmasked/decision_gondor.dds differ diff --git a/gfx/interface/decisions/unmasked/decision_grey_havens.dds b/gfx/interface/decisions/unmasked/decision_grey_havens.dds new file mode 100644 index 000000000..a87063e32 Binary files /dev/null and b/gfx/interface/decisions/unmasked/decision_grey_havens.dds differ diff --git a/gfx/interface/decisions/unmasked/decision_harad_fascism.dds b/gfx/interface/decisions/unmasked/decision_harad_fascism.dds new file mode 100644 index 000000000..e6bf45111 Binary files /dev/null and b/gfx/interface/decisions/unmasked/decision_harad_fascism.dds differ diff --git a/gfx/interface/decisions/unmasked/decision_knights.dds b/gfx/interface/decisions/unmasked/decision_knights.dds new file mode 100644 index 000000000..a00ae1a48 Binary files /dev/null and b/gfx/interface/decisions/unmasked/decision_knights.dds differ diff --git a/gfx/interface/decisions/unmasked/decision_lth_mirror.dds b/gfx/interface/decisions/unmasked/decision_lth_mirror.dds new file mode 100644 index 000000000..5f937622f Binary files /dev/null and b/gfx/interface/decisions/unmasked/decision_lth_mirror.dds differ diff --git a/gfx/interface/decisions/unmasked/decision_nazgul.dds b/gfx/interface/decisions/unmasked/decision_nazgul.dds new file mode 100644 index 000000000..74291d9ce Binary files /dev/null and b/gfx/interface/decisions/unmasked/decision_nazgul.dds differ diff --git a/gfx/interface/decisions/unmasked/decision_operation_2.dds b/gfx/interface/decisions/unmasked/decision_operation_2.dds new file mode 100644 index 000000000..9d44fae8f Binary files /dev/null and b/gfx/interface/decisions/unmasked/decision_operation_2.dds differ diff --git a/gfx/interface/decisions/unmasked/decision_orcs.dds b/gfx/interface/decisions/unmasked/decision_orcs.dds new file mode 100644 index 000000000..c1da74eec Binary files /dev/null and b/gfx/interface/decisions/unmasked/decision_orcs.dds differ diff --git a/gfx/interface/decisions/unmasked/decision_orcs_2.dds b/gfx/interface/decisions/unmasked/decision_orcs_2.dds new file mode 100644 index 000000000..e64a0933a Binary files /dev/null and b/gfx/interface/decisions/unmasked/decision_orcs_2.dds differ diff --git a/gfx/interface/decisions/unmasked/decision_orcs_3.dds b/gfx/interface/decisions/unmasked/decision_orcs_3.dds new file mode 100644 index 000000000..11ca2fd8a Binary files /dev/null and b/gfx/interface/decisions/unmasked/decision_orcs_3.dds differ diff --git a/gfx/interface/decisions/unmasked/decision_orcs_4.dds b/gfx/interface/decisions/unmasked/decision_orcs_4.dds new file mode 100644 index 000000000..a7869752a Binary files /dev/null and b/gfx/interface/decisions/unmasked/decision_orcs_4.dds differ diff --git a/gfx/interface/decisions/unmasked/decision_orcs_5.dds b/gfx/interface/decisions/unmasked/decision_orcs_5.dds new file mode 100644 index 000000000..2986f5a5d Binary files /dev/null and b/gfx/interface/decisions/unmasked/decision_orcs_5.dds differ diff --git a/gfx/interface/decisions/unmasked/decision_revolt.dds b/gfx/interface/decisions/unmasked/decision_revolt.dds new file mode 100644 index 000000000..44c6a205b Binary files /dev/null and b/gfx/interface/decisions/unmasked/decision_revolt.dds differ diff --git a/gfx/interface/decisions/unmasked/decision_ring.dds b/gfx/interface/decisions/unmasked/decision_ring.dds new file mode 100644 index 000000000..b2a6f947c Binary files /dev/null and b/gfx/interface/decisions/unmasked/decision_ring.dds differ diff --git a/gfx/interface/decisions/unmasked/decision_rohan.dds b/gfx/interface/decisions/unmasked/decision_rohan.dds new file mode 100644 index 000000000..7d06a16f3 Binary files /dev/null and b/gfx/interface/decisions/unmasked/decision_rohan.dds differ diff --git a/gfx/interface/decisions/unmasked/decision_sauron_eye.dds b/gfx/interface/decisions/unmasked/decision_sauron_eye.dds new file mode 100644 index 000000000..a2323af8a Binary files /dev/null and b/gfx/interface/decisions/unmasked/decision_sauron_eye.dds differ diff --git a/gfx/interface/decisions/unmasked/decision_unknown.dds b/gfx/interface/decisions/unmasked/decision_unknown.dds new file mode 100644 index 000000000..5d5cf420c Binary files /dev/null and b/gfx/interface/decisions/unmasked/decision_unknown.dds differ diff --git a/gfx/interface/decisionview/category_header_bg.dds b/gfx/interface/decisionview/category_header_bg.dds new file mode 100644 index 000000000..97eac2764 Binary files /dev/null and b/gfx/interface/decisionview/category_header_bg.dds differ diff --git a/gfx/interface/decisionview/checkbox_small4.dds b/gfx/interface/decisionview/checkbox_small4.dds new file mode 100644 index 000000000..fd4558d87 Binary files /dev/null and b/gfx/interface/decisionview/checkbox_small4.dds differ diff --git a/gfx/interface/decisionview/checkbox_small5.dds b/gfx/interface/decisionview/checkbox_small5.dds new file mode 100644 index 000000000..bcb67a46b Binary files /dev/null and b/gfx/interface/decisionview/checkbox_small5.dds differ diff --git a/gfx/interface/decisionview/decision_item_bg.dds b/gfx/interface/decisionview/decision_item_bg.dds new file mode 100644 index 000000000..9ef352c58 Binary files /dev/null and b/gfx/interface/decisionview/decision_item_bg.dds differ diff --git a/gfx/interface/decisionview/decision_onmap_item_bg.dds b/gfx/interface/decisionview/decision_onmap_item_bg.dds new file mode 100644 index 000000000..4ebd7ba16 Binary files /dev/null and b/gfx/interface/decisionview/decision_onmap_item_bg.dds differ diff --git a/gfx/interface/decisionview/decision_select_icon_strip.dds b/gfx/interface/decisionview/decision_select_icon_strip.dds new file mode 100644 index 000000000..3001c7fbb Binary files /dev/null and b/gfx/interface/decisionview/decision_select_icon_strip.dds differ diff --git a/gfx/interface/decisionview/decision_timer_icon_strip.dds b/gfx/interface/decisionview/decision_timer_icon_strip.dds new file mode 100644 index 000000000..0631bd881 Binary files /dev/null and b/gfx/interface/decisionview/decision_timer_icon_strip.dds differ diff --git a/gfx/interface/decisionview/event_header_bg.dds b/gfx/interface/decisionview/event_header_bg.dds new file mode 100644 index 000000000..8bc7e49b4 Binary files /dev/null and b/gfx/interface/decisionview/event_header_bg.dds differ diff --git a/gfx/interface/decisionview/on_map_cost_bg.dds b/gfx/interface/decisionview/on_map_cost_bg.dds new file mode 100644 index 000000000..7dcde7648 Binary files /dev/null and b/gfx/interface/decisionview/on_map_cost_bg.dds differ diff --git a/gfx/interface/decisionview/on_map_decision_bg.dds b/gfx/interface/decisionview/on_map_decision_bg.dds new file mode 100644 index 000000000..03364536d Binary files /dev/null and b/gfx/interface/decisionview/on_map_decision_bg.dds differ diff --git a/gfx/interface/decisionview/on_map_decision_static_bg.dds b/gfx/interface/decisionview/on_map_decision_static_bg.dds new file mode 100644 index 000000000..dc5ae8390 Binary files /dev/null and b/gfx/interface/decisionview/on_map_decision_static_bg.dds differ diff --git a/gfx/interface/equipmentdesigner/graphic_db/01_bba_plane_icons.txt b/gfx/interface/equipmentdesigner/graphic_db/01_bba_plane_icons.txt deleted file mode 100644 index e69de29bb..000000000 diff --git a/gfx/interface/equipmentdesigner/graphic_db/02_lar_plane_icons.txt b/gfx/interface/equipmentdesigner/graphic_db/02_lar_plane_icons.txt deleted file mode 100644 index d71e5d5a9..000000000 --- a/gfx/interface/equipmentdesigner/graphic_db/02_lar_plane_icons.txt +++ /dev/null @@ -1 +0,0 @@ -# This file uses vanilla tags so we blank it out \ No newline at end of file diff --git a/gfx/interface/event_news_bg.dds b/gfx/interface/event_news_bg.dds index 0778b8403..11ee6c6f6 100644 Binary files a/gfx/interface/event_news_bg.dds and b/gfx/interface/event_news_bg.dds differ diff --git a/gfx/interface/event_news_pic_overlay.dds b/gfx/interface/event_news_pic_overlay.dds new file mode 100644 index 000000000..2169ec646 Binary files /dev/null and b/gfx/interface/event_news_pic_overlay.dds differ diff --git a/gfx/interface/event_option_entry.dds b/gfx/interface/event_option_entry.dds new file mode 100644 index 000000000..e6e7a9613 Binary files /dev/null and b/gfx/interface/event_option_entry.dds differ diff --git a/gfx/interface/event_report_bottom_win.dds b/gfx/interface/event_report_bottom_win.dds new file mode 100644 index 000000000..411f788a1 Binary files /dev/null and b/gfx/interface/event_report_bottom_win.dds differ diff --git a/gfx/interface/event_report_bottom_win_2.dds b/gfx/interface/event_report_bottom_win_2.dds new file mode 100644 index 000000000..1fb6cdf42 Binary files /dev/null and b/gfx/interface/event_report_bottom_win_2.dds differ diff --git a/gfx/interface/event_report_tileable_midsection.dds b/gfx/interface/event_report_tileable_midsection.dds new file mode 100644 index 000000000..a32fbcfcf Binary files /dev/null and b/gfx/interface/event_report_tileable_midsection.dds differ diff --git a/gfx/interface/event_report_top_win.dds b/gfx/interface/event_report_top_win.dds new file mode 100644 index 000000000..9a28e8e7a Binary files /dev/null and b/gfx/interface/event_report_top_win.dds differ diff --git a/gfx/interface/focus_filters/FOCUS_FILTER_BELLIGERENT.dds b/gfx/interface/focus_filters/FOCUS_FILTER_BELLIGERENT.dds new file mode 100644 index 000000000..5fa4114f0 Binary files /dev/null and b/gfx/interface/focus_filters/FOCUS_FILTER_BELLIGERENT.dds differ diff --git a/gfx/interface/focus_filters/FOCUS_FILTER_COOPERATIVE.dds b/gfx/interface/focus_filters/FOCUS_FILTER_COOPERATIVE.dds new file mode 100644 index 000000000..e7f875c9d Binary files /dev/null and b/gfx/interface/focus_filters/FOCUS_FILTER_COOPERATIVE.dds differ diff --git a/gfx/interface/focus_filters/FOCUS_FILTER_ELVEN_FACTIONS.dds b/gfx/interface/focus_filters/FOCUS_FILTER_ELVEN_FACTIONS.dds new file mode 100644 index 000000000..bbf1f9737 Binary files /dev/null and b/gfx/interface/focus_filters/FOCUS_FILTER_ELVEN_FACTIONS.dds differ diff --git a/gfx/interface/focus_filters/FOCUS_FILTER_REVOLUTIONARY.dds b/gfx/interface/focus_filters/FOCUS_FILTER_REVOLUTIONARY.dds new file mode 100644 index 000000000..ee8c39cc8 Binary files /dev/null and b/gfx/interface/focus_filters/FOCUS_FILTER_REVOLUTIONARY.dds differ diff --git a/gfx/interface/focus_filters/FOCUS_FILTER_RING.dds b/gfx/interface/focus_filters/FOCUS_FILTER_RING.dds new file mode 100644 index 000000000..32859f300 Binary files /dev/null and b/gfx/interface/focus_filters/FOCUS_FILTER_RING.dds differ diff --git a/gfx/interface/focus_filters/FOCUS_FILTER_UNALIGNED.dds b/gfx/interface/focus_filters/FOCUS_FILTER_UNALIGNED.dds new file mode 100644 index 000000000..6ec7ddbcf Binary files /dev/null and b/gfx/interface/focus_filters/FOCUS_FILTER_UNALIGNED.dds differ diff --git a/gfx/interface/focusview/focus_exlusive_link_line1.dds b/gfx/interface/focusview/focus_exlusive_link_line1.dds new file mode 100644 index 000000000..5c9fde88f Binary files /dev/null and b/gfx/interface/focusview/focus_exlusive_link_line1.dds differ diff --git a/gfx/interface/focusview/focus_exlusive_link_line2.dds b/gfx/interface/focusview/focus_exlusive_link_line2.dds new file mode 100644 index 000000000..d904768b6 Binary files /dev/null and b/gfx/interface/focusview/focus_exlusive_link_line2.dds differ diff --git a/gfx/interface/focusview/focus_link_down_left.dds b/gfx/interface/focusview/focus_link_down_left.dds new file mode 100644 index 000000000..c1c74e282 Binary files /dev/null and b/gfx/interface/focusview/focus_link_down_left.dds differ diff --git a/gfx/interface/focusview/focus_link_down_left_right.dds b/gfx/interface/focusview/focus_link_down_left_right.dds new file mode 100644 index 000000000..dfc19b63d Binary files /dev/null and b/gfx/interface/focusview/focus_link_down_left_right.dds differ diff --git a/gfx/interface/focusview/focus_link_down_right.dds b/gfx/interface/focusview/focus_link_down_right.dds new file mode 100644 index 000000000..4e858d944 Binary files /dev/null and b/gfx/interface/focusview/focus_link_down_right.dds differ diff --git a/gfx/interface/focusview/focus_link_exclusive.dds b/gfx/interface/focusview/focus_link_exclusive.dds new file mode 100644 index 000000000..80ef65677 Binary files /dev/null and b/gfx/interface/focusview/focus_link_exclusive.dds differ diff --git a/gfx/interface/focusview/focus_link_left_right.dds b/gfx/interface/focusview/focus_link_left_right.dds new file mode 100644 index 000000000..0d3fd5ce3 Binary files /dev/null and b/gfx/interface/focusview/focus_link_left_right.dds differ diff --git a/gfx/interface/focusview/focus_link_up_down.dds b/gfx/interface/focusview/focus_link_up_down.dds new file mode 100644 index 000000000..ea06a1ace Binary files /dev/null and b/gfx/interface/focusview/focus_link_up_down.dds differ diff --git a/gfx/interface/focusview/focus_link_up_down_left.dds b/gfx/interface/focusview/focus_link_up_down_left.dds new file mode 100644 index 000000000..e10a69b15 Binary files /dev/null and b/gfx/interface/focusview/focus_link_up_down_left.dds differ diff --git a/gfx/interface/focusview/focus_link_up_down_left_right.dds b/gfx/interface/focusview/focus_link_up_down_left_right.dds new file mode 100644 index 000000000..ee17f0af2 Binary files /dev/null and b/gfx/interface/focusview/focus_link_up_down_left_right.dds differ diff --git a/gfx/interface/focusview/focus_link_up_down_right.dds b/gfx/interface/focusview/focus_link_up_down_right.dds new file mode 100644 index 000000000..f76468d48 Binary files /dev/null and b/gfx/interface/focusview/focus_link_up_down_right.dds differ diff --git a/gfx/interface/focusview/focus_link_up_left.dds b/gfx/interface/focusview/focus_link_up_left.dds new file mode 100644 index 000000000..0a5870da6 Binary files /dev/null and b/gfx/interface/focusview/focus_link_up_left.dds differ diff --git a/gfx/interface/focusview/focus_link_up_left_right.dds b/gfx/interface/focusview/focus_link_up_left_right.dds new file mode 100644 index 000000000..148ebcd22 Binary files /dev/null and b/gfx/interface/focusview/focus_link_up_left_right.dds differ diff --git a/gfx/interface/focusview/focus_link_up_right.dds b/gfx/interface/focusview/focus_link_up_right.dds new file mode 100644 index 000000000..7791fba7c Binary files /dev/null and b/gfx/interface/focusview/focus_link_up_right.dds differ diff --git a/gfx/interface/focusview/focuslink.dds b/gfx/interface/focusview/focuslink.dds new file mode 100644 index 000000000..4c304f44f Binary files /dev/null and b/gfx/interface/focusview/focuslink.dds differ diff --git a/gfx/interface/focusview/titlebar/focus_can_start_bg.dds b/gfx/interface/focusview/titlebar/focus_can_start_bg.dds new file mode 100644 index 000000000..654d07bf6 Binary files /dev/null and b/gfx/interface/focusview/titlebar/focus_can_start_bg.dds differ diff --git a/gfx/interface/focusview/titlebar/focus_can_start_joint_bg.dds b/gfx/interface/focusview/titlebar/focus_can_start_joint_bg.dds new file mode 100644 index 000000000..9b593223e Binary files /dev/null and b/gfx/interface/focusview/titlebar/focus_can_start_joint_bg.dds differ diff --git a/gfx/interface/focusview/titlebar/focus_completed_bg.dds b/gfx/interface/focusview/titlebar/focus_completed_bg.dds new file mode 100644 index 000000000..49f0a3eb3 Binary files /dev/null and b/gfx/interface/focusview/titlebar/focus_completed_bg.dds differ diff --git a/gfx/interface/focusview/titlebar/focus_completed_joint_bg.dds b/gfx/interface/focusview/titlebar/focus_completed_joint_bg.dds new file mode 100644 index 000000000..e46b7877d Binary files /dev/null and b/gfx/interface/focusview/titlebar/focus_completed_joint_bg.dds differ diff --git a/gfx/interface/focusview/titlebar/focus_unavailable_bg.dds b/gfx/interface/focusview/titlebar/focus_unavailable_bg.dds new file mode 100644 index 000000000..2a80099e8 Binary files /dev/null and b/gfx/interface/focusview/titlebar/focus_unavailable_bg.dds differ diff --git a/gfx/interface/focusview/titlebar/focus_unavailable_joint_bg.dds b/gfx/interface/focusview/titlebar/focus_unavailable_joint_bg.dds new file mode 100644 index 000000000..47f2b7966 Binary files /dev/null and b/gfx/interface/focusview/titlebar/focus_unavailable_joint_bg.dds differ diff --git a/gfx/interface/fs_maps/misc/ring_corruption_bg.dds b/gfx/interface/fs_maps/misc/ring_corruption_bg.dds new file mode 100644 index 000000000..5678f92d1 Binary files /dev/null and b/gfx/interface/fs_maps/misc/ring_corruption_bg.dds differ diff --git a/gfx/interface/goals/ANG/GFX_goal_angmar_unalligned.dds b/gfx/interface/goals/ANG/GFX_goal_angmar_unalligned.dds new file mode 100644 index 000000000..6dcac495e Binary files /dev/null and b/gfx/interface/goals/ANG/GFX_goal_angmar_unalligned.dds differ diff --git a/gfx/interface/goals/GON/GFX_goal_arnor.dds b/gfx/interface/goals/GON/GFX_goal_arnor.dds new file mode 100644 index 000000000..1bc6606cd Binary files /dev/null and b/gfx/interface/goals/GON/GFX_goal_arnor.dds differ diff --git a/gfx/interface/goals/GON/GFX_goal_dol_amroth.dds b/gfx/interface/goals/GON/GFX_goal_dol_amroth.dds new file mode 100644 index 000000000..601210025 Binary files /dev/null and b/gfx/interface/goals/GON/GFX_goal_dol_amroth.dds differ diff --git a/gfx/interface/goals/GON/GFX_goal_gon_dam_propaganda.dds b/gfx/interface/goals/GON/GFX_goal_gon_dam_propaganda.dds new file mode 100644 index 000000000..5f83a99dc Binary files /dev/null and b/gfx/interface/goals/GON/GFX_goal_gon_dam_propaganda.dds differ diff --git a/gfx/interface/goals/GON/designs/GFX_goal_arnor.pdn b/gfx/interface/goals/GON/designs/GFX_goal_arnor.pdn new file mode 100644 index 000000000..556cba722 Binary files /dev/null and b/gfx/interface/goals/GON/designs/GFX_goal_arnor.pdn differ diff --git a/gfx/interface/goals/GON/designs/GFX_goal_dol_amroth.pdn b/gfx/interface/goals/GON/designs/GFX_goal_dol_amroth.pdn new file mode 100644 index 000000000..74cb18aaa Binary files /dev/null and b/gfx/interface/goals/GON/designs/GFX_goal_dol_amroth.pdn differ diff --git a/gfx/interface/goals/GON/designs/GFX_goal_dol_amroth_gondor_propaganda.pdn b/gfx/interface/goals/GON/designs/GFX_goal_dol_amroth_gondor_propaganda.pdn new file mode 100644 index 000000000..47bdc3293 Binary files /dev/null and b/gfx/interface/goals/GON/designs/GFX_goal_dol_amroth_gondor_propaganda.pdn differ diff --git a/gfx/interface/goals/GON/gon_defame_isildurs_lineage.dds b/gfx/interface/goals/GON/gon_defame_isildurs_lineage.dds new file mode 100644 index 000000000..24cee92e9 Binary files /dev/null and b/gfx/interface/goals/GON/gon_defame_isildurs_lineage.dds differ diff --git a/gfx/interface/goals/GON/gon_ensure_popular_support.dds b/gfx/interface/goals/GON/gon_ensure_popular_support.dds new file mode 100644 index 000000000..5faa9ed60 Binary files /dev/null and b/gfx/interface/goals/GON/gon_ensure_popular_support.dds differ diff --git a/gfx/interface/goals/GON/gon_gain_favour_with_the_elves.dds b/gfx/interface/goals/GON/gon_gain_favour_with_the_elves.dds new file mode 100644 index 000000000..469dccc38 Binary files /dev/null and b/gfx/interface/goals/GON/gon_gain_favour_with_the_elves.dds differ diff --git a/gfx/interface/goals/GON/gon_gondor_needs_no_king.dds b/gfx/interface/goals/GON/gon_gondor_needs_no_king.dds new file mode 100644 index 000000000..9fc771e04 Binary files /dev/null and b/gfx/interface/goals/GON/gon_gondor_needs_no_king.dds differ diff --git a/gfx/interface/goals/GON/gon_historical_claims.dds b/gfx/interface/goals/GON/gon_historical_claims.dds new file mode 100644 index 000000000..392354d12 Binary files /dev/null and b/gfx/interface/goals/GON/gon_historical_claims.dds differ diff --git a/gfx/interface/goals/GON/gon_ithc_emergency_measures.dds b/gfx/interface/goals/GON/gon_ithc_emergency_measures.dds new file mode 100644 index 000000000..0d1c7c7c7 Binary files /dev/null and b/gfx/interface/goals/GON/gon_ithc_emergency_measures.dds differ diff --git a/gfx/interface/goals/GON/gon_ithc_evacuate.dds b/gfx/interface/goals/GON/gon_ithc_evacuate.dds new file mode 100644 index 000000000..a5a993e29 Binary files /dev/null and b/gfx/interface/goals/GON/gon_ithc_evacuate.dds differ diff --git a/gfx/interface/goals/GON/gon_ithc_hold_firm.dds b/gfx/interface/goals/GON/gon_ithc_hold_firm.dds new file mode 100644 index 000000000..212b1cbd9 Binary files /dev/null and b/gfx/interface/goals/GON/gon_ithc_hold_firm.dds differ diff --git a/gfx/interface/goals/GON/gon_ithilien_crisis.dds b/gfx/interface/goals/GON/gon_ithilien_crisis.dds new file mode 100644 index 000000000..9e4a8321d Binary files /dev/null and b/gfx/interface/goals/GON/gon_ithilien_crisis.dds differ diff --git a/gfx/interface/goals/GON/gon_liberate_the_capital_from_the_usurpers.dds b/gfx/interface/goals/GON/gon_liberate_the_capital_from_the_usurpers.dds new file mode 100644 index 000000000..085f8830a Binary files /dev/null and b/gfx/interface/goals/GON/gon_liberate_the_capital_from_the_usurpers.dds differ diff --git a/gfx/interface/goals/GON/gon_purge_the_aristocracy.dds b/gfx/interface/goals/GON/gon_purge_the_aristocracy.dds new file mode 100644 index 000000000..88cc71744 Binary files /dev/null and b/gfx/interface/goals/GON/gon_purge_the_aristocracy.dds differ diff --git a/gfx/interface/goals/GON/gon_rally_support_in_enedwaith.dds b/gfx/interface/goals/GON/gon_rally_support_in_enedwaith.dds new file mode 100644 index 000000000..4ad0f3a9b Binary files /dev/null and b/gfx/interface/goals/GON/gon_rally_support_in_enedwaith.dds differ diff --git a/gfx/interface/goals/GON/gon_strengthen_ties_with_angmar.dds b/gfx/interface/goals/GON/gon_strengthen_ties_with_angmar.dds new file mode 100644 index 000000000..1e9a84b5d Binary files /dev/null and b/gfx/interface/goals/GON/gon_strengthen_ties_with_angmar.dds differ diff --git a/gfx/interface/goals/GON/gon_the_peoples_fleet.dds b/gfx/interface/goals/GON/gon_the_peoples_fleet.dds new file mode 100644 index 000000000..51cec09b8 Binary files /dev/null and b/gfx/interface/goals/GON/gon_the_peoples_fleet.dds differ diff --git a/gfx/interface/goals/GON/gon_wed_faramir_to_eowyn.dds b/gfx/interface/goals/GON/gon_wed_faramir_to_eowyn.dds new file mode 100644 index 000000000..7348c5054 Binary files /dev/null and b/gfx/interface/goals/GON/gon_wed_faramir_to_eowyn.dds differ diff --git a/gfx/interface/goals/Generic/GFX_goal_generic_anvil.tga b/gfx/interface/goals/Generic/GFX_goal_generic_anvil.tga new file mode 100644 index 000000000..17836f74b Binary files /dev/null and b/gfx/interface/goals/Generic/GFX_goal_generic_anvil.tga differ diff --git a/gfx/interface/goals/Generic/GFX_goal_generic_windmile.tga b/gfx/interface/goals/Generic/GFX_goal_generic_windmile.tga new file mode 100644 index 000000000..cbe4982ec Binary files /dev/null and b/gfx/interface/goals/Generic/GFX_goal_generic_windmile.tga differ diff --git a/gfx/interface/goals/LTH/GFX_goal_bewitch_beorn.tga b/gfx/interface/goals/LTH/GFX_goal_bewitch_beorn.tga deleted file mode 100644 index 9901fd8c7..000000000 Binary files a/gfx/interface/goals/LTH/GFX_goal_bewitch_beorn.tga and /dev/null differ diff --git a/gfx/interface/goals/LTH/echoesofeldar.dds b/gfx/interface/goals/LTH/echoesofeldar.dds new file mode 100644 index 000000000..4058c8cff Binary files /dev/null and b/gfx/interface/goals/LTH/echoesofeldar.dds differ diff --git a/gfx/interface/goals/LTH/lth_abolishtermlimits.dds b/gfx/interface/goals/LTH/lth_abolishtermlimits.dds new file mode 100644 index 000000000..5e79e6d55 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_abolishtermlimits.dds differ diff --git a/gfx/interface/goals/LTH/lth_acceleratetheinevitable.dds b/gfx/interface/goals/LTH/lth_acceleratetheinevitable.dds new file mode 100644 index 000000000..9730295bf Binary files /dev/null and b/gfx/interface/goals/LTH/lth_acceleratetheinevitable.dds differ diff --git a/gfx/interface/goals/LTH/lth_acknowledgethemordorthreat.dds b/gfx/interface/goals/LTH/lth_acknowledgethemordorthreat.dds new file mode 100644 index 000000000..07e5685b8 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_acknowledgethemordorthreat.dds differ diff --git a/gfx/interface/goals/LTH/lth_aegisoflight.dds b/gfx/interface/goals/LTH/lth_aegisoflight.dds new file mode 100644 index 000000000..e77d8ccfd Binary files /dev/null and b/gfx/interface/goals/LTH/lth_aegisoflight.dds differ diff --git a/gfx/interface/goals/LTH/lth_affiliatewithlindon.dds b/gfx/interface/goals/LTH/lth_affiliatewithlindon.dds new file mode 100644 index 000000000..1f94697cd Binary files /dev/null and b/gfx/interface/goals/LTH/lth_affiliatewithlindon.dds differ diff --git a/gfx/interface/goals/LTH/lth_agestureofgoodwill.dds b/gfx/interface/goals/LTH/lth_agestureofgoodwill.dds new file mode 100644 index 000000000..a1fefa7f5 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_agestureofgoodwill.dds differ diff --git a/gfx/interface/goals/LTH/lth_aidtotheweary.dds b/gfx/interface/goals/LTH/lth_aidtotheweary.dds new file mode 100644 index 000000000..4600a2041 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_aidtotheweary.dds differ diff --git a/gfx/interface/goals/LTH/lth_alignthenobility.dds b/gfx/interface/goals/LTH/lth_alignthenobility.dds new file mode 100644 index 000000000..e79a5dd70 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_alignthenobility.dds differ diff --git a/gfx/interface/goals/LTH/lth_allianceoflight.dds b/gfx/interface/goals/LTH/lth_allianceoflight.dds new file mode 100644 index 000000000..48cb0afcc Binary files /dev/null and b/gfx/interface/goals/LTH/lth_allianceoflight.dds differ diff --git a/gfx/interface/goals/LTH/lth_allywithmen.dds b/gfx/interface/goals/LTH/lth_allywithmen.dds new file mode 100644 index 000000000..4d939964a Binary files /dev/null and b/gfx/interface/goals/LTH/lth_allywithmen.dds differ diff --git a/gfx/interface/goals/LTH/lth_amostgenerousoffer.dds b/gfx/interface/goals/LTH/lth_amostgenerousoffer.dds new file mode 100644 index 000000000..a3fbaf443 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_amostgenerousoffer.dds differ diff --git a/gfx/interface/goals/LTH/lth_ancestralechoesintandem.dds b/gfx/interface/goals/LTH/lth_ancestralechoesintandem.dds new file mode 100644 index 000000000..7efb01e08 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_ancestralechoesintandem.dds differ diff --git a/gfx/interface/goals/LTH/lth_anecessaryevil.dds b/gfx/interface/goals/LTH/lth_anecessaryevil.dds new file mode 100644 index 000000000..bcd26c6fb Binary files /dev/null and b/gfx/interface/goals/LTH/lth_anecessaryevil.dds differ diff --git a/gfx/interface/goals/LTH/lth_anelvenfellowship.dds b/gfx/interface/goals/LTH/lth_anelvenfellowship.dds new file mode 100644 index 000000000..55c282280 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_anelvenfellowship.dds differ diff --git a/gfx/interface/goals/LTH/lth_anewbeginning.dds b/gfx/interface/goals/LTH/lth_anewbeginning.dds new file mode 100644 index 000000000..09efceca8 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_anewbeginning.dds differ diff --git a/gfx/interface/goals/LTH/lth_anewbreed.dds b/gfx/interface/goals/LTH/lth_anewbreed.dds new file mode 100644 index 000000000..1e0d76eaf Binary files /dev/null and b/gfx/interface/goals/LTH/lth_anewbreed.dds differ diff --git a/gfx/interface/goals/LTH/lth_anewelvenlanguage.dds b/gfx/interface/goals/LTH/lth_anewelvenlanguage.dds new file mode 100644 index 000000000..648302dbe Binary files /dev/null and b/gfx/interface/goals/LTH/lth_anewelvenlanguage.dds differ diff --git a/gfx/interface/goals/LTH/lth_appointedrepresentatives.dds b/gfx/interface/goals/LTH/lth_appointedrepresentatives.dds new file mode 100644 index 000000000..dcdc98063 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_appointedrepresentatives.dds differ diff --git a/gfx/interface/goals/LTH/lth_asharedcause.dds b/gfx/interface/goals/LTH/lth_asharedcause.dds new file mode 100644 index 000000000..3935cf485 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_asharedcause.dds differ diff --git a/gfx/interface/goals/LTH/lth_associatewithnonelves.dds b/gfx/interface/goals/LTH/lth_associatewithnonelves.dds new file mode 100644 index 000000000..78ecb549f Binary files /dev/null and b/gfx/interface/goals/LTH/lth_associatewithnonelves.dds differ diff --git a/gfx/interface/goals/LTH/lth_atanycost.dds b/gfx/interface/goals/LTH/lth_atanycost.dds new file mode 100644 index 000000000..71811b6e7 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_atanycost.dds differ diff --git a/gfx/interface/goals/LTH/lth_atasteofempire.dds b/gfx/interface/goals/LTH/lth_atasteofempire.dds new file mode 100644 index 000000000..bf8469f69 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_atasteofempire.dds differ diff --git a/gfx/interface/goals/LTH/lth_aulescraftmanship.dds b/gfx/interface/goals/LTH/lth_aulescraftmanship.dds new file mode 100644 index 000000000..470195a36 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_aulescraftmanship.dds differ diff --git a/gfx/interface/goals/LTH/lth_beaconofhope.dds b/gfx/interface/goals/LTH/lth_beaconofhope.dds new file mode 100644 index 000000000..a9952e9d4 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_beaconofhope.dds differ diff --git a/gfx/interface/goals/LTH/lth_bideourtime.dds b/gfx/interface/goals/LTH/lth_bideourtime.dds new file mode 100644 index 000000000..70c0eeac2 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_bideourtime.dds differ diff --git a/gfx/interface/goals/LTH/lth_bladesoftheeldar.dds b/gfx/interface/goals/LTH/lth_bladesoftheeldar.dds new file mode 100644 index 000000000..817eec74f Binary files /dev/null and b/gfx/interface/goals/LTH/lth_bladesoftheeldar.dds differ diff --git a/gfx/interface/goals/LTH/lth_bondsofnature.dds b/gfx/interface/goals/LTH/lth_bondsofnature.dds new file mode 100644 index 000000000..b26742f43 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_bondsofnature.dds differ diff --git a/gfx/interface/goals/LTH/lth_breakthechainsofisolation.dds b/gfx/interface/goals/LTH/lth_breakthechainsofisolation.dds new file mode 100644 index 000000000..31f949b53 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_breakthechainsofisolation.dds differ diff --git a/gfx/interface/goals/LTH/lth_burrythemintheirholes.dds b/gfx/interface/goals/LTH/lth_burrythemintheirholes.dds new file mode 100644 index 000000000..997a9a991 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_burrythemintheirholes.dds differ diff --git a/gfx/interface/goals/LTH/lth_celeborncounsel.dds b/gfx/interface/goals/LTH/lth_celeborncounsel.dds new file mode 100644 index 000000000..c03d080d1 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_celeborncounsel.dds differ diff --git a/gfx/interface/goals/LTH/lth_celeborngaladrielaccord.dds b/gfx/interface/goals/LTH/lth_celeborngaladrielaccord.dds new file mode 100644 index 000000000..28d0f0ab6 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_celeborngaladrielaccord.dds differ diff --git a/gfx/interface/goals/LTH/lth_celebornsexile.dds b/gfx/interface/goals/LTH/lth_celebornsexile.dds new file mode 100644 index 000000000..8416ad67e Binary files /dev/null and b/gfx/interface/goals/LTH/lth_celebornsexile.dds differ diff --git a/gfx/interface/goals/LTH/lth_celebornsreforms.dds b/gfx/interface/goals/LTH/lth_celebornsreforms.dds new file mode 100644 index 000000000..bf184d0fd Binary files /dev/null and b/gfx/interface/goals/LTH/lth_celebornsreforms.dds differ diff --git a/gfx/interface/goals/LTH/lth_celebrateperendhillegends.dds b/gfx/interface/goals/LTH/lth_celebrateperendhillegends.dds new file mode 100644 index 000000000..6486087ae Binary files /dev/null and b/gfx/interface/goals/LTH/lth_celebrateperendhillegends.dds differ diff --git a/gfx/interface/goals/LTH/lth_cleansethetunnels.dds b/gfx/interface/goals/LTH/lth_cleansethetunnels.dds new file mode 100644 index 000000000..fe5bc1246 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_cleansethetunnels.dds differ diff --git a/gfx/interface/goals/LTH/lth_collectivedefenseclause.dds b/gfx/interface/goals/LTH/lth_collectivedefenseclause.dds new file mode 100644 index 000000000..3c93f40e5 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_collectivedefenseclause.dds differ diff --git a/gfx/interface/goals/LTH/lth_commemorategondolin.dds b/gfx/interface/goals/LTH/lth_commemorategondolin.dds new file mode 100644 index 000000000..1134ba275 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_commemorategondolin.dds differ diff --git a/gfx/interface/goals/LTH/lth_commemoratethecelebrantbattle.dds b/gfx/interface/goals/LTH/lth_commemoratethecelebrantbattle.dds new file mode 100644 index 000000000..afa8de7e5 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_commemoratethecelebrantbattle.dds differ diff --git a/gfx/interface/goals/LTH/lth_commercialnavigation.dds b/gfx/interface/goals/LTH/lth_commercialnavigation.dds new file mode 100644 index 000000000..e7c0685ef Binary files /dev/null and b/gfx/interface/goals/LTH/lth_commercialnavigation.dds differ diff --git a/gfx/interface/goals/LTH/lth_conscecratecarasgaladhon.dds b/gfx/interface/goals/LTH/lth_conscecratecarasgaladhon.dds new file mode 100644 index 000000000..8812d736c Binary files /dev/null and b/gfx/interface/goals/LTH/lth_conscecratecarasgaladhon.dds differ diff --git a/gfx/interface/goals/LTH/lth_conscecratecerinamroth.dds b/gfx/interface/goals/LTH/lth_conscecratecerinamroth.dds new file mode 100644 index 000000000..1d1556058 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_conscecratecerinamroth.dds differ diff --git a/gfx/interface/goals/LTH/lth_consulttheelves.dds b/gfx/interface/goals/LTH/lth_consulttheelves.dds new file mode 100644 index 000000000..a5e35b7a1 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_consulttheelves.dds differ diff --git a/gfx/interface/goals/LTH/lth_cooperatewithmirkwood.dds b/gfx/interface/goals/LTH/lth_cooperatewithmirkwood.dds new file mode 100644 index 000000000..924270ffe Binary files /dev/null and b/gfx/interface/goals/LTH/lth_cooperatewithmirkwood.dds differ diff --git a/gfx/interface/goals/LTH/lth_cooperationefforts.dds b/gfx/interface/goals/LTH/lth_cooperationefforts.dds new file mode 100644 index 000000000..5328d66b8 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_cooperationefforts.dds differ diff --git a/gfx/interface/goals/LTH/lth_coordinatedresistance.dds b/gfx/interface/goals/LTH/lth_coordinatedresistance.dds new file mode 100644 index 000000000..58e95c15d Binary files /dev/null and b/gfx/interface/goals/LTH/lth_coordinatedresistance.dds differ diff --git a/gfx/interface/goals/LTH/lth_coordinatedsanctions.dds b/gfx/interface/goals/LTH/lth_coordinatedsanctions.dds new file mode 100644 index 000000000..c917101b7 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_coordinatedsanctions.dds differ diff --git a/gfx/interface/goals/LTH/lth_culturalexchangeinitiatives.dds b/gfx/interface/goals/LTH/lth_culturalexchangeinitiatives.dds new file mode 100644 index 000000000..c0671ac69 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_culturalexchangeinitiatives.dds differ diff --git a/gfx/interface/goals/LTH/lth_deepknowledge.dds b/gfx/interface/goals/LTH/lth_deepknowledge.dds new file mode 100644 index 000000000..769b4c86a Binary files /dev/null and b/gfx/interface/goals/LTH/lth_deepknowledge.dds differ diff --git a/gfx/interface/goals/LTH/lth_defensiveperimeter.dds b/gfx/interface/goals/LTH/lth_defensiveperimeter.dds new file mode 100644 index 000000000..ca3667a83 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_defensiveperimeter.dds differ diff --git a/gfx/interface/goals/LTH/lth_deterrence.dds b/gfx/interface/goals/LTH/lth_deterrence.dds new file mode 100644 index 000000000..168d0fb96 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_deterrence.dds differ diff --git a/gfx/interface/goals/LTH/lth_diorthefair.dds b/gfx/interface/goals/LTH/lth_diorthefair.dds new file mode 100644 index 000000000..230bfa78a Binary files /dev/null and b/gfx/interface/goals/LTH/lth_diorthefair.dds differ diff --git a/gfx/interface/goals/LTH/lth_discordinthegoldenwood.dds b/gfx/interface/goals/LTH/lth_discordinthegoldenwood.dds new file mode 100644 index 000000000..df3c625e2 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_discordinthegoldenwood.dds differ diff --git a/gfx/interface/goals/LTH/lth_discovernewrealms.dds b/gfx/interface/goals/LTH/lth_discovernewrealms.dds new file mode 100644 index 000000000..4f700f4af Binary files /dev/null and b/gfx/interface/goals/LTH/lth_discovernewrealms.dds differ diff --git a/gfx/interface/goals/LTH/lth_dismantlethenazgul.dds b/gfx/interface/goals/LTH/lth_dismantlethenazgul.dds new file mode 100644 index 000000000..2ea83a0fe Binary files /dev/null and b/gfx/interface/goals/LTH/lth_dismantlethenazgul.dds differ diff --git a/gfx/interface/goals/LTH/lth_dreadfulasstormandlightning.dds b/gfx/interface/goals/LTH/lth_dreadfulasstormandlightning.dds new file mode 100644 index 000000000..79ba06398 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_dreadfulasstormandlightning.dds differ diff --git a/gfx/interface/goals/LTH/lth_eaglesofmanwe.dds b/gfx/interface/goals/LTH/lth_eaglesofmanwe.dds new file mode 100644 index 000000000..165f418a2 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_eaglesofmanwe.dds differ diff --git a/gfx/interface/goals/LTH/lth_earendilthemariner.dds b/gfx/interface/goals/LTH/lth_earendilthemariner.dds new file mode 100644 index 000000000..02a0ef31b Binary files /dev/null and b/gfx/interface/goals/LTH/lth_earendilthemariner.dds differ diff --git a/gfx/interface/goals/LTH/lth_echoesofrivendell.dds b/gfx/interface/goals/LTH/lth_echoesofrivendell.dds new file mode 100644 index 000000000..740288886 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_echoesofrivendell.dds differ diff --git a/gfx/interface/goals/LTH/lth_echoesoftheeldendays.dds b/gfx/interface/goals/LTH/lth_echoesoftheeldendays.dds new file mode 100644 index 000000000..e21213b28 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_echoesoftheeldendays.dds differ diff --git a/gfx/interface/goals/LTH/lth_electedrepresentatives.dds b/gfx/interface/goals/LTH/lth_electedrepresentatives.dds new file mode 100644 index 000000000..a34d7ef42 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_electedrepresentatives.dds differ diff --git a/gfx/interface/goals/LTH/lth_elrondtheperedhil.dds b/gfx/interface/goals/LTH/lth_elrondtheperedhil.dds new file mode 100644 index 000000000..fdb91a0ff Binary files /dev/null and b/gfx/interface/goals/LTH/lth_elrondtheperedhil.dds differ diff --git a/gfx/interface/goals/LTH/lth_elrosofnumenor.dds b/gfx/interface/goals/LTH/lth_elrosofnumenor.dds new file mode 100644 index 000000000..2363040ea Binary files /dev/null and b/gfx/interface/goals/LTH/lth_elrosofnumenor.dds differ diff --git a/gfx/interface/goals/LTH/lth_elvencavalry.dds b/gfx/interface/goals/LTH/lth_elvencavalry.dds new file mode 100644 index 000000000..9c725e142 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_elvencavalry.dds differ diff --git a/gfx/interface/goals/LTH/lth_elvenforges.dds b/gfx/interface/goals/LTH/lth_elvenforges.dds new file mode 100644 index 000000000..dac660b84 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_elvenforges.dds differ diff --git a/gfx/interface/goals/LTH/lth_elvenharmony.dds b/gfx/interface/goals/LTH/lth_elvenharmony.dds new file mode 100644 index 000000000..49a523e3e Binary files /dev/null and b/gfx/interface/goals/LTH/lth_elvenharmony.dds differ diff --git a/gfx/interface/goals/LTH/lth_elvensupremacy.dds b/gfx/interface/goals/LTH/lth_elvensupremacy.dds new file mode 100644 index 000000000..21db224ed Binary files /dev/null and b/gfx/interface/goals/LTH/lth_elvensupremacy.dds differ diff --git a/gfx/interface/goals/LTH/lth_elvenweaponry.dds b/gfx/interface/goals/LTH/lth_elvenweaponry.dds new file mode 100644 index 000000000..4553a4b5a Binary files /dev/null and b/gfx/interface/goals/LTH/lth_elvenweaponry.dds differ diff --git a/gfx/interface/goals/LTH/lth_empowerhaldir.dds b/gfx/interface/goals/LTH/lth_empowerhaldir.dds new file mode 100644 index 000000000..6c89f5ce0 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_empowerhaldir.dds differ diff --git a/gfx/interface/goals/LTH/lth_endurethedarkness.dds b/gfx/interface/goals/LTH/lth_endurethedarkness.dds new file mode 100644 index 000000000..18ea9a171 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_endurethedarkness.dds differ diff --git a/gfx/interface/goals/LTH/lth_ensurefoodsecurity.dds b/gfx/interface/goals/LTH/lth_ensurefoodsecurity.dds new file mode 100644 index 000000000..f517f5bf7 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_ensurefoodsecurity.dds differ diff --git a/gfx/interface/goals/LTH/lth_establishagraindole.dds b/gfx/interface/goals/LTH/lth_establishagraindole.dds new file mode 100644 index 000000000..bea429b6d Binary files /dev/null and b/gfx/interface/goals/LTH/lth_establishagraindole.dds differ diff --git a/gfx/interface/goals/LTH/lth_eternalwisdom.dds b/gfx/interface/goals/LTH/lth_eternalwisdom.dds new file mode 100644 index 000000000..7eb380db4 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_eternalwisdom.dds differ diff --git a/gfx/interface/goals/LTH/lth_executivevigour.dds b/gfx/interface/goals/LTH/lth_executivevigour.dds new file mode 100644 index 000000000..54c03883f Binary files /dev/null and b/gfx/interface/goals/LTH/lth_executivevigour.dds differ diff --git a/gfx/interface/goals/LTH/lth_fairastheseaandsun.dds b/gfx/interface/goals/LTH/lth_fairastheseaandsun.dds new file mode 100644 index 000000000..6f9f83bd0 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_fairastheseaandsun.dds differ diff --git a/gfx/interface/goals/LTH/lth_fairasthesunterribleasthestorm.dds b/gfx/interface/goals/LTH/lth_fairasthesunterribleasthestorm.dds new file mode 100644 index 000000000..36afbd87e Binary files /dev/null and b/gfx/interface/goals/LTH/lth_fairasthesunterribleasthestorm.dds differ diff --git a/gfx/interface/goals/LTH/lth_fellbeastsofmordor.dds b/gfx/interface/goals/LTH/lth_fellbeastsofmordor.dds new file mode 100644 index 000000000..d457beade Binary files /dev/null and b/gfx/interface/goals/LTH/lth_fellbeastsofmordor.dds differ diff --git a/gfx/interface/goals/LTH/lth_foeturnedfriend.dds b/gfx/interface/goals/LTH/lth_foeturnedfriend.dds new file mode 100644 index 000000000..ace2034d1 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_foeturnedfriend.dds differ diff --git a/gfx/interface/goals/LTH/lth_forcetheissue.dds b/gfx/interface/goals/LTH/lth_forcetheissue.dds new file mode 100644 index 000000000..0a7ed1d4e Binary files /dev/null and b/gfx/interface/goals/LTH/lth_forcetheissue.dds differ diff --git a/gfx/interface/goals/LTH/lth_forgealliances.dds b/gfx/interface/goals/LTH/lth_forgealliances.dds new file mode 100644 index 000000000..3261e5f76 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_forgealliances.dds differ diff --git a/gfx/interface/goals/LTH/lth_forsaketheelves.dds b/gfx/interface/goals/LTH/lth_forsaketheelves.dds new file mode 100644 index 000000000..e98b62209 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_forsaketheelves.dds differ diff --git a/gfx/interface/goals/LTH/lth_gal_mirror.dds b/gfx/interface/goals/LTH/lth_gal_mirror.dds new file mode 100644 index 000000000..15972c1cc Binary files /dev/null and b/gfx/interface/goals/LTH/lth_gal_mirror.dds differ diff --git a/gfx/interface/goals/LTH/lth_galadrielsfarewell.dds b/gfx/interface/goals/LTH/lth_galadrielsfarewell.dds new file mode 100644 index 000000000..745b05194 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_galadrielsfarewell.dds differ diff --git a/gfx/interface/goals/LTH/lth_galadrielsmirror.dds b/gfx/interface/goals/LTH/lth_galadrielsmirror.dds new file mode 100644 index 000000000..5cb74ae28 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_galadrielsmirror.dds differ diff --git a/gfx/interface/goals/LTH/lth_galadrielspowers.dds b/gfx/interface/goals/LTH/lth_galadrielspowers.dds new file mode 100644 index 000000000..b864b18b6 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_galadrielspowers.dds differ diff --git a/gfx/interface/goals/LTH/lth_galadrielsvision.dds b/gfx/interface/goals/LTH/lth_galadrielsvision.dds new file mode 100644 index 000000000..c113078d0 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_galadrielsvision.dds differ diff --git a/gfx/interface/goals/LTH/lth_givesauronthering.dds b/gfx/interface/goals/LTH/lth_givesauronthering.dds new file mode 100644 index 000000000..36db4676e Binary files /dev/null and b/gfx/interface/goals/LTH/lth_givesauronthering.dds differ diff --git a/gfx/interface/goals/LTH/lth_greatestofwarriors.dds b/gfx/interface/goals/LTH/lth_greatestofwarriors.dds new file mode 100644 index 000000000..29c1239c2 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_greatestofwarriors.dds differ diff --git a/gfx/interface/goals/LTH/lth_guardiansoftheriveranduin.dds b/gfx/interface/goals/LTH/lth_guardiansoftheriveranduin.dds new file mode 100644 index 000000000..783f70dc1 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_guardiansoftheriveranduin.dds differ diff --git a/gfx/interface/goals/LTH/lth_guardiansofthesilverwood.dds b/gfx/interface/goals/LTH/lth_guardiansofthesilverwood.dds new file mode 100644 index 000000000..b11379e3e Binary files /dev/null and b/gfx/interface/goals/LTH/lth_guardiansofthesilverwood.dds differ diff --git a/gfx/interface/goals/LTH/lth_guardiansofthewild.dds b/gfx/interface/goals/LTH/lth_guardiansofthewild.dds new file mode 100644 index 000000000..d6c5475b0 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_guardiansofthewild.dds differ diff --git a/gfx/interface/goals/LTH/lth_harmonicascendancy.dds b/gfx/interface/goals/LTH/lth_harmonicascendancy.dds new file mode 100644 index 000000000..21e5fb531 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_harmonicascendancy.dds differ diff --git a/gfx/interface/goals/LTH/lth_harmonyofthesindar.dds b/gfx/interface/goals/LTH/lth_harmonyofthesindar.dds new file mode 100644 index 000000000..3326d66ec Binary files /dev/null and b/gfx/interface/goals/LTH/lth_harmonyofthesindar.dds differ diff --git a/gfx/interface/goals/LTH/lth_hegemony.dds b/gfx/interface/goals/LTH/lth_hegemony.dds new file mode 100644 index 000000000..2ab05ed5a Binary files /dev/null and b/gfx/interface/goals/LTH/lth_hegemony.dds differ diff --git a/gfx/interface/goals/LTH/lth_immortalendurance.dds b/gfx/interface/goals/LTH/lth_immortalendurance.dds new file mode 100644 index 000000000..9d7f87701 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_immortalendurance.dds differ diff --git a/gfx/interface/goals/LTH/lth_integrateorcsintothegaladhrim.dds b/gfx/interface/goals/LTH/lth_integrateorcsintothegaladhrim.dds new file mode 100644 index 000000000..f4d1802ad Binary files /dev/null and b/gfx/interface/goals/LTH/lth_integrateorcsintothegaladhrim.dds differ diff --git a/gfx/interface/goals/LTH/lth_investfocus.dds b/gfx/interface/goals/LTH/lth_investfocus.dds new file mode 100644 index 000000000..d01b3dab5 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_investfocus.dds differ diff --git a/gfx/interface/goals/LTH/lth_invitecirdan.dds b/gfx/interface/goals/LTH/lth_invitecirdan.dds new file mode 100644 index 000000000..22a2ce45d Binary files /dev/null and b/gfx/interface/goals/LTH/lth_invitecirdan.dds differ diff --git a/gfx/interface/goals/LTH/lth_inviteelrond.dds b/gfx/interface/goals/LTH/lth_inviteelrond.dds new file mode 100644 index 000000000..06fda39c9 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_inviteelrond.dds differ diff --git a/gfx/interface/goals/LTH/lth_invitegaladriel.dds b/gfx/interface/goals/LTH/lth_invitegaladriel.dds new file mode 100644 index 000000000..59773e1cf Binary files /dev/null and b/gfx/interface/goals/LTH/lth_invitegaladriel.dds differ diff --git a/gfx/interface/goals/LTH/lth_invitegandalf.dds b/gfx/interface/goals/LTH/lth_invitegandalf.dds new file mode 100644 index 000000000..492b5d200 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_invitegandalf.dds differ diff --git a/gfx/interface/goals/LTH/lth_invitesaruman.dds b/gfx/interface/goals/LTH/lth_invitesaruman.dds new file mode 100644 index 000000000..13dc14735 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_invitesaruman.dds differ diff --git a/gfx/interface/goals/LTH/lth_invokethetaleofgaladrielandeorl.dds b/gfx/interface/goals/LTH/lth_invokethetaleofgaladrielandeorl.dds new file mode 100644 index 000000000..6689653b2 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_invokethetaleofgaladrielandeorl.dds differ diff --git a/gfx/interface/goals/LTH/lth_labourtaxfornonelves.dds b/gfx/interface/goals/LTH/lth_labourtaxfornonelves.dds new file mode 100644 index 000000000..50267838e Binary files /dev/null and b/gfx/interface/goals/LTH/lth_labourtaxfornonelves.dds differ diff --git a/gfx/interface/goals/LTH/lth_leadbyexample.dds b/gfx/interface/goals/LTH/lth_leadbyexample.dds new file mode 100644 index 000000000..43580cc39 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_leadbyexample.dds differ diff --git a/gfx/interface/goals/LTH/lth_learnfromthestrongest.dds b/gfx/interface/goals/LTH/lth_learnfromthestrongest.dds new file mode 100644 index 000000000..adaea02a7 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_learnfromthestrongest.dds differ diff --git a/gfx/interface/goals/LTH/lth_legacyofthenoldor.dds b/gfx/interface/goals/LTH/lth_legacyofthenoldor.dds new file mode 100644 index 000000000..2c64696d2 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_legacyofthenoldor.dds differ diff --git a/gfx/interface/goals/LTH/lth_liftthelawofisolation.dds b/gfx/interface/goals/LTH/lth_liftthelawofisolation.dds new file mode 100644 index 000000000..64f1d89e8 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_liftthelawofisolation.dds differ diff --git a/gfx/interface/goals/LTH/lth_limitedintervention.dds b/gfx/interface/goals/LTH/lth_limitedintervention.dds new file mode 100644 index 000000000..03db7e77f Binary files /dev/null and b/gfx/interface/goals/LTH/lth_limitedintervention.dds differ diff --git a/gfx/interface/goals/LTH/lth_localautonomy.dds b/gfx/interface/goals/LTH/lth_localautonomy.dds new file mode 100644 index 000000000..e00fdf075 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_localautonomy.dds differ diff --git a/gfx/interface/goals/LTH/lth_lorekeepersguild.dds b/gfx/interface/goals/LTH/lth_lorekeepersguild.dds new file mode 100644 index 000000000..816cca40f Binary files /dev/null and b/gfx/interface/goals/LTH/lth_lorekeepersguild.dds differ diff --git a/gfx/interface/goals/LTH/lth_lothlorienarchers.dds b/gfx/interface/goals/LTH/lth_lothlorienarchers.dds new file mode 100644 index 000000000..3e4e4012b Binary files /dev/null and b/gfx/interface/goals/LTH/lth_lothlorienarchers.dds differ diff --git a/gfx/interface/goals/LTH/lth_maintainalliances.dds b/gfx/interface/goals/LTH/lth_maintainalliances.dds new file mode 100644 index 000000000..624bf28f5 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_maintainalliances.dds differ diff --git a/gfx/interface/goals/LTH/lth_maintainstabilityinthewest.dds b/gfx/interface/goals/LTH/lth_maintainstabilityinthewest.dds new file mode 100644 index 000000000..aa239eccb Binary files /dev/null and b/gfx/interface/goals/LTH/lth_maintainstabilityinthewest.dds differ diff --git a/gfx/interface/goals/LTH/lth_mallorntreearchiotecture.dds b/gfx/interface/goals/LTH/lth_mallorntreearchiotecture.dds new file mode 100644 index 000000000..02ab643d5 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_mallorntreearchiotecture.dds differ diff --git a/gfx/interface/goals/LTH/lth_marchinunison.dds b/gfx/interface/goals/LTH/lth_marchinunison.dds new file mode 100644 index 000000000..f6534de2e Binary files /dev/null and b/gfx/interface/goals/LTH/lth_marchinunison.dds differ diff --git a/gfx/interface/goals/LTH/lth_marchwardensoflothlorien.dds b/gfx/interface/goals/LTH/lth_marchwardensoflothlorien.dds new file mode 100644 index 000000000..2476bcc74 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_marchwardensoflothlorien.dds differ diff --git a/gfx/interface/goals/LTH/lth_martialalliance.dds b/gfx/interface/goals/LTH/lth_martialalliance.dds new file mode 100644 index 000000000..cc603b0e3 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_martialalliance.dds differ diff --git a/gfx/interface/goals/LTH/lth_memberexpansion.dds b/gfx/interface/goals/LTH/lth_memberexpansion.dds new file mode 100644 index 000000000..d7fba9a42 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_memberexpansion.dds differ diff --git a/gfx/interface/goals/LTH/lth_mendtheschism.dds b/gfx/interface/goals/LTH/lth_mendtheschism.dds new file mode 100644 index 000000000..d6aec5adc Binary files /dev/null and b/gfx/interface/goals/LTH/lth_mendtheschism.dds differ diff --git a/gfx/interface/goals/LTH/lth_meritbasedadvancement.dds b/gfx/interface/goals/LTH/lth_meritbasedadvancement.dds new file mode 100644 index 000000000..a8926e8ac Binary files /dev/null and b/gfx/interface/goals/LTH/lth_meritbasedadvancement.dds differ diff --git a/gfx/interface/goals/LTH/lth_metalworkandjewellery.dds b/gfx/interface/goals/LTH/lth_metalworkandjewellery.dds new file mode 100644 index 000000000..faabb2ba8 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_metalworkandjewellery.dds differ diff --git a/gfx/interface/goals/LTH/lth_migrationtreaties.dds b/gfx/interface/goals/LTH/lth_migrationtreaties.dds new file mode 100644 index 000000000..5145c4b99 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_migrationtreaties.dds differ diff --git a/gfx/interface/goals/LTH/lth_minglewiththemortals.dds b/gfx/interface/goals/LTH/lth_minglewiththemortals.dds new file mode 100644 index 000000000..5c8f8904e Binary files /dev/null and b/gfx/interface/goals/LTH/lth_minglewiththemortals.dds differ diff --git a/gfx/interface/goals/LTH/lth_mirrorupgrade.dds b/gfx/interface/goals/LTH/lth_mirrorupgrade.dds new file mode 100644 index 000000000..ab99fa2cf Binary files /dev/null and b/gfx/interface/goals/LTH/lth_mirrorupgrade.dds differ diff --git a/gfx/interface/goals/LTH/lth_nenyasprotection.dds b/gfx/interface/goals/LTH/lth_nenyasprotection.dds new file mode 100644 index 000000000..ff4fc8831 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_nenyasprotection.dds differ diff --git a/gfx/interface/goals/LTH/lth_nonelvencitizenship.dds b/gfx/interface/goals/LTH/lth_nonelvencitizenship.dds new file mode 100644 index 000000000..fddad599a Binary files /dev/null and b/gfx/interface/goals/LTH/lth_nonelvencitizenship.dds differ diff --git a/gfx/interface/goals/LTH/lth_northboundinvasion.dds b/gfx/interface/goals/LTH/lth_northboundinvasion.dds new file mode 100644 index 000000000..33e91634a Binary files /dev/null and b/gfx/interface/goals/LTH/lth_northboundinvasion.dds differ diff --git a/gfx/interface/goals/LTH/lth_nurturingthehalfelven.dds b/gfx/interface/goals/LTH/lth_nurturingthehalfelven.dds new file mode 100644 index 000000000..2f5a0448d Binary files /dev/null and b/gfx/interface/goals/LTH/lth_nurturingthehalfelven.dds differ diff --git a/gfx/interface/goals/LTH/lth_offerpassagetothehalflings.dds b/gfx/interface/goals/LTH/lth_offerpassagetothehalflings.dds new file mode 100644 index 000000000..bf6a06439 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_offerpassagetothehalflings.dds differ diff --git a/gfx/interface/goals/LTH/lth_organizetributaries.dds b/gfx/interface/goals/LTH/lth_organizetributaries.dds new file mode 100644 index 000000000..00db41d0c Binary files /dev/null and b/gfx/interface/goals/LTH/lth_organizetributaries.dds differ diff --git a/gfx/interface/goals/LTH/lth_ourowninitiative.dds b/gfx/interface/goals/LTH/lth_ourowninitiative.dds new file mode 100644 index 000000000..5cb65081f Binary files /dev/null and b/gfx/interface/goals/LTH/lth_ourowninitiative.dds differ diff --git a/gfx/interface/goals/LTH/lth_patrolsandriverwardens.dds b/gfx/interface/goals/LTH/lth_patrolsandriverwardens.dds new file mode 100644 index 000000000..cd37b5327 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_patrolsandriverwardens.dds differ diff --git a/gfx/interface/goals/LTH/lth_powers_of_nenya.dds b/gfx/interface/goals/LTH/lth_powers_of_nenya.dds new file mode 100644 index 000000000..1d259cc22 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_powers_of_nenya.dds differ diff --git a/gfx/interface/goals/LTH/lth_preemptivemeasures.dds b/gfx/interface/goals/LTH/lth_preemptivemeasures.dds new file mode 100644 index 000000000..ebe3274db Binary files /dev/null and b/gfx/interface/goals/LTH/lth_preemptivemeasures.dds differ diff --git a/gfx/interface/goals/LTH/lth_preemtptivedepartures.dds b/gfx/interface/goals/LTH/lth_preemtptivedepartures.dds new file mode 100644 index 000000000..b09772d74 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_preemtptivedepartures.dds differ diff --git a/gfx/interface/goals/LTH/lth_preservationofknowledge.dds b/gfx/interface/goals/LTH/lth_preservationofknowledge.dds new file mode 100644 index 000000000..0894f5ab8 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_preservationofknowledge.dds differ diff --git a/gfx/interface/goals/LTH/lth_pressurethranduil.dds b/gfx/interface/goals/LTH/lth_pressurethranduil.dds new file mode 100644 index 000000000..6e0a67cda Binary files /dev/null and b/gfx/interface/goals/LTH/lth_pressurethranduil.dds differ diff --git a/gfx/interface/goals/LTH/lth_princessofthenoldor.dds b/gfx/interface/goals/LTH/lth_princessofthenoldor.dds new file mode 100644 index 000000000..f62086cbb Binary files /dev/null and b/gfx/interface/goals/LTH/lth_princessofthenoldor.dds differ diff --git a/gfx/interface/goals/LTH/lth_prisonervivisections.dds b/gfx/interface/goals/LTH/lth_prisonervivisections.dds new file mode 100644 index 000000000..7117f383c Binary files /dev/null and b/gfx/interface/goals/LTH/lth_prisonervivisections.dds differ diff --git a/gfx/interface/goals/LTH/lth_proposalsandresolutions.dds b/gfx/interface/goals/LTH/lth_proposalsandresolutions.dds new file mode 100644 index 000000000..8e4da13ed Binary files /dev/null and b/gfx/interface/goals/LTH/lth_proposalsandresolutions.dds differ diff --git a/gfx/interface/goals/LTH/lth_provincialcouncils.dds b/gfx/interface/goals/LTH/lth_provincialcouncils.dds new file mode 100644 index 000000000..32f00b52b Binary files /dev/null and b/gfx/interface/goals/LTH/lth_provincialcouncils.dds differ diff --git a/gfx/interface/goals/LTH/lth_publiccelebrations.dds b/gfx/interface/goals/LTH/lth_publiccelebrations.dds new file mode 100644 index 000000000..8019d857f Binary files /dev/null and b/gfx/interface/goals/LTH/lth_publiccelebrations.dds differ diff --git a/gfx/interface/goals/LTH/lth_purityandbrilliance.dds b/gfx/interface/goals/LTH/lth_purityandbrilliance.dds new file mode 100644 index 000000000..b942e3a07 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_purityandbrilliance.dds differ diff --git a/gfx/interface/goals/LTH/lth_queenofthedawn.dds b/gfx/interface/goals/LTH/lth_queenofthedawn.dds new file mode 100644 index 000000000..710831f4f Binary files /dev/null and b/gfx/interface/goals/LTH/lth_queenofthedawn.dds differ diff --git a/gfx/interface/goals/LTH/lth_reassertcelebornslodrship.dds b/gfx/interface/goals/LTH/lth_reassertcelebornslodrship.dds new file mode 100644 index 000000000..ed136691c Binary files /dev/null and b/gfx/interface/goals/LTH/lth_reassertcelebornslodrship.dds differ diff --git a/gfx/interface/goals/LTH/lth_reformmilitaryleadership.dds b/gfx/interface/goals/LTH/lth_reformmilitaryleadership.dds new file mode 100644 index 000000000..6168390a2 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_reformmilitaryleadership.dds differ diff --git a/gfx/interface/goals/LTH/lth_reformtaxcollection.dds b/gfx/interface/goals/LTH/lth_reformtaxcollection.dds new file mode 100644 index 000000000..9d72d989a Binary files /dev/null and b/gfx/interface/goals/LTH/lth_reformtaxcollection.dds differ diff --git a/gfx/interface/goals/LTH/lth_refugeofdoriath.dds b/gfx/interface/goals/LTH/lth_refugeofdoriath.dds new file mode 100644 index 000000000..aacdd39e2 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_refugeofdoriath.dds differ diff --git a/gfx/interface/goals/LTH/lth_requestaseatonelrondscouncil.dds b/gfx/interface/goals/LTH/lth_requestaseatonelrondscouncil.dds new file mode 100644 index 000000000..fd069b574 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_requestaseatonelrondscouncil.dds differ diff --git a/gfx/interface/goals/LTH/lth_researchcooperation.dds b/gfx/interface/goals/LTH/lth_researchcooperation.dds new file mode 100644 index 000000000..0df48f225 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_researchcooperation.dds differ diff --git a/gfx/interface/goals/LTH/lth_resistthedarkness.dds b/gfx/interface/goals/LTH/lth_resistthedarkness.dds new file mode 100644 index 000000000..eeceb716e Binary files /dev/null and b/gfx/interface/goals/LTH/lth_resistthedarkness.dds differ diff --git a/gfx/interface/goals/LTH/lth_resourcestorage.dds b/gfx/interface/goals/LTH/lth_resourcestorage.dds new file mode 100644 index 000000000..4f033994e Binary files /dev/null and b/gfx/interface/goals/LTH/lth_resourcestorage.dds differ diff --git a/gfx/interface/goals/LTH/lth_revivethewhitecouncil.dds b/gfx/interface/goals/LTH/lth_revivethewhitecouncil.dds new file mode 100644 index 000000000..3fdd515ea Binary files /dev/null and b/gfx/interface/goals/LTH/lth_revivethewhitecouncil.dds differ diff --git a/gfx/interface/goals/LTH/lth_ridersofthenaith.dds b/gfx/interface/goals/LTH/lth_ridersofthenaith.dds new file mode 100644 index 000000000..db2e3701a Binary files /dev/null and b/gfx/interface/goals/LTH/lth_ridersofthenaith.dds differ diff --git a/gfx/interface/goals/LTH/lth_ringenchantments.dds b/gfx/interface/goals/LTH/lth_ringenchantments.dds new file mode 100644 index 000000000..d11d66c2b Binary files /dev/null and b/gfx/interface/goals/LTH/lth_ringenchantments.dds differ diff --git a/gfx/interface/goals/LTH/lth_sacredtreesofthenhail.dds b/gfx/interface/goals/LTH/lth_sacredtreesofthenhail.dds new file mode 100644 index 000000000..131cc6399 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_sacredtreesofthenhail.dds differ diff --git a/gfx/interface/goals/LTH/lth_safeguardtheelves.dds b/gfx/interface/goals/LTH/lth_safeguardtheelves.dds new file mode 100644 index 000000000..6c07b6fc3 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_safeguardtheelves.dds differ diff --git a/gfx/interface/goals/LTH/lth_safehaven.dds b/gfx/interface/goals/LTH/lth_safehaven.dds new file mode 100644 index 000000000..22d3387b4 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_safehaven.dds differ diff --git a/gfx/interface/goals/LTH/lth_sealtheborders.dds b/gfx/interface/goals/LTH/lth_sealtheborders.dds new file mode 100644 index 000000000..72b4c7033 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_sealtheborders.dds differ diff --git a/gfx/interface/goals/LTH/lth_seizetheonering.dds b/gfx/interface/goals/LTH/lth_seizetheonering.dds new file mode 100644 index 000000000..a7fb2bc23 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_seizetheonering.dds differ diff --git a/gfx/interface/goals/LTH/lth_selectiveempowerement.dds b/gfx/interface/goals/LTH/lth_selectiveempowerement.dds new file mode 100644 index 000000000..7f6b033b6 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_selectiveempowerement.dds differ diff --git a/gfx/interface/goals/LTH/lth_sendadelegationtoerebor.dds b/gfx/interface/goals/LTH/lth_sendadelegationtoerebor.dds new file mode 100644 index 000000000..e9ebb22a8 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_sendadelegationtoerebor.dds differ diff --git a/gfx/interface/goals/LTH/lth_sendadelegationtogondor.dds b/gfx/interface/goals/LTH/lth_sendadelegationtogondor.dds new file mode 100644 index 000000000..cac059bee Binary files /dev/null and b/gfx/interface/goals/LTH/lth_sendadelegationtogondor.dds differ diff --git a/gfx/interface/goals/LTH/lth_sendaidtohelmsdeep.dds b/gfx/interface/goals/LTH/lth_sendaidtohelmsdeep.dds new file mode 100644 index 000000000..5cac702eb Binary files /dev/null and b/gfx/interface/goals/LTH/lth_sendaidtohelmsdeep.dds differ diff --git a/gfx/interface/goals/LTH/lth_sendaidtominastirith.dds b/gfx/interface/goals/LTH/lth_sendaidtominastirith.dds new file mode 100644 index 000000000..21b7e3431 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_sendaidtominastirith.dds differ diff --git a/gfx/interface/goals/LTH/lth_senddelegationtomoria.dds b/gfx/interface/goals/LTH/lth_senddelegationtomoria.dds new file mode 100644 index 000000000..493814a43 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_senddelegationtomoria.dds differ diff --git a/gfx/interface/goals/LTH/lth_sentinelsofcerinamroth.dds b/gfx/interface/goals/LTH/lth_sentinelsofcerinamroth.dds new file mode 100644 index 000000000..64e4af2d8 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_sentinelsofcerinamroth.dds differ diff --git a/gfx/interface/goals/LTH/lth_sharedtrainingprograms.dds b/gfx/interface/goals/LTH/lth_sharedtrainingprograms.dds new file mode 100644 index 000000000..918aa245a Binary files /dev/null and b/gfx/interface/goals/LTH/lth_sharedtrainingprograms.dds differ diff --git a/gfx/interface/goals/LTH/lth_silvanelitewarriors.dds b/gfx/interface/goals/LTH/lth_silvanelitewarriors.dds new file mode 100644 index 000000000..4781dddd9 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_silvanelitewarriors.dds differ diff --git a/gfx/interface/goals/LTH/lth_silverthornarrows.dds b/gfx/interface/goals/LTH/lth_silverthornarrows.dds new file mode 100644 index 000000000..6ca004399 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_silverthornarrows.dds differ diff --git a/gfx/interface/goals/LTH/lth_sindarpathstalkers.dds b/gfx/interface/goals/LTH/lth_sindarpathstalkers.dds new file mode 100644 index 000000000..c8ce47880 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_sindarpathstalkers.dds differ diff --git a/gfx/interface/goals/LTH/lth_skysoilandwater.dds b/gfx/interface/goals/LTH/lth_skysoilandwater.dds new file mode 100644 index 000000000..90824e8b0 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_skysoilandwater.dds differ diff --git a/gfx/interface/goals/LTH/lth_spidersofungoliant.dds b/gfx/interface/goals/LTH/lth_spidersofungoliant.dds new file mode 100644 index 000000000..ba7ca33df Binary files /dev/null and b/gfx/interface/goals/LTH/lth_spidersofungoliant.dds differ diff --git a/gfx/interface/goals/LTH/lth_standardizedweaponsresearch.dds b/gfx/interface/goals/LTH/lth_standardizedweaponsresearch.dds new file mode 100644 index 000000000..51442b210 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_standardizedweaponsresearch.dds differ diff --git a/gfx/interface/goals/LTH/lth_strengthenfortifications.dds b/gfx/interface/goals/LTH/lth_strengthenfortifications.dds new file mode 100644 index 000000000..20da41370 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_strengthenfortifications.dds differ diff --git a/gfx/interface/goals/LTH/lth_supportmordorsenemies.dds b/gfx/interface/goals/LTH/lth_supportmordorsenemies.dds new file mode 100644 index 000000000..c54c855f4 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_supportmordorsenemies.dds differ diff --git a/gfx/interface/goals/LTH/lth_supportofthegreateagles.dds b/gfx/interface/goals/LTH/lth_supportofthegreateagles.dds new file mode 100644 index 000000000..07cbb1f9e Binary files /dev/null and b/gfx/interface/goals/LTH/lth_supportofthegreateagles.dds differ diff --git a/gfx/interface/goals/LTH/lth_supportthefellowship.dds b/gfx/interface/goals/LTH/lth_supportthefellowship.dds new file mode 100644 index 000000000..dce726d8f Binary files /dev/null and b/gfx/interface/goals/LTH/lth_supportthefellowship.dds differ diff --git a/gfx/interface/goals/LTH/lth_supportthegreycompany.dds b/gfx/interface/goals/LTH/lth_supportthegreycompany.dds new file mode 100644 index 000000000..84316e895 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_supportthegreycompany.dds differ diff --git a/gfx/interface/goals/LTH/lth_tacklethedwarves.dds b/gfx/interface/goals/LTH/lth_tacklethedwarves.dds new file mode 100644 index 000000000..098377d8d Binary files /dev/null and b/gfx/interface/goals/LTH/lth_tacklethedwarves.dds differ diff --git a/gfx/interface/goals/LTH/lth_tackletherealmsofmen.dds b/gfx/interface/goals/LTH/lth_tackletherealmsofmen.dds new file mode 100644 index 000000000..8ea33637d Binary files /dev/null and b/gfx/interface/goals/LTH/lth_tackletherealmsofmen.dds differ diff --git a/gfx/interface/goals/LTH/lth_tamingthewild.dds b/gfx/interface/goals/LTH/lth_tamingthewild.dds new file mode 100644 index 000000000..6cbd4c082 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_tamingthewild.dds differ diff --git a/gfx/interface/goals/LTH/lth_territorialadministration.dds b/gfx/interface/goals/LTH/lth_territorialadministration.dds new file mode 100644 index 000000000..97005d894 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_territorialadministration.dds differ diff --git a/gfx/interface/goals/LTH/lth_territorialdefense.dds b/gfx/interface/goals/LTH/lth_territorialdefense.dds new file mode 100644 index 000000000..c861e19a9 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_territorialdefense.dds differ diff --git a/gfx/interface/goals/LTH/lth_territorialintegration.dds b/gfx/interface/goals/LTH/lth_territorialintegration.dds new file mode 100644 index 000000000..cc7f99af5 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_territorialintegration.dds differ diff --git a/gfx/interface/goals/LTH/lth_thearchivesofagespast.dds b/gfx/interface/goals/LTH/lth_thearchivesofagespast.dds new file mode 100644 index 000000000..43ab5492f Binary files /dev/null and b/gfx/interface/goals/LTH/lth_thearchivesofagespast.dds differ diff --git a/gfx/interface/goals/LTH/lth_theburdensofleadership.dds b/gfx/interface/goals/LTH/lth_theburdensofleadership.dds new file mode 100644 index 000000000..47393e71f Binary files /dev/null and b/gfx/interface/goals/LTH/lth_theburdensofleadership.dds differ diff --git a/gfx/interface/goals/LTH/lth_thecallofvalinor.dds b/gfx/interface/goals/LTH/lth_thecallofvalinor.dds new file mode 100644 index 000000000..ca0661dab Binary files /dev/null and b/gfx/interface/goals/LTH/lth_thecallofvalinor.dds differ diff --git a/gfx/interface/goals/LTH/lth_thechildrenofluthien.dds b/gfx/interface/goals/LTH/lth_thechildrenofluthien.dds new file mode 100644 index 000000000..1bfa98485 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_thechildrenofluthien.dds differ diff --git a/gfx/interface/goals/LTH/lth_thecouncilofquendi.dds b/gfx/interface/goals/LTH/lth_thecouncilofquendi.dds new file mode 100644 index 000000000..8f3306cbd Binary files /dev/null and b/gfx/interface/goals/LTH/lth_thecouncilofquendi.dds differ diff --git a/gfx/interface/goals/LTH/lth_thedissolutionoftheelvennobility.dds b/gfx/interface/goals/LTH/lth_thedissolutionoftheelvennobility.dds new file mode 100644 index 000000000..dc4cd9021 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_thedissolutionoftheelvennobility.dds differ diff --git a/gfx/interface/goals/LTH/lth_theelvenalliance.dds b/gfx/interface/goals/LTH/lth_theelvenalliance.dds new file mode 100644 index 000000000..af6cf6f44 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_theelvenalliance.dds differ diff --git a/gfx/interface/goals/LTH/lth_theelvenfleet.dds b/gfx/interface/goals/LTH/lth_theelvenfleet.dds new file mode 100644 index 000000000..ca9808cba Binary files /dev/null and b/gfx/interface/goals/LTH/lth_theelvenfleet.dds differ diff --git a/gfx/interface/goals/LTH/lth_theemissariesguild.dds b/gfx/interface/goals/LTH/lth_theemissariesguild.dds new file mode 100644 index 000000000..2fbc07dbe Binary files /dev/null and b/gfx/interface/goals/LTH/lth_theemissariesguild.dds differ diff --git a/gfx/interface/goals/LTH/lth_theenigmaofnenya.dds b/gfx/interface/goals/LTH/lth_theenigmaofnenya.dds new file mode 100644 index 000000000..1a8761849 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_theenigmaofnenya.dds differ diff --git a/gfx/interface/goals/LTH/lth_theeternaldominion.dds b/gfx/interface/goals/LTH/lth_theeternaldominion.dds new file mode 100644 index 000000000..2d8226f08 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_theeternaldominion.dds differ diff --git a/gfx/interface/goals/LTH/lth_thefateofmortals.dds b/gfx/interface/goals/LTH/lth_thefateofmortals.dds new file mode 100644 index 000000000..e96378ac3 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_thefateofmortals.dds differ diff --git a/gfx/interface/goals/LTH/lth_thefestivalofunity.dds b/gfx/interface/goals/LTH/lth_thefestivalofunity.dds new file mode 100644 index 000000000..cdc6a6236 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_thefestivalofunity.dds differ diff --git a/gfx/interface/goals/LTH/lth_theforestbetween.dds b/gfx/interface/goals/LTH/lth_theforestbetween.dds new file mode 100644 index 000000000..4aa230261 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_theforestbetween.dds differ diff --git a/gfx/interface/goals/LTH/lth_thefortressofdolguldur.dds b/gfx/interface/goals/LTH/lth_thefortressofdolguldur.dds new file mode 100644 index 000000000..3c3732ad1 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_thefortressofdolguldur.dds differ diff --git a/gfx/interface/goals/LTH/lth_thegiftofservitude.dds b/gfx/interface/goals/LTH/lth_thegiftofservitude.dds new file mode 100644 index 000000000..425925f09 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_thegiftofservitude.dds differ diff --git a/gfx/interface/goals/LTH/lth_thegirdleofmelian.dds b/gfx/interface/goals/LTH/lth_thegirdleofmelian.dds new file mode 100644 index 000000000..1b77cf126 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_thegirdleofmelian.dds differ diff --git a/gfx/interface/goals/LTH/lth_thegreatbeasts.dds b/gfx/interface/goals/LTH/lth_thegreatbeasts.dds new file mode 100644 index 000000000..c6e6848b4 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_thegreatbeasts.dds differ diff --git a/gfx/interface/goals/LTH/lth_thegreatschism.dds b/gfx/interface/goals/LTH/lth_thegreatschism.dds new file mode 100644 index 000000000..386f57ee9 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_thegreatschism.dds differ diff --git a/gfx/interface/goals/LTH/lth_thehiddenrealm.dds b/gfx/interface/goals/LTH/lth_thehiddenrealm.dds new file mode 100644 index 000000000..6f014c447 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_thehiddenrealm.dds differ diff --git a/gfx/interface/goals/LTH/lth_theinfluenceofrivendell.dds b/gfx/interface/goals/LTH/lth_theinfluenceofrivendell.dds new file mode 100644 index 000000000..70a4fad84 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_theinfluenceofrivendell.dds differ diff --git a/gfx/interface/goals/LTH/lth_thelasteldar.dds b/gfx/interface/goals/LTH/lth_thelasteldar.dds new file mode 100644 index 000000000..4e4aeed1e Binary files /dev/null and b/gfx/interface/goals/LTH/lth_thelasteldar.dds differ diff --git a/gfx/interface/goals/LTH/lth_thelaststand.dds b/gfx/interface/goals/LTH/lth_thelaststand.dds new file mode 100644 index 000000000..a2fab19ec Binary files /dev/null and b/gfx/interface/goals/LTH/lth_thelaststand.dds differ diff --git a/gfx/interface/goals/LTH/lth_thelibraryofcarasgaladhon.dds b/gfx/interface/goals/LTH/lth_thelibraryofcarasgaladhon.dds new file mode 100644 index 000000000..093edb259 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_thelibraryofcarasgaladhon.dds differ diff --git a/gfx/interface/goals/LTH/lth_theminesofmoria.dds b/gfx/interface/goals/LTH/lth_theminesofmoria.dds new file mode 100644 index 000000000..aeca3159c Binary files /dev/null and b/gfx/interface/goals/LTH/lth_theminesofmoria.dds differ diff --git a/gfx/interface/goals/LTH/lth_thenandorheritage.dds b/gfx/interface/goals/LTH/lth_thenandorheritage.dds new file mode 100644 index 000000000..50b3a808c Binary files /dev/null and b/gfx/interface/goals/LTH/lth_thenandorheritage.dds differ diff --git a/gfx/interface/goals/LTH/lth_theneworder.dds b/gfx/interface/goals/LTH/lth_theneworder.dds new file mode 100644 index 000000000..3808086c4 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_theneworder.dds differ diff --git a/gfx/interface/goals/LTH/lth_thenoldorelite.dds b/gfx/interface/goals/LTH/lth_thenoldorelite.dds new file mode 100644 index 000000000..ddefeafab Binary files /dev/null and b/gfx/interface/goals/LTH/lth_thenoldorelite.dds differ diff --git a/gfx/interface/goals/LTH/lth_theoathoffeanor.dds b/gfx/interface/goals/LTH/lth_theoathoffeanor.dds new file mode 100644 index 000000000..d4795186c Binary files /dev/null and b/gfx/interface/goals/LTH/lth_theoathoffeanor.dds differ diff --git a/gfx/interface/goals/LTH/lth_theonodrimoffangorn.dds b/gfx/interface/goals/LTH/lth_theonodrimoffangorn.dds new file mode 100644 index 000000000..9c6fbac77 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_theonodrimoffangorn.dds differ diff --git a/gfx/interface/goals/LTH/lth_theopendoorsedict.dds b/gfx/interface/goals/LTH/lth_theopendoorsedict.dds new file mode 100644 index 000000000..a1183f410 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_theopendoorsedict.dds differ diff --git a/gfx/interface/goals/LTH/lth_theorcrightsdebate.dds b/gfx/interface/goals/LTH/lth_theorcrightsdebate.dds new file mode 100644 index 000000000..7799b73ec Binary files /dev/null and b/gfx/interface/goals/LTH/lth_theorcrightsdebate.dds differ diff --git a/gfx/interface/goals/LTH/lth_thepeasantassembly.dds b/gfx/interface/goals/LTH/lth_thepeasantassembly.dds new file mode 100644 index 000000000..944807037 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_thepeasantassembly.dds differ diff --git a/gfx/interface/goals/LTH/lth_thepriviledgeofmembership.dds b/gfx/interface/goals/LTH/lth_thepriviledgeofmembership.dds new file mode 100644 index 000000000..e9c2dcf85 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_thepriviledgeofmembership.dds differ diff --git a/gfx/interface/goals/LTH/lth_thequeensguard.dds b/gfx/interface/goals/LTH/lth_thequeensguard.dds new file mode 100644 index 000000000..42ff40a0d Binary files /dev/null and b/gfx/interface/goals/LTH/lth_thequeensguard.dds differ diff --git a/gfx/interface/goals/LTH/lth_thereawakening.dds b/gfx/interface/goals/LTH/lth_thereawakening.dds new file mode 100644 index 000000000..3f1c53f3c Binary files /dev/null and b/gfx/interface/goals/LTH/lth_thereawakening.dds differ diff --git a/gfx/interface/goals/LTH/lth_thesentinelnetwork.dds b/gfx/interface/goals/LTH/lth_thesentinelnetwork.dds new file mode 100644 index 000000000..9dd2f7df9 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_thesentinelnetwork.dds differ diff --git a/gfx/interface/goals/LTH/lth_theshadowswhisper.dds b/gfx/interface/goals/LTH/lth_theshadowswhisper.dds new file mode 100644 index 000000000..379a49bbc Binary files /dev/null and b/gfx/interface/goals/LTH/lth_theshadowswhisper.dds differ diff --git a/gfx/interface/goals/LTH/lth_thesongofnimrodel.dds b/gfx/interface/goals/LTH/lth_thesongofnimrodel.dds new file mode 100644 index 000000000..a5a457916 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_thesongofnimrodel.dds differ diff --git a/gfx/interface/goals/LTH/lth_thesupremeleader.dds b/gfx/interface/goals/LTH/lth_thesupremeleader.dds new file mode 100644 index 000000000..3f2de8604 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_thesupremeleader.dds differ diff --git a/gfx/interface/goals/LTH/lth_thetwilightgarden.dds b/gfx/interface/goals/LTH/lth_thetwilightgarden.dds new file mode 100644 index 000000000..b915b79a8 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_thetwilightgarden.dds differ diff --git a/gfx/interface/goals/LTH/lth_thetwinheartsoflothlorien.dds b/gfx/interface/goals/LTH/lth_thetwinheartsoflothlorien.dds new file mode 100644 index 000000000..bbc0ae919 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_thetwinheartsoflothlorien.dds differ diff --git a/gfx/interface/goals/LTH/lth_theunholyalliance.dds b/gfx/interface/goals/LTH/lth_theunholyalliance.dds new file mode 100644 index 000000000..902a760e5 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_theunholyalliance.dds differ diff --git a/gfx/interface/goals/LTH/lth_theuntreadedpath.dds b/gfx/interface/goals/LTH/lth_theuntreadedpath.dds new file mode 100644 index 000000000..0aa819ce0 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_theuntreadedpath.dds differ diff --git a/gfx/interface/goals/LTH/lth_thewizardswisdom.dds b/gfx/interface/goals/LTH/lth_thewizardswisdom.dds new file mode 100644 index 000000000..d13f84786 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_thewizardswisdom.dds differ diff --git a/gfx/interface/goals/LTH/lth_tieswiththerohirrim.dds b/gfx/interface/goals/LTH/lth_tieswiththerohirrim.dds new file mode 100644 index 000000000..4f9aa21dc Binary files /dev/null and b/gfx/interface/goals/LTH/lth_tieswiththerohirrim.dds differ diff --git a/gfx/interface/goals/LTH/lth_totalisoltation.dds b/gfx/interface/goals/LTH/lth_totalisoltation.dds new file mode 100644 index 000000000..1217586be Binary files /dev/null and b/gfx/interface/goals/LTH/lth_totalisoltation.dds differ diff --git a/gfx/interface/goals/LTH/lth_trackdowndurinsbane.dds b/gfx/interface/goals/LTH/lth_trackdowndurinsbane.dds new file mode 100644 index 000000000..85e17a958 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_trackdowndurinsbane.dds differ diff --git a/gfx/interface/goals/LTH/lth_tradeagreements.dds b/gfx/interface/goals/LTH/lth_tradeagreements.dds new file mode 100644 index 000000000..50da20439 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_tradeagreements.dds differ diff --git a/gfx/interface/goals/LTH/lth_turnlindon.dds b/gfx/interface/goals/LTH/lth_turnlindon.dds new file mode 100644 index 000000000..cec2fcfde Binary files /dev/null and b/gfx/interface/goals/LTH/lth_turnlindon.dds differ diff --git a/gfx/interface/goals/LTH/lth_turnmirkwood.dds b/gfx/interface/goals/LTH/lth_turnmirkwood.dds new file mode 100644 index 000000000..3143ad268 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_turnmirkwood.dds differ diff --git a/gfx/interface/goals/LTH/lth_turnrivendell.dds b/gfx/interface/goals/LTH/lth_turnrivendell.dds new file mode 100644 index 000000000..cc254ca64 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_turnrivendell.dds differ diff --git a/gfx/interface/goals/LTH/lth_tworingsbecomethone.dds b/gfx/interface/goals/LTH/lth_tworingsbecomethone.dds new file mode 100644 index 000000000..147993007 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_tworingsbecomethone.dds differ diff --git a/gfx/interface/goals/LTH/lth_unionofequals.dds b/gfx/interface/goals/LTH/lth_unionofequals.dds new file mode 100644 index 000000000..0f22b55ca Binary files /dev/null and b/gfx/interface/goals/LTH/lth_unionofequals.dds differ diff --git a/gfx/interface/goals/LTH/lth_unitethecause.dds b/gfx/interface/goals/LTH/lth_unitethecause.dds new file mode 100644 index 000000000..97424f1ab Binary files /dev/null and b/gfx/interface/goals/LTH/lth_unitethecause.dds differ diff --git a/gfx/interface/goals/LTH/lth_unitethefactions.dds b/gfx/interface/goals/LTH/lth_unitethefactions.dds new file mode 100644 index 000000000..07025de2a Binary files /dev/null and b/gfx/interface/goals/LTH/lth_unitethefactions.dds differ diff --git a/gfx/interface/goals/LTH/lth_unityindivision.dds b/gfx/interface/goals/LTH/lth_unityindivision.dds new file mode 100644 index 000000000..f7ef8971f Binary files /dev/null and b/gfx/interface/goals/LTH/lth_unityindivision.dds differ diff --git a/gfx/interface/goals/LTH/lth_unlikelyallies.dds b/gfx/interface/goals/LTH/lth_unlikelyallies.dds new file mode 100644 index 000000000..7a36ca108 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_unlikelyallies.dds differ diff --git a/gfx/interface/goals/LTH/lth_urbancouncils.dds b/gfx/interface/goals/LTH/lth_urbancouncils.dds new file mode 100644 index 000000000..19d5988d2 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_urbancouncils.dds differ diff --git a/gfx/interface/goals/LTH/lth_valesofanduin.dds b/gfx/interface/goals/LTH/lth_valesofanduin.dds new file mode 100644 index 000000000..df8cf0ec2 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_valesofanduin.dds differ diff --git a/gfx/interface/goals/LTH/lth_wanderersofnandor.dds b/gfx/interface/goals/LTH/lth_wanderersofnandor.dds new file mode 100644 index 000000000..39d3a5887 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_wanderersofnandor.dds differ diff --git a/gfx/interface/goals/LTH/lth_watersofhealing.dds b/gfx/interface/goals/LTH/lth_watersofhealing.dds new file mode 100644 index 000000000..13b69e60d Binary files /dev/null and b/gfx/interface/goals/LTH/lth_watersofhealing.dds differ diff --git a/gfx/interface/goals/LTH/lth_wisdomofeluthingol.dds b/gfx/interface/goals/LTH/lth_wisdomofeluthingol.dds new file mode 100644 index 000000000..71d370a5f Binary files /dev/null and b/gfx/interface/goals/LTH/lth_wisdomofeluthingol.dds differ diff --git a/gfx/interface/goals/LTH/lth_wrathoftheforests.dds b/gfx/interface/goals/LTH/lth_wrathoftheforests.dds new file mode 100644 index 000000000..dd5ca9249 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_wrathoftheforests.dds differ diff --git a/gfx/interface/goals/LTH/lth_yavannasblessings.dds b/gfx/interface/goals/LTH/lth_yavannasblessings.dds new file mode 100644 index 000000000..c8b063356 Binary files /dev/null and b/gfx/interface/goals/LTH/lth_yavannasblessings.dds differ diff --git a/gfx/interface/goals/MOR/GFX_goal_ithilien.tga b/gfx/interface/goals/MOR/GFX_goal_ithilien.tga new file mode 100644 index 000000000..edb9f2c10 Binary files /dev/null and b/gfx/interface/goals/MOR/GFX_goal_ithilien.tga differ diff --git a/gfx/interface/goals/MOR/GFX_goal_skull_treaty.dds b/gfx/interface/goals/MOR/GFX_goal_skull_treaty.dds new file mode 100644 index 000000000..fc5d471ca Binary files /dev/null and b/gfx/interface/goals/MOR/GFX_goal_skull_treaty.dds differ diff --git a/gfx/interface/goals/MOR/GFX_goal_skull_treaty.tga b/gfx/interface/goals/MOR/GFX_goal_skull_treaty.tga deleted file mode 100644 index fe57c0a38..000000000 Binary files a/gfx/interface/goals/MOR/GFX_goal_skull_treaty.tga and /dev/null differ diff --git a/gfx/interface/goals/MOR/GFX_goal_stab.tga b/gfx/interface/goals/MOR/GFX_goal_stab.tga new file mode 100644 index 000000000..bbb4a7a05 Binary files /dev/null and b/gfx/interface/goals/MOR/GFX_goal_stab.tga differ diff --git a/gfx/interface/goals/MOR/mor_encroach_on_ithilien.dds b/gfx/interface/goals/MOR/mor_encroach_on_ithilien.dds new file mode 100644 index 000000000..f2fc9b343 Binary files /dev/null and b/gfx/interface/goals/MOR/mor_encroach_on_ithilien.dds differ diff --git a/gfx/interface/goals/MOR/mor_escalate_the_attacks.dds b/gfx/interface/goals/MOR/mor_escalate_the_attacks.dds new file mode 100644 index 000000000..a4fcc58ee Binary files /dev/null and b/gfx/interface/goals/MOR/mor_escalate_the_attacks.dds differ diff --git a/gfx/interface/goals/MOR/mor_second_wave.dds b/gfx/interface/goals/MOR/mor_second_wave.dds new file mode 100644 index 000000000..c5547ddf9 Binary files /dev/null and b/gfx/interface/goals/MOR/mor_second_wave.dds differ diff --git a/gfx/interface/goals/input (dont delete).json b/gfx/interface/goals/input (dont delete).json deleted file mode 100644 index 58c632144..000000000 --- a/gfx/interface/goals/input (dont delete).json +++ /dev/null @@ -1,136 +0,0 @@ -{ - "Settings": { - "map": "test" - }, - "Focuses": { - "Generic": [ - "GFX_goal_support_cooperative", - "GFX_goal_generic_gondor_research", - "GFX_goal_generic_industry_I", - "GFX_goal_resource_wood", - "GFX_goal_support_revolutionary", - "GFX_goal_support_belligerent", - "GFX_goal_support_unalligned" - ], - "ANG": [ - "GFX_goal_angmar_unalligned", - "GFX_goal_mordor", - "GFX_goal_mordor_deal", - "GFX_goal_witch_king" - ], - "MOR": [ - "GFX_goal_dol_guldur", - "GFX_goal_erebor", - "GFX_goal_grapes", - "GFX_goal_mordor_landscape", - "GFX_goal_skull_treaty", - "GFX_servant_of_melkor", - "GFX_trolls", - "GFX_wargoal_dale", - "GFX_wargoal_dorwinion", - "GFX_wargoal_erebor", - "GFX_wargoal_gondor", - "GFX_wargoal_harad", - "GFX_wargoal_rhun", - "GFX_wargoal_rohan", - "GFX_goal_restore_baraddr", - "GFX_goal_azog", - "GFX_goal_sauron_eye", - "GFX_goal_the_one_ring", - "GFX_goal_gather_the_nazgl", - "GFX_goal_dark_dol_guldur", - "GFX_goal_meats_back_on_the_menu", - "GFX_goal_stop_melkor_worship", - "GFX_goal_union_of_working_orc_class", - "GFX_goal_unleash_sauron", - "GFX_goal_golum" - ], - "RHU": [ - "GFX_goal_dale", - "GFX_goal_dorwinion", - "GFX_goal_khamul", - "GFX_goal_rhun_civil_war", - "GFX_goal_the_blue_wizards", - "GFX_wargoal_mordor" - ], - "GON": [ - "GFX_goal_king_aragorn", - "GFX_goal_gondor", - "GFX_goal_denethor", - "GFX_goal_light_the_beacons", - "GFX_goal_ghost_army", - "GFX_goal_faramir", - "GFX_goal_boromir" - ], - "ROH": [ - "GFX_goal_rohan", - "GFX_goal_assasinate_eomer", - "GFX_goal_eowyn", - "GFX_goal_trust_gandalf", - "GFX_goal_trust_saruman", - "GFX_goal_sick_theoden", - "GFX_goal_grima", - "GFX_goal_helms_deep_weakness", - "GFX_goal_allow_gandalf_in", - "GFX_goal_theodred", - "GFX_goal_helms_deep", - "GFX_goal_edoras" - ], - "ISE": [ - "GFX_goal_the_white_hand", - "GFX_goal_army_uruk_hai", - "GFX_goal_sauron_is_looking", - "GFX_goal_meet_with_gandalf", - "GFX_goal_burn_fangorn_forest", - "GFX_goal_imprisend_gandalf", - "GFX_goal_rally_the_tribes", - "GFX_goal_ways_of_the_light", - "GFX_goal_orthanc_destroyed" - ], - "MIR": [ - "GFX_goal_deal_with_the_spiders", - "GFX_goal_spider_anarchy", - "GFX_goal_radagast", - "GFX_goal_thranduil" - ], - "ENT": [ - "GFX_goal_community_effort", - "GFX_goal_one_with_the_forest", - "GFX_goal_teachings_of_the_ancients", - "GFX_goal_fury_of_the_trees", - "GFX_goal_entwood" - ], - "RIV": [ - "GFX_goal_elrond", - "GFX_goal_council_of_elrond", - "GFX_goal_reforge_narsil", - "GFX_goal_take_his_ring" - ], - "ERE": [ - "GFX_goal_army_dwarves" - ], - "LTH": [ - "GFX_goal_galadriel", - "GFX_goal_celeborn", - "GFX_goal_bewitch_beorn" - ], - "ART": [ - "GFX_goal_rangers_of_the_north", - "GFX_unite_by_force" - ], - "MOA": [ - "GFX_goal_balrog" - ], - "GUN": [ - "GFX_goal_gundabad" - ] - } -} - - - - - - - - diff --git a/gfx/interface/hourglass.png b/gfx/interface/hourglass.png new file mode 100644 index 000000000..b7bb9b88c Binary files /dev/null and b/gfx/interface/hourglass.png differ diff --git a/gfx/interface/ideas/GFX_torturegollum.tga b/gfx/interface/ideas/GFX_torturegollum.tga deleted file mode 100644 index 2ba1f96f6..000000000 Binary files a/gfx/interface/ideas/GFX_torturegollum.tga and /dev/null differ diff --git a/gfx/interface/ideas/GON/idea_gon_white_tree.dds b/gfx/interface/ideas/GON/idea_gon_white_tree.dds new file mode 100644 index 000000000..f23b35e3d Binary files /dev/null and b/gfx/interface/ideas/GON/idea_gon_white_tree.dds differ diff --git a/gfx/interface/ideas/HAR/Portrait_advisor_har_angamaite.dds b/gfx/interface/ideas/HAR/Portrait_advisor_har_angamaite.dds deleted file mode 100644 index a2b0c0cf0..000000000 Binary files a/gfx/interface/ideas/HAR/Portrait_advisor_har_angamaite.dds and /dev/null differ diff --git a/gfx/interface/ideas/HAR/Portrait_advisor_har_hesbar.dds b/gfx/interface/ideas/HAR/Portrait_advisor_har_hesbar.dds deleted file mode 100644 index 05e3e3276..000000000 Binary files a/gfx/interface/ideas/HAR/Portrait_advisor_har_hesbar.dds and /dev/null differ diff --git a/gfx/interface/ideas/HAR/Portrait_advisor_har_languth.dds b/gfx/interface/ideas/HAR/Portrait_advisor_har_languth.dds deleted file mode 100644 index 9232e8bf8..000000000 Binary files a/gfx/interface/ideas/HAR/Portrait_advisor_har_languth.dds and /dev/null differ diff --git a/gfx/interface/ideas/HAR/Portrait_advisor_har_mahud.dds b/gfx/interface/ideas/HAR/Portrait_advisor_har_mahud.dds deleted file mode 100644 index 9eb677f55..000000000 Binary files a/gfx/interface/ideas/HAR/Portrait_advisor_har_mahud.dds and /dev/null differ diff --git a/gfx/interface/ideas/HAR/Portrait_advisor_har_nargdryt.dds b/gfx/interface/ideas/HAR/Portrait_advisor_har_nargdryt.dds deleted file mode 100644 index dd3b20c13..000000000 Binary files a/gfx/interface/ideas/HAR/Portrait_advisor_har_nargdryt.dds and /dev/null differ diff --git a/gfx/interface/ideas/HAR/Portrait_advisor_har_sangahyando.dds b/gfx/interface/ideas/HAR/Portrait_advisor_har_sangahyando.dds deleted file mode 100644 index e3d876cba..000000000 Binary files a/gfx/interface/ideas/HAR/Portrait_advisor_har_sangahyando.dds and /dev/null differ diff --git a/gfx/interface/ideas/MOR/Portrait_advisor_mor_Dwar.dds b/gfx/interface/ideas/MOR/Portrait_advisor_mor_Dwar.dds deleted file mode 100644 index 3ffefae6e..000000000 Binary files a/gfx/interface/ideas/MOR/Portrait_advisor_mor_Dwar.dds and /dev/null differ diff --git a/gfx/interface/ideas/MOR/Portrait_advisor_mor_Hoarmurath.dds b/gfx/interface/ideas/MOR/Portrait_advisor_mor_Hoarmurath.dds deleted file mode 100644 index 516531969..000000000 Binary files a/gfx/interface/ideas/MOR/Portrait_advisor_mor_Hoarmurath.dds and /dev/null differ diff --git a/gfx/interface/ideas/MOR/Portrait_advisor_mor_Uvantha.dds b/gfx/interface/ideas/MOR/Portrait_advisor_mor_Uvantha.dds deleted file mode 100644 index 73551a7e6..000000000 Binary files a/gfx/interface/ideas/MOR/Portrait_advisor_mor_Uvantha.dds and /dev/null differ diff --git a/gfx/interface/ideas/MOR/Portrait_advisor_mor_mouth_of_sauron.dds b/gfx/interface/ideas/MOR/Portrait_advisor_mor_mouth_of_sauron.dds deleted file mode 100644 index cb0cbd03d..000000000 Binary files a/gfx/interface/ideas/MOR/Portrait_advisor_mor_mouth_of_sauron.dds and /dev/null differ diff --git a/gfx/interface/ideas/RHU/Portrait_advisor_rhu_alatar.dds b/gfx/interface/ideas/RHU/Portrait_advisor_rhu_alatar.dds deleted file mode 100644 index 665f56274..000000000 Binary files a/gfx/interface/ideas/RHU/Portrait_advisor_rhu_alatar.dds and /dev/null differ diff --git a/gfx/interface/ideas/RHU/Portrait_advisor_rhu_pallando.dds b/gfx/interface/ideas/RHU/Portrait_advisor_rhu_pallando.dds deleted file mode 100644 index 9d16fc8ed..000000000 Binary files a/gfx/interface/ideas/RHU/Portrait_advisor_rhu_pallando.dds and /dev/null differ diff --git a/gfx/interface/ideas/generic_idea_belligerent.dds b/gfx/interface/ideas/generic_idea_belligerent.dds new file mode 100644 index 000000000..60a9a85f2 Binary files /dev/null and b/gfx/interface/ideas/generic_idea_belligerent.dds differ diff --git a/gfx/interface/ideas/generic_idea_cooperative.dds b/gfx/interface/ideas/generic_idea_cooperative.dds new file mode 100644 index 000000000..cc8fa5827 Binary files /dev/null and b/gfx/interface/ideas/generic_idea_cooperative.dds differ diff --git a/gfx/interface/ideas/generic_idea_revolutionary.dds b/gfx/interface/ideas/generic_idea_revolutionary.dds new file mode 100644 index 000000000..ddf6f710b Binary files /dev/null and b/gfx/interface/ideas/generic_idea_revolutionary.dds differ diff --git a/gfx/interface/ideas/generic_idea_unaligned.dds b/gfx/interface/ideas/generic_idea_unaligned.dds new file mode 100644 index 000000000..10caf32b0 Binary files /dev/null and b/gfx/interface/ideas/generic_idea_unaligned.dds differ diff --git a/gfx/interface/ideas/Honor_morgoth.dds b/gfx/interface/ideas/idea_honor_morgoth.dds similarity index 100% rename from gfx/interface/ideas/Honor_morgoth.dds rename to gfx/interface/ideas/idea_honor_morgoth.dds diff --git a/gfx/interface/ideas/national_spirits/GON/denethor_paranoia.dds b/gfx/interface/ideas/national_spirits/GON/denethor_paranoia.dds new file mode 100644 index 000000000..e7aa87ff1 Binary files /dev/null and b/gfx/interface/ideas/national_spirits/GON/denethor_paranoia.dds differ diff --git a/gfx/interface/ideas/national_spirits/GON/denethor_paranoia_2.dds b/gfx/interface/ideas/national_spirits/GON/denethor_paranoia_2.dds new file mode 100644 index 000000000..e8c2bee20 Binary files /dev/null and b/gfx/interface/ideas/national_spirits/GON/denethor_paranoia_2.dds differ diff --git a/gfx/interface/ideas/national_spirits/GON/denethor_paranoia_3.dds b/gfx/interface/ideas/national_spirits/GON/denethor_paranoia_3.dds new file mode 100644 index 000000000..9f0820766 Binary files /dev/null and b/gfx/interface/ideas/national_spirits/GON/denethor_paranoia_3.dds differ diff --git a/gfx/interface/ideas/national_spirits/GON/denethor_paranoia_4.dds b/gfx/interface/ideas/national_spirits/GON/denethor_paranoia_4.dds new file mode 100644 index 000000000..ac226d89c Binary files /dev/null and b/gfx/interface/ideas/national_spirits/GON/denethor_paranoia_4.dds differ diff --git a/gfx/interface/ideas/national_spirits/GON/swan_knights.dds b/gfx/interface/ideas/national_spirits/GON/swan_knights.dds new file mode 100644 index 000000000..d94e6030e Binary files /dev/null and b/gfx/interface/ideas/national_spirits/GON/swan_knights.dds differ diff --git a/gfx/interface/ideas/national_spirits/GON/weary_armed_forces.dds b/gfx/interface/ideas/national_spirits/GON/weary_armed_forces.dds new file mode 100644 index 000000000..c9cf6d2dd Binary files /dev/null and b/gfx/interface/ideas/national_spirits/GON/weary_armed_forces.dds differ diff --git a/gfx/interface/ideas/national_spirits/LTH/immortal_endurance.dds b/gfx/interface/ideas/national_spirits/LTH/immortal_endurance.dds new file mode 100644 index 000000000..2dc0ab95e Binary files /dev/null and b/gfx/interface/ideas/national_spirits/LTH/immortal_endurance.dds differ diff --git a/gfx/interface/ideas/national_spirits/LTH/limited_intervention.dds b/gfx/interface/ideas/national_spirits/LTH/limited_intervention.dds new file mode 100644 index 000000000..5f8afa0a3 Binary files /dev/null and b/gfx/interface/ideas/national_spirits/LTH/limited_intervention.dds differ diff --git a/gfx/interface/ideas/national_spirits/LTH/lth_a_necessary_evil.dds b/gfx/interface/ideas/national_spirits/LTH/lth_a_necessary_evil.dds new file mode 100644 index 000000000..9be122c6f Binary files /dev/null and b/gfx/interface/ideas/national_spirits/LTH/lth_a_necessary_evil.dds differ diff --git a/gfx/interface/ideas/national_spirits/LTH/lth_aegis_of_light.dds b/gfx/interface/ideas/national_spirits/LTH/lth_aegis_of_light.dds new file mode 100644 index 000000000..fcb9ee874 Binary files /dev/null and b/gfx/interface/ideas/national_spirits/LTH/lth_aegis_of_light.dds differ diff --git a/gfx/interface/ideas/national_spirits/LTH/lth_anduin_commerce.dds b/gfx/interface/ideas/national_spirits/LTH/lth_anduin_commerce.dds new file mode 100644 index 000000000..0b8085afe Binary files /dev/null and b/gfx/interface/ideas/national_spirits/LTH/lth_anduin_commerce.dds differ diff --git a/gfx/interface/ideas/national_spirits/LTH/lth_beacon_of_hope.dds b/gfx/interface/ideas/national_spirits/LTH/lth_beacon_of_hope.dds new file mode 100644 index 000000000..0e955f6c2 Binary files /dev/null and b/gfx/interface/ideas/national_spirits/LTH/lth_beacon_of_hope.dds differ diff --git a/gfx/interface/ideas/national_spirits/LTH/lth_blades_of_the_eldar.dds b/gfx/interface/ideas/national_spirits/LTH/lth_blades_of_the_eldar.dds new file mode 100644 index 000000000..e5aa83b8d Binary files /dev/null and b/gfx/interface/ideas/national_spirits/LTH/lth_blades_of_the_eldar.dds differ diff --git a/gfx/interface/ideas/national_spirits/LTH/lth_cele_and_gala.dds b/gfx/interface/ideas/national_spirits/LTH/lth_cele_and_gala.dds new file mode 100644 index 000000000..7630a78d6 Binary files /dev/null and b/gfx/interface/ideas/national_spirits/LTH/lth_cele_and_gala.dds differ diff --git a/gfx/interface/ideas/national_spirits/LTH/lth_cele_and_gala_mended.dds b/gfx/interface/ideas/national_spirits/LTH/lth_cele_and_gala_mended.dds new file mode 100644 index 000000000..7ff9e942d Binary files /dev/null and b/gfx/interface/ideas/national_spirits/LTH/lth_cele_and_gala_mended.dds differ diff --git a/gfx/interface/ideas/national_spirits/LTH/lth_cele_gala_accord.dds b/gfx/interface/ideas/national_spirits/LTH/lth_cele_gala_accord.dds new file mode 100644 index 000000000..37fa3813d Binary files /dev/null and b/gfx/interface/ideas/national_spirits/LTH/lth_cele_gala_accord.dds differ diff --git a/gfx/interface/ideas/national_spirits/LTH/lth_decadent_nobility.dds b/gfx/interface/ideas/national_spirits/LTH/lth_decadent_nobility.dds new file mode 100644 index 000000000..7f5940488 Binary files /dev/null and b/gfx/interface/ideas/national_spirits/LTH/lth_decadent_nobility.dds differ diff --git a/gfx/interface/ideas/national_spirits/LTH/lth_elven_factions.dds b/gfx/interface/ideas/national_spirits/LTH/lth_elven_factions.dds new file mode 100644 index 000000000..1ed0c2b4f Binary files /dev/null and b/gfx/interface/ideas/national_spirits/LTH/lth_elven_factions.dds differ diff --git a/gfx/interface/ideas/national_spirits/LTH/lth_fate_of_mortals.dds b/gfx/interface/ideas/national_spirits/LTH/lth_fate_of_mortals.dds new file mode 100644 index 000000000..817ea5a5d Binary files /dev/null and b/gfx/interface/ideas/national_spirits/LTH/lth_fate_of_mortals.dds differ diff --git a/gfx/interface/ideas/national_spirits/LTH/lth_girdle_of_melian.dds b/gfx/interface/ideas/national_spirits/LTH/lth_girdle_of_melian.dds new file mode 100644 index 000000000..c92b0f137 Binary files /dev/null and b/gfx/interface/ideas/national_spirits/LTH/lth_girdle_of_melian.dds differ diff --git a/gfx/interface/ideas/national_spirits/LTH/lth_great_beasts.dds b/gfx/interface/ideas/national_spirits/LTH/lth_great_beasts.dds new file mode 100644 index 000000000..28dd8558b Binary files /dev/null and b/gfx/interface/ideas/national_spirits/LTH/lth_great_beasts.dds differ diff --git a/gfx/interface/ideas/national_spirits/LTH/lth_great_schism.dds b/gfx/interface/ideas/national_spirits/LTH/lth_great_schism.dds new file mode 100644 index 000000000..1e194cce2 Binary files /dev/null and b/gfx/interface/ideas/national_spirits/LTH/lth_great_schism.dds differ diff --git a/gfx/interface/ideas/national_spirits/LTH/lth_harmonic_ascendancy.dds b/gfx/interface/ideas/national_spirits/LTH/lth_harmonic_ascendancy.dds new file mode 100644 index 000000000..0a251b003 Binary files /dev/null and b/gfx/interface/ideas/national_spirits/LTH/lth_harmonic_ascendancy.dds differ diff --git a/gfx/interface/ideas/national_spirits/LTH/lth_last_eldar.dds b/gfx/interface/ideas/national_spirits/LTH/lth_last_eldar.dds new file mode 100644 index 000000000..42bdf345b Binary files /dev/null and b/gfx/interface/ideas/national_spirits/LTH/lth_last_eldar.dds differ diff --git a/gfx/interface/ideas/national_spirits/LTH/lth_last_stand.dds b/gfx/interface/ideas/national_spirits/LTH/lth_last_stand.dds new file mode 100644 index 000000000..7b50191d6 Binary files /dev/null and b/gfx/interface/ideas/national_spirits/LTH/lth_last_stand.dds differ diff --git a/gfx/interface/ideas/national_spirits/LTH/lth_lead_by_example.dds b/gfx/interface/ideas/national_spirits/LTH/lth_lead_by_example.dds new file mode 100644 index 000000000..327f744b1 Binary files /dev/null and b/gfx/interface/ideas/national_spirits/LTH/lth_lead_by_example.dds differ diff --git a/gfx/interface/ideas/national_spirits/LTH/lth_loose_giant.dds b/gfx/interface/ideas/national_spirits/LTH/lth_loose_giant.dds new file mode 100644 index 000000000..3e6678120 Binary files /dev/null and b/gfx/interface/ideas/national_spirits/LTH/lth_loose_giant.dds differ diff --git a/gfx/interface/ideas/national_spirits/LTH/lth_meritocracy.dds b/gfx/interface/ideas/national_spirits/LTH/lth_meritocracy.dds new file mode 100644 index 000000000..8622778e0 Binary files /dev/null and b/gfx/interface/ideas/national_spirits/LTH/lth_meritocracy.dds differ diff --git a/gfx/interface/ideas/national_spirits/LTH/lth_noldor_elite.dds b/gfx/interface/ideas/national_spirits/LTH/lth_noldor_elite.dds new file mode 100644 index 000000000..6b30c49f7 Binary files /dev/null and b/gfx/interface/ideas/national_spirits/LTH/lth_noldor_elite.dds differ diff --git a/gfx/interface/ideas/national_spirits/LTH/lth_peasant_assembly.dds b/gfx/interface/ideas/national_spirits/LTH/lth_peasant_assembly.dds new file mode 100644 index 000000000..320230101 Binary files /dev/null and b/gfx/interface/ideas/national_spirits/LTH/lth_peasant_assembly.dds differ diff --git a/gfx/interface/ideas/national_spirits/LTH/lth_prisoner_vivisections.dds b/gfx/interface/ideas/national_spirits/LTH/lth_prisoner_vivisections.dds new file mode 100644 index 000000000..d3347c03b Binary files /dev/null and b/gfx/interface/ideas/national_spirits/LTH/lth_prisoner_vivisections.dds differ diff --git a/gfx/interface/ideas/national_spirits/LTH/lth_sacred_trees.dds b/gfx/interface/ideas/national_spirits/LTH/lth_sacred_trees.dds new file mode 100644 index 000000000..ca831958d Binary files /dev/null and b/gfx/interface/ideas/national_spirits/LTH/lth_sacred_trees.dds differ diff --git a/gfx/interface/ideas/national_spirits/LTH/lth_sacred_trees_fading.dds b/gfx/interface/ideas/national_spirits/LTH/lth_sacred_trees_fading.dds new file mode 100644 index 000000000..caaa942a1 Binary files /dev/null and b/gfx/interface/ideas/national_spirits/LTH/lth_sacred_trees_fading.dds differ diff --git a/gfx/interface/ideas/national_spirits/LTH/lth_sealed_borders.dds b/gfx/interface/ideas/national_spirits/LTH/lth_sealed_borders.dds new file mode 100644 index 000000000..7b93c6970 Binary files /dev/null and b/gfx/interface/ideas/national_spirits/LTH/lth_sealed_borders.dds differ diff --git a/gfx/interface/ideas/national_spirits/LTH/lth_silvan_elite_warriors.dds b/gfx/interface/ideas/national_spirits/LTH/lth_silvan_elite_warriors.dds new file mode 100644 index 000000000..e64fee332 Binary files /dev/null and b/gfx/interface/ideas/national_spirits/LTH/lth_silvan_elite_warriors.dds differ diff --git a/gfx/interface/ideas/national_spirits/LTH/lth_silverthorn_arrows.dds b/gfx/interface/ideas/national_spirits/LTH/lth_silverthorn_arrows.dds new file mode 100644 index 000000000..2abd60cae Binary files /dev/null and b/gfx/interface/ideas/national_spirits/LTH/lth_silverthorn_arrows.dds differ diff --git a/gfx/interface/ideas/national_spirits/LTH/lth_sky_soil_and_water.dds b/gfx/interface/ideas/national_spirits/LTH/lth_sky_soil_and_water.dds new file mode 100644 index 000000000..eee5b34fc Binary files /dev/null and b/gfx/interface/ideas/national_spirits/LTH/lth_sky_soil_and_water.dds differ diff --git a/gfx/interface/ideas/national_spirits/LTH/lth_the_new_order.dds b/gfx/interface/ideas/national_spirits/LTH/lth_the_new_order.dds new file mode 100644 index 000000000..adaf1bed3 Binary files /dev/null and b/gfx/interface/ideas/national_spirits/LTH/lth_the_new_order.dds differ diff --git a/gfx/interface/ideas/national_spirits/LTH/lth_total_isolation.dds b/gfx/interface/ideas/national_spirits/LTH/lth_total_isolation.dds new file mode 100644 index 000000000..eb2f0bc37 Binary files /dev/null and b/gfx/interface/ideas/national_spirits/LTH/lth_total_isolation.dds differ diff --git a/gfx/interface/ideas/national_spirits/LTH/lth_unflinching_defender.dds b/gfx/interface/ideas/national_spirits/LTH/lth_unflinching_defender.dds new file mode 100644 index 000000000..7085ead2d Binary files /dev/null and b/gfx/interface/ideas/national_spirits/LTH/lth_unflinching_defender.dds differ diff --git a/gfx/interface/ideas/national_spirits/LTH/lth_unity_in_division.dds b/gfx/interface/ideas/national_spirits/LTH/lth_unity_in_division.dds new file mode 100644 index 000000000..d6d4dd957 Binary files /dev/null and b/gfx/interface/ideas/national_spirits/LTH/lth_unity_in_division.dds differ diff --git a/gfx/interface/ideas/national_spirits/elven_alliance/ea_resolution_icon_alliance.dds b/gfx/interface/ideas/national_spirits/elven_alliance/ea_resolution_icon_alliance.dds new file mode 100644 index 000000000..95323d0a5 Binary files /dev/null and b/gfx/interface/ideas/national_spirits/elven_alliance/ea_resolution_icon_alliance.dds differ diff --git a/gfx/interface/ideas/national_spirits/elven_alliance/ea_resolution_icon_alliance_grey.dds b/gfx/interface/ideas/national_spirits/elven_alliance/ea_resolution_icon_alliance_grey.dds new file mode 100644 index 000000000..8c7062afd Binary files /dev/null and b/gfx/interface/ideas/national_spirits/elven_alliance/ea_resolution_icon_alliance_grey.dds differ diff --git a/gfx/interface/ideas/national_spirits/elven_alliance/ea_resolution_icon_expansion.dds b/gfx/interface/ideas/national_spirits/elven_alliance/ea_resolution_icon_expansion.dds new file mode 100644 index 000000000..2407e4a8a Binary files /dev/null and b/gfx/interface/ideas/national_spirits/elven_alliance/ea_resolution_icon_expansion.dds differ diff --git a/gfx/interface/ideas/national_spirits/elven_alliance/ea_resolution_icon_expansion_grey.dds b/gfx/interface/ideas/national_spirits/elven_alliance/ea_resolution_icon_expansion_grey.dds new file mode 100644 index 000000000..ffe4d23e4 Binary files /dev/null and b/gfx/interface/ideas/national_spirits/elven_alliance/ea_resolution_icon_expansion_grey.dds differ diff --git a/gfx/interface/ideas/national_spirits/elven_alliance/ea_resolution_icon_hegemony.dds b/gfx/interface/ideas/national_spirits/elven_alliance/ea_resolution_icon_hegemony.dds new file mode 100644 index 000000000..9770b91eb Binary files /dev/null and b/gfx/interface/ideas/national_spirits/elven_alliance/ea_resolution_icon_hegemony.dds differ diff --git a/gfx/interface/ideas/national_spirits/elven_alliance/ea_resolution_icon_hegemony_grey.dds b/gfx/interface/ideas/national_spirits/elven_alliance/ea_resolution_icon_hegemony_grey.dds new file mode 100644 index 000000000..2ae9b1122 Binary files /dev/null and b/gfx/interface/ideas/national_spirits/elven_alliance/ea_resolution_icon_hegemony_grey.dds differ diff --git a/gfx/interface/ideas/national_spirits/elven_alliance/ea_resolution_icon_industry.dds b/gfx/interface/ideas/national_spirits/elven_alliance/ea_resolution_icon_industry.dds new file mode 100644 index 000000000..e95dd93f7 Binary files /dev/null and b/gfx/interface/ideas/national_spirits/elven_alliance/ea_resolution_icon_industry.dds differ diff --git a/gfx/interface/ideas/national_spirits/elven_alliance/ea_resolution_icon_industry_grey.dds b/gfx/interface/ideas/national_spirits/elven_alliance/ea_resolution_icon_industry_grey.dds new file mode 100644 index 000000000..29e97e9c4 Binary files /dev/null and b/gfx/interface/ideas/national_spirits/elven_alliance/ea_resolution_icon_industry_grey.dds differ diff --git a/gfx/interface/ideas/national_spirits/elven_alliance/ea_resolution_icon_martial.dds b/gfx/interface/ideas/national_spirits/elven_alliance/ea_resolution_icon_martial.dds new file mode 100644 index 000000000..87e61eaae Binary files /dev/null and b/gfx/interface/ideas/national_spirits/elven_alliance/ea_resolution_icon_martial.dds differ diff --git a/gfx/interface/ideas/national_spirits/elven_alliance/ea_resolution_icon_martial_grey.dds b/gfx/interface/ideas/national_spirits/elven_alliance/ea_resolution_icon_martial_grey.dds new file mode 100644 index 000000000..dee31dd6a Binary files /dev/null and b/gfx/interface/ideas/national_spirits/elven_alliance/ea_resolution_icon_martial_grey.dds differ diff --git a/gfx/interface/ideas/national_spirits/elven_alliance/ea_resolution_icon_peace.dds b/gfx/interface/ideas/national_spirits/elven_alliance/ea_resolution_icon_peace.dds new file mode 100644 index 000000000..4bc90fe16 Binary files /dev/null and b/gfx/interface/ideas/national_spirits/elven_alliance/ea_resolution_icon_peace.dds differ diff --git a/gfx/interface/ideas/national_spirits/elven_alliance/ea_resolution_icon_peace_grey.dds b/gfx/interface/ideas/national_spirits/elven_alliance/ea_resolution_icon_peace_grey.dds new file mode 100644 index 000000000..54984e869 Binary files /dev/null and b/gfx/interface/ideas/national_spirits/elven_alliance/ea_resolution_icon_peace_grey.dds differ diff --git a/gfx/interface/ideas/national_spirits/elven_alliance/ea_resolution_icon_research.dds b/gfx/interface/ideas/national_spirits/elven_alliance/ea_resolution_icon_research.dds new file mode 100644 index 000000000..42d85af66 Binary files /dev/null and b/gfx/interface/ideas/national_spirits/elven_alliance/ea_resolution_icon_research.dds differ diff --git a/gfx/interface/ideas/national_spirits/elven_alliance/ea_resolution_icon_research_grey.dds b/gfx/interface/ideas/national_spirits/elven_alliance/ea_resolution_icon_research_grey.dds new file mode 100644 index 000000000..e91e58ba4 Binary files /dev/null and b/gfx/interface/ideas/national_spirits/elven_alliance/ea_resolution_icon_research_grey.dds differ diff --git a/gfx/interface/ideas/national_spirits/elven_alliance/ea_resolution_icon_trade.dds b/gfx/interface/ideas/national_spirits/elven_alliance/ea_resolution_icon_trade.dds new file mode 100644 index 000000000..495d26fe3 Binary files /dev/null and b/gfx/interface/ideas/national_spirits/elven_alliance/ea_resolution_icon_trade.dds differ diff --git a/gfx/interface/ideas/national_spirits/elven_alliance/ea_resolution_icon_trade_grey.dds b/gfx/interface/ideas/national_spirits/elven_alliance/ea_resolution_icon_trade_grey.dds new file mode 100644 index 000000000..2b5a50fad Binary files /dev/null and b/gfx/interface/ideas/national_spirits/elven_alliance/ea_resolution_icon_trade_grey.dds differ diff --git a/gfx/interface/ideas/national_spirits/elven_alliance/ea_resolution_icon_union.dds b/gfx/interface/ideas/national_spirits/elven_alliance/ea_resolution_icon_union.dds new file mode 100644 index 000000000..a111f1a79 Binary files /dev/null and b/gfx/interface/ideas/national_spirits/elven_alliance/ea_resolution_icon_union.dds differ diff --git a/gfx/interface/ideas/national_spirits/elven_alliance/ea_resolution_icon_union_grey.dds b/gfx/interface/ideas/national_spirits/elven_alliance/ea_resolution_icon_union_grey.dds new file mode 100644 index 000000000..c1d27180d Binary files /dev/null and b/gfx/interface/ideas/national_spirits/elven_alliance/ea_resolution_icon_union_grey.dds differ diff --git a/gfx/interface/ideas/one_ring.dds b/gfx/interface/ideas/national_spirits/one_ring.dds similarity index 100% rename from gfx/interface/ideas/one_ring.dds rename to gfx/interface/ideas/national_spirits/one_ring.dds diff --git a/gfx/interface/ideas/sauron_eye.dds b/gfx/interface/ideas/national_spirits/sauron_eye.dds similarity index 100% rename from gfx/interface/ideas/sauron_eye.dds rename to gfx/interface/ideas/national_spirits/sauron_eye.dds diff --git a/gfx/interface/ideas/torturegollum.png b/gfx/interface/ideas/torturegollum.png deleted file mode 100644 index 80951c676..000000000 Binary files a/gfx/interface/ideas/torturegollum.png and /dev/null differ diff --git a/gfx/interface/inf_art_checkbox.dds b/gfx/interface/inf_art_checkbox.dds new file mode 100644 index 000000000..e036245c8 Binary files /dev/null and b/gfx/interface/inf_art_checkbox.dds differ diff --git a/gfx/interface/international_market/Access_&_buy_equipment.dds b/gfx/interface/international_market/Access_&_buy_equipment.dds new file mode 100644 index 000000000..45bc20349 Binary files /dev/null and b/gfx/interface/international_market/Access_&_buy_equipment.dds differ diff --git a/gfx/interface/international_market/Add_equipment_to_markete.dds b/gfx/interface/international_market/Add_equipment_to_markete.dds new file mode 100644 index 000000000..caf58bafe Binary files /dev/null and b/gfx/interface/international_market/Add_equipment_to_markete.dds differ diff --git a/gfx/interface/international_market/market_ui.dds b/gfx/interface/international_market/market_ui.dds new file mode 100644 index 000000000..77b4c8ee8 Binary files /dev/null and b/gfx/interface/international_market/market_ui.dds differ diff --git a/gfx/interface/mapmodes/ea_mapmode_button_deselected.dds b/gfx/interface/mapmodes/ea_mapmode_button_deselected.dds new file mode 100644 index 000000000..542e1a7dc Binary files /dev/null and b/gfx/interface/mapmodes/ea_mapmode_button_deselected.dds differ diff --git a/gfx/interface/mapmodes/ea_mapmode_button_selected.dds b/gfx/interface/mapmodes/ea_mapmode_button_selected.dds new file mode 100644 index 000000000..3df640faf Binary files /dev/null and b/gfx/interface/mapmodes/ea_mapmode_button_selected.dds differ diff --git a/gfx/interface/military_industrial_organization/Industrial_manufacturer_icon.dds b/gfx/interface/military_industrial_organization/Industrial_manufacturer_icon.dds new file mode 100644 index 000000000..23505ba1b Binary files /dev/null and b/gfx/interface/military_industrial_organization/Industrial_manufacturer_icon.dds differ diff --git a/gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_ballista.dds b/gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_ballista.dds new file mode 100644 index 000000000..7b9dbe17f Binary files /dev/null and b/gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_ballista.dds differ diff --git a/gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_book.dds b/gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_book.dds new file mode 100644 index 000000000..091b748e4 Binary files /dev/null and b/gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_book.dds differ diff --git a/gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_bow.dds b/gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_bow.dds new file mode 100644 index 000000000..80dfaecee Binary files /dev/null and b/gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_bow.dds differ diff --git a/gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_catapult.dds b/gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_catapult.dds new file mode 100644 index 000000000..1c8183b96 Binary files /dev/null and b/gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_catapult.dds differ diff --git a/gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_cavalry.dds b/gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_cavalry.dds new file mode 100644 index 000000000..9b06e507a Binary files /dev/null and b/gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_cavalry.dds differ diff --git a/gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_crossbow.dds b/gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_crossbow.dds new file mode 100644 index 000000000..9635b9b54 Binary files /dev/null and b/gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_crossbow.dds differ diff --git a/gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_eagle.dds b/gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_eagle.dds new file mode 100644 index 000000000..a5cfc34ed Binary files /dev/null and b/gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_eagle.dds differ diff --git a/gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_ships.dds b/gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_ships.dds new file mode 100644 index 000000000..d852f213c Binary files /dev/null and b/gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_ships.dds differ diff --git a/gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_swords.dds b/gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_swords.dds new file mode 100644 index 000000000..858ed72ff Binary files /dev/null and b/gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_swords.dds differ diff --git a/gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_swords_plus.dds b/gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_swords_plus.dds new file mode 100644 index 000000000..b3031cbde Binary files /dev/null and b/gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_swords_plus.dds differ diff --git a/gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_trebuchet.dds b/gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_trebuchet.dds new file mode 100644 index 000000000..e9df9a850 Binary files /dev/null and b/gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_trebuchet.dds differ diff --git a/gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_wheel.dds b/gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_wheel.dds new file mode 100644 index 000000000..4dcc1d1f2 Binary files /dev/null and b/gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_wheel.dds differ diff --git a/gfx/interface/military_industrial_organization/design_team_icon.dds b/gfx/interface/military_industrial_organization/design_team_icon.dds new file mode 100644 index 000000000..a4a381347 Binary files /dev/null and b/gfx/interface/military_industrial_organization/design_team_icon.dds differ diff --git a/gfx/interface/military_industrial_organization/emblems/mio_generic_1.dds b/gfx/interface/military_industrial_organization/emblems/mio_generic_1.dds new file mode 100644 index 000000000..23347d3c9 Binary files /dev/null and b/gfx/interface/military_industrial_organization/emblems/mio_generic_1.dds differ diff --git a/gfx/interface/military_industrial_organization/emblems/mio_generic_2.dds b/gfx/interface/military_industrial_organization/emblems/mio_generic_2.dds new file mode 100644 index 000000000..46f20839f Binary files /dev/null and b/gfx/interface/military_industrial_organization/emblems/mio_generic_2.dds differ diff --git a/gfx/interface/military_industrial_organization/emblems/mio_generic_3.dds b/gfx/interface/military_industrial_organization/emblems/mio_generic_3.dds new file mode 100644 index 000000000..af9e9b9ed Binary files /dev/null and b/gfx/interface/military_industrial_organization/emblems/mio_generic_3.dds differ diff --git a/gfx/interface/military_industrial_organization/emblems/mio_generic_4.dds b/gfx/interface/military_industrial_organization/emblems/mio_generic_4.dds new file mode 100644 index 000000000..be4c42ba8 Binary files /dev/null and b/gfx/interface/military_industrial_organization/emblems/mio_generic_4.dds differ diff --git a/gfx/interface/military_industrial_organization/emblems/mio_generic_5.dds b/gfx/interface/military_industrial_organization/emblems/mio_generic_5.dds new file mode 100644 index 000000000..cad2b218e Binary files /dev/null and b/gfx/interface/military_industrial_organization/emblems/mio_generic_5.dds differ diff --git a/gfx/interface/military_industrial_organization/emblems/mio_generic_6.dds b/gfx/interface/military_industrial_organization/emblems/mio_generic_6.dds new file mode 100644 index 000000000..f2c7563ef Binary files /dev/null and b/gfx/interface/military_industrial_organization/emblems/mio_generic_6.dds differ diff --git a/gfx/interface/military_industrial_organization/emblems/mio_generic_7.dds b/gfx/interface/military_industrial_organization/emblems/mio_generic_7.dds new file mode 100644 index 000000000..0663c3a4c Binary files /dev/null and b/gfx/interface/military_industrial_organization/emblems/mio_generic_7.dds differ diff --git a/gfx/interface/military_industrial_organization/emblems/mio_generic_8.dds b/gfx/interface/military_industrial_organization/emblems/mio_generic_8.dds new file mode 100644 index 000000000..54c33da76 Binary files /dev/null and b/gfx/interface/military_industrial_organization/emblems/mio_generic_8.dds differ diff --git a/gfx/interface/military_industrial_organization/emblems/mio_generic_9.dds b/gfx/interface/military_industrial_organization/emblems/mio_generic_9.dds new file mode 100644 index 000000000..01f59ee19 Binary files /dev/null and b/gfx/interface/military_industrial_organization/emblems/mio_generic_9.dds differ diff --git a/gfx/interface/military_industrial_organization/emblems/mio_generic_alchemists_1.dds b/gfx/interface/military_industrial_organization/emblems/mio_generic_alchemists_1.dds new file mode 100644 index 000000000..ead7fc615 Binary files /dev/null and b/gfx/interface/military_industrial_organization/emblems/mio_generic_alchemists_1.dds differ diff --git a/gfx/interface/military_industrial_organization/emblems/mio_generic_alchemists_2.dds b/gfx/interface/military_industrial_organization/emblems/mio_generic_alchemists_2.dds new file mode 100644 index 000000000..274fafb48 Binary files /dev/null and b/gfx/interface/military_industrial_organization/emblems/mio_generic_alchemists_2.dds differ diff --git a/gfx/interface/military_industrial_organization/emblems/mio_generic_alchemists_3.dds b/gfx/interface/military_industrial_organization/emblems/mio_generic_alchemists_3.dds new file mode 100644 index 000000000..b97aa9a12 Binary files /dev/null and b/gfx/interface/military_industrial_organization/emblems/mio_generic_alchemists_3.dds differ diff --git a/gfx/interface/military_industrial_organization/emblems/mio_generic_archers_1.dds b/gfx/interface/military_industrial_organization/emblems/mio_generic_archers_1.dds new file mode 100644 index 000000000..a35688be7 Binary files /dev/null and b/gfx/interface/military_industrial_organization/emblems/mio_generic_archers_1.dds differ diff --git a/gfx/interface/military_industrial_organization/emblems/mio_generic_archers_2.dds b/gfx/interface/military_industrial_organization/emblems/mio_generic_archers_2.dds new file mode 100644 index 000000000..707fff709 Binary files /dev/null and b/gfx/interface/military_industrial_organization/emblems/mio_generic_archers_2.dds differ diff --git a/gfx/interface/military_industrial_organization/emblems/mio_generic_archers_3.dds b/gfx/interface/military_industrial_organization/emblems/mio_generic_archers_3.dds new file mode 100644 index 000000000..4bb219a3a Binary files /dev/null and b/gfx/interface/military_industrial_organization/emblems/mio_generic_archers_3.dds differ diff --git a/gfx/interface/military_industrial_organization/emblems/mio_generic_blacksmith_1.dds b/gfx/interface/military_industrial_organization/emblems/mio_generic_blacksmith_1.dds new file mode 100644 index 000000000..df5adc105 Binary files /dev/null and b/gfx/interface/military_industrial_organization/emblems/mio_generic_blacksmith_1.dds differ diff --git a/gfx/interface/military_industrial_organization/emblems/mio_generic_blacksmith_2.dds b/gfx/interface/military_industrial_organization/emblems/mio_generic_blacksmith_2.dds new file mode 100644 index 000000000..7f9bb9f6d Binary files /dev/null and b/gfx/interface/military_industrial_organization/emblems/mio_generic_blacksmith_2.dds differ diff --git a/gfx/interface/military_industrial_organization/emblems/mio_generic_farming_1.dds b/gfx/interface/military_industrial_organization/emblems/mio_generic_farming_1.dds new file mode 100644 index 000000000..ca0c60656 Binary files /dev/null and b/gfx/interface/military_industrial_organization/emblems/mio_generic_farming_1.dds differ diff --git a/gfx/interface/military_industrial_organization/emblems/mio_generic_farming_2.dds b/gfx/interface/military_industrial_organization/emblems/mio_generic_farming_2.dds new file mode 100644 index 000000000..b9453c227 Binary files /dev/null and b/gfx/interface/military_industrial_organization/emblems/mio_generic_farming_2.dds differ diff --git a/gfx/interface/military_industrial_organization/emblems/mio_generic_farming_3.dds b/gfx/interface/military_industrial_organization/emblems/mio_generic_farming_3.dds new file mode 100644 index 000000000..145e77ea3 Binary files /dev/null and b/gfx/interface/military_industrial_organization/emblems/mio_generic_farming_3.dds differ diff --git a/gfx/interface/military_industrial_organization/emblems/mio_generic_horse_1.dds b/gfx/interface/military_industrial_organization/emblems/mio_generic_horse_1.dds new file mode 100644 index 000000000..ef09b6a18 Binary files /dev/null and b/gfx/interface/military_industrial_organization/emblems/mio_generic_horse_1.dds differ diff --git a/gfx/interface/military_industrial_organization/emblems/mio_generic_horse_2.dds b/gfx/interface/military_industrial_organization/emblems/mio_generic_horse_2.dds new file mode 100644 index 000000000..eb663c7ce Binary files /dev/null and b/gfx/interface/military_industrial_organization/emblems/mio_generic_horse_2.dds differ diff --git a/gfx/interface/military_industrial_organization/emblems/mio_generic_hunters_1.dds b/gfx/interface/military_industrial_organization/emblems/mio_generic_hunters_1.dds new file mode 100644 index 000000000..388cc8771 Binary files /dev/null and b/gfx/interface/military_industrial_organization/emblems/mio_generic_hunters_1.dds differ diff --git a/gfx/interface/military_industrial_organization/emblems/mio_generic_hunters_2.dds b/gfx/interface/military_industrial_organization/emblems/mio_generic_hunters_2.dds new file mode 100644 index 000000000..c34d68983 Binary files /dev/null and b/gfx/interface/military_industrial_organization/emblems/mio_generic_hunters_2.dds differ diff --git a/gfx/interface/military_industrial_organization/emblems/mio_generic_knights_1.dds b/gfx/interface/military_industrial_organization/emblems/mio_generic_knights_1.dds new file mode 100644 index 000000000..0dd2e80b5 Binary files /dev/null and b/gfx/interface/military_industrial_organization/emblems/mio_generic_knights_1.dds differ diff --git a/gfx/interface/military_industrial_organization/emblems/mio_generic_knights_2.dds b/gfx/interface/military_industrial_organization/emblems/mio_generic_knights_2.dds new file mode 100644 index 000000000..df5357fac Binary files /dev/null and b/gfx/interface/military_industrial_organization/emblems/mio_generic_knights_2.dds differ diff --git a/gfx/interface/military_industrial_organization/emblems/mio_generic_orc_1.dds b/gfx/interface/military_industrial_organization/emblems/mio_generic_orc_1.dds new file mode 100644 index 000000000..7f469717d Binary files /dev/null and b/gfx/interface/military_industrial_organization/emblems/mio_generic_orc_1.dds differ diff --git a/gfx/interface/military_industrial_organization/emblems/mio_generic_orc_2.dds b/gfx/interface/military_industrial_organization/emblems/mio_generic_orc_2.dds new file mode 100644 index 000000000..2f677926d Binary files /dev/null and b/gfx/interface/military_industrial_organization/emblems/mio_generic_orc_2.dds differ diff --git a/gfx/interface/military_industrial_organization/emblems/mio_generic_orc_3.dds b/gfx/interface/military_industrial_organization/emblems/mio_generic_orc_3.dds new file mode 100644 index 000000000..1d967b992 Binary files /dev/null and b/gfx/interface/military_industrial_organization/emblems/mio_generic_orc_3.dds differ diff --git a/gfx/interface/military_industrial_organization/emblems/mio_generic_orc_4.dds b/gfx/interface/military_industrial_organization/emblems/mio_generic_orc_4.dds new file mode 100644 index 000000000..86b137bc1 Binary files /dev/null and b/gfx/interface/military_industrial_organization/emblems/mio_generic_orc_4.dds differ diff --git a/gfx/interface/military_industrial_organization/emblems/mio_generic_ships_1.dds b/gfx/interface/military_industrial_organization/emblems/mio_generic_ships_1.dds new file mode 100644 index 000000000..56045c26c Binary files /dev/null and b/gfx/interface/military_industrial_organization/emblems/mio_generic_ships_1.dds differ diff --git a/gfx/interface/military_industrial_organization/emblems/mio_generic_ships_2.dds b/gfx/interface/military_industrial_organization/emblems/mio_generic_ships_2.dds new file mode 100644 index 000000000..00eaa15b5 Binary files /dev/null and b/gfx/interface/military_industrial_organization/emblems/mio_generic_ships_2.dds differ diff --git a/gfx/interface/military_industrial_organization/emblems/mio_generic_wood_1.dds b/gfx/interface/military_industrial_organization/emblems/mio_generic_wood_1.dds new file mode 100644 index 000000000..2900db83b Binary files /dev/null and b/gfx/interface/military_industrial_organization/emblems/mio_generic_wood_1.dds differ diff --git a/gfx/interface/military_industrial_organization/emblems/mio_nandor.dds b/gfx/interface/military_industrial_organization/emblems/mio_nandor.dds new file mode 100644 index 000000000..9a2530691 Binary files /dev/null and b/gfx/interface/military_industrial_organization/emblems/mio_nandor.dds differ diff --git a/gfx/interface/military_industrial_organization/emblems/mio_noldor.dds b/gfx/interface/military_industrial_organization/emblems/mio_noldor.dds new file mode 100644 index 000000000..939c959c2 Binary files /dev/null and b/gfx/interface/military_industrial_organization/emblems/mio_noldor.dds differ diff --git a/gfx/interface/military_industrial_organization/emblems/mio_peredhil.dds b/gfx/interface/military_industrial_organization/emblems/mio_peredhil.dds new file mode 100644 index 000000000..81bf81349 Binary files /dev/null and b/gfx/interface/military_industrial_organization/emblems/mio_peredhil.dds differ diff --git a/gfx/interface/military_industrial_organization/emblems/mio_sindar.dds b/gfx/interface/military_industrial_organization/emblems/mio_sindar.dds new file mode 100644 index 000000000..f5415c085 Binary files /dev/null and b/gfx/interface/military_industrial_organization/emblems/mio_sindar.dds differ diff --git a/gfx/interface/military_industrial_organization/generic_mio_trait_icon_facilities.dds b/gfx/interface/military_industrial_organization/generic_mio_trait_icon_facilities.dds new file mode 100644 index 000000000..7424a5b63 Binary files /dev/null and b/gfx/interface/military_industrial_organization/generic_mio_trait_icon_facilities.dds differ diff --git a/gfx/interface/military_industrial_organization/material_mio_roster.dds b/gfx/interface/military_industrial_organization/material_mio_roster.dds new file mode 100644 index 000000000..fc3c9ee01 Binary files /dev/null and b/gfx/interface/military_industrial_organization/material_mio_roster.dds differ diff --git a/gfx/interface/military_industrial_organization/mio_department_trait.dds b/gfx/interface/military_industrial_organization/mio_department_trait.dds new file mode 100644 index 000000000..0d9329240 Binary files /dev/null and b/gfx/interface/military_industrial_organization/mio_department_trait.dds differ diff --git a/gfx/interface/military_industrial_organization/mio_details_background.dds b/gfx/interface/military_industrial_organization/mio_details_background.dds new file mode 100644 index 000000000..cad45deee Binary files /dev/null and b/gfx/interface/military_industrial_organization/mio_details_background.dds differ diff --git a/gfx/interface/military_industrial_organization/mio_entry_bg.dds b/gfx/interface/military_industrial_organization/mio_entry_bg.dds new file mode 100644 index 000000000..52a938bdc Binary files /dev/null and b/gfx/interface/military_industrial_organization/mio_entry_bg.dds differ diff --git a/gfx/interface/military_industrial_organization/policies/mio_policy_bare_minimum.dds b/gfx/interface/military_industrial_organization/policies/mio_policy_bare_minimum.dds new file mode 100644 index 000000000..3427ec83e Binary files /dev/null and b/gfx/interface/military_industrial_organization/policies/mio_policy_bare_minimum.dds differ diff --git a/gfx/interface/military_industrial_organization/policies/mio_policy_by_the_people_for_the_people.dds b/gfx/interface/military_industrial_organization/policies/mio_policy_by_the_people_for_the_people.dds new file mode 100644 index 000000000..21ff80cdc Binary files /dev/null and b/gfx/interface/military_industrial_organization/policies/mio_policy_by_the_people_for_the_people.dds differ diff --git a/gfx/interface/military_industrial_organization/policies/mio_policy_casting_specialists.dds b/gfx/interface/military_industrial_organization/policies/mio_policy_casting_specialists.dds new file mode 100644 index 000000000..fa704450f Binary files /dev/null and b/gfx/interface/military_industrial_organization/policies/mio_policy_casting_specialists.dds differ diff --git a/gfx/interface/military_industrial_organization/policies/mio_policy_coastal_fleet.dds b/gfx/interface/military_industrial_organization/policies/mio_policy_coastal_fleet.dds new file mode 100644 index 000000000..705165791 Binary files /dev/null and b/gfx/interface/military_industrial_organization/policies/mio_policy_coastal_fleet.dds differ diff --git a/gfx/interface/military_industrial_organization/policies/mio_policy_cutting_corners.dds b/gfx/interface/military_industrial_organization/policies/mio_policy_cutting_corners.dds new file mode 100644 index 000000000..a07aaaf31 Binary files /dev/null and b/gfx/interface/military_industrial_organization/policies/mio_policy_cutting_corners.dds differ diff --git a/gfx/interface/military_industrial_organization/policies/mio_policy_defensive_focus.dds b/gfx/interface/military_industrial_organization/policies/mio_policy_defensive_focus.dds new file mode 100644 index 000000000..c73aecfe3 Binary files /dev/null and b/gfx/interface/military_industrial_organization/policies/mio_policy_defensive_focus.dds differ diff --git a/gfx/interface/military_industrial_organization/policies/mio_policy_eagle.dds b/gfx/interface/military_industrial_organization/policies/mio_policy_eagle.dds new file mode 100644 index 000000000..876a2a1d5 Binary files /dev/null and b/gfx/interface/military_industrial_organization/policies/mio_policy_eagle.dds differ diff --git a/gfx/interface/military_industrial_organization/policies/mio_policy_fellbeast.dds b/gfx/interface/military_industrial_organization/policies/mio_policy_fellbeast.dds new file mode 100644 index 000000000..24bf7d792 Binary files /dev/null and b/gfx/interface/military_industrial_organization/policies/mio_policy_fellbeast.dds differ diff --git a/gfx/interface/military_industrial_organization/policies/mio_policy_great_seas_fleet.dds b/gfx/interface/military_industrial_organization/policies/mio_policy_great_seas_fleet.dds new file mode 100644 index 000000000..3aecab4ff Binary files /dev/null and b/gfx/interface/military_industrial_organization/policies/mio_policy_great_seas_fleet.dds differ diff --git a/gfx/interface/military_industrial_organization/policies/mio_policy_harsh_labour_quotas.dds b/gfx/interface/military_industrial_organization/policies/mio_policy_harsh_labour_quotas.dds new file mode 100644 index 000000000..a0be12bcb Binary files /dev/null and b/gfx/interface/military_industrial_organization/policies/mio_policy_harsh_labour_quotas.dds differ diff --git a/gfx/interface/military_industrial_organization/policies/mio_policy_inflated_funds.dds b/gfx/interface/military_industrial_organization/policies/mio_policy_inflated_funds.dds new file mode 100644 index 000000000..c09882176 Binary files /dev/null and b/gfx/interface/military_industrial_organization/policies/mio_policy_inflated_funds.dds differ diff --git a/gfx/interface/military_industrial_organization/policies/mio_policy_lightweight_materials.dds b/gfx/interface/military_industrial_organization/policies/mio_policy_lightweight_materials.dds new file mode 100644 index 000000000..ed93c3267 Binary files /dev/null and b/gfx/interface/military_industrial_organization/policies/mio_policy_lightweight_materials.dds differ diff --git a/gfx/interface/military_industrial_organization/policies/mio_policy_offensive_focus.dds b/gfx/interface/military_industrial_organization/policies/mio_policy_offensive_focus.dds new file mode 100644 index 000000000..60e3f6ddd Binary files /dev/null and b/gfx/interface/military_industrial_organization/policies/mio_policy_offensive_focus.dds differ diff --git a/gfx/interface/military_industrial_organization/policies/mio_policy_pedantic_perfectionism.dds b/gfx/interface/military_industrial_organization/policies/mio_policy_pedantic_perfectionism.dds new file mode 100644 index 000000000..9e1b56b20 Binary files /dev/null and b/gfx/interface/military_industrial_organization/policies/mio_policy_pedantic_perfectionism.dds differ diff --git a/gfx/interface/military_industrial_organization/policies/mio_policy_prosperous_exchange.dds b/gfx/interface/military_industrial_organization/policies/mio_policy_prosperous_exchange.dds new file mode 100644 index 000000000..875f53960 Binary files /dev/null and b/gfx/interface/military_industrial_organization/policies/mio_policy_prosperous_exchange.dds differ diff --git a/gfx/interface/military_industrial_organization/policies/mio_policy_raiding_fleet.dds b/gfx/interface/military_industrial_organization/policies/mio_policy_raiding_fleet.dds new file mode 100644 index 000000000..e313d1d3e Binary files /dev/null and b/gfx/interface/military_industrial_organization/policies/mio_policy_raiding_fleet.dds differ diff --git a/gfx/interface/military_industrial_organization/policies/mio_policy_raw_materials_management.dds b/gfx/interface/military_industrial_organization/policies/mio_policy_raw_materials_management.dds new file mode 100644 index 000000000..eb3011469 Binary files /dev/null and b/gfx/interface/military_industrial_organization/policies/mio_policy_raw_materials_management.dds differ diff --git a/gfx/interface/military_industrial_organization/policies/mio_policy_ruthless_contracts.dds b/gfx/interface/military_industrial_organization/policies/mio_policy_ruthless_contracts.dds new file mode 100644 index 000000000..5a2429848 Binary files /dev/null and b/gfx/interface/military_industrial_organization/policies/mio_policy_ruthless_contracts.dds differ diff --git a/gfx/interface/military_industrial_organization/policies/mio_policy_technological_edge.dds b/gfx/interface/military_industrial_organization/policies/mio_policy_technological_edge.dds new file mode 100644 index 000000000..df5ddd585 Binary files /dev/null and b/gfx/interface/military_industrial_organization/policies/mio_policy_technological_edge.dds differ diff --git a/gfx/interface/military_industrial_organization/policies/mio_policy_vertical_integration.dds b/gfx/interface/military_industrial_organization/policies/mio_policy_vertical_integration.dds new file mode 100644 index 000000000..90d7dcc38 Binary files /dev/null and b/gfx/interface/military_industrial_organization/policies/mio_policy_vertical_integration.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/_mask.dds b/gfx/interface/military_industrial_organization/traits/_mask.dds new file mode 100644 index 000000000..319728f4b Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/_mask.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_armored_cav.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_armored_cav.dds new file mode 100644 index 000000000..3091f8a17 Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_armored_cav.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_keyring.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_keyring.dds new file mode 100644 index 000000000..a9efda737 Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_keyring.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_man_at_arms.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_man_at_arms.dds new file mode 100644 index 000000000..b8c9e10c6 Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_man_at_arms.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_agricultre.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_agricultre.dds new file mode 100644 index 000000000..5bfe168b5 Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_agricultre.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_alchemy.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_alchemy.dds new file mode 100644 index 000000000..fd0c58a17 Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_alchemy.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_anchor.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_anchor.dds new file mode 100644 index 000000000..85ea07e1a Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_anchor.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_archer.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_archer.dds new file mode 100644 index 000000000..cc8b7eade Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_archer.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_armor.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_armor.dds new file mode 100644 index 000000000..0f74b46b4 Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_armor.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_armor_2.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_armor_2.dds new file mode 100644 index 000000000..b72f643f5 Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_armor_2.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_ballista.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_ballista.dds new file mode 100644 index 000000000..7c6f9cbb4 Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_ballista.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_banner.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_banner.dds new file mode 100644 index 000000000..ed5cf4ff4 Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_banner.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_blueprint.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_blueprint.dds new file mode 100644 index 000000000..4c7ce257e Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_blueprint.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_book.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_book.dds new file mode 100644 index 000000000..7832d6507 Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_book.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_bookstack.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_bookstack.dds new file mode 100644 index 000000000..73a86aee4 Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_bookstack.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_bow.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_bow.dds new file mode 100644 index 000000000..a0f685e12 Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_bow.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_carpentry.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_carpentry.dds new file mode 100644 index 000000000..c8b70f065 Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_carpentry.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_chainmail.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_chainmail.dds new file mode 100644 index 000000000..9529e2a10 Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_chainmail.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_cloth_roll.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_cloth_roll.dds new file mode 100644 index 000000000..309b097fb Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_cloth_roll.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_corvus.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_corvus.dds new file mode 100644 index 000000000..8a460c735 Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_corvus.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_counterweight.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_counterweight.dds new file mode 100644 index 000000000..a61085270 Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_counterweight.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_crane.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_crane.dds new file mode 100644 index 000000000..ae2dabd17 Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_crane.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_crossbow.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_crossbow.dds new file mode 100644 index 000000000..29f057893 Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_crossbow.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_crossbow_2.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_crossbow_2.dds new file mode 100644 index 000000000..4aeacbd25 Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_crossbow_2.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_dhow.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_dhow.dds new file mode 100644 index 000000000..af2177b09 Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_dhow.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_drill.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_drill.dds new file mode 100644 index 000000000..e99fc6830 Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_drill.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_drydock.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_drydock.dds new file mode 100644 index 000000000..f31e79f47 Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_drydock.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_eagle.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_eagle.dds new file mode 100644 index 000000000..05e81a129 Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_eagle.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_engraving.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_engraving.dds new file mode 100644 index 000000000..b6164609f Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_engraving.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_equipment.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_equipment.dds new file mode 100644 index 000000000..b0bb8e021 Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_equipment.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_explosion.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_explosion.dds new file mode 100644 index 000000000..ac9cb1876 Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_explosion.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_falcon.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_falcon.dds new file mode 100644 index 000000000..a3ad31f67 Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_falcon.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_feather.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_feather.dds new file mode 100644 index 000000000..bed1d7b07 Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_feather.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_fertility.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_fertility.dds new file mode 100644 index 000000000..545a511f3 Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_fertility.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_fish.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_fish.dds new file mode 100644 index 000000000..79144cb0e Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_fish.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_fisher.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_fisher.dds new file mode 100644 index 000000000..531577e48 Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_fisher.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_flamethrower.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_flamethrower.dds new file mode 100644 index 000000000..aaa1019bc Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_flamethrower.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_fletching.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_fletching.dds new file mode 100644 index 000000000..2317d1b2a Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_fletching.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_folded_steel.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_folded_steel.dds new file mode 100644 index 000000000..25d098642 Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_folded_steel.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_galley.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_galley.dds new file mode 100644 index 000000000..4096cc4cb Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_galley.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_gambeson.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_gambeson.dds new file mode 100644 index 000000000..0b70b09c2 Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_gambeson.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_handle.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_handle.dds new file mode 100644 index 000000000..75deb8e0a Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_handle.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_heart.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_heart.dds new file mode 100644 index 000000000..ecf07d512 Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_heart.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_heating.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_heating.dds new file mode 100644 index 000000000..5ac36e628 Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_heating.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_hinge.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_hinge.dds new file mode 100644 index 000000000..9125578db Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_hinge.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_horse.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_horse.dds new file mode 100644 index 000000000..9db7199ae Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_horse.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_horse_quiet.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_horse_quiet.dds new file mode 100644 index 000000000..76a39ef2c Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_horse_quiet.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_horsearmor.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_horsearmor.dds new file mode 100644 index 000000000..adf5cc148 Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_horsearmor.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_icon_air_agility.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_icon_air_agility.dds new file mode 100644 index 000000000..83a2b093d Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_icon_air_agility.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_icon_armor_value.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_icon_armor_value.dds new file mode 100644 index 000000000..d4737af81 Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_icon_armor_value.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_icon_batteries_hit_chance.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_icon_batteries_hit_chance.dds new file mode 100644 index 000000000..af3c4fa83 Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_icon_batteries_hit_chance.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_icon_breakthrough.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_icon_breakthrough.dds new file mode 100644 index 000000000..cd7079243 Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_icon_breakthrough.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_icon_build_cost_ic.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_icon_build_cost_ic.dds new file mode 100644 index 000000000..07cf06ebd Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_icon_build_cost_ic.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_icon_conversion_speed.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_icon_conversion_speed.dds new file mode 100644 index 000000000..68bf34da4 Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_icon_conversion_speed.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_icon_defense.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_icon_defense.dds new file mode 100644 index 000000000..8f81656ab Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_icon_defense.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_icon_efficiency_cap.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_icon_efficiency_cap.dds new file mode 100644 index 000000000..401929749 Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_icon_efficiency_cap.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_icon_efficiency_gain.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_icon_efficiency_gain.dds new file mode 100644 index 000000000..fd88403bc Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_icon_efficiency_gain.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_icon_entrenchment.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_icon_entrenchment.dds new file mode 100644 index 000000000..af7c36aa4 Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_icon_entrenchment.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_icon_fuel_consumption.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_icon_fuel_consumption.dds new file mode 100644 index 000000000..2e6f2cf86 Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_icon_fuel_consumption.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_icon_hardness.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_icon_hardness.dds new file mode 100644 index 000000000..85a75c943 Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_icon_hardness.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_icon_max_strength.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_icon_max_strength.dds new file mode 100644 index 000000000..380818430 Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_icon_max_strength.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_icon_maximum_speed.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_icon_maximum_speed.dds new file mode 100644 index 000000000..8a2cc56da Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_icon_maximum_speed.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_icon_naval_range.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_icon_naval_range.dds new file mode 100644 index 000000000..54a5975f2 Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_icon_naval_range.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_icon_naval_strike_targetting.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_icon_naval_strike_targetting.dds new file mode 100644 index 000000000..25c6b1782 Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_icon_naval_strike_targetting.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_icon_night_penalty.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_icon_night_penalty.dds new file mode 100644 index 000000000..58b57ead8 Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_icon_night_penalty.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_icon_production_capacity.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_icon_production_capacity.dds new file mode 100644 index 000000000..7f255c5b8 Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_icon_production_capacity.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_icon_reliability.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_icon_reliability.dds new file mode 100644 index 000000000..bee7956a3 Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_icon_reliability.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_icon_resources.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_icon_resources.dds new file mode 100644 index 000000000..e98015742 Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_icon_resources.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_icon_soft_attack.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_icon_soft_attack.dds new file mode 100644 index 000000000..a228b722c Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_icon_soft_attack.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_icon_supply_consumption.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_icon_supply_consumption.dds new file mode 100644 index 000000000..0c04a1b73 Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_icon_supply_consumption.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_icon_unique.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_icon_unique.dds new file mode 100644 index 000000000..cdea07aaf Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_icon_unique.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_icon_weight.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_icon_weight.dds new file mode 100644 index 000000000..f1b8b3807 Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_icon_weight.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_knife.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_knife.dds new file mode 100644 index 000000000..142f86391 Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_knife.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_knight.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_knight.dds new file mode 100644 index 000000000..e0436e67f Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_knight.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_kriegsmesser.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_kriegsmesser.dds new file mode 100644 index 000000000..01af857f6 Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_kriegsmesser.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_leather.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_leather.dds new file mode 100644 index 000000000..304a9dca8 Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_leather.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_liquid.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_liquid.dds new file mode 100644 index 000000000..38c38f6aa Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_liquid.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_longship.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_longship.dds new file mode 100644 index 000000000..323a582a2 Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_longship.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_machine.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_machine.dds new file mode 100644 index 000000000..2996a6930 Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_machine.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_magic_stone.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_magic_stone.dds new file mode 100644 index 000000000..f952240db Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_magic_stone.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_mast.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_mast.dds new file mode 100644 index 000000000..334970b33 Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_mast.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_mechanism.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_mechanism.dds new file mode 100644 index 000000000..dc3a70eb9 Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_mechanism.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_minecart.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_minecart.dds new file mode 100644 index 000000000..a2e955245 Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_minecart.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_mineral_examine.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_mineral_examine.dds new file mode 100644 index 000000000..2eab54449 Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_mineral_examine.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_money.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_money.dds new file mode 100644 index 000000000..43e34f784 Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_money.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_multilevel_ship.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_multilevel_ship.dds new file mode 100644 index 000000000..124dc1293 Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_multilevel_ship.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_multisail_ship.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_multisail_ship.dds new file mode 100644 index 000000000..a82097149 Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_multisail_ship.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_munition_armor.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_munition_armor.dds new file mode 100644 index 000000000..ca5652bb1 Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_munition_armor.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_oars.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_oars.dds new file mode 100644 index 000000000..23c9c26d7 Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_oars.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_pasture.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_pasture.dds new file mode 100644 index 000000000..4c7123357 Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_pasture.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_pickaxe.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_pickaxe.dds new file mode 100644 index 000000000..394071741 Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_pickaxe.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_plow.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_plow.dds new file mode 100644 index 000000000..4862156e8 Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_plow.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_produce.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_produce.dds new file mode 100644 index 000000000..c38a13625 Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_produce.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_quench.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_quench.dds new file mode 100644 index 000000000..927ac93ad Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_quench.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_quill.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_quill.dds new file mode 100644 index 000000000..be076e0ab Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_quill.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_ranger.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_ranger.dds new file mode 100644 index 000000000..7ea620421 Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_ranger.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_raw_gemstone.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_raw_gemstone.dds new file mode 100644 index 000000000..27ee6bfb0 Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_raw_gemstone.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_rider_archer.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_rider_archer.dds new file mode 100644 index 000000000..46c8f319e Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_rider_archer.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_rider_bond.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_rider_bond.dds new file mode 100644 index 000000000..a414f5381 Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_rider_bond.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_rider_javelin.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_rider_javelin.dds new file mode 100644 index 000000000..0c87a5d4e Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_rider_javelin.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_rider_scout.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_rider_scout.dds new file mode 100644 index 000000000..3bc2a5d1d Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_rider_scout.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_rock.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_rock.dds new file mode 100644 index 000000000..706a9653e Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_rock.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_rock2.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_rock2.dds new file mode 100644 index 000000000..66544c34f Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_rock2.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_saddle.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_saddle.dds new file mode 100644 index 000000000..f6f09e45f Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_saddle.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_saw.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_saw.dds new file mode 100644 index 000000000..80127bf8f Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_saw.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_scope.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_scope.dds new file mode 100644 index 000000000..9d9edfdc6 Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_scope.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_ship_hull.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_ship_hull.dds new file mode 100644 index 000000000..9b1a1b61b Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_ship_hull.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_shroom.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_shroom.dds new file mode 100644 index 000000000..2d9d0f48d Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_shroom.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_sorcery.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_sorcery.dds new file mode 100644 index 000000000..fb555b71f Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_sorcery.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_spear.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_spear.dds new file mode 100644 index 000000000..b8c69c90d Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_spear.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_springald.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_springald.dds new file mode 100644 index 000000000..389724ff5 Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_springald.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_steel.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_steel.dds new file mode 100644 index 000000000..f2f2c4964 Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_steel.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_string.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_string.dds new file mode 100644 index 000000000..b5af2fce8 Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_string.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_sword.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_sword.dds new file mode 100644 index 000000000..49492b7ad Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_sword.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_sword_2.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_sword_2.dds new file mode 100644 index 000000000..170f1ef21 Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_sword_2.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_sword_curved.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_sword_curved.dds new file mode 100644 index 000000000..711a125e1 Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_sword_curved.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_sword_guard.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_sword_guard.dds new file mode 100644 index 000000000..315d409e4 Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_sword_guard.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_trap.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_trap.dds new file mode 100644 index 000000000..8d358e070 Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_trap.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_wagon.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_wagon.dds new file mode 100644 index 000000000..1665006c6 Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_wagon.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_water.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_water.dds new file mode 100644 index 000000000..41b129c15 Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_water.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_wheat.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_wheat.dds new file mode 100644 index 000000000..cf65060b0 Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_wheat.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_wheat2.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_wheat2.dds new file mode 100644 index 000000000..b731fc578 Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_wheat2.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_winter_hut.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_winter_hut.dds new file mode 100644 index 000000000..0e82b4b33 Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_winter_hut.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_wizard_hat.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_wizard_hat.dds new file mode 100644 index 000000000..6e90ad69d Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_wizard_hat.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_wood.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_wood.dds new file mode 100644 index 000000000..868d96561 Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_wood.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/generic_mio_trait_wood_joint.dds b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_wood_joint.dds new file mode 100644 index 000000000..01c02305a Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/generic_mio_trait_wood_joint.dds differ diff --git a/gfx/interface/military_industrial_organization/traits/trait_unknown.dds b/gfx/interface/military_industrial_organization/traits/trait_unknown.dds new file mode 100644 index 000000000..a4ccea8c3 Binary files /dev/null and b/gfx/interface/military_industrial_organization/traits/trait_unknown.dds differ diff --git a/gfx/interface/occupation/occupation_policy_icon_strip.dds b/gfx/interface/occupation/occupation_policy_icon_strip.dds new file mode 100644 index 000000000..e44ad3eae Binary files /dev/null and b/gfx/interface/occupation/occupation_policy_icon_strip.dds differ diff --git a/gfx/interface/screen_ships_checkbox.dds b/gfx/interface/screen_ships_checkbox.dds new file mode 100644 index 000000000..8ffd127ad Binary files /dev/null and b/gfx/interface/screen_ships_checkbox.dds differ diff --git a/gfx/interface/state_modifiers/balrog_state_modifier.dds b/gfx/interface/state_modifiers/balrog_state_modifier.dds new file mode 100644 index 000000000..6a1191c5c Binary files /dev/null and b/gfx/interface/state_modifiers/balrog_state_modifier.dds differ diff --git a/gfx/interface/state_modifiers/consecrated_land_state_modifier.dds b/gfx/interface/state_modifiers/consecrated_land_state_modifier.dds new file mode 100644 index 000000000..974618207 Binary files /dev/null and b/gfx/interface/state_modifiers/consecrated_land_state_modifier.dds differ diff --git a/gfx/interface/state_modifiers/nenya_enchantment_state_modifier.dds b/gfx/interface/state_modifiers/nenya_enchantment_state_modifier.dds new file mode 100644 index 000000000..0f53ad77f Binary files /dev/null and b/gfx/interface/state_modifiers/nenya_enchantment_state_modifier.dds differ diff --git a/gfx/interface/state_modifiers/orc_raiding_state_modifier.dds b/gfx/interface/state_modifiers/orc_raiding_state_modifier.dds new file mode 100644 index 000000000..ca57d720a Binary files /dev/null and b/gfx/interface/state_modifiers/orc_raiding_state_modifier.dds differ diff --git a/gfx/interface/state_modifiers/orc_state_modifier.dds b/gfx/interface/state_modifiers/orc_state_modifier.dds new file mode 100644 index 000000000..c26b13f08 Binary files /dev/null and b/gfx/interface/state_modifiers/orc_state_modifier.dds differ diff --git a/gfx/interface/technologies/infantry_equipment_small/cav3.dds b/gfx/interface/technologies/infantry_equipment_small/cav3.dds index d7ea682d4..fb89c4e5e 100644 Binary files a/gfx/interface/technologies/infantry_equipment_small/cav3.dds and b/gfx/interface/technologies/infantry_equipment_small/cav3.dds differ diff --git a/gfx/interface/technologies/infantry_equipment_small/heavy_infantry_1.dds b/gfx/interface/technologies/infantry_equipment_small/heavy_infantry_1.dds new file mode 100644 index 000000000..5f0d8933a Binary files /dev/null and b/gfx/interface/technologies/infantry_equipment_small/heavy_infantry_1.dds differ diff --git a/gfx/interface/technologies/infantry_equipment_small/heavy_infantry_2.dds b/gfx/interface/technologies/infantry_equipment_small/heavy_infantry_2.dds new file mode 100644 index 000000000..20acebfb0 Binary files /dev/null and b/gfx/interface/technologies/infantry_equipment_small/heavy_infantry_2.dds differ diff --git a/gfx/interface/technologies/infantry_equipment_small/heavy_infantry_3.dds b/gfx/interface/technologies/infantry_equipment_small/heavy_infantry_3.dds new file mode 100644 index 000000000..e6d597b96 Binary files /dev/null and b/gfx/interface/technologies/infantry_equipment_small/heavy_infantry_3.dds differ diff --git a/gfx/interface/technologies/infantry_equipment_small/infantry_equipment_small - Shortcut.lnk b/gfx/interface/technologies/infantry_equipment_small/infantry_equipment_small - Shortcut.lnk new file mode 100644 index 000000000..8ce0f4522 Binary files /dev/null and b/gfx/interface/technologies/infantry_equipment_small/infantry_equipment_small - Shortcut.lnk differ diff --git a/gfx/interface/techtree/techtree_line_up_strip.dds b/gfx/interface/techtree/techtree_line_up_strip.dds index 2be6c1d4a..901f10108 100644 Binary files a/gfx/interface/techtree/techtree_line_up_strip.dds and b/gfx/interface/techtree/techtree_line_up_strip.dds differ diff --git a/gfx/interface/texticons/elven_alliance.dds b/gfx/interface/texticons/elven_alliance.dds new file mode 100644 index 000000000..d966ebb2f Binary files /dev/null and b/gfx/interface/texticons/elven_alliance.dds differ diff --git a/gfx/interface/texticons/guilds.dds b/gfx/interface/texticons/guilds.dds new file mode 100644 index 000000000..7a7f40105 Binary files /dev/null and b/gfx/interface/texticons/guilds.dds differ diff --git a/gfx/interface/texticons/halfelves_influence.dds b/gfx/interface/texticons/halfelves_influence.dds new file mode 100644 index 000000000..a8a2b463b Binary files /dev/null and b/gfx/interface/texticons/halfelves_influence.dds differ diff --git a/gfx/interface/texticons/nandor_influence.dds b/gfx/interface/texticons/nandor_influence.dds new file mode 100644 index 000000000..dd9b4c075 Binary files /dev/null and b/gfx/interface/texticons/nandor_influence.dds differ diff --git a/gfx/interface/texticons/noldor_influence.dds b/gfx/interface/texticons/noldor_influence.dds new file mode 100644 index 000000000..4efbe07f0 Binary files /dev/null and b/gfx/interface/texticons/noldor_influence.dds differ diff --git a/gfx/interface/texticons/nonelves_influence.dds b/gfx/interface/texticons/nonelves_influence.dds new file mode 100644 index 000000000..fe4067976 Binary files /dev/null and b/gfx/interface/texticons/nonelves_influence.dds differ diff --git a/gfx/interface/texticons/orcs_influence.dds b/gfx/interface/texticons/orcs_influence.dds new file mode 100644 index 000000000..8641adbec Binary files /dev/null and b/gfx/interface/texticons/orcs_influence.dds differ diff --git a/gfx/interface/texticons/sindar_influence.dds b/gfx/interface/texticons/sindar_influence.dds new file mode 100644 index 000000000..7d9ddd4d6 Binary files /dev/null and b/gfx/interface/texticons/sindar_influence.dds differ diff --git a/gfx/interface/trait_window/trait_line_dotted_tile_8x8.png b/gfx/interface/trait_window/trait_line_dotted_tile_8x8.png new file mode 100644 index 000000000..3fd1d0056 Binary files /dev/null and b/gfx/interface/trait_window/trait_line_dotted_tile_8x8.png differ diff --git a/gfx/interface/trait_window/trait_line_horizontal_tile_8x8.png b/gfx/interface/trait_window/trait_line_horizontal_tile_8x8.png new file mode 100644 index 000000000..0d7c2fbc2 Binary files /dev/null and b/gfx/interface/trait_window/trait_line_horizontal_tile_8x8.png differ diff --git a/gfx/interface/trait_window/trait_line_mid.png b/gfx/interface/trait_window/trait_line_mid.png new file mode 100644 index 000000000..9643a997f Binary files /dev/null and b/gfx/interface/trait_window/trait_line_mid.png differ diff --git a/gfx/interface/trait_window/trait_line_vertical_tile_8x8.png b/gfx/interface/trait_window/trait_line_vertical_tile_8x8.png new file mode 100644 index 000000000..3b5a76c67 Binary files /dev/null and b/gfx/interface/trait_window/trait_line_vertical_tile_8x8.png differ diff --git a/gfx/interface/traits/forest_skirmisher.dds b/gfx/interface/traits/forest_skirmisher.dds new file mode 100644 index 000000000..c111c8623 Binary files /dev/null and b/gfx/interface/traits/forest_skirmisher.dds differ diff --git a/gfx/interface/traits/galadriels_blessing_trait.dds b/gfx/interface/traits/galadriels_blessing_trait.dds new file mode 100644 index 000000000..b3ddc8d45 Binary files /dev/null and b/gfx/interface/traits/galadriels_blessing_trait.dds differ diff --git a/gfx/interface/traits/halfelves_trait.dds b/gfx/interface/traits/halfelves_trait.dds new file mode 100644 index 000000000..d65e0a970 Binary files /dev/null and b/gfx/interface/traits/halfelves_trait.dds differ diff --git a/gfx/interface/traits/mirrors_chosen.dds b/gfx/interface/traits/mirrors_chosen.dds new file mode 100644 index 000000000..890d80561 Binary files /dev/null and b/gfx/interface/traits/mirrors_chosen.dds differ diff --git a/gfx/interface/traits/mirrors_doomed.dds b/gfx/interface/traits/mirrors_doomed.dds new file mode 100644 index 000000000..bad75ed32 Binary files /dev/null and b/gfx/interface/traits/mirrors_doomed.dds differ diff --git a/gfx/interface/traits/nandor_trait.dds b/gfx/interface/traits/nandor_trait.dds new file mode 100644 index 000000000..584cdb750 Binary files /dev/null and b/gfx/interface/traits/nandor_trait.dds differ diff --git a/gfx/interface/traits/noldor_trait.dds b/gfx/interface/traits/noldor_trait.dds new file mode 100644 index 000000000..6f4088630 Binary files /dev/null and b/gfx/interface/traits/noldor_trait.dds differ diff --git a/gfx/interface/traits/nonelves_trait.dds b/gfx/interface/traits/nonelves_trait.dds new file mode 100644 index 000000000..503c51d3b Binary files /dev/null and b/gfx/interface/traits/nonelves_trait.dds differ diff --git a/gfx/interface/traits/orcs_trait.dds b/gfx/interface/traits/orcs_trait.dds new file mode 100644 index 000000000..4ea7f9f4c Binary files /dev/null and b/gfx/interface/traits/orcs_trait.dds differ diff --git a/gfx/interface/traits/river_specialist.dds b/gfx/interface/traits/river_specialist.dds new file mode 100644 index 000000000..091ef661a Binary files /dev/null and b/gfx/interface/traits/river_specialist.dds differ diff --git a/gfx/interface/traits/sindar_trait.dds b/gfx/interface/traits/sindar_trait.dds new file mode 100644 index 000000000..d76fb4ea6 Binary files /dev/null and b/gfx/interface/traits/sindar_trait.dds differ diff --git a/gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_100.dds b/gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_100.dds new file mode 100644 index 000000000..97ff5cb68 Binary files /dev/null and b/gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_100.dds differ diff --git a/gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_101.dds b/gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_101.dds new file mode 100644 index 000000000..399ed9f7e Binary files /dev/null and b/gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_101.dds differ diff --git a/gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_102.dds b/gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_102.dds new file mode 100644 index 000000000..9cb957499 Binary files /dev/null and b/gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_102.dds differ diff --git a/gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_103.dds b/gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_103.dds new file mode 100644 index 000000000..05535879d Binary files /dev/null and b/gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_103.dds differ diff --git a/gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_17.dds b/gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_17.dds index 26bce51d7..ef6be147b 100644 Binary files a/gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_17.dds and b/gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_17.dds differ diff --git a/gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_18.dds b/gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_18.dds index 113a64646..be371be9b 100644 Binary files a/gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_18.dds and b/gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_18.dds differ diff --git a/gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_27.dds b/gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_27.dds index ee16eb14b..fd95fa9fc 100644 Binary files a/gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_27.dds and b/gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_27.dds differ diff --git a/gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_33.dds b/gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_33.dds index d9603a171..d4409806c 100644 Binary files a/gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_33.dds and b/gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_33.dds differ diff --git a/gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_39.dds b/gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_39.dds index 6d4f500dd..96fda9698 100644 Binary files a/gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_39.dds and b/gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_39.dds differ diff --git a/gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_46.dds b/gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_46.dds index 2e5cfcd12..40d4c63d8 100644 Binary files a/gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_46.dds and b/gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_46.dds differ diff --git a/gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_59.dds b/gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_59.dds index 578b3e9b6..d28899e83 100644 Binary files a/gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_59.dds and b/gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_59.dds differ diff --git a/gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_61.dds b/gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_61.dds index 3e92ff4a8..c8de1de78 100644 Binary files a/gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_61.dds and b/gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_61.dds differ diff --git a/gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_62.dds b/gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_62.dds index 4d1a47d32..10feeaabe 100644 Binary files a/gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_62.dds and b/gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_62.dds differ diff --git a/gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_63.dds b/gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_63.dds index d548db26a..868e76aa8 100644 Binary files a/gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_63.dds and b/gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_63.dds differ diff --git a/gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_71.dds b/gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_71.dds index 4a91cbbb0..38acd24e8 100644 Binary files a/gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_71.dds and b/gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_71.dds differ diff --git a/gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_72.dds b/gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_72.dds index 38292ed54..8ea3c4c0d 100644 Binary files a/gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_72.dds and b/gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_72.dds differ diff --git a/gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_77.dds b/gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_77.dds index 92e1c1ef3..4c3b2f809 100644 Binary files a/gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_77.dds and b/gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_77.dds differ diff --git a/gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_82.dds b/gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_82.dds index ad6b3aae4..625de83e8 100644 Binary files a/gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_82.dds and b/gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_82.dds differ diff --git a/gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_92.dds b/gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_92.dds index d87fed091..95b105d0a 100644 Binary files a/gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_92.dds and b/gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_92.dds differ diff --git a/gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_93.dds b/gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_93.dds index d861985a3..7dcd55cbc 100644 Binary files a/gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_93.dds and b/gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_93.dds differ diff --git a/gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_95.dds b/gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_95.dds new file mode 100644 index 000000000..a60f23ceb Binary files /dev/null and b/gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_95.dds differ diff --git a/gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_96.dds b/gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_96.dds new file mode 100644 index 000000000..fa35d32a6 Binary files /dev/null and b/gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_96.dds differ diff --git a/gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_97.dds b/gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_97.dds new file mode 100644 index 000000000..e8c1d6d34 Binary files /dev/null and b/gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_97.dds differ diff --git a/gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_98.dds b/gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_98.dds new file mode 100644 index 000000000..d9603a171 Binary files /dev/null and b/gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_98.dds differ diff --git a/gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_99.dds b/gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_99.dds new file mode 100644 index 000000000..fad96fadc Binary files /dev/null and b/gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_99.dds differ diff --git a/gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_100.dds b/gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_100.dds new file mode 100644 index 000000000..1bd062634 Binary files /dev/null and b/gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_100.dds differ diff --git a/gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_101.dds b/gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_101.dds new file mode 100644 index 000000000..a0b780bfe Binary files /dev/null and b/gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_101.dds differ diff --git a/gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_102.dds b/gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_102.dds new file mode 100644 index 000000000..6c35d3ac3 Binary files /dev/null and b/gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_102.dds differ diff --git a/gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_103.dds b/gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_103.dds new file mode 100644 index 000000000..91278fa00 Binary files /dev/null and b/gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_103.dds differ diff --git a/gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_17.dds b/gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_17.dds index 5567511ec..c34e17049 100644 Binary files a/gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_17.dds and b/gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_17.dds differ diff --git a/gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_18.dds b/gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_18.dds index 3683a9a73..2f02c4af2 100644 Binary files a/gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_18.dds and b/gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_18.dds differ diff --git a/gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_27.dds b/gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_27.dds index 0afeeaf3d..51a8fa5da 100644 Binary files a/gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_27.dds and b/gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_27.dds differ diff --git a/gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_33.dds b/gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_33.dds index df7d883d6..09e4deb47 100644 Binary files a/gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_33.dds and b/gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_33.dds differ diff --git a/gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_39.dds b/gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_39.dds index 6449fc594..f14995233 100644 Binary files a/gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_39.dds and b/gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_39.dds differ diff --git a/gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_46.dds b/gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_46.dds index 70f56f8b3..2d30f2309 100644 Binary files a/gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_46.dds and b/gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_46.dds differ diff --git a/gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_59.dds b/gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_59.dds index dfe2aa8e6..f7d233a13 100644 Binary files a/gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_59.dds and b/gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_59.dds differ diff --git a/gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_61.dds b/gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_61.dds index 30ba1f6cb..a7805794f 100644 Binary files a/gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_61.dds and b/gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_61.dds differ diff --git a/gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_62.dds b/gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_62.dds index 35c0335c5..0e252eb34 100644 Binary files a/gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_62.dds and b/gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_62.dds differ diff --git a/gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_63.dds b/gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_63.dds index 4b2cba3bb..8cc55e1a0 100644 Binary files a/gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_63.dds and b/gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_63.dds differ diff --git a/gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_71.dds b/gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_71.dds index 32fec1513..c02255bc9 100644 Binary files a/gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_71.dds and b/gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_71.dds differ diff --git a/gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_72.dds b/gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_72.dds index a3a604119..5aa6f2a66 100644 Binary files a/gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_72.dds and b/gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_72.dds differ diff --git a/gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_77.dds b/gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_77.dds index 1f26d30d7..1d00f2047 100644 Binary files a/gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_77.dds and b/gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_77.dds differ diff --git a/gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_82.dds b/gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_82.dds index 01b46e384..89b94dc25 100644 Binary files a/gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_82.dds and b/gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_82.dds differ diff --git a/gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_92.dds b/gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_92.dds index 8d7002c6b..5a098ab86 100644 Binary files a/gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_92.dds and b/gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_92.dds differ diff --git a/gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_93.dds b/gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_93.dds index 11203e0c8..ec4c73677 100644 Binary files a/gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_93.dds and b/gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_93.dds differ diff --git a/gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_95.dds b/gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_95.dds new file mode 100644 index 000000000..655274f00 Binary files /dev/null and b/gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_95.dds differ diff --git a/gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_96.dds b/gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_96.dds new file mode 100644 index 000000000..c7a0cc314 Binary files /dev/null and b/gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_96.dds differ diff --git a/gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_97.dds b/gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_97.dds new file mode 100644 index 000000000..60620ee79 Binary files /dev/null and b/gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_97.dds differ diff --git a/gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_98.dds b/gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_98.dds new file mode 100644 index 000000000..df7d883d6 Binary files /dev/null and b/gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_98.dds differ diff --git a/gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_99.dds b/gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_99.dds new file mode 100644 index 000000000..ed7217493 Binary files /dev/null and b/gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_99.dds differ diff --git a/gfx/leaders/0_generic_Men/Portrait_Men_Generic_185.dds b/gfx/leaders/0_generic_Men/Portrait_Men_Generic_185.dds new file mode 100644 index 000000000..aba66e110 Binary files /dev/null and b/gfx/leaders/0_generic_Men/Portrait_Men_Generic_185.dds differ diff --git a/gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_185.dds b/gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_185.dds new file mode 100644 index 000000000..161b2771e Binary files /dev/null and b/gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_185.dds differ diff --git a/gfx/leaders/0_generic_Orcs/Portrait_Orcs_Generic_61.dds b/gfx/leaders/0_generic_Orcs/Portrait_Orcs_Generic_61.dds index 10d10ae1c..94242bf57 100644 Binary files a/gfx/leaders/0_generic_Orcs/Portrait_Orcs_Generic_61.dds and b/gfx/leaders/0_generic_Orcs/Portrait_Orcs_Generic_61.dds differ diff --git a/gfx/leaders/0_generic_Orcs/small/Portrait_Orcs_Generic_61.dds b/gfx/leaders/0_generic_Orcs/small/Portrait_Orcs_Generic_61.dds index 4135033b2..1e94badc0 100644 Binary files a/gfx/leaders/0_generic_Orcs/small/Portrait_Orcs_Generic_61.dds and b/gfx/leaders/0_generic_Orcs/small/Portrait_Orcs_Generic_61.dds differ diff --git a/gfx/leaders/0_generic_Men/Portrait_Men_Generic_138.dds b/gfx/leaders/DAM/Portrait_dol_amroth_amrothos.dds similarity index 100% rename from gfx/leaders/0_generic_Men/Portrait_Men_Generic_138.dds rename to gfx/leaders/DAM/Portrait_dol_amroth_amrothos.dds diff --git a/gfx/leaders/DAM/Portrait_dol_amroth_imrahil.dds b/gfx/leaders/DAM/Portrait_dol_amroth_imrahil.dds new file mode 100644 index 000000000..1f77d4245 Binary files /dev/null and b/gfx/leaders/DAM/Portrait_dol_amroth_imrahil.dds differ diff --git a/gfx/leaders/DAM/Portrait_dol_amroth_lothiriel.dds b/gfx/leaders/DAM/Portrait_dol_amroth_lothiriel.dds new file mode 100644 index 000000000..d13242dce Binary files /dev/null and b/gfx/leaders/DAM/Portrait_dol_amroth_lothiriel.dds differ diff --git a/gfx/leaders/DAM/small/Portrait_dol_amroth_amrothos.dds b/gfx/leaders/DAM/small/Portrait_dol_amroth_amrothos.dds new file mode 100644 index 000000000..2c5eabbec Binary files /dev/null and b/gfx/leaders/DAM/small/Portrait_dol_amroth_amrothos.dds differ diff --git a/gfx/leaders/DAM/small/Portrait_dol_amroth_imrahil.dds b/gfx/leaders/DAM/small/Portrait_dol_amroth_imrahil.dds new file mode 100644 index 000000000..2c5eabbec Binary files /dev/null and b/gfx/leaders/DAM/small/Portrait_dol_amroth_imrahil.dds differ diff --git a/gfx/leaders/DAM/small/Portrait_dol_amroth_lothiriel.dds b/gfx/leaders/DAM/small/Portrait_dol_amroth_lothiriel.dds new file mode 100644 index 000000000..a9cf7d515 Binary files /dev/null and b/gfx/leaders/DAM/small/Portrait_dol_amroth_lothiriel.dds differ diff --git a/gfx/leaders/GON/Portrait_Gondor_Aragorn_Fellowship..dds b/gfx/leaders/GON/Portrait_Gondor_Aragorn_Fellowship.dds similarity index 100% rename from gfx/leaders/GON/Portrait_Gondor_Aragorn_Fellowship..dds rename to gfx/leaders/GON/Portrait_Gondor_Aragorn_Fellowship.dds diff --git a/gfx/leaders/LTH/Portrait_Lothlorien_Aelrindel.dds b/gfx/leaders/LTH/Portrait_Lothlorien_Aelrindel.dds new file mode 100644 index 000000000..f523ec930 Binary files /dev/null and b/gfx/leaders/LTH/Portrait_Lothlorien_Aelrindel.dds differ diff --git a/gfx/leaders/LTH/Portrait_Lothlorien_Rothilion.dds b/gfx/leaders/LTH/Portrait_Lothlorien_Rothilion.dds new file mode 100644 index 000000000..0226f3194 Binary files /dev/null and b/gfx/leaders/LTH/Portrait_Lothlorien_Rothilion.dds differ diff --git a/gfx/leaders/LTH/Portrait_Lothlorien_Rumil.dds b/gfx/leaders/LTH/Portrait_Lothlorien_Rumil.dds new file mode 100644 index 000000000..be647a32e Binary files /dev/null and b/gfx/leaders/LTH/Portrait_Lothlorien_Rumil.dds differ diff --git a/gfx/leaders/LTH/Portrait_Lothlorien_Velatha.dds b/gfx/leaders/LTH/Portrait_Lothlorien_Velatha.dds new file mode 100644 index 000000000..c34ec1c78 Binary files /dev/null and b/gfx/leaders/LTH/Portrait_Lothlorien_Velatha.dds differ diff --git a/gfx/leaders/LTH/small/Portrait_Lothlorien_Aelrindel.dds b/gfx/leaders/LTH/small/Portrait_Lothlorien_Aelrindel.dds new file mode 100644 index 000000000..0cb7309e7 Binary files /dev/null and b/gfx/leaders/LTH/small/Portrait_Lothlorien_Aelrindel.dds differ diff --git a/gfx/leaders/LTH/small/Portrait_Lothlorien_Rothilion.dds b/gfx/leaders/LTH/small/Portrait_Lothlorien_Rothilion.dds new file mode 100644 index 000000000..e6d39566b Binary files /dev/null and b/gfx/leaders/LTH/small/Portrait_Lothlorien_Rothilion.dds differ diff --git a/gfx/leaders/LTH/small/Portrait_Lothlorien_Rumil.dds b/gfx/leaders/LTH/small/Portrait_Lothlorien_Rumil.dds new file mode 100644 index 000000000..238cf15f4 Binary files /dev/null and b/gfx/leaders/LTH/small/Portrait_Lothlorien_Rumil.dds differ diff --git a/gfx/leaders/LTH/small/Portrait_Lothlorien_Velatha.dds b/gfx/leaders/LTH/small/Portrait_Lothlorien_Velatha.dds new file mode 100644 index 000000000..84642121f Binary files /dev/null and b/gfx/leaders/LTH/small/Portrait_Lothlorien_Velatha.dds differ diff --git a/gfx/leaders/_small_portrait_gen/convert_to_small.py b/gfx/leaders/_small_portrait_gen/convert_to_small.py deleted file mode 100644 index ed955760f..000000000 --- a/gfx/leaders/_small_portrait_gen/convert_to_small.py +++ /dev/null @@ -1,51 +0,0 @@ -import sys -import glob -import os -from wand import image - -def apply_mask(img, mask): - img.alpha_channel = True - - with image.Image(width=img.width, height=img.height, background=image.Color("transparent")) as alpha_image: - #alpha_image.composite_channel("alpha", mask, "copy_alpha") - img.composite_channel("alpha", mask, "copy_alpha") - -def convert_image(img_file, out_path): - frame = image.Image(filename='empty_frame.png') - mask = image.Image(filename='mask.png') - img = image.Image(filename=img_file) - - # resize target image - img.resize(width=mask.width, height=mask.height, filter='lanczos2', blur=1) - - # Apply alpha mask - apply_mask(img, mask) - - # Add it ontop of the frame - frame.composite(img, top=7, left=3) - - with frame as op: - op.compression = 'dxt5' - op.save(filename=out_path) - - -print("spriteTypes = {") -print("\t# This file was auto-generated by convert_to_small.py") -if(len(sys.argv) > 1): - old_path = "../"+sys.argv[1] - for file in glob.glob(old_path+"/*.dds"): - filename = os.path.basename(file) - #print("File:" + filename) - newpath = "../"+sys.argv[1]+"/small" - newfile = newpath + "/" + filename - if not os.path.exists(newpath): - os.makedirs(newpath) - convert_image(file, newfile) - - gfx_id = str.lower(filename[0:len(filename)-4]) - print("\tspriteType = { name = \"GFX_"+gfx_id+"\" texturefile = \"gfx/leaders/"+sys.argv[1]+"/"+filename+"\" }") - #print("\tspriteType = { name = \"GFX_"+gfx_id+"_small\" texturefile = \"gfx/leaders/"+sys.argv[1]+"/small/"+filename+"\" }") - print("\tspriteType = { name = \"GFX_idea_"+gfx_id+"\" texturefile = \"gfx/leaders/"+sys.argv[1]+"/small/"+filename+"\" }") - -print("}") -exit(0) \ No newline at end of file diff --git a/gfx/leaders/_small_portrait_gen/readme.txt b/gfx/leaders/_small_portrait_gen/readme.txt deleted file mode 100644 index 8dd148958..000000000 --- a/gfx/leaders/_small_portrait_gen/readme.txt +++ /dev/null @@ -1,12 +0,0 @@ -This is a script that automatically converts leader portaits into -"small", advisor portraits. - -Usage: -python convert_to_small.py some_folder -will convert all portraits in the gfx/leaders/some_folder folder -and put them inside a gfx/leaders/some_folder/small - -The output of the script will correspond to a .gfx file that includes all the definitions. -You can use a redirection/pipe operator to write this directly into the correct file. Example: - -python.exe .\convert_to_small.py 0_generic_Men | Out-File ../../../interface/leaders/lotr_leaders_men.gfx -Encoding ASCII \ No newline at end of file diff --git a/gfx/loadingscreens/load_5.dds b/gfx/loadingscreens/load_5.dds index 9f53e9d55..de39c29c3 100644 Binary files a/gfx/loadingscreens/load_5.dds and b/gfx/loadingscreens/load_5.dds differ diff --git a/gfx/loadingscreens/load_9.dds b/gfx/loadingscreens/load_9.dds new file mode 100644 index 000000000..de39c29c3 Binary files /dev/null and b/gfx/loadingscreens/load_9.dds differ diff --git a/gfx/loadingscreens/load_aat.dds b/gfx/loadingscreens/load_aat.dds new file mode 100644 index 000000000..75b2b2f19 Binary files /dev/null and b/gfx/loadingscreens/load_aat.dds differ diff --git a/gfx/loadingscreens/load_aat2.dds b/gfx/loadingscreens/load_aat2.dds new file mode 100644 index 000000000..4bb6c5a84 Binary files /dev/null and b/gfx/loadingscreens/load_aat2.dds differ diff --git a/gfx/loadingscreens/load_botb2.dds b/gfx/loadingscreens/load_botb2.dds index 9f53e9d55..9a2a95c88 100644 Binary files a/gfx/loadingscreens/load_botb2.dds and b/gfx/loadingscreens/load_botb2.dds differ diff --git a/gfx/loadingscreens/load_dod.dds b/gfx/loadingscreens/load_dod.dds index 4088addca..0037ba18f 100644 Binary files a/gfx/loadingscreens/load_dod.dds and b/gfx/loadingscreens/load_dod.dds differ diff --git a/gfx/loadingscreens/load_lar.dds b/gfx/loadingscreens/load_lar.dds index 4088addca..490dc642d 100644 Binary files a/gfx/loadingscreens/load_lar.dds and b/gfx/loadingscreens/load_lar.dds differ diff --git a/gfx/loadingscreens/load_mtg.dds b/gfx/loadingscreens/load_mtg.dds index 16ebfbda6..8c6be3c02 100644 Binary files a/gfx/loadingscreens/load_mtg.dds and b/gfx/loadingscreens/load_mtg.dds differ diff --git a/gfx/loadingscreens/load_mtg2.dds b/gfx/loadingscreens/load_mtg2.dds deleted file mode 100644 index 16ebfbda6..000000000 Binary files a/gfx/loadingscreens/load_mtg2.dds and /dev/null differ diff --git a/gfx/loadingscreens/load_mtg_2.dds b/gfx/loadingscreens/load_mtg_2.dds new file mode 100644 index 000000000..490dc642d Binary files /dev/null and b/gfx/loadingscreens/load_mtg_2.dds differ diff --git a/gfx/loadingscreens/load_tfv.dds b/gfx/loadingscreens/load_tfv.dds index 4088addca..9f53e9d55 100644 Binary files a/gfx/loadingscreens/load_tfv.dds and b/gfx/loadingscreens/load_tfv.dds differ diff --git a/gfx/loadingscreens/load_tiger.dds b/gfx/loadingscreens/load_tiger.dds index 4088addca..ec11aaf41 100644 Binary files a/gfx/loadingscreens/load_tiger.dds and b/gfx/loadingscreens/load_tiger.dds differ diff --git a/gfx/loadingscreens/load_tiger2.dds b/gfx/loadingscreens/load_tiger2.dds index 4088addca..ec11aaf41 100644 Binary files a/gfx/loadingscreens/load_tiger2.dds and b/gfx/loadingscreens/load_tiger2.dds differ diff --git a/gfx/models/buildings/bridge_color.dds b/gfx/models/buildings/bridge_color.dds new file mode 100644 index 000000000..9393a7d99 Binary files /dev/null and b/gfx/models/buildings/bridge_color.dds differ diff --git a/gfx/models/buildings/bridge_nrm.dds b/gfx/models/buildings/bridge_nrm.dds new file mode 100644 index 000000000..e9ee0f834 Binary files /dev/null and b/gfx/models/buildings/bridge_nrm.dds differ diff --git a/gfx/models/buildings/bridge_railway.mesh b/gfx/models/buildings/bridge_railway.mesh new file mode 100644 index 000000000..09c6c2020 Binary files /dev/null and b/gfx/models/buildings/bridge_railway.mesh differ diff --git a/gfx/models/buildings/bridge_railway_large.mesh b/gfx/models/buildings/bridge_railway_large.mesh new file mode 100644 index 000000000..dea70f286 Binary files /dev/null and b/gfx/models/buildings/bridge_railway_large.mesh differ diff --git a/gfx/models/buildings/bridge_spec.dds b/gfx/models/buildings/bridge_spec.dds new file mode 100644 index 000000000..3ff96f8a8 Binary files /dev/null and b/gfx/models/buildings/bridge_spec.dds differ diff --git a/gfx/models/buildings/factory.mesh b/gfx/models/buildings/factory.mesh new file mode 100644 index 000000000..58fff7858 Binary files /dev/null and b/gfx/models/buildings/factory.mesh differ diff --git a/gfx/models/buildings/factory_col.dds b/gfx/models/buildings/factory_col.dds new file mode 100644 index 000000000..29e04aef0 Binary files /dev/null and b/gfx/models/buildings/factory_col.dds differ diff --git a/gfx/models/buildings/factory_nrm.dds b/gfx/models/buildings/factory_nrm.dds new file mode 100644 index 000000000..d42a7994b Binary files /dev/null and b/gfx/models/buildings/factory_nrm.dds differ diff --git a/gfx/models/buildings/factory_spec.dds b/gfx/models/buildings/factory_spec.dds new file mode 100644 index 000000000..30670a519 Binary files /dev/null and b/gfx/models/buildings/factory_spec.dds differ diff --git a/gfx/models/caras.mesh b/gfx/models/caras.mesh new file mode 100644 index 000000000..467b2be1e Binary files /dev/null and b/gfx/models/caras.mesh differ diff --git a/gfx/models/caras_diffuse.dds b/gfx/models/caras_diffuse.dds new file mode 100644 index 000000000..8d5ef62ea Binary files /dev/null and b/gfx/models/caras_diffuse.dds differ diff --git a/gfx/models/caras_normal.dds b/gfx/models/caras_normal.dds new file mode 100644 index 000000000..864823357 Binary files /dev/null and b/gfx/models/caras_normal.dds differ diff --git a/gfx/models/caras_spec.dds b/gfx/models/caras_spec.dds new file mode 100644 index 000000000..2191bfc9c Binary files /dev/null and b/gfx/models/caras_spec.dds differ diff --git a/gfx/models/mtdoom_readme.txt b/gfx/models/mtdoom_readme.txt index d1dfcc841..e280e10f2 100644 --- a/gfx/models/mtdoom_readme.txt +++ b/gfx/models/mtdoom_readme.txt @@ -1,5 +1,5 @@ -In order to get the mntdoom lava to be emissive, I rewrote the PDXMesh shader to do the following: - -If the diffuse texture has the value (1, 0, 1) or #ff00ff, then we mirror the y UV coordinate and output the value as emissive. - -This is a SUPER dodgy way of getting emissive to work. \ No newline at end of file +# In order to get the mntdoom lava to be emissive, I rewrote the PDXMesh shader to do the following: +# +# If the diffuse texture has the value (1, 0, 1) or #ff00ff, then we mirror the y UV coordinate and output the value as emissive. +# +# This is a SUPER dodgy way of getting emissive to work. \ No newline at end of file diff --git a/gfx/models/orthanc.mesh b/gfx/models/orthanc.mesh index fe52c1311..96ef314ab 100644 Binary files a/gfx/models/orthanc.mesh and b/gfx/models/orthanc.mesh differ diff --git a/gfx/models/orthanc_spec.dds b/gfx/models/orthanc_spec.dds index fbbda4074..e7f95282b 100644 Binary files a/gfx/models/orthanc_spec.dds and b/gfx/models/orthanc_spec.dds differ diff --git a/gfx/models/units/lothlorien_soldier/lothlorien_soldier_albedo.dds b/gfx/models/units/lothlorien_soldier/lothlorien_soldier_albedo.dds new file mode 100644 index 000000000..28e1c3cb5 Binary files /dev/null and b/gfx/models/units/lothlorien_soldier/lothlorien_soldier_albedo.dds differ diff --git a/gfx/models/units/lothlorien_soldier/lothlorien_soldier_mesh.mesh b/gfx/models/units/lothlorien_soldier/lothlorien_soldier_mesh.mesh new file mode 100644 index 000000000..6624b9851 Binary files /dev/null and b/gfx/models/units/lothlorien_soldier/lothlorien_soldier_mesh.mesh differ diff --git a/gfx/models/units/lothlorien_soldier/lothlorien_soldier_normal.dds b/gfx/models/units/lothlorien_soldier/lothlorien_soldier_normal.dds new file mode 100644 index 000000000..1395edf01 Binary files /dev/null and b/gfx/models/units/lothlorien_soldier/lothlorien_soldier_normal.dds differ diff --git a/gfx/models/units/lothlorien_soldier/lothlorien_soldier_spec.dds b/gfx/models/units/lothlorien_soldier/lothlorien_soldier_spec.dds new file mode 100644 index 000000000..7beb923f9 Binary files /dev/null and b/gfx/models/units/lothlorien_soldier/lothlorien_soldier_spec.dds differ diff --git a/gfx/models/units/rivendell_soldier/rivendell_soldier_albedo.dds b/gfx/models/units/rivendell_soldier/rivendell_soldier_albedo.dds new file mode 100644 index 000000000..8a366250d Binary files /dev/null and b/gfx/models/units/rivendell_soldier/rivendell_soldier_albedo.dds differ diff --git a/gfx/models/units/rivendell_soldier/rivendell_soldier_mesh.mesh b/gfx/models/units/rivendell_soldier/rivendell_soldier_mesh.mesh new file mode 100644 index 000000000..891e9068d Binary files /dev/null and b/gfx/models/units/rivendell_soldier/rivendell_soldier_mesh.mesh differ diff --git a/gfx/models/units/rivendell_soldier/rivendell_soldier_normal.dds b/gfx/models/units/rivendell_soldier/rivendell_soldier_normal.dds new file mode 100644 index 000000000..1395edf01 Binary files /dev/null and b/gfx/models/units/rivendell_soldier/rivendell_soldier_normal.dds differ diff --git a/gfx/models/units/rivendell_soldier/rivendell_soldier_spec.dds b/gfx/models/units/rivendell_soldier/rivendell_soldier_spec.dds new file mode 100644 index 000000000..7beb923f9 Binary files /dev/null and b/gfx/models/units/rivendell_soldier/rivendell_soldier_spec.dds differ diff --git a/gfx/texticons/support_sindar_pathstalkers.dds b/gfx/texticons/support_sindar_pathstalkers.dds new file mode 100644 index 000000000..d47d43c83 Binary files /dev/null and b/gfx/texticons/support_sindar_pathstalkers.dds differ diff --git a/gfx/texticons/unit_ent_infantry_icon_small.dds b/gfx/texticons/unit_ent_infantry_icon_small.dds new file mode 100644 index 000000000..dd050871d Binary files /dev/null and b/gfx/texticons/unit_ent_infantry_icon_small.dds differ diff --git a/gfx/texticons/unit_heavy_infantry_icon_small.dds b/gfx/texticons/unit_heavy_infantry_icon_small.dds new file mode 100644 index 000000000..f8e11e389 Binary files /dev/null and b/gfx/texticons/unit_heavy_infantry_icon_small.dds differ diff --git a/gfx/texticons/unit_marchwardens_of_lothlorien_icon_small.dds b/gfx/texticons/unit_marchwardens_of_lothlorien_icon_small.dds new file mode 100644 index 000000000..b45355ff6 Binary files /dev/null and b/gfx/texticons/unit_marchwardens_of_lothlorien_icon_small.dds differ diff --git a/gfx/texticons/unit_riders_of_the_naith_icon_small.dds b/gfx/texticons/unit_riders_of_the_naith_icon_small.dds new file mode 100644 index 000000000..24246c1d9 Binary files /dev/null and b/gfx/texticons/unit_riders_of_the_naith_icon_small.dds differ diff --git a/gfx/texticons/unit_spider_infantry_icon_small.dds b/gfx/texticons/unit_spider_infantry_icon_small.dds new file mode 100644 index 000000000..e3e394995 Binary files /dev/null and b/gfx/texticons/unit_spider_infantry_icon_small.dds differ diff --git a/history/countries/ANG - Angmar.txt b/history/countries/ANG - Angmar.txt index e7e09205d..97debebb4 100644 --- a/history/countries/ANG - Angmar.txt +++ b/history/countries/ANG - Angmar.txt @@ -61,4 +61,4 @@ set_popularities = { belligerent = 31 revolutionary = 5 unaligned = 57 -} +} \ No newline at end of file diff --git a/history/countries/ART - Arthedain.txt b/history/countries/ART - Arthedain.txt index 8ebbd6c61..ff1219c19 100644 --- a/history/countries/ART - Arthedain.txt +++ b/history/countries/ART - Arthedain.txt @@ -22,7 +22,7 @@ set_technology = { tech_recon = 1 tech_support = 1 basic_train = 1 - rangers = 1 + rangers_units = 1 } add_ideas = { @@ -44,4 +44,4 @@ set_popularities = { belligerent = 2 revolutionary = 0 unaligned = 62 -} +} \ No newline at end of file diff --git a/history/countries/CAR - Cardolan.txt b/history/countries/CAR - Cardolan.txt index 610c4797f..3cfcae4bb 100644 --- a/history/countries/CAR - Cardolan.txt +++ b/history/countries/CAR - Cardolan.txt @@ -41,4 +41,4 @@ set_popularities = { belligerent = 0 revolutionary = 2 unaligned = 60 -} +} \ No newline at end of file diff --git a/history/countries/DAG - Dagorlad.txt b/history/countries/DAG - Dagorlad.txt index d6b2c289c..68e3ad4f5 100644 --- a/history/countries/DAG - Dagorlad.txt +++ b/history/countries/DAG - Dagorlad.txt @@ -33,4 +33,4 @@ set_popularities = { belligerent = 10 revolutionary = 0 unaligned = 90 -} +} \ No newline at end of file diff --git a/history/countries/DAM - Dol Amroth.txt b/history/countries/DAM - Dol Amroth.txt new file mode 100644 index 000000000..391264232 --- /dev/null +++ b/history/countries/DAM - Dol Amroth.txt @@ -0,0 +1,49 @@ +capital = 224 + +oob = "DAM_3018" + +set_research_slots = 2 + +recruit_character = DAM_imrahil +recruit_character = DAM_amrothos +recruit_character = DAM_lothiriel + +set_convoys = 25 + +set_technology = { + infantry_weapons = 1 + infantry_weapons1 = 1 + superior_firepower = 1 + tech_support = 1 + tech_recon = 1 + tech_engineers = 1 + gw_artillery = 1 + gwtank = 1 + basic_light_tank = 1 + basic_medium_tank = 1 + convoy_tech = 1 + early_destroyer = 1 + early_light_cruiser = 1 + early_heavy_cruiser = 1 + transport = 1 + motorised_infantry = 1 + basic_train = 1 +} + +add_to_tech_sharing_group = gondor_research + +add_ideas = DAM_swan_knights + +set_politics = { + ruling_party = unaligned + last_election = "1936.1.1" + election_frequency = 48 + elections_allowed = no +} + +set_popularities = { + cooperative = 43 + belligerent = 4 + revolutionary = 3 + unaligned = 50 +} diff --git a/history/countries/ENE - Enedwaith.txt b/history/countries/ENE - Enedwaith.txt index 973cafa4e..0cadd5c18 100644 --- a/history/countries/ENE - Enedwaith.txt +++ b/history/countries/ENE - Enedwaith.txt @@ -40,4 +40,4 @@ set_popularities = { belligerent = 0 revolutionary = 0 unaligned = 100 -} +} \ No newline at end of file diff --git a/history/countries/ENT - Entwood.txt b/history/countries/ENT - Entwood.txt index 1b59150c1..420d98433 100644 --- a/history/countries/ENT - Entwood.txt +++ b/history/countries/ENT - Entwood.txt @@ -9,6 +9,8 @@ recruit_character = ENT_birchseed set_research_slots = 1 set_technology = { + ent_infantry = 1 + infantry_weapons = 1 tech_support = 1 tech_engineers = 1 @@ -35,4 +37,4 @@ set_popularities = { belligerent = 0 revolutionary = 0 unaligned = 100 -} +} \ No newline at end of file diff --git a/history/countries/GON - Gondor.txt b/history/countries/GON - Gondor.txt index 6e1c39acb..ab02a7979 100644 --- a/history/countries/GON - Gondor.txt +++ b/history/countries/GON - Gondor.txt @@ -1,6 +1,6 @@ capital = 163 -oob = "GON_1936" +oob = "GON_3018" set_research_slots = 3 @@ -20,12 +20,13 @@ recruit_character = GON_angbor recruit_character = GON_mablung recruit_character = GON_anborn recruit_character = GON_hirgorn -recruit_character = GON_imrahil recruit_character = GON_ingold recruit_character = GON_bronwen recruit_character = GON_creighton recruit_character = GON_normand +recruit_character = GON_King_Dead + set_convoys = 25 set_technology = { @@ -49,7 +50,8 @@ set_technology = { create_faction = gondor_alliance -add_ideas = GON_kingdom_without_king +add_ideas = GON_kingdom_without_king_0 +add_ideas = GON_weary_armed_forces add_to_tech_sharing_group = gondor_research @@ -61,8 +63,13 @@ set_politics = { } set_popularities = { - cooperative = 43 + cooperative = 33 belligerent = 4 revolutionary = 3 - unaligned = 50 + unaligned = 60 +} + +set_autonomy = { + target = DAM + autonomous_state = autonomy_fiefdom } diff --git a/history/countries/GUN - Gundabad.txt b/history/countries/GUN - Gundabad.txt index 7dd1646b5..17a17c2e0 100644 --- a/history/countries/GUN - Gundabad.txt +++ b/history/countries/GUN - Gundabad.txt @@ -45,4 +45,4 @@ set_popularities = { belligerent = 75 revolutionary = 5 unaligned = 5 -} +} \ No newline at end of file diff --git a/history/countries/HAR - Harad.txt b/history/countries/HAR - Harad.txt index 30f0d1cd6..0e29cf2e4 100644 --- a/history/countries/HAR - Harad.txt +++ b/history/countries/HAR - Harad.txt @@ -61,4 +61,4 @@ set_popularities = { belligerent = 47 revolutionary = 0 unaligned = 49 -} +} \ No newline at end of file diff --git a/history/countries/ISE - Isengard.txt b/history/countries/ISE - Isengard.txt index 033e77985..e901c10fa 100644 --- a/history/countries/ISE - Isengard.txt +++ b/history/countries/ISE - Isengard.txt @@ -56,4 +56,4 @@ set_popularities = { belligerent = 10 revolutionary = 0 unaligned = 90 -} +} \ No newline at end of file diff --git a/history/countries/ITH - Ithilien.txt b/history/countries/ITH - Ithilien.txt index 493f4689f..fd717b0e7 100644 --- a/history/countries/ITH - Ithilien.txt +++ b/history/countries/ITH - Ithilien.txt @@ -1,7 +1,5 @@ capital = 135 -oob = "ITH_1936" - set_research_slots = 2 recruit_character = ITH_durwin diff --git a/history/countries/LIN - Lindon.txt b/history/countries/LIN - Lindon.txt index 7a8b42a21..2db273e70 100644 --- a/history/countries/LIN - Lindon.txt +++ b/history/countries/LIN - Lindon.txt @@ -49,4 +49,4 @@ set_popularities = { belligerent = 5 revolutionary = 5 unaligned = 80 -} +} \ No newline at end of file diff --git a/history/countries/LTH - Lothlorien.txt b/history/countries/LTH - Lothlorien.txt index 09f4a8c17..1da2f7fbe 100644 --- a/history/countries/LTH - Lothlorien.txt +++ b/history/countries/LTH - Lothlorien.txt @@ -5,12 +5,18 @@ oob = "LTH_1936" set_research_slots = 3 recruit_character = LTH_galadriel -recruit_character = LTH_galadrieln recruit_character = LTH_celeborn recruit_character = LTH_tarborn recruit_character = LTH_haldir recruit_character = LTH_lethsael recruit_character = LTH_orophin +recruit_character = LTH_rumil +recruit_character = LTH_cedhrion +recruit_character = LTH_tathardir +recruit_character = LTH_balrandir +recruit_character = LTH_rothilion +recruit_character = LTH_velatha +recruit_character = LTH_aelrindel set_technology = { infantry_weapons = 1 @@ -29,7 +35,16 @@ set_technology = { convoy_tech = 1 } -complete_national_focus = thefateoflothlorien +add_ideas = { + LTH_celeborn_and_galadriel + LTH_decadent_nobility + LTH_isolationist_reservations_3 +} + + +# Initialize the influence system variables +lthi_initialize_values = yes + set_politics = { ruling_party = unaligned @@ -39,8 +54,32 @@ set_politics = { } set_popularities = { - revolutionary = 0 - belligerent = 10 - unaligned = 70 + revolutionary = 2 + belligerent = 5 + unaligned = 73 cooperative = 20 } + +set_stability = 0.45 + +76 = { + start_resistance = yes + set_compliance = 30 + set_resistance = 1 + add_resistance_target = -15 + set_garrison_strength = 1.0 +} +160 = { + start_resistance = yes + set_compliance = 30 + set_resistance = 1 + add_resistance_target = -15 + set_garrison_strength = 1.0 +} +74 = { + start_resistance = yes + set_compliance = 30 + set_resistance = 1 + add_resistance_target = -15 + set_garrison_strength = 1.0 +} \ No newline at end of file diff --git a/history/countries/MIR - Mirkwood.txt b/history/countries/MIR - Mirkwood.txt index 340155b8f..2e90bb50f 100644 --- a/history/countries/MIR - Mirkwood.txt +++ b/history/countries/MIR - Mirkwood.txt @@ -45,4 +45,4 @@ set_popularities = { belligerent = 5 revolutionary = 0 unaligned = 84 -} +} \ No newline at end of file diff --git a/history/countries/MOA - Moria.txt b/history/countries/MOA - Moria.txt index 198011e29..de8652631 100644 --- a/history/countries/MOA - Moria.txt +++ b/history/countries/MOA - Moria.txt @@ -20,7 +20,6 @@ set_research_slots = 3 add_ideas = { limited_levy - MOA_loose_balrog } set_technology = { @@ -45,4 +44,4 @@ set_popularities = { belligerent = 0 revolutionary = 0 unaligned = 83 -} +} \ No newline at end of file diff --git a/history/countries/MOC - OrcMoria.txt b/history/countries/MOC - OrcMoria.txt index 9f3623dad..98bf22e2a 100644 --- a/history/countries/MOC - OrcMoria.txt +++ b/history/countries/MOC - OrcMoria.txt @@ -13,7 +13,6 @@ set_research_slots = 3 add_ideas = { limited_levy - MOA_loose_balrog } set_technology = { @@ -36,4 +35,4 @@ set_popularities = { belligerent = 0 revolutionary = 100 unaligned = 0 -} +} \ No newline at end of file diff --git a/history/countries/MOR - Mordor.txt b/history/countries/MOR - Mordor.txt index 765d53979..3cded1fa3 100644 --- a/history/countries/MOR - Mordor.txt +++ b/history/countries/MOR - Mordor.txt @@ -71,4 +71,3 @@ set_popularities = { revolutionary = 25 unaligned = 0 } - diff --git a/history/countries/NDH - Nanduhirion.txt b/history/countries/NDH - Nanduhirion.txt new file mode 100644 index 000000000..5731e8b85 --- /dev/null +++ b/history/countries/NDH - Nanduhirion.txt @@ -0,0 +1,17 @@ +capital = 74 + +set_research_slots = 2 + +set_politics = { + ruling_party = unaligned + last_election = "1936.1.1" + election_frequency = 48 + elections_allowed = no +} + +set_popularities = { + cooperative = 15 + belligerent = 15 + revolutionary = 0 + unaligned = 70 +} \ No newline at end of file diff --git a/history/countries/NEP - Forodwaith.txt b/history/countries/NEP - Forodwaith.txt index b487ab2b3..35b815ba5 100644 --- a/history/countries/NEP - Forodwaith.txt +++ b/history/countries/NEP - Forodwaith.txt @@ -22,4 +22,4 @@ set_popularities = { belligerent = 0 revolutionary = 0 unaligned = 100 -} +} \ No newline at end of file diff --git a/history/countries/PEL - Pellardur.txt b/history/countries/PEL - Pellardur.txt index 2643c97c7..a789434d1 100644 --- a/history/countries/PEL - Pellardur.txt +++ b/history/countries/PEL - Pellardur.txt @@ -1,7 +1,5 @@ capital = 112 -oob = "PEL_1936" - set_research_slots = 2 recruit_character = PEL_wutbath diff --git a/history/countries/RHU - Rhun.txt b/history/countries/RHU - Rhun.txt index 89517e0a3..60dd44675 100644 --- a/history/countries/RHU - Rhun.txt +++ b/history/countries/RHU - Rhun.txt @@ -43,4 +43,4 @@ set_popularities = { belligerent = 48 revolutionary = 0 unaligned = 52 -} +} \ No newline at end of file diff --git a/history/countries/SHI - Shire.txt b/history/countries/SHI - Shire.txt index fd038c294..d38e43e1e 100644 --- a/history/countries/SHI - Shire.txt +++ b/history/countries/SHI - Shire.txt @@ -29,6 +29,11 @@ recruit_character = FS_bombur recruit_character = FS_boromir recruit_character = FS_faramir recruit_character = FS_haldir +recruit_character = FS_lethsael +recruit_character = FS_tarborn +recruit_character = FS_rumil +recruit_character = FS_orophin + # Starting tech @@ -62,4 +67,4 @@ set_popularities = { belligerent = 8 revolutionary = 0 unaligned = 68 -} +} \ No newline at end of file diff --git a/history/countries/SPI - Spiders.txt b/history/countries/SPI - Spiders.txt index 1460a9b63..c398b1da9 100644 --- a/history/countries/SPI - Spiders.txt +++ b/history/countries/SPI - Spiders.txt @@ -17,3 +17,7 @@ set_popularities = { revolutionary = 5 unaligned = 35 } + +set_technology = { + spider_infantry = 1 +} \ No newline at end of file diff --git a/history/countries/UMB - Umbar.txt b/history/countries/UMB - Umbar.txt index b8956fd96..aa8c8712e 100644 --- a/history/countries/UMB - Umbar.txt +++ b/history/countries/UMB - Umbar.txt @@ -1,7 +1,5 @@ capital = 108 -oob = "UMB_1936" - recruit_character = UMB_hamrol recruit_character = UMB_khakrood recruit_character = UMB_tiqqood @@ -10,11 +8,6 @@ recruit_character = UMB_khukra set_research_slots = 2 - -add_ideas = { -} - - set_politics = { ruling_party = unaligned last_election = "1936.1.1" diff --git a/history/countries/VAL - Anduin.txt b/history/countries/VAL - Anduin.txt index 5fedc4bcd..5bc91b898 100644 --- a/history/countries/VAL - Anduin.txt +++ b/history/countries/VAL - Anduin.txt @@ -37,4 +37,4 @@ set_popularities = { belligerent = 0 revolutionary = 0 unaligned = 100 -} +} \ No newline at end of file diff --git a/history/general/lotr_elves_generic_advisors.txt b/history/general/lotr_elves_generic_advisors.txt index 1551b4f21..c7e16db3f 100644 --- a/history/general/lotr_elves_generic_advisors.txt +++ b/history/general/lotr_elves_generic_advisors.txt @@ -5,6 +5,7 @@ every_possible_country = { limit = { is_elves_init = yes + NOT = { tag = LTH } } if = { @@ -105,6 +106,7 @@ every_possible_country = { limit = { is_elves_init = yes has_dlc = "La Resistance" + NOT = { tag = LTH } } if = { @@ -298,6 +300,7 @@ every_possible_country = { limit = { is_elves_init = yes NOT = { has_dlc = "La Resistance" } + NOT = { tag = LTH } } if = { @@ -398,6 +401,7 @@ every_possible_country = { every_possible_country = { limit = { is_elves_init = yes + NOT = { tag = LTH } } if = { limit = { @@ -527,6 +531,7 @@ every_possible_country = { every_possible_country = { limit = { is_elves_init = yes + NOT = { tag = LTH } } if = { limit = { @@ -803,6 +808,7 @@ every_possible_country = { every_possible_country = { limit = { is_elves_init = yes + NOT = { tag = LTH } } if = { limit = { @@ -890,6 +896,7 @@ every_possible_country = { every_possible_country = { limit = { is_elves_init = yes + NOT = { tag = LTH } } if = { limit = { @@ -1020,6 +1027,7 @@ every_possible_country = { every_possible_country = { limit = { is_elves_init = yes + NOT = { tag = LTH } } if = { limit = { @@ -1084,6 +1092,7 @@ every_possible_country = { every_possible_country = { limit = { is_elves_init = yes + NOT = { tag = LTH } } if = { limit = { @@ -1150,6 +1159,7 @@ every_possible_country = { every_possible_country = { limit = { is_elves_init = yes + NOT = { tag = LTH } } if = { limit = { diff --git a/history/general/lotr_elves_generic_advisors_LTH.txt b/history/general/lotr_elves_generic_advisors_LTH.txt new file mode 100644 index 000000000..a9dbce097 --- /dev/null +++ b/history/general/lotr_elves_generic_advisors_LTH.txt @@ -0,0 +1,1360 @@ +# NOTE: ARE YOU LOOKING FOR ADVISORS THAT GIVE RESEARCH BUFFS (research_council) OR LAWS? READ THE DOCS IN common/idea_tags/00_idea.txt TO KNOW WHERE TO LOOK! + +# LOTHLORIEN HAS THE INFLUENCE MECHANIC, THUS NEEDS A SEPARATE FILE FOR ADVISORS + +# ELVES: SPYMASTER +LTH = { + if = { + limit = { has_dlc = "La Resistance" } + + generate_character = { + token_base = generic_LTH_hearts_and_minds_occupier + advisor = { + slot = spymaster + cost = 150 + traits = { hearts_and_minds_occupier halfelves_intermediate } + on_add = { + hidden_effect = { + remove_trait = { slot = spymaster trait = halfelves_intermediate } + add_trait = { slot = spymaster trait = halfelves_intermediate_hired } + } + } + on_remove = { + hidden_effect = { + remove_trait = { slot = spymaster trait = halfelves_intermediate_hired } + add_trait = { slot = spymaster trait = halfelves_intermediate } + } + } + available = { + has_intelligence_agency = yes + } + } + portraits = { + army = { small = GFX_idea_portrait_elves_generic_36 } + } + } + + generate_character = { + token_base = generic_LTH_networking_genius + gender = female + advisor = { + slot = spymaster + cost = 150 + traits = { networking_genius nandor_minor } + on_add = { + hidden_effect = { + remove_trait = { slot = spymaster trait = nandor_minor } + add_trait = { slot = spymaster trait = nandor_minor_hired } + } + } + on_remove = { + hidden_effect = { + remove_trait = { slot = spymaster trait = nandor_minor_hired } + add_trait = { slot = spymaster trait = nandor_minor } + } + } + available = { + has_intelligence_agency = yes + } + } + portraits = { + army = { small = GFX_idea_portrait_elves_generic_6 } + } + } + + generate_character = { + token_base = generic_LTH_daredevil + advisor = { + slot = spymaster + cost = 150 + traits = { daredevil noldor_minor } + on_add = { + hidden_effect = { + remove_trait = { slot = spymaster trait = noldor_minor } + add_trait = { slot = spymaster trait = noldor_minor_hired } + } + } + on_remove = { + hidden_effect = { + remove_trait = { slot = spymaster trait = noldor_minor_hired } + add_trait = { slot = spymaster trait = noldor_minor } + } + } + available = { + has_intelligence_agency = yes + } + } + portraits = { + army = { small = GFX_idea_portrait_elves_generic_34 } + } + } + + generate_character = { + token_base = generic_LTH_sly_schemer + advisor = { + slot = spymaster + cost = 150 + traits = { sly_schemer nandor_intermediate } + on_add = { + hidden_effect = { + remove_trait = { slot = spymaster trait = nandor_intermediate } + add_trait = { slot = spymaster trait = nandor_intermediate_hired } + } + } + on_remove = { + hidden_effect = { + remove_trait = { slot = spymaster trait = nandor_intermediate_hired } + add_trait = { slot = spymaster trait = nandor_intermediate } + } + } + available = { + has_intelligence_agency = yes + } + } + portraits = { + army = { small = GFX_idea_portrait_elves_generic_19 } + } + } + + generate_character = { + token_base = generic_LTH_strict_supervisor + gender = female + advisor = { + slot = spymaster + cost = 150 + traits = { strict_supervisor sindar_minor } + on_add = { + hidden_effect = { + remove_trait = { slot = spymaster trait = sindar_minor } + add_trait = { slot = spymaster trait = sindar_minor_hired } + } + } + on_remove = { + hidden_effect = { + remove_trait = { slot = spymaster trait = sindar_minor_hired } + add_trait = { slot = spymaster trait = sindar_minor } + } + } + available = { + has_intelligence_agency = yes + } + } + portraits = { + army = { small = GFX_idea_portrait_elves_generic_26 } + } + } + + generate_character = { + token_base = generic_LTH_bribe_dispenser + advisor = { + slot = spymaster + cost = 150 + traits = { bribe_dispenser nandor_minor } + on_add = { + hidden_effect = { + remove_trait = { slot = spymaster trait = nandor_minor } + add_trait = { slot = spymaster trait = nandor_minor_hired } + } + } + on_remove = { + hidden_effect = { + remove_trait = { slot = spymaster trait = nandor_minor_hired } + add_trait = { slot = spymaster trait = nandor_minor } + } + } + available = { + has_intelligence_agency = yes + } + } + portraits = { + army = { small = GFX_idea_portrait_elves_generic_2 } + } + } + } +} + +# ELVES: SPYMASTER (NO DLC) +LTH = { + if = { + limit = { NOT = { has_dlc = "La Resistance" } } + + generate_character = { + token_base = generic_LTH_hearts_and_minds_occupier_nolar + advisor = { + slot = spymaster + cost = 150 + traits = { hearts_and_minds_occupier_nolar halfelves_intermediate } + on_add = { + hidden_effect = { + remove_trait = { slot = spymaster trait = halfelves_intermediate } + add_trait = { slot = spymaster trait = halfelves_intermediate_hired } + } + } + on_remove = { + hidden_effect = { + remove_trait = { slot = spymaster trait = halfelves_intermediate_hired } + add_trait = { slot = spymaster trait = halfelves_intermediate } + } + } + } + portraits = { + army = { small = GFX_idea_portrait_elves_generic_36 } + } + } + + generate_character = { + token_base = generic_LTH_networking_genius_nolar + gender = female + advisor = { + slot = spymaster + cost = 150 + traits = { networking_genius_nolar nandor_minor } + on_add = { + hidden_effect = { + remove_trait = { slot = spymaster trait = nandor_minor } + add_trait = { slot = spymaster trait = nandor_minor_hired } + } + } + on_remove = { + hidden_effect = { + remove_trait = { slot = spymaster trait = nandor_minor_hired } + add_trait = { slot = spymaster trait = nandor_minor } + } + } + } + portraits = { + army = { small = GFX_idea_portrait_elves_generic_6 } + } + } + + generate_character = { + token_base = generic_LTH_daredevil_nolar + advisor = { + slot = spymaster + cost = 150 + traits = { daredevil_nolar noldor_minor } + on_add = { + hidden_effect = { + remove_trait = { slot = spymaster trait = noldor_minor } + add_trait = { slot = spymaster trait = noldor_minor_hired } + } + } + on_remove = { + hidden_effect = { + remove_trait = { slot = spymaster trait = noldor_minor_hired } + add_trait = { slot = spymaster trait = noldor_minor } + } + } + } + portraits = { + army = { small = GFX_idea_portrait_elves_generic_34 } + } + } + + generate_character = { + token_base = generic_LTH_strict_supervisor_nolar + gender = female + advisor = { + slot = spymaster + cost = 150 + traits = { strict_supervisor_nolar sindar_minor } + on_add = { + hidden_effect = { + remove_trait = { slot = spymaster trait = sindar_minor } + add_trait = { slot = spymaster trait = sindar_minor_hired } + } + } + on_remove = { + hidden_effect = { + remove_trait = { slot = spymaster trait = sindar_minor_hired } + add_trait = { slot = spymaster trait = sindar_minor } + } + } + } + portraits = { + army = { small = GFX_idea_portrait_elves_generic_26 } + } + } + + generate_character = { + token_base = generic_LTH_bribe_dispenser_nolar + advisor = { + slot = spymaster + cost = 150 + traits = { bribe_dispenser_nolar nandor_minor } + on_add = { + hidden_effect = { + remove_trait = { slot = spymaster trait = nandor_minor } + add_trait = { slot = spymaster trait = nandor_minor_hired } + } + } + on_remove = { + hidden_effect = { + remove_trait = { slot = spymaster trait = nandor_minor_hired } + add_trait = { slot = spymaster trait = nandor_minor } + } + } + } + portraits = { + army = { small = GFX_idea_portrait_elves_generic_2 } + } + } + } +} + +# ELVES: TREASURER +LTH = { + + generate_character = { + token_base = generic_LTH_longterm_planner + gender = female + advisor = { + slot = treasurer + cost = 150 + traits = { longterm_planner nandor_intermediate } + on_add = { + hidden_effect = { + remove_trait = { slot = treasurer trait = nandor_intermediate } + add_trait = { slot = treasurer trait = nandor_intermediate_hired } + } + } + on_remove = { + hidden_effect = { + remove_trait = { slot = treasurer trait = nandor_intermediate_hired } + add_trait = { slot = treasurer trait = nandor_intermediate } + } + } + available = { + always = yes + } + } + portraits = { + army = { small = GFX_idea_portrait_elves_generic_31 } + } + } + generate_character = { + token_base = generic_LTH_serial_indeptor + advisor = { + slot = treasurer + cost = 150 + traits = { serial_indeptor sindar_minor } + on_add = { + hidden_effect = { + remove_trait = { slot = treasurer trait = sindar_minor } + add_trait = { slot = treasurer trait = sindar_minor_hired } + } + } + on_remove = { + hidden_effect = { + remove_trait = { slot = treasurer trait = sindar_minor_hired } + add_trait = { slot = treasurer trait = sindar_minor } + } + } + available = { + always = yes + } + } + portraits = { + army = { small = GFX_idea_portrait_elves_generic_24 } + } + } + generate_character = { + token_base = generic_LTH_level_headed_financier + advisor = { + slot = treasurer + cost = 150 + traits = { level_headed_financier nandor_minor } + on_add = { + hidden_effect = { + remove_trait = { slot = treasurer trait = nandor_minor } + add_trait = { slot = treasurer trait = nandor_minor_hired } + } + } + on_remove = { + hidden_effect = { + remove_trait = { slot = treasurer trait = nandor_minor_hired } + add_trait = { slot = treasurer trait = nandor_minor } + } + } + available = { + always = yes + } + } + portraits = { + army = { small = GFX_idea_portrait_elves_generic_35 } + } + } + generate_character = { + token_base = generic_LTH_backalley_dealer + advisor = { + slot = treasurer + cost = 150 + traits = { backalley_dealer halfelves_intermediate } + on_add = { + hidden_effect = { + remove_trait = { slot = treasurer trait = halfelves_intermediate } + add_trait = { slot = treasurer trait = halfelves_intermediate_hired } + } + } + on_remove = { + hidden_effect = { + remove_trait = { slot = treasurer trait = halfelves_intermediate_hired } + add_trait = { slot = treasurer trait = halfelves_intermediate } + } + } + available = { + always = yes + } + } + portraits = { + army = { small = GFX_idea_portrait_elves_generic_8 } + } + } +} + +# ELVES: POLITICAL GENERIC +LTH = { + + generate_character = { + token_base = generic_LTH_inspiring_artist + advisor = { + slot = political_advisor + cost = 150 + traits = { inspiring_artist nandor_intermediate } + on_add = { + hidden_effect = { + remove_trait = { slot = political_advisor trait = nandor_intermediate } + add_trait = { slot = political_advisor trait = nandor_intermediate_hired } + } + } + on_remove = { + hidden_effect = { + remove_trait = { slot = political_advisor trait = nandor_intermediate_hired } + add_trait = { slot = political_advisor trait = nandor_intermediate } + } + } + available = { + always = yes + } + } + portraits = { + army = { small = GFX_idea_portrait_elves_generic_37 } + } + } + generate_character = { + token_base = generic_LTH_food_hoarder + advisor = { + slot = political_advisor + cost = 150 + traits = { food_hoarder sindar_minor } + on_add = { + hidden_effect = { + remove_trait = { slot = political_advisor trait = sindar_minor } + add_trait = { slot = political_advisor trait = sindar_minor_hired } + } + } + on_remove = { + hidden_effect = { + remove_trait = { slot = political_advisor trait = sindar_minor_hired } + add_trait = { slot = political_advisor trait = sindar_minor } + } + } + available = { + always = yes + } + } + portraits = { + army = { small = GFX_idea_portrait_elves_generic_28 } + } + } + generate_character = { + token_base = generic_LTH_aristocratic_landowner + advisor = { + slot = political_advisor + cost = 150 + traits = { aristocratic_landowner noldor_intermediate } + on_add = { + hidden_effect = { + remove_trait = { slot = political_advisor trait = noldor_intermediate } + add_trait = { slot = political_advisor trait = noldor_intermediate_hired } + } + } + on_remove = { + hidden_effect = { + remove_trait = { slot = political_advisor trait = noldor_intermediate_hired } + add_trait = { slot = political_advisor trait = noldor_intermediate } + } + } + available = { + always = yes + } + } + portraits = { + army = { small = GFX_idea_portrait_elves_generic_9 } + } + } + generate_character = { + token_base = generic_LTH_stubborn_struggler + gender = female + advisor = { + slot = political_advisor + cost = 150 + traits = { stubborn_struggler nandor_minor } + on_add = { + hidden_effect = { + remove_trait = { slot = political_advisor trait = nandor_minor } + add_trait = { slot = political_advisor trait = nandor_minor_hired } + } + } + on_remove = { + hidden_effect = { + remove_trait = { slot = political_advisor trait = nandor_minor_hired } + add_trait = { slot = political_advisor trait = nandor_minor } + } + } + available = { + always = yes + } + } + portraits = { + army = { small = GFX_idea_portrait_elves_generic_15 } + } + } + generate_character = { + token_base = generic_LTH_trade_enthusiast + advisor = { + slot = political_advisor + cost = 150 + traits = { trade_enthusiast nandor_minor } + on_add = { + hidden_effect = { + remove_trait = { slot = political_advisor trait = nandor_minor } + add_trait = { slot = political_advisor trait = nandor_minor_hired } + } + } + on_remove = { + hidden_effect = { + remove_trait = { slot = political_advisor trait = nandor_minor_hired } + add_trait = { slot = political_advisor trait = nandor_minor } + } + } + available = { + always = yes + } + } + portraits = { + army = { small = GFX_idea_portrait_elves_generic_14 } + } + } + generate_character = { + token_base = generic_LTH_military_lobbyist + advisor = { + slot = political_advisor + cost = 150 + traits = { military_lobbyist sindar_intermediate } + on_add = { + hidden_effect = { + remove_trait = { slot = political_advisor trait = sindar_intermediate } + add_trait = { slot = political_advisor trait = sindar_intermediate_hired } + } + } + on_remove = { + hidden_effect = { + remove_trait = { slot = political_advisor trait = sindar_intermediate_hired } + add_trait = { slot = political_advisor trait = sindar_intermediate } + } + } + available = { + always = yes + } + } + portraits = { + army = { small = GFX_idea_portrait_elves_generic_17 } + } + } + generate_character = { + token_base = generic_LTH_silent_workhorse + advisor = { + slot = political_advisor + cost = 150 + traits = { silent_workhorse sindar_minor } + on_add = { + hidden_effect = { + remove_trait = { slot = political_advisor trait = sindar_minor } + add_trait = { slot = political_advisor trait = sindar_minor_hired } + } + } + on_remove = { + hidden_effect = { + remove_trait = { slot = political_advisor trait = sindar_minor_hired } + add_trait = { slot = political_advisor trait = sindar_minor } + } + } + available = { + always = yes + } + } + portraits = { + army = { small = GFX_idea_portrait_elves_generic_73 } + } + } + generate_character = { + token_base = generic_LTH_reluctant_interventionist + advisor = { + slot = political_advisor + cost = 150 + traits = { reluctant_interventionist halfelves_intermediate } + on_add = { + hidden_effect = { + remove_trait = { slot = political_advisor trait = halfelves_intermediate } + add_trait = { slot = political_advisor trait = halfelves_intermediate_hired } + } + } + on_remove = { + hidden_effect = { + remove_trait = { slot = political_advisor trait = halfelves_intermediate_hired } + add_trait = { slot = political_advisor trait = halfelves_intermediate } + } + } + available = { + always = yes + } + } + portraits = { + army = { small = GFX_idea_portrait_elves_generic_71 } + } + } + generate_character = { + token_base = generic_LTH_xenophobic_isolationist + advisor = { + slot = political_advisor + cost = 150 + traits = { xenophobic_isolationist nandor_intermediate } + on_add = { + hidden_effect = { + remove_trait = { slot = political_advisor trait = nandor_intermediate } + add_trait = { slot = political_advisor trait = nandor_intermediate_hired } + } + } + on_remove = { + hidden_effect = { + remove_trait = { slot = political_advisor trait = nandor_intermediate_hired } + add_trait = { slot = political_advisor trait = nandor_intermediate } + } + } + available = { + always = yes + } + } + portraits = { + army = { small = GFX_idea_portrait_elves_generic_81 } + } + } + generate_character = { + token_base = generic_LTH_militant_bully + gender = female + advisor = { + slot = political_advisor + cost = 150 + traits = { militant_bully noldor_minor } + on_add = { + hidden_effect = { + remove_trait = { slot = political_advisor trait = noldor_minor } + add_trait = { slot = political_advisor trait = noldor_minor_hired } + } + } + on_remove = { + hidden_effect = { + remove_trait = { slot = political_advisor trait = noldor_minor_hired } + add_trait = { slot = political_advisor trait = noldor_minor } + } + } + available = { + always = yes + } + } + portraits = { + army = { small = GFX_idea_portrait_elves_generic_25 } + } + } + generate_character = { + token_base = generic_LTH_propaganda_expert + advisor = { + slot = political_advisor + cost = 150 + traits = { propaganda_expert sindar_minor } + on_add = { + hidden_effect = { + remove_trait = { slot = political_advisor trait = sindar_minor } + add_trait = { slot = political_advisor trait = sindar_minor_hired } + } + } + on_remove = { + hidden_effect = { + remove_trait = { slot = political_advisor trait = sindar_minor_hired } + add_trait = { slot = political_advisor trait = sindar_minor } + } + } + available = { + always = yes + } + } + portraits = { + army = { small = GFX_idea_portrait_elves_generic_70 } + } + } + generate_character = { + token_base = generic_LTH_sower_of_distrust + advisor = { + slot = political_advisor + cost = 150 + traits = { sower_of_distrust noldor_intermediate } + on_add = { + hidden_effect = { + remove_trait = { slot = political_advisor trait = noldor_intermediate } + add_trait = { slot = political_advisor trait = noldor_intermediate_hired } + } + } + on_remove = { + hidden_effect = { + remove_trait = { slot = political_advisor trait = noldor_intermediate_hired } + add_trait = { slot = political_advisor trait = noldor_intermediate } + } + } + available = { + always = yes + } + } + portraits = { + army = { small = GFX_idea_portrait_elves_generic_47 } + } + } + generate_character = { + token_base = generic_LTH_provincial_councilor + advisor = { + slot = political_advisor + cost = 150 + traits = { provincial_councilor nandor_intermediate } + on_add = { + hidden_effect = { + remove_trait = { slot = political_advisor trait = nandor_intermediate } + add_trait = { slot = political_advisor trait = nandor_intermediate_hired } + } + } + on_remove = { + hidden_effect = { + remove_trait = { slot = political_advisor trait = nandor_intermediate_hired } + add_trait = { slot = political_advisor trait = nandor_intermediate } + } + } + visible = { + has_completed_focus = lth_provincialcouncils + } + } + portraits = { + army = { small = GFX_idea_portrait_elves_generic_98 } + } + } +} + +# ELVES: THEORIST +LTH = { + + generate_character = { + token_base = generic_LTH_military_theorist + advisor = { + slot = theorist + cost = 150 + traits = { military_theorist nandor_minor } + on_add = { + hidden_effect = { + remove_trait = { slot = theorist trait = nandor_minor } + add_trait = { slot = theorist trait = nandor_minor_hired } + } + } + on_remove = { + hidden_effect = { + remove_trait = { slot = theorist trait = nandor_minor_hired } + add_trait = { slot = theorist trait = nandor_minor } + } + } + available = { + always = yes + } + } + portraits = { + army = { small = GFX_idea_portrait_elves_generic_51 } + } + } + generate_character = { + token_base = generic_LTH_naval_theorist + advisor = { + slot = theorist + cost = 150 + traits = { naval_theorist noldor_minor } + on_add = { + hidden_effect = { + remove_trait = { slot = theorist trait = noldor_minor } + add_trait = { slot = theorist trait = noldor_minor_hired } + } + } + on_remove = { + hidden_effect = { + remove_trait = { slot = theorist trait = noldor_minor_hired } + add_trait = { slot = theorist trait = noldor_minor } + } + } + available = { + always = yes + } + } + portraits = { + army = { small = GFX_idea_portrait_elves_generic_46 } + } + } + generate_character = { + token_base = generic_LTH_air_warfare_theorist + advisor = { + slot = theorist + cost = 150 + traits = { air_warfare_theorist halfelves_minor } + on_add = { + hidden_effect = { + remove_trait = { slot = theorist trait = halfelves_minor } + add_trait = { slot = theorist trait = halfelves_minor_hired } + } + } + on_remove = { + hidden_effect = { + remove_trait = { slot = theorist trait = halfelves_minor_hired } + add_trait = { slot = theorist trait = halfelves_minor } + } + } + available = { + always = yes + } + } + portraits = { + army = { small = GFX_idea_portrait_elves_generic_21 } + } + } + generate_character = { + token_base = generic_LTH_superior_firepower_expert + advisor = { + slot = theorist + cost = 150 + traits = { superior_firepower_expert sindar_minor } + on_add = { + hidden_effect = { + remove_trait = { slot = theorist trait = sindar_minor } + add_trait = { slot = theorist trait = sindar_minor_hired } + } + } + on_remove = { + hidden_effect = { + remove_trait = { slot = theorist trait = sindar_minor_hired } + add_trait = { slot = theorist trait = sindar_minor } + } + } + available = { + always = yes + } + } + portraits = { + army = { small = GFX_idea_portrait_elves_generic_57 } + } + } +} + +# ELVES: CHIEF OF ARMY / MASTER OF WAR +LTH = { + + generate_character = { + token_base = generic_LTH_army_defense + advisor = { + slot = army_chief + cost = 150 + traits = { army_chief_defensive_2 nandor_minor } + on_add = { + hidden_effect = { + remove_trait = { slot = army_chief trait = nandor_minor } + add_trait = { slot = army_chief trait = nandor_minor_hired } + } + } + on_remove = { + hidden_effect = { + remove_trait = { slot = army_chief trait = nandor_minor_hired } + add_trait = { slot = army_chief trait = nandor_minor } + } + } + available = { + always = yes + } + } + portraits = { + army = { small = GFX_idea_portrait_elves_generic_59 } + } + } + generate_character = { + token_base = generic_LTH_army_offense + gender = female + advisor = { + slot = army_chief + cost = 150 + traits = { army_chief_offensive_2 noldor_minor } + on_add = { + hidden_effect = { + remove_trait = { slot = army_chief trait = noldor_minor } + add_trait = { slot = army_chief trait = noldor_minor_hired } + } + } + on_remove = { + hidden_effect = { + remove_trait = { slot = army_chief trait = noldor_minor_hired } + add_trait = { slot = army_chief trait = noldor_minor } + } + } + available = { + always = yes + } + } + portraits = { + army = { small = GFX_idea_portrait_elves_generic_50 } + } + } + generate_character = { + token_base = generic_LTH_army_drill + advisor = { + slot = army_chief + cost = 150 + traits = { army_chief_drill_2 sindar_minor } + on_add = { + hidden_effect = { + remove_trait = { slot = army_chief trait = sindar_minor } + add_trait = { slot = army_chief trait = sindar_minor_hired } + } + } + on_remove = { + hidden_effect = { + remove_trait = { slot = army_chief trait = sindar_minor_hired } + add_trait = { slot = army_chief trait = sindar_minor } + } + } + available = { + always = yes + } + } + portraits = { + army = { small = GFX_idea_portrait_elves_generic_54 } + } + } + generate_character = { + token_base = generic_LTH_army_morale + advisor = { + slot = army_chief + cost = 150 + traits = { army_chief_morale_2 nandor_major } + on_add = { + hidden_effect = { + remove_trait = { slot = army_chief trait = nandor_major } + add_trait = { slot = army_chief trait = nandor_major_hired } + } + } + on_remove = { + hidden_effect = { + remove_trait = { slot = army_chief trait = nandor_major_hired } + add_trait = { slot = army_chief trait = nandor_major } + } + } + available = { + always = yes + } + } + portraits = { + army = { small = GFX_idea_portrait_elves_generic_61 } + } + } + generate_character = { + token_base = generic_LTH_master_of_surprise + advisor = { + slot = army_chief + cost = 150 + traits = { master_of_surprise nandor_minor } + on_add = { + hidden_effect = { + remove_trait = { slot = army_chief trait = nandor_minor } + add_trait = { slot = army_chief trait = nandor_minor_hired } + } + } + on_remove = { + hidden_effect = { + remove_trait = { slot = army_chief trait = nandor_minor_hired } + add_trait = { slot = army_chief trait = nandor_minor } + } + } + available = { + always = yes + } + } + portraits = { + army = { small = GFX_idea_portrait_elves_generic_20 } + } + } + generate_character = { + token_base = generic_LTH_division_reformer + advisor = { + slot = army_chief + cost = 150 + traits = { division_reformer halfelves_minor } + on_add = { + hidden_effect = { + remove_trait = { slot = army_chief trait = halfelves_minor } + add_trait = { slot = army_chief trait = halfelves_minor_hired } + } + } + on_remove = { + hidden_effect = { + remove_trait = { slot = army_chief trait = halfelves_minor_hired } + add_trait = { slot = army_chief trait = halfelves_minor } + } + } + available = { + always = yes + } + } + portraits = { + army = { small = GFX_idea_portrait_elves_generic_65 } + } + } +} + +# ELVES: CAVALRY CHIEF / MASTER OF HORSES +LTH = { + + generate_character = { + token_base = generic_LTH_cavalry_light + advisor = { + slot = cavalry_chief + cost = 150 + traits = { light_cavalry_expert noldor_minor } + on_add = { + hidden_effect = { + remove_trait = { slot = cavalry_chief trait = noldor_minor } + add_trait = { slot = cavalry_chief trait = noldor_minor_hired } + } + } + on_remove = { + hidden_effect = { + remove_trait = { slot = cavalry_chief trait = noldor_minor_hired } + add_trait = { slot = cavalry_chief trait = noldor_minor } + } + } + available = { + always = yes + } + } + portraits = { + army = { small = GFX_idea_portrait_elves_generic_62 } + } + } + generate_character = { + token_base = generic_LTH_cavalry_heavy + advisor = { + slot = cavalry_chief + cost = 150 + traits = { heavy_cavalry_expert nandor_minor } + on_add = { + hidden_effect = { + remove_trait = { slot = cavalry_chief trait = nandor_minor } + add_trait = { slot = cavalry_chief trait = nandor_minor_hired } + } + } + on_remove = { + hidden_effect = { + remove_trait = { slot = cavalry_chief trait = nandor_minor_hired } + add_trait = { slot = cavalry_chief trait = nandor_minor } + } + } + available = { + always = yes + } + } + portraits = { + army = { small = GFX_idea_portrait_elves_generic_63 } + } + } + generate_character = { + token_base = generic_LTH_cavalry_chariot + advisor = { + slot = cavalry_chief + cost = 150 + traits = { chariot_cavalry_expert sindar_minor } + on_add = { + hidden_effect = { + remove_trait = { slot = cavalry_chief trait = sindar_minor } + add_trait = { slot = cavalry_chief trait = sindar_minor_hired } + } + } + on_remove = { + hidden_effect = { + remove_trait = { slot = cavalry_chief trait = sindar_minor_hired } + add_trait = { slot = cavalry_chief trait = sindar_minor } + } + } + available = { + always = yes + } + } + portraits = { + army = { small = GFX_idea_portrait_elves_generic_27 } + } + } +} + +# ELVES: NAVY CHIEF / MASTER OF SHIPS +LTH = { + + generate_character = { + token_base = generic_LTH_commerce_raiding + gender = female + advisor = { + slot = navy_chief + cost = 150 + traits = { commerce_raiding_expert nandor_minor } + on_add = { + hidden_effect = { + remove_trait = { slot = navy_chief trait = nandor_minor } + add_trait = { slot = navy_chief trait = nandor_minor_hired } + } + } + on_remove = { + hidden_effect = { + remove_trait = { slot = navy_chief trait = nandor_minor_hired } + add_trait = { slot = navy_chief trait = nandor_minor } + } + } + available = { + always = yes + } + } + portraits = { + army = { small = GFX_idea_portrait_elves_generic_58 } + } + } + generate_character = { + token_base = generic_LTH_naval_battle + advisor = { + slot = navy_chief + cost = 150 + traits = { naval_battle_expert sindar_minor } + on_add = { + hidden_effect = { + remove_trait = { slot = navy_chief trait = sindar_minor } + add_trait = { slot = navy_chief trait = sindar_minor_hired } + } + } + on_remove = { + hidden_effect = { + remove_trait = { slot = navy_chief trait = sindar_minor_hired } + add_trait = { slot = navy_chief trait = sindar_minor } + } + } + available = { + always = yes + } + } + portraits = { + army = { small = GFX_idea_portrait_elves_generic_52 } + } + } + generate_character = { + token_base = generic_LTH_sailing_ships + gender = female + advisor = { + slot = navy_chief + cost = 150 + traits = { sailing_ships_expert noldor_minor } + on_add = { + hidden_effect = { + remove_trait = { slot = navy_chief trait = noldor_minor } + add_trait = { slot = navy_chief trait = noldor_minor_hired } + } + } + on_remove = { + hidden_effect = { + remove_trait = { slot = navy_chief trait = noldor_minor_hired } + add_trait = { slot = navy_chief trait = noldor_minor } + } + } + available = { + always = yes + } + } + portraits = { + army = { small = GFX_idea_portrait_elves_generic_84 } + } + } +} + +# ELVES: HIGH COMMAND +LTH = { + + generate_character = { + token_base = generic_LTH_siege_expert + advisor = { + slot = high_command + cost = 150 + traits = { siege_expert nandor_minor } + on_add = { + hidden_effect = { + remove_trait = { slot = high_command trait = nandor_minor } + add_trait = { slot = high_command trait = nandor_minor_hired } + } + } + on_remove = { + hidden_effect = { + remove_trait = { slot = high_command trait = nandor_minor_hired } + add_trait = { slot = high_command trait = nandor_minor } + } + } + available = { + always = yes + } + } + portraits = { + army = { small = GFX_idea_portrait_elves_generic_56 } + } + } + generate_character = { + token_base = generic_LTH_archery + gender = female + advisor = { + slot = high_command + cost = 150 + traits = { archery_expert sindar_minor } + on_add = { + hidden_effect = { + remove_trait = { slot = high_command trait = sindar_minor } + add_trait = { slot = high_command trait = sindar_minor_hired } + } + } + on_remove = { + hidden_effect = { + remove_trait = { slot = high_command trait = sindar_minor_hired } + add_trait = { slot = high_command trait = sindar_minor } + } + } + available = { + always = yes + } + } + portraits = { + army = { small = GFX_idea_portrait_elves_generic_49 } + } + } + generate_character = { + token_base = generic_LTH_commando + advisor = { + slot = high_command + cost = 150 + traits = { commando_expert noldor_minor } + on_add = { + hidden_effect = { + remove_trait = { slot = high_command trait = noldor_minor } + add_trait = { slot = high_command trait = noldor_minor_hired } + } + } + on_remove = { + hidden_effect = { + remove_trait = { slot = high_command trait = noldor_minor_hired } + add_trait = { slot = high_command trait = noldor_minor } + } + } + available = { + always = yes + } + } + portraits = { + army = { small = GFX_idea_portrait_elves_generic_68 } + } + } + generate_character = { + token_base = generic_LTH_logistics + advisor = { + slot = high_command + cost = 150 + traits = { logistics_expert nandor_minor } + on_add = { + hidden_effect = { + remove_trait = { slot = high_command trait = nandor_minor } + add_trait = { slot = high_command trait = nandor_minor_hired } + } + } + on_remove = { + hidden_effect = { + remove_trait = { slot = high_command trait = nandor_minor_hired } + add_trait = { slot = high_command trait = nandor_minor } + } + } + available = { + always = yes + } + } + portraits = { + army = { small = GFX_idea_portrait_elves_generic_66 } + } + } + generate_character = { + token_base = generic_LTH_regrouping + advisor = { + slot = high_command + cost = 150 + traits = { regrouping_expert halfelves_minor } + on_add = { + hidden_effect = { + remove_trait = { slot = high_command trait = halfelves_minor } + add_trait = { slot = high_command trait = halfelves_minor_hired } + } + } + on_remove = { + hidden_effect = { + remove_trait = { slot = high_command trait = halfelves_minor_hired } + add_trait = { slot = high_command trait = halfelves_minor } + } + } + available = { + always = yes + } + } + portraits = { + army = { small = GFX_idea_portrait_elves_generic_64 } + } + } + generate_character = { + token_base = generic_LTH_forest_scoundrel + gender = female + advisor = { + slot = high_command + cost = 150 + traits = { forest_scoundrel nandor_minor } + on_add = { + hidden_effect = { + remove_trait = { slot = high_command trait = nandor_minor } + add_trait = { slot = high_command trait = nandor_minor_hired } + } + } + on_remove = { + hidden_effect = { + remove_trait = { slot = high_command trait = nandor_minor_hired } + add_trait = { slot = high_command trait = nandor_minor } + } + } + available = { + always = yes + } + } + portraits = { + army = { small = GFX_idea_portrait_elves_generic_69 } + } + } +} diff --git a/history/general/lotr_men_generic_advisors.txt b/history/general/lotr_men_generic_advisors.txt index 501a56a7d..0ad75b0ac 100644 --- a/history/general/lotr_men_generic_advisors.txt +++ b/history/general/lotr_men_generic_advisors.txt @@ -1473,6 +1473,9 @@ every_possible_country = { available = { always = yes } + visible = { + NOT = { has_government = revolutionary } + } } portraits = { army = { small = GFX_idea_portrait_men_generic_48 } @@ -1493,6 +1496,9 @@ every_possible_country = { available = { always = yes } + visible = { + NOT = { has_government = revolutionary } + } } portraits = { army = { small = GFX_idea_portrait_men_eastern_generic_26 } @@ -1922,6 +1928,9 @@ every_possible_country = { available = { always = yes } + visible = { + NOT = { has_government = revolutionary } + } } portraits = { army = { small = GFX_idea_portrait_men_generic_142 } @@ -1976,6 +1985,9 @@ every_possible_country = { available = { always = yes } + visible = { + NOT = { has_government = revolutionary } + } } portraits = { army = { small = GFX_idea_portrait_men_generic_141 } @@ -2106,20 +2118,19 @@ every_possible_country = { if = { limit = { OR = { - original_tag = GON original_tag = ENE original_tag = CAR + original_tag = GON } } generate_character = { token_base = generic_men_disgruntled_peasant - gender = female advisor = { slot = political_advisor cost = 150 traits = { disgruntled_peasant } available = { - always = yes + has_government = revolutionary } } portraits = { @@ -2127,6 +2138,25 @@ every_possible_country = { } } } + else_if = { + limit = { + original_tag = GON + } + generate_character = { + token_base = generic_men_prince_of_terror + advisor = { + slot = political_advisor + cost = 150 + traits = { prince_of_terror } + available = { + has_completed_focus = GON_rally_the_people + } + } + portraits = { + army = { small = GFX_idea_portrait_men_generic_111 } + } + } + } } # MEN: THEORIST @@ -3182,17 +3212,17 @@ every_possible_country = { } generate_character = { token_base = generic_men_eastern_logistics - advisor = { - slot = high_command - cost = 150 - traits = { logistics_expert } - available = { - always = yes + advisor = { + slot = high_command + cost = 150 + traits = { logistics_expert } + available = { + always = yes + } + } + portraits = { + army = { small = GFX_idea_portrait_men_eastern_generic_46 } } - } - portraits = { - army = { small = GFX_idea_portrait_men_eastern_generic_46 } - } } } diff --git a/history/general/lotr_nonelves_generic_advisors_LTH.txt b/history/general/lotr_nonelves_generic_advisors_LTH.txt new file mode 100644 index 000000000..2493bb38e --- /dev/null +++ b/history/general/lotr_nonelves_generic_advisors_LTH.txt @@ -0,0 +1,423 @@ +# NOTE: ARE YOU LOOKING FOR ADVISORS THAT GIVE RESEARCH BUFFS (research_council) OR LAWS? READ THE DOCS IN common/idea_tags/00_idea.txt TO KNOW WHERE TO LOOK! + +# LOTHLORIEN HAS THE INFLUENCE MECHANIC, THUS NEEDS A SEPARATE FILE FOR ADVISORS + +# NONELVES: SPYMASTER +LTH = { + generate_character = { + token_base = generic_lth_nonelves_enthusiastic_torturer + name = "Mhalbam" + advisor = { + slot = spymaster + cost = 150 + traits = { enthusiastic_torturer nonelves_minor } + on_add = { + hidden_effect = { + remove_trait = { slot = spymaster trait = nonelves_minor } + add_trait = { slot = spymaster trait = nonelves_minor_hired } + } + } + on_remove = { + hidden_effect = { + remove_trait = { slot = spymaster trait = nonelves_minor_hired } + add_trait = { slot = spymaster trait = nonelves_minor } + } + } + available = { + has_intelligence_agency = yes + } + visible = { + has_country_flag = lth_nonelves_activated + } + } + portraits = { + army = { small = GFX_idea_portrait_dwarves_generic_31 } + } + } + + generate_character = { + token_base = generic_lth_nonelves_unassuming_thief + name = "Kristine" + gender = female + advisor = { + slot = spymaster + cost = 150 + traits = { unassuming_thief nonelves_minor } + on_add = { + hidden_effect = { + remove_trait = { slot = spymaster trait = nonelves_minor } + add_trait = { slot = spymaster trait = nonelves_minor_hired } + } + } + on_remove = { + hidden_effect = { + remove_trait = { slot = spymaster trait = nonelves_minor_hired } + add_trait = { slot = spymaster trait = nonelves_minor } + } + } + available = { + has_intelligence_agency = yes + } + visible = { + has_country_flag = lth_nonelves_activated + } + } + portraits = { + army = { small = GFX_idea_portrait_men_generic_150 } + } + } +} + +# NONELVES: TREASURER +LTH = { + generate_character = { + token_base = generic_lth_nonelves_investment_gambler + name = "Goig" + advisor = { + slot = treasurer + cost = 150 + traits = { investment_gambler nonelves_minor } + on_add = { + hidden_effect = { + remove_trait = { slot = treasurer trait = nonelves_minor } + add_trait = { slot = treasurer trait = nonelves_minor_hired } + } + } + on_remove = { + hidden_effect = { + remove_trait = { slot = treasurer trait = nonelves_minor_hired } + add_trait = { slot = treasurer trait = nonelves_minor } + } + } + available = { + always = yes + } + visible = { + NOT = { has_country_flag = investment_gambler_killed } + has_country_flag = lth_nonelves_activated + } + } + portraits = { + army = { small = GFX_idea_portrait_dwarves_generic_25 } + } + } + + generate_character = { + token_base = generic_lth_nonelves_military_industrialist + name = "Vermunds" + advisor = { + slot = treasurer + cost = 150 + traits = { military_industrialist nonelves_minor } + on_add = { + hidden_effect = { + remove_trait = { slot = treasurer trait = nonelves_minor } + add_trait = { slot = treasurer trait = nonelves_minor_hired } + } + } + on_remove = { + hidden_effect = { + remove_trait = { slot = treasurer trait = nonelves_minor_hired } + add_trait = { slot = treasurer trait = nonelves_minor } + } + } + available = { + always = yes + } + visible = { + has_country_flag = lth_nonelves_activated + } + } + portraits = { + army = { small = GFX_idea_portrait_men_generic_99 } + } + } +} + +# NONELVES: POLITICAL GENERIC +LTH = { + generate_character = { + token_base = generic_lth_nonelves_food_hoarder + name = "Naif" + advisor = { + slot = political_advisor + cost = 150 + traits = { food_hoarder nonelves_minor } + on_add = { + hidden_effect = { + remove_trait = { slot = political_advisor trait = nonelves_minor } + add_trait = { slot = political_advisor trait = nonelves_minor_hired } + } + } + on_remove = { + hidden_effect = { + remove_trait = { slot = political_advisor trait = nonelves_minor_hired } + add_trait = { slot = political_advisor trait = nonelves_minor } + } + } + available = { + always = yes + } + visible = { + has_country_flag = lth_nonelves_activated + } + } + portraits = { + army = { small = GFX_idea_portrait_dwarves_generic_38 } + } + } + + generate_character = { + token_base = generic_lth_nonelves_industry_adapter + name = "Otkar" + advisor = { + slot = political_advisor + cost = 150 + traits = { industry_adapter nonelves_minor } + on_add = { + hidden_effect = { + remove_trait = { slot = political_advisor trait = nonelves_minor } + add_trait = { slot = political_advisor trait = nonelves_minor_hired } + } + } + on_remove = { + hidden_effect = { + remove_trait = { slot = political_advisor trait = nonelves_minor_hired } + add_trait = { slot = political_advisor trait = nonelves_minor } + } + } + available = { + always = yes + } + visible = { + has_country_flag = lth_nonelves_activated + } + } + portraits = { + army = { small = GFX_idea_portrait_men_generic_89 } + } + } + + generate_character = { + token_base = generic_lth_nonelves_supply_line_organizer + name = "Delling" + advisor = { + slot = political_advisor + cost = 150 + traits = { supply_line_organizer nonelves_minor } + on_add = { + hidden_effect = { + remove_trait = { slot = political_advisor trait = nonelves_minor } + add_trait = { slot = political_advisor trait = nonelves_minor_hired } + } + } + on_remove = { + hidden_effect = { + remove_trait = { slot = political_advisor trait = nonelves_minor_hired } + add_trait = { slot = political_advisor trait = nonelves_minor } + } + } + available = { + always = yes + } + visible = { + has_country_flag = lth_nonelves_activated + } + } + portraits = { + army = { small = GFX_idea_portrait_men_generic_97 } + } + } + + generate_character = { + token_base = generic_lth_nonelves_bird_hunter + name = "Thraim" + advisor = { + slot = political_advisor + cost = 150 + traits = { bird_hunter nonelves_minor } + on_add = { + hidden_effect = { + remove_trait = { slot = political_advisor trait = nonelves_minor } + add_trait = { slot = political_advisor trait = nonelves_minor_hired } + } + } + on_remove = { + hidden_effect = { + remove_trait = { slot = political_advisor trait = nonelves_minor_hired } + add_trait = { slot = political_advisor trait = nonelves_minor } + } + } + available = { + always = yes + } + visible = { + has_country_flag = lth_nonelves_activated + } + } + portraits = { + army = { small = GFX_idea_portrait_dwarves_generic_22 } + } + } +} + +# NONELVES: THEORIST +LTH = { + generate_character = { + token_base = generic_lth_nonelves_military_multitalent + name = "Glunrun" + advisor = { + slot = theorist + cost = 150 + traits = { military_multitalent nonelves_minor } + on_add = { + hidden_effect = { + remove_trait = { slot = theorist trait = nonelves_minor } + add_trait = { slot = theorist trait = nonelves_minor_hired } + } + } + on_remove = { + hidden_effect = { + remove_trait = { slot = theorist trait = nonelves_minor_hired } + add_trait = { slot = theorist trait = nonelves_minor } + } + } + available = { + always = yes + } + visible = { + has_country_flag = lth_nonelves_activated + } + } + portraits = { + army = { small = GFX_idea_portrait_dwarves_generic_71 } + } + } +} + +# NONELVES: CHIEF OF ARMY / MASTER OF WAR +LTH = { + generate_character = { + token_base = generic_lth_nonelves_assertive_commander + name = "Geirolf" + advisor = { + slot = army_chief + cost = 150 + traits = { assertive_commander nonelves_minor } + on_add = { + hidden_effect = { + remove_trait = { slot = army_chief trait = nonelves_minor } + add_trait = { slot = army_chief trait = nonelves_minor_hired } + } + } + on_remove = { + hidden_effect = { + remove_trait = { slot = army_chief trait = nonelves_minor_hired } + add_trait = { slot = army_chief trait = nonelves_minor } + } + } + available = { + always = yes + } + visible = { + has_country_flag = lth_nonelves_activated + } + } + portraits = { + army = { small = GFX_idea_portrait_men_generic_112 } + } + } + + generate_character = { + token_base = generic_lth_nonelves_division_reformer + name = "Erland" + advisor = { + slot = army_chief + cost = 150 + traits = { division_reformer nonelves_minor } + on_add = { + hidden_effect = { + remove_trait = { slot = army_chief trait = nonelves_minor } + add_trait = { slot = army_chief trait = nonelves_minor_hired } + } + } + on_remove = { + hidden_effect = { + remove_trait = { slot = army_chief trait = nonelves_minor_hired } + add_trait = { slot = army_chief trait = nonelves_minor } + } + } + available = { + always = yes + } + visible = { + has_country_flag = lth_nonelves_activated + } + } + corps_commander={ + traits={ } + skill=1 + attack_skill=1 + defense_skill=1 + planning_skill=3 + logistics_skill=1 + visible = { + has_country_flag = lth_nonelves_activated + } + } + portraits = { + army = { + large = GFX_portrait_men_generic_134 + small = GFX_idea_portrait_men_generic_134 + } + } + } +} + +# NONELVES: HIGH COMMAND +LTH = { + generate_character = { + token_base = generic_lth_nonelves_dwarven_commando_leader + name = "Domlir" + advisor = { + slot = high_command + cost = 150 + traits = { dwarven_commando_leader nonelves_minor } + on_add = { + hidden_effect = { + remove_trait = { slot = high_command trait = nonelves_minor } + add_trait = { slot = high_command trait = nonelves_minor_hired } + } + } + on_remove = { + hidden_effect = { + remove_trait = { slot = high_command trait = nonelves_minor_hired } + add_trait = { slot = high_command trait = nonelves_minor } + } + } + available = { + always = yes + } + visible = { + has_country_flag = lth_nonelves_activated + } + } + corps_commander={ + traits={ } + skill=1 + attack_skill=1 + defense_skill=2 + planning_skill=1 + logistics_skill=1 + visible = { + has_country_flag = lth_nonelves_activated + } + } + portraits = { + army = { + large = GFX_portrait_dwarves_generic_68 + small = GFX_idea_portrait_dwarves_generic_68 + } + } + } +} \ No newline at end of file diff --git a/history/general/0_lotr_initialize_countries.txt b/history/general/zzz_lotr_initialize_countries.txt similarity index 100% rename from history/general/0_lotr_initialize_countries.txt rename to history/general/zzz_lotr_initialize_countries.txt diff --git a/history/states/13-Belfalas.txt b/history/states/13-Belfalas.txt index 57452e818..f256090cb 100644 --- a/history/states/13-Belfalas.txt +++ b/history/states/13-Belfalas.txt @@ -3,33 +3,31 @@ state={ id=13 name="STATE_13" resources={ - oil=4.000 + oil=9.000 rubber=6.000 } history={ owner = GON + add_core_of = GON buildings = { dockyard = 3 infrastructure = 3 - industrial_complex = 2 + industrial_complex = 1 + 7286 = { + naval_base = 1 - 7286 = { naval_base = 2 } - 7201 = { naval_base = 1 } - 7359 = { naval_base = 1 } - 4079 = { naval_base = 1 } + } + } + victory_points = { + 7286 3 } - add_core_of = GON - - - victory_points = { 7286 1 } - victory_points = { 7201 5 } } provinces={ - 162 888 908 1226 1460 1527 1782 1868 2935 3570 3888 4079 4712 4969 7201 7206 7226 7244 7249 7256 7266 7269 7286 7291 7298 7306 7320 7341 7359 7827 + 888 1361 1868 2730 3921 4559 5309 7184 7211 7232 7244 7256 7269 7286 } - manpower=2000000 + manpower=1000000 buildings_max_level_factor=1.000 state_category=large_town local_supplies=0.000 diff --git a/history/states/134-East Moria.txt b/history/states/134-East Moria.txt index 12821fef4..f46cc0204 100644 --- a/history/states/134-East Moria.txt +++ b/history/states/134-East Moria.txt @@ -18,6 +18,8 @@ state={ } add_core_of = MOA + add_dynamic_modifier = { modifier = moria_loose_balrog } + victory_points = { 4710 35 } } @@ -25,7 +27,7 @@ state={ provinces={ 1421 3061 4710 6247 6263 6669 } - manpower=300000 + manpower=500000 buildings_max_level_factor=1.000 state_category=metropolis local_supplies=0.000 diff --git a/history/states/135-Poros.txt b/history/states/135-Poros.txt index 2f1854f60..d687cc30c 100644 --- a/history/states/135-Poros.txt +++ b/history/states/135-Poros.txt @@ -7,7 +7,7 @@ state={ owner = GON buildings = { infrastructure = 3 - arms_factory = 3 + arms_factory = 2 industrial_complex = 1 4363 = { naval_base = 3 } diff --git a/history/states/14-Tolfalas.txt b/history/states/14-Tolfalas.txt index e8965b707..7f1217b39 100644 --- a/history/states/14-Tolfalas.txt +++ b/history/states/14-Tolfalas.txt @@ -3,7 +3,7 @@ state={ id=14 name="STATE_14" resources={ - rubber=12.000 + oil=5.000 } history={ @@ -17,7 +17,7 @@ state={ 902 = { naval_base = 3 } } add_core_of = GON - victory_points = { 4726 5 } + victory_points = { 4726 15 } } provinces = { diff --git a/history/states/15-Andrast.txt b/history/states/15-Andrast.txt index f4655bf8e..f727fe722 100644 --- a/history/states/15-Andrast.txt +++ b/history/states/15-Andrast.txt @@ -10,7 +10,6 @@ state={ owner = GON buildings = { infrastructure = 3 - arms_factory = 2 industrial_complex = 1 dockyard = 1 diff --git a/history/states/16-Anfalas.txt b/history/states/16-Anfalas.txt deleted file mode 100644 index 44f465d9a..000000000 --- a/history/states/16-Anfalas.txt +++ /dev/null @@ -1,27 +0,0 @@ - -state={ - id=16 - name="STATE_16" - resources={ - chromium=18.000 - oil=20.000 - } - - history={ - owner = GON - buildings = { - infrastructure = 3 - industrial_complex = 1 - } - add_core_of = GON - - } - - provinces={ - 41 1269 1860 2250 2315 2423 2504 2855 3039 3041 3591 3634 3718 4182 4364 4444 4473 4485 4945 5018 5021 5208 6912 6917 6919 6937 6948 6960 6977 6986 7036 7104 - } - manpower=1000000 - buildings_max_level_factor=1.000 - state_category=town - local_supplies=0.000 -} diff --git a/history/states/16-North Pinnath Gelin.txt b/history/states/16-North Pinnath Gelin.txt new file mode 100644 index 000000000..6f66883f1 --- /dev/null +++ b/history/states/16-North Pinnath Gelin.txt @@ -0,0 +1,26 @@ + +state={ + id=16 + name="STATE_16" + resources={ + chromium=18.000 + oil=20.000 + } + + history={ + owner = GON + buildings = { + infrastructure = 3 + } + add_core_of = GON + + } + + provinces={ + 41 1269 1860 2250 2315 2423 2504 2855 3039 3041 3591 3634 3718 4182 4364 4444 4473 4485 4945 5018 5021 5208 6912 6917 6919 6937 6948 6960 6977 6986 7036 7104 + } + manpower=1000000 + buildings_max_level_factor=1.000 + state_category=town + local_supplies=0.000 +} diff --git a/history/states/160-Drimrill Dale.txt b/history/states/160-Drimrill Dale.txt deleted file mode 100644 index f1a9e0bf5..000000000 --- a/history/states/160-Drimrill Dale.txt +++ /dev/null @@ -1,23 +0,0 @@ - -state={ - id=160 - name="STATE_160" - - history={ - buildings = { - infrastructure = 2 - industrial_complex = 2 - } - - owner = LTH - add_core_of = LTH - } - - provinces={ - 923 1247 1708 2616 3149 4061 4220 6227 6252 6276 6338 - } - manpower=800000 - buildings_max_level_factor=1.000 - state_category=large_city - local_supplies=0.000 -} diff --git a/history/states/160-Nanduhirion.txt b/history/states/160-Nanduhirion.txt new file mode 100644 index 000000000..c7eef39fc --- /dev/null +++ b/history/states/160-Nanduhirion.txt @@ -0,0 +1,23 @@ + +state={ + id=160 + name="STATE_160" + + history={ + buildings = { + infrastructure = 2 + industrial_complex = 1 + } + + owner = LTH + add_core_of = NDH + } + + provinces={ + 923 1247 1708 2616 3149 4061 4220 6227 6252 6276 6338 + } + manpower=700000 + buildings_max_level_factor=1.000 + state_category=large_city + local_supplies=0.000 +} diff --git a/history/states/161-North Entwood.txt b/history/states/161-North Entwood.txt index 3aab5ecca..c8d20e215 100644 --- a/history/states/161-North Entwood.txt +++ b/history/states/161-North Entwood.txt @@ -3,6 +3,11 @@ state={ id=161 name="STATE_161" + resources={ + chromium=20.000 + } + + history={ owner = ENT buildings = { diff --git a/history/states/162-East Anfalas.txt b/history/states/162-East Anfalas.txt index 26dc7b0d6..425fd9fc9 100644 --- a/history/states/162-East Anfalas.txt +++ b/history/states/162-East Anfalas.txt @@ -3,6 +3,11 @@ state={ id=162 name="STATE_162" + resources={ + tungsten=4.000 + chromium=12.000 + } + history={ owner = GON add_core_of = GON diff --git a/history/states/163-East Anorien.txt b/history/states/163-East Anorien.txt index c21bd6bf9..722c4015d 100644 --- a/history/states/163-East Anorien.txt +++ b/history/states/163-East Anorien.txt @@ -20,8 +20,8 @@ state={ } - victory_points = { 1778 30 } - victory_points = { 6980 80 } + victory_points = { 1778 10 } + victory_points = { 6980 25 } } provinces={ diff --git a/history/states/164-Pelargir.txt b/history/states/164-Pelargir.txt index 13994d0e0..cfcb3fa84 100644 --- a/history/states/164-Pelargir.txt +++ b/history/states/164-Pelargir.txt @@ -14,7 +14,7 @@ state={ 7230 = { naval_base = 5 } } - victory_points = { 7230 30 } + victory_points = { 7230 20 } } provinces={ diff --git a/history/states/166-West Anfalas.txt b/history/states/166-West Anfalas.txt index 2740b5815..1549e4976 100644 --- a/history/states/166-West Anfalas.txt +++ b/history/states/166-West Anfalas.txt @@ -3,6 +3,11 @@ state={ id=166 name="STATE_166" + resources={ + tungsten=7.000 + oil=15.000 + } + history={ owner = GON add_core_of = GON diff --git a/history/states/167-West Anorien.txt b/history/states/167-West Anorien.txt index a101d9ea4..84f65569f 100644 --- a/history/states/167-West Anorien.txt +++ b/history/states/167-West Anorien.txt @@ -8,7 +8,6 @@ state={ add_core_of = GON buildings = { infrastructure = 3 - arms_factory = 1 } } diff --git a/history/states/169-Dol Amroth.txt b/history/states/169-Dol Amroth.txt deleted file mode 100644 index 2f645cd69..000000000 --- a/history/states/169-Dol Amroth.txt +++ /dev/null @@ -1,22 +0,0 @@ - -state={ - id=169 - name="STATE_169" - - history={ - owner = GON - add_core_of = GON - buildings = { - infrastructure = 2 - industrial_complex = 2 - } - } - - provinces={ - 1711 2219 2511 3141 3536 3769 3991 4156 4397 4474 4795 4948 7090 7105 7134 7142 7158 7183 - } - manpower=2000000 - buildings_max_level_factor=1.000 - state_category=town - local_supplies=0.000 -} diff --git a/history/states/169-North Belfalas.txt b/history/states/169-North Belfalas.txt new file mode 100644 index 000000000..04274b71a --- /dev/null +++ b/history/states/169-North Belfalas.txt @@ -0,0 +1,27 @@ + +state={ + id=169 + name="STATE_169" + + resources={ + chromium=9.000 + } + + history={ + owner = GON + add_core_of = GON + buildings = { + infrastructure = 2 + industrial_complex = 1 + } + victory_points = { 4948 3 } + } + + provinces={ + 1711 2219 2511 3141 3536 3769 3991 4156 4397 4474 4795 4948 7090 7105 7134 7142 7158 7183 + } + manpower=1000000 + buildings_max_level_factor=1.000 + state_category=town + local_supplies=0.000 +} diff --git a/history/states/17-Lamedon.txt b/history/states/17-Lamedon.txt index e63852e3c..d5ae6a360 100644 --- a/history/states/17-Lamedon.txt +++ b/history/states/17-Lamedon.txt @@ -10,14 +10,15 @@ state={ owner = GON buildings = { infrastructure = 3 - arms_factory = 3 + arms_factory = 1 + industrial_complex = 1 5038 = { naval_base = 5 } } add_core_of = GON - victory_points = { 5038 20 } - victory_points = { 3010 1 } + victory_points = { 5038 15 } + victory_points = { 7011 3 } } provinces={ diff --git a/history/states/170-Dor en-Ernil.txt b/history/states/170-Dor en-Ernil.txt index 8d3734e07..62710d13f 100644 --- a/history/states/170-Dor en-Ernil.txt +++ b/history/states/170-Dor en-Ernil.txt @@ -2,23 +2,26 @@ state={ id=170 name="STATE_170" + resources={ + steel=5.000 + } history={ owner = GON add_core_of = GON - buildings = { infrastructure = 2 industrial_complex = 1 + arms_factory = 1 } } provinces={ - 1049 1281 1361 1489 1594 2003 2189 2730 3226 3284 3357 3921 4559 4678 4786 5161 5231 5309 5371 7111 7115 7129 7138 7164 7169 7179 7184 7190 7211 7216 7227 7232 + 1049 1281 1489 1594 2003 2189 3226 3284 3357 4678 4786 5161 5231 5371 7111 7115 7129 7138 7164 7169 7179 7190 7216 7227 } - manpower=2000000 + manpower=1000000 buildings_max_level_factor=1.000 state_category=town local_supplies=0.000 diff --git a/history/states/172-East Lamedon.txt b/history/states/172-East Lamedon.txt index 3627580b6..95b73236c 100644 --- a/history/states/172-East Lamedon.txt +++ b/history/states/172-East Lamedon.txt @@ -10,6 +10,7 @@ state={ infrastructure = 3 arms_factory = 1 } + victory_points = { 1293 3 } } provinces={ diff --git a/history/states/173-Emyn Arnen.txt b/history/states/173-Emyn Arnen.txt index 0d0ca77a3..69b09e6c2 100644 --- a/history/states/173-Emyn Arnen.txt +++ b/history/states/173-Emyn Arnen.txt @@ -9,16 +9,17 @@ state={ infrastructure = 4 arms_factory = 2 - 430 = { bunker = 1 } + 9062 = { bunker = 1 } } add_core_of = GON add_core_of = ITH victory_points = { 430 3 } + victory_points = { 9062 5 } } provinces={ - 430 1600 3773 6952 6966 7007 7008 7029 7030 + 430 1600 3773 6952 6966 7007 7008 7029 7030 9062 } manpower=600000 buildings_max_level_factor=1.000 diff --git a/history/states/174-Morthond.txt b/history/states/174-Morthond.txt index ec2d0f4d9..bc4aa4292 100644 --- a/history/states/174-Morthond.txt +++ b/history/states/174-Morthond.txt @@ -8,8 +8,6 @@ state={ add_core_of = GON buildings = { infrastructure = 3 - industrial_complex = 3 - } } diff --git a/history/states/191-Mirkwood Outskirts.txt b/history/states/191-Mirkwood Outskirts.txt index e75ded465..85e63ab9a 100644 --- a/history/states/191-Mirkwood Outskirts.txt +++ b/history/states/191-Mirkwood Outskirts.txt @@ -9,6 +9,7 @@ state={ infrastructure = 1 industrial_complex = 1 } + remove_core_of = MIR } provinces={ diff --git a/history/states/195-Drimrill Dale.txt b/history/states/195-Fanuidhol.txt similarity index 100% rename from history/states/195-Drimrill Dale.txt rename to history/states/195-Fanuidhol.txt diff --git a/history/states/198-Ningloron.txt b/history/states/198-Eastern Lower Anduin.txt similarity index 100% rename from history/states/198-Ningloron.txt rename to history/states/198-Eastern Lower Anduin.txt diff --git a/history/states/20-Druwaith laur.txt b/history/states/20-Druwaith laur.txt index a8d8c569e..0d30bff37 100644 --- a/history/states/20-Druwaith laur.txt +++ b/history/states/20-Druwaith laur.txt @@ -11,7 +11,6 @@ state={ owner = GON buildings = { infrastructure = 2 - arms_factory = 1 industrial_complex = 1 } diff --git a/history/states/21-Lossarnach.txt b/history/states/21-Lossarnach.txt index 956ef706f..79d16848a 100644 --- a/history/states/21-Lossarnach.txt +++ b/history/states/21-Lossarnach.txt @@ -11,7 +11,8 @@ state={ owner = GON buildings = { infrastructure = 4 - industrial_complex = 3 + industrial_complex = 2 + arms_factory = 1 } add_core_of = GON diff --git a/history/states/22-Ithilien.txt b/history/states/22-Ithilien.txt index a978e4310..a6a5530ad 100644 --- a/history/states/22-Ithilien.txt +++ b/history/states/22-Ithilien.txt @@ -9,9 +9,7 @@ state={ history={ owner = GON buildings = { - infrastructure = 4 - arms_factory = 2 - industrial_complex = 1 + infrastructure = 3 } add_core_of = GON add_core_of = ITH diff --git a/history/states/222-Cerin Amroth.txt b/history/states/222-Cerin Amroth.txt new file mode 100644 index 000000000..d6c2bd13a --- /dev/null +++ b/history/states/222-Cerin Amroth.txt @@ -0,0 +1,36 @@ +state={ + id=222 + name="STATE_222" + provinces={ + 2365 2375 2892 3125 3438 5083 5416 5422 6445 + } + resources={ + chromium=22.000 + oil=3.000 + } + + history={ + owner = LTH + buildings = { + infrastructure = 3 + arms_factory = 1 + industrial_complex = 2 + anti_air_building = 1 + 3125 = { + bunker = 1 + + } + + } + add_core_of = LTH + victory_points = { + 3125 25 + } + + } + + manpower=1800000 + buildings_max_level_factor=1.000 + state_category=metropolis + local_supplies=0.000 +} diff --git a/history/states/223-Dol Amroth.txt b/history/states/223-Dol Amroth.txt new file mode 100644 index 000000000..ac47eb714 --- /dev/null +++ b/history/states/223-Dol Amroth.txt @@ -0,0 +1,27 @@ +state={ + id=223 + name="STATE_223" + provinces={ + 908 1226 1460 1527 2935 3888 4712 4969 7201 7206 7226 7249 7266 7291 7298 7306 7320 7341 7359 7827 + } + resources={ + chromium=9.000 + oil=9.000 + rubber=6.000 + } + history = { + owner = DAM + add_core_of = DAM + buildings = { + infrastructure = 2 + industrial_complex = 3 + } + victory_points = { + 7286 3 + } + } + manpower=2000000 + state_category=large_town + buildings_max_level_factor=1.000 + local_supplies=0.000 +} diff --git a/history/states/224-Dol Amroth City.txt b/history/states/224-Dol Amroth City.txt new file mode 100644 index 000000000..ff7fe13b4 --- /dev/null +++ b/history/states/224-Dol Amroth City.txt @@ -0,0 +1,40 @@ +state={ + id=224 + name="STATE_224" + history = { + owner = DAM + add_core_of = DAM + buildings = { + infrastructure = 3 + industrial_complex = 2 + dockyard = 3 + arms_factory = 3 + 3570 = { + naval_base = 3 + bunker = 3 + coastal_bunker = 5 + } + 4079 = { + naval_base = 1 + bunker = 1 + coastal_bunker = 3 + } + } + victory_points = { + 3570 25 + } + victory_points = { + 4079 1 + } + } + resources={ + steel=5.000 + } + provinces={ + 162 1782 3570 4079 + } + manpower=4000000 + state_category=metropolis + buildings_max_level_factor=1.000 + local_supplies=0.000 +} diff --git a/history/states/70-Upper Anduin Vale.txt b/history/states/70-Ninglor.txt similarity index 100% rename from history/states/70-Upper Anduin Vale.txt rename to history/states/70-Ninglor.txt diff --git a/history/states/73-Moria.txt b/history/states/73-Moria.txt index bb51a7906..2a5e95caf 100644 --- a/history/states/73-Moria.txt +++ b/history/states/73-Moria.txt @@ -18,6 +18,8 @@ state={ } add_core_of = MOA + add_dynamic_modifier = { modifier = moria_loose_balrog } + victory_points = { 2092 50 } } @@ -25,7 +27,7 @@ state={ provinces={ 2092 2694 3925 3976 4054 6235 6259 6264 } - manpower=300000 + manpower=500000 buildings_max_level_factor=1.000 state_category=metropolis local_supplies=0.000 diff --git a/history/states/74-Parth Celebrant.txt b/history/states/74-Parth Celebrant.txt index ac23f7239..dcc629db4 100644 --- a/history/states/74-Parth Celebrant.txt +++ b/history/states/74-Parth Celebrant.txt @@ -18,18 +18,16 @@ state={ 1406 = { bunker = 3 } } - add_core_of = LTH + add_core_of = NDH - - - victory_points = { 1406 5 } - victory_points = { 6387 3 } + victory_points = { 1406 3 } + victory_points = { 6387 8 } } provinces={ 678 1406 1753 2191 2227 2353 2607 2885 3198 3246 3285 3440 3929 4051 4080 4411 4655 4656 4812 4844 4963 5248 5439 6353 6354 6357 6371 6383 6387 6396 6400 6410 6417 } - manpower=1000000 + manpower=800000 buildings_max_level_factor=1.000 state_category=large_city local_supplies=0.000 diff --git a/history/states/75-Caras Galadhon.txt b/history/states/75-Caras Galadhon.txt new file mode 100644 index 000000000..9e01ef352 --- /dev/null +++ b/history/states/75-Caras Galadhon.txt @@ -0,0 +1,39 @@ + +state={ + id=75 + name="STATE_75" + resources={ + steel=12.000 + chromium=15.000 + oil=3.000 + } + + history={ + owner = LTH + buildings = { + infrastructure = 3 + air_base = 2 + arms_factory = 1 + industrial_complex = 2 + anti_air_building = 1 + 5094 = { + bunker = 2 + + } + + } + add_core_of = LTH + victory_points = { + 5094 50 + } + + } + + provinces={ + 2202 3335 3414 3538 5094 6366 6419 6435 6451 6455 + } + manpower=5000000 + buildings_max_level_factor=1.000 + state_category=megalopolis + local_supplies=0.000 +} diff --git a/history/states/75-Lorien.txt b/history/states/75-Lorien.txt deleted file mode 100644 index 8266b4e3f..000000000 --- a/history/states/75-Lorien.txt +++ /dev/null @@ -1,39 +0,0 @@ - -state={ - id=75 - name="STATE_75" - resources={ - steel=26.000 - chromium=12.000 - oil=3.000 - } - - history={ - owner = LTH - buildings = { - infrastructure = 3 - air_base = 2 - arms_factory = 2 - industrial_complex = 6 - anti_air_building = 3 - - - 5094 = { bunker = 2 } - 3125 = { bunker = 1 } - } - add_core_of = LTH - - - - victory_points = { 5094 50 } - victory_points = { 3125 25 } - } - - provinces={ - 2202 2365 2375 2892 3125 3335 3414 3438 3538 5083 5094 5416 5422 6366 6419 6435 6445 6451 6455 - } - manpower=5600000 - buildings_max_level_factor=1.000 - state_category=megalopolis - local_supplies=0.000 -} diff --git a/history/states/76-Gladden Fields.txt b/history/states/76-Gladden Fields.txt deleted file mode 100644 index 5e2915b5f..000000000 --- a/history/states/76-Gladden Fields.txt +++ /dev/null @@ -1,29 +0,0 @@ - -state={ - id=76 - name="STATE_76" - resources={ - tungsten=17.000 - oil=6.000 - } - - history={ - owner = LTH - buildings = { - infrastructure = 2 - arms_factory = 1 - industrial_complex = 1 - - } - add_core_of = LTH - - } - - provinces={ - 2089 2211 2736 4082 4413 4439 4619 6265 - } - manpower=1000000 - buildings_max_level_factor=1.000 - state_category=large_city - local_supplies=0.000 -} diff --git a/history/states/76-Taur Hith.txt b/history/states/76-Taur Hith.txt new file mode 100644 index 000000000..0797e35b0 --- /dev/null +++ b/history/states/76-Taur Hith.txt @@ -0,0 +1,27 @@ + +state={ + id=76 + name="STATE_76" + resources={ + tungsten=17.000 + oil=6.000 + } + + history={ + owner = LTH + buildings = { + infrastructure = 2 + arms_factory = 1 + industrial_complex = 1 + } + add_core_of = NDH + } + + provinces={ + 2089 2211 2736 4082 4413 4439 4619 6265 + } + manpower=800000 + buildings_max_level_factor=1.000 + state_category=large_city + local_supplies=0.000 +} diff --git a/history/units/ART_1936.txt b/history/units/ART_1936.txt index 0814540bb..aaac7eb2c 100644 --- a/history/units/ART_1936.txt +++ b/history/units/ART_1936.txt @@ -1,6 +1,6 @@ ##### Division Templates ##### division_template = { - name = "Ranger Corps" # Rifle Division + name = "Commoner Levy" # Rifle Division regiments = { infantry = { x = 0 y = 0 } @@ -15,6 +15,22 @@ division_template = { } } +division_template = { + name = "Rangers" # Rifle Division + + regiments = { + rangers_infantry = { x = 0 y = 0 } + rangers_infantry = { x = 0 y = 1 } + rangers_infantry = { x = 1 y = 0 } + rangers_infantry = { x = 1 y = 1 } + rangers_infantry = { x = 2 y = 0 } + rangers_infantry = { x = 2 y = 1 } + } + support = { + recon = { x = 0 y = 0 } + } +} + division_template = { name = "Ranger Cavalry" @@ -32,56 +48,70 @@ division_template = { units = { ##### LAND UNITS ##### division = { - name = "Ranger Division" + name = "Peacekeepers" location = 4258 - division_template = "Ranger Corps" + division_template = "Commoner Levy" start_experience_factor = 0.2 start_equipment_factor = 0.8 } division = { - name = "Ranger Division" + name = "Peacekeepers" location = 4393 - division_template = "Ranger Corps" + division_template = "Commoner Levy" start_experience_factor = 0.2 start_equipment_factor = 0.4 } division = { - name = "North Ranger Division" + name = "Peacekeepers" location = 906 - division_template = "Ranger Corps" + division_template = "Commoner Levy" start_experience_factor = 0.3 start_equipment_factor = 0.4 } division = { - name = "North Ranger Division" + name = "Peacekeepers" location = 2165 - division_template = "Ranger Corps" + division_template = "Commoner Levy" start_experience_factor = 0.3 start_equipment_factor = 0.4 } division = { - name = "South Ranger Division" + name = "Ranger Division" location = 6258 - division_template = "Ranger Corps" + division_template = "Rangers" start_experience_factor = 0.0 start_equipment_factor = 0.6 } division = { - name = "South Ranger Division" + name = "Ranger Division" location = 2343 - division_template = "Ranger Corps" + division_template = "Rangers" start_experience_factor = 0.0 start_equipment_factor = 0.6 } division = { - name = "South Ranger Division" + name = "Ranger Division" + location = 2343 + division_template = "Rangers" + start_experience_factor = 0.0 + start_equipment_factor = 0.6 + } + division = { + name = "Ranger Division" + location = 2343 + division_template = "Rangers" + start_experience_factor = 0.0 + start_equipment_factor = 0.6 + } + division = { + name = "Ranger Division" location = 5648 division_template = "Ranger Cavalry" start_experience_factor = 0.0 start_equipment_factor = 0.6 } division = { - name = "South Ranger Division" + name = "Ranger Division" location = 4393 division_template = "Ranger Cavalry" start_experience_factor = 0.0 diff --git a/history/units/ART_GreyCompany.txt b/history/units/ART_GreyCompany.txt new file mode 100644 index 000000000..52c1bd898 --- /dev/null +++ b/history/units/ART_GreyCompany.txt @@ -0,0 +1,52 @@ +##### Division Templates ##### +division_template = { + name = "Grey Company" + + regiments = { + infantry = { x = 0 y = 0 } + infantry = { x = 0 y = 1 } + artillery_brigade = { x = 0 y = 2 } + infantry = { x = 1 y = 0 } + infantry = { x = 1 y = 1 } + artillery_brigade = { x = 1 y = 2 } + infantry = { x = 2 y = 0 } + infantry = { x = 2 y = 1 } + infantry = { x = 2 y = 2 } + } + support = { + recon = { x = 0 y = 0 } + } +} + +##### OOB ##### +units = { + ##### LAND UNITS ##### + division = { + name = "Grey Company" + location = 1863 + division_template = "Grey Company" + start_experience_factor = 0.8 + start_equipment_factor = 1.0 + } + division = { + name = "Grey Company" + location = 1863 + division_template = "Grey Company" + start_experience_factor = 0.8 + start_equipment_factor = 1.0 + } + division = { + name = "Grey Company" + location = 1863 + division_template = "Grey Company" + start_experience_factor = 0.8 + start_equipment_factor = 1.0 + } + division = { + name = "Grey Company" + location = 1863 + division_template = "Grey Company" + start_experience_factor = 0.8 + start_equipment_factor = 1.0 + } +} diff --git a/history/units/DAM_3018.txt b/history/units/DAM_3018.txt new file mode 100644 index 000000000..c6d7e77c2 --- /dev/null +++ b/history/units/DAM_3018.txt @@ -0,0 +1,100 @@ +##### Division Templates ##### +division_template = { + name = "Defense Infantry Division" + + regiments = { + infantry = { x = 0 y = 0 } + infantry = { x = 0 y = 1 } + infantry = { x = 0 y = 2 } + infantry = { x = 1 y = 0 } + infantry = { x = 1 y = 1 } + infantry = { x = 1 y = 2 } + } + support = { + } +} +division_template = { + name = "Swan-knights Division" + regiments = { + medium_armor = { x = 0 y = 0 } + medium_armor = { x = 0 y = 1 } + medium_armor = { x = 1 y = 0 } + medium_armor = { x = 1 y = 1 } + medium_armor = { x = 2 y = 0 } + medium_armor = { x = 2 y = 1 } + } + support = { + + } +} + +##### OOB ##### +units = { + ##### LAND UNITS ##### + division = { + name = "1e Defense Infantry Division" + location = 7201 + division_template = "Defense Infantry Division" + start_experience_factor = 0.0 + start_equipment_factor = 0.8 + } + division = { + name = "2e Defense Infantry Division" + location = 4712 + division_template = "Defense Infantry Division" + start_experience_factor = 0.0 + start_equipment_factor = 0.8 + } + division = { + name = "3e Defense Infantry Division" + location = 908 + division_template = "Defense Infantry Division" + start_experience_factor = 0.0 + start_equipment_factor = 0.8 + } + division = { + name = "1e Swan-knights Division" + location = 3570 + division_template = "Swan-knights Division" + start_experience_factor = 0.0 + start_equipment_factor = 1.0 + } + division = { + name = "2e Swan-knights Division" + location = 3570 + division_template = "Swan-knights Division" + start_experience_factor = 0.0 + start_equipment_factor = 1.0 + } + + navy = { + name = "Dol Amroth Fleet" + base = 3570 + location = 3570 + ship = { definition = destroyer equipment = { destroyer_1 = { amount = 1 owner = DAM } } } + ship = { definition = destroyer equipment = { destroyer_1 = { amount = 1 owner = DAM } } } + ship = { definition = destroyer equipment = { destroyer_1 = { amount = 1 owner = DAM } } } + } +} + +### Starting Production ### +instant_effect = { + add_equipment_production = { + equipment = { + type = infantry_equipment_0 + creator = "DAM" + } + requested_factories = 2 + progress = 0.65 + efficiency = 15 + } + add_equipment_production = { + equipment = { + type = support_equipment_1 + creator = "DAM" + } + requested_factories = 1 + progress = 0.95 + efficiency = 10 + } +} diff --git a/history/units/ENT_1936.txt b/history/units/ENT_1936.txt index eff01618b..4517bf6b8 100644 --- a/history/units/ENT_1936.txt +++ b/history/units/ENT_1936.txt @@ -1,20 +1,20 @@ division_template = { name = "Sapling Division" # Infantry Division regiments = { - infantry = { x = 0 y = 0 } - infantry = { x = 0 y = 1 } + ent_infantry = { x = 0 y = 0 } + ent_infantry = { x = 0 y = 1 } } } division_template = { name = "Ent Division" # Infantry Division regiments = { - infantry = { x = 0 y = 0 } - infantry = { x = 0 y = 1 } - infantry = { x = 0 y = 2 } - infantry = { x = 1 y = 0 } - infantry = { x = 1 y = 1 } - infantry = { x = 1 y = 2 } + ent_infantry = { x = 0 y = 0 } + ent_infantry = { x = 0 y = 1 } + ent_infantry = { x = 0 y = 2 } + ent_infantry = { x = 1 y = 0 } + ent_infantry = { x = 1 y = 1 } + ent_infantry = { x = 1 y = 2 } } support = { engineer = { x = 0 y = 0 } @@ -24,12 +24,12 @@ division_template = { division_template = { name = "Huorn Division" # Infantry Division regiments = { - infantry= { x = 0 y = 0 } - infantry = { x = 0 y = 1 } - infantry = { x = 1 y = 0 } - infantry = { x = 1 y = 1 } - infantry = { x = 2 y = 0 } - infantry = { x = 2 y = 1 } + ent_infantry = { x = 0 y = 0 } + ent_infantry = { x = 0 y = 1 } + ent_infantry = { x = 1 y = 0 } + ent_infantry = { x = 1 y = 1 } + ent_infantry = { x = 2 y = 0 } + ent_infantry = { x = 2 y = 1 } } support = { engineer = { x = 0 y = 0 } diff --git a/history/units/GON_1936.txt b/history/units/GON_1936.txt deleted file mode 100644 index 25d9657af..000000000 --- a/history/units/GON_1936.txt +++ /dev/null @@ -1,299 +0,0 @@ -##### Division Templates ##### -division_template = { - name = "Infantry Division" # Rifle Division - - regiments = { - infantry = { x = 0 y = 0 } - infantry = { x = 0 y = 1 } - infantry = { x = 0 y = 2 } - infantry = { x = 1 y = 0 } - infantry = { x = 1 y = 1 } - infantry = { x = 1 y = 2 } - infantry = { x = 2 y = 0 } - infantry = { x = 2 y = 1 } - infantry = { x = 2 y = 2 } - } - support = { - #recon = { x = 0 y = 0 } # Recon bn had 16 L tanks, 10 ACs, 1x mot inf co #Eng and recon removed and they seem rather OP. Could revisit if balance changes - #engineer = { x = 0 y = 1 } # (semi-mot) Engineer bn - artillery = { x = 0 y = 0 } # Heavy Arty Regiment had 1x 152mm bn + 2x 122mm bn - } -} - -division_template = { - name = "Scout Division" - - regiments = { - infantry = { x = 0 y = 0 } - infantry = { x = 1 y = 0 } - } - support = { - recon = { x = 0 y = 0 } - } -} - -division_template = { - name = "Mountain Division" # Motor Rifle Division - - regiments = { - mountaineers = { x = 0 y = 0 } - mountaineers = { x = 0 y = 1 } - mountaineers = { x = 0 y = 2 } - mountaineers = { x = 1 y = 0 } - mountaineers = { x = 1 y = 1 } - mountaineers = { x = 1 y = 2 } - mountaineers = { x = 2 y = 0 } - mountaineers = { x = 2 y = 1 } - mountaineers = { x = 2 y = 2 } - mountaineers = { x = 3 y = 0 } - mountaineers = { x = 3 y = 1 } - mountaineers = { x = 3 y = 2 } - } - support = { - engineer = { x = 0 y = 0 } # Engineer bn - artillery = { x = 0 y = 1 } # Heavy Arty Regiment had 2x 122mm bn - } -} - -division_template = { - name = "Motorized Division" # Motor Rifle Division - # Note: only represents Moscow Proletariat Division in 1936; after 1938-40, Motor Rifle Divisions had +1 mot regiment (3 bns) - regiments = { - motorized = { x = 0 y = 0 } - motorized = { x = 0 y = 1 } - motorized = { x = 0 y = 2 } - motorized = { x = 1 y = 0 } - motorized = { x = 1 y = 1 } - motorized = { x = 1 y = 2 } - } - support = { - #recon = { x = 0 y = 0 } # Recon bn had 16x L tanks, 45 ACs #Eng and recon removed and they seem rather OP. Could revisit if balance changes - #engineer = { x = 0 y = 1 } # (mot) Engineer bn - #light_armor = { x = 0 y = 3 } # Tank bn had 51 L tanks, 3 ACs - (removed) - } -} - -##### OOB ##### -units = { - ##### LAND UNITS ##### - division = { - name = "3rd Osgiliath Vaguard" - location = 3726 - division_template = "Infantry Division" - start_experience_factor = 0.3 - start_equipment_factor = 0.3 - } - division = { - name = "2nd Osgiliath Vaguard" - location = 3726 - division_template = "Infantry Division" - start_experience_factor = 0.3 - start_equipment_factor = 0.3 - } - division = { - name = "4th Osgiliath Vaguard" - location = 3726 - division_template = "Infantry Division" - start_experience_factor = 0.3 - start_equipment_factor = 0.3 - } - division = { - name = "1st Osgiliath Vaguard" - location = 3726 - division_template = "Mountain Division" - start_experience_factor = 1.0 - start_equipment_factor = 0.5 - - } - division = { - name = "12. Division" - location = 6925 - division_template = "Infantry Division" - start_experience_factor = 0.3 - start_equipment_factor = 0.5 - } - division = { - name = "11. Division" - location = 6925 - division_template = "Infantry Division" - start_experience_factor = 0.3 - start_equipment_factor = 0.5 - } - division = { - name = "10. Division" - location = 6925 - division_template = "Infantry Division" - start_experience_factor = 0.3 - start_equipment_factor = 0.5 - } - division = { - name = "9. Division" - location = 296 - division_template = "Infantry Division" - start_experience_factor = 0.3 - start_equipment_factor = 0.5 - } - division = { - name = "13. Division" - location = 296 - division_template = "Infantry Division" - start_experience_factor = 0.3 - start_equipment_factor = 0.5 - } - division = { - name = "14. Division" - location = 692 - division_template = "Infantry Division" - start_experience_factor = 0.3 - start_equipment_factor = 0.5 - } - division = { - name = "15. Division" - location = 692 - division_template = "Infantry Division" - start_experience_factor = 0.3 - start_equipment_factor = 0.5 - } - - division = { - name = "15. Division" - location = 2594 - division_template = "Infantry Division" - start_experience_factor = 0.3 - start_equipment_factor = 0.5 - } - division = { - name = "Engineer Division" - location = 7216 - division_template = "Motorized Division" - start_experience_factor = 0.1 - start_equipment_factor = 0.5 - } - - division = { - name = "Engineer Division" - location = 984 - division_template = "Motorized Division" - start_experience_factor = 0.1 - start_equipment_factor = 0.4 - } - - division = { - name = "Western Scouting Division" - location = 3868 - division_template = "Scout Division" - start_experience_factor = 0.0 - start_equipment_factor = 1.0 - } - - division = { - name = "Western Scouting Division" - location = 586 - division_template = "Scout Division" - start_experience_factor = 0.0 - start_equipment_factor = 1.0 - } - - division = { - name = "Western Scouting Division" - location = 3733 - division_template = "Scout Division" - start_experience_factor = 0.0 - start_equipment_factor = 1.0 - } - - division = { - name = "Eastern Scouting Division" - location = 6943 - division_template = "Scout Division" - start_experience_factor = 0.0 - start_equipment_factor = 1.0 - } - - division = { - name = "Eastern Scouting Division" - location = 4363 - division_template = "Scout Division" - start_experience_factor = 0.0 - start_equipment_factor = 1.0 - } - - division = { - name = "Eastern Scouting Division" - location = 7263 - division_template = "Scout Division" - start_experience_factor = 0.0 - start_equipment_factor = 1.0 - } - - navy = { - name = "Andrast Fleet" - base = 7826 - location = 7826 - ship = { definition = heavy_cruiser equipment = { heavy_cruiser_1 = { amount = 1 owner = GON } } } - ship = { definition = light_cruiser equipment = { light_cruiser_1 = { amount = 1 owner = GON } } } - ship = { definition = destroyer equipment = { destroyer_1 = { amount = 1 owner = GON } } } - ship = { definition = destroyer equipment = { destroyer_1 = { amount = 1 owner = GON } } } - ship = { definition = destroyer equipment = { destroyer_1 = { amount = 1 owner = GON } } } - ship = { definition = destroyer equipment = { destroyer_1 = { amount = 1 owner = GON } } } - ship = { definition = destroyer equipment = { destroyer_1 = { amount = 1 owner = GON } } } - ship = { definition = destroyer equipment = { destroyer_1 = { amount = 1 owner = GON } } } - ship = { definition = destroyer equipment = { destroyer_1 = { amount = 1 owner = GON } } } - ship = { definition = destroyer equipment = { destroyer_1 = { amount = 1 owner = GON } } } - ship = { definition = destroyer equipment = { destroyer_1 = { amount = 1 owner = GON } } } - ship = { definition = destroyer equipment = { destroyer_1 = { amount = 1 owner = GON } } } - ship = { definition = destroyer equipment = { destroyer_1 = { amount = 1 owner = GON } } } - ship = { definition = destroyer equipment = { destroyer_1 = { amount = 1 owner = GON } } } - ship = { definition = destroyer equipment = { destroyer_1 = { amount = 1 owner = GON } } } - } - - navy = { - name = "Tolfalas Fleet" - base = 902 - location = 902 - ship = { definition = destroyer equipment = { destroyer_1 = { amount = 1 owner = GON } } } - ship = { definition = destroyer equipment = { destroyer_1 = { amount = 1 owner = GON } } } - ship = { definition = destroyer equipment = { destroyer_1 = { amount = 1 owner = GON } } } - } -} - -### Starting Production ### -instant_effect = { - add_equipment_production = { - equipment = { - type = infantry_equipment_0 - creator = "GON" - } - requested_factories = 3 - progress = 0.65 - efficiency = 15 - } - add_equipment_production = { - equipment = { - type = support_equipment_1 - creator = "GON" - } - requested_factories = 1 - progress = 0.95 - efficiency = 10 - } - - add_equipment_production = { - equipment = { - type = heavy_cruiser_1 - creator = "GON" - } - requested_factories = 1 - progress = 0.5 - amount = 1 - } - add_equipment_production = { - equipment = { - type = destroyer_1 - creator = "GON" - } - requested_factories = 1 - progress = 0.7 - amount = 5 - } -} diff --git a/history/units/GON_3018.txt b/history/units/GON_3018.txt new file mode 100644 index 000000000..d45a4f509 --- /dev/null +++ b/history/units/GON_3018.txt @@ -0,0 +1,299 @@ +##### Division Templates ##### +division_template = { + name = "Infantry Division" # Rifle Division + + regiments = { + infantry = { x = 0 y = 0 } + infantry = { x = 0 y = 1 } + infantry = { x = 0 y = 2 } + infantry = { x = 1 y = 0 } + infantry = { x = 1 y = 1 } + infantry = { x = 1 y = 2 } + infantry = { x = 2 y = 0 } + infantry = { x = 2 y = 1 } + infantry = { x = 2 y = 2 } + } + support = { + #recon = { x = 0 y = 0 } # Recon bn had 16 L tanks, 10 ACs, 1x mot inf co #Eng and recon removed and they seem rather OP. Could revisit if balance changes + #engineer = { x = 0 y = 1 } # (semi-mot) Engineer bn + artillery = { x = 0 y = 0 } # Heavy Arty Regiment had 1x 152mm bn + 2x 122mm bn + } +} + +division_template = { + name = "Scout Division" + + regiments = { + infantry = { x = 0 y = 0 } + infantry = { x = 1 y = 0 } + } + support = { + recon = { x = 0 y = 0 } + } +} + +division_template = { + name = "Mountain Division" # Motor Rifle Division + + regiments = { + mountaineers = { x = 0 y = 0 } + mountaineers = { x = 0 y = 1 } + mountaineers = { x = 0 y = 2 } + mountaineers = { x = 1 y = 0 } + mountaineers = { x = 1 y = 1 } + mountaineers = { x = 1 y = 2 } + mountaineers = { x = 2 y = 0 } + mountaineers = { x = 2 y = 1 } + mountaineers = { x = 2 y = 2 } + mountaineers = { x = 3 y = 0 } + mountaineers = { x = 3 y = 1 } + mountaineers = { x = 3 y = 2 } + } + support = { + engineer = { x = 0 y = 0 } # Engineer bn + artillery = { x = 0 y = 1 } # Heavy Arty Regiment had 2x 122mm bn + } +} + +division_template = { + name = "Motorized Division" # Motor Rifle Division + # Note: only represents Moscow Proletariat Division in 1936; after 1938-40, Motor Rifle Divisions had +1 mot regiment (3 bns) + regiments = { + motorized = { x = 0 y = 0 } + motorized = { x = 0 y = 1 } + motorized = { x = 0 y = 2 } + motorized = { x = 1 y = 0 } + motorized = { x = 1 y = 1 } + motorized = { x = 1 y = 2 } + } + support = { + #recon = { x = 0 y = 0 } # Recon bn had 16x L tanks, 45 ACs #Eng and recon removed and they seem rather OP. Could revisit if balance changes + #engineer = { x = 0 y = 1 } # (mot) Engineer bn + #light_armor = { x = 0 y = 3 } # Tank bn had 51 L tanks, 3 ACs - (removed) + } +} + +##### OOB ##### +units = { + ##### LAND UNITS ##### + division = { + name = "3rd Osgiliath Vaguard" + location = 3726 + division_template = "Infantry Division" + start_experience_factor = 0.3 + start_equipment_factor = 0.3 + } + division = { + name = "2nd Osgiliath Vaguard" + location = 3726 + division_template = "Infantry Division" + start_experience_factor = 0.3 + start_equipment_factor = 0.3 + } + division = { + name = "4th Osgiliath Vaguard" + location = 3726 + division_template = "Infantry Division" + start_experience_factor = 0.3 + start_equipment_factor = 0.3 + } + division = { + name = "1st Osgiliath Vaguard" + location = 3726 + division_template = "Mountain Division" + start_experience_factor = 1.0 + start_equipment_factor = 0.5 + + } + division = { + name = "12. Division" + location = 6925 + division_template = "Infantry Division" + start_experience_factor = 0.3 + start_equipment_factor = 0.5 + } + division = { + name = "11. Division" + location = 6925 + division_template = "Infantry Division" + start_experience_factor = 0.3 + start_equipment_factor = 0.5 + } + division = { + name = "10. Division" + location = 6925 + division_template = "Infantry Division" + start_experience_factor = 0.3 + start_equipment_factor = 0.5 + } + division = { + name = "9. Division" + location = 296 + division_template = "Infantry Division" + start_experience_factor = 0.3 + start_equipment_factor = 0.5 + } + division = { + name = "13. Division" + location = 296 + division_template = "Infantry Division" + start_experience_factor = 0.3 + start_equipment_factor = 0.5 + } + division = { + name = "14. Division" + location = 692 + division_template = "Infantry Division" + start_experience_factor = 0.3 + start_equipment_factor = 0.5 + } + division = { + name = "15. Division" + location = 692 + division_template = "Infantry Division" + start_experience_factor = 0.3 + start_equipment_factor = 0.5 + } + + division = { + name = "1st Linhir Defense Division" + location = 7245 + division_template = "Infantry Division" + start_experience_factor = 0.3 + start_equipment_factor = 0.5 + } + division = { + name = "2st Linhir Defense Division" + location = 7245 + division_template = "Motorized Division" + start_experience_factor = 0.1 + start_equipment_factor = 0.5 + } + + division = { + name = "Engineer Division" + location = 984 + division_template = "Motorized Division" + start_experience_factor = 0.1 + start_equipment_factor = 0.4 + } + + division = { + name = "Western Scouting Division" + location = 3868 + division_template = "Scout Division" + start_experience_factor = 0.0 + start_equipment_factor = 1.0 + } + + division = { + name = "Western Scouting Division" + location = 586 + division_template = "Scout Division" + start_experience_factor = 0.0 + start_equipment_factor = 1.0 + } + + division = { + name = "Western Scouting Division" + location = 3733 + division_template = "Scout Division" + start_experience_factor = 0.0 + start_equipment_factor = 1.0 + } + + division = { + name = "Eastern Scouting Division" + location = 6943 + division_template = "Scout Division" + start_experience_factor = 0.0 + start_equipment_factor = 1.0 + } + + division = { + name = "Eastern Scouting Division" + location = 4363 + division_template = "Scout Division" + start_experience_factor = 0.0 + start_equipment_factor = 1.0 + } + + division = { + name = "Eastern Scouting Division" + location = 7263 + division_template = "Scout Division" + start_experience_factor = 0.0 + start_equipment_factor = 1.0 + } + + navy = { + name = "Andrast Fleet" + base = 7826 + location = 7826 + ship = { definition = heavy_cruiser equipment = { heavy_cruiser_1 = { amount = 1 owner = GON } } } + ship = { definition = light_cruiser equipment = { light_cruiser_1 = { amount = 1 owner = GON } } } + ship = { definition = destroyer equipment = { destroyer_1 = { amount = 1 owner = GON } } } + ship = { definition = destroyer equipment = { destroyer_1 = { amount = 1 owner = GON } } } + ship = { definition = destroyer equipment = { destroyer_1 = { amount = 1 owner = GON } } } + ship = { definition = destroyer equipment = { destroyer_1 = { amount = 1 owner = GON } } } + ship = { definition = destroyer equipment = { destroyer_1 = { amount = 1 owner = GON } } } + ship = { definition = destroyer equipment = { destroyer_1 = { amount = 1 owner = GON } } } + ship = { definition = destroyer equipment = { destroyer_1 = { amount = 1 owner = GON } } } + ship = { definition = destroyer equipment = { destroyer_1 = { amount = 1 owner = GON } } } + ship = { definition = destroyer equipment = { destroyer_1 = { amount = 1 owner = GON } } } + ship = { definition = destroyer equipment = { destroyer_1 = { amount = 1 owner = GON } } } + ship = { definition = destroyer equipment = { destroyer_1 = { amount = 1 owner = GON } } } + ship = { definition = destroyer equipment = { destroyer_1 = { amount = 1 owner = GON } } } + ship = { definition = destroyer equipment = { destroyer_1 = { amount = 1 owner = GON } } } + } + + navy = { + name = "Tolfalas Fleet" + base = 902 + location = 902 + ship = { definition = destroyer equipment = { destroyer_1 = { amount = 1 owner = GON } } } + ship = { definition = destroyer equipment = { destroyer_1 = { amount = 1 owner = GON } } } + ship = { definition = destroyer equipment = { destroyer_1 = { amount = 1 owner = GON } } } + } +} + +### Starting Production ### +instant_effect = { + add_equipment_production = { + equipment = { + type = infantry_equipment_0 + creator = "GON" + } + requested_factories = 3 + progress = 0.65 + efficiency = 15 + } + add_equipment_production = { + equipment = { + type = support_equipment_1 + creator = "GON" + } + requested_factories = 1 + progress = 0.95 + efficiency = 10 + } + + add_equipment_production = { + equipment = { + type = heavy_cruiser_1 + creator = "GON" + } + requested_factories = 1 + progress = 0.5 + amount = 1 + } + add_equipment_production = { + equipment = { + type = destroyer_1 + creator = "GON" + } + requested_factories = 1 + progress = 0.7 + amount = 5 + } +} diff --git a/history/units/GON_Ghosts.txt b/history/units/GON_Ghosts.txt index 288db75b8..7a47ada42 100644 --- a/history/units/GON_Ghosts.txt +++ b/history/units/GON_Ghosts.txt @@ -1,5 +1,6 @@ division_template = { name = "Dead Infantry" + is_locked = yes regiments = { infantry = { x = 0 y = 0 } @@ -13,8 +14,7 @@ division_template = { infantry = { x = 2 y = 2 } } support = { - artillery = { x = 0 y = 0 } - recon = { x = 0 y = 1 } + recon = { x = 0 y = 0 } engineer = { x = 0 y = 1 } } } @@ -26,105 +26,70 @@ units = { name = "Ghost Unit" location = 5451 division_template = "Dead Infantry" - start_experience_factor = 0.3 - start_equipment_factor = 1.0 + start_experience_factor = 1 + start_equipment_factor = 0.75 } division = { name = "Ghost Unit" location = 5451 division_template = "Dead Infantry" - start_experience_factor = 0.3 - start_equipment_factor = 1.0 + start_experience_factor = 1 + start_equipment_factor = 0.75 } division = { name = "Ghost Unit" location = 5451 division_template = "Dead Infantry" - start_experience_factor = 0.3 - start_equipment_factor = 1.0 + start_experience_factor = 1 + start_equipment_factor = 0.75 } division = { name = "Ghost Unit" location = 5451 division_template = "Dead Infantry" - start_experience_factor = 0.3 - start_equipment_factor = 1.0 + start_experience_factor = 1 + start_equipment_factor = 0.75 } division = { name = "Ghost Unit" location = 5451 division_template = "Dead Infantry" - start_experience_factor = 0.3 - start_equipment_factor = 1.0 + start_experience_factor = 1 + start_equipment_factor = 0.75 } division = { name = "Ghost Unit" location = 5451 division_template = "Dead Infantry" - start_experience_factor = 0.3 - start_equipment_factor = 1.0 + start_experience_factor = 1 + start_equipment_factor = 0.75 } division = { name = "Ghost Unit" location = 5451 division_template = "Dead Infantry" - start_experience_factor = 0.3 - start_equipment_factor = 1.0 + start_experience_factor = 1 + start_equipment_factor = 0.75 } division = { name = "Ghost Unit" location = 5451 division_template = "Dead Infantry" - start_experience_factor = 0.3 - start_equipment_factor = 1.0 + start_experience_factor = 1 + start_equipment_factor = 0.75 } division = { name = "Ghost Unit" location = 5451 division_template = "Dead Infantry" - start_experience_factor = 0.3 - start_equipment_factor = 1.0 + start_experience_factor = 1 + start_equipment_factor = 0.75 } division = { name = "Ghost Unit" location = 5451 division_template = "Dead Infantry" - start_experience_factor = 0.3 - start_equipment_factor = 1.0 - } - division = { - name = "Ghost Unit" - location = 5451 - division_template = "Dead Infantry" - start_experience_factor = 0.3 - start_equipment_factor = 1.0 - } - division = { - name = "Ghost Unit" - location = 5451 - division_template = "Dead Infantry" - start_experience_factor = 0.3 - start_equipment_factor = 1.0 - } - division = { - name = "Ghost Unit" - location = 5451 - division_template = "Dead Infantry" - start_experience_factor = 0.3 - start_equipment_factor = 1.0 - } - division = { - name = "Ghost Unit" - location = 5451 - division_template = "Dead Infantry" - start_experience_factor = 0.3 - start_equipment_factor = 1.0 - } - division = { - name = "Ghost Unit" - location = 5451 - division_template = "Dead Infantry" - start_experience_factor = 0.3 - start_equipment_factor = 1.0 + start_experience_factor = 1 + start_equipment_factor = 0.75 } } \ No newline at end of file diff --git a/history/units/GON_Loyalists.txt b/history/units/GON_Loyalists.txt new file mode 100644 index 000000000..e2a8bdc90 --- /dev/null +++ b/history/units/GON_Loyalists.txt @@ -0,0 +1,57 @@ +division_template = { + name = "Stewartship Loyalists" + + regiments = { + infantry = { x = 0 y = 0 } + infantry = { x = 0 y = 1 } + infantry = { x = 0 y = 2 } + infantry = { x = 1 y = 0 } + infantry = { x = 1 y = 1 } + infantry = { x = 1 y = 2 } + infantry = { x = 2 y = 0 } + infantry = { x = 2 y = 1 } + infantry = { x = 2 y = 2 } + } + support = { + artillery = { x = 0 y = 0 } + } +} + +units = { + ##### LAND UNITS ##### + division = { + name = "Stewartship Loyalists" + location = 4726 + division_template = "Stewartship Loyalists" + start_experience_factor = 0.5 + start_equipment_factor = 0.85 + } + division = { + name = "Stewartship Loyalists" + location = 4726 + division_template = "Stewartship Loyalists" + start_experience_factor = 0.5 + start_equipment_factor = 0.85 + } + division = { + name = "Stewartship Loyalists" + location = 4726 + division_template = "Stewartship Loyalists" + start_experience_factor = 0.5 + start_equipment_factor = 0.85 + } + division = { + name = "Stewartship Loyalists" + location = 902 + division_template = "Stewartship Loyalists" + start_experience_factor = 0.5 + start_equipment_factor = 0.85 + } + division = { + name = "Stewartship Loyalists" + location = 902 + division_template = "Stewartship Loyalists" + start_experience_factor = 0.5 + start_equipment_factor = 0.85 + } +} \ No newline at end of file diff --git a/history/units/LTH_1936.txt b/history/units/LTH_1936.txt index 0e2fb0e86..ecce0a15d 100644 --- a/history/units/LTH_1936.txt +++ b/history/units/LTH_1936.txt @@ -1,6 +1,19 @@ ##### Division Templates ##### division_template = { - name = "Elven Archers" # Rifle Division + name = "Elven Swordsmen" + + regiments = { + infantry = { x = 0 y = 0 } + infantry = { x = 0 y = 1 } + infantry = { x = 1 y = 0 } + infantry = { x = 1 y = 1 } + } + support = { + } +} + +division_template = { + name = "Elven Archers" regiments = { infantry = { x = 0 y = 0 } @@ -11,12 +24,12 @@ division_template = { infantry = { x = 2 y = 1 } } support = { - artillery = { x = 0 y = 0 } # Heavy Arty Regiment had 1x 152mm bn + 2x 122mm bn + artillery = { x = 0 y = 0 } } } division_template = { - name = "Elven Scouts" # Motor Rifle Division + name = "Elven Scouts" regiments = { infantry = { x = 0 y = 0 } infantry = { x = 0 y = 1 } @@ -133,7 +146,7 @@ instant_effect = { type = infantry_equipment_0 creator = "LTH" } - requested_factories = 3 + requested_factories = 2 progress = 0.66 efficiency = 20 } diff --git a/history/units/Lothlorien_Air_HelmsDeep.txt b/history/units/Lothlorien_Air_HelmsDeep.txt new file mode 100644 index 000000000..632e6d666 --- /dev/null +++ b/history/units/Lothlorien_Air_HelmsDeep.txt @@ -0,0 +1,72 @@ +##### Division Templates ##### +division_template = { + name = "Marchwardens of Lothlórien" + + is_locked = yes + + override_model = LTH_infantry_entity + + regiments = { + artillery_brigade = { x = 0 y = 0 } + artillery_brigade = { x = 0 y = 1 } + infantry = { x = 1 y = 0 } + infantry = { x = 1 y = 1 } + infantry = { x = 1 y = 2 } + standard_bearer = { x = 2 y = 0 } + infantry = { x = 2 y = 1 } + infantry = { x = 2 y = 2 } + infantry = { x = 3 y = 0 } + infantry = { x = 3 y = 1 } + infantry = { x = 3 y = 2 } + artillery_brigade = { x = 4 y = 0 } + artillery_brigade = { x = 4 y = 1 } + } + support = { + artillery = { x = 0 y = 0 } + } +} + +##### OOB ##### +units = { + ##### LAND UNITS ##### + division = { + name = "1st Marchwardens of Lothlórien" + location = 4628 + division_template = "Marchwardens of Lothlórien" + start_experience_factor = 1.0 + start_equipment_factor = 1.0 + + officer = { + name = "Haldir" + portraits = { army = { large = "GFX_portrait_lothlorien_haldir" small = "GFX_portrait_lothlorien_haldir_small" } } + } + officer = { + name = "Tolthion" + portraits = { army = { large = "GFX_portrait_elves_generic_69" small = "GFX_portrait_elves_generic_69_small" } } + } + officer = { + name = "Remlassion" + portraits = { army = { large = "GFX_portrait_elves_generic_62" small = "GFX_portrait_elves_generic_62_small" } } + } + } + division = { + name = "2nd Marchwardens of Lothlórien" + location = 4628 + division_template = "Marchwardens of Lothlórien" + start_experience_factor = 1.0 + start_equipment_factor = 1.0 + + officer = { + name = "Pedirion" + portraits = { army = { large = "GFX_portrait_elves_generic_57" small = "GFX_portrait_elves_generic_57_small" } } + } + officer = { + name = "Breniedir" + portraits = { army = { large = "GFX_portrait_elves_generic_52" small = "GFX_portrait_elves_generic_52_small" } } + } + officer = { + name = "Gwestedir" + portraits = { army = { large = "GFX_portrait_elves_generic_58" small = "GFX_portrait_elves_generic_58_small" } } + } + } +} diff --git a/history/units/Lothlorien_Air_MinasTirith.txt b/history/units/Lothlorien_Air_MinasTirith.txt new file mode 100644 index 000000000..6e3bc8ccd --- /dev/null +++ b/history/units/Lothlorien_Air_MinasTirith.txt @@ -0,0 +1,72 @@ +##### Division Templates ##### +division_template = { + name = "Marchwardens of Lothlórien" + + is_locked = yes + + override_model = LTH_infantry_entity + + regiments = { + artillery_brigade = { x = 0 y = 0 } + artillery_brigade = { x = 0 y = 1 } + infantry = { x = 1 y = 0 } + infantry = { x = 1 y = 1 } + infantry = { x = 1 y = 2 } + standard_bearer = { x = 2 y = 0 } + infantry = { x = 2 y = 1 } + infantry = { x = 2 y = 2 } + infantry = { x = 3 y = 0 } + infantry = { x = 3 y = 1 } + infantry = { x = 3 y = 2 } + artillery_brigade = { x = 4 y = 0 } + artillery_brigade = { x = 4 y = 1 } + } + support = { + artillery = { x = 0 y = 0 } + } +} + +##### OOB ##### +units = { + ##### LAND UNITS ##### + division = { + name = "1st Marchwardens of Lothlórien" + location = 6980 + division_template = "Marchwardens of Lothlórien" + start_experience_factor = 1.0 + start_equipment_factor = 1.0 + + officer = { + name = "Haldir" + portraits = { army = { large = "GFX_portrait_lothlorien_haldir" small = "GFX_portrait_lothlorien_haldir_small" } } + } + officer = { + name = "Tolthion" + portraits = { army = { large = "GFX_portrait_elves_generic_69" small = "GFX_portrait_elves_generic_69_small" } } + } + officer = { + name = "Remlassion" + portraits = { army = { large = "GFX_portrait_elves_generic_62" small = "GFX_portrait_elves_generic_62_small" } } + } + } + division = { + name = "2nd Marchwardens of Lothlórien" + location = 6980 + division_template = "Marchwardens of Lothlórien" + start_experience_factor = 1.0 + start_equipment_factor = 1.0 + + officer = { + name = "Pedirion" + portraits = { army = { large = "GFX_portrait_elves_generic_57" small = "GFX_portrait_elves_generic_57_small" } } + } + officer = { + name = "Breniedir" + portraits = { army = { large = "GFX_portrait_elves_generic_52" small = "GFX_portrait_elves_generic_52_small" } } + } + officer = { + name = "Gwestedir" + portraits = { army = { large = "GFX_portrait_elves_generic_58" small = "GFX_portrait_elves_generic_58_small" } } + } + } +} diff --git a/history/units/Lothlorien_Giant.txt b/history/units/Lothlorien_Giant.txt new file mode 100644 index 000000000..6aee53301 --- /dev/null +++ b/history/units/Lothlorien_Giant.txt @@ -0,0 +1,24 @@ +##### Division Templates ##### +division_template = { + name = "Giant" + + is_locked = yes + + regiments = { + giant = { x = 0 y = 0 } + } + support = { + } +} + +##### OOB ##### +units = { + ##### LAND UNITS ##### + division = { + name = "Giant" + location = 5094 + division_template = "Giant" + start_experience_factor = 1.0 + start_equipment_factor = 1.0 + } +} diff --git a/history/units/Lothlorien_MirrorsCult.txt b/history/units/Lothlorien_MirrorsCult.txt new file mode 100644 index 000000000..ea2e5d686 --- /dev/null +++ b/history/units/Lothlorien_MirrorsCult.txt @@ -0,0 +1,40 @@ +##### Division Templates ##### +division_template = { + name = "Mirror's Cult" + + is_locked = yes + + regiments = { + infantry = { x = 0 y = 0 } + infantry = { x = 0 y = 1 } + artillery_brigade = { x = 0 y = 2 } + infantry = { x = 1 y = 0 } + standard_bearer = { x = 1 y = 1 } + infantry = { x = 1 y = 2 } + infantry = { x = 2 y = 0 } + standard_bearer = { x = 2 y = 1 } + infantry = { x = 2 y = 2 } + infantry = { x = 3 y = 0 } + standard_bearer = { x = 3 y = 1 } + infantry = { x = 3 y = 2 } + infantry = { x = 4 y = 0 } + infantry = { x = 4 y = 1 } + artillery_brigade = { x = 4 y = 2 } + } + support = { + recon = { x = 0 y = 0 } + artillery = { x = 0 y = 1 } + } +} + +##### OOB ##### +units = { + ##### LAND UNITS ##### + division = { + name = "Mirror's Cult" + location = 5094 + division_template = "Mirror's Cult" + start_experience_factor = 1.0 + start_equipment_factor = 1.0 + } +} diff --git a/history/units/Lothlorien_Orc_Prisoners.txt b/history/units/Lothlorien_Orc_Prisoners.txt new file mode 100644 index 000000000..b3f2879f9 --- /dev/null +++ b/history/units/Lothlorien_Orc_Prisoners.txt @@ -0,0 +1,18 @@ +##### OOB ##### +units = { + ##### LAND UNITS ##### + division = { + name = "Orc Prisoner Division" + location = 5094 + division_template = "Orc Prisoner Division" + start_experience_factor = 0.5 + start_equipment_factor = 1.0 + } + division = { + name = "Orc Prisoner Division" + location = 5094 + division_template = "Orc Prisoner Division" + start_experience_factor = 0.5 + start_equipment_factor = 1.0 + } +} diff --git a/history/units/Lothlorien_Orc_Prisoners_2.txt b/history/units/Lothlorien_Orc_Prisoners_2.txt new file mode 100644 index 000000000..c6434edae --- /dev/null +++ b/history/units/Lothlorien_Orc_Prisoners_2.txt @@ -0,0 +1,18 @@ +##### OOB ##### +units = { + ##### LAND UNITS ##### + division = { + name = "Orc Prisoner Division" + location = 5094 + division_template = "Uruk Prisoner Division" + start_experience_factor = 0.5 + start_equipment_factor = 1.0 + } + division = { + name = "Orc Prisoner Division" + location = 5094 + division_template = "Uruk Prisoner Division" + start_experience_factor = 0.5 + start_equipment_factor = 1.0 + } +} diff --git a/history/units/Lothlorien_Orc_Prisoners_2_Template.txt b/history/units/Lothlorien_Orc_Prisoners_2_Template.txt new file mode 100644 index 000000000..5ec523032 --- /dev/null +++ b/history/units/Lothlorien_Orc_Prisoners_2_Template.txt @@ -0,0 +1,32 @@ +##### Division Templates ##### +division_template = { + name = "Uruk Prisoner Division" + + is_locked = yes + + override_model = MOR_infantry_entity + + regiments = { + penal_battalion = { x = 0 y = 0 } + penal_battalion = { x = 0 y = 1 } + penal_battalion = { x = 0 y = 2 } + penal_battalion = { x = 0 y = 3 } + penal_battalion = { x = 1 y = 0 } + penal_battalion = { x = 1 y = 1 } + penal_battalion = { x = 1 y = 2 } + penal_battalion = { x = 1 y = 3 } + penal_battalion = { x = 2 y = 0 } + penal_battalion = { x = 2 y = 1 } + penal_battalion = { x = 2 y = 2 } + penal_battalion = { x = 2 y = 3 } + penal_battalion = { x = 3 y = 0 } + penal_battalion = { x = 3 y = 1 } + penal_battalion = { x = 3 y = 2 } + penal_battalion = { x = 3 y = 3 } + } + support = { + recon = { x = 0 y = 0 } + artillery = { x = 0 y = 1 } + engineer = { x = 0 y = 2 } + } +} \ No newline at end of file diff --git a/history/units/Lothlorien_Orc_Prisoners_Template.txt b/history/units/Lothlorien_Orc_Prisoners_Template.txt new file mode 100644 index 000000000..f6b9a0a9d --- /dev/null +++ b/history/units/Lothlorien_Orc_Prisoners_Template.txt @@ -0,0 +1,23 @@ +##### Division Templates ##### +division_template = { + name = "Orc Prisoner Division" + + is_locked = yes + + override_model = MOR_infantry_entity + + regiments = { + penal_battalion = { x = 0 y = 0 } + penal_battalion = { x = 0 y = 1 } + penal_battalion = { x = 0 y = 2 } + penal_battalion = { x = 1 y = 0 } + penal_battalion = { x = 1 y = 1 } + penal_battalion = { x = 1 y = 2 } + penal_battalion = { x = 2 y = 0 } + penal_battalion = { x = 2 y = 1 } + penal_battalion = { x = 2 y = 2 } + penal_battalion = { x = 2 y = 3 } + } + support = { + } +} \ No newline at end of file diff --git a/history/units/Lothlorien_QueensGuard.txt b/history/units/Lothlorien_QueensGuard.txt new file mode 100644 index 000000000..f50f3d45f --- /dev/null +++ b/history/units/Lothlorien_QueensGuard.txt @@ -0,0 +1,51 @@ +##### Division Templates ##### +division_template = { + name = "Queen's Guard" + + is_locked = yes + + regiments = { + infantry = { x = 0 y = 0 } + infantry = { x = 0 y = 1 } + artillery_brigade = { x = 0 y = 2 } + artillery_brigade = { x = 0 y = 3 } + artillery_brigade = { x = 0 y = 4 } + infantry = { x = 1 y = 0 } + standard_bearer = { x = 1 y = 1 } + infantry = { x = 1 y = 2 } + infantry = { x = 1 y = 3 } + infantry = { x = 1 y = 4 } + infantry = { x = 2 y = 0 } + standard_bearer = { x = 2 y = 1 } + infantry = { x = 2 y = 2 } + infantry = { x = 2 y = 3 } + infantry = { x = 2 y = 4 } + infantry = { x = 3 y = 0 } + standard_bearer = { x = 3 y = 1 } + infantry = { x = 3 y = 2 } + infantry = { x = 3 y = 3 } + infantry = { x = 3 y = 4 } + infantry = { x = 4 y = 0 } + infantry = { x = 4 y = 1 } + artillery_brigade = { x = 4 y = 2 } + artillery_brigade = { x = 4 y = 3 } + artillery_brigade = { x = 4 y = 4 } + } + support = { + recon = { x = 0 y = 0 } + artillery = { x = 0 y = 1 } + engineer = { x = 0 y = 2 } + } +} + +##### OOB ##### +units = { + ##### LAND UNITS ##### + division = { + name = "The Queen's Guard" + location = 5094 + division_template = "Queen's Guard" + start_experience_factor = 1.0 + start_equipment_factor = 1.0 + } +} diff --git a/history/units/Lothlorien_Sentinels.txt b/history/units/Lothlorien_Sentinels.txt new file mode 100644 index 000000000..0c5108b83 --- /dev/null +++ b/history/units/Lothlorien_Sentinels.txt @@ -0,0 +1,48 @@ +##### Division Templates ##### +division_template = { + name = "Sentinel of Cerin Amroth" + + regiments = { + marchwardens_of_lothlorien = { x = 0 y = 0 } + marchwardens_of_lothlorien = { x = 0 y = 1 } + marchwardens_of_lothlorien = { x = 0 y = 2 } + standard_bearer = { x = 1 y = 0 } + marchwardens_of_lothlorien = { x = 1 y = 1 } + marchwardens_of_lothlorien = { x = 1 y = 2 } + marchwardens_of_lothlorien = { x = 2 y = 0 } + marchwardens_of_lothlorien = { x = 2 y = 1 } + marchwardens_of_lothlorien = { x = 2 y = 2 } + artillery_brigade = { x = 3 y = 0 } + artillery_brigade = { x = 3 y = 1 } + } + support = { + sindar_pathstalkers = { x = 0 y = 0 } + artillery = { x = 0 y = 1 } + } +} + +##### OOB ##### +units = { + ##### LAND UNITS ##### + division = { + name = "1st Sentinels of Cerin Amroth" + location = 3125 + division_template = "Sentinel of Cerin Amroth" + start_experience_factor = 1.0 + start_equipment_factor = 1.0 + } + division = { + name = "2nd Sentinels of Cerin Amroth" + location = 3125 + division_template = "Sentinel of Cerin Amroth" + start_experience_factor = 1.0 + start_equipment_factor = 1.0 + } + division = { + name = "3rd Sentinels of Cerin Amroth" + location = 3125 + division_template = "Sentinel of Cerin Amroth" + start_experience_factor = 1.0 + start_equipment_factor = 1.0 + } +} diff --git a/history/units/Lothlorien_Spiders.txt b/history/units/Lothlorien_Spiders.txt new file mode 100644 index 000000000..4631d271c --- /dev/null +++ b/history/units/Lothlorien_Spiders.txt @@ -0,0 +1,18 @@ +##### OOB ##### +units = { + ##### LAND UNITS ##### + division = { + name = "Spiderling Division" + location = 5094 + division_template = "Spiderling Division" + start_experience_factor = 0.0 + start_equipment_factor = 1.0 + } + division = { + name = "Spiderling Division" + location = 5094 + division_template = "Spiderling Division" + start_experience_factor = 0.0 + start_equipment_factor = 1.0 + } +} diff --git a/history/units/Lothlorien_Spiders_2.txt b/history/units/Lothlorien_Spiders_2.txt new file mode 100644 index 000000000..3b4d7e002 --- /dev/null +++ b/history/units/Lothlorien_Spiders_2.txt @@ -0,0 +1,18 @@ +##### OOB ##### +units = { + ##### LAND UNITS ##### + division = { + name = "Spider-Ent Division" + location = 5094 + division_template = "Spider-Ent Division" + start_experience_factor = 0.0 + start_equipment_factor = 1.0 + } + division = { + name = "Spider-Ent Division" + location = 5094 + division_template = "Spider-Ent Division" + start_experience_factor = 0.0 + start_equipment_factor = 1.0 + } +} diff --git a/history/units/Lothlorien_Spiders_2_Template.txt b/history/units/Lothlorien_Spiders_2_Template.txt new file mode 100644 index 000000000..67fd03c08 --- /dev/null +++ b/history/units/Lothlorien_Spiders_2_Template.txt @@ -0,0 +1,19 @@ +##### Division Templates ##### +division_template = { + name = "Spider-Ent Division" + + is_locked = yes + + regiments = { + spider_infantry = { x = 0 y = 0 } + spider_infantry = { x = 0 y = 1 } + spider_infantry = { x = 0 y = 2 } + spider_infantry = { x = 1 y = 0 } + spider_infantry = { x = 1 y = 1 } + ent_infantry = { x = 2 y = 0 } + ent_infantry = { x = 2 y = 1 } + ent_infantry = { x = 2 y = 2 } + } + support = { + } +} \ No newline at end of file diff --git a/history/units/Lothlorien_Spiders_Template.txt b/history/units/Lothlorien_Spiders_Template.txt new file mode 100644 index 000000000..da673e7af --- /dev/null +++ b/history/units/Lothlorien_Spiders_Template.txt @@ -0,0 +1,16 @@ +##### Division Templates ##### +division_template = { + name = "Spiderling Division" + + is_locked = yes + + regiments = { + spider_infantry = { x = 0 y = 0 } + spider_infantry = { x = 0 y = 1 } + spider_infantry = { x = 0 y = 2 } + spider_infantry = { x = 1 y = 0 } + spider_infantry = { x = 1 y = 1 } + } + support = { + } +} \ No newline at end of file diff --git a/history/units/Moria_Balrog.txt b/history/units/Moria_Balrog.txt new file mode 100644 index 000000000..e57f59d6b --- /dev/null +++ b/history/units/Moria_Balrog.txt @@ -0,0 +1,23 @@ +division_template = { + name = "Balrog" + + is_locked = yes + + regiments = { + balrog = { x = 0 y = 0 } + } + support = { + } +} + +##### OOB ##### +units = { + ##### LAND UNITS ##### + division = { + name = "Durin's Bane" + location = 4710 + division_template = "Balrog" + start_experience_factor = 1.0 + start_equipment_factor = 1.0 + } +} \ No newline at end of file diff --git a/history/units/RHD_GreyCompany.txt b/history/units/RHD_GreyCompany.txt new file mode 100644 index 000000000..9d9d33b7d --- /dev/null +++ b/history/units/RHD_GreyCompany.txt @@ -0,0 +1,52 @@ +##### Division Templates ##### +division_template = { + name = "Grey Company" + + regiments = { + infantry = { x = 0 y = 0 } + infantry = { x = 0 y = 1 } + artillery_brigade = { x = 0 y = 2 } + infantry = { x = 1 y = 0 } + infantry = { x = 1 y = 1 } + artillery_brigade = { x = 1 y = 2 } + infantry = { x = 2 y = 0 } + infantry = { x = 2 y = 1 } + infantry = { x = 2 y = 2 } + } + support = { + recon = { x = 0 y = 0 } + } +} + +##### OOB ##### +units = { + ##### LAND UNITS ##### + division = { + name = "Grey Company" + location = 5886 + division_template = "Grey Company" + start_experience_factor = 0.8 + start_equipment_factor = 1.0 + } + division = { + name = "Grey Company" + location = 5886 + division_template = "Grey Company" + start_experience_factor = 0.8 + start_equipment_factor = 1.0 + } + division = { + name = "Grey Company" + location = 5886 + division_template = "Grey Company" + start_experience_factor = 0.8 + start_equipment_factor = 1.0 + } + division = { + name = "Grey Company" + location = 5886 + division_template = "Grey Company" + start_experience_factor = 0.8 + start_equipment_factor = 1.0 + } +} diff --git a/history/units/SPI_Spiders.txt b/history/units/SPI_Spiders.txt index 809c163cf..4d81dfa59 100644 --- a/history/units/SPI_Spiders.txt +++ b/history/units/SPI_Spiders.txt @@ -3,12 +3,12 @@ division_template = { name = "Spider Division" regiments = { - infantry = { x = 0 y = 0 } - infantry = { x = 0 y = 1 } - infantry = { x = 0 y = 2 } - infantry = { x = 1 y = 0 } - infantry = { x = 1 y = 1 } - infantry = { x = 1 y = 2 } + spider_infantry = { x = 0 y = 0 } + spider_infantry = { x = 0 y = 1 } + spider_infantry = { x = 0 y = 2 } + spider_infantry = { x = 1 y = 0 } + spider_infantry = { x = 1 y = 1 } + spider_infantry = { x = 1 y = 2 } } support = { recon = { x = 0 y = 0 } @@ -18,10 +18,10 @@ division_template = { division_template = { name = "Spiderling Division" regiments = { - infantry = { x = 0 y = 0 } - infantry = { x = 0 y = 1 } - infantry = { x = 1 y = 0 } - infantry = { x = 1 y = 1 } + spider_infantry = { x = 0 y = 0 } + spider_infantry = { x = 0 y = 1 } + spider_infantry = { x = 1 y = 0 } + spider_infantry = { x = 1 y = 1 } } support = { recon = { x = 0 y = 0 } diff --git a/history/units/UMB_Armada.txt b/history/units/UMB_Armada.txt index c962eae52..ffd327237 100644 --- a/history/units/UMB_Armada.txt +++ b/history/units/UMB_Armada.txt @@ -1,5 +1,5 @@ ### IJN ### -unity = { +units = { navy = { name = "Umbar Armada" base =1248 diff --git a/history/units/ithc/ithc_slepper_cells_135.txt b/history/units/ithc/ithc_slepper_cells_135.txt new file mode 100644 index 000000000..7409fac9c --- /dev/null +++ b/history/units/ithc/ithc_slepper_cells_135.txt @@ -0,0 +1,36 @@ +division_template = { + name = "Orc Saboteur" + + regiments = { + infantry = { x = 0 y = 0 } + infantry = { x = 0 y = 1 } + infantry = { x = 1 y = 0 } + infantry = { x = 1 y = 1 } + } + support = { + } +} + +units = { + division = { + name = "Orc Saboteurs" + location = 3840 + division_template = "Orc Saboteur" + start_experience_factor = 0.0 + start_equipment_factor = 1.0 + } + division = { + name = "Orc Saboteurs" + location = 7241 + division_template = "Orc Saboteur" + start_experience_factor = 0.0 + start_equipment_factor = 1.0 + } + division = { + name = "Orc Saboteurs" + location = 2866 + division_template = "Orc Saboteur" + start_experience_factor = 0.0 + start_equipment_factor = 1.0 + } +} \ No newline at end of file diff --git a/history/units/ithc/ithc_slepper_cells_173.txt b/history/units/ithc/ithc_slepper_cells_173.txt new file mode 100644 index 000000000..4d54eac85 --- /dev/null +++ b/history/units/ithc/ithc_slepper_cells_173.txt @@ -0,0 +1,36 @@ +division_template = { + name = "Orc Saboteur" + + regiments = { + infantry = { x = 0 y = 0 } + infantry = { x = 0 y = 1 } + infantry = { x = 1 y = 0 } + infantry = { x = 1 y = 1 } + } + support = { + } +} + +units = { + division = { + name = "Orc Saboteurs" + location = 7008 + division_template = "Orc Saboteur" + start_experience_factor = 0.0 + start_equipment_factor = 1.0 + } + division = { + name = "Orc Saboteurs" + location = 7029 + division_template = "Orc Saboteur" + start_experience_factor = 0.0 + start_equipment_factor = 1.0 + } + division = { + name = "Orc Saboteurs" + location = 7030 + division_template = "Orc Saboteur" + start_experience_factor = 0.0 + start_equipment_factor = 1.0 + } +} \ No newline at end of file diff --git a/history/units/ithc/ithc_slepper_cells_175.txt b/history/units/ithc/ithc_slepper_cells_175.txt new file mode 100644 index 000000000..98fe910c4 --- /dev/null +++ b/history/units/ithc/ithc_slepper_cells_175.txt @@ -0,0 +1,36 @@ +division_template = { + name = "Orc Saboteur" + + regiments = { + infantry = { x = 0 y = 0 } + infantry = { x = 0 y = 1 } + infantry = { x = 1 y = 0 } + infantry = { x = 1 y = 1 } + } + support = { + } +} + +units = { + division = { + name = "Orc Saboteurs" + location = 7180 + division_template = "Orc Saboteur" + start_experience_factor = 0.0 + start_equipment_factor = 1.0 + } + division = { + name = "Orc Saboteurs" + location = 3267 + division_template = "Orc Saboteur" + start_experience_factor = 0.0 + start_equipment_factor = 1.0 + } + division = { + name = "Orc Saboteurs" + location = 3998 + division_template = "Orc Saboteur" + start_experience_factor = 0.0 + start_equipment_factor = 1.0 + } +} \ No newline at end of file diff --git a/history/units/ithc/ithc_slepper_cells_22.txt b/history/units/ithc/ithc_slepper_cells_22.txt new file mode 100644 index 000000000..9eca3fc56 --- /dev/null +++ b/history/units/ithc/ithc_slepper_cells_22.txt @@ -0,0 +1,36 @@ +division_template = { + name = "Orc Saboteur" + + regiments = { + infantry = { x = 0 y = 0 } + infantry = { x = 0 y = 1 } + infantry = { x = 1 y = 0 } + infantry = { x = 1 y = 1 } + } + support = { + } +} + +units = { + division = { + name = "Orc Saboteurs" + location = 792 + division_template = "Orc Saboteur" + start_experience_factor = 0.0 + start_equipment_factor = 1.0 + } + division = { + name = "Orc Saboteurs" + location = 6910 + division_template = "Orc Saboteur" + start_experience_factor = 0.0 + start_equipment_factor = 1.0 + } + division = { + name = "Orc Saboteurs" + location = 3515 + division_template = "Orc Saboteur" + start_experience_factor = 0.0 + start_equipment_factor = 1.0 + } +} \ No newline at end of file diff --git a/history/units/rhun/CV_rally_troops_lithlad.txt b/history/units/rhun/CV_rally_troops_lithlad.txt index 9506b11d1..9e02b78a1 100644 --- a/history/units/rhun/CV_rally_troops_lithlad.txt +++ b/history/units/rhun/CV_rally_troops_lithlad.txt @@ -29,5 +29,4 @@ units = { start_experience_factor = 0.3 start_equipment_factor = 0.7 } -} } \ No newline at end of file diff --git a/history/units/unlock_heavy_infantry.txt b/history/units/unlock_heavy_infantry.txt new file mode 100644 index 000000000..3f12f361d --- /dev/null +++ b/history/units/unlock_heavy_infantry.txt @@ -0,0 +1,14 @@ +division_template = { + name = "Heavy Infantry" + + regiments = { + heavy_infantry = { x = 0 y = 0 } + heavy_infantry = { x = 0 y = 1 } + heavy_infantry = { x = 0 y = 2 } + heavy_infantry = { x = 1 y = 0 } + heavy_infantry = { x = 1 y = 1 } + heavy_infantry = { x = 1 y = 2 } + } + support = { + } +} \ No newline at end of file diff --git a/interface/Custom_Icons.gfx b/interface/Custom_Icons.gfx index cf9b6155f..7e7c52838 100644 --- a/interface/Custom_Icons.gfx +++ b/interface/Custom_Icons.gfx @@ -1,374 +1,8976 @@ spriteTypes = { SpriteType = { - name = "GFX_goal_support_cooperative" - texturefile = "gfx/interface/goals/Generic/GFX_goal_support_cooperative.dds" + name = "GFX_goal_angmar_unalligned" + texturefile = "gfx/interface/goals/ANG/GFX_goal_angmar_unalligned.tga" + } + SpriteType = { + name = "GFX_goal_mordor" + texturefile = "gfx/interface/goals/ANG/GFX_goal_mordor.tga" + } + SpriteType = { + name = "GFX_goal_mordor_deal" + texturefile = "gfx/interface/goals/ANG/GFX_goal_mordor_deal.tga" + } + SpriteType = { + name = "GFX_goal_witch_king" + texturefile = "gfx/interface/goals/ANG/GFX_goal_witch_king.tga" + } + SpriteType = { + name = "GFX_goal_rangers_of_the_north" + texturefile = "gfx/interface/goals/ART/GFX_goal_rangers_of_the_north.tga" + } + SpriteType = { + name = "GFX_unite_by_force" + texturefile = "gfx/interface/goals/ART/GFX_unite_by_force.tga" + } + SpriteType = { + name = "GFX_goal_community_effort" + texturefile = "gfx/interface/goals/ENT/GFX_goal_community_effort.tga" + } + SpriteType = { + name = "GFX_goal_entwood" + texturefile = "gfx/interface/goals/ENT/GFX_goal_entwood.tga" + } + SpriteType = { + name = "GFX_goal_fury_of_the_trees" + texturefile = "gfx/interface/goals/ENT/GFX_goal_fury_of_the_trees.tga" + } + SpriteType = { + name = "GFX_goal_one_with_the_forest" + texturefile = "gfx/interface/goals/ENT/GFX_goal_one_with_the_forest.tga" + } + SpriteType = { + name = "GFX_goal_teachings_of_the_ancients" + texturefile = "gfx/interface/goals/ENT/GFX_goal_teachings_of_the_ancients.tga" + } + SpriteType = { + name = "GFX_goal_army_dwarves" + texturefile = "gfx/interface/goals/ERE/GFX_goal_army_dwarves.tga" + } + SpriteType = { + name = "GFX_goal_generic_anvil" + texturefile = "gfx/interface/goals/Generic/GFX_goal_generic_anvil.tga" } SpriteType = { name = "GFX_goal_generic_gondor_research" - texturefile = "gfx/interface/goals/Generic/GFX_goal_generic_gondor_research.dds" + texturefile = "gfx/interface/goals/Generic/GFX_goal_generic_gondor_research.tga" } SpriteType = { name = "GFX_goal_generic_industry_I" - texturefile = "gfx/interface/goals/Generic/GFX_goal_generic_industry_I.dds" + texturefile = "gfx/interface/goals/Generic/GFX_goal_generic_industry_I.tga" } SpriteType = { - name = "GFX_goal_resource_wood" - texturefile = "gfx/interface/goals/Generic/GFX_goal_resource_wood.dds" + name = "GFX_goal_generic_windmile" + texturefile = "gfx/interface/goals/Generic/GFX_goal_generic_windmile.tga" } SpriteType = { - name = "GFX_goal_support_revolutionary" - texturefile = "gfx/interface/goals/Generic/GFX_goal_support_revolutionary.dds" + name = "GFX_goal_resource_wood" + texturefile = "gfx/interface/goals/Generic/GFX_goal_resource_wood.tga" } SpriteType = { name = "GFX_goal_support_belligerent" - texturefile = "gfx/interface/goals/Generic/GFX_goal_support_belligerent.dds" + texturefile = "gfx/interface/goals/Generic/GFX_goal_support_belligerent.tga" + } + SpriteType = { + name = "GFX_goal_support_cooperative" + texturefile = "gfx/interface/goals/Generic/GFX_goal_support_cooperative.tga" + } + SpriteType = { + name = "GFX_goal_support_revolutionary" + texturefile = "gfx/interface/goals/Generic/GFX_goal_support_revolutionary.tga" } SpriteType = { name = "GFX_goal_support_unalligned" - texturefile = "gfx/interface/goals/Generic/GFX_goal_support_unalligned.dds" + texturefile = "gfx/interface/goals/Generic/GFX_goal_support_unalligned.tga" } SpriteType = { - name = "GFX_goal_angmar_unalligned" - texturefile = "gfx/interface/goals/ANG/GFX_goal_angmar_unalligned.dds" + name = "GFX_goal_arnor" + texturefile = "gfx/interface/goals/GON/GFX_goal_arnor.dds" } SpriteType = { - name = "GFX_goal_mordor" - texturefile = "gfx/interface/goals/ANG/GFX_goal_mordor.dds" + name = "GFX_goal_boromir" + texturefile = "gfx/interface/goals/GON/GFX_goal_boromir.tga" } SpriteType = { - name = "GFX_goal_mordor_deal" - texturefile = "gfx/interface/goals/ANG/GFX_goal_mordor_deal.dds" + name = "GFX_goal_denethor" + texturefile = "gfx/interface/goals/GON/GFX_goal_denethor.tga" } SpriteType = { - name = "GFX_goal_witch_king" - texturefile = "gfx/interface/goals/ANG/GFX_goal_witch_king.dds" + name = "GFX_goal_dol_amroth" + texturefile = "gfx/interface/goals/GON/GFX_goal_dol_amroth.dds" } SpriteType = { - name = "GFX_goal_dol_guldur" - texturefile = "gfx/interface/goals/MOR/GFX_goal_dol_guldur.dds" + name = "GFX_goal_faramir" + texturefile = "gfx/interface/goals/GON/GFX_goal_faramir.tga" } SpriteType = { - name = "GFX_goal_erebor" - texturefile = "gfx/interface/goals/MOR/GFX_goal_erebor.dds" + name = "GFX_goal_ghost_army" + texturefile = "gfx/interface/goals/GON/GFX_goal_ghost_army.tga" } SpriteType = { - name = "GFX_goal_grapes" - texturefile = "gfx/interface/goals/MOR/GFX_goal_grapes.dds" + name = "GFX_goal_gondor" + texturefile = "gfx/interface/goals/GON/GFX_goal_gondor.tga" } SpriteType = { - name = "GFX_goal_mordor_landscape" - texturefile = "gfx/interface/goals/MOR/GFX_goal_mordor_landscape.dds" + name = "GFX_goal_gon_dam_propaganda" + texturefile = "gfx/interface/goals/GON/GFX_goal_gon_dam_propaganda.dds" } SpriteType = { - name = "GFX_goal_skull_treaty" - texturefile = "gfx/interface/goals/MOR/GFX_goal_skull_treaty.dds" + name = "GFX_goal_king_aragorn" + texturefile = "gfx/interface/goals/GON/GFX_goal_king_aragorn.tga" } SpriteType = { - name = "GFX_servant_of_melkor" - texturefile = "gfx/interface/goals/MOR/GFX_servant_of_melkor.dds" + name = "GFX_goal_light_the_beacons" + texturefile = "gfx/interface/goals/GON/GFX_goal_light_the_beacons.tga" } SpriteType = { - name = "GFX_trolls" - texturefile = "gfx/interface/goals/MOR/GFX_trolls.dds" + name = "gon_defame_isildurs_lineage" + texturefile = "gfx/interface/goals/GON/gon_defame_isildurs_lineage.dds" } SpriteType = { - name = "GFX_wargoal_dale" - texturefile = "gfx/interface/goals/MOR/GFX_wargoal_dale.dds" + name = "gon_ensure_popular_support" + texturefile = "gfx/interface/goals/GON/gon_ensure_popular_support.dds" } SpriteType = { - name = "GFX_wargoal_dorwinion" - texturefile = "gfx/interface/goals/MOR/GFX_wargoal_dorwinion.dds" + name = "gon_gain_favour_with_the_elves" + texturefile = "gfx/interface/goals/GON/gon_gain_favour_with_the_elves.dds" } SpriteType = { - name = "GFX_wargoal_erebor" - texturefile = "gfx/interface/goals/MOR/GFX_wargoal_erebor.dds" + name = "gon_gondor_needs_no_king" + texturefile = "gfx/interface/goals/GON/gon_gondor_needs_no_king.dds" } SpriteType = { - name = "GFX_wargoal_gondor" - texturefile = "gfx/interface/goals/MOR/GFX_wargoal_gondor.dds" + name = "gon_historical_claims" + texturefile = "gfx/interface/goals/GON/gon_historical_claims.dds" } SpriteType = { - name = "GFX_wargoal_harad" - texturefile = "gfx/interface/goals/MOR/GFX_wargoal_harad.dds" + name = "gon_ithc_emergency_measures" + texturefile = "gfx/interface/goals/GON/gon_ithc_emergency_measures.dds" } SpriteType = { - name = "GFX_wargoal_rhun" - texturefile = "gfx/interface/goals/MOR/GFX_wargoal_rhun.dds" + name = "gon_ithc_evacuate" + texturefile = "gfx/interface/goals/GON/gon_ithc_evacuate.dds" } SpriteType = { - name = "GFX_wargoal_rohan" - texturefile = "gfx/interface/goals/MOR/GFX_wargoal_rohan.dds" + name = "gon_ithc_hold_firm" + texturefile = "gfx/interface/goals/GON/gon_ithc_hold_firm.dds" } SpriteType = { - name = "GFX_goal_restore_baraddr" - texturefile = "gfx/interface/goals/MOR/GFX_goal_restore_baraddr.dds" + name = "gon_ithilien_crisis" + texturefile = "gfx/interface/goals/GON/gon_ithilien_crisis.dds" } SpriteType = { - name = "GFX_goal_azog" - texturefile = "gfx/interface/goals/MOR/GFX_goal_azog.dds" + name = "gon_liberate_the_capital_from_the_usurpers" + texturefile = "gfx/interface/goals/GON/gon_liberate_the_capital_from_the_usurpers.dds" } SpriteType = { - name = "GFX_goal_sauron_eye" - texturefile = "gfx/interface/goals/MOR/GFX_goal_sauron_eye.dds" + name = "gon_purge_the_aristocracy" + texturefile = "gfx/interface/goals/GON/gon_purge_the_aristocracy.dds" } SpriteType = { - name = "GFX_goal_the_one_ring" - texturefile = "gfx/interface/goals/MOR/GFX_goal_the_one_ring.dds" + name = "gon_rally_support_in_enedwaith" + texturefile = "gfx/interface/goals/GON/gon_rally_support_in_enedwaith.dds" } SpriteType = { - name = "GFX_goal_gather_the_nazgl" - texturefile = "gfx/interface/goals/MOR/GFX_goal_gather_the_nazgl.dds" + name = "gon_strengthen_ties_with_angmar" + texturefile = "gfx/interface/goals/GON/gon_strengthen_ties_with_angmar.dds" } SpriteType = { - name = "GFX_goal_dark_dol_guldur" - texturefile = "gfx/interface/goals/MOR/GFX_goal_dark_dol_guldur.dds" + name = "gon_the_peoples_fleet" + texturefile = "gfx/interface/goals/GON/gon_the_peoples_fleet.dds" } SpriteType = { - name = "GFX_goal_meats_back_on_the_menu" - texturefile = "gfx/interface/goals/MOR/GFX_goal_meats_back_on_the_menu.dds" + name = "GFX_goal_gundabad" + texturefile = "gfx/interface/goals/GUN/GFX_goal_gundabad.tga" } SpriteType = { - name = "GFX_goal_stop_melkor_worship" - texturefile = "gfx/interface/goals/MOR/GFX_goal_stop_melkor_worship.dds" + name = "GFX_goal_army_uruk_hai" + texturefile = "gfx/interface/goals/ISE/GFX_goal_army_uruk_hai.tga" } SpriteType = { - name = "GFX_goal_union_of_working_orc_class" - texturefile = "gfx/interface/goals/MOR/GFX_goal_union_of_working_orc_class.dds" + name = "GFX_goal_burn_fangorn_forest" + texturefile = "gfx/interface/goals/ISE/GFX_goal_burn_fangorn_forest.tga" } SpriteType = { - name = "GFX_goal_unleash_sauron" - texturefile = "gfx/interface/goals/MOR/GFX_goal_unleash_sauron.dds" + name = "GFX_goal_imprisend_gandalf" + texturefile = "gfx/interface/goals/ISE/GFX_goal_imprisend_gandalf.tga" } SpriteType = { - name = "GFX_goal_golum" - texturefile = "gfx/interface/goals/MOR/GFX_goal_golum.dds" + name = "GFX_goal_meet_with_gandalf" + texturefile = "gfx/interface/goals/ISE/GFX_goal_meet_with_gandalf.tga" } SpriteType = { - name = "GFX_goal_dale" - texturefile = "gfx/interface/goals/RHU/GFX_goal_dale.dds" + name = "GFX_goal_orthanc_destroyed" + texturefile = "gfx/interface/goals/ISE/GFX_goal_orthanc_destroyed.tga" } SpriteType = { - name = "GFX_goal_dorwinion" - texturefile = "gfx/interface/goals/RHU/GFX_goal_dorwinion.dds" + name = "GFX_goal_rally_the_tribes" + texturefile = "gfx/interface/goals/ISE/GFX_goal_rally_the_tribes.tga" } SpriteType = { - name = "GFX_goal_khamul" - texturefile = "gfx/interface/goals/RHU/GFX_goal_khamul.dds" + name = "GFX_goal_sauron_is_looking" + texturefile = "gfx/interface/goals/ISE/GFX_goal_sauron_is_looking.tga" } SpriteType = { - name = "GFX_goal_rhun_civil_war" - texturefile = "gfx/interface/goals/RHU/GFX_goal_rhun_civil_war.dds" + name = "GFX_goal_the_white_hand" + texturefile = "gfx/interface/goals/ISE/GFX_goal_the_white_hand.tga" } SpriteType = { - name = "GFX_goal_the_blue_wizards" - texturefile = "gfx/interface/goals/RHU/GFX_goal_the_blue_wizards.dds" + name = "GFX_goal_ways_of_the_light" + texturefile = "gfx/interface/goals/ISE/GFX_goal_ways_of_the_light.tga" } SpriteType = { - name = "GFX_wargoal_mordor" - texturefile = "gfx/interface/goals/RHU/GFX_wargoal_mordor.dds" + name = "GFX_goal_celeborn" + texturefile = "gfx/interface/goals/LTH/GFX_goal_celeborn.tga" } SpriteType = { - name = "GFX_goal_king_aragorn" - texturefile = "gfx/interface/goals/GON/GFX_goal_king_aragorn.dds" + name = "GFX_goal_galadriel" + texturefile = "gfx/interface/goals/LTH/GFX_goal_galadriel.tga" } SpriteType = { - name = "GFX_goal_gondor" - texturefile = "gfx/interface/goals/GON/GFX_goal_gondor.dds" + name = "lth_abolishtermlimits" + texturefile = "gfx/interface/goals/LTH/lth_abolishtermlimits.dds" } SpriteType = { - name = "GFX_goal_denethor" - texturefile = "gfx/interface/goals/GON/GFX_goal_denethor.dds" + name = "lth_acceleratetheinevitable" + texturefile = "gfx/interface/goals/LTH/lth_acceleratetheinevitable.dds" } SpriteType = { - name = "GFX_goal_light_the_beacons" - texturefile = "gfx/interface/goals/GON/GFX_goal_light_the_beacons.dds" + name = "lth_acknowledgethemordorthreat" + texturefile = "gfx/interface/goals/LTH/lth_acknowledgethemordorthreat.dds" } SpriteType = { - name = "GFX_goal_ghost_army" - texturefile = "gfx/interface/goals/GON/GFX_goal_ghost_army.dds" + name = "lth_aegisoflight" + texturefile = "gfx/interface/goals/LTH/lth_aegisoflight.dds" } SpriteType = { - name = "GFX_goal_faramir" - texturefile = "gfx/interface/goals/GON/GFX_goal_faramir.dds" + name = "lth_affiliatewithlindon" + texturefile = "gfx/interface/goals/LTH/lth_affiliatewithlindon.dds" } SpriteType = { - name = "GFX_goal_boromir" - texturefile = "gfx/interface/goals/GON/GFX_goal_boromir.dds" + name = "lth_agestureofgoodwill" + texturefile = "gfx/interface/goals/LTH/lth_agestureofgoodwill.dds" } SpriteType = { - name = "GFX_goal_rohan" - texturefile = "gfx/interface/goals/ROH/GFX_goal_rohan.dds" + name = "lth_aidtotheweary" + texturefile = "gfx/interface/goals/LTH/lth_aidtotheweary.dds" } SpriteType = { - name = "GFX_goal_assasinate_eomer" - texturefile = "gfx/interface/goals/ROH/GFX_goal_assasinate_eomer.dds" + name = "lth_alignthenobility" + texturefile = "gfx/interface/goals/LTH/lth_alignthenobility.dds" } SpriteType = { - name = "GFX_goal_eowyn" - texturefile = "gfx/interface/goals/ROH/GFX_goal_eowyn.dds" + name = "lth_allianceoflight" + texturefile = "gfx/interface/goals/LTH/lth_allianceoflight.dds" } SpriteType = { - name = "GFX_goal_trust_gandalf" - texturefile = "gfx/interface/goals/ROH/GFX_goal_trust_gandalf.dds" + name = "lth_allywithmen" + texturefile = "gfx/interface/goals/LTH/lth_allywithmen.dds" } SpriteType = { - name = "GFX_goal_trust_saruman" - texturefile = "gfx/interface/goals/ROH/GFX_goal_trust_saruman.dds" + name = "lth_amostgenerousoffer" + texturefile = "gfx/interface/goals/LTH/lth_amostgenerousoffer.dds" } SpriteType = { - name = "GFX_goal_sick_theoden" - texturefile = "gfx/interface/goals/ROH/GFX_goal_sick_theoden.dds" + name = "lth_ancestralechoesintandem" + texturefile = "gfx/interface/goals/LTH/lth_ancestralechoesintandem.dds" } SpriteType = { - name = "GFX_goal_grima" - texturefile = "gfx/interface/goals/ROH/GFX_goal_grima.dds" + name = "lth_anelvenfellowship" + texturefile = "gfx/interface/goals/LTH/lth_anelvenfellowship.dds" } SpriteType = { - name = "GFX_goal_helms_deep_weakness" - texturefile = "gfx/interface/goals/ROH/GFX_goal_helms_deep_weakness.dds" + name = "lth_anewbeginning" + texturefile = "gfx/interface/goals/LTH/lth_anewbeginning.dds" } SpriteType = { - name = "GFX_goal_allow_gandalf_in" - texturefile = "gfx/interface/goals/ROH/GFX_goal_allow_gandalf_in.dds" + name = "lth_anewelvenlanguage" + texturefile = "gfx/interface/goals/LTH/lth_anewelvenlanguage.dds" } SpriteType = { - name = "GFX_goal_theodred" - texturefile = "gfx/interface/goals/ROH/GFX_goal_theodred.dds" + name = "lth_appointedrepresentatives" + texturefile = "gfx/interface/goals/LTH/lth_appointedrepresentatives.dds" } SpriteType = { - name = "GFX_goal_helms_deep" - texturefile = "gfx/interface/goals/ROH/GFX_goal_helms_deep.dds" + name = "lth_associatewithnonelves" + texturefile = "gfx/interface/goals/LTH/lth_associatewithnonelves.dds" } SpriteType = { - name = "GFX_goal_edoras" - texturefile = "gfx/interface/goals/ROH/GFX_goal_edoras.dds" + name = "lth_atanycost" + texturefile = "gfx/interface/goals/LTH/lth_atanycost.dds" } SpriteType = { - name = "GFX_goal_the_white_hand" - texturefile = "gfx/interface/goals/ISE/GFX_goal_the_white_hand.dds" + name = "lth_atasteofempire" + texturefile = "gfx/interface/goals/LTH/lth_atasteofempire.dds" } SpriteType = { - name = "GFX_goal_army_uruk_hai" - texturefile = "gfx/interface/goals/ISE/GFX_goal_army_uruk_hai.dds" + name = "lth_aulescraftmanship" + texturefile = "gfx/interface/goals/LTH/lth_aulescraftmanship.dds" } SpriteType = { - name = "GFX_goal_sauron_is_looking" - texturefile = "gfx/interface/goals/ISE/GFX_goal_sauron_is_looking.dds" + name = "lth_beaconofhope" + texturefile = "gfx/interface/goals/LTH/lth_beaconofhope.dds" } SpriteType = { - name = "GFX_goal_meet_with_gandalf" - texturefile = "gfx/interface/goals/ISE/GFX_goal_meet_with_gandalf.dds" + name = "lth_bideourtime" + texturefile = "gfx/interface/goals/LTH/lth_bideourtime.dds" } SpriteType = { - name = "GFX_goal_burn_fangorn_forest" - texturefile = "gfx/interface/goals/ISE/GFX_goal_burn_fangorn_forest.dds" + name = "lth_bladesoftheeldar" + texturefile = "gfx/interface/goals/LTH/lth_bladesoftheeldar.dds" } SpriteType = { - name = "GFX_goal_imprisend_gandalf" - texturefile = "gfx/interface/goals/ISE/GFX_goal_imprisend_gandalf.dds" + name = "lth_bondsofnature" + texturefile = "gfx/interface/goals/LTH/lth_bondsofnature.dds" } SpriteType = { - name = "GFX_goal_rally_the_tribes" - texturefile = "gfx/interface/goals/ISE/GFX_goal_rally_the_tribes.dds" + name = "lth_breakthechainsofisolation" + texturefile = "gfx/interface/goals/LTH/lth_breakthechainsofisolation.dds" } SpriteType = { - name = "GFX_goal_ways_of_the_light" - texturefile = "gfx/interface/goals/ISE/GFX_goal_ways_of_the_light.dds" + name = "lth_burrythemintheirholes" + texturefile = "gfx/interface/goals/LTH/lth_burrythemintheirholes.dds" } SpriteType = { - name = "GFX_goal_orthanc_destroyed" - texturefile = "gfx/interface/goals/ISE/GFX_goal_orthanc_destroyed.dds" + name = "lth_celeborncounsel" + texturefile = "gfx/interface/goals/LTH/lth_celeborncounsel.dds" } SpriteType = { - name = "GFX_goal_deal_with_the_spiders" - texturefile = "gfx/interface/goals/MIR/GFX_goal_deal_with_the_spiders.dds" + name = "lth_celeborngaladrielaccord" + texturefile = "gfx/interface/goals/LTH/lth_celeborngaladrielaccord.dds" } SpriteType = { - name = "GFX_goal_spider_anarchy" - texturefile = "gfx/interface/goals/MIR/GFX_goal_spider_anarchy.dds" + name = "lth_celebornsexile" + texturefile = "gfx/interface/goals/LTH/lth_celebornsexile.dds" } SpriteType = { - name = "GFX_goal_radagast" - texturefile = "gfx/interface/goals/MIR/GFX_goal_radagast.dds" + name = "lth_celebornsreforms" + texturefile = "gfx/interface/goals/LTH/lth_celebornsreforms.dds" } SpriteType = { - name = "GFX_goal_thranduil" - texturefile = "gfx/interface/goals/MIR/GFX_goal_thranduil.dds" + name = "lth_celebrateperendhillegends" + texturefile = "gfx/interface/goals/LTH/lth_celebrateperendhillegends.dds" } SpriteType = { - name = "GFX_goal_community_effort" - texturefile = "gfx/interface/goals/ENT/GFX_goal_community_effort.dds" + name = "lth_cleansethetunnels" + texturefile = "gfx/interface/goals/LTH/lth_cleansethetunnels.dds" } SpriteType = { - name = "GFX_goal_one_with_the_forest" - texturefile = "gfx/interface/goals/ENT/GFX_goal_one_with_the_forest.dds" + name = "lth_collectivedefenseclause" + texturefile = "gfx/interface/goals/LTH/lth_collectivedefenseclause.dds" } SpriteType = { - name = "GFX_goal_teachings_of_the_ancients" - texturefile = "gfx/interface/goals/ENT/GFX_goal_teachings_of_the_ancients.dds" + name = "lth_commemorategondolin" + texturefile = "gfx/interface/goals/LTH/lth_commemorategondolin.dds" } SpriteType = { - name = "GFX_goal_fury_of_the_trees" - texturefile = "gfx/interface/goals/ENT/GFX_goal_fury_of_the_trees.dds" + name = "lth_commemoratethecelebrantbattle" + texturefile = "gfx/interface/goals/LTH/lth_commemoratethecelebrantbattle.dds" } SpriteType = { - name = "GFX_goal_entwood" - texturefile = "gfx/interface/goals/ENT/GFX_goal_entwood.dds" + name = "lth_commercialnavigation" + texturefile = "gfx/interface/goals/LTH/lth_commercialnavigation.dds" } SpriteType = { - name = "GFX_goal_elrond" - texturefile = "gfx/interface/goals/RIV/GFX_goal_elrond.dds" + name = "lth_conscecratecarasgaladhon" + texturefile = "gfx/interface/goals/LTH/lth_conscecratecarasgaladhon.dds" } SpriteType = { - name = "GFX_goal_council_of_elrond" - texturefile = "gfx/interface/goals/RIV/GFX_goal_council_of_elrond.dds" + name = "lth_conscecratecerinamroth" + texturefile = "gfx/interface/goals/LTH/lth_conscecratecerinamroth.dds" } SpriteType = { - name = "GFX_goal_reforge_narsil" - texturefile = "gfx/interface/goals/RIV/GFX_goal_reforge_narsil.dds" + name = "lth_consulttheelves" + texturefile = "gfx/interface/goals/LTH/lth_consulttheelves.dds" } SpriteType = { - name = "GFX_goal_take_his_ring" - texturefile = "gfx/interface/goals/RIV/GFX_goal_take_his_ring.dds" + name = "lth_cooperatewithmirkwood" + texturefile = "gfx/interface/goals/LTH/lth_cooperatewithmirkwood.dds" } SpriteType = { - name = "GFX_goal_army_dwarves" - texturefile = "gfx/interface/goals/ERE/GFX_goal_army_dwarves.dds" + name = "lth_cooperationefforts" + texturefile = "gfx/interface/goals/LTH/lth_cooperationefforts.dds" } SpriteType = { - name = "GFX_goal_galadriel" - texturefile = "gfx/interface/goals/LTH/GFX_goal_galadriel.dds" + name = "lth_coordinatedresistance" + texturefile = "gfx/interface/goals/LTH/lth_coordinatedresistance.dds" } SpriteType = { - name = "GFX_goal_celeborn" - texturefile = "gfx/interface/goals/LTH/GFX_goal_celeborn.dds" + name = "lth_coordinatedsanctions" + texturefile = "gfx/interface/goals/LTH/lth_coordinatedsanctions.dds" + } + SpriteType = { + name = "lth_culturalexchangeinitiatives" + texturefile = "gfx/interface/goals/LTH/lth_culturalexchangeinitiatives.dds" + } + SpriteType = { + name = "lth_deepknowledge" + texturefile = "gfx/interface/goals/LTH/lth_deepknowledge.dds" + } + SpriteType = { + name = "lth_defensiveperimeter" + texturefile = "gfx/interface/goals/LTH/lth_defensiveperimeter.dds" + } + SpriteType = { + name = "lth_deterrence" + texturefile = "gfx/interface/goals/LTH/lth_deterrence.dds" + } + SpriteType = { + name = "lth_diorthefair" + texturefile = "gfx/interface/goals/LTH/lth_diorthefair.dds" + } + SpriteType = { + name = "lth_discordinthegoldenwood" + texturefile = "gfx/interface/goals/LTH/lth_discordinthegoldenwood.dds" + } + SpriteType = { + name = "lth_discovernewrealms" + texturefile = "gfx/interface/goals/LTH/lth_discovernewrealms.dds" + } + SpriteType = { + name = "lth_dismantlethenazgul" + texturefile = "gfx/interface/goals/LTH/lth_dismantlethenazgul.dds" + } + SpriteType = { + name = "lth_dreadfulasstormandlightning" + texturefile = "gfx/interface/goals/LTH/lth_dreadfulasstormandlightning.dds" + } + SpriteType = { + name = "lth_eaglesofmanwe" + texturefile = "gfx/interface/goals/LTH/lth_eaglesofmanwe.dds" + } + SpriteType = { + name = "lth_earendilthemariner" + texturefile = "gfx/interface/goals/LTH/lth_earendilthemariner.dds" + } + SpriteType = { + name = "lth_echoesofrivendell" + texturefile = "gfx/interface/goals/LTH/lth_echoesofrivendell.dds" + } + SpriteType = { + name = "lth_echoesoftheeldendays" + texturefile = "gfx/interface/goals/LTH/lth_echoesoftheeldendays.dds" + } + SpriteType = { + name = "lth_electedrepresentatives" + texturefile = "gfx/interface/goals/LTH/lth_electedrepresentatives.dds" + } + SpriteType = { + name = "lth_elrondtheperedhil" + texturefile = "gfx/interface/goals/LTH/lth_elrondtheperedhil.dds" + } + SpriteType = { + name = "lth_elrosofnumenor" + texturefile = "gfx/interface/goals/LTH/lth_elrosofnumenor.dds" + } + SpriteType = { + name = "lth_elvencavalry" + texturefile = "gfx/interface/goals/LTH/lth_elvencavalry.dds" + } + SpriteType = { + name = "lth_elvenforges" + texturefile = "gfx/interface/goals/LTH/lth_elvenforges.dds" + } + SpriteType = { + name = "lth_elvenharmony" + texturefile = "gfx/interface/goals/LTH/lth_elvenharmony.dds" + } + SpriteType = { + name = "lth_elvensupremacy" + texturefile = "gfx/interface/goals/LTH/lth_elvensupremacy.dds" + } + SpriteType = { + name = "lth_elvenweaponry" + texturefile = "gfx/interface/goals/LTH/lth_elvenweaponry.dds" + } + SpriteType = { + name = "lth_empowerhaldir" + texturefile = "gfx/interface/goals/LTH/lth_empowerhaldir.dds" + } + SpriteType = { + name = "lth_endurethedarkness" + texturefile = "gfx/interface/goals/LTH/lth_endurethedarkness.dds" + } + SpriteType = { + name = "lth_ensurefoodsecurity" + texturefile = "gfx/interface/goals/LTH/lth_ensurefoodsecurity.dds" + } + SpriteType = { + name = "lth_establishagraindole" + texturefile = "gfx/interface/goals/LTH/lth_establishagraindole.dds" + } + SpriteType = { + name = "lth_eternalwisdom" + texturefile = "gfx/interface/goals/LTH/lth_eternalwisdom.dds" + } + SpriteType = { + name = "lth_executivevigour" + texturefile = "gfx/interface/goals/LTH/lth_executivevigour.dds" + } + SpriteType = { + name = "lth_fairastheseaandsun" + texturefile = "gfx/interface/goals/LTH/lth_fairastheseaandsun.dds" + } + SpriteType = { + name = "lth_fellbeastsofmordor" + texturefile = "gfx/interface/goals/LTH/lth_fellbeastsofmordor.dds" + } + SpriteType = { + name = "lth_forgealliances" + texturefile = "gfx/interface/goals/LTH/lth_forgealliances.dds" + } + SpriteType = { + name = "lth_galadrielsfarewell" + texturefile = "gfx/interface/goals/LTH/lth_galadrielsfarewell.dds" + } + SpriteType = { + name = "lth_galadrielsmirror" + texturefile = "gfx/interface/goals/LTH/lth_galadrielsmirror.dds" + } + SpriteType = { + name = "lth_galadrielspowers" + texturefile = "gfx/interface/goals/LTH/lth_galadrielspowers.dds" + } + SpriteType = { + name = "lth_galadrielsvision" + texturefile = "gfx/interface/goals/LTH/lth_galadrielsvision.dds" + } + SpriteType = { + name = "lth_gal_mirror" + texturefile = "gfx/interface/goals/LTH/lth_gal_mirror.dds" + } + SpriteType = { + name = "lth_greatestofwarriors" + texturefile = "gfx/interface/goals/LTH/lth_greatestofwarriors.dds" + } + SpriteType = { + name = "lth_guardiansoftheriveranduin" + texturefile = "gfx/interface/goals/LTH/lth_guardiansoftheriveranduin.dds" + } + SpriteType = { + name = "lth_guardiansofthesilverwood" + texturefile = "gfx/interface/goals/LTH/lth_guardiansofthesilverwood.dds" + } + SpriteType = { + name = "lth_guardiansofthewild" + texturefile = "gfx/interface/goals/LTH/lth_guardiansofthewild.dds" + } + SpriteType = { + name = "lth_harmonicascendancy" + texturefile = "gfx/interface/goals/LTH/lth_harmonicascendancy.dds" + } + SpriteType = { + name = "lth_harmonyofthesindar" + texturefile = "gfx/interface/goals/LTH/lth_harmonyofthesindar.dds" + } + SpriteType = { + name = "lth_hegemony" + texturefile = "gfx/interface/goals/LTH/lth_hegemony.dds" + } + SpriteType = { + name = "lth_immortalendurance" + texturefile = "gfx/interface/goals/LTH/lth_immortalendurance.dds" + } + SpriteType = { + name = "lth_investfocus" + texturefile = "gfx/interface/goals/LTH/lth_investfocus.dds" + } + SpriteType = { + name = "lth_invitecirdan" + texturefile = "gfx/interface/goals/LTH/lth_invitecirdan.dds" + } + SpriteType = { + name = "lth_inviteelrond" + texturefile = "gfx/interface/goals/LTH/lth_inviteelrond.dds" + } + SpriteType = { + name = "lth_invitegandalf" + texturefile = "gfx/interface/goals/LTH/lth_invitegandalf.dds" + } + SpriteType = { + name = "lth_invitesaruman" + texturefile = "gfx/interface/goals/LTH/lth_invitesaruman.dds" + } + SpriteType = { + name = "lth_invokethetaleofgaladrielandeorl" + texturefile = "gfx/interface/goals/LTH/lth_invokethetaleofgaladrielandeorl.dds" + } + SpriteType = { + name = "lth_labourtaxfornonelves" + texturefile = "gfx/interface/goals/LTH/lth_labourtaxfornonelves.dds" + } + SpriteType = { + name = "lth_leadbyexample" + texturefile = "gfx/interface/goals/LTH/lth_leadbyexample.dds" + } + SpriteType = { + name = "lth_learnfromthestrongest" + texturefile = "gfx/interface/goals/LTH/lth_learnfromthestrongest.dds" + } + SpriteType = { + name = "lth_legacyofthenoldor" + texturefile = "gfx/interface/goals/LTH/lth_legacyofthenoldor.dds" + } + SpriteType = { + name = "lth_limitedintervention" + texturefile = "gfx/interface/goals/LTH/lth_limitedintervention.dds" + } + SpriteType = { + name = "lth_localautonomy" + texturefile = "gfx/interface/goals/LTH/lth_localautonomy.dds" } SpriteType = { - name = "GFX_goal_bewitch_beorn" - texturefile = "gfx/interface/goals/LTH/GFX_goal_bewitch_beorn.dds" + name = "lth_lorekeepersguild" + texturefile = "gfx/interface/goals/LTH/lth_lorekeepersguild.dds" + } + SpriteType = { + name = "lth_lothlorienarchers" + texturefile = "gfx/interface/goals/LTH/lth_lothlorienarchers.dds" + } + SpriteType = { + name = "lth_maintainalliances" + texturefile = "gfx/interface/goals/LTH/lth_maintainalliances.dds" + } + SpriteType = { + name = "lth_maintainstabilityinthewest" + texturefile = "gfx/interface/goals/LTH/lth_maintainstabilityinthewest.dds" + } + SpriteType = { + name = "lth_mallorntreearchiotecture" + texturefile = "gfx/interface/goals/LTH/lth_mallorntreearchiotecture.dds" + } + SpriteType = { + name = "lth_marchinunison" + texturefile = "gfx/interface/goals/LTH/lth_marchinunison.dds" + } + SpriteType = { + name = "lth_marchwardensoflothlorien" + texturefile = "gfx/interface/goals/LTH/lth_marchwardensoflothlorien.dds" + } + SpriteType = { + name = "lth_martialalliance" + texturefile = "gfx/interface/goals/LTH/lth_martialalliance.dds" + } + SpriteType = { + name = "lth_memberexpansion" + texturefile = "gfx/interface/goals/LTH/lth_memberexpansion.dds" + } + SpriteType = { + name = "lth_mendtheschism" + texturefile = "gfx/interface/goals/LTH/lth_mendtheschism.dds" + } + SpriteType = { + name = "lth_meritbasedadvancement" + texturefile = "gfx/interface/goals/LTH/lth_meritbasedadvancement.dds" + } + SpriteType = { + name = "lth_metalworkandjewellery" + texturefile = "gfx/interface/goals/LTH/lth_metalworkandjewellery.dds" + } + SpriteType = { + name = "lth_migrationtreaties" + texturefile = "gfx/interface/goals/LTH/lth_migrationtreaties.dds" + } + SpriteType = { + name = "lth_minglewiththemortals" + texturefile = "gfx/interface/goals/LTH/lth_minglewiththemortals.dds" + } + SpriteType = { + name = "lth_mirrorupgrade" + texturefile = "gfx/interface/goals/LTH/lth_mirrorupgrade.dds" + } + SpriteType = { + name = "lth_nonelvencitizenship" + texturefile = "gfx/interface/goals/LTH/lth_nonelvencitizenship.dds" + } + SpriteType = { + name = "lth_northboundinvasion" + texturefile = "gfx/interface/goals/LTH/lth_northboundinvasion.dds" + } + SpriteType = { + name = "lth_nurturingthehalfelven" + texturefile = "gfx/interface/goals/LTH/lth_nurturingthehalfelven.dds" + } + SpriteType = { + name = "lth_offerpassagetothehalflings" + texturefile = "gfx/interface/goals/LTH/lth_offerpassagetothehalflings.dds" + } + SpriteType = { + name = "lth_organizetributaries" + texturefile = "gfx/interface/goals/LTH/lth_organizetributaries.dds" + } + SpriteType = { + name = "lth_ourowninitiative" + texturefile = "gfx/interface/goals/LTH/lth_ourowninitiative.dds" + } + SpriteType = { + name = "lth_patrolsandriverwardens" + texturefile = "gfx/interface/goals/LTH/lth_patrolsandriverwardens.dds" + } + SpriteType = { + name = "lth_preemptivemeasures" + texturefile = "gfx/interface/goals/LTH/lth_preemptivemeasures.dds" + } + SpriteType = { + name = "lth_preemtptivedepartures" + texturefile = "gfx/interface/goals/LTH/lth_preemtptivedepartures.dds" + } + SpriteType = { + name = "lth_preservationofknowledge" + texturefile = "gfx/interface/goals/LTH/lth_preservationofknowledge.dds" + } + SpriteType = { + name = "lth_princessofthenoldor" + texturefile = "gfx/interface/goals/LTH/lth_princessofthenoldor.dds" + } + SpriteType = { + name = "lth_prisonervivisections" + texturefile = "gfx/interface/goals/LTH/lth_prisonervivisections.dds" + } + SpriteType = { + name = "lth_proposalsandresolutions" + texturefile = "gfx/interface/goals/LTH/lth_proposalsandresolutions.dds" + } + SpriteType = { + name = "lth_provincialcouncils" + texturefile = "gfx/interface/goals/LTH/lth_provincialcouncils.dds" + } + SpriteType = { + name = "lth_publiccelebrations" + texturefile = "gfx/interface/goals/LTH/lth_publiccelebrations.dds" + } + SpriteType = { + name = "lth_queenofthedawn" + texturefile = "gfx/interface/goals/LTH/lth_queenofthedawn.dds" + } + SpriteType = { + name = "lth_reassertcelebornslodrship" + texturefile = "gfx/interface/goals/LTH/lth_reassertcelebornslodrship.dds" + } + SpriteType = { + name = "lth_reformmilitaryleadership" + texturefile = "gfx/interface/goals/LTH/lth_reformmilitaryleadership.dds" + } + SpriteType = { + name = "lth_reformtaxcollection" + texturefile = "gfx/interface/goals/LTH/lth_reformtaxcollection.dds" + } + SpriteType = { + name = "lth_refugeofdoriath" + texturefile = "gfx/interface/goals/LTH/lth_refugeofdoriath.dds" + } + SpriteType = { + name = "lth_researchcooperation" + texturefile = "gfx/interface/goals/LTH/lth_researchcooperation.dds" + } + SpriteType = { + name = "lth_resistthedarkness" + texturefile = "gfx/interface/goals/LTH/lth_resistthedarkness.dds" + } + SpriteType = { + name = "lth_resourcestorage" + texturefile = "gfx/interface/goals/LTH/lth_resourcestorage.dds" + } + SpriteType = { + name = "lth_revivethewhitecouncil" + texturefile = "gfx/interface/goals/LTH/lth_revivethewhitecouncil.dds" + } + SpriteType = { + name = "lth_ridersofthenaith" + texturefile = "gfx/interface/goals/LTH/lth_ridersofthenaith.dds" + } + SpriteType = { + name = "lth_ringenchantments" + texturefile = "gfx/interface/goals/LTH/lth_ringenchantments.dds" + } + SpriteType = { + name = "lth_sacredtreesofthenhail" + texturefile = "gfx/interface/goals/LTH/lth_sacredtreesofthenhail.dds" + } + SpriteType = { + name = "lth_safeguardtheelves" + texturefile = "gfx/interface/goals/LTH/lth_safeguardtheelves.dds" + } + SpriteType = { + name = "lth_safehaven" + texturefile = "gfx/interface/goals/LTH/lth_safehaven.dds" + } + SpriteType = { + name = "lth_sealtheborders" + texturefile = "gfx/interface/goals/LTH/lth_sealtheborders.dds" + } + SpriteType = { + name = "lth_seizetheonering" + texturefile = "gfx/interface/goals/LTH/lth_seizetheonering.dds" + } + SpriteType = { + name = "lth_selectiveempowerement" + texturefile = "gfx/interface/goals/LTH/lth_selectiveempowerement.dds" + } + SpriteType = { + name = "lth_sendadelegationtoerebor" + texturefile = "gfx/interface/goals/LTH/lth_sendadelegationtoerebor.dds" + } + SpriteType = { + name = "lth_sendadelegationtogondor" + texturefile = "gfx/interface/goals/LTH/lth_sendadelegationtogondor.dds" + } + SpriteType = { + name = "lth_sendaidtohelmsdeep" + texturefile = "gfx/interface/goals/LTH/lth_sendaidtohelmsdeep.dds" + } + SpriteType = { + name = "lth_sendaidtominastirith" + texturefile = "gfx/interface/goals/LTH/lth_sendaidtominastirith.dds" + } + SpriteType = { + name = "lth_senddelegationtomoria" + texturefile = "gfx/interface/goals/LTH/lth_senddelegationtomoria.dds" + } + SpriteType = { + name = "lth_sentinelsofcerinamroth" + texturefile = "gfx/interface/goals/LTH/lth_sentinelsofcerinamroth.dds" + } + SpriteType = { + name = "lth_sharedtrainingprograms" + texturefile = "gfx/interface/goals/LTH/lth_sharedtrainingprograms.dds" + } + SpriteType = { + name = "lth_silvanelitewarriors" + texturefile = "gfx/interface/goals/LTH/lth_silvanelitewarriors.dds" + } + SpriteType = { + name = "lth_silverthornarrows" + texturefile = "gfx/interface/goals/LTH/lth_silverthornarrows.dds" + } + SpriteType = { + name = "lth_sindarpathstalkers" + texturefile = "gfx/interface/goals/LTH/lth_sindarpathstalkers.dds" + } + SpriteType = { + name = "lth_skysoilandwater" + texturefile = "gfx/interface/goals/LTH/lth_skysoilandwater.dds" + } + SpriteType = { + name = "lth_spidersofungoliant" + texturefile = "gfx/interface/goals/LTH/lth_spidersofungoliant.dds" + } + SpriteType = { + name = "lth_standardizedweaponsresearch" + texturefile = "gfx/interface/goals/LTH/lth_standardizedweaponsresearch.dds" + } + SpriteType = { + name = "lth_strengthenfortifications" + texturefile = "gfx/interface/goals/LTH/lth_strengthenfortifications.dds" + } + SpriteType = { + name = "lth_supportmordorsenemies" + texturefile = "gfx/interface/goals/LTH/lth_supportmordorsenemies.dds" + } + SpriteType = { + name = "lth_supportofthegreateagles" + texturefile = "gfx/interface/goals/LTH/lth_supportofthegreateagles.dds" + } + SpriteType = { + name = "lth_supportthefellowship" + texturefile = "gfx/interface/goals/LTH/lth_supportthefellowship.dds" + } + SpriteType = { + name = "lth_supportthegreycompany" + texturefile = "gfx/interface/goals/LTH/lth_supportthegreycompany.dds" + } + SpriteType = { + name = "lth_tacklethedwarves" + texturefile = "gfx/interface/goals/LTH/lth_tacklethedwarves.dds" + } + SpriteType = { + name = "lth_tackletherealmsofmen" + texturefile = "gfx/interface/goals/LTH/lth_tackletherealmsofmen.dds" + } + SpriteType = { + name = "lth_tamingthewild" + texturefile = "gfx/interface/goals/LTH/lth_tamingthewild.dds" + } + SpriteType = { + name = "lth_territorialadministration" + texturefile = "gfx/interface/goals/LTH/lth_territorialadministration.dds" + } + SpriteType = { + name = "lth_territorialintegration" + texturefile = "gfx/interface/goals/LTH/lth_territorialintegration.dds" + } + SpriteType = { + name = "lth_thearchivesofagespast" + texturefile = "gfx/interface/goals/LTH/lth_thearchivesofagespast.dds" + } + SpriteType = { + name = "lth_theburdensofleadership" + texturefile = "gfx/interface/goals/LTH/lth_theburdensofleadership.dds" + } + SpriteType = { + name = "lth_thecallofvalinor" + texturefile = "gfx/interface/goals/LTH/lth_thecallofvalinor.dds" + } + SpriteType = { + name = "lth_thechildrenofluthien" + texturefile = "gfx/interface/goals/LTH/lth_thechildrenofluthien.dds" + } + SpriteType = { + name = "lth_thecouncilofquendi" + texturefile = "gfx/interface/goals/LTH/lth_thecouncilofquendi.dds" + } + SpriteType = { + name = "lth_thedissolutionoftheelvennobility" + texturefile = "gfx/interface/goals/LTH/lth_thedissolutionoftheelvennobility.dds" + } + SpriteType = { + name = "lth_theelvenalliance" + texturefile = "gfx/interface/goals/LTH/lth_theelvenalliance.dds" + } + SpriteType = { + name = "lth_theelvenfleet" + texturefile = "gfx/interface/goals/LTH/lth_theelvenfleet.dds" + } + SpriteType = { + name = "lth_theemissariesguild" + texturefile = "gfx/interface/goals/LTH/lth_theemissariesguild.dds" + } + SpriteType = { + name = "lth_theenigmaofnenya" + texturefile = "gfx/interface/goals/LTH/lth_theenigmaofnenya.dds" + } + SpriteType = { + name = "lth_theeternaldominion" + texturefile = "gfx/interface/goals/LTH/lth_theeternaldominion.dds" + } + SpriteType = { + name = "lth_thefateofmortals" + texturefile = "gfx/interface/goals/LTH/lth_thefateofmortals.dds" + } + SpriteType = { + name = "lth_thefestivalofunity" + texturefile = "gfx/interface/goals/LTH/lth_thefestivalofunity.dds" + } + SpriteType = { + name = "lth_theforestbetween" + texturefile = "gfx/interface/goals/LTH/lth_theforestbetween.dds" + } + SpriteType = { + name = "lth_thefortressofdolguldur" + texturefile = "gfx/interface/goals/LTH/lth_thefortressofdolguldur.dds" + } + SpriteType = { + name = "lth_thegiftofservitude" + texturefile = "gfx/interface/goals/LTH/lth_thegiftofservitude.dds" + } + SpriteType = { + name = "lth_thegirdleofmelian" + texturefile = "gfx/interface/goals/LTH/lth_thegirdleofmelian.dds" + } + SpriteType = { + name = "lth_thegreatbeasts" + texturefile = "gfx/interface/goals/LTH/lth_thegreatbeasts.dds" + } + SpriteType = { + name = "lth_thegreatschism" + texturefile = "gfx/interface/goals/LTH/lth_thegreatschism.dds" + } + SpriteType = { + name = "lth_thehiddenrealm" + texturefile = "gfx/interface/goals/LTH/lth_thehiddenrealm.dds" + } + SpriteType = { + name = "lth_theinfluenceofrivendell" + texturefile = "gfx/interface/goals/LTH/lth_theinfluenceofrivendell.dds" + } + SpriteType = { + name = "lth_thelasteldar" + texturefile = "gfx/interface/goals/LTH/lth_thelasteldar.dds" + } + SpriteType = { + name = "lth_thelaststand" + texturefile = "gfx/interface/goals/LTH/lth_thelaststand.dds" + } + SpriteType = { + name = "lth_thelibraryofcarasgaladhon" + texturefile = "gfx/interface/goals/LTH/lth_thelibraryofcarasgaladhon.dds" + } + SpriteType = { + name = "lth_thenandorheritage" + texturefile = "gfx/interface/goals/LTH/lth_thenandorheritage.dds" + } + SpriteType = { + name = "lth_theneworder" + texturefile = "gfx/interface/goals/LTH/lth_theneworder.dds" + } + SpriteType = { + name = "lth_thenoldorelite" + texturefile = "gfx/interface/goals/LTH/lth_thenoldorelite.dds" + } + SpriteType = { + name = "lth_theoathoffeanor" + texturefile = "gfx/interface/goals/LTH/lth_theoathoffeanor.dds" + } + SpriteType = { + name = "lth_theonodrimoffangorn" + texturefile = "gfx/interface/goals/LTH/lth_theonodrimoffangorn.dds" + } + SpriteType = { + name = "lth_theopendoorsedict" + texturefile = "gfx/interface/goals/LTH/lth_theopendoorsedict.dds" + } + SpriteType = { + name = "lth_thepeasantassembly" + texturefile = "gfx/interface/goals/LTH/lth_thepeasantassembly.dds" + } + SpriteType = { + name = "lth_thepriviledgeofmembership" + texturefile = "gfx/interface/goals/LTH/lth_thepriviledgeofmembership.dds" + } + SpriteType = { + name = "lth_thequeensguard" + texturefile = "gfx/interface/goals/LTH/lth_thequeensguard.dds" + } + SpriteType = { + name = "lth_thereawakening" + texturefile = "gfx/interface/goals/LTH/lth_thereawakening.dds" + } + SpriteType = { + name = "lth_thesentinelnetwork" + texturefile = "gfx/interface/goals/LTH/lth_thesentinelnetwork.dds" + } + SpriteType = { + name = "lth_theshadowswhisper" + texturefile = "gfx/interface/goals/LTH/lth_theshadowswhisper.dds" + } + SpriteType = { + name = "lth_thesongofnimrodel" + texturefile = "gfx/interface/goals/LTH/lth_thesongofnimrodel.dds" + } + SpriteType = { + name = "lth_thesupremeleader" + texturefile = "gfx/interface/goals/LTH/lth_thesupremeleader.dds" + } + SpriteType = { + name = "lth_thetwilightgarden" + texturefile = "gfx/interface/goals/LTH/lth_thetwilightgarden.dds" + } + SpriteType = { + name = "lth_thetwinheartsoflothlorien" + texturefile = "gfx/interface/goals/LTH/lth_thetwinheartsoflothlorien.dds" + } + SpriteType = { + name = "lth_theunholyalliance" + texturefile = "gfx/interface/goals/LTH/lth_theunholyalliance.dds" + } + SpriteType = { + name = "lth_theuntreadedpath" + texturefile = "gfx/interface/goals/LTH/lth_theuntreadedpath.dds" + } + SpriteType = { + name = "lth_thewizardswisdom" + texturefile = "gfx/interface/goals/LTH/lth_thewizardswisdom.dds" + } + SpriteType = { + name = "lth_tieswiththerohirrim" + texturefile = "gfx/interface/goals/LTH/lth_tieswiththerohirrim.dds" + } + SpriteType = { + name = "lth_totalisoltation" + texturefile = "gfx/interface/goals/LTH/lth_totalisoltation.dds" + } + SpriteType = { + name = "lth_trackdowndurinsbane" + texturefile = "gfx/interface/goals/LTH/lth_trackdowndurinsbane.dds" + } + SpriteType = { + name = "lth_tradeagreements" + texturefile = "gfx/interface/goals/LTH/lth_tradeagreements.dds" + } + SpriteType = { + name = "lth_turnlindon" + texturefile = "gfx/interface/goals/LTH/lth_turnlindon.dds" + } + SpriteType = { + name = "lth_turnmirkwood" + texturefile = "gfx/interface/goals/LTH/lth_turnmirkwood.dds" + } + SpriteType = { + name = "lth_turnrivendell" + texturefile = "gfx/interface/goals/LTH/lth_turnrivendell.dds" + } + SpriteType = { + name = "lth_tworingsbecomethone" + texturefile = "gfx/interface/goals/LTH/lth_tworingsbecomethone.dds" + } + SpriteType = { + name = "lth_unionofequals" + texturefile = "gfx/interface/goals/LTH/lth_unionofequals.dds" + } + SpriteType = { + name = "lth_unitethefactions" + texturefile = "gfx/interface/goals/LTH/lth_unitethefactions.dds" + } + SpriteType = { + name = "lth_unityindivision" + texturefile = "gfx/interface/goals/LTH/lth_unityindivision.dds" + } + SpriteType = { + name = "lth_unlikelyallies" + texturefile = "gfx/interface/goals/LTH/lth_unlikelyallies.dds" + } + SpriteType = { + name = "lth_urbancouncils" + texturefile = "gfx/interface/goals/LTH/lth_urbancouncils.dds" + } + SpriteType = { + name = "lth_valesofanduin" + texturefile = "gfx/interface/goals/LTH/lth_valesofanduin.dds" + } + SpriteType = { + name = "lth_wanderersofnandor" + texturefile = "gfx/interface/goals/LTH/lth_wanderersofnandor.dds" + } + SpriteType = { + name = "lth_watersofhealing" + texturefile = "gfx/interface/goals/LTH/lth_watersofhealing.dds" + } + SpriteType = { + name = "lth_wisdomofeluthingol" + texturefile = "gfx/interface/goals/LTH/lth_wisdomofeluthingol.dds" + } + SpriteType = { + name = "lth_wrathoftheforests" + texturefile = "gfx/interface/goals/LTH/lth_wrathoftheforests.dds" + } + SpriteType = { + name = "lth_yavannasblessings" + texturefile = "gfx/interface/goals/LTH/lth_yavannasblessings.dds" + } + SpriteType = { + name = "GFX_goal_deal_with_the_spiders" + texturefile = "gfx/interface/goals/MIR/GFX_goal_deal_with_the_spiders.tga" + } + SpriteType = { + name = "GFX_goal_radagast" + texturefile = "gfx/interface/goals/MIR/GFX_goal_radagast.tga" + } + SpriteType = { + name = "GFX_goal_spider_anarchy" + texturefile = "gfx/interface/goals/MIR/GFX_goal_spider_anarchy.tga" + } + SpriteType = { + name = "GFX_goal_thranduil" + texturefile = "gfx/interface/goals/MIR/GFX_goal_thranduil.tga" + } + SpriteType = { + name = "GFX_goal_balrog" + texturefile = "gfx/interface/goals/MOA/GFX_goal_balrog.tga" + } + SpriteType = { + name = "GFX_goal_azog" + texturefile = "gfx/interface/goals/MOR/GFX_goal_azog.tga" + } + SpriteType = { + name = "GFX_goal_dark_dol_guldur" + texturefile = "gfx/interface/goals/MOR/GFX_goal_dark_dol_guldur.tga" + } + SpriteType = { + name = "GFX_goal_dol_guldur" + texturefile = "gfx/interface/goals/MOR/GFX_goal_dol_guldur.tga" + } + SpriteType = { + name = "GFX_goal_erebor" + texturefile = "gfx/interface/goals/MOR/GFX_goal_erebor.tga" + } + SpriteType = { + name = "GFX_goal_gather_the_nazgl" + texturefile = "gfx/interface/goals/MOR/GFX_goal_gather_the_nazgl.tga" + } + SpriteType = { + name = "GFX_goal_golum" + texturefile = "gfx/interface/goals/MOR/GFX_goal_golum.tga" + } + SpriteType = { + name = "GFX_goal_grapes" + texturefile = "gfx/interface/goals/MOR/GFX_goal_grapes.tga" + } + SpriteType = { + name = "GFX_goal_ithilien" + texturefile = "gfx/interface/goals/MOR/GFX_goal_ithilien.tga" + } + SpriteType = { + name = "GFX_goal_meats_back_on_the_menu" + texturefile = "gfx/interface/goals/MOR/GFX_goal_meats_back_on_the_menu.tga" + } + SpriteType = { + name = "GFX_goal_mordor_landscape" + texturefile = "gfx/interface/goals/MOR/GFX_goal_mordor_landscape.tga" + } + SpriteType = { + name = "GFX_goal_restore_baraddr" + texturefile = "gfx/interface/goals/MOR/GFX_goal_restore_baraddr.tga" + } + SpriteType = { + name = "GFX_goal_sauron_eye" + texturefile = "gfx/interface/goals/MOR/GFX_goal_sauron_eye.tga" + } + SpriteType = { + name = "GFX_goal_skull_treaty" + texturefile = "gfx/interface/goals/MOR/GFX_goal_skull_treaty.dds" + } + SpriteType = { + name = "GFX_goal_stab" + texturefile = "gfx/interface/goals/MOR/GFX_goal_stab.tga" + } + SpriteType = { + name = "GFX_goal_stop_melkor_worship" + texturefile = "gfx/interface/goals/MOR/GFX_goal_stop_melkor_worship.tga" + } + SpriteType = { + name = "GFX_goal_the_one_ring" + texturefile = "gfx/interface/goals/MOR/GFX_goal_the_one_ring.tga" + } + SpriteType = { + name = "GFX_goal_union_of_working_orc_class" + texturefile = "gfx/interface/goals/MOR/GFX_goal_union_of_working_orc_class.tga" + } + SpriteType = { + name = "GFX_goal_unleash_sauron" + texturefile = "gfx/interface/goals/MOR/GFX_goal_unleash_sauron.tga" + } + SpriteType = { + name = "GFX_servant_of_melkor" + texturefile = "gfx/interface/goals/MOR/GFX_servant_of_melkor.tga" + } + SpriteType = { + name = "GFX_trolls" + texturefile = "gfx/interface/goals/MOR/GFX_trolls.tga" + } + SpriteType = { + name = "GFX_wargoal_dale" + texturefile = "gfx/interface/goals/MOR/GFX_wargoal_dale.tga" + } + SpriteType = { + name = "GFX_wargoal_dorwinion" + texturefile = "gfx/interface/goals/MOR/GFX_wargoal_dorwinion.tga" + } + SpriteType = { + name = "GFX_wargoal_erebor" + texturefile = "gfx/interface/goals/MOR/GFX_wargoal_erebor.tga" + } + SpriteType = { + name = "GFX_wargoal_gondor" + texturefile = "gfx/interface/goals/MOR/GFX_wargoal_gondor.tga" + } + SpriteType = { + name = "GFX_wargoal_harad" + texturefile = "gfx/interface/goals/MOR/GFX_wargoal_harad.tga" + } + SpriteType = { + name = "GFX_wargoal_rhun" + texturefile = "gfx/interface/goals/MOR/GFX_wargoal_rhun.tga" + } + SpriteType = { + name = "GFX_wargoal_rohan" + texturefile = "gfx/interface/goals/MOR/GFX_wargoal_rohan.tga" + } + SpriteType = { + name = "mor_encroach_on_ithilien" + texturefile = "gfx/interface/goals/MOR/mor_encroach_on_ithilien.dds" + } + SpriteType = { + name = "mor_escalate_the_attacks" + texturefile = "gfx/interface/goals/MOR/mor_escalate_the_attacks.dds" + } + SpriteType = { + name = "mor_second_wave" + texturefile = "gfx/interface/goals/MOR/mor_second_wave.dds" + } + SpriteType = { + name = "GFX_goal_dale" + texturefile = "gfx/interface/goals/RHU/GFX_goal_dale.tga" + } + SpriteType = { + name = "GFX_goal_dorwinion" + texturefile = "gfx/interface/goals/RHU/GFX_goal_dorwinion.tga" + } + SpriteType = { + name = "GFX_goal_khamul" + texturefile = "gfx/interface/goals/RHU/GFX_goal_khamul.tga" + } + SpriteType = { + name = "GFX_goal_rhun_civil_war" + texturefile = "gfx/interface/goals/RHU/GFX_goal_rhun_civil_war.tga" + } + SpriteType = { + name = "GFX_goal_the_blue_wizards" + texturefile = "gfx/interface/goals/RHU/GFX_goal_the_blue_wizards.tga" + } + SpriteType = { + name = "GFX_wargoal_mordor" + texturefile = "gfx/interface/goals/RHU/GFX_wargoal_mordor.tga" + } + SpriteType = { + name = "GFX_goal_council_of_elrond" + texturefile = "gfx/interface/goals/RIV/GFX_goal_council_of_elrond.tga" + } + SpriteType = { + name = "GFX_goal_elrond" + texturefile = "gfx/interface/goals/RIV/GFX_goal_elrond.tga" + } + SpriteType = { + name = "GFX_goal_reforge_narsil" + texturefile = "gfx/interface/goals/RIV/GFX_goal_reforge_narsil.tga" + } + SpriteType = { + name = "GFX_goal_take_his_ring" + texturefile = "gfx/interface/goals/RIV/GFX_goal_take_his_ring.tga" + } + SpriteType = { + name = "GFX_goal_allow_gandalf_in" + texturefile = "gfx/interface/goals/ROH/GFX_goal_allow_gandalf_in.tga" + } + SpriteType = { + name = "GFX_goal_assasinate_eomer" + texturefile = "gfx/interface/goals/ROH/GFX_goal_assasinate_eomer.tga" + } + SpriteType = { + name = "GFX_goal_edoras" + texturefile = "gfx/interface/goals/ROH/GFX_goal_edoras.tga" + } + SpriteType = { + name = "GFX_goal_eowyn" + texturefile = "gfx/interface/goals/ROH/GFX_goal_eowyn.tga" + } + SpriteType = { + name = "GFX_goal_grima" + texturefile = "gfx/interface/goals/ROH/GFX_goal_grima.tga" + } + SpriteType = { + name = "GFX_goal_helms_deep" + texturefile = "gfx/interface/goals/ROH/GFX_goal_helms_deep.tga" + } + SpriteType = { + name = "GFX_goal_helms_deep_weakness" + texturefile = "gfx/interface/goals/ROH/GFX_goal_helms_deep_weakness.tga" + } + SpriteType = { + name = "GFX_goal_rohan" + texturefile = "gfx/interface/goals/ROH/GFX_goal_rohan.tga" + } + SpriteType = { + name = "GFX_goal_sick_theoden" + texturefile = "gfx/interface/goals/ROH/GFX_goal_sick_theoden.tga" + } + SpriteType = { + name = "GFX_goal_theodred" + texturefile = "gfx/interface/goals/ROH/GFX_goal_theodred.tga" + } + SpriteType = { + name = "GFX_goal_trust_gandalf" + texturefile = "gfx/interface/goals/ROH/GFX_goal_trust_gandalf.tga" + } + SpriteType = { + name = "GFX_goal_trust_saruman" + texturefile = "gfx/interface/goals/ROH/GFX_goal_trust_saruman.tga" + } + SpriteType = { + name = "GFX_goal_angmar_unalligned_shine" + texturefile = "gfx/interface/goals/ANG/GFX_goal_angmar_unalligned.tga" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/ANG/GFX_goal_angmar_unalligned.tga" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/ANG/GFX_goal_angmar_unalligned.tga" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "GFX_goal_mordor_shine" + texturefile = "gfx/interface/goals/ANG/GFX_goal_mordor.tga" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/ANG/GFX_goal_mordor.tga" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/ANG/GFX_goal_mordor.tga" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "GFX_goal_mordor_deal_shine" + texturefile = "gfx/interface/goals/ANG/GFX_goal_mordor_deal.tga" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/ANG/GFX_goal_mordor_deal.tga" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/ANG/GFX_goal_mordor_deal.tga" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "GFX_goal_witch_king_shine" + texturefile = "gfx/interface/goals/ANG/GFX_goal_witch_king.tga" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/ANG/GFX_goal_witch_king.tga" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/ANG/GFX_goal_witch_king.tga" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "GFX_goal_rangers_of_the_north_shine" + texturefile = "gfx/interface/goals/ART/GFX_goal_rangers_of_the_north.tga" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/ART/GFX_goal_rangers_of_the_north.tga" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/ART/GFX_goal_rangers_of_the_north.tga" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "GFX_unite_by_force_shine" + texturefile = "gfx/interface/goals/ART/GFX_unite_by_force.tga" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/ART/GFX_unite_by_force.tga" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/ART/GFX_unite_by_force.tga" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "GFX_goal_community_effort_shine" + texturefile = "gfx/interface/goals/ENT/GFX_goal_community_effort.tga" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/ENT/GFX_goal_community_effort.tga" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/ENT/GFX_goal_community_effort.tga" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "GFX_goal_entwood_shine" + texturefile = "gfx/interface/goals/ENT/GFX_goal_entwood.tga" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/ENT/GFX_goal_entwood.tga" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/ENT/GFX_goal_entwood.tga" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "GFX_goal_fury_of_the_trees_shine" + texturefile = "gfx/interface/goals/ENT/GFX_goal_fury_of_the_trees.tga" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/ENT/GFX_goal_fury_of_the_trees.tga" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/ENT/GFX_goal_fury_of_the_trees.tga" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "GFX_goal_one_with_the_forest_shine" + texturefile = "gfx/interface/goals/ENT/GFX_goal_one_with_the_forest.tga" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/ENT/GFX_goal_one_with_the_forest.tga" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/ENT/GFX_goal_one_with_the_forest.tga" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "GFX_goal_teachings_of_the_ancients_shine" + texturefile = "gfx/interface/goals/ENT/GFX_goal_teachings_of_the_ancients.tga" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/ENT/GFX_goal_teachings_of_the_ancients.tga" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/ENT/GFX_goal_teachings_of_the_ancients.tga" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "GFX_goal_army_dwarves_shine" + texturefile = "gfx/interface/goals/ERE/GFX_goal_army_dwarves.tga" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/ERE/GFX_goal_army_dwarves.tga" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/ERE/GFX_goal_army_dwarves.tga" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "GFX_goal_generic_anvil_shine" + texturefile = "gfx/interface/goals/Generic/GFX_goal_generic_anvil.tga" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/Generic/GFX_goal_generic_anvil.tga" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/Generic/GFX_goal_generic_anvil.tga" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "GFX_goal_generic_gondor_research_shine" + texturefile = "gfx/interface/goals/Generic/GFX_goal_generic_gondor_research.tga" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/Generic/GFX_goal_generic_gondor_research.tga" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/Generic/GFX_goal_generic_gondor_research.tga" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "GFX_goal_generic_industry_I_shine" + texturefile = "gfx/interface/goals/Generic/GFX_goal_generic_industry_I.tga" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/Generic/GFX_goal_generic_industry_I.tga" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/Generic/GFX_goal_generic_industry_I.tga" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "GFX_goal_generic_windmile_shine" + texturefile = "gfx/interface/goals/Generic/GFX_goal_generic_windmile.tga" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/Generic/GFX_goal_generic_windmile.tga" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/Generic/GFX_goal_generic_windmile.tga" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "GFX_goal_resource_wood_shine" + texturefile = "gfx/interface/goals/Generic/GFX_goal_resource_wood.tga" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/Generic/GFX_goal_resource_wood.tga" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/Generic/GFX_goal_resource_wood.tga" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "GFX_goal_support_belligerent_shine" + texturefile = "gfx/interface/goals/Generic/GFX_goal_support_belligerent.tga" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/Generic/GFX_goal_support_belligerent.tga" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/Generic/GFX_goal_support_belligerent.tga" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "GFX_goal_support_cooperative_shine" + texturefile = "gfx/interface/goals/Generic/GFX_goal_support_cooperative.tga" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/Generic/GFX_goal_support_cooperative.tga" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/Generic/GFX_goal_support_cooperative.tga" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "GFX_goal_support_revolutionary_shine" + texturefile = "gfx/interface/goals/Generic/GFX_goal_support_revolutionary.tga" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/Generic/GFX_goal_support_revolutionary.tga" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/Generic/GFX_goal_support_revolutionary.tga" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "GFX_goal_support_unalligned_shine" + texturefile = "gfx/interface/goals/Generic/GFX_goal_support_unalligned.tga" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/Generic/GFX_goal_support_unalligned.tga" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/Generic/GFX_goal_support_unalligned.tga" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "GFX_goal_arnor_shine" + texturefile = "gfx/interface/goals/GON/GFX_goal_arnor.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/GON/GFX_goal_arnor.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/GON/GFX_goal_arnor.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "GFX_goal_boromir_shine" + texturefile = "gfx/interface/goals/GON/GFX_goal_boromir.tga" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/GON/GFX_goal_boromir.tga" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/GON/GFX_goal_boromir.tga" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "GFX_goal_denethor_shine" + texturefile = "gfx/interface/goals/GON/GFX_goal_denethor.tga" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/GON/GFX_goal_denethor.tga" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/GON/GFX_goal_denethor.tga" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "GFX_goal_dol_amroth_shine" + texturefile = "gfx/interface/goals/GON/GFX_goal_dol_amroth.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/GON/GFX_goal_dol_amroth.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/GON/GFX_goal_dol_amroth.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "GFX_goal_faramir_shine" + texturefile = "gfx/interface/goals/GON/GFX_goal_faramir.tga" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/GON/GFX_goal_faramir.tga" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/GON/GFX_goal_faramir.tga" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "GFX_goal_ghost_army_shine" + texturefile = "gfx/interface/goals/GON/GFX_goal_ghost_army.tga" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/GON/GFX_goal_ghost_army.tga" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/GON/GFX_goal_ghost_army.tga" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "GFX_goal_gondor_shine" + texturefile = "gfx/interface/goals/GON/GFX_goal_gondor.tga" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/GON/GFX_goal_gondor.tga" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/GON/GFX_goal_gondor.tga" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "GFX_goal_gon_dam_propaganda_shine" + texturefile = "gfx/interface/goals/GON/GFX_goal_gon_dam_propaganda.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/GON/GFX_goal_gon_dam_propaganda.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/GON/GFX_goal_gon_dam_propaganda.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "GFX_goal_king_aragorn_shine" + texturefile = "gfx/interface/goals/GON/GFX_goal_king_aragorn.tga" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/GON/GFX_goal_king_aragorn.tga" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/GON/GFX_goal_king_aragorn.tga" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "GFX_goal_light_the_beacons_shine" + texturefile = "gfx/interface/goals/GON/GFX_goal_light_the_beacons.tga" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/GON/GFX_goal_light_the_beacons.tga" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/GON/GFX_goal_light_the_beacons.tga" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "gon_defame_isildurs_lineage_shine" + texturefile = "gfx/interface/goals/GON/gon_defame_isildurs_lineage.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/GON/gon_defame_isildurs_lineage.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/GON/gon_defame_isildurs_lineage.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "gon_ensure_popular_support_shine" + texturefile = "gfx/interface/goals/GON/gon_ensure_popular_support.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/GON/gon_ensure_popular_support.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/GON/gon_ensure_popular_support.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "gon_gain_favour_with_the_elves_shine" + texturefile = "gfx/interface/goals/GON/gon_gain_favour_with_the_elves.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/GON/gon_gain_favour_with_the_elves.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/GON/gon_gain_favour_with_the_elves.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "gon_gondor_needs_no_king_shine" + texturefile = "gfx/interface/goals/GON/gon_gondor_needs_no_king.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/GON/gon_gondor_needs_no_king.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/GON/gon_gondor_needs_no_king.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "gon_historical_claims_shine" + texturefile = "gfx/interface/goals/GON/gon_historical_claims.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/GON/gon_historical_claims.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/GON/gon_historical_claims.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "gon_ithc_emergency_measures_shine" + texturefile = "gfx/interface/goals/GON/gon_ithc_emergency_measures.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/GON/gon_ithc_emergency_measures.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/GON/gon_ithc_emergency_measures.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "gon_ithc_evacuate_shine" + texturefile = "gfx/interface/goals/GON/gon_ithc_evacuate.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/GON/gon_ithc_evacuate.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/GON/gon_ithc_evacuate.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "gon_ithc_hold_firm_shine" + texturefile = "gfx/interface/goals/GON/gon_ithc_hold_firm.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/GON/gon_ithc_hold_firm.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/GON/gon_ithc_hold_firm.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "gon_ithilien_crisis_shine" + texturefile = "gfx/interface/goals/GON/gon_ithilien_crisis.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/GON/gon_ithilien_crisis.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/GON/gon_ithilien_crisis.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "gon_liberate_the_capital_from_the_usurpers_shine" + texturefile = "gfx/interface/goals/GON/gon_liberate_the_capital_from_the_usurpers.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/GON/gon_liberate_the_capital_from_the_usurpers.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/GON/gon_liberate_the_capital_from_the_usurpers.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "gon_purge_the_aristocracy_shine" + texturefile = "gfx/interface/goals/GON/gon_purge_the_aristocracy.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/GON/gon_purge_the_aristocracy.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/GON/gon_purge_the_aristocracy.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "gon_rally_support_in_enedwaith_shine" + texturefile = "gfx/interface/goals/GON/gon_rally_support_in_enedwaith.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/GON/gon_rally_support_in_enedwaith.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/GON/gon_rally_support_in_enedwaith.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "gon_strengthen_ties_with_angmar_shine" + texturefile = "gfx/interface/goals/GON/gon_strengthen_ties_with_angmar.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/GON/gon_strengthen_ties_with_angmar.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/GON/gon_strengthen_ties_with_angmar.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "gon_the_peoples_fleet_shine" + texturefile = "gfx/interface/goals/GON/gon_the_peoples_fleet.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/GON/gon_the_peoples_fleet.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/GON/gon_the_peoples_fleet.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "GFX_goal_gundabad_shine" + texturefile = "gfx/interface/goals/GUN/GFX_goal_gundabad.tga" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/GUN/GFX_goal_gundabad.tga" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/GUN/GFX_goal_gundabad.tga" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "GFX_goal_army_uruk_hai_shine" + texturefile = "gfx/interface/goals/ISE/GFX_goal_army_uruk_hai.tga" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/ISE/GFX_goal_army_uruk_hai.tga" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/ISE/GFX_goal_army_uruk_hai.tga" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "GFX_goal_burn_fangorn_forest_shine" + texturefile = "gfx/interface/goals/ISE/GFX_goal_burn_fangorn_forest.tga" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/ISE/GFX_goal_burn_fangorn_forest.tga" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/ISE/GFX_goal_burn_fangorn_forest.tga" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "GFX_goal_imprisend_gandalf_shine" + texturefile = "gfx/interface/goals/ISE/GFX_goal_imprisend_gandalf.tga" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/ISE/GFX_goal_imprisend_gandalf.tga" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/ISE/GFX_goal_imprisend_gandalf.tga" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "GFX_goal_meet_with_gandalf_shine" + texturefile = "gfx/interface/goals/ISE/GFX_goal_meet_with_gandalf.tga" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/ISE/GFX_goal_meet_with_gandalf.tga" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/ISE/GFX_goal_meet_with_gandalf.tga" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "GFX_goal_orthanc_destroyed_shine" + texturefile = "gfx/interface/goals/ISE/GFX_goal_orthanc_destroyed.tga" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/ISE/GFX_goal_orthanc_destroyed.tga" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/ISE/GFX_goal_orthanc_destroyed.tga" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "GFX_goal_rally_the_tribes_shine" + texturefile = "gfx/interface/goals/ISE/GFX_goal_rally_the_tribes.tga" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/ISE/GFX_goal_rally_the_tribes.tga" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/ISE/GFX_goal_rally_the_tribes.tga" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "GFX_goal_sauron_is_looking_shine" + texturefile = "gfx/interface/goals/ISE/GFX_goal_sauron_is_looking.tga" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/ISE/GFX_goal_sauron_is_looking.tga" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/ISE/GFX_goal_sauron_is_looking.tga" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "GFX_goal_the_white_hand_shine" + texturefile = "gfx/interface/goals/ISE/GFX_goal_the_white_hand.tga" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/ISE/GFX_goal_the_white_hand.tga" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/ISE/GFX_goal_the_white_hand.tga" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "GFX_goal_ways_of_the_light_shine" + texturefile = "gfx/interface/goals/ISE/GFX_goal_ways_of_the_light.tga" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/ISE/GFX_goal_ways_of_the_light.tga" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/ISE/GFX_goal_ways_of_the_light.tga" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "GFX_goal_celeborn_shine" + texturefile = "gfx/interface/goals/LTH/GFX_goal_celeborn.tga" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/GFX_goal_celeborn.tga" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/GFX_goal_celeborn.tga" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "GFX_goal_galadriel_shine" + texturefile = "gfx/interface/goals/LTH/GFX_goal_galadriel.tga" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/GFX_goal_galadriel.tga" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/GFX_goal_galadriel.tga" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_abolishtermlimits_shine" + texturefile = "gfx/interface/goals/LTH/lth_abolishtermlimits.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_abolishtermlimits.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_abolishtermlimits.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_acceleratetheinevitable_shine" + texturefile = "gfx/interface/goals/LTH/lth_acceleratetheinevitable.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_acceleratetheinevitable.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_acceleratetheinevitable.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_acknowledgethemordorthreat_shine" + texturefile = "gfx/interface/goals/LTH/lth_acknowledgethemordorthreat.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_acknowledgethemordorthreat.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_acknowledgethemordorthreat.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_aegisoflight_shine" + texturefile = "gfx/interface/goals/LTH/lth_aegisoflight.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_aegisoflight.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_aegisoflight.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_affiliatewithlindon_shine" + texturefile = "gfx/interface/goals/LTH/lth_affiliatewithlindon.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_affiliatewithlindon.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_affiliatewithlindon.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_agestureofgoodwill_shine" + texturefile = "gfx/interface/goals/LTH/lth_agestureofgoodwill.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_agestureofgoodwill.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_agestureofgoodwill.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_aidtotheweary_shine" + texturefile = "gfx/interface/goals/LTH/lth_aidtotheweary.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_aidtotheweary.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_aidtotheweary.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_alignthenobility_shine" + texturefile = "gfx/interface/goals/LTH/lth_alignthenobility.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_alignthenobility.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_alignthenobility.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_allianceoflight_shine" + texturefile = "gfx/interface/goals/LTH/lth_allianceoflight.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_allianceoflight.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_allianceoflight.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_allywithmen_shine" + texturefile = "gfx/interface/goals/LTH/lth_allywithmen.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_allywithmen.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_allywithmen.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_amostgenerousoffer_shine" + texturefile = "gfx/interface/goals/LTH/lth_amostgenerousoffer.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_amostgenerousoffer.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_amostgenerousoffer.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_ancestralechoesintandem_shine" + texturefile = "gfx/interface/goals/LTH/lth_ancestralechoesintandem.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_ancestralechoesintandem.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_ancestralechoesintandem.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_anelvenfellowship_shine" + texturefile = "gfx/interface/goals/LTH/lth_anelvenfellowship.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_anelvenfellowship.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_anelvenfellowship.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_anewbeginning_shine" + texturefile = "gfx/interface/goals/LTH/lth_anewbeginning.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_anewbeginning.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_anewbeginning.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_anewelvenlanguage_shine" + texturefile = "gfx/interface/goals/LTH/lth_anewelvenlanguage.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_anewelvenlanguage.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_anewelvenlanguage.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_appointedrepresentatives_shine" + texturefile = "gfx/interface/goals/LTH/lth_appointedrepresentatives.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_appointedrepresentatives.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_appointedrepresentatives.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_associatewithnonelves_shine" + texturefile = "gfx/interface/goals/LTH/lth_associatewithnonelves.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_associatewithnonelves.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_associatewithnonelves.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_atanycost_shine" + texturefile = "gfx/interface/goals/LTH/lth_atanycost.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_atanycost.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_atanycost.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_atasteofempire_shine" + texturefile = "gfx/interface/goals/LTH/lth_atasteofempire.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_atasteofempire.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_atasteofempire.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_aulescraftmanship_shine" + texturefile = "gfx/interface/goals/LTH/lth_aulescraftmanship.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_aulescraftmanship.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_aulescraftmanship.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_beaconofhope_shine" + texturefile = "gfx/interface/goals/LTH/lth_beaconofhope.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_beaconofhope.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_beaconofhope.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_bideourtime_shine" + texturefile = "gfx/interface/goals/LTH/lth_bideourtime.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_bideourtime.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_bideourtime.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_bladesoftheeldar_shine" + texturefile = "gfx/interface/goals/LTH/lth_bladesoftheeldar.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_bladesoftheeldar.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_bladesoftheeldar.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_bondsofnature_shine" + texturefile = "gfx/interface/goals/LTH/lth_bondsofnature.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_bondsofnature.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_bondsofnature.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_breakthechainsofisolation_shine" + texturefile = "gfx/interface/goals/LTH/lth_breakthechainsofisolation.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_breakthechainsofisolation.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_breakthechainsofisolation.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_burrythemintheirholes_shine" + texturefile = "gfx/interface/goals/LTH/lth_burrythemintheirholes.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_burrythemintheirholes.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_burrythemintheirholes.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_celeborncounsel_shine" + texturefile = "gfx/interface/goals/LTH/lth_celeborncounsel.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_celeborncounsel.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_celeborncounsel.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_celeborngaladrielaccord_shine" + texturefile = "gfx/interface/goals/LTH/lth_celeborngaladrielaccord.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_celeborngaladrielaccord.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_celeborngaladrielaccord.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_celebornsexile_shine" + texturefile = "gfx/interface/goals/LTH/lth_celebornsexile.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_celebornsexile.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_celebornsexile.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_celebornsreforms_shine" + texturefile = "gfx/interface/goals/LTH/lth_celebornsreforms.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_celebornsreforms.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_celebornsreforms.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_celebrateperendhillegends_shine" + texturefile = "gfx/interface/goals/LTH/lth_celebrateperendhillegends.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_celebrateperendhillegends.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_celebrateperendhillegends.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_cleansethetunnels_shine" + texturefile = "gfx/interface/goals/LTH/lth_cleansethetunnels.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_cleansethetunnels.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_cleansethetunnels.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_collectivedefenseclause_shine" + texturefile = "gfx/interface/goals/LTH/lth_collectivedefenseclause.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_collectivedefenseclause.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_collectivedefenseclause.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_commemorategondolin_shine" + texturefile = "gfx/interface/goals/LTH/lth_commemorategondolin.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_commemorategondolin.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_commemorategondolin.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_commemoratethecelebrantbattle_shine" + texturefile = "gfx/interface/goals/LTH/lth_commemoratethecelebrantbattle.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_commemoratethecelebrantbattle.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_commemoratethecelebrantbattle.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_commercialnavigation_shine" + texturefile = "gfx/interface/goals/LTH/lth_commercialnavigation.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_commercialnavigation.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_commercialnavigation.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_conscecratecarasgaladhon_shine" + texturefile = "gfx/interface/goals/LTH/lth_conscecratecarasgaladhon.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_conscecratecarasgaladhon.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_conscecratecarasgaladhon.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_conscecratecerinamroth_shine" + texturefile = "gfx/interface/goals/LTH/lth_conscecratecerinamroth.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_conscecratecerinamroth.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_conscecratecerinamroth.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_consulttheelves_shine" + texturefile = "gfx/interface/goals/LTH/lth_consulttheelves.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_consulttheelves.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_consulttheelves.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_cooperatewithmirkwood_shine" + texturefile = "gfx/interface/goals/LTH/lth_cooperatewithmirkwood.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_cooperatewithmirkwood.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_cooperatewithmirkwood.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_cooperationefforts_shine" + texturefile = "gfx/interface/goals/LTH/lth_cooperationefforts.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_cooperationefforts.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_cooperationefforts.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_coordinatedresistance_shine" + texturefile = "gfx/interface/goals/LTH/lth_coordinatedresistance.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_coordinatedresistance.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_coordinatedresistance.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_coordinatedsanctions_shine" + texturefile = "gfx/interface/goals/LTH/lth_coordinatedsanctions.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_coordinatedsanctions.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_coordinatedsanctions.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_culturalexchangeinitiatives_shine" + texturefile = "gfx/interface/goals/LTH/lth_culturalexchangeinitiatives.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_culturalexchangeinitiatives.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_culturalexchangeinitiatives.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_deepknowledge_shine" + texturefile = "gfx/interface/goals/LTH/lth_deepknowledge.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_deepknowledge.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_deepknowledge.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_defensiveperimeter_shine" + texturefile = "gfx/interface/goals/LTH/lth_defensiveperimeter.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_defensiveperimeter.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_defensiveperimeter.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_deterrence_shine" + texturefile = "gfx/interface/goals/LTH/lth_deterrence.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_deterrence.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_deterrence.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_diorthefair_shine" + texturefile = "gfx/interface/goals/LTH/lth_diorthefair.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_diorthefair.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_diorthefair.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_discordinthegoldenwood_shine" + texturefile = "gfx/interface/goals/LTH/lth_discordinthegoldenwood.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_discordinthegoldenwood.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_discordinthegoldenwood.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_discovernewrealms_shine" + texturefile = "gfx/interface/goals/LTH/lth_discovernewrealms.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_discovernewrealms.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_discovernewrealms.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_dismantlethenazgul_shine" + texturefile = "gfx/interface/goals/LTH/lth_dismantlethenazgul.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_dismantlethenazgul.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_dismantlethenazgul.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_dreadfulasstormandlightning_shine" + texturefile = "gfx/interface/goals/LTH/lth_dreadfulasstormandlightning.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_dreadfulasstormandlightning.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_dreadfulasstormandlightning.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_eaglesofmanwe_shine" + texturefile = "gfx/interface/goals/LTH/lth_eaglesofmanwe.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_eaglesofmanwe.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_eaglesofmanwe.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_earendilthemariner_shine" + texturefile = "gfx/interface/goals/LTH/lth_earendilthemariner.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_earendilthemariner.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_earendilthemariner.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_echoesofrivendell_shine" + texturefile = "gfx/interface/goals/LTH/lth_echoesofrivendell.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_echoesofrivendell.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_echoesofrivendell.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_echoesoftheeldendays_shine" + texturefile = "gfx/interface/goals/LTH/lth_echoesoftheeldendays.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_echoesoftheeldendays.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_echoesoftheeldendays.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_electedrepresentatives_shine" + texturefile = "gfx/interface/goals/LTH/lth_electedrepresentatives.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_electedrepresentatives.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_electedrepresentatives.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_elrondtheperedhil_shine" + texturefile = "gfx/interface/goals/LTH/lth_elrondtheperedhil.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_elrondtheperedhil.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_elrondtheperedhil.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_elrosofnumenor_shine" + texturefile = "gfx/interface/goals/LTH/lth_elrosofnumenor.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_elrosofnumenor.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_elrosofnumenor.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_elvencavalry_shine" + texturefile = "gfx/interface/goals/LTH/lth_elvencavalry.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_elvencavalry.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_elvencavalry.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_elvenforges_shine" + texturefile = "gfx/interface/goals/LTH/lth_elvenforges.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_elvenforges.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_elvenforges.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_elvenharmony_shine" + texturefile = "gfx/interface/goals/LTH/lth_elvenharmony.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_elvenharmony.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_elvenharmony.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_elvensupremacy_shine" + texturefile = "gfx/interface/goals/LTH/lth_elvensupremacy.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_elvensupremacy.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_elvensupremacy.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_elvenweaponry_shine" + texturefile = "gfx/interface/goals/LTH/lth_elvenweaponry.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_elvenweaponry.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_elvenweaponry.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_empowerhaldir_shine" + texturefile = "gfx/interface/goals/LTH/lth_empowerhaldir.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_empowerhaldir.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_empowerhaldir.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_endurethedarkness_shine" + texturefile = "gfx/interface/goals/LTH/lth_endurethedarkness.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_endurethedarkness.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_endurethedarkness.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_ensurefoodsecurity_shine" + texturefile = "gfx/interface/goals/LTH/lth_ensurefoodsecurity.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_ensurefoodsecurity.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_ensurefoodsecurity.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_establishagraindole_shine" + texturefile = "gfx/interface/goals/LTH/lth_establishagraindole.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_establishagraindole.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_establishagraindole.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_eternalwisdom_shine" + texturefile = "gfx/interface/goals/LTH/lth_eternalwisdom.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_eternalwisdom.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_eternalwisdom.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_executivevigour_shine" + texturefile = "gfx/interface/goals/LTH/lth_executivevigour.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_executivevigour.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_executivevigour.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_fairastheseaandsun_shine" + texturefile = "gfx/interface/goals/LTH/lth_fairastheseaandsun.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_fairastheseaandsun.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_fairastheseaandsun.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_fellbeastsofmordor_shine" + texturefile = "gfx/interface/goals/LTH/lth_fellbeastsofmordor.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_fellbeastsofmordor.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_fellbeastsofmordor.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_forgealliances_shine" + texturefile = "gfx/interface/goals/LTH/lth_forgealliances.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_forgealliances.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_forgealliances.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_galadrielsfarewell_shine" + texturefile = "gfx/interface/goals/LTH/lth_galadrielsfarewell.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_galadrielsfarewell.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_galadrielsfarewell.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_galadrielsmirror_shine" + texturefile = "gfx/interface/goals/LTH/lth_galadrielsmirror.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_galadrielsmirror.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_galadrielsmirror.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_galadrielspowers_shine" + texturefile = "gfx/interface/goals/LTH/lth_galadrielspowers.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_galadrielspowers.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_galadrielspowers.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_galadrielsvision_shine" + texturefile = "gfx/interface/goals/LTH/lth_galadrielsvision.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_galadrielsvision.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_galadrielsvision.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_gal_mirror_shine" + texturefile = "gfx/interface/goals/LTH/lth_gal_mirror.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_gal_mirror.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_gal_mirror.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_greatestofwarriors_shine" + texturefile = "gfx/interface/goals/LTH/lth_greatestofwarriors.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_greatestofwarriors.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_greatestofwarriors.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_guardiansoftheriveranduin_shine" + texturefile = "gfx/interface/goals/LTH/lth_guardiansoftheriveranduin.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_guardiansoftheriveranduin.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_guardiansoftheriveranduin.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_guardiansofthesilverwood_shine" + texturefile = "gfx/interface/goals/LTH/lth_guardiansofthesilverwood.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_guardiansofthesilverwood.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_guardiansofthesilverwood.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_guardiansofthewild_shine" + texturefile = "gfx/interface/goals/LTH/lth_guardiansofthewild.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_guardiansofthewild.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_guardiansofthewild.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_harmonicascendancy_shine" + texturefile = "gfx/interface/goals/LTH/lth_harmonicascendancy.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_harmonicascendancy.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_harmonicascendancy.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_harmonyofthesindar_shine" + texturefile = "gfx/interface/goals/LTH/lth_harmonyofthesindar.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_harmonyofthesindar.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_harmonyofthesindar.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_hegemony_shine" + texturefile = "gfx/interface/goals/LTH/lth_hegemony.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_hegemony.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_hegemony.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_immortalendurance_shine" + texturefile = "gfx/interface/goals/LTH/lth_immortalendurance.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_immortalendurance.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_immortalendurance.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_investfocus_shine" + texturefile = "gfx/interface/goals/LTH/lth_investfocus.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_investfocus.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_investfocus.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_invitecirdan_shine" + texturefile = "gfx/interface/goals/LTH/lth_invitecirdan.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_invitecirdan.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_invitecirdan.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_inviteelrond_shine" + texturefile = "gfx/interface/goals/LTH/lth_inviteelrond.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_inviteelrond.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_inviteelrond.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_invitegandalf_shine" + texturefile = "gfx/interface/goals/LTH/lth_invitegandalf.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_invitegandalf.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_invitegandalf.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_invitesaruman_shine" + texturefile = "gfx/interface/goals/LTH/lth_invitesaruman.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_invitesaruman.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_invitesaruman.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_invokethetaleofgaladrielandeorl_shine" + texturefile = "gfx/interface/goals/LTH/lth_invokethetaleofgaladrielandeorl.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_invokethetaleofgaladrielandeorl.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_invokethetaleofgaladrielandeorl.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_labourtaxfornonelves_shine" + texturefile = "gfx/interface/goals/LTH/lth_labourtaxfornonelves.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_labourtaxfornonelves.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_labourtaxfornonelves.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_leadbyexample_shine" + texturefile = "gfx/interface/goals/LTH/lth_leadbyexample.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_leadbyexample.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_leadbyexample.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_learnfromthestrongest_shine" + texturefile = "gfx/interface/goals/LTH/lth_learnfromthestrongest.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_learnfromthestrongest.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_learnfromthestrongest.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_legacyofthenoldor_shine" + texturefile = "gfx/interface/goals/LTH/lth_legacyofthenoldor.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_legacyofthenoldor.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_legacyofthenoldor.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_limitedintervention_shine" + texturefile = "gfx/interface/goals/LTH/lth_limitedintervention.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_limitedintervention.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_limitedintervention.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_localautonomy_shine" + texturefile = "gfx/interface/goals/LTH/lth_localautonomy.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_localautonomy.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_localautonomy.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_lorekeepersguild_shine" + texturefile = "gfx/interface/goals/LTH/lth_lorekeepersguild.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_lorekeepersguild.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_lorekeepersguild.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_lothlorienarchers_shine" + texturefile = "gfx/interface/goals/LTH/lth_lothlorienarchers.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_lothlorienarchers.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_lothlorienarchers.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_maintainalliances_shine" + texturefile = "gfx/interface/goals/LTH/lth_maintainalliances.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_maintainalliances.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_maintainalliances.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_maintainstabilityinthewest_shine" + texturefile = "gfx/interface/goals/LTH/lth_maintainstabilityinthewest.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_maintainstabilityinthewest.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_maintainstabilityinthewest.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_mallorntreearchiotecture_shine" + texturefile = "gfx/interface/goals/LTH/lth_mallorntreearchiotecture.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_mallorntreearchiotecture.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_mallorntreearchiotecture.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_marchinunison_shine" + texturefile = "gfx/interface/goals/LTH/lth_marchinunison.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_marchinunison.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_marchinunison.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_marchwardensoflothlorien_shine" + texturefile = "gfx/interface/goals/LTH/lth_marchwardensoflothlorien.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_marchwardensoflothlorien.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_marchwardensoflothlorien.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_martialalliance_shine" + texturefile = "gfx/interface/goals/LTH/lth_martialalliance.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_martialalliance.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_martialalliance.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_memberexpansion_shine" + texturefile = "gfx/interface/goals/LTH/lth_memberexpansion.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_memberexpansion.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_memberexpansion.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_mendtheschism_shine" + texturefile = "gfx/interface/goals/LTH/lth_mendtheschism.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_mendtheschism.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_mendtheschism.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_meritbasedadvancement_shine" + texturefile = "gfx/interface/goals/LTH/lth_meritbasedadvancement.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_meritbasedadvancement.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_meritbasedadvancement.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_metalworkandjewellery_shine" + texturefile = "gfx/interface/goals/LTH/lth_metalworkandjewellery.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_metalworkandjewellery.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_metalworkandjewellery.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_migrationtreaties_shine" + texturefile = "gfx/interface/goals/LTH/lth_migrationtreaties.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_migrationtreaties.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_migrationtreaties.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_minglewiththemortals_shine" + texturefile = "gfx/interface/goals/LTH/lth_minglewiththemortals.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_minglewiththemortals.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_minglewiththemortals.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_mirrorupgrade_shine" + texturefile = "gfx/interface/goals/LTH/lth_mirrorupgrade.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_mirrorupgrade.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_mirrorupgrade.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_nonelvencitizenship_shine" + texturefile = "gfx/interface/goals/LTH/lth_nonelvencitizenship.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_nonelvencitizenship.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_nonelvencitizenship.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_northboundinvasion_shine" + texturefile = "gfx/interface/goals/LTH/lth_northboundinvasion.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_northboundinvasion.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_northboundinvasion.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_nurturingthehalfelven_shine" + texturefile = "gfx/interface/goals/LTH/lth_nurturingthehalfelven.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_nurturingthehalfelven.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_nurturingthehalfelven.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_offerpassagetothehalflings_shine" + texturefile = "gfx/interface/goals/LTH/lth_offerpassagetothehalflings.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_offerpassagetothehalflings.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_offerpassagetothehalflings.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_organizetributaries_shine" + texturefile = "gfx/interface/goals/LTH/lth_organizetributaries.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_organizetributaries.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_organizetributaries.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_ourowninitiative_shine" + texturefile = "gfx/interface/goals/LTH/lth_ourowninitiative.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_ourowninitiative.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_ourowninitiative.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_patrolsandriverwardens_shine" + texturefile = "gfx/interface/goals/LTH/lth_patrolsandriverwardens.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_patrolsandriverwardens.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_patrolsandriverwardens.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_preemptivemeasures_shine" + texturefile = "gfx/interface/goals/LTH/lth_preemptivemeasures.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_preemptivemeasures.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_preemptivemeasures.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_preemtptivedepartures_shine" + texturefile = "gfx/interface/goals/LTH/lth_preemtptivedepartures.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_preemtptivedepartures.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_preemtptivedepartures.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_preservationofknowledge_shine" + texturefile = "gfx/interface/goals/LTH/lth_preservationofknowledge.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_preservationofknowledge.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_preservationofknowledge.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_princessofthenoldor_shine" + texturefile = "gfx/interface/goals/LTH/lth_princessofthenoldor.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_princessofthenoldor.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_princessofthenoldor.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_prisonervivisections_shine" + texturefile = "gfx/interface/goals/LTH/lth_prisonervivisections.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_prisonervivisections.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_prisonervivisections.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_proposalsandresolutions_shine" + texturefile = "gfx/interface/goals/LTH/lth_proposalsandresolutions.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_proposalsandresolutions.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_proposalsandresolutions.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_provincialcouncils_shine" + texturefile = "gfx/interface/goals/LTH/lth_provincialcouncils.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_provincialcouncils.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_provincialcouncils.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_publiccelebrations_shine" + texturefile = "gfx/interface/goals/LTH/lth_publiccelebrations.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_publiccelebrations.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_publiccelebrations.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_queenofthedawn_shine" + texturefile = "gfx/interface/goals/LTH/lth_queenofthedawn.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_queenofthedawn.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_queenofthedawn.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_reassertcelebornslodrship_shine" + texturefile = "gfx/interface/goals/LTH/lth_reassertcelebornslodrship.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_reassertcelebornslodrship.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_reassertcelebornslodrship.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_reformmilitaryleadership_shine" + texturefile = "gfx/interface/goals/LTH/lth_reformmilitaryleadership.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_reformmilitaryleadership.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_reformmilitaryleadership.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_reformtaxcollection_shine" + texturefile = "gfx/interface/goals/LTH/lth_reformtaxcollection.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_reformtaxcollection.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_reformtaxcollection.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_refugeofdoriath_shine" + texturefile = "gfx/interface/goals/LTH/lth_refugeofdoriath.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_refugeofdoriath.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_refugeofdoriath.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_researchcooperation_shine" + texturefile = "gfx/interface/goals/LTH/lth_researchcooperation.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_researchcooperation.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_researchcooperation.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_resistthedarkness_shine" + texturefile = "gfx/interface/goals/LTH/lth_resistthedarkness.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_resistthedarkness.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_resistthedarkness.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_resourcestorage_shine" + texturefile = "gfx/interface/goals/LTH/lth_resourcestorage.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_resourcestorage.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_resourcestorage.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_revivethewhitecouncil_shine" + texturefile = "gfx/interface/goals/LTH/lth_revivethewhitecouncil.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_revivethewhitecouncil.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_revivethewhitecouncil.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_ridersofthenaith_shine" + texturefile = "gfx/interface/goals/LTH/lth_ridersofthenaith.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_ridersofthenaith.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_ridersofthenaith.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_ringenchantments_shine" + texturefile = "gfx/interface/goals/LTH/lth_ringenchantments.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_ringenchantments.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_ringenchantments.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_sacredtreesofthenhail_shine" + texturefile = "gfx/interface/goals/LTH/lth_sacredtreesofthenhail.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_sacredtreesofthenhail.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_sacredtreesofthenhail.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_safeguardtheelves_shine" + texturefile = "gfx/interface/goals/LTH/lth_safeguardtheelves.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_safeguardtheelves.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_safeguardtheelves.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_safehaven_shine" + texturefile = "gfx/interface/goals/LTH/lth_safehaven.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_safehaven.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_safehaven.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_sealtheborders_shine" + texturefile = "gfx/interface/goals/LTH/lth_sealtheborders.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_sealtheborders.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_sealtheborders.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_seizetheonering_shine" + texturefile = "gfx/interface/goals/LTH/lth_seizetheonering.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_seizetheonering.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_seizetheonering.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_selectiveempowerement_shine" + texturefile = "gfx/interface/goals/LTH/lth_selectiveempowerement.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_selectiveempowerement.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_selectiveempowerement.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_sendadelegationtoerebor_shine" + texturefile = "gfx/interface/goals/LTH/lth_sendadelegationtoerebor.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_sendadelegationtoerebor.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_sendadelegationtoerebor.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_sendadelegationtogondor_shine" + texturefile = "gfx/interface/goals/LTH/lth_sendadelegationtogondor.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_sendadelegationtogondor.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_sendadelegationtogondor.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_sendaidtohelmsdeep_shine" + texturefile = "gfx/interface/goals/LTH/lth_sendaidtohelmsdeep.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_sendaidtohelmsdeep.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_sendaidtohelmsdeep.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_sendaidtominastirith_shine" + texturefile = "gfx/interface/goals/LTH/lth_sendaidtominastirith.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_sendaidtominastirith.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_sendaidtominastirith.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_senddelegationtomoria_shine" + texturefile = "gfx/interface/goals/LTH/lth_senddelegationtomoria.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_senddelegationtomoria.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_senddelegationtomoria.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_sentinelsofcerinamroth_shine" + texturefile = "gfx/interface/goals/LTH/lth_sentinelsofcerinamroth.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_sentinelsofcerinamroth.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_sentinelsofcerinamroth.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_sharedtrainingprograms_shine" + texturefile = "gfx/interface/goals/LTH/lth_sharedtrainingprograms.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_sharedtrainingprograms.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_sharedtrainingprograms.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_silvanelitewarriors_shine" + texturefile = "gfx/interface/goals/LTH/lth_silvanelitewarriors.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_silvanelitewarriors.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_silvanelitewarriors.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_silverthornarrows_shine" + texturefile = "gfx/interface/goals/LTH/lth_silverthornarrows.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_silverthornarrows.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_silverthornarrows.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_sindarpathstalkers_shine" + texturefile = "gfx/interface/goals/LTH/lth_sindarpathstalkers.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_sindarpathstalkers.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_sindarpathstalkers.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_skysoilandwater_shine" + texturefile = "gfx/interface/goals/LTH/lth_skysoilandwater.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_skysoilandwater.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_skysoilandwater.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_spidersofungoliant_shine" + texturefile = "gfx/interface/goals/LTH/lth_spidersofungoliant.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_spidersofungoliant.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_spidersofungoliant.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_standardizedweaponsresearch_shine" + texturefile = "gfx/interface/goals/LTH/lth_standardizedweaponsresearch.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_standardizedweaponsresearch.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_standardizedweaponsresearch.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_strengthenfortifications_shine" + texturefile = "gfx/interface/goals/LTH/lth_strengthenfortifications.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_strengthenfortifications.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_strengthenfortifications.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_supportmordorsenemies_shine" + texturefile = "gfx/interface/goals/LTH/lth_supportmordorsenemies.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_supportmordorsenemies.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_supportmordorsenemies.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_supportofthegreateagles_shine" + texturefile = "gfx/interface/goals/LTH/lth_supportofthegreateagles.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_supportofthegreateagles.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_supportofthegreateagles.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_supportthefellowship_shine" + texturefile = "gfx/interface/goals/LTH/lth_supportthefellowship.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_supportthefellowship.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_supportthefellowship.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_supportthegreycompany_shine" + texturefile = "gfx/interface/goals/LTH/lth_supportthegreycompany.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_supportthegreycompany.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_supportthegreycompany.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_tacklethedwarves_shine" + texturefile = "gfx/interface/goals/LTH/lth_tacklethedwarves.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_tacklethedwarves.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_tacklethedwarves.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_tackletherealmsofmen_shine" + texturefile = "gfx/interface/goals/LTH/lth_tackletherealmsofmen.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_tackletherealmsofmen.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_tackletherealmsofmen.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_tamingthewild_shine" + texturefile = "gfx/interface/goals/LTH/lth_tamingthewild.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_tamingthewild.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_tamingthewild.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_territorialadministration_shine" + texturefile = "gfx/interface/goals/LTH/lth_territorialadministration.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_territorialadministration.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_territorialadministration.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_territorialintegration_shine" + texturefile = "gfx/interface/goals/LTH/lth_territorialintegration.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_territorialintegration.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_territorialintegration.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_thearchivesofagespast_shine" + texturefile = "gfx/interface/goals/LTH/lth_thearchivesofagespast.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_thearchivesofagespast.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_thearchivesofagespast.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_theburdensofleadership_shine" + texturefile = "gfx/interface/goals/LTH/lth_theburdensofleadership.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_theburdensofleadership.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_theburdensofleadership.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_thecallofvalinor_shine" + texturefile = "gfx/interface/goals/LTH/lth_thecallofvalinor.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_thecallofvalinor.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_thecallofvalinor.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_thechildrenofluthien_shine" + texturefile = "gfx/interface/goals/LTH/lth_thechildrenofluthien.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_thechildrenofluthien.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_thechildrenofluthien.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_thecouncilofquendi_shine" + texturefile = "gfx/interface/goals/LTH/lth_thecouncilofquendi.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_thecouncilofquendi.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_thecouncilofquendi.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_thedissolutionoftheelvennobility_shine" + texturefile = "gfx/interface/goals/LTH/lth_thedissolutionoftheelvennobility.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_thedissolutionoftheelvennobility.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_thedissolutionoftheelvennobility.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_theelvenalliance_shine" + texturefile = "gfx/interface/goals/LTH/lth_theelvenalliance.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_theelvenalliance.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_theelvenalliance.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_theelvenfleet_shine" + texturefile = "gfx/interface/goals/LTH/lth_theelvenfleet.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_theelvenfleet.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_theelvenfleet.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_theemissariesguild_shine" + texturefile = "gfx/interface/goals/LTH/lth_theemissariesguild.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_theemissariesguild.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_theemissariesguild.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_theenigmaofnenya_shine" + texturefile = "gfx/interface/goals/LTH/lth_theenigmaofnenya.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_theenigmaofnenya.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_theenigmaofnenya.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_theeternaldominion_shine" + texturefile = "gfx/interface/goals/LTH/lth_theeternaldominion.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_theeternaldominion.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_theeternaldominion.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_thefateofmortals_shine" + texturefile = "gfx/interface/goals/LTH/lth_thefateofmortals.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_thefateofmortals.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_thefateofmortals.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_thefestivalofunity_shine" + texturefile = "gfx/interface/goals/LTH/lth_thefestivalofunity.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_thefestivalofunity.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_thefestivalofunity.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_theforestbetween_shine" + texturefile = "gfx/interface/goals/LTH/lth_theforestbetween.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_theforestbetween.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_theforestbetween.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_thefortressofdolguldur_shine" + texturefile = "gfx/interface/goals/LTH/lth_thefortressofdolguldur.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_thefortressofdolguldur.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_thefortressofdolguldur.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_thegiftofservitude_shine" + texturefile = "gfx/interface/goals/LTH/lth_thegiftofservitude.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_thegiftofservitude.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_thegiftofservitude.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_thegirdleofmelian_shine" + texturefile = "gfx/interface/goals/LTH/lth_thegirdleofmelian.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_thegirdleofmelian.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_thegirdleofmelian.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_thegreatbeasts_shine" + texturefile = "gfx/interface/goals/LTH/lth_thegreatbeasts.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_thegreatbeasts.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_thegreatbeasts.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_thegreatschism_shine" + texturefile = "gfx/interface/goals/LTH/lth_thegreatschism.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_thegreatschism.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_thegreatschism.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_thehiddenrealm_shine" + texturefile = "gfx/interface/goals/LTH/lth_thehiddenrealm.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_thehiddenrealm.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_thehiddenrealm.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_theinfluenceofrivendell_shine" + texturefile = "gfx/interface/goals/LTH/lth_theinfluenceofrivendell.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_theinfluenceofrivendell.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_theinfluenceofrivendell.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_thelasteldar_shine" + texturefile = "gfx/interface/goals/LTH/lth_thelasteldar.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_thelasteldar.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_thelasteldar.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_thelaststand_shine" + texturefile = "gfx/interface/goals/LTH/lth_thelaststand.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_thelaststand.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_thelaststand.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + SpriteType = { + name = "lth_thelibraryofcarasgaladhon_shine" + texturefile = "gfx/interface/goals/LTH/lth_thelibraryofcarasgaladhon.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_thelibraryofcarasgaladhon.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_thelibraryofcarasgaladhon.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no } SpriteType = { - name = "GFX_goal_rangers_of_the_north" - texturefile = "gfx/interface/goals/ART/GFX_goal_rangers_of_the_north.dds" + name = "lth_thenandorheritage_shine" + texturefile = "gfx/interface/goals/LTH/lth_thenandorheritage.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_thenandorheritage.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_thenandorheritage.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no } SpriteType = { - name = "GFX_unite_by_force" - texturefile = "gfx/interface/goals/ART/GFX_unite_by_force.dds" + name = "lth_theneworder_shine" + texturefile = "gfx/interface/goals/LTH/lth_theneworder.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_theneworder.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_theneworder.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no } SpriteType = { - name = "GFX_goal_balrog" - texturefile = "gfx/interface/goals/MOA/GFX_goal_balrog.dds" + name = "lth_thenoldorelite_shine" + texturefile = "gfx/interface/goals/LTH/lth_thenoldorelite.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_thenoldorelite.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_thenoldorelite.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no } SpriteType = { - name = "GFX_goal_gundabad" - texturefile = "gfx/interface/goals/GUN/GFX_goal_gundabad.dds" + name = "lth_theoathoffeanor_shine" + texturefile = "gfx/interface/goals/LTH/lth_theoathoffeanor.dds" + effectFile = "gfx/FX/buttonstate.lua" + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_theoathoffeanor.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = "gfx/interface/goals/LTH/lth_theoathoffeanor.dds" + animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file + animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) + animationlooping = no # yes or no ;) + animationtime = 0.75 # in seconds + animationdelay = 0 # in seconds + animationblendmode = "add" #add, multiply, overlay + animationtype = "scrolling" #scrolling, rotating, pulsing + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no } SpriteType = { - name = "GFX_goal_support_cooperative_shine" - texturefile = "gfx/interface/goals/Generic/GFX_goal_support_cooperative.dds" + name = "lth_theonodrimoffangorn_shine" + texturefile = "gfx/interface/goals/LTH/lth_theonodrimoffangorn.dds" effectFile = "gfx/FX/buttonstate.lua" animation = { - animationmaskfile = "gfx/interface/goals/Generic/GFX_goal_support_cooperative.dds" + animationmaskfile = "gfx/interface/goals/LTH/lth_theonodrimoffangorn.dds" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -380,7 +8982,7 @@ spriteTypes = { animationtexturescale = { x = 1.0 y = 1.0 } } animation = { - animationmaskfile = "gfx/interface/goals/Generic/GFX_goal_support_cooperative.dds" + animationmaskfile = "gfx/interface/goals/LTH/lth_theonodrimoffangorn.dds" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -394,11 +8996,11 @@ spriteTypes = { legacy_lazy_load = no } SpriteType = { - name = "GFX_goal_generic_gondor_research_shine" - texturefile = "gfx/interface/goals/Generic/GFX_goal_generic_gondor_research.dds" + name = "lth_theopendoorsedict_shine" + texturefile = "gfx/interface/goals/LTH/lth_theopendoorsedict.dds" effectFile = "gfx/FX/buttonstate.lua" animation = { - animationmaskfile = "gfx/interface/goals/Generic/GFX_goal_generic_gondor_research.dds" + animationmaskfile = "gfx/interface/goals/LTH/lth_theopendoorsedict.dds" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -410,7 +9012,7 @@ spriteTypes = { animationtexturescale = { x = 1.0 y = 1.0 } } animation = { - animationmaskfile = "gfx/interface/goals/Generic/GFX_goal_generic_gondor_research.dds" + animationmaskfile = "gfx/interface/goals/LTH/lth_theopendoorsedict.dds" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -424,11 +9026,11 @@ spriteTypes = { legacy_lazy_load = no } SpriteType = { - name = "GFX_goal_generic_industry_I_shine" - texturefile = "gfx/interface/goals/Generic/GFX_goal_generic_industry_I.dds" + name = "lth_thepeasantassembly_shine" + texturefile = "gfx/interface/goals/LTH/lth_thepeasantassembly.dds" effectFile = "gfx/FX/buttonstate.lua" animation = { - animationmaskfile = "gfx/interface/goals/Generic/GFX_goal_generic_industry_I.dds" + animationmaskfile = "gfx/interface/goals/LTH/lth_thepeasantassembly.dds" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -440,7 +9042,7 @@ spriteTypes = { animationtexturescale = { x = 1.0 y = 1.0 } } animation = { - animationmaskfile = "gfx/interface/goals/Generic/GFX_goal_generic_industry_I.dds" + animationmaskfile = "gfx/interface/goals/LTH/lth_thepeasantassembly.dds" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -454,11 +9056,11 @@ spriteTypes = { legacy_lazy_load = no } SpriteType = { - name = "GFX_goal_resource_wood_shine" - texturefile = "gfx/interface/goals/Generic/GFX_goal_resource_wood.dds" + name = "lth_thepriviledgeofmembership_shine" + texturefile = "gfx/interface/goals/LTH/lth_thepriviledgeofmembership.dds" effectFile = "gfx/FX/buttonstate.lua" animation = { - animationmaskfile = "gfx/interface/goals/Generic/GFX_goal_resource_wood.dds" + animationmaskfile = "gfx/interface/goals/LTH/lth_thepriviledgeofmembership.dds" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -470,7 +9072,7 @@ spriteTypes = { animationtexturescale = { x = 1.0 y = 1.0 } } animation = { - animationmaskfile = "gfx/interface/goals/Generic/GFX_goal_resource_wood.dds" + animationmaskfile = "gfx/interface/goals/LTH/lth_thepriviledgeofmembership.dds" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -484,11 +9086,11 @@ spriteTypes = { legacy_lazy_load = no } SpriteType = { - name = "GFX_goal_support_revolutionary_shine" - texturefile = "gfx/interface/goals/Generic/GFX_goal_support_revolutionary.dds" + name = "lth_thequeensguard_shine" + texturefile = "gfx/interface/goals/LTH/lth_thequeensguard.dds" effectFile = "gfx/FX/buttonstate.lua" animation = { - animationmaskfile = "gfx/interface/goals/Generic/GFX_goal_support_revolutionary.dds" + animationmaskfile = "gfx/interface/goals/LTH/lth_thequeensguard.dds" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -500,7 +9102,7 @@ spriteTypes = { animationtexturescale = { x = 1.0 y = 1.0 } } animation = { - animationmaskfile = "gfx/interface/goals/Generic/GFX_goal_support_revolutionary.dds" + animationmaskfile = "gfx/interface/goals/LTH/lth_thequeensguard.dds" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -514,11 +9116,11 @@ spriteTypes = { legacy_lazy_load = no } SpriteType = { - name = "GFX_goal_support_belligerent_shine" - texturefile = "gfx/interface/goals/Generic/GFX_goal_support_belligerent.dds" + name = "lth_thereawakening_shine" + texturefile = "gfx/interface/goals/LTH/lth_thereawakening.dds" effectFile = "gfx/FX/buttonstate.lua" animation = { - animationmaskfile = "gfx/interface/goals/Generic/GFX_goal_support_belligerent.dds" + animationmaskfile = "gfx/interface/goals/LTH/lth_thereawakening.dds" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -530,7 +9132,7 @@ spriteTypes = { animationtexturescale = { x = 1.0 y = 1.0 } } animation = { - animationmaskfile = "gfx/interface/goals/Generic/GFX_goal_support_belligerent.dds" + animationmaskfile = "gfx/interface/goals/LTH/lth_thereawakening.dds" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -544,11 +9146,11 @@ spriteTypes = { legacy_lazy_load = no } SpriteType = { - name = "GFX_goal_support_unalligned_shine" - texturefile = "gfx/interface/goals/Generic/GFX_goal_support_unalligned.dds" + name = "lth_thesentinelnetwork_shine" + texturefile = "gfx/interface/goals/LTH/lth_thesentinelnetwork.dds" effectFile = "gfx/FX/buttonstate.lua" animation = { - animationmaskfile = "gfx/interface/goals/Generic/GFX_goal_support_unalligned.dds" + animationmaskfile = "gfx/interface/goals/LTH/lth_thesentinelnetwork.dds" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -560,7 +9162,7 @@ spriteTypes = { animationtexturescale = { x = 1.0 y = 1.0 } } animation = { - animationmaskfile = "gfx/interface/goals/Generic/GFX_goal_support_unalligned.dds" + animationmaskfile = "gfx/interface/goals/LTH/lth_thesentinelnetwork.dds" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -574,11 +9176,11 @@ spriteTypes = { legacy_lazy_load = no } SpriteType = { - name = "GFX_goal_angmar_unalligned_shine" - texturefile = "gfx/interface/goals/ANG/GFX_goal_angmar_unalligned.dds" + name = "lth_theshadowswhisper_shine" + texturefile = "gfx/interface/goals/LTH/lth_theshadowswhisper.dds" effectFile = "gfx/FX/buttonstate.lua" animation = { - animationmaskfile = "gfx/interface/goals/ANG/GFX_goal_angmar_unalligned.dds" + animationmaskfile = "gfx/interface/goals/LTH/lth_theshadowswhisper.dds" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -590,7 +9192,7 @@ spriteTypes = { animationtexturescale = { x = 1.0 y = 1.0 } } animation = { - animationmaskfile = "gfx/interface/goals/ANG/GFX_goal_angmar_unalligned.dds" + animationmaskfile = "gfx/interface/goals/LTH/lth_theshadowswhisper.dds" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -604,11 +9206,11 @@ spriteTypes = { legacy_lazy_load = no } SpriteType = { - name = "GFX_goal_mordor_shine" - texturefile = "gfx/interface/goals/ANG/GFX_goal_mordor.dds" + name = "lth_thesongofnimrodel_shine" + texturefile = "gfx/interface/goals/LTH/lth_thesongofnimrodel.dds" effectFile = "gfx/FX/buttonstate.lua" animation = { - animationmaskfile = "gfx/interface/goals/ANG/GFX_goal_mordor.dds" + animationmaskfile = "gfx/interface/goals/LTH/lth_thesongofnimrodel.dds" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -620,7 +9222,7 @@ spriteTypes = { animationtexturescale = { x = 1.0 y = 1.0 } } animation = { - animationmaskfile = "gfx/interface/goals/ANG/GFX_goal_mordor.dds" + animationmaskfile = "gfx/interface/goals/LTH/lth_thesongofnimrodel.dds" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -634,11 +9236,11 @@ spriteTypes = { legacy_lazy_load = no } SpriteType = { - name = "GFX_goal_mordor_deal_shine" - texturefile = "gfx/interface/goals/ANG/GFX_goal_mordor_deal.dds" + name = "lth_thesupremeleader_shine" + texturefile = "gfx/interface/goals/LTH/lth_thesupremeleader.dds" effectFile = "gfx/FX/buttonstate.lua" animation = { - animationmaskfile = "gfx/interface/goals/ANG/GFX_goal_mordor_deal.dds" + animationmaskfile = "gfx/interface/goals/LTH/lth_thesupremeleader.dds" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -650,7 +9252,7 @@ spriteTypes = { animationtexturescale = { x = 1.0 y = 1.0 } } animation = { - animationmaskfile = "gfx/interface/goals/ANG/GFX_goal_mordor_deal.dds" + animationmaskfile = "gfx/interface/goals/LTH/lth_thesupremeleader.dds" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -664,11 +9266,11 @@ spriteTypes = { legacy_lazy_load = no } SpriteType = { - name = "GFX_goal_witch_king_shine" - texturefile = "gfx/interface/goals/ANG/GFX_goal_witch_king.dds" + name = "lth_thetwilightgarden_shine" + texturefile = "gfx/interface/goals/LTH/lth_thetwilightgarden.dds" effectFile = "gfx/FX/buttonstate.lua" animation = { - animationmaskfile = "gfx/interface/goals/ANG/GFX_goal_witch_king.dds" + animationmaskfile = "gfx/interface/goals/LTH/lth_thetwilightgarden.dds" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -680,7 +9282,7 @@ spriteTypes = { animationtexturescale = { x = 1.0 y = 1.0 } } animation = { - animationmaskfile = "gfx/interface/goals/ANG/GFX_goal_witch_king.dds" + animationmaskfile = "gfx/interface/goals/LTH/lth_thetwilightgarden.dds" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -694,11 +9296,11 @@ spriteTypes = { legacy_lazy_load = no } SpriteType = { - name = "GFX_goal_dol_guldur_shine" - texturefile = "gfx/interface/goals/MOR/GFX_goal_dol_guldur.dds" + name = "lth_thetwinheartsoflothlorien_shine" + texturefile = "gfx/interface/goals/LTH/lth_thetwinheartsoflothlorien.dds" effectFile = "gfx/FX/buttonstate.lua" animation = { - animationmaskfile = "gfx/interface/goals/MOR/GFX_goal_dol_guldur.dds" + animationmaskfile = "gfx/interface/goals/LTH/lth_thetwinheartsoflothlorien.dds" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -710,7 +9312,7 @@ spriteTypes = { animationtexturescale = { x = 1.0 y = 1.0 } } animation = { - animationmaskfile = "gfx/interface/goals/MOR/GFX_goal_dol_guldur.dds" + animationmaskfile = "gfx/interface/goals/LTH/lth_thetwinheartsoflothlorien.dds" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -724,11 +9326,11 @@ spriteTypes = { legacy_lazy_load = no } SpriteType = { - name = "GFX_goal_erebor_shine" - texturefile = "gfx/interface/goals/MOR/GFX_goal_erebor.dds" + name = "lth_theunholyalliance_shine" + texturefile = "gfx/interface/goals/LTH/lth_theunholyalliance.dds" effectFile = "gfx/FX/buttonstate.lua" animation = { - animationmaskfile = "gfx/interface/goals/MOR/GFX_goal_erebor.dds" + animationmaskfile = "gfx/interface/goals/LTH/lth_theunholyalliance.dds" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -740,7 +9342,7 @@ spriteTypes = { animationtexturescale = { x = 1.0 y = 1.0 } } animation = { - animationmaskfile = "gfx/interface/goals/MOR/GFX_goal_erebor.dds" + animationmaskfile = "gfx/interface/goals/LTH/lth_theunholyalliance.dds" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -754,11 +9356,11 @@ spriteTypes = { legacy_lazy_load = no } SpriteType = { - name = "GFX_goal_grapes_shine" - texturefile = "gfx/interface/goals/MOR/GFX_goal_grapes.dds" + name = "lth_theuntreadedpath_shine" + texturefile = "gfx/interface/goals/LTH/lth_theuntreadedpath.dds" effectFile = "gfx/FX/buttonstate.lua" animation = { - animationmaskfile = "gfx/interface/goals/MOR/GFX_goal_grapes.dds" + animationmaskfile = "gfx/interface/goals/LTH/lth_theuntreadedpath.dds" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -770,7 +9372,7 @@ spriteTypes = { animationtexturescale = { x = 1.0 y = 1.0 } } animation = { - animationmaskfile = "gfx/interface/goals/MOR/GFX_goal_grapes.dds" + animationmaskfile = "gfx/interface/goals/LTH/lth_theuntreadedpath.dds" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -784,11 +9386,11 @@ spriteTypes = { legacy_lazy_load = no } SpriteType = { - name = "GFX_goal_mordor_landscape_shine" - texturefile = "gfx/interface/goals/MOR/GFX_goal_mordor_landscape.dds" + name = "lth_thewizardswisdom_shine" + texturefile = "gfx/interface/goals/LTH/lth_thewizardswisdom.dds" effectFile = "gfx/FX/buttonstate.lua" animation = { - animationmaskfile = "gfx/interface/goals/MOR/GFX_goal_mordor_landscape.dds" + animationmaskfile = "gfx/interface/goals/LTH/lth_thewizardswisdom.dds" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -800,7 +9402,7 @@ spriteTypes = { animationtexturescale = { x = 1.0 y = 1.0 } } animation = { - animationmaskfile = "gfx/interface/goals/MOR/GFX_goal_mordor_landscape.dds" + animationmaskfile = "gfx/interface/goals/LTH/lth_thewizardswisdom.dds" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -814,11 +9416,11 @@ spriteTypes = { legacy_lazy_load = no } SpriteType = { - name = "GFX_goal_skull_treaty_shine" - texturefile = "gfx/interface/goals/MOR/GFX_goal_skull_treaty.dds" + name = "lth_tieswiththerohirrim_shine" + texturefile = "gfx/interface/goals/LTH/lth_tieswiththerohirrim.dds" effectFile = "gfx/FX/buttonstate.lua" animation = { - animationmaskfile = "gfx/interface/goals/MOR/GFX_goal_skull_treaty.dds" + animationmaskfile = "gfx/interface/goals/LTH/lth_tieswiththerohirrim.dds" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -830,7 +9432,7 @@ spriteTypes = { animationtexturescale = { x = 1.0 y = 1.0 } } animation = { - animationmaskfile = "gfx/interface/goals/MOR/GFX_goal_skull_treaty.dds" + animationmaskfile = "gfx/interface/goals/LTH/lth_tieswiththerohirrim.dds" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -844,11 +9446,11 @@ spriteTypes = { legacy_lazy_load = no } SpriteType = { - name = "GFX_servant_of_melkor_shine" - texturefile = "gfx/interface/goals/MOR/GFX_servant_of_melkor.dds" + name = "lth_totalisoltation_shine" + texturefile = "gfx/interface/goals/LTH/lth_totalisoltation.dds" effectFile = "gfx/FX/buttonstate.lua" animation = { - animationmaskfile = "gfx/interface/goals/MOR/GFX_servant_of_melkor.dds" + animationmaskfile = "gfx/interface/goals/LTH/lth_totalisoltation.dds" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -860,7 +9462,7 @@ spriteTypes = { animationtexturescale = { x = 1.0 y = 1.0 } } animation = { - animationmaskfile = "gfx/interface/goals/MOR/GFX_servant_of_melkor.dds" + animationmaskfile = "gfx/interface/goals/LTH/lth_totalisoltation.dds" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -874,11 +9476,11 @@ spriteTypes = { legacy_lazy_load = no } SpriteType = { - name = "GFX_trolls_shine" - texturefile = "gfx/interface/goals/MOR/GFX_trolls.dds" + name = "lth_trackdowndurinsbane_shine" + texturefile = "gfx/interface/goals/LTH/lth_trackdowndurinsbane.dds" effectFile = "gfx/FX/buttonstate.lua" animation = { - animationmaskfile = "gfx/interface/goals/MOR/GFX_trolls.dds" + animationmaskfile = "gfx/interface/goals/LTH/lth_trackdowndurinsbane.dds" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -890,7 +9492,7 @@ spriteTypes = { animationtexturescale = { x = 1.0 y = 1.0 } } animation = { - animationmaskfile = "gfx/interface/goals/MOR/GFX_trolls.dds" + animationmaskfile = "gfx/interface/goals/LTH/lth_trackdowndurinsbane.dds" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -904,11 +9506,11 @@ spriteTypes = { legacy_lazy_load = no } SpriteType = { - name = "GFX_wargoal_dale_shine" - texturefile = "gfx/interface/goals/MOR/GFX_wargoal_dale.dds" + name = "lth_tradeagreements_shine" + texturefile = "gfx/interface/goals/LTH/lth_tradeagreements.dds" effectFile = "gfx/FX/buttonstate.lua" animation = { - animationmaskfile = "gfx/interface/goals/MOR/GFX_wargoal_dale.dds" + animationmaskfile = "gfx/interface/goals/LTH/lth_tradeagreements.dds" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -920,7 +9522,7 @@ spriteTypes = { animationtexturescale = { x = 1.0 y = 1.0 } } animation = { - animationmaskfile = "gfx/interface/goals/MOR/GFX_wargoal_dale.dds" + animationmaskfile = "gfx/interface/goals/LTH/lth_tradeagreements.dds" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -934,11 +9536,11 @@ spriteTypes = { legacy_lazy_load = no } SpriteType = { - name = "GFX_wargoal_dorwinion_shine" - texturefile = "gfx/interface/goals/MOR/GFX_wargoal_dorwinion.dds" + name = "lth_turnlindon_shine" + texturefile = "gfx/interface/goals/LTH/lth_turnlindon.dds" effectFile = "gfx/FX/buttonstate.lua" animation = { - animationmaskfile = "gfx/interface/goals/MOR/GFX_wargoal_dorwinion.dds" + animationmaskfile = "gfx/interface/goals/LTH/lth_turnlindon.dds" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -950,7 +9552,7 @@ spriteTypes = { animationtexturescale = { x = 1.0 y = 1.0 } } animation = { - animationmaskfile = "gfx/interface/goals/MOR/GFX_wargoal_dorwinion.dds" + animationmaskfile = "gfx/interface/goals/LTH/lth_turnlindon.dds" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -964,11 +9566,11 @@ spriteTypes = { legacy_lazy_load = no } SpriteType = { - name = "GFX_wargoal_erebor_shine" - texturefile = "gfx/interface/goals/MOR/GFX_wargoal_erebor.dds" + name = "lth_turnmirkwood_shine" + texturefile = "gfx/interface/goals/LTH/lth_turnmirkwood.dds" effectFile = "gfx/FX/buttonstate.lua" animation = { - animationmaskfile = "gfx/interface/goals/MOR/GFX_wargoal_erebor.dds" + animationmaskfile = "gfx/interface/goals/LTH/lth_turnmirkwood.dds" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -980,7 +9582,7 @@ spriteTypes = { animationtexturescale = { x = 1.0 y = 1.0 } } animation = { - animationmaskfile = "gfx/interface/goals/MOR/GFX_wargoal_erebor.dds" + animationmaskfile = "gfx/interface/goals/LTH/lth_turnmirkwood.dds" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -994,11 +9596,11 @@ spriteTypes = { legacy_lazy_load = no } SpriteType = { - name = "GFX_wargoal_gondor_shine" - texturefile = "gfx/interface/goals/MOR/GFX_wargoal_gondor.dds" + name = "lth_turnrivendell_shine" + texturefile = "gfx/interface/goals/LTH/lth_turnrivendell.dds" effectFile = "gfx/FX/buttonstate.lua" animation = { - animationmaskfile = "gfx/interface/goals/MOR/GFX_wargoal_gondor.dds" + animationmaskfile = "gfx/interface/goals/LTH/lth_turnrivendell.dds" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -1010,7 +9612,7 @@ spriteTypes = { animationtexturescale = { x = 1.0 y = 1.0 } } animation = { - animationmaskfile = "gfx/interface/goals/MOR/GFX_wargoal_gondor.dds" + animationmaskfile = "gfx/interface/goals/LTH/lth_turnrivendell.dds" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -1024,11 +9626,11 @@ spriteTypes = { legacy_lazy_load = no } SpriteType = { - name = "GFX_wargoal_harad_shine" - texturefile = "gfx/interface/goals/MOR/GFX_wargoal_harad.dds" + name = "lth_tworingsbecomethone_shine" + texturefile = "gfx/interface/goals/LTH/lth_tworingsbecomethone.dds" effectFile = "gfx/FX/buttonstate.lua" animation = { - animationmaskfile = "gfx/interface/goals/MOR/GFX_wargoal_harad.dds" + animationmaskfile = "gfx/interface/goals/LTH/lth_tworingsbecomethone.dds" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -1040,7 +9642,7 @@ spriteTypes = { animationtexturescale = { x = 1.0 y = 1.0 } } animation = { - animationmaskfile = "gfx/interface/goals/MOR/GFX_wargoal_harad.dds" + animationmaskfile = "gfx/interface/goals/LTH/lth_tworingsbecomethone.dds" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -1054,11 +9656,11 @@ spriteTypes = { legacy_lazy_load = no } SpriteType = { - name = "GFX_wargoal_rhun_shine" - texturefile = "gfx/interface/goals/MOR/GFX_wargoal_rhun.dds" + name = "lth_unionofequals_shine" + texturefile = "gfx/interface/goals/LTH/lth_unionofequals.dds" effectFile = "gfx/FX/buttonstate.lua" animation = { - animationmaskfile = "gfx/interface/goals/MOR/GFX_wargoal_rhun.dds" + animationmaskfile = "gfx/interface/goals/LTH/lth_unionofequals.dds" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -1070,7 +9672,7 @@ spriteTypes = { animationtexturescale = { x = 1.0 y = 1.0 } } animation = { - animationmaskfile = "gfx/interface/goals/MOR/GFX_wargoal_rhun.dds" + animationmaskfile = "gfx/interface/goals/LTH/lth_unionofequals.dds" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -1084,11 +9686,11 @@ spriteTypes = { legacy_lazy_load = no } SpriteType = { - name = "GFX_wargoal_rohan_shine" - texturefile = "gfx/interface/goals/MOR/GFX_wargoal_rohan.dds" + name = "lth_unitethefactions_shine" + texturefile = "gfx/interface/goals/LTH/lth_unitethefactions.dds" effectFile = "gfx/FX/buttonstate.lua" animation = { - animationmaskfile = "gfx/interface/goals/MOR/GFX_wargoal_rohan.dds" + animationmaskfile = "gfx/interface/goals/LTH/lth_unitethefactions.dds" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -1100,7 +9702,7 @@ spriteTypes = { animationtexturescale = { x = 1.0 y = 1.0 } } animation = { - animationmaskfile = "gfx/interface/goals/MOR/GFX_wargoal_rohan.dds" + animationmaskfile = "gfx/interface/goals/LTH/lth_unitethefactions.dds" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -1114,11 +9716,11 @@ spriteTypes = { legacy_lazy_load = no } SpriteType = { - name = "GFX_goal_restore_baraddr_shine" - texturefile = "gfx/interface/goals/MOR/GFX_goal_restore_baraddr.dds" + name = "lth_unityindivision_shine" + texturefile = "gfx/interface/goals/LTH/lth_unityindivision.dds" effectFile = "gfx/FX/buttonstate.lua" animation = { - animationmaskfile = "gfx/interface/goals/MOR/GFX_goal_restore_baraddr.dds" + animationmaskfile = "gfx/interface/goals/LTH/lth_unityindivision.dds" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -1130,7 +9732,7 @@ spriteTypes = { animationtexturescale = { x = 1.0 y = 1.0 } } animation = { - animationmaskfile = "gfx/interface/goals/MOR/GFX_goal_restore_baraddr.dds" + animationmaskfile = "gfx/interface/goals/LTH/lth_unityindivision.dds" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -1144,11 +9746,11 @@ spriteTypes = { legacy_lazy_load = no } SpriteType = { - name = "GFX_goal_azog_shine" - texturefile = "gfx/interface/goals/MOR/GFX_goal_azog.dds" + name = "lth_unlikelyallies_shine" + texturefile = "gfx/interface/goals/LTH/lth_unlikelyallies.dds" effectFile = "gfx/FX/buttonstate.lua" animation = { - animationmaskfile = "gfx/interface/goals/MOR/GFX_goal_azog.dds" + animationmaskfile = "gfx/interface/goals/LTH/lth_unlikelyallies.dds" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -1160,7 +9762,7 @@ spriteTypes = { animationtexturescale = { x = 1.0 y = 1.0 } } animation = { - animationmaskfile = "gfx/interface/goals/MOR/GFX_goal_azog.dds" + animationmaskfile = "gfx/interface/goals/LTH/lth_unlikelyallies.dds" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -1174,11 +9776,11 @@ spriteTypes = { legacy_lazy_load = no } SpriteType = { - name = "GFX_goal_sauron_eye_shine" - texturefile = "gfx/interface/goals/MOR/GFX_goal_sauron_eye.dds" + name = "lth_urbancouncils_shine" + texturefile = "gfx/interface/goals/LTH/lth_urbancouncils.dds" effectFile = "gfx/FX/buttonstate.lua" animation = { - animationmaskfile = "gfx/interface/goals/MOR/GFX_goal_sauron_eye.dds" + animationmaskfile = "gfx/interface/goals/LTH/lth_urbancouncils.dds" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -1190,7 +9792,7 @@ spriteTypes = { animationtexturescale = { x = 1.0 y = 1.0 } } animation = { - animationmaskfile = "gfx/interface/goals/MOR/GFX_goal_sauron_eye.dds" + animationmaskfile = "gfx/interface/goals/LTH/lth_urbancouncils.dds" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -1204,11 +9806,11 @@ spriteTypes = { legacy_lazy_load = no } SpriteType = { - name = "GFX_goal_the_one_ring_shine" - texturefile = "gfx/interface/goals/MOR/GFX_goal_the_one_ring.dds" + name = "lth_valesofanduin_shine" + texturefile = "gfx/interface/goals/LTH/lth_valesofanduin.dds" effectFile = "gfx/FX/buttonstate.lua" animation = { - animationmaskfile = "gfx/interface/goals/MOR/GFX_goal_the_one_ring.dds" + animationmaskfile = "gfx/interface/goals/LTH/lth_valesofanduin.dds" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -1220,7 +9822,7 @@ spriteTypes = { animationtexturescale = { x = 1.0 y = 1.0 } } animation = { - animationmaskfile = "gfx/interface/goals/MOR/GFX_goal_the_one_ring.dds" + animationmaskfile = "gfx/interface/goals/LTH/lth_valesofanduin.dds" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -1234,11 +9836,11 @@ spriteTypes = { legacy_lazy_load = no } SpriteType = { - name = "GFX_goal_gather_the_nazgl_shine" - texturefile = "gfx/interface/goals/MOR/GFX_goal_gather_the_nazgl.dds" + name = "lth_wanderersofnandor_shine" + texturefile = "gfx/interface/goals/LTH/lth_wanderersofnandor.dds" effectFile = "gfx/FX/buttonstate.lua" animation = { - animationmaskfile = "gfx/interface/goals/MOR/GFX_goal_gather_the_nazgl.dds" + animationmaskfile = "gfx/interface/goals/LTH/lth_wanderersofnandor.dds" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -1250,7 +9852,7 @@ spriteTypes = { animationtexturescale = { x = 1.0 y = 1.0 } } animation = { - animationmaskfile = "gfx/interface/goals/MOR/GFX_goal_gather_the_nazgl.dds" + animationmaskfile = "gfx/interface/goals/LTH/lth_wanderersofnandor.dds" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -1264,11 +9866,11 @@ spriteTypes = { legacy_lazy_load = no } SpriteType = { - name = "GFX_goal_dark_dol_guldur_shine" - texturefile = "gfx/interface/goals/MOR/GFX_goal_dark_dol_guldur.dds" + name = "lth_watersofhealing_shine" + texturefile = "gfx/interface/goals/LTH/lth_watersofhealing.dds" effectFile = "gfx/FX/buttonstate.lua" animation = { - animationmaskfile = "gfx/interface/goals/MOR/GFX_goal_dark_dol_guldur.dds" + animationmaskfile = "gfx/interface/goals/LTH/lth_watersofhealing.dds" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -1280,7 +9882,7 @@ spriteTypes = { animationtexturescale = { x = 1.0 y = 1.0 } } animation = { - animationmaskfile = "gfx/interface/goals/MOR/GFX_goal_dark_dol_guldur.dds" + animationmaskfile = "gfx/interface/goals/LTH/lth_watersofhealing.dds" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -1294,11 +9896,11 @@ spriteTypes = { legacy_lazy_load = no } SpriteType = { - name = "GFX_goal_meats_back_on_the_menu_shine" - texturefile = "gfx/interface/goals/MOR/GFX_goal_meats_back_on_the_menu.dds" + name = "lth_wisdomofeluthingol_shine" + texturefile = "gfx/interface/goals/LTH/lth_wisdomofeluthingol.dds" effectFile = "gfx/FX/buttonstate.lua" animation = { - animationmaskfile = "gfx/interface/goals/MOR/GFX_goal_meats_back_on_the_menu.dds" + animationmaskfile = "gfx/interface/goals/LTH/lth_wisdomofeluthingol.dds" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -1310,7 +9912,7 @@ spriteTypes = { animationtexturescale = { x = 1.0 y = 1.0 } } animation = { - animationmaskfile = "gfx/interface/goals/MOR/GFX_goal_meats_back_on_the_menu.dds" + animationmaskfile = "gfx/interface/goals/LTH/lth_wisdomofeluthingol.dds" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -1324,11 +9926,11 @@ spriteTypes = { legacy_lazy_load = no } SpriteType = { - name = "GFX_goal_stop_melkor_worship_shine" - texturefile = "gfx/interface/goals/MOR/GFX_goal_stop_melkor_worship.dds" + name = "lth_wrathoftheforests_shine" + texturefile = "gfx/interface/goals/LTH/lth_wrathoftheforests.dds" effectFile = "gfx/FX/buttonstate.lua" animation = { - animationmaskfile = "gfx/interface/goals/MOR/GFX_goal_stop_melkor_worship.dds" + animationmaskfile = "gfx/interface/goals/LTH/lth_wrathoftheforests.dds" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -1340,7 +9942,7 @@ spriteTypes = { animationtexturescale = { x = 1.0 y = 1.0 } } animation = { - animationmaskfile = "gfx/interface/goals/MOR/GFX_goal_stop_melkor_worship.dds" + animationmaskfile = "gfx/interface/goals/LTH/lth_wrathoftheforests.dds" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -1354,11 +9956,11 @@ spriteTypes = { legacy_lazy_load = no } SpriteType = { - name = "GFX_goal_union_of_working_orc_class_shine" - texturefile = "gfx/interface/goals/MOR/GFX_goal_union_of_working_orc_class.dds" + name = "lth_yavannasblessings_shine" + texturefile = "gfx/interface/goals/LTH/lth_yavannasblessings.dds" effectFile = "gfx/FX/buttonstate.lua" animation = { - animationmaskfile = "gfx/interface/goals/MOR/GFX_goal_union_of_working_orc_class.dds" + animationmaskfile = "gfx/interface/goals/LTH/lth_yavannasblessings.dds" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -1370,7 +9972,7 @@ spriteTypes = { animationtexturescale = { x = 1.0 y = 1.0 } } animation = { - animationmaskfile = "gfx/interface/goals/MOR/GFX_goal_union_of_working_orc_class.dds" + animationmaskfile = "gfx/interface/goals/LTH/lth_yavannasblessings.dds" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -1384,11 +9986,11 @@ spriteTypes = { legacy_lazy_load = no } SpriteType = { - name = "GFX_goal_unleash_sauron_shine" - texturefile = "gfx/interface/goals/MOR/GFX_goal_unleash_sauron.dds" + name = "GFX_goal_deal_with_the_spiders_shine" + texturefile = "gfx/interface/goals/MIR/GFX_goal_deal_with_the_spiders.tga" effectFile = "gfx/FX/buttonstate.lua" animation = { - animationmaskfile = "gfx/interface/goals/MOR/GFX_goal_unleash_sauron.dds" + animationmaskfile = "gfx/interface/goals/MIR/GFX_goal_deal_with_the_spiders.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -1400,7 +10002,7 @@ spriteTypes = { animationtexturescale = { x = 1.0 y = 1.0 } } animation = { - animationmaskfile = "gfx/interface/goals/MOR/GFX_goal_unleash_sauron.dds" + animationmaskfile = "gfx/interface/goals/MIR/GFX_goal_deal_with_the_spiders.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -1414,11 +10016,11 @@ spriteTypes = { legacy_lazy_load = no } SpriteType = { - name = "GFX_goal_golum_shine" - texturefile = "gfx/interface/goals/MOR/GFX_goal_golum.dds" + name = "GFX_goal_radagast_shine" + texturefile = "gfx/interface/goals/MIR/GFX_goal_radagast.tga" effectFile = "gfx/FX/buttonstate.lua" animation = { - animationmaskfile = "gfx/interface/goals/MOR/GFX_goal_golum.dds" + animationmaskfile = "gfx/interface/goals/MIR/GFX_goal_radagast.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -1430,7 +10032,7 @@ spriteTypes = { animationtexturescale = { x = 1.0 y = 1.0 } } animation = { - animationmaskfile = "gfx/interface/goals/MOR/GFX_goal_golum.dds" + animationmaskfile = "gfx/interface/goals/MIR/GFX_goal_radagast.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -1444,11 +10046,11 @@ spriteTypes = { legacy_lazy_load = no } SpriteType = { - name = "GFX_goal_dale_shine" - texturefile = "gfx/interface/goals/RHU/GFX_goal_dale.dds" + name = "GFX_goal_spider_anarchy_shine" + texturefile = "gfx/interface/goals/MIR/GFX_goal_spider_anarchy.tga" effectFile = "gfx/FX/buttonstate.lua" animation = { - animationmaskfile = "gfx/interface/goals/RHU/GFX_goal_dale.dds" + animationmaskfile = "gfx/interface/goals/MIR/GFX_goal_spider_anarchy.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -1460,7 +10062,7 @@ spriteTypes = { animationtexturescale = { x = 1.0 y = 1.0 } } animation = { - animationmaskfile = "gfx/interface/goals/RHU/GFX_goal_dale.dds" + animationmaskfile = "gfx/interface/goals/MIR/GFX_goal_spider_anarchy.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -1474,11 +10076,11 @@ spriteTypes = { legacy_lazy_load = no } SpriteType = { - name = "GFX_goal_dorwinion_shine" - texturefile = "gfx/interface/goals/RHU/GFX_goal_dorwinion.dds" + name = "GFX_goal_thranduil_shine" + texturefile = "gfx/interface/goals/MIR/GFX_goal_thranduil.tga" effectFile = "gfx/FX/buttonstate.lua" animation = { - animationmaskfile = "gfx/interface/goals/RHU/GFX_goal_dorwinion.dds" + animationmaskfile = "gfx/interface/goals/MIR/GFX_goal_thranduil.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -1490,7 +10092,7 @@ spriteTypes = { animationtexturescale = { x = 1.0 y = 1.0 } } animation = { - animationmaskfile = "gfx/interface/goals/RHU/GFX_goal_dorwinion.dds" + animationmaskfile = "gfx/interface/goals/MIR/GFX_goal_thranduil.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -1504,11 +10106,11 @@ spriteTypes = { legacy_lazy_load = no } SpriteType = { - name = "GFX_goal_khamul_shine" - texturefile = "gfx/interface/goals/RHU/GFX_goal_khamul.dds" + name = "GFX_goal_balrog_shine" + texturefile = "gfx/interface/goals/MOA/GFX_goal_balrog.tga" effectFile = "gfx/FX/buttonstate.lua" animation = { - animationmaskfile = "gfx/interface/goals/RHU/GFX_goal_khamul.dds" + animationmaskfile = "gfx/interface/goals/MOA/GFX_goal_balrog.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -1520,7 +10122,7 @@ spriteTypes = { animationtexturescale = { x = 1.0 y = 1.0 } } animation = { - animationmaskfile = "gfx/interface/goals/RHU/GFX_goal_khamul.dds" + animationmaskfile = "gfx/interface/goals/MOA/GFX_goal_balrog.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -1534,11 +10136,11 @@ spriteTypes = { legacy_lazy_load = no } SpriteType = { - name = "GFX_goal_rhun_civil_war_shine" - texturefile = "gfx/interface/goals/RHU/GFX_goal_rhun_civil_war.dds" + name = "GFX_goal_azog_shine" + texturefile = "gfx/interface/goals/MOR/GFX_goal_azog.tga" effectFile = "gfx/FX/buttonstate.lua" animation = { - animationmaskfile = "gfx/interface/goals/RHU/GFX_goal_rhun_civil_war.dds" + animationmaskfile = "gfx/interface/goals/MOR/GFX_goal_azog.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -1550,7 +10152,7 @@ spriteTypes = { animationtexturescale = { x = 1.0 y = 1.0 } } animation = { - animationmaskfile = "gfx/interface/goals/RHU/GFX_goal_rhun_civil_war.dds" + animationmaskfile = "gfx/interface/goals/MOR/GFX_goal_azog.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -1564,11 +10166,11 @@ spriteTypes = { legacy_lazy_load = no } SpriteType = { - name = "GFX_goal_the_blue_wizards_shine" - texturefile = "gfx/interface/goals/RHU/GFX_goal_the_blue_wizards.dds" + name = "GFX_goal_dark_dol_guldur_shine" + texturefile = "gfx/interface/goals/MOR/GFX_goal_dark_dol_guldur.tga" effectFile = "gfx/FX/buttonstate.lua" animation = { - animationmaskfile = "gfx/interface/goals/RHU/GFX_goal_the_blue_wizards.dds" + animationmaskfile = "gfx/interface/goals/MOR/GFX_goal_dark_dol_guldur.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -1580,7 +10182,7 @@ spriteTypes = { animationtexturescale = { x = 1.0 y = 1.0 } } animation = { - animationmaskfile = "gfx/interface/goals/RHU/GFX_goal_the_blue_wizards.dds" + animationmaskfile = "gfx/interface/goals/MOR/GFX_goal_dark_dol_guldur.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -1594,11 +10196,11 @@ spriteTypes = { legacy_lazy_load = no } SpriteType = { - name = "GFX_wargoal_mordor_shine" - texturefile = "gfx/interface/goals/RHU/GFX_wargoal_mordor.dds" + name = "GFX_goal_dol_guldur_shine" + texturefile = "gfx/interface/goals/MOR/GFX_goal_dol_guldur.tga" effectFile = "gfx/FX/buttonstate.lua" animation = { - animationmaskfile = "gfx/interface/goals/RHU/GFX_wargoal_mordor.dds" + animationmaskfile = "gfx/interface/goals/MOR/GFX_goal_dol_guldur.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -1610,7 +10212,7 @@ spriteTypes = { animationtexturescale = { x = 1.0 y = 1.0 } } animation = { - animationmaskfile = "gfx/interface/goals/RHU/GFX_wargoal_mordor.dds" + animationmaskfile = "gfx/interface/goals/MOR/GFX_goal_dol_guldur.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -1624,11 +10226,11 @@ spriteTypes = { legacy_lazy_load = no } SpriteType = { - name = "GFX_goal_king_aragorn_shine" - texturefile = "gfx/interface/goals/GON/GFX_goal_king_aragorn.dds" + name = "GFX_goal_erebor_shine" + texturefile = "gfx/interface/goals/MOR/GFX_goal_erebor.tga" effectFile = "gfx/FX/buttonstate.lua" animation = { - animationmaskfile = "gfx/interface/goals/GON/GFX_goal_king_aragorn.dds" + animationmaskfile = "gfx/interface/goals/MOR/GFX_goal_erebor.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -1640,7 +10242,7 @@ spriteTypes = { animationtexturescale = { x = 1.0 y = 1.0 } } animation = { - animationmaskfile = "gfx/interface/goals/GON/GFX_goal_king_aragorn.dds" + animationmaskfile = "gfx/interface/goals/MOR/GFX_goal_erebor.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -1654,11 +10256,11 @@ spriteTypes = { legacy_lazy_load = no } SpriteType = { - name = "GFX_goal_gondor_shine" - texturefile = "gfx/interface/goals/GON/GFX_goal_gondor.dds" + name = "GFX_goal_gather_the_nazgl_shine" + texturefile = "gfx/interface/goals/MOR/GFX_goal_gather_the_nazgl.tga" effectFile = "gfx/FX/buttonstate.lua" animation = { - animationmaskfile = "gfx/interface/goals/GON/GFX_goal_gondor.dds" + animationmaskfile = "gfx/interface/goals/MOR/GFX_goal_gather_the_nazgl.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -1670,7 +10272,7 @@ spriteTypes = { animationtexturescale = { x = 1.0 y = 1.0 } } animation = { - animationmaskfile = "gfx/interface/goals/GON/GFX_goal_gondor.dds" + animationmaskfile = "gfx/interface/goals/MOR/GFX_goal_gather_the_nazgl.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -1684,11 +10286,11 @@ spriteTypes = { legacy_lazy_load = no } SpriteType = { - name = "GFX_goal_denethor_shine" - texturefile = "gfx/interface/goals/GON/GFX_goal_denethor.dds" + name = "GFX_goal_golum_shine" + texturefile = "gfx/interface/goals/MOR/GFX_goal_golum.tga" effectFile = "gfx/FX/buttonstate.lua" animation = { - animationmaskfile = "gfx/interface/goals/GON/GFX_goal_denethor.dds" + animationmaskfile = "gfx/interface/goals/MOR/GFX_goal_golum.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -1700,7 +10302,7 @@ spriteTypes = { animationtexturescale = { x = 1.0 y = 1.0 } } animation = { - animationmaskfile = "gfx/interface/goals/GON/GFX_goal_denethor.dds" + animationmaskfile = "gfx/interface/goals/MOR/GFX_goal_golum.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -1714,11 +10316,11 @@ spriteTypes = { legacy_lazy_load = no } SpriteType = { - name = "GFX_goal_light_the_beacons_shine" - texturefile = "gfx/interface/goals/GON/GFX_goal_light_the_beacons.dds" + name = "GFX_goal_grapes_shine" + texturefile = "gfx/interface/goals/MOR/GFX_goal_grapes.tga" effectFile = "gfx/FX/buttonstate.lua" animation = { - animationmaskfile = "gfx/interface/goals/GON/GFX_goal_light_the_beacons.dds" + animationmaskfile = "gfx/interface/goals/MOR/GFX_goal_grapes.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -1730,7 +10332,7 @@ spriteTypes = { animationtexturescale = { x = 1.0 y = 1.0 } } animation = { - animationmaskfile = "gfx/interface/goals/GON/GFX_goal_light_the_beacons.dds" + animationmaskfile = "gfx/interface/goals/MOR/GFX_goal_grapes.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -1744,11 +10346,11 @@ spriteTypes = { legacy_lazy_load = no } SpriteType = { - name = "GFX_goal_ghost_army_shine" - texturefile = "gfx/interface/goals/GON/GFX_goal_ghost_army.dds" + name = "GFX_goal_ithilien_shine" + texturefile = "gfx/interface/goals/MOR/GFX_goal_ithilien.tga" effectFile = "gfx/FX/buttonstate.lua" animation = { - animationmaskfile = "gfx/interface/goals/GON/GFX_goal_ghost_army.dds" + animationmaskfile = "gfx/interface/goals/MOR/GFX_goal_ithilien.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -1760,7 +10362,7 @@ spriteTypes = { animationtexturescale = { x = 1.0 y = 1.0 } } animation = { - animationmaskfile = "gfx/interface/goals/GON/GFX_goal_ghost_army.dds" + animationmaskfile = "gfx/interface/goals/MOR/GFX_goal_ithilien.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -1774,11 +10376,11 @@ spriteTypes = { legacy_lazy_load = no } SpriteType = { - name = "GFX_goal_faramir_shine" - texturefile = "gfx/interface/goals/GON/GFX_goal_faramir.dds" + name = "GFX_goal_meats_back_on_the_menu_shine" + texturefile = "gfx/interface/goals/MOR/GFX_goal_meats_back_on_the_menu.tga" effectFile = "gfx/FX/buttonstate.lua" animation = { - animationmaskfile = "gfx/interface/goals/GON/GFX_goal_faramir.dds" + animationmaskfile = "gfx/interface/goals/MOR/GFX_goal_meats_back_on_the_menu.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -1790,7 +10392,7 @@ spriteTypes = { animationtexturescale = { x = 1.0 y = 1.0 } } animation = { - animationmaskfile = "gfx/interface/goals/GON/GFX_goal_faramir.dds" + animationmaskfile = "gfx/interface/goals/MOR/GFX_goal_meats_back_on_the_menu.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -1804,11 +10406,11 @@ spriteTypes = { legacy_lazy_load = no } SpriteType = { - name = "GFX_goal_boromir_shine" - texturefile = "gfx/interface/goals/GON/GFX_goal_boromir.dds" + name = "GFX_goal_mordor_landscape_shine" + texturefile = "gfx/interface/goals/MOR/GFX_goal_mordor_landscape.tga" effectFile = "gfx/FX/buttonstate.lua" animation = { - animationmaskfile = "gfx/interface/goals/GON/GFX_goal_boromir.dds" + animationmaskfile = "gfx/interface/goals/MOR/GFX_goal_mordor_landscape.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -1820,7 +10422,7 @@ spriteTypes = { animationtexturescale = { x = 1.0 y = 1.0 } } animation = { - animationmaskfile = "gfx/interface/goals/GON/GFX_goal_boromir.dds" + animationmaskfile = "gfx/interface/goals/MOR/GFX_goal_mordor_landscape.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -1834,11 +10436,11 @@ spriteTypes = { legacy_lazy_load = no } SpriteType = { - name = "GFX_goal_rohan_shine" - texturefile = "gfx/interface/goals/ROH/GFX_goal_rohan.dds" + name = "GFX_goal_restore_baraddr_shine" + texturefile = "gfx/interface/goals/MOR/GFX_goal_restore_baraddr.tga" effectFile = "gfx/FX/buttonstate.lua" animation = { - animationmaskfile = "gfx/interface/goals/ROH/GFX_goal_rohan.dds" + animationmaskfile = "gfx/interface/goals/MOR/GFX_goal_restore_baraddr.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -1850,7 +10452,7 @@ spriteTypes = { animationtexturescale = { x = 1.0 y = 1.0 } } animation = { - animationmaskfile = "gfx/interface/goals/ROH/GFX_goal_rohan.dds" + animationmaskfile = "gfx/interface/goals/MOR/GFX_goal_restore_baraddr.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -1864,11 +10466,11 @@ spriteTypes = { legacy_lazy_load = no } SpriteType = { - name = "GFX_goal_assasinate_eomer_shine" - texturefile = "gfx/interface/goals/ROH/GFX_goal_assasinate_eomer.dds" + name = "GFX_goal_sauron_eye_shine" + texturefile = "gfx/interface/goals/MOR/GFX_goal_sauron_eye.tga" effectFile = "gfx/FX/buttonstate.lua" animation = { - animationmaskfile = "gfx/interface/goals/ROH/GFX_goal_assasinate_eomer.dds" + animationmaskfile = "gfx/interface/goals/MOR/GFX_goal_sauron_eye.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -1880,7 +10482,7 @@ spriteTypes = { animationtexturescale = { x = 1.0 y = 1.0 } } animation = { - animationmaskfile = "gfx/interface/goals/ROH/GFX_goal_assasinate_eomer.dds" + animationmaskfile = "gfx/interface/goals/MOR/GFX_goal_sauron_eye.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -1894,11 +10496,11 @@ spriteTypes = { legacy_lazy_load = no } SpriteType = { - name = "GFX_goal_eowyn_shine" - texturefile = "gfx/interface/goals/ROH/GFX_goal_eowyn.dds" + name = "GFX_goal_skull_treaty_shine" + texturefile = "gfx/interface/goals/MOR/GFX_goal_skull_treaty.dds" effectFile = "gfx/FX/buttonstate.lua" animation = { - animationmaskfile = "gfx/interface/goals/ROH/GFX_goal_eowyn.dds" + animationmaskfile = "gfx/interface/goals/MOR/GFX_goal_skull_treaty.dds" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -1910,7 +10512,7 @@ spriteTypes = { animationtexturescale = { x = 1.0 y = 1.0 } } animation = { - animationmaskfile = "gfx/interface/goals/ROH/GFX_goal_eowyn.dds" + animationmaskfile = "gfx/interface/goals/MOR/GFX_goal_skull_treaty.dds" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -1924,11 +10526,11 @@ spriteTypes = { legacy_lazy_load = no } SpriteType = { - name = "GFX_goal_trust_gandalf_shine" - texturefile = "gfx/interface/goals/ROH/GFX_goal_trust_gandalf.dds" + name = "GFX_goal_stab_shine" + texturefile = "gfx/interface/goals/MOR/GFX_goal_stab.tga" effectFile = "gfx/FX/buttonstate.lua" animation = { - animationmaskfile = "gfx/interface/goals/ROH/GFX_goal_trust_gandalf.dds" + animationmaskfile = "gfx/interface/goals/MOR/GFX_goal_stab.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -1940,7 +10542,7 @@ spriteTypes = { animationtexturescale = { x = 1.0 y = 1.0 } } animation = { - animationmaskfile = "gfx/interface/goals/ROH/GFX_goal_trust_gandalf.dds" + animationmaskfile = "gfx/interface/goals/MOR/GFX_goal_stab.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -1954,11 +10556,11 @@ spriteTypes = { legacy_lazy_load = no } SpriteType = { - name = "GFX_goal_trust_saruman_shine" - texturefile = "gfx/interface/goals/ROH/GFX_goal_trust_saruman.dds" + name = "GFX_goal_stop_melkor_worship_shine" + texturefile = "gfx/interface/goals/MOR/GFX_goal_stop_melkor_worship.tga" effectFile = "gfx/FX/buttonstate.lua" animation = { - animationmaskfile = "gfx/interface/goals/ROH/GFX_goal_trust_saruman.dds" + animationmaskfile = "gfx/interface/goals/MOR/GFX_goal_stop_melkor_worship.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -1970,7 +10572,7 @@ spriteTypes = { animationtexturescale = { x = 1.0 y = 1.0 } } animation = { - animationmaskfile = "gfx/interface/goals/ROH/GFX_goal_trust_saruman.dds" + animationmaskfile = "gfx/interface/goals/MOR/GFX_goal_stop_melkor_worship.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -1984,11 +10586,11 @@ spriteTypes = { legacy_lazy_load = no } SpriteType = { - name = "GFX_goal_sick_theoden_shine" - texturefile = "gfx/interface/goals/ROH/GFX_goal_sick_theoden.dds" + name = "GFX_goal_the_one_ring_shine" + texturefile = "gfx/interface/goals/MOR/GFX_goal_the_one_ring.tga" effectFile = "gfx/FX/buttonstate.lua" animation = { - animationmaskfile = "gfx/interface/goals/ROH/GFX_goal_sick_theoden.dds" + animationmaskfile = "gfx/interface/goals/MOR/GFX_goal_the_one_ring.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -2000,7 +10602,7 @@ spriteTypes = { animationtexturescale = { x = 1.0 y = 1.0 } } animation = { - animationmaskfile = "gfx/interface/goals/ROH/GFX_goal_sick_theoden.dds" + animationmaskfile = "gfx/interface/goals/MOR/GFX_goal_the_one_ring.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -2014,11 +10616,11 @@ spriteTypes = { legacy_lazy_load = no } SpriteType = { - name = "GFX_goal_grima_shine" - texturefile = "gfx/interface/goals/ROH/GFX_goal_grima.dds" + name = "GFX_goal_union_of_working_orc_class_shine" + texturefile = "gfx/interface/goals/MOR/GFX_goal_union_of_working_orc_class.tga" effectFile = "gfx/FX/buttonstate.lua" animation = { - animationmaskfile = "gfx/interface/goals/ROH/GFX_goal_grima.dds" + animationmaskfile = "gfx/interface/goals/MOR/GFX_goal_union_of_working_orc_class.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -2030,7 +10632,7 @@ spriteTypes = { animationtexturescale = { x = 1.0 y = 1.0 } } animation = { - animationmaskfile = "gfx/interface/goals/ROH/GFX_goal_grima.dds" + animationmaskfile = "gfx/interface/goals/MOR/GFX_goal_union_of_working_orc_class.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -2044,11 +10646,11 @@ spriteTypes = { legacy_lazy_load = no } SpriteType = { - name = "GFX_goal_helms_deep_weakness_shine" - texturefile = "gfx/interface/goals/ROH/GFX_goal_helms_deep_weakness.dds" + name = "GFX_goal_unleash_sauron_shine" + texturefile = "gfx/interface/goals/MOR/GFX_goal_unleash_sauron.tga" effectFile = "gfx/FX/buttonstate.lua" animation = { - animationmaskfile = "gfx/interface/goals/ROH/GFX_goal_helms_deep_weakness.dds" + animationmaskfile = "gfx/interface/goals/MOR/GFX_goal_unleash_sauron.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -2060,7 +10662,7 @@ spriteTypes = { animationtexturescale = { x = 1.0 y = 1.0 } } animation = { - animationmaskfile = "gfx/interface/goals/ROH/GFX_goal_helms_deep_weakness.dds" + animationmaskfile = "gfx/interface/goals/MOR/GFX_goal_unleash_sauron.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -2074,11 +10676,11 @@ spriteTypes = { legacy_lazy_load = no } SpriteType = { - name = "GFX_goal_allow_gandalf_in_shine" - texturefile = "gfx/interface/goals/ROH/GFX_goal_allow_gandalf_in.dds" + name = "GFX_servant_of_melkor_shine" + texturefile = "gfx/interface/goals/MOR/GFX_servant_of_melkor.tga" effectFile = "gfx/FX/buttonstate.lua" animation = { - animationmaskfile = "gfx/interface/goals/ROH/GFX_goal_allow_gandalf_in.dds" + animationmaskfile = "gfx/interface/goals/MOR/GFX_servant_of_melkor.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -2090,7 +10692,7 @@ spriteTypes = { animationtexturescale = { x = 1.0 y = 1.0 } } animation = { - animationmaskfile = "gfx/interface/goals/ROH/GFX_goal_allow_gandalf_in.dds" + animationmaskfile = "gfx/interface/goals/MOR/GFX_servant_of_melkor.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -2104,11 +10706,11 @@ spriteTypes = { legacy_lazy_load = no } SpriteType = { - name = "GFX_goal_theodred_shine" - texturefile = "gfx/interface/goals/ROH/GFX_goal_theodred.dds" + name = "GFX_trolls_shine" + texturefile = "gfx/interface/goals/MOR/GFX_trolls.tga" effectFile = "gfx/FX/buttonstate.lua" animation = { - animationmaskfile = "gfx/interface/goals/ROH/GFX_goal_theodred.dds" + animationmaskfile = "gfx/interface/goals/MOR/GFX_trolls.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -2120,7 +10722,7 @@ spriteTypes = { animationtexturescale = { x = 1.0 y = 1.0 } } animation = { - animationmaskfile = "gfx/interface/goals/ROH/GFX_goal_theodred.dds" + animationmaskfile = "gfx/interface/goals/MOR/GFX_trolls.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -2134,11 +10736,11 @@ spriteTypes = { legacy_lazy_load = no } SpriteType = { - name = "GFX_goal_helms_deep_shine" - texturefile = "gfx/interface/goals/ROH/GFX_goal_helms_deep.dds" + name = "GFX_wargoal_dale_shine" + texturefile = "gfx/interface/goals/MOR/GFX_wargoal_dale.tga" effectFile = "gfx/FX/buttonstate.lua" animation = { - animationmaskfile = "gfx/interface/goals/ROH/GFX_goal_helms_deep.dds" + animationmaskfile = "gfx/interface/goals/MOR/GFX_wargoal_dale.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -2150,7 +10752,7 @@ spriteTypes = { animationtexturescale = { x = 1.0 y = 1.0 } } animation = { - animationmaskfile = "gfx/interface/goals/ROH/GFX_goal_helms_deep.dds" + animationmaskfile = "gfx/interface/goals/MOR/GFX_wargoal_dale.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -2164,11 +10766,11 @@ spriteTypes = { legacy_lazy_load = no } SpriteType = { - name = "GFX_goal_edoras_shine" - texturefile = "gfx/interface/goals/ROH/GFX_goal_edoras.dds" + name = "GFX_wargoal_dorwinion_shine" + texturefile = "gfx/interface/goals/MOR/GFX_wargoal_dorwinion.tga" effectFile = "gfx/FX/buttonstate.lua" animation = { - animationmaskfile = "gfx/interface/goals/ROH/GFX_goal_edoras.dds" + animationmaskfile = "gfx/interface/goals/MOR/GFX_wargoal_dorwinion.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -2180,7 +10782,7 @@ spriteTypes = { animationtexturescale = { x = 1.0 y = 1.0 } } animation = { - animationmaskfile = "gfx/interface/goals/ROH/GFX_goal_edoras.dds" + animationmaskfile = "gfx/interface/goals/MOR/GFX_wargoal_dorwinion.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -2194,11 +10796,11 @@ spriteTypes = { legacy_lazy_load = no } SpriteType = { - name = "GFX_goal_the_white_hand_shine" - texturefile = "gfx/interface/goals/ISE/GFX_goal_the_white_hand.dds" + name = "GFX_wargoal_erebor_shine" + texturefile = "gfx/interface/goals/MOR/GFX_wargoal_erebor.tga" effectFile = "gfx/FX/buttonstate.lua" animation = { - animationmaskfile = "gfx/interface/goals/ISE/GFX_goal_the_white_hand.dds" + animationmaskfile = "gfx/interface/goals/MOR/GFX_wargoal_erebor.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -2210,7 +10812,7 @@ spriteTypes = { animationtexturescale = { x = 1.0 y = 1.0 } } animation = { - animationmaskfile = "gfx/interface/goals/ISE/GFX_goal_the_white_hand.dds" + animationmaskfile = "gfx/interface/goals/MOR/GFX_wargoal_erebor.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -2224,11 +10826,11 @@ spriteTypes = { legacy_lazy_load = no } SpriteType = { - name = "GFX_goal_army_uruk_hai_shine" - texturefile = "gfx/interface/goals/ISE/GFX_goal_army_uruk_hai.dds" + name = "GFX_wargoal_gondor_shine" + texturefile = "gfx/interface/goals/MOR/GFX_wargoal_gondor.tga" effectFile = "gfx/FX/buttonstate.lua" animation = { - animationmaskfile = "gfx/interface/goals/ISE/GFX_goal_army_uruk_hai.dds" + animationmaskfile = "gfx/interface/goals/MOR/GFX_wargoal_gondor.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -2240,7 +10842,7 @@ spriteTypes = { animationtexturescale = { x = 1.0 y = 1.0 } } animation = { - animationmaskfile = "gfx/interface/goals/ISE/GFX_goal_army_uruk_hai.dds" + animationmaskfile = "gfx/interface/goals/MOR/GFX_wargoal_gondor.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -2254,11 +10856,11 @@ spriteTypes = { legacy_lazy_load = no } SpriteType = { - name = "GFX_goal_sauron_is_looking_shine" - texturefile = "gfx/interface/goals/ISE/GFX_goal_sauron_is_looking.dds" + name = "GFX_wargoal_harad_shine" + texturefile = "gfx/interface/goals/MOR/GFX_wargoal_harad.tga" effectFile = "gfx/FX/buttonstate.lua" animation = { - animationmaskfile = "gfx/interface/goals/ISE/GFX_goal_sauron_is_looking.dds" + animationmaskfile = "gfx/interface/goals/MOR/GFX_wargoal_harad.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -2270,7 +10872,7 @@ spriteTypes = { animationtexturescale = { x = 1.0 y = 1.0 } } animation = { - animationmaskfile = "gfx/interface/goals/ISE/GFX_goal_sauron_is_looking.dds" + animationmaskfile = "gfx/interface/goals/MOR/GFX_wargoal_harad.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -2284,11 +10886,11 @@ spriteTypes = { legacy_lazy_load = no } SpriteType = { - name = "GFX_goal_meet_with_gandalf_shine" - texturefile = "gfx/interface/goals/ISE/GFX_goal_meet_with_gandalf.dds" + name = "GFX_wargoal_rhun_shine" + texturefile = "gfx/interface/goals/MOR/GFX_wargoal_rhun.tga" effectFile = "gfx/FX/buttonstate.lua" animation = { - animationmaskfile = "gfx/interface/goals/ISE/GFX_goal_meet_with_gandalf.dds" + animationmaskfile = "gfx/interface/goals/MOR/GFX_wargoal_rhun.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -2300,7 +10902,7 @@ spriteTypes = { animationtexturescale = { x = 1.0 y = 1.0 } } animation = { - animationmaskfile = "gfx/interface/goals/ISE/GFX_goal_meet_with_gandalf.dds" + animationmaskfile = "gfx/interface/goals/MOR/GFX_wargoal_rhun.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -2314,11 +10916,11 @@ spriteTypes = { legacy_lazy_load = no } SpriteType = { - name = "GFX_goal_burn_fangorn_forest_shine" - texturefile = "gfx/interface/goals/ISE/GFX_goal_burn_fangorn_forest.dds" + name = "GFX_wargoal_rohan_shine" + texturefile = "gfx/interface/goals/MOR/GFX_wargoal_rohan.tga" effectFile = "gfx/FX/buttonstate.lua" animation = { - animationmaskfile = "gfx/interface/goals/ISE/GFX_goal_burn_fangorn_forest.dds" + animationmaskfile = "gfx/interface/goals/MOR/GFX_wargoal_rohan.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -2330,7 +10932,7 @@ spriteTypes = { animationtexturescale = { x = 1.0 y = 1.0 } } animation = { - animationmaskfile = "gfx/interface/goals/ISE/GFX_goal_burn_fangorn_forest.dds" + animationmaskfile = "gfx/interface/goals/MOR/GFX_wargoal_rohan.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -2344,11 +10946,11 @@ spriteTypes = { legacy_lazy_load = no } SpriteType = { - name = "GFX_goal_imprisend_gandalf_shine" - texturefile = "gfx/interface/goals/ISE/GFX_goal_imprisend_gandalf.dds" + name = "mor_encroach_on_ithilien_shine" + texturefile = "gfx/interface/goals/MOR/mor_encroach_on_ithilien.dds" effectFile = "gfx/FX/buttonstate.lua" animation = { - animationmaskfile = "gfx/interface/goals/ISE/GFX_goal_imprisend_gandalf.dds" + animationmaskfile = "gfx/interface/goals/MOR/mor_encroach_on_ithilien.dds" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -2360,7 +10962,7 @@ spriteTypes = { animationtexturescale = { x = 1.0 y = 1.0 } } animation = { - animationmaskfile = "gfx/interface/goals/ISE/GFX_goal_imprisend_gandalf.dds" + animationmaskfile = "gfx/interface/goals/MOR/mor_encroach_on_ithilien.dds" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -2374,11 +10976,11 @@ spriteTypes = { legacy_lazy_load = no } SpriteType = { - name = "GFX_goal_rally_the_tribes_shine" - texturefile = "gfx/interface/goals/ISE/GFX_goal_rally_the_tribes.dds" + name = "mor_escalate_the_attacks_shine" + texturefile = "gfx/interface/goals/MOR/mor_escalate_the_attacks.dds" effectFile = "gfx/FX/buttonstate.lua" animation = { - animationmaskfile = "gfx/interface/goals/ISE/GFX_goal_rally_the_tribes.dds" + animationmaskfile = "gfx/interface/goals/MOR/mor_escalate_the_attacks.dds" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -2390,7 +10992,7 @@ spriteTypes = { animationtexturescale = { x = 1.0 y = 1.0 } } animation = { - animationmaskfile = "gfx/interface/goals/ISE/GFX_goal_rally_the_tribes.dds" + animationmaskfile = "gfx/interface/goals/MOR/mor_escalate_the_attacks.dds" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -2404,11 +11006,11 @@ spriteTypes = { legacy_lazy_load = no } SpriteType = { - name = "GFX_goal_ways_of_the_light_shine" - texturefile = "gfx/interface/goals/ISE/GFX_goal_ways_of_the_light.dds" + name = "mor_second_wave_shine" + texturefile = "gfx/interface/goals/MOR/mor_second_wave.dds" effectFile = "gfx/FX/buttonstate.lua" animation = { - animationmaskfile = "gfx/interface/goals/ISE/GFX_goal_ways_of_the_light.dds" + animationmaskfile = "gfx/interface/goals/MOR/mor_second_wave.dds" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -2420,7 +11022,7 @@ spriteTypes = { animationtexturescale = { x = 1.0 y = 1.0 } } animation = { - animationmaskfile = "gfx/interface/goals/ISE/GFX_goal_ways_of_the_light.dds" + animationmaskfile = "gfx/interface/goals/MOR/mor_second_wave.dds" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -2434,11 +11036,11 @@ spriteTypes = { legacy_lazy_load = no } SpriteType = { - name = "GFX_goal_orthanc_destroyed_shine" - texturefile = "gfx/interface/goals/ISE/GFX_goal_orthanc_destroyed.dds" + name = "GFX_goal_dale_shine" + texturefile = "gfx/interface/goals/RHU/GFX_goal_dale.tga" effectFile = "gfx/FX/buttonstate.lua" animation = { - animationmaskfile = "gfx/interface/goals/ISE/GFX_goal_orthanc_destroyed.dds" + animationmaskfile = "gfx/interface/goals/RHU/GFX_goal_dale.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -2450,7 +11052,7 @@ spriteTypes = { animationtexturescale = { x = 1.0 y = 1.0 } } animation = { - animationmaskfile = "gfx/interface/goals/ISE/GFX_goal_orthanc_destroyed.dds" + animationmaskfile = "gfx/interface/goals/RHU/GFX_goal_dale.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -2464,11 +11066,11 @@ spriteTypes = { legacy_lazy_load = no } SpriteType = { - name = "GFX_goal_deal_with_the_spiders_shine" - texturefile = "gfx/interface/goals/MIR/GFX_goal_deal_with_the_spiders.dds" + name = "GFX_goal_dorwinion_shine" + texturefile = "gfx/interface/goals/RHU/GFX_goal_dorwinion.tga" effectFile = "gfx/FX/buttonstate.lua" animation = { - animationmaskfile = "gfx/interface/goals/MIR/GFX_goal_deal_with_the_spiders.dds" + animationmaskfile = "gfx/interface/goals/RHU/GFX_goal_dorwinion.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -2480,7 +11082,7 @@ spriteTypes = { animationtexturescale = { x = 1.0 y = 1.0 } } animation = { - animationmaskfile = "gfx/interface/goals/MIR/GFX_goal_deal_with_the_spiders.dds" + animationmaskfile = "gfx/interface/goals/RHU/GFX_goal_dorwinion.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -2494,11 +11096,11 @@ spriteTypes = { legacy_lazy_load = no } SpriteType = { - name = "GFX_goal_spider_anarchy_shine" - texturefile = "gfx/interface/goals/MIR/GFX_goal_spider_anarchy.dds" + name = "GFX_goal_khamul_shine" + texturefile = "gfx/interface/goals/RHU/GFX_goal_khamul.tga" effectFile = "gfx/FX/buttonstate.lua" animation = { - animationmaskfile = "gfx/interface/goals/MIR/GFX_goal_spider_anarchy.dds" + animationmaskfile = "gfx/interface/goals/RHU/GFX_goal_khamul.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -2510,7 +11112,7 @@ spriteTypes = { animationtexturescale = { x = 1.0 y = 1.0 } } animation = { - animationmaskfile = "gfx/interface/goals/MIR/GFX_goal_spider_anarchy.dds" + animationmaskfile = "gfx/interface/goals/RHU/GFX_goal_khamul.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -2524,11 +11126,11 @@ spriteTypes = { legacy_lazy_load = no } SpriteType = { - name = "GFX_goal_radagast_shine" - texturefile = "gfx/interface/goals/MIR/GFX_goal_radagast.dds" + name = "GFX_goal_rhun_civil_war_shine" + texturefile = "gfx/interface/goals/RHU/GFX_goal_rhun_civil_war.tga" effectFile = "gfx/FX/buttonstate.lua" animation = { - animationmaskfile = "gfx/interface/goals/MIR/GFX_goal_radagast.dds" + animationmaskfile = "gfx/interface/goals/RHU/GFX_goal_rhun_civil_war.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -2540,7 +11142,7 @@ spriteTypes = { animationtexturescale = { x = 1.0 y = 1.0 } } animation = { - animationmaskfile = "gfx/interface/goals/MIR/GFX_goal_radagast.dds" + animationmaskfile = "gfx/interface/goals/RHU/GFX_goal_rhun_civil_war.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -2554,11 +11156,11 @@ spriteTypes = { legacy_lazy_load = no } SpriteType = { - name = "GFX_goal_thranduil_shine" - texturefile = "gfx/interface/goals/MIR/GFX_goal_thranduil.dds" + name = "GFX_goal_the_blue_wizards_shine" + texturefile = "gfx/interface/goals/RHU/GFX_goal_the_blue_wizards.tga" effectFile = "gfx/FX/buttonstate.lua" animation = { - animationmaskfile = "gfx/interface/goals/MIR/GFX_goal_thranduil.dds" + animationmaskfile = "gfx/interface/goals/RHU/GFX_goal_the_blue_wizards.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -2570,7 +11172,7 @@ spriteTypes = { animationtexturescale = { x = 1.0 y = 1.0 } } animation = { - animationmaskfile = "gfx/interface/goals/MIR/GFX_goal_thranduil.dds" + animationmaskfile = "gfx/interface/goals/RHU/GFX_goal_the_blue_wizards.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -2584,11 +11186,11 @@ spriteTypes = { legacy_lazy_load = no } SpriteType = { - name = "GFX_goal_community_effort_shine" - texturefile = "gfx/interface/goals/ENT/GFX_goal_community_effort.dds" + name = "GFX_wargoal_mordor_shine" + texturefile = "gfx/interface/goals/RHU/GFX_wargoal_mordor.tga" effectFile = "gfx/FX/buttonstate.lua" animation = { - animationmaskfile = "gfx/interface/goals/ENT/GFX_goal_community_effort.dds" + animationmaskfile = "gfx/interface/goals/RHU/GFX_wargoal_mordor.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -2600,7 +11202,7 @@ spriteTypes = { animationtexturescale = { x = 1.0 y = 1.0 } } animation = { - animationmaskfile = "gfx/interface/goals/ENT/GFX_goal_community_effort.dds" + animationmaskfile = "gfx/interface/goals/RHU/GFX_wargoal_mordor.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -2614,11 +11216,11 @@ spriteTypes = { legacy_lazy_load = no } SpriteType = { - name = "GFX_goal_one_with_the_forest_shine" - texturefile = "gfx/interface/goals/ENT/GFX_goal_one_with_the_forest.dds" + name = "GFX_goal_council_of_elrond_shine" + texturefile = "gfx/interface/goals/RIV/GFX_goal_council_of_elrond.tga" effectFile = "gfx/FX/buttonstate.lua" animation = { - animationmaskfile = "gfx/interface/goals/ENT/GFX_goal_one_with_the_forest.dds" + animationmaskfile = "gfx/interface/goals/RIV/GFX_goal_council_of_elrond.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -2630,7 +11232,7 @@ spriteTypes = { animationtexturescale = { x = 1.0 y = 1.0 } } animation = { - animationmaskfile = "gfx/interface/goals/ENT/GFX_goal_one_with_the_forest.dds" + animationmaskfile = "gfx/interface/goals/RIV/GFX_goal_council_of_elrond.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -2644,11 +11246,11 @@ spriteTypes = { legacy_lazy_load = no } SpriteType = { - name = "GFX_goal_teachings_of_the_ancients_shine" - texturefile = "gfx/interface/goals/ENT/GFX_goal_teachings_of_the_ancients.dds" + name = "GFX_goal_elrond_shine" + texturefile = "gfx/interface/goals/RIV/GFX_goal_elrond.tga" effectFile = "gfx/FX/buttonstate.lua" animation = { - animationmaskfile = "gfx/interface/goals/ENT/GFX_goal_teachings_of_the_ancients.dds" + animationmaskfile = "gfx/interface/goals/RIV/GFX_goal_elrond.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -2660,7 +11262,7 @@ spriteTypes = { animationtexturescale = { x = 1.0 y = 1.0 } } animation = { - animationmaskfile = "gfx/interface/goals/ENT/GFX_goal_teachings_of_the_ancients.dds" + animationmaskfile = "gfx/interface/goals/RIV/GFX_goal_elrond.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -2674,11 +11276,11 @@ spriteTypes = { legacy_lazy_load = no } SpriteType = { - name = "GFX_goal_fury_of_the_trees_shine" - texturefile = "gfx/interface/goals/ENT/GFX_goal_fury_of_the_trees.dds" + name = "GFX_goal_reforge_narsil_shine" + texturefile = "gfx/interface/goals/RIV/GFX_goal_reforge_narsil.tga" effectFile = "gfx/FX/buttonstate.lua" animation = { - animationmaskfile = "gfx/interface/goals/ENT/GFX_goal_fury_of_the_trees.dds" + animationmaskfile = "gfx/interface/goals/RIV/GFX_goal_reforge_narsil.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -2690,7 +11292,7 @@ spriteTypes = { animationtexturescale = { x = 1.0 y = 1.0 } } animation = { - animationmaskfile = "gfx/interface/goals/ENT/GFX_goal_fury_of_the_trees.dds" + animationmaskfile = "gfx/interface/goals/RIV/GFX_goal_reforge_narsil.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -2704,11 +11306,11 @@ spriteTypes = { legacy_lazy_load = no } SpriteType = { - name = "GFX_goal_entwood_shine" - texturefile = "gfx/interface/goals/ENT/GFX_goal_entwood.dds" + name = "GFX_goal_take_his_ring_shine" + texturefile = "gfx/interface/goals/RIV/GFX_goal_take_his_ring.tga" effectFile = "gfx/FX/buttonstate.lua" animation = { - animationmaskfile = "gfx/interface/goals/ENT/GFX_goal_entwood.dds" + animationmaskfile = "gfx/interface/goals/RIV/GFX_goal_take_his_ring.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -2720,7 +11322,7 @@ spriteTypes = { animationtexturescale = { x = 1.0 y = 1.0 } } animation = { - animationmaskfile = "gfx/interface/goals/ENT/GFX_goal_entwood.dds" + animationmaskfile = "gfx/interface/goals/RIV/GFX_goal_take_his_ring.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -2734,11 +11336,11 @@ spriteTypes = { legacy_lazy_load = no } SpriteType = { - name = "GFX_goal_elrond_shine" - texturefile = "gfx/interface/goals/RIV/GFX_goal_elrond.dds" + name = "GFX_goal_allow_gandalf_in_shine" + texturefile = "gfx/interface/goals/ROH/GFX_goal_allow_gandalf_in.tga" effectFile = "gfx/FX/buttonstate.lua" animation = { - animationmaskfile = "gfx/interface/goals/RIV/GFX_goal_elrond.dds" + animationmaskfile = "gfx/interface/goals/ROH/GFX_goal_allow_gandalf_in.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -2750,7 +11352,7 @@ spriteTypes = { animationtexturescale = { x = 1.0 y = 1.0 } } animation = { - animationmaskfile = "gfx/interface/goals/RIV/GFX_goal_elrond.dds" + animationmaskfile = "gfx/interface/goals/ROH/GFX_goal_allow_gandalf_in.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -2764,11 +11366,11 @@ spriteTypes = { legacy_lazy_load = no } SpriteType = { - name = "GFX_goal_council_of_elrond_shine" - texturefile = "gfx/interface/goals/RIV/GFX_goal_council_of_elrond.dds" + name = "GFX_goal_assasinate_eomer_shine" + texturefile = "gfx/interface/goals/ROH/GFX_goal_assasinate_eomer.tga" effectFile = "gfx/FX/buttonstate.lua" animation = { - animationmaskfile = "gfx/interface/goals/RIV/GFX_goal_council_of_elrond.dds" + animationmaskfile = "gfx/interface/goals/ROH/GFX_goal_assasinate_eomer.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -2780,7 +11382,7 @@ spriteTypes = { animationtexturescale = { x = 1.0 y = 1.0 } } animation = { - animationmaskfile = "gfx/interface/goals/RIV/GFX_goal_council_of_elrond.dds" + animationmaskfile = "gfx/interface/goals/ROH/GFX_goal_assasinate_eomer.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -2794,11 +11396,11 @@ spriteTypes = { legacy_lazy_load = no } SpriteType = { - name = "GFX_goal_reforge_narsil_shine" - texturefile = "gfx/interface/goals/RIV/GFX_goal_reforge_narsil.dds" + name = "GFX_goal_edoras_shine" + texturefile = "gfx/interface/goals/ROH/GFX_goal_edoras.tga" effectFile = "gfx/FX/buttonstate.lua" animation = { - animationmaskfile = "gfx/interface/goals/RIV/GFX_goal_reforge_narsil.dds" + animationmaskfile = "gfx/interface/goals/ROH/GFX_goal_edoras.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -2810,7 +11412,7 @@ spriteTypes = { animationtexturescale = { x = 1.0 y = 1.0 } } animation = { - animationmaskfile = "gfx/interface/goals/RIV/GFX_goal_reforge_narsil.dds" + animationmaskfile = "gfx/interface/goals/ROH/GFX_goal_edoras.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -2824,11 +11426,11 @@ spriteTypes = { legacy_lazy_load = no } SpriteType = { - name = "GFX_goal_take_his_ring_shine" - texturefile = "gfx/interface/goals/RIV/GFX_goal_take_his_ring.dds" + name = "GFX_goal_eowyn_shine" + texturefile = "gfx/interface/goals/ROH/GFX_goal_eowyn.tga" effectFile = "gfx/FX/buttonstate.lua" animation = { - animationmaskfile = "gfx/interface/goals/RIV/GFX_goal_take_his_ring.dds" + animationmaskfile = "gfx/interface/goals/ROH/GFX_goal_eowyn.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -2840,7 +11442,7 @@ spriteTypes = { animationtexturescale = { x = 1.0 y = 1.0 } } animation = { - animationmaskfile = "gfx/interface/goals/RIV/GFX_goal_take_his_ring.dds" + animationmaskfile = "gfx/interface/goals/ROH/GFX_goal_eowyn.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -2854,11 +11456,11 @@ spriteTypes = { legacy_lazy_load = no } SpriteType = { - name = "GFX_goal_army_dwarves_shine" - texturefile = "gfx/interface/goals/ERE/GFX_goal_army_dwarves.dds" + name = "GFX_goal_grima_shine" + texturefile = "gfx/interface/goals/ROH/GFX_goal_grima.tga" effectFile = "gfx/FX/buttonstate.lua" animation = { - animationmaskfile = "gfx/interface/goals/ERE/GFX_goal_army_dwarves.dds" + animationmaskfile = "gfx/interface/goals/ROH/GFX_goal_grima.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -2870,7 +11472,7 @@ spriteTypes = { animationtexturescale = { x = 1.0 y = 1.0 } } animation = { - animationmaskfile = "gfx/interface/goals/ERE/GFX_goal_army_dwarves.dds" + animationmaskfile = "gfx/interface/goals/ROH/GFX_goal_grima.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -2884,11 +11486,11 @@ spriteTypes = { legacy_lazy_load = no } SpriteType = { - name = "GFX_goal_galadriel_shine" - texturefile = "gfx/interface/goals/LTH/GFX_goal_galadriel.dds" + name = "GFX_goal_helms_deep_shine" + texturefile = "gfx/interface/goals/ROH/GFX_goal_helms_deep.tga" effectFile = "gfx/FX/buttonstate.lua" animation = { - animationmaskfile = "gfx/interface/goals/LTH/GFX_goal_galadriel.dds" + animationmaskfile = "gfx/interface/goals/ROH/GFX_goal_helms_deep.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -2900,7 +11502,7 @@ spriteTypes = { animationtexturescale = { x = 1.0 y = 1.0 } } animation = { - animationmaskfile = "gfx/interface/goals/LTH/GFX_goal_galadriel.dds" + animationmaskfile = "gfx/interface/goals/ROH/GFX_goal_helms_deep.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -2914,11 +11516,11 @@ spriteTypes = { legacy_lazy_load = no } SpriteType = { - name = "GFX_goal_celeborn_shine" - texturefile = "gfx/interface/goals/LTH/GFX_goal_celeborn.dds" + name = "GFX_goal_helms_deep_weakness_shine" + texturefile = "gfx/interface/goals/ROH/GFX_goal_helms_deep_weakness.tga" effectFile = "gfx/FX/buttonstate.lua" animation = { - animationmaskfile = "gfx/interface/goals/LTH/GFX_goal_celeborn.dds" + animationmaskfile = "gfx/interface/goals/ROH/GFX_goal_helms_deep_weakness.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -2930,7 +11532,7 @@ spriteTypes = { animationtexturescale = { x = 1.0 y = 1.0 } } animation = { - animationmaskfile = "gfx/interface/goals/LTH/GFX_goal_celeborn.dds" + animationmaskfile = "gfx/interface/goals/ROH/GFX_goal_helms_deep_weakness.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -2944,11 +11546,11 @@ spriteTypes = { legacy_lazy_load = no } SpriteType = { - name = "GFX_goal_bewitch_beorn_shine" - texturefile = "gfx/interface/goals/LTH/GFX_goal_bewitch_beorn.dds" + name = "GFX_goal_rohan_shine" + texturefile = "gfx/interface/goals/ROH/GFX_goal_rohan.tga" effectFile = "gfx/FX/buttonstate.lua" animation = { - animationmaskfile = "gfx/interface/goals/LTH/GFX_goal_bewitch_beorn.dds" + animationmaskfile = "gfx/interface/goals/ROH/GFX_goal_rohan.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -2960,7 +11562,7 @@ spriteTypes = { animationtexturescale = { x = 1.0 y = 1.0 } } animation = { - animationmaskfile = "gfx/interface/goals/LTH/GFX_goal_bewitch_beorn.dds" + animationmaskfile = "gfx/interface/goals/ROH/GFX_goal_rohan.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -2974,11 +11576,11 @@ spriteTypes = { legacy_lazy_load = no } SpriteType = { - name = "GFX_goal_rangers_of_the_north_shine" - texturefile = "gfx/interface/goals/ART/GFX_goal_rangers_of_the_north.dds" + name = "GFX_goal_sick_theoden_shine" + texturefile = "gfx/interface/goals/ROH/GFX_goal_sick_theoden.tga" effectFile = "gfx/FX/buttonstate.lua" animation = { - animationmaskfile = "gfx/interface/goals/ART/GFX_goal_rangers_of_the_north.dds" + animationmaskfile = "gfx/interface/goals/ROH/GFX_goal_sick_theoden.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -2990,7 +11592,7 @@ spriteTypes = { animationtexturescale = { x = 1.0 y = 1.0 } } animation = { - animationmaskfile = "gfx/interface/goals/ART/GFX_goal_rangers_of_the_north.dds" + animationmaskfile = "gfx/interface/goals/ROH/GFX_goal_sick_theoden.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -3004,11 +11606,11 @@ spriteTypes = { legacy_lazy_load = no } SpriteType = { - name = "GFX_unite_by_force_shine" - texturefile = "gfx/interface/goals/ART/GFX_unite_by_force.dds" + name = "GFX_goal_theodred_shine" + texturefile = "gfx/interface/goals/ROH/GFX_goal_theodred.tga" effectFile = "gfx/FX/buttonstate.lua" animation = { - animationmaskfile = "gfx/interface/goals/ART/GFX_unite_by_force.dds" + animationmaskfile = "gfx/interface/goals/ROH/GFX_goal_theodred.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -3020,7 +11622,7 @@ spriteTypes = { animationtexturescale = { x = 1.0 y = 1.0 } } animation = { - animationmaskfile = "gfx/interface/goals/ART/GFX_unite_by_force.dds" + animationmaskfile = "gfx/interface/goals/ROH/GFX_goal_theodred.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -3034,11 +11636,11 @@ spriteTypes = { legacy_lazy_load = no } SpriteType = { - name = "GFX_goal_balrog_shine" - texturefile = "gfx/interface/goals/MOA/GFX_goal_balrog.dds" + name = "GFX_goal_trust_gandalf_shine" + texturefile = "gfx/interface/goals/ROH/GFX_goal_trust_gandalf.tga" effectFile = "gfx/FX/buttonstate.lua" animation = { - animationmaskfile = "gfx/interface/goals/MOA/GFX_goal_balrog.dds" + animationmaskfile = "gfx/interface/goals/ROH/GFX_goal_trust_gandalf.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -3050,7 +11652,7 @@ spriteTypes = { animationtexturescale = { x = 1.0 y = 1.0 } } animation = { - animationmaskfile = "gfx/interface/goals/MOA/GFX_goal_balrog.dds" + animationmaskfile = "gfx/interface/goals/ROH/GFX_goal_trust_gandalf.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -3064,11 +11666,11 @@ spriteTypes = { legacy_lazy_load = no } SpriteType = { - name = "GFX_goal_gundabad_shine" - texturefile = "gfx/interface/goals/GUN/GFX_goal_gundabad.dds" + name = "GFX_goal_trust_saruman_shine" + texturefile = "gfx/interface/goals/ROH/GFX_goal_trust_saruman.tga" effectFile = "gfx/FX/buttonstate.lua" animation = { - animationmaskfile = "gfx/interface/goals/GUN/GFX_goal_gundabad.dds" + animationmaskfile = "gfx/interface/goals/ROH/GFX_goal_trust_saruman.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) @@ -3080,7 +11682,7 @@ spriteTypes = { animationtexturescale = { x = 1.0 y = 1.0 } } animation = { - animationmaskfile = "gfx/interface/goals/GUN/GFX_goal_gundabad.dds" + animationmaskfile = "gfx/interface/goals/ROH/GFX_goal_trust_saruman.tga" animationtexturefile = "gfx/interface/goals/shine_overlay.dds" # <- the animated file animationrotation = -90.0 # -90 clockwise 90 counterclockwise(by default) animationlooping = no # yes or no ;) diff --git a/interface/Technologies.gfx b/interface/Technologies.gfx index 361548e30..dedba7191 100644 --- a/interface/Technologies.gfx +++ b/interface/Technologies.gfx @@ -525,17 +525,17 @@ spriteTypes = { SpriteType = { name = "GFX_paratroopers3_medium" - texturefile = "gfx/interface/technologies/paratroopers3.dds" + texturefile = "gfx/interface/technologies/heavy_infantry_3.dds" } SpriteType = { name = "GFX_paratroopers2_medium" - texturefile = "gfx/interface/technologies/paratroopers2.dds" + texturefile = "gfx/interface/technologies/heavy_infantry_2.dds" } SpriteType = { name = "GFX_paratroopers_medium" - texturefile = "gfx/interface/technologies/paratroopers.dds" + texturefile = "gfx/interface/technologies/heavy_infantry_1.dds" } SpriteType = { @@ -1064,6 +1064,188 @@ spriteTypes = { name = "GFX_air_superiority_medium" texturefile = "gfx/interface/technologies/air_superiority.dds" } + + ### Special Forces DOCTRINES + + SpriteType = { + name = "GFX_special_forces_placeholder_medium" + texturefile = "gfx/interface/technologies/fleet_in_being.dds" + } + + SpriteType = { + name = "GFX_special_forces_mountaineers_medium" + texturefile = "gfx/interface/technologies/special_forces_mountaineers_medium.dds" + alwaystransparent = yes + } + + SpriteType = { + name = "GFX_ski_troops_medium" + texturefile = "gfx/interface/technologies/ski_troops_medium.dds" + alwaystransparent = yes + } + + SpriteType = { + name = "GFX_rangers_medium" + texturefile = "gfx/interface/technologies/rangers_medium.dds" + alwaystransparent = yes + } + + SpriteType = { + name = "GFX_special_forces_recon_medium" + texturefile = "gfx/interface/technologies/special_forces_recon_medium.dds" + alwaystransparent = yes + } + + SpriteType = { + name = "GFX_mountaineers_combat_1_medium" + texturefile = "gfx/interface/technologies/mountaineers_combat_1_medium.dds" + alwaystransparent = yes + } + + SpriteType = { + name = "GFX_mountaineers_combat_2_medium" + texturefile = "gfx/interface/technologies/mountaineers_combat_2_medium.dds" + alwaystransparent = yes + } + + SpriteType = { + name = "GFX_mountaineers_combat_3_medium" + texturefile = "gfx/interface/technologies/mountaineers_combat_3_medium.dds" + alwaystransparent = yes + } + + SpriteType = { + name = "GFX_mountaineers_keystone_1_medium" + texturefile = "gfx/interface/technologies/mountaineers_keystone_1_medium.dds" + alwaystransparent = yes + } + + SpriteType = { + name = "GFX_mountaineers_keystone_2_medium" + texturefile = "gfx/interface/technologies/mountaineers_keystone_2_medium.dds" + alwaystransparent = yes + } + + SpriteType = { + name = "GFX_special_forces_paratroopers_medium" + texturefile = "gfx/interface/technologies/special_forces_paratroopers_medium.dds" + alwaystransparent = yes + } + + SpriteType = { + name = "GFX_paras_dispersed_drop_medium" + texturefile = "gfx/interface/technologies/paras_dispersed_drop_medium.dds" + alwaystransparent = yes + } + + SpriteType = { + name = "GFX_paras_combat_drop_medium" + texturefile = "gfx/interface/technologies/paras_combat_drop_medium.dds" + alwaystransparent = yes + } + + SpriteType = { + name = "GFX_paras_airborne_light_armor_medium" + texturefile = "gfx/interface/technologies/paras_airborne_light_armor_medium.dds" + alwaystransparent = yes + } + + SpriteType = { + name = "GFX_paras_combat_1_medium" + texturefile = "gfx/interface/technologies/paras_combat_1_medium.dds" + alwaystransparent = yes + } + + SpriteType = { + name = "GFX_paras_combat_2_medium" + texturefile = "gfx/interface/technologies/paras_combat_2_medium.dds" + alwaystransparent = yes + } + + SpriteType = { + name = "GFX_paras_bonus_1_medium" + texturefile = "gfx/interface/technologies/paras_bonus_1_medium.dds" + alwaystransparent = yes + } + + SpriteType = { + name = "GFX_paras_bonus_2_medium" + texturefile = "gfx/interface/technologies/paras_bonus_2_medium.dds" + alwaystransparent = yes + } + + SpriteType = { + name = "GFX_paras_keystone_1_medium" + texturefile = "gfx/interface/technologies/paras_keystone_1_medium.dds" + alwaystransparent = yes + } + + SpriteType = { + name = "GFX_paras_keystone_2_medium" + texturefile = "gfx/interface/technologies/paras_keystone_2_medium.dds" + alwaystransparent = yes + } + + SpriteType = { + name = "GFX_special_forces_marines_medium" + texturefile = "gfx/interface/technologies/special_forces_marines_medium.dds" + alwaystransparent = yes + } + + SpriteType = { + name = "GFX_marines_jungle_troops_medium" + texturefile = "gfx/interface/technologies/marines_jungle_troops_medium.dds" + alwaystransparent = yes + } + + SpriteType = { + name = "GFX_marines_shore_parties_medium" + texturefile = "gfx/interface/technologies/marines_shore_parties_medium.dds" + alwaystransparent = yes + } + + SpriteType = { + name = "GFX_marines_recon_medium" + texturefile = "gfx/interface/technologies/marines_recon_medium.dds" + alwaystransparent = yes + } + + SpriteType = { + name = "GFX_marines_commandoes_medium" + texturefile = "gfx/interface/technologies/marines_commandoes_medium.dds" + alwaystransparent = yes + } + + SpriteType = { + name = "GFX_marines_expeditionary_medium" + texturefile = "gfx/interface/technologies/marines_expeditionary_medium.dds" + alwaystransparent = yes + } + + SpriteType = { + name = "GFX_marines_commandos_demolition_medium" + texturefile = "gfx/interface/technologies/marines_commandos_demolition_medium.dds" + alwaystransparent = yes + } + + SpriteType = { + name = "GFX_marines_expeditionary_blowtorch_medium" + texturefile = "gfx/interface/technologies/marines_expeditionary_blowtorch_medium.dds" + alwaystransparent = yes + } + + SpriteType = { + name = "GFX_marines_commandoes_mechanised_medium" + texturefile = "gfx/interface/technologies/marines_commandoes_mechanised_medium.dds" + alwaystransparent = yes + } + + SpriteType = { + name = "GFX_marines_expeditionary_support_medium" + texturefile = "gfx/interface/technologies/marines_expeditionary_support_medium.dds" + alwaystransparent = yes + } + ### Soviet Aircrafts ### diff --git a/interface/auto_generated/0_readme.txt b/interface/auto_generated/0_readme.txt new file mode 100644 index 000000000..182472c95 --- /dev/null +++ b/interface/auto_generated/0_readme.txt @@ -0,0 +1,7 @@ + + + +# NOTE: The contents of this folder are auto-generated using the scripts in /tools. +# Do not edit them. +# +# If you want to learn more on how to use thses scripts, check out https://github.com/Helliaca/HoI4-LotrMod/wiki/Python-GFX-Scripts \ No newline at end of file diff --git a/interface/auto_generated/decisions.gfx b/interface/auto_generated/decisions.gfx new file mode 100644 index 000000000..7989bd107 --- /dev/null +++ b/interface/auto_generated/decisions.gfx @@ -0,0 +1,46 @@ +spriteTypes = { + # This file was auto-generated by the GFX-Maker + spriteType = { name = "GFX_decision_assembly" texturefile = "gfx/interface/decisions/decision_assembly.dds" } + spriteType = { name = "GFX_decision_beacons" texturefile = "gfx/interface/decisions/decision_beacons.dds" } + spriteType = { name = "GFX_decision_dorwinion_fascism" texturefile = "gfx/interface/decisions/decision_dorwinion_fascism.dds" } + spriteType = { name = "GFX_decision_generic_1" texturefile = "gfx/interface/decisions/decision_generic_1.dds" } + spriteType = { name = "GFX_decision_generic_2" texturefile = "gfx/interface/decisions/decision_generic_2.dds" } + spriteType = { name = "GFX_decision_generic_3" texturefile = "gfx/interface/decisions/decision_generic_3.dds" } + spriteType = { name = "GFX_decision_generic_4" texturefile = "gfx/interface/decisions/decision_generic_4.dds" } + spriteType = { name = "GFX_decision_generic_5" texturefile = "gfx/interface/decisions/decision_generic_5.dds" } + spriteType = { name = "GFX_decision_generic_army" texturefile = "gfx/interface/decisions/decision_generic_army.dds" } + spriteType = { name = "GFX_decision_generic_army_1" texturefile = "gfx/interface/decisions/decision_generic_army_1.dds" } + spriteType = { name = "GFX_decision_generic_army_2" texturefile = "gfx/interface/decisions/decision_generic_army_2.dds" } + spriteType = { name = "GFX_decision_generic_army_3" texturefile = "gfx/interface/decisions/decision_generic_army_3.dds" } + spriteType = { name = "GFX_decision_generic_authority" texturefile = "gfx/interface/decisions/decision_generic_authority.dds" } + spriteType = { name = "GFX_decision_generic_blacksmith" texturefile = "gfx/interface/decisions/decision_generic_blacksmith.dds" } + spriteType = { name = "GFX_decision_generic_cavalry" texturefile = "gfx/interface/decisions/decision_generic_cavalry.dds" } + spriteType = { name = "GFX_decision_generic_cavalry_2" texturefile = "gfx/interface/decisions/decision_generic_cavalry_2.dds" } + spriteType = { name = "GFX_decision_generic_construction" texturefile = "gfx/interface/decisions/decision_generic_construction.dds" } + spriteType = { name = "GFX_decision_generic_cooperation" texturefile = "gfx/interface/decisions/decision_generic_cooperation.dds" } + spriteType = { name = "GFX_decision_generic_decision" texturefile = "gfx/interface/decisions/decision_generic_decision.dds" } + spriteType = { name = "GFX_decision_generic_farming" texturefile = "gfx/interface/decisions/decision_generic_farming.dds" } + spriteType = { name = "GFX_decision_generic_infra" texturefile = "gfx/interface/decisions/decision_generic_infra.dds" } + spriteType = { name = "GFX_decision_generic_naval" texturefile = "gfx/interface/decisions/decision_generic_naval.dds" } + spriteType = { name = "GFX_decision_generic_operation" texturefile = "gfx/interface/decisions/decision_generic_operation.dds" } + spriteType = { name = "GFX_decision_generic_plot" texturefile = "gfx/interface/decisions/decision_generic_plot.dds" } + spriteType = { name = "GFX_decision_generic_research" texturefile = "gfx/interface/decisions/decision_generic_research.dds" } + spriteType = { name = "GFX_decision_generic_treasure" texturefile = "gfx/interface/decisions/decision_generic_treasure.dds" } + spriteType = { name = "GFX_decision_gondor" texturefile = "gfx/interface/decisions/decision_gondor.dds" } + spriteType = { name = "GFX_decision_grey_havens" texturefile = "gfx/interface/decisions/decision_grey_havens.dds" } + spriteType = { name = "GFX_decision_harad_fascism" texturefile = "gfx/interface/decisions/decision_harad_fascism.dds" } + spriteType = { name = "GFX_decision_knights" texturefile = "gfx/interface/decisions/decision_knights.dds" } + spriteType = { name = "GFX_decision_lth_mirror" texturefile = "gfx/interface/decisions/decision_lth_mirror.dds" } + spriteType = { name = "GFX_decision_nazgul" texturefile = "gfx/interface/decisions/decision_nazgul.dds" } + spriteType = { name = "GFX_decision_operation_2" texturefile = "gfx/interface/decisions/decision_operation_2.dds" } + spriteType = { name = "GFX_decision_orcs" texturefile = "gfx/interface/decisions/decision_orcs.dds" } + spriteType = { name = "GFX_decision_orcs_2" texturefile = "gfx/interface/decisions/decision_orcs_2.dds" } + spriteType = { name = "GFX_decision_orcs_3" texturefile = "gfx/interface/decisions/decision_orcs_3.dds" } + spriteType = { name = "GFX_decision_orcs_4" texturefile = "gfx/interface/decisions/decision_orcs_4.dds" } + spriteType = { name = "GFX_decision_orcs_5" texturefile = "gfx/interface/decisions/decision_orcs_5.dds" } + spriteType = { name = "GFX_decision_revolt" texturefile = "gfx/interface/decisions/decision_revolt.dds" } + spriteType = { name = "GFX_decision_ring" texturefile = "gfx/interface/decisions/decision_ring.dds" } + spriteType = { name = "GFX_decision_rohan" texturefile = "gfx/interface/decisions/decision_rohan.dds" } + spriteType = { name = "GFX_decision_sauron_eye" texturefile = "gfx/interface/decisions/decision_sauron_eye.dds" } + spriteType = { name = "GFX_decision_unknown" texturefile = "gfx/interface/decisions/decision_unknown.dds" } +} diff --git a/interface/leaders/lotr_leaders_dwarves.gfx b/interface/auto_generated/leaders/lotr_leaders_0_generic_Dwarves.gfx similarity index 100% rename from interface/leaders/lotr_leaders_dwarves.gfx rename to interface/auto_generated/leaders/lotr_leaders_0_generic_Dwarves.gfx diff --git a/interface/auto_generated/leaders/lotr_leaders_0_generic_Elves.gfx b/interface/auto_generated/leaders/lotr_leaders_0_generic_Elves.gfx new file mode 100644 index 000000000..6edea6bc2 --- /dev/null +++ b/interface/auto_generated/leaders/lotr_leaders_0_generic_Elves.gfx @@ -0,0 +1,207 @@ +spriteTypes = { + # This file was auto-generated by the GFX-Maker.py + spriteType = { name = "GFX_portrait_elves_generic_10" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_10.dds" } + spriteType = { name = "GFX_idea_portrait_elves_generic_10" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_10.dds" } + spriteType = { name = "GFX_portrait_elves_generic_100" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_100.dds" } + spriteType = { name = "GFX_idea_portrait_elves_generic_100" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_100.dds" } + spriteType = { name = "GFX_portrait_elves_generic_101" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_101.dds" } + spriteType = { name = "GFX_idea_portrait_elves_generic_101" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_101.dds" } + spriteType = { name = "GFX_portrait_elves_generic_102" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_102.dds" } + spriteType = { name = "GFX_idea_portrait_elves_generic_102" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_102.dds" } + spriteType = { name = "GFX_portrait_elves_generic_103" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_103.dds" } + spriteType = { name = "GFX_idea_portrait_elves_generic_103" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_103.dds" } + spriteType = { name = "GFX_portrait_elves_generic_11" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_11.dds" } + spriteType = { name = "GFX_idea_portrait_elves_generic_11" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_11.dds" } + spriteType = { name = "GFX_portrait_elves_generic_12" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_12.dds" } + spriteType = { name = "GFX_idea_portrait_elves_generic_12" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_12.dds" } + spriteType = { name = "GFX_portrait_elves_generic_13" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_13.dds" } + spriteType = { name = "GFX_idea_portrait_elves_generic_13" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_13.dds" } + spriteType = { name = "GFX_portrait_elves_generic_14" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_14.dds" } + spriteType = { name = "GFX_idea_portrait_elves_generic_14" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_14.dds" } + spriteType = { name = "GFX_portrait_elves_generic_15" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_15.dds" } + spriteType = { name = "GFX_idea_portrait_elves_generic_15" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_15.dds" } + spriteType = { name = "GFX_portrait_elves_generic_16" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_16.dds" } + spriteType = { name = "GFX_idea_portrait_elves_generic_16" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_16.dds" } + spriteType = { name = "GFX_portrait_elves_generic_17" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_17.dds" } + spriteType = { name = "GFX_idea_portrait_elves_generic_17" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_17.dds" } + spriteType = { name = "GFX_portrait_elves_generic_18" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_18.dds" } + spriteType = { name = "GFX_idea_portrait_elves_generic_18" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_18.dds" } + spriteType = { name = "GFX_portrait_elves_generic_19" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_19.dds" } + spriteType = { name = "GFX_idea_portrait_elves_generic_19" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_19.dds" } + spriteType = { name = "GFX_portrait_elves_generic_2" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_2.dds" } + spriteType = { name = "GFX_idea_portrait_elves_generic_2" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_2.dds" } + spriteType = { name = "GFX_portrait_elves_generic_20" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_20.dds" } + spriteType = { name = "GFX_idea_portrait_elves_generic_20" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_20.dds" } + spriteType = { name = "GFX_portrait_elves_generic_21" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_21.dds" } + spriteType = { name = "GFX_idea_portrait_elves_generic_21" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_21.dds" } + spriteType = { name = "GFX_portrait_elves_generic_22" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_22.dds" } + spriteType = { name = "GFX_idea_portrait_elves_generic_22" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_22.dds" } + spriteType = { name = "GFX_portrait_elves_generic_23" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_23.dds" } + spriteType = { name = "GFX_idea_portrait_elves_generic_23" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_23.dds" } + spriteType = { name = "GFX_portrait_elves_generic_24" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_24.dds" } + spriteType = { name = "GFX_idea_portrait_elves_generic_24" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_24.dds" } + spriteType = { name = "GFX_portrait_elves_generic_25" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_25.dds" } + spriteType = { name = "GFX_idea_portrait_elves_generic_25" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_25.dds" } + spriteType = { name = "GFX_portrait_elves_generic_26" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_26.dds" } + spriteType = { name = "GFX_idea_portrait_elves_generic_26" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_26.dds" } + spriteType = { name = "GFX_portrait_elves_generic_27" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_27.dds" } + spriteType = { name = "GFX_idea_portrait_elves_generic_27" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_27.dds" } + spriteType = { name = "GFX_portrait_elves_generic_28" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_28.dds" } + spriteType = { name = "GFX_idea_portrait_elves_generic_28" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_28.dds" } + spriteType = { name = "GFX_portrait_elves_generic_29" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_29.dds" } + spriteType = { name = "GFX_idea_portrait_elves_generic_29" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_29.dds" } + spriteType = { name = "GFX_portrait_elves_generic_3" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_3.dds" } + spriteType = { name = "GFX_idea_portrait_elves_generic_3" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_3.dds" } + spriteType = { name = "GFX_portrait_elves_generic_30" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_30.dds" } + spriteType = { name = "GFX_idea_portrait_elves_generic_30" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_30.dds" } + spriteType = { name = "GFX_portrait_elves_generic_31" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_31.dds" } + spriteType = { name = "GFX_idea_portrait_elves_generic_31" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_31.dds" } + spriteType = { name = "GFX_portrait_elves_generic_32" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_32.dds" } + spriteType = { name = "GFX_idea_portrait_elves_generic_32" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_32.dds" } + spriteType = { name = "GFX_portrait_elves_generic_33" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_33.dds" } + spriteType = { name = "GFX_idea_portrait_elves_generic_33" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_33.dds" } + spriteType = { name = "GFX_portrait_elves_generic_34" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_34.dds" } + spriteType = { name = "GFX_idea_portrait_elves_generic_34" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_34.dds" } + spriteType = { name = "GFX_portrait_elves_generic_35" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_35.dds" } + spriteType = { name = "GFX_idea_portrait_elves_generic_35" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_35.dds" } + spriteType = { name = "GFX_portrait_elves_generic_36" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_36.dds" } + spriteType = { name = "GFX_idea_portrait_elves_generic_36" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_36.dds" } + spriteType = { name = "GFX_portrait_elves_generic_37" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_37.dds" } + spriteType = { name = "GFX_idea_portrait_elves_generic_37" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_37.dds" } + spriteType = { name = "GFX_portrait_elves_generic_38" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_38.dds" } + spriteType = { name = "GFX_idea_portrait_elves_generic_38" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_38.dds" } + spriteType = { name = "GFX_portrait_elves_generic_39" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_39.dds" } + spriteType = { name = "GFX_idea_portrait_elves_generic_39" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_39.dds" } + spriteType = { name = "GFX_portrait_elves_generic_4" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_4.dds" } + spriteType = { name = "GFX_idea_portrait_elves_generic_4" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_4.dds" } + spriteType = { name = "GFX_portrait_elves_generic_40" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_40.dds" } + spriteType = { name = "GFX_idea_portrait_elves_generic_40" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_40.dds" } + spriteType = { name = "GFX_portrait_elves_generic_41" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_41.dds" } + spriteType = { name = "GFX_idea_portrait_elves_generic_41" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_41.dds" } + spriteType = { name = "GFX_portrait_elves_generic_42" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_42.dds" } + spriteType = { name = "GFX_idea_portrait_elves_generic_42" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_42.dds" } + spriteType = { name = "GFX_portrait_elves_generic_43" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_43.dds" } + spriteType = { name = "GFX_idea_portrait_elves_generic_43" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_43.dds" } + spriteType = { name = "GFX_portrait_elves_generic_44" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_44.dds" } + spriteType = { name = "GFX_idea_portrait_elves_generic_44" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_44.dds" } + spriteType = { name = "GFX_portrait_elves_generic_45" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_45.dds" } + spriteType = { name = "GFX_idea_portrait_elves_generic_45" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_45.dds" } + spriteType = { name = "GFX_portrait_elves_generic_46" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_46.dds" } + spriteType = { name = "GFX_idea_portrait_elves_generic_46" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_46.dds" } + spriteType = { name = "GFX_portrait_elves_generic_47" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_47.dds" } + spriteType = { name = "GFX_idea_portrait_elves_generic_47" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_47.dds" } + spriteType = { name = "GFX_portrait_elves_generic_48" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_48.dds" } + spriteType = { name = "GFX_idea_portrait_elves_generic_48" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_48.dds" } + spriteType = { name = "GFX_portrait_elves_generic_49" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_49.dds" } + spriteType = { name = "GFX_idea_portrait_elves_generic_49" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_49.dds" } + spriteType = { name = "GFX_portrait_elves_generic_5" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_5.dds" } + spriteType = { name = "GFX_idea_portrait_elves_generic_5" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_5.dds" } + spriteType = { name = "GFX_portrait_elves_generic_50" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_50.dds" } + spriteType = { name = "GFX_idea_portrait_elves_generic_50" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_50.dds" } + spriteType = { name = "GFX_portrait_elves_generic_51" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_51.dds" } + spriteType = { name = "GFX_idea_portrait_elves_generic_51" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_51.dds" } + spriteType = { name = "GFX_portrait_elves_generic_52" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_52.dds" } + spriteType = { name = "GFX_idea_portrait_elves_generic_52" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_52.dds" } + spriteType = { name = "GFX_portrait_elves_generic_53" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_53.dds" } + spriteType = { name = "GFX_idea_portrait_elves_generic_53" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_53.dds" } + spriteType = { name = "GFX_portrait_elves_generic_54" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_54.dds" } + spriteType = { name = "GFX_idea_portrait_elves_generic_54" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_54.dds" } + spriteType = { name = "GFX_portrait_elves_generic_55" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_55.dds" } + spriteType = { name = "GFX_idea_portrait_elves_generic_55" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_55.dds" } + spriteType = { name = "GFX_portrait_elves_generic_56" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_56.dds" } + spriteType = { name = "GFX_idea_portrait_elves_generic_56" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_56.dds" } + spriteType = { name = "GFX_portrait_elves_generic_57" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_57.dds" } + spriteType = { name = "GFX_idea_portrait_elves_generic_57" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_57.dds" } + spriteType = { name = "GFX_portrait_elves_generic_58" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_58.dds" } + spriteType = { name = "GFX_idea_portrait_elves_generic_58" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_58.dds" } + spriteType = { name = "GFX_portrait_elves_generic_59" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_59.dds" } + spriteType = { name = "GFX_idea_portrait_elves_generic_59" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_59.dds" } + spriteType = { name = "GFX_portrait_elves_generic_6" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_6.dds" } + spriteType = { name = "GFX_idea_portrait_elves_generic_6" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_6.dds" } + spriteType = { name = "GFX_portrait_elves_generic_60" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_60.dds" } + spriteType = { name = "GFX_idea_portrait_elves_generic_60" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_60.dds" } + spriteType = { name = "GFX_portrait_elves_generic_61" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_61.dds" } + spriteType = { name = "GFX_idea_portrait_elves_generic_61" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_61.dds" } + spriteType = { name = "GFX_portrait_elves_generic_62" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_62.dds" } + spriteType = { name = "GFX_idea_portrait_elves_generic_62" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_62.dds" } + spriteType = { name = "GFX_portrait_elves_generic_63" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_63.dds" } + spriteType = { name = "GFX_idea_portrait_elves_generic_63" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_63.dds" } + spriteType = { name = "GFX_portrait_elves_generic_64" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_64.dds" } + spriteType = { name = "GFX_idea_portrait_elves_generic_64" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_64.dds" } + spriteType = { name = "GFX_portrait_elves_generic_65" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_65.dds" } + spriteType = { name = "GFX_idea_portrait_elves_generic_65" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_65.dds" } + spriteType = { name = "GFX_portrait_elves_generic_66" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_66.dds" } + spriteType = { name = "GFX_idea_portrait_elves_generic_66" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_66.dds" } + spriteType = { name = "GFX_portrait_elves_generic_67" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_67.dds" } + spriteType = { name = "GFX_idea_portrait_elves_generic_67" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_67.dds" } + spriteType = { name = "GFX_portrait_elves_generic_68" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_68.dds" } + spriteType = { name = "GFX_idea_portrait_elves_generic_68" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_68.dds" } + spriteType = { name = "GFX_portrait_elves_generic_69" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_69.dds" } + spriteType = { name = "GFX_idea_portrait_elves_generic_69" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_69.dds" } + spriteType = { name = "GFX_portrait_elves_generic_7" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_7.dds" } + spriteType = { name = "GFX_idea_portrait_elves_generic_7" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_7.dds" } + spriteType = { name = "GFX_portrait_elves_generic_70" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_70.dds" } + spriteType = { name = "GFX_idea_portrait_elves_generic_70" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_70.dds" } + spriteType = { name = "GFX_portrait_elves_generic_71" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_71.dds" } + spriteType = { name = "GFX_idea_portrait_elves_generic_71" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_71.dds" } + spriteType = { name = "GFX_portrait_elves_generic_72" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_72.dds" } + spriteType = { name = "GFX_idea_portrait_elves_generic_72" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_72.dds" } + spriteType = { name = "GFX_portrait_elves_generic_73" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_73.dds" } + spriteType = { name = "GFX_idea_portrait_elves_generic_73" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_73.dds" } + spriteType = { name = "GFX_portrait_elves_generic_74" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_74.dds" } + spriteType = { name = "GFX_idea_portrait_elves_generic_74" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_74.dds" } + spriteType = { name = "GFX_portrait_elves_generic_75" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_75.dds" } + spriteType = { name = "GFX_idea_portrait_elves_generic_75" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_75.dds" } + spriteType = { name = "GFX_portrait_elves_generic_76" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_76.dds" } + spriteType = { name = "GFX_idea_portrait_elves_generic_76" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_76.dds" } + spriteType = { name = "GFX_portrait_elves_generic_77" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_77.dds" } + spriteType = { name = "GFX_idea_portrait_elves_generic_77" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_77.dds" } + spriteType = { name = "GFX_portrait_elves_generic_78" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_78.dds" } + spriteType = { name = "GFX_idea_portrait_elves_generic_78" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_78.dds" } + spriteType = { name = "GFX_portrait_elves_generic_79" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_79.dds" } + spriteType = { name = "GFX_idea_portrait_elves_generic_79" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_79.dds" } + spriteType = { name = "GFX_portrait_elves_generic_8" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_8.dds" } + spriteType = { name = "GFX_idea_portrait_elves_generic_8" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_8.dds" } + spriteType = { name = "GFX_portrait_elves_generic_80" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_80.dds" } + spriteType = { name = "GFX_idea_portrait_elves_generic_80" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_80.dds" } + spriteType = { name = "GFX_portrait_elves_generic_81" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_81.dds" } + spriteType = { name = "GFX_idea_portrait_elves_generic_81" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_81.dds" } + spriteType = { name = "GFX_portrait_elves_generic_82" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_82.dds" } + spriteType = { name = "GFX_idea_portrait_elves_generic_82" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_82.dds" } + spriteType = { name = "GFX_portrait_elves_generic_83" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_83.dds" } + spriteType = { name = "GFX_idea_portrait_elves_generic_83" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_83.dds" } + spriteType = { name = "GFX_portrait_elves_generic_84" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_84.dds" } + spriteType = { name = "GFX_idea_portrait_elves_generic_84" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_84.dds" } + spriteType = { name = "GFX_portrait_elves_generic_85" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_85.dds" } + spriteType = { name = "GFX_idea_portrait_elves_generic_85" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_85.dds" } + spriteType = { name = "GFX_portrait_elves_generic_86" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_86.dds" } + spriteType = { name = "GFX_idea_portrait_elves_generic_86" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_86.dds" } + spriteType = { name = "GFX_portrait_elves_generic_87" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_87.dds" } + spriteType = { name = "GFX_idea_portrait_elves_generic_87" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_87.dds" } + spriteType = { name = "GFX_portrait_elves_generic_88" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_88.dds" } + spriteType = { name = "GFX_idea_portrait_elves_generic_88" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_88.dds" } + spriteType = { name = "GFX_portrait_elves_generic_89" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_89.dds" } + spriteType = { name = "GFX_idea_portrait_elves_generic_89" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_89.dds" } + spriteType = { name = "GFX_portrait_elves_generic_9" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_9.dds" } + spriteType = { name = "GFX_idea_portrait_elves_generic_9" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_9.dds" } + spriteType = { name = "GFX_portrait_elves_generic_90" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_90.dds" } + spriteType = { name = "GFX_idea_portrait_elves_generic_90" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_90.dds" } + spriteType = { name = "GFX_portrait_elves_generic_91" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_91.dds" } + spriteType = { name = "GFX_idea_portrait_elves_generic_91" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_91.dds" } + spriteType = { name = "GFX_portrait_elves_generic_92" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_92.dds" } + spriteType = { name = "GFX_idea_portrait_elves_generic_92" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_92.dds" } + spriteType = { name = "GFX_portrait_elves_generic_93" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_93.dds" } + spriteType = { name = "GFX_idea_portrait_elves_generic_93" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_93.dds" } + spriteType = { name = "GFX_portrait_elves_generic_94" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_94.dds" } + spriteType = { name = "GFX_idea_portrait_elves_generic_94" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_94.dds" } + spriteType = { name = "GFX_portrait_elves_generic_95" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_95.dds" } + spriteType = { name = "GFX_idea_portrait_elves_generic_95" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_95.dds" } + spriteType = { name = "GFX_portrait_elves_generic_96" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_96.dds" } + spriteType = { name = "GFX_idea_portrait_elves_generic_96" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_96.dds" } + spriteType = { name = "GFX_portrait_elves_generic_97" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_97.dds" } + spriteType = { name = "GFX_idea_portrait_elves_generic_97" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_97.dds" } + spriteType = { name = "GFX_portrait_elves_generic_98" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_98.dds" } + spriteType = { name = "GFX_idea_portrait_elves_generic_98" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_98.dds" } + spriteType = { name = "GFX_portrait_elves_generic_99" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_99.dds" } + spriteType = { name = "GFX_idea_portrait_elves_generic_99" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_99.dds" } +} diff --git a/interface/leaders/lotr_leaders_ents.gfx b/interface/auto_generated/leaders/lotr_leaders_0_generic_Ents.gfx similarity index 100% rename from interface/leaders/lotr_leaders_ents.gfx rename to interface/auto_generated/leaders/lotr_leaders_0_generic_Ents.gfx diff --git a/interface/leaders/lotr_leaders_hobbits.gfx b/interface/auto_generated/leaders/lotr_leaders_0_generic_Hobbits.gfx similarity index 100% rename from interface/leaders/lotr_leaders_hobbits.gfx rename to interface/auto_generated/leaders/lotr_leaders_0_generic_Hobbits.gfx diff --git a/interface/auto_generated/leaders/lotr_leaders_0_generic_Men.gfx b/interface/auto_generated/leaders/lotr_leaders_0_generic_Men.gfx new file mode 100644 index 000000000..bbd2a5c51 --- /dev/null +++ b/interface/auto_generated/leaders/lotr_leaders_0_generic_Men.gfx @@ -0,0 +1,487 @@ +spriteTypes = { + # This file was auto-generated by the GFX-Maker.py + spriteType = { name = "GFX_portrait_men_barbarian_generic_1" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Barbarian_Generic_1.dds" } + spriteType = { name = "GFX_idea_portrait_men_barbarian_generic_1" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Barbarian_Generic_1.dds" } + spriteType = { name = "GFX_portrait_men_barbarian_generic_2" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Barbarian_Generic_2.dds" } + spriteType = { name = "GFX_idea_portrait_men_barbarian_generic_2" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Barbarian_Generic_2.dds" } + spriteType = { name = "GFX_portrait_men_barbarian_generic_3" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Barbarian_Generic_3.dds" } + spriteType = { name = "GFX_idea_portrait_men_barbarian_generic_3" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Barbarian_Generic_3.dds" } + spriteType = { name = "GFX_portrait_men_barbarian_generic_4" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Barbarian_Generic_4.dds" } + spriteType = { name = "GFX_idea_portrait_men_barbarian_generic_4" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Barbarian_Generic_4.dds" } + spriteType = { name = "GFX_portrait_men_barbarian_generic_5" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Barbarian_Generic_5.dds" } + spriteType = { name = "GFX_idea_portrait_men_barbarian_generic_5" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Barbarian_Generic_5.dds" } + spriteType = { name = "GFX_portrait_men_barbarian_generic_6" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Barbarian_Generic_6.dds" } + spriteType = { name = "GFX_idea_portrait_men_barbarian_generic_6" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Barbarian_Generic_6.dds" } + spriteType = { name = "GFX_portrait_men_barbarian_generic_7" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Barbarian_Generic_7.dds" } + spriteType = { name = "GFX_idea_portrait_men_barbarian_generic_7" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Barbarian_Generic_7.dds" } + spriteType = { name = "GFX_portrait_men_eastern_generic_1" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Eastern_Generic_1.dds" } + spriteType = { name = "GFX_idea_portrait_men_eastern_generic_1" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Eastern_Generic_1.dds" } + spriteType = { name = "GFX_portrait_men_eastern_generic_10" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Eastern_Generic_10.dds" } + spriteType = { name = "GFX_idea_portrait_men_eastern_generic_10" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Eastern_Generic_10.dds" } + spriteType = { name = "GFX_portrait_men_eastern_generic_11" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Eastern_Generic_11.dds" } + spriteType = { name = "GFX_idea_portrait_men_eastern_generic_11" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Eastern_Generic_11.dds" } + spriteType = { name = "GFX_portrait_men_eastern_generic_12" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Eastern_Generic_12.dds" } + spriteType = { name = "GFX_idea_portrait_men_eastern_generic_12" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Eastern_Generic_12.dds" } + spriteType = { name = "GFX_portrait_men_eastern_generic_13" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Eastern_Generic_13.dds" } + spriteType = { name = "GFX_idea_portrait_men_eastern_generic_13" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Eastern_Generic_13.dds" } + spriteType = { name = "GFX_portrait_men_eastern_generic_14" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Eastern_Generic_14.dds" } + spriteType = { name = "GFX_idea_portrait_men_eastern_generic_14" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Eastern_Generic_14.dds" } + spriteType = { name = "GFX_portrait_men_eastern_generic_15" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Eastern_Generic_15.dds" } + spriteType = { name = "GFX_idea_portrait_men_eastern_generic_15" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Eastern_Generic_15.dds" } + spriteType = { name = "GFX_portrait_men_eastern_generic_16" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Eastern_Generic_16.dds" } + spriteType = { name = "GFX_idea_portrait_men_eastern_generic_16" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Eastern_Generic_16.dds" } + spriteType = { name = "GFX_portrait_men_eastern_generic_17" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Eastern_Generic_17.dds" } + spriteType = { name = "GFX_idea_portrait_men_eastern_generic_17" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Eastern_Generic_17.dds" } + spriteType = { name = "GFX_portrait_men_eastern_generic_18" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Eastern_Generic_18.dds" } + spriteType = { name = "GFX_idea_portrait_men_eastern_generic_18" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Eastern_Generic_18.dds" } + spriteType = { name = "GFX_portrait_men_eastern_generic_19" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Eastern_Generic_19.dds" } + spriteType = { name = "GFX_idea_portrait_men_eastern_generic_19" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Eastern_Generic_19.dds" } + spriteType = { name = "GFX_portrait_men_eastern_generic_2" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Eastern_Generic_2.dds" } + spriteType = { name = "GFX_idea_portrait_men_eastern_generic_2" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Eastern_Generic_2.dds" } + spriteType = { name = "GFX_portrait_men_eastern_generic_20" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Eastern_Generic_20.dds" } + spriteType = { name = "GFX_idea_portrait_men_eastern_generic_20" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Eastern_Generic_20.dds" } + spriteType = { name = "GFX_portrait_men_eastern_generic_21" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Eastern_Generic_21.dds" } + spriteType = { name = "GFX_idea_portrait_men_eastern_generic_21" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Eastern_Generic_21.dds" } + spriteType = { name = "GFX_portrait_men_eastern_generic_22" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Eastern_Generic_22.dds" } + spriteType = { name = "GFX_idea_portrait_men_eastern_generic_22" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Eastern_Generic_22.dds" } + spriteType = { name = "GFX_portrait_men_eastern_generic_23" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Eastern_Generic_23.dds" } + spriteType = { name = "GFX_idea_portrait_men_eastern_generic_23" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Eastern_Generic_23.dds" } + spriteType = { name = "GFX_portrait_men_eastern_generic_24" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Eastern_Generic_24.dds" } + spriteType = { name = "GFX_idea_portrait_men_eastern_generic_24" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Eastern_Generic_24.dds" } + spriteType = { name = "GFX_portrait_men_eastern_generic_25" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Eastern_Generic_25.dds" } + spriteType = { name = "GFX_idea_portrait_men_eastern_generic_25" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Eastern_Generic_25.dds" } + spriteType = { name = "GFX_portrait_men_eastern_generic_26" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Eastern_Generic_26.dds" } + spriteType = { name = "GFX_idea_portrait_men_eastern_generic_26" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Eastern_Generic_26.dds" } + spriteType = { name = "GFX_portrait_men_eastern_generic_27" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Eastern_Generic_27.dds" } + spriteType = { name = "GFX_idea_portrait_men_eastern_generic_27" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Eastern_Generic_27.dds" } + spriteType = { name = "GFX_portrait_men_eastern_generic_28" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Eastern_Generic_28.dds" } + spriteType = { name = "GFX_idea_portrait_men_eastern_generic_28" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Eastern_Generic_28.dds" } + spriteType = { name = "GFX_portrait_men_eastern_generic_29" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Eastern_Generic_29.dds" } + spriteType = { name = "GFX_idea_portrait_men_eastern_generic_29" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Eastern_Generic_29.dds" } + spriteType = { name = "GFX_portrait_men_eastern_generic_3" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Eastern_Generic_3.dds" } + spriteType = { name = "GFX_idea_portrait_men_eastern_generic_3" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Eastern_Generic_3.dds" } + spriteType = { name = "GFX_portrait_men_eastern_generic_30" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Eastern_Generic_30.dds" } + spriteType = { name = "GFX_idea_portrait_men_eastern_generic_30" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Eastern_Generic_30.dds" } + spriteType = { name = "GFX_portrait_men_eastern_generic_31" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Eastern_Generic_31.dds" } + spriteType = { name = "GFX_idea_portrait_men_eastern_generic_31" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Eastern_Generic_31.dds" } + spriteType = { name = "GFX_portrait_men_eastern_generic_32" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Eastern_Generic_32.dds" } + spriteType = { name = "GFX_idea_portrait_men_eastern_generic_32" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Eastern_Generic_32.dds" } + spriteType = { name = "GFX_portrait_men_eastern_generic_33" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Eastern_Generic_33.dds" } + spriteType = { name = "GFX_idea_portrait_men_eastern_generic_33" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Eastern_Generic_33.dds" } + spriteType = { name = "GFX_portrait_men_eastern_generic_34" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Eastern_Generic_34.dds" } + spriteType = { name = "GFX_idea_portrait_men_eastern_generic_34" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Eastern_Generic_34.dds" } + spriteType = { name = "GFX_portrait_men_eastern_generic_35" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Eastern_Generic_35.dds" } + spriteType = { name = "GFX_idea_portrait_men_eastern_generic_35" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Eastern_Generic_35.dds" } + spriteType = { name = "GFX_portrait_men_eastern_generic_36" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Eastern_Generic_36.dds" } + spriteType = { name = "GFX_idea_portrait_men_eastern_generic_36" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Eastern_Generic_36.dds" } + spriteType = { name = "GFX_portrait_men_eastern_generic_37" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Eastern_Generic_37.dds" } + spriteType = { name = "GFX_idea_portrait_men_eastern_generic_37" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Eastern_Generic_37.dds" } + spriteType = { name = "GFX_portrait_men_eastern_generic_38" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Eastern_Generic_38.dds" } + spriteType = { name = "GFX_idea_portrait_men_eastern_generic_38" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Eastern_Generic_38.dds" } + spriteType = { name = "GFX_portrait_men_eastern_generic_39" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Eastern_Generic_39.dds" } + spriteType = { name = "GFX_idea_portrait_men_eastern_generic_39" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Eastern_Generic_39.dds" } + spriteType = { name = "GFX_portrait_men_eastern_generic_4" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Eastern_Generic_4.dds" } + spriteType = { name = "GFX_idea_portrait_men_eastern_generic_4" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Eastern_Generic_4.dds" } + spriteType = { name = "GFX_portrait_men_eastern_generic_40" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Eastern_Generic_40.dds" } + spriteType = { name = "GFX_idea_portrait_men_eastern_generic_40" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Eastern_Generic_40.dds" } + spriteType = { name = "GFX_portrait_men_eastern_generic_41" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Eastern_Generic_41.dds" } + spriteType = { name = "GFX_idea_portrait_men_eastern_generic_41" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Eastern_Generic_41.dds" } + spriteType = { name = "GFX_portrait_men_eastern_generic_42" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Eastern_Generic_42.dds" } + spriteType = { name = "GFX_idea_portrait_men_eastern_generic_42" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Eastern_Generic_42.dds" } + spriteType = { name = "GFX_portrait_men_eastern_generic_43" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Eastern_Generic_43.dds" } + spriteType = { name = "GFX_idea_portrait_men_eastern_generic_43" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Eastern_Generic_43.dds" } + spriteType = { name = "GFX_portrait_men_eastern_generic_44" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Eastern_Generic_44.dds" } + spriteType = { name = "GFX_idea_portrait_men_eastern_generic_44" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Eastern_Generic_44.dds" } + spriteType = { name = "GFX_portrait_men_eastern_generic_45" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Eastern_Generic_45.dds" } + spriteType = { name = "GFX_idea_portrait_men_eastern_generic_45" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Eastern_Generic_45.dds" } + spriteType = { name = "GFX_portrait_men_eastern_generic_46" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Eastern_Generic_46.dds" } + spriteType = { name = "GFX_idea_portrait_men_eastern_generic_46" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Eastern_Generic_46.dds" } + spriteType = { name = "GFX_portrait_men_eastern_generic_47" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Eastern_Generic_47.dds" } + spriteType = { name = "GFX_idea_portrait_men_eastern_generic_47" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Eastern_Generic_47.dds" } + spriteType = { name = "GFX_portrait_men_eastern_generic_48" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Eastern_Generic_48.dds" } + spriteType = { name = "GFX_idea_portrait_men_eastern_generic_48" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Eastern_Generic_48.dds" } + spriteType = { name = "GFX_portrait_men_eastern_generic_49" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Eastern_Generic_49.dds" } + spriteType = { name = "GFX_idea_portrait_men_eastern_generic_49" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Eastern_Generic_49.dds" } + spriteType = { name = "GFX_portrait_men_eastern_generic_5" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Eastern_Generic_5.dds" } + spriteType = { name = "GFX_idea_portrait_men_eastern_generic_5" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Eastern_Generic_5.dds" } + spriteType = { name = "GFX_portrait_men_eastern_generic_50" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Eastern_Generic_50.dds" } + spriteType = { name = "GFX_idea_portrait_men_eastern_generic_50" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Eastern_Generic_50.dds" } + spriteType = { name = "GFX_portrait_men_eastern_generic_51" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Eastern_Generic_51.dds" } + spriteType = { name = "GFX_idea_portrait_men_eastern_generic_51" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Eastern_Generic_51.dds" } + spriteType = { name = "GFX_portrait_men_eastern_generic_6" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Eastern_Generic_6.dds" } + spriteType = { name = "GFX_idea_portrait_men_eastern_generic_6" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Eastern_Generic_6.dds" } + spriteType = { name = "GFX_portrait_men_eastern_generic_7" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Eastern_Generic_7.dds" } + spriteType = { name = "GFX_idea_portrait_men_eastern_generic_7" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Eastern_Generic_7.dds" } + spriteType = { name = "GFX_portrait_men_eastern_generic_8" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Eastern_Generic_8.dds" } + spriteType = { name = "GFX_idea_portrait_men_eastern_generic_8" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Eastern_Generic_8.dds" } + spriteType = { name = "GFX_portrait_men_eastern_generic_9" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Eastern_Generic_9.dds" } + spriteType = { name = "GFX_idea_portrait_men_eastern_generic_9" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Eastern_Generic_9.dds" } + spriteType = { name = "GFX_portrait_men_generic_10" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_10.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_10" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_10.dds" } + spriteType = { name = "GFX_portrait_men_generic_100" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_100.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_100" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_100.dds" } + spriteType = { name = "GFX_portrait_men_generic_101" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_101.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_101" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_101.dds" } + spriteType = { name = "GFX_portrait_men_generic_102" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_102.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_102" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_102.dds" } + spriteType = { name = "GFX_portrait_men_generic_103" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_103.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_103" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_103.dds" } + spriteType = { name = "GFX_portrait_men_generic_104" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_104.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_104" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_104.dds" } + spriteType = { name = "GFX_portrait_men_generic_105" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_105.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_105" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_105.dds" } + spriteType = { name = "GFX_portrait_men_generic_106" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_106.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_106" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_106.dds" } + spriteType = { name = "GFX_portrait_men_generic_107" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_107.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_107" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_107.dds" } + spriteType = { name = "GFX_portrait_men_generic_108" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_108.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_108" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_108.dds" } + spriteType = { name = "GFX_portrait_men_generic_109" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_109.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_109" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_109.dds" } + spriteType = { name = "GFX_portrait_men_generic_11" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_11.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_11" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_11.dds" } + spriteType = { name = "GFX_portrait_men_generic_110" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_110.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_110" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_110.dds" } + spriteType = { name = "GFX_portrait_men_generic_111" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_111.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_111" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_111.dds" } + spriteType = { name = "GFX_portrait_men_generic_112" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_112.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_112" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_112.dds" } + spriteType = { name = "GFX_portrait_men_generic_113" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_113.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_113" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_113.dds" } + spriteType = { name = "GFX_portrait_men_generic_114" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_114.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_114" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_114.dds" } + spriteType = { name = "GFX_portrait_men_generic_115" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_115.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_115" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_115.dds" } + spriteType = { name = "GFX_portrait_men_generic_116" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_116.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_116" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_116.dds" } + spriteType = { name = "GFX_portrait_men_generic_117" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_117.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_117" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_117.dds" } + spriteType = { name = "GFX_portrait_men_generic_118" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_118.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_118" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_118.dds" } + spriteType = { name = "GFX_portrait_men_generic_119" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_119.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_119" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_119.dds" } + spriteType = { name = "GFX_portrait_men_generic_12" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_12.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_12" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_12.dds" } + spriteType = { name = "GFX_portrait_men_generic_120" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_120.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_120" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_120.dds" } + spriteType = { name = "GFX_portrait_men_generic_121" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_121.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_121" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_121.dds" } + spriteType = { name = "GFX_portrait_men_generic_122" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_122.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_122" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_122.dds" } + spriteType = { name = "GFX_portrait_men_generic_123" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_123.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_123" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_123.dds" } + spriteType = { name = "GFX_portrait_men_generic_124" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_124.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_124" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_124.dds" } + spriteType = { name = "GFX_portrait_men_generic_125" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_125.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_125" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_125.dds" } + spriteType = { name = "GFX_portrait_men_generic_126" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_126.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_126" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_126.dds" } + spriteType = { name = "GFX_portrait_men_generic_127" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_127.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_127" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_127.dds" } + spriteType = { name = "GFX_portrait_men_generic_128" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_128.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_128" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_128.dds" } + spriteType = { name = "GFX_portrait_men_generic_129" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_129.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_129" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_129.dds" } + spriteType = { name = "GFX_portrait_men_generic_13" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_13.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_13" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_13.dds" } + spriteType = { name = "GFX_portrait_men_generic_130" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_130.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_130" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_130.dds" } + spriteType = { name = "GFX_portrait_men_generic_131" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_131.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_131" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_131.dds" } + spriteType = { name = "GFX_portrait_men_generic_132" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_132.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_132" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_132.dds" } + spriteType = { name = "GFX_portrait_men_generic_133" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_133.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_133" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_133.dds" } + spriteType = { name = "GFX_portrait_men_generic_134" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_134.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_134" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_134.dds" } + spriteType = { name = "GFX_portrait_men_generic_135" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_135.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_135" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_135.dds" } + spriteType = { name = "GFX_portrait_men_generic_136" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_136.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_136" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_136.dds" } + spriteType = { name = "GFX_portrait_men_generic_137" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_137.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_137" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_137.dds" } + spriteType = { name = "GFX_portrait_men_generic_138" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_138.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_138" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_138.dds" } + spriteType = { name = "GFX_portrait_men_generic_139" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_139.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_139" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_139.dds" } + spriteType = { name = "GFX_portrait_men_generic_14" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_14.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_14" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_14.dds" } + spriteType = { name = "GFX_portrait_men_generic_140" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_140.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_140" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_140.dds" } + spriteType = { name = "GFX_portrait_men_generic_141" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_141.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_141" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_141.dds" } + spriteType = { name = "GFX_portrait_men_generic_142" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_142.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_142" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_142.dds" } + spriteType = { name = "GFX_portrait_men_generic_143" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_143.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_143" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_143.dds" } + spriteType = { name = "GFX_portrait_men_generic_144" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_144.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_144" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_144.dds" } + spriteType = { name = "GFX_portrait_men_generic_145" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_145.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_145" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_145.dds" } + spriteType = { name = "GFX_portrait_men_generic_146" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_146.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_146" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_146.dds" } + spriteType = { name = "GFX_portrait_men_generic_147" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_147.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_147" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_147.dds" } + spriteType = { name = "GFX_portrait_men_generic_148" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_148.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_148" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_148.dds" } + spriteType = { name = "GFX_portrait_men_generic_149" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_149.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_149" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_149.dds" } + spriteType = { name = "GFX_portrait_men_generic_15" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_15.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_15" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_15.dds" } + spriteType = { name = "GFX_portrait_men_generic_150" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_150.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_150" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_150.dds" } + spriteType = { name = "GFX_portrait_men_generic_151" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_151.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_151" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_151.dds" } + spriteType = { name = "GFX_portrait_men_generic_152" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_152.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_152" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_152.dds" } + spriteType = { name = "GFX_portrait_men_generic_153" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_153.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_153" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_153.dds" } + spriteType = { name = "GFX_portrait_men_generic_154" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_154.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_154" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_154.dds" } + spriteType = { name = "GFX_portrait_men_generic_155" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_155.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_155" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_155.dds" } + spriteType = { name = "GFX_portrait_men_generic_156" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_156.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_156" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_156.dds" } + spriteType = { name = "GFX_portrait_men_generic_157" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_157.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_157" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_157.dds" } + spriteType = { name = "GFX_portrait_men_generic_158" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_158.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_158" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_158.dds" } + spriteType = { name = "GFX_portrait_men_generic_159" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_159.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_159" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_159.dds" } + spriteType = { name = "GFX_portrait_men_generic_16" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_16.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_16" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_16.dds" } + spriteType = { name = "GFX_portrait_men_generic_160" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_160.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_160" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_160.dds" } + spriteType = { name = "GFX_portrait_men_generic_161" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_161.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_161" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_161.dds" } + spriteType = { name = "GFX_portrait_men_generic_162" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_162.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_162" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_162.dds" } + spriteType = { name = "GFX_portrait_men_generic_163" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_163.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_163" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_163.dds" } + spriteType = { name = "GFX_portrait_men_generic_164" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_164.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_164" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_164.dds" } + spriteType = { name = "GFX_portrait_men_generic_165" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_165.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_165" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_165.dds" } + spriteType = { name = "GFX_portrait_men_generic_166" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_166.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_166" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_166.dds" } + spriteType = { name = "GFX_portrait_men_generic_167" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_167.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_167" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_167.dds" } + spriteType = { name = "GFX_portrait_men_generic_168" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_168.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_168" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_168.dds" } + spriteType = { name = "GFX_portrait_men_generic_169" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_169.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_169" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_169.dds" } + spriteType = { name = "GFX_portrait_men_generic_17" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_17.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_17" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_17.dds" } + spriteType = { name = "GFX_portrait_men_generic_170" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_170.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_170" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_170.dds" } + spriteType = { name = "GFX_portrait_men_generic_171" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_171.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_171" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_171.dds" } + spriteType = { name = "GFX_portrait_men_generic_172" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_172.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_172" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_172.dds" } + spriteType = { name = "GFX_portrait_men_generic_173" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_173.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_173" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_173.dds" } + spriteType = { name = "GFX_portrait_men_generic_174" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_174.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_174" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_174.dds" } + spriteType = { name = "GFX_portrait_men_generic_175" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_175.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_175" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_175.dds" } + spriteType = { name = "GFX_portrait_men_generic_176" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_176.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_176" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_176.dds" } + spriteType = { name = "GFX_portrait_men_generic_177" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_177.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_177" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_177.dds" } + spriteType = { name = "GFX_portrait_men_generic_178" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_178.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_178" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_178.dds" } + spriteType = { name = "GFX_portrait_men_generic_179" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_179.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_179" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_179.dds" } + spriteType = { name = "GFX_portrait_men_generic_18" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_18.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_18" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_18.dds" } + spriteType = { name = "GFX_portrait_men_generic_180" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_180.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_180" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_180.dds" } + spriteType = { name = "GFX_portrait_men_generic_181" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_181.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_181" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_181.dds" } + spriteType = { name = "GFX_portrait_men_generic_182" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_182.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_182" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_182.dds" } + spriteType = { name = "GFX_portrait_men_generic_183" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_183.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_183" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_183.dds" } + spriteType = { name = "GFX_portrait_men_generic_184" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_184.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_184" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_184.dds" } + spriteType = { name = "GFX_portrait_men_generic_185" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_185.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_185" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_185.dds" } + spriteType = { name = "GFX_portrait_men_generic_19" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_19.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_19" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_19.dds" } + spriteType = { name = "GFX_portrait_men_generic_2" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_2.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_2" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_2.dds" } + spriteType = { name = "GFX_portrait_men_generic_20" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_20.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_20" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_20.dds" } + spriteType = { name = "GFX_portrait_men_generic_21" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_21.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_21" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_21.dds" } + spriteType = { name = "GFX_portrait_men_generic_22" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_22.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_22" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_22.dds" } + spriteType = { name = "GFX_portrait_men_generic_23" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_23.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_23" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_23.dds" } + spriteType = { name = "GFX_portrait_men_generic_24" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_24.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_24" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_24.dds" } + spriteType = { name = "GFX_portrait_men_generic_25" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_25.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_25" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_25.dds" } + spriteType = { name = "GFX_portrait_men_generic_26" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_26.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_26" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_26.dds" } + spriteType = { name = "GFX_portrait_men_generic_27" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_27.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_27" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_27.dds" } + spriteType = { name = "GFX_portrait_men_generic_28" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_28.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_28" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_28.dds" } + spriteType = { name = "GFX_portrait_men_generic_29" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_29.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_29" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_29.dds" } + spriteType = { name = "GFX_portrait_men_generic_3" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_3.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_3" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_3.dds" } + spriteType = { name = "GFX_portrait_men_generic_30" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_30.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_30" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_30.dds" } + spriteType = { name = "GFX_portrait_men_generic_31" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_31.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_31" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_31.dds" } + spriteType = { name = "GFX_portrait_men_generic_32" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_32.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_32" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_32.dds" } + spriteType = { name = "GFX_portrait_men_generic_33" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_33.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_33" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_33.dds" } + spriteType = { name = "GFX_portrait_men_generic_34" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_34.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_34" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_34.dds" } + spriteType = { name = "GFX_portrait_men_generic_35" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_35.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_35" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_35.dds" } + spriteType = { name = "GFX_portrait_men_generic_36" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_36.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_36" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_36.dds" } + spriteType = { name = "GFX_portrait_men_generic_37" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_37.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_37" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_37.dds" } + spriteType = { name = "GFX_portrait_men_generic_38" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_38.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_38" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_38.dds" } + spriteType = { name = "GFX_portrait_men_generic_39" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_39.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_39" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_39.dds" } + spriteType = { name = "GFX_portrait_men_generic_4" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_4.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_4" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_4.dds" } + spriteType = { name = "GFX_portrait_men_generic_40" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_40.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_40" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_40.dds" } + spriteType = { name = "GFX_portrait_men_generic_41" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_41.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_41" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_41.dds" } + spriteType = { name = "GFX_portrait_men_generic_42" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_42.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_42" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_42.dds" } + spriteType = { name = "GFX_portrait_men_generic_43" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_43.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_43" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_43.dds" } + spriteType = { name = "GFX_portrait_men_generic_44" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_44.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_44" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_44.dds" } + spriteType = { name = "GFX_portrait_men_generic_45" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_45.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_45" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_45.dds" } + spriteType = { name = "GFX_portrait_men_generic_46" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_46.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_46" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_46.dds" } + spriteType = { name = "GFX_portrait_men_generic_47" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_47.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_47" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_47.dds" } + spriteType = { name = "GFX_portrait_men_generic_48" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_48.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_48" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_48.dds" } + spriteType = { name = "GFX_portrait_men_generic_49" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_49.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_49" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_49.dds" } + spriteType = { name = "GFX_portrait_men_generic_5" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_5.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_5" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_5.dds" } + spriteType = { name = "GFX_portrait_men_generic_50" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_50.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_50" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_50.dds" } + spriteType = { name = "GFX_portrait_men_generic_51" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_51.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_51" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_51.dds" } + spriteType = { name = "GFX_portrait_men_generic_52" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_52.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_52" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_52.dds" } + spriteType = { name = "GFX_portrait_men_generic_53" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_53.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_53" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_53.dds" } + spriteType = { name = "GFX_portrait_men_generic_54" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_54.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_54" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_54.dds" } + spriteType = { name = "GFX_portrait_men_generic_55" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_55.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_55" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_55.dds" } + spriteType = { name = "GFX_portrait_men_generic_56" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_56.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_56" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_56.dds" } + spriteType = { name = "GFX_portrait_men_generic_57" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_57.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_57" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_57.dds" } + spriteType = { name = "GFX_portrait_men_generic_58" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_58.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_58" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_58.dds" } + spriteType = { name = "GFX_portrait_men_generic_59" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_59.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_59" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_59.dds" } + spriteType = { name = "GFX_portrait_men_generic_6" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_6.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_6" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_6.dds" } + spriteType = { name = "GFX_portrait_men_generic_60" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_60.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_60" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_60.dds" } + spriteType = { name = "GFX_portrait_men_generic_61" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_61.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_61" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_61.dds" } + spriteType = { name = "GFX_portrait_men_generic_62" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_62.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_62" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_62.dds" } + spriteType = { name = "GFX_portrait_men_generic_63" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_63.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_63" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_63.dds" } + spriteType = { name = "GFX_portrait_men_generic_64" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_64.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_64" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_64.dds" } + spriteType = { name = "GFX_portrait_men_generic_65" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_65.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_65" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_65.dds" } + spriteType = { name = "GFX_portrait_men_generic_66" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_66.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_66" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_66.dds" } + spriteType = { name = "GFX_portrait_men_generic_67" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_67.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_67" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_67.dds" } + spriteType = { name = "GFX_portrait_men_generic_68" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_68.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_68" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_68.dds" } + spriteType = { name = "GFX_portrait_men_generic_69" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_69.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_69" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_69.dds" } + spriteType = { name = "GFX_portrait_men_generic_7" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_7.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_7" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_7.dds" } + spriteType = { name = "GFX_portrait_men_generic_70" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_70.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_70" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_70.dds" } + spriteType = { name = "GFX_portrait_men_generic_71" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_71.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_71" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_71.dds" } + spriteType = { name = "GFX_portrait_men_generic_72" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_72.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_72" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_72.dds" } + spriteType = { name = "GFX_portrait_men_generic_73" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_73.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_73" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_73.dds" } + spriteType = { name = "GFX_portrait_men_generic_74" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_74.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_74" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_74.dds" } + spriteType = { name = "GFX_portrait_men_generic_75" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_75.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_75" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_75.dds" } + spriteType = { name = "GFX_portrait_men_generic_76" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_76.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_76" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_76.dds" } + spriteType = { name = "GFX_portrait_men_generic_77" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_77.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_77" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_77.dds" } + spriteType = { name = "GFX_portrait_men_generic_78" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_78.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_78" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_78.dds" } + spriteType = { name = "GFX_portrait_men_generic_79" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_79.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_79" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_79.dds" } + spriteType = { name = "GFX_portrait_men_generic_8" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_8.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_8" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_8.dds" } + spriteType = { name = "GFX_portrait_men_generic_80" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_80.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_80" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_80.dds" } + spriteType = { name = "GFX_portrait_men_generic_81" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_81.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_81" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_81.dds" } + spriteType = { name = "GFX_portrait_men_generic_82" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_82.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_82" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_82.dds" } + spriteType = { name = "GFX_portrait_men_generic_83" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_83.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_83" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_83.dds" } + spriteType = { name = "GFX_portrait_men_generic_84" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_84.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_84" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_84.dds" } + spriteType = { name = "GFX_portrait_men_generic_85" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_85.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_85" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_85.dds" } + spriteType = { name = "GFX_portrait_men_generic_86" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_86.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_86" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_86.dds" } + spriteType = { name = "GFX_portrait_men_generic_87" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_87.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_87" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_87.dds" } + spriteType = { name = "GFX_portrait_men_generic_88" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_88.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_88" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_88.dds" } + spriteType = { name = "GFX_portrait_men_generic_89" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_89.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_89" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_89.dds" } + spriteType = { name = "GFX_portrait_men_generic_9" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_9.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_9" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_9.dds" } + spriteType = { name = "GFX_portrait_men_generic_90" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_90.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_90" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_90.dds" } + spriteType = { name = "GFX_portrait_men_generic_91" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_91.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_91" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_91.dds" } + spriteType = { name = "GFX_portrait_men_generic_92" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_92.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_92" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_92.dds" } + spriteType = { name = "GFX_portrait_men_generic_93" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_93.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_93" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_93.dds" } + spriteType = { name = "GFX_portrait_men_generic_94" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_94.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_94" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_94.dds" } + spriteType = { name = "GFX_portrait_men_generic_95" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_95.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_95" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_95.dds" } + spriteType = { name = "GFX_portrait_men_generic_96" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_96.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_96" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_96.dds" } + spriteType = { name = "GFX_portrait_men_generic_97" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_97.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_97" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_97.dds" } + spriteType = { name = "GFX_portrait_men_generic_98" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_98.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_98" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_98.dds" } + spriteType = { name = "GFX_portrait_men_generic_99" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_99.dds" } + spriteType = { name = "GFX_idea_portrait_men_generic_99" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_99.dds" } +} diff --git a/interface/auto_generated/leaders/lotr_leaders_0_generic_Orcs.gfx b/interface/auto_generated/leaders/lotr_leaders_0_generic_Orcs.gfx new file mode 100644 index 000000000..8fe26e263 --- /dev/null +++ b/interface/auto_generated/leaders/lotr_leaders_0_generic_Orcs.gfx @@ -0,0 +1,165 @@ +spriteTypes = { + # This file was auto-generated by the GFX-Maker.py + spriteType = { name = "GFX_portrait_orcs_generic_10" texturefile = "gfx/leaders/0_Generic_Orcs/Portrait_Orcs_Generic_10.dds" } + spriteType = { name = "GFX_idea_portrait_orcs_generic_10" texturefile = "gfx/leaders/0_Generic_Orcs/small/Portrait_Orcs_Generic_10.dds" } + spriteType = { name = "GFX_portrait_orcs_generic_11" texturefile = "gfx/leaders/0_Generic_Orcs/Portrait_Orcs_Generic_11.dds" } + spriteType = { name = "GFX_idea_portrait_orcs_generic_11" texturefile = "gfx/leaders/0_Generic_Orcs/small/Portrait_Orcs_Generic_11.dds" } + spriteType = { name = "GFX_portrait_orcs_generic_12" texturefile = "gfx/leaders/0_Generic_Orcs/Portrait_Orcs_Generic_12.dds" } + spriteType = { name = "GFX_idea_portrait_orcs_generic_12" texturefile = "gfx/leaders/0_Generic_Orcs/small/Portrait_Orcs_Generic_12.dds" } + spriteType = { name = "GFX_portrait_orcs_generic_13" texturefile = "gfx/leaders/0_Generic_Orcs/Portrait_Orcs_Generic_13.dds" } + spriteType = { name = "GFX_idea_portrait_orcs_generic_13" texturefile = "gfx/leaders/0_Generic_Orcs/small/Portrait_Orcs_Generic_13.dds" } + spriteType = { name = "GFX_portrait_orcs_generic_14" texturefile = "gfx/leaders/0_Generic_Orcs/Portrait_Orcs_Generic_14.dds" } + spriteType = { name = "GFX_idea_portrait_orcs_generic_14" texturefile = "gfx/leaders/0_Generic_Orcs/small/Portrait_Orcs_Generic_14.dds" } + spriteType = { name = "GFX_portrait_orcs_generic_15" texturefile = "gfx/leaders/0_Generic_Orcs/Portrait_Orcs_Generic_15.dds" } + spriteType = { name = "GFX_idea_portrait_orcs_generic_15" texturefile = "gfx/leaders/0_Generic_Orcs/small/Portrait_Orcs_Generic_15.dds" } + spriteType = { name = "GFX_portrait_orcs_generic_16" texturefile = "gfx/leaders/0_Generic_Orcs/Portrait_Orcs_Generic_16.dds" } + spriteType = { name = "GFX_idea_portrait_orcs_generic_16" texturefile = "gfx/leaders/0_Generic_Orcs/small/Portrait_Orcs_Generic_16.dds" } + spriteType = { name = "GFX_portrait_orcs_generic_17" texturefile = "gfx/leaders/0_Generic_Orcs/Portrait_Orcs_Generic_17.dds" } + spriteType = { name = "GFX_idea_portrait_orcs_generic_17" texturefile = "gfx/leaders/0_Generic_Orcs/small/Portrait_Orcs_Generic_17.dds" } + spriteType = { name = "GFX_portrait_orcs_generic_18" texturefile = "gfx/leaders/0_Generic_Orcs/Portrait_Orcs_Generic_18.dds" } + spriteType = { name = "GFX_idea_portrait_orcs_generic_18" texturefile = "gfx/leaders/0_Generic_Orcs/small/Portrait_Orcs_Generic_18.dds" } + spriteType = { name = "GFX_portrait_orcs_generic_19" texturefile = "gfx/leaders/0_Generic_Orcs/Portrait_Orcs_Generic_19.dds" } + spriteType = { name = "GFX_idea_portrait_orcs_generic_19" texturefile = "gfx/leaders/0_Generic_Orcs/small/Portrait_Orcs_Generic_19.dds" } + spriteType = { name = "GFX_portrait_orcs_generic_2" texturefile = "gfx/leaders/0_Generic_Orcs/Portrait_Orcs_Generic_2.dds" } + spriteType = { name = "GFX_idea_portrait_orcs_generic_2" texturefile = "gfx/leaders/0_Generic_Orcs/small/Portrait_Orcs_Generic_2.dds" } + spriteType = { name = "GFX_portrait_orcs_generic_20" texturefile = "gfx/leaders/0_Generic_Orcs/Portrait_Orcs_Generic_20.dds" } + spriteType = { name = "GFX_idea_portrait_orcs_generic_20" texturefile = "gfx/leaders/0_Generic_Orcs/small/Portrait_Orcs_Generic_20.dds" } + spriteType = { name = "GFX_portrait_orcs_generic_21" texturefile = "gfx/leaders/0_Generic_Orcs/Portrait_Orcs_Generic_21.dds" } + spriteType = { name = "GFX_idea_portrait_orcs_generic_21" texturefile = "gfx/leaders/0_Generic_Orcs/small/Portrait_Orcs_Generic_21.dds" } + spriteType = { name = "GFX_portrait_orcs_generic_22" texturefile = "gfx/leaders/0_Generic_Orcs/Portrait_Orcs_Generic_22.dds" } + spriteType = { name = "GFX_idea_portrait_orcs_generic_22" texturefile = "gfx/leaders/0_Generic_Orcs/small/Portrait_Orcs_Generic_22.dds" } + spriteType = { name = "GFX_portrait_orcs_generic_23" texturefile = "gfx/leaders/0_Generic_Orcs/Portrait_Orcs_Generic_23.dds" } + spriteType = { name = "GFX_idea_portrait_orcs_generic_23" texturefile = "gfx/leaders/0_Generic_Orcs/small/Portrait_Orcs_Generic_23.dds" } + spriteType = { name = "GFX_portrait_orcs_generic_24" texturefile = "gfx/leaders/0_Generic_Orcs/Portrait_Orcs_Generic_24.dds" } + spriteType = { name = "GFX_idea_portrait_orcs_generic_24" texturefile = "gfx/leaders/0_Generic_Orcs/small/Portrait_Orcs_Generic_24.dds" } + spriteType = { name = "GFX_portrait_orcs_generic_25" texturefile = "gfx/leaders/0_Generic_Orcs/Portrait_Orcs_Generic_25.dds" } + spriteType = { name = "GFX_idea_portrait_orcs_generic_25" texturefile = "gfx/leaders/0_Generic_Orcs/small/Portrait_Orcs_Generic_25.dds" } + spriteType = { name = "GFX_portrait_orcs_generic_26" texturefile = "gfx/leaders/0_Generic_Orcs/Portrait_Orcs_Generic_26.dds" } + spriteType = { name = "GFX_idea_portrait_orcs_generic_26" texturefile = "gfx/leaders/0_Generic_Orcs/small/Portrait_Orcs_Generic_26.dds" } + spriteType = { name = "GFX_portrait_orcs_generic_27" texturefile = "gfx/leaders/0_Generic_Orcs/Portrait_Orcs_Generic_27.dds" } + spriteType = { name = "GFX_idea_portrait_orcs_generic_27" texturefile = "gfx/leaders/0_Generic_Orcs/small/Portrait_Orcs_Generic_27.dds" } + spriteType = { name = "GFX_portrait_orcs_generic_28" texturefile = "gfx/leaders/0_Generic_Orcs/Portrait_Orcs_Generic_28.dds" } + spriteType = { name = "GFX_idea_portrait_orcs_generic_28" texturefile = "gfx/leaders/0_Generic_Orcs/small/Portrait_Orcs_Generic_28.dds" } + spriteType = { name = "GFX_portrait_orcs_generic_29" texturefile = "gfx/leaders/0_Generic_Orcs/Portrait_Orcs_Generic_29.dds" } + spriteType = { name = "GFX_idea_portrait_orcs_generic_29" texturefile = "gfx/leaders/0_Generic_Orcs/small/Portrait_Orcs_Generic_29.dds" } + spriteType = { name = "GFX_portrait_orcs_generic_3" texturefile = "gfx/leaders/0_Generic_Orcs/Portrait_Orcs_Generic_3.dds" } + spriteType = { name = "GFX_idea_portrait_orcs_generic_3" texturefile = "gfx/leaders/0_Generic_Orcs/small/Portrait_Orcs_Generic_3.dds" } + spriteType = { name = "GFX_portrait_orcs_generic_30" texturefile = "gfx/leaders/0_Generic_Orcs/Portrait_Orcs_Generic_30.dds" } + spriteType = { name = "GFX_idea_portrait_orcs_generic_30" texturefile = "gfx/leaders/0_Generic_Orcs/small/Portrait_Orcs_Generic_30.dds" } + spriteType = { name = "GFX_portrait_orcs_generic_31" texturefile = "gfx/leaders/0_Generic_Orcs/Portrait_Orcs_Generic_31.dds" } + spriteType = { name = "GFX_idea_portrait_orcs_generic_31" texturefile = "gfx/leaders/0_Generic_Orcs/small/Portrait_Orcs_Generic_31.dds" } + spriteType = { name = "GFX_portrait_orcs_generic_32" texturefile = "gfx/leaders/0_Generic_Orcs/Portrait_Orcs_Generic_32.dds" } + spriteType = { name = "GFX_idea_portrait_orcs_generic_32" texturefile = "gfx/leaders/0_Generic_Orcs/small/Portrait_Orcs_Generic_32.dds" } + spriteType = { name = "GFX_portrait_orcs_generic_33" texturefile = "gfx/leaders/0_Generic_Orcs/Portrait_Orcs_Generic_33.dds" } + spriteType = { name = "GFX_idea_portrait_orcs_generic_33" texturefile = "gfx/leaders/0_Generic_Orcs/small/Portrait_Orcs_Generic_33.dds" } + spriteType = { name = "GFX_portrait_orcs_generic_34" texturefile = "gfx/leaders/0_Generic_Orcs/Portrait_Orcs_Generic_34.dds" } + spriteType = { name = "GFX_idea_portrait_orcs_generic_34" texturefile = "gfx/leaders/0_Generic_Orcs/small/Portrait_Orcs_Generic_34.dds" } + spriteType = { name = "GFX_portrait_orcs_generic_35" texturefile = "gfx/leaders/0_Generic_Orcs/Portrait_Orcs_Generic_35.dds" } + spriteType = { name = "GFX_idea_portrait_orcs_generic_35" texturefile = "gfx/leaders/0_Generic_Orcs/small/Portrait_Orcs_Generic_35.dds" } + spriteType = { name = "GFX_portrait_orcs_generic_36" texturefile = "gfx/leaders/0_Generic_Orcs/Portrait_Orcs_Generic_36.dds" } + spriteType = { name = "GFX_idea_portrait_orcs_generic_36" texturefile = "gfx/leaders/0_Generic_Orcs/small/Portrait_Orcs_Generic_36.dds" } + spriteType = { name = "GFX_portrait_orcs_generic_37" texturefile = "gfx/leaders/0_Generic_Orcs/Portrait_Orcs_Generic_37.dds" } + spriteType = { name = "GFX_idea_portrait_orcs_generic_37" texturefile = "gfx/leaders/0_Generic_Orcs/small/Portrait_Orcs_Generic_37.dds" } + spriteType = { name = "GFX_portrait_orcs_generic_38" texturefile = "gfx/leaders/0_Generic_Orcs/Portrait_Orcs_Generic_38.dds" } + spriteType = { name = "GFX_idea_portrait_orcs_generic_38" texturefile = "gfx/leaders/0_Generic_Orcs/small/Portrait_Orcs_Generic_38.dds" } + spriteType = { name = "GFX_portrait_orcs_generic_39" texturefile = "gfx/leaders/0_Generic_Orcs/Portrait_Orcs_Generic_39.dds" } + spriteType = { name = "GFX_idea_portrait_orcs_generic_39" texturefile = "gfx/leaders/0_Generic_Orcs/small/Portrait_Orcs_Generic_39.dds" } + spriteType = { name = "GFX_portrait_orcs_generic_4" texturefile = "gfx/leaders/0_Generic_Orcs/Portrait_Orcs_Generic_4.dds" } + spriteType = { name = "GFX_idea_portrait_orcs_generic_4" texturefile = "gfx/leaders/0_Generic_Orcs/small/Portrait_Orcs_Generic_4.dds" } + spriteType = { name = "GFX_portrait_orcs_generic_40" texturefile = "gfx/leaders/0_Generic_Orcs/Portrait_Orcs_Generic_40.dds" } + spriteType = { name = "GFX_idea_portrait_orcs_generic_40" texturefile = "gfx/leaders/0_Generic_Orcs/small/Portrait_Orcs_Generic_40.dds" } + spriteType = { name = "GFX_portrait_orcs_generic_41" texturefile = "gfx/leaders/0_Generic_Orcs/Portrait_Orcs_Generic_41.dds" } + spriteType = { name = "GFX_idea_portrait_orcs_generic_41" texturefile = "gfx/leaders/0_Generic_Orcs/small/Portrait_Orcs_Generic_41.dds" } + spriteType = { name = "GFX_portrait_orcs_generic_42" texturefile = "gfx/leaders/0_Generic_Orcs/Portrait_Orcs_Generic_42.dds" } + spriteType = { name = "GFX_idea_portrait_orcs_generic_42" texturefile = "gfx/leaders/0_Generic_Orcs/small/Portrait_Orcs_Generic_42.dds" } + spriteType = { name = "GFX_portrait_orcs_generic_43" texturefile = "gfx/leaders/0_Generic_Orcs/Portrait_Orcs_Generic_43.dds" } + spriteType = { name = "GFX_idea_portrait_orcs_generic_43" texturefile = "gfx/leaders/0_Generic_Orcs/small/Portrait_Orcs_Generic_43.dds" } + spriteType = { name = "GFX_portrait_orcs_generic_44" texturefile = "gfx/leaders/0_Generic_Orcs/Portrait_Orcs_Generic_44.dds" } + spriteType = { name = "GFX_idea_portrait_orcs_generic_44" texturefile = "gfx/leaders/0_Generic_Orcs/small/Portrait_Orcs_Generic_44.dds" } + spriteType = { name = "GFX_portrait_orcs_generic_45" texturefile = "gfx/leaders/0_Generic_Orcs/Portrait_Orcs_Generic_45.dds" } + spriteType = { name = "GFX_idea_portrait_orcs_generic_45" texturefile = "gfx/leaders/0_Generic_Orcs/small/Portrait_Orcs_Generic_45.dds" } + spriteType = { name = "GFX_portrait_orcs_generic_46" texturefile = "gfx/leaders/0_Generic_Orcs/Portrait_Orcs_Generic_46.dds" } + spriteType = { name = "GFX_idea_portrait_orcs_generic_46" texturefile = "gfx/leaders/0_Generic_Orcs/small/Portrait_Orcs_Generic_46.dds" } + spriteType = { name = "GFX_portrait_orcs_generic_47" texturefile = "gfx/leaders/0_Generic_Orcs/Portrait_Orcs_Generic_47.dds" } + spriteType = { name = "GFX_idea_portrait_orcs_generic_47" texturefile = "gfx/leaders/0_Generic_Orcs/small/Portrait_Orcs_Generic_47.dds" } + spriteType = { name = "GFX_portrait_orcs_generic_48" texturefile = "gfx/leaders/0_Generic_Orcs/Portrait_Orcs_Generic_48.dds" } + spriteType = { name = "GFX_idea_portrait_orcs_generic_48" texturefile = "gfx/leaders/0_Generic_Orcs/small/Portrait_Orcs_Generic_48.dds" } + spriteType = { name = "GFX_portrait_orcs_generic_49" texturefile = "gfx/leaders/0_Generic_Orcs/Portrait_Orcs_Generic_49.dds" } + spriteType = { name = "GFX_idea_portrait_orcs_generic_49" texturefile = "gfx/leaders/0_Generic_Orcs/small/Portrait_Orcs_Generic_49.dds" } + spriteType = { name = "GFX_portrait_orcs_generic_5" texturefile = "gfx/leaders/0_Generic_Orcs/Portrait_Orcs_Generic_5.dds" } + spriteType = { name = "GFX_idea_portrait_orcs_generic_5" texturefile = "gfx/leaders/0_Generic_Orcs/small/Portrait_Orcs_Generic_5.dds" } + spriteType = { name = "GFX_portrait_orcs_generic_50" texturefile = "gfx/leaders/0_Generic_Orcs/Portrait_Orcs_Generic_50.dds" } + spriteType = { name = "GFX_idea_portrait_orcs_generic_50" texturefile = "gfx/leaders/0_Generic_Orcs/small/Portrait_Orcs_Generic_50.dds" } + spriteType = { name = "GFX_portrait_orcs_generic_51" texturefile = "gfx/leaders/0_Generic_Orcs/Portrait_Orcs_Generic_51.dds" } + spriteType = { name = "GFX_idea_portrait_orcs_generic_51" texturefile = "gfx/leaders/0_Generic_Orcs/small/Portrait_Orcs_Generic_51.dds" } + spriteType = { name = "GFX_portrait_orcs_generic_52" texturefile = "gfx/leaders/0_Generic_Orcs/Portrait_Orcs_Generic_52.dds" } + spriteType = { name = "GFX_idea_portrait_orcs_generic_52" texturefile = "gfx/leaders/0_Generic_Orcs/small/Portrait_Orcs_Generic_52.dds" } + spriteType = { name = "GFX_portrait_orcs_generic_53" texturefile = "gfx/leaders/0_Generic_Orcs/Portrait_Orcs_Generic_53.dds" } + spriteType = { name = "GFX_idea_portrait_orcs_generic_53" texturefile = "gfx/leaders/0_Generic_Orcs/small/Portrait_Orcs_Generic_53.dds" } + spriteType = { name = "GFX_portrait_orcs_generic_54" texturefile = "gfx/leaders/0_Generic_Orcs/Portrait_Orcs_Generic_54.dds" } + spriteType = { name = "GFX_idea_portrait_orcs_generic_54" texturefile = "gfx/leaders/0_Generic_Orcs/small/Portrait_Orcs_Generic_54.dds" } + spriteType = { name = "GFX_portrait_orcs_generic_55" texturefile = "gfx/leaders/0_Generic_Orcs/Portrait_Orcs_Generic_55.dds" } + spriteType = { name = "GFX_idea_portrait_orcs_generic_55" texturefile = "gfx/leaders/0_Generic_Orcs/small/Portrait_Orcs_Generic_55.dds" } + spriteType = { name = "GFX_portrait_orcs_generic_56" texturefile = "gfx/leaders/0_Generic_Orcs/Portrait_Orcs_Generic_56.dds" } + spriteType = { name = "GFX_idea_portrait_orcs_generic_56" texturefile = "gfx/leaders/0_Generic_Orcs/small/Portrait_Orcs_Generic_56.dds" } + spriteType = { name = "GFX_portrait_orcs_generic_57" texturefile = "gfx/leaders/0_Generic_Orcs/Portrait_Orcs_Generic_57.dds" } + spriteType = { name = "GFX_idea_portrait_orcs_generic_57" texturefile = "gfx/leaders/0_Generic_Orcs/small/Portrait_Orcs_Generic_57.dds" } + spriteType = { name = "GFX_portrait_orcs_generic_58" texturefile = "gfx/leaders/0_Generic_Orcs/Portrait_Orcs_Generic_58.dds" } + spriteType = { name = "GFX_idea_portrait_orcs_generic_58" texturefile = "gfx/leaders/0_Generic_Orcs/small/Portrait_Orcs_Generic_58.dds" } + spriteType = { name = "GFX_portrait_orcs_generic_59" texturefile = "gfx/leaders/0_Generic_Orcs/Portrait_Orcs_Generic_59.dds" } + spriteType = { name = "GFX_idea_portrait_orcs_generic_59" texturefile = "gfx/leaders/0_Generic_Orcs/small/Portrait_Orcs_Generic_59.dds" } + spriteType = { name = "GFX_portrait_orcs_generic_6" texturefile = "gfx/leaders/0_Generic_Orcs/Portrait_Orcs_Generic_6.dds" } + spriteType = { name = "GFX_idea_portrait_orcs_generic_6" texturefile = "gfx/leaders/0_Generic_Orcs/small/Portrait_Orcs_Generic_6.dds" } + spriteType = { name = "GFX_portrait_orcs_generic_60" texturefile = "gfx/leaders/0_Generic_Orcs/Portrait_Orcs_Generic_60.dds" } + spriteType = { name = "GFX_idea_portrait_orcs_generic_60" texturefile = "gfx/leaders/0_Generic_Orcs/small/Portrait_Orcs_Generic_60.dds" } + spriteType = { name = "GFX_portrait_orcs_generic_61" texturefile = "gfx/leaders/0_Generic_Orcs/Portrait_Orcs_Generic_61.dds" } + spriteType = { name = "GFX_idea_portrait_orcs_generic_61" texturefile = "gfx/leaders/0_Generic_Orcs/small/Portrait_Orcs_Generic_61.dds" } + spriteType = { name = "GFX_portrait_orcs_generic_62" texturefile = "gfx/leaders/0_Generic_Orcs/Portrait_Orcs_Generic_62.dds" } + spriteType = { name = "GFX_idea_portrait_orcs_generic_62" texturefile = "gfx/leaders/0_Generic_Orcs/small/Portrait_Orcs_Generic_62.dds" } + spriteType = { name = "GFX_portrait_orcs_generic_63" texturefile = "gfx/leaders/0_Generic_Orcs/Portrait_Orcs_Generic_63.dds" } + spriteType = { name = "GFX_idea_portrait_orcs_generic_63" texturefile = "gfx/leaders/0_Generic_Orcs/small/Portrait_Orcs_Generic_63.dds" } + spriteType = { name = "GFX_portrait_orcs_generic_64" texturefile = "gfx/leaders/0_Generic_Orcs/Portrait_Orcs_Generic_64.dds" } + spriteType = { name = "GFX_idea_portrait_orcs_generic_64" texturefile = "gfx/leaders/0_Generic_Orcs/small/Portrait_Orcs_Generic_64.dds" } + spriteType = { name = "GFX_portrait_orcs_generic_65" texturefile = "gfx/leaders/0_Generic_Orcs/Portrait_Orcs_Generic_65.dds" } + spriteType = { name = "GFX_idea_portrait_orcs_generic_65" texturefile = "gfx/leaders/0_Generic_Orcs/small/Portrait_Orcs_Generic_65.dds" } + spriteType = { name = "GFX_portrait_orcs_generic_66" texturefile = "gfx/leaders/0_Generic_Orcs/Portrait_Orcs_Generic_66.dds" } + spriteType = { name = "GFX_idea_portrait_orcs_generic_66" texturefile = "gfx/leaders/0_Generic_Orcs/small/Portrait_Orcs_Generic_66.dds" } + spriteType = { name = "GFX_portrait_orcs_generic_67" texturefile = "gfx/leaders/0_Generic_Orcs/Portrait_Orcs_Generic_67.dds" } + spriteType = { name = "GFX_idea_portrait_orcs_generic_67" texturefile = "gfx/leaders/0_Generic_Orcs/small/Portrait_Orcs_Generic_67.dds" } + spriteType = { name = "GFX_portrait_orcs_generic_68" texturefile = "gfx/leaders/0_Generic_Orcs/Portrait_Orcs_Generic_68.dds" } + spriteType = { name = "GFX_idea_portrait_orcs_generic_68" texturefile = "gfx/leaders/0_Generic_Orcs/small/Portrait_Orcs_Generic_68.dds" } + spriteType = { name = "GFX_portrait_orcs_generic_69" texturefile = "gfx/leaders/0_Generic_Orcs/Portrait_Orcs_Generic_69.dds" } + spriteType = { name = "GFX_idea_portrait_orcs_generic_69" texturefile = "gfx/leaders/0_Generic_Orcs/small/Portrait_Orcs_Generic_69.dds" } + spriteType = { name = "GFX_portrait_orcs_generic_7" texturefile = "gfx/leaders/0_Generic_Orcs/Portrait_Orcs_Generic_7.dds" } + spriteType = { name = "GFX_idea_portrait_orcs_generic_7" texturefile = "gfx/leaders/0_Generic_Orcs/small/Portrait_Orcs_Generic_7.dds" } + spriteType = { name = "GFX_portrait_orcs_generic_70" texturefile = "gfx/leaders/0_Generic_Orcs/Portrait_Orcs_Generic_70.dds" } + spriteType = { name = "GFX_idea_portrait_orcs_generic_70" texturefile = "gfx/leaders/0_Generic_Orcs/small/Portrait_Orcs_Generic_70.dds" } + spriteType = { name = "GFX_portrait_orcs_generic_71" texturefile = "gfx/leaders/0_Generic_Orcs/Portrait_Orcs_Generic_71.dds" } + spriteType = { name = "GFX_idea_portrait_orcs_generic_71" texturefile = "gfx/leaders/0_Generic_Orcs/small/Portrait_Orcs_Generic_71.dds" } + spriteType = { name = "GFX_portrait_orcs_generic_72" texturefile = "gfx/leaders/0_Generic_Orcs/Portrait_Orcs_Generic_72.dds" } + spriteType = { name = "GFX_idea_portrait_orcs_generic_72" texturefile = "gfx/leaders/0_Generic_Orcs/small/Portrait_Orcs_Generic_72.dds" } + spriteType = { name = "GFX_portrait_orcs_generic_73" texturefile = "gfx/leaders/0_Generic_Orcs/Portrait_Orcs_Generic_73.dds" } + spriteType = { name = "GFX_idea_portrait_orcs_generic_73" texturefile = "gfx/leaders/0_Generic_Orcs/small/Portrait_Orcs_Generic_73.dds" } + spriteType = { name = "GFX_portrait_orcs_generic_74" texturefile = "gfx/leaders/0_Generic_Orcs/Portrait_Orcs_Generic_74.dds" } + spriteType = { name = "GFX_idea_portrait_orcs_generic_74" texturefile = "gfx/leaders/0_Generic_Orcs/small/Portrait_Orcs_Generic_74.dds" } + spriteType = { name = "GFX_portrait_orcs_generic_75" texturefile = "gfx/leaders/0_Generic_Orcs/Portrait_Orcs_Generic_75.dds" } + spriteType = { name = "GFX_idea_portrait_orcs_generic_75" texturefile = "gfx/leaders/0_Generic_Orcs/small/Portrait_Orcs_Generic_75.dds" } + spriteType = { name = "GFX_portrait_orcs_generic_76" texturefile = "gfx/leaders/0_Generic_Orcs/Portrait_Orcs_Generic_76.dds" } + spriteType = { name = "GFX_idea_portrait_orcs_generic_76" texturefile = "gfx/leaders/0_Generic_Orcs/small/Portrait_Orcs_Generic_76.dds" } + spriteType = { name = "GFX_portrait_orcs_generic_77" texturefile = "gfx/leaders/0_Generic_Orcs/Portrait_Orcs_Generic_77.dds" } + spriteType = { name = "GFX_idea_portrait_orcs_generic_77" texturefile = "gfx/leaders/0_Generic_Orcs/small/Portrait_Orcs_Generic_77.dds" } + spriteType = { name = "GFX_portrait_orcs_generic_78" texturefile = "gfx/leaders/0_Generic_Orcs/Portrait_Orcs_Generic_78.dds" } + spriteType = { name = "GFX_idea_portrait_orcs_generic_78" texturefile = "gfx/leaders/0_Generic_Orcs/small/Portrait_Orcs_Generic_78.dds" } + spriteType = { name = "GFX_portrait_orcs_generic_79" texturefile = "gfx/leaders/0_Generic_Orcs/Portrait_Orcs_Generic_79.dds" } + spriteType = { name = "GFX_idea_portrait_orcs_generic_79" texturefile = "gfx/leaders/0_Generic_Orcs/small/Portrait_Orcs_Generic_79.dds" } + spriteType = { name = "GFX_portrait_orcs_generic_8" texturefile = "gfx/leaders/0_Generic_Orcs/Portrait_Orcs_Generic_8.dds" } + spriteType = { name = "GFX_idea_portrait_orcs_generic_8" texturefile = "gfx/leaders/0_Generic_Orcs/small/Portrait_Orcs_Generic_8.dds" } + spriteType = { name = "GFX_portrait_orcs_generic_80" texturefile = "gfx/leaders/0_Generic_Orcs/Portrait_Orcs_Generic_80.dds" } + spriteType = { name = "GFX_idea_portrait_orcs_generic_80" texturefile = "gfx/leaders/0_Generic_Orcs/small/Portrait_Orcs_Generic_80.dds" } + spriteType = { name = "GFX_portrait_orcs_generic_81" texturefile = "gfx/leaders/0_Generic_Orcs/Portrait_Orcs_Generic_81.dds" } + spriteType = { name = "GFX_idea_portrait_orcs_generic_81" texturefile = "gfx/leaders/0_Generic_Orcs/small/Portrait_Orcs_Generic_81.dds" } + spriteType = { name = "GFX_portrait_orcs_generic_82" texturefile = "gfx/leaders/0_Generic_Orcs/Portrait_Orcs_Generic_82.dds" } + spriteType = { name = "GFX_idea_portrait_orcs_generic_82" texturefile = "gfx/leaders/0_Generic_Orcs/small/Portrait_Orcs_Generic_82.dds" } + spriteType = { name = "GFX_portrait_orcs_generic_9" texturefile = "gfx/leaders/0_Generic_Orcs/Portrait_Orcs_Generic_9.dds" } + spriteType = { name = "GFX_idea_portrait_orcs_generic_9" texturefile = "gfx/leaders/0_Generic_Orcs/small/Portrait_Orcs_Generic_9.dds" } +} diff --git a/interface/leaders/lotr_leaders_other.gfx b/interface/auto_generated/leaders/lotr_leaders_0_generic_Other.gfx similarity index 100% rename from interface/leaders/lotr_leaders_other.gfx rename to interface/auto_generated/leaders/lotr_leaders_0_generic_Other.gfx diff --git a/interface/leaders/lotr_leaders_spiders.gfx b/interface/auto_generated/leaders/lotr_leaders_0_generic_Spiders.gfx similarity index 100% rename from interface/leaders/lotr_leaders_spiders.gfx rename to interface/auto_generated/leaders/lotr_leaders_0_generic_Spiders.gfx diff --git a/interface/leaders/lotr_leaders_ANG.gfx b/interface/auto_generated/leaders/lotr_leaders_ANG.gfx similarity index 100% rename from interface/leaders/lotr_leaders_ANG.gfx rename to interface/auto_generated/leaders/lotr_leaders_ANG.gfx diff --git a/interface/leaders/lotr_leaders_ART.gfx b/interface/auto_generated/leaders/lotr_leaders_ART.gfx similarity index 100% rename from interface/leaders/lotr_leaders_ART.gfx rename to interface/auto_generated/leaders/lotr_leaders_ART.gfx diff --git a/interface/leaders/lotr_leaders_CAR.gfx b/interface/auto_generated/leaders/lotr_leaders_CAR.gfx similarity index 100% rename from interface/leaders/lotr_leaders_CAR.gfx rename to interface/auto_generated/leaders/lotr_leaders_CAR.gfx diff --git a/interface/leaders/lotr_leaders_DAL.gfx b/interface/auto_generated/leaders/lotr_leaders_DAL.gfx similarity index 100% rename from interface/leaders/lotr_leaders_DAL.gfx rename to interface/auto_generated/leaders/lotr_leaders_DAL.gfx diff --git a/interface/auto_generated/leaders/lotr_leaders_DAM.gfx b/interface/auto_generated/leaders/lotr_leaders_DAM.gfx new file mode 100644 index 000000000..56d686238 --- /dev/null +++ b/interface/auto_generated/leaders/lotr_leaders_DAM.gfx @@ -0,0 +1,9 @@ +spriteTypes = { + # This file was auto-generated by the GFX-Maker.py + spriteType = { name = "GFX_portrait_dol_amroth_amrothos" texturefile = "gfx/leaders/DAM/Portrait_dol_amroth_amrothos.dds" } + spriteType = { name = "GFX_idea_portrait_dol_amroth_amrothos" texturefile = "gfx/leaders/DAM/small/Portrait_dol_amroth_amrothos.dds" } + spriteType = { name = "GFX_portrait_dol_amroth_imrahil" texturefile = "gfx/leaders/DAM/Portrait_dol_amroth_imrahil.dds" } + spriteType = { name = "GFX_idea_portrait_dol_amroth_imrahil" texturefile = "gfx/leaders/DAM/small/Portrait_dol_amroth_imrahil.dds" } + spriteType = { name = "GFX_portrait_dol_amroth_lothiriel" texturefile = "gfx/leaders/DAM/Portrait_dol_amroth_lothiriel.dds" } + spriteType = { name = "GFX_idea_portrait_dol_amroth_lothiriel" texturefile = "gfx/leaders/DAM/small/Portrait_dol_amroth_lothiriel.dds" } +} diff --git a/interface/leaders/lotr_leaders_ENE.gfx b/interface/auto_generated/leaders/lotr_leaders_ENE.gfx similarity index 100% rename from interface/leaders/lotr_leaders_ENE.gfx rename to interface/auto_generated/leaders/lotr_leaders_ENE.gfx diff --git a/interface/leaders/lotr_leaders_ENT.gfx b/interface/auto_generated/leaders/lotr_leaders_ENT.gfx similarity index 100% rename from interface/leaders/lotr_leaders_ENT.gfx rename to interface/auto_generated/leaders/lotr_leaders_ENT.gfx diff --git a/interface/leaders/lotr_leaders_ERE.gfx b/interface/auto_generated/leaders/lotr_leaders_ERE.gfx similarity index 100% rename from interface/leaders/lotr_leaders_ERE.gfx rename to interface/auto_generated/leaders/lotr_leaders_ERE.gfx diff --git a/interface/leaders/lotr_leaders_GON.gfx b/interface/auto_generated/leaders/lotr_leaders_GON.gfx similarity index 99% rename from interface/leaders/lotr_leaders_GON.gfx rename to interface/auto_generated/leaders/lotr_leaders_GON.gfx index 88ea858d8..88fac47d8 100644 --- a/interface/leaders/lotr_leaders_GON.gfx +++ b/interface/auto_generated/leaders/lotr_leaders_GON.gfx @@ -6,8 +6,8 @@ spriteTypes = { spriteType = { name = "GFX_idea_portrait_gondor_angbor" texturefile = "gfx/leaders/GON/small/Portrait_Gondor_Angbor.dds" } spriteType = { name = "GFX_portrait_gondor_aragorn" texturefile = "gfx/leaders/GON/Portrait_Gondor_Aragorn.dds" } spriteType = { name = "GFX_idea_portrait_gondor_aragorn" texturefile = "gfx/leaders/GON/small/Portrait_Gondor_Aragorn.dds" } - spriteType = { name = "GFX_portrait_gondor_aragorn_fellowship." texturefile = "gfx/leaders/GON/Portrait_Gondor_Aragorn_Fellowship..dds" } - spriteType = { name = "GFX_idea_portrait_gondor_aragorn_fellowship." texturefile = "gfx/leaders/GON/small/Portrait_Gondor_Aragorn_Fellowship..dds" } + spriteType = { name = "GFX_portrait_gondor_aragorn_fellowship." texturefile = "gfx/leaders/GON/Portrait_Gondor_Aragorn_Fellowship.dds" } + spriteType = { name = "GFX_idea_portrait_gondor_aragorn_fellowship." texturefile = "gfx/leaders/GON/small/Portrait_Gondor_Aragorn_Fellowship.dds" } spriteType = { name = "GFX_portrait_gondor_beregond" texturefile = "gfx/leaders/GON/Portrait_Gondor_Beregond.dds" } spriteType = { name = "GFX_idea_portrait_gondor_beregond" texturefile = "gfx/leaders/GON/small/Portrait_Gondor_Beregond.dds" } spriteType = { name = "GFX_portrait_gondor_boromir" texturefile = "gfx/leaders/GON/Portrait_Gondor_Boromir.dds" } diff --git a/interface/leaders/lotr_leaders_HAR.gfx b/interface/auto_generated/leaders/lotr_leaders_HAR.gfx similarity index 100% rename from interface/leaders/lotr_leaders_HAR.gfx rename to interface/auto_generated/leaders/lotr_leaders_HAR.gfx diff --git a/interface/leaders/lotr_leaders_ISE.gfx b/interface/auto_generated/leaders/lotr_leaders_ISE.gfx similarity index 100% rename from interface/leaders/lotr_leaders_ISE.gfx rename to interface/auto_generated/leaders/lotr_leaders_ISE.gfx diff --git a/interface/leaders/lotr_leaders_LIN.gfx b/interface/auto_generated/leaders/lotr_leaders_LIN.gfx similarity index 100% rename from interface/leaders/lotr_leaders_LIN.gfx rename to interface/auto_generated/leaders/lotr_leaders_LIN.gfx diff --git a/interface/auto_generated/leaders/lotr_leaders_LTH.gfx b/interface/auto_generated/leaders/lotr_leaders_LTH.gfx new file mode 100644 index 000000000..fad18a857 --- /dev/null +++ b/interface/auto_generated/leaders/lotr_leaders_LTH.gfx @@ -0,0 +1,27 @@ +spriteTypes = { + # This file was auto-generated by the GFX-Maker.py + spriteType = { name = "GFX_portrait_lothlorien_aelrindel" texturefile = "gfx/leaders/LTH/Portrait_Lothlorien_Aelrindel.dds" } + spriteType = { name = "GFX_idea_portrait_lothlorien_aelrindel" texturefile = "gfx/leaders/LTH/small/Portrait_Lothlorien_Aelrindel.dds" } + spriteType = { name = "GFX_portrait_lothlorien_celeborn" texturefile = "gfx/leaders/LTH/Portrait_Lothlorien_Celeborn.dds" } + spriteType = { name = "GFX_idea_portrait_lothlorien_celeborn" texturefile = "gfx/leaders/LTH/small/Portrait_Lothlorien_Celeborn.dds" } + spriteType = { name = "GFX_portrait_lothlorien_galadriel" texturefile = "gfx/leaders/LTH/Portrait_Lothlorien_Galadriel.dds" } + spriteType = { name = "GFX_idea_portrait_lothlorien_galadriel" texturefile = "gfx/leaders/LTH/small/Portrait_Lothlorien_Galadriel.dds" } + spriteType = { name = "GFX_portrait_lothlorien_galadriel_dark" texturefile = "gfx/leaders/LTH/Portrait_Lothlorien_Galadriel_Dark.dds" } + spriteType = { name = "GFX_idea_portrait_lothlorien_galadriel_dark" texturefile = "gfx/leaders/LTH/small/Portrait_Lothlorien_Galadriel_Dark.dds" } + spriteType = { name = "GFX_portrait_lothlorien_haldir" texturefile = "gfx/leaders/LTH/Portrait_Lothlorien_Haldir.dds" } + spriteType = { name = "GFX_idea_portrait_lothlorien_haldir" texturefile = "gfx/leaders/LTH/small/Portrait_Lothlorien_Haldir.dds" } + spriteType = { name = "GFX_portrait_lothlorien_haldir_fellowship" texturefile = "gfx/leaders/LTH/Portrait_Lothlorien_Haldir_Fellowship.dds" } + spriteType = { name = "GFX_idea_portrait_lothlorien_haldir_fellowship" texturefile = "gfx/leaders/LTH/small/Portrait_Lothlorien_Haldir_Fellowship.dds" } + spriteType = { name = "GFX_portrait_lothlorien_lethsael" texturefile = "gfx/leaders/LTH/Portrait_Lothlorien_Lethsael.dds" } + spriteType = { name = "GFX_idea_portrait_lothlorien_lethsael" texturefile = "gfx/leaders/LTH/small/Portrait_Lothlorien_Lethsael.dds" } + spriteType = { name = "GFX_portrait_lothlorien_orophin" texturefile = "gfx/leaders/LTH/Portrait_Lothlorien_Orophin.dds" } + spriteType = { name = "GFX_idea_portrait_lothlorien_orophin" texturefile = "gfx/leaders/LTH/small/Portrait_Lothlorien_Orophin.dds" } + spriteType = { name = "GFX_portrait_lothlorien_rothilion" texturefile = "gfx/leaders/LTH/Portrait_Lothlorien_Rothilion.dds" } + spriteType = { name = "GFX_idea_portrait_lothlorien_rothilion" texturefile = "gfx/leaders/LTH/small/Portrait_Lothlorien_Rothilion.dds" } + spriteType = { name = "GFX_portrait_lothlorien_rumil" texturefile = "gfx/leaders/LTH/Portrait_Lothlorien_Rumil.dds" } + spriteType = { name = "GFX_idea_portrait_lothlorien_rumil" texturefile = "gfx/leaders/LTH/small/Portrait_Lothlorien_Rumil.dds" } + spriteType = { name = "GFX_portrait_lothlorien_tarborn" texturefile = "gfx/leaders/LTH/Portrait_Lothlorien_Tarborn.dds" } + spriteType = { name = "GFX_idea_portrait_lothlorien_tarborn" texturefile = "gfx/leaders/LTH/small/Portrait_Lothlorien_Tarborn.dds" } + spriteType = { name = "GFX_portrait_lothlorien_velatha" texturefile = "gfx/leaders/LTH/Portrait_Lothlorien_Velatha.dds" } + spriteType = { name = "GFX_idea_portrait_lothlorien_velatha" texturefile = "gfx/leaders/LTH/small/Portrait_Lothlorien_Velatha.dds" } +} diff --git a/interface/leaders/lotr_leaders_MIR.gfx b/interface/auto_generated/leaders/lotr_leaders_MIR.gfx similarity index 100% rename from interface/leaders/lotr_leaders_MIR.gfx rename to interface/auto_generated/leaders/lotr_leaders_MIR.gfx diff --git a/interface/leaders/lotr_leaders_MOA.gfx b/interface/auto_generated/leaders/lotr_leaders_MOA.gfx similarity index 100% rename from interface/leaders/lotr_leaders_MOA.gfx rename to interface/auto_generated/leaders/lotr_leaders_MOA.gfx diff --git a/interface/leaders/lotr_leaders_MOR.gfx b/interface/auto_generated/leaders/lotr_leaders_MOR.gfx similarity index 100% rename from interface/leaders/lotr_leaders_MOR.gfx rename to interface/auto_generated/leaders/lotr_leaders_MOR.gfx diff --git a/interface/leaders/lotr_leaders_RHD.gfx b/interface/auto_generated/leaders/lotr_leaders_RHD.gfx similarity index 100% rename from interface/leaders/lotr_leaders_RHD.gfx rename to interface/auto_generated/leaders/lotr_leaders_RHD.gfx diff --git a/interface/leaders/lotr_leaders_RHU.gfx b/interface/auto_generated/leaders/lotr_leaders_RHU.gfx similarity index 100% rename from interface/leaders/lotr_leaders_RHU.gfx rename to interface/auto_generated/leaders/lotr_leaders_RHU.gfx diff --git a/interface/leaders/lotr_leaders_RIV.gfx b/interface/auto_generated/leaders/lotr_leaders_RIV.gfx similarity index 100% rename from interface/leaders/lotr_leaders_RIV.gfx rename to interface/auto_generated/leaders/lotr_leaders_RIV.gfx diff --git a/interface/leaders/lotr_leaders_ROH.gfx b/interface/auto_generated/leaders/lotr_leaders_ROH.gfx similarity index 100% rename from interface/leaders/lotr_leaders_ROH.gfx rename to interface/auto_generated/leaders/lotr_leaders_ROH.gfx diff --git a/interface/leaders/lotr_leaders_shire.gfx b/interface/auto_generated/leaders/lotr_leaders_SHI.gfx similarity index 100% rename from interface/leaders/lotr_leaders_shire.gfx rename to interface/auto_generated/leaders/lotr_leaders_SHI.gfx diff --git a/interface/leaders/lotr_leaders_VAL.gfx b/interface/auto_generated/leaders/lotr_leaders_VAL.gfx similarity index 100% rename from interface/leaders/lotr_leaders_VAL.gfx rename to interface/auto_generated/leaders/lotr_leaders_VAL.gfx diff --git a/interface/auto_generated/lotr_focus_filters.gfx b/interface/auto_generated/lotr_focus_filters.gfx new file mode 100644 index 000000000..457549ad7 --- /dev/null +++ b/interface/auto_generated/lotr_focus_filters.gfx @@ -0,0 +1,33 @@ +spriteTypes = { + # This file was auto-generated by GFX-Maker.py + spriteType = { + name = "GFX_FOCUS_FILTER_BELLIGERENT" + texturefile = "gfx/interface/focus_filters/FOCUS_FILTER_BELLIGERENT.dds" + } + + spriteType = { + name = "GFX_FOCUS_FILTER_COOPERATIVE" + texturefile = "gfx/interface/focus_filters/FOCUS_FILTER_COOPERATIVE.dds" + } + + spriteType = { + name = "GFX_FOCUS_FILTER_ELVEN_FACTIONS" + texturefile = "gfx/interface/focus_filters/FOCUS_FILTER_ELVEN_FACTIONS.dds" + } + + spriteType = { + name = "GFX_FOCUS_FILTER_REVOLUTIONARY" + texturefile = "gfx/interface/focus_filters/FOCUS_FILTER_REVOLUTIONARY.dds" + } + + spriteType = { + name = "GFX_FOCUS_FILTER_RING" + texturefile = "gfx/interface/focus_filters/FOCUS_FILTER_RING.dds" + } + + spriteType = { + name = "GFX_FOCUS_FILTER_UNALIGNED" + texturefile = "gfx/interface/focus_filters/FOCUS_FILTER_UNALIGNED.dds" + } + +} diff --git a/interface/auto_generated/lotr_goals.gfx b/interface/auto_generated/lotr_goals.gfx new file mode 100644 index 000000000..405c152fa --- /dev/null +++ b/interface/auto_generated/lotr_goals.gfx @@ -0,0 +1,9663 @@ +spriteTypes = { + # This file was auto-generated by the GFX-Maker.py + spriteType = { + name = GFX_goal_shine_mask + texturefile = gfx/interface/goals/shine_mask.dds + } + spriteType = { + name = GFX_goal_shine_mask_shine + texturefile = gfx/interface/goals/shine_mask.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/shine_mask.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/shine_mask.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_shine_overlay + texturefile = gfx/interface/goals/shine_overlay.dds + } + spriteType = { + name = GFX_goal_shine_overlay_shine + texturefile = gfx/interface/goals/shine_overlay.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/shine_overlay.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/shine_overlay.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_GFX_goal_angmar_unalligned + texturefile = gfx/interface/goals/ANG/GFX_goal_angmar_unalligned.dds + } + spriteType = { + name = GFX_goal_GFX_goal_angmar_unalligned_shine + texturefile = gfx/interface/goals/ANG/GFX_goal_angmar_unalligned.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/ANG/GFX_goal_angmar_unalligned.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/ANG/GFX_goal_angmar_unalligned.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_GFX_goal_arnor + texturefile = gfx/interface/goals/GON/GFX_goal_arnor.dds + } + spriteType = { + name = GFX_goal_GFX_goal_arnor_shine + texturefile = gfx/interface/goals/GON/GFX_goal_arnor.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/GON/GFX_goal_arnor.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/GON/GFX_goal_arnor.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_GFX_goal_dol_amroth + texturefile = gfx/interface/goals/GON/GFX_goal_dol_amroth.dds + } + spriteType = { + name = GFX_goal_GFX_goal_dol_amroth_shine + texturefile = gfx/interface/goals/GON/GFX_goal_dol_amroth.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/GON/GFX_goal_dol_amroth.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/GON/GFX_goal_dol_amroth.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_GFX_goal_gon_dam_propaganda + texturefile = gfx/interface/goals/GON/GFX_goal_gon_dam_propaganda.dds + } + spriteType = { + name = GFX_goal_GFX_goal_gon_dam_propaganda_shine + texturefile = gfx/interface/goals/GON/GFX_goal_gon_dam_propaganda.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/GON/GFX_goal_gon_dam_propaganda.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/GON/GFX_goal_gon_dam_propaganda.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_gon_defame_isildurs_lineage + texturefile = gfx/interface/goals/GON/gon_defame_isildurs_lineage.dds + } + spriteType = { + name = GFX_goal_gon_defame_isildurs_lineage_shine + texturefile = gfx/interface/goals/GON/gon_defame_isildurs_lineage.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/GON/gon_defame_isildurs_lineage.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/GON/gon_defame_isildurs_lineage.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_gon_ensure_popular_support + texturefile = gfx/interface/goals/GON/gon_ensure_popular_support.dds + } + spriteType = { + name = GFX_goal_gon_ensure_popular_support_shine + texturefile = gfx/interface/goals/GON/gon_ensure_popular_support.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/GON/gon_ensure_popular_support.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/GON/gon_ensure_popular_support.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_gon_gain_favour_with_the_elves + texturefile = gfx/interface/goals/GON/gon_gain_favour_with_the_elves.dds + } + spriteType = { + name = GFX_goal_gon_gain_favour_with_the_elves_shine + texturefile = gfx/interface/goals/GON/gon_gain_favour_with_the_elves.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/GON/gon_gain_favour_with_the_elves.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/GON/gon_gain_favour_with_the_elves.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_gon_gondor_needs_no_king + texturefile = gfx/interface/goals/GON/gon_gondor_needs_no_king.dds + } + spriteType = { + name = GFX_goal_gon_gondor_needs_no_king_shine + texturefile = gfx/interface/goals/GON/gon_gondor_needs_no_king.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/GON/gon_gondor_needs_no_king.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/GON/gon_gondor_needs_no_king.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_gon_historical_claims + texturefile = gfx/interface/goals/GON/gon_historical_claims.dds + } + spriteType = { + name = GFX_goal_gon_historical_claims_shine + texturefile = gfx/interface/goals/GON/gon_historical_claims.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/GON/gon_historical_claims.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/GON/gon_historical_claims.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_gon_ithc_emergency_measures + texturefile = gfx/interface/goals/GON/gon_ithc_emergency_measures.dds + } + spriteType = { + name = GFX_goal_gon_ithc_emergency_measures_shine + texturefile = gfx/interface/goals/GON/gon_ithc_emergency_measures.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/GON/gon_ithc_emergency_measures.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/GON/gon_ithc_emergency_measures.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_gon_ithc_evacuate + texturefile = gfx/interface/goals/GON/gon_ithc_evacuate.dds + } + spriteType = { + name = GFX_goal_gon_ithc_evacuate_shine + texturefile = gfx/interface/goals/GON/gon_ithc_evacuate.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/GON/gon_ithc_evacuate.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/GON/gon_ithc_evacuate.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_gon_ithc_hold_firm + texturefile = gfx/interface/goals/GON/gon_ithc_hold_firm.dds + } + spriteType = { + name = GFX_goal_gon_ithc_hold_firm_shine + texturefile = gfx/interface/goals/GON/gon_ithc_hold_firm.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/GON/gon_ithc_hold_firm.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/GON/gon_ithc_hold_firm.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_gon_ithilien_crisis + texturefile = gfx/interface/goals/GON/gon_ithilien_crisis.dds + } + spriteType = { + name = GFX_goal_gon_ithilien_crisis_shine + texturefile = gfx/interface/goals/GON/gon_ithilien_crisis.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/GON/gon_ithilien_crisis.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/GON/gon_ithilien_crisis.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_gon_liberate_the_capital_from_the_usurpers + texturefile = gfx/interface/goals/GON/gon_liberate_the_capital_from_the_usurpers.dds + } + spriteType = { + name = GFX_goal_gon_liberate_the_capital_from_the_usurpers_shine + texturefile = gfx/interface/goals/GON/gon_liberate_the_capital_from_the_usurpers.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/GON/gon_liberate_the_capital_from_the_usurpers.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/GON/gon_liberate_the_capital_from_the_usurpers.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_gon_purge_the_aristocracy + texturefile = gfx/interface/goals/GON/gon_purge_the_aristocracy.dds + } + spriteType = { + name = GFX_goal_gon_purge_the_aristocracy_shine + texturefile = gfx/interface/goals/GON/gon_purge_the_aristocracy.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/GON/gon_purge_the_aristocracy.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/GON/gon_purge_the_aristocracy.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_gon_rally_support_in_enedwaith + texturefile = gfx/interface/goals/GON/gon_rally_support_in_enedwaith.dds + } + spriteType = { + name = GFX_goal_gon_rally_support_in_enedwaith_shine + texturefile = gfx/interface/goals/GON/gon_rally_support_in_enedwaith.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/GON/gon_rally_support_in_enedwaith.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/GON/gon_rally_support_in_enedwaith.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_gon_strengthen_ties_with_angmar + texturefile = gfx/interface/goals/GON/gon_strengthen_ties_with_angmar.dds + } + spriteType = { + name = GFX_goal_gon_strengthen_ties_with_angmar_shine + texturefile = gfx/interface/goals/GON/gon_strengthen_ties_with_angmar.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/GON/gon_strengthen_ties_with_angmar.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/GON/gon_strengthen_ties_with_angmar.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_gon_the_peoples_fleet + texturefile = gfx/interface/goals/GON/gon_the_peoples_fleet.dds + } + spriteType = { + name = GFX_goal_gon_the_peoples_fleet_shine + texturefile = gfx/interface/goals/GON/gon_the_peoples_fleet.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/GON/gon_the_peoples_fleet.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/GON/gon_the_peoples_fleet.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_gon_wed_faramir_to_eowyn + texturefile = gfx/interface/goals/GON/gon_wed_faramir_to_eowyn.dds + } + spriteType = { + name = GFX_goal_gon_wed_faramir_to_eowyn_shine + texturefile = gfx/interface/goals/GON/gon_wed_faramir_to_eowyn.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/GON/gon_wed_faramir_to_eowyn.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/GON/gon_wed_faramir_to_eowyn.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_echoesofeldar + texturefile = gfx/interface/goals/LTH/echoesofeldar.dds + } + spriteType = { + name = GFX_goal_echoesofeldar_shine + texturefile = gfx/interface/goals/LTH/echoesofeldar.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/echoesofeldar.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/echoesofeldar.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_abolishtermlimits + texturefile = gfx/interface/goals/LTH/lth_abolishtermlimits.dds + } + spriteType = { + name = GFX_goal_lth_abolishtermlimits_shine + texturefile = gfx/interface/goals/LTH/lth_abolishtermlimits.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_abolishtermlimits.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_abolishtermlimits.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_acceleratetheinevitable + texturefile = gfx/interface/goals/LTH/lth_acceleratetheinevitable.dds + } + spriteType = { + name = GFX_goal_lth_acceleratetheinevitable_shine + texturefile = gfx/interface/goals/LTH/lth_acceleratetheinevitable.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_acceleratetheinevitable.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_acceleratetheinevitable.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_acknowledgethemordorthreat + texturefile = gfx/interface/goals/LTH/lth_acknowledgethemordorthreat.dds + } + spriteType = { + name = GFX_goal_lth_acknowledgethemordorthreat_shine + texturefile = gfx/interface/goals/LTH/lth_acknowledgethemordorthreat.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_acknowledgethemordorthreat.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_acknowledgethemordorthreat.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_aegisoflight + texturefile = gfx/interface/goals/LTH/lth_aegisoflight.dds + } + spriteType = { + name = GFX_goal_lth_aegisoflight_shine + texturefile = gfx/interface/goals/LTH/lth_aegisoflight.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_aegisoflight.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_aegisoflight.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_affiliatewithlindon + texturefile = gfx/interface/goals/LTH/lth_affiliatewithlindon.dds + } + spriteType = { + name = GFX_goal_lth_affiliatewithlindon_shine + texturefile = gfx/interface/goals/LTH/lth_affiliatewithlindon.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_affiliatewithlindon.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_affiliatewithlindon.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_agestureofgoodwill + texturefile = gfx/interface/goals/LTH/lth_agestureofgoodwill.dds + } + spriteType = { + name = GFX_goal_lth_agestureofgoodwill_shine + texturefile = gfx/interface/goals/LTH/lth_agestureofgoodwill.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_agestureofgoodwill.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_agestureofgoodwill.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_aidtotheweary + texturefile = gfx/interface/goals/LTH/lth_aidtotheweary.dds + } + spriteType = { + name = GFX_goal_lth_aidtotheweary_shine + texturefile = gfx/interface/goals/LTH/lth_aidtotheweary.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_aidtotheweary.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_aidtotheweary.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_alignthenobility + texturefile = gfx/interface/goals/LTH/lth_alignthenobility.dds + } + spriteType = { + name = GFX_goal_lth_alignthenobility_shine + texturefile = gfx/interface/goals/LTH/lth_alignthenobility.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_alignthenobility.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_alignthenobility.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_allianceoflight + texturefile = gfx/interface/goals/LTH/lth_allianceoflight.dds + } + spriteType = { + name = GFX_goal_lth_allianceoflight_shine + texturefile = gfx/interface/goals/LTH/lth_allianceoflight.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_allianceoflight.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_allianceoflight.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_allywithmen + texturefile = gfx/interface/goals/LTH/lth_allywithmen.dds + } + spriteType = { + name = GFX_goal_lth_allywithmen_shine + texturefile = gfx/interface/goals/LTH/lth_allywithmen.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_allywithmen.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_allywithmen.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_amostgenerousoffer + texturefile = gfx/interface/goals/LTH/lth_amostgenerousoffer.dds + } + spriteType = { + name = GFX_goal_lth_amostgenerousoffer_shine + texturefile = gfx/interface/goals/LTH/lth_amostgenerousoffer.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_amostgenerousoffer.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_amostgenerousoffer.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_ancestralechoesintandem + texturefile = gfx/interface/goals/LTH/lth_ancestralechoesintandem.dds + } + spriteType = { + name = GFX_goal_lth_ancestralechoesintandem_shine + texturefile = gfx/interface/goals/LTH/lth_ancestralechoesintandem.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_ancestralechoesintandem.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_ancestralechoesintandem.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_anecessaryevil + texturefile = gfx/interface/goals/LTH/lth_anecessaryevil.dds + } + spriteType = { + name = GFX_goal_lth_anecessaryevil_shine + texturefile = gfx/interface/goals/LTH/lth_anecessaryevil.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_anecessaryevil.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_anecessaryevil.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_anelvenfellowship + texturefile = gfx/interface/goals/LTH/lth_anelvenfellowship.dds + } + spriteType = { + name = GFX_goal_lth_anelvenfellowship_shine + texturefile = gfx/interface/goals/LTH/lth_anelvenfellowship.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_anelvenfellowship.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_anelvenfellowship.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_anewbeginning + texturefile = gfx/interface/goals/LTH/lth_anewbeginning.dds + } + spriteType = { + name = GFX_goal_lth_anewbeginning_shine + texturefile = gfx/interface/goals/LTH/lth_anewbeginning.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_anewbeginning.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_anewbeginning.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_anewbreed + texturefile = gfx/interface/goals/LTH/lth_anewbreed.dds + } + spriteType = { + name = GFX_goal_lth_anewbreed_shine + texturefile = gfx/interface/goals/LTH/lth_anewbreed.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_anewbreed.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_anewbreed.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_anewelvenlanguage + texturefile = gfx/interface/goals/LTH/lth_anewelvenlanguage.dds + } + spriteType = { + name = GFX_goal_lth_anewelvenlanguage_shine + texturefile = gfx/interface/goals/LTH/lth_anewelvenlanguage.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_anewelvenlanguage.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_anewelvenlanguage.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_appointedrepresentatives + texturefile = gfx/interface/goals/LTH/lth_appointedrepresentatives.dds + } + spriteType = { + name = GFX_goal_lth_appointedrepresentatives_shine + texturefile = gfx/interface/goals/LTH/lth_appointedrepresentatives.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_appointedrepresentatives.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_appointedrepresentatives.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_asharedcause + texturefile = gfx/interface/goals/LTH/lth_asharedcause.dds + } + spriteType = { + name = GFX_goal_lth_asharedcause_shine + texturefile = gfx/interface/goals/LTH/lth_asharedcause.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_asharedcause.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_asharedcause.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_associatewithnonelves + texturefile = gfx/interface/goals/LTH/lth_associatewithnonelves.dds + } + spriteType = { + name = GFX_goal_lth_associatewithnonelves_shine + texturefile = gfx/interface/goals/LTH/lth_associatewithnonelves.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_associatewithnonelves.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_associatewithnonelves.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_atanycost + texturefile = gfx/interface/goals/LTH/lth_atanycost.dds + } + spriteType = { + name = GFX_goal_lth_atanycost_shine + texturefile = gfx/interface/goals/LTH/lth_atanycost.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_atanycost.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_atanycost.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_atasteofempire + texturefile = gfx/interface/goals/LTH/lth_atasteofempire.dds + } + spriteType = { + name = GFX_goal_lth_atasteofempire_shine + texturefile = gfx/interface/goals/LTH/lth_atasteofempire.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_atasteofempire.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_atasteofempire.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_aulescraftmanship + texturefile = gfx/interface/goals/LTH/lth_aulescraftmanship.dds + } + spriteType = { + name = GFX_goal_lth_aulescraftmanship_shine + texturefile = gfx/interface/goals/LTH/lth_aulescraftmanship.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_aulescraftmanship.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_aulescraftmanship.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_beaconofhope + texturefile = gfx/interface/goals/LTH/lth_beaconofhope.dds + } + spriteType = { + name = GFX_goal_lth_beaconofhope_shine + texturefile = gfx/interface/goals/LTH/lth_beaconofhope.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_beaconofhope.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_beaconofhope.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_bideourtime + texturefile = gfx/interface/goals/LTH/lth_bideourtime.dds + } + spriteType = { + name = GFX_goal_lth_bideourtime_shine + texturefile = gfx/interface/goals/LTH/lth_bideourtime.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_bideourtime.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_bideourtime.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_bladesoftheeldar + texturefile = gfx/interface/goals/LTH/lth_bladesoftheeldar.dds + } + spriteType = { + name = GFX_goal_lth_bladesoftheeldar_shine + texturefile = gfx/interface/goals/LTH/lth_bladesoftheeldar.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_bladesoftheeldar.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_bladesoftheeldar.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_bondsofnature + texturefile = gfx/interface/goals/LTH/lth_bondsofnature.dds + } + spriteType = { + name = GFX_goal_lth_bondsofnature_shine + texturefile = gfx/interface/goals/LTH/lth_bondsofnature.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_bondsofnature.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_bondsofnature.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_breakthechainsofisolation + texturefile = gfx/interface/goals/LTH/lth_breakthechainsofisolation.dds + } + spriteType = { + name = GFX_goal_lth_breakthechainsofisolation_shine + texturefile = gfx/interface/goals/LTH/lth_breakthechainsofisolation.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_breakthechainsofisolation.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_breakthechainsofisolation.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_burrythemintheirholes + texturefile = gfx/interface/goals/LTH/lth_burrythemintheirholes.dds + } + spriteType = { + name = GFX_goal_lth_burrythemintheirholes_shine + texturefile = gfx/interface/goals/LTH/lth_burrythemintheirholes.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_burrythemintheirholes.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_burrythemintheirholes.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_celeborncounsel + texturefile = gfx/interface/goals/LTH/lth_celeborncounsel.dds + } + spriteType = { + name = GFX_goal_lth_celeborncounsel_shine + texturefile = gfx/interface/goals/LTH/lth_celeborncounsel.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_celeborncounsel.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_celeborncounsel.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_celeborngaladrielaccord + texturefile = gfx/interface/goals/LTH/lth_celeborngaladrielaccord.dds + } + spriteType = { + name = GFX_goal_lth_celeborngaladrielaccord_shine + texturefile = gfx/interface/goals/LTH/lth_celeborngaladrielaccord.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_celeborngaladrielaccord.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_celeborngaladrielaccord.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_celebornsexile + texturefile = gfx/interface/goals/LTH/lth_celebornsexile.dds + } + spriteType = { + name = GFX_goal_lth_celebornsexile_shine + texturefile = gfx/interface/goals/LTH/lth_celebornsexile.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_celebornsexile.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_celebornsexile.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_celebornsreforms + texturefile = gfx/interface/goals/LTH/lth_celebornsreforms.dds + } + spriteType = { + name = GFX_goal_lth_celebornsreforms_shine + texturefile = gfx/interface/goals/LTH/lth_celebornsreforms.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_celebornsreforms.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_celebornsreforms.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_celebrateperendhillegends + texturefile = gfx/interface/goals/LTH/lth_celebrateperendhillegends.dds + } + spriteType = { + name = GFX_goal_lth_celebrateperendhillegends_shine + texturefile = gfx/interface/goals/LTH/lth_celebrateperendhillegends.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_celebrateperendhillegends.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_celebrateperendhillegends.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_cleansethetunnels + texturefile = gfx/interface/goals/LTH/lth_cleansethetunnels.dds + } + spriteType = { + name = GFX_goal_lth_cleansethetunnels_shine + texturefile = gfx/interface/goals/LTH/lth_cleansethetunnels.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_cleansethetunnels.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_cleansethetunnels.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_collectivedefenseclause + texturefile = gfx/interface/goals/LTH/lth_collectivedefenseclause.dds + } + spriteType = { + name = GFX_goal_lth_collectivedefenseclause_shine + texturefile = gfx/interface/goals/LTH/lth_collectivedefenseclause.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_collectivedefenseclause.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_collectivedefenseclause.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_commemorategondolin + texturefile = gfx/interface/goals/LTH/lth_commemorategondolin.dds + } + spriteType = { + name = GFX_goal_lth_commemorategondolin_shine + texturefile = gfx/interface/goals/LTH/lth_commemorategondolin.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_commemorategondolin.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_commemorategondolin.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_commemoratethecelebrantbattle + texturefile = gfx/interface/goals/LTH/lth_commemoratethecelebrantbattle.dds + } + spriteType = { + name = GFX_goal_lth_commemoratethecelebrantbattle_shine + texturefile = gfx/interface/goals/LTH/lth_commemoratethecelebrantbattle.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_commemoratethecelebrantbattle.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_commemoratethecelebrantbattle.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_commercialnavigation + texturefile = gfx/interface/goals/LTH/lth_commercialnavigation.dds + } + spriteType = { + name = GFX_goal_lth_commercialnavigation_shine + texturefile = gfx/interface/goals/LTH/lth_commercialnavigation.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_commercialnavigation.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_commercialnavigation.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_conscecratecarasgaladhon + texturefile = gfx/interface/goals/LTH/lth_conscecratecarasgaladhon.dds + } + spriteType = { + name = GFX_goal_lth_conscecratecarasgaladhon_shine + texturefile = gfx/interface/goals/LTH/lth_conscecratecarasgaladhon.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_conscecratecarasgaladhon.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_conscecratecarasgaladhon.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_conscecratecerinamroth + texturefile = gfx/interface/goals/LTH/lth_conscecratecerinamroth.dds + } + spriteType = { + name = GFX_goal_lth_conscecratecerinamroth_shine + texturefile = gfx/interface/goals/LTH/lth_conscecratecerinamroth.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_conscecratecerinamroth.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_conscecratecerinamroth.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_consulttheelves + texturefile = gfx/interface/goals/LTH/lth_consulttheelves.dds + } + spriteType = { + name = GFX_goal_lth_consulttheelves_shine + texturefile = gfx/interface/goals/LTH/lth_consulttheelves.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_consulttheelves.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_consulttheelves.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_cooperatewithmirkwood + texturefile = gfx/interface/goals/LTH/lth_cooperatewithmirkwood.dds + } + spriteType = { + name = GFX_goal_lth_cooperatewithmirkwood_shine + texturefile = gfx/interface/goals/LTH/lth_cooperatewithmirkwood.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_cooperatewithmirkwood.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_cooperatewithmirkwood.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_cooperationefforts + texturefile = gfx/interface/goals/LTH/lth_cooperationefforts.dds + } + spriteType = { + name = GFX_goal_lth_cooperationefforts_shine + texturefile = gfx/interface/goals/LTH/lth_cooperationefforts.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_cooperationefforts.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_cooperationefforts.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_coordinatedresistance + texturefile = gfx/interface/goals/LTH/lth_coordinatedresistance.dds + } + spriteType = { + name = GFX_goal_lth_coordinatedresistance_shine + texturefile = gfx/interface/goals/LTH/lth_coordinatedresistance.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_coordinatedresistance.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_coordinatedresistance.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_coordinatedsanctions + texturefile = gfx/interface/goals/LTH/lth_coordinatedsanctions.dds + } + spriteType = { + name = GFX_goal_lth_coordinatedsanctions_shine + texturefile = gfx/interface/goals/LTH/lth_coordinatedsanctions.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_coordinatedsanctions.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_coordinatedsanctions.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_culturalexchangeinitiatives + texturefile = gfx/interface/goals/LTH/lth_culturalexchangeinitiatives.dds + } + spriteType = { + name = GFX_goal_lth_culturalexchangeinitiatives_shine + texturefile = gfx/interface/goals/LTH/lth_culturalexchangeinitiatives.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_culturalexchangeinitiatives.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_culturalexchangeinitiatives.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_deepknowledge + texturefile = gfx/interface/goals/LTH/lth_deepknowledge.dds + } + spriteType = { + name = GFX_goal_lth_deepknowledge_shine + texturefile = gfx/interface/goals/LTH/lth_deepknowledge.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_deepknowledge.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_deepknowledge.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_defensiveperimeter + texturefile = gfx/interface/goals/LTH/lth_defensiveperimeter.dds + } + spriteType = { + name = GFX_goal_lth_defensiveperimeter_shine + texturefile = gfx/interface/goals/LTH/lth_defensiveperimeter.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_defensiveperimeter.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_defensiveperimeter.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_deterrence + texturefile = gfx/interface/goals/LTH/lth_deterrence.dds + } + spriteType = { + name = GFX_goal_lth_deterrence_shine + texturefile = gfx/interface/goals/LTH/lth_deterrence.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_deterrence.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_deterrence.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_diorthefair + texturefile = gfx/interface/goals/LTH/lth_diorthefair.dds + } + spriteType = { + name = GFX_goal_lth_diorthefair_shine + texturefile = gfx/interface/goals/LTH/lth_diorthefair.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_diorthefair.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_diorthefair.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_discordinthegoldenwood + texturefile = gfx/interface/goals/LTH/lth_discordinthegoldenwood.dds + } + spriteType = { + name = GFX_goal_lth_discordinthegoldenwood_shine + texturefile = gfx/interface/goals/LTH/lth_discordinthegoldenwood.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_discordinthegoldenwood.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_discordinthegoldenwood.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_discovernewrealms + texturefile = gfx/interface/goals/LTH/lth_discovernewrealms.dds + } + spriteType = { + name = GFX_goal_lth_discovernewrealms_shine + texturefile = gfx/interface/goals/LTH/lth_discovernewrealms.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_discovernewrealms.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_discovernewrealms.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_dismantlethenazgul + texturefile = gfx/interface/goals/LTH/lth_dismantlethenazgul.dds + } + spriteType = { + name = GFX_goal_lth_dismantlethenazgul_shine + texturefile = gfx/interface/goals/LTH/lth_dismantlethenazgul.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_dismantlethenazgul.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_dismantlethenazgul.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_dreadfulasstormandlightning + texturefile = gfx/interface/goals/LTH/lth_dreadfulasstormandlightning.dds + } + spriteType = { + name = GFX_goal_lth_dreadfulasstormandlightning_shine + texturefile = gfx/interface/goals/LTH/lth_dreadfulasstormandlightning.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_dreadfulasstormandlightning.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_dreadfulasstormandlightning.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_eaglesofmanwe + texturefile = gfx/interface/goals/LTH/lth_eaglesofmanwe.dds + } + spriteType = { + name = GFX_goal_lth_eaglesofmanwe_shine + texturefile = gfx/interface/goals/LTH/lth_eaglesofmanwe.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_eaglesofmanwe.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_eaglesofmanwe.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_earendilthemariner + texturefile = gfx/interface/goals/LTH/lth_earendilthemariner.dds + } + spriteType = { + name = GFX_goal_lth_earendilthemariner_shine + texturefile = gfx/interface/goals/LTH/lth_earendilthemariner.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_earendilthemariner.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_earendilthemariner.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_echoesofrivendell + texturefile = gfx/interface/goals/LTH/lth_echoesofrivendell.dds + } + spriteType = { + name = GFX_goal_lth_echoesofrivendell_shine + texturefile = gfx/interface/goals/LTH/lth_echoesofrivendell.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_echoesofrivendell.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_echoesofrivendell.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_echoesoftheeldendays + texturefile = gfx/interface/goals/LTH/lth_echoesoftheeldendays.dds + } + spriteType = { + name = GFX_goal_lth_echoesoftheeldendays_shine + texturefile = gfx/interface/goals/LTH/lth_echoesoftheeldendays.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_echoesoftheeldendays.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_echoesoftheeldendays.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_electedrepresentatives + texturefile = gfx/interface/goals/LTH/lth_electedrepresentatives.dds + } + spriteType = { + name = GFX_goal_lth_electedrepresentatives_shine + texturefile = gfx/interface/goals/LTH/lth_electedrepresentatives.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_electedrepresentatives.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_electedrepresentatives.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_elrondtheperedhil + texturefile = gfx/interface/goals/LTH/lth_elrondtheperedhil.dds + } + spriteType = { + name = GFX_goal_lth_elrondtheperedhil_shine + texturefile = gfx/interface/goals/LTH/lth_elrondtheperedhil.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_elrondtheperedhil.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_elrondtheperedhil.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_elrosofnumenor + texturefile = gfx/interface/goals/LTH/lth_elrosofnumenor.dds + } + spriteType = { + name = GFX_goal_lth_elrosofnumenor_shine + texturefile = gfx/interface/goals/LTH/lth_elrosofnumenor.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_elrosofnumenor.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_elrosofnumenor.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_elvencavalry + texturefile = gfx/interface/goals/LTH/lth_elvencavalry.dds + } + spriteType = { + name = GFX_goal_lth_elvencavalry_shine + texturefile = gfx/interface/goals/LTH/lth_elvencavalry.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_elvencavalry.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_elvencavalry.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_elvenforges + texturefile = gfx/interface/goals/LTH/lth_elvenforges.dds + } + spriteType = { + name = GFX_goal_lth_elvenforges_shine + texturefile = gfx/interface/goals/LTH/lth_elvenforges.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_elvenforges.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_elvenforges.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_elvenharmony + texturefile = gfx/interface/goals/LTH/lth_elvenharmony.dds + } + spriteType = { + name = GFX_goal_lth_elvenharmony_shine + texturefile = gfx/interface/goals/LTH/lth_elvenharmony.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_elvenharmony.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_elvenharmony.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_elvensupremacy + texturefile = gfx/interface/goals/LTH/lth_elvensupremacy.dds + } + spriteType = { + name = GFX_goal_lth_elvensupremacy_shine + texturefile = gfx/interface/goals/LTH/lth_elvensupremacy.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_elvensupremacy.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_elvensupremacy.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_elvenweaponry + texturefile = gfx/interface/goals/LTH/lth_elvenweaponry.dds + } + spriteType = { + name = GFX_goal_lth_elvenweaponry_shine + texturefile = gfx/interface/goals/LTH/lth_elvenweaponry.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_elvenweaponry.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_elvenweaponry.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_empowerhaldir + texturefile = gfx/interface/goals/LTH/lth_empowerhaldir.dds + } + spriteType = { + name = GFX_goal_lth_empowerhaldir_shine + texturefile = gfx/interface/goals/LTH/lth_empowerhaldir.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_empowerhaldir.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_empowerhaldir.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_endurethedarkness + texturefile = gfx/interface/goals/LTH/lth_endurethedarkness.dds + } + spriteType = { + name = GFX_goal_lth_endurethedarkness_shine + texturefile = gfx/interface/goals/LTH/lth_endurethedarkness.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_endurethedarkness.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_endurethedarkness.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_ensurefoodsecurity + texturefile = gfx/interface/goals/LTH/lth_ensurefoodsecurity.dds + } + spriteType = { + name = GFX_goal_lth_ensurefoodsecurity_shine + texturefile = gfx/interface/goals/LTH/lth_ensurefoodsecurity.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_ensurefoodsecurity.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_ensurefoodsecurity.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_establishagraindole + texturefile = gfx/interface/goals/LTH/lth_establishagraindole.dds + } + spriteType = { + name = GFX_goal_lth_establishagraindole_shine + texturefile = gfx/interface/goals/LTH/lth_establishagraindole.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_establishagraindole.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_establishagraindole.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_eternalwisdom + texturefile = gfx/interface/goals/LTH/lth_eternalwisdom.dds + } + spriteType = { + name = GFX_goal_lth_eternalwisdom_shine + texturefile = gfx/interface/goals/LTH/lth_eternalwisdom.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_eternalwisdom.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_eternalwisdom.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_executivevigour + texturefile = gfx/interface/goals/LTH/lth_executivevigour.dds + } + spriteType = { + name = GFX_goal_lth_executivevigour_shine + texturefile = gfx/interface/goals/LTH/lth_executivevigour.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_executivevigour.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_executivevigour.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_fairastheseaandsun + texturefile = gfx/interface/goals/LTH/lth_fairastheseaandsun.dds + } + spriteType = { + name = GFX_goal_lth_fairastheseaandsun_shine + texturefile = gfx/interface/goals/LTH/lth_fairastheseaandsun.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_fairastheseaandsun.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_fairastheseaandsun.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_fairasthesunterribleasthestorm + texturefile = gfx/interface/goals/LTH/lth_fairasthesunterribleasthestorm.dds + } + spriteType = { + name = GFX_goal_lth_fairasthesunterribleasthestorm_shine + texturefile = gfx/interface/goals/LTH/lth_fairasthesunterribleasthestorm.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_fairasthesunterribleasthestorm.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_fairasthesunterribleasthestorm.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_fellbeastsofmordor + texturefile = gfx/interface/goals/LTH/lth_fellbeastsofmordor.dds + } + spriteType = { + name = GFX_goal_lth_fellbeastsofmordor_shine + texturefile = gfx/interface/goals/LTH/lth_fellbeastsofmordor.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_fellbeastsofmordor.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_fellbeastsofmordor.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_foeturnedfriend + texturefile = gfx/interface/goals/LTH/lth_foeturnedfriend.dds + } + spriteType = { + name = GFX_goal_lth_foeturnedfriend_shine + texturefile = gfx/interface/goals/LTH/lth_foeturnedfriend.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_foeturnedfriend.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_foeturnedfriend.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_forcetheissue + texturefile = gfx/interface/goals/LTH/lth_forcetheissue.dds + } + spriteType = { + name = GFX_goal_lth_forcetheissue_shine + texturefile = gfx/interface/goals/LTH/lth_forcetheissue.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_forcetheissue.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_forcetheissue.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_forgealliances + texturefile = gfx/interface/goals/LTH/lth_forgealliances.dds + } + spriteType = { + name = GFX_goal_lth_forgealliances_shine + texturefile = gfx/interface/goals/LTH/lth_forgealliances.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_forgealliances.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_forgealliances.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_forsaketheelves + texturefile = gfx/interface/goals/LTH/lth_forsaketheelves.dds + } + spriteType = { + name = GFX_goal_lth_forsaketheelves_shine + texturefile = gfx/interface/goals/LTH/lth_forsaketheelves.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_forsaketheelves.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_forsaketheelves.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_galadrielsfarewell + texturefile = gfx/interface/goals/LTH/lth_galadrielsfarewell.dds + } + spriteType = { + name = GFX_goal_lth_galadrielsfarewell_shine + texturefile = gfx/interface/goals/LTH/lth_galadrielsfarewell.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_galadrielsfarewell.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_galadrielsfarewell.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_galadrielsmirror + texturefile = gfx/interface/goals/LTH/lth_galadrielsmirror.dds + } + spriteType = { + name = GFX_goal_lth_galadrielsmirror_shine + texturefile = gfx/interface/goals/LTH/lth_galadrielsmirror.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_galadrielsmirror.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_galadrielsmirror.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_galadrielspowers + texturefile = gfx/interface/goals/LTH/lth_galadrielspowers.dds + } + spriteType = { + name = GFX_goal_lth_galadrielspowers_shine + texturefile = gfx/interface/goals/LTH/lth_galadrielspowers.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_galadrielspowers.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_galadrielspowers.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_galadrielsvision + texturefile = gfx/interface/goals/LTH/lth_galadrielsvision.dds + } + spriteType = { + name = GFX_goal_lth_galadrielsvision_shine + texturefile = gfx/interface/goals/LTH/lth_galadrielsvision.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_galadrielsvision.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_galadrielsvision.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_gal_mirror + texturefile = gfx/interface/goals/LTH/lth_gal_mirror.dds + } + spriteType = { + name = GFX_goal_lth_gal_mirror_shine + texturefile = gfx/interface/goals/LTH/lth_gal_mirror.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_gal_mirror.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_gal_mirror.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_givesauronthering + texturefile = gfx/interface/goals/LTH/lth_givesauronthering.dds + } + spriteType = { + name = GFX_goal_lth_givesauronthering_shine + texturefile = gfx/interface/goals/LTH/lth_givesauronthering.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_givesauronthering.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_givesauronthering.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_greatestofwarriors + texturefile = gfx/interface/goals/LTH/lth_greatestofwarriors.dds + } + spriteType = { + name = GFX_goal_lth_greatestofwarriors_shine + texturefile = gfx/interface/goals/LTH/lth_greatestofwarriors.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_greatestofwarriors.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_greatestofwarriors.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_guardiansoftheriveranduin + texturefile = gfx/interface/goals/LTH/lth_guardiansoftheriveranduin.dds + } + spriteType = { + name = GFX_goal_lth_guardiansoftheriveranduin_shine + texturefile = gfx/interface/goals/LTH/lth_guardiansoftheriveranduin.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_guardiansoftheriveranduin.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_guardiansoftheriveranduin.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_guardiansofthesilverwood + texturefile = gfx/interface/goals/LTH/lth_guardiansofthesilverwood.dds + } + spriteType = { + name = GFX_goal_lth_guardiansofthesilverwood_shine + texturefile = gfx/interface/goals/LTH/lth_guardiansofthesilverwood.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_guardiansofthesilverwood.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_guardiansofthesilverwood.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_guardiansofthewild + texturefile = gfx/interface/goals/LTH/lth_guardiansofthewild.dds + } + spriteType = { + name = GFX_goal_lth_guardiansofthewild_shine + texturefile = gfx/interface/goals/LTH/lth_guardiansofthewild.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_guardiansofthewild.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_guardiansofthewild.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_harmonicascendancy + texturefile = gfx/interface/goals/LTH/lth_harmonicascendancy.dds + } + spriteType = { + name = GFX_goal_lth_harmonicascendancy_shine + texturefile = gfx/interface/goals/LTH/lth_harmonicascendancy.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_harmonicascendancy.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_harmonicascendancy.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_harmonyofthesindar + texturefile = gfx/interface/goals/LTH/lth_harmonyofthesindar.dds + } + spriteType = { + name = GFX_goal_lth_harmonyofthesindar_shine + texturefile = gfx/interface/goals/LTH/lth_harmonyofthesindar.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_harmonyofthesindar.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_harmonyofthesindar.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_hegemony + texturefile = gfx/interface/goals/LTH/lth_hegemony.dds + } + spriteType = { + name = GFX_goal_lth_hegemony_shine + texturefile = gfx/interface/goals/LTH/lth_hegemony.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_hegemony.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_hegemony.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_immortalendurance + texturefile = gfx/interface/goals/LTH/lth_immortalendurance.dds + } + spriteType = { + name = GFX_goal_lth_immortalendurance_shine + texturefile = gfx/interface/goals/LTH/lth_immortalendurance.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_immortalendurance.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_immortalendurance.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_integrateorcsintothegaladhrim + texturefile = gfx/interface/goals/LTH/lth_integrateorcsintothegaladhrim.dds + } + spriteType = { + name = GFX_goal_lth_integrateorcsintothegaladhrim_shine + texturefile = gfx/interface/goals/LTH/lth_integrateorcsintothegaladhrim.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_integrateorcsintothegaladhrim.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_integrateorcsintothegaladhrim.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_investfocus + texturefile = gfx/interface/goals/LTH/lth_investfocus.dds + } + spriteType = { + name = GFX_goal_lth_investfocus_shine + texturefile = gfx/interface/goals/LTH/lth_investfocus.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_investfocus.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_investfocus.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_invitecirdan + texturefile = gfx/interface/goals/LTH/lth_invitecirdan.dds + } + spriteType = { + name = GFX_goal_lth_invitecirdan_shine + texturefile = gfx/interface/goals/LTH/lth_invitecirdan.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_invitecirdan.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_invitecirdan.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_inviteelrond + texturefile = gfx/interface/goals/LTH/lth_inviteelrond.dds + } + spriteType = { + name = GFX_goal_lth_inviteelrond_shine + texturefile = gfx/interface/goals/LTH/lth_inviteelrond.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_inviteelrond.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_inviteelrond.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_invitegaladriel + texturefile = gfx/interface/goals/LTH/lth_invitegaladriel.dds + } + spriteType = { + name = GFX_goal_lth_invitegaladriel_shine + texturefile = gfx/interface/goals/LTH/lth_invitegaladriel.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_invitegaladriel.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_invitegaladriel.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_invitegandalf + texturefile = gfx/interface/goals/LTH/lth_invitegandalf.dds + } + spriteType = { + name = GFX_goal_lth_invitegandalf_shine + texturefile = gfx/interface/goals/LTH/lth_invitegandalf.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_invitegandalf.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_invitegandalf.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_invitesaruman + texturefile = gfx/interface/goals/LTH/lth_invitesaruman.dds + } + spriteType = { + name = GFX_goal_lth_invitesaruman_shine + texturefile = gfx/interface/goals/LTH/lth_invitesaruman.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_invitesaruman.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_invitesaruman.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_invokethetaleofgaladrielandeorl + texturefile = gfx/interface/goals/LTH/lth_invokethetaleofgaladrielandeorl.dds + } + spriteType = { + name = GFX_goal_lth_invokethetaleofgaladrielandeorl_shine + texturefile = gfx/interface/goals/LTH/lth_invokethetaleofgaladrielandeorl.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_invokethetaleofgaladrielandeorl.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_invokethetaleofgaladrielandeorl.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_labourtaxfornonelves + texturefile = gfx/interface/goals/LTH/lth_labourtaxfornonelves.dds + } + spriteType = { + name = GFX_goal_lth_labourtaxfornonelves_shine + texturefile = gfx/interface/goals/LTH/lth_labourtaxfornonelves.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_labourtaxfornonelves.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_labourtaxfornonelves.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_leadbyexample + texturefile = gfx/interface/goals/LTH/lth_leadbyexample.dds + } + spriteType = { + name = GFX_goal_lth_leadbyexample_shine + texturefile = gfx/interface/goals/LTH/lth_leadbyexample.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_leadbyexample.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_leadbyexample.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_learnfromthestrongest + texturefile = gfx/interface/goals/LTH/lth_learnfromthestrongest.dds + } + spriteType = { + name = GFX_goal_lth_learnfromthestrongest_shine + texturefile = gfx/interface/goals/LTH/lth_learnfromthestrongest.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_learnfromthestrongest.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_learnfromthestrongest.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_legacyofthenoldor + texturefile = gfx/interface/goals/LTH/lth_legacyofthenoldor.dds + } + spriteType = { + name = GFX_goal_lth_legacyofthenoldor_shine + texturefile = gfx/interface/goals/LTH/lth_legacyofthenoldor.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_legacyofthenoldor.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_legacyofthenoldor.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_liftthelawofisolation + texturefile = gfx/interface/goals/LTH/lth_liftthelawofisolation.dds + } + spriteType = { + name = GFX_goal_lth_liftthelawofisolation_shine + texturefile = gfx/interface/goals/LTH/lth_liftthelawofisolation.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_liftthelawofisolation.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_liftthelawofisolation.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_limitedintervention + texturefile = gfx/interface/goals/LTH/lth_limitedintervention.dds + } + spriteType = { + name = GFX_goal_lth_limitedintervention_shine + texturefile = gfx/interface/goals/LTH/lth_limitedintervention.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_limitedintervention.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_limitedintervention.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_localautonomy + texturefile = gfx/interface/goals/LTH/lth_localautonomy.dds + } + spriteType = { + name = GFX_goal_lth_localautonomy_shine + texturefile = gfx/interface/goals/LTH/lth_localautonomy.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_localautonomy.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_localautonomy.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_lorekeepersguild + texturefile = gfx/interface/goals/LTH/lth_lorekeepersguild.dds + } + spriteType = { + name = GFX_goal_lth_lorekeepersguild_shine + texturefile = gfx/interface/goals/LTH/lth_lorekeepersguild.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_lorekeepersguild.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_lorekeepersguild.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_lothlorienarchers + texturefile = gfx/interface/goals/LTH/lth_lothlorienarchers.dds + } + spriteType = { + name = GFX_goal_lth_lothlorienarchers_shine + texturefile = gfx/interface/goals/LTH/lth_lothlorienarchers.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_lothlorienarchers.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_lothlorienarchers.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_maintainalliances + texturefile = gfx/interface/goals/LTH/lth_maintainalliances.dds + } + spriteType = { + name = GFX_goal_lth_maintainalliances_shine + texturefile = gfx/interface/goals/LTH/lth_maintainalliances.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_maintainalliances.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_maintainalliances.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_maintainstabilityinthewest + texturefile = gfx/interface/goals/LTH/lth_maintainstabilityinthewest.dds + } + spriteType = { + name = GFX_goal_lth_maintainstabilityinthewest_shine + texturefile = gfx/interface/goals/LTH/lth_maintainstabilityinthewest.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_maintainstabilityinthewest.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_maintainstabilityinthewest.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_mallorntreearchiotecture + texturefile = gfx/interface/goals/LTH/lth_mallorntreearchiotecture.dds + } + spriteType = { + name = GFX_goal_lth_mallorntreearchiotecture_shine + texturefile = gfx/interface/goals/LTH/lth_mallorntreearchiotecture.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_mallorntreearchiotecture.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_mallorntreearchiotecture.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_marchinunison + texturefile = gfx/interface/goals/LTH/lth_marchinunison.dds + } + spriteType = { + name = GFX_goal_lth_marchinunison_shine + texturefile = gfx/interface/goals/LTH/lth_marchinunison.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_marchinunison.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_marchinunison.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_marchwardensoflothlorien + texturefile = gfx/interface/goals/LTH/lth_marchwardensoflothlorien.dds + } + spriteType = { + name = GFX_goal_lth_marchwardensoflothlorien_shine + texturefile = gfx/interface/goals/LTH/lth_marchwardensoflothlorien.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_marchwardensoflothlorien.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_marchwardensoflothlorien.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_martialalliance + texturefile = gfx/interface/goals/LTH/lth_martialalliance.dds + } + spriteType = { + name = GFX_goal_lth_martialalliance_shine + texturefile = gfx/interface/goals/LTH/lth_martialalliance.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_martialalliance.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_martialalliance.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_memberexpansion + texturefile = gfx/interface/goals/LTH/lth_memberexpansion.dds + } + spriteType = { + name = GFX_goal_lth_memberexpansion_shine + texturefile = gfx/interface/goals/LTH/lth_memberexpansion.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_memberexpansion.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_memberexpansion.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_mendtheschism + texturefile = gfx/interface/goals/LTH/lth_mendtheschism.dds + } + spriteType = { + name = GFX_goal_lth_mendtheschism_shine + texturefile = gfx/interface/goals/LTH/lth_mendtheschism.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_mendtheschism.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_mendtheschism.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_meritbasedadvancement + texturefile = gfx/interface/goals/LTH/lth_meritbasedadvancement.dds + } + spriteType = { + name = GFX_goal_lth_meritbasedadvancement_shine + texturefile = gfx/interface/goals/LTH/lth_meritbasedadvancement.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_meritbasedadvancement.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_meritbasedadvancement.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_metalworkandjewellery + texturefile = gfx/interface/goals/LTH/lth_metalworkandjewellery.dds + } + spriteType = { + name = GFX_goal_lth_metalworkandjewellery_shine + texturefile = gfx/interface/goals/LTH/lth_metalworkandjewellery.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_metalworkandjewellery.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_metalworkandjewellery.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_migrationtreaties + texturefile = gfx/interface/goals/LTH/lth_migrationtreaties.dds + } + spriteType = { + name = GFX_goal_lth_migrationtreaties_shine + texturefile = gfx/interface/goals/LTH/lth_migrationtreaties.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_migrationtreaties.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_migrationtreaties.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_minglewiththemortals + texturefile = gfx/interface/goals/LTH/lth_minglewiththemortals.dds + } + spriteType = { + name = GFX_goal_lth_minglewiththemortals_shine + texturefile = gfx/interface/goals/LTH/lth_minglewiththemortals.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_minglewiththemortals.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_minglewiththemortals.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_mirrorupgrade + texturefile = gfx/interface/goals/LTH/lth_mirrorupgrade.dds + } + spriteType = { + name = GFX_goal_lth_mirrorupgrade_shine + texturefile = gfx/interface/goals/LTH/lth_mirrorupgrade.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_mirrorupgrade.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_mirrorupgrade.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_nenyasprotection + texturefile = gfx/interface/goals/LTH/lth_nenyasprotection.dds + } + spriteType = { + name = GFX_goal_lth_nenyasprotection_shine + texturefile = gfx/interface/goals/LTH/lth_nenyasprotection.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_nenyasprotection.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_nenyasprotection.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_nonelvencitizenship + texturefile = gfx/interface/goals/LTH/lth_nonelvencitizenship.dds + } + spriteType = { + name = GFX_goal_lth_nonelvencitizenship_shine + texturefile = gfx/interface/goals/LTH/lth_nonelvencitizenship.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_nonelvencitizenship.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_nonelvencitizenship.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_northboundinvasion + texturefile = gfx/interface/goals/LTH/lth_northboundinvasion.dds + } + spriteType = { + name = GFX_goal_lth_northboundinvasion_shine + texturefile = gfx/interface/goals/LTH/lth_northboundinvasion.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_northboundinvasion.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_northboundinvasion.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_nurturingthehalfelven + texturefile = gfx/interface/goals/LTH/lth_nurturingthehalfelven.dds + } + spriteType = { + name = GFX_goal_lth_nurturingthehalfelven_shine + texturefile = gfx/interface/goals/LTH/lth_nurturingthehalfelven.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_nurturingthehalfelven.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_nurturingthehalfelven.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_offerpassagetothehalflings + texturefile = gfx/interface/goals/LTH/lth_offerpassagetothehalflings.dds + } + spriteType = { + name = GFX_goal_lth_offerpassagetothehalflings_shine + texturefile = gfx/interface/goals/LTH/lth_offerpassagetothehalflings.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_offerpassagetothehalflings.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_offerpassagetothehalflings.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_organizetributaries + texturefile = gfx/interface/goals/LTH/lth_organizetributaries.dds + } + spriteType = { + name = GFX_goal_lth_organizetributaries_shine + texturefile = gfx/interface/goals/LTH/lth_organizetributaries.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_organizetributaries.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_organizetributaries.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_ourowninitiative + texturefile = gfx/interface/goals/LTH/lth_ourowninitiative.dds + } + spriteType = { + name = GFX_goal_lth_ourowninitiative_shine + texturefile = gfx/interface/goals/LTH/lth_ourowninitiative.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_ourowninitiative.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_ourowninitiative.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_patrolsandriverwardens + texturefile = gfx/interface/goals/LTH/lth_patrolsandriverwardens.dds + } + spriteType = { + name = GFX_goal_lth_patrolsandriverwardens_shine + texturefile = gfx/interface/goals/LTH/lth_patrolsandriverwardens.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_patrolsandriverwardens.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_patrolsandriverwardens.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_powers_of_nenya + texturefile = gfx/interface/goals/LTH/lth_powers_of_nenya.dds + } + spriteType = { + name = GFX_goal_lth_powers_of_nenya_shine + texturefile = gfx/interface/goals/LTH/lth_powers_of_nenya.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_powers_of_nenya.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_powers_of_nenya.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_preemptivemeasures + texturefile = gfx/interface/goals/LTH/lth_preemptivemeasures.dds + } + spriteType = { + name = GFX_goal_lth_preemptivemeasures_shine + texturefile = gfx/interface/goals/LTH/lth_preemptivemeasures.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_preemptivemeasures.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_preemptivemeasures.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_preemtptivedepartures + texturefile = gfx/interface/goals/LTH/lth_preemtptivedepartures.dds + } + spriteType = { + name = GFX_goal_lth_preemtptivedepartures_shine + texturefile = gfx/interface/goals/LTH/lth_preemtptivedepartures.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_preemtptivedepartures.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_preemtptivedepartures.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_preservationofknowledge + texturefile = gfx/interface/goals/LTH/lth_preservationofknowledge.dds + } + spriteType = { + name = GFX_goal_lth_preservationofknowledge_shine + texturefile = gfx/interface/goals/LTH/lth_preservationofknowledge.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_preservationofknowledge.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_preservationofknowledge.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_pressurethranduil + texturefile = gfx/interface/goals/LTH/lth_pressurethranduil.dds + } + spriteType = { + name = GFX_goal_lth_pressurethranduil_shine + texturefile = gfx/interface/goals/LTH/lth_pressurethranduil.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_pressurethranduil.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_pressurethranduil.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_princessofthenoldor + texturefile = gfx/interface/goals/LTH/lth_princessofthenoldor.dds + } + spriteType = { + name = GFX_goal_lth_princessofthenoldor_shine + texturefile = gfx/interface/goals/LTH/lth_princessofthenoldor.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_princessofthenoldor.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_princessofthenoldor.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_prisonervivisections + texturefile = gfx/interface/goals/LTH/lth_prisonervivisections.dds + } + spriteType = { + name = GFX_goal_lth_prisonervivisections_shine + texturefile = gfx/interface/goals/LTH/lth_prisonervivisections.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_prisonervivisections.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_prisonervivisections.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_proposalsandresolutions + texturefile = gfx/interface/goals/LTH/lth_proposalsandresolutions.dds + } + spriteType = { + name = GFX_goal_lth_proposalsandresolutions_shine + texturefile = gfx/interface/goals/LTH/lth_proposalsandresolutions.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_proposalsandresolutions.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_proposalsandresolutions.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_provincialcouncils + texturefile = gfx/interface/goals/LTH/lth_provincialcouncils.dds + } + spriteType = { + name = GFX_goal_lth_provincialcouncils_shine + texturefile = gfx/interface/goals/LTH/lth_provincialcouncils.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_provincialcouncils.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_provincialcouncils.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_publiccelebrations + texturefile = gfx/interface/goals/LTH/lth_publiccelebrations.dds + } + spriteType = { + name = GFX_goal_lth_publiccelebrations_shine + texturefile = gfx/interface/goals/LTH/lth_publiccelebrations.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_publiccelebrations.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_publiccelebrations.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_purityandbrilliance + texturefile = gfx/interface/goals/LTH/lth_purityandbrilliance.dds + } + spriteType = { + name = GFX_goal_lth_purityandbrilliance_shine + texturefile = gfx/interface/goals/LTH/lth_purityandbrilliance.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_purityandbrilliance.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_purityandbrilliance.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_queenofthedawn + texturefile = gfx/interface/goals/LTH/lth_queenofthedawn.dds + } + spriteType = { + name = GFX_goal_lth_queenofthedawn_shine + texturefile = gfx/interface/goals/LTH/lth_queenofthedawn.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_queenofthedawn.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_queenofthedawn.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_reassertcelebornslodrship + texturefile = gfx/interface/goals/LTH/lth_reassertcelebornslodrship.dds + } + spriteType = { + name = GFX_goal_lth_reassertcelebornslodrship_shine + texturefile = gfx/interface/goals/LTH/lth_reassertcelebornslodrship.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_reassertcelebornslodrship.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_reassertcelebornslodrship.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_reformmilitaryleadership + texturefile = gfx/interface/goals/LTH/lth_reformmilitaryleadership.dds + } + spriteType = { + name = GFX_goal_lth_reformmilitaryleadership_shine + texturefile = gfx/interface/goals/LTH/lth_reformmilitaryleadership.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_reformmilitaryleadership.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_reformmilitaryleadership.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_reformtaxcollection + texturefile = gfx/interface/goals/LTH/lth_reformtaxcollection.dds + } + spriteType = { + name = GFX_goal_lth_reformtaxcollection_shine + texturefile = gfx/interface/goals/LTH/lth_reformtaxcollection.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_reformtaxcollection.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_reformtaxcollection.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_refugeofdoriath + texturefile = gfx/interface/goals/LTH/lth_refugeofdoriath.dds + } + spriteType = { + name = GFX_goal_lth_refugeofdoriath_shine + texturefile = gfx/interface/goals/LTH/lth_refugeofdoriath.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_refugeofdoriath.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_refugeofdoriath.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_requestaseatonelrondscouncil + texturefile = gfx/interface/goals/LTH/lth_requestaseatonelrondscouncil.dds + } + spriteType = { + name = GFX_goal_lth_requestaseatonelrondscouncil_shine + texturefile = gfx/interface/goals/LTH/lth_requestaseatonelrondscouncil.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_requestaseatonelrondscouncil.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_requestaseatonelrondscouncil.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_researchcooperation + texturefile = gfx/interface/goals/LTH/lth_researchcooperation.dds + } + spriteType = { + name = GFX_goal_lth_researchcooperation_shine + texturefile = gfx/interface/goals/LTH/lth_researchcooperation.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_researchcooperation.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_researchcooperation.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_resistthedarkness + texturefile = gfx/interface/goals/LTH/lth_resistthedarkness.dds + } + spriteType = { + name = GFX_goal_lth_resistthedarkness_shine + texturefile = gfx/interface/goals/LTH/lth_resistthedarkness.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_resistthedarkness.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_resistthedarkness.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_resourcestorage + texturefile = gfx/interface/goals/LTH/lth_resourcestorage.dds + } + spriteType = { + name = GFX_goal_lth_resourcestorage_shine + texturefile = gfx/interface/goals/LTH/lth_resourcestorage.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_resourcestorage.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_resourcestorage.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_revivethewhitecouncil + texturefile = gfx/interface/goals/LTH/lth_revivethewhitecouncil.dds + } + spriteType = { + name = GFX_goal_lth_revivethewhitecouncil_shine + texturefile = gfx/interface/goals/LTH/lth_revivethewhitecouncil.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_revivethewhitecouncil.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_revivethewhitecouncil.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_ridersofthenaith + texturefile = gfx/interface/goals/LTH/lth_ridersofthenaith.dds + } + spriteType = { + name = GFX_goal_lth_ridersofthenaith_shine + texturefile = gfx/interface/goals/LTH/lth_ridersofthenaith.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_ridersofthenaith.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_ridersofthenaith.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_ringenchantments + texturefile = gfx/interface/goals/LTH/lth_ringenchantments.dds + } + spriteType = { + name = GFX_goal_lth_ringenchantments_shine + texturefile = gfx/interface/goals/LTH/lth_ringenchantments.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_ringenchantments.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_ringenchantments.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_sacredtreesofthenhail + texturefile = gfx/interface/goals/LTH/lth_sacredtreesofthenhail.dds + } + spriteType = { + name = GFX_goal_lth_sacredtreesofthenhail_shine + texturefile = gfx/interface/goals/LTH/lth_sacredtreesofthenhail.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_sacredtreesofthenhail.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_sacredtreesofthenhail.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_safeguardtheelves + texturefile = gfx/interface/goals/LTH/lth_safeguardtheelves.dds + } + spriteType = { + name = GFX_goal_lth_safeguardtheelves_shine + texturefile = gfx/interface/goals/LTH/lth_safeguardtheelves.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_safeguardtheelves.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_safeguardtheelves.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_safehaven + texturefile = gfx/interface/goals/LTH/lth_safehaven.dds + } + spriteType = { + name = GFX_goal_lth_safehaven_shine + texturefile = gfx/interface/goals/LTH/lth_safehaven.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_safehaven.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_safehaven.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_sealtheborders + texturefile = gfx/interface/goals/LTH/lth_sealtheborders.dds + } + spriteType = { + name = GFX_goal_lth_sealtheborders_shine + texturefile = gfx/interface/goals/LTH/lth_sealtheborders.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_sealtheborders.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_sealtheborders.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_seizetheonering + texturefile = gfx/interface/goals/LTH/lth_seizetheonering.dds + } + spriteType = { + name = GFX_goal_lth_seizetheonering_shine + texturefile = gfx/interface/goals/LTH/lth_seizetheonering.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_seizetheonering.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_seizetheonering.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_selectiveempowerement + texturefile = gfx/interface/goals/LTH/lth_selectiveempowerement.dds + } + spriteType = { + name = GFX_goal_lth_selectiveempowerement_shine + texturefile = gfx/interface/goals/LTH/lth_selectiveempowerement.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_selectiveempowerement.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_selectiveempowerement.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_sendadelegationtoerebor + texturefile = gfx/interface/goals/LTH/lth_sendadelegationtoerebor.dds + } + spriteType = { + name = GFX_goal_lth_sendadelegationtoerebor_shine + texturefile = gfx/interface/goals/LTH/lth_sendadelegationtoerebor.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_sendadelegationtoerebor.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_sendadelegationtoerebor.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_sendadelegationtogondor + texturefile = gfx/interface/goals/LTH/lth_sendadelegationtogondor.dds + } + spriteType = { + name = GFX_goal_lth_sendadelegationtogondor_shine + texturefile = gfx/interface/goals/LTH/lth_sendadelegationtogondor.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_sendadelegationtogondor.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_sendadelegationtogondor.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_sendaidtohelmsdeep + texturefile = gfx/interface/goals/LTH/lth_sendaidtohelmsdeep.dds + } + spriteType = { + name = GFX_goal_lth_sendaidtohelmsdeep_shine + texturefile = gfx/interface/goals/LTH/lth_sendaidtohelmsdeep.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_sendaidtohelmsdeep.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_sendaidtohelmsdeep.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_sendaidtominastirith + texturefile = gfx/interface/goals/LTH/lth_sendaidtominastirith.dds + } + spriteType = { + name = GFX_goal_lth_sendaidtominastirith_shine + texturefile = gfx/interface/goals/LTH/lth_sendaidtominastirith.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_sendaidtominastirith.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_sendaidtominastirith.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_senddelegationtomoria + texturefile = gfx/interface/goals/LTH/lth_senddelegationtomoria.dds + } + spriteType = { + name = GFX_goal_lth_senddelegationtomoria_shine + texturefile = gfx/interface/goals/LTH/lth_senddelegationtomoria.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_senddelegationtomoria.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_senddelegationtomoria.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_sentinelsofcerinamroth + texturefile = gfx/interface/goals/LTH/lth_sentinelsofcerinamroth.dds + } + spriteType = { + name = GFX_goal_lth_sentinelsofcerinamroth_shine + texturefile = gfx/interface/goals/LTH/lth_sentinelsofcerinamroth.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_sentinelsofcerinamroth.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_sentinelsofcerinamroth.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_sharedtrainingprograms + texturefile = gfx/interface/goals/LTH/lth_sharedtrainingprograms.dds + } + spriteType = { + name = GFX_goal_lth_sharedtrainingprograms_shine + texturefile = gfx/interface/goals/LTH/lth_sharedtrainingprograms.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_sharedtrainingprograms.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_sharedtrainingprograms.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_silvanelitewarriors + texturefile = gfx/interface/goals/LTH/lth_silvanelitewarriors.dds + } + spriteType = { + name = GFX_goal_lth_silvanelitewarriors_shine + texturefile = gfx/interface/goals/LTH/lth_silvanelitewarriors.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_silvanelitewarriors.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_silvanelitewarriors.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_silverthornarrows + texturefile = gfx/interface/goals/LTH/lth_silverthornarrows.dds + } + spriteType = { + name = GFX_goal_lth_silverthornarrows_shine + texturefile = gfx/interface/goals/LTH/lth_silverthornarrows.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_silverthornarrows.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_silverthornarrows.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_sindarpathstalkers + texturefile = gfx/interface/goals/LTH/lth_sindarpathstalkers.dds + } + spriteType = { + name = GFX_goal_lth_sindarpathstalkers_shine + texturefile = gfx/interface/goals/LTH/lth_sindarpathstalkers.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_sindarpathstalkers.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_sindarpathstalkers.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_skysoilandwater + texturefile = gfx/interface/goals/LTH/lth_skysoilandwater.dds + } + spriteType = { + name = GFX_goal_lth_skysoilandwater_shine + texturefile = gfx/interface/goals/LTH/lth_skysoilandwater.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_skysoilandwater.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_skysoilandwater.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_spidersofungoliant + texturefile = gfx/interface/goals/LTH/lth_spidersofungoliant.dds + } + spriteType = { + name = GFX_goal_lth_spidersofungoliant_shine + texturefile = gfx/interface/goals/LTH/lth_spidersofungoliant.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_spidersofungoliant.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_spidersofungoliant.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_standardizedweaponsresearch + texturefile = gfx/interface/goals/LTH/lth_standardizedweaponsresearch.dds + } + spriteType = { + name = GFX_goal_lth_standardizedweaponsresearch_shine + texturefile = gfx/interface/goals/LTH/lth_standardizedweaponsresearch.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_standardizedweaponsresearch.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_standardizedweaponsresearch.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_strengthenfortifications + texturefile = gfx/interface/goals/LTH/lth_strengthenfortifications.dds + } + spriteType = { + name = GFX_goal_lth_strengthenfortifications_shine + texturefile = gfx/interface/goals/LTH/lth_strengthenfortifications.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_strengthenfortifications.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_strengthenfortifications.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_supportmordorsenemies + texturefile = gfx/interface/goals/LTH/lth_supportmordorsenemies.dds + } + spriteType = { + name = GFX_goal_lth_supportmordorsenemies_shine + texturefile = gfx/interface/goals/LTH/lth_supportmordorsenemies.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_supportmordorsenemies.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_supportmordorsenemies.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_supportofthegreateagles + texturefile = gfx/interface/goals/LTH/lth_supportofthegreateagles.dds + } + spriteType = { + name = GFX_goal_lth_supportofthegreateagles_shine + texturefile = gfx/interface/goals/LTH/lth_supportofthegreateagles.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_supportofthegreateagles.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_supportofthegreateagles.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_supportthefellowship + texturefile = gfx/interface/goals/LTH/lth_supportthefellowship.dds + } + spriteType = { + name = GFX_goal_lth_supportthefellowship_shine + texturefile = gfx/interface/goals/LTH/lth_supportthefellowship.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_supportthefellowship.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_supportthefellowship.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_supportthegreycompany + texturefile = gfx/interface/goals/LTH/lth_supportthegreycompany.dds + } + spriteType = { + name = GFX_goal_lth_supportthegreycompany_shine + texturefile = gfx/interface/goals/LTH/lth_supportthegreycompany.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_supportthegreycompany.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_supportthegreycompany.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_tacklethedwarves + texturefile = gfx/interface/goals/LTH/lth_tacklethedwarves.dds + } + spriteType = { + name = GFX_goal_lth_tacklethedwarves_shine + texturefile = gfx/interface/goals/LTH/lth_tacklethedwarves.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_tacklethedwarves.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_tacklethedwarves.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_tackletherealmsofmen + texturefile = gfx/interface/goals/LTH/lth_tackletherealmsofmen.dds + } + spriteType = { + name = GFX_goal_lth_tackletherealmsofmen_shine + texturefile = gfx/interface/goals/LTH/lth_tackletherealmsofmen.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_tackletherealmsofmen.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_tackletherealmsofmen.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_tamingthewild + texturefile = gfx/interface/goals/LTH/lth_tamingthewild.dds + } + spriteType = { + name = GFX_goal_lth_tamingthewild_shine + texturefile = gfx/interface/goals/LTH/lth_tamingthewild.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_tamingthewild.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_tamingthewild.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_territorialadministration + texturefile = gfx/interface/goals/LTH/lth_territorialadministration.dds + } + spriteType = { + name = GFX_goal_lth_territorialadministration_shine + texturefile = gfx/interface/goals/LTH/lth_territorialadministration.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_territorialadministration.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_territorialadministration.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_territorialdefense + texturefile = gfx/interface/goals/LTH/lth_territorialdefense.dds + } + spriteType = { + name = GFX_goal_lth_territorialdefense_shine + texturefile = gfx/interface/goals/LTH/lth_territorialdefense.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_territorialdefense.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_territorialdefense.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_territorialintegration + texturefile = gfx/interface/goals/LTH/lth_territorialintegration.dds + } + spriteType = { + name = GFX_goal_lth_territorialintegration_shine + texturefile = gfx/interface/goals/LTH/lth_territorialintegration.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_territorialintegration.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_territorialintegration.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_thearchivesofagespast + texturefile = gfx/interface/goals/LTH/lth_thearchivesofagespast.dds + } + spriteType = { + name = GFX_goal_lth_thearchivesofagespast_shine + texturefile = gfx/interface/goals/LTH/lth_thearchivesofagespast.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_thearchivesofagespast.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_thearchivesofagespast.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_theburdensofleadership + texturefile = gfx/interface/goals/LTH/lth_theburdensofleadership.dds + } + spriteType = { + name = GFX_goal_lth_theburdensofleadership_shine + texturefile = gfx/interface/goals/LTH/lth_theburdensofleadership.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_theburdensofleadership.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_theburdensofleadership.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_thecallofvalinor + texturefile = gfx/interface/goals/LTH/lth_thecallofvalinor.dds + } + spriteType = { + name = GFX_goal_lth_thecallofvalinor_shine + texturefile = gfx/interface/goals/LTH/lth_thecallofvalinor.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_thecallofvalinor.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_thecallofvalinor.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_thechildrenofluthien + texturefile = gfx/interface/goals/LTH/lth_thechildrenofluthien.dds + } + spriteType = { + name = GFX_goal_lth_thechildrenofluthien_shine + texturefile = gfx/interface/goals/LTH/lth_thechildrenofluthien.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_thechildrenofluthien.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_thechildrenofluthien.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_thecouncilofquendi + texturefile = gfx/interface/goals/LTH/lth_thecouncilofquendi.dds + } + spriteType = { + name = GFX_goal_lth_thecouncilofquendi_shine + texturefile = gfx/interface/goals/LTH/lth_thecouncilofquendi.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_thecouncilofquendi.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_thecouncilofquendi.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_thedissolutionoftheelvennobility + texturefile = gfx/interface/goals/LTH/lth_thedissolutionoftheelvennobility.dds + } + spriteType = { + name = GFX_goal_lth_thedissolutionoftheelvennobility_shine + texturefile = gfx/interface/goals/LTH/lth_thedissolutionoftheelvennobility.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_thedissolutionoftheelvennobility.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_thedissolutionoftheelvennobility.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_theelvenalliance + texturefile = gfx/interface/goals/LTH/lth_theelvenalliance.dds + } + spriteType = { + name = GFX_goal_lth_theelvenalliance_shine + texturefile = gfx/interface/goals/LTH/lth_theelvenalliance.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_theelvenalliance.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_theelvenalliance.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_theelvenfleet + texturefile = gfx/interface/goals/LTH/lth_theelvenfleet.dds + } + spriteType = { + name = GFX_goal_lth_theelvenfleet_shine + texturefile = gfx/interface/goals/LTH/lth_theelvenfleet.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_theelvenfleet.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_theelvenfleet.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_theemissariesguild + texturefile = gfx/interface/goals/LTH/lth_theemissariesguild.dds + } + spriteType = { + name = GFX_goal_lth_theemissariesguild_shine + texturefile = gfx/interface/goals/LTH/lth_theemissariesguild.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_theemissariesguild.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_theemissariesguild.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_theenigmaofnenya + texturefile = gfx/interface/goals/LTH/lth_theenigmaofnenya.dds + } + spriteType = { + name = GFX_goal_lth_theenigmaofnenya_shine + texturefile = gfx/interface/goals/LTH/lth_theenigmaofnenya.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_theenigmaofnenya.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_theenigmaofnenya.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_theeternaldominion + texturefile = gfx/interface/goals/LTH/lth_theeternaldominion.dds + } + spriteType = { + name = GFX_goal_lth_theeternaldominion_shine + texturefile = gfx/interface/goals/LTH/lth_theeternaldominion.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_theeternaldominion.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_theeternaldominion.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_thefateofmortals + texturefile = gfx/interface/goals/LTH/lth_thefateofmortals.dds + } + spriteType = { + name = GFX_goal_lth_thefateofmortals_shine + texturefile = gfx/interface/goals/LTH/lth_thefateofmortals.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_thefateofmortals.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_thefateofmortals.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_thefestivalofunity + texturefile = gfx/interface/goals/LTH/lth_thefestivalofunity.dds + } + spriteType = { + name = GFX_goal_lth_thefestivalofunity_shine + texturefile = gfx/interface/goals/LTH/lth_thefestivalofunity.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_thefestivalofunity.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_thefestivalofunity.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_theforestbetween + texturefile = gfx/interface/goals/LTH/lth_theforestbetween.dds + } + spriteType = { + name = GFX_goal_lth_theforestbetween_shine + texturefile = gfx/interface/goals/LTH/lth_theforestbetween.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_theforestbetween.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_theforestbetween.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_thefortressofdolguldur + texturefile = gfx/interface/goals/LTH/lth_thefortressofdolguldur.dds + } + spriteType = { + name = GFX_goal_lth_thefortressofdolguldur_shine + texturefile = gfx/interface/goals/LTH/lth_thefortressofdolguldur.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_thefortressofdolguldur.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_thefortressofdolguldur.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_thegiftofservitude + texturefile = gfx/interface/goals/LTH/lth_thegiftofservitude.dds + } + spriteType = { + name = GFX_goal_lth_thegiftofservitude_shine + texturefile = gfx/interface/goals/LTH/lth_thegiftofservitude.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_thegiftofservitude.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_thegiftofservitude.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_thegirdleofmelian + texturefile = gfx/interface/goals/LTH/lth_thegirdleofmelian.dds + } + spriteType = { + name = GFX_goal_lth_thegirdleofmelian_shine + texturefile = gfx/interface/goals/LTH/lth_thegirdleofmelian.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_thegirdleofmelian.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_thegirdleofmelian.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_thegreatbeasts + texturefile = gfx/interface/goals/LTH/lth_thegreatbeasts.dds + } + spriteType = { + name = GFX_goal_lth_thegreatbeasts_shine + texturefile = gfx/interface/goals/LTH/lth_thegreatbeasts.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_thegreatbeasts.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_thegreatbeasts.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_thegreatschism + texturefile = gfx/interface/goals/LTH/lth_thegreatschism.dds + } + spriteType = { + name = GFX_goal_lth_thegreatschism_shine + texturefile = gfx/interface/goals/LTH/lth_thegreatschism.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_thegreatschism.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_thegreatschism.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_thehiddenrealm + texturefile = gfx/interface/goals/LTH/lth_thehiddenrealm.dds + } + spriteType = { + name = GFX_goal_lth_thehiddenrealm_shine + texturefile = gfx/interface/goals/LTH/lth_thehiddenrealm.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_thehiddenrealm.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_thehiddenrealm.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_theinfluenceofrivendell + texturefile = gfx/interface/goals/LTH/lth_theinfluenceofrivendell.dds + } + spriteType = { + name = GFX_goal_lth_theinfluenceofrivendell_shine + texturefile = gfx/interface/goals/LTH/lth_theinfluenceofrivendell.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_theinfluenceofrivendell.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_theinfluenceofrivendell.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_thelasteldar + texturefile = gfx/interface/goals/LTH/lth_thelasteldar.dds + } + spriteType = { + name = GFX_goal_lth_thelasteldar_shine + texturefile = gfx/interface/goals/LTH/lth_thelasteldar.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_thelasteldar.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_thelasteldar.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_thelaststand + texturefile = gfx/interface/goals/LTH/lth_thelaststand.dds + } + spriteType = { + name = GFX_goal_lth_thelaststand_shine + texturefile = gfx/interface/goals/LTH/lth_thelaststand.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_thelaststand.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_thelaststand.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_thelibraryofcarasgaladhon + texturefile = gfx/interface/goals/LTH/lth_thelibraryofcarasgaladhon.dds + } + spriteType = { + name = GFX_goal_lth_thelibraryofcarasgaladhon_shine + texturefile = gfx/interface/goals/LTH/lth_thelibraryofcarasgaladhon.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_thelibraryofcarasgaladhon.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_thelibraryofcarasgaladhon.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_theminesofmoria + texturefile = gfx/interface/goals/LTH/lth_theminesofmoria.dds + } + spriteType = { + name = GFX_goal_lth_theminesofmoria_shine + texturefile = gfx/interface/goals/LTH/lth_theminesofmoria.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_theminesofmoria.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_theminesofmoria.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_thenandorheritage + texturefile = gfx/interface/goals/LTH/lth_thenandorheritage.dds + } + spriteType = { + name = GFX_goal_lth_thenandorheritage_shine + texturefile = gfx/interface/goals/LTH/lth_thenandorheritage.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_thenandorheritage.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_thenandorheritage.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_theneworder + texturefile = gfx/interface/goals/LTH/lth_theneworder.dds + } + spriteType = { + name = GFX_goal_lth_theneworder_shine + texturefile = gfx/interface/goals/LTH/lth_theneworder.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_theneworder.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_theneworder.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_thenoldorelite + texturefile = gfx/interface/goals/LTH/lth_thenoldorelite.dds + } + spriteType = { + name = GFX_goal_lth_thenoldorelite_shine + texturefile = gfx/interface/goals/LTH/lth_thenoldorelite.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_thenoldorelite.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_thenoldorelite.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_theoathoffeanor + texturefile = gfx/interface/goals/LTH/lth_theoathoffeanor.dds + } + spriteType = { + name = GFX_goal_lth_theoathoffeanor_shine + texturefile = gfx/interface/goals/LTH/lth_theoathoffeanor.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_theoathoffeanor.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_theoathoffeanor.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_theonodrimoffangorn + texturefile = gfx/interface/goals/LTH/lth_theonodrimoffangorn.dds + } + spriteType = { + name = GFX_goal_lth_theonodrimoffangorn_shine + texturefile = gfx/interface/goals/LTH/lth_theonodrimoffangorn.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_theonodrimoffangorn.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_theonodrimoffangorn.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_theopendoorsedict + texturefile = gfx/interface/goals/LTH/lth_theopendoorsedict.dds + } + spriteType = { + name = GFX_goal_lth_theopendoorsedict_shine + texturefile = gfx/interface/goals/LTH/lth_theopendoorsedict.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_theopendoorsedict.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_theopendoorsedict.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_theorcrightsdebate + texturefile = gfx/interface/goals/LTH/lth_theorcrightsdebate.dds + } + spriteType = { + name = GFX_goal_lth_theorcrightsdebate_shine + texturefile = gfx/interface/goals/LTH/lth_theorcrightsdebate.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_theorcrightsdebate.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_theorcrightsdebate.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_thepeasantassembly + texturefile = gfx/interface/goals/LTH/lth_thepeasantassembly.dds + } + spriteType = { + name = GFX_goal_lth_thepeasantassembly_shine + texturefile = gfx/interface/goals/LTH/lth_thepeasantassembly.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_thepeasantassembly.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_thepeasantassembly.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_thepriviledgeofmembership + texturefile = gfx/interface/goals/LTH/lth_thepriviledgeofmembership.dds + } + spriteType = { + name = GFX_goal_lth_thepriviledgeofmembership_shine + texturefile = gfx/interface/goals/LTH/lth_thepriviledgeofmembership.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_thepriviledgeofmembership.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_thepriviledgeofmembership.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_thequeensguard + texturefile = gfx/interface/goals/LTH/lth_thequeensguard.dds + } + spriteType = { + name = GFX_goal_lth_thequeensguard_shine + texturefile = gfx/interface/goals/LTH/lth_thequeensguard.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_thequeensguard.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_thequeensguard.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_thereawakening + texturefile = gfx/interface/goals/LTH/lth_thereawakening.dds + } + spriteType = { + name = GFX_goal_lth_thereawakening_shine + texturefile = gfx/interface/goals/LTH/lth_thereawakening.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_thereawakening.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_thereawakening.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_thesentinelnetwork + texturefile = gfx/interface/goals/LTH/lth_thesentinelnetwork.dds + } + spriteType = { + name = GFX_goal_lth_thesentinelnetwork_shine + texturefile = gfx/interface/goals/LTH/lth_thesentinelnetwork.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_thesentinelnetwork.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_thesentinelnetwork.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_theshadowswhisper + texturefile = gfx/interface/goals/LTH/lth_theshadowswhisper.dds + } + spriteType = { + name = GFX_goal_lth_theshadowswhisper_shine + texturefile = gfx/interface/goals/LTH/lth_theshadowswhisper.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_theshadowswhisper.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_theshadowswhisper.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_thesongofnimrodel + texturefile = gfx/interface/goals/LTH/lth_thesongofnimrodel.dds + } + spriteType = { + name = GFX_goal_lth_thesongofnimrodel_shine + texturefile = gfx/interface/goals/LTH/lth_thesongofnimrodel.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_thesongofnimrodel.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_thesongofnimrodel.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_thesupremeleader + texturefile = gfx/interface/goals/LTH/lth_thesupremeleader.dds + } + spriteType = { + name = GFX_goal_lth_thesupremeleader_shine + texturefile = gfx/interface/goals/LTH/lth_thesupremeleader.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_thesupremeleader.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_thesupremeleader.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_thetwilightgarden + texturefile = gfx/interface/goals/LTH/lth_thetwilightgarden.dds + } + spriteType = { + name = GFX_goal_lth_thetwilightgarden_shine + texturefile = gfx/interface/goals/LTH/lth_thetwilightgarden.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_thetwilightgarden.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_thetwilightgarden.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_thetwinheartsoflothlorien + texturefile = gfx/interface/goals/LTH/lth_thetwinheartsoflothlorien.dds + } + spriteType = { + name = GFX_goal_lth_thetwinheartsoflothlorien_shine + texturefile = gfx/interface/goals/LTH/lth_thetwinheartsoflothlorien.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_thetwinheartsoflothlorien.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_thetwinheartsoflothlorien.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_theunholyalliance + texturefile = gfx/interface/goals/LTH/lth_theunholyalliance.dds + } + spriteType = { + name = GFX_goal_lth_theunholyalliance_shine + texturefile = gfx/interface/goals/LTH/lth_theunholyalliance.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_theunholyalliance.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_theunholyalliance.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_theuntreadedpath + texturefile = gfx/interface/goals/LTH/lth_theuntreadedpath.dds + } + spriteType = { + name = GFX_goal_lth_theuntreadedpath_shine + texturefile = gfx/interface/goals/LTH/lth_theuntreadedpath.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_theuntreadedpath.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_theuntreadedpath.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_thewizardswisdom + texturefile = gfx/interface/goals/LTH/lth_thewizardswisdom.dds + } + spriteType = { + name = GFX_goal_lth_thewizardswisdom_shine + texturefile = gfx/interface/goals/LTH/lth_thewizardswisdom.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_thewizardswisdom.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_thewizardswisdom.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_tieswiththerohirrim + texturefile = gfx/interface/goals/LTH/lth_tieswiththerohirrim.dds + } + spriteType = { + name = GFX_goal_lth_tieswiththerohirrim_shine + texturefile = gfx/interface/goals/LTH/lth_tieswiththerohirrim.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_tieswiththerohirrim.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_tieswiththerohirrim.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_totalisoltation + texturefile = gfx/interface/goals/LTH/lth_totalisoltation.dds + } + spriteType = { + name = GFX_goal_lth_totalisoltation_shine + texturefile = gfx/interface/goals/LTH/lth_totalisoltation.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_totalisoltation.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_totalisoltation.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_trackdowndurinsbane + texturefile = gfx/interface/goals/LTH/lth_trackdowndurinsbane.dds + } + spriteType = { + name = GFX_goal_lth_trackdowndurinsbane_shine + texturefile = gfx/interface/goals/LTH/lth_trackdowndurinsbane.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_trackdowndurinsbane.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_trackdowndurinsbane.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_tradeagreements + texturefile = gfx/interface/goals/LTH/lth_tradeagreements.dds + } + spriteType = { + name = GFX_goal_lth_tradeagreements_shine + texturefile = gfx/interface/goals/LTH/lth_tradeagreements.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_tradeagreements.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_tradeagreements.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_turnlindon + texturefile = gfx/interface/goals/LTH/lth_turnlindon.dds + } + spriteType = { + name = GFX_goal_lth_turnlindon_shine + texturefile = gfx/interface/goals/LTH/lth_turnlindon.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_turnlindon.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_turnlindon.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_turnmirkwood + texturefile = gfx/interface/goals/LTH/lth_turnmirkwood.dds + } + spriteType = { + name = GFX_goal_lth_turnmirkwood_shine + texturefile = gfx/interface/goals/LTH/lth_turnmirkwood.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_turnmirkwood.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_turnmirkwood.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_turnrivendell + texturefile = gfx/interface/goals/LTH/lth_turnrivendell.dds + } + spriteType = { + name = GFX_goal_lth_turnrivendell_shine + texturefile = gfx/interface/goals/LTH/lth_turnrivendell.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_turnrivendell.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_turnrivendell.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_tworingsbecomethone + texturefile = gfx/interface/goals/LTH/lth_tworingsbecomethone.dds + } + spriteType = { + name = GFX_goal_lth_tworingsbecomethone_shine + texturefile = gfx/interface/goals/LTH/lth_tworingsbecomethone.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_tworingsbecomethone.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_tworingsbecomethone.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_unionofequals + texturefile = gfx/interface/goals/LTH/lth_unionofequals.dds + } + spriteType = { + name = GFX_goal_lth_unionofequals_shine + texturefile = gfx/interface/goals/LTH/lth_unionofequals.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_unionofequals.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_unionofequals.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_unitethecause + texturefile = gfx/interface/goals/LTH/lth_unitethecause.dds + } + spriteType = { + name = GFX_goal_lth_unitethecause_shine + texturefile = gfx/interface/goals/LTH/lth_unitethecause.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_unitethecause.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_unitethecause.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_unitethefactions + texturefile = gfx/interface/goals/LTH/lth_unitethefactions.dds + } + spriteType = { + name = GFX_goal_lth_unitethefactions_shine + texturefile = gfx/interface/goals/LTH/lth_unitethefactions.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_unitethefactions.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_unitethefactions.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_unityindivision + texturefile = gfx/interface/goals/LTH/lth_unityindivision.dds + } + spriteType = { + name = GFX_goal_lth_unityindivision_shine + texturefile = gfx/interface/goals/LTH/lth_unityindivision.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_unityindivision.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_unityindivision.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_unlikelyallies + texturefile = gfx/interface/goals/LTH/lth_unlikelyallies.dds + } + spriteType = { + name = GFX_goal_lth_unlikelyallies_shine + texturefile = gfx/interface/goals/LTH/lth_unlikelyallies.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_unlikelyallies.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_unlikelyallies.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_urbancouncils + texturefile = gfx/interface/goals/LTH/lth_urbancouncils.dds + } + spriteType = { + name = GFX_goal_lth_urbancouncils_shine + texturefile = gfx/interface/goals/LTH/lth_urbancouncils.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_urbancouncils.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_urbancouncils.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_valesofanduin + texturefile = gfx/interface/goals/LTH/lth_valesofanduin.dds + } + spriteType = { + name = GFX_goal_lth_valesofanduin_shine + texturefile = gfx/interface/goals/LTH/lth_valesofanduin.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_valesofanduin.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_valesofanduin.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_wanderersofnandor + texturefile = gfx/interface/goals/LTH/lth_wanderersofnandor.dds + } + spriteType = { + name = GFX_goal_lth_wanderersofnandor_shine + texturefile = gfx/interface/goals/LTH/lth_wanderersofnandor.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_wanderersofnandor.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_wanderersofnandor.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_watersofhealing + texturefile = gfx/interface/goals/LTH/lth_watersofhealing.dds + } + spriteType = { + name = GFX_goal_lth_watersofhealing_shine + texturefile = gfx/interface/goals/LTH/lth_watersofhealing.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_watersofhealing.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_watersofhealing.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_wisdomofeluthingol + texturefile = gfx/interface/goals/LTH/lth_wisdomofeluthingol.dds + } + spriteType = { + name = GFX_goal_lth_wisdomofeluthingol_shine + texturefile = gfx/interface/goals/LTH/lth_wisdomofeluthingol.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_wisdomofeluthingol.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_wisdomofeluthingol.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_wrathoftheforests + texturefile = gfx/interface/goals/LTH/lth_wrathoftheforests.dds + } + spriteType = { + name = GFX_goal_lth_wrathoftheforests_shine + texturefile = gfx/interface/goals/LTH/lth_wrathoftheforests.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_wrathoftheforests.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_wrathoftheforests.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_lth_yavannasblessings + texturefile = gfx/interface/goals/LTH/lth_yavannasblessings.dds + } + spriteType = { + name = GFX_goal_lth_yavannasblessings_shine + texturefile = gfx/interface/goals/LTH/lth_yavannasblessings.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_yavannasblessings.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/LTH/lth_yavannasblessings.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_GFX_goal_skull_treaty + texturefile = gfx/interface/goals/MOR/GFX_goal_skull_treaty.dds + } + spriteType = { + name = GFX_goal_GFX_goal_skull_treaty_shine + texturefile = gfx/interface/goals/MOR/GFX_goal_skull_treaty.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/MOR/GFX_goal_skull_treaty.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/MOR/GFX_goal_skull_treaty.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_mor_encroach_on_ithilien + texturefile = gfx/interface/goals/MOR/mor_encroach_on_ithilien.dds + } + spriteType = { + name = GFX_goal_mor_encroach_on_ithilien_shine + texturefile = gfx/interface/goals/MOR/mor_encroach_on_ithilien.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/MOR/mor_encroach_on_ithilien.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/MOR/mor_encroach_on_ithilien.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_mor_escalate_the_attacks + texturefile = gfx/interface/goals/MOR/mor_escalate_the_attacks.dds + } + spriteType = { + name = GFX_goal_mor_escalate_the_attacks_shine + texturefile = gfx/interface/goals/MOR/mor_escalate_the_attacks.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/MOR/mor_escalate_the_attacks.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/MOR/mor_escalate_the_attacks.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + + spriteType = { + name = GFX_goal_mor_second_wave + texturefile = gfx/interface/goals/MOR/mor_second_wave.dds + } + spriteType = { + name = GFX_goal_mor_second_wave_shine + texturefile = gfx/interface/goals/MOR/mor_second_wave.dds + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = gfx/interface/goals/MOR/mor_second_wave.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = gfx/interface/goals/MOR/mor_second_wave.dds + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } + +} diff --git a/interface/auto_generated/lotr_mios.gfx b/interface/auto_generated/lotr_mios.gfx new file mode 100644 index 000000000..712dd7ded --- /dev/null +++ b/interface/auto_generated/lotr_mios.gfx @@ -0,0 +1,923 @@ +spriteTypes = { + # This file was auto-generated by GFX-Maker.py + spriteType = { + name = "GFX_mio_generic_1" + texturefile = "gfx/interface/military_industrial_organization/emblems/mio_generic_1.dds" + } + + spriteType = { + name = "GFX_mio_generic_2" + texturefile = "gfx/interface/military_industrial_organization/emblems/mio_generic_2.dds" + } + + spriteType = { + name = "GFX_mio_generic_3" + texturefile = "gfx/interface/military_industrial_organization/emblems/mio_generic_3.dds" + } + + spriteType = { + name = "GFX_mio_generic_4" + texturefile = "gfx/interface/military_industrial_organization/emblems/mio_generic_4.dds" + } + + spriteType = { + name = "GFX_mio_generic_5" + texturefile = "gfx/interface/military_industrial_organization/emblems/mio_generic_5.dds" + } + + spriteType = { + name = "GFX_mio_generic_6" + texturefile = "gfx/interface/military_industrial_organization/emblems/mio_generic_6.dds" + } + + spriteType = { + name = "GFX_mio_generic_7" + texturefile = "gfx/interface/military_industrial_organization/emblems/mio_generic_7.dds" + } + + spriteType = { + name = "GFX_mio_generic_8" + texturefile = "gfx/interface/military_industrial_organization/emblems/mio_generic_8.dds" + } + + spriteType = { + name = "GFX_mio_generic_9" + texturefile = "gfx/interface/military_industrial_organization/emblems/mio_generic_9.dds" + } + + spriteType = { + name = "GFX_mio_generic_alchemists_1" + texturefile = "gfx/interface/military_industrial_organization/emblems/mio_generic_alchemists_1.dds" + } + + spriteType = { + name = "GFX_mio_generic_alchemists_2" + texturefile = "gfx/interface/military_industrial_organization/emblems/mio_generic_alchemists_2.dds" + } + + spriteType = { + name = "GFX_mio_generic_alchemists_3" + texturefile = "gfx/interface/military_industrial_organization/emblems/mio_generic_alchemists_3.dds" + } + + spriteType = { + name = "GFX_mio_generic_archers_1" + texturefile = "gfx/interface/military_industrial_organization/emblems/mio_generic_archers_1.dds" + } + + spriteType = { + name = "GFX_mio_generic_archers_2" + texturefile = "gfx/interface/military_industrial_organization/emblems/mio_generic_archers_2.dds" + } + + spriteType = { + name = "GFX_mio_generic_archers_3" + texturefile = "gfx/interface/military_industrial_organization/emblems/mio_generic_archers_3.dds" + } + + spriteType = { + name = "GFX_mio_generic_blacksmith_1" + texturefile = "gfx/interface/military_industrial_organization/emblems/mio_generic_blacksmith_1.dds" + } + + spriteType = { + name = "GFX_mio_generic_blacksmith_2" + texturefile = "gfx/interface/military_industrial_organization/emblems/mio_generic_blacksmith_2.dds" + } + + spriteType = { + name = "GFX_mio_generic_farming_1" + texturefile = "gfx/interface/military_industrial_organization/emblems/mio_generic_farming_1.dds" + } + + spriteType = { + name = "GFX_mio_generic_farming_2" + texturefile = "gfx/interface/military_industrial_organization/emblems/mio_generic_farming_2.dds" + } + + spriteType = { + name = "GFX_mio_generic_farming_3" + texturefile = "gfx/interface/military_industrial_organization/emblems/mio_generic_farming_3.dds" + } + + spriteType = { + name = "GFX_mio_generic_horse_1" + texturefile = "gfx/interface/military_industrial_organization/emblems/mio_generic_horse_1.dds" + } + + spriteType = { + name = "GFX_mio_generic_horse_2" + texturefile = "gfx/interface/military_industrial_organization/emblems/mio_generic_horse_2.dds" + } + + spriteType = { + name = "GFX_mio_generic_hunters_1" + texturefile = "gfx/interface/military_industrial_organization/emblems/mio_generic_hunters_1.dds" + } + + spriteType = { + name = "GFX_mio_generic_hunters_2" + texturefile = "gfx/interface/military_industrial_organization/emblems/mio_generic_hunters_2.dds" + } + + spriteType = { + name = "GFX_mio_generic_knights_1" + texturefile = "gfx/interface/military_industrial_organization/emblems/mio_generic_knights_1.dds" + } + + spriteType = { + name = "GFX_mio_generic_knights_2" + texturefile = "gfx/interface/military_industrial_organization/emblems/mio_generic_knights_2.dds" + } + + spriteType = { + name = "GFX_mio_generic_orc_1" + texturefile = "gfx/interface/military_industrial_organization/emblems/mio_generic_orc_1.dds" + } + + spriteType = { + name = "GFX_mio_generic_orc_2" + texturefile = "gfx/interface/military_industrial_organization/emblems/mio_generic_orc_2.dds" + } + + spriteType = { + name = "GFX_mio_generic_orc_3" + texturefile = "gfx/interface/military_industrial_organization/emblems/mio_generic_orc_3.dds" + } + + spriteType = { + name = "GFX_mio_generic_orc_4" + texturefile = "gfx/interface/military_industrial_organization/emblems/mio_generic_orc_4.dds" + } + + spriteType = { + name = "GFX_mio_generic_ships_1" + texturefile = "gfx/interface/military_industrial_organization/emblems/mio_generic_ships_1.dds" + } + + spriteType = { + name = "GFX_mio_generic_ships_2" + texturefile = "gfx/interface/military_industrial_organization/emblems/mio_generic_ships_2.dds" + } + + spriteType = { + name = "GFX_mio_generic_wood_1" + texturefile = "gfx/interface/military_industrial_organization/emblems/mio_generic_wood_1.dds" + } + + spriteType = { + name = "GFX_mio_nandor" + texturefile = "gfx/interface/military_industrial_organization/emblems/mio_nandor.dds" + } + + spriteType = { + name = "GFX_mio_noldor" + texturefile = "gfx/interface/military_industrial_organization/emblems/mio_noldor.dds" + } + + spriteType = { + name = "GFX_mio_peredhil" + texturefile = "gfx/interface/military_industrial_organization/emblems/mio_peredhil.dds" + } + + spriteType = { + name = "GFX_mio_sindar" + texturefile = "gfx/interface/military_industrial_organization/emblems/mio_sindar.dds" + } + + spriteType = { + name = "GFX_mio_policy_bare_minimum" + texturefile = "gfx/interface/military_industrial_organization/policies/mio_policy_bare_minimum.dds" + } + + spriteType = { + name = "GFX_mio_policy_by_the_people_for_the_people" + texturefile = "gfx/interface/military_industrial_organization/policies/mio_policy_by_the_people_for_the_people.dds" + } + + spriteType = { + name = "GFX_mio_policy_casting_specialists" + texturefile = "gfx/interface/military_industrial_organization/policies/mio_policy_casting_specialists.dds" + } + + spriteType = { + name = "GFX_mio_policy_coastal_fleet" + texturefile = "gfx/interface/military_industrial_organization/policies/mio_policy_coastal_fleet.dds" + } + + spriteType = { + name = "GFX_mio_policy_cutting_corners" + texturefile = "gfx/interface/military_industrial_organization/policies/mio_policy_cutting_corners.dds" + } + + spriteType = { + name = "GFX_mio_policy_defensive_focus" + texturefile = "gfx/interface/military_industrial_organization/policies/mio_policy_defensive_focus.dds" + } + + spriteType = { + name = "GFX_mio_policy_eagle" + texturefile = "gfx/interface/military_industrial_organization/policies/mio_policy_eagle.dds" + } + + spriteType = { + name = "GFX_mio_policy_fellbeast" + texturefile = "gfx/interface/military_industrial_organization/policies/mio_policy_fellbeast.dds" + } + + spriteType = { + name = "GFX_mio_policy_great_seas_fleet" + texturefile = "gfx/interface/military_industrial_organization/policies/mio_policy_great_seas_fleet.dds" + } + + spriteType = { + name = "GFX_mio_policy_harsh_labour_quotas" + texturefile = "gfx/interface/military_industrial_organization/policies/mio_policy_harsh_labour_quotas.dds" + } + + spriteType = { + name = "GFX_mio_policy_inflated_funds" + texturefile = "gfx/interface/military_industrial_organization/policies/mio_policy_inflated_funds.dds" + } + + spriteType = { + name = "GFX_mio_policy_lightweight_materials" + texturefile = "gfx/interface/military_industrial_organization/policies/mio_policy_lightweight_materials.dds" + } + + spriteType = { + name = "GFX_mio_policy_offensive_focus" + texturefile = "gfx/interface/military_industrial_organization/policies/mio_policy_offensive_focus.dds" + } + + spriteType = { + name = "GFX_mio_policy_pedantic_perfectionism" + texturefile = "gfx/interface/military_industrial_organization/policies/mio_policy_pedantic_perfectionism.dds" + } + + spriteType = { + name = "GFX_mio_policy_prosperous_exchange" + texturefile = "gfx/interface/military_industrial_organization/policies/mio_policy_prosperous_exchange.dds" + } + + spriteType = { + name = "GFX_mio_policy_raiding_fleet" + texturefile = "gfx/interface/military_industrial_organization/policies/mio_policy_raiding_fleet.dds" + } + + spriteType = { + name = "GFX_mio_policy_raw_materials_management" + texturefile = "gfx/interface/military_industrial_organization/policies/mio_policy_raw_materials_management.dds" + } + + spriteType = { + name = "GFX_mio_policy_ruthless_contracts" + texturefile = "gfx/interface/military_industrial_organization/policies/mio_policy_ruthless_contracts.dds" + } + + spriteType = { + name = "GFX_mio_policy_technological_edge" + texturefile = "gfx/interface/military_industrial_organization/policies/mio_policy_technological_edge.dds" + } + + spriteType = { + name = "GFX_mio_policy_vertical_integration" + texturefile = "gfx/interface/military_industrial_organization/policies/mio_policy_vertical_integration.dds" + } + + spriteType = { + name = "GFX_generic_mio_armored_cav" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_armored_cav.dds" + } + + spriteType = { + name = "GFX_generic_mio_keyring" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_keyring.dds" + } + + spriteType = { + name = "GFX_generic_mio_man_at_arms" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_man_at_arms.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_agricultre" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_agricultre.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_alchemy" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_alchemy.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_anchor" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_anchor.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_archer" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_archer.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_armor" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_armor.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_armor_2" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_armor_2.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_ballista" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_ballista.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_banner" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_banner.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_blueprint" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_blueprint.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_book" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_book.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_bookstack" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_bookstack.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_bow" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_bow.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_carpentry" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_carpentry.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_chainmail" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_chainmail.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_cloth_roll" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_cloth_roll.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_corvus" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_corvus.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_counterweight" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_counterweight.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_crane" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_crane.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_crossbow" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_crossbow.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_crossbow_2" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_crossbow_2.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_dhow" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_dhow.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_drill" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_drill.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_drydock" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_drydock.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_eagle" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_eagle.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_engraving" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_engraving.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_equipment" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_equipment.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_explosion" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_explosion.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_falcon" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_falcon.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_feather" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_feather.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_fertility" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_fertility.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_fish" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_fish.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_fisher" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_fisher.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_flamethrower" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_flamethrower.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_fletching" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_fletching.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_folded_steel" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_folded_steel.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_galley" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_galley.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_gambeson" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_gambeson.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_handle" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_handle.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_heart" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_heart.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_heating" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_heating.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_hinge" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_hinge.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_horse" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_horse.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_horsearmor" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_horsearmor.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_horse_quiet" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_horse_quiet.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_icon_air_agility" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_icon_air_agility.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_icon_armor_value" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_icon_armor_value.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_icon_batteries_hit_chance" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_icon_batteries_hit_chance.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_icon_breakthrough" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_icon_breakthrough.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_icon_build_cost_ic" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_icon_build_cost_ic.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_icon_conversion_speed" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_icon_conversion_speed.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_icon_defense" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_icon_defense.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_icon_efficiency_cap" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_icon_efficiency_cap.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_icon_efficiency_gain" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_icon_efficiency_gain.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_icon_entrenchment" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_icon_entrenchment.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_icon_fuel_consumption" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_icon_fuel_consumption.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_icon_hardness" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_icon_hardness.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_icon_maximum_speed" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_icon_maximum_speed.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_icon_max_strength" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_icon_max_strength.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_icon_naval_range" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_icon_naval_range.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_icon_naval_strike_targetting" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_icon_naval_strike_targetting.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_icon_night_penalty" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_icon_night_penalty.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_icon_production_capacity" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_icon_production_capacity.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_icon_reliability" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_icon_reliability.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_icon_resources" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_icon_resources.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_icon_soft_attack" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_icon_soft_attack.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_icon_supply_consumption" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_icon_supply_consumption.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_icon_unique" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_icon_unique.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_icon_weight" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_icon_weight.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_knife" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_knife.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_knight" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_knight.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_kriegsmesser" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_kriegsmesser.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_leather" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_leather.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_liquid" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_liquid.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_longship" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_longship.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_machine" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_machine.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_magic_stone" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_magic_stone.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_mast" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_mast.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_mechanism" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_mechanism.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_minecart" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_minecart.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_mineral_examine" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_mineral_examine.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_money" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_money.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_multilevel_ship" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_multilevel_ship.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_multisail_ship" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_multisail_ship.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_munition_armor" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_munition_armor.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_oars" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_oars.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_pasture" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_pasture.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_pickaxe" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_pickaxe.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_plow" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_plow.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_produce" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_produce.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_quench" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_quench.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_quill" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_quill.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_ranger" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_ranger.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_raw_gemstone" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_raw_gemstone.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_rider_archer" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_rider_archer.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_rider_bond" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_rider_bond.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_rider_javelin" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_rider_javelin.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_rider_scout" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_rider_scout.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_rock" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_rock.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_rock2" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_rock2.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_saddle" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_saddle.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_saw" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_saw.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_scope" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_scope.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_ship_hull" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_ship_hull.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_shroom" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_shroom.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_sorcery" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_sorcery.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_spear" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_spear.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_springald" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_springald.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_steel" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_steel.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_string" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_string.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_sword" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_sword.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_sword_2" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_sword_2.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_sword_curved" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_sword_curved.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_sword_guard" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_sword_guard.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_trap" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_trap.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_wagon" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_wagon.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_water" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_water.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_wheat" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_wheat.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_wheat2" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_wheat2.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_winter_hut" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_winter_hut.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_wizard_hat" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_wizard_hat.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_wood" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_wood.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_wood_joint" + texturefile = "gfx/interface/military_industrial_organization/traits/generic_mio_trait_wood_joint.dds" + } + + spriteType = { + name = "GFX_trait_unknown" + texturefile = "gfx/interface/military_industrial_organization/traits/trait_unknown.dds" + } + + spriteType = { + name = "GFX__mask" + texturefile = "gfx/interface/military_industrial_organization/traits/_mask.dds" + } + +} diff --git a/interface/auto_generated/lotr_state_modifiers.gfx b/interface/auto_generated/lotr_state_modifiers.gfx new file mode 100644 index 000000000..0887b2530 --- /dev/null +++ b/interface/auto_generated/lotr_state_modifiers.gfx @@ -0,0 +1,28 @@ +spriteTypes = { + # This file was auto-generated by GFX-Maker.py + spriteType = { + name = "GFX_balrog_state_modifier" + texturefile = "gfx/interface/state_modifiers/balrog_state_modifier.dds" + } + + spriteType = { + name = "GFX_consecrated_land_state_modifier" + texturefile = "gfx/interface/state_modifiers/consecrated_land_state_modifier.dds" + } + + spriteType = { + name = "GFX_nenya_enchantment_state_modifier" + texturefile = "gfx/interface/state_modifiers/nenya_enchantment_state_modifier.dds" + } + + spriteType = { + name = "GFX_orc_raiding_state_modifier" + texturefile = "gfx/interface/state_modifiers/orc_raiding_state_modifier.dds" + } + + spriteType = { + name = "GFX_orc_state_modifier" + texturefile = "gfx/interface/state_modifiers/orc_state_modifier.dds" + } + +} diff --git a/interface/auto_generated/lotr_traits.gfx b/interface/auto_generated/lotr_traits.gfx new file mode 100644 index 000000000..5db36cfc2 --- /dev/null +++ b/interface/auto_generated/lotr_traits.gfx @@ -0,0 +1,58 @@ +spriteTypes = { + # This file was auto-generated by GFX-Maker.py + spriteType = { + name = "GFX_trait_forest_skirmisher" + texturefile = "gfx/interface/traits/forest_skirmisher.dds" + } + + spriteType = { + name = "GFX_trait_galadriels_blessing_trait" + texturefile = "gfx/interface/traits/galadriels_blessing_trait.dds" + } + + spriteType = { + name = "GFX_trait_halfelves_trait" + texturefile = "gfx/interface/traits/halfelves_trait.dds" + } + + spriteType = { + name = "GFX_trait_mirrors_chosen" + texturefile = "gfx/interface/traits/mirrors_chosen.dds" + } + + spriteType = { + name = "GFX_trait_mirrors_doomed" + texturefile = "gfx/interface/traits/mirrors_doomed.dds" + } + + spriteType = { + name = "GFX_trait_nandor_trait" + texturefile = "gfx/interface/traits/nandor_trait.dds" + } + + spriteType = { + name = "GFX_trait_noldor_trait" + texturefile = "gfx/interface/traits/noldor_trait.dds" + } + + spriteType = { + name = "GFX_trait_nonelves_trait" + texturefile = "gfx/interface/traits/nonelves_trait.dds" + } + + spriteType = { + name = "GFX_trait_orcs_trait" + texturefile = "gfx/interface/traits/orcs_trait.dds" + } + + spriteType = { + name = "GFX_trait_river_specialist" + texturefile = "gfx/interface/traits/river_specialist.dds" + } + + spriteType = { + name = "GFX_trait_sindar_trait" + texturefile = "gfx/interface/traits/sindar_trait.dds" + } + +} diff --git a/interface/auto_generated/newseventpictures.gfx b/interface/auto_generated/newseventpictures.gfx new file mode 100644 index 000000000..982c7a619 --- /dev/null +++ b/interface/auto_generated/newseventpictures.gfx @@ -0,0 +1,82 @@ +spriteTypes = { + # This file was auto-generated by the GFX-Maker.py + spriteType = { name = "GFX_news_event_3rd_breakfast" texturefile = "gfx/event_pictures/news_events/news_event_3rd_breakfast.dds" } + spriteType = { name = "GFX_news_event_angmar" texturefile = "gfx/event_pictures/news_events/news_event_angmar.dds" } + spriteType = { name = "GFX_news_event_balrog" texturefile = "gfx/event_pictures/news_events/news_event_balrog.dds" } + spriteType = { name = "GFX_news_event_bilbo" texturefile = "gfx/event_pictures/news_events/news_event_bilbo.dds" } + spriteType = { name = "GFX_news_event_boromir_dead" texturefile = "gfx/event_pictures/news_events/news_event_boromir_dead.dds" } + spriteType = { name = "GFX_news_event_carn_dum" texturefile = "gfx/event_pictures/news_events/news_event_carn_dum.dds" } + spriteType = { name = "GFX_news_event_celeborn" texturefile = "gfx/event_pictures/news_events/news_event_celeborn.dds" } + spriteType = { name = "GFX_news_event_coronation" texturefile = "gfx/event_pictures/news_events/news_event_coronation.dds" } + spriteType = { name = "GFX_news_event_council" texturefile = "gfx/event_pictures/news_events/news_event_council.dds" } + spriteType = { name = "GFX_news_event_dagorlad" texturefile = "gfx/event_pictures/news_events/news_event_dagorlad.dds" } + spriteType = { name = "GFX_news_event_dead_army" texturefile = "gfx/event_pictures/news_events/news_event_dead_army.dds" } + spriteType = { name = "GFX_news_event_denethor_suicide" texturefile = "gfx/event_pictures/news_events/news_event_denethor_suicide.dds" } + spriteType = { name = "GFX_news_event_diplomacy" texturefile = "gfx/event_pictures/news_events/news_event_diplomacy.dds" } + spriteType = { name = "GFX_news_event_dolguldur" texturefile = "gfx/event_pictures/news_events/news_event_dolguldur.dds" } + spriteType = { name = "GFX_news_event_dwarves" texturefile = "gfx/event_pictures/news_events/news_event_dwarves.dds" } + spriteType = { name = "GFX_news_event_elrond" texturefile = "gfx/event_pictures/news_events/news_event_elrond.dds" } + spriteType = { name = "GFX_news_event_enedwaith_saruman" texturefile = "gfx/event_pictures/news_events/news_event_enedwaith_saruman.dds" } + spriteType = { name = "GFX_news_event_ents" texturefile = "gfx/event_pictures/news_events/news_event_ents.dds" } + spriteType = { name = "GFX_news_event_eye" texturefile = "gfx/event_pictures/news_events/news_event_eye.dds" } + spriteType = { name = "GFX_news_event_faramir_dead" texturefile = "gfx/event_pictures/news_events/news_event_faramir_dead.dds" } + spriteType = { name = "GFX_news_event_fs_000" texturefile = "gfx/event_pictures/news_events/news_event_fs_000.dds" } + spriteType = { name = "GFX_news_event_fs_001" texturefile = "gfx/event_pictures/news_events/news_event_fs_001.dds" } + spriteType = { name = "GFX_news_event_fs_002" texturefile = "gfx/event_pictures/news_events/news_event_fs_002.dds" } + spriteType = { name = "GFX_news_event_fs_010" texturefile = "gfx/event_pictures/news_events/news_event_fs_010.dds" } + spriteType = { name = "GFX_news_event_fs_011" texturefile = "gfx/event_pictures/news_events/news_event_fs_011.dds" } + spriteType = { name = "GFX_news_event_fs_012" texturefile = "gfx/event_pictures/news_events/news_event_fs_012.dds" } + spriteType = { name = "GFX_news_event_fs_020" texturefile = "gfx/event_pictures/news_events/news_event_fs_020.dds" } + spriteType = { name = "GFX_news_event_fs_021" texturefile = "gfx/event_pictures/news_events/news_event_fs_021.dds" } + spriteType = { name = "GFX_news_event_fs_022" texturefile = "gfx/event_pictures/news_events/news_event_fs_022.dds" } + spriteType = { name = "GFX_news_event_fs_100" texturefile = "gfx/event_pictures/news_events/news_event_fs_100.dds" } + spriteType = { name = "GFX_news_event_fs_101" texturefile = "gfx/event_pictures/news_events/news_event_fs_101.dds" } + spriteType = { name = "GFX_news_event_fs_102" texturefile = "gfx/event_pictures/news_events/news_event_fs_102.dds" } + spriteType = { name = "GFX_news_event_fs_110" texturefile = "gfx/event_pictures/news_events/news_event_fs_110.dds" } + spriteType = { name = "GFX_news_event_fs_111" texturefile = "gfx/event_pictures/news_events/news_event_fs_111.dds" } + spriteType = { name = "GFX_news_event_fs_112" texturefile = "gfx/event_pictures/news_events/news_event_fs_112.dds" } + spriteType = { name = "GFX_news_event_fs_120" texturefile = "gfx/event_pictures/news_events/news_event_fs_120.dds" } + spriteType = { name = "GFX_news_event_fs_121" texturefile = "gfx/event_pictures/news_events/news_event_fs_121.dds" } + spriteType = { name = "GFX_news_event_fs_122" texturefile = "gfx/event_pictures/news_events/news_event_fs_122.dds" } + spriteType = { name = "GFX_news_event_fs_200" texturefile = "gfx/event_pictures/news_events/news_event_fs_200.dds" } + spriteType = { name = "GFX_news_event_fs_201" texturefile = "gfx/event_pictures/news_events/news_event_fs_201.dds" } + spriteType = { name = "GFX_news_event_fs_202" texturefile = "gfx/event_pictures/news_events/news_event_fs_202.dds" } + spriteType = { name = "GFX_news_event_fs_210" texturefile = "gfx/event_pictures/news_events/news_event_fs_210.dds" } + spriteType = { name = "GFX_news_event_fs_211" texturefile = "gfx/event_pictures/news_events/news_event_fs_211.dds" } + spriteType = { name = "GFX_news_event_fs_212" texturefile = "gfx/event_pictures/news_events/news_event_fs_212.dds" } + spriteType = { name = "GFX_news_event_fs_220" texturefile = "gfx/event_pictures/news_events/news_event_fs_220.dds" } + spriteType = { name = "GFX_news_event_fs_221" texturefile = "gfx/event_pictures/news_events/news_event_fs_221.dds" } + spriteType = { name = "GFX_news_event_fs_222" texturefile = "gfx/event_pictures/news_events/news_event_fs_222.dds" } + spriteType = { name = "GFX_news_event_gandalf_saruman_alliance" texturefile = "gfx/event_pictures/news_events/news_event_gandalf_saruman_alliance.dds" } + spriteType = { name = "GFX_news_event_gandalf_saruman_fight" texturefile = "gfx/event_pictures/news_events/news_event_gandalf_saruman_fight.dds" } + spriteType = { name = "GFX_news_event_gondor_army" texturefile = "gfx/event_pictures/news_events/news_event_gondor_army.dds" } + spriteType = { name = "GFX_news_event_grima_eowyn_marriage" texturefile = "gfx/event_pictures/news_events/news_event_grima_eowyn_marriage.dds" } + spriteType = { name = "GFX_news_event_grima_exiled" texturefile = "gfx/event_pictures/news_events/news_event_grima_exiled.dds" } + spriteType = { name = "GFX_news_event_harad" texturefile = "gfx/event_pictures/news_events/news_event_harad.dds" } + spriteType = { name = "GFX_news_event_harad_war" texturefile = "gfx/event_pictures/news_events/news_event_harad_war.dds" } + spriteType = { name = "GFX_news_event_helmsdeep_breached" texturefile = "gfx/event_pictures/news_events/news_event_helmsdeep_breached.dds" } + spriteType = { name = "GFX_news_event_major_death" texturefile = "gfx/event_pictures/news_events/news_event_major_death.dds" } + spriteType = { name = "GFX_news_event_mirkwood" texturefile = "gfx/event_pictures/news_events/news_event_mirkwood.dds" } + spriteType = { name = "GFX_news_event_moria_overrun" texturefile = "gfx/event_pictures/news_events/news_event_moria_overrun.dds" } + spriteType = { name = "GFX_news_event_rangers" texturefile = "gfx/event_pictures/news_events/news_event_rangers.dds" } + spriteType = { name = "GFX_news_event_redhorn_storm" texturefile = "gfx/event_pictures/news_events/news_event_redhorn_storm.dds" } + spriteType = { name = "GFX_news_event_rhun" texturefile = "gfx/event_pictures/news_events/news_event_rhun.dds" } + spriteType = { name = "GFX_news_event_ring_boromir" texturefile = "gfx/event_pictures/news_events/news_event_ring_boromir.dds" } + spriteType = { name = "GFX_news_event_ring_destroyed" texturefile = "gfx/event_pictures/news_events/news_event_ring_destroyed.dds" } + spriteType = { name = "GFX_news_event_ring_isengard" texturefile = "gfx/event_pictures/news_events/news_event_ring_isengard.dds" } + spriteType = { name = "GFX_news_event_ring_lorien_intercept" texturefile = "gfx/event_pictures/news_events/news_event_ring_lorien_intercept.dds" } + spriteType = { name = "GFX_news_event_ring_lorien_take" texturefile = "gfx/event_pictures/news_events/news_event_ring_lorien_take.dds" } + spriteType = { name = "GFX_news_event_ring_shire" texturefile = "gfx/event_pictures/news_events/news_event_ring_shire.dds" } + spriteType = { name = "GFX_news_event_sailaway" texturefile = "gfx/event_pictures/news_events/news_event_sailaway.dds" } + spriteType = { name = "GFX_news_event_saruman" texturefile = "gfx/event_pictures/news_events/news_event_saruman.dds" } + spriteType = { name = "GFX_news_event_sauron" texturefile = "gfx/event_pictures/news_events/news_event_sauron.dds" } + spriteType = { name = "GFX_news_event_ships" texturefile = "gfx/event_pictures/news_events/news_event_ships.dds" } + spriteType = { name = "GFX_news_event_shire" texturefile = "gfx/event_pictures/news_events/news_event_shire.dds" } + spriteType = { name = "GFX_news_event_spiders" texturefile = "gfx/event_pictures/news_events/news_event_spiders.dds" } + spriteType = { name = "GFX_news_event_surrender" texturefile = "gfx/event_pictures/news_events/news_event_surrender.dds" } + spriteType = { name = "GFX_news_event_theoden_dead" texturefile = "gfx/event_pictures/news_events/news_event_theoden_dead.dds" } + spriteType = { name = "GFX_news_event_theoden_ill" texturefile = "gfx/event_pictures/news_events/news_event_theoden_ill.dds" } + spriteType = { name = "GFX_news_event_theodred" texturefile = "gfx/event_pictures/news_events/news_event_theodred.dds" } + spriteType = { name = "GFX_news_event_uprising" texturefile = "gfx/event_pictures/news_events/news_event_uprising.dds" } + spriteType = { name = "GFX_news_event_witch" texturefile = "gfx/event_pictures/news_events/news_event_witch.dds" } +} diff --git a/interface/auto_generated/reporteventpictures.gfx b/interface/auto_generated/reporteventpictures.gfx new file mode 100644 index 000000000..2e6a5f3d0 --- /dev/null +++ b/interface/auto_generated/reporteventpictures.gfx @@ -0,0 +1,55 @@ +spriteTypes = { + # This file was auto-generated by the GFX-Maker.py + spriteType = { name = "GFX_report_event_alliance" texturefile = "gfx/event_pictures/report_events/report_event_alliance.dds" } + spriteType = { name = "GFX_report_event_army_camp" texturefile = "gfx/event_pictures/report_events/report_event_army_camp.dds" } + spriteType = { name = "GFX_report_event_balrog" texturefile = "gfx/event_pictures/report_events/report_event_balrog.dds" } + spriteType = { name = "GFX_report_event_beacons" texturefile = "gfx/event_pictures/report_events/report_event_beacons.dds" } + spriteType = { name = "GFX_report_event_building_sawmill" texturefile = "gfx/event_pictures/report_events/report_event_building_sawmill.dds" } + spriteType = { name = "GFX_report_event_building_sawmill2" texturefile = "gfx/event_pictures/report_events/report_event_building_sawmill2.dds" } + spriteType = { name = "GFX_report_event_castle" texturefile = "gfx/event_pictures/report_events/report_event_castle.dds" } + spriteType = { name = "GFX_report_event_cavalry_knights" texturefile = "gfx/event_pictures/report_events/report_event_cavalry_knights.dds" } + spriteType = { name = "GFX_report_event_celeborn" texturefile = "gfx/event_pictures/report_events/report_event_celeborn.dds" } + spriteType = { name = "GFX_report_event_celebrations" texturefile = "gfx/event_pictures/report_events/report_event_celebrations.dds" } + spriteType = { name = "GFX_report_event_celebrations_2" texturefile = "gfx/event_pictures/report_events/report_event_celebrations_2.dds" } + spriteType = { name = "GFX_report_event_celebrations_3" texturefile = "gfx/event_pictures/report_events/report_event_celebrations_3.dds" } + spriteType = { name = "GFX_report_event_cele_gala" texturefile = "gfx/event_pictures/report_events/report_event_cele_gala.dds" } + spriteType = { name = "GFX_report_event_dolguldur" texturefile = "gfx/event_pictures/report_events/report_event_dolguldur.dds" } + spriteType = { name = "GFX_report_event_elrond_council" texturefile = "gfx/event_pictures/report_events/report_event_elrond_council.dds" } + spriteType = { name = "GFX_report_event_elves" texturefile = "gfx/event_pictures/report_events/report_event_elves.dds" } + spriteType = { name = "GFX_report_event_elves_army" texturefile = "gfx/event_pictures/report_events/report_event_elves_army.dds" } + spriteType = { name = "GFX_report_event_elves_oath" texturefile = "gfx/event_pictures/report_events/report_event_elves_oath.dds" } + spriteType = { name = "GFX_report_event_ents" texturefile = "gfx/event_pictures/report_events/report_event_ents.dds" } + spriteType = { name = "GFX_report_event_fellowship_lothlorien" texturefile = "gfx/event_pictures/report_events/report_event_fellowship_lothlorien.dds" } + spriteType = { name = "GFX_report_event_fight" texturefile = "gfx/event_pictures/report_events/report_event_fight.dds" } + spriteType = { name = "GFX_report_event_fire" texturefile = "gfx/event_pictures/report_events/report_event_fire.dds" } + spriteType = { name = "GFX_report_event_galadriel" texturefile = "gfx/event_pictures/report_events/report_event_galadriel.dds" } + spriteType = { name = "GFX_report_event_gondor" texturefile = "gfx/event_pictures/report_events/report_event_gondor.dds" } + spriteType = { name = "GFX_report_event_gondor_soldiers" texturefile = "gfx/event_pictures/report_events/report_event_gondor_soldiers.dds" } + spriteType = { name = "GFX_report_event_gondor_soldiers_2" texturefile = "gfx/event_pictures/report_events/report_event_gondor_soldiers_2.dds" } + spriteType = { name = "GFX_report_event_lindon" texturefile = "gfx/event_pictures/report_events/report_event_lindon.dds" } + spriteType = { name = "GFX_report_event_lothlorien" texturefile = "gfx/event_pictures/report_events/report_event_lothlorien.dds" } + spriteType = { name = "GFX_report_event_man_fishing" texturefile = "gfx/event_pictures/report_events/report_event_man_fishing.dds" } + spriteType = { name = "GFX_report_event_market" texturefile = "gfx/event_pictures/report_events/report_event_market.dds" } + spriteType = { name = "GFX_report_event_mirror" texturefile = "gfx/event_pictures/report_events/report_event_mirror.dds" } + spriteType = { name = "GFX_report_event_moria" texturefile = "gfx/event_pictures/report_events/report_event_moria.dds" } + spriteType = { name = "GFX_report_event_nazgul" texturefile = "gfx/event_pictures/report_events/report_event_nazgul.dds" } + spriteType = { name = "GFX_report_event_negotiations" texturefile = "gfx/event_pictures/report_events/report_event_negotiations.dds" } + spriteType = { name = "GFX_report_event_orcs" texturefile = "gfx/event_pictures/report_events/report_event_orcs.dds" } + spriteType = { name = "GFX_report_event_orcs_2" texturefile = "gfx/event_pictures/report_events/report_event_orcs_2.dds" } + spriteType = { name = "GFX_report_event_orcs_marching" texturefile = "gfx/event_pictures/report_events/report_event_orcs_marching.dds" } + spriteType = { name = "GFX_report_event_paper" texturefile = "gfx/event_pictures/report_events/report_event_paper.dds" } + spriteType = { name = "GFX_report_event_party" texturefile = "gfx/event_pictures/report_events/report_event_party.dds" } + spriteType = { name = "GFX_report_event_rangers" texturefile = "gfx/event_pictures/report_events/report_event_rangers.dds" } + spriteType = { name = "GFX_report_event_riders" texturefile = "gfx/event_pictures/report_events/report_event_riders.dds" } + spriteType = { name = "GFX_report_event_ring" texturefile = "gfx/event_pictures/report_events/report_event_ring.dds" } + spriteType = { name = "GFX_report_event_rivendell" texturefile = "gfx/event_pictures/report_events/report_event_rivendell.dds" } + spriteType = { name = "GFX_report_event_rohan_riders" texturefile = "gfx/event_pictures/report_events/report_event_rohan_riders.dds" } + spriteType = { name = "GFX_report_event_sauron_eye" texturefile = "gfx/event_pictures/report_events/report_event_sauron_eye.dds" } + spriteType = { name = "GFX_report_event_ship" texturefile = "gfx/event_pictures/report_events/report_event_ship.dds" } + spriteType = { name = "GFX_report_event_ship2" texturefile = "gfx/event_pictures/report_events/report_event_ship2.dds" } + spriteType = { name = "GFX_report_event_spiders" texturefile = "gfx/event_pictures/report_events/report_event_spiders.dds" } + spriteType = { name = "GFX_report_event_tournament" texturefile = "gfx/event_pictures/report_events/report_event_tournament.dds" } + spriteType = { name = "GFX_report_event_trade_caravan" texturefile = "gfx/event_pictures/report_events/report_event_trade_caravan.dds" } + spriteType = { name = "GFX_report_event_trade_caravan2" texturefile = "gfx/event_pictures/report_events/report_event_trade_caravan2.dds" } + spriteType = { name = "GFX_report_event_white_council" texturefile = "gfx/event_pictures/report_events/report_event_white_council.dds" } +} diff --git a/interface/auto_generated/spirits.gfx b/interface/auto_generated/spirits.gfx new file mode 100644 index 000000000..256cfd581 --- /dev/null +++ b/interface/auto_generated/spirits.gfx @@ -0,0 +1,308 @@ +spriteTypes = { + # This file was auto-generated by GFX-Maker.py + spriteType = { + name = "GFX_idea_one_ring" + texturefile = "gfx/interface/ideas/national_spirits/one_ring.dds" + } + + spriteType = { + name = "GFX_idea_sauron_eye" + texturefile = "gfx/interface/ideas/national_spirits/sauron_eye.dds" + } + + spriteType = { + name = "GFX_idea_ea_resolution_icon_alliance" + texturefile = "gfx/interface/ideas/national_spirits/elven_alliance/ea_resolution_icon_alliance.dds" + } + + spriteType = { + name = "GFX_idea_ea_resolution_icon_alliance_grey" + texturefile = "gfx/interface/ideas/national_spirits/elven_alliance/ea_resolution_icon_alliance_grey.dds" + } + + spriteType = { + name = "GFX_idea_ea_resolution_icon_expansion" + texturefile = "gfx/interface/ideas/national_spirits/elven_alliance/ea_resolution_icon_expansion.dds" + } + + spriteType = { + name = "GFX_idea_ea_resolution_icon_expansion_grey" + texturefile = "gfx/interface/ideas/national_spirits/elven_alliance/ea_resolution_icon_expansion_grey.dds" + } + + spriteType = { + name = "GFX_idea_ea_resolution_icon_hegemony" + texturefile = "gfx/interface/ideas/national_spirits/elven_alliance/ea_resolution_icon_hegemony.dds" + } + + spriteType = { + name = "GFX_idea_ea_resolution_icon_hegemony_grey" + texturefile = "gfx/interface/ideas/national_spirits/elven_alliance/ea_resolution_icon_hegemony_grey.dds" + } + + spriteType = { + name = "GFX_idea_ea_resolution_icon_industry" + texturefile = "gfx/interface/ideas/national_spirits/elven_alliance/ea_resolution_icon_industry.dds" + } + + spriteType = { + name = "GFX_idea_ea_resolution_icon_industry_grey" + texturefile = "gfx/interface/ideas/national_spirits/elven_alliance/ea_resolution_icon_industry_grey.dds" + } + + spriteType = { + name = "GFX_idea_ea_resolution_icon_martial" + texturefile = "gfx/interface/ideas/national_spirits/elven_alliance/ea_resolution_icon_martial.dds" + } + + spriteType = { + name = "GFX_idea_ea_resolution_icon_martial_grey" + texturefile = "gfx/interface/ideas/national_spirits/elven_alliance/ea_resolution_icon_martial_grey.dds" + } + + spriteType = { + name = "GFX_idea_ea_resolution_icon_peace" + texturefile = "gfx/interface/ideas/national_spirits/elven_alliance/ea_resolution_icon_peace.dds" + } + + spriteType = { + name = "GFX_idea_ea_resolution_icon_peace_grey" + texturefile = "gfx/interface/ideas/national_spirits/elven_alliance/ea_resolution_icon_peace_grey.dds" + } + + spriteType = { + name = "GFX_idea_ea_resolution_icon_research" + texturefile = "gfx/interface/ideas/national_spirits/elven_alliance/ea_resolution_icon_research.dds" + } + + spriteType = { + name = "GFX_idea_ea_resolution_icon_research_grey" + texturefile = "gfx/interface/ideas/national_spirits/elven_alliance/ea_resolution_icon_research_grey.dds" + } + + spriteType = { + name = "GFX_idea_ea_resolution_icon_trade" + texturefile = "gfx/interface/ideas/national_spirits/elven_alliance/ea_resolution_icon_trade.dds" + } + + spriteType = { + name = "GFX_idea_ea_resolution_icon_trade_grey" + texturefile = "gfx/interface/ideas/national_spirits/elven_alliance/ea_resolution_icon_trade_grey.dds" + } + + spriteType = { + name = "GFX_idea_ea_resolution_icon_union" + texturefile = "gfx/interface/ideas/national_spirits/elven_alliance/ea_resolution_icon_union.dds" + } + + spriteType = { + name = "GFX_idea_ea_resolution_icon_union_grey" + texturefile = "gfx/interface/ideas/national_spirits/elven_alliance/ea_resolution_icon_union_grey.dds" + } + + spriteType = { + name = "GFX_idea_denethor_paranoia" + texturefile = "gfx/interface/ideas/national_spirits/GON/denethor_paranoia.dds" + } + + spriteType = { + name = "GFX_idea_denethor_paranoia_2" + texturefile = "gfx/interface/ideas/national_spirits/GON/denethor_paranoia_2.dds" + } + + spriteType = { + name = "GFX_idea_denethor_paranoia_3" + texturefile = "gfx/interface/ideas/national_spirits/GON/denethor_paranoia_3.dds" + } + + spriteType = { + name = "GFX_idea_denethor_paranoia_4" + texturefile = "gfx/interface/ideas/national_spirits/GON/denethor_paranoia_4.dds" + } + + spriteType = { + name = "GFX_idea_swan_knights" + texturefile = "gfx/interface/ideas/national_spirits/GON/swan_knights.dds" + } + + spriteType = { + name = "GFX_idea_weary_armed_forces" + texturefile = "gfx/interface/ideas/national_spirits/GON/weary_armed_forces.dds" + } + + spriteType = { + name = "GFX_idea_immortal_endurance" + texturefile = "gfx/interface/ideas/national_spirits/LTH/immortal_endurance.dds" + } + + spriteType = { + name = "GFX_idea_limited_intervention" + texturefile = "gfx/interface/ideas/national_spirits/LTH/limited_intervention.dds" + } + + spriteType = { + name = "GFX_idea_lth_aegis_of_light" + texturefile = "gfx/interface/ideas/national_spirits/LTH/lth_aegis_of_light.dds" + } + + spriteType = { + name = "GFX_idea_lth_anduin_commerce" + texturefile = "gfx/interface/ideas/national_spirits/LTH/lth_anduin_commerce.dds" + } + + spriteType = { + name = "GFX_idea_lth_a_necessary_evil" + texturefile = "gfx/interface/ideas/national_spirits/LTH/lth_a_necessary_evil.dds" + } + + spriteType = { + name = "GFX_idea_lth_beacon_of_hope" + texturefile = "gfx/interface/ideas/national_spirits/LTH/lth_beacon_of_hope.dds" + } + + spriteType = { + name = "GFX_idea_lth_blades_of_the_eldar" + texturefile = "gfx/interface/ideas/national_spirits/LTH/lth_blades_of_the_eldar.dds" + } + + spriteType = { + name = "GFX_idea_lth_cele_and_gala" + texturefile = "gfx/interface/ideas/national_spirits/LTH/lth_cele_and_gala.dds" + } + + spriteType = { + name = "GFX_idea_lth_cele_and_gala_mended" + texturefile = "gfx/interface/ideas/national_spirits/LTH/lth_cele_and_gala_mended.dds" + } + + spriteType = { + name = "GFX_idea_lth_cele_gala_accord" + texturefile = "gfx/interface/ideas/national_spirits/LTH/lth_cele_gala_accord.dds" + } + + spriteType = { + name = "GFX_idea_lth_decadent_nobility" + texturefile = "gfx/interface/ideas/national_spirits/LTH/lth_decadent_nobility.dds" + } + + spriteType = { + name = "GFX_idea_lth_elven_factions" + texturefile = "gfx/interface/ideas/national_spirits/LTH/lth_elven_factions.dds" + } + + spriteType = { + name = "GFX_idea_lth_fate_of_mortals" + texturefile = "gfx/interface/ideas/national_spirits/LTH/lth_fate_of_mortals.dds" + } + + spriteType = { + name = "GFX_idea_lth_girdle_of_melian" + texturefile = "gfx/interface/ideas/national_spirits/LTH/lth_girdle_of_melian.dds" + } + + spriteType = { + name = "GFX_idea_lth_great_beasts" + texturefile = "gfx/interface/ideas/national_spirits/LTH/lth_great_beasts.dds" + } + + spriteType = { + name = "GFX_idea_lth_great_schism" + texturefile = "gfx/interface/ideas/national_spirits/LTH/lth_great_schism.dds" + } + + spriteType = { + name = "GFX_idea_lth_harmonic_ascendancy" + texturefile = "gfx/interface/ideas/national_spirits/LTH/lth_harmonic_ascendancy.dds" + } + + spriteType = { + name = "GFX_idea_lth_last_eldar" + texturefile = "gfx/interface/ideas/national_spirits/LTH/lth_last_eldar.dds" + } + + spriteType = { + name = "GFX_idea_lth_last_stand" + texturefile = "gfx/interface/ideas/national_spirits/LTH/lth_last_stand.dds" + } + + spriteType = { + name = "GFX_idea_lth_lead_by_example" + texturefile = "gfx/interface/ideas/national_spirits/LTH/lth_lead_by_example.dds" + } + + spriteType = { + name = "GFX_idea_lth_loose_giant" + texturefile = "gfx/interface/ideas/national_spirits/LTH/lth_loose_giant.dds" + } + + spriteType = { + name = "GFX_idea_lth_meritocracy" + texturefile = "gfx/interface/ideas/national_spirits/LTH/lth_meritocracy.dds" + } + + spriteType = { + name = "GFX_idea_lth_noldor_elite" + texturefile = "gfx/interface/ideas/national_spirits/LTH/lth_noldor_elite.dds" + } + + spriteType = { + name = "GFX_idea_lth_peasant_assembly" + texturefile = "gfx/interface/ideas/national_spirits/LTH/lth_peasant_assembly.dds" + } + + spriteType = { + name = "GFX_idea_lth_prisoner_vivisections" + texturefile = "gfx/interface/ideas/national_spirits/LTH/lth_prisoner_vivisections.dds" + } + + spriteType = { + name = "GFX_idea_lth_sacred_trees" + texturefile = "gfx/interface/ideas/national_spirits/LTH/lth_sacred_trees.dds" + } + + spriteType = { + name = "GFX_idea_lth_sacred_trees_fading" + texturefile = "gfx/interface/ideas/national_spirits/LTH/lth_sacred_trees_fading.dds" + } + + spriteType = { + name = "GFX_idea_lth_sealed_borders" + texturefile = "gfx/interface/ideas/national_spirits/LTH/lth_sealed_borders.dds" + } + + spriteType = { + name = "GFX_idea_lth_silvan_elite_warriors" + texturefile = "gfx/interface/ideas/national_spirits/LTH/lth_silvan_elite_warriors.dds" + } + + spriteType = { + name = "GFX_idea_lth_silverthorn_arrows" + texturefile = "gfx/interface/ideas/national_spirits/LTH/lth_silverthorn_arrows.dds" + } + + spriteType = { + name = "GFX_idea_lth_sky_soil_and_water" + texturefile = "gfx/interface/ideas/national_spirits/LTH/lth_sky_soil_and_water.dds" + } + + spriteType = { + name = "GFX_idea_lth_the_new_order" + texturefile = "gfx/interface/ideas/national_spirits/LTH/lth_the_new_order.dds" + } + + spriteType = { + name = "GFX_idea_lth_total_isolation" + texturefile = "gfx/interface/ideas/national_spirits/LTH/lth_total_isolation.dds" + } + + spriteType = { + name = "GFX_idea_lth_unflinching_defender" + texturefile = "gfx/interface/ideas/national_spirits/LTH/lth_unflinching_defender.dds" + } + + spriteType = { + name = "GFX_idea_lth_unity_in_division" + texturefile = "gfx/interface/ideas/national_spirits/LTH/lth_unity_in_division.dds" + } + +} diff --git a/interface/countrydecisionview.gfx b/interface/countrydecisionview.gfx new file mode 100644 index 000000000..78cdb25b4 --- /dev/null +++ b/interface/countrydecisionview.gfx @@ -0,0 +1,106 @@ +spriteTypes = { + spriteType = { + name = "GFX_event_header_bg" + texturefile = "gfx/interface/decisionview/event_header_bg.dds" + } + + spriteType = { + name = "GFX_event_item_bg" + texturefile = "gfx/interface/decisionview/event_item_bg.dds" + } + + spriteType = { + name = "GFX_event_type_strip" + texturefile = "gfx/interface/decisionview/event_type_strip.dds" + noOfFrames = 2 + } + + spriteType = { + name = "GFX_event_end_bg" + texturefile = "gfx/interface/decisionview/event_end_bg.dds" + } + + spriteType = { + name = "GFX_category_header_bg" + texturefile = "gfx/interface/decisionview/category_header_bg.dds" + } + + spriteType = { + name = "GFX_decision_item_bg" + texturefile = "gfx/interface/decisionview/decision_item_bg.dds" + noOfFrames = 3 + } + + spriteType = { + name = "GFX_decision_item_bg_single" + texturefile = "gfx/interface/decisionview/decision_item_bg_single.dds" + } + + spriteType = { + name = "GFX_decision_AI_item_bg" + texturefile = "gfx/interface/decisionview/decision_AI_item_bg.dds" + } + + spriteType = { + name = "GFX_decision_progress_bg" + texturefile = "gfx/interface/decisionview/decision_progress_bg.dds" + } + + progressbartype = { + name = "GFX_decision_item_progress_bad" + textureFile1 = "gfx/interface/decisionview/decision_progress_bad.dds" + textureFile2 = "gfx/interface/decisionview/decision_progress_bg.dds" + size = { x = 502 y = 10 } + effectFile = "gfx/FX/progress_startend.lua" + alwaystransparent = yes + } + + progressbartype = { + name = "GFX_decision_item_progress_good" + textureFile1 = "gfx/interface/decisionview/decision_progress_good.dds" + textureFile2 = "gfx/interface/decisionview/decision_progress_bg.dds" + size = { x = 502 y = 10 } + effectFile = "gfx/FX/progress_startend.lua" + alwaystransparent = yes + } + + #spriteType = { + # name = "GFX_decision_description_bg" + # texturefile = "gfx/interface/decisionview/decision_description_bg.dds" + #} + + spriteType = { + name = "GFX_decision_select_icon_strip" + textureFile = "gfx/interface/decisionview/decision_select_icon_strip.dds" + effectFile = "gfx/FX/buttonstate_nodowneffect.lua" + noOfFrames = 4 + } + + spriteType = { + name = "GFX_decision_timer_icon_strip" + textureFile = "gfx/interface/decisionview/decision_timer_icon_strip.dds" + effectFile = "gfx/FX/buttonstate_nodowneffect.lua" + noOfFrames = 4 + } + + spriteType = { + name = "GFX_d_category_empty_picture" + textureFile = "gfx/interface/research_folder_strip.dds" + noOfFrames = 12 + } + + spriteType = { + name = "GFX_locator_item_icon" + textureFile = "gfx/interface/decisionview/locator_item_icon.dds" + } + + spriteType = { + name = "GFX_decision_onmap_item_bg" + textureFile = "gfx/interface/decisionview/decision_onmap_item_bg.dds" + } + + spriteType = { + name = "GFX_mapicon_decision_static_bg" + textureFile = "gfx/interface/decisionview/on_map_decision_static_bg.dds" + } +} \ No newline at end of file diff --git a/interface/countrydecisionview.gui b/interface/countrydecisionview.gui index 6b7069206..e40b5dd33 100644 --- a/interface/countrydecisionview.gui +++ b/interface/countrydecisionview.gui @@ -2,7 +2,7 @@ guiTypes = { containerWindowType = { name = "countrydecisionview" - position = { x=-606 y=78 } + position = { x=-606 y=78 } show_position = { x=-6 y =78 } show_animation_type = decelerated hide_animation_type = accelerated @@ -14,7 +14,7 @@ guiTypes = { background = { name = "Background" - quadTextureSprite ="GFX_tiled_window2_1b_border" + quadTextureSprite ="GFX_tiled_window_2b_border" } iconType = { @@ -22,7 +22,14 @@ guiTypes = { spriteType = "GFX_header_bg" position = { x= 5 y = 07 } Orientation = "UPPER_LEFT" - } + } + + #iconType = { + # name ="production_header_bgasdasd" + # spriteType = "GFX_decisions_bg" + # position = { x= 5 y = 07 } + # Orientation = "UPPER_LEFT" + #} instantTextboxType = { name = "decisionview_title" @@ -81,7 +88,7 @@ guiTypes = { name = "category_header" position = {x=0 y=0} Orientation = upper_left - size = {width=3 height=58} + size = {width=3 height=65} clipping = no buttonType = { @@ -91,17 +98,18 @@ guiTypes = { clicksound = decisions_ui_tab } - iconType = { - name = "icon" - position = {x=10 y=16} - spriteType = "GFX_decision_category_generic" - } + # We removed category icons entirely + #iconType = { + # name = "icon" + # position = {x=10 y=16} + # spriteType = "GFX_decision_category_generic" + #} instantTextboxType = { name = "name_text" - position = { x = 74 y = 26 } + position = { x = 74 y = 28 } textureFile = "" - font = "hoi_20b" + font = "merienda_13" borderSize = { x = 0 y = 0 } text = "" maxWidth = 365 @@ -113,21 +121,23 @@ guiTypes = { buttonType = { name = "track_decisions_checkbox" - position = { x = 447 y = 26 } + position = { x = 467 y = 26 } quadTextureSprite = "GFX_checkbox_small5" clicksound = decisions_ui_button frame = 2 } - buttonType = { - name = "category_collapse_btn" - position = { x=475 y=25 } - quadTextureSprite = "GFX_conveyor_collapse_btn" - buttonFont = "hoi_18mbs" - clicksound = click_default - alwaystransparent = yes - frame = 1 - } + # You can collapse by clicking the decision title now, so why do we even need this? + #buttonType = { + # name = "category_collapse_btn" + # position = { x=475 y=25 } + # quadTextureSprite = "GFX_conveyor_collapse_btn" + # buttonFont = "hoi_18mbs" + # clicksound = click_default + # alwaystransparent = yes + # frame = 1 + #} + } containerWindowType = { @@ -155,7 +165,7 @@ guiTypes = { name = "full_text" position = { x = 14 y = 6 } textureFile = "" - font = "hoi_16mbs" + font = "merienda_13" borderSize = { x = 0 y = 0 } text = "" maxWidth = 470 @@ -165,7 +175,7 @@ guiTypes = { name = "short_text" position = { x = 125 y = 9 } textureFile = "" - font = "hoi_16mbs" + font = "merienda_13" borderSize = { x = 0 y = 0 } text = "" maxWidth = 380 @@ -202,7 +212,7 @@ guiTypes = { name = "target_flag" quadTextureSprite ="GFX_flag_small" position = { x= 140 y = 0} - } + } } ########################################### @@ -395,7 +405,7 @@ guiTypes = { containerWindowType = { name = "decision_item" position = { x=0 y=0 } - size = { width=100% height=41 } + size = { width=100% height=54 } clipping = no iconType = { @@ -406,28 +416,28 @@ guiTypes = { iconType = { name = "btn_progress_good" - position = {x=9 y=28} + position = {x=6 y=37} spriteType = "GFX_decision_item_progress_good" } iconType = { name = "btn_progress_bad" - position = {x=9 y=28} + position = {x=6 y=37} spriteType = "GFX_decision_item_progress_bad" } iconType = { name = "icon" - position = {x=30 y=19} + position = {x=380 y=25} spriteType = "GFX_decision_unknown" centerposition = yes } instantTextboxType = { name = "name_text" - position = { x = 63 y = 2 } + position = { x = 33 y = 9 } textureFile = "" - font = "hoi_16mbs" + font = "merienda_13" borderSize = { x = 0 y = 0 } text = "" maxWidth = 330 @@ -452,7 +462,7 @@ guiTypes = { instantTextboxType = { name = "cost_and_timer_text" - position = { x = 112 y = 9 } + position = { x = 112 y = 15 } textureFile = "" font = "hoi_16mbs" borderSize = { x = 0 y = 0 } @@ -464,7 +474,7 @@ guiTypes = { buttonType = { name = "track_decision_checkbox" - position = { x = 437 y = 7 } + position = { x = 437 y = 14 } quadTextureSprite = "GFX_checkbox_small4" clicksound = decisions_ui_button frame = 2 @@ -472,7 +482,7 @@ guiTypes = { buttonType = { name = "btn_select" - position = {x=465 y=6} + position = {x=465 y= 13} spriteType = "GFX_decision_select_icon_strip" clicksound = decisions_ui_checkbox frame = 2 @@ -482,7 +492,7 @@ guiTypes = { containerWindowType = { name = "targeted_decision_item" position = { x=0 y=0 } - size = { width=100% height=40 } + size = { width=100% height=54 } clipping = no iconType = { @@ -493,30 +503,31 @@ guiTypes = { iconType = { name = "btn_progress_good" - position = {x=9 y=28} + position = {x=6 y=37} spriteType = "GFX_decision_item_progress_good" } iconType = { name = "btn_progress_bad" - position = {x=9 y=28} + position = {x=6 y=37} spriteType = "GFX_decision_item_progress_bad" } iconType = { name = "icon" - position = {x=15 y=0} + position = {x=380 y=25} spriteType = "GFX_decision_unknown" + centerposition = yes } instantTextboxType = { name = "name_text" - position = { x = 62 y = 2 } + position = { x = 45 y = 9 } textureFile = "" - font = "hoi_16mbs" + font = "merienda_13" borderSize = { x = 0 y = 0 } text = "" - maxWidth = 280 + maxWidth = 330 maxHeight = 32 format = left vertical_alignment = center @@ -525,7 +536,7 @@ guiTypes = { iconType = { name = "target_flag" quadTextureSprite ="GFX_flag_small" - position = { x= 30 y = 12} + position = { x= 12 y = 12} } iconType = { @@ -551,7 +562,7 @@ guiTypes = { instantTextboxType = { name = "cost_and_timer_text" - position = { x = 112 y = 9 } + position = { x = 112 y = 15 } textureFile = "" font = "hoi_16mbs" borderSize = { x = 0 y = 0 } @@ -563,17 +574,17 @@ guiTypes = { buttonType = { name = "track_decision_checkbox" - position = { x = 437 y = 7 } + position = { x = 437 y = 14 } quadTextureSprite = "GFX_checkbox_small4" - clicksound = click_checkbox + clicksound = decisions_ui_button frame = 2 } buttonType = { name = "btn_select" - position = {x=465 y=4} + position = {x=465 y= 13} spriteType = "GFX_decision_select_icon_strip" - clicksound = click_default + clicksound = decisions_ui_checkbox frame = 2 } @@ -582,7 +593,7 @@ guiTypes = { containerWindowType = { name = "timed_decision_item" position = { x=0 y=0 } - size = { width=100% height=40 } + size = { width=100% height=54 } clipping = no iconType = { @@ -593,19 +604,19 @@ guiTypes = { iconType = { name = "btn_progress_good" - position = {x=9 y=28} + position = {x=6 y=37} spriteType = "GFX_decision_item_progress_good" } iconType = { name = "btn_progress_bad" - position = {x=9 y=28} + position = {x=6 y=37} spriteType = "GFX_decision_item_progress_bad" } iconType = { name = "icon" - position = {x=32 y=20} + position = {x=380 y=25} spriteType = "GFX_decision_unknown" centerposition = yes } @@ -626,12 +637,12 @@ guiTypes = { instantTextboxType = { name = "name_text" - position = { x = 62 y = 2 } + position = { x = 45 y = 9 } textureFile = "" - font = "hoi_16mbs" + font = "merienda_13" borderSize = { x = 0 y = 0 } text = "" - maxWidth = 300 + maxWidth = 330 maxHeight = 32 format = left vertical_alignment = center @@ -660,7 +671,7 @@ guiTypes = { instantTextboxType = { name = "cost_and_timer_text" - position = { x = 135 y = 9 } + position = { x = 112 y = 15 } textureFile = "" font = "hoi_16mbs" borderSize = { x = 0 y = 0 } @@ -672,7 +683,7 @@ guiTypes = { buttonType = { name = "btn_select" - position = {x=465 y=6} + position = {x=465 y= 13} spriteType = "GFX_decision_select_icon_strip" clicksound = decisions_ui_checkbox frame = 2 diff --git a/interface/countrydoctrinetreeview.gui b/interface/countrydoctrinetreeview.gui index 4cd5ff7d9..b8392b20a 100644 --- a/interface/countrydoctrinetreeview.gui +++ b/interface/countrydoctrinetreeview.gui @@ -744,6 +744,170 @@ guiTypes = { } } } + + containerWindowType = { + name = "special_forces_doctrine_folder" + position = { x=0 y=47 } + size = { width = 100%% height = 100%% } + margin = { top = 13 left = 13 bottom = 24 right = 25} + drag_scroll = { left middle } + verticalScrollbar = "right_vertical_slider" + horizontalScrollbar = "bottom_horizontal_slider" + scroll_wheel_factor = 40 + + background = { + name = "Background" + quadTextureSprite ="GFX_tiled_window_2b_border" + } + + containerWindowType = { + name = "size_filler" + position = { x=0 y=0 } + size = { width = 2100 height = 100% } + } + + + iconType = { + name ="mountaineers_bg" + spriteType = "GFX_mountaineers_bg" + position = { x=85 y=33 } + } + + iconType = { + name ="marines_bg" + spriteType = "GFX_marine_bg" + position = { x=570 y=33 } + } + + iconType = { + name ="paratroopers_bg" + spriteType = "GFX_paratroopers_bg" + position = { x=1050 y=33 } + } + + instantTextBoxType = { + name = "mountaineers_title" + position = { x = 120 y = 35 } + textureFile = "" + font = "hoi_22tech" + borderSize = {x = 0 y = 4} + text = "MOUNTAINEERS_DOCTRINE_LABEL" + maxWidth = 400 + maxHeight = 122 + format = center + Orientation = "UPPER_LEFT" + } + + instantTextBoxType = { + name = "marines_title" + position = { x = 600 y = 35 } + textureFile = "" + font = "hoi_22tech" + borderSize = {x = 0 y = 4} + text = "MARINES_DOCTRINE_LABEL" + maxWidth = 400 + maxHeight = 122 + format = center + Orientation = "UPPER_LEFT" + } + + instantTextBoxType = { + name = "paratroopers_title" + position = { x = 1080 y = 35 } + textureFile = "" + font = "hoi_22tech" + borderSize = {x = 0 y = 4} + text = "PARATROOPERS_DOCTRINE_LABEL" + maxWidth = 400 + maxHeight = 122 + format = center + Orientation = "UPPER_LEFT" + } + + instantTextBoxType = { + name = "mountaineers_desc" + position = { x = 140 y = 90 } + textureFile = "" + font = "hoi_20b" + borderSize = {x = 0 y = 4} + text = "MOUNTAINEERS_DOCTRINE_DESC" + maxWidth = 350 + maxHeight = 122 + format = center + Orientation = "UPPER_LEFT" + } + + instantTextBoxType = { + name = "marines_desc" + position = { x = 600 y = 90 } + textureFile = "" + font = "hoi_20b" + borderSize = {x = 0 y = 4} + text = "MARINES_DOCTRINE_DESC" + maxWidth = 400 + maxHeight = 122 + format = center + Orientation = "UPPER_LEFT" + } + + instantTextBoxType = { + name = "paratroopers_desc" + position = { x = 1100 y = 90 } + textureFile = "" + font = "hoi_20b" + borderSize = {x = 0 y = 4} + text = "PARATROOPERS_DOCTRINE_DESC" + maxWidth = 350 + maxHeight = 122 + format = center + Orientation = "UPPER_LEFT" + } + + gridboxtype = { + name = "special_forces_mountaineers_tree" + position = { x=80 y=172 } + size = { width = 478 height = 1000 } + slotsize = { width=60 height= 60 } + format = "UP" + + background = { + name = "Background" + quadTextureSprite ="GFX_fullborder_tiled" + position = { x=0 y=-150 } + } + + } + + gridboxtype = { + name = "special_forces_marines_tree" + position = { x=560 y=172 } + size = { width = 478 height = 1000 } + slotsize = { width=60 height= 60 } + format = "UP" + + background = { + name = "Background" + quadTextureSprite ="GFX_fullborder_tiled" + position = { x=0 y=-150 } + } + + } + + gridboxtype = { + name = "special_forces_paratroopers_tree" + position = { x=1040 y=172 } + size = { width = 478 height = 1000 } + slotsize = { width=60 height= 60 } + format = "UP" + + background = { + name = "Background" + quadTextureSprite ="GFX_fullborder_tiled" + position = { x=0 y=-150 } + } + + } + } containerWindowType = { name = "folder_tabs" @@ -808,6 +972,23 @@ guiTypes = { format = center alwaystransparent = "yes" } + buttonType = { + name = "special_forces_doctrine_folder_tab" + position = { x = 504 y = 0 } + quadTextureSprite = "GFX_specialforcesdoctrine_tab_large" + frame = 1 + clicksound = ui_doctrine_tab_air + } + instantTextBoxType = { + name = "special_forces_doctrine_title" + text = "special_forces" + position = { x=564 y=18} + font = "hoi_20bs" + maxWidth = 160 + maxHeight = 20 + format = center + alwaystransparent = "yes" + } } buttonType = { @@ -916,7 +1097,43 @@ guiTypes = { position = { x=-1 y=-22 } spriteType = "GFX_tech_bonus" } + + instantTextBoxType = { + name = "bonus" + position = { x = -1 y = -22 } + textureFile = "" + font = "hoi_16mbs" + borderSize = {x = 4 y = 4} + text = "lol boat" + maxWidth = 80 + maxHeight = 20 + format = center + } + } + + containerWindowType = { + name = "techtree_special_forces_doctrine_folder_item" + position = { x=0 y=5 } + size = { width = 72 height = 72 } + clipping = no + + background = { + name = "Background" + quadTextureSprite ="GFX_technology_unavailable_item_bg" + } + iconType = { + name = "Icon" + position = { x=25 y=25 } + spriteType = "GFX_technology_medium" + alwaystransparent = yes + } + iconType = { + name = "bonus_icon" + position = { x=-1 y=-22 } + spriteType = "GFX_tech_bonus" + } + instantTextBoxType = { name = "bonus" position = { x = -1 y = -22 } @@ -941,4 +1158,4 @@ guiTypes = { spriteType = "GFX_strategicair_mission_types" } } -} +} \ No newline at end of file diff --git a/interface/countryofficercorpview.gui b/interface/countryofficercorpview.gui index bd53b2c88..8c909b59c 100644 --- a/interface/countryofficercorpview.gui +++ b/interface/countryofficercorpview.gui @@ -49,14 +49,14 @@ guiTypes = { frame = 1 } - #iconType = { - # name = "advisor_type_icon" - # position = { x = 35 y = 115 } - # spriteType = "GFX_chief_and_theorist_strip" - # centerposition = yes - # alwaystransparent = yes - # frame = 6 - #} + iconType = { + name = "advisor_type_icon" + position = { x = 35 y = 115 } + spriteType = "GFX_chief_and_theorist_strip" + centerposition = yes + alwaystransparent = yes + scale = 0 + } } containerWindowType = { @@ -84,14 +84,14 @@ guiTypes = { no_clicksound = yes } - #iconType = { - # name = "advisor_type_icon" - # position = { x = 83 y = 104 } - # spriteType = "GFX_chief_and_theorist_strip" - # alwaystransparent = yes - # centerposition = yes - # frame = 1 - #} + iconType = { + name = "advisor_type_icon" + position = { x = 83 y = 104 } + spriteType = "GFX_chief_and_theorist_strip" + alwaystransparent = yes + centerposition = yes + scale = 0 + } iconType = { name = "idea_traits" @@ -128,6 +128,15 @@ guiTypes = { no_clicksound = yes } + iconType = { + name = "advisor_type_icon" + position = { x = 12 y = 95 } + spriteType = "GFX_chief_and_theorist_strip" + alwaystransparent = yes + centerposition = yes + scale = 0 + } + iconType = { name = "idea_traits" position = { x = 43 y = 114 } @@ -198,6 +207,15 @@ guiTypes = { no_clicksound = yes } + iconType = { + name = "advisor_type_icon" + position = { x = 12 y = 95 } + spriteType = "GFX_chief_and_theorist_strip" + alwaystransparent = yes + centerposition = yes + scale = 0 + } + iconType = { name = "idea_traits" position = { x = 43 y = 114 } @@ -233,14 +251,14 @@ guiTypes = { no_clicksound = yes } - #iconType = { - # name = "advisor_type_icon" - # position = { x = 83 y = 104 } - # spriteType = "GFX_chief_and_theorist_strip" - # alwaystransparent = yes - # centerposition = yes - # frame = 1 - #} + iconType = { + name = "advisor_type_icon" + position = { x = 86 y = 105 } + spriteType = "GFX_chief_and_theorist_strip" + alwaystransparent = yes + centerposition = yes + scale = 0 + } iconType = { name = "idea_traits" @@ -885,6 +903,101 @@ guiTypes = { } } } + + containerWindowType = { + name = "special_forces_header" + position = { x = 0 y = 727 } + size = { width = 98% height = 127 } + margin = { top = 0 left = 0 bottom = 0 right = 0} + + background = { + name = "Background" + quadTextureSprite ="GFX_army_tiled_marble_bg" + } + + gridBoxType = { + name = "modifiers_grid" + position = { x = 4 y = 54 } + size = { width = 340 height = 35 } + slotsize = { width = 72 height = 33 } + max_slots_horizontal = 4 + max_slots_vertical = 3 + format = "UPPER_LEFT" + } + + iconType ={ + name ="icon_banner" + spriteType = "GFX_officer_corp_bg_banner_army" + position = { x=0 y=-12 } + Orientation = "UPPER_LEFT" + alwaystransparent = yes + } + + iconType ={ + name ="icon_army" + spriteType = "GFX_officer_corp_special_forces_icon" + position = { x=-4 y=-4 } + Orientation = "UPPER_LEFT" + } + + instantTextboxType = { + name = "text" + position = { x=110 y=6 } + Orientation = "UPPER_LEFT" + font = "hoi_20bs" + borderSize = {x = 0 y = 0} + text = "OFFICER_CORP_SPECIAL_FORCES_DOCTRINE" + maxWidth = 240 + maxHeight = 20 + format = left + } + + containerWindowType = { + name = "special_forces_doctrine_button" + position = { x=260 y=-18 } + size = {width=20 height=20} + clipping = no + + buttonType = { + name = "button" + quadTextureSprite = "GFX_technology_land_doctrine_folder_available_item_bg" + position = { x=34 y=47 } + #buttonText = "Doctrines" + scale = 0.8 + font = "hoi_24header" + } + + iconType = { + name = "icon" + position = { x=70 y=80 } + spriteType = "GFX_placeholder_bordered" + scale = 0.552 + Orientation = CENTER + alwaystransparent = yes + centerposition = yes + } + + iconType = { + name = "nb_doctrine_unlocked_bg" + spriteType = "GFX_topbar_alert_bg" + position = { x=36 y=97 } + alwaystransparent = yes + frame = 1 + } + + instantTextBoxType = { + name ="nb_doctrine_unlocked" + position = { x=34 y=97 } + font = "hoi_16mbs" + text = "0" + format = center + maxWidth = 20 + maxHeight = 24 + fixedsize = yes + } + } + + } containerWindowType = { name = "army_spirits_view" @@ -923,6 +1036,23 @@ guiTypes = { position = { x=2% y=700 } size = { width=95% height=22% } clipping = no + scale = 0.9 + + gridboxtype = { + name = "spirit_grid" + position = { x = 0 y = 67 } + size = { width = 100% height = 100% } + slotsize = { width = 170 height = 64 } + max_slots = { x = 3 y = 1 } + format = "UPPER_LEFT" + } + } + + containerWindowType = { + name = "special_forces_spirits_view" + position = { x = 2% y = 900 } + size = {width=95% height=30%} + clipping = no gridboxtype = { name = "spirit_grid" diff --git a/interface/countrypoliticsview.gui b/interface/countrypoliticsview.gui index fbc036556..13eee4f12 100644 --- a/interface/countrypoliticsview.gui +++ b/interface/countrypoliticsview.gui @@ -851,7 +851,7 @@ guiTypes = { position = { x = 17 y = 60 } size = { width = 100%% height = 100%% } slotsize = { width = 100 height = 64 } - max_slots = { x = 5 y = 1 } + max_slots = { x = 6 y = 1 } format = "UPPER_LEFT" } } @@ -1004,7 +1004,7 @@ guiTypes = { buttonType = { name = "add_idea_button" position = { x = 0 y = 0 } - spriteType = "GFX_add_pol_idea_button" + spriteType = "GFX_air_doctrine_folder_icon" scale = 0.69 clicksound = click_default } @@ -1027,6 +1027,32 @@ guiTypes = { } } + containerWindowType = { + name = "industrial_org_entry" + size = { width = 53 height = 53 } + clipping = no + + buttonType = { + name = "open_roster_button" + position = { x = -90 y = -39 } + spriteType = "GFX_government_button" + centerposition = yes + clicksound = click_default + } + + instantTextboxType = { + name = "industrial_org_entry_text" + position = { x = -156 y = -48 } + font = "hoi_16mbs" + maxWidth = 130 + maxHeight = 20 + fixedsize = yes + text = "manage_guilds" + alwaystransparent = yes + format = center + } + } + containerWindowType = { name = "political_selectable_idea_entry_grid" size = { width = 231 height = 255 } diff --git a/interface/countrytechnologyview.gui b/interface/countrytechnologyview.gui index a918c351d..f87d2567e 100644 --- a/interface/countrytechnologyview.gui +++ b/interface/countrytechnologyview.gui @@ -108,35 +108,67 @@ guiTypes = { name = "Background" spriteType ="GFX_research_top_win" } - - iconType = { - name = "focus_bonuses_bg" - position = { x = 263 y = 14 } - spriteType = "GFX_win_header_short_right" - } iconType = { name = "focus_bonuses" - position = { x = 288 y = 14 } + position = { x = 180 y = 108 } spriteType = "GFX_focus_bonuses_icon" } + instantTextboxType = { + name = "limited_research_bonus_text" + position = { x = 50 y = 110 } + textureFile = "" + font = "hoi_18mbs" + borderSize = {x = 0 y = 0} + text = "LIMITED_RESEARCH_BONUS" + maxWidth = 130 + maxHeight = 20 + format = left + fixedsize = yes + } + + instantTextboxType = { + name = "limited_research_bonus_value" + position = { x = 215 y = 110 } + textureFile = "" + font = "hoi_18mbs" + borderSize = {x = 0 y = 0} + text = "999" + maxWidth = 50 + maxHeight = 20 + format = left + } + iconType = { name = "research_speed_icon" - position = { x = 435 y = 13 } + position = { x = 422 y = 108 } spriteType = "GFX_research_speed_icon" } + instantTextboxType = { + name = "research_speed_text" + position = { x = 295 y = 110 } + textureFile = "" + font = "hoi_18mbs" + borderSize = {x = 0 y = 0} + text = "RESEARCH_SPEED" + maxWidth = 125 + maxHeight = 20 + format = left + fixedsize = yes + } + instantTextboxType = { name = "research_speed_value" - position = { x = 454 y = 16 } + position = { x = 455 y = 110 } textureFile = "" font = "hoi_18mbs" borderSize = {x = 0 y = 0} text = "999" maxWidth = 50 maxHeight = 20 - format = right + format = left } gridboxType = { @@ -207,6 +239,13 @@ guiTypes = { centerposition = yes alwaystransparent = yes } + + iconType = { + name = "designer" + position = { x=450 y=49 } + spriteType = "GFX_research_folder_strip" + centerposition = yes + } iconType = { name = "equipment" diff --git a/interface/countrytechtreeview.gfx b/interface/countrytechtreeview.gfx index 7f1235665..26c2683ce 100644 --- a/interface/countrytechtreeview.gfx +++ b/interface/countrytechtreeview.gfx @@ -2,7 +2,7 @@ spriteTypes = { spriteType = { name = "GFX_techtree_details_progress_bar_frame" - textureFile = "gfx//interface//techtree//techtree_details_progress_bar_frame.dds" + textureFile = "gfx/interface/techtree/techtree_details_progress_bar_frame.dds" } progressbartype = { @@ -17,17 +17,17 @@ spriteTypes = { spriteType = { name = "GFX_tech_idea_bg" - textureFile = "gfx//interface//add_pol_idea_button.dds" + textureFile = "gfx/interface/add_pol_idea_button.dds" effectFile = "gfx/FX/buttonstate_nodowneffect.lua" } spriteType = { name = "GFX_wonderweapons_bg" - textureFile = "gfx//interface//wonderweapons_bg.dds" + textureFile = "gfx/interface/wonderweapons_bg.dds" } corneredTileSpriteType = { name = "GFX_tiled_research_bg" size= { x=96 y=96 } - textureFile = "gfx//interface//tiles//tiled_research_bg.dds" + textureFile = "gfx/interface/tiles/tiled_research_bg.dds" borderSize = { x=32 y=32 } tilingCenter = yes effectFile = "gfx/FX/buttonstate_nodowneffect.lua" @@ -37,7 +37,7 @@ spriteTypes = { corneredTileSpriteType = { name = "GFX_techtree_stripes" size= { x=122 y=244 } - textureFile = "gfx//interface//techtree//techtree_stripes.dds" + textureFile = "gfx/interface/techtree/techtree_stripes.dds" borderSize = { x=0 y=0 } tilingCenter = yes effectFile = "gfx/FX/buttonstate_nodowneffect.lua" @@ -47,7 +47,7 @@ spriteTypes = { corneredTileSpriteType = { name = "GFX_tiled_paper_bg2" size= { x=192 y=192 } - textureFile = "gfx//interface//tiles//tiled_paper_bg2.dds" + textureFile = "gfx/interface/tiles/tiled_paper_bg2.dds" borderSize = { x=64 y=64 } tilingCenter = yes effectFile = "gfx/FX/buttonstate_nodowneffect.lua" @@ -56,7 +56,7 @@ spriteTypes = { corneredTileSpriteType = { name = "GFX_tiled_paper_w_frame_one_border" size= { x=192 y=192 } - textureFile = "gfx//interface//tiles//tiled_paper_w_frame_one_border.dds" + textureFile = "gfx/interface/tiles/tiled_paper_w_frame_one_border.dds" borderSize = { x=64 y=64 } tilingCenter = yes effectFile = "gfx/FX/buttonstate_nodowneffect.lua" @@ -65,7 +65,7 @@ spriteTypes = { corneredTileSpriteType = { name = "GFX_tiled_paper_w_frame_bg" size= { x=192 y=192 } - textureFile = "gfx//interface//tiles//tiled_paper_w_frame_bg.dds" + textureFile = "gfx/interface/tiles/tiled_paper_w_frame_bg.dds" borderSize = { x=64 y=64 } tilingCenter = yes effectFile = "gfx/FX/buttonstate_nodowneffect.lua" @@ -74,7 +74,7 @@ spriteTypes = { corneredTileSpriteType = { name = "GFX_tiled_paper_bg" size= { x=192 y=192 } - textureFile = "gfx//interface//tiles//tiled_paper_bg.dds" + textureFile = "gfx/interface/tiles/tiled_paper_bg.dds" borderSize = { x=64 y=64 } tilingCenter = yes effectFile = "gfx/FX/buttonstate_nodowneffect.lua" @@ -83,7 +83,7 @@ spriteTypes = { corneredTileSpriteType = { name = "GFX_tiled_paper_small_bg" size= { x=192 y=192 } - textureFile = "gfx//interface//tiles//tiled_paper_bg.dds" + textureFile = "gfx/interface/tiles/tiled_paper_bg.dds" borderSize = { x=64 y=64 } tilingCenter = yes effectFile = "gfx/FX/buttonstate_nodowneffect.lua" @@ -91,31 +91,31 @@ spriteTypes = { SpriteType = { name = "GFX_research_top_win" - textureFile = "gfx//interface//research_top_win.dds" + textureFile = "gfx/interface/research_top_win.dds" effectFile = "gfx/FX/buttonstate_nodowneffect.lua" } spriteType = { name = "GFX_infantry_folder_tab" - textureFile = "gfx//interface//techtree//techtree_infantry_tab.dds" + textureFile = "gfx/interface/techtree/techtree_infantry_tab.dds" noOfFrames = 2 } spriteType = { name = "GFX_techtree_tank_tab" - textureFile = "gfx//interface//techtree//techtree_tank_tab.dds" + textureFile = "gfx/interface/techtree/techtree_tank_tab.dds" noOfFrames = 2 } spriteType = { name = "GFX_artillery_folder_tab" - textureFile = "gfx//interface//techtree//techtree_artillery_tab.dds" + textureFile = "gfx/interface/techtree/techtree_artillery_tab.dds" noOfFrames = 2 } spriteType = { name = "GFX_land_doctrine_folder_tab" - textureFile = "gfx//interface//techtree//techtree_landdoctrine_tab.dds" + textureFile = "gfx/interface/techtree/techtree_landdoctrine_tab.dds" noOfFrames = 2 } @@ -136,10 +136,15 @@ spriteTypes = { textureFile = "gfx/interface/techtree/techtree_navaldoctrine_tab_large.dds" noOfFrames = 2 } + spriteType = { + name = "GFX_specialforcesdoctrine_tab_large" + textureFile = "gfx/interface/techtree/techtree_specialforcesdoctrine_tab_large.dds" + noOfFrames = 2 + } spriteType = { name = "GFX_naval_folder_tab" - textureFile = "gfx//interface//techtree//techtree_naval_tab.dds" + textureFile = "gfx/interface/techtree/techtree_naval_tab.dds" noOfFrames = 2 } @@ -151,43 +156,43 @@ spriteTypes = { spriteType = { name = "GFX_naval_doctrine_folder_tab" - textureFile = "gfx//interface//techtree//techtree_navaldoctrine_tab.dds" + textureFile = "gfx/interface/techtree/techtree_navaldoctrine_tab.dds" noOfFrames = 2 } spriteType = { name = "GFX_air_techs_folder_tab" - textureFile = "gfx//interface//techtree//techtree_air_tab.dds" + textureFile = "gfx/interface/techtree/techtree_air_tab.dds" noOfFrames = 2 } spriteType = { name = "GFX_air_doctrine_folder_tab" - textureFile = "gfx//interface//techtree//techtree_airdoctrine_tab.dds" + textureFile = "gfx/interface/techtree/techtree_airdoctrine_tab.dds" noOfFrames = 2 } spriteType = { name = "GFX_secret_weapons_folder_tab" - textureFile = "gfx//interface//techtree//techtree_special_tab.dds" + textureFile = "gfx/interface/techtree/techtree_special_tab.dds" noOfFrames = 2 } spriteType = { name = "GFX_techtree_engineering_tab" - textureFile = "gfx//interface//techtree//techtree_engineering_tab.dds" + textureFile = "gfx/interface/techtree/techtree_engineering_tab.dds" noOfFrames = 2 } spriteType = { name = "GFX_industry_folder_tab" - textureFile = "gfx//interface//techtree//techtree_industry_tab.dds" + textureFile = "gfx/interface/techtree/techtree_industry_tab.dds" noOfFrames = 2 } spriteType = { name = "GFX_techtree_tabs" - textureFile = "gfx//interface//techtree//techtree_tabs.dds" + textureFile = "gfx/interface/techtree/techtree_tabs.dds" noOfFrames = 2 } @@ -212,7 +217,7 @@ spriteTypes = { corneredTileSpriteType = { name = "GFX_tiled_plain_bg" size= { x=192 y=192 } - textureFile = "gfx//interface//tiles//tiled_plain_bg.dds" + textureFile = "gfx/interface/tiles/tiled_plain_bg.dds" borderSize = { x=64 y=64 } tilingCenter = yes effectFile = "gfx/FX/buttonstate_nodowneffect.lua" @@ -221,7 +226,7 @@ spriteTypes = { corneredTileSpriteType = { name = "GFX_tiled_plain_bg2" size= { x=182 y=186 } - textureFile = "gfx//interface//tiles//tiled_plain_bg2.dds" + textureFile = "gfx/interface/tiles/tiled_plain_bg2.dds" borderSize = { x=64 y=64 } tilingCenter = yes effectFile = "gfx/FX/buttonstate_nodowneffect.lua" @@ -230,7 +235,7 @@ spriteTypes = { corneredTileSpriteType = { name = "GFX_tiled_plain_bg_small" size= { x=48 y=48 } - textureFile = "gfx//interface//tiles//tiled_plain_bg_small.dds" + textureFile = "gfx/interface/tiles/tiled_plain_bg_small.dds" borderSize = { x=16 y=16 } tilingCenter = yes effectFile = "gfx/FX/buttonstate_nodowneffect.lua" @@ -239,7 +244,7 @@ spriteTypes = { corneredTileSpriteType = { name = "GFX_tiled_decisions_bg_small" size= { x=48 y=48 } - textureFile = "gfx//interface//tiles//tiled_decisions_bg_small.dds" + textureFile = "gfx/interface/tiles/tiled_decisions_bg_small.dds" borderSize = { x=16 y=16 } tilingCenter = yes effectFile = "gfx/FX/buttonstate_nodowneffect.lua" @@ -248,7 +253,7 @@ spriteTypes = { corneredTileSpriteType = { name = "GFX_tiled_window" size= { x=192 y=192 } - textureFile = "gfx//interface//tiles//tiled_window.dds" + textureFile = "gfx/interface/tiles/tiled_window.dds" borderSize = { x=64 y=64 } tilingCenter = yes effectFile = "gfx/FX/buttonstate_nodowneffect.lua" @@ -257,7 +262,7 @@ spriteTypes = { corneredTileSpriteType = { name = "GFX_tiled_window_w_close" size= { x=192 y=192 } - textureFile = "gfx//interface//tiles//tiled_window_w_close.dds" + textureFile = "gfx/interface/tiles/tiled_window_w_close.dds" borderSize = { x=64 y=64 } tilingCenter = yes effectFile = "gfx/FX/buttonstate_nodowneffect.lua" @@ -266,7 +271,7 @@ spriteTypes = { corneredTileSpriteType = { name = "GFX_tiled_bg_1_scrollbar" size= { x=192 y=192 } - textureFile = "gfx//interface//tiles//tiled_bg_1_scrollbar.dds" + textureFile = "gfx/interface/tiles/tiled_bg_1_scrollbar.dds" borderSize = { x=64 y=64 } tilingCenter = yes effectFile = "gfx/FX/buttonstate_nodowneffect.lua" @@ -275,7 +280,7 @@ spriteTypes = { corneredTileSpriteType = { name = "GFX_tiled_window2_2b_border" size= { x=192 y=192 } - textureFile = "gfx//interface//tiles//tiled_window2_2b_border.dds" + textureFile = "gfx/interface/tiles/tiled_window2_2b_border.dds" borderSize = { x=64 y=64 } tilingCenter = yes effectFile = "gfx/FX/buttonstate_nodowneffect.lua" @@ -284,7 +289,7 @@ spriteTypes = { corneredTileSpriteType = { name = "GFX_tiled_window_2b_border" size= { x=797 y=801 } - textureFile = "gfx//interface//tiles//tiled_window_2b_border.dds" + textureFile = "gfx/interface/tiles/tiled_window_2b_border.dds" borderSize = { x=64 y=64 } tilingCenter = yes effectFile = "gfx/FX/buttonstate_nodowneffect.lua" @@ -293,7 +298,7 @@ spriteTypes = { corneredTileSpriteType = { name = "GFX_tiled_window_2_scrollbars" size= { x=192 y=192 } - textureFile = "gfx//interface//tiles//tiled_window_2_scrollbars.dds" + textureFile = "gfx/interface/tiles/tiled_window_2_scrollbars.dds" borderSize = { x=64 y=64 } tilingCenter = yes effectFile = "gfx/FX/buttonstate_nodowneffect.lua" @@ -302,7 +307,7 @@ spriteTypes = { corneredTileSpriteType = { name = "GFX_tiled_bg" size= { x=192 y=192 } - textureFile = "gfx//interface//tiles//tiled_bg.dds" + textureFile = "gfx/interface/tiles/tiled_bg.dds" borderSize = { x=64 y=64 } tilingCenter = yes effectFile = "gfx/FX/buttonstate_nodowneffect.lua" @@ -311,7 +316,7 @@ spriteTypes = { corneredTileSpriteType = { name = "GFX_tiled_header" size = { x=543 y=41} - texturefile = "gfx//interface//header_bg.dds" + texturefile = "gfx/interface/header_bg.dds" bordersize = { x=61 y=21} tilingCenter = yes effectFile = "gfx/FX/buttonstate_nodowneffect.lua" @@ -319,27 +324,27 @@ spriteTypes = { spriteType = { name = "GFX_technology_available_item_bg" - textureFile = "gfx//interface//techtree//technology_available_item_bg.dds" + textureFile = "gfx/interface/techtree/technology_available_item_bg.dds" } spriteType = { name = "GFX_technology_branch_item_bg" - textureFile = "gfx//interface//techtree//technology_branch_item_bg.dds" + textureFile = "gfx/interface/techtree/technology_branch_item_bg.dds" } spriteType = { name = "GFX_technology_unavailable_item_bg" - textureFile = "gfx//interface//techtree//technology_unavailable_item_bg.dds" + textureFile = "gfx/interface/techtree/technology_unavailable_item_bg.dds" } #spriteType = { # name = "GFX_technology_researched_item_bg" - # textureFile = "gfx//interface//techtree//technology_researched_item_bg.dds" + # textureFile = "gfx/interface/techtree/technology_researched_item_bg.dds" #} frameAnimatedSpriteType = { name = "GFX_technology_researched_item_bg" - texturefile = "gfx//interface//techtree//researched_anim_strip.dds" + texturefile = "gfx/interface/techtree/researched_anim_strip.dds" noOfFrames = 21 animation_rate_fps = 15 looping = yes @@ -376,6 +381,21 @@ spriteTypes = { textureFile = "gfx/interface/subtech_carrier_plane_unavailable_item_bg.dds" } + spriteType = { + name = "GFX_subtechnology_bba_air_techs_available_item_bg" + textureFile = "gfx/interface/subtech_carrier_plane_available_item_bg.dds" + } + + spriteType = { + name = "GFX_subtechnology_bba_air_techs_researched_item_bg" + textureFile = "gfx/interface/subtech_carrier_plane_researched_item_bg.dds" + } + + spriteType = { + name = "GFX_subtechnology_bba_air_techs_unavailable_item_bg" + textureFile = "gfx/interface/subtech_carrier_plane_unavailable_item_bg.dds" + } + spriteType = { name = "GFX_subtech_carrier_plane_bg" textureFile = "gfx/interface/subtech_carrier_plane_bg.dds" @@ -471,7 +491,7 @@ spriteTypes = { frameAnimatedSpriteType = { name = "GFX_technology_currently_researching_item_bg" - texturefile = "gfx//interface//techtree//researching_anim_strip.dds" + texturefile = "gfx/interface/techtree/researching_anim_strip.dds" noOfFrames = 21 loadType = "INGAME" transparencecheck = yes @@ -485,27 +505,27 @@ spriteTypes = { spriteType = { name = "GFX_technology_naval_doctrine_folder_unavailable_item_bg" - textureFile = "gfx//interface//techtree//tech_doctrine_unavailable_item_bg.dds" + textureFile = "gfx/interface/techtree/tech_doctrine_unavailable_item_bg.dds" } spriteType = { name = "GFX_technology_naval_doctrine_folder_branch_item_bg" - textureFile = "gfx//interface//techtree//tech_doctrine_branch_item_bg.dds" + textureFile = "gfx/interface/techtree/tech_doctrine_branch_item_bg.dds" } spriteType = { name = "GFX_technology_naval_doctrine_folder_available_item_bg" - textureFile = "gfx//interface//techtree//tech_doctrine_available_item_bg.dds" + textureFile = "gfx/interface/techtree/tech_doctrine_available_item_bg.dds" } #spriteType = { # name = "GFX_technology_naval_doctrine_folder_researched_item_bg" - # textureFile = "gfx//interface//techtree//tech_landdoctrine_researched_item_bg.dds" + # textureFile = "gfx/interface/techtree/tech_landdoctrine_researched_item_bg.dds" #} frameAnimatedSpriteType = { name = "GFX_technology_naval_doctrine_folder_researched_item_bg" - texturefile = "gfx//interface//techtree//tech_landdoctrine_researched_anim_strip.dds" + texturefile = "gfx/interface/techtree/tech_landdoctrine_researched_anim_strip.dds" noOfFrames = 21 loadType = "INGAME" transparencecheck = yes @@ -517,7 +537,7 @@ spriteTypes = { frameAnimatedSpriteType = { name = "GFX_technology_naval_doctrine_folder_currently_researching_item_bg" - texturefile = "gfx//interface//techtree//tech_doctrine_researching_anim_strip.dds" + texturefile = "gfx/interface/techtree/tech_doctrine_researching_anim_strip.dds" noOfFrames = 21 loadType = "INGAME" transparencecheck = yes @@ -531,27 +551,27 @@ spriteTypes = { spriteType = { name = "GFX_technology_air_doctrine_folder_unavailable_item_bg" - textureFile = "gfx//interface//techtree//tech_doctrine_unavailable_item_bg.dds" + textureFile = "gfx/interface/techtree/tech_doctrine_unavailable_item_bg.dds" } spriteType = { name = "GFX_technology_air_doctrine_folder_available_item_bg" - textureFile = "gfx//interface//techtree//tech_doctrine_available_item_bg.dds" + textureFile = "gfx/interface/techtree/tech_doctrine_available_item_bg.dds" } spriteType = { name = "GFX_technology_air_doctrine_folder_branch_item_bg" - textureFile = "gfx//interface//techtree//tech_doctrine_branch_item_bg.dds" + textureFile = "gfx/interface/techtree/tech_doctrine_branch_item_bg.dds" } #spriteType = { # name = "GFX_technology_air_doctrine_folder_researched_item_bg" - # textureFile = "gfx//interface//techtree//tech_landdoctrine_researched_item_bg.dds" + # textureFile = "gfx/interface/techtree/tech_landdoctrine_researched_item_bg.dds" #} frameAnimatedSpriteType = { name = "GFX_technology_air_doctrine_folder_researched_item_bg" - texturefile = "gfx//interface//techtree//tech_landdoctrine_researched_anim_strip.dds" + texturefile = "gfx/interface/techtree/tech_landdoctrine_researched_anim_strip.dds" noOfFrames = 21 loadType = "INGAME" transparencecheck = yes @@ -563,7 +583,7 @@ spriteTypes = { frameAnimatedSpriteType = { name = "GFX_technology_air_doctrine_folder_currently_researching_item_bg" - texturefile = "gfx//interface//techtree//tech_doctrine_researching_anim_strip.dds" + texturefile = "gfx/interface/techtree/tech_doctrine_researching_anim_strip.dds" noOfFrames = 21 loadType = "INGAME" transparencecheck = yes @@ -577,17 +597,17 @@ spriteTypes = { spriteType = { name = "GFX_technology_land_doctrine_folder_available_item_bg" - textureFile = "gfx//interface//techtree//tech_doctrine_available_item_bg.dds" + textureFile = "gfx/interface/techtree/tech_doctrine_available_item_bg.dds" } spriteType = { name = "GFX_technology_land_doctrine_folder_unavailable_item_bg" - textureFile = "gfx//interface//techtree//tech_doctrine_unavailable_item_bg.dds" + textureFile = "gfx/interface/techtree/tech_doctrine_unavailable_item_bg.dds" } spriteType = { name = "GFX_technology_land_doctrine_folder_branch_item_bg" - textureFile = "gfx//interface//techtree//tech_doctrine_branch_item_bg.dds" + textureFile = "gfx/interface/techtree/tech_doctrine_branch_item_bg.dds" } spriteType = { @@ -597,12 +617,12 @@ spriteTypes = { #spriteType = { # name = "GFX_technology_land_doctrine_folder_researched_item_bg" - # textureFile = "gfx//interface//techtree//tech_landdoctrine_researched_item_bg.dds" + # textureFile = "gfx/interface/techtree/tech_landdoctrine_researched_item_bg.dds" #} frameAnimatedSpriteType = { name = "GFX_technology_land_doctrine_folder_researched_item_bg" - texturefile = "gfx//interface//techtree//tech_landdoctrine_researched_anim_strip.dds" + texturefile = "gfx/interface/techtree/tech_landdoctrine_researched_anim_strip.dds" noOfFrames = 21 loadType = "INGAME" transparencecheck = yes @@ -611,10 +631,32 @@ spriteTypes = { play_on_show = yes pause_on_loop = 0.0 } + + ### special_forces doctrine tech entry bgs ### + + spriteType = { + name = "GFX_technology_special_forces_doctrine_folder_unavailable_item_bg" + textureFile = "gfx//interface//techtree//tech_doctrine_unavailable_item_bg.dds" + } + + spriteType = { + name = "GFX_technology_special_forces_doctrine_folder_branch_item_bg" + textureFile = "gfx//interface//techtree//tech_doctrine_branch_item_bg.dds" + } + + spriteType = { + name = "GFX_technology_special_forces_doctrine_folder_available_item_bg" + textureFile = "gfx//interface//techtree//tech_doctrine_available_item_bg.dds" + } + + spriteType = { + name = "GFX_technology_special_forces_doctrine_folder_researched_item_bg" + textureFile = "gfx//interface//techtree//tech_landdoctrine_researched_item_bg.dds" + } frameAnimatedSpriteType = { name = "GFX_technology_land_doctrine_folder_currently_researching_item_bg" - texturefile = "gfx//interface//techtree//tech_doctrine_researching_anim_strip.dds" + texturefile = "gfx/interface/techtree/tech_doctrine_researching_anim_strip.dds" noOfFrames = 21 loadType = "INGAME" transparencecheck = yes @@ -628,22 +670,22 @@ spriteTypes = { spriteType = { name = "GFX_technology_electronics_folder_available_item_bg" - textureFile = "gfx//interface//techtree//tech_doctrine_available_item_bg.dds" + textureFile = "gfx/interface/techtree/tech_doctrine_available_item_bg.dds" } spriteType = { name = "GFX_technology_electronics_folder_unavailable_item_bg" - textureFile = "gfx//interface//techtree//tech_doctrine_unavailable_item_bg.dds" + textureFile = "gfx/interface/techtree/tech_doctrine_unavailable_item_bg.dds" } #spriteType = { # name = "GFX_technology_electronics_folder_researched_item_bg" - # textureFile = "gfx//interface//techtree//tech_landdoctrine_researched_item_bg.dds" + # textureFile = "gfx/interface/techtree/tech_landdoctrine_researched_item_bg.dds" #} frameAnimatedSpriteType = { name = "GFX_technology_electronics_folder_researched_item_bg" - texturefile = "gfx//interface//techtree//tech_landdoctrine_researched_anim_strip.dds" + texturefile = "gfx/interface/techtree/tech_landdoctrine_researched_anim_strip.dds" noOfFrames = 21 loadType = "INGAME" transparencecheck = yes @@ -655,7 +697,7 @@ spriteTypes = { frameAnimatedSpriteType = { name = "GFX_technology_electronics_folder_currently_researching_item_bg" - texturefile = "gfx//interface//techtree//tech_doctrine_researching_anim_strip.dds" + texturefile = "gfx/interface/techtree/tech_doctrine_researching_anim_strip.dds" noOfFrames = 21 loadType = "INGAME" transparencecheck = yes @@ -669,22 +711,22 @@ spriteTypes = { spriteType = { name = "GFX_technology_industry_folder_available_item_bg" - textureFile = "gfx//interface//techtree//tech_doctrine_available_item_bg.dds" + textureFile = "gfx/interface/techtree/tech_doctrine_available_item_bg.dds" } spriteType = { name = "GFX_technology_industry_folder_unavailable_item_bg" - textureFile = "gfx//interface//techtree//tech_doctrine_unavailable_item_bg.dds" + textureFile = "gfx/interface/techtree/tech_doctrine_unavailable_item_bg.dds" } #spriteType = { # name = "GFX_technology_industry_folder_researched_item_bg" - # textureFile = "gfx//interface//techtree//tech_landdoctrine_researched_item_bg.dds" + # textureFile = "gfx/interface/techtree/tech_landdoctrine_researched_item_bg.dds" #} frameAnimatedSpriteType = { name = "GFX_technology_industry_folder_researched_item_bg" - texturefile = "gfx//interface//techtree//tech_landdoctrine_researched_anim_strip.dds" + texturefile = "gfx/interface/techtree/tech_landdoctrine_researched_anim_strip.dds" noOfFrames = 21 loadType = "INGAME" transparencecheck = yes @@ -696,7 +738,7 @@ spriteTypes = { frameAnimatedSpriteType = { name = "GFX_technology_industry_folder_currently_researching_item_bg" - texturefile = "gfx//interface//techtree//tech_doctrine_researching_anim_strip.dds" + texturefile = "gfx/interface/techtree/tech_doctrine_researching_anim_strip.dds" noOfFrames = 21 loadType = "INGAME" transparencecheck = yes @@ -712,22 +754,22 @@ spriteTypes = { spriteType = { name = "GFX_technology_naval_folder_small_unavailable_item_bg" - textureFile = "gfx//interface//techtree//tech_doctrine_unavailable_item_bg.dds" + textureFile = "gfx/interface/techtree/tech_doctrine_unavailable_item_bg.dds" } spriteType = { name = "GFX_technology_naval_folder_small_available_item_bg" - textureFile = "gfx//interface//techtree//tech_doctrine_available_item_bg.dds" + textureFile = "gfx/interface/techtree/tech_doctrine_available_item_bg.dds" } #spriteType = { # name = "GFX_technology_naval_folder_small_researched_item_bg" - # textureFile = "gfx//interface//techtree//tech_landdoctrine_researched_item_bg.dds" + # textureFile = "gfx/interface/techtree/tech_landdoctrine_researched_item_bg.dds" #} frameAnimatedSpriteType = { name = "GFX_technology_naval_folder_small_researched_item_bg" - texturefile = "gfx//interface//techtree//tech_landdoctrine_researched_anim_strip.dds" + texturefile = "gfx/interface/techtree/tech_landdoctrine_researched_anim_strip.dds" noOfFrames = 21 loadType = "INGAME" transparencecheck = yes @@ -739,7 +781,7 @@ spriteTypes = { frameAnimatedSpriteType = { name = "GFX_technology_naval_folder_small_currently_researching_item_bg" - texturefile = "gfx//interface//techtree//tech_doctrine_researching_anim_strip.dds" + texturefile = "gfx/interface/techtree/tech_doctrine_researching_anim_strip.dds" noOfFrames = 21 loadType = "INGAME" transparencecheck = yes @@ -751,43 +793,43 @@ spriteTypes = { #spriteType = { # name = "GFX_technology_naval_folder_currently_researching_item_bg" - # textureFile = "gfx//interface//techtree//tech_naval_currently_researching_item.dds" + # textureFile = "gfx/interface/techtree/tech_naval_currently_researching_item.dds" #} # #spriteType = { # name = "GFX_technology_naval_folder_available_item_bg" - # textureFile = "gfx//interface//techtree//tech_naval_available_item_bg.dds" + # textureFile = "gfx/interface/techtree/tech_naval_available_item_bg.dds" #} # #spriteType = { # name = "GFX_technology_naval_folder_unavailable_item_bg" - # textureFile = "gfx//interface//techtree//tech_naval_unavailable_item_bg.dds" + # textureFile = "gfx/interface/techtree/tech_naval_unavailable_item_bg.dds" #} # #spriteType = { # name = "GFX_technology_naval_folder_researched_item_bg" - # textureFile = "gfx//interface//techtree//tech_naval_researched_item_bg.dds" + # textureFile = "gfx/interface/techtree/tech_naval_researched_item_bg.dds" #} spriteType = { name = "GFX_technology_mtgnavalfolder_small_unavailable_item_bg" - textureFile = "gfx//interface//techtree//tech_doctrine_unavailable_item_bg.dds" + textureFile = "gfx/interface/techtree/tech_doctrine_unavailable_item_bg.dds" } spriteType = { name = "GFX_technology_mtgnavalfolder_small_available_item_bg" - textureFile = "gfx//interface//techtree//tech_doctrine_available_item_bg.dds" + textureFile = "gfx/interface/techtree/tech_doctrine_available_item_bg.dds" } #spriteType = { # name = "GFX_technology_mtgnavalfolder_small_researched_item_bg" - # textureFile = "gfx//interface//techtree//tech_landdoctrine_researched_item_bg.dds" + # textureFile = "gfx/interface/techtree/tech_landdoctrine_researched_item_bg.dds" #} frameAnimatedSpriteType = { name = "GFX_technology_mtgnavalfolder_small_researched_item_bg" - texturefile = "gfx//interface//techtree//tech_landdoctrine_researched_anim_strip.dds" + texturefile = "gfx/interface/techtree/tech_landdoctrine_researched_anim_strip.dds" noOfFrames = 21 loadType = "INGAME" transparencecheck = yes @@ -799,7 +841,7 @@ spriteTypes = { frameAnimatedSpriteType = { name = "GFX_technology_mtgnavalfolder_small_currently_researching_item_bg" - texturefile = "gfx//interface//techtree//tech_doctrine_researching_anim_strip.dds" + texturefile = "gfx/interface/techtree/tech_doctrine_researching_anim_strip.dds" noOfFrames = 21 loadType = "INGAME" transparencecheck = yes @@ -811,22 +853,22 @@ spriteTypes = { spriteType = { name = "GFX_technology_mtgnavalfolder_currently_researching_item_bg" - textureFile = "gfx//interface//techtree//tech_naval_currently_researching_item.dds" + textureFile = "gfx/interface/techtree/tech_naval_currently_researching_item.dds" } spriteType = { name = "GFX_technology_mtgnavalfolder_available_item_bg" - textureFile = "gfx//interface//techtree//tech_naval_available_item_bg.dds" + textureFile = "gfx/interface/techtree/tech_naval_available_item_bg.dds" } spriteType = { name = "GFX_technology_mtgnavalfolder_unavailable_item_bg" - textureFile = "gfx//interface//techtree//tech_naval_unavailable_item_bg.dds" + textureFile = "gfx/interface/techtree/tech_naval_unavailable_item_bg.dds" } spriteType = { name = "GFX_technology_mtgnavalfolder_researched_item_bg" - textureFile = "gfx//interface//techtree//tech_naval_researched_item_bg.dds" + textureFile = "gfx/interface/techtree/tech_naval_researched_item_bg.dds" } @@ -834,22 +876,22 @@ spriteTypes = { spriteType = { name = "GFX_technology_infantry_folder_small_unavailable_item_bg" - textureFile = "gfx//interface//techtree//tech_doctrine_unavailable_item_bg.dds" + textureFile = "gfx/interface/techtree/tech_doctrine_unavailable_item_bg.dds" } spriteType = { name = "GFX_technology_infantry_folder_small_available_item_bg" - textureFile = "gfx//interface//techtree//tech_doctrine_available_item_bg.dds" + textureFile = "gfx/interface/techtree/tech_doctrine_available_item_bg.dds" } #spriteType = { # name = "GFX_technology_infantry_folder_small_researched_item_bg" - # textureFile = "gfx//interface//techtree//tech_landdoctrine_researched_item_bg.dds" + # textureFile = "gfx/interface/techtree/tech_landdoctrine_researched_item_bg.dds" #} frameAnimatedSpriteType = { name = "GFX_technology_infantry_folder_small_researched_item_bg" - texturefile = "gfx//interface//techtree//tech_landdoctrine_researched_anim_strip.dds" + texturefile = "gfx/interface/techtree/tech_landdoctrine_researched_anim_strip.dds" noOfFrames = 21 loadType = "INGAME" transparencecheck = yes @@ -867,22 +909,22 @@ spriteTypes = { # support spriteType = { name = "GFX_technology_support_folder_small_unavailable_item_bg" - textureFile = "gfx//interface//techtree//tech_doctrine_unavailable_item_bg.dds" + textureFile = "gfx/interface/techtree/tech_doctrine_unavailable_item_bg.dds" } spriteType = { name = "GFX_technology_support_folder_small_available_item_bg" - textureFile = "gfx//interface//techtree//tech_doctrine_available_item_bg.dds" + textureFile = "gfx/interface/techtree/tech_doctrine_available_item_bg.dds" } #spriteType = { # name = "GFX_technology_support_folder_small_researched_item_bg" - # textureFile = "gfx//interface//techtree//tech_landdoctrine_researched_item_bg.dds" + # textureFile = "gfx/interface/techtree/tech_landdoctrine_researched_item_bg.dds" #} frameAnimatedSpriteType = { name = "GFX_technology_support_folder_small_researched_item_bg" - texturefile = "gfx//interface//techtree//tech_landdoctrine_researched_anim_strip.dds" + texturefile = "gfx/interface/techtree/tech_landdoctrine_researched_anim_strip.dds" noOfFrames = 21 loadType = "INGAME" transparencecheck = yes @@ -894,7 +936,7 @@ spriteTypes = { frameAnimatedSpriteType = { name = "GFX_technology_support_folder_small_currently_researching_item_bg" - texturefile = "gfx//interface//techtree//tech_doctrine_researching_anim_strip.dds" + texturefile = "gfx/interface/techtree/tech_doctrine_researching_anim_strip.dds" noOfFrames = 21 loadType = "INGAME" transparencecheck = yes @@ -907,22 +949,22 @@ spriteTypes = { # armour folder (non-nsb) spriteType = { name = "GFX_technology_armour_folder_small_unavailable_item_bg" - textureFile = "gfx//interface//techtree//tech_doctrine_unavailable_item_bg.dds" + textureFile = "gfx/interface/techtree/tech_doctrine_unavailable_item_bg.dds" } spriteType = { name = "GFX_technology_armour_folder_small_available_item_bg" - textureFile = "gfx//interface//techtree//tech_doctrine_available_item_bg.dds" + textureFile = "gfx/interface/techtree/tech_doctrine_available_item_bg.dds" } #spriteType = { # name = "GFX_technology_armour_folder_small_researched_item_bg" - # textureFile = "gfx//interface//techtree//tech_landdoctrine_researched_item_bg.dds" + # textureFile = "gfx/interface/techtree/tech_landdoctrine_researched_item_bg.dds" #} frameAnimatedSpriteType = { name = "GFX_technology_armour_folder_small_researched_item_bg" - texturefile = "gfx//interface//techtree//tech_landdoctrine_researched_anim_strip.dds" + texturefile = "gfx/interface/techtree/tech_landdoctrine_researched_anim_strip.dds" noOfFrames = 21 loadType = "INGAME" transparencecheck = yes @@ -934,7 +976,7 @@ spriteTypes = { frameAnimatedSpriteType = { name = "GFX_technology_armour_folder_small_currently_researching_item_bg" - texturefile = "gfx//interface//techtree//tech_doctrine_researching_anim_strip.dds" + texturefile = "gfx/interface/techtree/tech_doctrine_researching_anim_strip.dds" noOfFrames = 21 loadType = "INGAME" transparencecheck = yes @@ -947,22 +989,22 @@ spriteTypes = { # orcs folder (non-nsb) spriteType = { name = "GFX_technology_orcs_special_folder_small_unavailable_item_bg" - textureFile = "gfx//interface//techtree//tech_doctrine_unavailable_item_bg.dds" + textureFile = "gfx/interface/techtree/tech_doctrine_unavailable_item_bg.dds" } spriteType = { name = "GFX_technology_orcs_special_folder_small_available_item_bg" - textureFile = "gfx//interface//techtree//tech_doctrine_available_item_bg.dds" + textureFile = "gfx/interface/techtree/tech_doctrine_available_item_bg.dds" } #spriteType = { # name = "GFX_technology_orcs_special_folder_small_researched_item_bg" - # textureFile = "gfx//interface//techtree//tech_landdoctrine_researched_item_bg.dds" + # textureFile = "gfx/interface/techtree/tech_landdoctrine_researched_item_bg.dds" #} frameAnimatedSpriteType = { name = "GFX_technology_orcs_special_folder_small_researched_item_bg" - texturefile = "gfx//interface//techtree//tech_landdoctrine_researched_anim_strip.dds" + texturefile = "gfx/interface/techtree/tech_landdoctrine_researched_anim_strip.dds" noOfFrames = 21 loadType = "INGAME" transparencecheck = yes @@ -974,7 +1016,7 @@ spriteTypes = { frameAnimatedSpriteType = { name = "GFX_technology_orcs_special_folder_small_currently_researching_item_bg" - texturefile = "gfx//interface//techtree//tech_doctrine_researching_anim_strip.dds" + texturefile = "gfx/interface/techtree/tech_doctrine_researching_anim_strip.dds" noOfFrames = 21 loadType = "INGAME" transparencecheck = yes @@ -987,22 +1029,22 @@ spriteTypes = { # elves folder (non-nsb) spriteType = { name = "GFX_technology_elves_special_folder_small_unavailable_item_bg" - textureFile = "gfx//interface//techtree//tech_doctrine_unavailable_item_bg.dds" + textureFile = "gfx/interface/techtree/tech_doctrine_unavailable_item_bg.dds" } spriteType = { name = "GFX_technology_elves_special_folder_small_available_item_bg" - textureFile = "gfx//interface//techtree//tech_doctrine_available_item_bg.dds" + textureFile = "gfx/interface/techtree/tech_doctrine_available_item_bg.dds" } #spriteType = { # name = "GFX_technology_elves_special_folder_small_researched_item_bg" - # textureFile = "gfx//interface//techtree//tech_landdoctrine_researched_item_bg.dds" + # textureFile = "gfx/interface/techtree/tech_landdoctrine_researched_item_bg.dds" #} frameAnimatedSpriteType = { name = "GFX_technology_elves_special_folder_small_researched_item_bg" - texturefile = "gfx//interface//techtree//tech_landdoctrine_researched_anim_strip.dds" + texturefile = "gfx/interface/techtree/tech_landdoctrine_researched_anim_strip.dds" noOfFrames = 21 loadType = "INGAME" transparencecheck = yes @@ -1014,7 +1056,7 @@ spriteTypes = { frameAnimatedSpriteType = { name = "GFX_technology_elves_special_folder_small_currently_researching_item_bg" - texturefile = "gfx//interface//techtree//tech_doctrine_researching_anim_strip.dds" + texturefile = "gfx/interface/techtree/tech_doctrine_researching_anim_strip.dds" noOfFrames = 21 loadType = "INGAME" transparencecheck = yes @@ -1027,22 +1069,22 @@ spriteTypes = { # dwarves folder (non-nsb) spriteType = { name = "GFX_technology_dwarves_special_folder_small_unavailable_item_bg" - textureFile = "gfx//interface//techtree//tech_doctrine_unavailable_item_bg.dds" + textureFile = "gfx/interface/techtree/tech_doctrine_unavailable_item_bg.dds" } spriteType = { name = "GFX_technology_dwarves_special_folder_small_available_item_bg" - textureFile = "gfx//interface//techtree//tech_doctrine_available_item_bg.dds" + textureFile = "gfx/interface/techtree/tech_doctrine_available_item_bg.dds" } spriteType = { name = "GFX_technology_dwarves_special_folder_small_researched_item_bg" - textureFile = "gfx//interface//techtree//tech_landdoctrine_researched_item_bg.dds" + textureFile = "gfx/interface/techtree/tech_landdoctrine_researched_item_bg.dds" } frameAnimatedSpriteType = { name = "GFX_technology_dwarves_special_folder_small_researched_item_bg" - texturefile = "gfx//interface//techtree//tech_landdoctrine_researched_anim_strip.dds" + texturefile = "gfx/interface/techtree/tech_landdoctrine_researched_anim_strip.dds" noOfFrames = 21 loadType = "INGAME" transparencecheck = yes @@ -1054,7 +1096,7 @@ spriteTypes = { frameAnimatedSpriteType = { name = "GFX_technology_dwarves_special_folder_small_currently_researching_item_bg" - texturefile = "gfx//interface//techtree//tech_doctrine_researching_anim_strip.dds" + texturefile = "gfx/interface/techtree/tech_doctrine_researching_anim_strip.dds" noOfFrames = 21 loadType = "INGAME" transparencecheck = yes @@ -1067,22 +1109,22 @@ spriteTypes = { # men folder (non-nsb) spriteType = { name = "GFX_technology_men_special_folder_small_unavailable_item_bg" - textureFile = "gfx//interface//techtree//tech_doctrine_unavailable_item_bg.dds" + textureFile = "gfx/interface/techtree/tech_doctrine_unavailable_item_bg.dds" } spriteType = { name = "GFX_technology_men_special_folder_small_available_item_bg" - textureFile = "gfx//interface//techtree//tech_doctrine_available_item_bg.dds" + textureFile = "gfx/interface/techtree/tech_doctrine_available_item_bg.dds" } #spriteType = { # name = "GFX_technology_men_special_folder_small_researched_item_bg" - # textureFile = "gfx//interface//techtree//tech_landdoctrine_researched_item_bg.dds" + # textureFile = "gfx/interface/techtree/tech_landdoctrine_researched_item_bg.dds" #} frameAnimatedSpriteType = { name = "GFX_technology_men_special_folder_small_researched_item_bg" - texturefile = "gfx//interface//techtree//tech_landdoctrine_researched_anim_strip.dds" + texturefile = "gfx/interface/techtree/tech_landdoctrine_researched_anim_strip.dds" noOfFrames = 21 loadType = "INGAME" transparencecheck = yes @@ -1094,7 +1136,7 @@ spriteTypes = { frameAnimatedSpriteType = { name = "GFX_technology_men_special_folder_small_currently_researching_item_bg" - texturefile = "gfx//interface//techtree//tech_doctrine_researching_anim_strip.dds" + texturefile = "gfx/interface/techtree/tech_doctrine_researching_anim_strip.dds" noOfFrames = 21 loadType = "INGAME" transparencecheck = yes @@ -1107,17 +1149,17 @@ spriteTypes = { # foreign spriteType = { name = "GFX_technology_support_folder_small_foreign_unavailable_item_bg" - textureFile = "gfx//interface//techtree//tech_doctrine_unavailable_item_bg.dds" + textureFile = "gfx/interface/techtree/tech_doctrine_unavailable_item_bg.dds" } spriteType = { name = "GFX_technology_support_folder_small_foreign_available_item_bg" - textureFile = "gfx//interface//techtree//tech_doctrine_available_item_bg.dds" + textureFile = "gfx/interface/techtree/tech_doctrine_available_item_bg.dds" } frameAnimatedSpriteType = { name = "GFX_technology_support_folder_small_foreign_currently_researching_item_bg" - texturefile = "gfx//interface//techtree//tech_doctrine_researching_anim_strip.dds" + texturefile = "gfx/interface/techtree/tech_doctrine_researching_anim_strip.dds" noOfFrames = 21 loadType = "INGAME" transparencecheck = yes @@ -1129,12 +1171,12 @@ spriteTypes = { #spriteType = { # name = "GFX_technology_support_folder_small_foreign_researched_item_bg" - # textureFile = "gfx//interface//techtree//tech_landdoctrine_researched_item_bg.dds" + # textureFile = "gfx/interface/techtree/tech_landdoctrine_researched_item_bg.dds" #} frameAnimatedSpriteType = { name = "GFX_technology_support_folder_small_foreign_researched_item_bg" - texturefile = "gfx//interface//techtree//tech_landdoctrine_researched_anim_strip.dds" + texturefile = "gfx/interface/techtree/tech_landdoctrine_researched_anim_strip.dds" noOfFrames = 21 loadType = "INGAME" transparencecheck = yes @@ -1146,22 +1188,22 @@ spriteTypes = { spriteType = { name = "GFX_technology_support_folder_foreign_unavailable_item_bg" - textureFile = "gfx//interface//techtree//technology_unavailable_item_bg.dds" + textureFile = "gfx/interface/techtree/technology_unavailable_item_bg.dds" } spriteType = { name = "GFX_technology_support_folder_foreign_available_item_bg" - textureFile = "gfx//interface//techtree//technology_available_item_bg.dds" + textureFile = "gfx/interface/techtree/technology_available_item_bg.dds" } #spriteType = { # name = "GFX_technology_support_folder_foreign_researched_item_bg" - # textureFile = "gfx//interface//techtree//technology_researched_item_bg.dds" + # textureFile = "gfx/interface/techtree/technology_researched_item_bg.dds" #} frameAnimatedSpriteType = { name = "GFX_technology_support_folder_foreign_researched_item_bg" - texturefile = "gfx//interface//techtree//researched_anim_strip.dds" + texturefile = "gfx/interface/techtree/researched_anim_strip.dds" noOfFrames = 21 animation_rate_fps = 15 looping = yes @@ -1173,7 +1215,7 @@ spriteTypes = { frameAnimatedSpriteType = { name = "GFX_technology_support_folder_foreign_currently_researching_item_bg" - texturefile = "gfx//interface//techtree//researching_anim_strip.dds" + texturefile = "gfx/interface/techtree/researching_anim_strip.dds" noOfFrames = 21 loadType = "INGAME" transparencecheck = yes @@ -1186,22 +1228,22 @@ spriteTypes = { # aircraft folder spriteType = { name = "GFX_technology_air_techs_folder_foreign_unavailable_item_bg" - textureFile = "gfx//interface//techtree//technology_unavailable_item_bg.dds" + textureFile = "gfx/interface/techtree/technology_unavailable_item_bg.dds" } spriteType = { name = "GFX_technology_air_techs_folder_foreign_available_item_bg" - textureFile = "gfx//interface//techtree//technology_available_item_bg.dds" + textureFile = "gfx/interface/techtree/technology_available_item_bg.dds" } spriteType = { name = "GFX_technology_air_techs_folder_foreign_researched_item_bg" - textureFile = "gfx//interface//techtree//technology_researched_item_bg.dds" + textureFile = "gfx/interface/techtree/technology_researched_item_bg.dds" } frameAnimatedSpriteType = { name = "GFX_technology_air_techs_folder_foreign_currently_researching_item_bg" - texturefile = "gfx//interface//techtree//researching_anim_strip.dds" + texturefile = "gfx/interface/techtree/researching_anim_strip.dds" noOfFrames = 21 loadType = "INGAME" transparencecheck = yes @@ -1213,7 +1255,7 @@ spriteTypes = { frameAnimatedSpriteType = { name = "GFX_technology_infantry_folder_small_currently_researching_item_bg" - texturefile = "gfx//interface//techtree//tech_doctrine_researching_anim_strip.dds" + texturefile = "gfx/interface/techtree/tech_doctrine_researching_anim_strip.dds" noOfFrames = 21 loadType = "INGAME" transparencecheck = yes @@ -1228,22 +1270,22 @@ spriteTypes = { spriteType = { name = "GFX_technology_artillery_folder_small_unavailable_item_bg" - textureFile = "gfx//interface//techtree//tech_doctrine_unavailable_item_bg.dds" + textureFile = "gfx/interface/techtree/tech_doctrine_unavailable_item_bg.dds" } spriteType = { name = "GFX_technology_artillery_folder_small_available_item_bg" - textureFile = "gfx//interface//techtree//tech_doctrine_available_item_bg.dds" + textureFile = "gfx/interface/techtree/tech_doctrine_available_item_bg.dds" } #spriteType = { # name = "GFX_technology_artillery_folder_small_researched_item_bg" - # textureFile = "gfx//interface//techtree//tech_landdoctrine_researched_item_bg.dds" + # textureFile = "gfx/interface/techtree/tech_landdoctrine_researched_item_bg.dds" #} frameAnimatedSpriteType = { name = "GFX_technology_artillery_folder_small_researched_item_bg" - texturefile = "gfx//interface//techtree//tech_landdoctrine_researched_anim_strip.dds" + texturefile = "gfx/interface/techtree/tech_landdoctrine_researched_anim_strip.dds" noOfFrames = 21 loadType = "INGAME" transparencecheck = yes @@ -1255,7 +1297,7 @@ spriteTypes = { frameAnimatedSpriteType = { name = "GFX_technology_artillery_folder_small_currently_researching_item_bg" - texturefile = "gfx//interface//techtree//tech_doctrine_researching_anim_strip.dds" + texturefile = "gfx/interface/techtree/tech_doctrine_researching_anim_strip.dds" noOfFrames = 21 loadType = "INGAME" transparencecheck = yes @@ -1270,22 +1312,22 @@ spriteTypes = { spriteType = { name = "GFX_technology_nsb_armour_folder_small_unavailable_item_bg" - textureFile = "gfx//interface//techtree//tech_doctrine_unavailable_item_bg.dds" + textureFile = "gfx/interface/techtree/tech_doctrine_unavailable_item_bg.dds" } spriteType = { name = "GFX_technology_nsb_armour_folder_small_available_item_bg" - textureFile = "gfx//interface//techtree//tech_doctrine_available_item_bg.dds" + textureFile = "gfx/interface/techtree/tech_doctrine_available_item_bg.dds" } #spriteType = { # name = "GFX_technology_nsb_armour_folder_small_researched_item_bg" - # textureFile = "gfx//interface//techtree//tech_landdoctrine_researched_item_bg.dds" + # textureFile = "gfx/interface/techtree/tech_landdoctrine_researched_item_bg.dds" #} frameAnimatedSpriteType = { name = "GFX_technology_nsb_armour_folder_small_researched_item_bg" - texturefile = "gfx//interface//techtree//tech_landdoctrine_researched_anim_strip.dds" + texturefile = "gfx/interface/techtree/tech_landdoctrine_researched_anim_strip.dds" noOfFrames = 21 loadType = "INGAME" transparencecheck = yes @@ -1297,7 +1339,7 @@ spriteType = { frameAnimatedSpriteType = { name = "GFX_technology_nsb_armour_folder_small_currently_researching_item_bg" - texturefile = "gfx//interface//techtree//tech_doctrine_researching_anim_strip.dds" + texturefile = "gfx/interface/techtree/tech_doctrine_researching_anim_strip.dds" noOfFrames = 21 loadType = "INGAME" transparencecheck = yes @@ -1309,7 +1351,7 @@ spriteType = { frameAnimatedSpriteType = { name = "GFX_techtree_line_down_currently_researching" - texturefile = "gfx//interface//techtree//techtree_line_down_strip.dds" + texturefile = "gfx/interface/techtree/techtree_line_down_strip.dds" noOfFrames = 12 loadType = "INGAME" transparencecheck = yes @@ -1321,7 +1363,7 @@ spriteType = { frameAnimatedSpriteType = { name = "GFX_techtree_line_left_currently_researching" - texturefile = "gfx//interface//techtree//techtree_line_left_strip.dds" + texturefile = "gfx/interface/techtree/techtree_line_left_strip.dds" noOfFrames = 12 loadType = "INGAME" transparencecheck = yes @@ -1333,7 +1375,7 @@ spriteType = { frameAnimatedSpriteType = { name = "GFX_techtree_line_right_currently_researching" - texturefile = "gfx//interface//techtree//techtree_line_right_strip.dds" + texturefile = "gfx/interface/techtree/techtree_line_right_strip.dds" noOfFrames = 12 loadType = "INGAME" transparencecheck = yes @@ -1345,7 +1387,7 @@ spriteType = { frameAnimatedSpriteType = { name = "GFX_techtree_line_up_currently_researching" - texturefile = "gfx//interface//techtree//techtree_line_up_strip.dds" + texturefile = "gfx/interface/techtree/techtree_line_up_strip.dds" noOfFrames = 12 loadType = "INGAME" transparencecheck = yes @@ -1357,109 +1399,109 @@ spriteType = { spriteType = { name = "GFX_techtree_line_horisontal" - textureFile = "gfx//interface//techtree//techtree_line_horisontal.dds" + textureFile = "gfx/interface/techtree/techtree_line_horisontal.dds" noOfFrames = 4 } spriteType = { name = "GFX_techtree_line_vertical" - textureFile = "gfx//interface//techtree//techtree_line_vertical.dds" + textureFile = "gfx/interface/techtree/techtree_line_vertical.dds" noOfFrames = 4 } spriteType = { name = "GFX_techtree_line_up_states" - textureFile = "gfx//interface//techtree//techtree_line_vertical.dds" + textureFile = "gfx/interface/techtree/techtree_line_vertical.dds" noOfFrames = 4 } spriteType = { name = "GFX_techtree_line_down_states" - textureFile = "gfx//interface//techtree//techtree_line_vertical.dds" + textureFile = "gfx/interface/techtree/techtree_line_vertical.dds" noOfFrames = 4 } spriteType = { name = "GFX_techtree_line_left_states" - textureFile = "gfx//interface//techtree//techtree_line_horisontal.dds" + textureFile = "gfx/interface/techtree/techtree_line_horisontal.dds" noOfFrames = 4 } spriteType = { name = "GFX_techtree_line_right_states" - textureFile = "gfx//interface//techtree//techtree_line_horisontal.dds" + textureFile = "gfx/interface/techtree/techtree_line_horisontal.dds" noOfFrames = 4 } spriteType = { name = "GFX_techtree_line_up_available" - textureFile = "gfx//interface//techtree//techtree_line_vertical.dds" + textureFile = "gfx/interface/techtree/techtree_line_vertical.dds" noOfFrames = 4 } spriteType = { name = "GFX_techtree_line_down_available" - textureFile = "gfx//interface//techtree//techtree_line_vertical.dds" + textureFile = "gfx/interface/techtree/techtree_line_vertical.dds" noOfFrames = 4 } spriteType = { name = "GFX_techtree_line_left_available" - textureFile = "gfx//interface//techtree//techtree_line_horisontal.dds" + textureFile = "gfx/interface/techtree/techtree_line_horisontal.dds" noOfFrames = 4 } spriteType = { name = "GFX_techtree_line_right_available" - textureFile = "gfx//interface//techtree//techtree_line_horisontal.dds" + textureFile = "gfx/interface/techtree/techtree_line_horisontal.dds" noOfFrames = 4 } spriteType = { name = "GFX_techtree_line_up_researched" - textureFile = "gfx//interface//techtree//techtree_line_vertical.dds" + textureFile = "gfx/interface/techtree/techtree_line_vertical.dds" noOfFrames = 4 } spriteType = { name = "GFX_techtree_line_down_researched" - textureFile = "gfx//interface//techtree//techtree_line_vertical.dds" + textureFile = "gfx/interface/techtree/techtree_line_vertical.dds" noOfFrames = 4 } spriteType = { name = "GFX_techtree_line_left_researched" - textureFile = "gfx//interface//techtree/techtree_line_horisontal.dds" + textureFile = "gfx/interface/techtree/techtree_line_horisontal.dds" noOfFrames = 4 } spriteType = { name = "GFX_techtree_line_right_researched" - textureFile = "gfx//interface//techtree/techtree_line_horisontal.dds" + textureFile = "gfx/interface/techtree/techtree_line_horisontal.dds" noOfFrames = 4 } spriteType = { name = "GFX_technology_medium" - textureFile = "gfx//interface//technologies//tank_icon.dds" + textureFile = "gfx/interface/technologies/tank_icon.dds" } spriteType = { name = "GFX_technology_small" - textureFile = "gfx//interface//technologies//tank_small_icon.dds" + textureFile = "gfx/interface/technologies/tank_small_icon.dds" } #### Techtree line centerpieces, do not touch!! #### spriteType = { name = "GFX_techline_center_down_states" - textureFile = "gfx//interface//techtree//techline_center_down_researched.dds" + textureFile = "gfx/interface/techtree/techline_center_down_researched.dds" noOfFrames = 4 } frameAnimatedSpriteType = { name = "GFX_techline_center_down_currently_researching" - texturefile = "gfx//interface//techtree//techline_center_down_anim_strip.dds" + texturefile = "gfx/interface/techtree/techline_center_down_anim_strip.dds" noOfFrames = 12 loadType = "INGAME" transparencecheck = yes @@ -1471,13 +1513,13 @@ spriteType = { spriteType = { name = "GFX_techline_center_right_states" - textureFile = "gfx//interface//techtree//techline_center_right_researched.dds" + textureFile = "gfx/interface/techtree/techline_center_right_researched.dds" noOfFrames = 4 } frameAnimatedSpriteType = { name = "GFX_techline_center_right_currently_researching" - texturefile = "gfx//interface//techtree//techline_center_right_anim_strip.dds" + texturefile = "gfx/interface/techtree/techline_center_right_anim_strip.dds" noOfFrames = 12 loadType = "INGAME" transparencecheck = yes @@ -1489,13 +1531,13 @@ spriteType = { spriteType = { name = "GFX_techline_center_left_states" - textureFile = "gfx//interface//techtree//techline_center_left_researched.dds" + textureFile = "gfx/interface/techtree/techline_center_left_researched.dds" noOfFrames = 4 } frameAnimatedSpriteType = { name = "GFX_techline_center_left_currently_researching" - texturefile = "gfx//interface//techtree//techline_center_left_anim_strip.dds" + texturefile = "gfx/interface/techtree/techline_center_left_anim_strip.dds" noOfFrames = 12 loadType = "INGAME" transparencecheck = yes @@ -1507,13 +1549,13 @@ spriteType = { spriteType = { name = "GFX_techline_center_top_left_states" - textureFile = "gfx//interface//techtree//techline_center_top_left_researched.dds" + textureFile = "gfx/interface/techtree/techline_center_top_left_researched.dds" noOfFrames = 4 } frameAnimatedSpriteType = { name = "GFX_techline_center_top_left_currently_researching" - texturefile = "gfx//interface//techtree//techline_center_top_left_anim_strip.dds" + texturefile = "gfx/interface/techtree/techline_center_top_left_anim_strip.dds" noOfFrames = 12 loadType = "INGAME" transparencecheck = yes @@ -1525,13 +1567,13 @@ spriteType = { spriteType = { name = "GFX_techline_center_all_states" - textureFile = "gfx//interface//techtree//techline_center_all_researched.dds" + textureFile = "gfx/interface/techtree/techline_center_all_researched.dds" noOfFrames = 4 } frameAnimatedSpriteType = { name = "GFX_techline_center_all_currently_researching" - texturefile = "gfx//interface//techtree//techline_center_all_strip.dds" + texturefile = "gfx/interface/techtree/techline_center_all_strip.dds" noOfFrames = 12 loadType = "INGAME" transparencecheck = yes @@ -1543,13 +1585,13 @@ spriteType = { spriteType = { name = "GFX_techline_center_top_right_states" - textureFile = "gfx//interface//techtree//techline_center_top_right_researched.dds" + textureFile = "gfx/interface/techtree/techline_center_top_right_researched.dds" noOfFrames = 4 } frameAnimatedSpriteType = { name = "GFX_techline_center_top_right_currently_researching" - texturefile = "gfx//interface//techtree//techline_center_top_right_strip.dds" + texturefile = "gfx/interface/techtree/techline_center_top_right_strip.dds" noOfFrames = 12 loadType = "INGAME" transparencecheck = yes @@ -1561,13 +1603,13 @@ spriteType = { spriteType = { name = "GFX_techline_center_bottom_left_states" - textureFile = "gfx//interface//techtree//techline_center_bottom_left_researched.dds" + textureFile = "gfx/interface/techtree/techline_center_bottom_left_researched.dds" noOfFrames = 4 } frameAnimatedSpriteType = { name = "GFX_techline_center_bottom_left_currently_researching" - texturefile = "gfx//interface//techtree//techline_center_bottom_left_anim_strip.dds" + texturefile = "gfx/interface/techtree/techline_center_bottom_left_anim_strip.dds" noOfFrames = 12 loadType = "INGAME" transparencecheck = yes @@ -1579,13 +1621,13 @@ spriteType = { spriteType = { name = "GFX_techline_center_bottom_right_states" - textureFile = "gfx//interface//techtree//techline_center_bottom_right_researched.dds" + textureFile = "gfx/interface/techtree/techline_center_bottom_right_researched.dds" noOfFrames = 4 } frameAnimatedSpriteType = { name = "GFX_techline_center_bottom_right_currently_researching" - texturefile = "gfx//interface//techtree//techline_center_bottom_right_anim_strip.dds" + texturefile = "gfx/interface/techtree/techline_center_bottom_right_anim_strip.dds" noOfFrames = 12 loadType = "INGAME" transparencecheck = yes @@ -1597,13 +1639,13 @@ spriteType = { spriteType = { name = "GFX_techline_center_up_states" - textureFile = "gfx//interface//techtree//techline_center_up_researched.dds" + textureFile = "gfx/interface/techtree/techline_center_up_researched.dds" noOfFrames = 4 } frameAnimatedSpriteType = { name = "GFX_techline_center_up_currently_researching" - texturefile = "gfx//interface//techtree//techline_center_up_anim_strip.dds" + texturefile = "gfx/interface/techtree/techline_center_up_anim_strip.dds" noOfFrames = 12 loadType = "INGAME" transparencecheck = yes @@ -1617,13 +1659,13 @@ spriteType = { spriteType = { name = "GFX_techtree_line_up_dot_states" - textureFile = "gfx//interface//techtree/techtree_dotline_vertical.dds" + textureFile = "gfx/interface/techtree/techtree_dotline_vertical.dds" noOfFrames = 4 } frameAnimatedSpriteType = { name = "GFX_techtree_line_up_dot_currently_researching" - texturefile = "gfx//interface//techtree/techtree_dotline_vertical_up_anim_strip.dds" + texturefile = "gfx/interface/techtree/techtree_dotline_vertical_up_anim_strip.dds" noOfFrames = 12 loadType = "INGAME" transparencecheck = yes @@ -1635,13 +1677,13 @@ spriteType = { spriteType = { name = "GFX_techtree_line_down_dot_states" - textureFile = "gfx//interface//techtree/techtree_dotline_vertical.dds" + textureFile = "gfx/interface/techtree/techtree_dotline_vertical.dds" noOfFrames = 4 } frameAnimatedSpriteType = { name = "GFX_techtree_line_down_dot_currently_researching" - texturefile = "gfx//interface//techtree/techtree_dotline_vertical_down_anim_strip.dds" + texturefile = "gfx/interface/techtree/techtree_dotline_vertical_down_anim_strip.dds" noOfFrames = 12 loadType = "INGAME" transparencecheck = yes @@ -1653,13 +1695,13 @@ spriteType = { spriteType = { name = "GFX_techtree_line_left_dot_states" - textureFile = "gfx//interface//techtree/techtree_dotline_horisontal.dds" + textureFile = "gfx/interface/techtree/techtree_dotline_horisontal.dds" noOfFrames = 4 } frameAnimatedSpriteType = { name = "GFX_techtree_line_left_dot_currently_researching" - texturefile = "gfx//interface//techtree/techtree_dotline_horisontal_left_anim_strip.dds" + texturefile = "gfx/interface/techtree/techtree_dotline_horisontal_left_anim_strip.dds" noOfFrames = 27 loadType = "INGAME" transparencecheck = yes @@ -1671,13 +1713,13 @@ spriteType = { spriteType = { name = "GFX_techtree_line_right_dot_states" - textureFile = "gfx//interface//techtree/techtree_dotline_horisontal.dds" + textureFile = "gfx/interface/techtree/techtree_dotline_horisontal.dds" noOfFrames = 4 } frameAnimatedSpriteType = { name = "GFX_techtree_line_right_dot_currently_researching" - texturefile = "gfx//interface//techtree/techtree_dotline_horisontal_right_anim_strip.dds" + texturefile = "gfx/interface/techtree/techtree_dotline_horisontal_right_anim_strip.dds" noOfFrames = 27 loadType = "INGAME" transparencecheck = yes @@ -1689,53 +1731,53 @@ spriteType = { # spriteType = { # name = "GFX_techtree_line_up_dot_currently_researching" -# textureFile = "gfx//interface//techtree/techtree_dotline_vertical.dds" +# textureFile = "gfx/interface/techtree/techtree_dotline_vertical.dds" # } # # spriteType = { # name = "GFX_techtree_line_down_dot_currently_researching" -# textureFile = "gfx//interface//techtree/techtree_dotline_vertical.dds" +# textureFile = "gfx/interface/techtree/techtree_dotline_vertical.dds" # } # # spriteType = { # name = "GFX_techtree_line_left_dot_currently_researching" -# textureFile = "gfx//interface//techtree/techtree_dotline_horisontal.dds" +# textureFile = "gfx/interface/techtree/techtree_dotline_horisontal.dds" # } # # spriteType = { # name = "GFX_techtree_line_right_dot_currently_researching" -# textureFile = "gfx//interface//techtree/techtree_dotline_horisontal.dds" +# textureFile = "gfx/interface/techtree/techtree_dotline_horisontal.dds" # } spriteType = { name = "GFX_techtree_xor_up" - textureFile = "gfx//interface//techtree/techtree_xor_up.dds" + textureFile = "gfx/interface/techtree/techtree_xor_up.dds" } spriteType = { name = "GFX_techtree_xor_down" - textureFile = "gfx//interface//techtree/techtree_xor_down.dds" + textureFile = "gfx/interface/techtree/techtree_xor_down.dds" } spriteType = { name = "GFX_techtree_xor_left" - textureFile = "gfx//interface//techtree/techtree_xor_left.dds" + textureFile = "gfx/interface/techtree/techtree_xor_left.dds" } spriteType = { name = "GFX_techtree_xor_right" - textureFile = "gfx//interface//techtree/techtree_xor_right.dds" + textureFile = "gfx/interface/techtree/techtree_xor_right.dds" } spriteType = { name = "GFX_support_folder_tab" - textureFile = "gfx//interface//techtree/techtree_support_tab.dds" + textureFile = "gfx/interface/techtree/techtree_support_tab.dds" noOfFrames = 2 } spriteType = { name = "GFX_armour_folder_tab" - textureFile = "gfx//interface//techtree/techtree_tank_tab.dds" + textureFile = "gfx/interface/techtree/techtree_tank_tab.dds" noOfFrames = 2 } diff --git a/interface/countrytechtreeview.gui b/interface/countrytechtreeview.gui index 30230eed4..2f5d0b0c8 100644 --- a/interface/countrytechtreeview.gui +++ b/interface/countrytechtreeview.gui @@ -2243,7 +2243,6 @@ guiTypes = { name = "Background" quadTextureSprite ="GFX_tiled_window_2b_border" } - ### TODO THESE SHOULD NOT USE RELATIVE POSITIONING, BUT RATHER USE FIXED # background containerWindowType = { @@ -3620,7 +3619,7 @@ guiTypes = { } gridboxtype = { - name = "rangers_tree" + name = "rangers_units_tree" position = { x=450 y=150 } size = { width = 0 height = 0 } slotsize = { width=60 height= 60 } @@ -4023,34 +4022,58 @@ guiTypes = { shortcut = "RETURN" } + containerWindowType = { + name = "research_MIO" + position = { x=365 y=55 } + + buttonType = { + name = "research_has_MIO" + position = { x = 0 y = 0 } + size = { x=200 y=40} + text = "RESEARCH" + quadTextureSprite = "GFX_government_button" + buttonFont = "hoi_16mbs" + Orientation = "UPPER_RIGHT" + shortcut = "RETURN" + } + + iconType = { + name = "MIO_icon" + spriteType = "GFX_design_team_icon" + position = { x = 7 y = 5 } + alwaystransparent = yes + Orientation = "CENTER" + } + } + buttonType = { name = "research_with_xp" quadTextureSprite = "GFX_button_123x34" text = "RESEARCH_WITH_XP" buttonFont = "hoi_20b" - position = { x=390 y=80 } + position = { x=390 y=87 } shortcut = "RETURN" } iconType = { name = "research_progressbar" - spriteType = "GFX_techtree_details_progress_bar" - position = { x=160 y=61 } + spriteType = "GFX_prod_progress_bar3" + position = { x=190 y=61 } } iconType = { name = "research_progressbar_frame" - spriteType = "GFX_techtree_details_progress_bar_frame" - position = { x=158 y=59 } + spriteType = "GFX_production_progressbar_frame2" + position = { x=188 y=59 } } instantTextboxType = { name = "researchtime_label" - position = { x = 177 y = 62 } + position = { x = 182 y = 62 } font = "hoi_20b" borderSize = {x = 0 y = 0} text = "" - maxWidth = 190 + maxWidth = 185 maxHeight = 30 format = center } @@ -4135,6 +4158,13 @@ guiTypes = { maxHeight = 20 format = center } + + iconType = { + name = "can_assign_design_team_icon" + position = { x=15 y=75 } + spriteType = "GFX_design_team_icon" + scale = 0.8 + } } containerWindowType = { @@ -4209,40 +4239,28 @@ guiTypes = { } containerWindowType = { name = "sub_technology_slot_1" - position = { x=0 y=0 } - size = { width = 110 height = 110 } + position = { x=141 y=1 } + size = { width = 35 height = 26 } clipping = no background = { - name = "bg" - quadTextureSprite ="GFX_technology_unavailable_item_bg" + name = "Background" + spriteType ="GFX_subtechnology_unavailable_item_bg" } iconType = { - name = "Icon" - position = { x=57 y=57 } - spriteType = "GFX_technology_medium" - centerposition = yes + name = "picture" + position = { x=2 y=2 } + spriteType = "GFX_subtech_td" alwaystransparent = yes } + } - iconType = { - name = "bonus_icon" - position = { x=-1 y=-22 } - spriteType = "GFX_tech_bonus" - } - - instantTextBoxType = { - name = "bonus" - position = { x = -1 y = -22 } - textureFile = "" - font = "hoi_16mbs" - borderSize = {x = 4 y = 4} - text = "lol boat" - maxWidth = 80 - maxHeight = 20 - format = center - } + iconType = { + name = "can_assign_design_team_icon" + position = { x=15 y=75 } + spriteType = "GFX_design_team_icon" + scale = 0.8 } } @@ -4283,6 +4301,13 @@ guiTypes = { maxHeight = 20 format = center } + + iconType = { + name = "can_assign_design_team_icon" + position = { x=15 y=75 } + spriteType = "GFX_design_team_icon" + scale = 0.8 + } } containerWindowType = { @@ -4357,40 +4382,28 @@ guiTypes = { } containerWindowType = { name = "sub_technology_slot_1" - position = { x=0 y=0 } - size = { width = 110 height = 110 } + position = { x=141 y=1 } + size = { width = 35 height = 26 } clipping = no background = { - name = "bg" - quadTextureSprite ="GFX_technology_unavailable_item_bg" + name = "Background" + spriteType ="GFX_subtechnology_unavailable_item_bg" } iconType = { - name = "Icon" - position = { x=57 y=57 } - spriteType = "GFX_technology_medium" - centerposition = yes + name = "picture" + position = { x=2 y=2 } + spriteType = "GFX_subtech_td" alwaystransparent = yes } + } - iconType = { - name = "bonus_icon" - position = { x=-1 y=-22 } - spriteType = "GFX_tech_bonus" - } - - instantTextBoxType = { - name = "bonus" - position = { x = -1 y = -22 } - textureFile = "" - font = "hoi_16mbs" - borderSize = {x = 4 y = 4} - text = "lol boat" - maxWidth = 80 - maxHeight = 20 - format = center - } + iconType = { + name = "can_assign_design_team_icon" + position = { x=15 y=75 } + spriteType = "GFX_design_team_icon" + scale = 0.8 } } @@ -4431,6 +4444,13 @@ guiTypes = { maxHeight = 20 format = center } + + iconType = { + name = "can_assign_design_team_icon" + position = { x=15 y=75 } + spriteType = "GFX_design_team_icon" + scale = 0.8 + } } containerWindowType = { @@ -4505,40 +4525,28 @@ guiTypes = { } containerWindowType = { name = "sub_technology_slot_1" - position = { x=0 y=0 } - size = { width = 110 height = 110 } + position = { x=141 y=1 } + size = { width = 35 height = 26 } clipping = no background = { - name = "bg" - quadTextureSprite ="GFX_technology_unavailable_item_bg" + name = "Background" + spriteType ="GFX_subtechnology_unavailable_item_bg" } iconType = { - name = "Icon" - position = { x=57 y=57 } - spriteType = "GFX_technology_medium" - centerposition = yes + name = "picture" + position = { x=2 y=2 } + spriteType = "GFX_subtech_td" alwaystransparent = yes } + } - iconType = { - name = "bonus_icon" - position = { x=-1 y=-22 } - spriteType = "GFX_tech_bonus" - } - - instantTextBoxType = { - name = "bonus" - position = { x = -1 y = -22 } - textureFile = "" - font = "hoi_16mbs" - borderSize = {x = 4 y = 4} - text = "lol boat" - maxWidth = 80 - maxHeight = 20 - format = center - } + iconType = { + name = "can_assign_design_team_icon" + position = { x=15 y=75 } + spriteType = "GFX_design_team_icon" + scale = 0.8 } } @@ -4579,6 +4587,13 @@ guiTypes = { maxHeight = 20 format = center } + + iconType = { + name = "can_assign_design_team_icon" + position = { x=15 y=75 } + spriteType = "GFX_design_team_icon" + scale = 0.8 + } } containerWindowType = { @@ -4653,40 +4668,28 @@ guiTypes = { } containerWindowType = { name = "sub_technology_slot_1" - position = { x=0 y=0 } - size = { width = 110 height = 110 } + position = { x=141 y=1 } + size = { width = 35 height = 26 } clipping = no background = { - name = "bg" - quadTextureSprite ="GFX_technology_unavailable_item_bg" + name = "Background" + spriteType ="GFX_subtechnology_unavailable_item_bg" } iconType = { - name = "Icon" - position = { x=57 y=57 } - spriteType = "GFX_technology_medium" - centerposition = yes + name = "picture" + position = { x=2 y=2 } + spriteType = "GFX_subtech_td" alwaystransparent = yes } + } - iconType = { - name = "bonus_icon" - position = { x=-1 y=-22 } - spriteType = "GFX_tech_bonus" - } - - instantTextBoxType = { - name = "bonus" - position = { x = -1 y = -22 } - textureFile = "" - font = "hoi_16mbs" - borderSize = {x = 4 y = 4} - text = "lol boat" - maxWidth = 80 - maxHeight = 20 - format = center - } + iconType = { + name = "can_assign_design_team_icon" + position = { x=15 y=75 } + spriteType = "GFX_design_team_icon" + scale = 0.8 } } @@ -4727,6 +4730,13 @@ guiTypes = { maxHeight = 20 format = center } + + iconType = { + name = "can_assign_design_team_icon" + position = { x=15 y=75 } + spriteType = "GFX_design_team_icon" + scale = 0.8 + } } containerWindowType = { @@ -4801,40 +4811,28 @@ guiTypes = { } containerWindowType = { name = "sub_technology_slot_1" - position = { x=0 y=0 } - size = { width = 110 height = 110 } + position = { x=141 y=1 } + size = { width = 35 height = 26 } clipping = no background = { - name = "bg" - quadTextureSprite ="GFX_technology_unavailable_item_bg" + name = "Background" + spriteType ="GFX_subtechnology_unavailable_item_bg" } iconType = { - name = "Icon" - position = { x=57 y=57 } - spriteType = "GFX_technology_medium" - centerposition = yes + name = "picture" + position = { x=2 y=2 } + spriteType = "GFX_subtech_td" alwaystransparent = yes } + } - iconType = { - name = "bonus_icon" - position = { x=-1 y=-22 } - spriteType = "GFX_tech_bonus" - } - - instantTextBoxType = { - name = "bonus" - position = { x = -1 y = -22 } - textureFile = "" - font = "hoi_16mbs" - borderSize = {x = 4 y = 4} - text = "lol boat" - maxWidth = 80 - maxHeight = 20 - format = center - } + iconType = { + name = "can_assign_design_team_icon" + position = { x=15 y=75 } + spriteType = "GFX_design_team_icon" + scale = 0.8 } } @@ -4909,23 +4907,12 @@ guiTypes = { alwaystransparent = yes } } - containerWindowType = { - name = "sub_technology_slot_1" - position = { x=141 y=1 } - size = { width = 35 height = 26 } - clipping = no - - background = { - name = "Background" - spriteType ="GFX_subtechnology_unavailable_item_bg" - } - - iconType = { - name = "picture" - position = { x=2 y=2 } - spriteType = "GFX_subtech_td" - alwaystransparent = yes - } + + iconType = { + name = "can_assign_design_team_icon" + position = { x=15 y=75 } + spriteType = "GFX_design_team_icon" + scale = 0.8 } } @@ -4965,6 +4952,13 @@ guiTypes = { maxHeight = 20 format = center } + + iconType = { + name = "can_assign_design_team_icon" + position = { x=15 y=75 } + spriteType = "GFX_design_team_icon" + scale = 0.8 + } } #armour @@ -5033,14 +5027,15 @@ guiTypes = { iconType = { name = "picture" - position = { x=2 y=2 } - spriteType = "GFX_subtech_rocket" + position = { x=1 y=2 } + spriteType = "GFX_subtech_td" alwaystransparent = yes } } + containerWindowType = { name = "sub_technology_slot_1" - position = { x=141 y=1 } + position = { x=141 y=28 } size = { width = 35 height = 26 } clipping = no @@ -5051,11 +5046,37 @@ guiTypes = { iconType = { name = "picture" - position = { x=2 y=2 } - spriteType = "GFX_subtech_td" + position = { x=1 y=2 } + spriteType = "GFX_subtech_art" alwaystransparent = yes } } + + containerWindowType = { + name = "sub_technology_slot_2" + position = { x=141 y=55 } + size = { width = 35 height = 26 } + clipping = no + + background = { + name = "Background" + spriteType ="GFX_subtechnology_unavailable_item_bg" + } + + iconType = { + name = "picture" + position = { x=1 y=2 } + spriteType = "GFX_subtech_aa" + alwaystransparent = yes + } + } + + iconType = { + name = "can_assign_design_team_icon" + position = { x=15 y=75 } + spriteType = "GFX_design_team_icon" + scale = 0.8 + } } containerWindowType = { @@ -5094,6 +5115,13 @@ guiTypes = { maxHeight = 20 format = center } + + iconType = { + name = "can_assign_design_team_icon" + position = { x=15 y=75 } + spriteType = "GFX_design_team_icon" + scale = 0.8 + } } #nsb armour @@ -5203,6 +5231,13 @@ guiTypes = { alwaystransparent = yes } } + + iconType = { + name = "can_assign_design_team_icon" + position = { x=15 y=75 } + spriteType = "GFX_design_team_icon" + scale = 0.8 + } } containerWindowType = { @@ -5238,6 +5273,13 @@ guiTypes = { maxHeight = 20 format = right } + + iconType = { + name = "can_assign_design_team_icon" + position = { x=15 y=75 } + spriteType = "GFX_design_team_icon" + scale = 0.8 + } } # arty @@ -5292,6 +5334,13 @@ guiTypes = { format = center } + iconType = { + name = "can_assign_design_team_icon" + position = { x=15 y=75 } + spriteType = "GFX_design_team_icon" + scale = 0.8 + } + containerWindowType = { name = "sub_technology_slot_0" @@ -5367,6 +5416,13 @@ guiTypes = { maxHeight = 20 format = center } + + iconType = { + name = "can_assign_design_team_icon" + position = { x=15 y=75 } + spriteType = "GFX_design_team_icon" + scale = 0.8 + } } # air @@ -5438,6 +5494,13 @@ guiTypes = { alwaystransparent = yes } } + + iconType = { + name = "can_assign_design_team_icon" + position = { x=15 y=75 } + spriteType = "GFX_design_team_icon" + scale = 0.8 + } } # naval @@ -5493,41 +5556,11 @@ guiTypes = { } - containerWindowType = { - name = "sub_technology_slot_0" - position = { x=141 y=1 } - size = { width = 35 height = 26 } - clipping = no - - background = { - name = "Background" - spriteType ="GFX_subtechnology_unavailable_item_bg" - } - - iconType = { - name = "picture" - position = { x=2 y=2 } - spriteType = "GFX_subtech_rocket" - alwaystransparent = yes - } - } - containerWindowType = { - name = "sub_technology_slot_1" - position = { x=141 y=1 } - size = { width = 35 height = 26 } - clipping = no - - background = { - name = "Background" - spriteType ="GFX_subtechnology_unavailable_item_bg" - } - - iconType = { - name = "picture" - position = { x=2 y=2 } - spriteType = "GFX_subtech_td" - alwaystransparent = yes - } + iconType = { + name = "can_assign_design_team_icon" + position = { x=15 y=75 } + spriteType = "GFX_design_team_icon" + scale = 0.8 } } @@ -5567,6 +5600,13 @@ guiTypes = { maxHeight = 20 format = center } + + iconType = { + name = "can_assign_design_team_icon" + position = { x=15 y=75 } + spriteType = "GFX_design_team_icon" + scale = 0.8 + } } #mtg naval @@ -5604,6 +5644,13 @@ guiTypes = { maxHeight = 20 format = center } + + iconType = { + name = "can_assign_design_team_icon" + position = { x=15 y=75 } + spriteType = "GFX_design_team_icon" + scale = 0.8 + } } containerWindowType = { @@ -5673,6 +5720,13 @@ guiTypes = { alwaystransparent = yes } } + + iconType = { + name = "can_assign_design_team_icon" + position = { x=15 y=75 } + spriteType = "GFX_design_team_icon" + scale = 0.8 + } } #industry @@ -5725,6 +5779,13 @@ guiTypes = { maxHeight = 20 format = center } + + iconType = { + name = "can_assign_design_team_icon" + position = { x=15 y=75 } + spriteType = "GFX_design_team_icon" + scale = 0.8 + } } containerWindowType = { @@ -5796,6 +5857,13 @@ guiTypes = { maxHeight = 20 format = center } + + iconType = { + name = "can_assign_design_team_icon" + position = { x=15 y=75 } + spriteType = "GFX_design_team_icon" + scale = 0.8 + } } containerWindowType = { @@ -5867,14 +5935,11 @@ guiTypes = { position = { x=0 y=0 } clipping = no - gridboxtype = { - name = "research_groups_grid" - position = { x = 422 y = 25 } - size = { width = 120 height = 60 } - slotsize = { width = 60 height = 60 } - max_slots_horizontal = 2 - max_slots_vertical = 1 - format = "UPPER_LEFT" + iconType = { + name = "design_team_icon" + position = { x = 462 y = 55 } + spriteType = "GFX_add_pol_idea_button" + centerposition = yes } iconType = { @@ -5922,6 +5987,15 @@ guiTypes = { position = { x = 15 y = 40 } size = { width = 400 height = 70 } slotsize = { width = 45 height = 60 } + max_slots_horizontal = 10 + format = "UPPER_LEFT" + } + + gridboxtype = { + name = "terrain_modifiers_grid" + position = { x = 35 y = 65 } # Y set in code + size = { width = 400 height = 400 } + slotsize = { width = 82 height = 70 } max_slots_horizontal = 5 format = "UPPER_LEFT" } @@ -6005,6 +6079,15 @@ guiTypes = { max_slots_horizontal = 2 format = "UPPER_LEFT" } + + gridboxtype = { + name = "air_missions_grid" + position = { x = 15 y = 40 } + size = { width = 400 height = 70 } + slotsize = { width = 45 height = 60 } + max_slots_horizontal = 10 + format = "UPPER_LEFT" + } } containerWindowType = { diff --git a/interface/custom_idea_generic.gfx b/interface/custom_idea_generic.gfx new file mode 100644 index 000000000..76424edda --- /dev/null +++ b/interface/custom_idea_generic.gfx @@ -0,0 +1,22 @@ +spriteTypes = { + ## Generic ideas + SpriteType = { + name = "GFX_idea_generic_unaligned_drift_bonus" + texturefile = "gfx/interface/ideas/generic_idea_unaligned.dds" + } + SpriteType = { + name = "GFX_idea_generic_revolutionary_drift_bonus" + texturefile = "gfx/interface/ideas/generic_idea_revolutionary.dds" + } + SpriteType = { + name = "GFX_idea_generic_cooperative_drift_bonus" + texturefile = "gfx/interface/ideas/generic_idea_cooperative.dds" + } + SpriteType = { + name = "GFX_idea_generic_belligerent_drift_bonus" + texturefile = "gfx/interface/ideas/generic_idea_belligerent.dds" + } + } + + + \ No newline at end of file diff --git a/interface/custom_subuniticons.gfx b/interface/custom_subuniticons.gfx index 5c606c5ea..ea8792d91 100644 --- a/interface/custom_subuniticons.gfx +++ b/interface/custom_subuniticons.gfx @@ -24,7 +24,7 @@ spriteTypes = { spriteType = { name = "GFX_unit_mumakil_units_icon_medium_white" textureFile = "gfx/interface/counters/divisions_small/onmapunit_mumakil_units_icon.dds" noOfFrames = 2 } spriteType = { name = "GFX_unit_rangers_infantry_icon_medium" textureFile = "gfx/interface/counters/divisions_large/unit_rangers_infantry_icon.dds" noOfFrames = 2 } - spriteType = { name = "GFX_unit_rangers_infantry_icon_medium_white" textureFile = "gfx/interface/counters/divisions_small/onmapunit_rangers_infantry_icon.dds" noOfFrames = 2 } + spriteType = { name = "GFX_unit_rangers_infantry_icon_medium_white" textureFile = "gfx/interface/counters/divisions_small/onmap_unit_rangers_infantry_icon.dds" noOfFrames = 2 } spriteType = { name = "GFX_unit_troll_units_icon_medium" textureFile = "gfx/interface/counters/divisions_large/unit_troll_units_icon.dds" noOfFrames = 2 } spriteType = { name = "GFX_unit_troll_units_icon_medium_white" textureFile = "gfx/interface/counters/divisions_small/onmapunit_troll_units_icon.dds" noOfFrames = 2 } @@ -32,5 +32,28 @@ spriteTypes = { spriteType = { name = "GFX_unit_grond_battalion_icon_medium" textureFile = "gfx/interface/counters/divisions_large/unit_grond_battalion_icon.dds" noOfFrames = 2 } spriteType = { name = "GFX_unit_grond_battalion_icon_medium_white" textureFile = "gfx/interface/counters/divisions_small/onmapunit_grond_battalion_icon.dds" noOfFrames = 2 } + spriteType = { name = "GFX_unit_sindar_pathstalkers_icon_medium" textureFile = "gfx/interface/counters/divisions_large/support_unit_sindar_pathstalkers_icon.dds" noOfFrames = 2 } + spriteType = { name = "GFX_unit_sindar_pathstalkers_icon_medium_white" textureFile = "gfx/interface/counters/divisions_small/onmap_unit_sindar_pathstalkers_icon.dds" noOfFrames = 2 } + spriteType = { name = "GFX_unit_riders_of_the_naith_icon_medium" textureFile = "gfx/interface/counters/divisions_large/unit_riders_of_the_naith_icon.dds" noOfFrames = 2 } + spriteType = { name = "GFX_unit_riders_of_the_naith_icon_medium_white" textureFile = "gfx/interface/counters/divisions_small/onmap_unit_riders_of_the_naith_icon.dds" noOfFrames = 2 } + + spriteType = { name = "GFX_unit_marchwardens_of_lothlorien_icon_medium" textureFile = "gfx/interface/counters/divisions_large/unit_marchwardens_of_lothlorien_icon.dds" noOfFrames = 2 } + spriteType = { name = "GFX_unit_marchwardens_of_lothlorien_icon_medium_white" textureFile = "gfx/interface/counters/divisions_small/onmap_unit_marchwardens_of_lothlorien_icon.dds" noOfFrames = 2 } + + spriteType = { name = "GFX_unit_giant_icon_medium" textureFile = "gfx/interface/counters/divisions_large/unit_giant_units_icon.dds" noOfFrames = 2 } + spriteType = { name = "GFX_unit_giant_icon_medium_white" textureFile = "gfx/interface/counters/divisions_small/onmap_unit_giant_icon.dds" noOfFrames = 2 } + + spriteType = { name = "GFX_unit_balrog_icon_medium" textureFile = "gfx/interface/counters/divisions_large/unit_balrog_units_icon.dds" noOfFrames = 2 } + spriteType = { name = "GFX_unit_balrog_icon_medium_white" textureFile = "gfx/interface/counters/divisions_small/onmap_unit_balrog_icon.dds" noOfFrames = 2 } + + spriteType = { name = "GFX_unit_spider_infantry_icon_medium" textureFile = "gfx/interface/counters/divisions_large/unit_spider_infantry_icon.dds" noOfFrames = 2 } + spriteType = { name = "GFX_unit_spider_infantry_icon_medium_white" textureFile = "gfx/interface/counters/divisions_small/onmap_unit_spider_infantry_icon.dds" noOfFrames = 2 } + + spriteType = { name = "GFX_unit_ent_infantry_icon_medium" textureFile = "gfx/interface/counters/divisions_large/unit_ent_infantry_icon.dds" noOfFrames = 2 } + spriteType = { name = "GFX_unit_ent_infantry_icon_medium_white" textureFile = "gfx/interface/counters/divisions_small/onmap_unit_ent_infantry_icon.dds" noOfFrames = 2 } + + spriteType = { name = "GFX_unit_heavy_infantry_icon_medium" textureFile = "gfx/interface/counters/divisions_large/unit_heavy_infantry_icon.dds" noOfFrames = 2 } + spriteType = { name = "GFX_unit_heavy_infantry_icon_medium_white" textureFile = "gfx/interface/counters/divisions_small/onmap_unit_heavy_infantry_icon.dds" noOfFrames = 2 } + } diff --git a/interface/custom_texticons.gfx b/interface/custom_texticons.gfx index f885b75b6..fc291e767 100644 --- a/interface/custom_texticons.gfx +++ b/interface/custom_texticons.gfx @@ -63,4 +63,94 @@ spriteTypes = { noOfFrames = 2 } + spriteType = { + name = "GFX_unit_sindar_pathstalkers_icon_small" + texturefile = "gfx/texticons/support_sindar_pathstalkers.dds" + legacy_lazy_load = no + noOfFrames = 2 + } + + spriteType = { + name = "GFX_unit_riders_of_the_naith_icon_small" + texturefile = "gfx/texticons/unit_riders_of_the_naith_icon_small.dds" + legacy_lazy_load = no + noOfFrames = 2 + } + + spriteType = { + name = "GFX_unit_spider_infantry_icon_small" + texturefile = "gfx/texticons/unit_spider_infantry_icon_small.dds" + legacy_lazy_load = no + noOfFrames = 2 + } + + spriteType = { + name = "GFX_unit_heavy_infantry_icon_small" + texturefile = "gfx/texticons/unit_heavy_infantry_icon_small.dds" + legacy_lazy_load = no + noOfFrames = 2 + } + + spriteType = { + name = "GFX_unit_ent_infantry_icon_small" + texturefile = "gfx/texticons/unit_ent_infantry_icon_small.dds" + legacy_lazy_load = no + noOfFrames = 2 + } + + spriteType = { + name = "GFX_unit_marchwardens_of_lothlorien_icon_small" + texturefile = "gfx/texticons/unit_marchwardens_of_lothlorien_icon_small.dds" + legacy_lazy_load = no + noOfFrames = 2 + } + + spriteType = { + name = "GFX_halfelves_texticon" + texturefile = "gfx/interface/texticons/halfelves_influence.dds" + legacy_lazy_load = no + } + + spriteType = { + name = "GFX_nandor_texticon" + texturefile = "gfx/interface/texticons/nandor_influence.dds" + legacy_lazy_load = no + } + + spriteType = { + name = "GFX_noldor_texticon" + texturefile = "gfx/interface/texticons/noldor_influence.dds" + legacy_lazy_load = no + } + + spriteType = { + name = "GFX_sindar_texticon" + texturefile = "gfx/interface/texticons/sindar_influence.dds" + legacy_lazy_load = no + } + + spriteType = { + name = "GFX_nonelves_texticon" + texturefile = "gfx/interface/texticons/nonelves_influence.dds" + legacy_lazy_load = no + } + + spriteType = { + name = "GFX_orcs_texticon" + texturefile = "gfx/interface/texticons/orcs_influence.dds" + legacy_lazy_load = no + } + + spriteType = { + name = "GFX_elven_alliance_texticon" + texturefile = "gfx/interface/texticons/elven_alliance.dds" + legacy_lazy_load = no + } + + spriteType = { + name = "GFX_guilds_texticon" + texturefile = "gfx/interface/texticons/guilds.dds" + legacy_lazy_load = no + } + } diff --git a/common/ai_equipment/generic_tank.txt b/interface/customicons.gfx similarity index 100% rename from common/ai_equipment/generic_tank.txt rename to interface/customicons.gfx diff --git a/interface/customicons_decisions.gfx b/interface/customicons_decisions.gfx index a9d0a4011..3ea17623f 100644 --- a/interface/customicons_decisions.gfx +++ b/interface/customicons_decisions.gfx @@ -18,7 +18,7 @@ spriteTypes = { } spriteType = { name = "GFX_decision_sauron_eye" - texturefile = "gfx/interface/decisions/decision_cat_eye.dds" + texturefile = "gfx/interface/decisions/decision_sauron_eye.dds" } spriteType = { name = "GFX_decision_category_ring_icon" diff --git a/interface/customicons_gondor.gfx b/interface/customicons_gondor.gfx new file mode 100644 index 000000000..e2c0c8b26 --- /dev/null +++ b/interface/customicons_gondor.gfx @@ -0,0 +1,18 @@ +spriteTypes = { + ## Ideas Gondor + SpriteType = { + name = "GFX_idea_gon_white_tree" + texturefile = "gfx/interface/ideas/GON/idea_gon_white_tree.dds" + } + SpriteType = { + name = "GFX_goal_generic_windmile" + texturefile = "gfx/interface/goals/Generic/GFX_goal_generic_windmile.tga" + } + SpriteType = { + name = "GFX_goal_generic_anvil" + texturefile = "gfx/interface/goals/Generic/GFX_goal_generic_anvil.tga" + } + } + + + \ No newline at end of file diff --git a/interface/customicons_harad.gfx b/interface/customicons_harad.gfx deleted file mode 100644 index 1bb39518e..000000000 --- a/interface/customicons_harad.gfx +++ /dev/null @@ -1,28 +0,0 @@ -spriteTypes = { - ## Charakters - SpriteType = { - name = "GFX_advisor_har_angamaite" - texturefile = "gfx/interface/ideas/har/Portrait_advisor_har_angamaite.dds" - } - SpriteType = { - name = "GFX_advisor_har_hesbar" - texturefile = "gfx/interface/ideas/har/Portrait_advisor_har_hesbar.dds" - } - SpriteType = { - name = "GFX_advisor_har_languth" - texturefile = "gfx/interface/ideas/har/Portrait_advisor_har_languth.dds" - } - SpriteType = { - name = "GFX_advisor_har_mahud" - texturefile = "gfx/interface/ideas/har/Portrait_advisor_har_mahud.dds" - } - SpriteType = { - name = "GFX_advisor_har_nargdryt" - texturefile = "gfx/interface/ideas/har/Portrait_advisor_har_nargdryt.dds" - } - SpriteType = { - name = "GFX_advisor_har_sangahyando" - texturefile = "gfx/interface/ideas/har/Portrait_advisor_har_sangahyando.dds" - } - -} \ No newline at end of file diff --git a/interface/customicons_mordor.gfx b/interface/customicons_mordor.gfx index eaa49e5c3..3a9725b08 100644 --- a/interface/customicons_mordor.gfx +++ b/interface/customicons_mordor.gfx @@ -2,7 +2,7 @@ spriteTypes = { ## Ideas Mordor SpriteType = { name = "GFX_idea_honor_morgoth" - texturefile = "gfx/interface/ideas/Honor_morgoth.dds" + texturefile = "gfx/interface/ideas/idea_honor_morgoth.dds" } } diff --git a/interface/elven_alliance.gfx b/interface/elven_alliance.gfx new file mode 100644 index 000000000..45b13f8bf --- /dev/null +++ b/interface/elven_alliance.gfx @@ -0,0 +1,113 @@ +spriteTypes = { + + spriteType = { + name = "GFX_elven_alliance_bg" + texturefile = "gfx/interface/decisions/elven_alliance/elven_alliance_bg.dds" + } + + spriteType = { + name = "GFX_vote_against_button" + texturefile = "gfx/interface/decisions/elven_alliance/vote_against_button.dds" + } + + spriteType = { + name = "GFX_vote_in_favour_button" + texturefile = "gfx/interface/decisions/elven_alliance/vote_in_favour_button.dds" + } + + spriteType = { + name = "GFX_abstain_button" + texturefile = "gfx/interface/decisions/elven_alliance/abstain_button.dds" + } + + spriteType = { + name = "GFX_elven_alliance_decisions_bg" + texturefile = "gfx/interface/decisions/elven_alliance/elven_alliance_decisions_bg.dds" + } + + spriteType = { + name = "GFX_elven_alliance_decisions_bg_count" + texturefile = "gfx/interface/decisions/elven_alliance/elven_alliance_decisions_bg_count.dds" + } + + spriteType = { + name = "GFX_elven_alliance_decisions_vote_against" + texturefile = "gfx/interface/decisions/elven_alliance/elven_alliance_decisions_vote_against.dds" + } + + spriteType = { + name = "GFX_elven_alliance_decisions_vote_in_favour" + texturefile = "gfx/interface/decisions/elven_alliance/elven_alliance_decisions_vote_in_favour.dds" + } + + spriteType = { + name = "GFX_elven_alliance_memberlist" + texturefile = "gfx/interface/decisions/elven_alliance/elven_alliance_memberlist.dds" + } + + spriteType = { + name = "GFX_elven_alliance_proposal_queue_entry_bg" + texturefile = "gfx/interface/decisions/elven_alliance/proposal_queue_entry_bg.dds" + } + + spriteType = { + name = "GFX_ea_resolutions_numberoverlay" + texturefile = "gfx/interface/decisions/elven_alliance/ea_resolutions_numberoverlay.dds" + } + + + + spriteType = { + name = "GFX_idea_ea_resolution_icon_alliance" + texturefile = "gfx/interface/ideas/elven_alliance/national_spirits/idea_ea_resolution_icon_alliance.dds" + } + + spriteType = { + name = "GFX_idea_ea_resolution_icon_expansion" + texturefile = "gfx/interface/ideas/elven_alliance/national_spirits/idea_ea_resolution_icon_expansion.dds" + } + + spriteType = { + name = "GFX_idea_ea_resolution_icon_hegemony" + texturefile = "gfx/interface/ideas/elven_alliance/national_spirits/idea_ea_resolution_icon_hegemony.dds" + } + + spriteType = { + name = "GFX_idea_ea_resolution_icon_industry" + texturefile = "gfx/interface/ideas/elven_alliance/national_spirits/idea_ea_resolution_icon_industry.dds" + } + + spriteType = { + name = "GFX_idea_ea_resolution_icon_martial" + texturefile = "gfx/interface/ideas/elven_alliance/national_spirits/idea_ea_resolution_icon_martial.dds" + } + + spriteType = { + name = "GFX_idea_ea_resolution_icon_peace" + texturefile = "gfx/interface/ideas/elven_alliance/national_spirits/idea_ea_resolution_icon_peace.dds" + } + + spriteType = { + name = "GFX_idea_ea_resolution_icon_research" + texturefile = "gfx/interface/ideas/elven_alliance/national_spirits/idea_ea_resolution_icon_research.dds" + } + + spriteType = { + name = "GFX_idea_ea_resolution_icon_trade" + texturefile = "gfx/interface/ideas/elven_alliance/national_spirits/idea_ea_resolution_icon_trade.dds" + } + + spriteType = { + name = "GFX_idea_ea_resolution_icon_union" + texturefile = "gfx/interface/ideas/elven_alliance/national_spirits/idea_ea_resolution_icon_union.dds" + } + + spriteType = { + name = "GFX_mapmode_buttons_deselected_small_elven_alliance_map_mode" + textureFile = "gfx/interface/mapmodes/ea_mapmode_button_deselected.dds" + } + spriteType = { + name = "GFX_mapmode_buttons_selected_small_elven_alliance_map_mode" + textureFile = "gfx/interface/mapmodes/ea_mapmode_button_selected.dds" + } +} \ No newline at end of file diff --git a/interface/elven_alliance_decisions.gui b/interface/elven_alliance_decisions.gui new file mode 100644 index 000000000..fdd9bf3dc --- /dev/null +++ b/interface/elven_alliance_decisions.gui @@ -0,0 +1,77 @@ +guiTypes = { + + containerWindowType = { + name = "elven_alliance_container" + position = { x = 0 y = 0 } + size = { width = 500 height = 120 } + + iconType = { + name = "background" + spriteType = "GFX_elven_alliance_decisions_bg" + position = { x = -3 y = -19 } + Orientation = "UPPER_LEFT" + frame = 1 + scale = 1.0 + } + + iconType = { + name = "background_count" + spriteType = "GFX_elven_alliance_decisions_bg_count" + position = { x = 188 y = 33 } + Orientation = "UPPER_LEFT" + frame = 1 + scale = 1.0 + } + + instantTextboxType = { + name = "vote_count" + position = { x = 200 y = 40 } + font = "merienda_21" + text = "ea_colored_vote_count" + maxWidth = 100 + maxHeight = 100 + fixedsize = yes + format = center + alwaystransparent = yes + } + + instantTextboxType = { + name = "vote_status_text" + position = { x = 0 y = -15 } + font = "merienda_13" + text = "[GetAssemblyStatus]" + pdx_tooltip = "vote_status_tt" + maxWidth = 500 + maxHeight = 100 + fixedsize = yes + format = center + } + + buttonType = { + name = "vote_in_favour_button" + position = { x = 80 y = 35 } + spriteType = "GFX_elven_alliance_decisions_vote_in_favour" + clicksound = click_default + font = "merienda_13" + buttonText = "Vote in Favour" + } + + buttonType = { + name = "vote_against_button" + position = { x = 295 y = 35 } + spriteType = "GFX_elven_alliance_decisions_vote_against" + clicksound = click_default + font = "merienda_13" + buttonText = "Vote Against" + } + + buttonType = { + name = "details_button" + position = { x = 350 y = 90 } + spriteType = "GFX_button_148x34" + clicksound = click_default + font = "merienda_13" + buttonText = "View Details" + } + } +} diff --git a/interface/elven_alliance_details_view.gui b/interface/elven_alliance_details_view.gui new file mode 100644 index 000000000..2ab2fac03 --- /dev/null +++ b/interface/elven_alliance_details_view.gui @@ -0,0 +1,713 @@ +guiTypes = { + + containerWindowType = { + name = "elven_alliance_details_container" + position = { x = -356 y = 80 } + show_position = { x = 540 y = 80 } + show_animation_type = decelerated + hide_animation_type = accelerated + animation_time = 300 + moveable = yes + size = { width=1080 height=690 } + show_sound = open_sub_window + + background = { + name = "Background" + quadTextureSprite ="GFX_tiled_plain_bg" + } + + instantTextboxType = { + name = "title" + position = { x = 0 y = 4 } + font = "hoi_20b" + text = "Elven Assembly" + maxWidth = 1000 + maxHeight = 20 + format = center + alwaystransparent = yes + } + + containerWindowType = { + name = "content_container" + position = { x = 0 y = 45 } + size = { width=72%% height=60%% } + margin = { top = 11 left = 10 } + + background = { + name = "Background" + quadTextureSprite ="GFX_tiled_window_2b_border" + } + + iconType = { + name = "background_img" + spriteType = "GFX_elven_alliance_bg" + position = { x = 0 y = 0 } + Orientation = "UPPER_LEFT" + frame = 1 + scale = 1.0 + } + + iconType = { + name = "memberlist_bg" + spriteType = "GFX_elven_alliance_memberlist" + position = { x = 210 y = 40 } + Orientation = "UPPER_LEFT" + frame = 1 + scale = 1.0 + } + + instantTextboxType = { + name = "memberlist" + position = { x = 260 y = 75 } + font = "hoi_18mbs" + text = "[DisplayElvenAllianceMembers]" + maxWidth = 300 + maxHeight = 220 + fixedsize = yes + format = left + alwaystransparent = yes + } + + buttonType = { + name = "vote_against_button" + position = { x = 360 y = 45 } + spriteType = "GFX_vote_against_button" + clicksound = click_default + font = "merienda_13" + pdx_tooltip = "vote_cost_5pp_tt" + buttonText = "" + } + + instantTextboxType = { + name = "ea_leader_indicator" + position = { x = 245 y = 335 } + font = "hoi_18mbs" + text = "Hegemony Leader: [?global.ea_hegemony_leader.GetNameWithFlag]" + maxWidth = 500 + maxHeight = 100 + fixedsize = yes + format = right + } + + instantTextboxType = { + name = "vote_status_text" + position = { x = 0 y = 0 } + font = "hoi_18mbs" + text = "[GetAssemblyStatus]" + pdx_tooltip = "vote_status_tt" + maxWidth = 750 + maxHeight = 100 + fixedsize = yes + format = center + } + + instantTextboxType = { + name = "vote_against_count" + position = { x = 388 y = 60 } + font = "merienda_21" + text = "[?global.elven_alliance_members_against^num]" + maxWidth = 100 + maxHeight = 100 + fixedsize = yes + format = left + alwaystransparent = yes + } + + buttonType = { + name = "vote_in_favour_button" + position = { x = 60 y = 45 } + spriteType = "GFX_vote_in_favour_button" + clicksound = click_default + font = "merienda_13" + pdx_tooltip = "vote_cost_5pp_tt" + buttonText = "" + } + + instantTextboxType = { + name = "vote_in_favour_count" + position = { x = 345 y = 60 } + font = "merienda_21" + text = "[?global.elven_alliance_members_in_favour^num]" + maxWidth = 100 + maxHeight = 100 + fixedsize = yes + format = left + alwaystransparent = yes + } + + buttonType = { + name = "abstain_button" + position = { x = 40 y = 260 } + spriteType = "GFX_abstain_button" + clicksound = click_default + font = "merienda_13" + pdx_tooltip = "vote_cost_5pp_tt" + buttonText = "" + } + + instantTextboxType = { + name = "vote_in_favour_button_list" + position = { x = 140 y = 75 } + font = "hoi_18mbs" + text = "[DisplayElvenAllianceMembers_in_favour]" + maxWidth = 300 + maxHeight = 220 + fixedsize = yes + format = left + alwaystransparent = yes + } + + instantTextboxType = { + name = "vote_against_button_list" + position = { x = 415 y = 75 } + font = "hoi_18mbs" + text = "[DisplayElvenAllianceMembers_against]" + maxWidth = 300 + maxHeight = 220 + fixedsize = yes + format = left + alwaystransparent = yes + } + + instantTextboxType = { + name = "abstain_button_list" + position = { x = 72 y = 290} + font = "hoi_18mbs" + text = "[DisplayElvenAllianceMembers_FlagOnly_abstain]" + maxWidth = 600 + maxHeight = 30 + fixedsize = yes + format = center + alwaystransparent = yes + } + } + + containerWindowType = { + name = "right_panel_container" + position = { x = 775 y = 45 } + size = { width=100%% height=60%% } + margin = { top = 11 left = 10 bottom = 25 } + verticalScrollbar = "right_vertical_slider" + scroll_wheel_factor = 37 + smooth_scrolling = yes + + background = { + name = "Background" + quadTextureSprite ="GFX_tiled_window_2b_border" + } + + instantTextboxType = { + name = "queue_title" + position = { x = 15 y = 4 } + font = "merienda_16" + text = "Upcoming votes:" + maxWidth = 180 + maxHeight = 10 + format = left + fixedsize = yes + alwaystransparent = yes + } + + gridBoxType = { + name = "proposal_queue" + position = { x = 5 y = 35} + #The size of the gridbox + size = { width = 100%% height = 100%% } + Orientation = upper_left + #The slot size + slotsize = {width=200 height=55 } + format = "UPPER_LEFT" + #the maximum horizontal gui elements + max_slots_horizontal = 1 + #the maximum vertical gui elements + #max_slots_vertical = 1 + } + } + + containerWindowType = { + name = "resolutions_container" + position = { x = 0 y = 410 } + size = { width=100%% height=100%% } + margin = { top = 11 left = 10 } + + background = { + name = "Background" + quadTextureSprite ="GFX_tiled_window_2b_border" + } + + # ALLIANCE + instantTextboxType = { + name = "ea_resolution_alliance_title" + position = { x = 0 y = 0} + font = "hoi_18mbs" + text = "Alliance" + maxWidth = 150 + maxHeight = 30 + format = center + alwaystransparent = yes + } + buttonType = { + name = "ea_resolution_alliance_icon_3" + position = { x = 75 y = 50 } + spriteType = "GFX_idea_ea_resolution_icon_alliance" + clicksound = click_default + centerposition = yes + font = "merienda_13" + pdx_tooltip = "ea_resolution_alliance_icon_3_tt" + buttonText = "" + } + buttonType = { + name = "ea_resolution_alliance_icon_2" + position = { x = 75 y = 115 } + spriteType = "GFX_idea_ea_resolution_icon_alliance" + clicksound = click_default + centerposition = yes + font = "merienda_13" + pdx_tooltip = "ea_resolution_alliance_icon_2_tt" + buttonText = "" + } + buttonType = { + name = "ea_resolution_alliance_icon_1" + position = { x = 75 y = 180 } + spriteType = "GFX_idea_ea_resolution_icon_alliance" + clicksound = click_default + centerposition = yes + font = "merienda_13" + pdx_tooltip = "ea_resolution_alliance_icon_1_tt" + buttonText = "" + } + iconType = { + name = "ea_resolution_alliance_numberoverlay" + spriteType = "GFX_ea_resolutions_numberoverlay" + position = { x = 75 y = 150 } + centerposition = yes + alwaystransparent = yes + alwaystransparent = yes + } + buttonType = { + name = "ea_resolution_alliance_button" + position = { x = 0 y = 210 } + spriteType = "GFX_button_148x34" + clicksound = click_default + font = "merienda_13" + buttonText = "Propose" + pdx_tooltip = "ea_resolution_alliance_button_tt" + } + + # EXPANSION + instantTextboxType = { + name = "ea_resolution_expansion_title" + position = { x = 150 y = 0} + font = "hoi_18mbs" + text = "Expansion" + maxWidth = 150 + maxHeight = 30 + format = center + alwaystransparent = yes + } + buttonType = { + name = "ea_resolution_expansion_icon_3" + position = { x = 225 y = 50 } + spriteType = "GFX_idea_ea_resolution_icon_expansion" + clicksound = click_default + centerposition = yes + font = "merienda_13" + pdx_tooltip = "ea_resolution_expansion_icon_3_tt" + buttonText = "" + } + buttonType = { + name = "ea_resolution_expansion_icon_2" + position = { x = 225 y = 115 } + spriteType = "GFX_idea_ea_resolution_icon_expansion" + clicksound = click_default + centerposition = yes + font = "merienda_13" + pdx_tooltip = "ea_resolution_expansion_icon_2_tt" + buttonText = "" + } + buttonType = { + name = "ea_resolution_expansion_icon_1" + position = { x = 225 y = 180 } + spriteType = "GFX_idea_ea_resolution_icon_expansion" + clicksound = click_default + centerposition = yes + font = "merienda_13" + pdx_tooltip = "ea_resolution_expansion_icon_1_tt" + buttonText = "" + } + iconType = { + name = "ea_resolution_expansion_numberoverlay" + spriteType = "GFX_ea_resolutions_numberoverlay" + position = { x = 225 y = 150 } + centerposition = yes + alwaystransparent = yes + alwaystransparent = yes + } + buttonType = { + name = "ea_resolution_expansion_button" + position = { x = 150 y = 210 } + spriteType = "GFX_button_148x34" + clicksound = click_default + font = "merienda_13" + buttonText = "Propose" + pdx_tooltip = "ea_resolution_expansion_button_tt" + } + + # INDUSTRY + instantTextboxType = { + name = "ea_resolution_industry_title" + position = { x = 300 y = 0} + font = "hoi_18mbs" + text = "Industry" + maxWidth = 150 + maxHeight = 30 + format = center + alwaystransparent = yes + } + buttonType = { + name = "ea_resolution_industry_icon_3" + position = { x = 375 y = 50 } + spriteType = "GFX_idea_ea_resolution_icon_industry" + clicksound = click_default + centerposition = yes + font = "merienda_13" + pdx_tooltip = "ea_resolution_industry_icon_3_tt" + buttonText = "" + } + buttonType = { + name = "ea_resolution_industry_icon_2" + position = { x = 375 y = 115 } + spriteType = "GFX_idea_ea_resolution_icon_industry" + clicksound = click_default + centerposition = yes + font = "merienda_13" + pdx_tooltip = "ea_resolution_industry_icon_2_tt" + buttonText = "" + } + buttonType = { + name = "ea_resolution_industry_icon_1" + position = { x = 375 y = 180 } + spriteType = "GFX_idea_ea_resolution_icon_industry" + clicksound = click_default + centerposition = yes + font = "merienda_13" + pdx_tooltip = "ea_resolution_industry_icon_1_tt" + buttonText = "" + } + iconType = { + name = "ea_resolution_industry_numberoverlay" + spriteType = "GFX_ea_resolutions_numberoverlay" + position = { x = 375 y = 150 } + centerposition = yes + alwaystransparent = yes + } + buttonType = { + name = "ea_resolution_industry_button" + position = { x = 300 y = 210 } + spriteType = "GFX_button_148x34" + clicksound = click_default + font = "merienda_13" + buttonText = "Propose" + pdx_tooltip = "ea_resolution_industry_button_tt" + } + + # TRADE + instantTextboxType = { + name = "ea_resolution_trade_title" + position = { x = 450 y = 0} + font = "hoi_18mbs" + text = "Trade" + maxWidth = 150 + maxHeight = 30 + format = center + alwaystransparent = yes + } + buttonType = { + name = "ea_resolution_trade_icon_3" + position = { x = 525 y = 50 } + spriteType = "GFX_idea_ea_resolution_icon_trade" + clicksound = click_default + centerposition = yes + font = "merienda_13" + pdx_tooltip = "ea_resolution_trade_icon_3_tt" + buttonText = "" + } + buttonType = { + name = "ea_resolution_trade_icon_2" + position = { x = 525 y = 115 } + spriteType = "GFX_idea_ea_resolution_icon_trade" + clicksound = click_default + centerposition = yes + font = "merienda_13" + pdx_tooltip = "ea_resolution_trade_icon_2_tt" + buttonText = "" + } + buttonType = { + name = "ea_resolution_trade_icon_1" + position = { x = 525 y = 180 } + spriteType = "GFX_idea_ea_resolution_icon_trade" + clicksound = click_default + centerposition = yes + font = "merienda_13" + pdx_tooltip = "ea_resolution_trade_icon_1_tt" + buttonText = "" + } + iconType = { + name = "ea_resolution_trade_numberoverlay" + spriteType = "GFX_ea_resolutions_numberoverlay" + position = { x = 525 y = 150 } + centerposition = yes + alwaystransparent = yes + } + buttonType = { + name = "ea_resolution_trade_button" + position = { x = 450 y = 210 } + spriteType = "GFX_button_148x34" + clicksound = click_default + font = "merienda_13" + buttonText = "Propose" + pdx_tooltip = "ea_resolution_trade_button_tt" + } + + # PEACE + instantTextboxType = { + name = "ea_resolution_peace_title" + position = { x = 600 y = 0} + font = "hoi_18mbs" + text = "Peace" + maxWidth = 150 + maxHeight = 30 + format = center + alwaystransparent = yes + } + buttonType = { + name = "ea_resolution_peace_icon_3" + position = { x = 675 y = 50 } + spriteType = "GFX_idea_ea_resolution_icon_peace" + clicksound = click_default + centerposition = yes + font = "merienda_13" + pdx_tooltip = "ea_resolution_peace_icon_3_tt" + buttonText = "" + } + buttonType = { + name = "ea_resolution_peace_icon_2" + position = { x = 675 y = 115 } + spriteType = "GFX_idea_ea_resolution_icon_peace" + clicksound = click_default + centerposition = yes + font = "merienda_13" + pdx_tooltip = "ea_resolution_peace_icon_2_tt" + buttonText = "" + } + buttonType = { + name = "ea_resolution_peace_icon_1" + position = { x = 675 y = 180 } + spriteType = "GFX_idea_ea_resolution_icon_peace" + clicksound = click_default + centerposition = yes + font = "merienda_13" + pdx_tooltip = "ea_resolution_peace_icon_1_tt" + buttonText = "" + } + iconType = { + name = "ea_resolution_peace_numberoverlay" + spriteType = "GFX_ea_resolutions_numberoverlay" + position = { x = 675 y = 150 } + centerposition = yes + alwaystransparent = yes + } + buttonType = { + name = "ea_resolution_peace_button" + position = { x = 600 y = 210 } + spriteType = "GFX_button_148x34" + clicksound = click_default + font = "merienda_13" + buttonText = "Propose" + pdx_tooltip = "ea_resolution_peace_button_tt" + } + + # RESEARCH + instantTextboxType = { + name = "ea_resolution_research_title" + position = { x = 750 y = 0} + font = "hoi_18mbs" + text = "Research" + maxWidth = 150 + maxHeight = 30 + format = center + alwaystransparent = yes + } + buttonType = { + name = "ea_resolution_research_icon_3" + position = { x = 825 y = 50 } + spriteType = "GFX_idea_ea_resolution_icon_research" + clicksound = click_default + centerposition = yes + font = "merienda_13" + pdx_tooltip = "ea_resolution_research_icon_3_tt" + buttonText = "" + } + buttonType = { + name = "ea_resolution_research_icon_2" + position = { x = 825 y = 115 } + spriteType = "GFX_idea_ea_resolution_icon_research" + clicksound = click_default + centerposition = yes + font = "merienda_13" + pdx_tooltip = "ea_resolution_research_icon_2_tt" + buttonText = "" + } + buttonType = { + name = "ea_resolution_research_icon_1" + position = { x = 825 y = 180 } + spriteType = "GFX_idea_ea_resolution_icon_research" + clicksound = click_default + centerposition = yes + font = "merienda_13" + pdx_tooltip = "ea_resolution_research_icon_1_tt" + buttonText = "" + } + iconType = { + name = "ea_resolution_research_numberoverlay" + spriteType = "GFX_ea_resolutions_numberoverlay" + position = { x = 825 y = 150 } + centerposition = yes + alwaystransparent = yes + } + buttonType = { + name = "ea_resolution_research_button" + position = { x = 750 y = 210 } + spriteType = "GFX_button_148x34" + clicksound = click_default + font = "merienda_13" + buttonText = "Propose" + pdx_tooltip = "ea_resolution_research_button_tt" + } + + # SPECIAL + instantTextboxType = { + name = "ea_resolution_special_title" + position = { x = 900 y = 0} + font = "hoi_18mbs" + text = "Special" + maxWidth = 150 + maxHeight = 30 + format = center + alwaystransparent = yes + } + buttonType = { + name = "ea_resolution_special_icon_3" + position = { x = 975 y = 50 } + spriteType = "GFX_idea_ea_resolution_icon_union" + clicksound = click_default + centerposition = yes + font = "merienda_13" + pdx_tooltip = "ea_resolution_special_icon_3_tt" + buttonText = "" + } + buttonType = { + name = "ea_resolution_special_icon_2" + position = { x = 975 y = 115 } + spriteType = "GFX_idea_ea_resolution_icon_union" + clicksound = click_default + centerposition = yes + font = "merienda_13" + pdx_tooltip = "ea_resolution_special_icon_2_tt" + buttonText = "" + } + buttonType = { + name = "ea_resolution_special_icon_1" + position = { x = 975 y = 180 } + spriteType = "GFX_idea_ea_resolution_icon_union" + clicksound = click_default + centerposition = yes + font = "merienda_13" + pdx_tooltip = "ea_resolution_special_icon_1_tt" + buttonText = "" + } + iconType = { + name = "ea_resolution_special_numberoverlay" + spriteType = "GFX_ea_resolutions_numberoverlay" + position = { x = 975 y = 150 } + centerposition = yes + alwaystransparent = yes + } + buttonType = { + name = "ea_resolution_special_button" + position = { x = 900 y = 210 } + spriteType = "GFX_button_148x34" + clicksound = click_default + font = "merienda_13" + buttonText = "Propose" + pdx_tooltip = "ea_resolution_special_button_tt" + } + + } + + buttonType = { + name = "close" + position = { x = -50 y = 5 } + quadTextureSprite ="GFX_closebutton" + buttonFont = "merienda_13" + shortcut = "ESCAPE" + Orientation = "UPPER_RIGHT" + clicksound = click_close + pdx_tooltip = "CLOSE" + } + + buttonType = { + name = "help" + position = { x = -100 y = 5 } + quadTextureSprite ="GFX_helpbutton" + buttonFont = "merienda_13" + Orientation = "UPPER_RIGHT" + clicksound = click_close + pdx_tooltip = "CLOSE" + } + } + + containerWindowType = { + name = "proposal_queue_entry" + size = {width=280 height=55} + + buttonType = { + name = "entry_bg" + position = { x = 0 y = 0 } + quadTextureSprite ="GFX_elven_alliance_proposal_queue_entry_bg" + } + + instantTextboxType = { + name = "resolution_name" + position = { x = 10 y = 4 } + font = "hoi_18mbs" + text = "[?global.ea_resolutions_queue^i.GetTokenLocalizedKey] [THIS.GetResolutionTarget]" + maxWidth = 200 + maxHeight = 10 + format = left + fixedsize = yes + alwaystransparent = yes + } + + instantTextboxType = { + name = "proposer_name" + position = { x = 10 y = 25 } + font = "hoi_18" + text = "by [THIS.GetNameWithFlag]" + maxWidth = 200 + maxHeight = 20 + format = left + fixedsize = yes + alwaystransparent = yes + } + + #buttonType = { + # name ="proposal_queue_entry__" + # quadTextureSprite ="GFX_button_261x34" + # position = { x=0 y=0 } + # #This will write onto the button the value and index of the array + # buttonText = "[THIS.GetNameWithFlag]" + # buttonFont = "hoi_16mbs" + #} + } +} diff --git a/interface/eventpictures.gfx b/interface/eventpictures.gfx deleted file mode 100644 index a1e04133b..000000000 --- a/interface/eventpictures.gfx +++ /dev/null @@ -1,2067 +0,0 @@ -spriteTypes = { - - spriteType = { - name = "GFX_news_event_redhorn_storm" - texturefile = "gfx/event_pictures/news_event_redhorn_storm.dds" - } - - spriteType = { - name = "GFX_news_event_helmsdeep_breached" - texturefile = "gfx/event_pictures/news_event_helmsdeep_breached.dds" - } - - spriteType = { - name = "GFX_news_event_spiders" - texturefile = "gfx/event_pictures/news_event_spiders.tga" - } - - spriteType = { - name = "GFX_news_event_dolguldur" - texturefile = "gfx/event_pictures/news_event_dolguldur.tga" - } - - spriteType = { - name = "GFX_news_event_faramir_dead" - texturefile = "gfx/event_pictures/news_event_faramir_dead.tga" - } - - spriteType = { - name = "GFX_news_event_denethor_suicide" - texturefile = "gfx/event_pictures/news_event_denethor_suicide.tga" - } - - spriteType = { - name = "GFX_news_event_coronation" - texturefile = "gfx/event_pictures/news_event_coronation.tga" - } - - spriteType = { - name = "GFX_news_event_dwarves" - texturefile = "gfx/event_pictures/news_event_dwarves.tga" - } - - spriteType = { - name = "GFX_news_event_rangers" - texturefile = "gfx/event_pictures/news_event_rangers.tga" - } - - spriteType = { - name = "GFX_news_event_witch" - texturefile = "gfx/event_pictures/news_event_witch.tga" - } - - spriteType = { - name = "GFX_news_event_angmar" - texturefile = "gfx/event_pictures/news_event_angmar.tga" - } - - spriteType = { - name = "GFX_news_event_balrog" - texturefile = "gfx/event_pictures/news_event_balrog.tga" - } - - spriteType = { - name = "GFX_news_event_sailaway" - texturefile = "gfx/event_pictures/news_event_sailaway.tga" - } - - spriteType = { - name = "GFX_news_event_enedwaith_saruman" - texturefile = "gfx/event_pictures/news_event_enedwaith_saruman.tga" - } - - spriteType = { - name = "GFX_news_event_shire" - texturefile = "gfx/event_pictures/news_event_shire.tga" - } - - spriteType = { - name = "GFX_news_event_sauron" - texturefile = "gfx/event_pictures/news_event_sauron.tga" - } - - spriteType = { - name = "GFX_news_event_dead_army" - texturefile = "gfx/event_pictures/news_event_dead_army.tga" - } - - spriteType = { - name = "GFX_news_event_elrond" - texturefile = "gfx/event_pictures/news_event_elrond.tga" - } - - spriteType = { - name = "GFX_news_event_major_death" - texturefile = "gfx/event_pictures/news_event_major_death.tga" - } - - spriteType = { - name = "GFX_news_event_3rd_breakfast" - texturefile = "gfx/event_pictures/news_event_3rd_breakfast.tga" - } - - spriteType = { - name = "GFX_news_event_ring_destroyed" - texturefile = "gfx/event_pictures/news_event_ring_destroyed.tga" - } - - spriteType = { - name = "GFX_news_event_ring_marshes" - texturefile = "gfx/event_pictures/news_event_ring_marshes.tga" - } - - spriteType = { - name = "GFX_news_event_ring_boromir" - texturefile = "gfx/event_pictures/news_event_ring_boromir.tga" - } - - spriteType = { - name = "GFX_news_event_ring_isengard" - texturefile = "gfx/event_pictures/news_event_ring_isengard.tga" - } - - spriteType = { - name = "GFX_news_event_ring_lorien_take" - texturefile = "gfx/event_pictures/news_event_ring_lorien_take.tga" - } - - spriteType = { - name = "GFX_news_event_ring_lorien_intercept" - texturefile = "gfx/event_pictures/news_event_ring_lorien_intercept.tga" - } - - spriteType = { - name = "GFX_news_event_ring_shire" - texturefile = "gfx/event_pictures/news_event_ring_shire.tga" - } - - - - - - spriteType = { - name = "GFX_news_event_mirkwood" - texturefile = "gfx/event_pictures/news_event_mirkwood.tga" - } - - spriteType = { - name = "GFX_news_event_ents" - texturefile = "gfx/event_pictures/news_event_ents.tga" - } - - spriteType = { - name = "GFX_report_event_alliance" - texturefile = "gfx/event_pictures/report_event_alliance.tga" - } - - spriteType = { - name = "GFX_report_event_fight" - texturefile = "gfx/event_pictures/report_event_fight.tga" - } - - spriteType = { - name = "GFX_report_event_paper" - texturefile = "gfx/event_pictures/report_event_paper.tga" - } - - spriteType = { - name = "GFX_report_event_ring" - texturefile = "gfx/event_pictures/report_event_ring.tga" - } - - spriteType = { - name = "GFX_news_event_dagorlad" - texturefile = "gfx/event_pictures/news_event_dagorlad.tga" - } - - spriteType = { - name = "GFX_news_event_rhun" - texturefile = "gfx/event_pictures/news_event_rhun.tga" - } - - spriteType = { - name = "GFX_news_event_harad" - texturefile = "gfx/event_pictures/news_event_harad.tga" - } - - spriteType = { - name = "GFX_news_event_harad_war" - texturefile = "gfx/event_pictures/news_event_harad_war.tga" - } - - - spriteType = { - name = "GFX_news_event_moria_overrun" - texturefile = "gfx/event_pictures/news_event_moria_overrun.tga" - } - - spriteType = { - name = "GFX_news_event_boromir_dead" - texturefile = "gfx/event_pictures/news_event_boromir_dead.tga" - } - - spriteType = { - name = "GFX_news_event_grima_exiled" - texturefile = "gfx/event_pictures/news_event_grima_exiled.tga" - } - - spriteType = { - name = "GFX_news_event_theoden_dead" - texturefile = "gfx/event_pictures/news_event_theoden_dead.tga" - } - - spriteType = { - name = "GFX_news_event_grima_eowyn_marriage" - texturefile = "gfx/event_pictures/news_event_grima_eowyn_marriage.tga" - } - - spriteType = { - name = "GFX_news_event_theoden_ill" - texturefile = "gfx/event_pictures/news_event_theoden_ill.tga" - } - - spriteType = { - name = "GFX_news_event_theodred" - texturefile = "gfx/event_pictures/news_event_theodred.tga" - } - - spriteType = { - name = "GFX_news_event_saruman" - texturefile = "gfx/event_pictures/news_event_saruman.tga" - } - - spriteType = { - name = "GFX_news_event_gandalf_saruman_fight" - texturefile = "gfx/event_pictures/news_event_gandalf_saruman_fight.tga" - } - - spriteType = { - name = "GFX_news_event_gandalf_saruman_alliance" - texturefile = "gfx/event_pictures/news_event_gandalf_saruman_alliance.tga" - } - - spriteType = { - name = "GFX_news_event_council" - texturefile = "gfx/event_pictures/news_event_council.tga" - } - - - spriteType = { - name = "GFX_report_event_nazgul" - texturefile = "gfx/event_pictures/report_event_nazgul.tga" - } - - spriteType = { - name = "GFX_report_event_party" - texturefile = "gfx/event_pictures/report_event_party.tga" - } - - spriteType = { - name = "GFX_news_event_bilbo" - texturefile = "gfx/event_pictures/news_event_bilbo.tga" - } - - - spriteType = { - name = "GFX_report_event_orcs_marching" - texturefile = "gfx/event_pictures/report_event_orcs_marching.tga" - } - - - spriteType = { - name = "GFX_report_event_generic_funeral" - texturefile = "gfx/event_pictures/report_event_generic_funeral.dds" - } - - spriteType = { - name = "GFX_news_event_polish_army" - texturefile = "gfx/event_pictures/news_event_polish_army.dds" - } - - spriteType = { - name = "GFX_news_event_generic_funeral" - texturefile = "gfx/event_pictures/news_event_generic_funeral.dds" - } - - spriteType = { - name = "GFX_report_event_generic_read_write" - texturefile = "gfx/event_pictures/report_event_generic_read_write.dds" - } - - spriteType = { - name = "GFX_news_event_generic_read_write" - texturefile = "gfx/event_pictures/news_event_generic_read_write.dds" - } - - spriteType = { - name = "GFX_news_event_generic_sign_treaty2" - texturefile = "gfx/event_pictures/news_event_generic_sign_treaty2.dds" - } - - spriteType = { - name = "GFX_news_event_generic_sign_treaty1" - texturefile = "gfx/event_pictures/news_event_generic_sign_treaty1.dds" - } - - spriteType = { - name = "GFX_report_event_generic_sign_treaty2" - texturefile = "gfx/event_pictures/report_event_generic_sign_treaty2.dds" - } - - spriteType = { - name = "GFX_report_event_generic_sign_treaty1" - texturefile = "gfx/event_pictures/report_event_generic_sign_treaty1.dds" - } - - spriteType = { - name = "GFX_report_event_tanks_mexico_city" - texturefile = "gfx/event_pictures/report_event_tanks_mexico_city.dds" - } - - spriteType = { - name = "GFX_news_event_001" - texturefile = "gfx/event_pictures/news_event_001.dds" - } - - spriteType = { - name = "GFX_news_event_002" - texturefile = "gfx/event_pictures/news_event_002.dds" - } - - spriteType = { - name = "GFX_news_event_003" - texturefile = "gfx/event_pictures/news_event_003.dds" - } - - spriteType = { - name = "GFX_news_event_004" - texturefile = "gfx/event_pictures/news_event_004.dds" - } - - spriteType = { - name = "GFX_news_event_005" - texturefile = "gfx/event_pictures/news_event_005.dds" - } - - spriteType = { - name = "GFX_news_event_006" - texturefile = "gfx/event_pictures/news_event_006.dds" - } - - spriteType = { - name = "GFX_news_event_008" - texturefile = "gfx/event_pictures/news_event_008.dds" - } - - spriteType = { - name = "GFX_news_event_009" - texturefile = "gfx/event_pictures/news_event_009.dds" - } - - spriteType = { - name = "GFX_news_event_011" - texturefile = "gfx/event_pictures/news_event_011.dds" - } - - spriteType = { - name = "GFX_news_event_012" - texturefile = "gfx/event_pictures/news_event_012.dds" - } - - spriteType = { - name = "GFX_news_event_016" - texturefile = "gfx/event_pictures/news_event_016.dds" - } - - spriteType = { - name = "GFX_news_event_017" - texturefile = "gfx/event_pictures/news_event_017.dds" - } - - spriteType = { - name = "GFX_news_event_018" - texturefile = "gfx/event_pictures/news_event_018.dds" - } - - spriteType = { - name = "GFX_news_event_019" - texturefile = "gfx/event_pictures/news_event_019.dds" - } - - spriteType = { - name = "GFX_news_event_020" - texturefile = "gfx/event_pictures/news_event_020.dds" - } - - spriteType = { - name = "GFX_news_event_021" - texturefile = "gfx/event_pictures/news_event_021.dds" - } - - spriteType = { - name = "GFX_news_event_023" - texturefile = "gfx/event_pictures/news_event_023.dds" - } - - spriteType = { - name = "GFX_news_event_024" - texturefile = "gfx/event_pictures/news_event_024.dds" - } - - spriteType = { - name = "GFX_news_event_025" - texturefile = "gfx/event_pictures/news_event_025.dds" - } - - spriteType = { - name = "GFX_news_event_026" - texturefile = "gfx/event_pictures/news_event_026.dds" - } - - spriteType = { - name = "GFX_report_event_hindenburg_flames" - texturefile = "gfx/event_pictures/report_event_hindenburg_flames.dds" - } - - spriteType = { - name = "GFX_news_event_028" - texturefile = "gfx/event_pictures/news_event_028.dds" - } - - spriteType = { - name = "GFX_news_event_029" - texturefile = "gfx/event_pictures/news_event_029.dds" - } - - spriteType = { - name = "GFX_report_event_airplane_crash" - texturefile = "gfx/event_pictures/report_event_airplane_crash.dds" - } - - spriteType = { - name = "GFX_news_event_032" - texturefile = "gfx/event_pictures/news_event_032.dds" - } - - spriteType = { - name = "GFX_news_event_033" - texturefile = "gfx/event_pictures/news_event_033.dds" - } - - spriteType = { - name = "GFX_news_event_034" - texturefile = "gfx/event_pictures/news_event_034.dds" - } - - spriteType = { - name = "GFX_news_event_038" - texturefile = "gfx/event_pictures/news_event_038.dds" - } - - spriteType = { - name = "GFX_news_event_039" - texturefile = "gfx/event_pictures/news_event_039.dds" - } - - spriteType = { - name = "GFX_news_event_040" - texturefile = "gfx/event_pictures/news_event_040.dds" - } - - spriteType = { - name = "GFX_news_event_041" - texturefile = "gfx/event_pictures/news_event_041.dds" - } - - spriteType = { - name = "GFX_news_event_042" - texturefile = "gfx/event_pictures/news_event_042.dds" - } - - spriteType = { - name = "GFX_news_event_046" - texturefile = "gfx/event_pictures/news_event_046.dds" - } - - spriteType = { - name = "GFX_news_event_047" - texturefile = "gfx/event_pictures/news_event_047.dds" - } - - spriteType = { - name = "GFX_news_event_048" - texturefile = "gfx/event_pictures/news_event_048.dds" - } - - spriteType = { - name = "GFX_news_event_050" - texturefile = "gfx/event_pictures/news_event_050.dds" - } - - spriteType = { - name = "GFX_news_event_051" - texturefile = "gfx/event_pictures/news_event_051.dds" - } - - spriteType = { - name = "GFX_news_event_052" - texturefile = "gfx/event_pictures/news_event_052.dds" - } - - spriteType = { - name = "GFX_news_event_053" - texturefile = "gfx/event_pictures/news_event_053.dds" - } - - spriteType = { - name = "GFX_news_event_054" - texturefile = "gfx/event_pictures/news_event_054.dds" - } - - spriteType = { - name = "GFX_news_event_056" - texturefile = "gfx/event_pictures/news_event_056.dds" - } - - spriteType = { - name = "GFX_news_event_057" - texturefile = "gfx/event_pictures/news_event_057.dds" - } - - spriteType = { - name = "GFX_news_event_061" - texturefile = "gfx/event_pictures/news_event_061.dds" - } - - spriteType = { - name = "GFX_news_event_063" - texturefile = "gfx/event_pictures/news_event_063.dds" - } - - spriteType = { - name = "GFX_news_event_064" - texturefile = "gfx/event_pictures/news_event_064.dds" - } - - spriteType = { - name = "GFX_news_event_067" - texturefile = "gfx/event_pictures/news_event_067.dds" - } - - spriteType = { - name = "GFX_news_event_olympics_1940" - texturefile = "gfx/event_pictures/olympics_1940.dds" - } - - spriteType = { - name = "GFX_news_event_069" - texturefile = "gfx/event_pictures/news_event_069.dds" - } - - spriteType = { - name = "GFX_news_event_070" - texturefile = "gfx/event_pictures/news_event_070.dds" - } - - spriteType = { - name = "GFX_news_event_072" - texturefile = "gfx/event_pictures/news_event_072.dds" - } - - spriteType = { - name = "GFX_news_event_073" - texturefile = "gfx/event_pictures/news_event_073.dds" - } - - spriteType = { - name = "GFX_news_event_nuke" - texturefile = "gfx/event_pictures/news_event_nuke.dds" - } - - spriteType = { - name = "GFX_report_event_001" - texturefile = "gfx/event_pictures/report_event_001.dds" - } - - spriteType = { - name = "GFX_report_event_albanian_king_zog" - texturefile = "gfx/event_pictures/report_event_albanian_king_zog.dds" - } - - spriteType = { - name = "GFX_report_event_albanian_partisans" - texturefile = "gfx/event_pictures/report_event_albanian_partisans.dds" - } - - spriteType = { - name = "GFX_report_event_asian_politicians" - texturefile = "gfx/event_pictures/report_event_asian_politicians.dds" - } - - spriteType = { - name = "GFX_report_event_british_artillery" - texturefile = "gfx/event_pictures/report_event_british_artillery.dds" - } - - spriteType = { - name = "GFX_report_event_british_inspect_troops" - texturefile = "gfx/event_pictures/report_event_british_inspect_troops.dds" - } - - spriteType = { - name = "GFX_report_event_bunker_01" - texturefile = "gfx/event_pictures/report_event_bunker_01.dds" - } - - spriteType = { - name = "GFX_report_event_burma_road" - texturefile = "gfx/event_pictures/report_event_burma_road.dds" - } - - spriteType = { - name = "GFX_report_event_chamberlain" - texturefile = "gfx/event_pictures/report_event_chamberlain.dds" - } - - spriteType = { - name = "GFX_report_event_chamberlain_announce" - texturefile = "gfx/event_pictures/report_event_chamberlain_announce.dds" - } - - spriteType = { - name = "GFX_report_event_china_politicians_captured" - texturefile = "gfx/event_pictures/report_event_china_politicians_captured.dds" - } - - spriteType = { - name = "GFX_report_event_chinese_japanese_handshake" - texturefile = "gfx/event_pictures/report_event_chinese_japanese_handshake.dds" - } - - spriteType = { - name = "GFX_report_event_chinese_soldiers" - texturefile = "gfx/event_pictures/report_event_chinese_soldiers.dds" - } - - spriteType = { - name = "GFX_report_event_chinese_soldiers_01" - texturefile = "gfx/event_pictures/report_event_chinese_soldiers_01.dds" - } - - spriteType = { - name = "GFX_report_event_chinese_soldiers_02" - texturefile = "gfx/event_pictures/report_event_chinese_soldiers_02.dds" - } - - spriteType = { - name = "GFX_report_event_chinese_soldiers_fighting" - texturefile = "gfx/event_pictures/report_event_chinese_soldiers_fighting.dds" - } - - spriteType = { - name = "GFX_report_event_chinese_soldiers_running" - texturefile = "gfx/event_pictures/report_event_chinese_soldiers_running.dds" - } - - spriteType = { - name = "GFX_report_event_czech_soldiers_01" - texturefile = "gfx/event_pictures/report_event_czech_soldiers_01.dds" - } - - spriteType = { - name = "GFX_report_event_czech_soldiers_02" - texturefile = "gfx/event_pictures/report_event_czech_soldiers_02.dds" - } - - spriteType = { - name = "GFX_report_event_dead_soldiers" - texturefile = "gfx/event_pictures/report_event_dead_soldiers.dds" - } - - spriteType = { - name = "GFX_report_event_degaulle_churchill" - texturefile = "gfx/event_pictures/report_event_degaulle_churchill.dds" - } - - spriteType = { - name = "GFX_news_event_degaulle_churchill" - texturefile = "gfx/event_pictures/news_event_churchill_degaulle.dds" - } - - spriteType = { - name = "GFX_report_event_degaulle_inspect_troops" - texturefile = "gfx/event_pictures/report_event_degaulle_inspect_troops.dds" - } - - spriteType = { - name = "GFX_report_event_europe_funeral" - texturefile = "gfx/event_pictures/report_event_europe_funeral.dds" - } - - spriteType = { - name = "GFX_report_event_worker_protests" - texturefile = "gfx/event_pictures/report_event_worker_protests.dds" - } - - spriteType = { - name = "GFX_report_event_gathering_protest" - texturefile = "gfx/event_pictures/report_event_gathering_protest.dds" - } - - spriteType = { - name = "GFX_report_event_fascist_gathering" - texturefile = "gfx/event_pictures/report_event_fascist_gathering.dds" - } - - spriteType = { - name = "GFX_report_event_fascist_speech" - texturefile = "gfx/event_pictures/report_event_fascist_speech.dds" - } - - spriteType = { - name = "GFX_report_event_fascist_militia" - texturefile = "gfx/event_pictures/report_event_fascist_militia.dds" - } - - spriteType = { - name = "GFX_report_event_airplane_factory" - texturefile = "gfx/event_pictures/report_event_airplane_factory.dds" - } - - spriteType = { - name = "GFX_report_event_tank_factory" - texturefile = "gfx/event_pictures/report_event_tank_factory.dds" - } - - spriteType = { - name = "GFX_report_event_journalists_speech" - texturefile = "gfx/event_pictures/report_event_journalists_speech.dds" - } - - spriteType = { - name = "GFX_report_event_election_vote" - texturefile = "gfx/event_pictures/report_event_election_vote.dds" - } - - spriteType = { - name = "GFX_report_event_FDR_speech" - texturefile = "gfx/event_pictures/report_event_FDR_speech.dds" - } - - spriteType = { - name = "GFX_report_event_finnish_letter" - texturefile = "gfx/event_pictures/report_event_finnish_letter.dds" - } - - spriteType = { - name = "GFX_report_event_finnish_soldiers_snow" - texturefile = "gfx/event_pictures/report_event_finnish_soldiers_snow.dds" - } - - spriteType = { - name = "GFX_report_event_french_british_officers" - texturefile = "gfx/event_pictures/report_event_french_british_officers.dds" - } - - spriteType = { - name = "GFX_report_event_french_liberation" - texturefile = "gfx/event_pictures/report_event_french_liberation.dds" - } - - spriteType = { - name = "GFX_report_event_french_resistance_01" - texturefile = "gfx/event_pictures/report_event_french_resistance_01.dds" - } - - spriteType = { - name = "GFX_report_event_french_resistance_02" - texturefile = "gfx/event_pictures/report_event_french_resistance_02.dds" - } - - spriteType = { - name = "GFX_report_event_german_advisors_remain" - texturefile = "gfx/event_pictures/report_event_german_advisors_remain.dds" - } - - spriteType = { - name = "GFX_report_event_germany_victory" - texturefile = "gfx/event_pictures/news_report_germany_victory.dds" - } - - spriteType = { - name = "GFX_report_event_german_detained_china" - texturefile = "gfx/event_pictures/report_event_german_detained_china.dds" - } - - spriteType = { - name = "GFX_report_event_german_inspect_troops" - texturefile = "gfx/event_pictures/report_event_german_inspect_troops.dds" - } - - spriteType = { - name = "GFX_report_event_german_italian_pact" - texturefile = "gfx/event_pictures/report_event_german_italian_pact.dds" - } - - spriteType = { - name = "GFX_report_event_german_parade_paris" - texturefile = "gfx/event_pictures/report_event_german_parade_paris.dds" - } - - spriteType = { - name = "GFX_report_event_german_polish_border" - texturefile = "gfx/event_pictures/report_event_german_polish_border.dds" - } - - spriteType = { - name = "GFX_report_event_german_politician_speech" - texturefile = "gfx/event_pictures/report_event_german_politician_speech.dds" - } - - spriteType = { - name = "GFX_report_event_german_reichstag_bombed" - texturefile = "gfx/event_pictures/report_event_german_reichstag_bombed.dds" - } - - spriteType = { - name = "GFX_report_event_german_reichstag_gathering" - texturefile = "gfx/event_pictures/report_event_german_reichstag_gathering.dds" - } - - spriteType = { - name = "GFX_report_event_german_speech" - texturefile = "gfx/event_pictures/report_event_german_speech.dds" - } - - spriteType = { - name = "GFX_report_event_german_troops" - texturefile = "gfx/event_pictures/report_event_german_troops.dds" - } - - spriteType = { - name = "GFX_report_event_german_troops_paris" - texturefile = "gfx/event_pictures/report_event_german_troops_paris.dds" - } - - spriteType = { - name = "GFX_report_event_german_turkish_pact" - texturefile = "gfx/event_pictures/report_event_german_turkish_pact.dds" - } - - spriteType = { - name = "GFX_report_event_germany_politician_handshake" - texturefile = "gfx/event_pictures/report_event_germany_politician_handshake.dds" - } - - spriteType = { - name = "GFX_report_event_ghandi_women" - texturefile = "gfx/event_pictures/report_event_ghandi_women.dds" - } - - spriteType = { - name = "GFX_report_event_hitler_china" - texturefile = "gfx/event_pictures/report_event_hitler_china.dds" - } - - spriteType = { - name = "GFX_report_event_hitler_croatia_handshake" - texturefile = "gfx/event_pictures/report_event_hitler_croatia_handshake.dds" - } - - spriteType = { - name = "GFX_report_event_hitler_handshake" - texturefile = "gfx/event_pictures/report_event_hitler_handshake.dds" - } - - spriteType = { - name = "GFX_report_event_hitler_parade" - texturefile = "gfx/event_pictures/report_event_hitler_parade.dds" - } - - spriteType = { - name = "GFX_report_event_indian_soldiers" - texturefile = "gfx/event_pictures/report_event_indian_soldiers.dds" - } - - spriteType = { - name = "GFX_report_event_japan_army_mountainside" - texturefile = "gfx/event_pictures/report_event_japan_army_mountainside.dds" - } - - spriteType = { - name = "GFX_report_event_japan_europe_pact" - texturefile = "gfx/event_pictures/report_event_japan_europe_pact.dds" - } - - spriteType = { - name = "GFX_report_event_japanese_chinese_surrender" - texturefile = "gfx/event_pictures/report_event_japanese_chinese_surrender.dds" - } - - spriteType = { - name = "GFX_DDD" - texturefile = "gfx/event_pictures/DDD.dds" - } - - spriteType = { - name = "GFX_DDD" - texturefile = "gfx/event_pictures/DDD.dds" - } - - spriteType = { - name = "GFX_report_event_japanese_officers" - texturefile = "gfx/event_pictures/report_event_japanese_officers.dds" - } - - spriteType = { - name = "GFX_report_event_japanese_siam_politicians" - texturefile = "gfx/event_pictures/report_event_japanese_siam_politicians.dds" - } - - spriteType = { - name = "GFX_report_event_japanese_soldiers_01" - texturefile = "gfx/event_pictures/report_event_japanese_soldiers_01.dds" - } - - spriteType = { - name = "GFX_report_event_japanese_soldiers_02" - texturefile = "gfx/event_pictures/report_event_japanese_soldiers_02.dds" - } - - spriteType = { - name = "GFX_report_event_japanese_soldiers_03" - texturefile = "gfx/event_pictures/report_event_japanese_soldiers_03.dds" - } - - spriteType = { - name = "GFX_report_event_japanese_transport_soldiers" - texturefile = "gfx/event_pictures/report_event_japanese_transport_soldiers.dds" - } - - spriteType = { - name = "GFX_report_event_lithuania_army" - texturefile = "gfx/event_pictures/report_event_lithuania_army.dds" - } - - spriteType = { - name = "GFX_report_event_merchant_ship_01" - texturefile = "gfx/event_pictures/report_event_merchant_ship_01.dds" - } - - spriteType = { - name = "GFX_report_event_molotov_ribbentrop_stalin_pact" - texturefile = "gfx/event_pictures/report_event_molotov_ribbentrop_stalin_pact.dds" - } - - spriteType = { - name = "GFX_report_event_molotov_ribentrop_handshake" - texturefile = "gfx/event_pictures/report_event_molotov_ribentrop_handshake.dds" - } - - spriteType = { - name = "GFX_report_event_molotov_signing_pact" - texturefile = "gfx/event_pictures/report_event_molotov_signing_pact.dds" - } - - spriteType = { - name = "GFX_report_event_nationalist_china_machinegun_firing" - texturefile = "gfx/event_pictures/report_event_nationalist_china_machinegun_firing.dds" - } - - spriteType = { - name = "GFX_report_event_physics_lab_01" - texturefile = "gfx/event_pictures/report_event_physics_lab_01.dds" - } - - spriteType = { - name = "GFX_report_event_physics_lab_02" - texturefile = "gfx/event_pictures/report_event_physics_lab_02.dds" - } - - spriteType = { - name = "GFX_report_event_pierre_laval" - texturefile = "gfx/event_pictures/report_event_pierre_laval.dds" - } - - spriteType = { - name = "GFX_report_event_polish_army" - texturefile = "gfx/event_pictures/report_event_polish_army.dds" - } - - spriteType = { - name = "GFX_report_event_polish_tanks_01" - texturefile = "gfx/event_pictures/report_event_polish_tanks_01.dds" - } - - spriteType = { - name = "GFX_report_event_polish_tanks_02" - texturefile = "gfx/event_pictures/report_event_polish_tanks_02.dds" - } - - spriteType = { - name = "GFX_report_event_radar_01" - texturefile = "gfx/event_pictures/report_event_radar_01.dds" - } - - spriteType = { - name = "GFX_report_event_royal_parade" - texturefile = "gfx/event_pictures/report_event_royal_parade.dds" - } - - spriteType = { - name = "GFX_report_event_second_vienna_award_pact" - texturefile = "gfx/event_pictures/report_event_second_vienna_award_pact.dds" - } - - spriteType = { - name = "GFX_report_event_soviet_army_greeted" - texturefile = "gfx/event_pictures/report_event_soviet_army_greeted.dds" - } - - spriteType = { - name = "GFX_report_event_soviet_finnish_pact" - texturefile = "gfx/event_pictures/report_event_soviet_finnish_pact.dds" - } - spriteType = { - name = "GFX_report_event_soviet_german_soldier_handshake" - texturefile = "gfx/event_pictures/report_event_soviet_german_soldier_handshake.dds" - } - - spriteType = { - name = "GFX_report_event_soviet_invasion_map" - texturefile = "gfx/event_pictures/report_event_soviet_invasion_map.dds" - } - - spriteType = { - name = "GFX_report_event_soviet_japanese_pact" - texturefile = "gfx/event_pictures/report_event_soviet_japanese_pact.dds" - } - - spriteType = { - name = "GFX_report_event_soviet_purge_officers_01" - texturefile = "gfx/event_pictures/report_event_soviet_purge_officers_01.dds" - } - - spriteType = { - name = "GFX_report_event_soviet_purge_officers_02" - texturefile = "gfx/event_pictures/report_event_soviet_purge_officers_02.dds" - } - spriteType = { - name = "GFX_report_event_soviet_purge_politicians" - texturefile = "gfx/event_pictures/report_event_soviet_purge_politicians.dds" - } - - spriteType = { - name = "GFX_report_event_soviet_purge_speech" - texturefile = "gfx/event_pictures/report_event_soviet_purge_speech.dds" - } - - spriteType = { - name = "GFX_report_event_soviet_purge_trial" - texturefile = "gfx/event_pictures/report_event_soviet_purge_trial.dds" - } - - spriteType = { - name = "GFX_report_event_soviet_soldiers" - texturefile = "gfx/event_pictures/report_event_soviet_soldiers.dds" - } - - spriteType = { - name = "GFX_report_event_soviet_soldiers_tank" - texturefile = "gfx/event_pictures/report_event_soviet_soldiers_tank.dds" - } - - spriteType = { - name = "GFX_report_event_soviet_tank_parade" - texturefile = "gfx/event_pictures/report_event_soviet_tank_parade.dds" - } - - spriteType = { - name = "GFX_report_event_soviet_tanks" - texturefile = "gfx/event_pictures/report_event_soviet_tanks.dds" - } - - spriteType = { - name = "GFX_report_event_soviet_tanks_snow" - texturefile = "gfx/event_pictures/report_event_soviet_tanks_snow.dds" - } - - spriteType = { - name = "GFX_report_event_spain_civil_war_soldiers" - texturefile = "gfx/event_pictures/report_event_spain_civil_war_soldiers.dds" - } - - spriteType = { - name = "GFX_report_event_spain_civil_war_volunteers_01" - texturefile = "gfx/event_pictures/report_event_spain_civil_war_volunteers_01.dds" - } - - spriteType = { - name = "GFX_report_event_spain_civil_war_volunteers_02" - texturefile = "gfx/event_pictures/report_event_spain_civil_war_volunteers_02.dds" - } - - spriteType = { - name = "GFX_report_event_stalin_01" - texturefile = "gfx/event_pictures/report_event_stalin_01.dds" - } - - spriteType = { - name = "GFX_report_event_stalin_02" - texturefile = "gfx/event_pictures/report_event_stalin_02.dds" - } - - spriteType = { - name = "GFX_report_event_stalin_propaganda" - texturefile = "gfx/event_pictures/report_event_stalin_propaganda.dds" - } - - spriteType = { - name = "GFX_report_event_swedish_soldier" - texturefile = "gfx/event_pictures/report_event_swedish_soldier.dds" - } - - spriteType = { - name = "GFX_report_event_usa_amelia_earhart_airplane" - texturefile = "gfx/event_pictures/report_event_usa_amelia_earhart_airplane.dds" - } - - spriteType = { - name = "GFX_report_event_usa_british_sailors_destroyers" - texturefile = "gfx/event_pictures/report_event_usa_british_sailors_destroyers.dds" - } - - spriteType = { - name = "GFX_report_event_usa_destroyers" - texturefile = "gfx/event_pictures/report_event_usa_destroyers.dds" - } - - spriteType = { - name = "GFX_report_event_usa_election_generic" - texturefile = "gfx/event_pictures/report_event_usa_election_generic.dds" - } - - spriteType = { - name = "GFX_report_event_usa_election_landon_roosevelt" - texturefile = "gfx/event_pictures/report_event_usa_election_landon_roosevelt.dds" - } - - spriteType = { - name = "GFX_report_event_usa_election_roosevelt_dewey" - texturefile = "gfx/event_pictures/report_event_usa_election_roosevelt_dewey.dds" - } - - spriteType = { - name = "GFX_report_event_usa_election_roosevelt_macarthur" - texturefile = "gfx/event_pictures/report_event_usa_election_roosevelt_macarthur.dds" - } - - spriteType = { - name = "GFX_report_event_usa_election_roosevelt_wilkie" - texturefile = "gfx/event_pictures/report_event_usa_election_roosevelt_wilkie.dds" - } - - spriteType = { - name = "GFX_report_event_usa_funeral" - texturefile = "gfx/event_pictures/report_event_usa_funeral.dds" - } - - spriteType = { - name = "GFX_report_event_usa_heavy_cruiser" - texturefile = "gfx/event_pictures/report_event_usa_heavy_cruiser.dds" - } - - spriteType = { - name = "GFX_report_event_usa_macarthur_speech" - texturefile = "gfx/event_pictures/report_event_usa_macarthur_speech.dds" - } - - spriteType = { - name = "GFX_report_event_usa_pearl_harbor_airphoto" - texturefile = "gfx/event_pictures/report_event_usa_pearl_harbor_airphoto.dds" - } - - spriteType = { - name = "GFX_report_event_vienna_award_hungary" - texturefile = "gfx/event_pictures/report_event_vienna_award_hungary.dds" - } - - spriteType = { - name = "GFX_report_event_vienna_award_negotiations" - texturefile = "gfx/event_pictures/report_event_vienna_award_negotiations.dds" - } - - spriteType = { - name = "GFX_report_event_yugoslavian_king_peter" - texturefile = "gfx/event_pictures/report_event_yugoslavian_king_peter.dds" - } - - #These are not sorted alphabetically because TIME IS OF THE ESSEN - - spriteType = { - name = "GFX_news_event_fascist_gathering" - texturefile = "gfx/event_pictures/news_event_fascist_gathering.dds" - } - - spriteType = { - name = "GFX_news_event_tank_factory" - texturefile = "gfx/event_pictures/news_event_tank_factory.dds" - } - - spriteType = { - name = "GFX_news_event_election_vote" - texturefile = "gfx/event_pictures/news_event_election_vote.dds" - } - - spriteType = { - name = "GFX_news_event_worker_protests" - texturefile = "gfx/event_pictures/news_event_worker_protests.dds" - } - - spriteType = { - name = "GFX_news_event_gathering_protest" - texturefile = "gfx/event_pictures/news_event_gathering_protest.dds" - } - - spriteType = { - name = "GFX_news_event_desertion_poster" - texturefile = "gfx/event_pictures/news_event_desertion_poster.dds" - } - - spriteType = { - name = "GFX_news_event_journalists_speech" - texturefile = "gfx/event_pictures/news_event_journalists_speech.dds" - } - - spriteType = { - name = "GFX_news_event_fascist_militia" - texturefile = "gfx/event_pictures/news_event_fascist_militia.dds" - } - - spriteType = { - name = "GFX_news_event_airplane_factory" - texturefile = "gfx/event_pictures/news_event_airplane_factory.dds" - } - - spriteType = { - name = "GFX_report_event_pla_in_beijing" - texturefile = "gfx/event_pictures/report_event_pla_in_beijing.dds" - } - - spriteType = { - name = "GFX_report_event_fascists_posing" - texturefile = "gfx/event_pictures/report_event_fascists_posing.dds" - } - - spriteType = { - name = "GFX_report_event_soldiers_marching" - texturefile = "gfx/event_pictures/report_event_soldiers_marching.dds" - } - - spriteType = { - name = "GFX_report_event_crowd_in_prague" - texturefile = "gfx/event_pictures/report_event_crowd_in_prague.dds" - } - - spriteType = { - name = "GFX_report_event_long_march" - texturefile = "gfx/event_pictures/report_event_long_march.dds" - } - - spriteType = { - name = "GFX_report_event_iww_demonstration" - texturefile = "gfx/event_pictures/report_event_iww_demonstration.dds" - } - - spriteType = { - name = "GFX_report_event_chinese_officers" - texturefile = "gfx/event_pictures/report_event_chinese_officers.dds" - } - - spriteType = { - name = "GFX_report_event_soviet_in_riga" - texturefile = "gfx/event_pictures/report_event_soviet_in_riga.dds" - } - - spriteType = { - name = "GFX_report_event_chinese_army_training" - texturefile = "gfx/event_pictures/report_event_chinese_army_training.dds" - } - - spriteType = { - name = "GFX_report_event_soldiers_in_france" - texturefile = "gfx/event_pictures/report_event_soldiers_in_france.dds" - } - - spriteType = { - name = "GFX_report_event_ace_died" - texturefile = "gfx/event_pictures/report_event_ace_died.dds" - } - - spriteType = { - name = "GFX_report_event_ace_promoted" - texturefile = "gfx/event_pictures/report_event_ace_promoted.dds" - } - - spriteType = { - name = "GFX_report_event_worried_french" - texturefile = "gfx/event_pictures/report_event_worried_french.dds" - } - - spriteType = { - name = "GFX_news_event_romanian_soldiers" - texturefile = "gfx/event_pictures/news_event_romanian_soldiers.dds" - } - - spriteType = { - name = "GFX_news_event_german_soldiers" - texturefile = "gfx/event_pictures/news_event_german_soldiers.dds" - } - - spriteType = { - name = "GFX_news_event_germany_victory" - texturefile = "gfx/event_pictures/news_event_germany_victory.dds" - } - - spriteType = { - name = "GFX_news_event_hitler_speech" - texturefile = "gfx/event_pictures/news_event_hitler_speech.dds" - } - - spriteType = { - name = "GFX_news_event_german_inspect_troops" - texturefile = "gfx/event_pictures/news_event_german_inspect_troops.dds" - } - - spriteType = { - name = "GFX_news_event_heinrich_himmler" - texturefile = "gfx/event_pictures/news_event_heinrich_himmler.dds" - } - - spriteType = { - name = "GFX_news_event_herman_goring" - texturefile = "gfx/event_pictures/news_event_herman_goring.dds" - } - - spriteType = { - name = "GFX_news_event_german_officers" - texturefile = "gfx/event_pictures/news_event_german_officers.dds" - } - - spriteType = { - name = "GFX_news_event_soldiers_marching" - texturefile = "gfx/event_pictures/news_event_soldiers_marching.dds" - } - - spriteType = { - name = "GFX_news_event_hitler_handshake" - texturefile = "gfx/event_pictures/news_event_hitler_handshake.dds" - } - - spriteType = { - name = "GFX_news_event_churchill_degaulle" - texturefile = "gfx/event_pictures/news_event_churchill_degaulle.dds" - } - - spriteType = { - name = "GFX_news_event_german_speech" - texturefile = "gfx/event_pictures/news_event_german_speech.dds" - } - - spriteType = { - name = "GFX_news_event_hindenburg_intact" - texturefile = "gfx/event_pictures/news_event_hindenburg_intact.dds" - } - - spriteType = { - name = "GFX_news_event_kiev_ruins" - texturefile = "gfx/event_pictures/news_event_kiev_ruins.dds" - } - - spriteType = { - name = "GFX_news_event_soviet_soldiers_ruins" - texturefile = "gfx/event_pictures/news_event_soviet_soldiers_ruins.dds" - } - - spriteType = { - name = "GFX_news_event_italian_tank_desert" - texturefile = "gfx/event_pictures/news_event_italian_tank_desert.dds" - } - - spriteType = { - name = "GFX_news_event_churchill_ruins" - texturefile = "gfx/event_pictures/news_event_churchill_ruins.dds" - } - - spriteType = { - name = "GFX_news_event_german_reichstag_ruins" - texturefile = "gfx/event_pictures/news_event_german_reichstag_ruins.dds" - } - - spriteType = { - name = "GFX_news_event_german_reichstag_ruins_02" - texturefile = "gfx/event_pictures/news_event_german_reichstag_ruins_02.dds" - } - - spriteType = { - name = "GFX_news_event_french_parade" - texturefile = "gfx/event_pictures/news_event_french_parade.dds" - } - - spriteType = { - name = "GFX_news_event_polish_resistance_warsaw" - texturefile = "gfx/event_pictures/news_event_polish_resistance_warsaw.dds" - } - - spriteType = { - name = "GFX_news_event_german_reichstag_graffiti_ruins" - texturefile = "gfx/event_pictures/news_event_german_reichstag_graffiti_ruins.dds" - } - spriteType = { - name = "GFX_news_event_german_reichstag_graffiti_ruins" - texturefile = "gfx/event_pictures/news_event_german_reichstag_graffiti_ruins.dds" - } - spriteType = { - name = "GFX_news_event_komet" - texturefile = "gfx/event_pictures/news_event_komet.dds" - } - spriteType = { - name = "GFX_news_event_yugoslav_coup" - texturefile = "gfx/event_pictures/news_event_yugoslav_coup.dds" - } - - #### TFV EVENTS #### - - spriteType = { - name = "GFX_report_event_saf_soldiers" - texturefile = "gfx/event_pictures/report_event_saf_soldiers.dds" - } - spriteType = { - name = "GFX_report_event_saf_soldiers_2" - texturefile = "gfx/event_pictures/report_event_saf_soldiers_2.dds" - } - spriteType = { - name = "GFX_report_event_saf_soldiers_3" - texturefile = "gfx/event_pictures/report_event_saf_soldiers_3.dds" - } - spriteType = { - name = "GFX_report_event_saf_coup" - texturefile = "gfx/event_pictures/report_event_saf_coup.dds" - } - spriteType = { - name = "GFX_report_event_generic_lend_lease" - texturefile = "gfx/event_pictures/report_event_generic_lend_lease.dds" - } - spriteType = { - name = "GFX_report_event_military_planning" - texturefile = "gfx/event_pictures/report_event_military_planning.dds" - } - spriteType = { - name = "GFX_report_event_destroyers" - texturefile = "gfx/event_pictures/report_event_destroyers.dds" - } - spriteType = { - name = "GFX_report_event_generic_rally2" - texturefile = "gfx/event_pictures/report_event_generic_rally2.dds" - } - spriteType = { - name = "GFX_report_event_generic_panzer_attack" - texturefile = "gfx/event_pictures/report_event_generic_panzer_attack.dds" - } - spriteType = { - name = "GFX_report_event_generic_research_lab" - texturefile = "gfx/event_pictures/report_event_generic_research_lab.dds" - } - spriteType = { - name = "GFX_report_event_german_volunteers" - texturefile = "gfx/event_pictures/report_event_german_volunteers.dds" - } - spriteType = { - name = "GFX_report_event_african_soldiers" - texturefile = "gfx/event_pictures/report_event_african_soldiers.dds" - } - spriteType = { - name = "GFX_report_event_canadian_soldiers" - texturefile = "gfx/event_pictures/report_event_canadian_soldiers.dds" - } - spriteType = { - name = "GFX_report_event_king_speech" - texturefile = "gfx/event_pictures/report_event_king_speech.dds" - } - spriteType = { - name = "GFX_report_event_generic_rally_3" - texturefile = "gfx/event_pictures/report_event_generic_rally_3.dds" - } - spriteType = { - name = "GFX_report_event_canadian_tank" - texturefile = "gfx/event_pictures/report_event_canadian_tank.dds" - } - spriteType = { - name = "GFX_report_event_canadian_artillery" - texturefile = "gfx/event_pictures/report_event_canadian_artillery.dds" - } - spriteType = { - name = "GFX_report_event_generic_factory" - texturefile = "gfx/event_pictures/report_event_generic_factory.dds" - } - spriteType = { - name = "GFX_report_event_RCMP" - texturefile = "gfx/event_pictures/report_event_RCMP.dds" - } - spriteType = { - name = "GFX_report_event_ast_navy" - texturefile = "gfx/event_pictures/report_event_ast_navy.dds" - } - spriteType = { - name = "GFX_report_event_ast_army" - texturefile = "gfx/event_pictures/report_event_ast_army.dds" - } - spriteType = { - name = "GFX_report_event_ANZAC_day" - texturefile = "gfx/event_pictures/report_event_ANZAC_day.dds" - } - spriteType = { - name = "GFX_report_event_japanese_parade" - texturefile = "gfx/event_pictures/report_event_japanese_parade.dds" - } - spriteType = { - name = "GFX_report_event_ast_paras" - texturefile = "gfx/event_pictures/report_event_ast_paras.dds" - } - spriteType = { - name = "GFX_report_event_ast_planning" - texturefile = "gfx/event_pictures/report_event_ast_planning.dds" - } - spriteType = { - name = "GFX_report_event_ast_transfer_singapore" - texturefile = "gfx/event_pictures/report_event_ast_transfer_singapore.dds" - } - spriteType = { - name = "GFX_report_event_royal_visit" - texturefile = "gfx/event_pictures/report_event_royal_visit.dds" - } - spriteType = { - name = "GFX_report_event_fighters" - texturefile = "gfx/event_pictures/report_event_fighters.dds" - } - spriteType = { - name = "GFX_report_event_indian_famine" - texturefile = "gfx/event_pictures/report_event_indian_famine.dds" - } - spriteType = { - name = "GFX_report_event_bose" - texturefile = "gfx/event_pictures/report_event_bose.dds" - } - spriteType = { - name = "GFX_report_event_aid_pact" - texturefile = "gfx/event_pictures/report_event_aid_pact.dds" - } - spriteType = { - name = "GFX_report_event_partition_of_india" - texturefile = "gfx/event_pictures/report_event_partition_of_india.dds" - } - spriteType = { - name = "GFX_report_event_bose_meeting" - texturefile = "gfx/event_pictures/report_event_bose_meeting.dds" - } - spriteType = { - name = "GFX_report_event_indian_parade" - texturefile = "gfx/event_pictures/report_event_indian_parade.dds" - } - spriteType = { - name = "GFX_report_event_generic_ruins" - texturefile = "gfx/event_pictures/report_event_generic_ruins.dds" - } - spriteType = { - name = "GFX_report_event_quit_india_movement" - texturefile = "gfx/event_pictures/report_event_quit_india_movement.dds" - } - spriteType = { - name = "GFX_report_event_india_protests" - texturefile = "gfx/event_pictures/report_event_india_protests.dds" - } - spriteType = { - name = "GFX_report_event_india_protests2" - texturefile = "gfx/event_pictures/report_event_india_protests2.dds" - } - spriteType = { - name = "GFX_report_event_ast_troops_landing" - texturefile = "gfx/event_pictures/report_event_ast_troops_landing.dds" - } - spriteType = { - name = "GFX_report_event_stalin_meeting" - texturefile = "gfx/event_pictures/report_event_stalin_meeting.dds" - } - spriteType = { - name = "GFX_report_event_generic_rally" - texturefile = "gfx/event_pictures/report_event_generic_rally.dds" - } - spriteType = { - name = "GFX_report_event_japanese_army_parade" - texturefile = "gfx/event_pictures/report_event_japanese_army_parade.dds" - } - spriteType = { - name = "GFX_report_event_ast_parliament_house" - texturefile = "gfx/event_pictures/report_event_ast_parliament_house.dds" - } - spriteType = { - name = "GFX_report_event_generic_usa_treaty" - texturefile = "gfx/event_pictures/report_event_generic_usa_treaty.dds" - } - spriteType = { - name = "GFX_report_event_canada_army" - texturefile = "gfx/event_pictures/report_event_canada_army.dds" - } - spriteType = { - name = "GFX_report_event_canada_treaty" - texturefile = "gfx/event_pictures/report_event_canada_treaty.dds" - } - spriteType = { - name = "GFX_report_event_mex_civil_war" - texturefile = "gfx/event_pictures/report_event_mex_civil_war.dds" - } - spriteType = { - name = "GFX_report_event_canada_patriation" - texturefile = "gfx/event_pictures/report_event_canada_patriation.dds" - } - spriteType = { - name = "GFX_report_event_generic_army" - texturefile = "gfx/event_pictures/report_event_generic_army.dds" - } - spriteType = { - name = "GFX_report_event_south_africa_patrol" - texturefile = "gfx/event_pictures/report_event_south_africa_patrol.dds" - } - spriteType = { - name = "GFX_report_event_kenya_army" - texturefile = "gfx/event_pictures/report_event_kenya_army.dds" - } - spriteType = { - name = "GFX_report_event_saf_civil_war" - texturefile = "gfx/event_pictures/report_event_saf_civil_war.dds" - } - spriteType = { - name = "GFX_report_event_generic_riot" - texturefile = "gfx/event_pictures/report_event_generic_riot.dds" - } - spriteType = { - name = "GFX_report_event_glorious_vehicle" - texturefile = "gfx/event_pictures/report_event_glorious_vehicle.dds" - } - spriteType = { - name = "GFX_news_event_saf_soldiers" - texturefile = "gfx/event_pictures/news_event_saf_soldiers.dds" - } - spriteType = { - name = "GFX_news_event_saf_soldiers_2" - texturefile = "gfx/event_pictures/news_event_saf_soldiers_2.dds" - } - spriteType = { - name = "GFX_news_event_saf_soldiers_3" - texturefile = "gfx/event_pictures/news_event_saf_soldiers_3.dds" - } - spriteType = { - name = "GFX_news_event_saf_coup" - texturefile = "gfx/event_pictures/news_event_saf_coup.dds" - } - spriteType = { - name = "GFX_news_event_generic_lend_lease" - texturefile = "gfx/event_pictures/news_event_generic_lend_lease.dds" - } - spriteType = { - name = "GFX_news_event_military_planning" - texturefile = "gfx/event_pictures/news_event_military_planning.dds" - } - spriteType = { - name = "GFX_news_event_destroyers" - texturefile = "gfx/event_pictures/news_event_destroyers.dds" - } - spriteType = { - name = "GFX_news_event_generic_rally2" - texturefile = "gfx/event_pictures/news_event_generic_rally2.dds" - } - spriteType = { - name = "GFX_news_event_generic_panzer_attack" - texturefile = "gfx/event_pictures/news_event_generic_panzer_attack.dds" - } - spriteType = { - name = "GFX_news_event_generic_research_lab" - texturefile = "gfx/event_pictures/news_event_generic_research_lab.dds" - } - spriteType = { - name = "GFX_news_event_german_volunteers" - texturefile = "gfx/event_pictures/news_event_german_volunteers.dds" - } - spriteType = { - name = "GFX_news_event_african_soldiers" - texturefile = "gfx/event_pictures/news_event_african_soldiers.dds" - } - spriteType = { - name = "GFX_news_event_canadian_soldiers" - texturefile = "gfx/event_pictures/news_event_canadian_soldiers.dds" - } - spriteType = { - name = "GFX_news_event_king_speech" - texturefile = "gfx/event_pictures/news_event_king_speech.dds" - } - spriteType = { - name = "GFX_news_event_generic_rally_3" - texturefile = "gfx/event_pictures/news_event_generic_rally_3.dds" - } - spriteType = { - name = "GFX_news_event_canadian_tank" - texturefile = "gfx/event_pictures/news_event_canadian_tank.dds" - } - spriteType = { - name = "GFX_news_event_canadian_artillery" - texturefile = "gfx/event_pictures/news_event_canadian_artillery.dds" - } - spriteType = { - name = "GFX_news_event_generic_factory" - texturefile = "gfx/event_pictures/news_event_generic_factory.dds" - } - spriteType = { - name = "GFX_news_event_RCMP" - texturefile = "gfx/event_pictures/news_event_RCMP.dds" - } - spriteType = { - name = "GFX_news_event_ast_navy" - texturefile = "gfx/event_pictures/news_event_ast_navy.dds" - } - spriteType = { - name = "GFX_news_event_ast_army" - texturefile = "gfx/event_pictures/news_event_ast_army.dds" - } - spriteType = { - name = "GFX_news_event_ANZAC_day" - texturefile = "gfx/event_pictures/news_event_ANZAC_day.dds" - } - spriteType = { - name = "GFX_news_event_japanese_parade" - texturefile = "gfx/event_pictures/news_event_japanese_parade.dds" - } - spriteType = { - name = "GFX_news_event_ast_paras" - texturefile = "gfx/event_pictures/news_event_ast_paras.dds" - } - spriteType = { - name = "GFX_news_event_ast_planning" - texturefile = "gfx/event_pictures/news_event_ast_planning.dds" - } - spriteType = { - name = "GFX_news_event_ast_transfer_singapore" - texturefile = "gfx/event_pictures/news_event_ast_transfer_singapore.dds" - } - spriteType = { - name = "GFX_news_event_royal_visit" - texturefile = "gfx/event_pictures/news_event_royal_visit.dds" - } - spriteType = { - name = "GFX_news_event_fighters" - texturefile = "gfx/event_pictures/news_event_fighters.dds" - } - spriteType = { - name = "GFX_news_event_indian_famine" - texturefile = "gfx/event_pictures/news_event_indian_famine.dds" - } - spriteType = { - name = "GFX_news_event_bose" - texturefile = "gfx/event_pictures/news_event_bose.dds" - } - spriteType = { - name = "GFX_news_event_aid_pact" - texturefile = "gfx/event_pictures/news_event_aid_pact.dds" - } - spriteType = { - name = "GFX_news_event_partition_of_india" - texturefile = "gfx/event_pictures/news_event_partition_of_india.dds" - } - spriteType = { - name = "GFX_news_event_bose_meeting" - texturefile = "gfx/event_pictures/news_event_bose_meeting.dds" - } - spriteType = { - name = "GFX_news_event_indian_parade" - texturefile = "gfx/event_pictures/news_event_indian_parade.dds" - } - spriteType = { - name = "GFX_news_event_generic_ruins" - texturefile = "gfx/event_pictures/news_event_generic_ruins.dds" - } - spriteType = { - name = "GFX_news_event_quit_india_movement" - texturefile = "gfx/event_pictures/news_event_quit_india_movement.dds" - } - spriteType = { - name = "GFX_news_event_india_protests" - texturefile = "gfx/event_pictures/news_event_india_protests.dds" - } - spriteType = { - name = "GFX_news_event_india_protests2" - texturefile = "gfx/event_pictures/news_event_india_protests2.dds" - } - spriteType = { - name = "GFX_news_event_ast_troops_landing" - texturefile = "gfx/event_pictures/news_event_ast_troops_landing.dds" - } - spriteType = { - name = "GFX_news_event_stalin_meeting" - texturefile = "gfx/event_pictures/news_event_stalin_meeting.dds" - } - spriteType = { - name = "GFX_news_event_generic_rally" - texturefile = "gfx/event_pictures/news_event_generic_rally.dds" - } - spriteType = { - name = "GFX_news_event_japanese_army_parade" - texturefile = "gfx/event_pictures/news_event_japanese_army_parade.dds" - } - spriteType = { - name = "GFX_news_event_ast_parliament_house" - texturefile = "gfx/event_pictures/news_event_ast_parliament_house.dds" - } - spriteType = { - name = "GFX_news_event_generic_usa_treaty" - texturefile = "gfx/event_pictures/news_event_generic_usa_treaty.dds" - } - spriteType = { - name = "GFX_news_event_canada_army" - texturefile = "gfx/event_pictures/news_event_canada_army.dds" - } - spriteType = { - name = "GFX_news_event_canada_treaty" - texturefile = "gfx/event_pictures/news_event_canada_treaty.dds" - } - spriteType = { - name = "GFX_news_event_mex_civil_war" - texturefile = "gfx/event_pictures/news_event_mex_civil_war.dds" - } - spriteType = { - name = "GFX_news_event_canada_patriation" - texturefile = "gfx/event_pictures/news_event_canada_patriation.dds" - } - spriteType = { - name = "GFX_news_event_generic_army" - texturefile = "gfx/event_pictures/news_event_generic_army.dds" - } - spriteType = { - name = "GFX_news_event_south_africa_patrol" - texturefile = "gfx/event_pictures/news_event_south_africa_patrol.dds" - } - spriteType = { - name = "GFX_news_event_kenya_army" - texturefile = "gfx/event_pictures/news_event_kenya_army.dds" - } - spriteType = { - name = "GFX_news_event_saf_civil_war" - texturefile = "gfx/event_pictures/news_event_saf_civil_war.dds" - } - spriteType = { - name = "GFX_news_event_generic_riot" - texturefile = "gfx/event_pictures/news_event_generic_riot.dds" - } - spriteType = { - name = "GFX_news_event_glorious_vehicle" - texturefile = "gfx/event_pictures/news_event_glorious_vehicle.dds" - } - - spriteType = { - name = "GFX_news_event_cze_divided_nation" - texturefile = "gfx/event_pictures/news_event_cze_divided_nation.dds" - } - - spriteType = { - name = "GFX_report_event_cze_divided_nation" - texturefile = "gfx/event_pictures/report_event_cze_divided_nation.dds" - } - - spriteType = { - name = "GFX_news_event_cze_little_entente" - texturefile = "gfx/event_pictures/news_event_cze_little_entente.dds" - } - - spriteType = { - name = "GFX_report_event_cze_little_entente" - texturefile = "gfx/event_pictures/report_event_cze_little_entente.dds" - } - - #### END TFV EVENTS #### - - #### DoD EVENTS #### - - spriteType = { - name = "GFX_report_event_generic_bombers" - texturefile = "gfx/event_pictures/report_event_generic_bombers.dds" - } - - spriteType = { - name = "GFX_news_event_generic_bombers" - texturefile = "gfx/event_pictures/news_event_generic_bombers.dds" - } - - spriteType = { - name = "GFX_report_event_generic_parliament" - texturefile = "gfx/event_pictures/report_event_generic_parliament.dds" - } - - spriteType = { - name = "GFX_news_event_generic_parliament" - texturefile = "gfx/event_pictures/news_event_generic_parliament.dds" - } - - spriteType = { - name = "GFX_report_event_generic_peaceful_annexation" - texturefile = "gfx/event_pictures/report_event_generic_peaceful_annexation.dds" - } - - spriteType = { - name = "GFX_report_event_generic_conference" - texturefile = "gfx/event_pictures/report_event_generic_conference.dds" - } - - spriteType = { - name = "GFX_report_event_generic_battle" - texturefile = "gfx/event_pictures/report_event_generic_battle.dds" - } - - spriteType = { - name = "GFX_report_event_generic_sign_treaty3" - texturefile = "gfx/event_pictures/report_event_generic_sign_treaty3.dds" - } - - spriteType = { - name = "GFX_news_event_generic_sign_treaty3" - texturefile = "gfx/event_pictures/news_event_generic_sign_treaty3.dds" - } - - spriteType = { - name = "GFX_report_event_generic_communist_congress" - texturefile = "gfx/event_pictures/report_event_generic_communist_congress.dds" - } - - spriteType = { - name = "GFX_report_event_generic_truck" - texturefile = "gfx/event_pictures/report_event_generic_truck.dds" - } - - spriteType = { - name = "GFX_report_event_generic_military_parade" - texturefile = "gfx/event_pictures/report_event_generic_military_parade.dds" - } - - spriteType = { - name = "GFX_report_event_ROM_mistress" - texturefile = "gfx/event_pictures/report_event_ROM_mistress.dds" - } - - spriteType = { - name = "GFX_report_event_romania_poland_visit" - texturefile = "gfx/event_pictures/report_event_romania_poland_visit.dds" - } - - spriteType = { - name = "GFX_news_event_romania_poland_visit" - texturefile = "gfx/event_pictures/news_event_romania_poland_visit.dds" - } - - spriteType = { - name = "GFX_report_event_poland_rejects" - texturefile = "gfx/event_pictures/report_event_poland_rejects.dds" - } - - spriteType = { - name = "GFX_report_event_yugoslavia_partisans" - texturefile = "gfx/event_pictures/report_event_yugoslavia_partisans.dds" - } - - spriteType = { - name = "GFX_report_event_bulgarian_soldiers" - texturefile = "gfx/event_pictures/report_event_bulgarian_soldiers.dds" - } - - spriteType = { - name = "GFX_news_event_bulgarian_soldiers" - texturefile = "gfx/event_pictures/news_event_bulgarian_soldiers.dds" - } - - spriteType = { - name = "GFX_report_event_yugoslavian_split" - texturefile = "gfx/event_pictures/report_event_yugoslavian_split.dds" - } - - spriteType = { - name = "GFX_report_event_yugoslavian_cavalry" - texturefile = "gfx/event_pictures/report_event_yugoslavian_cavalry.dds" - } - - spriteType = { - name = "GFX_report_event_carol_party" - texturefile = "gfx/event_pictures/report_event_carol_party.dds" - } - - spriteType = { - name = "GFX_report_event_sweden_tank" - texturefile = "gfx/event_pictures/report_event_sweden_tank.dds" - } - - spriteType = { - name = "GFX_report_event_hungarian_soldiers" - texturefile = "gfx/event_pictures/report_event_hungarian_soldiers.dds" - } - - spriteType = { - name = "GFX_news_event_hungarian_soldiers" - texturefile = "gfx/event_pictures/news_event_hungarian_soldiers.dds" - } - - spriteType = { - name = "GFX_news_event_banovina_croatia" - texturefile = "gfx/event_pictures/news_event_banovina_croatia.dds" - } - - spriteType = { - name = "GFX_report_event_romanian_soldiers" - texturefile = "gfx/event_pictures/report_event_romanian_soldiers.dds" - } - - spriteType = { - name = "GFX_report_event_hungary_gains_transylvania" - texturefile = "gfx/event_pictures/report_event_hungary_gains_transylvania.dds" - } - - spriteType = { - name = "GFX_report_event_hungary_parliament" - texturefile = "gfx/event_pictures/report_event_hungary_parliament.dds" - } - - spriteType = { - name = "GFX_report_event_hungary_refused" - texturefile = "gfx/event_pictures/report_event_hungary_refused.dds" - } - - spriteType = { - name = "GFX_news_event_hungary_refused" - texturefile = "gfx/event_pictures/news_event_hungary_refused.dds" - } - - spriteType = { - name = "GFX_report_event_hungary_southern_slovakia" - texturefile = "gfx/event_pictures/report_event_hungary_southern_slovakia.dds" - } - - spriteType = { - name = "GFX_report_event_carol_meeting" - texturefile = "gfx/event_pictures/report_event_carol_meeting.dds" - } - - spriteType = { - name = "GFX_report_event_romania_parliament" - texturefile = "gfx/event_pictures/report_event_romania_parliament.dds" - } - - spriteType = { - name = "GFX_news_event_romania_parliament" - texturefile = "gfx/event_pictures/news_event_romania_parliament.dds" - } - - #### END DoD EVENTS #### diff --git a/interface/eventwindow.gfx b/interface/eventwindow.gfx new file mode 100644 index 000000000..f1cda9a82 --- /dev/null +++ b/interface/eventwindow.gfx @@ -0,0 +1,220 @@ +spriteTypes = { + + spriteType = { + name = "GFX_event_news_pic_overlay" + texturefile = "gfx/interface/event_news_pic_overlay.dds" + } + + spriteType = { + name = "GFX_event_news_bg" + texturefile = "gfx/interface/event_news_bg.dds" + } + + spriteType = { + name = "GFX_event_pic_clip" + texturefile = "gfx/interface/event_pic_clip.dds" + } + + spriteType = { + name = "GFX_event_option_entry" + texturefile = "gfx/interface/event_option_entry.dds" + } + + corneredTileSpriteType = { + name = "GFX_event_report_tileable_midsection" + size = { x = 580 y = 66 } + textureFile = "gfx/interface/event_report_tileable_midsection.dds" + borderSize = { x = 290 y = 0 } + alwaystransparent = yes + } + + corneredTileSpriteType = { + name = "GFX_event_report_tileable_bottom_section" + size = { x = 580 y = 66 } + textureFile = "gfx/interface/event_report_tileable_midsection.dds" + borderSize = { x = 290 y = 16 } + alwaystransparent = yes + } + + spriteType = { + name = "GFX_event_report_top_win" + texturefile = "gfx/interface/event_report_top_win.dds" + alwaystransparent = yes + } + + spriteType = { + name = "GFX_event_report_bottom_win" + texturefile = "gfx/interface/event_report_bottom_win.dds" + alwaystransparent = yes + } + + spriteType = { + name = "GFX_event_report_bottom_win_end" + texturefile = "gfx/interface/event_report_bottom_win_2.dds" + alwaystransparent = yes + } + + spriteType = { + name = "GFX_event_button_minimize" + texturefile = "gfx/interface/event_button_minimize.dds" + } + spriteType = { + name = "GFX_paper_clip_event" + texturefile = "gfx/interface/events/clip.dds" + } + + frameAnimatedSpriteType = { + name = "GFX_event_operative_background" + texturefile = "gfx/interface/events/event_operative_bg.dds" + noOfFrames = 24 + animation_rate_fps = 80 #95 + looping = no + play_on_show = no + pause_on_loop = 0.0 + #effectFile = "gfx/FX/buttonstate_blendframes.lua" + } + + ########################################## + ### EVENT WINDOW + + #corneredTileSpriteType = { + # name = "GFX_event_bg_transparency" + # size = { x = 48 y = 48 } + # textureFile = "gfx/interface/transparency.dds" + # borderSize = { x = 32 y = 32 } + #} + # + #spriteType = + #{ + # name = "GFX_event_bg_top" + # texturefile = "gfx/interface/events_BG_top.dds" + # transparencecheck = yes + # alwaystransparent = yes + #} + # + #spriteType = { + # name = "GFX_event_bg_middle" + # textureFile = "gfx/interface/events_BG_middle.dds" + # transparencecheck = yes + # alwaystransparent = yes + #} + # + #spriteType = + #{ + # name = "GFX_event_bg_bottom_L" + # texturefile = "gfx/interface/events_BG_bottom_L.dds" + # transparencecheck = yes + # alwaystransparent = yes + #} +# + #spriteType = + #{ + # name = "GFX_event_bg_bottom_M" + # texturefile = "gfx/interface/events_BG_bottom_M.dds" + # transparencecheck = yes + # alwaystransparent = yes + #} +# + #spriteType = + #{ + # name = "GFX_event_bg_bottom_S" + # texturefile = "gfx/interface/events_BG_bottom_S.dds" + # transparencecheck = yes + # alwaystransparent = yes + #} + # + #textSpriteType = { + # name = "GFX_event_button_547" + # texturefile = "gfx/interface/event_button_547.dds" + # noOfFrames = 1 + # effectFile = "gfx/FX/buttonstate.lua" + #} +# + ########################################### + #### EVENT PICTURES +# + #spriteType = + #{ + # name = "GFX_event_event_test" + # texturefile = "gfx/event_pictures/event_test.dds" + # alwaystransparent = yes + #} + + spriteType = { + name = "GFX_war_escalation_level_red" + texturefile = "gfx/interface/events/war_escalation_level_red.dds" + noOfFrames = 10 + } + spriteType = { + name = "GFX_war_escalation_level_white" + texturefile = "gfx/interface/events/war_escalation_level_white.dds" + noOfFrames = 10 + } + spriteType = { + name = "GFX_war_escalation_level_green" + texturefile = "gfx/interface/events/war_escalation_level_green.dds" + noOfFrames = 10 + } + + spriteType = { + name = "GFX_war_escalation_level_1" + texturefile = "gfx/interface/events/war_escalation_level_1.dds" + noOfFrames = 3 + } + + spriteType = { + name = "GFX_war_escalation_level_2" + texturefile = "gfx/interface/events/war_escalation_level_2.dds" + noOfFrames = 3 + } + + spriteType = { + name = "GFX_war_escalation_level_3" + texturefile = "gfx/interface/events/war_escalation_level_3.dds" + noOfFrames = 3 + } + + spriteType = { + name = "GFX_war_escalation_level_4" + texturefile = "gfx/interface/events/war_escalation_level_4.dds" + noOfFrames = 3 + } + + spriteType = { + name = "GFX_war_escalation_level_5" + texturefile = "gfx/interface/events/war_escalation_level_5.dds" + noOfFrames = 3 + } + + spriteType = { + name = "GFX_war_escalation_level_6" + texturefile = "gfx/interface/events/war_escalation_level_6.dds" + noOfFrames = 3 + } + + spriteType = { + name = "GFX_war_escalation_level_7" + texturefile = "gfx/interface/events/war_escalation_level_7.dds" + noOfFrames = 3 + } + + spriteType = { + name = "GFX_war_escalation_level_8" + texturefile = "gfx/interface/events/war_escalation_level_8.dds" + noOfFrames = 3 + } + + spriteType = { + name = "GFX_war_escalation_level_9" + texturefile = "gfx/interface/events/war_escalation_level_9.dds" + noOfFrames = 3 + } + + spriteType = { + name = "GFX_war_escalation_level_10" + texturefile = "gfx/interface/events/war_escalation_level_10.dds" + noOfFrames = 3 + } + + +} diff --git a/interface/eventwindow.gui b/interface/eventwindow.gui new file mode 100644 index 000000000..8ae5c365e --- /dev/null +++ b/interface/eventwindow.gui @@ -0,0 +1,583 @@ +guiTypes = { + + ## ## # # # # ### ### # # ### # # ### # # ### ## +# # # # # # ## # # # # # # # # # # ## # # # +# # # # # # ## # ### # ## # # ## # ## # # +# # # # # # # # # # # # # # # # # # # # + ## ## ## # # # # # # ### # ### # # # ## + + containerWindowType = { + name = "EventWindow" + position = { x=-282 y=-310 } + size = { width = 581 height =427 } + moveable = yes + Orientation = CENTER + + show_sound = event_popup + hide_sound = menu_close_window + + background = { + name = "Background" + spriteType ="GFX_tiled_window_transparent" + } + + containerWindowType = { + name = "top_Window" + position = { x=0 y=0 } + size = { width = 581 height =121 } + moveable = yes + Orientation = UPPER_LEFT + + background = { + name = "Background" + spriteType ="GFX_event_report_top_win" + } + + instantTextBoxType = { + name = "Title" + position = { x = 14 y = 70 } + font = "merienda_16_black" + borderSize = {x = 0 y = 0} + text = "Title text here!" + maxWidth = 551 + maxHeight = 32 + format = centre + } + + buttonType = { + name = "btn_minimize" + position = {x=10 y=10} + spriteType = "GFX_event_button_minimize" + clicksound = click_default + pdx_tooltip = "MINIMIZE_EVENT" + } + } + + containerWindowType = { + name = "midsection" + position = { x=0 y=121 } + size = { width = 580 height = 100 } + moveable = yes + clipping = no + Orientation = UPPER_LEFT + + background = { + name = "Background" + quadTextureSprite ="GFX_event_report_tileable_midsection" + } + + instantTextBoxType = { + name = "Description" + position = { x = 45 y = 0 } + font = "merienda_13_black" + borderSize = {x = 0 y = 0} + text = "Long text here!" + maxWidth = 505 + maxHeight = 230 + format = left + } + } + + containerWindowType = { + name = "bottom_Window" + position = { x=0 y=221 } + size = { width = 581 height = 206 } + moveable = yes + clipping = no + Orientation = UPPER_LEFT + +# background = { +# name = "Background" +# spriteType ="GFX_event_report_tileable_bottom_section" +# } + + background = { + name = "Background" + spriteType ="GFX_event_report_bottom_win" + } + + #iconType = { + # name ="event_pic_clip" + # spriteType = "GFX_event_pic_clip" + # position = { x = -3 y = 35 } + # Orientation = "UPPER_LEFT" + #} + + + gridBoxType = { + name = "options_grid" + position = { x = 200 y = -1 } + size = { width = 300 height = 30 } + slotsize = { width = 300 height = 47 } + max_slots_horizontal = 1 + format = "UPPER_LEFT" + } + + iconType = { + name ="event_picture" + spriteType = "GFX_report_event_001" + position = { x = 5 y = -15 } + Orientation = "UPPER_LEFT" + alwaystransparent = yes + } + } + +# containerWindowType = { +# name = "bottom_window_end" +# position = { x=0 y=-100 } +# size = { width = 581 height = 59 } +# moveable = yes +# Orientation = UPPER_LEFT +# +# background = { +# name = "Background" +# spriteType ="GFX_event_report_bottom_win_end" +# } +# } + } + + + ## ### ### ### ## ### ### # # ### ### # # ### # # ### ## +# # # # # # # # # # # # # # # # # # ## # # # +# # ### ## ### #### # # # # ## ## # # ## # ## # # +# # # # # # # # # # # # # # # # # # # # # + ## # ### # # # # # ### # ### ### # ### # # # ## + + @fade_time = 1000 + containerWindowType = { + name = "EventWindow_Operative" + position = { x=-282 y=-310 } + size = { width = 581 height =0 } + moveable = yes + Orientation = CENTER + + show_sound = event_popup + #hide_sound = menu_close_window + + background = { + name = "Background" + spriteType ="GFX_event_operative_background" + } + + containerWindowType = { + name = "top_Window" + position = { x=0 y=0 } + size = { width = 581 height =121 } + moveable = yes + Orientation = UPPER_LEFT + fade_type = linear + fade_time = @fade_time + + #background = { + # name = "Background" + # spriteType ="GFX_event_report_top_win" + #} + + #iconType = { + # name ="event_picture" + # spriteType = "GFX_tiled_window_transparent" + # position = { x = 50 y = 90 } + # Orientation = "UPPER_LEFT" + # alwaystransparent = yes + #} + + instantTextBoxType = { + name = "Title" + position = { x = 180 y = 170 } + font = "hoi4_typewriter22" + borderSize = {x = 0 y = 0} + text = "Title text here!" + maxWidth = 320 + maxHeight = 32 + format = left + } + iconType = { + name = "agency_insignia" + quadTextureSprite = "GFX_intelligence_agency_logo_prc" + position = { x = 361 y = 35 } + frame = 1 + } + + buttonType = { + name = "btn_minimize" + position = {x=10 y=17} + spriteType = "GFX_event_button_minimize" + clicksound = click_default + } + } + + containerWindowType = { + name = "midsection" + position = { x=0 y=121 } + size = { width = 580 height = 235 } + moveable = yes + clipping = no + Orientation = UPPER_LEFT + fade_type = linear + fade_time = @fade_time + + + containerWindowType = { + name = "leader_picture_container" + position = { x=37 y=-65 } + size = { width = 100% height = 100% } + + buttonType = { + name = "leader" + position = { x = 0 y = 0 } + spriteType = "GFX_leader_unknown" + scale = 0.7 + rotation = 0.05 + alwaystransparent = yes + } + + iconType = { + name ="paper_clip_2" + spriteType = "GFX_paper_clip_event" + position = { x = -30 y = 10 } + Orientation = "UPPER_LEFT" + alwaystransparent = yes + } + + } + + containerWindowType = { + name = "leader_details_container" + position = { x= 20 y = 95 } + + instantTextBoxType = { + name = "leader_fullname" + position = { x = 20 y = 0 } + font = "hoi4_typewriter16" + borderSize = {x = 0 y = 0} + text = "Operative Name Here" + maxWidth = 512 + maxHeight = 230 + format = left + } + + instantTextBoxType = { + name = "leader_codename" + position = { x = 20 y = 15 } + font = "hoi4_typewriter16" + borderSize = {x = 0 y = 0} + text = "Codename Here" + maxWidth = 512 + maxHeight = 230 + format = left + } + + } + + instantTextBoxType = { + name = "Description" + position = { x = 70 y = 150 } + font = "hoi4_typewriter16" + borderSize = {x = 0 y = 0} + text = "Long text here!" + maxWidth = 400 + maxHeight = 350 + format = left + } + } + + containerWindowType = { + name = "bottom_Window" + position = { x=0 y=321 } + size = { width = 580 height = 200 } + moveable = no + clipping = no + Orientation = UPPER_LEFT + #fade_type = accelerated + #fade_time = 5000 + + background = { + name = "Background" + spriteType ="GFX_tiled_window_transparent" + } + + gridBoxType = { + name = "options_grid" + position = { x = 90 y = 120 } + size = { width = 300 height = 0 } + slotsize = { width = 300 height = 47 } + max_slots_horizontal = 1 + Orientation = UPPER_LEFT + } + } + + containerWindowType = { + name = "bottom_window_end" + position = { x=0 y=-100 } + size = { width = 581 height = 59 } + moveable = yes + Orientation = UPPER_LEFT + #fade_type = linear + #fade_time = 5000 + + background = { + name = "Background" + spriteType ="GFX_tiled_window_transparent" + } + } + } + + +# ### ## ### ### ### ### # # ### # # ### ## +# # # # # # # # # # # # # ## # # # +# ## #### # # ## ### ## # # ## # ## # # +# # # # # # # # # # # # # # # # # +### ### # # ### ### # # ### # ### # # # ## + + + containerWindowType = { + name = "EventWindow_leader" + position = { x=-282 y=-310 } + size = { width = 581 height =0 } + moveable = yes + Orientation = CENTER + + show_sound = event_popup + hide_sound = menu_close_window + + background = { + name = "Background" + spriteType ="GFX_tiled_window_transparent" + } + + containerWindowType = { + name = "top_Window" + position = { x=0 y=0 } + size = { width = 581 height =121 } + moveable = yes + Orientation = UPPER_LEFT + + background = { + name = "Background" + spriteType ="GFX_event_report_top_win" + } + + instantTextBoxType = { + name = "Title" + position = { x = 14 y = 70 } + font = "hoi4_typewriter22" + borderSize = {x = 0 y = 0} + text = "Title text here!" + maxWidth = 551 + maxHeight = 32 + format = centre + } + + buttonType = { + name = "btn_minimize" + position = {x=10 y=45} + spriteType = "GFX_event_button_minimize" + clicksound = click_default + } + } + + containerWindowType = { + name = "midsection" + position = { x=0 y=121 } + size = { width = 580 height = 235 } + moveable = yes + clipping = no + Orientation = UPPER_LEFT + + background = { + name = "Background" + quadTextureSprite ="GFX_event_report_tileable_midsection" + } + + containerWindowType = { + name = "leader_picture_container" + position = { x=10 y=0 } + size = { width = 100% height = 100% } + + buttonType = { + name = "leader" + position = { x = 33 y = 4 } + spriteType = "GFX_leader_unknown" + scale = 0.85 + } + + iconType = { + name = "leader_frame" + spriteType = "GFX_event_leader_frame" + position = { x = 25 y = -5 } + alwaystransparent = yes + scale = 0.85 + } + } + + instantTextBoxType = { + name = "Description" + position = { x = 198 y = 0 } + font = "hoi4_typewriter16" + borderSize = {x = 0 y = 0} + text = "Long text here!" + maxWidth = 350 + maxHeight = 350 + format = left + } + } + + containerWindowType = { + name = "bottom_Window" + position = { x=0 y=221 } + size = { width = 580 height = 0 } + moveable = yes + clipping = no + Orientation = UPPER_LEFT + + background = { + name = "Background" + spriteType ="GFX_event_report_tileable_bottom_section" + } + + gridBoxType = { + name = "options_grid" + position = { x = 115 y = 10 } + size = { width = 300 height = 0 } + slotsize = { width = 300 height = 47 } + max_slots_horizontal = 1 + Orientation = UPPER_LEFT + } + } + + containerWindowType = { + name = "bottom_window_end" + position = { x=0 y=-100 } + size = { width = 581 height = 59 } + moveable = yes + Orientation = UPPER_LEFT + + background = { + name = "Background" + spriteType ="GFX_event_report_bottom_win_end" + } + } + } + + +# # ### # # ## ### # # ### # # ### ## +## # # # # # # # # # ## # # # +# ## ## # # # # ## # # ## # ## # # +# # # # # # # # # # # # # # # +# # ### # # ## ### # ### # # # ## + + containerWindowType = { + name = "EventWindow_News" + position = { x=-282 y=-310 } + size = { width = 528 height = 595 } + moveable = yes + Orientation = CENTER + show_sound = world_news_effect + hide_sound = menu_close_window + + background = { + name = "Background" + spriteType ="GFX_event_news_bg" + } + + containerWindowType = { + name = "top_Window" + position = { x=0 y=0 } + size = { width = 581 height =121 } + Orientation = UPPER_LEFT + + iconType = + { + name ="event_picture" + spriteType = "GFX_news_event_001" + position = { x = 15 y = 15 } + Orientation = "UPPER_LEFT" + alwaystransparent = yes + } + + iconType = { + name ="event_picture_overlay" + spriteType = "GFX_event_news_pic_overlay" + position = { x = 15 y = 15 } + Orientation = "UPPER_LEFT" + alwaystransparent = yes + scale = 1 + } + + instantTextBoxType = { + name = "Title" + position = { x = 12 y = 210 } + font = "merienda_21_black" + borderSize = {x = 0 y = 0} + text = "Title text here!" + maxWidth = 490 + maxHeight = 32 + format = centre + } + + buttonType = { + name = "btn_minimize" + position = {x=10 y=10} + spriteType = "GFX_event_button_minimize" + clicksound = click_default + } + } + + containerWindowType = { + name = "midsection" + position = { x=0 y=131 } + size = { width = 580 height = 385 } + Orientation = UPPER_LEFT + + instantTextBoxType = { + name = "Description" + position = { x = 49 y = 130 } + font = "merienda_13_black" + borderSize = {x = 0 y = 0} + text = "Long text here!" + maxWidth = 440 + maxHeight = 230 + format = left + } + } + + + containerWindowType = { + name = "bottom_Window" + position = { x=0 y=221 } + size = { width = 581 height = 405 } + Orientation = UPPER_LEFT + + gridBoxType = { + name = "options_grid" + position = { x = 80 y = -1 } + size = { width = 300 height = 30 } + slotsize = { width = 300 height = 47 } + max_slots_horizontal = 1 + format = "UPPER_LEFT" + } + } + } + + containerWindowType = { + name = "event_option_entry" + size = { width = 300 height = 47 } + clipping = no + + background = { + name = "event_option_background" + spriteType ="GFX_event_option_entry" + } + + instantTextBoxType = { + name = "Name" + position = { x = 5 y = 0 } + font = "merienda_13_white" + maxWidth = 340 + maxHeight = 40 + format = center + vertical_alignment = center + alwaystransparent = yes + } + } +} diff --git a/interface/fseventpictures.gfx b/interface/fseventpictures.gfx deleted file mode 100644 index bed20f580..000000000 --- a/interface/fseventpictures.gfx +++ /dev/null @@ -1,138 +0,0 @@ -spriteTypes = { - - spriteType = { - name = "GFX_news_event_fs_000" - texturefile = "gfx/event_pictures/news_event_fs_000.tga" - } - - spriteType = { - name = "GFX_news_event_fs_001" - texturefile = "gfx/event_pictures/news_event_fs_001.tga" - } - - spriteType = { - name = "GFX_news_event_fs_002" - texturefile = "gfx/event_pictures/news_event_fs_002.tga" - } - - spriteType = { - name = "GFX_news_event_fs_010" - texturefile = "gfx/event_pictures/news_event_fs_010.tga" - } - - spriteType = { - name = "GFX_news_event_fs_011" - texturefile = "gfx/event_pictures/news_event_fs_011.tga" - } - - spriteType = { - name = "GFX_news_event_fs_012" - texturefile = "gfx/event_pictures/news_event_fs_012.tga" - } - - spriteType = { - name = "GFX_news_event_fs_020" - texturefile = "gfx/event_pictures/news_event_fs_020.tga" - } - - spriteType = { - name = "GFX_news_event_fs_021" - texturefile = "gfx/event_pictures/news_event_fs_021.tga" - } - - spriteType = { - name = "GFX_news_event_fs_022" - texturefile = "gfx/event_pictures/news_event_fs_022.tga" - } - - spriteType = { - name = "GFX_news_event_fs_100" - texturefile = "gfx/event_pictures/news_event_fs_100.tga" - } - - spriteType = { - name = "GFX_news_event_fs_101" - texturefile = "gfx/event_pictures/news_event_fs_101.tga" - } - - spriteType = { - name = "GFX_news_event_fs_102" - texturefile = "gfx/event_pictures/news_event_fs_102.tga" - } - - spriteType = { - name = "GFX_news_event_fs_110" - texturefile = "gfx/event_pictures/news_event_fs_110.tga" - } - - spriteType = { - name = "GFX_news_event_fs_111" - texturefile = "gfx/event_pictures/news_event_fs_111.tga" - } - - spriteType = { - name = "GFX_news_event_fs_112" - texturefile = "gfx/event_pictures/news_event_fs_112.tga" - } - - spriteType = { - name = "GFX_news_event_fs_120" - texturefile = "gfx/event_pictures/news_event_fs_120.tga" - } - - spriteType = { - name = "GFX_news_event_fs_121" - texturefile = "gfx/event_pictures/news_event_fs_121.tga" - } - - spriteType = { - name = "GFX_news_event_fs_122" - texturefile = "gfx/event_pictures/news_event_fs_122.tga" - } - - spriteType = { - name = "GFX_news_event_fs_200" - texturefile = "gfx/event_pictures/news_event_fs_200.tga" - } - - spriteType = { - name = "GFX_news_event_fs_201" - texturefile = "gfx/event_pictures/news_event_fs_201.tga" - } - - spriteType = { - name = "GFX_news_event_fs_202" - texturefile = "gfx/event_pictures/news_event_fs_202.tga" - } - - spriteType = { - name = "GFX_news_event_fs_210" - texturefile = "gfx/event_pictures/news_event_fs_210.tga" - } - - spriteType = { - name = "GFX_news_event_fs_211" - texturefile = "gfx/event_pictures/news_event_fs_211.tga" - } - - spriteType = { - name = "GFX_news_event_fs_212" - texturefile = "gfx/event_pictures/news_event_fs_212.tga" - } - - spriteType = { - name = "GFX_news_event_fs_220" - texturefile = "gfx/event_pictures/news_event_fs_220.tga" - } - - spriteType = { - name = "GFX_news_event_fs_221" - texturefile = "gfx/event_pictures/news_event_fs_221.tga" - } - - spriteType = { - name = "GFX_news_event_fs_222" - texturefile = "gfx/event_pictures/news_event_fs_222.tga" - } - -} diff --git a/interface/leaderheads.gfx b/interface/leaderheads.gfx index c00a189de..9b0f699a8 100644 --- a/interface/leaderheads.gfx +++ b/interface/leaderheads.gfx @@ -197,6 +197,11 @@ texturefile = "gfx/leaders/GON/Portrait_Gondor_Denethor.dds" } ##Icon For: Add more faces SpriteType = { +name = "GFX_Portrait_Dol_Amroth_Elphir" +texturefile = "gfx/leaders/DAM/Portrait_dol_amroth_elphir.dds" +} +##Icon For: Add more faces +SpriteType = { name = "GFX_Portrait_Gondor_Dervorin" texturefile = "gfx/leaders/GON/Portrait_Gondor_Dervorin.dds" } @@ -252,6 +257,11 @@ texturefile = "gfx/leaders/GON/Portrait_Gondor_Ivriniel.dds" } ##Icon For: Add more faces SpriteType = { +name = "GFX_Portrait_Gondor_Dead" +texturefile = "gfx/leaders/GON/Portrait_Gondor_Dead.dds" +} +##Icon For: Add more faces +SpriteType = { name = "GFX_Portrait_Haradwaith_Angamaite" texturefile = "gfx/leaders/HAR/Portrait_Haradwaith_Angamaite.dds" } @@ -714,4 +724,6 @@ texturefile = "gfx/leaders/RHD/Portrait_Rhudaur_Halbarad.dds" SpriteType = { name = "GFX_Portrait_Rhudaur_Nathod" texturefile = "gfx/leaders/RHD/Portrait_Rhudaur_Nathod.dds" +} + } \ No newline at end of file diff --git a/interface/leaders/lotr_leaders_LTH.gfx b/interface/leaders/lotr_leaders_LTH.gfx deleted file mode 100644 index 6d2220414..000000000 --- a/interface/leaders/lotr_leaders_LTH.gfx +++ /dev/null @@ -1,19 +0,0 @@ -spriteTypes = { - # This file was auto-generated by convert_to_small.py - spriteType = { name = "GFX_portrait_lothlorien_celeborn" texturefile = "gfx/leaders/LTH/Portrait_Lothlorien_Celeborn.dds" } - spriteType = { name = "GFX_idea_portrait_lothlorien_celeborn" texturefile = "gfx/leaders/LTH/small/Portrait_Lothlorien_Celeborn.dds" } - spriteType = { name = "GFX_portrait_lothlorien_galadriel" texturefile = "gfx/leaders/LTH/Portrait_Lothlorien_Galadriel.dds" } - spriteType = { name = "GFX_idea_portrait_lothlorien_galadriel" texturefile = "gfx/leaders/LTH/small/Portrait_Lothlorien_Galadriel.dds" } - spriteType = { name = "GFX_portrait_lothlorien_galadriel_dark" texturefile = "gfx/leaders/LTH/Portrait_Lothlorien_Galadriel_Dark.dds" } - spriteType = { name = "GFX_idea_portrait_lothlorien_galadriel_dark" texturefile = "gfx/leaders/LTH/small/Portrait_Lothlorien_Galadriel_Dark.dds" } - spriteType = { name = "GFX_portrait_lothlorien_haldir" texturefile = "gfx/leaders/LTH/Portrait_Lothlorien_Haldir.dds" } - spriteType = { name = "GFX_idea_portrait_lothlorien_haldir" texturefile = "gfx/leaders/LTH/small/Portrait_Lothlorien_Haldir.dds" } - spriteType = { name = "GFX_portrait_lothlorien_haldir_fellowship" texturefile = "gfx/leaders/LTH/Portrait_Lothlorien_Haldir_Fellowship.dds" } - spriteType = { name = "GFX_idea_portrait_lothlorien_haldir_fellowship" texturefile = "gfx/leaders/LTH/small/Portrait_Lothlorien_Haldir_Fellowship.dds" } - spriteType = { name = "GFX_portrait_lothlorien_lethsael" texturefile = "gfx/leaders/LTH/Portrait_Lothlorien_Lethsael.dds" } - spriteType = { name = "GFX_idea_portrait_lothlorien_lethsael" texturefile = "gfx/leaders/LTH/small/Portrait_Lothlorien_Lethsael.dds" } - spriteType = { name = "GFX_portrait_lothlorien_orophin" texturefile = "gfx/leaders/LTH/Portrait_Lothlorien_Orophin.dds" } - spriteType = { name = "GFX_idea_portrait_lothlorien_orophin" texturefile = "gfx/leaders/LTH/small/Portrait_Lothlorien_Orophin.dds" } - spriteType = { name = "GFX_portrait_lothlorien_tarborn" texturefile = "gfx/leaders/LTH/Portrait_Lothlorien_Tarborn.dds" } - spriteType = { name = "GFX_idea_portrait_lothlorien_tarborn" texturefile = "gfx/leaders/LTH/small/Portrait_Lothlorien_Tarborn.dds" } -} diff --git a/interface/leaders/lotr_leaders_elves.gfx b/interface/leaders/lotr_leaders_elves.gfx deleted file mode 100644 index b90b078dd..000000000 --- a/interface/leaders/lotr_leaders_elves.gfx +++ /dev/null @@ -1,189 +0,0 @@ -spriteTypes = { - # This file was auto-generated by convert_to_small.py - spriteType = { name = "GFX_portrait_elves_generic_10" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_10.dds" } - spriteType = { name = "GFX_idea_portrait_elves_generic_10" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_10.dds" } - spriteType = { name = "GFX_portrait_elves_generic_11" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_11.dds" } - spriteType = { name = "GFX_idea_portrait_elves_generic_11" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_11.dds" } - spriteType = { name = "GFX_portrait_elves_generic_12" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_12.dds" } - spriteType = { name = "GFX_idea_portrait_elves_generic_12" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_12.dds" } - spriteType = { name = "GFX_portrait_elves_generic_13" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_13.dds" } - spriteType = { name = "GFX_idea_portrait_elves_generic_13" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_13.dds" } - spriteType = { name = "GFX_portrait_elves_generic_14" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_14.dds" } - spriteType = { name = "GFX_idea_portrait_elves_generic_14" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_14.dds" } - spriteType = { name = "GFX_portrait_elves_generic_15" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_15.dds" } - spriteType = { name = "GFX_idea_portrait_elves_generic_15" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_15.dds" } - spriteType = { name = "GFX_portrait_elves_generic_16" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_16.dds" } - spriteType = { name = "GFX_idea_portrait_elves_generic_16" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_16.dds" } - spriteType = { name = "GFX_portrait_elves_generic_17" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_17.dds" } - spriteType = { name = "GFX_idea_portrait_elves_generic_17" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_17.dds" } - spriteType = { name = "GFX_portrait_elves_generic_18" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_18.dds" } - spriteType = { name = "GFX_idea_portrait_elves_generic_18" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_18.dds" } - spriteType = { name = "GFX_portrait_elves_generic_19" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_19.dds" } - spriteType = { name = "GFX_idea_portrait_elves_generic_19" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_19.dds" } - spriteType = { name = "GFX_portrait_elves_generic_2" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_2.dds" } - spriteType = { name = "GFX_idea_portrait_elves_generic_2" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_2.dds" } - spriteType = { name = "GFX_portrait_elves_generic_20" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_20.dds" } - spriteType = { name = "GFX_idea_portrait_elves_generic_20" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_20.dds" } - spriteType = { name = "GFX_portrait_elves_generic_21" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_21.dds" } - spriteType = { name = "GFX_idea_portrait_elves_generic_21" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_21.dds" } - spriteType = { name = "GFX_portrait_elves_generic_22" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_22.dds" } - spriteType = { name = "GFX_idea_portrait_elves_generic_22" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_22.dds" } - spriteType = { name = "GFX_portrait_elves_generic_23" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_23.dds" } - spriteType = { name = "GFX_idea_portrait_elves_generic_23" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_23.dds" } - spriteType = { name = "GFX_portrait_elves_generic_24" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_24.dds" } - spriteType = { name = "GFX_idea_portrait_elves_generic_24" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_24.dds" } - spriteType = { name = "GFX_portrait_elves_generic_25" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_25.dds" } - spriteType = { name = "GFX_idea_portrait_elves_generic_25" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_25.dds" } - spriteType = { name = "GFX_portrait_elves_generic_26" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_26.dds" } - spriteType = { name = "GFX_idea_portrait_elves_generic_26" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_26.dds" } - spriteType = { name = "GFX_portrait_elves_generic_27" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_27.dds" } - spriteType = { name = "GFX_idea_portrait_elves_generic_27" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_27.dds" } - spriteType = { name = "GFX_portrait_elves_generic_28" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_28.dds" } - spriteType = { name = "GFX_idea_portrait_elves_generic_28" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_28.dds" } - spriteType = { name = "GFX_portrait_elves_generic_29" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_29.dds" } - spriteType = { name = "GFX_idea_portrait_elves_generic_29" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_29.dds" } - spriteType = { name = "GFX_portrait_elves_generic_3" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_3.dds" } - spriteType = { name = "GFX_idea_portrait_elves_generic_3" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_3.dds" } - spriteType = { name = "GFX_portrait_elves_generic_30" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_30.dds" } - spriteType = { name = "GFX_idea_portrait_elves_generic_30" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_30.dds" } - spriteType = { name = "GFX_portrait_elves_generic_31" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_31.dds" } - spriteType = { name = "GFX_idea_portrait_elves_generic_31" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_31.dds" } - spriteType = { name = "GFX_portrait_elves_generic_32" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_32.dds" } - spriteType = { name = "GFX_idea_portrait_elves_generic_32" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_32.dds" } - spriteType = { name = "GFX_portrait_elves_generic_33" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_33.dds" } - spriteType = { name = "GFX_idea_portrait_elves_generic_33" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_33.dds" } - spriteType = { name = "GFX_portrait_elves_generic_34" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_34.dds" } - spriteType = { name = "GFX_idea_portrait_elves_generic_34" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_34.dds" } - spriteType = { name = "GFX_portrait_elves_generic_35" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_35.dds" } - spriteType = { name = "GFX_idea_portrait_elves_generic_35" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_35.dds" } - spriteType = { name = "GFX_portrait_elves_generic_36" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_36.dds" } - spriteType = { name = "GFX_idea_portrait_elves_generic_36" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_36.dds" } - spriteType = { name = "GFX_portrait_elves_generic_37" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_37.dds" } - spriteType = { name = "GFX_idea_portrait_elves_generic_37" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_37.dds" } - spriteType = { name = "GFX_portrait_elves_generic_38" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_38.dds" } - spriteType = { name = "GFX_idea_portrait_elves_generic_38" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_38.dds" } - spriteType = { name = "GFX_portrait_elves_generic_39" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_39.dds" } - spriteType = { name = "GFX_idea_portrait_elves_generic_39" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_39.dds" } - spriteType = { name = "GFX_portrait_elves_generic_4" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_4.dds" } - spriteType = { name = "GFX_idea_portrait_elves_generic_4" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_4.dds" } - spriteType = { name = "GFX_portrait_elves_generic_40" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_40.dds" } - spriteType = { name = "GFX_idea_portrait_elves_generic_40" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_40.dds" } - spriteType = { name = "GFX_portrait_elves_generic_41" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_41.dds" } - spriteType = { name = "GFX_idea_portrait_elves_generic_41" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_41.dds" } - spriteType = { name = "GFX_portrait_elves_generic_42" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_42.dds" } - spriteType = { name = "GFX_idea_portrait_elves_generic_42" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_42.dds" } - spriteType = { name = "GFX_portrait_elves_generic_43" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_43.dds" } - spriteType = { name = "GFX_idea_portrait_elves_generic_43" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_43.dds" } - spriteType = { name = "GFX_portrait_elves_generic_44" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_44.dds" } - spriteType = { name = "GFX_idea_portrait_elves_generic_44" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_44.dds" } - spriteType = { name = "GFX_portrait_elves_generic_45" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_45.dds" } - spriteType = { name = "GFX_idea_portrait_elves_generic_45" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_45.dds" } - spriteType = { name = "GFX_portrait_elves_generic_46" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_46.dds" } - spriteType = { name = "GFX_idea_portrait_elves_generic_46" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_46.dds" } - spriteType = { name = "GFX_portrait_elves_generic_47" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_47.dds" } - spriteType = { name = "GFX_idea_portrait_elves_generic_47" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_47.dds" } - spriteType = { name = "GFX_portrait_elves_generic_48" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_48.dds" } - spriteType = { name = "GFX_idea_portrait_elves_generic_48" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_48.dds" } - spriteType = { name = "GFX_portrait_elves_generic_49" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_49.dds" } - spriteType = { name = "GFX_idea_portrait_elves_generic_49" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_49.dds" } - spriteType = { name = "GFX_portrait_elves_generic_5" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_5.dds" } - spriteType = { name = "GFX_idea_portrait_elves_generic_5" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_5.dds" } - spriteType = { name = "GFX_portrait_elves_generic_50" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_50.dds" } - spriteType = { name = "GFX_idea_portrait_elves_generic_50" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_50.dds" } - spriteType = { name = "GFX_portrait_elves_generic_51" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_51.dds" } - spriteType = { name = "GFX_idea_portrait_elves_generic_51" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_51.dds" } - spriteType = { name = "GFX_portrait_elves_generic_52" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_52.dds" } - spriteType = { name = "GFX_idea_portrait_elves_generic_52" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_52.dds" } - spriteType = { name = "GFX_portrait_elves_generic_53" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_53.dds" } - spriteType = { name = "GFX_idea_portrait_elves_generic_53" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_53.dds" } - spriteType = { name = "GFX_portrait_elves_generic_54" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_54.dds" } - spriteType = { name = "GFX_idea_portrait_elves_generic_54" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_54.dds" } - spriteType = { name = "GFX_portrait_elves_generic_55" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_55.dds" } - spriteType = { name = "GFX_idea_portrait_elves_generic_55" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_55.dds" } - spriteType = { name = "GFX_portrait_elves_generic_56" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_56.dds" } - spriteType = { name = "GFX_idea_portrait_elves_generic_56" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_56.dds" } - spriteType = { name = "GFX_portrait_elves_generic_57" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_57.dds" } - spriteType = { name = "GFX_idea_portrait_elves_generic_57" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_57.dds" } - spriteType = { name = "GFX_portrait_elves_generic_58" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_58.dds" } - spriteType = { name = "GFX_idea_portrait_elves_generic_58" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_58.dds" } - spriteType = { name = "GFX_portrait_elves_generic_59" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_59.dds" } - spriteType = { name = "GFX_idea_portrait_elves_generic_59" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_59.dds" } - spriteType = { name = "GFX_portrait_elves_generic_6" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_6.dds" } - spriteType = { name = "GFX_idea_portrait_elves_generic_6" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_6.dds" } - spriteType = { name = "GFX_portrait_elves_generic_60" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_60.dds" } - spriteType = { name = "GFX_idea_portrait_elves_generic_60" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_60.dds" } - spriteType = { name = "GFX_portrait_elves_generic_61" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_61.dds" } - spriteType = { name = "GFX_idea_portrait_elves_generic_61" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_61.dds" } - spriteType = { name = "GFX_portrait_elves_generic_62" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_62.dds" } - spriteType = { name = "GFX_idea_portrait_elves_generic_62" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_62.dds" } - spriteType = { name = "GFX_portrait_elves_generic_63" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_63.dds" } - spriteType = { name = "GFX_idea_portrait_elves_generic_63" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_63.dds" } - spriteType = { name = "GFX_portrait_elves_generic_64" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_64.dds" } - spriteType = { name = "GFX_idea_portrait_elves_generic_64" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_64.dds" } - spriteType = { name = "GFX_portrait_elves_generic_65" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_65.dds" } - spriteType = { name = "GFX_idea_portrait_elves_generic_65" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_65.dds" } - spriteType = { name = "GFX_portrait_elves_generic_66" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_66.dds" } - spriteType = { name = "GFX_idea_portrait_elves_generic_66" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_66.dds" } - spriteType = { name = "GFX_portrait_elves_generic_67" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_67.dds" } - spriteType = { name = "GFX_idea_portrait_elves_generic_67" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_67.dds" } - spriteType = { name = "GFX_portrait_elves_generic_68" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_68.dds" } - spriteType = { name = "GFX_idea_portrait_elves_generic_68" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_68.dds" } - spriteType = { name = "GFX_portrait_elves_generic_69" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_69.dds" } - spriteType = { name = "GFX_idea_portrait_elves_generic_69" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_69.dds" } - spriteType = { name = "GFX_portrait_elves_generic_7" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_7.dds" } - spriteType = { name = "GFX_idea_portrait_elves_generic_7" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_7.dds" } - spriteType = { name = "GFX_portrait_elves_generic_70" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_70.dds" } - spriteType = { name = "GFX_idea_portrait_elves_generic_70" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_70.dds" } - spriteType = { name = "GFX_portrait_elves_generic_71" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_71.dds" } - spriteType = { name = "GFX_idea_portrait_elves_generic_71" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_71.dds" } - spriteType = { name = "GFX_portrait_elves_generic_72" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_72.dds" } - spriteType = { name = "GFX_idea_portrait_elves_generic_72" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_72.dds" } - spriteType = { name = "GFX_portrait_elves_generic_73" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_73.dds" } - spriteType = { name = "GFX_idea_portrait_elves_generic_73" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_73.dds" } - spriteType = { name = "GFX_portrait_elves_generic_74" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_74.dds" } - spriteType = { name = "GFX_idea_portrait_elves_generic_74" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_74.dds" } - spriteType = { name = "GFX_portrait_elves_generic_75" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_75.dds" } - spriteType = { name = "GFX_idea_portrait_elves_generic_75" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_75.dds" } - spriteType = { name = "GFX_portrait_elves_generic_76" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_76.dds" } - spriteType = { name = "GFX_idea_portrait_elves_generic_76" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_76.dds" } - spriteType = { name = "GFX_portrait_elves_generic_77" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_77.dds" } - spriteType = { name = "GFX_idea_portrait_elves_generic_77" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_77.dds" } - spriteType = { name = "GFX_portrait_elves_generic_78" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_78.dds" } - spriteType = { name = "GFX_idea_portrait_elves_generic_78" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_78.dds" } - spriteType = { name = "GFX_portrait_elves_generic_79" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_79.dds" } - spriteType = { name = "GFX_idea_portrait_elves_generic_79" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_79.dds" } - spriteType = { name = "GFX_portrait_elves_generic_8" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_8.dds" } - spriteType = { name = "GFX_idea_portrait_elves_generic_8" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_8.dds" } - spriteType = { name = "GFX_portrait_elves_generic_80" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_80.dds" } - spriteType = { name = "GFX_idea_portrait_elves_generic_80" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_80.dds" } - spriteType = { name = "GFX_portrait_elves_generic_81" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_81.dds" } - spriteType = { name = "GFX_idea_portrait_elves_generic_81" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_81.dds" } - spriteType = { name = "GFX_portrait_elves_generic_82" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_82.dds" } - spriteType = { name = "GFX_idea_portrait_elves_generic_82" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_82.dds" } - spriteType = { name = "GFX_portrait_elves_generic_83" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_83.dds" } - spriteType = { name = "GFX_idea_portrait_elves_generic_83" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_83.dds" } - spriteType = { name = "GFX_portrait_elves_generic_84" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_84.dds" } - spriteType = { name = "GFX_idea_portrait_elves_generic_84" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_84.dds" } - spriteType = { name = "GFX_portrait_elves_generic_85" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_85.dds" } - spriteType = { name = "GFX_idea_portrait_elves_generic_85" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_85.dds" } - spriteType = { name = "GFX_portrait_elves_generic_86" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_86.dds" } - spriteType = { name = "GFX_idea_portrait_elves_generic_86" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_86.dds" } - spriteType = { name = "GFX_portrait_elves_generic_87" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_87.dds" } - spriteType = { name = "GFX_idea_portrait_elves_generic_87" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_87.dds" } - spriteType = { name = "GFX_portrait_elves_generic_88" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_88.dds" } - spriteType = { name = "GFX_idea_portrait_elves_generic_88" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_88.dds" } - spriteType = { name = "GFX_portrait_elves_generic_89" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_89.dds" } - spriteType = { name = "GFX_idea_portrait_elves_generic_89" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_89.dds" } - spriteType = { name = "GFX_portrait_elves_generic_9" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_9.dds" } - spriteType = { name = "GFX_idea_portrait_elves_generic_9" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_9.dds" } - spriteType = { name = "GFX_portrait_elves_generic_90" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_90.dds" } - spriteType = { name = "GFX_idea_portrait_elves_generic_90" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_90.dds" } - spriteType = { name = "GFX_portrait_elves_generic_91" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_91.dds" } - spriteType = { name = "GFX_idea_portrait_elves_generic_91" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_91.dds" } - spriteType = { name = "GFX_portrait_elves_generic_92" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_92.dds" } - spriteType = { name = "GFX_idea_portrait_elves_generic_92" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_92.dds" } - spriteType = { name = "GFX_portrait_elves_generic_93" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_93.dds" } - spriteType = { name = "GFX_idea_portrait_elves_generic_93" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_93.dds" } - spriteType = { name = "GFX_portrait_elves_generic_94" texturefile = "gfx/leaders/0_generic_Elves/Portrait_Elves_Generic_94.dds" } - spriteType = { name = "GFX_idea_portrait_elves_generic_94" texturefile = "gfx/leaders/0_generic_Elves/small/Portrait_Elves_Generic_94.dds" } -} diff --git a/interface/leaders/lotr_leaders_men.gfx b/interface/leaders/lotr_leaders_men.gfx deleted file mode 100644 index b8f5ddbbb..000000000 --- a/interface/leaders/lotr_leaders_men.gfx +++ /dev/null @@ -1,485 +0,0 @@ -spriteTypes = { - # This file was auto-generated by convert_to_small.py - spriteType = { name = "GFX_portrait_men_barbarian_generic_1" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Barbarian_Generic_1.dds" } - spriteType = { name = "GFX_idea_portrait_men_barbarian_generic_1" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Barbarian_Generic_1.dds" } - spriteType = { name = "GFX_portrait_men_barbarian_generic_2" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Barbarian_Generic_2.dds" } - spriteType = { name = "GFX_idea_portrait_men_barbarian_generic_2" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Barbarian_Generic_2.dds" } - spriteType = { name = "GFX_portrait_men_barbarian_generic_3" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Barbarian_Generic_3.dds" } - spriteType = { name = "GFX_idea_portrait_men_barbarian_generic_3" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Barbarian_Generic_3.dds" } - spriteType = { name = "GFX_portrait_men_barbarian_generic_4" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Barbarian_Generic_4.dds" } - spriteType = { name = "GFX_idea_portrait_men_barbarian_generic_4" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Barbarian_Generic_4.dds" } - spriteType = { name = "GFX_portrait_men_barbarian_generic_5" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Barbarian_Generic_5.dds" } - spriteType = { name = "GFX_idea_portrait_men_barbarian_generic_5" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Barbarian_Generic_5.dds" } - spriteType = { name = "GFX_portrait_men_barbarian_generic_6" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Barbarian_Generic_6.dds" } - spriteType = { name = "GFX_idea_portrait_men_barbarian_generic_6" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Barbarian_Generic_6.dds" } - spriteType = { name = "GFX_portrait_men_barbarian_generic_7" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Barbarian_Generic_7.dds" } - spriteType = { name = "GFX_idea_portrait_men_barbarian_generic_7" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Barbarian_Generic_7.dds" } - spriteType = { name = "GFX_portrait_men_eastern_generic_1" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Eastern_Generic_1.dds" } - spriteType = { name = "GFX_idea_portrait_men_eastern_generic_1" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Eastern_Generic_1.dds" } - spriteType = { name = "GFX_portrait_men_eastern_generic_10" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Eastern_Generic_10.dds" } - spriteType = { name = "GFX_idea_portrait_men_eastern_generic_10" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Eastern_Generic_10.dds" } - spriteType = { name = "GFX_portrait_men_eastern_generic_11" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Eastern_Generic_11.dds" } - spriteType = { name = "GFX_idea_portrait_men_eastern_generic_11" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Eastern_Generic_11.dds" } - spriteType = { name = "GFX_portrait_men_eastern_generic_12" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Eastern_Generic_12.dds" } - spriteType = { name = "GFX_idea_portrait_men_eastern_generic_12" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Eastern_Generic_12.dds" } - spriteType = { name = "GFX_portrait_men_eastern_generic_13" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Eastern_Generic_13.dds" } - spriteType = { name = "GFX_idea_portrait_men_eastern_generic_13" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Eastern_Generic_13.dds" } - spriteType = { name = "GFX_portrait_men_eastern_generic_14" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Eastern_Generic_14.dds" } - spriteType = { name = "GFX_idea_portrait_men_eastern_generic_14" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Eastern_Generic_14.dds" } - spriteType = { name = "GFX_portrait_men_eastern_generic_15" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Eastern_Generic_15.dds" } - spriteType = { name = "GFX_idea_portrait_men_eastern_generic_15" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Eastern_Generic_15.dds" } - spriteType = { name = "GFX_portrait_men_eastern_generic_16" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Eastern_Generic_16.dds" } - spriteType = { name = "GFX_idea_portrait_men_eastern_generic_16" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Eastern_Generic_16.dds" } - spriteType = { name = "GFX_portrait_men_eastern_generic_17" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Eastern_Generic_17.dds" } - spriteType = { name = "GFX_idea_portrait_men_eastern_generic_17" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Eastern_Generic_17.dds" } - spriteType = { name = "GFX_portrait_men_eastern_generic_18" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Eastern_Generic_18.dds" } - spriteType = { name = "GFX_idea_portrait_men_eastern_generic_18" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Eastern_Generic_18.dds" } - spriteType = { name = "GFX_portrait_men_eastern_generic_19" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Eastern_Generic_19.dds" } - spriteType = { name = "GFX_idea_portrait_men_eastern_generic_19" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Eastern_Generic_19.dds" } - spriteType = { name = "GFX_portrait_men_eastern_generic_2" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Eastern_Generic_2.dds" } - spriteType = { name = "GFX_idea_portrait_men_eastern_generic_2" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Eastern_Generic_2.dds" } - spriteType = { name = "GFX_portrait_men_eastern_generic_20" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Eastern_Generic_20.dds" } - spriteType = { name = "GFX_idea_portrait_men_eastern_generic_20" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Eastern_Generic_20.dds" } - spriteType = { name = "GFX_portrait_men_eastern_generic_21" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Eastern_Generic_21.dds" } - spriteType = { name = "GFX_idea_portrait_men_eastern_generic_21" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Eastern_Generic_21.dds" } - spriteType = { name = "GFX_portrait_men_eastern_generic_22" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Eastern_Generic_22.dds" } - spriteType = { name = "GFX_idea_portrait_men_eastern_generic_22" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Eastern_Generic_22.dds" } - spriteType = { name = "GFX_portrait_men_eastern_generic_23" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Eastern_Generic_23.dds" } - spriteType = { name = "GFX_idea_portrait_men_eastern_generic_23" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Eastern_Generic_23.dds" } - spriteType = { name = "GFX_portrait_men_eastern_generic_24" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Eastern_Generic_24.dds" } - spriteType = { name = "GFX_idea_portrait_men_eastern_generic_24" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Eastern_Generic_24.dds" } - spriteType = { name = "GFX_portrait_men_eastern_generic_25" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Eastern_Generic_25.dds" } - spriteType = { name = "GFX_idea_portrait_men_eastern_generic_25" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Eastern_Generic_25.dds" } - spriteType = { name = "GFX_portrait_men_eastern_generic_26" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Eastern_Generic_26.dds" } - spriteType = { name = "GFX_idea_portrait_men_eastern_generic_26" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Eastern_Generic_26.dds" } - spriteType = { name = "GFX_portrait_men_eastern_generic_27" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Eastern_Generic_27.dds" } - spriteType = { name = "GFX_idea_portrait_men_eastern_generic_27" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Eastern_Generic_27.dds" } - spriteType = { name = "GFX_portrait_men_eastern_generic_28" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Eastern_Generic_28.dds" } - spriteType = { name = "GFX_idea_portrait_men_eastern_generic_28" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Eastern_Generic_28.dds" } - spriteType = { name = "GFX_portrait_men_eastern_generic_29" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Eastern_Generic_29.dds" } - spriteType = { name = "GFX_idea_portrait_men_eastern_generic_29" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Eastern_Generic_29.dds" } - spriteType = { name = "GFX_portrait_men_eastern_generic_3" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Eastern_Generic_3.dds" } - spriteType = { name = "GFX_idea_portrait_men_eastern_generic_3" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Eastern_Generic_3.dds" } - spriteType = { name = "GFX_portrait_men_eastern_generic_30" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Eastern_Generic_30.dds" } - spriteType = { name = "GFX_idea_portrait_men_eastern_generic_30" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Eastern_Generic_30.dds" } - spriteType = { name = "GFX_portrait_men_eastern_generic_31" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Eastern_Generic_31.dds" } - spriteType = { name = "GFX_idea_portrait_men_eastern_generic_31" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Eastern_Generic_31.dds" } - spriteType = { name = "GFX_portrait_men_eastern_generic_32" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Eastern_Generic_32.dds" } - spriteType = { name = "GFX_idea_portrait_men_eastern_generic_32" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Eastern_Generic_32.dds" } - spriteType = { name = "GFX_portrait_men_eastern_generic_33" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Eastern_Generic_33.dds" } - spriteType = { name = "GFX_idea_portrait_men_eastern_generic_33" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Eastern_Generic_33.dds" } - spriteType = { name = "GFX_portrait_men_eastern_generic_34" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Eastern_Generic_34.dds" } - spriteType = { name = "GFX_idea_portrait_men_eastern_generic_34" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Eastern_Generic_34.dds" } - spriteType = { name = "GFX_portrait_men_eastern_generic_35" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Eastern_Generic_35.dds" } - spriteType = { name = "GFX_idea_portrait_men_eastern_generic_35" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Eastern_Generic_35.dds" } - spriteType = { name = "GFX_portrait_men_eastern_generic_36" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Eastern_Generic_36.dds" } - spriteType = { name = "GFX_idea_portrait_men_eastern_generic_36" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Eastern_Generic_36.dds" } - spriteType = { name = "GFX_portrait_men_eastern_generic_37" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Eastern_Generic_37.dds" } - spriteType = { name = "GFX_idea_portrait_men_eastern_generic_37" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Eastern_Generic_37.dds" } - spriteType = { name = "GFX_portrait_men_eastern_generic_38" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Eastern_Generic_38.dds" } - spriteType = { name = "GFX_idea_portrait_men_eastern_generic_38" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Eastern_Generic_38.dds" } - spriteType = { name = "GFX_portrait_men_eastern_generic_39" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Eastern_Generic_39.dds" } - spriteType = { name = "GFX_idea_portrait_men_eastern_generic_39" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Eastern_Generic_39.dds" } - spriteType = { name = "GFX_portrait_men_eastern_generic_4" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Eastern_Generic_4.dds" } - spriteType = { name = "GFX_idea_portrait_men_eastern_generic_4" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Eastern_Generic_4.dds" } - spriteType = { name = "GFX_portrait_men_eastern_generic_40" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Eastern_Generic_40.dds" } - spriteType = { name = "GFX_idea_portrait_men_eastern_generic_40" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Eastern_Generic_40.dds" } - spriteType = { name = "GFX_portrait_men_eastern_generic_41" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Eastern_Generic_41.dds" } - spriteType = { name = "GFX_idea_portrait_men_eastern_generic_41" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Eastern_Generic_41.dds" } - spriteType = { name = "GFX_portrait_men_eastern_generic_42" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Eastern_Generic_42.dds" } - spriteType = { name = "GFX_idea_portrait_men_eastern_generic_42" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Eastern_Generic_42.dds" } - spriteType = { name = "GFX_portrait_men_eastern_generic_43" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Eastern_Generic_43.dds" } - spriteType = { name = "GFX_idea_portrait_men_eastern_generic_43" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Eastern_Generic_43.dds" } - spriteType = { name = "GFX_portrait_men_eastern_generic_44" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Eastern_Generic_44.dds" } - spriteType = { name = "GFX_idea_portrait_men_eastern_generic_44" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Eastern_Generic_44.dds" } - spriteType = { name = "GFX_portrait_men_eastern_generic_45" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Eastern_Generic_45.dds" } - spriteType = { name = "GFX_idea_portrait_men_eastern_generic_45" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Eastern_Generic_45.dds" } - spriteType = { name = "GFX_portrait_men_eastern_generic_46" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Eastern_Generic_46.dds" } - spriteType = { name = "GFX_idea_portrait_men_eastern_generic_46" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Eastern_Generic_46.dds" } - spriteType = { name = "GFX_portrait_men_eastern_generic_47" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Eastern_Generic_47.dds" } - spriteType = { name = "GFX_idea_portrait_men_eastern_generic_47" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Eastern_Generic_47.dds" } - spriteType = { name = "GFX_portrait_men_eastern_generic_48" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Eastern_Generic_48.dds" } - spriteType = { name = "GFX_idea_portrait_men_eastern_generic_48" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Eastern_Generic_48.dds" } - spriteType = { name = "GFX_portrait_men_eastern_generic_49" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Eastern_Generic_49.dds" } - spriteType = { name = "GFX_idea_portrait_men_eastern_generic_49" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Eastern_Generic_49.dds" } - spriteType = { name = "GFX_portrait_men_eastern_generic_5" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Eastern_Generic_5.dds" } - spriteType = { name = "GFX_idea_portrait_men_eastern_generic_5" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Eastern_Generic_5.dds" } - spriteType = { name = "GFX_portrait_men_eastern_generic_50" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Eastern_Generic_50.dds" } - spriteType = { name = "GFX_idea_portrait_men_eastern_generic_50" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Eastern_Generic_50.dds" } - spriteType = { name = "GFX_portrait_men_eastern_generic_51" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Eastern_Generic_51.dds" } - spriteType = { name = "GFX_idea_portrait_men_eastern_generic_51" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Eastern_Generic_51.dds" } - spriteType = { name = "GFX_portrait_men_eastern_generic_6" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Eastern_Generic_6.dds" } - spriteType = { name = "GFX_idea_portrait_men_eastern_generic_6" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Eastern_Generic_6.dds" } - spriteType = { name = "GFX_portrait_men_eastern_generic_7" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Eastern_Generic_7.dds" } - spriteType = { name = "GFX_idea_portrait_men_eastern_generic_7" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Eastern_Generic_7.dds" } - spriteType = { name = "GFX_portrait_men_eastern_generic_8" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Eastern_Generic_8.dds" } - spriteType = { name = "GFX_idea_portrait_men_eastern_generic_8" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Eastern_Generic_8.dds" } - spriteType = { name = "GFX_portrait_men_eastern_generic_9" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Eastern_Generic_9.dds" } - spriteType = { name = "GFX_idea_portrait_men_eastern_generic_9" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Eastern_Generic_9.dds" } - spriteType = { name = "GFX_portrait_men_generic_10" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_10.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_10" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_10.dds" } - spriteType = { name = "GFX_portrait_men_generic_100" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_100.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_100" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_100.dds" } - spriteType = { name = "GFX_portrait_men_generic_101" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_101.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_101" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_101.dds" } - spriteType = { name = "GFX_portrait_men_generic_102" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_102.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_102" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_102.dds" } - spriteType = { name = "GFX_portrait_men_generic_103" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_103.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_103" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_103.dds" } - spriteType = { name = "GFX_portrait_men_generic_104" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_104.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_104" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_104.dds" } - spriteType = { name = "GFX_portrait_men_generic_105" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_105.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_105" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_105.dds" } - spriteType = { name = "GFX_portrait_men_generic_106" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_106.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_106" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_106.dds" } - spriteType = { name = "GFX_portrait_men_generic_107" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_107.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_107" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_107.dds" } - spriteType = { name = "GFX_portrait_men_generic_108" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_108.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_108" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_108.dds" } - spriteType = { name = "GFX_portrait_men_generic_109" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_109.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_109" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_109.dds" } - spriteType = { name = "GFX_portrait_men_generic_11" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_11.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_11" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_11.dds" } - spriteType = { name = "GFX_portrait_men_generic_110" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_110.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_110" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_110.dds" } - spriteType = { name = "GFX_portrait_men_generic_111" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_111.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_111" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_111.dds" } - spriteType = { name = "GFX_portrait_men_generic_112" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_112.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_112" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_112.dds" } - spriteType = { name = "GFX_portrait_men_generic_113" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_113.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_113" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_113.dds" } - spriteType = { name = "GFX_portrait_men_generic_114" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_114.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_114" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_114.dds" } - spriteType = { name = "GFX_portrait_men_generic_115" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_115.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_115" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_115.dds" } - spriteType = { name = "GFX_portrait_men_generic_116" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_116.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_116" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_116.dds" } - spriteType = { name = "GFX_portrait_men_generic_117" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_117.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_117" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_117.dds" } - spriteType = { name = "GFX_portrait_men_generic_118" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_118.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_118" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_118.dds" } - spriteType = { name = "GFX_portrait_men_generic_119" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_119.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_119" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_119.dds" } - spriteType = { name = "GFX_portrait_men_generic_12" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_12.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_12" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_12.dds" } - spriteType = { name = "GFX_portrait_men_generic_120" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_120.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_120" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_120.dds" } - spriteType = { name = "GFX_portrait_men_generic_121" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_121.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_121" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_121.dds" } - spriteType = { name = "GFX_portrait_men_generic_122" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_122.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_122" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_122.dds" } - spriteType = { name = "GFX_portrait_men_generic_123" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_123.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_123" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_123.dds" } - spriteType = { name = "GFX_portrait_men_generic_124" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_124.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_124" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_124.dds" } - spriteType = { name = "GFX_portrait_men_generic_125" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_125.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_125" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_125.dds" } - spriteType = { name = "GFX_portrait_men_generic_126" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_126.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_126" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_126.dds" } - spriteType = { name = "GFX_portrait_men_generic_127" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_127.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_127" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_127.dds" } - spriteType = { name = "GFX_portrait_men_generic_128" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_128.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_128" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_128.dds" } - spriteType = { name = "GFX_portrait_men_generic_129" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_129.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_129" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_129.dds" } - spriteType = { name = "GFX_portrait_men_generic_13" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_13.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_13" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_13.dds" } - spriteType = { name = "GFX_portrait_men_generic_130" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_130.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_130" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_130.dds" } - spriteType = { name = "GFX_portrait_men_generic_131" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_131.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_131" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_131.dds" } - spriteType = { name = "GFX_portrait_men_generic_132" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_132.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_132" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_132.dds" } - spriteType = { name = "GFX_portrait_men_generic_133" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_133.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_133" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_133.dds" } - spriteType = { name = "GFX_portrait_men_generic_134" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_134.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_134" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_134.dds" } - spriteType = { name = "GFX_portrait_men_generic_135" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_135.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_135" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_135.dds" } - spriteType = { name = "GFX_portrait_men_generic_136" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_136.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_136" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_136.dds" } - spriteType = { name = "GFX_portrait_men_generic_137" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_137.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_137" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_137.dds" } - spriteType = { name = "GFX_portrait_men_generic_138" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_138.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_138" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_138.dds" } - spriteType = { name = "GFX_portrait_men_generic_139" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_139.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_139" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_139.dds" } - spriteType = { name = "GFX_portrait_men_generic_14" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_14.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_14" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_14.dds" } - spriteType = { name = "GFX_portrait_men_generic_140" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_140.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_140" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_140.dds" } - spriteType = { name = "GFX_portrait_men_generic_141" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_141.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_141" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_141.dds" } - spriteType = { name = "GFX_portrait_men_generic_142" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_142.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_142" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_142.dds" } - spriteType = { name = "GFX_portrait_men_generic_143" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_143.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_143" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_143.dds" } - spriteType = { name = "GFX_portrait_men_generic_144" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_144.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_144" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_144.dds" } - spriteType = { name = "GFX_portrait_men_generic_145" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_145.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_145" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_145.dds" } - spriteType = { name = "GFX_portrait_men_generic_146" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_146.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_146" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_146.dds" } - spriteType = { name = "GFX_portrait_men_generic_147" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_147.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_147" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_147.dds" } - spriteType = { name = "GFX_portrait_men_generic_148" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_148.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_148" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_148.dds" } - spriteType = { name = "GFX_portrait_men_generic_149" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_149.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_149" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_149.dds" } - spriteType = { name = "GFX_portrait_men_generic_15" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_15.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_15" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_15.dds" } - spriteType = { name = "GFX_portrait_men_generic_150" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_150.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_150" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_150.dds" } - spriteType = { name = "GFX_portrait_men_generic_151" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_151.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_151" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_151.dds" } - spriteType = { name = "GFX_portrait_men_generic_152" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_152.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_152" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_152.dds" } - spriteType = { name = "GFX_portrait_men_generic_153" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_153.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_153" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_153.dds" } - spriteType = { name = "GFX_portrait_men_generic_154" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_154.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_154" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_154.dds" } - spriteType = { name = "GFX_portrait_men_generic_155" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_155.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_155" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_155.dds" } - spriteType = { name = "GFX_portrait_men_generic_156" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_156.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_156" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_156.dds" } - spriteType = { name = "GFX_portrait_men_generic_157" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_157.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_157" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_157.dds" } - spriteType = { name = "GFX_portrait_men_generic_158" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_158.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_158" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_158.dds" } - spriteType = { name = "GFX_portrait_men_generic_159" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_159.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_159" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_159.dds" } - spriteType = { name = "GFX_portrait_men_generic_16" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_16.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_16" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_16.dds" } - spriteType = { name = "GFX_portrait_men_generic_160" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_160.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_160" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_160.dds" } - spriteType = { name = "GFX_portrait_men_generic_161" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_161.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_161" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_161.dds" } - spriteType = { name = "GFX_portrait_men_generic_162" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_162.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_162" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_162.dds" } - spriteType = { name = "GFX_portrait_men_generic_163" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_163.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_163" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_163.dds" } - spriteType = { name = "GFX_portrait_men_generic_164" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_164.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_164" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_164.dds" } - spriteType = { name = "GFX_portrait_men_generic_165" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_165.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_165" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_165.dds" } - spriteType = { name = "GFX_portrait_men_generic_166" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_166.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_166" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_166.dds" } - spriteType = { name = "GFX_portrait_men_generic_167" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_167.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_167" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_167.dds" } - spriteType = { name = "GFX_portrait_men_generic_168" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_168.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_168" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_168.dds" } - spriteType = { name = "GFX_portrait_men_generic_169" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_169.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_169" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_169.dds" } - spriteType = { name = "GFX_portrait_men_generic_17" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_17.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_17" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_17.dds" } - spriteType = { name = "GFX_portrait_men_generic_170" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_170.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_170" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_170.dds" } - spriteType = { name = "GFX_portrait_men_generic_171" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_171.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_171" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_171.dds" } - spriteType = { name = "GFX_portrait_men_generic_172" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_172.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_172" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_172.dds" } - spriteType = { name = "GFX_portrait_men_generic_173" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_173.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_173" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_173.dds" } - spriteType = { name = "GFX_portrait_men_generic_174" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_174.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_174" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_174.dds" } - spriteType = { name = "GFX_portrait_men_generic_175" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_175.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_175" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_175.dds" } - spriteType = { name = "GFX_portrait_men_generic_176" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_176.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_176" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_176.dds" } - spriteType = { name = "GFX_portrait_men_generic_177" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_177.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_177" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_177.dds" } - spriteType = { name = "GFX_portrait_men_generic_178" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_178.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_178" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_178.dds" } - spriteType = { name = "GFX_portrait_men_generic_179" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_179.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_179" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_179.dds" } - spriteType = { name = "GFX_portrait_men_generic_18" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_18.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_18" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_18.dds" } - spriteType = { name = "GFX_portrait_men_generic_180" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_180.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_180" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_180.dds" } - spriteType = { name = "GFX_portrait_men_generic_181" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_181.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_181" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_181.dds" } - spriteType = { name = "GFX_portrait_men_generic_182" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_182.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_182" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_182.dds" } - spriteType = { name = "GFX_portrait_men_generic_183" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_183.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_183" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_183.dds" } - spriteType = { name = "GFX_portrait_men_generic_184" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_184.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_184" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_184.dds" } - spriteType = { name = "GFX_portrait_men_generic_19" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_19.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_19" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_19.dds" } - spriteType = { name = "GFX_portrait_men_generic_2" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_2.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_2" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_2.dds" } - spriteType = { name = "GFX_portrait_men_generic_20" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_20.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_20" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_20.dds" } - spriteType = { name = "GFX_portrait_men_generic_21" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_21.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_21" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_21.dds" } - spriteType = { name = "GFX_portrait_men_generic_22" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_22.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_22" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_22.dds" } - spriteType = { name = "GFX_portrait_men_generic_23" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_23.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_23" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_23.dds" } - spriteType = { name = "GFX_portrait_men_generic_24" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_24.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_24" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_24.dds" } - spriteType = { name = "GFX_portrait_men_generic_25" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_25.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_25" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_25.dds" } - spriteType = { name = "GFX_portrait_men_generic_26" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_26.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_26" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_26.dds" } - spriteType = { name = "GFX_portrait_men_generic_27" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_27.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_27" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_27.dds" } - spriteType = { name = "GFX_portrait_men_generic_28" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_28.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_28" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_28.dds" } - spriteType = { name = "GFX_portrait_men_generic_29" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_29.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_29" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_29.dds" } - spriteType = { name = "GFX_portrait_men_generic_3" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_3.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_3" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_3.dds" } - spriteType = { name = "GFX_portrait_men_generic_30" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_30.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_30" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_30.dds" } - spriteType = { name = "GFX_portrait_men_generic_31" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_31.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_31" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_31.dds" } - spriteType = { name = "GFX_portrait_men_generic_32" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_32.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_32" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_32.dds" } - spriteType = { name = "GFX_portrait_men_generic_33" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_33.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_33" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_33.dds" } - spriteType = { name = "GFX_portrait_men_generic_34" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_34.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_34" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_34.dds" } - spriteType = { name = "GFX_portrait_men_generic_35" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_35.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_35" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_35.dds" } - spriteType = { name = "GFX_portrait_men_generic_36" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_36.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_36" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_36.dds" } - spriteType = { name = "GFX_portrait_men_generic_37" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_37.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_37" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_37.dds" } - spriteType = { name = "GFX_portrait_men_generic_38" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_38.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_38" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_38.dds" } - spriteType = { name = "GFX_portrait_men_generic_39" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_39.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_39" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_39.dds" } - spriteType = { name = "GFX_portrait_men_generic_4" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_4.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_4" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_4.dds" } - spriteType = { name = "GFX_portrait_men_generic_40" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_40.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_40" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_40.dds" } - spriteType = { name = "GFX_portrait_men_generic_41" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_41.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_41" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_41.dds" } - spriteType = { name = "GFX_portrait_men_generic_42" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_42.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_42" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_42.dds" } - spriteType = { name = "GFX_portrait_men_generic_43" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_43.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_43" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_43.dds" } - spriteType = { name = "GFX_portrait_men_generic_44" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_44.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_44" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_44.dds" } - spriteType = { name = "GFX_portrait_men_generic_45" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_45.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_45" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_45.dds" } - spriteType = { name = "GFX_portrait_men_generic_46" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_46.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_46" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_46.dds" } - spriteType = { name = "GFX_portrait_men_generic_47" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_47.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_47" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_47.dds" } - spriteType = { name = "GFX_portrait_men_generic_48" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_48.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_48" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_48.dds" } - spriteType = { name = "GFX_portrait_men_generic_49" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_49.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_49" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_49.dds" } - spriteType = { name = "GFX_portrait_men_generic_5" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_5.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_5" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_5.dds" } - spriteType = { name = "GFX_portrait_men_generic_50" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_50.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_50" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_50.dds" } - spriteType = { name = "GFX_portrait_men_generic_51" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_51.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_51" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_51.dds" } - spriteType = { name = "GFX_portrait_men_generic_52" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_52.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_52" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_52.dds" } - spriteType = { name = "GFX_portrait_men_generic_53" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_53.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_53" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_53.dds" } - spriteType = { name = "GFX_portrait_men_generic_54" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_54.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_54" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_54.dds" } - spriteType = { name = "GFX_portrait_men_generic_55" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_55.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_55" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_55.dds" } - spriteType = { name = "GFX_portrait_men_generic_56" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_56.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_56" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_56.dds" } - spriteType = { name = "GFX_portrait_men_generic_57" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_57.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_57" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_57.dds" } - spriteType = { name = "GFX_portrait_men_generic_58" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_58.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_58" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_58.dds" } - spriteType = { name = "GFX_portrait_men_generic_59" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_59.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_59" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_59.dds" } - spriteType = { name = "GFX_portrait_men_generic_6" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_6.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_6" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_6.dds" } - spriteType = { name = "GFX_portrait_men_generic_60" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_60.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_60" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_60.dds" } - spriteType = { name = "GFX_portrait_men_generic_61" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_61.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_61" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_61.dds" } - spriteType = { name = "GFX_portrait_men_generic_62" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_62.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_62" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_62.dds" } - spriteType = { name = "GFX_portrait_men_generic_63" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_63.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_63" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_63.dds" } - spriteType = { name = "GFX_portrait_men_generic_64" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_64.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_64" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_64.dds" } - spriteType = { name = "GFX_portrait_men_generic_65" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_65.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_65" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_65.dds" } - spriteType = { name = "GFX_portrait_men_generic_66" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_66.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_66" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_66.dds" } - spriteType = { name = "GFX_portrait_men_generic_67" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_67.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_67" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_67.dds" } - spriteType = { name = "GFX_portrait_men_generic_68" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_68.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_68" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_68.dds" } - spriteType = { name = "GFX_portrait_men_generic_69" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_69.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_69" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_69.dds" } - spriteType = { name = "GFX_portrait_men_generic_7" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_7.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_7" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_7.dds" } - spriteType = { name = "GFX_portrait_men_generic_70" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_70.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_70" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_70.dds" } - spriteType = { name = "GFX_portrait_men_generic_71" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_71.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_71" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_71.dds" } - spriteType = { name = "GFX_portrait_men_generic_72" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_72.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_72" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_72.dds" } - spriteType = { name = "GFX_portrait_men_generic_73" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_73.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_73" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_73.dds" } - spriteType = { name = "GFX_portrait_men_generic_74" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_74.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_74" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_74.dds" } - spriteType = { name = "GFX_portrait_men_generic_75" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_75.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_75" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_75.dds" } - spriteType = { name = "GFX_portrait_men_generic_76" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_76.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_76" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_76.dds" } - spriteType = { name = "GFX_portrait_men_generic_77" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_77.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_77" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_77.dds" } - spriteType = { name = "GFX_portrait_men_generic_78" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_78.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_78" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_78.dds" } - spriteType = { name = "GFX_portrait_men_generic_79" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_79.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_79" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_79.dds" } - spriteType = { name = "GFX_portrait_men_generic_8" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_8.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_8" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_8.dds" } - spriteType = { name = "GFX_portrait_men_generic_80" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_80.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_80" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_80.dds" } - spriteType = { name = "GFX_portrait_men_generic_81" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_81.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_81" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_81.dds" } - spriteType = { name = "GFX_portrait_men_generic_82" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_82.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_82" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_82.dds" } - spriteType = { name = "GFX_portrait_men_generic_83" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_83.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_83" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_83.dds" } - spriteType = { name = "GFX_portrait_men_generic_84" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_84.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_84" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_84.dds" } - spriteType = { name = "GFX_portrait_men_generic_85" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_85.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_85" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_85.dds" } - spriteType = { name = "GFX_portrait_men_generic_86" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_86.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_86" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_86.dds" } - spriteType = { name = "GFX_portrait_men_generic_87" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_87.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_87" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_87.dds" } - spriteType = { name = "GFX_portrait_men_generic_88" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_88.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_88" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_88.dds" } - spriteType = { name = "GFX_portrait_men_generic_89" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_89.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_89" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_89.dds" } - spriteType = { name = "GFX_portrait_men_generic_9" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_9.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_9" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_9.dds" } - spriteType = { name = "GFX_portrait_men_generic_90" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_90.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_90" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_90.dds" } - spriteType = { name = "GFX_portrait_men_generic_91" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_91.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_91" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_91.dds" } - spriteType = { name = "GFX_portrait_men_generic_92" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_92.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_92" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_92.dds" } - spriteType = { name = "GFX_portrait_men_generic_93" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_93.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_93" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_93.dds" } - spriteType = { name = "GFX_portrait_men_generic_94" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_94.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_94" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_94.dds" } - spriteType = { name = "GFX_portrait_men_generic_95" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_95.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_95" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_95.dds" } - spriteType = { name = "GFX_portrait_men_generic_96" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_96.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_96" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_96.dds" } - spriteType = { name = "GFX_portrait_men_generic_97" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_97.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_97" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_97.dds" } - spriteType = { name = "GFX_portrait_men_generic_98" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_98.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_98" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_98.dds" } - spriteType = { name = "GFX_portrait_men_generic_99" texturefile = "gfx/leaders/0_generic_Men/Portrait_Men_Generic_99.dds" } - spriteType = { name = "GFX_idea_portrait_men_generic_99" texturefile = "gfx/leaders/0_generic_Men/small/Portrait_Men_Generic_99.dds" } -} diff --git a/interface/leaders/lotr_leaders_orcs.gfx b/interface/leaders/lotr_leaders_orcs.gfx deleted file mode 100644 index 81f91707f..000000000 --- a/interface/leaders/lotr_leaders_orcs.gfx +++ /dev/null @@ -1,165 +0,0 @@ -spriteTypes = { - # This file was auto-generated by convert_to_small.py - spriteType = { name = "GFX_portrait_orcs_generic_10" texturefile = "gfx/leaders/0_generic_Orcs/Portrait_Orcs_Generic_10.dds" } - spriteType = { name = "GFX_idea_portrait_orcs_generic_10" texturefile = "gfx/leaders/0_generic_Orcs/small/Portrait_Orcs_Generic_10.dds" } - spriteType = { name = "GFX_portrait_orcs_generic_11" texturefile = "gfx/leaders/0_generic_Orcs/Portrait_Orcs_Generic_11.dds" } - spriteType = { name = "GFX_idea_portrait_orcs_generic_11" texturefile = "gfx/leaders/0_generic_Orcs/small/Portrait_Orcs_Generic_11.dds" } - spriteType = { name = "GFX_portrait_orcs_generic_12" texturefile = "gfx/leaders/0_generic_Orcs/Portrait_Orcs_Generic_12.dds" } - spriteType = { name = "GFX_idea_portrait_orcs_generic_12" texturefile = "gfx/leaders/0_generic_Orcs/small/Portrait_Orcs_Generic_12.dds" } - spriteType = { name = "GFX_portrait_orcs_generic_13" texturefile = "gfx/leaders/0_generic_Orcs/Portrait_Orcs_Generic_13.dds" } - spriteType = { name = "GFX_idea_portrait_orcs_generic_13" texturefile = "gfx/leaders/0_generic_Orcs/small/Portrait_Orcs_Generic_13.dds" } - spriteType = { name = "GFX_portrait_orcs_generic_14" texturefile = "gfx/leaders/0_generic_Orcs/Portrait_Orcs_Generic_14.dds" } - spriteType = { name = "GFX_idea_portrait_orcs_generic_14" texturefile = "gfx/leaders/0_generic_Orcs/small/Portrait_Orcs_Generic_14.dds" } - spriteType = { name = "GFX_portrait_orcs_generic_15" texturefile = "gfx/leaders/0_generic_Orcs/Portrait_Orcs_Generic_15.dds" } - spriteType = { name = "GFX_idea_portrait_orcs_generic_15" texturefile = "gfx/leaders/0_generic_Orcs/small/Portrait_Orcs_Generic_15.dds" } - spriteType = { name = "GFX_portrait_orcs_generic_16" texturefile = "gfx/leaders/0_generic_Orcs/Portrait_Orcs_Generic_16.dds" } - spriteType = { name = "GFX_idea_portrait_orcs_generic_16" texturefile = "gfx/leaders/0_generic_Orcs/small/Portrait_Orcs_Generic_16.dds" } - spriteType = { name = "GFX_portrait_orcs_generic_17" texturefile = "gfx/leaders/0_generic_Orcs/Portrait_Orcs_Generic_17.dds" } - spriteType = { name = "GFX_idea_portrait_orcs_generic_17" texturefile = "gfx/leaders/0_generic_Orcs/small/Portrait_Orcs_Generic_17.dds" } - spriteType = { name = "GFX_portrait_orcs_generic_18" texturefile = "gfx/leaders/0_generic_Orcs/Portrait_Orcs_Generic_18.dds" } - spriteType = { name = "GFX_idea_portrait_orcs_generic_18" texturefile = "gfx/leaders/0_generic_Orcs/small/Portrait_Orcs_Generic_18.dds" } - spriteType = { name = "GFX_portrait_orcs_generic_19" texturefile = "gfx/leaders/0_generic_Orcs/Portrait_Orcs_Generic_19.dds" } - spriteType = { name = "GFX_idea_portrait_orcs_generic_19" texturefile = "gfx/leaders/0_generic_Orcs/small/Portrait_Orcs_Generic_19.dds" } - spriteType = { name = "GFX_portrait_orcs_generic_2" texturefile = "gfx/leaders/0_generic_Orcs/Portrait_Orcs_Generic_2.dds" } - spriteType = { name = "GFX_idea_portrait_orcs_generic_2" texturefile = "gfx/leaders/0_generic_Orcs/small/Portrait_Orcs_Generic_2.dds" } - spriteType = { name = "GFX_portrait_orcs_generic_20" texturefile = "gfx/leaders/0_generic_Orcs/Portrait_Orcs_Generic_20.dds" } - spriteType = { name = "GFX_idea_portrait_orcs_generic_20" texturefile = "gfx/leaders/0_generic_Orcs/small/Portrait_Orcs_Generic_20.dds" } - spriteType = { name = "GFX_portrait_orcs_generic_21" texturefile = "gfx/leaders/0_generic_Orcs/Portrait_Orcs_Generic_21.dds" } - spriteType = { name = "GFX_idea_portrait_orcs_generic_21" texturefile = "gfx/leaders/0_generic_Orcs/small/Portrait_Orcs_Generic_21.dds" } - spriteType = { name = "GFX_portrait_orcs_generic_22" texturefile = "gfx/leaders/0_generic_Orcs/Portrait_Orcs_Generic_22.dds" } - spriteType = { name = "GFX_idea_portrait_orcs_generic_22" texturefile = "gfx/leaders/0_generic_Orcs/small/Portrait_Orcs_Generic_22.dds" } - spriteType = { name = "GFX_portrait_orcs_generic_23" texturefile = "gfx/leaders/0_generic_Orcs/Portrait_Orcs_Generic_23.dds" } - spriteType = { name = "GFX_idea_portrait_orcs_generic_23" texturefile = "gfx/leaders/0_generic_Orcs/small/Portrait_Orcs_Generic_23.dds" } - spriteType = { name = "GFX_portrait_orcs_generic_24" texturefile = "gfx/leaders/0_generic_Orcs/Portrait_Orcs_Generic_24.dds" } - spriteType = { name = "GFX_idea_portrait_orcs_generic_24" texturefile = "gfx/leaders/0_generic_Orcs/small/Portrait_Orcs_Generic_24.dds" } - spriteType = { name = "GFX_portrait_orcs_generic_25" texturefile = "gfx/leaders/0_generic_Orcs/Portrait_Orcs_Generic_25.dds" } - spriteType = { name = "GFX_idea_portrait_orcs_generic_25" texturefile = "gfx/leaders/0_generic_Orcs/small/Portrait_Orcs_Generic_25.dds" } - spriteType = { name = "GFX_portrait_orcs_generic_26" texturefile = "gfx/leaders/0_generic_Orcs/Portrait_Orcs_Generic_26.dds" } - spriteType = { name = "GFX_idea_portrait_orcs_generic_26" texturefile = "gfx/leaders/0_generic_Orcs/small/Portrait_Orcs_Generic_26.dds" } - spriteType = { name = "GFX_portrait_orcs_generic_27" texturefile = "gfx/leaders/0_generic_Orcs/Portrait_Orcs_Generic_27.dds" } - spriteType = { name = "GFX_idea_portrait_orcs_generic_27" texturefile = "gfx/leaders/0_generic_Orcs/small/Portrait_Orcs_Generic_27.dds" } - spriteType = { name = "GFX_portrait_orcs_generic_28" texturefile = "gfx/leaders/0_generic_Orcs/Portrait_Orcs_Generic_28.dds" } - spriteType = { name = "GFX_idea_portrait_orcs_generic_28" texturefile = "gfx/leaders/0_generic_Orcs/small/Portrait_Orcs_Generic_28.dds" } - spriteType = { name = "GFX_portrait_orcs_generic_29" texturefile = "gfx/leaders/0_generic_Orcs/Portrait_Orcs_Generic_29.dds" } - spriteType = { name = "GFX_idea_portrait_orcs_generic_29" texturefile = "gfx/leaders/0_generic_Orcs/small/Portrait_Orcs_Generic_29.dds" } - spriteType = { name = "GFX_portrait_orcs_generic_3" texturefile = "gfx/leaders/0_generic_Orcs/Portrait_Orcs_Generic_3.dds" } - spriteType = { name = "GFX_idea_portrait_orcs_generic_3" texturefile = "gfx/leaders/0_generic_Orcs/small/Portrait_Orcs_Generic_3.dds" } - spriteType = { name = "GFX_portrait_orcs_generic_30" texturefile = "gfx/leaders/0_generic_Orcs/Portrait_Orcs_Generic_30.dds" } - spriteType = { name = "GFX_idea_portrait_orcs_generic_30" texturefile = "gfx/leaders/0_generic_Orcs/small/Portrait_Orcs_Generic_30.dds" } - spriteType = { name = "GFX_portrait_orcs_generic_31" texturefile = "gfx/leaders/0_generic_Orcs/Portrait_Orcs_Generic_31.dds" } - spriteType = { name = "GFX_idea_portrait_orcs_generic_31" texturefile = "gfx/leaders/0_generic_Orcs/small/Portrait_Orcs_Generic_31.dds" } - spriteType = { name = "GFX_portrait_orcs_generic_32" texturefile = "gfx/leaders/0_generic_Orcs/Portrait_Orcs_Generic_32.dds" } - spriteType = { name = "GFX_idea_portrait_orcs_generic_32" texturefile = "gfx/leaders/0_generic_Orcs/small/Portrait_Orcs_Generic_32.dds" } - spriteType = { name = "GFX_portrait_orcs_generic_33" texturefile = "gfx/leaders/0_generic_Orcs/Portrait_Orcs_Generic_33.dds" } - spriteType = { name = "GFX_idea_portrait_orcs_generic_33" texturefile = "gfx/leaders/0_generic_Orcs/small/Portrait_Orcs_Generic_33.dds" } - spriteType = { name = "GFX_portrait_orcs_generic_34" texturefile = "gfx/leaders/0_generic_Orcs/Portrait_Orcs_Generic_34.dds" } - spriteType = { name = "GFX_idea_portrait_orcs_generic_34" texturefile = "gfx/leaders/0_generic_Orcs/small/Portrait_Orcs_Generic_34.dds" } - spriteType = { name = "GFX_portrait_orcs_generic_35" texturefile = "gfx/leaders/0_generic_Orcs/Portrait_Orcs_Generic_35.dds" } - spriteType = { name = "GFX_idea_portrait_orcs_generic_35" texturefile = "gfx/leaders/0_generic_Orcs/small/Portrait_Orcs_Generic_35.dds" } - spriteType = { name = "GFX_portrait_orcs_generic_36" texturefile = "gfx/leaders/0_generic_Orcs/Portrait_Orcs_Generic_36.dds" } - spriteType = { name = "GFX_idea_portrait_orcs_generic_36" texturefile = "gfx/leaders/0_generic_Orcs/small/Portrait_Orcs_Generic_36.dds" } - spriteType = { name = "GFX_portrait_orcs_generic_37" texturefile = "gfx/leaders/0_generic_Orcs/Portrait_Orcs_Generic_37.dds" } - spriteType = { name = "GFX_idea_portrait_orcs_generic_37" texturefile = "gfx/leaders/0_generic_Orcs/small/Portrait_Orcs_Generic_37.dds" } - spriteType = { name = "GFX_portrait_orcs_generic_38" texturefile = "gfx/leaders/0_generic_Orcs/Portrait_Orcs_Generic_38.dds" } - spriteType = { name = "GFX_idea_portrait_orcs_generic_38" texturefile = "gfx/leaders/0_generic_Orcs/small/Portrait_Orcs_Generic_38.dds" } - spriteType = { name = "GFX_portrait_orcs_generic_39" texturefile = "gfx/leaders/0_generic_Orcs/Portrait_Orcs_Generic_39.dds" } - spriteType = { name = "GFX_idea_portrait_orcs_generic_39" texturefile = "gfx/leaders/0_generic_Orcs/small/Portrait_Orcs_Generic_39.dds" } - spriteType = { name = "GFX_portrait_orcs_generic_4" texturefile = "gfx/leaders/0_generic_Orcs/Portrait_Orcs_Generic_4.dds" } - spriteType = { name = "GFX_idea_portrait_orcs_generic_4" texturefile = "gfx/leaders/0_generic_Orcs/small/Portrait_Orcs_Generic_4.dds" } - spriteType = { name = "GFX_portrait_orcs_generic_40" texturefile = "gfx/leaders/0_generic_Orcs/Portrait_Orcs_Generic_40.dds" } - spriteType = { name = "GFX_idea_portrait_orcs_generic_40" texturefile = "gfx/leaders/0_generic_Orcs/small/Portrait_Orcs_Generic_40.dds" } - spriteType = { name = "GFX_portrait_orcs_generic_41" texturefile = "gfx/leaders/0_generic_Orcs/Portrait_Orcs_Generic_41.dds" } - spriteType = { name = "GFX_idea_portrait_orcs_generic_41" texturefile = "gfx/leaders/0_generic_Orcs/small/Portrait_Orcs_Generic_41.dds" } - spriteType = { name = "GFX_portrait_orcs_generic_42" texturefile = "gfx/leaders/0_generic_Orcs/Portrait_Orcs_Generic_42.dds" } - spriteType = { name = "GFX_idea_portrait_orcs_generic_42" texturefile = "gfx/leaders/0_generic_Orcs/small/Portrait_Orcs_Generic_42.dds" } - spriteType = { name = "GFX_portrait_orcs_generic_43" texturefile = "gfx/leaders/0_generic_Orcs/Portrait_Orcs_Generic_43.dds" } - spriteType = { name = "GFX_idea_portrait_orcs_generic_43" texturefile = "gfx/leaders/0_generic_Orcs/small/Portrait_Orcs_Generic_43.dds" } - spriteType = { name = "GFX_portrait_orcs_generic_44" texturefile = "gfx/leaders/0_generic_Orcs/Portrait_Orcs_Generic_44.dds" } - spriteType = { name = "GFX_idea_portrait_orcs_generic_44" texturefile = "gfx/leaders/0_generic_Orcs/small/Portrait_Orcs_Generic_44.dds" } - spriteType = { name = "GFX_portrait_orcs_generic_45" texturefile = "gfx/leaders/0_generic_Orcs/Portrait_Orcs_Generic_45.dds" } - spriteType = { name = "GFX_idea_portrait_orcs_generic_45" texturefile = "gfx/leaders/0_generic_Orcs/small/Portrait_Orcs_Generic_45.dds" } - spriteType = { name = "GFX_portrait_orcs_generic_46" texturefile = "gfx/leaders/0_generic_Orcs/Portrait_Orcs_Generic_46.dds" } - spriteType = { name = "GFX_idea_portrait_orcs_generic_46" texturefile = "gfx/leaders/0_generic_Orcs/small/Portrait_Orcs_Generic_46.dds" } - spriteType = { name = "GFX_portrait_orcs_generic_47" texturefile = "gfx/leaders/0_generic_Orcs/Portrait_Orcs_Generic_47.dds" } - spriteType = { name = "GFX_idea_portrait_orcs_generic_47" texturefile = "gfx/leaders/0_generic_Orcs/small/Portrait_Orcs_Generic_47.dds" } - spriteType = { name = "GFX_portrait_orcs_generic_48" texturefile = "gfx/leaders/0_generic_Orcs/Portrait_Orcs_Generic_48.dds" } - spriteType = { name = "GFX_idea_portrait_orcs_generic_48" texturefile = "gfx/leaders/0_generic_Orcs/small/Portrait_Orcs_Generic_48.dds" } - spriteType = { name = "GFX_portrait_orcs_generic_49" texturefile = "gfx/leaders/0_generic_Orcs/Portrait_Orcs_Generic_49.dds" } - spriteType = { name = "GFX_idea_portrait_orcs_generic_49" texturefile = "gfx/leaders/0_generic_Orcs/small/Portrait_Orcs_Generic_49.dds" } - spriteType = { name = "GFX_portrait_orcs_generic_5" texturefile = "gfx/leaders/0_generic_Orcs/Portrait_Orcs_Generic_5.dds" } - spriteType = { name = "GFX_idea_portrait_orcs_generic_5" texturefile = "gfx/leaders/0_generic_Orcs/small/Portrait_Orcs_Generic_5.dds" } - spriteType = { name = "GFX_portrait_orcs_generic_50" texturefile = "gfx/leaders/0_generic_Orcs/Portrait_Orcs_Generic_50.dds" } - spriteType = { name = "GFX_idea_portrait_orcs_generic_50" texturefile = "gfx/leaders/0_generic_Orcs/small/Portrait_Orcs_Generic_50.dds" } - spriteType = { name = "GFX_portrait_orcs_generic_51" texturefile = "gfx/leaders/0_generic_Orcs/Portrait_Orcs_Generic_51.dds" } - spriteType = { name = "GFX_idea_portrait_orcs_generic_51" texturefile = "gfx/leaders/0_generic_Orcs/small/Portrait_Orcs_Generic_51.dds" } - spriteType = { name = "GFX_portrait_orcs_generic_52" texturefile = "gfx/leaders/0_generic_Orcs/Portrait_Orcs_Generic_52.dds" } - spriteType = { name = "GFX_idea_portrait_orcs_generic_52" texturefile = "gfx/leaders/0_generic_Orcs/small/Portrait_Orcs_Generic_52.dds" } - spriteType = { name = "GFX_portrait_orcs_generic_53" texturefile = "gfx/leaders/0_generic_Orcs/Portrait_Orcs_Generic_53.dds" } - spriteType = { name = "GFX_idea_portrait_orcs_generic_53" texturefile = "gfx/leaders/0_generic_Orcs/small/Portrait_Orcs_Generic_53.dds" } - spriteType = { name = "GFX_portrait_orcs_generic_54" texturefile = "gfx/leaders/0_generic_Orcs/Portrait_Orcs_Generic_54.dds" } - spriteType = { name = "GFX_idea_portrait_orcs_generic_54" texturefile = "gfx/leaders/0_generic_Orcs/small/Portrait_Orcs_Generic_54.dds" } - spriteType = { name = "GFX_portrait_orcs_generic_55" texturefile = "gfx/leaders/0_generic_Orcs/Portrait_Orcs_Generic_55.dds" } - spriteType = { name = "GFX_idea_portrait_orcs_generic_55" texturefile = "gfx/leaders/0_generic_Orcs/small/Portrait_Orcs_Generic_55.dds" } - spriteType = { name = "GFX_portrait_orcs_generic_56" texturefile = "gfx/leaders/0_generic_Orcs/Portrait_Orcs_Generic_56.dds" } - spriteType = { name = "GFX_idea_portrait_orcs_generic_56" texturefile = "gfx/leaders/0_generic_Orcs/small/Portrait_Orcs_Generic_56.dds" } - spriteType = { name = "GFX_portrait_orcs_generic_57" texturefile = "gfx/leaders/0_generic_Orcs/Portrait_Orcs_Generic_57.dds" } - spriteType = { name = "GFX_idea_portrait_orcs_generic_57" texturefile = "gfx/leaders/0_generic_Orcs/small/Portrait_Orcs_Generic_57.dds" } - spriteType = { name = "GFX_portrait_orcs_generic_58" texturefile = "gfx/leaders/0_generic_Orcs/Portrait_Orcs_Generic_58.dds" } - spriteType = { name = "GFX_idea_portrait_orcs_generic_58" texturefile = "gfx/leaders/0_generic_Orcs/small/Portrait_Orcs_Generic_58.dds" } - spriteType = { name = "GFX_portrait_orcs_generic_59" texturefile = "gfx/leaders/0_generic_Orcs/Portrait_Orcs_Generic_59.dds" } - spriteType = { name = "GFX_idea_portrait_orcs_generic_59" texturefile = "gfx/leaders/0_generic_Orcs/small/Portrait_Orcs_Generic_59.dds" } - spriteType = { name = "GFX_portrait_orcs_generic_6" texturefile = "gfx/leaders/0_generic_Orcs/Portrait_Orcs_Generic_6.dds" } - spriteType = { name = "GFX_idea_portrait_orcs_generic_6" texturefile = "gfx/leaders/0_generic_Orcs/small/Portrait_Orcs_Generic_6.dds" } - spriteType = { name = "GFX_portrait_orcs_generic_60" texturefile = "gfx/leaders/0_generic_Orcs/Portrait_Orcs_Generic_60.dds" } - spriteType = { name = "GFX_idea_portrait_orcs_generic_60" texturefile = "gfx/leaders/0_generic_Orcs/small/Portrait_Orcs_Generic_60.dds" } - spriteType = { name = "GFX_portrait_orcs_generic_61" texturefile = "gfx/leaders/0_generic_Orcs/Portrait_Orcs_Generic_61.dds" } - spriteType = { name = "GFX_idea_portrait_orcs_generic_61" texturefile = "gfx/leaders/0_generic_Orcs/small/Portrait_Orcs_Generic_61.dds" } - spriteType = { name = "GFX_portrait_orcs_generic_62" texturefile = "gfx/leaders/0_generic_Orcs/Portrait_Orcs_Generic_62.dds" } - spriteType = { name = "GFX_idea_portrait_orcs_generic_62" texturefile = "gfx/leaders/0_generic_Orcs/small/Portrait_Orcs_Generic_62.dds" } - spriteType = { name = "GFX_portrait_orcs_generic_63" texturefile = "gfx/leaders/0_generic_Orcs/Portrait_Orcs_Generic_63.dds" } - spriteType = { name = "GFX_idea_portrait_orcs_generic_63" texturefile = "gfx/leaders/0_generic_Orcs/small/Portrait_Orcs_Generic_63.dds" } - spriteType = { name = "GFX_portrait_orcs_generic_64" texturefile = "gfx/leaders/0_generic_Orcs/Portrait_Orcs_Generic_64.dds" } - spriteType = { name = "GFX_idea_portrait_orcs_generic_64" texturefile = "gfx/leaders/0_generic_Orcs/small/Portrait_Orcs_Generic_64.dds" } - spriteType = { name = "GFX_portrait_orcs_generic_65" texturefile = "gfx/leaders/0_generic_Orcs/Portrait_Orcs_Generic_65.dds" } - spriteType = { name = "GFX_idea_portrait_orcs_generic_65" texturefile = "gfx/leaders/0_generic_Orcs/small/Portrait_Orcs_Generic_65.dds" } - spriteType = { name = "GFX_portrait_orcs_generic_66" texturefile = "gfx/leaders/0_generic_Orcs/Portrait_Orcs_Generic_66.dds" } - spriteType = { name = "GFX_idea_portrait_orcs_generic_66" texturefile = "gfx/leaders/0_generic_Orcs/small/Portrait_Orcs_Generic_66.dds" } - spriteType = { name = "GFX_portrait_orcs_generic_67" texturefile = "gfx/leaders/0_generic_Orcs/Portrait_Orcs_Generic_67.dds" } - spriteType = { name = "GFX_idea_portrait_orcs_generic_67" texturefile = "gfx/leaders/0_generic_Orcs/small/Portrait_Orcs_Generic_67.dds" } - spriteType = { name = "GFX_portrait_orcs_generic_68" texturefile = "gfx/leaders/0_generic_Orcs/Portrait_Orcs_Generic_68.dds" } - spriteType = { name = "GFX_idea_portrait_orcs_generic_68" texturefile = "gfx/leaders/0_generic_Orcs/small/Portrait_Orcs_Generic_68.dds" } - spriteType = { name = "GFX_portrait_orcs_generic_69" texturefile = "gfx/leaders/0_generic_Orcs/Portrait_Orcs_Generic_69.dds" } - spriteType = { name = "GFX_idea_portrait_orcs_generic_69" texturefile = "gfx/leaders/0_generic_Orcs/small/Portrait_Orcs_Generic_69.dds" } - spriteType = { name = "GFX_portrait_orcs_generic_7" texturefile = "gfx/leaders/0_generic_Orcs/Portrait_Orcs_Generic_7.dds" } - spriteType = { name = "GFX_idea_portrait_orcs_generic_7" texturefile = "gfx/leaders/0_generic_Orcs/small/Portrait_Orcs_Generic_7.dds" } - spriteType = { name = "GFX_portrait_orcs_generic_70" texturefile = "gfx/leaders/0_generic_Orcs/Portrait_Orcs_Generic_70.dds" } - spriteType = { name = "GFX_idea_portrait_orcs_generic_70" texturefile = "gfx/leaders/0_generic_Orcs/small/Portrait_Orcs_Generic_70.dds" } - spriteType = { name = "GFX_portrait_orcs_generic_71" texturefile = "gfx/leaders/0_generic_Orcs/Portrait_Orcs_Generic_71.dds" } - spriteType = { name = "GFX_idea_portrait_orcs_generic_71" texturefile = "gfx/leaders/0_generic_Orcs/small/Portrait_Orcs_Generic_71.dds" } - spriteType = { name = "GFX_portrait_orcs_generic_72" texturefile = "gfx/leaders/0_generic_Orcs/Portrait_Orcs_Generic_72.dds" } - spriteType = { name = "GFX_idea_portrait_orcs_generic_72" texturefile = "gfx/leaders/0_generic_Orcs/small/Portrait_Orcs_Generic_72.dds" } - spriteType = { name = "GFX_portrait_orcs_generic_73" texturefile = "gfx/leaders/0_generic_Orcs/Portrait_Orcs_Generic_73.dds" } - spriteType = { name = "GFX_idea_portrait_orcs_generic_73" texturefile = "gfx/leaders/0_generic_Orcs/small/Portrait_Orcs_Generic_73.dds" } - spriteType = { name = "GFX_portrait_orcs_generic_74" texturefile = "gfx/leaders/0_generic_Orcs/Portrait_Orcs_Generic_74.dds" } - spriteType = { name = "GFX_idea_portrait_orcs_generic_74" texturefile = "gfx/leaders/0_generic_Orcs/small/Portrait_Orcs_Generic_74.dds" } - spriteType = { name = "GFX_portrait_orcs_generic_75" texturefile = "gfx/leaders/0_generic_Orcs/Portrait_Orcs_Generic_75.dds" } - spriteType = { name = "GFX_idea_portrait_orcs_generic_75" texturefile = "gfx/leaders/0_generic_Orcs/small/Portrait_Orcs_Generic_75.dds" } - spriteType = { name = "GFX_portrait_orcs_generic_76" texturefile = "gfx/leaders/0_generic_Orcs/Portrait_Orcs_Generic_76.dds" } - spriteType = { name = "GFX_idea_portrait_orcs_generic_76" texturefile = "gfx/leaders/0_generic_Orcs/small/Portrait_Orcs_Generic_76.dds" } - spriteType = { name = "GFX_portrait_orcs_generic_77" texturefile = "gfx/leaders/0_generic_Orcs/Portrait_Orcs_Generic_77.dds" } - spriteType = { name = "GFX_idea_portrait_orcs_generic_77" texturefile = "gfx/leaders/0_generic_Orcs/small/Portrait_Orcs_Generic_77.dds" } - spriteType = { name = "GFX_portrait_orcs_generic_78" texturefile = "gfx/leaders/0_generic_Orcs/Portrait_Orcs_Generic_78.dds" } - spriteType = { name = "GFX_idea_portrait_orcs_generic_78" texturefile = "gfx/leaders/0_generic_Orcs/small/Portrait_Orcs_Generic_78.dds" } - spriteType = { name = "GFX_portrait_orcs_generic_79" texturefile = "gfx/leaders/0_generic_Orcs/Portrait_Orcs_Generic_79.dds" } - spriteType = { name = "GFX_idea_portrait_orcs_generic_79" texturefile = "gfx/leaders/0_generic_Orcs/small/Portrait_Orcs_Generic_79.dds" } - spriteType = { name = "GFX_portrait_orcs_generic_8" texturefile = "gfx/leaders/0_generic_Orcs/Portrait_Orcs_Generic_8.dds" } - spriteType = { name = "GFX_idea_portrait_orcs_generic_8" texturefile = "gfx/leaders/0_generic_Orcs/small/Portrait_Orcs_Generic_8.dds" } - spriteType = { name = "GFX_portrait_orcs_generic_80" texturefile = "gfx/leaders/0_generic_Orcs/Portrait_Orcs_Generic_80.dds" } - spriteType = { name = "GFX_idea_portrait_orcs_generic_80" texturefile = "gfx/leaders/0_generic_Orcs/small/Portrait_Orcs_Generic_80.dds" } - spriteType = { name = "GFX_portrait_orcs_generic_81" texturefile = "gfx/leaders/0_generic_Orcs/Portrait_Orcs_Generic_81.dds" } - spriteType = { name = "GFX_idea_portrait_orcs_generic_81" texturefile = "gfx/leaders/0_generic_Orcs/small/Portrait_Orcs_Generic_81.dds" } - spriteType = { name = "GFX_portrait_orcs_generic_82" texturefile = "gfx/leaders/0_generic_Orcs/Portrait_Orcs_Generic_82.dds" } - spriteType = { name = "GFX_idea_portrait_orcs_generic_82" texturefile = "gfx/leaders/0_generic_Orcs/small/Portrait_Orcs_Generic_82.dds" } - spriteType = { name = "GFX_portrait_orcs_generic_9" texturefile = "gfx/leaders/0_generic_Orcs/Portrait_Orcs_Generic_9.dds" } - spriteType = { name = "GFX_idea_portrait_orcs_generic_9" texturefile = "gfx/leaders/0_generic_Orcs/small/Portrait_Orcs_Generic_9.dds" } -} diff --git a/interface/lothlorien_influence_decisions.gfx b/interface/lothlorien_influence_decisions.gfx new file mode 100644 index 000000000..d960ab4b6 --- /dev/null +++ b/interface/lothlorien_influence_decisions.gfx @@ -0,0 +1,82 @@ +spriteTypes = { + + spriteType = { + name = "GFX_lothlorien_influence_bg" + texturefile = "gfx/interface/decisions/lothlorien_influence/lothlorien_influence_bg.dds" + } + + spriteType = { + name = "GFX_lothlorien_noldor_emblem" + texturefile = "gfx/interface/decisions/lothlorien_influence/noldor_emblem.dds" + } + + spriteType = { + name = "GFX_lothlorien_nandor_emblem" + texturefile = "gfx/interface/decisions/lothlorien_influence/nandor_emblem.dds" + } + + spriteType = { + name = "GFX_lothlorien_sindar_emblem" + texturefile = "gfx/interface/decisions/lothlorien_influence/sindar_emblem.dds" + } + + spriteType = { + name = "GFX_lothlorien_halfelves_emblem" + texturefile = "gfx/interface/decisions/lothlorien_influence/halfelves_emblem.dds" + } + + spriteType = { + name = "GFX_lothlorien_nonelves_emblem" + texturefile = "gfx/interface/decisions/lothlorien_influence/nonelves_emblem.dds" + } + + spriteType = { + name = "GFX_lothlorien_orcs_emblem" + texturefile = "gfx/interface/decisions/lothlorien_influence/orcs_emblem.dds" + } + + spriteType = { + name = "GFX_lothlorien_noldor_emblem_label" + texturefile = "gfx/interface/decisions/lothlorien_influence/noldor_emblem_label.dds" + } + + spriteType = { + name = "GFX_lothlorien_nandor_emblem_label" + texturefile = "gfx/interface/decisions/lothlorien_influence/nandor_emblem_label.dds" + } + + spriteType = { + name = "GFX_lothlorien_sindar_emblem_label" + texturefile = "gfx/interface/decisions/lothlorien_influence/sindar_emblem_label.dds" + } + + spriteType = { + name = "GFX_lothlorien_halfelves_emblem_label" + texturefile = "gfx/interface/decisions/lothlorien_influence/halfelves_emblem_label.dds" + } + + spriteType = { + name = "GFX_lothlorien_nonelves_emblem_label" + texturefile = "gfx/interface/decisions/lothlorien_influence/nonelves_emblem_label.dds" + } + + spriteType = { + name = "GFX_lothlorien_orcs_emblem_label" + texturefile = "gfx/interface/decisions/lothlorien_influence/orcs_emblem_label.dds" + } + + spriteType = { + name = "GFX_lth_influence_leaders_galadriel" + texturefile = "gfx/interface/decisions/lothlorien_influence/lth_influence_leaders_galadriel.dds" + } + + spriteType = { + name = "GFX_lth_influence_leaders_celeborn" + texturefile = "gfx/interface/decisions/lothlorien_influence/lth_influence_leaders_celeborn.dds" + } + + spriteType = { + name = "GFX_lth_influence_nandor_banner" + texturefile = "gfx/interface/decisions/lothlorien_influence/banner.dds" + } +} \ No newline at end of file diff --git a/interface/lothlorien_influence_decisions.gui b/interface/lothlorien_influence_decisions.gui new file mode 100644 index 000000000..8d34d86bf --- /dev/null +++ b/interface/lothlorien_influence_decisions.gui @@ -0,0 +1,328 @@ +guiTypes = { + + containerWindowType = { + name = "lothlorien_influence_container" + position = { x = 0 y = 0 } + size = { width = 500 height = 233 } + + iconType = { + name = "background" + spriteType = "GFX_lothlorien_influence_bg" + position = { x = -3 y = -19 } + Orientation = "UPPER_LEFT" + frame = 1 + scale = 1.0 + } + + + # STANDARD VIEW + + iconType = { + name = "orcs_emblem" + spriteType = "GFX_lothlorien_orcs_emblem_label" + position = { x = 3 y = 50 } + Orientation = "UPPER_LEFT" + frame = 1 + scale = 1.0 + pdx_tooltip = "lthi_orcs_tt" + } + + instantTextboxType = { + name = "orcs_title" + position = { x = -2 y = 110 } + font = "hoi_18mbs" + text = "lthi_orcs_title_and_influence" + maxWidth = 100 + maxHeight = 60 + fixedsize = yes + format = center + pdx_tooltip = "lthi_orcs_tt" + } + + iconType = { + name = "nandor_emblem" + spriteType = "GFX_lothlorien_nandor_emblem_label" + position = { x = 83 y = 50 } + Orientation = "UPPER_LEFT" + frame = 1 + scale = 1.0 + pdx_tooltip = "lthi_nandor_tt" + } + + instantTextboxType = { + name = "nandor_title" + position = { x = 78 y = 110 } + font = "hoi_18mbs" + text = "lthi_nandor_title_and_influence" + maxWidth = 100 + maxHeight = 60 + fixedsize = yes + format = center + pdx_tooltip = "lthi_nandor_tt" + } + + iconType = { + name = "noldor_emblem" + spriteType = "GFX_lothlorien_noldor_emblem_label" + position = { x = 163 y = 50 } + Orientation = "UPPER_LEFT" + frame = 1 + scale = 1.0 + pdx_tooltip = "lthi_noldor_tt" + } + + instantTextboxType = { + name = "noldor_title" + position = { x = 158 y = 110 } + font = "hoi_18mbs" + text = "lthi_noldor_title_and_influence" + maxWidth = 100 + maxHeight = 60 + fixedsize = yes + format = center + pdx_tooltip = "lthi_noldor_tt" + } + + iconType = { + name = "sindar_emblem" + spriteType = "GFX_lothlorien_sindar_emblem_label" + position = { x = 243 y = 50 } + Orientation = "UPPER_LEFT" + frame = 1 + scale = 1.0 + pdx_tooltip = "lthi_sindar_tt" + } + + instantTextboxType = { + name = "sindar_title" + position = { x = 238 y = 110 } + font = "hoi_18mbs" + text = "lthi_sindar_title_and_influence" + maxWidth = 100 + maxHeight = 60 + fixedsize = yes + format = center + pdx_tooltip = "lthi_sindar_tt" + } + + iconType = { + name = "halfelves_emblem" + spriteType = "GFX_lothlorien_halfelves_emblem_label" + position = { x = 323 y = 50 } + Orientation = "UPPER_LEFT" + frame = 1 + scale = 1.0 + pdx_tooltip = "lthi_halfelves_tt" + } + + instantTextboxType = { + name = "halfelves_title" + position = { x = 318 y = 110 } + font = "hoi_18mbs" + text = "lthi_halfelves_title_and_influence" + maxWidth = 100 + maxHeight = 60 + fixedsize = yes + format = center + pdx_tooltip = "lthi_halfelves_tt" + } + + iconType = { + name = "nonelves_emblem" + spriteType = "GFX_lothlorien_nonelves_emblem_label" + position = { x = 403 y = 50 } + Orientation = "UPPER_LEFT" + frame = 1 + scale = 1.0 + pdx_tooltip = "lthi_nonelves_tt" + } + + instantTextboxType = { + name = "nonelves_title" + position = { x = 398 y = 110 } + font = "hoi_18mbs" + text = "lthi_nonelves_title_and_influence" + maxWidth = 100 + maxHeight = 60 + fixedsize = yes + format = center + pdx_tooltip = "lthi_nonelves_tt" + } + + + + # BONUSES VIEW + + iconType = { + name = "bv_orcs_emblem" + spriteType = "GFX_lothlorien_orcs_emblem" + position = { x = 3 y = -15 } + Orientation = "UPPER_LEFT" + frame = 1 + scale = 0.5 + pdx_tooltip = "lthi_orcs_tt" + } + + instantTextboxType = { + name = "bv_orcs_influence" + position = { x = 55 y = 0 } + font = "hoi_18mbs" + text = "lthi_orcs_influence_both" + maxWidth = 100 + maxHeight = 20 + fixedsize = yes + format = left + pdx_tooltip = "lthi_orcs_tt" + } + + iconType = { + name = "bv_nandor_emblem" + spriteType = "GFX_lothlorien_nandor_emblem" + position = { x = 3 y = 25 } + Orientation = "UPPER_LEFT" + frame = 1 + scale = 0.5 + pdx_tooltip = "lthi_nandor_tt" + } + + instantTextboxType = { + name = "bv_nandor_influence" + position = { x = 55 y = 40 } + font = "hoi_18mbs" + text = "lthi_nandor_influence_both" + maxWidth = 100 + maxHeight = 20 + fixedsize = yes + format = left + pdx_tooltip = "lthi_nandor_tt" + } + + iconType = { + name = "bv_noldor_emblem" + spriteType = "GFX_lothlorien_noldor_emblem" + position = { x = 3 y = 65 } + Orientation = "UPPER_LEFT" + frame = 1 + scale = 0.5 + pdx_tooltip = "lthi_noldor_tt" + } + + instantTextboxType = { + name = "bv_noldor_influence" + position = { x = 55 y = 80 } + font = "hoi_18mbs" + text = "lthi_noldor_influence_both" + maxWidth = 100 + maxHeight = 20 + fixedsize = yes + format = left + pdx_tooltip = "lthi_noldor_tt" + } + + iconType = { + name = "bv_sindar_emblem" + spriteType = "GFX_lothlorien_sindar_emblem" + position = { x = 3 y = 105 } + Orientation = "UPPER_LEFT" + frame = 1 + scale = 0.5 + pdx_tooltip = "lthi_sindar_tt" + } + + instantTextboxType = { + name = "bv_sindar_influence" + position = { x = 55 y = 120 } + font = "hoi_18mbs" + text = "lthi_sindar_influence_both" + maxWidth = 100 + maxHeight = 20 + fixedsize = yes + format = left + pdx_tooltip = "lthi_sindar_tt" + } + + iconType = { + name = "bv_halfelves_emblem" + spriteType = "GFX_lothlorien_halfelves_emblem" + position = { x = 3 y = 145 } + Orientation = "UPPER_LEFT" + frame = 1 + scale = 0.5 + pdx_tooltip = "lthi_halfelves_tt" + } + + instantTextboxType = { + name = "bv_halfelves_influence" + position = { x = 55 y = 160 } + font = "hoi_18mbs" + text = "lthi_halfelves_influence_both" + maxWidth = 100 + maxHeight = 20 + fixedsize = yes + format = left + pdx_tooltip = "lthi_halfelves_tt" + } + + iconType = { + name = "bv_nonelves_emblem" + spriteType = "GFX_lothlorien_nonelves_emblem" + position = { x = 3 y = 185 } + Orientation = "UPPER_LEFT" + frame = 1 + scale = 0.5 + pdx_tooltip = "lthi_nonelves_tt" + } + + instantTextboxType = { + name = "bv_nonelves_influence" + position = { x = 55 y = 200 } + font = "hoi_18mbs" + text = "lthi_nonelves_influence_both" + maxWidth = 100 + maxHeight = 20 + fixedsize = yes + format = left + pdx_tooltip = "lthi_nonelves_tt" + } + + iconType = { + name = "bv_banner" + spriteType = "GFX_lth_influence_nandor_banner" + position = { x = 135 y = -20 } + Orientation = "UPPER_LEFT" + frame = 1 + scale = 1.0 + pdx_tooltip = "lthi_bonuses_tt" + } + + instantTextboxType = { + name = "bv_bonuses_list" + position = { x = 160 y = -10 } + font = "hoi_18" + text = "lthi_bonuses_list" + maxWidth = 350 + maxHeight = 500 + fixedsize = yes + format = left + alwaystransparent = yes + } + + buttonType = { + name = "view_bonuses" + position = { x = 350 y = 195 } + spriteType = "GFX_button_148x34" + clicksound = click_default + font = "merienda_13" + buttonText = "View Bonuses" + } + + buttonType = { + name = "bv_hide_bonuses" + position = { x = 350 y = 195 } + spriteType = "GFX_button_148x34" + clicksound = click_default + font = "merienda_13" + buttonText = "Hide Bonuses" + } + } +} diff --git a/interface/lothlorien_influence_focustree.gui b/interface/lothlorien_influence_focustree.gui new file mode 100644 index 000000000..97d68bd15 --- /dev/null +++ b/interface/lothlorien_influence_focustree.gui @@ -0,0 +1,143 @@ +guiTypes = { + + containerWindowType = { + name = "lothlorien_influence_focustree_container" + position = { x = -50 y = -3 } + size = { width = 500 height = 80 } + + + # STANDARD VIEW + + iconType = { + name = "ft_orcs_emblem" + spriteType = "GFX_lothlorien_orcs_emblem_label" + position = { x = 3 y = 0 } + Orientation = "UPPER_LEFT" + frame = 1 + scale = 0.5 + pdx_tooltip = "lthi_orcs_tt" + } + + instantTextboxType = { + name = "ft_orcs_title" + position = { x = -23 y = 30 } + font = "hoi_18mbs" + text = "lthi_orcs_influence" + maxWidth = 100 + maxHeight = 60 + fixedsize = yes + format = center + pdx_tooltip = "lthi_orcs_tt" + } + + iconType = { + name = "ft_nandor_emblem" + spriteType = "GFX_lothlorien_nandor_emblem_label" + position = { x = 53 y = 0 } + Orientation = "UPPER_LEFT" + frame = 1 + scale = 0.5 + pdx_tooltip = "lthi_nandor_tt" + } + + instantTextboxType = { + name = "ft_nandor_title" + position = { x = 27 y = 30 } + font = "hoi_18mbs" + text = "lthi_nandor_influence" + maxWidth = 100 + maxHeight = 60 + fixedsize = yes + format = center + pdx_tooltip = "lthi_nandor_tt" + } + + iconType = { + name = "ft_noldor_emblem" + spriteType = "GFX_lothlorien_noldor_emblem_label" + position = { x = 103 y = 0 } + Orientation = "UPPER_LEFT" + frame = 1 + scale = 0.5 + pdx_tooltip = "lthi_noldor_tt" + } + + instantTextboxType = { + name = "ft_noldor_title" + position = { x = 77 y = 30 } + font = "hoi_18mbs" + text = "lthi_noldor_influence" + maxWidth = 100 + maxHeight = 60 + fixedsize = yes + format = center + pdx_tooltip = "lthi_noldor_tt" + } + + iconType = { + name = "ft_sindar_emblem" + spriteType = "GFX_lothlorien_sindar_emblem_label" + position = { x = 153 y = 0 } + Orientation = "UPPER_LEFT" + frame = 1 + scale = 0.5 + pdx_tooltip = "lthi_sindar_tt" + } + + instantTextboxType = { + name = "ft_sindar_title" + position = { x = 127 y = 30 } + font = "hoi_18mbs" + text = "lthi_sindar_influence" + maxWidth = 100 + maxHeight = 60 + fixedsize = yes + format = center + pdx_tooltip = "lthi_sindar_tt" + } + + iconType = { + name = "ft_halfelves_emblem" + spriteType = "GFX_lothlorien_halfelves_emblem_label" + position = { x = 203 y = 0 } + Orientation = "UPPER_LEFT" + frame = 1 + scale = 0.5 + pdx_tooltip = "lthi_halfelves_tt" + } + + instantTextboxType = { + name = "ft_halfelves_title" + position = { x = 177 y = 30 } + font = "hoi_18mbs" + text = "lthi_halfelves_influence" + maxWidth = 100 + maxHeight = 60 + fixedsize = yes + format = center + pdx_tooltip = "lthi_halfelves_tt" + } + + iconType = { + name = "ft_nonelves_emblem" + spriteType = "GFX_lothlorien_nonelves_emblem_label" + position = { x = 253 y = 0 } + Orientation = "UPPER_LEFT" + frame = 1 + scale = 0.5 + pdx_tooltip = "lthi_nonelves_tt" + } + + instantTextboxType = { + name = "ft_nonelves_title" + position = { x = 227 y = 30 } + font = "hoi_18mbs" + text = "lthi_nonelves_influence" + maxWidth = 100 + maxHeight = 60 + fixedsize = yes + format = center + pdx_tooltip = "lthi_nonelves_tt" + } + } +} diff --git a/interface/lotr_fellowship_imgs.gfx b/interface/lotr_fellowship_imgs.gfx index feb2ae673..fb76f0f86 100644 --- a/interface/lotr_fellowship_imgs.gfx +++ b/interface/lotr_fellowship_imgs.gfx @@ -15,12 +15,17 @@ spriteTypes = { spriteType = { name = "GFX_fs_member_Boromir" textureFile = "gfx/leaders/GON/small/Portrait_Gondor_Boromir_Fellowhsip.dds" } spriteType = { name = "GFX_fs_member_Faramir" textureFile = "gfx/leaders/GON/small/Portrait_Gondor_Faramir_Fellowhsip.dds" } spriteType = { name = "GFX_fs_member_Haldir" textureFile = "gfx/leaders/LTH/small/Portrait_Lothlorien_Haldir_Fellowship.dds" } + spriteType = { name = "GFX_fs_member_Orophin" textureFile = "gfx/leaders/LTH/small/Portrait_Lothlorien_Orophin.dds" } + spriteType = { name = "GFX_fs_member_Rúmil" textureFile = "gfx/leaders/LTH/small/Portrait_Lothlorien_Rumil.dds" } + spriteType = { name = "GFX_fs_member_Tarborn" textureFile = "gfx/leaders/LTH/small/Portrait_Lothlorien_Tarborn.dds" } + spriteType = { name = "GFX_fs_member_Lethsael" textureFile = "gfx/leaders/LTH/small/Portrait_Lothlorien_Lethsael.dds" } spriteType = { name = "GFX_fs_member_Ori" textureFile = "gfx/leaders/MOA/small/Portrait_Moria_Ori.dds" } spriteType = { name = "GFX_fs_member_Oin" textureFile = "gfx/leaders/MOA/small/Portrait_Moria_Oin.dds" } spriteType = { name = "GFX_fs_member_0" textureFile = "gfx/leaders/0_generic_Other/small/Portrait_Other_Generic_0.dds" } spriteType = { name = "GFX_fs_map_overlay_message" textureFile = "gfx/interface/fs_maps/misc/fs_map_overlay_message.dds" } + spriteType = { name = "GFX_ring_corruption_bg" textureFile = "gfx/interface/fs_maps/misc/ring_corruption_bg.dds" } # ALL THE MAPS spriteType = { name = "GFX_fs_map_0_1" textureFile = "gfx/interface/fs_maps/fs_map_0_1.dds" } diff --git a/interface/lotr_fonts.gfx b/interface/lotr_fonts.gfx index 0e9feb045..922234572 100644 --- a/interface/lotr_fonts.gfx +++ b/interface/lotr_fonts.gfx @@ -11,6 +11,14 @@ bitmapfonts = { } } + bitmapfont_override = { + name = "merienda_10" + fontfiles = { + "gfx/fonts/neucha_10" + } + languages = { "l_russian" "l_polish" } + } + bitmapfont = { name = "merienda_13" fontfiles = { @@ -23,6 +31,14 @@ bitmapfonts = { } } + bitmapfont_override = { + name = "merienda_13" + fontfiles = { + "gfx/fonts/neucha_13" + } + languages = { "l_russian" "l_polish" } + } + bitmapfont = { name = "merienda_16" fontfiles = { @@ -35,6 +51,14 @@ bitmapfonts = { } } + bitmapfont_override = { + name = "merienda_16" + fontfiles = { + "gfx/fonts/neucha_16" + } + languages = { "l_russian" "l_polish" } + } + bitmapfont = { name = "merienda_21" fontfiles = { @@ -46,4 +70,108 @@ bitmapfonts = { G = { 86 172 91 } } } + + bitmapfont_override = { + name = "merienda_21" + fontfiles = { + "gfx/fonts/neucha_21" + } + languages = { "l_russian" "l_polish" } + } + + bitmapfont = { + name = "merienda_10_black" + fontfiles = { + "gfx/fonts/merienda_10" + } + color = 0xdd111111 + + textcolors = { + G = { 86 172 91 } + } + } + + bitmapfont = { + name = "merienda_13_black" + fontfiles = { + "gfx/fonts/merienda_13" + } + color = 0xdd111111 + + textcolors = { + G = { 86 172 91 } + } + } + + bitmapfont = { + name = "merienda_16_black" + fontfiles = { + "gfx/fonts/merienda_16" + } + color = 0xdd111111 + + textcolors = { + G = { 86 172 91 } + } + } + + bitmapfont = { + name = "merienda_21_black" + fontfiles = { + "gfx/fonts/merienda_21" + } + color = 0xdd111111 + + textcolors = { + G = { 86 172 91 } + } + } + + bitmapfont = { + name = "merienda_10_white" + fontfiles = { + "gfx/fonts/merienda_10" + } + color = 0xddeeeeee + + textcolors = { + G = { 86 172 91 } + } + } + + bitmapfont = { + name = "merienda_13_white" + fontfiles = { + "gfx/fonts/merienda_13" + } + color = 0xddeeeeee + + textcolors = { + G = { 86 172 91 } + } + } + + bitmapfont = { + name = "merienda_16_white" + fontfiles = { + "gfx/fonts/merienda_16" + } + color = 0xddeeeeee + + textcolors = { + G = { 86 172 91 } + } + } + + bitmapfont = { + name = "merienda_21_white" + fontfiles = { + "gfx/fonts/merienda_21" + } + color = 0xddeeeeee + + textcolors = { + G = { 86 172 91 } + } + } } diff --git a/interface/lotr_ithilien_crisis_decisions.gfx b/interface/lotr_ithilien_crisis_decisions.gfx new file mode 100644 index 000000000..d1e19ffe2 --- /dev/null +++ b/interface/lotr_ithilien_crisis_decisions.gfx @@ -0,0 +1,134 @@ +spriteTypes = { + + spriteType = { + name = "GFX_ithc_map_base" + texturefile = "gfx/interface/decisions/ithilien_crisis/ithc_map_base.dds" + } + + spriteType = { + name = "GFX_ithc_map_1_cont" + texturefile = "gfx/interface/decisions/ithilien_crisis/ithc_map_1_cont.dds" + } + + spriteType = { + name = "GFX_ithc_map_2_cont" + texturefile = "gfx/interface/decisions/ithilien_crisis/ithc_map_2_cont.dds" + } + + spriteType = { + name = "GFX_ithc_map_3_cont" + texturefile = "gfx/interface/decisions/ithilien_crisis/ithc_map_3_cont.dds" + } + + spriteType = { + name = "GFX_ithc_map_4_cont" + texturefile = "gfx/interface/decisions/ithilien_crisis/ithc_map_4_cont.dds" + } + + spriteType = { + name = "GFX_ithc_map_1_gon" + texturefile = "gfx/interface/decisions/ithilien_crisis/ithc_map_1_gon.dds" + } + + spriteType = { + name = "GFX_ithc_map_2_gon" + texturefile = "gfx/interface/decisions/ithilien_crisis/ithc_map_2_gon.dds" + } + + spriteType = { + name = "GFX_ithc_map_3_gon" + texturefile = "gfx/interface/decisions/ithilien_crisis/ithc_map_3_gon.dds" + } + + spriteType = { + name = "GFX_ithc_map_4_gon" + texturefile = "gfx/interface/decisions/ithilien_crisis/ithc_map_4_gon.dds" + } + + spriteType = { + name = "GFX_ithc_map_1_mor" + texturefile = "gfx/interface/decisions/ithilien_crisis/ithc_map_1_mor.dds" + } + + spriteType = { + name = "GFX_ithc_map_2_mor" + texturefile = "gfx/interface/decisions/ithilien_crisis/ithc_map_2_mor.dds" + } + + spriteType = { + name = "GFX_ithc_map_3_mor" + texturefile = "gfx/interface/decisions/ithilien_crisis/ithc_map_3_mor.dds" + } + + spriteType = { + name = "GFX_ithc_map_4_mor" + texturefile = "gfx/interface/decisions/ithilien_crisis/ithc_map_4_mor.dds" + } + + spriteType = { + name = "GFX_ithc_pillage_hp_bar_0" + texturefile = "gfx/interface/decisions/ithilien_crisis/ithc_pillage_hp_bar_0.dds" + } + + spriteType = { + name = "GFX_ithc_pillage_hp_bar_1" + texturefile = "gfx/interface/decisions/ithilien_crisis/ithc_pillage_hp_bar_1.dds" + } + + spriteType = { + name = "GFX_ithc_pillage_hp_bar_2" + texturefile = "gfx/interface/decisions/ithilien_crisis/ithc_pillage_hp_bar_2.dds" + } + + spriteType = { + name = "GFX_ithc_pillage_hp_bar_3" + texturefile = "gfx/interface/decisions/ithilien_crisis/ithc_pillage_hp_bar_3.dds" + } + + + spriteType = { + name = "GFX_decision_pillage_0" + texturefile = "gfx/interface/decisions/ithilien_crisis/decision_orcs_5_0.dds" + } + + spriteType = { + name = "GFX_decision_pillage_1" + texturefile = "gfx/interface/decisions/ithilien_crisis/decision_orcs_5_1.dds" + } + + spriteType = { + name = "GFX_decision_pillage_2" + texturefile = "gfx/interface/decisions/ithilien_crisis/decision_orcs_5_2.dds" + } + + spriteType = { + name = "GFX_decision_pillage_3" + texturefile = "gfx/interface/decisions/ithilien_crisis/decision_orcs_5_3.dds" + } + + spriteType = { + name = "GFX_decision_unpillage_0" + texturefile = "gfx/interface/decisions/ithilien_crisis/decision_knights_0.dds" + } + + spriteType = { + name = "GFX_decision_unpillage_1" + texturefile = "gfx/interface/decisions/ithilien_crisis/decision_knights_1.dds" + } + + spriteType = { + name = "GFX_decision_unpillage_2" + texturefile = "gfx/interface/decisions/ithilien_crisis/decision_knights_2.dds" + } + + spriteType = { + name = "GFX_decision_unpillage_3" + texturefile = "gfx/interface/decisions/ithilien_crisis/decision_knights_3.dds" + } + + + spriteType = { + name = "GFX_ithc_pillage_hp_bar_warning" + texturefile = "gfx/interface/decisions/ithilien_crisis/ithc_hp_bar_under_attack.dds" + } +} \ No newline at end of file diff --git a/interface/lotr_ithilien_crisis_decisions.gui b/interface/lotr_ithilien_crisis_decisions.gui new file mode 100644 index 000000000..7324b6be7 --- /dev/null +++ b/interface/lotr_ithilien_crisis_decisions.gui @@ -0,0 +1,97 @@ +guiTypes = { + + containerWindowType = { + name = "ithilien_crisis_decisions_container" + position = { x = 0 y = 0 } + size = { width = 100 height = 300 } + + iconType = { + name = "base_map" + spriteType = "GFX_ithc_map_base" + position = { x = -3 y = -19 } + Orientation = "UPPER_LEFT" + frame = 1 + scale = 1.0 + } + + buttonType = { + name = "state_1" + position = { x = 107 y = 7 } + spriteType = "GFX_ithc_map_1_gon" + pdx_tooltip = "ithc_state_1_tt" + clicksound = click_default + font = "merienda_13" + Orientation = "UPPER_RIGHT" + } + + buttonType = { + name = "state_2" + position = { x = 137 y = 42 } + spriteType = "GFX_ithc_map_2_gon" + pdx_tooltip = "ithc_state_2_tt" + clicksound = click_default + font = "merienda_13" + Orientation = "UPPER_RIGHT" + } + + buttonType = { + name = "state_3" + position = { x = 140 y = 95 } + spriteType = "GFX_ithc_map_3_gon" + pdx_tooltip = "ithc_state_3_tt" + clicksound = click_default + font = "merienda_13" + Orientation = "UPPER_RIGHT" + } + + buttonType = { + name = "state_4" + position = { x = 100 y = 177 } + spriteType = "GFX_ithc_map_4_gon" + pdx_tooltip = "ithc_state_4_tt" + clicksound = click_default + font = "merienda_13" + Orientation = "UPPER_RIGHT" + } + + iconType = { + name = "state_1_pillage_hp" + spriteType = "GFX_ithc_pillage_hp_bar_0" + position = { x = 215 y = 65 } + Orientation = "UPPER_LEFT" + frame = 1 + scale = 1.0 + alwaystransparent = yes + } + + iconType = { + name = "state_2_pillage_hp" + spriteType = "GFX_ithc_pillage_hp_bar_0" + position = { x = 235 y = 102 } + Orientation = "UPPER_LEFT" + frame = 1 + scale = 1.0 + alwaystransparent = yes + } + + iconType = { + name = "state_3_pillage_hp" + spriteType = "GFX_ithc_pillage_hp_bar_0" + position = { x = 257 y = 155 } + Orientation = "UPPER_LEFT" + frame = 1 + scale = 1.0 + alwaystransparent = yes + } + + iconType = { + name = "state_4_pillage_hp" + spriteType = "GFX_ithc_pillage_hp_bar_0" + position = { x = 241 y = 235 } + Orientation = "UPPER_LEFT" + frame = 1 + scale = 1.0 + alwaystransparent = yes + } + } +} diff --git a/interface/lotr_lth_mirror_decisions.gui b/interface/lotr_lth_mirror_decisions.gui new file mode 100644 index 000000000..d73de8035 --- /dev/null +++ b/interface/lotr_lth_mirror_decisions.gui @@ -0,0 +1,17 @@ +guiTypes = { + + containerWindowType = { + name = "lth_mirror_decisions_container" + position = { x = 0 y = 0 } + size = { width = 100 height = 55 } + + iconType = { + name = "bg" + spriteType = "GFX_mirror_bg" + position = { x = 0 y = -15 } + Orientation = "UPPER_LEFT" + frame = 1 + scale = 1.0 + } + } +} diff --git a/interface/lotr_misc.gfx b/interface/lotr_misc.gfx new file mode 100644 index 000000000..e015a9ffd --- /dev/null +++ b/interface/lotr_misc.gfx @@ -0,0 +1,15 @@ +spriteTypes = { + + # LOTR stuff + + spriteType = { + name = "GFX_mirror_bg" + textureFile = "gfx/interface/decisions/lth_mirror/mirror_bg.dds" + } + + spriteType = { + name = "GFX_autonomy_fiefdom_icon" + textureFile = "gfx/interface/autonomy/autonomy_fiefdom.dds" + } + +} diff --git a/interface/lotr_ring_corruption_decisions.gui b/interface/lotr_ring_corruption_decisions.gui new file mode 100644 index 000000000..bbd267846 --- /dev/null +++ b/interface/lotr_ring_corruption_decisions.gui @@ -0,0 +1,65 @@ +guiTypes = { + + containerWindowType = { + name = "ring_corruption_decisions_container" + position = { x = 0 y = 0 } + size = { width = 100 height = 60 } + + iconType = { + name = "bg" + spriteType = "GFX_ring_corruption_bg" + position = { x = 0 y = -15 } + Orientation = "UPPER_LEFT" + frame = 1 + scale = 1.0 + } + + containerWindowType = { + name = "overlay_message" + position = { x = 0 y = -55 } + size = { width = 100 height = 340 } + + #iconType = { + # name = "overlay_message_bg" + # spriteType = "GFX_fs_map_overlay_message" + # position = { x = 0 y = 0 } + # Orientation = "UPPER_LEFT" + # frame = 1 + # scale = 1.0 + #} + + instantTextboxType = { + name = "overlay_message_text" + position = { x = 0 y = 40 } + font = "merienda_16" + text = "[GetFSOverlayMessage]" + maxWidth = 500 + maxHeight = 100 + fixedsize = yes + format = center + alwaystransparent = yes + } + + instantTextboxType = { + name = "overlay_message_text_corruption" + position = { x = 0 y = 90 } + font = "merienda_16" + text = "ring_corruption_status" + maxWidth = 500 + maxHeight = 40 + fixedsize = yes + format = center + pdx_tooltip = "ring_corruption_tt" + } + } + + buttonType = { + name = "details_button" + position = { x = 350 y = 25 } + spriteType = "GFX_button_148x34" + clicksound = click_default + font = "merienda_13" + buttonText = "View Details" + } + } +} diff --git a/interface/lotr_ring_decisions.gfx b/interface/lotr_ring_decisions.gfx index fba313074..9d3edaffa 100644 --- a/interface/lotr_ring_decisions.gfx +++ b/interface/lotr_ring_decisions.gfx @@ -41,11 +41,11 @@ spriteTypes = { spriteType = { name = "GFX_idea_one_ring" - texturefile = "gfx/interface/ideas/one_ring.dds" + texturefile = "gfx/interface/ideas/national_spirits/one_ring.dds" } spriteType = { name = "GFX_idea_sauron_eye" - texturefile = "gfx/interface/ideas/sauron_eye.dds" + texturefile = "gfx/interface/ideas/national_spirits/sauron_eye.dds" } } \ No newline at end of file diff --git a/interface/lotr_ring_details_view.gui b/interface/lotr_ring_details_view.gui index b1cdc82b3..3e6dc9363 100644 --- a/interface/lotr_ring_details_view.gui +++ b/interface/lotr_ring_details_view.gui @@ -28,7 +28,7 @@ guiTypes = { instantTextboxType = { name = "switch" position = { x = 0 y = 26 } - font = "hoi_28b" + font = "hoi_20b" text = "Details on the current status of the Fellowship" maxWidth = 1000 maxHeight = 20 @@ -758,7 +758,7 @@ guiTypes = { name = "close" position = { x = -50 y = 5 } quadTextureSprite ="GFX_closebutton" - buttonFont = "Main_24_black" + buttonFont = "merienda_16" shortcut = "ESCAPE" Orientation = "UPPER_RIGHT" clicksound = click_close @@ -769,7 +769,7 @@ guiTypes = { name = "help" position = { x = -100 y = 5 } quadTextureSprite ="GFX_helpbutton" - buttonFont = "Main_24_black" + buttonFont = "merienda_16" Orientation = "UPPER_RIGHT" clicksound = click_close pdx_tooltip = "CLOSE" diff --git a/interface/lotr_ring_interception_form.gui b/interface/lotr_ring_interception_form.gui index 671458613..2384eb55c 100644 --- a/interface/lotr_ring_interception_form.gui +++ b/interface/lotr_ring_interception_form.gui @@ -28,7 +28,7 @@ guiTypes = { instantTextboxType = { name = "switch" position = { x = 0 y = 26 } - font = "hoi_28b" + font = "hoi_20b" text = "Launch Interception Attempt" maxWidth = 755 maxHeight = 20 @@ -512,7 +512,7 @@ guiTypes = { name = "close" position = { x = -50 y = 5 } quadTextureSprite ="GFX_closebutton" - buttonFont = "Main_24_black" + buttonFont = "merienda_16" shortcut = "ESCAPE" pdx_tooltip = "abort_intercept_tt" Orientation = "UPPER_RIGHT" @@ -523,7 +523,7 @@ guiTypes = { name = "help" position = { x = -100 y = 5 } quadTextureSprite ="GFX_helpbutton" - buttonFont = "Main_24_black" + buttonFont = "merienda_16" Orientation = "UPPER_RIGHT" clicksound = click_close } diff --git a/interface/lotr_tech_infantry.gfx b/interface/lotr_tech_infantry.gfx index c755cff17..2bd433ff9 100644 --- a/interface/lotr_tech_infantry.gfx +++ b/interface/lotr_tech_infantry.gfx @@ -1112,17 +1112,17 @@ spriteTypes = { SpriteType = { name = "GFX_paratroopers3_medium" - texturefile = "gfx/interface/technologies/paratroopers3.dds" + texturefile = "gfx/interface/technologies/infantry_equipment_small/heavy_infantry_3.dds" } SpriteType = { name = "GFX_paratroopers2_medium" - texturefile = "gfx/interface/technologies/paratroopers2.dds" + texturefile = "gfx/interface/technologies/infantry_equipment_small/heavy_infantry_2.dds" } SpriteType = { name = "GFX_paratroopers_medium" - texturefile = "gfx/interface/technologies/paratroopers.dds" + texturefile = "gfx/interface/technologies/infantry_equipment_small/heavy_infantry_1.dds" } SpriteType = { diff --git a/interface/lotr_technologies.gfx b/interface/lotr_technologies.gfx index 86b81a379..0d5540914 100644 --- a/interface/lotr_technologies.gfx +++ b/interface/lotr_technologies.gfx @@ -466,12 +466,12 @@ spriteTypes = { } SpriteType = { - name = "GFX_rangers_medium" + name = "GFX_rangers_units_medium" texturefile = "gfx/interface/technologies/infantry_equipment_small/forest_ranger.dds" } SpriteType = { - name = "GFX_rangers2_medium" + name = "GFX_rangers2_units_medium" texturefile = "gfx/interface/technologies/infantry_equipment_small/forest_ranger2.dds" } diff --git a/interface/mapicons.gui b/interface/mapicons.gui new file mode 100644 index 000000000..d36bd77f7 --- /dev/null +++ b/interface/mapicons.gui @@ -0,0 +1,2619 @@ +guiTypes = { + + # Top level window for all map icons + containerWindowType = { + name = "mapicons_container" + position = { x=0 y=0 } + size = { width=100%% height=100%% } + } + + # Offset for unit counters when zoomed in, only y value used for now + positionType = { + name = "unit_counter_zoomed_in_offset" + position = { x = 0 y = 20 } + } + + + containerWindowType = { + name = "unit_counter" + position = { x=0 y=0 } + size = { width = 76 height = 24 } + clipping = no + + buttonType = { + name = "count_bg" + quadTextureSprite = "GFX_onmap_unit_counter" + position = { x=0 y=0 } + } + + iconType ={ + name ="group_marker" + spriteType = "GFX_UV_group_marker" + position = { x=55 y=2 } + alwaystransparent = yes + } + + iconType = { + name = "counter_ideology" + spriteType = "GFX_onmap_unit_counter_ideology" + position = { x=37 y=0 } + alwaystransparent = yes + } + + iconType = { + name = "counter_overlay" + spriteType = "GFX_onmap_unit_counter_overlay" + position = { x=3 y=3 } + alwaystransparent = yes + } + + iconType = { + name = "count_selected" + spriteType = "GFX_onmap_unit_counter_selected" + position = { x=0 y=0 } + alwaystransparent = yes + } + + iconType = { + name = "active_ability" + spriteType = "GFX_onmap_unit_counter_active_ability" + position = { x=32 y=-11 } + alwaystransparent = no + orientation = center + scale = 0.8 + } + + iconType ={ + name ="type" + spriteType = "GFX_tiled_window_transparent" + position = { x=3 y=3 } + alwaystransparent = yes + } + + instantTextboxType = { + name = "count_txt" + position = { x=36 y=6 } + font = "Main_14" + maxWidth = 20 + maxHeight = 14 + format = center + alwaystransparent = yes + } + iconType = { + name = "bar_org" + spriteType = "GFX_mapicon_unit_bar_org" + position = { x=14 y=8 } + alwaystransparent = yes + rotation = 1.5708 + } + iconType = { + name = "bar_str" + spriteType = "GFX_mapicon_unit_bar_str" + position = { x=14 y=12 } + alwaystransparent = yes + rotation = 1.5708 + } + + iconType = { + name = "flag" + spriteType = "GFX_mapicon_unit_flag_stripe" + position = { x=5 y=15 } + Orientation = "UPPER_LEFT" + alwaystransparent = yes + } + + iconType = { + name = "large_flag" + spriteType = "GFX_mapicon_unit_large_flag_stripe" + position = { x = 4 y = 5 } + alwaystransparent = yes + scale = 0.69 + } + + iconType = { + name = "attrition" + spriteType = "GFX_unit_attrition" + position = { x=-4 y=-1 } + } + + iconType = { + name = "no_orders" + spriteType = "GFX_mapicon_unit_no_orders" + position = { x=-10 y=8 } + } + + iconType = { + name = "defending_area" + spriteType = "GFX_mapicon_unit_area_defense" + position = { x=-13 y=6 } + } + + iconType = { + name = "invalid_orders" + spriteType = "GFX_mapicon_unit_invalid_orders" + position = { x=-10 y=8 } + } + + iconType = { + name = "low_supply" + spriteType = "GFX_unitcounter_supply_status_strip" + position = { x=24 y=-4 } + alwaystransparent = yes + scale = 0.75 + } + + iconType ={ + name ="onmap_digin_icon" + spriteType = "GFX_onmap_digin_icon" + position = { x=56 y=8 } + } + + iconType ={ + name ="onmap_training_icon" + spriteType = "GFX_onmap_training_icon" + position = { x=54 y=8 } + } + + iconType ={ + name ="onmap_action_icon" + spriteType = "GFX_onmap_action_icon" + position = { x=54 y=7 } + } + } + + containerWindowType = { + name = "unit_counter_navy" + position = { x=0 y=0 } + size = { width = 66 height = 33 } + clipping = no + + buttonType = { + name = "count_bg" + quadTextureSprite = "GFX_onmap_naval_unit_counter" + position = { x=0 y=0 } + frame = 1 + } + + iconType ={ + name ="group_marker" + spriteType = "GFX_group_marker_rhs_9x32" + position = { x=63 y=2 } + alwaystransparent = yes + } + + iconType = { + name = "counter_ideology" + spriteType = "GFX_onmap_unit_counter_ideology" + position = { x=45 y=9 } + alwaystransparent = yes + } + + iconType = { + name = "counter_overlay" + spriteType = "GFX_onmap_unit_counter_overlay_navy" + position = { x=3 y=3 } + alwaystransparent = yes + } + + iconType = { + name = "count_selected" + spriteType = "GFX_onmap_mission_unit_counter_selected" + position = { x=0 y=0 } + alwaystransparent = yes + } + + iconType = { + name ="type" + spriteType = "GFX_tiled_window_transparent" + position = { x=3 y=3 } + alwaystransparent = yes + } + + iconType = { + name = "capital_ship" + spriteType = "GFX_capital_ship_icon" + position = { x=59 y=7 } + alwaystransparent = yes + } + + instantTextboxType = { + name = "capital_count_txt" + position = { x=32 y=3 } + font = "Main_14" + maxWidth = 34 + maxHeight = 14 + format = center + alwaystransparent = yes + text = "99-99" + } + + instantTextboxType = { + name = "count_txt" + position = { x=32 y=18 } + font = "Main_14" + maxWidth = 34 + maxHeight = 14 + format = center + alwaystransparent = yes + text = "99-99" + } + + iconType = { + name = "mission_type" + spriteType = "GFX_onmap_mission_unit_counter_types" + position = { x=63 y=5 } + frame = 1 + } + + containerWindowType = { + name = "spotting_bar_container" + position = { x=65 y=3 } + + iconType = { + name ="spotting_bar_bg" + spriteType = "GFX_spotting_bar_bg" + position = { x=0 y=0 } + Orientation = "UPPER_LEFT" + } + + containerWindowType = { + name = "spotting_bar_fg_container" + position = { x=1 y=1 } + size = { width = 4 height = 27 } #size of bar fg + clipping = yes + + iconType = { + name ="spotting_bar_fg" + spriteType = "GFX_spotting_bar" + position = { x= 0 y = 0 } + Orientation = "UPPER_LEFT" + } + } + } + + iconType = { + name = "bar_org" + spriteType = "GFX_mapicon_unit_bar_org" + position = { x=13 y=15 } + alwaystransparent = yes + rotation = 1.5708 + } + iconType = { + name = "bar_str" + spriteType = "GFX_mapicon_unit_bar_str" + position = { x=13 y=19 } + alwaystransparent = yes + rotation = 1.5708 + } + + iconType = { + name = "flag" + spriteType = "GFX_mapicon_unit_flag_stripe" + position = { x=4 y=22 } + Orientation = "UPPER_LEFT" + alwaystransparent = yes + } + + iconType = { + name = "large_flag" + spriteType = "GFX_mapicon_unit_large_flag_stripe" + position = { x = 4 y = 10 } + alwaystransparent = yes + scale = 0.69 + } + + iconType = { + name = "low_supply" + spriteType = "GFX_unitcounter_supply_status_strip" + position = { x=24 y=-4 } + alwaystransparent = yes + scale = 0.75 + } + + iconType ={ + name ="pride_of_the_fleet_icon" + spriteType = "GFX_NV_icon_pride_small" + position = { x=24 y=10 } + #scale = 0.55 + alwaystransparent = yes + } + + buttonType ={ + name ="air_base_icon" + quadTextureSprite = "GFX_mapicon_air_base" + position = { x=-16 y=3 } + } + + gridboxtype = { + name = "wings_box" + position = { x = -36 y = 30 } + max_slots_horizontal = 1 + size = { width = 100%% height = 100%% } + slotsize = { width = 58 height = 23 } + format = "UPPER_LEFT" + } + + iconType = { + name = "invalid_orders" + spriteType = "GFX_mapicon_unit_invalid_orders" + position = { x=-8 y=-3 } + } + + iconType = { + name = "no_orders" + spriteType = "GFX_mapicon_unit_no_orders" + position = { x=-8 y=-3 } + } + + } + + containerWindowType = { + name = "unit_counter_railway_gun" + position = { x=0 y=0 } + size = { width = 58 height = 24 } + clipping = no + + buttonType = { + name = "count_bg" + quadTextureSprite = "GFX_onmap_unit_counter" + position = { x=0 y=0 } + } + + iconType ={ + name ="group_marker" + spriteType = "GFX_UV_group_marker" + position = { x=55 y=2 } + alwaystransparent = yes + } + + iconType = { + name = "counter_ideology" + spriteType = "GFX_onmap_unit_counter_ideology" + position = { x=37 y=0 } + alwaystransparent = yes + } + + iconType = { + name = "counter_overlay" + spriteType = "GFX_onmap_unit_counter_overlay" + position = { x=3 y=3 } + alwaystransparent = yes + } + + iconType = { + name = "no_orders" + spriteType = "GFX_mapicon_unit_no_orders" + position = { x=-10 y=8 } + } + + iconType = { + name = "count_selected" + spriteType = "GFX_onmap_unit_counter_selected" + position = { x=0 y=0 } + alwaystransparent = yes + } + + iconType ={ + name ="type" + spriteType = "GFX_tiled_window_transparent" + position = { x=3 y=3 } + alwaystransparent = yes + } + + instantTextboxType = { + name = "count_txt" + position = { x=36 y=6 } + font = "Main_14" + maxWidth = 20 + maxHeight = 14 + format = center + alwaystransparent = yes + } + iconType = { + name = "bar_str" + spriteType = "GFX_mapicon_unit_bar_str" + position = { x=14 y=12 } + alwaystransparent = yes + rotation = 1.5708 + } + + iconType = { + name = "flag" + spriteType = "GFX_mapicon_unit_flag_stripe" + position = { x=5 y=15 } + Orientation = "UPPER_LEFT" + alwaystransparent = yes + } + + iconType = { + name = "large_flag" + spriteType = "GFX_mapicon_unit_large_flag_stripe" + position = { x = 4 y = 5 } + alwaystransparent = yes + scale = 0.69 + } + + iconType = { + name = "attrition" + spriteType = "GFX_unit_attrition" + position = { x=-4 y=-1 } + } + + iconType = { + name = "low_supply" + spriteType = "GFX_unitcounter_supply_status_strip" + position = { x=24 y=-4 } + #alwaystransparent = yes + scale = 0.75 + } + + iconType = { + name ="onmap_action_icon" + spriteType = "GFX_onmap_action_icon" + position = { x=54 y=7 } + } + } + + containerWindowType = { + name = "air_wing_counter" + position = { x=0 y=0 } + size = { width = 58 height = 27 } + + buttonType = { + name = "count_bg" + quadTextureSprite = "GFX_onmap_unit_counter" + position = { x=0 y=0 } + frame = 1 + } + + iconType ={ + name ="group_marker" + spriteType = "GFX_UV_group_marker" + position = { x=55 y=2 } + alwaystransparent = yes + } + + #iconType = { + # name = "counter_ideology" + # spriteType = "GFX_onmap_unit_counter_ideology" + # position = { x=37 y=0 } + # alwaystransparent = yes + #} + # + iconType = { + name = "counter_overlay" + spriteType = "GFX_onmap_unit_counter_overlay" + position = { x=3 y=3 } + alwaystransparent = yes + } + + iconType = { + name = "count_selected" + spriteType = "GFX_onmap_unit_counter_selected" + position = { x=0 y=0 } + alwaystransparent = yes + } + + iconType = { + name ="wing_type" + spriteType = "GFX_wing_types_map" + position = { x=3 y=3 } + alwaystransparent = yes + frame = 1 + } + + instantTextboxType = { + name = "count_txt" + position = { x=21 y=6 } + font = "Main_14" + maxWidth = 50 + maxHeight = 14 + format = center + alwaystransparent = yes + } + #iconType = { + # name = "bar_org" + # spriteType = "GFX_mapicon_unit_bar_org" + # position = { x=14 y=8 } + # alwaystransparent = yes + # rotation = 1.5708 + #} + iconType = { + name = "bar_str" + spriteType = "GFX_mapicon_unit_bar_str" + position = { x=13 y=12 } + alwaystransparent = yes + rotation = 1.5708 + } + + iconType = { + name = "flag" + spriteType = "GFX_mapicon_unit_flag_stripe" + position = { x=4 y=15 } + Orientation = "UPPER_LEFT" + alwaystransparent = yes + } + + iconType = { + name = "training" + spriteType = "GFX_mapicon_air_training" + position = { x=-14 y=7 } + } + + iconType = { + name = "training_will_stop_at_max_icon" + spriteType = "GFX_exercise_stop_at_max" + position = { x=-18 y=5 } + scale = 0.7 + alwaystransparent=yes + } + + + iconType = { + name = "no_mission" + spriteType = "GFX_mapicon_unit_no_orders" + position = { x=-10 y=8 } + } + + iconType = { + name = "no_region" + spriteType = "GFX_mapicon_unit_invalid_orders" + position = { x=-10 y=8 } + } + + iconType = { + name = "onmap_action_icon" + spriteType = "GFX_onmap_air_action_icon" + position = { x=54 y=7 } + frame = 2 + } + } + + #### UNIT MAP ICON + containerWindowType = { + name = "unit_mapicon" + position = { x=0 y=0 } + size = { width=58 height=27 } + clipping = no + orientation = upper_left + + gridboxtype = { + name = "units_box" + position = { x = 0 y = 0 } + size = { width = 100%% height = 100%% } + slotsize = { width = 58 height = 1 } + format = "UPPER_LEFT" + } + } + + + #### VICTORY POINTS MAP ICON + containerWindowType = { + name = "victory_point_mapicon" + #backGround ="" + position = { x=0 y=0 } + size = { width=160 height=30 } + orientation = upper_left + + iconType = { + name ="icon" + spriteType = "GFX_onmap_victorypoints_strip" + position = { x=-5 y=0 } + Orientation = "UPPER_LEFT" + } + + instantTextboxType = { + name = "text" + position = { x=26 y=5 } + font = "hoi_20bs" + text = "" + maxWidth = 149 + maxHeight = 30 + format = left + alwaystransparent = yes + } + } + + #### CAPITAL MAP ICON + containerWindowType = { + name = "capital_mapicon" + #backGround ="" + position = { x=0 y=0 } + size = { width=160 height=30 } + orientation = upper_left + + iconType = { + name ="icon" + spriteType = "GFX_onmap_victorypoints_strip" + position = { x=-5 y=0 } + Orientation = "UPPER_LEFT" + alwaystransparent = yes + } + + instantTextboxType = { + name = "text" + position = { x=26 y=5 } + font = "hoi_20bs" + text = "" + maxWidth = 149 + maxHeight = 30 + format = left + alwaystransparent = yes + } + } + + + #### RESOURCE MAP ICON + + containerWindowType = { + name = "resource_mapicon_item" + position = { x = 0 y = 0 } + size = { width = 100 height = 16 } + orientation = upper_left + + instantTextboxType = { + name = "desc" + position = { x = 0 y = 0 } + font = "hoi_16mbs" + text = "" + maxWidth = 100 + maxHeight = 20 + format = left + alwaystransparent = yes + } + + iconType = { + name = "flag" + quadTextureSprite ="GFX_flag_smallest" + position = { x= -25 y = -5 } + } + } + + containerWindowType = { + name = "resource_mapicon" + #backGround ="" + position = { x = 0 y = 0 } + size = { width = 100 height = 25 } + orientation = upper_left + + listboxType = + { + name ="resources_list" + position = { x = 0 y = 0 } + size = { x= 485 y = 460 } + horizontal = 0 + spacing = 0 + borderSize = {x = 0 y = 0} + alwaystransparent = yes + } + + iconType = { + name = "flag" + quadTextureSprite ="GFX_flag_smallest" + position = { x= 20 y = -22 } + } + } + + #### CONSTRUCTION INFO MAP ICON + containerWindowType = { + name = "construction_info_mapicon" + position = { x=0 y=0 } + size = { width=115 height=30 } + orientation = upper_left + + containerWindowType = { + name = "construction_info_window" + position = { x=20 y=0 } + size = { width=95 height=44 } + orientation = upper_left + clipping = no + + iconType = { + name = "flag" + spriteType = "GFX_mapicon_unit_flag_stripe" + position = { x=10 y=5 } + scale = 0.5 + Orientation = "UPPER_LEFT" + alwaystransparent = yes + } + + background = { + name = "Background" + quadTextureSprite ="GFX_construction_province_background" + } + + instantTextboxType = { + name = "text" + position = { x=0 y=5 } + font = "hoi_16mbs" + text = "" + maxWidth = 95 + alwaystransparent = yes + format = center + } + + buttonType = { + name = "subject_flag" + quadTextureSprite ="GFX_flag_small2" + position = { x= 10 y = -25 } + } + + instantTextboxType = { + name = "infrastructure_effect" + position = { x=8 y=25 } + font = "hoi_16mbs" + text = "+25%" + maxWidth = 94 + maxHeight = 20 + alwaystransparent = yes + format = left + } + } + + containerWindowType = { + name = "conversion_info_window" + position = { x=0 y=0 } + size = { width=92 height=20 } + orientation = upper_left + + iconType = { + name ="Background" + spriteType = "GFX_conversion_mapicon" + position = { x=-6 y=-3 } + Orientation = "UPPER_LEFT" + alwaystransparent = yes + } + + buttonType = { + name = "industry_btn" + spriteType = "GFX_conversion_mapicon_industry" + position = { x=0 y=0 } + Orientation = "UPPER_LEFT" + } + + iconType = { + name ="industry_btn_disabled" + spriteType = "GFX_conversion_mapicon_industry_disabled" + position = { x=0 y=0 } + Orientation = "UPPER_LEFT" + alwaystransparent = yes + } + + buttonType = { + name = "arms_btn" + spriteType = "GFX_conversion_mapicon_arms" + position = { x=72 y=0 } + Orientation = "UPPER_LEFT" + } + + iconType = { + name ="arms_btn_disabled" + spriteType = "GFX_conversion_mapicon_arms_disabled" + position = { x=72 y=0 } + Orientation = "UPPER_LEFT" + alwaystransparent = yes + } + + instantTextboxType = { + name = "industry_count" + position = { x=25 y=1 } + font = "hoi_16mbs" + text = "" + maxWidth = 52 + maxHeight = 20 + #format = center + alwaystransparent = yes + } + + instantTextboxType = { + name = "arms_count" + position = { x=60 y=1 } + font = "hoi_16mbs" + text = "" + maxWidth = 52 + maxHeight = 20 + #format = center + alwaystransparent = yes + } + } + } + + #### AIR BASES MAP ICON + containerWindowType = { + name = "air_base_mapicon" + #backGround ="" + position = { x=0 y=0 } + size = { width=32 height=32 } + orientation = upper_left + buttonType ={ + name ="bg_btn" + quadTextureSprite = "GFX_mapicon_air_base" + position = { x=-3 y=-3 } + } + + buttonType ={ + name ="bg_strat_btn" + quadTextureSprite = "GFX_mapicon_air_base_large" + position = { x=-12 y=-12 } + scale = 0.8 + } + + instantTextboxType = { + name = "wings_count" + position = { x=32 y=1 } + font = "hoi_16mbs" + text = "" + maxWidth = 70 + maxHeight = 20 + alwaystransparent = yes + } + + iconType ={ + name ="permission_wings_bg" + spriteType = "GFX_generic_box_smallest" + position = { x=32 y=20 } + Orientation = "UPPER_LEFT" + scale = 0.7 + pdx_tooltip = "AIR_VOLUNTEERS_LIMIT" + } + + instantTextboxType = { + name = "permission_wings_count" + position = { x=32 y=21 } + font = "hoi_16mbs" + text = "100/2000" + maxWidth = 49 + maxHeight = 20 + alwaystransparent = yes + format = centre + } + + gridboxtype = { + name = "wings_box" + position = { x = -26 y = 35 } + max_slots_horizontal = 1 + size = { width = 100%% height = 100%% } + slotsize = { width = 58 height = 23 } + format = "UPPER_LEFT" + } + } + + #### RCOKET SITE MAP ICON + containerWindowType = { + name = "rocket_site_mapicon" + position = { x=0 y=0 } + size = { width=32 height=32 } + orientation = upper_left + buttonType ={ + name ="bg_btn" + quadTextureSprite = "GFX_mapicon_rocket_site" + position = { x=0 y=0 } + } + + buttonType ={ + name ="bg_strat_btn" + quadTextureSprite = "GFX_mapicon_rocket_site_large" + position = { x=0 y=0 } + } + + gridboxtype = { + name = "rockets_box" + position = { x = -26 y = 35 } + max_slots_horizontal = 1 + size = { width = 100%% height = 100%% } + slotsize = { width = 58 height = 23 } + format = "UPPER_LEFT" + } + } + + #### NAVAL BASES MAP ICON + containerWindowType = { + name = "naval_base_mapicon" + #backGround ="" + position = { x=0 y=0 } + size = { width=32 height=32 } + orientation = upper_left + buttonType ={ + name ="bg_btn" + quadTextureSprite = "GFX_mapicon_naval_base" + position = { x=4 y=3 } + } + + buttonType ={ + name ="bg_strat_btn" + quadTextureSprite = "GFX_mapicon_naval_base_large" + position = { x=0 y=0 } + } + + instantTextboxType = { + name = "txt_capacity" + position = { x=36 y=8 } + font = "hoi_16mbs" + text = "99/99" + maxWidth = 70 + maxHeight = 20 + alwaystransparent = yes + } + + gridboxtype = { + name = "box_ships" + position = { x=-15 y=35 } + max_slots_horizontal = 1 + size = { width=100%% height=100%% } + slotsize = { width=58 height=32 } + format = "UPPER_LEFT" + } + } + + + #### NAVAL COMBAT RESULTS MAP ICON + containerWindowType = { + name = "naval_combat_results_mapicon" + position = { x=0 y=0 } + size = { width=19 height=24 } # WARNING: To make sure icon will not be misplaced, set the size to the true size of the content + orientation = upper_left + clipping = no + + buttonType ={ + name ="bg_btn" + quadTextureSprite = "GFX_naval_combat_result" + position = { x=0 y=0 } + } + } + + + #### NAVAL COMBAT MAP ICON + containerWindowType = { + name = "naval_combat_mapicon" + position = { x=0 y=0 } + size = { width=33 height=43 } # WARNING: To make sure icon will not be misplaced, set the size to the true size of the content + orientation = upper_left + clipping = no + + buttonType ={ + name ="bg_btn" + quadTextureSprite = "GFX_mapicon_naval_combat" + Orientation = center + centerPosition = yes + position = { x=1 y=-30 } + } + + gridBoxType = { + name = "attacker_adds_grid" + position = { x=-35 y=-10 } + format = RIGHT + size = { width = 100% height = 100%% } + slotsize = { width = 36 height = 20 } + max_slots_horizontal = 1 + } + + gridBoxType = { + name = "defender_adds_grid" + position = { x=36 y=-15 } + size = { width = 66 height = 30 } + slotsize = { width = 66 height = 16 } + max_slots_horizontal = 1 + } + + iconType = { + name = "progress" + spriteType = "GFX_navalcombat_bar_progress_attacker_154" + position = { x=0 y=0 } + Orientation = center + centerPosition = yes + } + iconType = { + name = "progress_small" + spriteType = "GFX_land_unit_combat_progressbar" + position = { x=0 y=-7 } + Orientation = center + centerPosition = yes + } + + gridBoxType = { + name = "attacker_grid" + position = { x = -60 y = 30 } + size = { width = 100% height = 100%% } + slotsize = { width = 36 height = 36 } + max_slots_horizontal = 1 + add_horizontal = no + format = "UPPER_LEFT" + } + + gridBoxType = { + name = "defender_grid" + position = { x = 30 y = 30 } + size = { width = 100% height = 100%% } + slotsize = { width = 36 height = 36 } + max_slots_horizontal = 1 + add_horizontal = no + format = "UPPER_LEFT" + } + + } + + + #### LAND COMBAT MAP ICON + containerWindowType = { + name = "land_combat_mapicon" + #backGround ="" + position = { x=0 y=0 } + size = { width=35 height=34 } # WARNING: To make sure icon will not be misplaced, set the size to the true size of the content + clipping = no + orientation = upper_left + + + + iconType={ + name ="battle_indicator_direction" + spriteType = "GFX_battle_indicator_direction" + position = { x= 18 y = 18 } + Orientation = "UPPER_LEFT" + centerPosition = yes + rotation = 1.0 + alwaystransparent = yes + } + buttonType ={ + name ="bg_btn" + quadTextureSprite = "GFX_mapicon_land_combat" + position = { x=-2 y=-2 } + } + + iconType={ + name ="mapicon_land_combat_frame" + spriteType = "GFX_mapicon_land_combat_frame" + position = { x=-2 y = -2 } + alwaystransparent = yes + frame = 1 + } + + iconType={ + name ="mapicon_land_combat_bombardment" + spriteType = "GFX_mapicon_land_combat_bombardment_overlay" + position = { x=-2 y = -10 } + alwaystransparent = yes + frame = 1 + } + + instantTextboxType = { + name = "combat_progress" + position = {x=3 y=16} + font = "hoi_16mbs" + text = "?" + maxWidth = 30 + maxHeight = 23 + format = center + alwaystransparent = yes + } + + iconType={ + name ="air_superiority_icon" + spriteType = "GFX_battle_modifier_strip" + position = { x=4 y=8 } + alwaystransparent = yes + } + } + + containerWindowType = { + name = "scripted_map_icon_container" + position = { x=0 y=0 } + size = { width = 0 height = 0 } + clipping = no + } + + #### AIR MISSIONS MAP ICON + containerWindowType = { + name = "air_mission_mapicon" + #backGround ="" + position = { x=0 y=0 } + size = { width=128 height=32 } + orientation = upper_left + + OverlappingElementsBoxType = { + name = "missions_list" + position = { x = 42 y = 0 } + size = { x = 400 y = 64 } + format = left + spacing = 1.0 + } + + iconType = { + name ="more_ground_crews_bg" + spriteType = "GFX_mapicon_air_mission_bg_more_ground_crews" + position = { x=0 y=0 } + } + buttonType = { + name ="more_ground_crews_icon" + quadTextureSprite = "GFX_mapicon_air_mission_icon_more_ground_crews" + position = { x=0 y=0 } + } + } + + containerWindowType = { + name = "air_mission_mapicon_entry" + #backGround ="" + position = { x=0 y=0 } + size = { width=42 height=21 } # WARNING: To make sure icon will not be misplaced, set the size to the true size of the content + orientation = upper_left + + iconType = { + name = "supply_icon" + spriteType = "GFX_mapicon_air_supply" + position = { x=2 y=-21 } + frame = 1 + } + + iconType = { + name ="bg" + spriteType = "GFX_mapicon_air_mission_bg" + position = { x=0 y=0 } + } + + instantTextboxType = { + name = "supply_count" + position = { x=-7 y=-6 } + font = "hoi_16mbs" + maxWidth = 60 + maxHeight = 14 + format = center + text = "555/555" + alwaystransparent = yes + } + + buttonType = { + name ="button" + quadTextureSprite = "GFX_strategicair_mission_types" + position = { x=0 y=6 } + } + instantTextboxType = { + name = "count" + position = { x=2 y=34 } + font = "hoi_16mbs" + maxWidth = 45 + maxHeight = 14 + format = center + } + + iconType = { + name = "alert" + position = {x=0 y=35} + spriteType = "GFX_mapicon_unit_no_orders" + } + + instantTextboxType = { + name = "supply_count_small" + position = { x=-7 y=-6 } + font = "Main_14_grey" + maxWidth = 60 + maxHeight = 14 + format = center + text = "555/555" + } + } + + containerWindowType = { + name = "naval_mission_mapicon_entry" + #backGround ="" + position = { x=0 y=0 } + size = { width=42 height=66 } # WARNING: To make sure icon will not be misplaced, set the size to the true size of the content + orientation = upper_left + + buttonType = { + name ="button" + quadTextureSprite = "GFX_mapicon_naval_mission_patrol" + position = { x=0 y=0 } + } + + instantTextboxType = { + name = "count" + position = { x=7 y=33 } + font = "hoi_16mbs" + maxWidth = 32 + maxHeight = 14 + format = center + text = "1/2" + } + + iconType = { + name = "efficiency_background" + position = { x=4 y=47 } + spriteType = "GFX_mapicon_naval_mission_efficiency_bg" + } + + instantTextboxType = { + name = "efficiency" + position = { x=7 y=46 } + font = "hoi_16mbs" + maxWidth = 34 + maxHeight = 14 + format = center + text = "100%" + } + + iconType = { + name = "pride" + position = {x=-5 y=-5} + spriteType = "GFX_NV_icon_pride" + scale = 0.8 + } + + iconType = { + name = "alert" + position = {x=0 y=35} + spriteType = "GFX_mapicon_unit_no_orders" + } + } + + #### NAVAL MISSIONS MAP ICON + containerWindowType = { + name = "naval_mission_mapicon" + #backGround ="" + position = { x=0 y=0 } + orientation = upper_left + + containerWindowType = { + name = "content" + #backGround ="" + position = { x=0 y=0 } + orientation = upper_left + + OverlappingElementsBoxType = { + name = "missions_list" + position = { x = 0 y = 0 } + size = { x = 400 y = 64 } + format = left + spacing = 1.0 + } + + @unit_counters_pos_y = 100 + + gridBoxType = { + name = "unit_grid" + position = { x = -80 y = @unit_counters_pos_y } + size = { width = 100% height = 100%% } + slotsize = { width = 36 height = 36 } + max_slots_horizontal = 1 + add_horizontal = no + format = "UPPER_LEFT" + } + + gridBoxType = { + name = "enemy_unit_grid" + position = { x = 15 y = @unit_counters_pos_y } + size = { width = 100% height = 100%% } + slotsize = { width = 36 height = 36 } + max_slots_horizontal = 1 + add_horizontal = no + format = "UPPER_LEFT" + } + + gridBoxType = { + name = "enemy_convoy_grid" + position = { x = 15 y = @unit_counters_pos_y } + size = { width = 100% height = 100%% } + slotsize = { width = 36 height = 21 } + max_slots_horizontal = 1 + add_horizontal = no + format = "UPPER_LEFT" + } + + @small_status_icon_pos_y = 65 + + containerWindowType = { + name = "mine_status_container" + position = { x=3 y=@small_status_icon_pos_y } + size = { width = 28 height = 35 } + clipping = no + orientation = upper_left + + iconType ={ + name ="bg" + spriteType = "GFX_naval_mine_icon_bg" + position = { x=0 y=0 } + } + iconType ={ + name ="progress_ours" + spriteType = "GFX_naval_mine_progress_our" + position = { x=0 y=15 } + } + iconType ={ + name ="progress_enemies" + spriteType = "GFX_naval_mine_progress_enemy" + position = { x=0 y=19 } + } + } + + containerWindowType = { + name = "ongoing_combat_container" + position = { x=3 y=@small_status_icon_pos_y } + size = { width = 28 height = 35 } + clipping = no + orientation = upper_left + + buttonType ={ + name ="bg" + spriteType = "GFX_naval_combat_icon" + position = { x=0 y=0 } + } + + instantTextboxType = { + name = "count" + position = { x=0 y=10 } + font = "hoi_16mbs" + maxWidth = 25 + maxHeight = 14 + format = center + alwaystransparent = yes + text = "2" + } + } + + containerWindowType = { + name = "combat_results_container" + position = { x=3 y=@small_status_icon_pos_y } + size = { width = 28 height = 35 } + clipping = no + orientation = upper_left + + buttonType ={ + name ="bg" + spriteType = "GFX_naval_combat_results_icon" + position = { x=0 y=0 } + } + + instantTextboxType = { + name = "count" + position = { x=0 y=10 } + font = "hoi_16mbs" + maxWidth = 25 + maxHeight = 14 + format = center + alwaystransparent = yes + text = "2" + } + } + + containerWindowType = { + name = "accidents_container" + position = { x=3 y=@small_status_icon_pos_y } + size = { width = 28 height = 35 } + clipping = no + orientation = upper_left + + buttonType ={ + name ="bg" + spriteType = "GFX_naval_accidents_icon" + position = { x=0 y=0 } + } + + instantTextboxType = { + name = "count" + position = { x=0 y=10 } + font = "hoi_16mbs" + maxWidth = 25 + maxHeight = 14 + format = center + alwaystransparent = yes + text = "2" + } + } + } + } + + # Naval mission extension window + containerWindowType = { + name = "naval_mission_ships" + position = {x=0 y=0} # Pos set in code - attached to "naval_mission_mapicon" + orientation = upper_left + size = { width=335 height=147 } # Height set in code, but here is set max height + clipping = no + moveable = no + + background = { + name = "Background" + quadTextureSprite ="GFX_mini_bg" + } + + buttonType = { + name = "select_all" + position = { x = 0 y = -20 } + size = { x = 80 y = 23 } + quadTextureSprite = "GFX_tiling_sort_button" + font = "hoi_16mbs" + buttontext = SELECT_ALL + clicksound = click_default + } + + containerWindowType = { + name = "naval_missions_grid_container" + position = { x = 0 y = 2 } + size = { width=335 height=151 } + verticalScrollbar = "right_vertical_slider" + + background = { + name = "Background" + quadTextureSprite ="GFX_tiled_window_transparent" + } + + gridBoxType = { + name = "naval_missions_grid" + position = {x=6 y=6} + size = {width=305 height=100%%} + slotsize = {width=302 height=24} + max_slots_horizontal = 1 + } + } + } + + containerWindowType = { + name = "naval_mission_ships_entry" + position = {x=0 y=0} # Pos set in code - attached to "naval_mission_mapicon" + orientation = upper_left + size = {width=302 height=24} # Height set in code, but here is set max height + + buttonType ={ + name ="btn" + quadTextureSprite = "GFX_onmap_fleet_entry" + position = {x=0 y=0} + } + instantTextboxType = { + name = "text" + position = {x=16 y=4} + font = "hoi_16mbs" + maxWidth = 305 + maxHeight = 24 + format = left + alwaystransparent = yes + } + + iconType ={ + name ="pride" + spriteType = "GFX_NV_icon_pride" + position = { x=-5 y=1 } + scale = 0.7 + } + } + + #### NAVAL MINES + containerWindowType = { + name = "naval_mines_map_icon" + position = { x=0 y=-28 } # Pos is attached to "naval_mission_mapicon" + size = { width=71 height=22 } + orientation = upper_left + + iconType ={ + name ="icon" + spriteType = "GFX_naval_mine_icon" + position = { x=0 y=0 } + } + iconType ={ + name ="progress_good" + spriteType = "GFX_naval_mine_progress_positive" + position = { x=30 y=0 } + } + iconType ={ + name ="progress_bad" + spriteType = "GFX_naval_mine_progress_negative" + position = { x=30 y=7 } + } + } + + #### SUPPLY MAP ICON + containerWindowType = { + name = "supply_mapicon" + #backGround ="" + position = { x=0 y=0 } + size = { width=132 height=77 } # X = 3x width of background + orientation = upper_left + + iconType ={ + name ="bg_btn" + spriteType = "GFX_mapicon_supply_bg" + frame = 1 + } + + iconType ={ + name ="bg_red_btn" + spriteType = "GFX_mapicon_supply_red_bg" + frame = 1 + } + + instantTextboxType = { + name = "supported" + position = {x=5 y=40} + font = "hoi_16mbs" + maxWidth = 40 + maxHeight = 30 + format = center + alwaystransparent = yes + } + + containerWindowType = { + name = "infra_wnd" + #backGround ="" + position = { x=42 y=0 } + size = { width=44 height=77 } + orientation = upper_left + iconType ={ + name ="bg_btn" + spriteType = "GFX_mapicon_supply_bg" + frame = 2 + } + buttonType = { + name ="add_btn" + quadTextureSprite = "GFX_mapicon_supply_add" + position = { x=11 y=11 } + } + instantTextboxType = { + name = "value" + position = {x=5 y=40} + font = "hoi_16mbs" + maxWidth = 42 + maxHeight = 24 + format = center + alwaystransparent = yes + } + iconType ={ + name ="cap_bg" + spriteType = "GFX_mapicon_supply_cap_bg" + position = {x=10 y=-9} + } + instantTextboxType = { + name = "capacity" + position = {x=5 y=-10} + font = "hoi_16mbs" + maxWidth = 42 + maxHeight = 24 + format = center + alwaystransparent = yes + } + + iconType = { + name = "air_mission_icon" + position = { x=-54 y=9 } + spriteType = "GFX_mapicon_air_supply_active" + scale = 0.8 + } + } + + containerWindowType = { + name = "port_wnd" + #backGround ="" + position = { x=75 y=0 } + size = { width=44 height=77 } + orientation = upper_left + iconType ={ + name ="bg_btn" + spriteType = "GFX_mapicon_supply_bg" + frame = 3 + } + buttonType = { + name ="add_btn" + quadTextureSprite = "GFX_mapicon_supply_add" + position = { x=11 y=11 } + } + instantTextboxType = { + name = "value" + position = {x=5 y=40} + font = "hoi_16mbs" + maxWidth = 42 + maxHeight = 24 + format = center + alwaystransparent = yes + } + iconType ={ + name ="cap_bg" + spriteType = "GFX_mapicon_supply_cap_bg" + position = {x=10 y=-9} + } + instantTextboxType = { + name = "capacity" + position = {x=5 y=-10} + font = "hoi_18b" + maxWidth = 42 + maxHeight = 24 + format = center + alwaystransparent = yes + } + } + } + + #### PEACE COST MAP ICON + containerWindowType = { + name = "peace_cost_mapicon" + position = { x=0 y=0 } + size = { width=100 height=24 } # X = 3x width of background + orientation = upper_left + + instantTextboxType = { + name = "cost" + position = {x= 0 y=0} + font = "hoi_20bs" + maxWidth = 100 + maxHeight = 24 + format = center + alwaystransparent = yes + } + } + + containerWindowType = { + name = "adjacency_rule_mapicon" + position = { x=0 y=0 } + size = { width=32 height=27 } # X = 3x width of background + orientation = upper_left + + iconType = { + name = "province_required_rule" + position = { x = 0 y = 0 } + spriteType = "GFX_strait_canal_onmap_icon" + } + } + + containerWindowType = { + name = "radar_mapicon" + position = { x=0 y=0 } + size = { width=34 height=31 } + orientation = upper_left + + iconType = { + name = "radar_mapicon" + position = { x = 0 y = 0 } + spriteType = "GFX_radar_efficiency_icon" + } + } + + containerWindowType = { + name = "ping_mapicon" + position = { x=0 y=0 } + size = { width=56 height=54 } + orientation = upper_left + + iconType = { + name = "circle" + position = {x=28 y=27} + quadTextureSprite = "GFX_worldmap_ping_circle" + scale = 2 + + centerPosition = yes + alwaystransparent = yes + } + + iconType = { + name = "ping_mapicon_offensive" + position = { x = 28 y = 27 } + spriteType = "GFX_worldmap_ping_offensive" + centerPosition = yes + } + + iconType = { + name = "ping_mapicon_defensive" + position = { x = 28 y = 27 } + spriteType = "GFX_worldmap_ping_defensive" + centerPosition = yes + } + } + + #### DECISIONS MAP ICON + containerWindowType = { + name = "decision_mapicon_container" + position = { x=0 y=0 } + size = { width=0 height=0 } + orientation = upper_left + + gridboxtype = { + name = "decisions_gridbox" + position = { x = 0 y = 0 } #Set in code + size = { width = 100%% height = 100%% } + slotsize = { width = 70 height = 50 } ## Anything less than 50 width makes CP custom costs overlap unreadably + max_slots_horizontal = 3 #Set in code + } + } + + containerWindowType = { + name = "GFX_mapicon_tiny_unit_counter" + position = { x=0 y=0 } + size = { width=66 height=120 } + clipping = no + + iconType = { + name = "background" + spriteType = "GFX_mapicon_tiny_unit_counter" + } + + iconType = { + name = "icon" + spriteType = "GFX_unit_transport_icon_medium_white" + position = { x=3 y=3 } + alwaystransparent = yes + } + + instantTextboxType = { + name = "count" + position = { x=36 y=3 } + font = "Main_14" + maxWidth = 20 + maxHeight = 14 + format = center + alwaystransparent = yes + } + + containerWindowType = { + name = "spotting_bar_container" + position = { x=57 y=3 } + + iconType = { + name ="spotting_bar_bg" + spriteType = "GFX_spotting_bar_bg_small" + position = { x=0 y=0 } + Orientation = "UPPER_LEFT" + } + + containerWindowType = { + name = "spotting_bar_fg_container" + position = { x=1 y=1 } + size = { width = 4 height = 12 } #size of bar fg + clipping = yes + + iconType = { + name ="spotting_bar_fg" + spriteType = "GFX_spotting_bar_small" + position = { x= 0 y = 0 } + Orientation = "UPPER_LEFT" + } + } + } + } + +@DECISION_PROGRESS_BAR_Y = 18 +@DECISION_PROGRESS_BAR_X = 12 + containerWindowType = { + name = "decision_mapicon_item" + position = { x=0 y=0 } + size = { width = 65 height = 50 } + clipping = yes + + + buttonType = { + name ="static_bg" + quadTextureSprite = "GFX_mapicon_decision_static_bg" + position = { x=0 y=0 } + } + + iconType = { + name ="decision_icon" # formerly decision_icon + spriteType = "GFX_decision_generic_decision" + position = {x=-144 y=0} + alwaystransparent = yes + #centerPosition = no + scale = 0.75 + } + + buttonType = { + name ="background_btn" + quadTextureSprite = "GFX_mapicon_decision_bg" + position = { x=0 y=0 } + } + + iconType = { + name ="progress_good" + spriteType = "GFX_mapicon_decision_progress_good" + position = { x=@DECISION_PROGRESS_BAR_X y=@DECISION_PROGRESS_BAR_Y } + } + + iconType = { + name ="progress_bad" + spriteType = "GFX_mapicon_decision_progress_bad" + position = { x=@DECISION_PROGRESS_BAR_X y=@DECISION_PROGRESS_BAR_Y } + } + + containerWindowType = { + name = "cost_container" + position = { x = 0 y = 12 } + orientation = upper_left + origo = center + clipping = no + + background = { + name ="cost_bg" + quadTextureSprite = "GFX_mapicon_cost_bg" + alwaystransparent = yes + } + + positionType = { + name = "cost_text_horizontal_margin" + position = { x = 0 y = -12 } # Added to the width of the container when resizing it to fit the text. + } + + instantTextboxType = { + name = "cost_text" + font = "hoi_16mbs" + position = { x = 0 y = -18 } + maxWidth = 50 + maxHeight = 50 + orientation = center + vertical_alignment = center + format = center + alwaystransparent = yes + text = "100" + } + } + + iconType = { + name ="target_flag" + quadTextureSprite ="GFX_mapicon_unit_flag_stripe_visible" + position = { x=0 y=-12 } + alwaystransparent = yes + } + + iconType = { + name ="timer_icon" + quadTextureSprite = "GFX_decision_timer_icon_strip" + position = { x=35 y=24 } + scale = 0.8 + frame = 2 + } + } + + #### RESISTANCE COMPLIANCE MAP ICON + containerWindowType = { + name = "resistance_compliance_map_icon" + #backGround ="" + position = { x = 0 y = 0 } + size = { width = 100 height = 25 } + + gridboxtype = { + name = "modifier_grid_list" + position = { x = -15 y = -28 } + size = { width = 155 height = 31 } + slotsize = { width = 35 height = 31 } + max_slots_horizontal = 5 + } + + instantTextboxType = { + name = "text" + position = { x = 0 y = 0 } + font = "hoi_20bs" + text = "100%" + maxWidth = 100 + maxHeight = 20 + format = center + } + } + + containerWindowType = { + name = "resistance_compliance_map_icon_modifier_entry" + #backGround ="" + position = { x = 0 y = 0 } + size = { width = 31 height = 31 } + + iconType = { + name = "current_mission_bg" + position = {x=-5 y=-4} + spriteType ="GFX_task_force_mission_bg" + } + + iconType = { + name ="icon" + quadTextureSprite ="GFX_occupation_compliance_modifier_strip" + position = { x=0 y=0 } + } + } + + @intel_map_mode_map_icon_box_width=300 + containerWindowType = { + name = "intel_map_mode_map_icon" + position = { x=0 y=0 } + size = { width=@intel_map_mode_map_icon_box_width height=64 } + clipping = no + + #background = { + # name = "bg" + # spriteType = "GFX_tiled_window_small_small" + #} + + overlappingElementsBoxType = { + name = "entries" + position = { x=0 y=14 } + size = { x=@intel_map_mode_map_icon_box_width y=64 } + first_on_top = no + format = center + } + } + + # entries should have roughly the same size + @intel_map_mode_map_icon_width=48 + @intel_map_mode_map_icon_height=48 + containerWindowType = { + name = "counterintelligence_map_icon_entry" + position = { x=0 y=0 } + size = { width=@intel_map_mode_map_icon_width height=@intel_map_mode_map_icon_height } + + iconType = { + name = "shield_icn" + position = { x=0 y=0 } + spriteType = "GFX_mapicon_counterintelligence_rating_background" + } + + instantTextboxType = { + name = "rating_txt" + position = { x = -2 y = 14 } + font = "hoi_20bs" + text = "999" + maxWidth = @intel_map_mode_map_icon_width + maxHeight = 20 + format = center + } + } + + containerWindowType = { + name = "intel_map_icon_more" + size = { width=68 height=@intel_map_mode_map_icon_height } + + buttonType = { + name = "more_icon" + clicksound = "click_default" + position = { x=-5 y=-3 } + spriteType = "GFX_operation_button_more" + } + } + + containerWindowType = { + name = "operation_map_icon_entry" + position = { x=0 y=0 } + size = { width=68 height=@intel_map_mode_map_icon_height } + + iconType = { + name = "operation_icon" + position = { x=-20 y=-20 } + spriteType = "GFX_operative_mission_icons_small" + frame = 1 + alwaystransparent = yes + scale =0.7 + } + + iconType = { + name = "phase_circular_progress_icon" + position = { x = 25 y = -8} + spriteType = "GFX_phase_circular_progress_pie_chart_on_map" + } + + buttonType = { + name = "portrait_btn" + position = { x=0 y=-5 } + spriteType = "GFX_operations_rescue_captured_operative_map" + } + + buttonType = { + name = "phase_btn" + position = { x=4 y=-3 } + scale = 0.72 # because we use same as in main view + spriteType = "GFX_phase_infiltration_border_small" + } + + iconType = { + name = "cartouche_icon" + position = { x=-16 y=41 } + spriteType = "GFX_mapicon_intel_cartouche" + } + + instantTextboxType = { + name = "operation_progress_text" + position = { x = -4 y = 47 } + font = "hoi_16mbs" + text = "100%" + maxWidth = 58 + maxHeight = 20 + format = center + fixedsize=yes + #alwaystransparent = yes + } + + iconType = { + name = "operation_completed_overlay" + position = { x=1 y=-5 } + spriteType = "GFX_operation_onmap_overlay_completed" + alwaystransparent = yes + frame = 1 + } + + iconType = { + name = "operation_completed_warning" + position = { x=20 y=6 } + spriteType = "GFX_alerts_category" + frame = 3 + alwaystransparent = yes + } + + iconType = { + name = "operation_equipment_overlay" + spriteType = "GFX_operation_onmap_overlay_preparation" + alwaystransparent = yes + } + } + + containerWindowType = { + name = "operative_map_icon_entry" + position = { x=0 y=0 } + size = { width=68 height=@intel_map_mode_map_icon_height } + + iconType = { + name = "frame_icon_small" + position = { x=-20 y=-20 } + spriteType = "GFX_mapicon_operative_mission_background" + scale= 0.7 + } + + buttonType = { + name = "frame_btn" + position = { x=0 y=-5 } + spriteType = "GFX_mapicon_operative_mission_background" + } + + iconType = { + name = "portrait_icn" + position = { x=4 y=-1 } + spriteType = "GFX_mapicon_operative_unknown" + alwaystransparent = yes + scale = 0.25 + } + + iconType = { + name = "frame_select_hl_icn" + position = { x=1 y=-4 } + spriteType = "GFX_mapicon_operative_mission_highlight" + alwaystransparent = yes + } + + iconType = { + name = "frame_warn_hl_icn" + position = { x=1 y=-4 } + spriteType = "GFX_mapicon_operative_mission_highlight_warn" + alwaystransparent = yes + } + + iconType = { + name = "cartouche_icn" + position = { x=-16 y=41 } + spriteType = "GFX_mapicon_intel_cartouche" + } + + iconType = { + name = "leader_enroute" + position = { x=-8 y=45 } + quadTextureSprite ="GFX_leader_en_route" + alwaystransparent = yes + scale = 0.6 + } + + iconType = { + name = "mission_icon" + position = { x=-19 y=-18 } + spriteType = "GFX_operative_mission_icons" + frame = 1 + alwaystransparent = yes + scale = 0.9 + } + + instantTextboxType = { + name = "mission_progress_text" + position = { x = 0 y = 47 } + font = "hoi_16mbs" + text = "100%" + maxWidth = 40 + maxHeight = 20 + format = center + alwaystransparent = yes + } + + iconType = { + name = "mission_status_icn" + position = { x=36 y=49 } + spriteType = "GFX_operative_mission_status_icon" + alwaystransparent = yes + } + + } + + containerWindowType = { + name = "cryptology_map_icon" + position = { x=0 y=0 } + size = { width=150 height=90 } + + #background = { + # name = "crypto_on_map_bg" + # spriteType = "GFX_crypto_on_map_bg" + # position = {x = 8 y = 5 } + + #} + + #iconType = { + # name = "frame_icon" + # position = { x=6 y=8 } + # spriteType = "GFX_mapicon_operative_mission_background" + #} + + iconType = { + name = "large_flag" + spriteType = "GFX_mapicon_unit_large_flag_stripe" + position = { x = -15 y = 2 } + scale = 0.7 + } + + iconType = { + name = "flag_frame" + spriteType = "GFX_small_flag_frame_thin" + position = { x = -17 y = 0} + scale = 0.7 + } + + iconType = { + name = "decrytion_bar" + position = { x = 30 y = 5 } + spriteType = "GFX_phase_circular_progress_pie_chart_on_map" + frame = 50 + } + + buttonType = { + name = "state_icon" + position = { x= 11 y= 10 } + quadTextureSprite = "GFX_crypto_map_icon_animated" + oversound = Spy_Agency_Cryptology_Decipher_Pointer_Over_Target + clicksound = Spy_Agency_Cryptology_Decipher_Select_Target_Province + scale = 0.65 + } + + #iconType = { + # name = "decrytion_bar_bg" + # position = { x = 40 y = 28 } + # spriteType = "GFX_crypto_bar_small_bg" + # alwaystransparent = yes + #} + + iconType = { + name = "cartouche_icn" + position = { x=-11 y=52 } + spriteType = "GFX_mapicon_intel_cartouche" + } + + + instantTextboxType = { + name = "percent" + position = { x = -15 y = 58 } + font = "hoi_16mbs" + text = "10%" + maxWidth = 94 + maxHeight = 20 + format = center + } + + } + + + containerWindowType = { + name = "intel_ledger_naval_mission_entry" + position = { x=0 y=0 } + size = { width=42 height=66 } + + iconType = { + name ="icon" + quadTextureSprite = "GFX_mapicon_naval_mission_patrol" + position = { x=0 y=0 } + } + + instantTextboxType = { + name = "count" + position = { x=7 y=33 } + font = "hoi_16mbs" + maxWidth = 32 + maxHeight = 14 + format = center + text = "1/2" + } + } + + containerWindowType = { + name = "intel_ledger_air_mission_entry" + position = { x=0 y=0 } + size = { width=46 height=66 } + + iconType = { + name ="bg" + spriteType = "GFX_mapicon_air_mission_bg" + position = { x=0 y=0 } + } + + iconType = { + name ="icon" + quadTextureSprite = "GFX_strategicair_mission_types" + position = { x=0 y=6 } + } + instantTextboxType = { + name = "count" + position = { x=2 y=34 } + font = "hoi_16mbs" + maxWidth = 48 + maxHeight = 14 + format = center + } + } + containerWindowType = { + name = "intel_ledger_map_icon" + position = { x=0 y=0 } + size = { width=0 height=0 } + + + containerWindowType = { + name = "civilian_ledger_view" + position = { x=-80 y=-42 } + size = { width = 160 height = 85 } + background = { + name = "Background" + spriteType ="GFX_mini_bg" + } + + iconType ={ + name ="civilian_factory_icon" + spriteType = "GFX_non_available_factory_icon" + position = { x= 9 y = 8 } + Orientation = "UPPER_LEFT" + scale = 0.9 + } + + instantTextBoxType = { + name ="civilian_factory_count" + position = { x= 36 y = 8 } + font = "hoi_18mbs" + text = "999" + format = left + maxWidth = 60 + } + + + iconType ={ + name ="military_factory_icon" + spriteType = "GFX_military_factory_icon" + position = { x= 9 y = 33 } + Orientation = "UPPER_LEFT" + scale = 0.9 + } + + instantTextBoxType = { + name ="military_factory_count" + position = { x= 36 y = 33 } + font = "hoi_18mbs" + text = "999" + format = left + maxWidth = 60 + } + + iconType ={ + name ="dockyard_icon" + spriteType = "GFX_dockyard_icon" + position = { x= 8 y = 58 } + Orientation = "UPPER_LEFT" + scale = 0.9 + } + + instantTextBoxType = { + name ="dockyard_count" + position = { x= 36 y = 58 } + font = "hoi_18mbs" + text = "999" + format = left + maxWidth = 60 + } + + iconType = { + name ="infra_icon" + spriteType = "GFX_infrastructure_texticon" + position = { x= 80 y = 8 } + Orientation = "UPPER_LEFT" + } + + instantTextBoxType = { + name ="infra_count" + position = { x= 102 y = 8 } + font = "hoi_18mbs" + text = "999" + format = left + maxWidth = 60 + } + + iconType = { + name ="refinery_icon" + spriteType = "GFX_fuel_refinery_icon" + position = { x= 73 y = 29 } + Orientation = "UPPER_LEFT" + scale = 0.65 + } + + instantTextBoxType = { + name ="refinery_count" + position = { x= 102 y = 33 } + font = "hoi_18mbs" + text = "999" + format = left + maxWidth = 60 + } + + iconType = { + name ="silo_icon" + spriteType = "GFX_fuel_silo_icon" + position = { x= 74 y = 53 } + Orientation = "UPPER_LEFT" + scale = 0.60 + } + + instantTextBoxType = { + name ="silo_count" + position = { x= 102 y = 58 } + font = "hoi_18mbs" + text = "999" + format = left + maxWidth = 60 + } + } + + containerWindowType = { + name = "air_and_navy_ledger_view" + position = { x=0 y=-32 } + size = { width = 25 height = 5 } # added to actual calculated size + + background = { + name = "Background" + spriteType ="GFX_mini_bg" + } + + gridboxtype = { + name = "missions_grid" + position = { x = 10 y = 8 } + max_slots_horizontal = 10 + size = { width = 10 height = 10 } + slotsize = { width = 50 height = 60 } + format = "UPPER_LEFT" + } + } + } + + containerWindowType = { + name = "supply_node_map_icon" + position = { x=0 y=0 } + size = { width = 36 height = 36 } + clipping = no + orientation = center + + buttonType = { + name = "background_button" + spriteType ="GFX_supply_hub_button_bg_strip" + position = { x = -18 y = -18 } + orientation = center + } + + iconType ={ + name ="under_construction" + spriteType = "GFX_under_construction" + position = { x=8 y=-16 } + } + + iconType ={ + name ="supply_hub_overlay_icon" + spriteType = "GFX_supply_hub_icon_strip" + position = { x = -18 y = -17 } + orientation = center + alwaystransparent = yes + } + + iconType ={ + name ="supply_hub_overlay_motorization" + spriteType = "GFX_motorized_explicit_implicit_strip" + position = { x = -10 y = -16 } + orientation = center + alwaystransparent = yes + } + + iconType ={ + name ="supply_hub_overlay_naval" + spriteType = "GFX_naval_supply_anchor_icon" + position = { x = -18 y = -17 } + orientation = center + alwaystransparent = yes + } + + buttonType = { + name = "move_capital_supply_node" + quadTextureSprite = "GFX_supply_hub_interaction_strip" + frame = 5 + position = { x = -43 y = -4 } + orientation = center + scale = 0.66 + } + + buttonType = { + name = "toggle_enable_node_for_allies" + quadTextureSprite = "GFX_supply_hub_interaction_strip" + frame = 2 + position = { x = -58 y = -46 } + orientation = center + scale = 0.66 + } + + buttonType = { + name = "upgrade_railways_to_capital" + quadTextureSprite = "GFX_supply_hub_interaction_strip" + frame = 4 + position = { x = -23 y = -65 } + orientation = center + scale = 0.66 + } + + buttonType = { + name = "set_hub_motorization_priority" + quadTextureSprite = "GFX_supply_hub_interaction_strip" + frame = 10 + position = { x = 12 y = -46 } + orientation = center + scale = 0.66 + } + + iconType ={ + name ="cooldown" + spriteType = "GFX_leader_en_route" + position = { x=20 y=15 } + scale = 1.0 + } + + iconType ={ + name ="supply_textbox" + spriteType = "GFX_on_map_supply_values_bg" + position = { x= -8 y = 24 } + alwaystransparent = yes + } + + instantTextBoxType = { + name = "supply" + position = { x = -24 y = 32 } + font = "hoi_16mbs" + borderSize = {x = 0 y = 0} + text = "20/20" + maxWidth = 84 + maxHeight = 32 + format = centre + alwaystransparent = yes + } + + iconType = { + name = "allied_setting_overlay" + spriteType = "GFX_supply_hub_disallow_allied_overlay_strip" + position = { x=9 y=12 } + alwaystransparent = yes + centerposition = yes + } + + iconType ={ + name ="supply_hub_disconnected" + spriteType = "GFX_supply_hub_disconnected" + position = { x = -18 y = -18 } + orientation = center + alwaystransparent = yes + } + } + + containerWindowType = { + name = "railway_map_icon" + position = { x=0 y=0 } + size = { width = 20 height = 20 } + clipping = no + + + iconType ={ + name ="bg" + spriteType = "GFX_railway_mapicon_bg" + position = { x=0 y=0 } + } + + iconType ={ + name ="under_construction" + spriteType = "GFX_under_construction" + position = { x=0 y=-20 } + } + + instantTextBoxType = { + name = "text" + position = { x = -10 y = 1 } + font = "hoi4_typewriter16" + borderSize = {x = 0 y = 0} + text = "5" + maxWidth = 40 + maxHeight = 32 + format = centre + alwaystransparent = yes + } + + iconType = { + name ="cooldown" + spriteType = "GFX_leader_en_route" + position = { x=0 y=-6 } + scale = 1 + } + } + + containerWindowType = { + name = "peace_mapicon" + position = { x=0 y=0 } + size = { width = 110 height = 130 } + + # horizontal grid above the widget with negotiator flags + # if a lot of them, they will stack up, like a pile of cards + containerWindowType = { + name = "flags" + position = { x=0 y=0 } + size = { width = 100% height = 30 } + + OverlappingElementsBoxType = { + # type negotiator_flag_entry - cf. peaceconferencewindow.gui + name = "negotiator_flags" + position = { x = 0 y = 0 } + size = { x = 100 y = 21 } + format = center + orientation = upper_left + spacing = 0 + } + } + + containerWindowType = { + name = "info" + position = { x=0 y=17 } + size = { width = 100% height = 30 } + clipping = no + + background = { + name = "Background" + spriteType ="GFX_mini_bg" + } + + instantTextBoxType = { + name ="cost" + position = { x= 0 y = 6 } + font = "hoi_18mbs" + text = "9999" + format = CENTER + maxWidth = 100 + alwaystransparent = yes + } + + # vertical grid with state resources + gridBoxType = { + # type peace_resource_item + name = "resources_grid" + position = {x=0 y=25} + size = {width=55 height=108} + slotsize = {width=45 height=23} + max_slots_horizontal = 2 + } + } + } + + containerWindowType = { + name = "peace_resource_item" + position = {x=0 y=0} + orientation = upper_left + size = {width=40 height=23} + + iconType ={ + name ="resource_icon" + spriteType = "GFX_resources_strip" + position = { x= 0 y = 0 } + alwaystransparent = yes + } + + instantTextboxType = { + name = "amount" + position = { x= 28 y = 3 } + font = "hoi_16mbs" + text = "99" + format = left + maxWidth = 30 + alwaystransparent = yes + } + } +} diff --git a/interface/military_industrial_organization/industrial_organization_department_icons.gfx b/interface/military_industrial_organization/industrial_organization_department_icons.gfx new file mode 100644 index 000000000..3514b815e --- /dev/null +++ b/interface/military_industrial_organization/industrial_organization_department_icons.gfx @@ -0,0 +1,721 @@ +spriteTypes = { + + ######################################## + ##### EQUIPEMNT TYPES & CATEGORIES ##### + ######################################## + + # Used automatically in code + # name must have the format : GFX_military_industrial_organization_ + equipment_key + # where equipment_key can either be an equipment category or an equipment archetype + + spriteType = { + name = "GFX_military_industrial_organization_convoy" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_ships.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_train" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_wheel.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_floating_harbor" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_ships.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_railway_gun" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_trebuchet.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_armor" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_cavalry.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_motorized" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_wheel.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_mechanized" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_wheel.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_infantry" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_swords.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_capital_ship" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_ships.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_submarine" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_ships.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_screen_ship" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_ships.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_fighter" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_eagle.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_interceptor" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_eagle.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_tactical_bomber" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_eagle.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_strategic_bomber" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_eagle.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_cas" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_eagle.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_naval_bomber" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_eagle.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_missile" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_book.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_suicide" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_eagle.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_scout_plane" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_eagle.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_maritime_patrol_plane" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_eagle.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_air_transport" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_eagle.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_carrier" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_eagle.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_support" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_infantry_offense.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_amphibious" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_infantry_offense.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_anti_air" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_catapult.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_artillery" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_bow.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_anti_tank" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_catapult.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_rocket" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_crossbow.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_flame" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_swords.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_destroyer" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_ships.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_infantry_equipment" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_swords.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_artillery_equipment" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_bow.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_anti_tank_equipment" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_ballista.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_amphibious_mechanized_equipment" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_wheel.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_anti_air_equipment" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_ballista.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_armored_car_equipment" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_cavalry.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_gw_armored_car_equipment" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_cavalry.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_armored_car_at_equipment" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_cavalry.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_rocket_artillery_equipment" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_crossbow.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_motorized_rocket_equipment" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_wheel.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_floating_harbor_equipment" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_ships.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_guided_missile_equipment" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_book.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_mechanized_equipment" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_wheel.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_motorized_equipment" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_wheel.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_small_plane_airframe" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_infantry_offense.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_cv_small_plane_airframe" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_eagle.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_medium_plane_airframe" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_eagle.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_large_plane_airframe" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_eagle.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_transport_plane_equipment" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_eagle.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_railway_gun_equipment" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_trebuchet.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_ship_hull_carrier" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_ships.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_ship_hull_carrier_conversion_bb" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_ships.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_ship_hull_carrier_conversion_ca" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_ships.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_ship_hull_cruiser" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_ships.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_light_cruiser" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_ships.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_torpedo_cruiser" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_ships.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_ship_hull_torpedo_cruiser" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_ships.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_ship_hull_cruiser_panzerschiff" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_ships.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_ship_hull_cruiser_coastal_defense_ship" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_ships.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_ship_hull_heavy" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_ships.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_ship_hull_pre_dreadnought" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_ships.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_ship_hull_light" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_ships.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_ship_hull_submarine" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_ships.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_ship_hull_cruiser_submarine" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_ships.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_ship_hull_midget_submarine" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_ships.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_support_equipment" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_swords_plus.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_light_tank_chassis" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_cavalry.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_medium_tank_chassis" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_cavalry.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_heavy_tank_chassis" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_catapult.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_modern_tank_chassis" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_catapult.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_super_heavy_tank_chassis" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_catapult.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_amphibious_tank_chassis" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_ships.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_train_equipment" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_wheel.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_small_plane_cas_airframe" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_eagle.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_cv_small_plane_cas_airframe" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_eagle.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_small_plane_naval_bomber_airframe" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_eagle.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_cv_small_plane_naval_bomber_airframe" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_eagle.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_small_plane_suicide_airframe" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_eagle.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_cv_small_plane_suicide_airframe" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_eagle.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_medium_plane_fighter_airframe" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_eagle.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_medium_plane_scout_plane_airframe" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_eagle.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_large_plane_maritime_patrol_plane_airframe" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_eagle.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_jet_fighter_equipment" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_eagle.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_rocket_interceptor_equipment" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_eagle.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_jet_tac_bomber_equipment" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_eagle.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_jet_strat_bomber_equipment" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_eagle.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_light_tank_aa_chassis" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_cavalry.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_light_tank_artillery_chassis" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_cavalry.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_light_tank_destroyer_chassis" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_cavalry.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_light_tank_amphibious_chassis" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_cavalry.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_light_tank_flame_chassis" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_cavalry.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_medium_tank_aa_chassis" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_cavalry.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_medium_tank_artillery_chassis" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_cavalry.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_medium_tank_destroyer_chassis" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_cavalry.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_medium_tank_amphibious_chassis" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_cavalry.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_medium_tank_flame_chassis" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_cavalry.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_heavy_tank_aa_chassis" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_catapult.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_heavy_tank_artillery_chassis" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_catapult.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_heavy_tank_destroyer_chassis" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_catapult.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_heavy_tank_amphibious_chassis" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_catapult.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_heavy_tank_flame_chassis" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_catapult.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_super_heavy_tank_aa_chassis" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_catapult.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_super_heavy_tank_artillery_chassis" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_catapult.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_super_heavy_tank_destroyer_chassis" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_catapult.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_modern_tank_aa_chassis" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_catapult.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_modern_tank_artillery_chassis" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_catapult.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_modern_tank_destroyer_chassis" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_catapult.dds" + } + + spriteType = { + name = "GFX_military_industrial_organization_gw_tank_equipment" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_catapult.dds" + } + + spriteType = { + name = "GFX_lotr_equipment_infantry_equipment" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_swords.dds" + } + + spriteType = { + name = "GFX_lotr_equipment_bow" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_bow.dds" + } + + spriteType = { + name = "GFX_lotr_equipment_crossbow" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_crossbow.dds" + } + + spriteType = { + name = "GFX_lotr_equipment_ballista" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_ballista.dds" + } + + spriteType = { + name = "GFX_lotr_equipment_windlance" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_ballista.dds" + } + + spriteType = { + name = "GFX_lotr_equipment_all_ballistae" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_ballista.dds" + } + + spriteType = { + name = "GFX_lotr_equipment_light_cavalry" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_cavalry.dds" + } + + spriteType = { + name = "GFX_lotr_equipment_cavalry_archers" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_cavalry.dds" + } + + spriteType = { + name = "GFX_lotr_equipment_cavalry_lancers" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_cavalry.dds" + } + + spriteType = { + name = "GFX_lotr_equipment_cavalry_heavy" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_cavalry.dds" + } + + spriteType = { + name = "GFX_lotr_equipment_all_light_cavalry" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_cavalry.dds" + } + + spriteType = { + name = "GFX_lotr_equipment_all_cavalry" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_cavalry.dds" + } + + spriteType = { + name = "GFX_lotr_equipment_trade_caravans" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_wheel.dds" + } + + spriteType = { + name = "GFX_lotr_equipment_chariots" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_wheel.dds" + } + + spriteType = { + name = "GFX_lotr_equipment_chariot_archers" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_wheel.dds" + } + + spriteType = { + name = "GFX_lotr_equipment_catapult" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_catapult.dds" + } + + spriteType = { + name = "GFX_lotr_equipment_siege_tower" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_catapult.dds" + } + + spriteType = { + name = "GFX_lotr_equipment_siege_trebuchet" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_trebuchet.dds" + } + + spriteType = { + name = "GFX_lotr_equipment_all_siege_machines" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_catapult.dds" + } + + spriteType = { + name = "GFX_lotr_equipment_eagle_fighters" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_eagle.dds" + } + + spriteType = { + name = "GFX_lotr_equipment_eagle_scouts" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_eagle.dds" + } + + spriteType = { + name = "GFX_lotr_equipment_eagle_bomber" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_eagle.dds" + } + + spriteType = { + name = "GFX_lotr_equipment_all_eagles" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_eagle.dds" + } + + spriteType = { + name = "GFX_lotr_equipment_magic" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_book.dds" + } + + spriteType = { + name = "GFX_lotr_equipment_convoy" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_ships.dds" + } + + spriteType = { + name = "GFX_lotr_equipment_longship" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_ships.dds" + } + + spriteType = { + name = "GFX_lotr_equipment_galley" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_ships.dds" + } + + spriteType = { + name = "GFX_lotr_equipment_sailing_ship" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_ships.dds" + } + + spriteType = { + name = "GFX_lotr_equipment_ship_of_the_line" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_ships.dds" + } + + spriteType = { + name = "GFX_lotr_equipment_multideck_ships" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_ships.dds" + } + + spriteType = { + name = "GFX_lotr_equipment_sail_ships" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_ships.dds" + } + + spriteType = { + name = "GFX_lotr_equipment_all_ships" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_ships.dds" + } + + spriteType = { + name = "GFX_lotr_equipment_all_siege_artillery" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_trebuchet.dds" + } + +} \ No newline at end of file diff --git a/interface/military_industrial_organization/industrial_organization_detail.gui b/interface/military_industrial_organization/industrial_organization_detail.gui new file mode 100644 index 000000000..56faaee37 --- /dev/null +++ b/interface/military_industrial_organization/industrial_organization_detail.gui @@ -0,0 +1,754 @@ +guiTypes = { + containerWindowType = { + name = "industrial_organisation_detail_window" + position = { x=-670 y=-350 } + size = { width=1280 height=720 } + orientation = center + moveable = yes + click_to_front = yes + + background = { + name = "Background" + spriteType ="GFX_tiled_plain_bg2" + } + + instantTextboxType = { + name = "industrial_org_name" + position = { x = 20 y = 9 } + textureFile = "" + font = "hoi_36header" + borderSize = {x = 0 y = 0} + text = "INDUSTRIAL_ORG_DETAIL_WINDOW_TITLE" + maxWidth = 430 + maxHeight = 20 + fixedsize = yes + format = left + } + + + containerWindowType = { + name = "tabs" + position = { x=370 y=14 } + size = { width = 100%% height = 30 } + + buttonType = { + name = "traits_tab" + position = { x = -340 y = -15 } + quadTextureSprite = "GFX_tab_large" + text = "INDUSTRIAL_ORG_DETAIL_WINDOW_TRAITS_TAB" + buttonFont = "hoi_20b" + frame = 2 + clicksound = click_default + Orientation = "CENTER" + } + + buttonType = { + name = "history_tab" + position = { x = -84 y = -15 } + quadTextureSprite = "GFX_tab_large" + buttonFont = "hoi_20b" + frame = 1 + text = "INDUSTRIAL_ORG_DETAIL_WINDOW_HISTORY_TAB" + clicksound = click_default + Orientation = "CENTER" + } + } + + containerWindowType = { + name = "top_left_window" + position = { x=5 y=50 } + size = { width=310 height=100 } + + background = { + name = "Background" + spriteType ="GFX_tiled_plain_bg" + } + + iconType = { + name = "icon" + position = { x=5 y=15 } + alwaystransparent = yes + spriteType = "GFX_land_battle_leader_skill_bg" + } + + containerWindowType = { + name = "size_icon_window" + position = { x = 65 y = 25 } + size = { width=42 height=60 } + + iconType = { + name = "size_icon" + spriteType = "GFX_land_battle_leader_skill_bg" + position = { x=0 y=0 } + alwaystransparent = yes + } + + instantTextboxType = { + name = "size" + position = { x = 2 y = 6 } + font = "hoi_20bs" + text = "42" + maxWidth = 30 + maxHeight = 18 + format = center + alwaystransparent = yes + } + } + + instantTextboxType = { + name = "points" + position = { x = 110 y = 35 } + font = "hoi_18mbs" + text = "POINTS" + maxWidth = 150 + maxHeight = 20 + fixedsize = yes + format = left + } + + positionType = { + name = "funds_progressbar_position" + position = { x = 110 y = 55 } + } + } + + containerWindowType = { + name = "industrial_organisation_flavortext_background" + size = { width=950 height=43 } + position = { x=320 y=50 } + + background = { + name = "Background" + spriteType ="GFX_tiled_plain_bg_small" + alwaystransparent = yes + } + } + + containerWindowType = { + name = "aggregated_bonuses_window" + position = { x=5 y=150 } + size = { width=310 height=560 } + margin = {left=20 top=20} + Orientation = upper_left + clipping = yes + scroll_wheel_factor = 40 + smooth_scrolling = yes + + background = { + name = "Background" + spriteType ="GFX_tiled_window2_1b_border" + } + + smoothListBoxType = { + # contains industrial_organisation_detail_modifier_item, industrial_organisation_detail_bonus_item, industrial_organisation_equipment_type_window + # or industrial_organisation_detail_separator + name = "aggregated_bonus_list" + position = { x = 0 y = 0 } + size = { x=268 y=450 } + scrollbartype = "standardlistbox_slider" + } + } + + containerWindowType = { + name = "open_policies_window" + position = { x = 20 y = 620 } + size = { width=270 height=80 } + + buttonType = { + name = "open_policies" + size = { x=268 y=80 } + spriteType ="GFX_MIO_policy_slot_button" + clicksound = click_default + } + + # either show the "open policy" text, or the currently attached policy + instantTextboxType = { + name = "open_policies_text" + position = { x = 0 y = 30 } + font = "hoi_20b" + text = "INDUSTRIAL_ORG_POLICY_BUTTON" + maxWidth = 268 + maxHeight = 60 + format = center + alwaystransparent = yes + } + instantTextboxType = { + name = "click_to_open_policies_text" + position = { x = 0 y = 45 } + text = "INDUSTRIAL_ORG_POLICY_WINDOW_INSTRUCTION_TT" + font = "hoi_20b" + maxWidth = 268 + maxHeight = 60 + format = center + alwaystransparent = yes + } + + iconType = { + name = "attached_policy_icon" + position = { x = 15 y = 15 } + alwaystransparent = yes + spriteType = "GFX_generic_mio_department_icon_infantry_quality" + alwaystransparent = yes + } + + instantTextboxType = { + name = "attached_policy_name" + position = { x = 80 y = 10 } + font = "hoi_20bs" + text = "name" + maxWidth = 160 + maxHeight = 80 + fixedsize = yes + format = left + alwaystransparent = yes + } + + } + + containerWindowType = { + name = "tree_scrollbar_window" + position = { x=320 y=50 } + size = { width=100%% height=-5 } + + background = { + name = "Background" + spriteType ="GFX_tiled_window_transparent" + } + + containerWindowType = { + name = "tree_window" + position = { x=0 y=00 } + size = { width=100%% height=100%% } + margin = { top = 0 left = 0 bottom = 0 right = 8} + horizontalScrollbar = "bottom_horizontal_slider" + scroll_wheel_factor = 37 + smooth_scrolling = yes + + background = { + name = "Background" + spriteType ="GFX_tiled_window_transparent" + } + + gridBoxType = { + # contains industrial_organisation_tree_window + name = "tree_list" + position = { x = 0 y = 0 } + slotsize = { width = 315 } + max_slots_horizontal = 100 + max_slots_vertical = 1 + format = "UPPER_LEFT" + } + } + } + + containerWindowType = { + name = "history_window" + position = { x=320 y=90 } + size = { width=-5 height=-5 } + + background = { + name = "Background" + spriteType ="GFX_tiled_plain_bg" + } + + containerWindowType = { + name = "variants_window" + position = { x=0 y=0 } + size = { width=478 height=620 } + + background = { + name = "Background" + spriteType ="GFX_tiled_window2_1b_border" + } + + instantTextboxType = { + name = "variants_window_header" + position = { x = 0 y = 20 } + font = "hoi_20bs" + text = "INDUSTRIAL_ORG_DETAIL_WINDOW_HISTORY_VARIANTS_HEADER" + maxWidth = 480 + maxHeight = 60 + fixedsize = yes + alwaystransparent = yes + format = center + } + + smoothListBoxType = { + # contains industrial_organisation_history_item + name = "variant_history_list" + position = { x = 12 y = 50 } + size = { x=445 y=535 } + scrollbartype = "standardlistbox_slider" + } + } + + containerWindowType = { + name = "prod_lines_window" + position = { x=475 y=0 } + size = { width=478 height=620 } + + background = { + name = "Background" + spriteType ="GFX_tiled_window2_1b_border" + } + + instantTextboxType = { + name = "prod_lines_window_header" + position = { x = 0 y = 20 } + font = "hoi_20bs" + text = "INDUSTRIAL_ORG_DETAIL_WINDOW_HISTORY_PRODUCTION_HEADER" + maxWidth = 480 + maxHeight = 60 + fixedsize = yes + alwaystransparent = yes + format = center + } + + smoothListBoxType = { + # contains industrial_organisation_history_item + name = "prod_line_history_list" + position = { x = 12 y = 50 } + size = { x=445 y=535 } + scrollbartype = "standardlistbox_slider" + } + } + + + } + + buttonType = { + name = "close_button" + position = { x = -38 y = 4 } + quadTextureSprite ="GFX_closebutton" + buttonFont = "Main_14_black" + shortcut = "ESCAPE" + Orientation = "UPPER_RIGHT" + clicksound = click_close + pdx_tooltip = "CLOSE" + } + + } + + containerWindowType = { + name = "industrial_organisation_tree_window" + size = { width=945 height=665 } + position = { x=0 y=0 } + + background = { + name = "Background" + spriteType ="GFX_MIO_details_background" + } + + containerWindowType = { + name = "tree_header" + position = { x = 0 y = 11 } + size = { width=945 height=24 } + + background = { + name = "Background" + spriteType ="GFX_tiled_window_transparent" + alwaystransparent = yes + } + + # here code will insert windows industrial_organisation_flavortext_window + } + + containerWindowType = { + name = "scrollbar_window" + position = { x = 45 y = 25 } + # Warning if size values are changed, scrollbar may be invisible, outside of the window + size = { width=905 height=640 } + + margin = { top = 0 left = 0 bottom = 20 right = 20} + verticalScrollbar = "right_vertical_slider" + horizontalScrollbar = "bottom_horizontal_slider" + scroll_wheel_factor = 37 + smooth_scrolling = yes + + background = { + name = "Background" + spriteType ="GFX_tiled_window_transparent" + alwaystransparent = yes + } + + containerWindowType = { + name = "traits_window" + position = { x = 0 y = 10 } + clipping = no + + background = { + name = "Background" + spriteType ="GFX_tiled_window_transparent" + alwaystransparent = yes + } + + positionType = { + name = "industrial_org_trait_tree_connection_offset_orientation_vertical" + position = {x=42 y=102} + } + + positionType = { + name = "industrial_org_trait_tree_connection_offset_orientation_horizontal" + position = {x=92 y=40 } + } + + # here code will add a tree of industrial_organisation_trait_entry + # and icons forming the connections between traits + } + } + } + + containerWindowType = { + name = "industrial_organisation_equipment_type_window" + size = { width=260 height=73 } + + background = { + name = "Background" + spriteType ="GFX_tiled_window_transparent" + } + + iconType ={ + name = "equipment_type_icon" + spriteType = "GFX_generic_mio_department_icon_infantry_offense" + position = {x=10 y=10} + alwaystransparent = yes + } + + instantTextboxType = { + name = "equipment_type_text" + position = { x = 60 y = 15 } + font = "hoi_16mbs" + text = "EQUIPMENT" + maxWidth = 180 + maxHeight = 20 + fixedsize = yes + format = left + alwaystransparent = yes + } + + containerWindowType = { + name = "design_team_bonuses_window" + size = { width=25 height=25 } + position = {x=60 y=32} + + iconType ={ + name = "design_team_bonuses_icon" + spriteType = "GFX_design_team_icon" + position = {x=0 y=0} + alwaystransparent = yes + } + + instantTextboxType = { + name = "design_team_bonuses_count" + position = { x=35 y=1 } + font = "hoi_20bs" + text = "0" + maxWidth = 30 + maxHeight = 20 + fixedsize = yes + format = left + alwaystransparent = yes + } + } + + containerWindowType = { + name = "manufacturer_bonuses_window" + size = { width=25 height=25 } + position = {x=120 y=32} + + iconType ={ + name = "manufacturer_bonuses_icon" + spriteType = "GFX_industrial_manufacturer_icon" + position = {x=0 y=0} + alwaystransparent = yes + } + + instantTextboxType = { + name = "manufacturer_bonuses_count" + position = { x=35 y=1 } + font = "hoi_20bs" + text = "0" + maxWidth = 30 + maxHeight = 20 + fixedsize = yes + format = left + } + } + } + + containerWindowType = { + name = "industrial_organisation_flavortext_window" + size = { width=250 height=80 } + + instantTextboxType = { + name = "flavortext" + position = { x = -50 y = 0 } + font = "hoi_20bs" + text = "flavor text" + maxWidth = 275 + fixedsize = yes + format = center + } + } + + containerWindowType = { + name = "industrial_organisation_trait_entry" + size = { width=87 height=117 } + clipping = no + + background = { + name = "Background" + spriteType ="GFX_tiled_window_transparent" + alwaystransparent = yes + } + + containerWindowType = { + name = "industrial_organisation_trait_icon" + orientation = center + + buttonType = { + name = "icon_frame" + frame = 3 + position = { x=-29 y=-40 } + quadTextureSprite ="GFX_industrial_org_trait_button" + } + + OverlappingElementsBoxType = { + # type industrial_organisation_bonus_type_icon + name = "bonus_icon_set" + position = { x=-21 y=14 } + size = { x = 50 y = 21 } + format = center + spacing = 0 + } + + + iconType = { + name = "trait_icon" + position = { x=-21 y=-32 } + alwaystransparent = yes + } + } + + instantTextboxType = { + name = "ai_value" + position = { x = 70 y = 20 } + font = "hoi_16mbs" + text = "AI: 0.002" + maxWidth = 40 + format = left + } + + } + + containerWindowType = { + name = "industrial_organisation_bonus_type_icon" + size = { width=23 height=33 } + + iconType = { + name = "icon" + position = { x=1 y=0 } + alwaystransparent = yes + } + } + + + containerWindowType = { + name = "industrial_organisation_detail_modifier_item" + size = { width=250 height=20 } + + background = { + name = "Background" + spriteType ="GFX_tiled_window_transparent" + } + + instantTextboxType = { + name = "modifier_text" + position = { x = 0 y = 0 } + font = "hoi_18mbs" + text = "MODIFIER" + maxWidth = 250 + maxHeight = 20 + fixedsize = no + format = left + alwaystransparent = yes + } + } + + containerWindowType = { + name = "industrial_organisation_detail_separator" + size = { width=250 height=30 } + margin = { top = 5 } + + background = { + name = "Background" + spriteType ="GFX_tiled_window_transparent" + } + + iconType = { + name = "officer_corps_title_bg" + position = { x = -16 y = 10 } + spriteType ="GFX_trait_separator" + alwaystransparent = yes + } + + instantTextboxType = { + name = "separator_name" + position = { x = 0 y = 0 } + font = "hoi_20bs" + text = "SEPARATOR" + maxWidth = 250 + maxHeight = 20 + fixedsize = yes + format = center + alwaystransparent = yes + } + } + + containerWindowType = { + name = "industrial_organisation_detail_bonuses_per_equipment_item" + size = { width=250 height=40 } + margin = { bottom = 10 } + + background = { + name = "Background" + spriteType ="GFX_tiled_window_transparent" + alwaystransparent = yes + } + + instantTextboxType = { + name = "equipment_types_text" + position = { x = 0 y = 0 } + font = "hoi_20bs" + text = "EQUIPMENT" + maxWidth = 250 + maxHeight = 20 + fixedsize = yes + format = left + alwaystransparent = yes + } + + smoothListBoxType = { + # contains industrial_organisation_detail_bonus_item + name = "bonuses_per_equipment_list" + position = { x = 0 y = 20 } + size = { x=250 y=560 } + } + } + + containerWindowType = { + name = "industrial_organisation_detail_bonus_item" + size = { width=250 height=20 } + + background = { + name = "Background" + spriteType ="GFX_tiled_window_transparent" + } + + instantTextboxType = { + name = "bonus_text" + position = { x = 0 y = 0 } + font = "hoi_18mbs" + text = "MODIFIER" + maxWidth = 250 + maxHeight = 20 + fixedsize = no + format = left + alwaystransparent = yes + } + } + + containerWindowType = { + name = "industrial_organisation_history_item" + size = { width=440 height=100 } + + background = { + name = "Background" + spriteType ="GFX_tiled_plain_bg" + } + + iconType = { + name = "equipment_icon" + position = { x = 220 y = 50 } + # alwaystransparent = yes + spriteType ="GFX_idea_unknown" + centerposition = yes + } + + instantTextboxType = { + name = "equipment_name" + position = { x = 20 y = 10 } + font = "hoi_18mbs" + text = "name" + maxWidth = 230 + maxHeight = 10 + fixedsize = yes + format = left + alwaystransparent = yes + } + + instantTextboxType = { + name = "equipment_archetype_name" + position = { x = 20 y = 30 } + font = "hoi_16mbs" + text = "archetype name" + maxWidth = 230 + maxHeight = 10 + fixedsize = yes + format = left + alwaystransparent = yes + } + + instantTextboxType = { + name = "flavor_fact" + position = { x = 20 y = 70 } + font = "hoi_18mbs" + text = "Researched : it was a tuesday" + maxWidth = 230 + maxHeight = 10 + fixedsize = yes + format = left + # alwaystransparent = yes + } + + buttonType = { + name = "upgrade_variant_button" + position = { x = 400 y = 35 } + quadTextureSprite ="GFX_designer_button_upgrade_strip" + buttonFont = "Main_14_black" + clicksound = click_default + } + } + + containerWindowType = { + name = "industrial_organisation_mutually_exclusive_item" + position = { x=74 y=30 } + size = { width = 1 height = 12 } #width will be set by code + clipping = no + iconType = { + name = "line_grey" + position = { x = 16 y = 10 } + spriteType = "GFX_focus_exclusive_line1" + frame = 1 + } + + iconType = { + name = "arrow_left" + position = { x = 0 y = 0 } + spriteType = "GFX_focus_link_exclusive" + frame = 2 + } + iconType = { + name = "arrow_right" + position = { x = 0 y = 0 } + spriteType = "GFX_focus_link_exclusive" + frame = 3 + } + iconType = { + name = "mid_icon" + position = { x = 0 y = 0 } + spriteType = "GFX_focus_link_exclusive" + frame = 1 + } + } +} \ No newline at end of file diff --git a/interface/military_industrial_organization/industrial_organization_list.gui b/interface/military_industrial_organization/industrial_organization_list.gui new file mode 100644 index 000000000..165a063c8 --- /dev/null +++ b/interface/military_industrial_organization/industrial_organization_list.gui @@ -0,0 +1,403 @@ +guiTypes = { + containerWindowType = { + name = "industrial_organisation_list_window" + fade_time = 500 + fade_type = linear + size = { width=550 height=667 } + show_sound = open_sub_window + moveable = yes + click_to_front = yes + + positionType = { + name = "position_default" + position = { x = 540 y = 80 } + } + + positionType = { + name = "position_equipment_designer" + position = { x = 265 y = 80 } + } + + positionType = { + name = "position_technology" + position = { x = 1045 y = 100 } + } + + background = { + name = "Background" + spriteType ="GFX_tiled_plain_bg" + } + + instantTextboxType = { + name = "header_text" + position = { x = 0 y = 4 } + font = "hoi_20b" + text = "INDUSTRIAL_ORG_LIST_WINDOW_TITLE" + maxWidth = 510 + maxHeight = 20 + format = center + } + + containerWindowType = { + name = "sorting_options" + position = { x = 5 y = 10 } + size = { width=540 height=80 } + + buttonType = { + name = "sort_size" + position = {x=11 y=39} + spriteType = "GFX_sort_skill" + clicksound = click_scroll + frame = 1 + } + + ButtonType = { + name = "sort_name" + position = {x=40 y=39} + spriteType = "GFX_sort_up_down_button_83x29" + buttonText = mio_sorting_name + buttonFont = "hoi_16mbs" + clicksound = click_scroll + frame = 1 + } + + ButtonType = { + name = "sort_cost" + position = {x=124 y=39} + spriteType = "GFX_sort_up_down_button_83x29" + buttonText = mio_sorting_task_cost + buttonFont = "hoi_16mbs" + clicksound = click_scroll + frame = 1 + } + + ButtonType = { + name = "sort_capacity" + position = {x=208 y=39} + spriteType = "GFX_sort_up_down_button_83x29" + buttonText = mio_sorting_task_capacity + buttonFont = "hoi_16mbs" + clicksound = click_scroll + frame = 1 + } + } + + containerWindowType = { + name = "filter_options" + position = { x = 5 y = 10 } + size = { width=540 height=80 } + + containerWindowType = { + name = "can_unlock_trait_filter" + position = { x=323 y=31 } + size = { width=20 height=20 } + + buttonType = { + name = "can_unlock_trait_filter_button" + spriteType ="GFX_icon_button_45x32" + position = { x=-24 y=9 } + clicksound = click_checkbox + } + + iconType ={ + name = "can_unlock_trait_icon" + spriteType = "GFX_refitting" + position = {x=-11 y=12} + alwaystransparent = yes + } + } + + containerWindowType = { + name = "materiel_filter" + position = { x=365 y=30 } + size = { width=20 height=20 } + + buttonType = { + name = "materiel_filter_button" + spriteType ="GFX_inf_art_checkbox" + position = { x=-24 y=9 } + clicksound = click_checkbox + } + } + + containerWindowType = { + name = "tank_filter" + position = { x=407 y=30 } + size = { width=20 height=20 } + + buttonType = { + name = "tank_filter_button" + spriteType ="GFX_armour_checkbox" + position = { x=-24 y=9 } + clicksound = click_checkbox + } + } + + containerWindowType = { + name = "plane_filter" + position = { x=449 y=30 } + size = { width=20 height=20 } + + buttonType = { + name = "plane_filter_button" + spriteType ="GFX_air_checkbox" + position = { x=-24 y=9 } + clicksound = click_checkbox + } + } + + containerWindowType = { + name = "ship_filter" + position = { x=491 y=30 } + size = { width=20 height=20 } + + buttonType = { + name = "ship_filter_button" + spriteType ="GFX_screen_ships_checkbox" + position = { x=-24 y=9 } + clicksound = click_checkbox + } + + } + } + + containerWindowType = { + name = "organisations" + position = { x = 0 y = 85 } + size = { width=550 height=-4 } + verticalScrollbar = "right_vertical_slider" + margin = { top = 4 bottom = 12} + scroll_wheel_factor = 98 + smooth_scrolling = yes + + background = { + name = "Background" + spriteType ="GFX_tiled_window2_1b_border" + } + + background = { + name = "Background" + quadTextureSprite ="GFX_tiled_generic_overlay_bg1_small" + position = { x = -1 y = 0 } + } + + smoothListBoxType = { + # contains industrial_organisation_list_item + name = "organisation_list" + position = { x = 15 y = 7 } + size = { x = 515 y = 552 } + scrollbartype = "standardlistbox_slider" + } + } + + buttonType = { + name = "close_button" + position = { x = -38 y = 4 } + quadTextureSprite ="GFX_closebutton" + buttonFont = "Main_14_black" + shortcut = "ESCAPE" + Orientation = "UPPER_RIGHT" + clicksound = click_close + pdx_tooltip = "CLOSE" + } + + } + + containerWindowType = { + name = "industrial_organisation_empty_list_item" + size = { width=520 height=100 } + + buttonType = { + name = "background_button" + spriteType ="GFX_mio_entry_bg" + } + + instantTextboxType = { + name = "empty_text" + position = { x = 10 y = 40 } + format = center + alwaystransparent = yes + font = "hoi_18mbs" + text = "Something something no MIO" + fixedsize = yes + maxWidth = 500 + maxHeight = 18 + } + } + + containerWindowType = { + name = "industrial_organisation_list_item" + size = { width=520 height=100 } + + buttonType = { + name = "background_button" + spriteType ="GFX_mio_entry_bg" + } + + instantTextboxType = { + name = "name" + position = { x = 125 y = 10 } + alwaystransparent = yes + font = "merienda_16_white" + text = "MIO name" + fixedsize = yes + maxWidth = 300 + maxHeight = 18 + } + + instantTextboxType = { + name = "initial_trait" + position = { x = 125 y = 35 } + alwaystransparent = yes + font = "merienda_13" + fixedsize = yes + maxWidth = 250 + maxHeight = 18 + } + + iconType = { + name = "icon" + position = { x=10 y=20 } + alwaystransparent = yes + } + + containerWindowType = { + name = "task_capacity_container" + position = { x = 398 y = 10 } + size = { width=93 height=60 } + + background = { + name = "Background" + spriteType ="GFX_div_count_bg" + frame = 1 + alwaystransparent = yes + } + + instantTextboxType = { + name = "task_capacity" + position = { x = 20 y = 6 } + alwaystransparent = no + font = "hoi_18mbs" + text = "1 / 1" + fixedsize = yes + maxWidth = 50 + maxHeight = 18 + format = center + } + } + + containerWindowType = { + name = "size_icon_window" + position = { x = 80 y = 20 } + size = { width=42 height=60 } + + iconType = { + name = "size_icon" + spriteType = "GFX_land_battle_leader_skill_bg" + position = { x=0 y=0 } + alwaystransparent = yes + } + + instantTextboxType = { + name = "size" + position = { x = 2 y = 6 } + font = "hoi_20bs" + text = "42" + maxWidth = 30 + maxHeight = 18 + format = center + alwaystransparent = yes + } + + iconType = { + name = "has_policy_icon" + position = { x=10 y=35 } + spriteType = "GFX_MIO_has_policy_icon" + alwaystransparent = yes + } + } + + containerWindowType = { + name = "equipment_icons_window" + position = { x = 100 y = 55 } + size = { width=400 height=43 } + + + OverlappingElementsBoxType = { + # type industrial_organisation_equipment_icon_item + name = "equipment_icons" + position = { x = 20 y = 0 } + size = { x = 350 y = 48 } + format = left + spacing = 0 + } + } + + instantTextboxType = { + name = "assign_cost" + position = { x = 305 y = 15 } + font = "hoi_18mbs" + text = "INDUSTRIAL_ORG_PP_COST" + fixedsize = yes + maxWidth = 90 + maxHeight = 66 + format = right + alwaystransparent = yes + } + + buttonType = { + name = "details_button" + position = {x=400 y=50} + quadTextureSprite ="GFX_leader_selection_button" + buttonText = INDUSTRIAL_ORG_OPEN_DETAILS_WINDOW + buttonFont = "hoi_16mbs" + clicksound = click_default + frame = 1 + } + + # used to recenter details_button in case task_capacity_container is not displayed + positionType = { + name = "details_button_position_no_task_capacity" + position = { x=400 y=30 } + } + + iconType ={ + name = "details_button_glow" + spriteType = "GFX_leader_selection_button_glow" + position = {x=400 y=50} + alwaystransparent = yes + } + + instantTextboxType = { + name = "ai_value" + position = { x = 60 y = 72 } + font = "hoi_16mbs" + text = "AI: 0.002" + maxWidth = 60 + format = left + } + } + + containerWindowType = { + name = "industrial_organisation_equipment_icon_item" + size = { width=70 height=48 } + + iconType = { + name = "icon" + spriteType = "GFX_generic_mio_department_icon_infantry_offense" + position = { x=0 y=0 } + scale = 0.8 + } + + instantTextboxType = { + name = "trait_level" + position = { x = 37 y = 15 } + font = "hoi_20bs" + text = "00" + maxWidth = 30 + maxHeight = 30 + format = left + alwaystransparent = yes + } + } +} diff --git a/interface/military_industrial_organization/industrial_organization_policies_and_traits_icons.gfx b/interface/military_industrial_organization/industrial_organization_policies_and_traits_icons.gfx new file mode 100644 index 000000000..59829cc4f --- /dev/null +++ b/interface/military_industrial_organization/industrial_organization_policies_and_traits_icons.gfx @@ -0,0 +1,1899 @@ +spriteTypes = { + + #################### + ##### POLICIES ##### + #################### + + #### General Policies ### + + spriteType = { + name = "GFX_mio_policy_ruthless_contracts" + texturefile = "gfx/interface/military_industrial_organization/policy_icons/mio_policy_ruthless_contracts.dds" + } + + spriteType = { + name = "GFX_mio_policy_assembly_line_optimisers" + texturefile = "gfx/interface/military_industrial_organization/policy_icons/mio_policy_assembly_line_optimisers.dds" + } + + spriteType = { + name = "GFX_mio_policy_vertical_integration" + texturefile = "gfx/interface/military_industrial_organization/policy_icons/mio_policy_vertical_integration.dds" + } + + spriteType = { + name = "GFX_mio_policy_mechanical_genius" + texturefile = "gfx/interface/military_industrial_organization/policy_icons/mio_policy_mechanical_genius.dds" + } + + spriteType = { + name = "GFX_mio_policy_experimental_development_teams" + texturefile = "gfx/interface/military_industrial_organization/policy_icons/mio_policy_experimental_development_teams.dds" + } + + #### Land Policies ### + + spriteType = { + name = "GFX_mio_policy_welding_specialists" + texturefile = "gfx/interface/military_industrial_organization/policy_icons/mio_policy_welding_specialists.dds" + } + + spriteType = { + name = "GFX_mio_policy_casting_specialists" + texturefile = "gfx/interface/military_industrial_organization/policy_icons/mio_policy_casting_specialists.dds" + } + + spriteType = { + name = "GFX_mio_policy_heavy_gantry_cranes_land" + texturefile = "gfx/interface/military_industrial_organization/policy_icons/mio_policy_heavy_gantry_cranes_land.dds" + } + + spriteType = { + name = "GFX_mio_policy_factory_applied_camouflage" + texturefile = "gfx/interface/military_industrial_organization/policy_icons/mio_policy_factory_applied_camouflage.dds" + } + + spriteType = { + name = "GFX_mio_policy_cutting_corners" + texturefile = "gfx/interface/military_industrial_organization/policy_icons/mio_policy_cutting_corners.dds" + } + + #### Air Policies ### + + spriteType = { + name = "GFX_mio_policy_perfect_finish" + texturefile = "gfx/interface/military_industrial_organization/policy_icons/mio_policy_perfect_finish.dds" + } + + spriteType = { + name = "GFX_mio_policy_heavy_gantry_cranes_air" + texturefile = "gfx/interface/military_industrial_organization/policy_icons/mio_policy_heavy_gantry_cranes_air.dds" + } + + spriteType = { + name = "GFX_mio_policy_propulsion_experimenters" + texturefile = "gfx/interface/military_industrial_organization/policy_icons/mio_policy_propulsion_experimenters.dds" + } + + spriteType = { + name = "GFX_mio_policy_wind_tunnel_pioneers" + texturefile = "gfx/interface/military_industrial_organization/policy_icons/mio_policy_wind_tunnel_pioneers.dds" + } + + spriteType = { + name = "GFX_mio_policy_modular_assembly" + texturefile = "gfx/interface/military_industrial_organization/policy_icons/mio_policy_modular_assembly.dds" + } + + #### Navy Policies ### + + spriteType = { + name = "GFX_mio_policy_space_efficient_design" + texturefile = "gfx/interface/military_industrial_organization/policy_icons/mio_policy_space_efficient_design.dds" + } + + spriteType = { + name = "GFX_mio_policy_stable_platforms" + texturefile = "gfx/interface/military_industrial_organization/policy_icons/mio_policy_stable_platforms.dds" + } + + spriteType = { + name = "GFX_mio_policy_great_sea_keeping" + texturefile = "gfx/interface/military_industrial_organization/policy_icons/mio_policy_great_sea_keeping.dds" + } + + spriteType = { + name = "GFX_mio_policy_coastal_battlefleet" + texturefile = "gfx/interface/military_industrial_organization/policy_icons/mio_policy_coastal_battlefleet.dds" + } + + + + ########################## + ##### GENERIC TRAITS ##### + ########################## + + #### DESIGN TRAITS ### + + # Replace all these .dds reference by the final icon when they are created and pushed + + spriteType = { + name = "GFX_generic_mio_trait_icon_ap_attack" + texturefile = "gfx/interface/military_industrial_organization/trait_icons/generic_mio_trait_icon_ap_attack.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_icon_hard_attack" + texturefile = "gfx/interface/military_industrial_organization/trait_icons/generic_mio_trait_icon_hard_attack.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_icon_soft_attack" + texturefile = "gfx/interface/military_industrial_organization/trait_icons/generic_mio_trait_icon_soft_attack.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_icon_breakthrough" + texturefile = "gfx/interface/military_industrial_organization/trait_icons/generic_mio_trait_icon_breakthrough.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_icon_defense" + texturefile = "gfx/interface/military_industrial_organization/trait_icons/generic_mio_trait_icon_defense.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_icon_build_cost_ic" + texturefile = "gfx/interface/military_industrial_organization/trait_icons/generic_mio_trait_icon_build_cost_ic.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_icon_fuel_consumption" + texturefile = "gfx/interface/military_industrial_organization/trait_icons/generic_mio_trait_icon_fuel_consumption.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_icon_maximum_speed" + texturefile = "gfx/interface/military_industrial_organization/trait_icons/generic_mio_trait_icon_maximum_speed.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_icon_reliability" + texturefile = "gfx/interface/military_industrial_organization/trait_icons/generic_mio_trait_icon_reliability.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_icon_armor_value" + texturefile = "gfx/interface/military_industrial_organization/trait_icons/generic_mio_trait_icon_armor_value.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_icon_hardness" + texturefile = "gfx/interface/military_industrial_organization/trait_icons/generic_mio_trait_icon_hardness.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_icon_air_attack" + texturefile = "gfx/interface/military_industrial_organization/trait_icons/generic_mio_trait_icon_anti_air_attack.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_icon_anti_air_attack" + texturefile = "gfx/interface/military_industrial_organization/trait_icons/generic_mio_trait_icon_anti_air_attack.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_icon_entrenchment" + texturefile = "gfx/interface/military_industrial_organization/trait_icons/generic_mio_trait_icon_entrenchment.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_icon_supply_consumption" + texturefile = "gfx/interface/military_industrial_organization/trait_icons/generic_mio_trait_icon_supply_consumption.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_icon_air_defence" + texturefile = "gfx/interface/military_industrial_organization/trait_icons/generic_mio_trait_icon_defense.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_icon_air_agility" + texturefile = "gfx/interface/military_industrial_organization/trait_icons/generic_mio_trait_icon_air_agility.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_icon_air_range" + texturefile = "gfx/interface/military_industrial_organization/trait_icons/generic_mio_trait_icon_naval_range.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_icon_weight" + texturefile = "gfx/interface/military_industrial_organization/trait_icons/generic_mio_trait_icon_weight.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_icon_air_superiority" + texturefile = "gfx/interface/military_industrial_organization/trait_icons/generic_mio_trait_icon_air_superiority.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_icon_night_penalty" + texturefile = "gfx/interface/military_industrial_organization/trait_icons/generic_mio_trait_icon_night_penalty.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_icon_air_ground_attack" + texturefile = "gfx/interface/military_industrial_organization/trait_icons/generic_mio_trait_icon_air_ground_attack.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_icon_naval_strike_attack" + texturefile = "gfx/interface/military_industrial_organization/trait_icons/generic_mio_trait_icon_torpedo_attack.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_icon_naval_strike_targetting" + texturefile = "gfx/interface/military_industrial_organization/trait_icons/generic_mio_trait_icon_naval_strike_targetting.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_icon_strategic_attack" + texturefile = "gfx/interface/military_industrial_organization/trait_icons/generic_mio_trait_icon_strategic_attack.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_icon_surface_detection" + texturefile = "gfx/interface/military_industrial_organization/trait_icons/generic_mio_trait_icon_surface_detection.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_icon_sub_detection" + texturefile = "gfx/interface/military_industrial_organization/trait_icons/generic_mio_trait_icon_sub_detection.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_icon_detection" #Represents both Surface & Sub detection together + texturefile = "gfx/interface/military_industrial_organization/trait_icons/generic_mio_trait_icon_detection.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_icon_mines" + texturefile = "gfx/interface/military_industrial_organization/trait_icons/generic_mio_trait_icon_mines.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_icon_naval_range" + texturefile = "gfx/interface/military_industrial_organization/trait_icons/generic_mio_trait_icon_naval_range.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_icon_naval_speed" + texturefile = "gfx/interface/military_industrial_organization/trait_icons/generic_mio_trait_icon_naval_speed.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_icon_max_strength" + texturefile = "gfx/interface/military_industrial_organization/trait_icons/generic_mio_trait_icon_max_strength.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_icon_naval_torpedo_damage_reduction_factor" + texturefile = "gfx/interface/military_industrial_organization/trait_icons/generic_mio_trait_icon_naval_torpedo_damage_reduction_factor.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_icon_hg_attack" + texturefile = "gfx/interface/military_industrial_organization/trait_icons/generic_mio_trait_icon_hg_attack.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_icon_lg_attack" + texturefile = "gfx/interface/military_industrial_organization/trait_icons/generic_mio_trait_icon_lg_attack.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_icon_batteries_hit_chance" + texturefile = "gfx/interface/military_industrial_organization/trait_icons/generic_mio_trait_icon_batteries_hit_chance.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_icon_torpedo_attack" + texturefile = "gfx/interface/military_industrial_organization/trait_icons/generic_mio_trait_icon_torpedo_attack.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_icon_sub_attack" + texturefile = "gfx/interface/military_industrial_organization/trait_icons/generic_mio_trait_icon_sub_attack.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_icon_sub_visibility" + texturefile = "gfx/interface/military_industrial_organization/trait_icons/generic_mio_trait_icon_sub_visibility.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_icon_naval_torpedo_hit_chance_factor" + texturefile = "gfx/interface/military_industrial_organization/trait_icons/generic_mio_trait_icon_naval_torpedo_hit_chance_factor.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_icon_surface_visibility" + texturefile = "gfx/interface/military_industrial_organization/trait_icons/generic_mio_trait_icon_surface_visibility.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_icon_unique" + texturefile = "gfx/interface/military_industrial_organization/trait_icons/generic_mio_trait_icon_unique.dds" + } + + + + + + + + + + ### PRODUCTION TRAITS ### + spriteType = { + name = "GFX_generic_mio_trait_icon_production_capacity" + texturefile = "gfx/interface/military_industrial_organization/trait_icons/generic_mio_trait_icon_production_capacity.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_icon_efficiency_cap" + texturefile = "gfx/interface/military_industrial_organization/trait_icons/generic_mio_trait_icon_efficiency_cap.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_icon_efficiency_gain" + texturefile = "gfx/interface/military_industrial_organization/trait_icons/generic_mio_trait_icon_efficiency_gain.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_icon_conversion_speed" + texturefile = "gfx/interface/military_industrial_organization/trait_icons/generic_mio_trait_icon_conversion_speed.dds" + } + + spriteType = { + name = "GFX_generic_mio_trait_icon_resources" + texturefile = "gfx/interface/military_industrial_organization/trait_icons/generic_mio_trait_icon_resources.dds" + } + + + + + ############################### + ##### GENERIC DEPARTMENTS ##### + ############################### + + spriteType = { + name = "GFX_generic_mio_department_icon_facilities" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_facilities.dds" + } + + ### INFANTRY EQUIPMENT DPT ### + spriteType = { + name = "GFX_generic_mio_department_icon_infantry_offense" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_infantry_offense.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_infantry_quality" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_infantry_quality.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_infantry_production" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_infantry_production.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_infantry_technology" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_infantry_technology.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_infantry_line_efficiency" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_infantry_line_efficiency.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_infantry_conversion" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_infantry_conversion.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_infantry_materials" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_infantry_materials.dds" + } + + + ### SUPPORT EQUIPMENT DPT ### + + spriteType = { + name = "GFX_generic_mio_department_icon_support_equipment" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_support_equipment.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_support_production" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_support_production.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_support_technology" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_support_technology.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_support_line_efficiency" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_support_line_efficiency.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_support_conversion" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_support_conversion.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_support_materials" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_support_materials.dds" + } + + + ### MOTORIZED EQUIPMENT DPT ### + + spriteType = { + name = "GFX_generic_mio_department_icon_motorized_engine" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_motorized_engine.dds" + } + + spriteType = { + name = "GFX_generic_mio_department_icon_motorized_production" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_motorized_production.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_motorized_technology" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_motorized_technology.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_motorized_line_efficiency" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_motorized_line_efficiency.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_motorized_conversion" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_motorized_conversion.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_motorized_materials" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_motorized_materials.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_motorized" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_motorized.dds" + } + + + + ### MECHANIZED EQUIPMENT DPT ### + spriteType = { + name = "GFX_generic_mio_department_icon_mechanized_engine" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_mechanized_engine.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_mechanized_hull" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_mechanized_hull.dds" + } + + spriteType = { + name = "GFX_generic_mio_department_icon_mechanized_production" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_mechanized_production.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_mechanized_technology" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_mechanized_technology.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_mechanized_line_efficiency" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_mechanized_line_efficiency.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_mechanized_conversion" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_mechanized_conversion.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_mechanized_materials" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_mechanized_materials.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_mechanized" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_mechanized.dds" + } + + + ### MOTORIZED & MECHANIZED EQUIPMENT DPT ### + spriteType = { + name = "GFX_generic_mio_department_icon_motorized_mechanized_engine" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_motorized_mechanized_engine.dds" + } + + spriteType = { + name = "GFX_generic_mio_department_icon_motorized_mechanized_production" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_motorized_mechanized_production.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_motorized_mechanized_technology" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_motorized_mechanized_technology.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_motorized_mechanized_line_efficiency" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_motorized_mechanized_line_efficiency.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_motorized_mechanized_conversion" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_motorized_mechanized_conversion.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_motorized_mechanized_materials" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_motorized_mechanized_materials.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_motorized" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_motorized.dds" + } + + + ### ARTILLERY DPT ### + + spriteType = { + name = "GFX_generic_mio_department_icon_artillery" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_artillery.dds" + } + + spriteType = { + name = "GFX_generic_mio_department_icon_artillery_production" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_artillery_production.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_artillery_technology" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_artillery_technology.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_artillery_line_efficiency" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_artillery_line_efficiency.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_artillery_conversion" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_artillery_conversion.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_artillery_materials" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_artillery_materials.dds" + } + + ### ANTI-AIR DPT ### + + spriteType = { + name = "GFX_generic_mio_department_icon_anti_air" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_anti_air.dds" + } + + spriteType = { + name = "GFX_generic_mio_department_icon_anti_air_production" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_anti_air_production.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_anti_air_technology" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_anti_air_technology.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_anti_air_line_efficiency" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_anti_air_line_efficiency.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_anti_air_conversion" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_anti_air_conversion.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_anti_air_materials" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_anti_air_materials.dds" + } + + ### ANTI-TANK DPT ### + + spriteType = { + name = "GFX_generic_mio_department_icon_anti_tank" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_anti_tank.dds" + } + + spriteType = { + name = "GFX_generic_mio_department_icon_anti_tank_production" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_anti_tank_production.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_anti_tank_technology" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_anti_tank_technology.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_anti_tank_line_efficiency" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_anti_tank_line_efficiency.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_anti_tank_conversion" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_anti_tank_conversion.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_anti_tank_materials" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_anti_tank_materials.dds" + } + + + ### ARMORED CAR DPT ### + spriteType = { + name = "GFX_generic_mio_department_icon_armored_car_engine" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_armored_car_engine.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_armored_car_defense" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_armored_car_defense.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_armored_car_offense" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_armored_car_offense.dds" + } + + spriteType = { + name = "GFX_generic_mio_department_icon_armored_car_production" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_armored_car_production.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_armored_car_technology" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_armored_car_technology.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_armored_car_line_efficiency" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_armored_car_line_efficiency.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_armored_car_conversion" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_armored_car_conversion.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_armored_car_materials" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_armored_car_materials.dds" + } + + + ### GENERAL TANK DPT ### + spriteType = { + name = "GFX_generic_mio_department_icon_tank_general_quality" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_tank_general_quality.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_tank_general_engine" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_tank_general_engine.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_tank_general_weapons" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_tank_general_weapons.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_tank_general_armor" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_tank_general_armor.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_tank_general_spg" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_tank_general_spg.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_tank_general_aa" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_tank_general_aa.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_tank_general_at" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_tank_general_at.dds" + } + + spriteType = { + name = "GFX_generic_mio_department_icon_tank_general_production" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_tank_general_production.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_tank_general_technology" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_tank_general_technology.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_tank_general_line_efficiency" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_tank_general_line_efficiency.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_tank_general_conversion" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_tank_general_conversion.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_tank_general_materials" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_tank_general_materials.dds" + } + + + + ### LIGHT TANK DPT ### + spriteType = { + name = "GFX_generic_mio_department_icon_tank_light_tank_quality" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_tank_light_tank_quality.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_tank_light_tank_engine" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_light_tank_engine.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_tank_light_tank_weapons" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_tank_light_tank_weapons.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_tank_light_tank_armor" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_tank_light_tank_armor.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_tank_light_tank_spg" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_tank_light_tank_spg.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_tank_light_tank_aa" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_tank_light_tank_aa.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_tank_light_tank_at" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_tank_light_tank_at.dds" + } + + spriteType = { + name = "GFX_generic_mio_department_icon_tank_light_tank_production" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_tank_light_tank_production.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_tank_light_tank_technology" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_tank_light_tank_technology.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_tank_light_tank_line_efficiency" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_tank_light_tank_line_efficiency.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_tank_light_tank_conversion" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_tank_light_tank_conversion.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_tank_light_tank_materials" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_tank_light_tank_materials.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_tank_light_tank" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_light_tank.dds" + } + + + ### MEDIUM TANK DPT ### + spriteType = { + name = "GFX_generic_mio_department_icon_tank_medium_tank_quality" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_tank_medium_tank_quality.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_tank_medium_tank_engine" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_tank_medium_tank_engine.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_tank_medium_tank_weapons" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_tank_medium_tank_weapons.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_tank_medium_tank_armor" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_tank_medium_tank_armor.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_tank_medium_tank_spg" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_tank_medium_tank_spg.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_tank_medium_tank_aa" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_tank_medium_tank_aa.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_tank_medium_tank_at" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_tank_medium_tank_at.dds" + } + + spriteType = { + name = "GFX_generic_mio_department_icon_tank_medium_tank_production" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_tank_medium_tank_production.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_tank_medium_tank_technology" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_tank_medium_tank_technology.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_tank_medium_tank_line_efficiency" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_tank_medium_tank_line_efficiency.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_tank_medium_tank_conversion" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_tank_medium_tank_conversion.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_tank_medium_tank_materials" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_tank_medium_tank_materials.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_tank_medium_tank" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_medium_tank.dds" + } + + + ### HEAVY TANK DPT ### + spriteType = { + name = "GFX_generic_mio_department_icon_tank_heavy_tank_quality" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_tank_heavy_tank_quality.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_tank_heavy_tank_engine" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_tank_heavy_tank_engine.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_tank_heavy_tank_weapons" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_tank_heavy_tank_weapons.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_tank_heavy_tank_armor" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_tank_heavy_tank_armor.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_tank_heavy_tank_spg" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_tank_heavy_tank_spg.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_tank_heavy_tank_aa" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_tank_heavy_tank_aa.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_tank_heavy_tank_at" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_tank_heavy_tank_at.dds" + } + + spriteType = { + name = "GFX_generic_mio_department_icon_tank_heavy_tank_production" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_tank_heavy_tank_production.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_tank_heavy_tank_technology" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_tank_heavy_tank_technology.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_tank_heavy_tank_line_efficiency" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_tank_heavy_tank_line_efficiency.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_tank_heavy_tank_conversion" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_tank_heavy_tank_conversion.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_tank_heavy_tank_materials" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_tank_heavy_tank_materials.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_tank_heavy_tank" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_heavy_tank.dds" + } + + + ############################ + ##### PLANES - GENERAL ##### + ############################ + + ### GENERAL PLANE DPT ### + spriteType = { + name = "GFX_generic_mio_department_icon_plane_general" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_general_combat.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_general_combat" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_general_combat.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_general_engine" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_general_engine.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_general_quality" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_general_quality.dds" + } + + spriteType = { + name = "GFX_generic_mio_department_icon_plane_general_production" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_general_production.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_general_technology" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_general_technology.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_general_line_efficiency" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_general_line_efficiency.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_general_conversion" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_general_conversion.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_general_materials" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_general_materials.dds" + } + + + + + ################################### + ##### PLANES - FRAME-SPECIFIC ##### + ################################### + + ### LIGHT PLANE DPT ### + spriteType = { + name = "GFX_generic_mio_department_icon_plane_light" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_light_combat.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_light_combat" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_light_combat.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_light_engine" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_light_engine.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_light_quality" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_light_quality.dds" + } + + spriteType = { + name = "GFX_generic_mio_department_icon_plane_light_production" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_light_production.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_light_technology" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_light_technology.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_light_line_efficiency" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_light_line_efficiency.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_light_conversion" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_light_conversion.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_light_materials" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_light_materials.dds" + } + + + ### MEDIUM PLANE DPT ### + spriteType = { + name = "GFX_generic_mio_department_icon_plane_medium" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_medium.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_medium_combat" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_medium_combat.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_medium_engine" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_medium_engine.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_medium_quality" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_medium_quality.dds" + } + + spriteType = { + name = "GFX_generic_mio_department_icon_plane_medium_production" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_medium_production.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_medium_technology" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_medium_technology.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_medium_line_efficiency" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_medium_line_efficiency.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_medium_conversion" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_medium_conversion.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_medium_materials" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_medium_materials.dds" + } + + + ### HEAVY PLANE DPT ### + spriteType = { + name = "GFX_generic_mio_department_icon_plane_heavy" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_heavy.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_heavy_combat" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_heavy_combat.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_heavy_engine" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_heavy_engine.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_heavy_quality" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_heavy_quality.dds" + } + + spriteType = { + name = "GFX_generic_mio_department_icon_plane_heavy_production" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_heavy_production.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_heavy_technology" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_heavy_technology.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_heavy_line_efficiency" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_heavy_line_efficiency.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_heavy_conversion" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_heavy_conversion.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_heavy_materials" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_heavy_materials.dds" + } + + + + ################################## + ##### PLANES - TYPE-SPECIFIC ##### + ################################## + + ### FIGHTER DPT ### + spriteType = { + name = "GFX_generic_mio_department_icon_plane_fighter" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_fighter.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_fighter_combat" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_fighter_combat.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_fighter_engine" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_fighter_engine.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_fighter_quality" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_fighter_quality.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_fighter_production" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_fighter_production.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_fighter_technology" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_fighter_technology.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_fighter_line_efficiency" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_fighter_line_efficiency.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_fighter_conversion" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_fighter_conversion.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_fighter_materials" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_fighter_materials.dds" + } + + + ### CAS DPT ### + spriteType = { + name = "GFX_generic_mio_department_icon_plane_cas" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_cas.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_cas_quality" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_cas_quality.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_cas_combat" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_cas_combat.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_cas_engine" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_cas_engine.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_cas_production" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_cas_production.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_cas_technology" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_cas_technology.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_cas_line_efficiency" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_cas_line_efficiency.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_cas_conversion" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_cas_conversion.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_cas_materials" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_cas_materials.dds" + } + + + ### NAVAL BOMBER DPT ### + spriteType = { + name = "GFX_generic_mio_department_icon_plane_naval_bomber" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_naval_bomber.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_naval_bomber_quality" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_naval_bomber_quality.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_naval_bomber_combat" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_naval_bomber_combat.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_naval_bomber_engine" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_naval_bomber_engine.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_naval_bomber_production" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_naval_bomber_production.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_naval_bomber_technology" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_naval_bomber_technology.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_naval_bomber_line_efficiency" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_naval_bomber_line_efficiency.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_naval_bomber_conversion" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_naval_bomber_conversion.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_naval_bomber_materials" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_naval_bomber_materials.dds" + } + + + ### TACTICAL BOMBER DPT ### + spriteType = { + name = "GFX_generic_mio_department_icon_plane_tactical_bomber" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_tactical_bomber.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_tactical_bomber_quality" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_tactical_bomber_quality.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_tactical_bomber_combat" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_tactical_bomber_combat.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_tactical_bomber_engine" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_tactical_bomber_engine.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_tactical_bomber_production" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_tactical_bomber_production.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_tactical_bomber_technology" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_tactical_bomber_technology.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_tactical_bomber_line_efficiency" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_tactical_bomber_line_efficiency.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_tactical_bomber_conversion" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_tactical_bomber_conversion.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_tactical_bomber_materials" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_tactical_bomber_materials.dds" + } + + + ### HEAVY FIGHTER DPT ### + spriteType = { + name = "GFX_generic_mio_department_icon_plane_heavy_fighter" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_heavy_fighter.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_heavy_fighter_quality" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_heavy_fighter_quality.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_heavy_fighter_combat" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_heavy_fighter_combat.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_heavy_fighter_engine" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_heavy_fighter_engine.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_heavy_fighter_production" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_heavy_fighter_production.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_heavy_fighter_technology" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_heavy_fighter_technology.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_heavy_fighter_line_efficiency" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_heavy_fighter_line_efficiency.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_heavy_fighter_conversion" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_heavy_fighter_conversion.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_heavy_fighter_materials" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_heavy_fighter_materials.dds" + } + + + ### SCOUT PLANE DPT ### + spriteType = { + name = "GFX_generic_mio_department_icon_plane_scout" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_scout.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_scout_quality" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_scout_quality.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_scout_combat" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_scout_combat.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_scout_engine" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_scout_engine.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_scout_production" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_scout_production.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_scout_technology" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_scout_technology.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_scout_line_efficiency" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_scout_line_efficiency.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_scout_conversion" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_scout_conversion.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_scout_materials" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_scout_materials.dds" + } + + + ### STRATEGIC BOMBER DPT ### + spriteType = { + name = "GFX_generic_mio_department_icon_plane_strategic_bomber" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_strategic_bomber.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_strategic_bomber_quality" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_strategic_bomber_quality.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_strategic_bomber_combat" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_strategic_bomber_combat.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_strategic_bomber_engine" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_strategic_bomber_engine.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_strategic_bomber_production" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_strategic_bomber_production.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_strategic_bomber_technology" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_strategic_bomber_technology.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_strategic_bomber_line_efficiency" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_strategic_bomber_line_efficiency.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_strategic_bomber_conversion" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_strategic_bomber_conversion.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_strategic_bomber_materials" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_strategic_bomber_materials.dds" + } + + + ### MARITIME PATROL DPT ### + spriteType = { + name = "GFX_generic_mio_department_icon_plane_maritime_patrol" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_maritime_patrol.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_maritime_patrol_quality" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_maritime_patrol_quality.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_maritime_patrol_combat" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_maritime_patrol_combat.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_maritime_patrol_engine" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_maritime_patrol_engine.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_maritime_patrol_production" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_maritime_patrol_production.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_maritime_patrol_technology" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_maritime_patrol_technology.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_maritime_patrol_line_efficiency" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_maritime_patrol_line_efficiency.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_maritime_patrol_conversion" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_maritime_patrol_conversion.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_maritime_patrol_materials" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_maritime_patrol_materials.dds" + } + + + + + ########################### + ##### SHIPS - GENERAL ##### + ########################### + + + spriteType = { + name = "GFX_generic_mio_department_icon_ship_capital_screen_armor" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_ship_capital_screen_armor.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_ship_capital_screen_weapons" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_ship_capital_screen_weapons.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_ship_capital_screen_utility" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_ship_capital_screen_utility.dds" + } + + + ### GENERAL SHIP DPT ### + + spriteType = { + name = "GFX_generic_mio_department_icon_ship_general" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_ship_general.dds" + } +# spriteType = { +# name = "GFX_generic_mio_department_icon_ship_general_armor" +# texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_ship_general_armor.dds" +# } +# spriteType = { +# name = "GFX_generic_mio_department_icon_ship_general_utility" +# texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_ship_general_utility.dds" +# } +# spriteType = { +# name = "GFX_generic_mio_department_icon_ship_general_weapons" +# texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_ship_general_weapons.dds" +# } + spriteType = { + name = "GFX_generic_mio_department_icon_ship_general_engine" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_ship_general_engine.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_ship_general_quality" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_ship_general_quality.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_ship_general_offense" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_ship_general_offense.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_ship_general_production" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_ship_general_production.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_ship_general_conversion" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_ship_general_conversion.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_ship_general_materials" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_ship_general_materials.dds" + } + + + + + + + + ################################# + ##### SHIPS - TYPE-SPECIFIC ##### + ################################# + + ### CAPITAL SHIP DPT ### + + spriteType = { + name = "GFX_generic_mio_department_icon_ship_capital_ship" + texturefile = "gfx/interface/military_industrial_organization/department_icons/GFX_generic_mio_department_icon_ship_capital_ship.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_ship_capital_ship_armor" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_ship_capital_ship_armor.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_ship_capital_ship_weapons" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_ship_capital_ship_weapons.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_ship_capital_ship_utility" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_ship_capital_ship_utility.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_ship_capital_ship_engine" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_ship_capital_ship_engine.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_ship_capital_ship_quality" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_ship_capital_ship_quality.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_ship_capital_ship_offense" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_ship_capital_ship_offense.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_ship_capital_ship_production" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_ship_capital_ship_production.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_ship_capital_ship_conversion" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_ship_capital_ship_conversion.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_ship_capital_ship_materials" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_ship_capital_ship_materials.dds" + } + + + ### SCREEN SHIP DPT ### + + spriteType = { + name = "GFX_generic_mio_department_icon_ship_screen_ship" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_ship_screen_ship.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_ship_screen_ship_armor" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_ship_screen_ship_armor.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_ship_screen_ship_engine" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_ship_screen_ship_engine.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_ship_screen_ship_offense" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_ship_screen_ship_offense.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_ship_screen_ship_quality" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_ship_screen_ship_quality.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_ship_screen_ship_utility" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_ship_screen_ship_utility.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_ship_screen_ship_weapons" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_ship_screen_ship_weapons.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_ship_screen_ship_production" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_ship_screen_ship_production.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_ship_screen_ship_conversion" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_ship_screen_ship_conversion.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_ship_screen_ship_materials" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_ship_screen_ship_materials.dds" + } + + + ### SUBMARINE SHIP DPT ### + + spriteType = { + name = "GFX_generic_mio_department_icon_ship_submarine" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_ship_submarine.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_ship_submarine_armor" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_ship_submarine_armor.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_ship_submarine_engine" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_ship_submarine_engine.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_ship_submarine_offense" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_ship_submarine_offense.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_ship_submarine_quality" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_ship_submarine_quality.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_ship_submarine_utility" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_ship_submarine_utility.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_ship_submarine_weapons" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_ship_submarine_weapons.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_ship_submarine_production" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_ship_submarine_production.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_ship_submarine_conversion" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_ship_submarine_conversion.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_ship_submarine_materials" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_ship_submarine_materials.dds" + } + + + + spriteType = { + name = "GFX_generic_mio_department_icon_ship_submarine_survivability" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_ship_submarine_survivability.dds" + } + + ### CARRIER SHIP DPT ### + + spriteType = { + name = "GFX_generic_mio_department_icon_ship_carrier" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_ship_carrier.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_ship_carrier_armor" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_ship_carrier_armor.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_ship_carrier_engine" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_ship_carrier_engine.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_ship_carrier_offense" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_ship_carrier_offense.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_ship_carrier_quality" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_ship_carrier_quality.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_ship_carrier_utility" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_ship_carrier_utility.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_ship_carrier_weapons" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_ship_carrier_weapons.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_ship_carrier_production" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_ship_carrier_production.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_ship_carrier_conversion" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_ship_carrier_conversion.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_ship_carrier_materials" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_ship_carrier_materials.dds" + } + + ### CARRIER PLANE CV CAS ### + + spriteType = { + name = "GFX_generic_mio_department_icon_plane_cv_cas" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_cv_cas.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_cv_cas_conversion" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_cv_cas_conversion.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_cv_cas_engine" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_cv_cas_engine.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_cv_cas_line_efficiency" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_cv_cas_line_efficiency.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_cv_cas_materials" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_cv_cas_materials.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_cv_cas_offense" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_cv_cas_offense.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_cv_cas_production" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_cv_cas_production.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_cv_cas_quality" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_cv_cas_quality.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_cv_cas_technology" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_cv_cas_technology.dds" + } + + ### CARRIER PLANE CV FIGHTER ### + + spriteType = { + name = "GFX_generic_mio_department_icon_plane_cv_fighter" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_cv_fighter.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_cv_fighter_conversion" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_cv_fighter_conversion.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_cv_fighter_engine" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_cv_fighter_engine.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_cv_fighter_line_efficiency" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_cv_fighter_line_efficiency.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_cv_fighter_materials" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_cv_fighter_materials.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_cv_fighter_offense" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_cv_fighter_offense.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_cv_fighter_production" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_cv_fighter_production.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_cv_fighter_quality" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_cv_fighter_quality.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_cv_fighter_technology" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_cv_fighter_technology.dds" + } + + ### CARRIER PLANE CV NAVAL BOMBER ### + + spriteType = { + name = "GFX_generic_mio_department_icon_plane_cv_naval_bomber" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_cv_naval_bomber.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_cv_naval_bomber_conversion" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_cv_naval_bomber_conversion.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_cv_naval_bomber_engine" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_cv_naval_bomber_engine.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_cv_naval_bomber_line_efficiency" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_cv_naval_bomber_line_efficiency.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_cv_naval_bomber_materials" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_cv_naval_bomber_materials.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_cv_naval_bomber_offense" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_cv_naval_bomber_offense.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_cv_naval_bomber_production" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_cv_naval_bomber_production.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_cv_naval_bomber_quality" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_cv_naval_bomber_quality.dds" + } + spriteType = { + name = "GFX_generic_mio_department_icon_plane_cv_naval_bomber_technology" + texturefile = "gfx/interface/military_industrial_organization/department_icons/generic_mio_department_icon_plane_cv_naval_bomber_technology.dds" + } + + spriteType = { + name = "GFX_idea_entry_bg_4" + texturefile = "gfx/interface/idea_entry_bg_4.dds" + } + + + + + + + + + + + + + ### Just for testing - clean up once we start on real stuff + spriteType = { + name = "GFX_industrial_org_no_department" + texturefile = "gfx/interface/ideas/idea_schneider.dds" + } + + spriteType = { + name = "GFX_industrial_org_department_mini_icon_placeholder" + texturefile = "gfx/interface/traits/trait_unknown.dds" + } + + spriteType = { + name = "GFX_industrial_org_trait_placeholder" + texturefile = "gfx/interface/traits/trait_unknown.dds" + } + + spriteType = { + name = "GFX_FRA_my_custom_mio" + texturefile = "gfx/interface/ideas/idea_FIN_crichton_vulcan.dds" + } + + spriteType = { + name = "GFX_my_custom_mio" + texturefile = "gfx/interface/ideas/idea_FIN_valtion_kivaaritehdas.dds" + } + + spriteType = { + name = "GFX_FRA_my_custom_mio_custom_1" + texturefile = "gfx/interface/military_industrial_organization/trait_icons/generic_mio_trait_icon_ap_attack.dds" + } + + spriteType = { + name = "GFX_my_custom_mio_custom_1" + texturefile = "gfx/interface/military_industrial_organization/trait_icons/generic_mio_trait_icon_hard_attack.dds" + } + + + ### end of testing stuff + + + + + + + spriteType = { + name = "GFX_industrial_org_trait_button" + texturefile = "gfx/interface/military_industrial_organization/mio_department_trait.dds" + noOfFrames = 3 + } + + spriteType = { + name = "GFX_country_spefific_org_trait_button" + texturefile = "gfx/interface/military_industrial_organization/mio_special_department_trait.dds" + noOfFrames = 3 + } + + spriteType = { + name = "GFX_design_team_trait_container" + texturefile = "gfx/interface/military_industrial_organization/mio_industrial_manufacturer_specialization.dds" + noOfFrames = 3 + } + + spriteType = { + name = "GFX_industrial_manufacturer_trait_container" + texturefile = "gfx/interface/military_industrial_organization/mio_design_team_specialization.dds" + noOfFrames = 3 + } + + spriteType = { + name = "GFX_MIO_policy_slot_button" + texturefile = "gfx/interface/military_industrial_organization/MIO_policy_slot_button.dds" + } + + spriteType = { + name = "GFX_industrial_org_numerals_for_traits" + texturefile = "gfx/interface/military_industrial_organization/MIO_numerals.dds" + noOfFrames = 5 + } + + spriteType = { + name = "GFX_mio_entry_bg" + texturefile = "gfx/interface/military_industrial_organization/mio_entry_bg.dds" + noOfFrames = 2 + } + + spriteType = { + name = "GFX_research_line_mio_bg" + texturefile = "gfx/interface/military_industrial_organization/research_line_mio_bg.dds" + } + + spriteType = { + name = "GFX_industrial_manufacturer_icon" + texturefile = "gfx/interface/military_industrial_organization/Industrial_manufacturer_icon.dds" + } + + spriteType = { + name = "GFX_design_team_icon" + texturefile = "gfx/interface/military_industrial_organization/design_team_icon.dds" + } + + # spriteType = { + # name = "GFX_generic_mio_trait_icon_facilities" + # texturefile = "gfx/interface/military_industrial_organization/generic_mio_trait_icon_facilities.dds" + # } + + spriteType = { + name = "GFX_organization_modifier_icon" + texturefile = "gfx/interface/military_industrial_organization/generic_mio_trait_icon_facilities.dds" + } + + spriteType = { + name = "GFX_production_item_has_mio" + texturefile = "gfx/interface/military_industrial_organization/production_item_has_mio.dds" + } + + spriteType = { + name = "GFX_attach_manufacturer" + texturefile = "gfx/interface/military_industrial_organization/attach_manufacturer.dds" + } + + spriteType = { + name = "GFX_tank_mio_roster" + texturefile = "gfx/interface/military_industrial_organization/tank_mio_roster.dds" + } + spriteType = { + name = "GFX_ship_mio_roster" + texturefile = "gfx/interface/military_industrial_organization/ship_mio_roster.dds" + } + spriteType = { + name = "GFX_material_mio_roster" + texturefile = "gfx/interface/military_industrial_organization/material_mio_roster.dds" + } + spriteType = { + name = "GFX_aircraft_mio_roster" + texturefile = "gfx/interface/military_industrial_organization/aircraft_mio_roster.dds" + } + spriteType = { + name = "GFX_MIO_has_policy_icon" + texturefile = "gfx/interface/military_industrial_organization/MIO_has_policy_icon.dds" + } + spriteType = { + name = "GFX_MIO_details_background" + texturefile = "gfx/interface/military_industrial_organization/mio_details_background.dds" + } + +} \ No newline at end of file diff --git a/interface/national_spirit_icons.gfx b/interface/national_spirit_icons.gfx new file mode 100644 index 000000000..697108e8d --- /dev/null +++ b/interface/national_spirit_icons.gfx @@ -0,0 +1,183 @@ +spriteTypes = { + # This file was auto-generated by gfx_spirits.py + spriteType = { + name = "GFX_idea_one_ring" + texturefile = "gfx/interface/ideas/national_spirits/one_ring.dds" + } + + spriteType = { + name = "GFX_idea_sauron_eye" + texturefile = "gfx/interface/ideas/national_spirits/sauron_eye.dds" + } + + spriteType = { + name = "GFX_idea_idea_ea_resolution_icon_alliance" + texturefile = "gfx/interface/ideas/national_spirits/elven_alliance/idea_ea_resolution_icon_alliance.dds" + } + + spriteType = { + name = "GFX_idea_idea_ea_resolution_icon_expansion" + texturefile = "gfx/interface/ideas/national_spirits/elven_alliance/idea_ea_resolution_icon_expansion.dds" + } + + spriteType = { + name = "GFX_idea_idea_ea_resolution_icon_hegemony" + texturefile = "gfx/interface/ideas/national_spirits/elven_alliance/idea_ea_resolution_icon_hegemony.dds" + } + + spriteType = { + name = "GFX_idea_idea_ea_resolution_icon_industry" + texturefile = "gfx/interface/ideas/national_spirits/elven_alliance/idea_ea_resolution_icon_industry.dds" + } + + spriteType = { + name = "GFX_idea_idea_ea_resolution_icon_martial" + texturefile = "gfx/interface/ideas/national_spirits/elven_alliance/idea_ea_resolution_icon_martial.dds" + } + + spriteType = { + name = "GFX_idea_idea_ea_resolution_icon_peace" + texturefile = "gfx/interface/ideas/national_spirits/elven_alliance/idea_ea_resolution_icon_peace.dds" + } + + spriteType = { + name = "GFX_idea_idea_ea_resolution_icon_research" + texturefile = "gfx/interface/ideas/national_spirits/elven_alliance/idea_ea_resolution_icon_research.dds" + } + + spriteType = { + name = "GFX_idea_idea_ea_resolution_icon_trade" + texturefile = "gfx/interface/ideas/national_spirits/elven_alliance/idea_ea_resolution_icon_trade.dds" + } + + spriteType = { + name = "GFX_idea_idea_ea_resolution_icon_union" + texturefile = "gfx/interface/ideas/national_spirits/elven_alliance/idea_ea_resolution_icon_union.dds" + } + + spriteType = { + name = "GFX_idea_immortal_endurance" + texturefile = "gfx/interface/ideas/national_spirits/LTH/immortal_endurance.dds" + } + + spriteType = { + name = "GFX_idea_limited_intervention" + texturefile = "gfx/interface/ideas/national_spirits/LTH/limited_intervention.dds" + } + + spriteType = { + name = "GFX_idea_lth_aegis_of_light" + texturefile = "gfx/interface/ideas/national_spirits/LTH/lth_aegis_of_light.dds" + } + + spriteType = { + name = "GFX_idea_lth_anduin_commerce" + texturefile = "gfx/interface/ideas/national_spirits/LTH/lth_anduin_commerce.dds" + } + + spriteType = { + name = "GFX_idea_lth_blades_of_the_eldar" + texturefile = "gfx/interface/ideas/national_spirits/LTH/lth_blades_of_the_eldar.dds" + } + + spriteType = { + name = "GFX_idea_lth_cele_and_gala" + texturefile = "gfx/interface/ideas/national_spirits/LTH/lth_cele_and_gala.dds" + } + + spriteType = { + name = "GFX_idea_lth_cele_and_gala_mended" + texturefile = "gfx/interface/ideas/national_spirits/LTH/lth_cele_and_gala_mended.dds" + } + + spriteType = { + name = "GFX_idea_lth_decadent_nobility" + texturefile = "gfx/interface/ideas/national_spirits/LTH/lth_decadent_nobility.dds" + } + + spriteType = { + name = "GFX_idea_lth_elven_factions" + texturefile = "gfx/interface/ideas/national_spirits/LTH/lth_elven_factions.dds" + } + + spriteType = { + name = "GFX_idea_lth_fate_of_mortals" + texturefile = "gfx/interface/ideas/national_spirits/LTH/lth_fate_of_mortals.dds" + } + + spriteType = { + name = "GFX_idea_lth_great_schism" + texturefile = "gfx/interface/ideas/national_spirits/LTH/lth_great_schism.dds" + } + + spriteType = { + name = "GFX_idea_lth_last_eldar" + texturefile = "gfx/interface/ideas/national_spirits/LTH/lth_last_eldar.dds" + } + + spriteType = { + name = "GFX_idea_lth_last_stand" + texturefile = "gfx/interface/ideas/national_spirits/LTH/lth_last_stand.dds" + } + + spriteType = { + name = "GFX_idea_lth_loose_giant" + texturefile = "gfx/interface/ideas/national_spirits/LTH/lth_loose_giant.dds" + } + + spriteType = { + name = "GFX_idea_lth_meritocracy" + texturefile = "gfx/interface/ideas/national_spirits/LTH/lth_meritocracy.dds" + } + + spriteType = { + name = "GFX_idea_lth_noldor_elite" + texturefile = "gfx/interface/ideas/national_spirits/LTH/lth_noldor_elite.dds" + } + + spriteType = { + name = "GFX_idea_lth_peasant_assembly" + texturefile = "gfx/interface/ideas/national_spirits/LTH/lth_peasant_assembly.dds" + } + + spriteType = { + name = "GFX_idea_lth_sacred_trees" + texturefile = "gfx/interface/ideas/national_spirits/LTH/lth_sacred_trees.dds" + } + + spriteType = { + name = "GFX_idea_lth_sacred_trees_fading" + texturefile = "gfx/interface/ideas/national_spirits/LTH/lth_sacred_trees_fading.dds" + } + + spriteType = { + name = "GFX_idea_lth_sealed_borders" + texturefile = "gfx/interface/ideas/national_spirits/LTH/lth_sealed_borders.dds" + } + + spriteType = { + name = "GFX_idea_lth_silvan_elite_warriors" + texturefile = "gfx/interface/ideas/national_spirits/LTH/lth_silvan_elite_warriors.dds" + } + + spriteType = { + name = "GFX_idea_lth_silverthorn_arrows" + texturefile = "gfx/interface/ideas/national_spirits/LTH/lth_silverthorn_arrows.dds" + } + + spriteType = { + name = "GFX_idea_lth_sky_soil_and_water" + texturefile = "gfx/interface/ideas/national_spirits/LTH/lth_sky_soil_and_water.dds" + } + + spriteType = { + name = "GFX_idea_lth_total_isolation" + texturefile = "gfx/interface/ideas/national_spirits/LTH/lth_total_isolation.dds" + } + + spriteType = { + name = "GFX_idea_lth_unflinching_defender" + texturefile = "gfx/interface/ideas/national_spirits/LTH/lth_unflinching_defender.dds" + } + +} diff --git a/interface/nationalfocusview.gui b/interface/nationalfocusview.gui new file mode 100644 index 000000000..4187c5ca5 --- /dev/null +++ b/interface/nationalfocusview.gui @@ -0,0 +1,1014 @@ +guiTypes = { + + containerWindowType = { + name = "nationalfocusview" + position = { x=-3 y=78 } + size = { width = 100%% height = 100%% } + + background = { + name = "Background" + quadTextureSprite ="GFX_tiled_plain_bg2" + } + + instantTextboxType = { + name = "national_focus_title" + position = { x = 45 y = 8 } + textureFile = "" + font = "hoi_36header" + borderSize = {x = 0 y = 0} + text = "NATIONAL_FOCUS_TITLE" + maxWidth = 500 + maxHeight = 20 + format = left + } + + ### start search field + + containerWindowType = { + name = "find_view" + position = { x=-344 y=8 } + size = { width=385 height=300 } + Orientation = upper_right + clipping = no + + buttonType = { # hidden button for openning currently focused button + name = "open_focus" + position = { x = -1000 y = -5000 } + quadTextureSprite = "gfx_transparency_white" + centerposition = yes + shortcut = "RETURN" + } + + iconType ={ + name ="find_editbox_bg" + spriteType = "GFX_FOCUS_FILTER_FIND_BG" + position = {x=1 y=1} + tooltip = "FOCUS_SEARCH_TOOLTIP" + } + + editBoxType = { + name = "to_find_text" + position = { x=41 y=14 } + size = { x=150 y=25 } + font = "hoi_16mbs" + text = "" + tooltip = "FOCUS_SEARCH_TOOLTIP" + } + + instantTextboxType = { + name = "found_text" + position = { x = -155 y = 12 } + font = "hoi_18mbs" + borderSize = {x = 0 y = 0} + text = "" + maxWidth = 150 + maxHeight = 100 + format = right + } + + instantTextboxType = { + name = "type_to_search_text" + position = { x = 40 y = 12 } + font = "hoi_18mbs" + borderSize = {x = 0 y = 0} + text = "FOCUS_SEARCH_TYPE_TEXT" + maxWidth = 160 + maxHeight = 100 + format = left + } + + buttonType = { + name = "clear_search" + position = { x = 185 y = 21 } + quadTextureSprite = "GFX_focus_clear_text" + centerposition = yes + } + } + + ### end search field + + ### start zoom slider + + containerWindowType = { + name = "zoom_slider_container" + position = {x=-233 y=10} + Orientation = UPPER_RIGHT + size = {width=244 height=37} + + buttonType = { + name = "zoom_out" + position = { x = 35 y = 0 } + quadTextureSprite = "GFX_focus_zoom_in" + centerposition = yes + Orientation = CENTER + tooltip = FOCUS_ZOOM_SLIDER_TOOLTIP + shortcut = "PAGE_UP" + } + buttonType = { + name = "zoom_in" + position = { x = 0 y = 0 } + quadTextureSprite = "GFX_focus_zoom_out" + centerposition = yes + Orientation = CENTER + tooltip = FOCUS_ZOOM_SLIDER_TOOLTIP + shortcut = "PAGE_DOWN" + } + } + + ### end zoom slider + + containerWindowType = { + name = "tree" + position = { x=0 y=47 } + size = { width = 100%% height = 100%% } + margin = { top = 13 left = 13 bottom = 24 right = 25} + drag_scroll = { left middle } + verticalScrollbar = "right_vertical_slider" + horizontalScrollbar = "bottom_horizontal_slider" + + background = { + name = "Background" + quadTextureSprite ="GFX_tiled_bg" + } + + background = { + name = "Background" + quadTextureSprite ="GFX_tiled_focus_bg" + } + + containerWindowType = { + name = "techtree_stripes" + position = { x= 0 y= 10 } + size = { width = 50 height = 50 } + clipping = no + + } + + containerWindowType = { + name = "grid_window" + position = { x=0 y=0 } + size = { width = 100%% height = 100%% } + + gridboxtype = { + name = "grid" + position = { x = 50 y = 50 } + slotsize = { width = 1 height = 1 } + format = "UP" + } + + iconType ={ + name ="tutorial_glow_1" + spriteType = "GFX_tutorial_national_focus_icon_glow" + position = { x= 252 y = 20 } + Orientation = "UPPER_LEFT" + hide = yes + } + iconType ={ + name ="tutorial_glow_2" + spriteType = "GFX_tutorial_national_focus_icon_glow" + position = { x= 829 y = 20 } + Orientation = "UPPER_LEFT" + hide = yes + } + iconType ={ + name ="tutorial_glow_3" + spriteType = "GFX_tutorial_national_focus_icon_glow" + position = { x= 1116 y = 150 } + Orientation = "UPPER_LEFT" + hide = yes + } + iconType ={ + name ="tutorial_glow_4" + spriteType = "GFX_tutorial_national_focus_icon_glow" + position = { x= 1308 y = 150 } + Orientation = "UPPER_LEFT" + hide = yes + } + + containerWindowType = { + name = "focus_tree_scripted_window_container" + position = { x=0 y=0 } + } + + containerWindowType = { + name = "continuous_focus_window" + position = { x=0 y=0 } + size = { width = 770 height = 380 } + margin = { top = 13 left = 0 bottom = 13 right = 13} + drag_scroll = { left middle } + clipping = no + + background = { + name = "Background" + quadTextureSprite ="GFX_tiled_window_thin_border2" + } + + instantTextboxType = { + name = "continuous_focus_title" + position = { x = 20 y = 8 } + textureFile = "" + font = "hoi_36header" + borderSize = {x = 0 y = 0} + text = "CONTINUOUS_FOCUS_TREE_HEADER" + maxWidth = 350 + maxHeight = 20 + format = left + } + + instantTextboxType = { + name = "continuous_focus_desc" + position = { x = 23 y = 56 } + textureFile = "" + font = "hoi_16mbs" + borderSize = {x = 0 y = 0} + text = "CONTINUOUS_FOCUS_TREE_DESC" + maxWidth = 300 + maxHeight = 100 + } + + containerWindowType = { + name = "focus_progress_window" + position = { x=360 y=10 } + size = { width=395 height=67 } + clipping = no + + background = { + name = "Background" + quadTextureSprite ="GFX_mini_tooltip" + } + + instantTextboxType = { + name = "continuous_focus_progress" + position = { x = 20 y = 10 } + textureFile = "" + font = "hoi_18mbs" + borderSize = { x = 0 y = 0 } + text = "" + maxWidth = 360 + maxHeight = 100 + format = center + } + + gridBoxType = { + name = "progress_grid" + position = {x=12 y=31} + size = { width=100%% height=100%% } + slotsize = { width=38 height=30 } + max_slots_vertical = 1 + format = "UPPER_LEFT" + } + } + + containerWindowType = { + name = "entries" + position = { x=13 y=80 } + size = { width=744 height=280 } + verticalScrollbar = "right_vertical_slider" + clipping = yes + + background = { + name = "Background" + spriteType ="GFX_tiled_paper_bg2" + alwaystransparent = yes + } + + gridBoxType = { + name = "list" + position = {x=16 y=33} + size = { width=100%% height=100%% } + slotsize = { width=180 height=120 } + max_slots_horizontal = 4 + format = "UPPER_LEFT" + } + } + } + } + + containerWindowType = { + name = "search_tooltip" + position = { x=1800 y=200 } + size = { width = 30 height = 30 } + + positionType = { + name = "pos_add_at_left_top" + position = { x = 0 y = 0 } + } + positionType = { + name = "pos_add_at_right_top" + position = { x = 0 y = 0 } + } + positionType = { + name = "pos_add_at_left_bottom" + position = { x = 0 y = 0 } + } + positionType = { + name = "pos_add_at_right_bottom" + position = { x = 0 y = 0 } + } + + positionType = { + name = "pos_threshold_for_panning_elements" + position = { x = 150 y = 250 } #first one is min threshold from edge to move scroll bars. second one is how much threshold we want on edge after moving + } + + background = { + name = "Background" + quadTextureSprite ="GFX_focus_tooltip" + } + + instantTextboxType = { + name = "tooltip_text" + position = { x = 13 y = 13 } + font = "cg_16b" + text = "Hello world!" + maxWidth = 345 + maxHeight = 20 + format = left + vertical_alignment = top + alwaystransparent = yes + } + } + } + + containerWindowType = { + name = "lotr_focustree_guihook" + position = { x=500 y=7 } + size = { width = 200 height = 90 } + Orientation = UPPER_LEFT + } + + containerWindowType = { + name = "filter_container" + position = { x=-770 y=7 } + size = { width = 200 height = 90 } + Orientation = UPPER_RIGHT + + + gridboxtype = { + name = "filter_icon_grid" + position = { x = 0 y = 0 } + size = { width = 320 height = 40 } + slotsize = { width = 37 height = 36 } + max_slots_horizontal = 12 + max_slots_vertical = 1 + format = "UPPER_RIGHT" + } + } + + containerWindowType = { + name = "filter_grid_main_container" + position = { x=-531 y=44 } + size = { width = 220 height = 400 } + Orientation = UPPER_RIGHT + clipping = yes + + containerWindowType = { + name = "filter_grid_bg_container" + + position = { x=0 y=-200 } + show_position = { x=0 y = 0 } + size = { width = 100 height = 400 } + show_animation_type = decelerated + hide_animation_type = accelerated + animation_time = 300 + + background = { + name = "Background" + spriteType ="GFX_tiled_window_transparent" + } + + containerWindowType = { + name = "filter_grid_container" + position = { x= 0 y = 10 } + size = { width = 105 height = 380 } + + verticalScrollbar = "right_vertical_slider" + + background = { + name = "Background" + spriteType ="GFX_tiled_window_transparent" + } + + gridboxtype = { + name = "grid" + position = { x = 20 y = 0 } + size = { width = 80 height = 100%% } + slotsize = { width = 45 height = 45 } + max_slots_horizontal = 1 + } + } + + } + } + + buttonType = { + name = "close_button" + position = { x = -45 y = 13 } + quadTextureSprite ="GFX_closebutton" + buttonFont = "Main_14_black" + shortcut = "ESCAPE" + Orientation = "UPPER_RIGHT" + clicksound = click_close + pdx_tooltip = "CLOSE" + } + } + + containerWindowType = { + name = "continuous_national_focus_item" + position = { x=0 y=0 } + size = { width = 80 height = 124 } + clipping = no + + iconType = { + name = "continuous_glow" + position = { x = 17 y = -40 } + quadTextureSprite = "GFX_ongoing_focus_goal" + } + + buttonType = { + name = "bg" + quadTextureSprite ="GFX_technology_unavailable_item_bg" + position = { x= 5 y = 40 } + } + + buttonType = { + name = "symbol" + position = { x = 40 y = -18 } + quadTextureSprite = "GFX_goal_unknown" + } + + instantTextboxType = { + name = "name" + position = { x = 15 y = 58 } + font = "hoi_16mbs" + text = "" + maxWidth = 145 + maxHeight = 20 + format = center + vertical_alignment = center + alwaystransparent = yes + } + + iconType = { + name = "pol_power_icon" + position = { x = 120 y = 20 } + quadTextureSprite = "GFX_pol_power_icon" + } + + instantTextboxType = { + name = "focus_cost" + position = { x = 147 y = 27 } + font = "hoi_16mbs" + text = "2" + maxWidth = 145 + maxHeight = 20 + format = left + alwaystransparent = yes + } + + } + + containerWindowType = { + name = "national_focus_item" + position = { x=0 y=0 } + size = { width = 165 height = 128 } + clipping = no + + + iconType = { + name = "continuous_glow" + position = { x = 17 y = -40 } + quadTextureSprite = "GFX_ongoing_focus_goal" + } + + iconType = { + name = "highlight_glow" + position = { x = 17 y = -40 } + quadTextureSprite = "GFX_highlight_focus_goal" + } + + buttonType = { + name = "bg" + quadTextureSprite ="GFX_technology_unavailable_item_bg" + position = { x= 5 y = 43 } + } + + buttonType = { + name = "symbol" + position = { x = 5 y = -44 } + quadTextureSprite = "GFX_goal_unknown" + centerposition = yes + Orientation = CENTER + } + + iconType = { + name = "historical" + position = { x = 140 y = 71 } + spriteType = "GFX_own_chat" + pdx_tooltip = "HISTORICAL_FOCUS" + } + + instantTextboxType = { + name = "name" + position = { x = 15 y = 58 } + font = "merienda_13" + text = "" + maxWidth = 147 + maxHeight = 20 + format = center + vertical_alignment = center + alwaystransparent = yes + } + + iconType = { + name = "viewing_flag" + quadTextureSprite ="GFX_flag_small2" + position = { x=110 y=30 } + Orientation = "UPPER_LEFT" + } + + iconType ={ + name ="viewing_flag_border" + quadTextureSprite = "GFX_diplo_countrylist_flag_frame" + position = { x= 105 y = 25 } + alwaystransparent = yes + } + } + + containerWindowType = { + name = "progress_focus_item" + position = { x= 0 y= 0 } + size = { width = 30 height = 30 } + clipping = no + + iconType = { + name = "checked_icon" + spriteType = "GFX_cont_focus_check_icon" +# frame = 1 + } + } + + containerWindowType = { + name = "national_focus_link" + position = { x=-2 y=0 } + size = { width = 16 height = 16 } + clipping = no + + iconType = { + name = "link" + spriteType = "GFX_focus_link_up_down" + frame = 1 + alwaystransparent = yes + } + } + + containerWindowType = { + name = "national_focus_exclusive_item" + position = { x=-5 y=28 } + size = { width = 1 height = 12 } #width will be set by code + clipping = no + + iconType = { + name = "link1" + position = { x = 16 y = 10 } + spriteType = "GFX_focus_exclusive_line1" + frame = 1 + } + iconType = { + name = "link2" + position = { x = 16 y = 10 } + spriteType = "GFX_focus_exclusive_line2" + frame = 1 + } + iconType = { + name = "left" + position = { x = 0 y = 0 } + spriteType = "GFX_focus_link_exclusive" + frame = 2 + } + iconType = { + name = "right" + position = { x = 0 y = 0 } + spriteType = "GFX_focus_link_exclusive" + frame = 3 + } + iconType = { + name = "mid" + position = { x = 0 y = 0 } + spriteType = "GFX_focus_link_exclusive" + frame = 1 + } + } + + positionType = { + name = "focus_spacing" + position = { x = 96 y = 130 } + } + + positionType = { + name = "national_focus_center" + position = { x = 130 y = 32 } + } + + positionType = { + name = "link_spacing" + position = { x = 16 y = 16 } + } + + positionType = { + name = "link_offsets" + position = { x = 0 y = 32 } + } + + positionType = { + name = "link_begin" + position = { x = 80 y = 64 } + } + positionType = { + name = "link_end" + position = { x = 80 y = 0 } + } + + positionType = { + name = "exclusive_offset" + position = { x = 172 y = 24 } + } + + positionType = { + name = "exclusive_offset_left" + position = { x = 12 y = 24 } + } + + positionType = { + name = "exclusive_positioning" + position = { x = 2 y = 0 } + } + + containerWindowType = { + name = "national_focus_detail_view" + position = { x=500 y=100 } + size = { width = 550 height = 550 } + Orientation = UPPER_LEFT + moveable = yes + clipping = no + fade_time = 500 + fade_type = linear + + show_sound = pop_up + + background = { + name = "Background" + #SpriteType ="GFX_technology_info_bg" + SpriteType = "GFX_tiled_window_thin_border2" + } + + iconType ={ + name ="info_top_win" + spriteType = "GFX_tech_info_top_win" + position = { x= 1 y = 1 } + Orientation = "UPPER_LEFT" + alwaystransparent = yes + } + + buttonType = { + name = "close" + quadTextureSprite = "GFX_closebutton" + buttonFont = "vic_18" + position = { x=-43 y=9 } + shortcut = "ESCAPE" + Orientation = "UPPER_RIGHT" + pdx_tooltip = "CLOSE" + clicksound = click_close + } + + instantTextboxType = { + name = "name" + position = { x = 30 y = 12 } + textureFile = "" + font = "hoi_24header" + borderSize = {x = 0 y = 0} + text = "" + maxWidth = 450 + maxHeight = 30 + format = center + fixedsize = yes + } + iconType = { + name = "symbol" + position = { x = 42 y = 88 } + spriteType = "GFX_goal_unknown" + alwaystransparent = yes + } + iconType = { + name = "prerequisites_bg" + position = { x = 205 y = 92 } + spriteType = "GFX_generic_bg_307x113" + alwaystransparent = yes + } + instantTextboxType = { + name = "prerequisites" + position = { x = 215 y = 100 } + textureFile = "" + font = "hoi_16mbs" + borderSize = {x = 0 y = 0} + text = "" + maxWidth = 287 + maxHeight = 100 + scrollbarType = standardtext_slider + } + + + containerWindowType = { + name = "statsarea" + position = { x=20 y=220 } + size = { width = 97%% height = 98%% } + horizontalScrollbar = "bottom_horizontal_slider" + verticalScrollbar = "right_vertical_slider" + margin = { top = 4 left = 13 bottom = 0 right = 5} + clipping = yes + + background = { + name = "Background" + quadTextureSprite ="GFX_tiled_paper_bg2" + } + + } + instantTextboxType = { + name = "desc" + position = { x = 34 y = 250 } + textureFile = "" + font = "hoi_18mbs" + borderSize = {x = 5 y = 0} + text = "Description" + maxWidth = 485 + maxHeight = 70 + format = center + } + + iconType = { + name = "reward_bg" + position = { x = 84 y = 363 } + spriteType = "GFX_unit_list_header" + } + + instantTextboxType = { + name = "reward_label" + position = { x = 34 y = 370 } + textureFile = "" + font = "hoi_18mbs" + borderSize = {x = 0 y = 0} + text = "FOCUS_REWARD" + maxWidth = 485 + maxHeight = 70 + format = center + } + + instantTextboxType = { + name = "reward" + position = { x = 50 y = 397 } + textureFile = "" + font = "hoi_16mbs" + borderSize = {x = 0 y = 0} + text = "" + maxWidth = 455 + maxHeight = 138 + scrollbarType = standardtext_slider +# format = center + } + + buttonType = { + name = "start" + quadTextureSprite = "GFX_button_123x34" + buttonText = "START_FOCUS" + buttonFont = "hoi_20b" + position = { x=390 y=53 } + clicksound = select_focus + shortcut = "RETURN" + } + + iconType = { + name = "research_progressbar" + spriteType = "GFX_prod_progress_bar3" + position = { x=209 y=59 } + } + + iconType = { + name = "research_progressbar_frame" + spriteType = "GFX_production_progressbar_frame2" + position = { x=205 y=57 } + } + + instantTextboxType = { + name = "status" + position = { x = 208 y = 60 } + font = "hoi_20b" + borderSize = {x = 0 y = 0} + text = "" + maxWidth = 170 + maxHeight = 13 + format = center + } + } + + containerWindowType = { + name = "coninuous_focus_detail_view" + position = { x=500 y=100 } + size = { width = 550 height = 550 } + Orientation = UPPER_LEFT + moveable = yes + clipping = no + fade_time = 500 + fade_type = linear + + show_sound = pop_up + + background = { + name = "Background" + #SpriteType ="GFX_technology_info_bg" + SpriteType = "GFX_tiled_window_thin_border2" + } + + iconType ={ + name ="info_top_win" + spriteType = "GFX_tech_info_top_win" + position = { x= 1 y = 1 } + Orientation = "UPPER_LEFT" + alwaystransparent = yes + } + + buttonType = { + name = "close" + quadTextureSprite = "GFX_closebutton" + buttonFont = "vic_18" + position = { x=-43 y=9 } + shortcut = "ESCAPE" + Orientation = "UPPER_RIGHT" + pdx_tooltip = "CLOSE" + clicksound = click_close + } + + + instantTextboxType = { + name = "name" + position = { x = 30 y = 12 } + textureFile = "" + font = "hoi_24header" + borderSize = {x = 0 y = 0} + text = "" + maxWidth = 450 + maxHeight = 30 + format = center + } + iconType = { + name = "symbol" + position = { x = 42 y = 88 } + spriteType = "GFX_goal_unknown" + alwaystransparent = yes + } + iconType = { + name = "prerequisites_bg" + position = { x = 205 y = 92 } + spriteType = "GFX_generic_bg_307x113" + alwaystransparent = yes + } + instantTextboxType = { + name = "prerequisites" + position = { x = 215 y = 100 } + textureFile = "" + font = "hoi_16mbs" + borderSize = {x = 0 y = 0} + text = "" + maxWidth = 287 + maxHeight = 100 + scrollbarType = standardtext_slider + } + + + containerWindowType = { + name = "statsarea" + position = { x=20 y=220 } + size = { width = 97%% height = 98%% } + horizontalScrollbar = "bottom_horizontal_slider" + verticalScrollbar = "right_vertical_slider" + margin = { top = 4 left = 13 bottom = 0 right = 5} + clipping = yes + + background = { + name = "Background" + quadTextureSprite ="GFX_tiled_paper_bg2" + } + + } + instantTextboxType = { + name = "desc" + position = { x = 34 y = 250 } + textureFile = "" + font = "hoi_18mbs" + borderSize = {x = 5 y = 0} + text = "Description" + maxWidth = 485 + maxHeight = 70 + format = center + } + + iconType = { + name = "reward_bg" + position = { x = 84 y = 363 } + spriteType = "GFX_unit_list_header" + } + + instantTextboxType = { + name = "reward_label" + position = { x = 34 y = 370 } + textureFile = "" + font = "hoi_18mbs" + borderSize = {x = 0 y = 0} + text = "FOCUS_REWARD" + maxWidth = 485 + maxHeight = 70 + format = center + } + + instantTextboxType = { + name = "reward" + position = { x = 50 y = 397 } + textureFile = "" + font = "hoi_16mbs" + borderSize = {x = 0 y = 0} + text = "" + maxWidth = 455 + maxHeight = 138 + scrollbarType = standardtext_slider +# format = center + } + + + buttonType = { + name = "start" + quadTextureSprite = "GFX_button_123x34" + buttonText = "START_FOCUS" + buttonFont = "hoi_20b" + position = { x=390 y=53 } + clicksound = select_focus + shortcut = "RETURN" + } + + buttonType = { + name = "stop" + quadTextureSprite = "GFX_button_123x34" + buttonText = "STOP_FOCUS" + buttonFont = "hoi_20b" + position = { x=390 y=53 } + clicksound = click_default + } + + instantTextboxType = { + name = "status" + position = { x = 208 y = 60 } + font = "hoi_20b" + borderSize = {x = 0 y = 0} + text = "" + maxWidth = 170 + maxHeight = 13 + format = center + } + } + + containerWindowType = { + name = "focus_tree_filter_icon_container" + position = { x=0 y=0 } + size = { width = 200 height = 80 } + + buttonType = { + name = "checkbox" + position = { x = 0 y = 0 } + quadTextureSprite ="GFX_FOCUS_FILTER_ICON_BG" + Orientation = "UPPER_LEFT" + clicksound = click_checkbox + } + + iconType = { + name = "icon" + position = { x = 8 y = 7 } + quadTextureSprite ="GFX_FOCUS_FILTER_POLITICAL" + Orientation = "UPPER_LEFT" + alwaystransparent = yes + } + } + + containerWindowType = { + name = "focus_tree_filter_show_rest" + position = { x=0 y=5 } + size = { width = 200 height = 80 } + + buttonType = { + name = "toggle" + position = { x = 0 y = 0 } + quadTextureSprite ="GFX_production_line_arrow_down" + Orientation = "UPPER_LEFT" + clicksound = click_checkbox + frame = 1 + pdx_tooltip = "TREE_FILTER_TOGGLE" + } + } +} diff --git a/interface/powerbalanceview.gui b/interface/powerbalanceview.gui new file mode 100644 index 000000000..2aa03fdc3 --- /dev/null +++ b/interface/powerbalanceview.gui @@ -0,0 +1,145 @@ +guiTypes = { + + iconType = { + name = "range_bar" + spriteType = "GFX_bop_splitter" + position = { x = -6 y = -4 } + alwaystransparent = yes + } + + iconType = { + name = "range_indicator" + position = { x = -14 y = -21 } + spriteType = "GFX_bop_indicator" + } + + containerWindowType = { + name = "powerbalanceview" + position = { x = 45 y = 0 } + show_position = { x= 545 y = 0 } + show_animation_type = decelerated + hide_animation_type = accelerated + animation_time = 300 + size = { width = 550 height = 600 } + + background = { + name = "background" + quadTextureSprite = "GFX_tiled_plain_bg" + } + + iconType = { + name = "bop_bg" + quadTextureSprite = "GFX_bop_background" + position = { x = 5 y = 44 } + } + + containerWindowType = { + name = "decision_container" + position = { x = 0 y = 200 } + size = { width = 100%% height = 100%% } + margin = { top = 15 left = 13 bottom = 13 right = 25} + verticalScrollbar = "right_vertical_slider" + vertical_scroll_step = 41 + scroll_wheel_factor = 40 + smooth_scrolling = yes + orientation = center_up + origo = center_up + + background = { + name = "Background" + spriteType ="GFX_tiled_window2_1b_border" + } + + gridboxtype = { + name = "decision_grid" + position = { x = 0 y = 0 } + size = { width = 100%% height = 1 } + slotsize = { width = 502 height = 50 } + max_slots_horizontal = 1 + format = "UPPER_LEFT" + } + } + + iconType ={ + name ="power_balance_header_bg" + spriteType = "GFX_header_bg" + position = { x= 7 y = 5 } + Orientation = "UPPER_LEFT" + } + + buttonType = { + name = "close" + position = { x = -40 y = 7 } + quadTextureSprite = "GFX_closebutton" + buttonFont = "Main_14_black" + shortcut = "ESCAPE" + orientation = "UPPER_RIGHT" + clicksound = click_close + pdx_tooltip = "CLOSE" + } + + instantTextboxType = { + name = "title" + position = { x = 37 y = 5 } + font = "hoi_36header" + text = "Balance of Power" + maxWidth = 300 + maxHeight = 20 + } + + instantTextboxType = { + name = "power_balance_name" + format = center + position = { x = 120 y = 60 } + font = "hoi_20b" + text = "Left Power vs. Right Power" + maxWidth = 300 + maxHeight = 20 + } + + instantTextboxType = { + name = "active_range_name" + format = center + position = { x = 120 y = 160 } + font = "hoi_20b" + text = "We Are Very Powerful" + maxWidth = 300 + maxHeight = 20 + } + + iconType = { + name = "power_balance_frame" + spriteType = "GFX_bop_bar_frame" + position = { x = 91 y = 122 } + } + + iconType = { + name = "power_balance_value" + position = { x = 95 y = 125 } + + # NOTE: The sprite name is set by the code! + } + + iconType = { + name = "position_marker" + spriteType = "GFX_bop_needle" + position = { x = -12 y = -6 } + } + + iconType = { + name = "left_power_icon" + position = { x = 20 y = 84 } + } + + iconType = { + name = "right_power_icon" + position = { x = 458 y = 84 } + } + + background = { + name = "Background" + position = { x=0 y=-1 } + quadTextureSprite="GFX_tiled_decisions_bg_small" + } + } +} diff --git a/localisation/english/arthedainadd_l_english.yml b/localisation/english/arthedainadd_l_english.yml index 9edb2f2c8..73b51b793 100644 --- a/localisation/english/arthedainadd_l_english.yml +++ b/localisation/english/arthedainadd_l_english.yml @@ -181,6 +181,8 @@ ART_revenge_against_angmar:0 "Revenge against Angmar" ART_revenge_against_angmar_desc:0 "" ART_reunite_with_gondor:0 "Reunite with Gondor" ART_reunite_with_gondor_desc:0 "" +ART_wisdom_of_all_of_arnor:0 "Wisdom of all of Arnor" +ART_wisdom_of_all_of_arnor_desc:0 "" ART_restore_annuminas:0 "Restore Annúminas as capital of Arnor" ART_restore_annuminas_desc:0 "Now that the Kingdom of Arnor has been restored to its former glory the time has come. We should restore Annúminas and move the capital back." diff --git a/localisation/english/bookmarks_l_english.yml b/localisation/english/bookmarks_l_english.yml index 0c7f1db1d..1ebbac1ba 100644 --- a/localisation/english/bookmarks_l_english.yml +++ b/localisation/english/bookmarks_l_english.yml @@ -3,11 +3,11 @@ WAR_OF_THE_RING_DESC:0 "Thousands of years ago men, dwarves and elves fought side by side and through their endeavour, the forces of Mordor were vanquished. But we were fools to think ourselves victorious. For after lying hidden and dormant for centuries, the Dark Lord Sauron has once again risen from the darkness, adopting the shape of a lidless eye, looming over the dreaded Dark Tower of Barad-dûr. His unholy glare has set on the Kingdom of Gondor, a broken realm with no King and no purpose. Will the free men of Middle Earth unite in time to defeat the threat of Mordor?" MOR_WAR_OF_THE_RING_DESC:0 "After lying hidden and dormant for centuries, the Dark Lord Sauron has returned to claim dominion over all Middle Earth. This time he would coerce his unholy reign unto all living beings, but one small hindrance stands in his way: Sauron imbued the One Ring with a significant portion of his might. It must be recovered at all cost, for if it were to be destroyed, the legacy of Morgoth would be wiped out forever." GON_WAR_OF_THE_RING_DESC:0 "The kingdom of Gondor can hardly be called a kingdom anymore, for after Isildur's death all heirs have refused to sit upon the throne. Now the darkness of Mordor threatens to plunge all of Middle Earth into eternal nightfall and it will be Gondor where they strike first. Seek out Isildur's true heir, crown a new king or abandon monarchy all together, but something has to be done, or death will be upon the realm of Gondor." - ROH_WAR_OF_THE_RING_DESC:0 "Rohan has enjoyed a close allegiance to Gondor for a long time. However, now Gondor is being kept busy with the rising threat of Mordor and simultaneously Saruman threatens to overrun our great bastion of Helm's Deep. The people of Rohan are loyal and would never doubt to unite behind their king, Theoden, but what if the king himslef corrupts?" + ROH_WAR_OF_THE_RING_DESC:0 "Rohan has enjoyed a close allegiance to Gondor for a long time. However, now Gondor is being kept busy with the rising threat of Mordor and simultaneously Saruman threatens to overrun our great bastion of Helm's Deep. The people of Rohan are loyal and would never doubt to unite behind their king, Theoden, but what if the king himself corrupts?" ISE_WAR_OF_THE_RING_DESC:0 "The stronghold of Isengard has served as the personal realm and home of Saruman the White for many years. The Kingdom of Rohan once welcomed such a powerful ally in the region. However, the relationship between Rohan and Isengard has suffered as of late, as rumors claim that Saruman has seen the eye of Sauron through a Palanthir." RIV_WAR_OF_THE_RING_DESC:0 "The peaceful and sheltered town of Rivendell has always been known as a haven of safety and security. But with Mordor threatening to destroy the realms of men, action must be taken. Lord Elrond is a powerful and influential figure, leaving many options available. Unite with Gondor against the threat of Sauron, or unite the northern Nations in a powerful alliance to stand against the darkness." ERE_WAR_OF_THE_RING_DESC:0 "The recent history of Erebor is quenched in bloodshed. However, the demise of Smaug is not to be the last of Lonely Mountain's many troubles. A horde of Easterling soldiers threaten to unite with Mordor and swarm over the Redwater, opening up a second front. Meanwhile the Mines of Moria are being overrun and the Elves of the Mirkwood will seek for any excuse to wipe the dwarves out." - LTH_WAR_OF_THE_RING_DESC:0 "Mostly considered to be neutral and pacifist, the people of Lothlòrien are a true wildcard in the War of the Ring. The House of Celeborn and Galadriel have become the identity of the nation and their people will unite behind any cause their rulers see fit, be that neutral pacifism or licentious imperialism." + LTH_WAR_OF_THE_RING_DESC:0 "Mostly considered to be neutral and pacifist, the people of Lothlòrien are a true wildcard in the War of the Ring. The House of Celeborn and Galadriel have become the identity of the nation and their people will unite behind any cause their rulers see fit, be that neutral pacifism or licentious conquest." ART_WAR_OF_THE_RING_DESC:0 "" ANG_WAR_OF_THE_RING_DESC:0 "" SHI_WAR_OF_THE_RING_DESC:0 "" diff --git a/localisation/english/countries_l_english.yml b/localisation/english/countries_l_english.yml index dab1d86a3..8b7eb7295 100644 --- a/localisation/english/countries_l_english.yml +++ b/localisation/english/countries_l_english.yml @@ -31,8 +31,8 @@ PEL_DEF:0 "Pellardur" PEL_ADJ:0 "Pellardurin" ############################## - UMB_belligerent:0 "Imperium of the Southern Seas" - UMB_belligerent_DEF:0 "The Imperium of the Southern Seas" + UMB_belligerent:0 "Umbar" + UMB_belligerent_DEF:0 "Umbar" UMB_cooperative:0 "Republic of Umbar" UMB_cooperative_DEF:0 "Republic of Umbar" UMB_unaligned:0 "Umbar" @@ -47,8 +47,8 @@ UMB_DEF:0 "Umbar" UMB_ADJ:0 "Umbaran" ############################## - KND_belligerent:0 "Khand Independent Territories" - KND_belligerent_DEF:0 "The Khand Independent Territories" + KND_belligerent:0 "Khand" + KND_belligerent_DEF:0 "The Khand" KND_cooperative:0 "Khand" KND_cooperative_DEF:0 "Khand" KND_unaligned:0 "Khand" @@ -101,8 +101,8 @@ HAR_unaligned_DEF:0 "The Realm of Harad" HAR_cooperative:0 "Sunlands" HAR_cooperative_DEF:0 "The Sunlands" - HAR_revolutionary:0 "Commune of Harad" - HAR_revolutionary_DEF:0 "Commune of Harad" + HAR_revolutionary:0 "Haradwaith" + HAR_revolutionary_DEF:0 "Haradwaith" HAR_belligerent_ADJ:0 "Harad" HAR_unaligned_ADJ:0 "Harad" HAR_cooperative_ADJ:0 "Harad" @@ -127,12 +127,12 @@ NEP_DEF:0 "Northern Wastes" NEP_ADJ:0 "Northern Wastes" ############################## - ENT_belligerent:0 "Empire of the Eldest" - ENT_belligerent_DEF:0 "Empire of the Eldest" + ENT_belligerent:0 "Fangorn Forest" + ENT_belligerent_DEF:0 "Fangorn Forest" ENT_unaligned:0 "Entwood" ENT_unaligned_DEF:0 "Entwood" - ENT_cooperative:0 "Fangorn Forest Federation" - ENT_cooperative_DEF:0 "The Fangorn Forest Federation" + ENT_cooperative:0 "Fangorn Forest" + ENT_cooperative_DEF:0 "Fangorn Forest" ENT_revolutionary:0 "Union of Fangorn" ENT_revolutionary_DEF:0 "The Union of Fangorn" ENT_belligerent_ADJ:0 "Ent" @@ -143,14 +143,15 @@ ENT_DEF:0 "Entwood" ENT_ADJ:0 "Ent" ############################## - LTH_belligerent:0 "Empire of Lórien" - LTH_belligerent_DEF:0 "The Empire of Lórien" + LTH_belligerent:0 "Lothlórien" + LTH_belligerent_DEF:0 "Lothlórien" + LTH_empire_belligerent:0 "Empire of Lórien" LTH_unaligned:0 "Lothlórien" LTH_unaligned_DEF:0 "Lothlórien" - LTH_cooperative:0 "Republic of Lórien" - LTH_cooperative_DEF:0 "The Republic of Lórien" - LTH_revolutionary:0 "Golden Commune of Elves" - LTH_revolutionary_DEF:0 "Golden Commune of Elves" + LTH_cooperative:0 "Lothlórien" + LTH_cooperative_DEF:0 "Lothlórien" + LTH_revolutionary:0 "Lothlórien" + LTH_revolutionary_DEF:0 "Lothlórien" LTH_belligerent_ADJ:0 "Elven" LTH_unaligned_ADJ:0 "Elven" LTH_cooperative_ADJ:0 "Elven" @@ -183,6 +184,7 @@ GON_cooperative_DEF:0 "The Kingdom of Gondor" GON_unaligned:0 "Gondor" GON_unaligned_DEF:0 "Gondor" + STEWARDSHIP_unaligned:0 "Stewardship of Gondor" GON_revolutionary:1 "Red Gondor" GON_revolutionary_DEF:1 "Red Gondor" GON_belligerent_ADJ:0 "Gondorian" @@ -194,15 +196,34 @@ GON:0 "Gondor" GON_DEF:0 "Gondor" GON_ADJ:0 "Gondorian" + ############################## + DAM_belligerent:0 "Dark Realm of Dol Amroth" + DAM_belligerent_DEF:0 "The Dark Realm of Dol Amroth" + DAM_cooperative:0 "Kingdom of Dol Amroth" + DAM_cooperative_DEF:0 "The Kingdom of Dol Amroth" + DAM_unaligned:0 "Dol Amroth" + DAM_unaligned_DEF:0 "Dol Amroth" + DAM_revolutionary:1 "Red Dol Amroth" + DAM_revolutionary_DEF:1 "Red Dol Amroth" + DAM_belligerent_ADJ:0 "Gondorian" + DAM_cooperative_ADJ:0 "Gondorian" + DAM_unaligned_ADJ:0 "Gondorian" + DAM_revolutionary_ADJ:0 "Gondorian" + EOG_cooperative:0 "Empire of Gondor" + EOG_unaligned:0 "Empire of Gondor" + EOG_belligerent:0 "Empire of Gondor" + GON:0 "Gondor" + DAM_DEF:0 "Gondor" + DAM_ADJ:0 "Gondorian" ############################## ROH_cooperative:0 "Kingdom of Rohan" ROH_cooperative_DEF:0 "The Kingdom of Rohan" ROH_unaligned:0 "Rohan" ROH_unaligned_DEF:0 "Rohan" - ROH_belligerent:0 "Totalitariat of Rohan" - ROH_belligerent_DEF:0 "The Totalitariat of Rohan" - ROH_revolutionary:0 "Free Bloc of Rohan" - ROH_revolutionary_DEF:0 "The Free Bloc of Rohan" + ROH_belligerent:0 "Kingdom of Rohan" + ROH_belligerent_DEF:0 "The Kingdom of Rohan" + ROH_revolutionary:0 "Peasant State of Rohan" + ROH_revolutionary_DEF:0 "The Peasant State of Rohan" ROH_belligerent_ADJ:0 "Rohanian" ROH_revolutionary_ADJ:0 "Rohanian" ROH_unaligned_ADJ:0 "Rohanian" @@ -233,10 +254,10 @@ ENE_cooperative_DEF:0 "The Confederaion of Enedwaith" ENE_unaligned:0 "Enedwaith" ENE_unaligned_DEF:0 "Enedwaith" - ENE_belligerent:0 "Imperial Enedwaith" - ENE_belligerent_DEF:0 "Imperial Enedwaith" - ENE_revolutionary:0 "Commune of Enedwaith" - ENE_revolutionary_DEF:0 "The Commune of Enedwaith" + ENE_belligerent:0 "Enedwaith" + ENE_belligerent_DEF:0 "Enedwaith" + ENE_revolutionary:0 "Enedwaith" + ENE_revolutionary_DEF:0 "Enedwaith" ENE_belligerent_ADJ:0 "Enedian" ENE_revolutionary_ADJ:0 "Enedian" ENE_unaligned_ADJ:0 "Enedian" @@ -295,14 +316,14 @@ ART_DEF:0 "Arthedain" ART_ADJ:0 "Arthedian" ############################## - CAR_belligerent:0 "Iron Fist Cardolan" - CAR_belligerent_DEF:0 "Iron Fist Cardolan" + CAR_belligerent:0 "Cardolan" + CAR_belligerent_DEF:0 "Cardolan" CAR_cooperative:0 "Kingdom of Cardolan" CAR_cooperative_DEF:0 "Kingdom of Cardolan" CAR_unaligned:0 "Remnant of Cardolan" CAR_unaligned_DEF:0 "Remnant of Cardolan" - CAR_revolutionary:0 "Syndicates of Arnor" - CAR_revolutionary_DEF:0 "The Syndicates of Arnor" + CAR_revolutionary:0 "Rural Republic of Cardolan" + CAR_revolutionary_DEF:0 "The Rural Republic of Cardolan" CAR_belligerent_ADJ:0 "Cardolan" CAR_cooperative_ADJ:0 "Cardolan" CAR_unaligned_ADJ:0 "Cardolan" @@ -317,8 +338,8 @@ SHI_cooperative_DEF:0 "The Shire" SHI_unaligned:0 "Shire" SHI_unaligned_DEF:0 "The Shire" - SHI_revolutionary:0 "Hobbit Worker's Union" - SHI_revolutionary_DEF:0 "The Hobbit Worker's Union" + SHI_revolutionary:0 "Council of the Shire" + SHI_revolutionary_DEF:0 "The Council of the Shire" SHI_belligerent_ADJ:0 "Hobbiton" SHI_cooperative_ADJ:0 "Hobbiton" SHI_unaligned_ADJ:0 "Hobbiton" @@ -343,14 +364,14 @@ RHD_DEF:0 "Rhudaur" RHD_ADJ:0 "Rhudarian" ############################## - LIN_cooperative:0 "Kingdom of Lindon" - LIN_cooperative_DEF:0 "The Kingdom of Lindon" + LIN_cooperative:0 "Lindon" + LIN_cooperative_DEF:0 "Lindon" LIN_unaligned:0 "Lindon" LIN_unaligned_DEF:0 "Lindon" LIN_belligerent:0 "Empire of the Ñoldor" LIN_belligerent_DEF:0 "The Empire of the Ñoldor" - LIN_revolutionary:0 "Red Fleet Commune" - LIN_revolutionary_DEF:0 "The Red Fleet Commune" + LIN_revolutionary:0 "Peasant State of Lindon" + LIN_revolutionary_DEF:0 "The Peasant State of Lindon" LIN_belligerent_ADJ:0 "Lindonese" LIN_revolutionary_ADJ:0 "Lindonese" LIN_unaligned_ADJ:0 "Lindonese" @@ -365,8 +386,8 @@ VAL_cooperative_DEF:0 "The Vale of the Great River" VAL_unaligned:0 "Vales of Anduin" VAL_unaligned_DEF:0 "The Vales of Anduin" - VAL_revolutionary:0 "The Co-operative of Anduin" - VAL_revolutionary_DEF:0 "The Co-operative of Anduin" + VAL_revolutionary:0 "The Vales of Anduin" + VAL_revolutionary_DEF:0 "The Vales of Anduin" VAL_belligerent_ADJ:0 "Anduinian" VAL_cooperative_ADJ:0 "Anduinian" VAL_unaligned_ADJ:0 "Anduinian" @@ -407,8 +428,8 @@ MOC_DEF:0 "Moria" MOC_ADJ:0 "Morian" ############################## - ERE_belligerent:0 "Kingdom of Longbeards" - ERE_belligerent_DEF:0 "Kingdom of Longbeards" + ERE_belligerent:0 "Kingdom of Erebor" + ERE_belligerent_DEF:0 "Kingdom of Erebor" ERE_cooperative:0 "Kingdom of Erebor" ERE_cooperative_DEF:0 "The Kingdom of Erebor" ERE_unaligned:0 "Kingdom of Erebor" @@ -429,8 +450,8 @@ MIR_cooperative_DEF:0 "Eryn Galen" MIR_unaligned:0 "Elves of the Mirkwood" MIR_unaligned_DEF:0 "Elves of the Mirkwood" - MIR_revolutionary:0 "Commune of the Greenwood" - MIR_revolutionary_DEF:0 "Commune of the Greenwood" + MIR_revolutionary:0 "Greenwood Union" + MIR_revolutionary_DEF:0 "Greenwood Union" MIR_belligerent_ADJ:0 "Mirkian" MIR_cooperative_ADJ:0 "Mirkian" MIR_unaligned_ADJ:0 "Mirkian" @@ -495,7 +516,7 @@ MMO_cooperative:0 "Minas Ithil" MMO_cooperative_DEF:0 "Minas Ithil" MMO_unaligned:0 "Tower of the Moon" - MMO_unaligned_DEF:0 "Tower of the Moonl" + MMO_unaligned_DEF:0 "Tower of the Moon" MMO_revolutionary:1 "Minas Morgul" MMO_revolutionary_DEF:0 "Minas Morgul" MMO_belligerent_ADJ:0 "Minas Morgul" @@ -554,990 +575,22 @@ DOR_DEF:0 "Dorwinion" DOR_ADJ:0 "Dorwinion" ############################## - GER_belligerent:0 "German Reich" - GER_belligerent_DEF:0 "The German Reich" - GER_cooperative:0 "German Republic" - GER_cooperative_DEF:0 "The German Republic" - GER_unaligned:0 "Germany" - GER_unaligned_DEF:0 "Germany" - GER_revolutionary:0 "Socialist Republic of Germany" - GER_revolutionary_DEF:0 "The Socialist Republic of Germany" - GER_belligerent_ADJ:0 "German" - GER_cooperative_ADJ:0 "German" - GER_unaligned_ADJ:0 "German" - GER_revolutionary_ADJ:0 "German" - ENG_belligerent:0 "British Empire" - ENG_belligerent_DEF:0 "The British Empire" - ENG_cooperative:0 "United Kingdom" - ENG_cooperative_DEF:0 "The United Kingdom" - ENG_unaligned:0 "Great Britain" - ENG_unaligned_DEF:0 "Great Britain" - ENG_revolutionary:0 "Union of Britain" - ENG_revolutionary_DEF:0 "The Union of Britain" - ENG_belligerent_ADJ:0 "British" - ENG_cooperative_ADJ:0 "British" - ENG_unaligned_ADJ:0 "British" - ENG_revolutionary_ADJ:0 "British" - SOV_belligerent:0 "Russian Empire" - SOV_belligerent_DEF:0 "The Russian Empire" - SOV_cooperative:0 "Russian Federation" - SOV_cooperative_DEF:0 "The Russian Federation" - SOV_unaligned:0 "Russia" - SOV_unaligned_DEF:0 "Russia" - SOV_revolutionary:0 "Soviet Union" - SOV_revolutionary_DEF:0 "The Soviet Union" - SOV_belligerent_ADJ:0 "Russian" - SOV_cooperative_ADJ:0 "Russian" - SOV_unaligned_ADJ:0 "Russian" - SOV_revolutionary_ADJ:0 "Soviet" - USA_belligerent:0 "Free American Empire" - USA_belligerent_DEF:0 "The Free American Empire" - USA_cooperative:0 "United States" - USA_cooperative_DEF:0 "The United States" - USA_unaligned:0 "Confederate States" - USA_unaligned_DEF:0 "The Confederate States" - USA_revolutionary:0 "Communist States of America" - USA_revolutionary_DEF:0 "The Communist States of America" - USA_belligerent_ADJ:0 "American" - USA_cooperative_ADJ:0 "American" - USA_unaligned_ADJ:0 "American" - USA_revolutionary_ADJ:0 "American" - FRA_belligerent:1 "Nation Française" - FRA_belligerent_DEF:1 "Nation Française" - FRA_cooperative:0 "France" - FRA_cooperative_DEF:0 "France" - FRA_unaligned:0 "Bourbon France" - FRA_unaligned_DEF:0 "Bourbon France" - FRA_revolutionary:0 "French Commune" - FRA_revolutionary_DEF:0 "The French Commune" - FRA_belligerent_ADJ:1 "French" - FRA_cooperative_ADJ:0 "French" - FRA_unaligned_ADJ:0 "French" - FRA_revolutionary_ADJ:0 "French" - LUX_belligerent:0 "Luxembourg" - LUX_belligerent_DEF:0 "Luxembourg" - LUX_cooperative:0 "Luxembourg" - LUX_cooperative_DEF:0 "Luxembourg" - LUX_unaligned:0 "Royalist Luxembourg" - LUX_unaligned_DEF:0 "Royalist Luxembourg" - LUX_revolutionary:0 "Rosa Luxembourg" - LUX_revolutionary_DEF:0 "Rosa Luxembourg" - LUX_belligerent_ADJ:0 "Luxembourg" - LUX_cooperative_ADJ:0 "Luxembourg" - LUX_unaligned_ADJ:0 "Luxembourg" - LUX_revolutionary_ADJ:0 "Luxembourg" - HOL_belligerent:0 "Dutch Rijk" - HOL_belligerent_DEF:0 "Dutch Rijk" - HOL_cooperative:0 "Netherlands" - HOL_cooperative_DEF:0 "The Netherlands" - HOL_unaligned:0 "Kingdom of Netherlands" - HOL_unaligned_DEF:0 "The Kingdom of Netherlands" - HOL_revolutionary:0 "People's United Provinces" - HOL_revolutionary_DEF:0 "The People's United Provinces" - HOL_belligerent_ADJ:0 "Dutch" - HOL_cooperative_ADJ:0 "Dutch" - HOL_unaligned_ADJ:0 "Dutch" - HOL_revolutionary_ADJ:0 "Dutch" - CZE_belligerent:0 "Bohemian Empire" - CZE_belligerent_DEF:0 "The Bohemian Empire" - CZE_cooperative:0 "Czechoslovakia" - CZE_cooperative_DEF:0 "Czechoslovakia" - CZE_unaligned:0 "Kingdom of Bohemia" - CZE_unaligned_DEF:0 "The Kingdom of Bohemia" - CZE_revolutionary:0 "Czechoslovak Union" - CZE_revolutionary_DEF:0 "The Czechoslovak Union" - CZE_belligerent_ADJ:0 "Czechoslovakian" - CZE_cooperative_ADJ:0 "Czechoslovakian" - CZE_unaligned_ADJ:0 "Czechoslovakian" - CZE_revolutionary_ADJ:0 "Czechoslovakian" - POL_belligerent:0 "Falangist Poland" - POL_belligerent_DEF:0 "Falangist Poland" - POL_cooperative:0 "Polish Republic" - POL_cooperative_DEF:0 "The Polish Republic" - POL_revolutionary:0 "Polish People's Republic" - POL_revolutionary_DEF:0 "The Polish People's Republic" - POL_unaligned:0 "Poland" - POL_unaligned_DEF:0 "Poland" - POL_belligerent_ADJ:0 "Polish" - POL_cooperative_ADJ:0 "Polish" - POL_revolutionary_ADJ:0 "Polish" - POL_unaligned_ADJ:0 "Polish" - AUS_belligerent:0 "Deutschsozialen Austria" - AUS_belligerent_DEF:0 "Deutschsozialen Austria" - AUS_unaligned:0 "Austria" - AUS_unaligned_DEF:0 "Austria" - AUS_cooperative:0 "Republic of Austria" - AUS_cooperative_DEF:0 "The Republic of Austria" - AUS_revolutionary:0 "Austrian Soviet Republic" - AUS_revolutionary_DEF:0 "The Austrian Soviet Republic" - AUS_belligerent_ADJ:0 "Austrian" - AUS_unaligned_ADJ:0 "Austrian" - AUS_cooperative_ADJ:0 "Austrian" - AUS_revolutionary_ADJ:0 "Austrian" - LAT_belligerent:0 "The Empire of the Thunder Cross" - LAT_belligerent_DEF:0 "The Empire of the Thunder Cross" - LAT_cooperative:0 "Republic of Latvia" - LAT_cooperative_DEF:0 "The Republic of Latvia" - LAT_unaligned:0 "Latvia" - LAT_unaligned_DEF:0 "Latvia" - LAT_revolutionary:0 "Latvian People's Republic" - LAT_revolutionary_DEF:0 "The Latvian People's Republic" - LAT_belligerent_ADJ:0 "Latvian" - LAT_cooperative_ADJ:0 "Latvian" - LAT_unaligned_ADJ:0 "Latvian" - LAT_revolutionary_ADJ:0 "Latvian" - ITA_belligerent:0 "Italy" - ITA_belligerent_DEF:0 "Italy" - ITA_cooperative:0 "Republican Italy" - ITA_cooperative_DEF:0 "Republican Italy" - ITA_unaligned:0 "Kingdom of Italy" - ITA_unaligned_DEF:0 "The Kingdom of Italy" - ITA_revolutionary:0 "Italian Union" - ITA_revolutionary_DEF:0 "The Italian Union" - ITA_belligerent_ADJ:0 "Italian" - ITA_cooperative_ADJ:0 "Italian" - ITA_unaligned_ADJ:0 "Italian" - ITA_revolutionary_ADJ:0 "Italian" - ROM_belligerent:0 "Legionary Romania" - ROM_belligerent_DEF:0 "Legionary Romania" - ROM_cooperative:0 "Romania" - ROM_cooperative_DEF:0 "Romania" - ROM_unaligned:0 "Kingdom of Romania" - ROM_unaligned_DEF:0 "The Kingdom of Romania" - ROM_revolutionary:0 "Romanian People's Republic" - ROM_revolutionary_DEF:0 "The Romanian People's Republic" - ROM_belligerent_ADJ:0 "Romanian" - ROM_cooperative_ADJ:0 "Romanian" - ROM_unaligned_ADJ:0 "Romanian" - ROM_revolutionary_ADJ:0 "Romanian" - YUG_belligerent:0 "Radikalna Yugoslavia" - YUG_belligerent_DEF:0 "Radikalna Yugoslavia" - YUG_cooperative:0 "Yugoslavian Confederation" - YUG_cooperative_DEF:0 "The Yugoslavian Confederation" - YUG_unaligned:0 "Yugoslavia" - YUG_unaligned_DEF:0 "Yugoslavia" - YUG_revolutionary:0 "SFR Yugoslavia" - YUG_revolutionary_DEF:0 "SFR Yugoslavia" - YUG_belligerent_ADJ:0 "Yugoslavian" - YUG_cooperative_ADJ:0 "Yugoslavian" - YUG_unaligned_ADJ:0 "Yugoslavian" - YUG_revolutionary_ADJ:0 "Yugoslavian" - SWI_belligerent:0 "Swiss Imperial Confederation" - SWI_belligerent_DEF:0 "The Swiss Imperial Confederation" - SWI_cooperative:0 "Switzerland" - SWI_cooperative_DEF:0 "Switzerland" - SWI_unaligned:0 "Switzerland" - SWI_unaligned_DEF:0 "Switzerland" - SWI_revolutionary:0 "United Cantons" - SWI_revolutionary_DEF:0 "The United Cantons" - SWI_belligerent_ADJ:0 "Swiss" - SWI_cooperative_ADJ:0 "Swiss" - SWI_unaligned_ADJ:0 "Swiss" - SWI_revolutionary_ADJ:0 "Swiss" - TUR_belligerent:0 "Neo-Ottoman Empire" - TUR_belligerent_DEF:0 "The Neo-Ottoman Empire" - TUR_cooperative:0 "Republic of Turkey" - TUR_cooperative_DEF:0 "The Republic of Turkey" - TUR_unaligned:0 "Turkey" - TUR_unaligned_DEF:0 "Turkey" - TUR_revolutionary:0 "Turkish Socialist Republic" - TUR_revolutionary_DEF:0 "The Turkish Socialist Republic" - TUR_belligerent_ADJ:0 "Turkish" - TUR_cooperative_ADJ:0 "Turkish" - TUR_unaligned_ADJ:0 "Turkish" - TUR_revolutionary_ADJ:0 "Turkish" - GRE_belligerent:0 "National Union of Greece" - GRE_belligerent_DEF:0 "The National Union of Greece" - GRE_cooperative:0 "Hellenic Republic" - GRE_cooperative_DEF:0 "The Hellenic Republic" - GRE_unaligned:0 "Greece" - GRE_unaligned_DEF:0 "Greece" - GRE_revolutionary:0 "Provisional Democratic Greece" - GRE_revolutionary_DEF:0 "Provisional Democratic Greece" - GRE_belligerent_ADJ:0 "Greek" - GRE_cooperative_ADJ:0 "Greek" - GRE_unaligned_ADJ:0 "Greek" - GRE_revolutionary_ADJ:0 "Greek" - DEN_belligerent:0 "North Sea Empire" - DEN_belligerent_DEF:0 "The North Sea Empire" - DEN_cooperative:0 "Denmark" - DEN_cooperative_DEF:0 "Denmark" - DEN_unaligned:0 "Kingdom of Denmark" - DEN_unaligned_DEF:0 "The Kingdom of Denmark" - DEN_revolutionary:0 "Danish Civil Union" - DEN_revolutionary_DEF:0 "The Danish Civil Union" - DEN_belligerent_ADJ:0 "Danish" - DEN_cooperative_ADJ:0 "Danish" - DEN_unaligned_ADJ:0 "Danish" - DEN_revolutionary_ADJ:0 "Danish" - BUL_belligerent:0 "Legionnaires Bulgaria" - BUL_belligerent_DEF:0 "Legionnaires Bulgaria" - BUL_cooperative:0 "Republic of Bulgaria" - BUL_cooperative_DEF:0 "The Republic of Bulgaria" - BUL_unaligned:0 "Bulgaria" - BUL_unaligned_DEF:0 "Bulgaria" - BUL_revolutionary:0 "Socialist Republic of Bulgaria" - BUL_revolutionary_DEF:0 "The Socialist Republic of Bulgaria" - BUL_belligerent_ADJ:0 "Bulgarian" - BUL_cooperative_ADJ:0 "Bulgarian" - BUL_unaligned_ADJ:0 "Bulgarian" - BUL_revolutionary_ADJ:0 "Bulgarian" - POR_belligerent:0 "Greater Portugal" - POR_belligerent_DEF:0 "Greater Portugal" - POR_cooperative:0 "Portuguese Republic" - POR_cooperative_DEF:0 "The Portuguese Republic" - POR_unaligned:0 "Portugal" - POR_unaligned_DEF:0 "Portugal" - POR_revolutionary:0 "Maximalist Portugal" - POR_revolutionary_DEF:0 "Maximalist Portugal" - POR_belligerent_ADJ:0 "Portuguese" - POR_cooperative_ADJ:0 "Portuguese" - POR_unaligned_ADJ:0 "Portuguese" - POR_revolutionary_ADJ:0 "Portuguese" - FIN_belligerent:0 "Greater Finland" - FIN_belligerent_DEF:0 "Greater Finland" - FIN_cooperative:1 "Republic of Finland" - FIN_cooperative_DEF:1 "The Republic of Finland" - FIN_unaligned:1 "Finland" - FIN_unaligned_DEF:1 "Finland" - FIN_revolutionary:0 "Red Finland" - FIN_revolutionary_DEF:0 "Red Finland" - FIN_belligerent_ADJ:0 "Finnish" - FIN_cooperative_ADJ:0 "Finnish" - FIN_unaligned_ADJ:0 "Finnish" - FIN_revolutionary_ADJ:0 "Finnish" - HUN_belligerent:0 "Hungary" - HUN_belligerent_DEF:0 "Hungary" - HUN_cooperative:0 "Republic of Hungary" - HUN_cooperative_DEF:0 "The Republic of Hungary" - HUN_unaligned:0 "Kingdom of Hungary" - HUN_unaligned_DEF:0 "Kingdom of Hungary" - HUN_revolutionary:0 "Hungarian People's Republic" - HUN_revolutionary_DEF:0 "The Hungarian People's Republic" - HUN_belligerent_ADJ:0 "Hungarian" - HUN_cooperative_ADJ:0 "Hungarian" - HUN_unaligned_ADJ:0 "Hungarian" - HUN_revolutionary_ADJ:0 "Hungarian" - AFG_belligerent:0 "New Afghan Khanate" - AFG_belligerent_DEF:0 "The New Afghan Khanate" - AFG_cooperative:0 "Republic of Afghanistan" - AFG_cooperative_DEF:0 "The Republic of Afghanistan" - AFG_unaligned:0 "Afghanistan" - AFG_unaligned_DEF:0 "Afghanistan" - AFG_revolutionary:0 "Democratic Republic of Afghanistan" - AFG_revolutionary_DEF:0 "The Democratic Republic of Afghanistan" - AFG_belligerent_ADJ:0 "Afghan" - AFG_cooperative_ADJ:0 "Afghan" - AFG_unaligned_ADJ:0 "Afghan" - AFG_revolutionary_ADJ:0 "Afghan" - BOL_belligerent:0 "Falangist Bolivia" - BOL_belligerent_DEF:0 "Falangist Bolivia" - BOL_cooperative:0 "Plurinational Bolivia" - BOL_cooperative_DEF:0 "Plurinational Bolivia" - BOL_unaligned:0 "Bolivia" - BOL_unaligned_DEF:0 "Bolivia" - BOL_revolutionary:0 "Bolivia Izquerdista" - BOL_revolutionary_DEF:0 "Bolivia Izquerdista" - BOL_belligerent_ADJ:0 "Bolivian" - BOL_cooperative_ADJ:0 "Bolivian" - BOL_unaligned_ADJ:0 "Bolivian" - BOL_revolutionary_ADJ:0 "Bolivian" - BRA_belligerent:0 "Integralist Brazil" - BRA_belligerent_DEF:0 "Integralist Brazil" - BRA_cooperative:0 "Second Brazilian Republic" - BRA_cooperative_DEF:0 "The Second Brazilian Republic" - BRA_unaligned:0 "Brazil" - BRA_unaligned_DEF:0 "Brazil" - BRA_revolutionary:0 "Brazilian Socialist Republic" - BRA_revolutionary_DEF:0 "The Brazilian Socialist Republic" - BRA_belligerent_ADJ:0 "Brazilian" - BRA_cooperative_ADJ:0 "Brazilian" - BRA_unaligned_ADJ:0 "Brazilian" - BRA_revolutionary_ADJ:0 "Brazilian" - CAN_belligerent:0 "Unitary Canada" - CAN_belligerent_DEF:0 "Unitary Canada" - CAN_cooperative:0 "Canada" - CAN_cooperative_DEF:0 "Canada" - CAN_unaligned:0 "Free Canadian Republic" - CAN_unaligned_DEF:0 "The Free Canadian Republic" - CAN_revolutionary:0 "Canada Popular State" - CAN_revolutionary_DEF:0 "The Canada Popular State" - CAN_belligerent_ADJ:0 "Canadian" - CAN_cooperative_ADJ:0 "Canadian" - CAN_unaligned_ADJ:0 "Canadian" - CAN_revolutionary_ADJ:0 "Canadian" - CHI_belligerent:0 "Reorganized Nationalist China" - CHI_belligerent_DEF:0 "Reorganized Nationalist China" - CHI_cooperative:0 "Republic of China" - CHI_cooperative_DEF:0 "The Republic of China" - CHI_unaligned:0 "China" - CHI_unaligned_DEF:0 "China" - CHI_revolutionary:0 "Chinese People's Republic" - CHI_revolutionary_DEF:0 "The Chinese People's Republic" - CHI_belligerent_ADJ:0 "Chinese" - CHI_cooperative_ADJ:0 "Chinese" - CHI_unaligned_ADJ:0 "Chinese" - CHI_revolutionary_ADJ:0 "Chinese" - PRC_belligerent:0 "Chinese Empire" - PRC_belligerent_DEF:0 "The Chinese Empire" - PRC_cooperative:0 "Chinese Republic" - PRC_cooperative_DEF:0 "The Chinese Republic" - PRC_unaligned:0 "China" - PRC_unaligned_DEF:0 "China" - PRC_revolutionary:0 "People's Republic of China" - PRC_revolutionary_DEF:0 "The People's Republic of China" - PRC_belligerent_ADJ:0 "Chinese" - PRC_cooperative_ADJ:0 "Chinese" - PRC_unaligned_ADJ:0 "Chinese" - PRC_revolutionary_ADJ:0 "Chinese" - CHL_belligerent:0 "Vanguard Chile" - CHL_belligerent_DEF:0 "Vanguard Chile" - CHL_cooperative:0 "Chile" - CHL_cooperative_DEF:0 "Chile" - CHL_unaligned:0 "Atacama-Patagonian Free State" - CHL_unaligned_DEF:0 "Atacama-Patagonian Free State" - CHL_revolutionary:0 "Chilean Socialist Republic" - CHL_revolutionary_DEF:0 "The Chilean Socialist Republic" - CHL_belligerent_ADJ:0 "Chilean" - CHL_cooperative_ADJ:0 "Chilean" - CHL_unaligned_ADJ:0 "Chilean" - CHL_revolutionary_ADJ:0 "Chilean" - COS_belligerent:0 "Costa Potente" - COS_belligerent_DEF:0 "Costa Potente" - COS_cooperative:0 "Costa Rica" - COS_cooperative_DEF:0 "Costa Rica" - COS_unaligned:0 "Reino de la Costa" - COS_unaligned_DEF:0 "Reino de la Costa" - COS_revolutionary:0 "Costa del Pueblo" - COS_revolutionary_DEF:0 "Costa del Pueblo" - COS_belligerent_ADJ:0 "Costa Rican" - COS_cooperative_ADJ:0 "Costa Rican" - COS_unaligned_ADJ:0 "Costa Rican" - COS_revolutionary_ADJ:0 "Costa Rican" - ELS_belligerent:0 "El Salvador" - ELS_belligerent_DEF:0 "El Salvador" - ELS_cooperative:0 "Republic of El Salvador" - ELS_cooperative_DEF:0 "The Republic of El Salvador" - ELS_unaligned:0 "Teocracia de El Salvador" - ELS_unaligned_DEF:0 "Teocracia de El Salvador" - ELS_revolutionary:0 "Central American Socialist Republic" - ELS_revolutionary_DEF:0 "The Central American Socialist Republic" - ELS_belligerent_ADJ:0 "Salvadoran" - ELS_cooperative_ADJ:0 "Salvadoran" - ELS_unaligned_ADJ:0 "Salvadoran" - ELS_revolutionary_ADJ:0 "Salvadoran" - IRQ_belligerent:0 "Al-Muthanna Iraq" - IRQ_belligerent_DEF:0 "Al-Muthanna Iraq" - IRQ_cooperative:0 "Iraqi Republic" - IRQ_cooperative_DEF:0 "The Iraqi Republic" - IRQ_unaligned:0 "Iraq" - IRQ_unaligned_DEF:0 "Iraq" - IRQ_revolutionary:0 "Iraqi People's State" - IRQ_revolutionary_DEF:0 "The Iraqi People's State" - IRQ_belligerent_ADJ:0 "Iraqi" - IRQ_cooperative_ADJ:0 "Iraqi" - IRQ_unaligned_ADJ:0 "Iraqi" - IRQ_revolutionary_ADJ:0 "Iraqi" - JAP_belligerent:0 "Japan" - JAP_belligerent_DEF:0 "Japan" - JAP_cooperative:0 "State of Japan" - JAP_cooperative_DEF:0 "The State of Japan" - JAP_unaligned:0 "Japanese Shogunate" - JAP_unaligned_DEF:0 "The Japanese Shogunate" - JAP_revolutionary:0 "Japanese People's Republic" - JAP_revolutionary_DEF:0 "The Japanese People's Republic" - JAP_belligerent_ADJ:0 "Japanese" - JAP_cooperative_ADJ:0 "Japanese" - JAP_unaligned_ADJ:0 "Japanese" - JAP_revolutionary_ADJ:0 "Japanese" - MEX_belligerent:0 "Synarchist Mexico" - MEX_belligerent_DEF:0 "Synarchist Mexico" - MEX_cooperative:0 "Mexican Opposition" - MEX_cooperative_DEF:0 "The Mexican Opposition" - MEX_unaligned:0 "Mexico" - MEX_unaligned_DEF:0 "Mexico" - MEX_revolutionary:0 "Mexican Socialist Republic" - MEX_revolutionary_DEF:0 "The Mexican Socialist Republic" - MEX_belligerent_ADJ:0 "Mexican" - MEX_cooperative_ADJ:0 "Mexican" - MEX_unaligned_ADJ:0 "Mexican" - MEX_revolutionary_ADJ:0 "Mexican" - NIC_belligerent:0 "Liberal Nationalist Nicaragua" - NIC_belligerent_DEF:0 "Liberal Nationalist Nicaragua" - NIC_cooperative:0 "Republic of Nicaragua" - NIC_cooperative_DEF:0 "The Republic of Nicaragua" - NIC_unaligned:0 "Nicaragua" - NIC_unaligned_DEF:0 "Nicaragua" - NIC_revolutionary:0 "International Nicaragua" - NIC_revolutionary_DEF:0 "International Nicaragua" - NIC_belligerent_ADJ:0 "Nicaraguan" - NIC_cooperative_ADJ:0 "Nicaraguan" - NIC_unaligned_ADJ:0 "Nicaraguan" - NIC_revolutionary_ADJ:0 "Nicaraguan" - PAN_belligerent:0 "Patriotic Communal Panama" - PAN_belligerent_DEF:0 "Patriotic Communal Panama" - PAN_cooperative:0 "Panama" - PAN_cooperative_DEF:0 "Panama" - PAN_unaligned:0 "Costas Hermanas" - PAN_unaligned_DEF:0 "Costas Hermanas" - PAN_revolutionary:0 "Free Panama Commune" - PAN_revolutionary_DEF:0 "Free Panama Commune" - PAN_belligerent_ADJ:0 "Panamanian" - PAN_cooperative_ADJ:0 "Panamanian" - PAN_unaligned_ADJ:0 "Panamanian" - PAN_revolutionary_ADJ:0 "Panamanian" - PAR_belligerent:0 "Febrerista Paraguay" - PAR_belligerent_DEF:0 "Feberrista Paraguay" - PAR_cooperative:0 "Republic of Paraguay" - PAR_cooperative_DEF:0 "The Republic of Paraguay" - PAR_unaligned:0 "Paraguay" - PAR_unaligned_DEF:0 "Paraguay" - PAR_revolutionary:0 "Paraguay" - PAR_revolutionary_DEF:0 "Paraguay" - PAR_belligerent_ADJ:0 "Paraguayan" - PAR_cooperative_ADJ:0 "Paraguayan" - PAR_unaligned_ADJ:0 "Paraguayan" - PAR_revolutionary_ADJ:0 "Paraguayan" - PER_belligerent:0 "New Persian Empire" - PER_belligerent_DEF:0 "The New Persian Empire" - PER_cooperative:0 "Republic of Iran" - PER_cooperative_DEF:0 "The Republic of Iran" - PER_unaligned:0 "Iran" - PER_unaligned_DEF:0 "Iran" - PER_revolutionary:0 "Iranian Communist Authority" - PER_revolutionary_DEF:0 "The Iranian Communist Authority" - PER_belligerent_ADJ:0 "Iranian" - PER_cooperative_ADJ:0 "Iranian" - PER_unaligned_ADJ:0 "Iranian" - PER_revolutionary_ADJ:0 "Iranian" - PHI_belligerent:0 "Ganap Philippines" - PHI_belligerent_DEF:0 "Ganap Philippines" - PHI_cooperative:0 "Philippines" - PHI_cooperative_DEF:0 "The Philippines" - PHI_unaligned:0 "Independent Philippines" - PHI_unaligned_DEF:0 "Independent Philippines" - PHI_revolutionary:0 "Huk Community of the Philippines" - PHI_revolutionary_DEF:0 "Huk Community of the Philippines" - PHI_belligerent_ADJ:0 "Philippines" - PHI_cooperative_ADJ:0 "Philippines" - PHI_unaligned_ADJ:0 "Philippines" - PHI_revolutionary_ADJ:0 "Philippines" - SAF_belligerent:0 "Nationalist South Africa" - SAF_belligerent_DEF:0 "Nationalist South Africa" - SAF_cooperative:0 "South Africa" - SAF_cooperative_DEF:0 "South Africa" - SAF_unaligned:0 "Unitary South Africa" - SAF_unaligned_DEF:0 "Unitary South Africa" - SAF_revolutionary:0 "Cape Commune" - SAF_revolutionary_DEF:0 "The Cape Commune" - SAF_belligerent_ADJ:0 "South African" - SAF_cooperative_ADJ:0 "South African" - SAF_unaligned_ADJ:0 "South African" - SAF_revolutionary_ADJ:0 "South African" - SAU_belligerent:0 "Arabic Empire" - SAU_belligerent_DEF:0 "The Arabic Empire" - SAU_cooperative:0 "Arabian Republic" - SAU_cooperative_DEF:0 "The Arabian Republic" - SAU_unaligned:0 "Saudi Arabia" - SAU_unaligned_DEF:0 "Saudi Arabia" - SAU_revolutionary:0 "Republic of the Arabian Assembly" - SAU_revolutionary_DEF:0 "The Republic of the Arabian Assembly" - SAU_belligerent_ADJ:0 "Arabian" - SAU_cooperative_ADJ:0 "Arabian" - SAU_unaligned_ADJ:0 "Saudi Arabian" - SAU_revolutionary_ADJ:0 "Arabian" - SIA_belligerent:0 "Siamese Empire" - SIA_belligerent_DEF:0 "The Siamese Empire" - SIA_cooperative:0 "Republic of Thailand" - SIA_cooperative_DEF:0 "The Republic of Thailand" - SIA_unaligned:0 "Siam" - SIA_unaligned_DEF:0 "Siam" - SIA_revolutionary:0 "Thai People's Republic" - SIA_revolutionary_DEF:0 "The Thai People's Republic" - SIA_belligerent_ADJ:0 "Siamese" - SIA_cooperative_ADJ:0 "Siamese" - SIA_unaligned_ADJ:0 "Siamese" - SIA_revolutionary_ADJ:0 "Siamese" - SIK_belligerent:0 "Dictatorial Sinkiang" - SIK_belligerent_DEF:0 "Dictatorial Sinkiang" - SIK_cooperative:0 "Sinkiang Independent Republic" - SIK_cooperative_DEF:0 "The Sinkiang Independent Republic" - SIK_unaligned:0 "State of Sinkiang" - SIK_unaligned_DEF:0 "State of Sinkiang" - SIK_revolutionary:0 "Sinkiang" - SIK_revolutionary_DEF:0 "Sinkiang" - SIK_belligerent_ADJ:0 "Sinkiang" - SIK_cooperative_ADJ:0 "Sinkiang" - SIK_unaligned_ADJ:0 "Sinkiang" - SIK_revolutionary_ADJ:0 "Sinkiang" - TAN_belligerent:0 "Tuvan Nationalist Republic" - TAN_belligerent_DEF:0 "The Tuvan Nationalist Republic" - TAN_cooperative:0 "Tuva Independent Republic" - TAN_cooperative_DEF:0 "The Tuva Independent Republic" - TAN_unaligned:0 "Tannu Uriankhai" - TAN_unaligned_DEF:0 "Tannu Uriankhai" - TAN_revolutionary:0 "Tannu Tuva" - TAN_revolutionary_DEF:0 "Tannu Tuva" - TAN_belligerent_ADJ:0 "Tuvan" - TAN_cooperative_ADJ:0 "Tuvan" - TAN_unaligned_ADJ:0 "Tuvan" - TAN_revolutionary_ADJ:0 "Tuvan" - TIB_belligerent:0 "Tibetan Empire" - TIB_belligerent_DEF:0 "The Tibetan Empire" - TIB_cooperative:0 "Republic of Tibet" - TIB_cooperative_DEF:0 "The Republic of Tibet" - TIB_unaligned:0 "Tibet" - TIB_unaligned_DEF:0 "Tibet" - TIB_revolutionary:0 "Monastic Commune of Tibet" - TIB_revolutionary_DEF:0 "The Monastic Commune of Tibet" - TIB_belligerent_ADJ:0 "Tibetan" - TIB_cooperative_ADJ:0 "Tibetan" - TIB_unaligned_ADJ:0 "Tibetan" - TIB_revolutionary_ADJ:0 "Tibetan" - VEN_belligerent:0 "Venezuela" - VEN_belligerent_DEF:0 "Venezuela" - VEN_cooperative:0 "Federal Republic of Venezuela" - VEN_cooperative_DEF:0 "The Federal Republic of Venezuela" - VEN_unaligned:0 "Bolivarian Venezuela" - VEN_unaligned_DEF:0 "Bolivarian Venezuela" - VEN_revolutionary:0 "Leftist International Venezuela" - VEN_revolutionary_DEF:0 "Leftist International Venezuela" - VEN_belligerent_ADJ:0 "Venezuelan" - VEN_cooperative_ADJ:0 "Venezuelan" - VEN_unaligned_ADJ:0 "Venezuelan" - VEN_revolutionary_ADJ:0 "Venezuelan" - YUN_belligerent:0 "Yunnan Free Empire" - YUN_belligerent_DEF:0 "The Yunnan Free Empire" - YUN_cooperative:0 "Yunnan Independent Republic" - YUN_cooperative_DEF:0 "The Yunnan Independent Republic" - YUN_unaligned:0 "Yunnan" - YUN_unaligned_DEF:0 "Yunnan" - YUN_revolutionary:0 "Soviet State of Yunnan" - YUN_revolutionary_DEF:0 "The Soviet State of Yunnan" - YUN_belligerent_ADJ:0 "Yunnanese" - YUN_cooperative_ADJ:0 "Yunnanese" - YUN_unaligned_ADJ:0 "Yunnanese" - YUN_revolutionary_ADJ:0 "Yunnanese" - AST_belligerent:0 "Centralist Australia" - AST_belligerent_DEF:0 "Centralist Australia" - AST_cooperative:0 "Australia" - AST_cooperative_DEF:0 "Australia" - AST_unaligned:0 "Emu Empire" - AST_unaligned_DEF:0 "The Emu Empire" - AST_revolutionary:0 "Australian People's Republic" - AST_revolutionary_DEF:0 "The Australian People's Republic" - AST_belligerent_ADJ:0 "Australian" - AST_cooperative_ADJ:0 "Australian" - AST_unaligned_ADJ:0 "Australian" - AST_revolutionary_ADJ:0 "Australian" - NZL_belligerent:0 "Kiwi Empire" - NZL_belligerent_DEF:0 "The Kiwi Empire" - NZL_cooperative:0 "New Zealand" - NZL_cooperative_DEF:0 "New Zealand" - NZL_unaligned:0 "Nova Zeelandia Republic" - NZL_unaligned_DEF:0 "The Nova Zeelandia Republic" - NZL_revolutionary:0 "People's Republic of Aotearoa" - NZL_revolutionary_DEF:0 "The People's Republic of Aotearoa" - NZL_belligerent_ADJ:0 "Kiwi Empire" - NZL_cooperative_ADJ:0 "New Zealand" - NZL_unaligned_ADJ:0 "New Zealand" - NZL_revolutionary_ADJ:0 "Aotearoan" - CUB_belligerent:0 "Falangist Cuba" - CUB_belligerent_DEF:0 "Falangist Cuba" - CUB_cooperative:0 "Cuba" - CUB_cooperative_DEF:0 "Cuba" - CUB_unaligned:0 "Anarcho-republic of Cuba" - CUB_unaligned_DEF:0 "Anarcho-republic of Cuba" - CUB_revolutionary:0 "Revolutionary Cuba" - CUB_revolutionary_DEF:0 "Revolutionary Cuba" - CUB_belligerent_ADJ:0 "Cuban" - CUB_cooperative_ADJ:0 "Cuban" - CUB_unaligned_ADJ:0 "Cuban" - CUB_revolutionary_ADJ:0 "Cuban" - OMA_belligerent:0 "Omani Empire" - OMA_belligerent_DEF:0 "The Omani Empire" - OMA_cooperative:0 "Republic of Oman" - OMA_cooperative_DEF:0 "The Republic of Oman" - OMA_unaligned:0 "Oman" - OMA_unaligned_DEF:0 "Oman" - OMA_revolutionary:0 "People's Republic of Oman" - OMA_revolutionary_DEF:0 "The People's Republic of Oman" - OMA_belligerent_ADJ:0 "Oman" - OMA_cooperative_ADJ:0 "Oman" - OMA_unaligned_ADJ:0 "Oman" - OMA_revolutionary_ADJ:0 "Oman" - YEM_belligerent:0 "Federation of South Arabia" - YEM_belligerent_DEF:0 "Federation of South Arabia" - YEM_cooperative:0 "Yemen Arab Republic" - YEM_cooperative_DEF:0 "Yemen Arab Republic" - YEM_unaligned:0 "Yemen" - YEM_unaligned_DEF:0 "Yemen" - YEM_revolutionary:0 "Soviet State of Yemen" - YEM_revolutionary_DEF:0 "The Soviet State of Yemen" - YEM_belligerent_ADJ:0 "Yemeni" - YEM_cooperative_ADJ:0 "Yemeni" - YEM_unaligned_ADJ:0 "Yemeni" - YEM_revolutionary_ADJ:0 "Yemeni" - ETH_belligerent:0 "Lictor Ethiopia" - ETH_belligerent_DEF:0 "Lictor Ethiopia" - ETH_cooperative:0 "Federal Democratic Republic of Ethiopia" - ETH_cooperative_DEF:0 "The Federal Democratic Republic of Ethiopia" - ETH_unaligned:0 "Ethiopia" - ETH_unaligned_DEF:0 "Ethiopia" - ETH_revolutionary:0 "People's Democratic Republic of Ethiopia" - ETH_revolutionary_DEF:0 "The People's Democratic Republic of Ethiopia" - ETH_belligerent_ADJ:0 "Ethiopian" - ETH_cooperative_ADJ:0 "Ethiopian" - ETH_unaligned_ADJ:0 "Ethiopian" - ETH_revolutionary_ADJ:0 "Ethiopian" - SLO_belligerent:0 "Slovakia" - SLO_belligerent_DEF:0 "Slovakia" - SLO_cooperative:0 "Slovak Republic" - SLO_cooperative_DEF:0 "The Slovak Republic" - SLO_unaligned:0 "Free State of Slovakia" - SLO_unaligned_DEF:0 "The Free State of Slovakia" - SLO_revolutionary:0 "Slovak Socialist Republic" - SLO_revolutionary_DEF:0 "The Slovak Socialist Republic" - SLO_belligerent_ADJ:0 "Slovakian" - SLO_cooperative_ADJ:0 "Slovakian" - SLO_unaligned_ADJ:0 "Slovakian" - SLO_revolutionary_ADJ:0 "Slovakian" - BHU_belligerent:0 "Thunder Dragon Empire" - BHU_belligerent_DEF:0 "The Thunder Dragon Empire" - BHU_cooperative:0 "Bhutanese Republic" - BHU_cooperative_DEF:0 "The Bhutanese Republic" - BHU_unaligned:0 "Bhutan" - BHU_unaligned_DEF:0 "Bhutan" - BHU_revolutionary:0 "Union of Red Dragons" - BHU_revolutionary_DEF:0 "The Union of Red Dragons" - BHU_belligerent_ADJ:0 "Bhutanese" - BHU_cooperative_ADJ:0 "Bhutanese" - BHU_unaligned_ADJ:0 "Bhutanese" - BHU_revolutionary_ADJ:0 "Bhutanese" - LIB_belligerent:0 "Reorganized Liberian Free State" - LIB_belligerent_DEF:0 "Reorganized Liberian Free State" - LIB_cooperative:0 "Liberia" - LIB_cooperative_DEF:0 "Liberia" - LIB_unaligned:0 "Independent Liberia" - LIB_unaligned_DEF:0 "Independent Liberia" - LIB_revolutionary:0 "Liberian Commune" - LIB_revolutionary_DEF:0 "The Liberian Commune" - LIB_belligerent_ADJ:0 "Liberian" - LIB_cooperative_ADJ:0 "Liberian" - LIB_unaligned_ADJ:0 "Liberian" - LIB_revolutionary_ADJ:0 "Liberian" - RAJ_belligerent:0 "Free India" - RAJ_belligerent_DEF:0 "Free India" - RAJ_cooperative:0 "India" - RAJ_cooperative_DEF:0 "India" - RAJ_unaligned:0 "India" - RAJ_unaligned_DEF:0 "India" - RAJ_revolutionary:0 "Indian People's Republic" - RAJ_revolutionary_DEF:0 "The Indian People's Republic" - RAJ_belligerent_ADJ:0 "British Indian" - RAJ_cooperative_ADJ:0 "British Indian" - RAJ_unaligned_ADJ:0 "British Indian" - RAJ_revolutionary_ADJ:0 "British Indian" - CRO_belligerent:0 "Independent State of Croatia" - CRO_belligerent_DEF:0 "The Independent State of Croatia" - CRO_cooperative:0 "Republic of Croatia" - CRO_cooperative_DEF:0 "The Republic of Croatia" - CRO_unaligned:0 "Kingdom of Croatia" - CRO_unaligned_DEF:0 "The Kingdom of Croatia" - CRO_revolutionary:0 "SR Croatia" - CRO_revolutionary_DEF:0 "SR Croatia" - CRO_belligerent_ADJ:0 "Croatian" - CRO_cooperative_ADJ:0 "Croatian" - CRO_unaligned_ADJ:0 "Croatian" - CRO_revolutionary_ADJ:0 "Croatian" - GXC_belligerent:0 "Third Guangxi Clique" - GXC_belligerent_DEF:0 "The Third Guangxi Clique" - GXC_cooperative:0 "Guangxi Independent Republic" - GXC_cooperative_DEF:0 "The Guangxi Independent Republic" - GXC_unaligned:0 "Guangxi Clique" - GXC_unaligned_DEF:0 "The Guangxi Clique" - GXC_revolutionary:0 "Socialist Republic of the Zhu Jiang" - GXC_revolutionary_DEF:0 "The Socialist Republic of the Zhu Jiang" - GXC_belligerent_ADJ:0 "Guangxi" - GXC_unaligned_ADJ:0 "Guangxi" - GXC_cooperative_ADJ:0 "Guangxi" - GXC_revolutionary_ADJ:0 "Guangxi" - XSM_belligerent:0 "Xibei San Ma Free State" - XSM_belligerent_DEF:0 "The Xibei San Ma Free State" - XSM_cooperative:0 "Hui Republic" - XSM_cooperative_DEF:0 "The Hui Republic" - XSM_unaligned:0 "Xibei San Ma" - XSM_unaligned_DEF:0 "Xibei San Ma" - XSM_revolutionary:0 "People's Republic of Ma" - XSM_revolutionary_DEF:0 "The People's Republic of Ma" - XSM_belligerent_ADJ:0 "Ma" - XSM_cooperative_ADJ:0 "Ma" - XSM_unaligned_ADJ:0 "Ma" - XSM_revolutionary_ADJ:0 "Ma" - KOR_belligerent:0 "Independent Korean Governorate" - KOR_belligerent_DEF:0 "The Independent Korean Governorate" - KOR_cooperative:0 "Korea" - KOR_cooperative_DEF:0 "Korea" - KOR_revolutionary:0 "Democratic People's Republic of Korea" - KOR_revolutionary_DEF:0 "The Democratic People's Republic of Korea" - KOR_unaligned:0 "Joseon Empire" - KOR_unaligned_DEF:0 "The Joseon Empire" - KOR_belligerent_ADJ:0 "Korean" - KOR_cooperative_ADJ:0 "Korean" - KOR_revolutionary_ADJ:0 "Korean" - KOR_unaligned_ADJ:0 "Korean" - SER_belligerent:0 "Serbian Empire" - SER_belligerent_DEF:0 "The Serbian Empire" - SER_cooperative:0 "Serbia" - SER_cooperative_DEF:0 "Serbia" - SER_revolutionary:0 "Socialist Republic of Serbia" - SER_revolutionary_DEF:0 "The Socialist Republic of Serbia" - SER_unaligned:0 "Serbia" - SER_unaligned_DEF:0 "Serbia" - SER_belligerent_ADJ:0 "Serbian" - SER_cooperative_ADJ:0 "Serbian" - SER_revolutionary_ADJ:0 "Serbian" - SER_unaligned_ADJ:0 "Serbian" - ICE_belligerent:0 "Islandsveldi" - ICE_belligerent_DEF:0 "The Islandsveldi" - ICE_cooperative:0 "Iceland" - ICE_cooperative_DEF:0 "Iceland" - ICE_revolutionary:0 "Worker's Republic of Iceland" - ICE_revolutionary_DEF:0 "The Worker's Republic of Iceland" - ICE_unaligned:0 "Island" - ICE_unaligned_DEF:0 "Island" - ICE_belligerent_ADJ:0 "Icelandic" - ICE_cooperative_ADJ:0 "Icelandic" - ICE_revolutionary_ADJ:0 "Icelandic" - ICE_unaligned_ADJ:0 "Icelandic" - LBA_unaligned:0 "Kingdom of Libya" - LBA_unaligned_DEF:0 "Libya" - LBA_cooperative:0 "Libyan Electorate" - LBA_cooperative_DEF:0 "The Libyan Electorate" - LBA_belligerent:0 "Africa Nova" - LBA_belligerent_DEF:0 "Africa Nova" - LBA_revolutionary:0 "Libyan Socialist Republic" - LBA_revolutionary_DEF:0 "The Libyan Socialist Republic" - LBA_revolutionary_ADJ:0 "Libyan" - LBA_belligerent_ADJ:0 "Libyan" - LBA_cooperative_ADJ:0 "Libyan" - LBA_unaligned_ADJ:0 "Libyan" - WGR_cooperative:0 "West Germany" - WGR_cooperative_DEF:0 "West Germany" - WGR_belligerent:0 "Fourth Reich" - WGR_belligerent_DEF:0 "The Fourth Reich" - WGR_unaligned:0 "Bayern-Hannover" - WGR_unaligned_DEF:0 "Bayern-Hannover" - WGR_revolutionary:0 "Socialist Republic of Germany" - WGR_revolutionary_DEF:0 "The Socialist Republic of Germany" - WGR_revolutionary_ADJ:0 "West German" - WGR_belligerent_ADJ:0 "West German" - WGR_unaligned_ADJ:0 "West German" - WGR_cooperative_ADJ:0 "West German" - DDR_revolutionary:0 "East Germany" - DDR_revolutionary_DEF:0 "East Germany" - DDR_unaligned:0 "Kingdom of Prussia" - DDR_unaligned_DEF:0 "The Kingdom of Prussia" - DDR_cooperative:0 "Constitutional Germany" - DDR_cooperative_DEF:0 "Constitutional Germany" - DDR_belligerent:0 "DNSR" - DDR_belligerent_DEF:0 "The DNSR" - DDR_revolutionary_ADJ:0 "East German" - DDR_belligerent_ADJ:0 "East German" - DDR_unaligned_ADJ:0 "East German" - DDR_cooperative_ADJ:0 "East German" - PAL_belligerent:0 "Jund Palestine" - PAL_belligerent_DEF:0 "Jund Palestine" - PAL_cooperative:0 "Palestine" - PAL_cooperative_DEF:0 "Palestine" - PAL_revolutionary:0 "People's Socialist Palestine" - PAL_revolutionary_DEF:0 "The People's Socialist Palestine" - PAL_unaligned:0 "Free Mandate of Palestine" - PAL_unaligned_DEF:0 "The Free Mandate of Palestine" - PAL_revolutionary_ADJ:0 "Palestinian" - PAL_belligerent_ADJ:0 "Palestinian" - PAL_unaligned_ADJ:0 "Palestinian" - PAL_cooperative_ADJ:0 "Palestinian" - VIN_belligerent:0 "Empire of Vietnam" - VIN_belligerent_DEF:0 "The Empire of Vietnam" - VIN_cooperative:0 "Republic of Vietnam" - VIN_cooperative_DEF:0 "The Republic of Vietnam" - VIN_unaligned:0 "Republic of Vietnam" - VIN_unaligned_DEF:0 "The Republic of Vietnam" - VIN_revolutionary:0 "Democratic Republic of Vietnam" - VIN_revolutionary_DEF:0 "The Democratic Republic of Vietnam" - VIN_belligerent_ADJ:0 "Vietnamese" - VIN_cooperative_ADJ:0 "Vietnamese" - VIN_unaligned_ADJ:0 "Vietnamese" - VIN_revolutionary_ADJ:0 "Vietnamese" - CAM_belligerent:0 "Imperial Khmer" - CAM_belligerent_DEF:0 "Imperial Khmer" - CAM_cooperative:0 "Republic of Cambodia" - CAM_cooperative_DEF:0 "The Republic of Cambodia" - CAM_unaligned:0 "Republic of Cambodia" - CAM_unaligned_DEF:0 "The Republic of Cambodia" - CAM_revolutionary:0 "People's Republic of Cambodia" - CAM_revolutionary_DEF:0 "The People's Republic of Cambodia" - CAM_belligerent_ADJ:0 "Cambodian" - CAM_cooperative_ADJ:0 "Cambodian" - CAM_unaligned_ADJ:0 "Cambodian" - CAM_revolutionary_ADJ:0 "Cambodian" - INS_belligerent:0 "Indonesian Order" - INS_belligerent_DEF:0 "The Indonesian Order" - INS_cooperative:0 "Republic of Indonesia" - INS_cooperative_DEF:0 "The Republic of Indonesia" - INS_unaligned:0 "Indonesia" - INS_unaligned_DEF:0 "Indonesia" - INS_revolutionary:0 "Soviet Islands of Indonesia" - INS_revolutionary_DEF:0 "The Soviet Islands of Indonesia" - INS_belligerent_ADJ:0 "Indonesian" - INS_cooperative_ADJ:0 "Indonesian" - INS_unaligned_ADJ:0 "Indonesian" - INS_revolutionary_ADJ:0 "Indonesian" - MAL_belligerent:0 "Malaysia" - MAL_belligerent_DEF:0 "Malaysia" - MAL_cooperative:0 "Republic of Malaysia" - MAL_cooperative_DEF:0 "The Republic of Malaysia" - MAL_unaligned:0 "Republic of Malaysia" - MAL_unaligned_DEF:0 "The Republic of Malaysia" - MAL_revolutionary:0 "Malay People's Republic" - MAL_revolutionary_DEF:0 "The Malay People's Republic" - MAL_belligerent_ADJ:0 "Malaysian" - MAL_cooperative_ADJ:0 "Malaysian" - MAL_unaligned_ADJ:0 "Malaysian" - MAL_revolutionary_ADJ:0 "Malaysian" - LAO_belligerent:0 "Unitary Laos" - LAO_belligerent_DEF:0 "Unitary Laos" - LAO_cooperative:0 "Republic of Laos" - LAO_cooperative_DEF:0 "The Republic of Laos" - LAO_unaligned:0 "Kingdom of Laos" - LAO_unaligned_DEF:0 "The Kingdom of Laos" - LAO_revolutionary:0 "Lao People's Democratic Republic" - LAO_revolutionary_DEF:0 "The Lao People's Democratic Republic" - LAO_belligerent_ADJ:0 "Laotian" - LAO_cooperative_ADJ:0 "Laotian" - LAO_unaligned_ADJ:0 "Laotian" - LAO_revolutionary_ADJ:0 "Laotian" - MNT_belligerent:0 "Independent Montenegro" - MNT_belligerent_DEF:0 "The Independent Montenegro" - MNT_cooperative:0 "Republic of Montenegro" - MNT_cooperative_DEF:0 "Republic of Montenegro" - MNT_unaligned:0 "Montenegro" - MNT_unaligned_DEF:0 "Montenegro" - MNT_revolutionary:0 "Socialist Republic of Montenegro" - MNT_revolutionary_DEF:0 "The Socialist Republic of Montenegro" - MNT_belligerent_ADJ:0 "Montenegrin" - MNT_cooperative_ADJ:0 "Montenegrin" - MNT_unaligned_ADJ:0 "Montenegrin" - MNT_revolutionary_ADJ:0 "Montenegrin" - AZR_belligerent:0 "Empire of Fire" - AZR_belligerent_DEF:0 "The Empire of Fire" - AZR_cooperative:0 "Azerbaijan Democratic Republic" - AZR_cooperative_DEF:0 "The Azerbaijan Democratic Republic" - AZR_unaligned:0 "Islamic Republic of Azerbaijan" - AZR_unaligned_DEF:0 "Islamic Republic of Azerbaijan" - AZR_revolutionary:1 "Azerbaijan Socialist Republic" - AZR_revolutionary_DEF:1 "The Azerbaijan Socialist Republic" - AZR_belligerent_ADJ:0 "Azerbaijani" - AZR_cooperative_ADJ:0 "Azerbaijani" - AZR_unaligned_ADJ:0 "Azerbaijani" - AZR_revolutionary_ADJ:0 "Azerbaijani" - ARM_belligerent:0 "Greater Armenia" - ARM_belligerent_DEF:0 "Greater Armenia" - ARM_cooperative:0 "Republic of Armenia" - ARM_cooperative_DEF:0 "The Republic of Armenia" - ARM_unaligned:0 "Armenian Independent Territories" - ARM_unaligned_DEF:0 "The Armenian Independent Territories" - ARM_revolutionary:1 "Armenian Socialist Republic" - ARM_revolutionary_DEF:1 "The Armenian Socialist Republic" - ARM_belligerent_ADJ:0 "Armenian" - ARM_cooperative_ADJ:0 "Armenian" - ARM_unaligned_ADJ:0 "Armenian" - ARM_revolutionary_ADJ:0 "Armenian" - BLR_belligerent:0 "Nationalist Belarus" - BLR_belligerent_DEF:0 "Nationalist Belarus" - BLR_cooperative:0 "Republic of Belarus" - BLR_cooperative_DEF:0 "The Republic of Belarus" - BLR_unaligned:0 "Belarus" - BLR_unaligned_DEF:0 "Belarus" - BLR_revolutionary:1 "Belarusian Socialist Republic" - BLR_revolutionary_DEF:0 "The Belarusian Socialist Republic" - BLR_belligerent_ADJ:0 "Belarusian" - BLR_cooperative_ADJ:0 "Belarusian" - BLR_unaligned_ADJ:0 "Belarusian" - BLR_revolutionary_ADJ:0 "Belarusian" - ZIM_belligerent:0 "Rhodesia" - ZIM_belligerent_DEF:0 "Rhodesia" - ZIM_cooperative:0 "Republic of Zimbabwe" - ZIM_cooperative_DEF:0 "The Republic of Zimbabwe" - ZIM_unaligned:0 "Zimbabwe" - ZIM_unaligned_DEF:0 "Zimbabwe" - ZIM_revolutionary:1 "Zimbabwean Democratic Republic" - ZIM_revolutionary_DEF:0 "The Zimbabwean Democratic Republic" - ZIM_belligerent_ADJ:0 "Rhodesian" - ZIM_cooperative_ADJ:0 "Zimbabwean" - ZIM_unaligned_ADJ:0 "Zimbabwean" - ZIM_revolutionary_ADJ:0 "Zimbabwean" - COG_belligerent:1 "Central African Empire" - COG_belligerent_DEF:2 "The Central African Empire" - COG_cooperative:0 "Republic of the Congo" - COG_cooperative_DEF:0 "The Republic of the Congo" - COG_unaligned:0 "Zaire" - COG_unaligned_DEF:0 "Zaire" - COG_revolutionary:1 "Democratic Republic of the Congo" - COG_revolutionary_DEF:0 "Democratic Republic of the Congo" - COG_belligerent_ADJ:0 "Congolese" - COG_cooperative_ADJ:0 "Congolese" - COG_unaligned_ADJ:0 "Zairian" - COG_revolutionary_ADJ:0 "Congolese" - KEN_belligerent:1 "Greater Kenyan Empire" - KEN_belligerent_DEF:1 "The Greater Kenyan Empire" - KEN_cooperative:0 "Republic of Kenya" - KEN_cooperative_DEF:0 "The Republic of Kenya" - KEN_unaligned:0 "Kenya" - KEN_unaligned_DEF:0 "Kenya" - KEN_revolutionary:1 "People's Republic of Kenya" - KEN_revolutionary_DEF:0 "The People's Republic of Kenya" - KEN_belligerent_ADJ:0 "Kenyan" - KEN_cooperative_ADJ:0 "Kenyan" - KEN_unaligned_ADJ:0 "Kenyan" - KEN_revolutionary_ADJ:0 "Kenyan" - PAK_belligerent:1 "New Mughal Empire" - PAK_belligerent_DEF:1 "The New Mughal Empire" - PAK_cooperative:0 "Republic of Pakistan" - PAK_cooperative_DEF:0 "The Republic of Pakistan" - PAK_unaligned:0 "Pakistan" - PAK_unaligned_DEF:0 "Pakistan" - PAK_revolutionary:1 "People's Republic of Pakistan" - PAK_revolutionary_DEF:0 "The People's Republic of Pakistan" - PAK_belligerent_ADJ:0 "Pakistani" - PAK_cooperative_ADJ:0 "Pakistani" - PAK_unaligned_ADJ:0 "Pakistani" - PAK_revolutionary_ADJ:0 "Pakistani" - BOT_belligerent:1 "Greater Botswana" - BOT_belligerent_DEF:1 "Greater Botswana" - BOT_cooperative:0 "Republic of Botswana" - BOT_cooperative_DEF:0 "The Republic of Botswana" - BOT_unaligned:0 "Botswana" - BOT_unaligned_DEF:0 "Botswana" - BOT_revolutionary:1 "Union of the Batswana People" - BOT_revolutionary_DEF:0 "The Union of the Batswana People" - BOT_belligerent_ADJ:0 "Batswana" - BOT_cooperative_ADJ:0 "Batswana" - BOT_unaligned_ADJ:0 "Batswana" - BOT_revolutionary_ADJ:0 "Batswana" - MAN_belligerent:0 "Manchukuo" - MAN_belligerent_DEF:0 "Manchukuo" - MAN_cooperative:0 "Manchu Republic" - MAN_cooperative_DEF:0 "The Manchu Republic" - MAN_unaligned:0 "Manchukuo" - MAN_unaligned_DEF:0 "Manchukuo" - MAN_revolutionary:2 "Free Democratic People's Republic of Manchukuo" - MAN_revolutionary_DEF:1 "The Free Democratic People's Republic of Manchukuo" - MAN_belligerent_ADJ:0 "Manchu" - MAN_cooperative_ADJ:0 "Manchu" - MAN_unaligned_ADJ:0 "Manchu" - MAN_revolutionary_ADJ:0 "Manchu" + NDH_belligerent:0 "Nanduhirion" + NDH_belligerent_DEF:0 "Nanduhirion" + NDH_cooperative:0 "Dimrill Dale" + NDH_cooperative_DEF:0 "Dimrill Dale" + NDH_unaligned:0 "Nanduhirion" + NDH_unaligned_DEF:0 "Nanduhirion" + NDH_revolutionary:0 "Dimrill Dale" + NDH_revolutionary_DEF:0 "Dimrill Dale" + NDH_belligerent_ADJ:0 "Nanduhirian" + NDH_cooperative_ADJ:0 "Dimrill" + NDH_unaligned_ADJ:0 "Nanduhirian" + NDH_revolutionary_ADJ:0 "Dimrill Dale" + NDH:0 "Nanduhirion" + NDH_DEF:0 "Nanduhirion" + NDH_ADJ:0 "Nanduhirion" + FACTION_NAME_COOPERATIVE_1:0 "$LEADER_COUNTRY_ADJ$ Alliance" FACTION_NAME_COOPERATIVE_2:0 "$LEADER_COUNTRY_ADJ$ Union" diff --git a/localisation/english/customunits_l_english.yml b/localisation/english/customunits_l_english.yml index 9aedd53f4..847d188f8 100644 --- a/localisation/english/customunits_l_english.yml +++ b/localisation/english/customunits_l_english.yml @@ -16,3 +16,6 @@ rangers_infantry:0 "Rangers" grond_battalion:0 "GROND" mumakil_units:0 "Mûmakil" troll_units:0 "Trolls" +spider_infantry:0 "Spiders" +heavy_infantry:0 "Heavy Infantry" +ent_infantry:0 "Ents" diff --git a/localisation/english/dol amroth/dol_amroth_l_english.yml b/localisation/english/dol amroth/dol_amroth_l_english.yml new file mode 100644 index 000000000..926ba60b1 --- /dev/null +++ b/localisation/english/dol amroth/dol_amroth_l_english.yml @@ -0,0 +1,2 @@ +l_english: +DAM_swan_knights:0 "The Swan Knights of Dol Amroth" \ No newline at end of file diff --git a/localisation/english/dorwinion/dorwinion_events_l_english.yml b/localisation/english/dorwinion/dorwinion_events_l_english.yml index 96aab5475..69ddbefc5 100644 --- a/localisation/english/dorwinion/dorwinion_events_l_english.yml +++ b/localisation/english/dorwinion/dorwinion_events_l_english.yml @@ -1,6 +1,6 @@ l_english: dorwinion.1.t:0 "[From.GetName] requests assistance in their civil war" -dorwinion.1.d:0 "A delegation from [From.GetName] arrived with an urgend request to aid their cause in Rhun by whatever means necessary. Our people have long enjoyed a harmonious peace, it may be in our own self-interest to grant our larger neighbour the same blessing." +dorwinion.1.d:0 "A delegation from [From.GetName] arrived with an urgent request to aid their cause in Rhun by whatever means necessary. Our people have long enjoyed a harmonious peace, it may be in our own self-interest to grant our larger neighbour the same blessing." dorwinion.1.a:0 "We will gather a few cohorts of volunteers." dorwinion.1.b:0 "They may have some of our stockpiled equipment." dorwinion.1.c:0 "The situation in [From.GetName] does not concern us." diff --git a/localisation/english/elven_alliance_l_english.yml b/localisation/english/elven_alliance_l_english.yml new file mode 100644 index 000000000..84675a846 --- /dev/null +++ b/localisation/english/elven_alliance_l_english.yml @@ -0,0 +1,281 @@ +l_english: +elven_alliance:0 "£elven_alliance_texticon Elven Assembly" + +elven_alliance_memberlist_recruse:0 "[DisplayElvenAllianceMember] \n[DisplayElvenAllianceMembers]" +elven_alliance_memberlist_recruse_in_favour:0 "[DisplayElvenAllianceMember_in_favour] \n[DisplayElvenAllianceMembers_in_favour]" +elven_alliance_memberlist_recruse_against:0 "[DisplayElvenAllianceMember_against] \n[DisplayElvenAllianceMembers_against]" + +elven_alliance_memberlist_recruse_flagonly:0 "[DisplayElvenAllianceMember_FlagOnly] [DisplayElvenAllianceMembers_FlagOnly]" +elven_alliance_memberlist_recruse_flagonly_abstain:0 "[DisplayElvenAllianceMember_FlagOnly_abstain] [DisplayElvenAllianceMembers_FlagOnly_abstain]" + +vote_status_tt:0 "[!resolution_passes_effect_click]" +vote_status_resolution:0 "The assembly is in session.\nCurrently voting on: §Y[?global.ea_current_resolution.GetTokenLocalizedKey] [?global.ea_current_resolution_proposer.GetResolutionTarget]§!(Proposed by [?global.ea_current_resolution_proposer.GetNameWithFlag])" +ea_recess_status:0 "The assembly is in recess." +ea_ready_status:0 "The assembly is awaiting a new proposal." + +ea_resolution_alliance_button_tt:0 "Requirements:\n[!ea_resolution_alliance_button_click_enabled]\n\n[!ea_resolution_alliance_button_click]" +ea_resolution_industry_button_tt:0 "Requirements:\n[!ea_resolution_industry_button_click_enabled]\n\n[!ea_resolution_industry_button_click]" +ea_resolution_expansion_button_tt:0 "Requirements:\n[!ea_resolution_expansion_button_click_enabled]\n\n[!ea_resolution_expansion_button_click]" +ea_resolution_peace_button_tt:0 "Requirements:\n[!ea_resolution_peace_button_click_enabled]\n\n[!ea_resolution_peace_button_click]" +ea_resolution_trade_button_tt:0 "Requirements:\n[!ea_resolution_trade_button_click_enabled]\n\n[!ea_resolution_trade_button_click]" +ea_resolution_research_button_tt:0 "Requirements:\n[!ea_resolution_research_button_click_enabled]\n\n[!ea_resolution_research_button_click]" +ea_resolution_special_button_tt:0 "Requirements:\n[!ea_resolution_special_button_click_enabled]\n\n[!ea_resolution_special_button_click]" + +ea_resolution_alliance_icon_1_tt:0 "[!ea_resolution_alliance_icon_1_tt_click]" +ea_resolution_alliance_icon_2_tt:0 "[!ea_resolution_alliance_icon_2_tt_click]" +ea_resolution_alliance_icon_3_tt:0 "[!ea_resolution_alliance_icon_3_tt_click]" +ea_resolution_expansion_icon_1_tt:0 "[!ea_resolution_expansion_icon_1_tt_click]" +ea_resolution_expansion_icon_2_tt:0 "[!ea_resolution_expansion_icon_2_tt_click]" +ea_resolution_expansion_icon_3_tt:0 "[!ea_resolution_expansion_icon_3_tt_click]" +ea_resolution_industry_icon_1_tt:0 "[!ea_resolution_industry_icon_1_tt_click]" +ea_resolution_industry_icon_2_tt:0 "[!ea_resolution_industry_icon_2_tt_click]" +ea_resolution_industry_icon_3_tt:0 "[!ea_resolution_industry_icon_3_tt_click]" +ea_resolution_trade_icon_1_tt:0 "[!ea_resolution_trade_icon_1_tt_click]" +ea_resolution_trade_icon_2_tt:0 "[!ea_resolution_trade_icon_2_tt_click]" +ea_resolution_trade_icon_3_tt:0 "[!ea_resolution_trade_icon_3_tt_click]" +ea_resolution_peace_icon_1_tt:0 "[!ea_resolution_peace_icon_1_tt_click]" +ea_resolution_peace_icon_2_tt:0 "[!ea_resolution_peace_icon_2_tt_click]" +ea_resolution_peace_icon_3_tt:0 "[!ea_resolution_peace_icon_3_tt_click]" +ea_resolution_research_icon_1_tt:0 "[!ea_resolution_research_icon_1_tt_click]" +ea_resolution_research_icon_2_tt:0 "[!ea_resolution_research_icon_2_tt_click]" +ea_resolution_research_icon_3_tt:0 "[!ea_resolution_research_icon_3_tt_click]" +ea_resolution_special_icon_1_tt:0 "[!ea_resolution_special_icon_1_tt_click]" +ea_resolution_special_icon_2_tt:0 "[!ea_resolution_special_icon_2_tt_click]" +ea_resolution_special_icon_3_tt:0 "[!ea_resolution_special_icon_3_tt_click]" + +ea_type_undecided_tt:0 "The §YAssembly Type§! has not been decided yet." +ea_type_decided_tt:0 "The §YAssembly Type§! has been decided." + +ea_resolution_current_tt:0 "§GCURRENT TIER:§!\n" +ea_resolution_next_tt:0 "\n§ONEXT TIER:§!\n" +ea_resolution_none_tt:0 "§g(NONE)§!" + +elven_alliance_vote_passing_tt:0 "Current votes: §G[?global.elven_alliance_members_in_favour^num]§!-§R[?global.elven_alliance_members_against^num]§!\n\nWith current votes, the resolution will §GPASS§!.\n\nEffects when passed:\n" +elven_alliance_vote_failing_tt:0 "Current votes: §G[?global.elven_alliance_members_in_favour^num]§!-§R[?global.elven_alliance_members_against^num]§!\n\nWith current votes, the resolution will §RNOT PASS§!.\n\nEffects if passed:\n" + +ea_colored_vote_count:0 "§2[?global.elven_alliance_members_in_favour^num]§! - §R[?global.elven_alliance_members_against^num]§!" + +INVITE_TO_ELVEN_ASSEMBLY_TITLE:0 "£elven_alliance_texticon Invite to Assembly" +INVITE_TO_ELVEN_ASSEMBLY_ACTION_DESC:0 "Invite them to become a member of the £elven_alliance_texticon Elven Assembly." +invite_to_elven_assembly_send_desc:0 "Invite [FROM.GetName] to the $elven_alliance$" +invite_to_elven_assembly_receive_desc:0 "[ROOT.GetName] invites us to join the $elven_alliance$" + +PROPOSE_KICK_FROM_ELVEN_ASSEMBLY_TITLE:0 "£elven_alliance_texticon Propose: Kick" +PROPOSE_KICK_FROM_ELVEN_ASSEMBLY_ACTION_DESC:0 "Propose to kick this member from the £elven_alliance_texticon Elven Assemby" +propose_kick_from_elven_assembly_send_desc:0 "Bring a proposal before the $elven_alliance$ to kick [FROM.GetName] from the assembly.\n\n(If we have other proposals queued up, they will be withdrawn)" +propose_kick_from_elven_assembly_receive_desc:0 "[ROOT.GetName] has proposed to kick us out of the the $elven_alliance$." + +PROPOSE_SANCTION_ELVEN_ASSEMBLY_TITLE:0 "£elven_alliance_texticon Propose: Sanction" +PROPOSE_SANCTION_ELVEN_ASSEMBLY_ACTION_DESC:0 "Propose to sanction this country through the £elven_alliance_texticon Elven Assemby" +propose_sanction_elven_assembly_send_desc:0 "Bring a proposal before the $elven_alliance$ to levy diplomatic sanctions at [FROM.GetName].\n\n(If we have other proposals queued up, they will be withdrawn)" + +PROPOSE_JOINT_WAR_ELVEN_ASSEMBLY_TITLE:0 "£elven_alliance_texticon Propose: Joint War" +PROPOSE_JOINT_WAR_ELVEN_ASSEMBLY_ACTION_DESC:0 "Propose to declare war on this country through the £elven_alliance_texticon Elven Assemby" +propose_joint_war_elven_assembly_send_desc:0 "Bring a proposal before the $elven_alliance$ to declare war on [FROM.GetName].\n\n(If we have other proposals queued up, they will be withdrawn)" + +PROPOSE_MAKE_LEADER_ELVEN_ASSEMBLY_TITLE:0 "£elven_alliance_texticon Propose Leader" +PROPOSE_MAKE_LEADER_ELVEN_ASSEMBLY_ACTION_DESC:0 "Propose this country to become the new leader of the £elven_alliance_texticon Elven Assembly." +make_leader_elven_assembly_send_desc:0 "Bring a proposal before the $elven_alliance$ to make [FROM.GetName] the new leader of the hegemony.\n\n(If we have other proposals queued up, they will be withdrawn)" +make_leader_elven_assembly_receive_desc:0 "[ROOT.GetName] wants to file a proposal to make us the new leader of the $elven_alliance$." + +elven_alliance_map_mode: "Elven Assembly" +MAPMODE_ELVEN_ALLIANCE_MAP_MODE: "Elven Assembly" +MAPMODE_ELVEN_ALLIANCE_MAP_MODE_NAME: "Elven Assembly" +MAPMODE_ELVEN_ALLIANCE_MAP_MODE_DESCRIPTION: "Members and diplomatic status of the Elven Assembly" +elven_alliance_map_mode_tooltip: "[FROM.controller.GetAssemblyDiplo]" +elven_alliance_map_mode_tooltip_delayed: "" + +ea_diplo_neutral:0 "§Y[FROM.controller.GetNameWithFlag]§! has a neutral association with the £elven_alliance_texticon Elven Assembly." +ea_diplo_sanctioned:0 "§Y[FROM.controller.GetNameWithFlag]§! is §Osanctioned§! by the £elven_alliance_texticon Elven Assembly." +ea_diplo_is_member:0 "§Y[FROM.controller.GetNameWithFlag]§! is a §Ymember§! of the £elven_alliance_texticon Elven Assembly." +ea_diplo_at_war:0 "§Y[FROM.controller.GetNameWithFlag]§! is §Rat war§! with at least one member of the £elven_alliance_texticon Elven Assembly." + +elven_alliance_join_tt:0 "Unlock §Ydecisions§! and §Ydiplomatic actions§! related to the $elven_alliance$." + +ea_propose_resolution_tt:0 "Add a resolution to the queue. Effects if passed:" + +elven_allicane_increase_pp_cost_tt:0 "Increase the cost of proposing future resolutions by §R25§! §Ypolitical power§!." + +ea_resolution_is_in_queue_tt:0 "The resolution is not already in the queue." +ea_already_passing_resolution_tt:0 "[ROOT.GetNameWithFlag] does not already have a resolution in the queue." +ea_resolution_unlocked_tt:0 "The resolution has been unlocked through the focus tree." + + +elven_alliance.2.t:0 "Invitation to the Elven Assembly" +elven_alliance.2.d:0 "To settle future diplomatic and territorial disputes, we have been invited to join the Elven Assembly. As part of it we will be able to vote on and propose resolutions that will apply to all it's members." +elven_alliance.2.a:0 "We will join." +elven_alliance.2.b:0 "We will not join." + +elven_alliance.3.t:0 "Vote assembly type" +elven_alliance.3.d:0 "The $elven_alliance$ has developed into a large and influential decision-making body. The time has come to make a decision on its future course.\n\nWhat kind of alliance should the assembly strive to be?" +elven_alliance.3.a:0 "A hegemony, united under a strong leader." +elven_alliance.3.b:0 "A martial alliance, intended to unite our armies under one banner." +elven_alliance.3.c:0 "It should remain an assembly to settle international disputes." + +elven_alliance.4.t:0 "Elven Assembly Tutorial" +elven_alliance.4.d:0 "The $elven_alliance$ is a loose confederation of countries. It's members must not be at war with one another, but are also not required to come to each other's aid.\n\nResolutions, which affect all members, can be proposed and will be put to a vote. If the vote passes, the resolution takes effect.\n\nSome resolutions can be proposed through diplomatic actions, like kicking a member or declaring a joint war." +elven_alliance.4.a:0 "Got it" + +elven_alliance.6.t:0 "Hegemony leadership passed to us" +elven_alliance.6.d:0 "As the strongest member of the Elven assembly, leadership over it has fallen to us." +elven_alliance.6.a:0 "Very well." + +elven_alliance.7.t_hegemony:0 "Elven Assembly: Hegemony established" +elven_alliance.7.t_martial:0 "Elven Assembly: Martial Alliance established" +elven_alliance.7.t_union:0 "Elven Assembly: Union established" +elven_alliance.7.d_hegemony:0 "The members of the $elven_alliance$ have decided to restructure the assembly into a hegemony, united under one leader. As the strongest member, [?global.ea_hegemony_leader.GetNameWithFlag] has been appointed the leader." +elven_alliance.7.d_martial:0 "The members of the $elven_alliance$ have decided to restructure the assembly into a martial alliance, intended for the coordination of our combined armed forces." +elven_alliance.7.d_union:0 "The members of the $elven_alliance$ have decided that the assembly should remain an international organization to settle disputes." +elven_alliance.7.a:0 "Acknowledged." +elven_alliance.7.a_h_tt:0 "Unlock the §YHegemony§! resolutions in the $elven_alliance$." +elven_alliance.7.a_m_tt:0 "Unlock the §YMartial Alliance§! resolutions in the $elven_alliance$." +elven_alliance.7.a_u_tt:0 "Unlock the §YUnion§! resolutions in the $elven_alliance$." + +elven_alliance.8.t:0 "Elven Assembly: Call to Arms" +elven_alliance.8.d:0 "[?event_target:ea_call_to_arms_defender.GetNameWithFlag] has come under attack from [?event_target:ea_call_to_arms_attacker.GetNameWithFlag]. As a member of the Elven Assembly, we are honor-bound to come to their aid." +elven_alliance.8.a:0 "We will help them." +elven_alliance.8.b:0 "The terms of the assembly resolution are not binding." + +elven_alliance.9.t:0 "Elven Assembly: Faction established" +elven_alliance.9.d:0 "The $elven_alliance$ has, as of recent, been transitioned into a fully fledged military faction." +elven_alliance.9.d_2:0 "The $elven_alliance$ has, as of recent, been transitioned into a fully fledged military faction. Due to our allegiance to the [ROOT.GetFactionName], the time has come for us to choose which faction to join." +elven_alliance.9.a:0 "Excellent." +elven_alliance.9.b:0 "We remain loyal to the [ROOT.GetFactionName]!" + +elven_alliance.10.t:0 "Kicked from the Elven Assembly" +elven_alliance.10.d:0 "Our recent war-declaration against a fellow member of the $elven_alliance$ has lead to us being expelled from the assembly." +elven_alliance.10.a:0 "We don't need them." + +elven_alliance.11.t:0 "Kicked from the Elven Assembly" +elven_alliance.11.d:0 "A vote was passed in the $elven_alliance$ which has lead to us being expelled from the assembly." +elven_alliance.11.a:0 "We don't need them." + + +ea_last_invitation_cooldown:0 "[FROM.GetName] has been invited recently." +ea_last_kick_cooldown:0 "[ROOT.GetName] has recently tabled a proposal to kick a member." +ea_last_sanction_cooldown:0 "[ROOT.GetName] has recently tabled a proposal to sanction a country." +ea_last_joint_war_cooldown:0 "[ROOT.GetName] has recently tabled a proposal for a joint war." + +race_diff:0 "Race and Culture Differences" +threat_generation:0 "World Tension Generated" +ea_is_hegemony:0 "Assembly is Hegemony" +base_reluctance:0 "Base Reluctance" +opinion_modifier:0 "§Y[FROM.GetName]§!'s opinion of §Y[ROOT.GetName]§!" +is_elven_alliance_member:0 "[THIS.GetName] is a member of the $elven_alliance$" +is_major_power:0 "Is a major power" +differing_alliances:0 "Differing Alliances" + +ea_theelvenalliance:0 "The Elven Assembly" +ea_theelvenalliance_desc:0 "No matter how dark the shadows grow, one can always put their faith in the political and military prudence of elves. We should form an assembly to foster communication and diplomacy between our people." +ea_memberexpansion:0 "Membership Expansion" +ea_memberexpansion_desc:0 "The assembly should be opened up to include more members." +ea_memberexpansion_tt:0 "Unlock Tier 3 of the §YExpansion§! resolutions." +ea_tradeagreements:0 "Trade Agreements" +ea_tradeagreements_desc:0 "Trade is the lifeblood of diplomacy. We should seek to expand trade between the members of the assembly." +ea_tradeagreements_tt:0 "Unlock Tier 1 and 2 of the §YTrade§! resolutions." +ea_coordinatedsanctions:0 "Coordinated Sanctions" +ea_coordinatedsanctions_desc:0 "To contain the forces of evil, we should ensure that we can coordinate diplomatic pressure onto would-be belligerents." +ea_coordinatedsanctions_tt:0 "Unlock the §YSanction§! diplomatic actions." +ea_proposalsandresolutions:0 "Proposals And Resolutions" +ea_proposalsandresolutions_desc:0 "By streamlining the assembly's voting process we may pass a higher volume of resolutions in a shorter timespan." +ea_proposalsandresolutions_tt:0 "Unlock Tier 3 of the §YAlliance§! resolutions." +ea_reduce_recess_tt:0 "Reduce the time the §YAssembly§! spends in recess by §G-20§! days." +ea_pathtopeace:0 "The Path to Peace" +ea_pathtopeace_desc:0 "What good is diplomacy if it does not lead to peace?" +ea_pathtopeace_tt:0 "Unlock Tier 1 and 2 of the §YPeace§! resolutions." +ea_researchcooperation:0 "Research Cooperation" +ea_researchcooperation_desc:0 "We should seek to pool the aseembly's knowledge in both civilian and military sectors." +ea_researchcooperation_tt:0 "Unlock Tier 1 and 2 of the §YResearch§! resolutions." +ea_pooledknowledge:0 "Pooled Knowledge" +ea_pooledknowledge_desc:0 "The resolutions promoting combined research ought to be expanded upon." +ea_pooledknowledge_tt:0 "Unlock Tier 3 of the §YResearch§! resolutions." +ea_elvenharmony:0 "Elven Harmony" +ea_elvenharmony_desc:0 "For a peaceful and harmonious future." +ea_elvenharmony_tt:0 "Unlock Tier 3 of the §YPeace§! resolutions." +ea_thecouncilofquendi:0 "The Council of Quendi" +ea_thecouncilofquendi_desc:0 "The time has come to decide the exact future of the assembly." +ea_thecouncilofquendi_tt:0 "Start a vote with all $elven_alliance$ members on whether to form a §YHegemony§!, §YMartial Alliance§! or a §YUnion§!." +ea_hegemony:0 "Hegemony" +ea_hegemony_desc:0 "All members united under a powerful leader." +ea_executivevigour:0 "Executive Vigour" +ea_executivevigour_desc:0 "A powerful leader requires the executive prowess to pass legislation quickly." +ea_executivevigour_tt:0 "The assembly leader is granted the power to §Yveto§! a resolution once every 120 days." +ea_heg_3_tt:0 "Unlock Tier 3 of the §YHegemony§! resolutions." +ea_martialalliance:0 "Martial Alliance" +ea_martialalliance_desc:0 "All assembly armies united under one banner." +ea_marchinunison_tt:0 "Create §YElven Assembly§! faction. All assembly members will be added to the faction. Leaving the faction will also mean leaving the assembly." +ea_sharedtrainingprograms_tt:0 "Unlock Tier 3 of the §YMartial§! resolutions." +ea_marchinunison:0 "March in Unison" +ea_marchinunison_desc:0 "Onward, to vicotry!" +ea_internationalorganization:0 "Prosperous Union" +ea_internationalorganization_desc:0 "The assembly ought to remain an international body to settle disputes, not a military alliance." +ea_advanceddiplomacy:0 "Advanced Diplomacy" +ea_advanceddiplomacy_desc:0 "International politics formalized in a common assembly." +ea_advanceddiplomacy_tt:0 "Unlock Tier 3 of the §YUnion§! resolutions." + +autonomy_ea_hegemony_subject:0 "Hegemony Subject" +ea_alliance_resolutions_unlocked:0 "Elven Alliance exists" + +starting_vote:0 "Starting Vote" +starting_vote_desc:0 "A new vote is commencing in the $elven_alliance$" +vote_in_progress:0 "Assembly in Session" +vote_in_progress_desc:0 "The $elven_alliance$ is voting on a resolution." +assembly_in_recess:0 "Assembly in Recess" +assembly_in_recess_desc:0 "The $elven_alliance$ is in recess." +ea_veto_resolution:0 "Veto current resolution" +ea_veto_resolution_desc:0 "Dismiss the current vote." +ea_leave_assembly:0 "Leave the Elven Assembly" +ea_leave_assembly_desc:0 "" + + +ea_resolution_alliance:0 "Improve Resolution: Alliance" +ea_resolution_industry:0 "Improve Resolution: Industry" +ea_resolution_expansion:0 "Improve Resolution: Expansion" +ea_resolution_trade:0 "Improve Resolution: Trade" +ea_resolution_peace:0 "Improve Resolution: Peace" +ea_resolution_research:0 "Improve Resolution: Research" +ea_resolution_union:0 "Improve Resolution: Special" +ea_resolution_martial:0 "Improve Resolution: Special" +ea_resolution_hegemony:0 "Improve Resolution: Special" +ea_resolution_kick:0 "Kick " +ea_resolution_sanction:0 "Sanction " +ea_resolution_joint_war:0 "Declare joint war on " +ea_resolution_make_leader:0 "Make leader: " + +ea_resolution_alliance_idea_1:0 "Alliance Resolution Tier 1" +ea_resolution_alliance_idea_2:0 "Alliance Resolution Tier 2" +ea_resolution_alliance_idea_3:0 "Alliance Resolution Tier 3" +ea_resolution_expansion_idea_1:0 "Expansion Resolution Tier 1" +ea_resolution_expansion_idea_2:0 "Expansion Resolution Tier 2" +ea_resolution_expansion_idea_3:0 "Expansion Resolution Tier 3" +ea_resolution_industry_idea_1:0 "Industry Resolution Tier 1" +ea_resolution_industry_idea_2:0 "Industry Resolution Tier 2" +ea_resolution_industry_idea_3:0 "Industry Resolution Tier 3" +ea_resolution_trade_idea_1:0 "Trade Resolution Tier 1" +ea_resolution_trade_idea_2:0 "Trade Resolution Tier 2" +ea_resolution_trade_idea_3:0 "Trade Resolution Tier 3" +ea_resolution_peace_idea_1:0 "Peace Resolution Tier 1" +ea_resolution_peace_idea_2:0 "Peace Resolution Tier 2" +ea_resolution_peace_idea_3:0 "Peace Resolution Tier 3" +ea_resolution_research_idea_1:0 "Research Resolution Tier 1" +ea_resolution_research_idea_2:0 "Research Resolution Tier 2" +ea_resolution_research_idea_3:0 "Research Resolution Tier 3" +ea_resolution_hegemony_idea_1:0 "Hegemony Resolution Tier 1" +ea_resolution_hegemony_idea_2:0 "Hegemony Resolution Tier 2" +ea_resolution_hegemony_idea_3:0 "Hegemony Resolution Tier 3" +ea_resolution_martial_idea_1:0 "Martial Resolution Tier 1" +ea_resolution_martial_idea_2:0 "Martial Resolution Tier 2" +ea_resolution_martial_idea_3:0 "Martial Resolution Tier 3" +ea_resolution_union_idea_1:0 "Union Resolution Tier 1" +ea_resolution_union_idea_2:0 "Union Resolution Tier 2" +ea_resolution_union_idea_3:0 "Union Resolution Tier 3" + +vote_cost_5pp_tt:0 "Cost: 5 £pol_power " + +elven_alliance_decisions_category:0 "Elven Assembly" + +effects_when_passed_tt:0 "Effects when passed:\n" + +ea_vote_vetoed:0 "The session has been vetoed by the Hegemony leader." + +elven_alliance_declare_joint_war_against_tt:0 "All $elven_alliance$ members will §Rdeclare war§! on [?global.ea_current_resolution_target.GetNameWithFlag]." \ No newline at end of file diff --git a/localisation/english/enedwaith/enedwaith_events_l_english.yml b/localisation/english/enedwaith/enedwaith_events_l_english.yml index e7060a621..d6e558590 100644 --- a/localisation/english/enedwaith/enedwaith_events_l_english.yml +++ b/localisation/english/enedwaith/enedwaith_events_l_english.yml @@ -1,5 +1,5 @@ l_english: enedwaith.1.t:0 "[From.GetLeader] has proposed unification with Isengard" -enedwaith.1.d:0 "After increasily infleunces the tribes Sauroman has made his move. Proposing a unification of the two countries." +enedwaith.1.d:0 "After increasily influences the tribes Sauroman has made his move. Proposing a unification of the two countries." enedwaith.1.a:0 "Its what the tribes want." enedwaith.1.b:0 "Not all agree on this yet." diff --git a/localisation/english/events_l_english.yml b/localisation/english/events_l_english.yml index 98a1beacd..55b521c01 100644 --- a/localisation/english/events_l_english.yml +++ b/localisation/english/events_l_english.yml @@ -1,12 +1,12 @@ l_english: ###################################### ring_tuto.1.t:0 "The War of the Ring" - ring_tuto.1.d:0 "The War of the Ring evolves around many things, but of course, a small golden trinket lies at the center of it all: The One Ring. \n\nIn this mod, the One Ring adopts the form of a National Spirit that grants a very significant stat boost to all your divisions.\nA few months into the game, Bilbo's 111st birthday celebrations will take place, and the 'Quest for the Ring' decisions will unlock. Countries that control states the fellowship passes through can try *once* to intercept the fellowship and seize the ring for themselves. The likelihood of these attempts being successful directly depends on the strength of the fellowship protecting Frodo.\n\nOnce the Ring reaches Rivendell, Elrond's Council will be invoked. The Nations of Gondor, Mirkwood and Erebor can then choose to add either their finest warrior, a decent replacement or no one at all to the Fellowship, as well as vote on which path the fellowship should take.\n\nIf no nation manages to obtain the ring before it reaches Mt. Doom, the Ring will be destroyed and the nation of Mordor will be severely weakend.\nIf a nation that has the ring capitulates, their attacker takes the ring from them.\n\nGood luck and have fun!" - ring_tuto.1.d.riv:0 "The War of the Ring evolves around many things, but of course, a small golden trinket lies at the center of it all: The One Ring. \n\nIn this mod, the One Ring adopts the form of a National Spirit that grants a very significant stat boost to all your divisions.\nA few months into the game, Bilbo's 111st birthday celebrations will take place, and the 'Quest for the Ring' decisions will unlock. Countries that control states the fellowship passes through can try to intercept the fellowship and seize the ring for themselves. The likelihood of these attempts being successful directly depends on the strength of the fellowship protecting Frodo.\n\nOnce the Ring reaches Rivendell, Elrond's Council will be invoked. The Nations of Gondor, Mirkwood and Erebor can then choose to add either their finest warrior, a decent replacement or no one at all to the Fellowship, as well as vote on which path the fellowship should take.\n\nAs Rivendell, we are the hosts and primary supporters of the fellowship's cause. We will also be able to cast a vote on the fellowship's path, as well as try and secure support for the fellowship from other nations.\n\nIf no nation manages to obtain the ring before it reaches Mt. Doom, the Ring will be destroyed and the nation of Mordor will be severely weakend.\nIf a nation that has the ring capitulates, their attacker takes the ring from them.\n\nGood luck and have fun!" - ring_tuto.1.d.moa:0 "The War of the Ring evolves around many things, but of course, a small golden trinket lies at the center of it all: The One Ring. \n\nIn this mod, the One Ring adopts the form of a National Spirit that grants a very significant stat boost to all your divisions.\nA few months into the game, Bilbo's 111st birthday celebrations will take place, and the 'Quest for the Ring' decisions will unlock. Countries that control states the fellowship passes through can try to intercept the fellowship and seize the ring for themselves. The likelihood of these attempts being successful directly depends on the strength of the fellowship protecting Frodo.\n\nOnce the Ring reaches Rivendell, Elrond's Council will be invoked. The Nations of Gondor, Mirkwood and Erebor can then choose to add either their finest warrior, a decent replacement or no one at all to the Fellowship, as well as vote on which path the fellowship should take.\n\nThe orcs of Moria are likely to attack the fellowship and try to seize the ring. As the dwarves, we can try to prevent this from happening.\n\nIf no nation manages to obtain the ring before it reaches Mt. Doom, the Ring will be destroyed and the nation of Mordor will be severely weakend.\nIf a nation that has the ring capitulates, their attacker takes the ring from them.\n\nGood luck and have fun!" - ring_tuto.1.d.lth:0 "The War of the Ring evolves around many things, but of course, a small golden trinket lies at the center of it all: The One Ring. \n\nIn this mod, the One Ring adopts the form of a National Spirit that grants a very significant stat boost to all your divisions.\nA few months into the game, Bilbo's 111st birthday celebrations will take place, and the 'Quest for the Ring' decisions will unlock. Countries that control states the fellowship passes through can try to intercept the fellowship and seize the ring for themselves. The likelihood of these attempts being successful directly depends on the strength of the fellowship protecting Frodo.\n\nOnce the Ring reaches Rivendell, Elrond's Council will be invoked. The Nations of Gondor, Mirkwood and Erebor can then choose to add either their finest warrior, a decent replacement or no one at all to the Fellowship, as well as vote on which path the fellowship should take.\n\nAs Lothlorien, we may not actively send out hunting parties to intercept the ring, but can offer the fellowship shelter and then consider our options.\n\nIf no nation manages to obtain the ring before it reaches Mt. Doom, the Ring will be destroyed and the nation of Mordor will be severely weakend.\nIf a nation that has the ring capitulates, their attacker takes the ring from them.\n\nGood luck and have fun!" - ring_tuto.1.d.mor:0 "The War of the Ring evolves around many things, but of course, a small golden trinket lies at the center of it all: The One Ring. \n\nIn this mod, the One Ring adopts the form of a National Spirit that grants a very significant stat boost to all your divisions.\nA few months into the game, Bilbo's 111st birthday celebrations will take place, and the 'Quest for the Ring' decisions will unlock. Countries that control states the fellowship passes through can try to intercept the fellowship and seize the ring for themselves. The likelihood of these attempts being successful directly depends on the strength of the fellowship protecting Frodo.\n\nOnce the Ring reaches Rivendell, Elrond's Council will be invoked. The Nations of Gondor, Mirkwood and Erebor can then choose to add either their finest warrior, a decent replacement or no one at all to the Fellowship, as well as vote on which path the fellowship should take.\n\nAs (Sauron-aligned) Mordor, our goal will be to prevent the fellowship from reaching Mt Doom.\nIf we torture Gollum in time, we can send our Ringwraiths to the Shire and attempt to prevent the Ring ever reaching Rivendell.\n\nIf no nation manages to obtain the ring before it reaches Mt. Doom, the Ring will be destroyed and the nation of Mordor will be severely weakend.\nIf a nation that has the ring capitulates, their attacker takes the ring from them.\n\nGood luck and have fun!" - ring_tuto.1.d.gon:0 "The War of the Ring evolves around many things, but of course, a small golden trinket lies at the center of it all: The One Ring. \n\nIn this mod, the One Ring adopts the form of a National Spirit that grants a very significant stat boost to all your divisions.\nA few months into the game, Bilbo's 111st birthday celebrations will take place, and the 'Quest for the Ring' decisions will unlock. Countries that control states the fellowship passes through can try to intercept the fellowship and seize the ring for themselves. The likelihood of these attempts being successful directly depends on the strength of the fellowship protecting Frodo.\n\nOnce the Ring reaches Rivendell, Elrond's Council will be invoked. The Nations of Gondor, Mirkwood and Erebor can then choose to add either their finest warrior, a decent replacement or no one at all to the Fellowship, as well as vote on which path the fellowship should take.\n\nAs the great kingdom of Gondor, we will not antagonize Rivendell by openly attacking the fellowship. However, having Boromir accompany the fellowship may provide other opportinities...\n\nIf no nation manages to obtain the ring before it reaches Mt. Doom, the Ring will be destroyed and the nation of Mordor will be severely weakend.\nIf a nation that has the ring capitulates, their attacker takes the ring from them.\n\nGood luck and have fun!" + ring_tuto.1.d:0 "The War of the Ring evolves around many things, but of course, a small golden trinket lies at the center of it all: The One Ring. \n\nIn this mod, the One Ring adopts the form of a National Spirit that grants a very significant stat boost to all your divisions.\nA few months into the game, Bilbo's 111st birthday celebrations will take place, and the 'Quest for the Ring' decisions will unlock. Countries that control states the fellowship passes through can try *once* to intercept the fellowship and seize the ring for themselves. The likelihood of these attempts being successful directly depends on the strength of the fellowship protecting Frodo.\n\nOnce the Ring reaches Rivendell, Elrond's Council will be invoked. The Nations of Gondor, Mirkwood and Erebor can then choose to add either their finest warrior, a decent replacement or no one at all to the Fellowship, as well as vote on which path the fellowship should take.\n\nIf no nation manages to obtain the ring before it reaches Mt. Doom, the Ring will be destroyed and the nation of Mordor will be severely weakened.\nIf a nation that has the ring capitulates, their attacker takes the ring from them.\n\nGood luck and have fun!" + ring_tuto.1.d.riv:0 "The War of the Ring evolves around many things, but of course, a small golden trinket lies at the center of it all: The One Ring. \n\nIn this mod, the One Ring adopts the form of a National Spirit that grants a very significant stat boost to all your divisions.\nA few months into the game, Bilbo's 111st birthday celebrations will take place, and the 'Quest for the Ring' decisions will unlock. Countries that control states the fellowship passes through can try to intercept the fellowship and seize the ring for themselves. The likelihood of these attempts being successful directly depends on the strength of the fellowship protecting Frodo.\n\nOnce the Ring reaches Rivendell, Elrond's Council will be invoked. The Nations of Gondor, Mirkwood and Erebor can then choose to add either their finest warrior, a decent replacement or no one at all to the Fellowship, as well as vote on which path the fellowship should take.\n\nAs Rivendell, we are the hosts and primary supporters of the fellowship's cause. We will also be able to cast a vote on the fellowship's path, as well as try and secure support for the fellowship from other nations.\n\nIf no nation manages to obtain the ring before it reaches Mt. Doom, the Ring will be destroyed and the nation of Mordor will be severely weakened.\nIf a nation that has the ring capitulates, their attacker takes the ring from them.\n\nGood luck and have fun!" + ring_tuto.1.d.moa:0 "The War of the Ring evolves around many things, but of course, a small golden trinket lies at the center of it all: The One Ring. \n\nIn this mod, the One Ring adopts the form of a National Spirit that grants a very significant stat boost to all your divisions.\nA few months into the game, Bilbo's 111st birthday celebrations will take place, and the 'Quest for the Ring' decisions will unlock. Countries that control states the fellowship passes through can try to intercept the fellowship and seize the ring for themselves. The likelihood of these attempts being successful directly depends on the strength of the fellowship protecting Frodo.\n\nOnce the Ring reaches Rivendell, Elrond's Council will be invoked. The Nations of Gondor, Mirkwood and Erebor can then choose to add either their finest warrior, a decent replacement or no one at all to the Fellowship, as well as vote on which path the fellowship should take.\n\nThe orcs of Moria are likely to attack the fellowship and try to seize the ring. As the dwarves, we can try to prevent this from happening.\n\nIf no nation manages to obtain the ring before it reaches Mt. Doom, the Ring will be destroyed and the nation of Mordor will be severely weakened.\nIf a nation that has the ring capitulates, their attacker takes the ring from them.\n\nGood luck and have fun!" + ring_tuto.1.d.lth:0 "The War of the Ring evolves around many things, but of course, a small golden trinket lies at the center of it all: The One Ring. \n\nIn this mod, the One Ring adopts the form of a National Spirit that grants a very significant stat boost to all your divisions.\nA few months into the game, Bilbo's 111st birthday celebrations will take place, and the 'Quest for the Ring' decisions will unlock. Countries that control states the fellowship passes through can try to intercept the fellowship and seize the ring for themselves. The likelihood of these attempts being successful directly depends on the strength of the fellowship protecting Frodo.\n\nOnce the Ring reaches Rivendell, Elrond's Council will be invoked. The Nations of Gondor, Mirkwood and Erebor can then choose to add either their finest warrior, a decent replacement or no one at all to the Fellowship, as well as vote on which path the fellowship should take.\n\nAs Lothlorien, we may not actively send out hunting parties to intercept the ring, but can offer the fellowship shelter and then consider our options.\n\nIf no nation manages to obtain the ring before it reaches Mt. Doom, the Ring will be destroyed and the nation of Mordor will be severely weakened.\nIf a nation that has the ring capitulates, their attacker takes the ring from them.\n\nGood luck and have fun!" + ring_tuto.1.d.mor:0 "The War of the Ring evolves around many things, but of course, a small golden trinket lies at the center of it all: The One Ring. \n\nIn this mod, the One Ring adopts the form of a National Spirit that grants a very significant stat boost to all your divisions.\nA few months into the game, Bilbo's 111st birthday celebrations will take place, and the 'Quest for the Ring' decisions will unlock. Countries that control states the fellowship passes through can try to intercept the fellowship and seize the ring for themselves. The likelihood of these attempts being successful directly depends on the strength of the fellowship protecting Frodo.\n\nOnce the Ring reaches Rivendell, Elrond's Council will be invoked. The Nations of Gondor, Mirkwood and Erebor can then choose to add either their finest warrior, a decent replacement or no one at all to the Fellowship, as well as vote on which path the fellowship should take.\n\nAs (Sauron-aligned) Mordor, our goal will be to prevent the fellowship from reaching Mt Doom.\nIf we torture Gollum in time, we can send our Ringwraiths to the Shire and attempt to prevent the Ring ever reaching Rivendell.\n\nIf no nation manages to obtain the ring before it reaches Mt. Doom, the Ring will be destroyed and the nation of Mordor will be severely weakened.\nIf a nation that has the ring capitulates, their attacker takes the ring from them.\n\nGood luck and have fun!" + ring_tuto.1.d.gon:0 "The War of the Ring evolves around many things, but of course, a small golden trinket lies at the center of it all: The One Ring. \n\nIn this mod, the One Ring adopts the form of a National Spirit that grants a very significant stat boost to all your divisions.\nA few months into the game, Bilbo's 111st birthday celebrations will take place, and the 'Quest for the Ring' decisions will unlock. Countries that control states the fellowship passes through can try to intercept the fellowship and seize the ring for themselves. The likelihood of these attempts being successful directly depends on the strength of the fellowship protecting Frodo.\n\nOnce the Ring reaches Rivendell, Elrond's Council will be invoked. The Nations of Gondor, Mirkwood and Erebor can then choose to add either their finest warrior, a decent replacement or no one at all to the Fellowship, as well as vote on which path the fellowship should take.\n\nAs the great kingdom of Gondor, we will not antagonize Rivendell by openly attacking the fellowship. However, having Boromir accompany the fellowship may provide other opportinities...\n\nIf no nation manages to obtain the ring before it reaches Mt. Doom, the Ring will be destroyed and the nation of Mordor will be severely weakened.\nIf a nation that has the ring capitulates, their attacker takes the ring from them.\n\nGood luck and have fun!" ring_tuto.1.a:0 "Got it!" ring_tuto.1.b:0 "How does the combat work?" ###################################### @@ -28,7 +28,7 @@ ###################################### mordor_civil_war:0 "Orcs march agains Sauron" mordor.1.t:0 "Civil War!" - mordor.1.d:0 "A horde of influential orcs have risen up and taken arms against tyrannical ruling. They claim that Saurons defeat at the hands of the Last Alliance proved him a weak leader. In response, tha dark Lord has gathered his most loyal servants and issued a black speech ultimatium. The rebels at Barad-dûr have been purged and Sauron stands ready to destroy the traitors. A significant portion of the military have sided with these Anarchists. Despite their poor training, their enthusiasm remains unquestioned.\n\nThe battle-lines have been drawn - which faction should we support?" + mordor.1.d:0 "A horde of influential orcs have risen up and taken arms against tyrannical ruling. They claim that Saurons defeat at the hands of the Last Alliance proved him a weak leader. In response, the Dark Lord has gathered his most loyal servants and issued a black speech ultimatium. The rebels at Barad-dûr have been purged and Sauron stands ready to destroy the traitors. A significant portion of the military have sided with these Anarchists. Despite their poor training, their enthusiasm remains unquestioned.\n\nThe battle-lines have been drawn - which faction should we support?" mordor.1.a:0 "The Dark Lord Sauron!" mordor.1.b:0 "The Free Orcs of Mordor!" ###################################### @@ -110,6 +110,26 @@ arthedain.5.a:0 "United once more" arthedain.5.b:0 "We survived without them" ###################################### + arthedain.6.t:0 "[From.GetName] requests to form a 'Grey Company'" + arthedain.6.d:0 "[FROM.GetName] proposes the establishment of a 'Grey Company', a combined force of elves and rangers tasked with safeguarding the lands of Arthedain and Rhudaur from the forces of dark.\n\nThe proposition calls for substantial support from both our elven kin and the valiant rangers of the North. The formation of the Grey Company would bind us in a pact of shared protection, uniting our strengths and striving for a safer future." + arthedain.6.a:0 "A fantastic idea!" + arthedain.6.a_tt:0 "([LTH.GetNameWithFlag], [RIV.GetNameWithFlag], [ART.GetNameWithFlag], [RHD.GetNameWithFlag]):\nIf at least §Y3§! countries support the Grey Company, [ART.GetNameWithFlag] and [RHD.GetNameWithFlag] will each receive four divisions consisting of infantry and archers." + arthedain.6.b:0 "A waste of time and resources." + ###################################### + arthedain.7.t:0 "Grey Company Formed" + arthedain.7.d:0 "As a result of the steadfast cooperation between our rangers and the noble elves, we have birthed an elite force known as the Grey Company, a band of skilled fighters assembled to safeguard the lands of Arthedain and Rhudaur." + arthedain.7.a:0 "Excellent." + ###################################### + arthedain.8.t:0 "Gondor asks for reunification" + arthedain.8.d:0 "A letter from Gondor arrives, proposing a unified alliance reminiscent of the old days when Arthedain and Gondor fought side by side. Gondor extends a hand in friendship, urging Arthedain to stand united against the looming shadows." + arthedain.8.a:0 "We will stand with Gondor once more." + arthedain.8.b:0 "Those days are long past." + ###################################### + arthedain.9.t:0 "Gondor demands vassalization" + arthedain.9.d:0 "A stern envoy from Gondor delivers a demand: Arthedain is to become Gondor's vassal, pledging allegiance to the southern realm. The missive speaks of Gondor's dominance and the obligation for Arthedain to submit to their rule." + arthedain.9.a:0 "We owe them our allegiance." + arthedain.9.b:0 "They are in no position to make demands." + ###################################### rohan.2.t:0 "The King is suffering under a powerful illness" rohan.2.d:0 "King Theoden's health has been declining steadily for the last weeks. All government programmes have come to a halt and Prince Eomer's request to rule in his stead has been dismissed by Grima Wormtongue, the King's primary advisor. Conspiracy theorists have put the blame on Saruman, but no evidence has been found to support these wild claims." rohan.2.a:0 "May he recover soon." @@ -136,6 +156,10 @@ rohan.7.d:0 "By the King's royal decree, his niece Eowyn is to marry the King's primary advisor Grima Wormtongue. The King commands that all necessary arrangements be made within the next week. Eowyn, rather hesitantly, has agreed to said proposal." rohan.7.a:0 "So be it." ###################################### + rohan.8.t:0 "Aid arrives from Gondor" + rohan.8.d:0 "In a gesture of solidarity, Gondor has sent valuable equipment and aid to aid Rohan in its fight against Isengard. The assistance, ranging from weaponry to essential supplies." + rohan.8.a:0 "Much appreciated." + ###################################### rivendell.5.t:0 "Elven Anti-War Treaty" rivendell.5.d:0 "Rivendell wishes us to sign an anti-war treaty between all elven Nations. Shall we accept?" rivendell.5.a:0 "Accept." @@ -254,12 +278,16 @@ lothlorien.5.a.tt:0 "We will start a violent confrontation with the fellowship to attempt to take the ring." ####################################### lothlorien.6.t:0 "Gearing up the Fellowship" - lothlorien.6.d:0 "The fellowship must continue its journey to Mordor. What should we do to help them in their effort?" + lothlorien.6.desc:0 "The fellowship must continue its journey to Mordor. What should we do to help them in their effort?" lothlorien.6.a:0 "We will give them useful gifts." lothlorien.6.a.tt:0 "Will raise the $fs_ad_symbol$ attack-level of all fellowship members by one" lothlorien.6.b:0 "Have Haldir join the fellowship." lothlorien.6.b.tt:0 "Haldir will join the fellowship on their journey." lothlorien.6.c:0 "Thoughts and prayers" + lothlorien.6.d:0 "We have need of Haldir here. He should stay in Lothlórien." + lothlorien.6.d.tt:0 "Haldir will leave the fellowship and become available as a general again." + lothlorien.6.e:0 "We have need of Orophin here. He should stay in Lothlórien." + lothlorien.6.e.tt:0 "Orophin will join the fellowship on their journey." ###################################### angmar.1.t:0 "Angmar demands Independence" angmar.1.d:0 "Now where the Dark Council has assumed control over the Kingdom of Angmar, they demand that Gondor remove all troops from their lands, for from this day they are an autonomous and independent kingdom." @@ -281,6 +309,12 @@ rivendell.2.b:0 "Send the commander of the royal guard, Tauriel." rivendell.2.c:0 "Send no one." ###################################### + rivendell.20.t:0 "Rivendell asks for assistance" + rivendell.20.d:0 "Lord Elrond wants to form a deadly team of capable warriors for a dangerous quest to destroy Saurons One Ring once and for all. Who of our valiant warriors shall join this fellowship?" + rivendell.20.a:0 "Send our valiant Marchwarden, Haldir." + rivendell.20.b:0 "Send our skilled archer, Orophin." + rivendell.20.c:0 "Send no one." + ###################################### rivendell.3.t:0 "Rivendell asks for assistance" rivendell.3.d:0 "Lord Elrond wants to form a deadly team of capable warriors for a dangerous quest to destroy Saurons One Ring once and for all. Who of our valiant warriors shall join this fellowship?" rivendell.3.a:0 "Send our finest warrior. Gimli." @@ -445,18 +479,59 @@ gondor.4.b:0 "We will not stain Gondor's honour with such treachery!" ###################################### fs.106.t:0 "The one ring has been destroyed." - fs.106.d:0 "It seems amidst our warmongering two Hobbits slipped past and managed to destroy the one ring within the fires of mount doom. The dark Lord Sauron is dead. What is our next course of action?" + fs.106.d:0 "It seems amidst our warmongering two hobbits slipped past and managed to destroy the one ring within the fires of mount doom. The dark Lord Sauron is dead. What is our next course of action?" + fs.106.d_elves:0 "It seems amidst our warmongering a pack of elves slipped past and managed to destroy the one ring within the fires of mount doom. The dark Lord Sauron is dead. What is our next course of action?" fs.106.a:0 "We shall serve Saruman instead." fs.106.b:0 "Let the strongest rule." fs.106.c:0 "Elect a leader of our own." ###################################### - news.392.t:0 "The return of Sauron" - news.392.d:0 "" - news.392.a:0 "" + fs.107.t:0 "The One Ring's temptations prove irresistible." + fs.107.d:0 "The One Ring is having a powerful effect on us. So much so, that it's becoming dubious who is controlling who. We must be watchful not to let the Ring corrupt us entirely!" + fs.107.a:0 "Something must be done" + ###################################### + news.402.t:0 "Angmar reforms the Kingdom of Arnor" + news.402.d:0 "The Kingdom of Angmar, having shed the dark legacy of the Witch King, has taken a historic stride toward reconciliation and unity in the North. Renouncing the ways of the past, Angmar has mended fences with their neighbors to the south, including Arthedain, Cardolan, and Rhudaur. Embracing a spirit of cooperation and understanding, the once-divided lands have united under the banner of peace and solidarity.\n\nIn an unprecedented move, Angmar has announced the reforming of the ancient Kingdom of Arnor, a realm steeped in history and tradition. This significant development signals a new era for the North, as the realms of old are reborn, fostering hope for a future of new-found glory." + news.402.a:0 "An unexpected Development." + ###################################### + news.401.t:0 "The Stewardship Flees to Tolfalas" + news.401.d:0 "The peasant revolt in Gondor has escalated into a full-blown uprising. As villages across the land join the rebellion, the grip of the noble houses on power is slipping away. In a desperate bid to escape the wrath of the enraged populace, Denethor, managing to evacuate substantial riches from the capital and securing the loyalty of most of his fleet, has made a daring decision. The former Steward, along with a contingent of loyal nobles, has fled mainland Gondor, seeking refuge on the remote island of Tolfalas.\n\nThe decision to retreat to Tolfalas, a strategic move to regroup and plan their revenge, underscores the dire state of affairs in the heart of Gondor. The once-mighty nobility, now scattered and in disarray, faces a formidable challenge from the united and determined peasant forces." + news.401.a:0 "A precarious situation." + ###################################### + news.400.t:0 "Peasant Uprising Sweeps Gondor" + news.400.d:0 "Chaos has descended upon the heart of Gondor as a massive peasant uprising, led by the once-royal Ivriniel, has stormed the throne room in Minas Tirith. Renouncing her royal titles, Ivriniel has become the unexpected champion of the common people, igniting a revolt against the aristocracy and the existing power structures within the realm. The Stewardship and many aristocrats, fearing the wrath of the enraged populace, are fleeing south, leaving behind a city in turmoil." + news.400.a:0 "A deep blow to the stability of Gondor." + ###################################### + news.399.t:0 "Gondor expresses interest in Harondor" + news.399.d:0 "In a significant diplomatic move, Gondor has publicly expressed keen interest in the territories of Harondor, a strategic region to the south of the realm. The declaration, made by Gondor's emissaries, signals a shift in the realm's expansionist ambitions, as they look beyond their borders toward new territories.\n\nHarondor, long a region of cultural and historical significance, has now become the focus of Gondor's attention. The prospect of Gondor's expansion raises questions about the potential implications for the region's inhabitants and the delicate balance of power in the South." + news.399.a:0 "A bold move." + ###################################### + news.398.t:0 "Denethor II delegitimizes Isildur's Dynasty" + news.398.d:0 "After many years of a vacant throne, the royal council of Gondor has agreed to no longer reconize Isildur's heritage. 'After several heirs to Gondors throne have declined to serve as Gondor's king, the bloodline has become unclear. We simply can't know anymore who the true heir is or is not.' - said Irolas, primary advisor to Stewart Denethor. What reforms the Gondor government will enact after this step remain to be seen, but the following months will certainly be of great importance to Gondor's future." + news.398.a:0 "A long lost kingdom." +###################################### + news.397.t:0 "Celeborn Departs Lothlórien Amidst Tensions" + news.397.d:0 "Tensions within the enchanted realm of Lothlórien have reached a boiling point, leading to the departure of Lord Celeborn, one of the realm's distinguished leaders. Some sources suggest that he was forcefully pushed into exile, while others contend that he left of his own volition, choosing to embark on a journey toward the Havens of Lindon. The sudden exit has left many questioning the stability of the realm and the future of its leadership.\n\nAs Lothlórien grapples with the aftermath of this significant departure, the shadow of division and uncertainty looms over the realm. The departure of Lord Celeborn marks a profound shift in the balance of power and governance, leaving the Golden Wood to chart an uncertain path forward." + news.397.a:0 "How will the elves of Lórien fare without Celeborn?" ###################################### - news.391.t:0 "The necromancer in the North" - news.391.d:0 "" - news.391.a:0 "" + news.396.t:0 "Lothlórien Assembles 'Elven Fellowship'" + news.396.d:0 "The realm of Lothlórien has taken a bold step by forming a new Fellowship of the Ring, exclusively composed of elven members. The move comes as the Golden Wood claims possession of the One Ring.\n\nElven leaders from Lothlórien cited concerns over the risks of placing the fate of the One Ring into the hands of simple Hobbits, men, and dwarves, as was initially proposed by Elrond's Fellowship of the Ring. While acknowledging the wisdom of Elrond's original concept, Lothlórien's leaders assert that the stakes are too high to entrust the Ring to those who might be more susceptible to its corrupting influence." + news.396.a:0 "Fellowship 2: Elven Boogaloo" +###################################### + news.395.t:0 "Two Hobbits sail to the Undying Lands" + news.395.d:0 "Frodo Baggins, the resolute halfling who bore the One Ring to its destruction, and his venerable uncle, Bilbo Baggins, embark on a journey beyond the western sea to the fabled Undying Lands. The news reverberates across the realms, evoking a tapestry of emotions from joy to sorrow.\n\nIn a poignant ceremony held at the docks of Rivendell, surrounded by friends, family, and well-wishers, the two hobbits step onto a ship that will carry them to Aman." + news.395.a:0 "A rare exception granted by the elves." +###################################### + news.394.t:0 "Galadriel and Celeborn leave Middle Earth" + news.394.d:0 "Lady Galadriel and Lord Celeborn of Lothlórien have announced their decision to depart from the lands of Middle-earth to the lands of Aman. The news reverberates across the realm, touching hearts from the Misty Mountains to the shores of Gondor.\n\nThe bittersweet decision is met with mixed emotions as the Elven realm prepares to bid farewell to its beloved rulers. The golden woods of Lórien have flourished under their stewardship, and their legacy will echo through eternity." + news.394.a:0 "How will Lothlórien fare without them?" +###################################### + news.393.t:0 "Durin's Bane Dies" + news.393.d:0 "In a climactic and heroic confrontation, the infamous Balrog known as Durin's Bane has been defeated in an epic battle that shook the foundations of Middle-earth. The formidable demon, which had haunted the depths of Khazad-dûm for ages, was vanquished by a coalition of valiant warriors after a relentless struggle." + news.393.a:0 "Durin's Bane's Bane." + ###################################### + news.392.t:0 "Sauron resurfaces in Angmar" + news.392.d:0 "In a shocking turn of events, the malevolent presence of Sauron has resurfaced within the ancient kingdom of Angmar. Having lost control over the orcs in Mordor, the Dark Lord has now seized command in the North, unleashing his dark forces upon the lands once again.\nThe resurgence of Sauron's power in Angmar has sent tremors of fear throughout the region. Whispers of his return echo through the icy mountains, leaving the inhabitants in a state of dread. As the dark clouds of Mordor cast their shadow upon the Northern realms, the people of Arnor brace themselves for the imminent threat." + news.392.a:0 "the North faces a perilous future." ###################################### news.390.t:0 "Storm gathers on Caradhras " news.390.d:0 "A powerful storm is said to be gathering over the Redhorn Pass in the Misty Mountains. According to local reports, the storm is expected to bring heavy rains and strong winds. The pass, which is known for its treacherous terrain, is likely to be severely affected by the storm, and travelers are advised to take caution of potential avalanches caused by lightning-strikes.\nThere are rumors circulating among the locals that the storm may be the work of Saruman, whilst others claim it was the mountain of Caradhras itself." @@ -516,6 +591,7 @@ ###################################### news.376.t:0 "Sauron is dead" news.376.d:0 "The Dark Lord of Mordor has died! Rumors claim that two Hobbits managed to destroy the One Ring within the fires of Mount Doom. How exactly they accomplished this, remains unclear. Several Eagle-sg10 light aircraft planes have been deployed in a rescue mission for the Hobbits. The future of Mordor has never been this clouded, as the leadership of Sauron was a central part of Mordors structural integrity." + news.376.d_elves:0 "The Dark Lord of Mordor has died! Rumors claim that a pack of elves managed to destroy the One Ring within the fires of Mount Doom. How exactly they accomplished this, remains unclear. Several Eagle-sg10 light aircraft planes have been deployed in a rescue mission for the Hobbits. The future of Mordor has never been this clouded, as the leadership of Sauron was a central part of Mordors structural integrity." news.376.a:0 "Hmm..." ###################################### news.375.t:0 "Mordor finds the One Ring" @@ -571,7 +647,7 @@ news.363.a:0 "Hmm..." ###################################### news.362.t:0 "Galadriel leaves Middle Earth" - news.362.d:0 "Co-ruler and Lady of Lothlórien Galadriel is set to leave Middle Earth from the Grey Havens in Mithlond and sail to Valinor. Many Lòrien Elves have mourned the early departure of their beloved Co-Ruler, as she is commonly known as one of the greatest Eldar in Middle-earth as well as the bearer of Nenya, one of the three Elven rings of power. Galadriel claims her departure comes early due to a unusual division between herself and her husband, Lord Celeborn who has been more approving of elven-socialist reforms. 'The world has changed. A dark terror looms over my people and I cannot stand in the way of progress.' she claimed." + news.362.d:0 "Co-ruler and Lady of Lothlórien Galadriel is set to leave Middle Earth from the Grey Havens in Mithlond and sail to Valinor. Many Lòrien Elves have mourned the early departure of their beloved Co-Ruler, as she is commonly known as one of the greatest Eldar in Middle-earth as well as the bearer of Nenya, one of the three Elven rings of power. Galadriel claims her departure comes early due to a unusual division between herself and her husband, Lord Celeborn who has been more approving of progressive reforms. 'The world has changed. A dark terror looms over my people and I cannot stand in the way.' she claimed." news.362.a:0 "A great loss for Lothlórien." ###################################### news.361.t:0 "Moria elect a Balrog as their leader" @@ -674,7 +750,7 @@ news.338.d:0 "Niece to King Theoden of Rohan and known as the 'White Lady of Rohan', Eowyn has announced an engagement to the King's primary advisor, Grima Wormtongue. 'I was hesitant at first, but it is the will of my King thus I shall see it done.' - were the ominous words Eowyn shared with press this morning. The announcement of their wedding ended in days of fevered speculation by Rohan journalists. Common conjectures included connections to the King's recent illness and Eowyn's exiled brother, Eomer. Of course, no rohanian speculation would be complete without an Isengard-related conspiracy theory, of which we've seen plenty over the last week." news.338.a:0 "Unusual times for a wedding..." ###################################### - news.337.t:0 "King of Rohan diagnosed with Hypothyroidism" + news.337.t:0 "King of Rohan afflicted by serious illness" news.337.d:0 "A Rohan representative announced today in a public statement that the King of Rohan, Theoden, had fallen terribly ill. Medical professionals have concluded the disease to be Hypothyroidism, a rare condition which results from a lack thyroid hormones. Common symptoms include a feeling of tiredness, depression and skin decay. 'The grip of the illness is strong... the King's been bedbound for a month and passing seizures are becoming more pronounced. The underlying cause seems to be a slow and progressive decay of the nervous system, which will greatly affect his ability to rule.' said Dr. Theodorant. The King's niece, Eowyn, seems to have a more optimistic outlook on the situation: 'He is strong. He has always been strong. He'll fight the illness tooth and nail. I know he will.'" news.337.a:0 "Rohan's leadership will suffer." ###################################### @@ -1103,19 +1179,19 @@ GAME_OVER_TT:0 "§RThe game will end for you.§!" CAN_ANGERED_WORKERS:0 "This will upset the population" generic.2.t:0 "[From.GetName] seeks to join the [Root.GetFactionName]" - generic.2.d.a:0 "In the face of increasing threats to liberty and cooperative values, the [alliance_applicant.GetAdjective] look to us as the defenders of freedom. They now wish to be admitted into our alliance, both to enjoy our protection and to stand with us against the forces that would threaten democracy." + generic.2.d.a:0 "In the face of increasing threats to liberty and cooperative values, the [alliance_applicant.GetAdjective] look to us as the defenders of freedom. They now wish to be admitted into our alliance, both to enjoy our protection and to stand with us against the forces that would threaten freedom." generic.2.d.b:0 "Our plight to overturn the current world order has not escaped the notice of like-minded nations. The [alliance_applicant.GetAdjective] recognize that their best chance to carve out a prosperous future for themselves is to align with us in the coming conflict, and they have therefore offered to formally join us against our enemies." - generic.2.d.c:0 "[alliance_applicant.GetName] has recognized that she must band together with fellow socialist republics to strengthen the place of Communism in the world. Accepting our leading role in the international plight of the worker, the [alliance_applicant.GetAdjective] now request to formally enter into an alliance with us." + generic.2.d.c:0 "[alliance_applicant.GetName] has recognized that she must band together with fellow-minded people to strengthen the place of the common people in the world. Accepting our leading role in the international plight of the worker, the [alliance_applicant.GetAdjective] now request to formally enter into an alliance with us." generic.2.d.e:0 "As the current upheavals in international politics continue to reverberate through the world, the [alliance_applicant.GetAdjective] have deemed us to be their greatest chance of surviving these tumultuous times. They therefore request to be admitted into our alliance, so that we may weather the coming storm together." - generic.2.a:0 "All who stand for liberty and democracy may stand with us." + generic.2.a:0 "All who stand for liberty may stand with us." generic.2.b:0 "The world belongs to all who are strong!" - generic.2.c:0 "If we stand together, the revolution cannot but prevail." + generic.2.c:0 "We stand together." generic.2.e:0 "And weather it, we shall!" generic.2.f:0 "We are better off without them." generic.2.g:0 "We already have the allies we need." generic.3.t:0 "[alliance_inviter.GetName] welcomes us to the [alliance_inviter.GetFactionName]" generic.3.d:0 "[alliance_inviter.GetName] has decided to accept our request to join the [alliance_inviter.GetFactionName]. Henceforth we shall stand or fall together." - generic.3.a:0 "Together we shall defend democracy." + generic.3.a:0 "Together we shall defend liberty." generic.3.b:0 "None can stand against us!" generic.3.c:0 "The workers' plight could not ask for finer champions!" generic.3.e:0 "We shall set our differences aside, for now." @@ -1123,7 +1199,7 @@ generic.4.d:0 "[alliance_inviter.GetName] has decided to reject our request to join the [alliance_inviter.GetFactionName]. We will have to make do without their help." generic.4.a:0 "They call themselves defenders of liberty?" generic.4.b:0 "Then we will crush them, too!" - generic.4.c:0 "Their revolution is corrupt!" + generic.4.c:0 "Unfortunate!" generic.4.e:0 "Our differences were too great." news.289.t:0 "[alliance_applicant.GetName] joins the [alliance_inviter.GetFactionName]" news.289.d:0 "\nEarlier today, [alliance_inviter.GetName] and [alliance_applicant.GetName] issued a joint statement that the latter has now been formally granted member status of the [alliance_inviter.GetFactionName]. Whether this partnership will be used for offensive or defensive purposes remains to be seen, but undoubtedly extensive joint military planning is already under way." diff --git a/localisation/english/gondor/denethor_paranoid_l_english.yml b/localisation/english/gondor/denethor_paranoid_l_english.yml new file mode 100644 index 000000000..78c91b92d --- /dev/null +++ b/localisation/english/gondor/denethor_paranoid_l_english.yml @@ -0,0 +1,35 @@ +l_english: +# Denethor becoming increasingly paranoid +denethor_paranoid.1.t:0 "Unsettling Rumors" +denethor_paranoid.1.d:0 "Whispers of shadowy alliances and impending threats have reached Denethor's ears, casting doubt on the security of Gondor. Paranoia has beguns to take hold as he questions the loyalty of those around him." +denethor_paranoid.1.a:0 "A troubling development." + +# Nazgul roaming lands +denethor_paranoid.2.t:0 "Sightings of Ringwraiths" +denethor_paranoid.2.d:0 "Reports of Nazgûl sightings in Gondor's territories fuel Denethor's paranoia. The presence of these dreaded servants of the Dark Lord heightens his fears, leading to restless nights and anxious days." +denethor_paranoid.2.a:0 "Fortify defenses and issue warnings to the border patrols." + +# Haradwaith siding with Mordor +denethor_paranoid.3.t:0 "Haradwaith siding with Mordor" +denethor_paranoid.3.d:0 ""News of Haradwaith forging an alliance with Mordor reaches Denethor's court. The prospect of a united front against Gondor deepens his paranoia, leaving him suspicious of neighboring lands." +denethor_paranoid.3.a:0 "We must prepare for potential conflict." + +# Isengard/Saruman building an army of orcs +denethor_paranoid.4.t:0 "Isengard's Orc Army" +denethor_paranoid.4.d:0 "Word spreads of Isengard amassing a formidable army of orcs under Saruman's command. The thought of such a force descending upon Gondor fills Denethor with dread, intensifying his paranoia." +denethor_paranoid.4.a:0 "Mobilize Gondor's armies and bolster border defenses immediately." + +# Mordor seizing the Back Gate outskirts +denethor_paranoid.5.t:0 "Mordor Seizing Back Gate Outskirts" +denethor_paranoid.5.d:0 "Reports arrive detailing Mordor forces encroaching upon the outskirts of the Back Gate. The encroachment prompts Denethor to question the integrity of his realm's borders, fueling his paranoia." +denethor_paranoid.5.a:0 "The skies darken." + +# Isengard siding with Mordor +denethor_paranoid.6.t:0 "Isengard's Alliance with Mordor" +denethor_paranoid.6.d:0 "News reaches Gondor of Isengard openly aligning with Mordor. The prospect of a two-front war causes Denethor's paranoia to peak, leading to sleepless nights and impulsive decision-making." +denethor_paranoid.6.a:0 "That treacherous wizard!" + +# Rohan getting rid of Theoden +denethor_paranoid.6.t:0 "Removal of King Théoden" +denethor_paranoid.6.d:0 "Reports circulate that Rohan has undergone significant political changes, including the removal of King Théoden. Denethor's paranoia deepens as he contemplates the implications of such instability in a neighboring realm." +denethor_paranoid.6.a:0 "The shadows encroach." \ No newline at end of file diff --git a/localisation/english/gondor/gondor_decisions_l_english.yml b/localisation/english/gondor/gondor_decisions_l_english.yml new file mode 100644 index 000000000..3828c347d --- /dev/null +++ b/localisation/english/gondor/gondor_decisions_l_english.yml @@ -0,0 +1,9 @@ +l_english: +GON_army_of_the_death:0 "Army of the Dead" +GON_seek_out_the_spooky_ghosts:0 "Seek out the Spooky Ghosts" +GON_complete_their_oath:0 "Fullfill their Oaths" +GON_increase_taxation:0 "Increase Taxes" + +####Beacon decisions +BEACON_category:0 "Old Alliances" +Light_the_beacon:0 "Light the Beacons" \ No newline at end of file diff --git a/localisation/english/gondor/gondor_events_l_english.yml b/localisation/english/gondor/gondor_events_l_english.yml new file mode 100644 index 000000000..fa6b5e671 --- /dev/null +++ b/localisation/english/gondor/gondor_events_l_english.yml @@ -0,0 +1,100 @@ +l_english: +##### Event +gondor.6.t:0 "[FROM.GetName] demands Poros" +gondor.6.d:0 "[FROM.GetName] has laid claim on the territory of Poros, claiming historical precedents, and threating war if we dont transfer ownership." +gondor.6.a:0 "We will not risk war over this." +gondor.6.b:0 "Their claims are invalid. And we will prove so on the field of battle, if we must." + +gondor.7.t:0 "[From.GetName] wants to join our faction" +gondor.7.d:0 "Citing fears of the growing powers of Mordor and its allies, diplomats from [From.GetName] have submitted a request to join our alliance." +gondor.7.a:0 "They are welcome to join." +gondor.7.b:0 "We stand stronger alone." + +gondor.8.t:0 "[From.GetName] wants to join our research sharing group" +gondor.8.d:0 "To further more strenghten the bond between our nations and our strength against evil, [From.GetName] requests to join our research sharing group." +gondor.8.a:0 "The more the wiser." +gondor.8.b:0 "They have nothing to offer us." + +gondor.9.t:0 "Boromir refuses" +gondor.9.d:0 "Despite our orders, to heed the good of Gondor, Boromir has refused to betray the Fellowship. The One Ring remains in the hands of the halfling, Frodo." +gondor.9.a:0 "This has gotten out of hand." + +gondor.10.t:0 "The fellowship intervenes" +gondor.10.d:0 "Boromir has followed his orders, and tried to take the Ring from Frodo. Unfortunately, the rest of the fellowship figured out his intentions and now stand between him and the ring.\nThere are also reports of an imminent attack by orcs on the fellowship's location." +gondor.10.a:0 "Boromir is a soldier of Gondor. He will not let a ragtag bunch of scoundrels stop him!" +gondor.10.a.tt:0 "Boromir will fight the fellowship and try to seize the ring forcefully." +gondor.10.b:0 "There are greater things to worry about. Let's put our differences aside." +gondor.10.b.tt:0 "Boromir will stand with the fellowship against the imminent orc attack." + +gondor.11.t:0 "Boromir takes the Ring" +gondor.11.d:0 "Valiantly Boromir stood his ground and fought the fellowship. In the mids of the chaos he managed to seize the Ring for Gondor!" +gondor.11.a:0 "A great day for Gondor!" + +gondor.12.t:0 "Boromir dies fighting fellowship" +gondor.12.d:0 "Valiantly Boromir stood his ground and fought the fellowship. Unfortunately the challenge proved insurmountable, and he perished." +gondor.12.a:0 "He died fighting for Gondor." + +gondor.13.t:0 "Faramir finds two Hobbits" +gondor.13.d:0 "Faramir has reportedly found two Hobbits wandering in Ithilien, apparently heading towards Minas Morgul with the intention of crossing into Mordor. One of them appears to be carrying the One Ring." +gondor.13.a:0 "Let them go, the ring must be destroyed." +gondor.13.b:0 "Let him bring the Ring to Gondor!" + +gondor.14.t:0 "Faramir refuses" +gondor.14.d:0 "Faramir has refused his orders, and let the fellowship continue their journey into Mordor." +gondor.14.a:0 "If only Boromir had been there..." + +gondor.15.t:0 "The fellowship escapes" +gondor.15.d:0 "Amongst the chaos at Osgiliath, the fellowship managed escaped from Faramir's rangers, and is now out of reach." +gondor.15.a:0 "It is what it is..." + +gondor.16.t:0 "[From.GetName] preposes to return Orthanc in return of a payment" +gondor.16.d:0 "They are willing to give back Orthanc to us in return of a small payment. Saying that it should be ours once again." +gondor.16.a:0 "The terms are acceptable" +gondor.16.b:0 "We have no need for it" + +gondor.17.t:0 "[From.GetName] proposes a naval trade route" +gondor.17.d:0 "Our allies in [FROM.GetName] wish for closer trade relations." +gondor.17.a:0 "Agreed!" +gondor.17.b:0 "It's too costly to send ships that far north." + +gondor.18.t:0 "[From.GetName] requests outpost near Gondor" +gondor.18.d:0 "To strengthen our alliance and to increase the strength of Angmar in the South they have requested to build a outpost. They have taken a look and think that the island of Tolfalas would be perfect for this." +gondor.18.a:0 "Agreed, we could use their army nearby" +gondor.18.b:0 "This is not neceserly" + +gondor.20.t:0 "[From.GetName] accepted our invitation to our faction" +gondor.20.d:0 "[From.GetName] has let us know they would happily join our side." +gondor.20.a:0 "That is great news" + +gondor.21.t:0 "[From.GetName] declines our invitation to our faction" +gondor.21.d:0 "[From.GetName] has let us know they will not be joining our faction." +gondor.21.a:0 "So be it" + +gondor.22.t:0 "[From.GetName] has declared loyalty to Isildur's heir" +gondor.22.d:0 "Following our statement they have said they can not follow. They will remain loyal to the true king of Gondor." +gondor.22.a:0 "So be it" +gondor.22.b:0 "We can not let this happen" + +gondor.23.t:0 "[From.GetName] has invited us to their faction" +gondor.23.d:0 "Following the events happening all around Middle-earth, [From.GetName] has made the annouchment to stand for freedom. They have decides to secure this by inviting countries into a defense alliance." +gondor.23.a:0 "We shall stand together" +gondor.23.b:0 "We have no reason to join them" + +gondor.24.t:0 "The Stewardship flees to Tolfalas" +gondor.24.d:0 "The despicable aristocrats have abandoned their golden palaces out of fear of the common people's wrath. The Stewardship appears to be fleeing into exile, to the island of Tolfalas." +gondor.24.a:0 "Let them go. Enough blood has been split on their account." +gondor.24.b:0 "Chase the rats into the sea!" + +gondor.25.t:0 "The Throne Room Stormed!" +gondor.25.d:0 "Our people have had enough. Harvests destroyed, villages burned, even the blood of Gondor itself shed onto the barren lands of Osgiliath. All the while our Lords, Kings and Stewards dine in the comfort of their throne rooms and palaces! Wearing fine silkcoats and sleeping in soft, feathery beds! Having had enough of this charade, our people have taken to the streets of the white city, some reaching as far as throne room atop the city!\n\nThe Stewardship have summoned their armies to the city, but not before they were forced to flee southwards." +gondor.25.a:0 "No more kings or stewards!" + +old_alliances.1.t:0 "The beacons are lit!" +old_alliances.1.d:0 "The beacons are lit! [FROM.GetName] calls for aid!" +old_alliances.1.a:0 "And [ROOT.GetName] shall answer!" +old_alliances.1.b:0 "What did [FROM.GetName] ever do for us?!" + +old_alliances.2.t:0 "The beacons are lit!" +old_alliances.2.d:0 "The beacons are lit! [FROM.GetName] calls for aid!" +old_alliances.2.a:0 "And [ROOT.GetName] shall answer!" +old_alliances.2.b:0 "What did [FROM.GetName] ever do for us?!" \ No newline at end of file diff --git a/localisation/english/gondor/gondor_focuses_l_english.yml b/localisation/english/gondor/gondor_focuses_l_english.yml new file mode 100644 index 000000000..809a0173c --- /dev/null +++ b/localisation/english/gondor/gondor_focuses_l_english.yml @@ -0,0 +1,371 @@ +l_english: + +GON_denethor_paranoid:0 "Denethor is paranoid" +text_tooltip:0 "[DenethorParanoid]" + +GON_delegitimize_aragorns_claim:0 "Delegitimize Aragorn's Claim" +GON_delegitimize_aragorns_claim_desc:0 "" + +GON_change_the_law:0 "Change the law" +GON_change_the_law_desc:0 "" + +GON_purge_the_crown_loyalists:0 "Purge the Crown Loyalists" +GON_purge_the_crown_loyalists_desc:0 "" + +GON_enforce_militair_loyalty:0 "Enforce Military Loyalty" +GON_enforce_militair_loyalty_desc:0 "" + +GON_gondor_propaganda:0 "Loyalist Propaganda" +GON_gondor_propaganda_desc:0 "" + +GON_install_loyal_government_DAM:0 "Enforce Military Loyalty" +GON_install_loyal_government_DAM_desc:0 "" + +GON_publish_statement:0 "Publish a Statement" +GON_publish_statement_desc:0 "" + +GON_the_steward_of_gondor:0 "The Steward of Gondor" +GON_the_steward_of_gondor_desc:0 "" + +GON_rally_the_nation:0 "Rally the Nation" +GON_rally_the_nation_desc:0 "" + +GON_researcher_of_Gondor:0 "Search the Unknown" +GON_researcher_of_Gondor_desc:0 "" + +GON_wisdom_of_men_kind:0 "Royal Library of Minas Tirith" +GON_wisdom_of_men_kind_desc:0 "" + +GON_in_memory_of_faramir:0 "Honor Faramir's Sacrifice" +GON_in_memory_of_faramir_desc:0 "" + +GON_invest_in_the_industry:0 "Industry Investments" +GON_invest_in_the_industry_desc:0 "" + +GON_militair_industry:0 "Military Industry" +GON_militair_industry_desc:0 "" + +GON_civilian_industry:0 "Civilian Industry" +GON_civilian_industry_desc:0 "" + +GON_expand_farming_industry:0 "Expand Arable Farmland" +GON_expand_farming_industry_desc:0 "" + +GON_never_ending_production:0 "Maximize Production" +GON_never_ending_production_desc:0 "" + +GON_restructure_the_army:0 "Restructure the Army" +GON_restructure_the_army_desc:0 "" + +GON_steward_of_the_people:0 "Steward of the People" +GON_steward_of_the_people_desc:0 "" + +GON_reconquering_arnor:0 "Reconquer Arnor" +GON_reconquering_arnor_desc:0 "" + +GON_honor_isildurs_legacy:0 "Honor Isildur's Lineage" +GON_honor_isildurs_legacy_desc:0 "" + +GON_prepare_for_the_king_return:0 "Prepare for the King's Return" +GON_prepare_for_the_king_return_desc:0 "" + +GON_rally_support_from_the_people:0 "Rally support from the people" +GON_rally_support_from_the_people_desc:0 "" + +GON_limit_denethor_militair_power:0 "Limit Denethor's Military Influence" +GON_limit_denethor_militair_power_desc:0 "" + +GON_limit_denethor_political_power:0 "Limit Denethor's Political Influence" +GON_limit_denethor_political_power_desc:0 "" + +GON_declare_aragorn_the_rightful_heir:0 "Declare Aragorn the Rightful Heir" +GON_declare_aragorn_the_rightful_heir_desc:0 "" + +GON_persuade_aragorn_to_come_to_Gondor:0 "Persuade Aragorn to Return to Gondor" +GON_persuade_aragorn_to_come_to_Gondor_desc:0 "" + +GON_send_help_towards_aragorn:0 "Ensure Aragorn's Survival" +GON_send_help_towards_aragorn_desc:0 "" + +GON_invite_aragorn_to_minas_tirith:0 "[Root.FocusNameChange]" +GON_invite_aragorn_to_minas_tirith_desc:0 "" + +GON_invite_aragorn_to_minas_tirith_title:0 "Invite Aragorn to Minas Tirith" + +GON_invite_aragorn_to_minas_tirith_aragorn_dead:0 "End of Isildurs line" + +GON_crown_aragorn_king:0 "Aragorn's Coronation" +GON_crown_aragorn_king_desc:0 "" + +GON_ban_denethor_loyalists:0 "Suppress Denethor Loyalists" +GON_ban_denethor_loyalists_desc:0 "" + +GON_invest_industry_dol_amroth:0 "Invest in Dol Amroth" +GON_invest_industry_dol_amroth_desc:0 "" + +GON_invest_navy_dol_amroth:0 "Dockyard Construction" +GON_invest_navy_dol_amroth_desc:0 "" + +GON_restore_the_kingdom_of_gondor:0 "Restore the Kingdom" +GON_restore_the_kingdom_of_gondor_desc:0 "" + +GON_increase_bonds_with_the_kingdoms_of_arnor:0 "Affiliate with the Remnants of Arnor" +GON_increase_bonds_with_the_kingdoms_of_arnor_desc:0 "" + +GON_prepose_unification:0 "Propose Reunification" +GON_prepose_unification_desc:0 "" + +GON_demand_reinstate_kingdom_of_arnor:0 "Demand Reinstatement" +GON_demand_reinstate_kingdom_of_arnor_desc:0 "" + +GON_defender_of_the_free_people:0 "Defender of the Free Peoples" +GON_defender_of_the_free_people_desc:0 "" + +GON_everyone_is_welcome:0 "Expand the Alliance" +GON_everyone_is_welcome_desc:0 "" + +GON_defeat_evil_once_and_for_all:0 "Rid the World of Evil" +GON_defeat_evil_once_and_for_all_desc:0 "" + +GON_attack_before_being_attack:0 "Strike First" +GON_attack_before_being_attack_desc:0 "" + +GON_restore_minas_ithil:0 "Restore Minas Ithil" +GON_restore_minas_ithil_desc:0 "" + +GON_annex_minas_ithil:0 "Annex Minas Ithil" +GON_annex_minas_ithil_desc:0 "" + +GON_reclaim_orthanc:0 "Reclaim Orthanc" +GON_reclaim_orthanc_desc:0 "" + +GON_reintergrate_orthanc:0 "Reintergrate Orthanc" +GON_reintergrate_orthanc_desc:0 "" + +GON_send_boromir_with_the_fellowship:0 "Send Boromir with the Fellowship" +GON_send_boromir_with_the_fellowship_desc:0 "" + +GON_have_boromir_steal_the_ring:0 "Have Boromir Steal the Ring" +GON_have_boromir_steal_the_ring_desc:0 "" + +GON_betray_elronds_council:0 "Break Faith with Rivendell" +GON_betray_elronds_council_desc:0 "" + +GON_strike_a_deal_with_sauron:0 "Strike a Deal with Sauron" +GON_strike_a_deal_with_sauron_desc:0 "" + +GON_form_the_empire_of_gondor:0 "The Empire of Gondor" +GON_form_the_empire_of_gondor_desc:0 "" + +GON_send_faramir_with_the_fellowship:0 "Send Faramir with the Fellowship" +GON_send_faramir_with_the_fellowship_desc:0 "" + +GON_improved_naval_strategies:0 "Improved Seafaring" +GON_improved_naval_strategies_desc:0 "" + +GON_military_rearmament:0 "Military Rearmament" +GON_military_rearmament_desc:0 "" + +GON_expand_infantry:0 "Expand Footsoldiers" +GON_expand_infantry_desc:0 "" + +GON_artillery_improvements:0 "Archery Improvements" +GON_artillery_improvements_desc:0 "" + +GON_expand_cavalry:0 "Expand Cavalry" +GON_expand_cavalry_desc:0 "" + +GON_chariots_improvements:0 "Chariot Improvements" +GON_chariots_improvements_desc:0 "" + +GON_counter_haradwaith_forces:0 "Bring Down the Oliphants" +GON_counter_haradwaith_forces_desc:0 "" + +GON_internal_policy_department:0 "Domestic Policy Department" +GON_internal_policy_department_desc:0 "" + +GON_prepare_for_the_growing_theat_north:0 "Prepare against Isengard" +GON_prepare_for_the_growing_theat_north_desc:0 "" + +GON_improve_infrastructure_west:0 "Improve Supplylines" +GON_improve_infrastructure_west_desc:0 "" + +GON_stay_our_ground:0 "Stand Our Ground" +GON_stay_our_ground_desc:0 "" + +GON_expand_the_military_production:0 "Expand Military Production" +GON_expand_the_military_production_desc:0 "" + +GON_where_is_the_string:0 "Sinew Farms" +GON_where_is_the_string_desc:0 "Why Gondor has no string?" + +GON_library_of_wisdom:0 "Study the Ancient Scriptures" +GON_library_of_wisdom_desc:0 "" + +GON_dig_out_the_mountains:0 "Dig Out the Mountains" +GON_dig_out_the_mountains_desc:0 "" + +GON_university_of_minas_tirith:0 "University of Minas Tirith" +GON_university_of_minas_tirith_desc:0 "" + +GON_construction_research:0 "Construction Techniques" +GON_construction_research_desc:0 "" + +GON_develop_the_south:0 "Develop the South" +GON_develop_the_south_desc:0 "" + +GON_focus_on_militair_south:0 "Armament Focus" +GON_focus_on_militair_south_desc:0 "" + +GON_focus_on_civilian_south:0 "Civilian Focus" +GON_focus_on_civilian_south_desc:0 "" + +GON_develop_the_west:0 "Develop the West" +GON_develop_the_west_desc:0 "" + +GON_focus_on_militair_west:0 "Armament Focus" +GON_focus_on_militair_west_desc:0 "" + +GON_focus_on_civilian_west:0 "Civilian Focus" +GON_focus_on_civilian_west_desc:0 "" + +GON_reinforce_osgilliath:0 "Reinforce Osgiliath" +GON_reinforce_osgilliath_desc:0 "" + +GON_hit_before_you_get_hit:0 "Forsee and Strike Frist" +GON_hit_before_you_get_hit_desc:0 "" + +GON_rally_the_people:0 "Rally the People" +GON_rally_the_people_desc:0 "" + +GON_hit_now_you_can:0 "Seize the Initiative" +GON_hit_now_you_can_desc:0 "" + +GON_modernize_the_military:0 "Modernize the Military" +GON_modernize_the_military_desc:0 "" + +GON_defense_is_the_best_attack:0 "Guard to Prevail" +GON_defense_is_the_best_attack_desc:0 "" + +GON_prepare_for_the_worse:0 "Prepare for the Worst" +GON_prepare_for_the_worse_desc:0 "" + +GON_defense_specialist:0 "Defense Specialist" +GON_defense_specialist_desc:0 "" + +GON_no_step_back:0 "No Step Back" +GON_no_step_back_desc:0 "" + +GON_ears_everywhere:0 "Eyes of the White Tower" +GON_ears_everywhere_desc:0 "" + +GON_expand_the_netwerk:0 "Network of Informants" +GON_expand_the_netwerk_desc:0 "" + +GON_sneaky_peaky:0 "Subersion and Infiltration" +GON_sneaky_peaky_desc:0 "" + +GON_we_see_everything:0 "Counterintelligence Measures" +GON_we_see_everything_desc:0 "" + +GON_external_policy_department:0 "Foreign Policy Department" +GON_external_policy_department_desc:0 "" + +GON_improve_relations_with_rohan:0 "Improve Relations with Rohan" +GON_improve_relations_with_rohan_desc:0 "" + +GON_help_deal_with_isengard:0 "Help contain Isengard" +GON_help_deal_with_isengard_desc:0 "" + +GON_where_was_gondor:0 "Where Was Gondor" +GON_where_was_gondor_desc:0 "" + +GON_invite_rohan:0 "Invite Rohan" +GON_invite_rohan_desc:0 "" + +GON_express_intressed_in_haronder:0 "Express Interest in Harondor" +GON_express_intressed_in_haronder_desc:0 "" + +GON_demand_harondor:0 "Demand Harondor" +GON_demand_harondor_desc:0 "" + +GON_intergrate_harondor:0 "Intergrate Harondor" +GON_intergrate_harondor_desc:0 "" + +GON_ensure_popular_support:0 "Ensure Popular Support" +GON_ensure_popular_support_desc:0 "" + +GON_defame_isildurs_lineage:0 "Defame Isildur's Lineage" +GON_defame_isildurs_lineage_desc:0 "" + +GON_gondor_needs_no_king:0 "Gondor Needs No King" +GON_gondor_needs_no_king_desc:0 "" + +GON_purge_the_aristocracy:0 "Purge the Aristocrats" +GON_purge_the_aristocracy_desc:0 "" + +GON_spread_the_revolution:0 "Commoner's Triumph" +GON_spread_the_revolution_desc:0 "" + +GON_spark_revolution_dol_amroth:0 "Boil Over" +GON_spark_revolution_dol_amroth_desc:0 "" + +GON_power_to_the_unions:0 "Power to the Guilds" +GON_power_to_the_unions_desc:0 "" + +GON_meritocracy:0 "Meritocracy" +GON_meritocracy_desc:0 "" + +GON_the_tolfalas_stalemate:0 "The Tolfalas Stalemate" +GON_the_tolfalas_stalemate_desc:0 "" + +GON_prepare_an_invasion_force:0 "Prepare and Invasion Force" +GON_prepare_an_invasion_force_desc:0 "" + +GON_the_peoples_fleet:0 "The People's Fleet" +GON_the_peoples_fleet_desc:0 "" + +GON_rally_the_exiled_nobility:0 "Rally the Exiled Nobility" +GON_rally_the_exiled_nobility_desc:0 "" + +GON_evacuate_the_treasury:0 "Evacuate the Trasury" +GON_evacuate_the_treasury_desc:0 "" + +GON_liberate_the_capital_from_the_usurpers:0 "Liberate the Capital from the Usurpers" +GON_liberate_the_capital_from_the_usurpers_desc:0 "" + +GON_white_sails_of_gondor:0 "The White Sails of Gondor" +GON_white_sails_of_gondor_desc:0 "" + +GON_strength_in_numbers:0 "Strength in Numbers" +GON_strength_in_numbers_desc:0 "" + +GON_strength_in_quality:0 "Strength in Quality" +GON_strength_in_quality_desc:0 "" + +GON_coastal_protection:0 "Coastal Protection" +GON_coastal_protection_desc:0 "" + +GON_invasion_force:0 "Invasion Force" +GON_invasion_force_desc:0 "" + +GON_dockyard_effort:0 "Drydock Effort" +GON_dockyard_effort_desc:0 "" + +GON_ship_mounted_catapults:0 "Ship-Mounted Catapults" +GON_ship_mounted_catapults_desc:0 "" + +GON_rally_support_in_enedwaith:0 "Rally Support in Enedwaith" +GON_rally_support_in_enedwaith_desc:0 "" + +GON_strengthen_ties_with_angmar:0 "Strenghten Ties with Angmar" +GON_strengthen_ties_with_angmar_desc:0 "" + +GON_gain_favour_with_the_elves:0 "Gain Favour with the Elves" +GON_gain_favour_with_the_elves_desc:0 "" + +GON_historical_claims:0 "Historical Claims" +GON_historical_claims_desc:0 "" + +GON_wed_faramir_to_eowyn:0 "Wed Faramir to Éowyn" +GON_wed_faramir_to_eowyn_desc:0 "" diff --git a/localisation/english/gondor/gondor_l_english.yml b/localisation/english/gondor/gondor_l_english.yml new file mode 100644 index 000000000..5396cec58 --- /dev/null +++ b/localisation/english/gondor/gondor_l_english.yml @@ -0,0 +1,46 @@ +l_english: +#Ideas +GON_army_of_the_death:0 "Army of the Dead" +GON_strike_before_the_enemy_0:0 "Preemtpive Strike" +GON_strike_before_the_enemy_1:0 "Preemtpive Strike" +GON_bunker_focus:0 "Fortification Focus" +GON_no_step_back_idea:0 "No Step Back" +GON_preprare_for_the_worst:0 "Prepare for the Worst" +GON_volunteers_against_evil:0 "Volunteers against all Evil" +GON_isildur_legacy:0 "Isildur's Legacy" +GON_idea_restructure_the_army:0 "Major Army Restructuring" +GON_popular_support_campaign:0 "Popular Support Campaign" +GON_merit_based_advancement:0 "Meritocracy" +faramir_eowyn_marriage:0 "Faramir-Éowyn Marriage" +GON_kingdom_of_gondor:0 "Kingdom of Gondor" +GON_weary_armed_forces:0 "Weary Armed Forces" + +GON_spies_of_gondor_0:0 "The Eyes of the White Tower" +GON_spies_of_gondor_sneaky_peaky:0 "The Eyes of the White Tower" +GON_spies_of_gondor_know_it_all:0 "The Eyes of the White Tower" + +GON_denethor_0:0 "Denethor's Paranoia" +GON_denethor_1:0 "Denethor's Paranoia" +GON_denethor_2:0 "Denethor's Paranoia" +GON_denethor_3:0 "Denethor's Paranoia" +GON_denethor_4:0 "Denethor's Paranoia" + +GON_defeatist_0:0 "Defeatism" +GON_defeatist_1:0 "Defeatism" +GON_defeatist_2:0 "Defeatism" + +GON_idea_spread_the_revolution:0 "Insurrectionist Spirit" + +GON_denethor_loyalists:0 "Denethor Loyalists" + +GON_defender_of_middle_earth:0 "Defender of Middle-earth" + +#Flags +GON_called_on_dead_men_of_dunharrow:0 "Called on the dead men of Dunharrow" +GON_men_of_dunharrow_fullfiled_their_oath:0 "Fulfill the oath of the men of Dunharrow" + +###Tooltips +GON_tooltip_unlocks_defense_advisor:0 "§YThis will unlock Mablung for the High Command§!" +GON_tooltip_unlocks_prince_of_terror_advisor:0 "Unlock a §YPrince of Terror§! as advisor." +GON_purge_the_aristocracy_tt:0 "The §YOrder of the White Rose§! guild will become unavailable." +GON_rally_the_exiled_nobility_tt:0 "Spawn several §YStewartship Loyalist§! divisions on Tolfalas." \ No newline at end of file diff --git a/localisation/english/gondor_events_l_english.yml b/localisation/english/gondor_events_l_english.yml deleted file mode 100644 index 72486bb83..000000000 --- a/localisation/english/gondor_events_l_english.yml +++ /dev/null @@ -1,63 +0,0 @@ -l_english: -##### Event -gondor.6.t:0 "[From.GetName] has made demands" -gondor.6.d:0 "They want controle over South-Ithilien. They believe it belongs to them and are threating with war if we dont transfer ownership." -gondor.6.a:0 "We will not fight for that small island" -gondor.6.b:0 "We protect everyone, including the island Tolfalas" - -gondor.7.t:0 "[From.GetName] wants to join our faction" -gondor.7.d:0 "Citing fears of the growing powers of Mordor and its allies, diplomats from [From.GetName] have submitted a request to join our alliance." -gondor.7.a:0 "They are welcome to our faction." -gondor.7.b:0 "We stand stronger alone." - -gondor.8.t:0 "[From.GetName] wants to join our research sharing group" -gondor.8.d:0 "To further more strenghten the bond between our nations and our strength against evil, [From.GetName] requests to join our research sharing group." -gondor.8.a:0 "The more the wiser." -gondor.8.b:0 "You have nothing to offer us." - -gondor.9.t:0 "Boromir refuses" -gondor.9.d:0 "Despite our orders, to heed the good of Gondor, Boromir has refused to betray the Fellowship. The One Ring remains in the hands of the halfling, Frodo." -gondor.9.a:0 "This has gotten out of hand." - -gondor.10.t:0 "The fellowship intervenes" -gondor.10.d:0 "Boromir has followed his orders, and tried to take the Ring from Frodo. Unfortunately, the rest of the fellowship figured out his intentions and now stand between him and the ring.\nThere are also reports of an imminent attack by orcs on the fellowship's location." -gondor.10.a:0 "Boromir is a soldier of Gondor. He will not let a ragtag bunch of scoundrels stop him!" -gondor.10.a.tt:0 "Boromir will fight the fellowship and try to seize the ring forcefully." -gondor.10.b:0 "There are greater things to worry about. Let's put our differences aside." -gondor.10.b.tt:0 "Boromir will stand with the fellowship against the imminent orc attack." - -gondor.11.t:0 "Boromir takes the Ring" -gondor.11.d:0 "Valiantly Boromir stood his ground and fought the fellowship. In the mids of the chaos he managed to seize the Ring for Gondor!" -gondor.11.a:0 "A great day for Gondor!" - -gondor.12.t:0 "Boromir dies fighting fellowship" -gondor.12.d:0 "Valiantly Boromir stood his ground and fought the fellowship. Unfortunately the challenge proved insurmountable, and he perished." -gondor.12.a:0 "He died fighting for Gondor." - -gondor.13.t:0 "Faramir finds two Hobbits" -gondor.13.d:0 "Faramir has reportedly found two Hobbits wandering in Ithilien, apparently heading towards Minas Morgul with the intention of crossing into Mordor. One of them appears to be carrying the One Ring." -gondor.13.a:0 "Let them go, the ring must be destroyed." -gondor.13.b:0 "Let him bring the Ring to Gondor!" - -gondor.14.t:0 "Faramir refuses" -gondor.14.d:0 "Faramir has refused his orders, and let the fellowship continue their journey into Mordor." -gondor.14.a:0 "If only Boromir had been there..." - -gondor.15.t:0 "The fellowship escapes" -gondor.15.d:0 "Amongst the chaos at Osgiliath, the fellowship managed escaped from Faramir's rangers, and is now out of reach." -gondor.15.a:0 "It is what it is..." - -gondor.16.t:0 "[From.GetName] preposes to return Orthanc in return of a payment" -gondor.16.d:0 "They are willing to give back Orthanc to us in return of a small payment. Saying that it should be ours once again." -gondor.16.a:0 "This are acceptable terms" -gondor.16.b:0 "We have no need for it" - -gondor.17.t:0 "[From.GetName] preposes navel trade route" -gondor.17.d:0 "To expend our relation with eachother nation we should promote trading between." -gondor.17.a:0 "Agreed!" -gondor.17.b:0 "I see no need for this" - -gondor.18.t:0 "[From.GetName] requests outpost near Gondor" -gondor.18.d:0 "To strengthen our alliance and to increase the strength of Angmar in the South they have requested to build a outpost. They have taken a look and think that the island of Tolfalas would be perfect for this." -gondor.18.a:0 "Agreed, we could use there army nearby" -gondor.18.b:0 "This is not neceserly" \ No newline at end of file diff --git a/localisation/english/gondor_l_english.yml b/localisation/english/gondor_l_english.yml index 6a01d5580..122a0f4dc 100644 --- a/localisation/english/gondor_l_english.yml +++ b/localisation/english/gondor_l_english.yml @@ -1,258 +1,18 @@ l_english: -thefateofgondor:0 "The Fate of Gondor" -antinazgulmeasures:0 "Anti Nazgul Measures" -improverohanianrelations:0 "Improve Rohanian Relations" -providerohanwithresources:0 "Provide Rohan with Resources" -allowrohantohireithiliansoldiers:0 "Allow Rohan to hire Ithilian Soldiers" -geo_technologysharing:0 "Technology Sharing" -geo_militaryrearmament:0 "Military Rearmament" -geo_airinnovations:0 "Air Innovations" -geo_nucleareffort:0 "Nuclear Effort" -geo_industrysector:0 "Industry Sector" -sendfaramirwiththefellowship:0 "Send Faramir with the Fellowship" -sendfaramirwiththefellowship_desc:0 "" -prepareforwarwithmordor:0 "Prepare for War with Mordor" -prepareforwarwithmordor_desc:0 "" -prepareforwarwithmordor:0 "Prepare for War with Mordor" -prepareforwarwithmordor_desc:0 "" -sendboromirwiththefellowship:0 "Send Boromir with the Fellowship" -sendboromirwiththefellowship_desc:0 "" -helprohandealwithisengard:0 "Help Rohan deal with Isengard" -helprohandealwithisengard_desc:0 "" -honorisildurslegacy:0 "Honor Isildur's legacy" -honorisildurslegacy_desc:0 "" -delegitimizearagornsclaim:0 "De-Legitimize Aragorn's Claim" -delegitimizearagornsclaim_desc:0 "" -forgeclosertieswiththerangersofthenorth:0 "Forge closer ties with the Rangers of the North" -forgeclosertieswiththerangersofthenorth_desc:0 "" -buildupdefensesatosgiliath:0 "Build up Defenses at Osgiliath" -buildupdefensesatosgiliath_desc:0 "" -haveboromirstealthering:0 "Have Boromir steal the Ring" -haveboromirstealthering_desc:0 "The likelihood of success of taking the ring from Frodo will depend on the strength of the fellowship. The stronger the fellowship, the less likely you are to get the ring with this focus." -persuadearagorntoreturntogondor:0 "Persuade Aragorn to return to Gondor" -persuadearagorntoreturntogondor_desc:0 "" -restorethekingdom:0 "Restore the Kingdom" -restorethekingdom_desc:0 "" -gondorhasnoking:0 "Gondor has no King" -gondorhasnoking_desc:0 "" -forgeanewdynasty:0 "Forge a new Dynasty" -forgeanewdynasty_desc:0 "" -declarearagorntherightfulheir:0 "Declare Aragorn the rightful heir" -declarearagorntherightfulheir_desc:0 "" -getridofdenethor:0 "Get rid of Denethor" -getridofdenethor_desc:0 "" -purgethecrownloyalists:0 "Purge the Crown Loyalists" -purgethecrownloyalists_desc:0 "" -assasinatearagorn:0 "Assasinate Aragorn" -assasinatearagorn_desc:0 "" -lightthebeacons:0 "Light The Beacons!" -lightthebeacons_desc:0 "" -lightthebeacons:0 "Light The Beacons!" -lightthebeacons_desc:0 "" -seekoutthespookyghosts:0 "Seek out the spooky ghosts" -seekoutthespookyghosts_desc:0 "" -invitearagornintominastirith:0 "Invite Aragorn into Minas Tirith" -invitearagornintominastirith_desc:0 "" -thepeopleshallrule:0 "The People shall rule" -thepeopleshallrule_desc:0 "" -assasinatearagorn:0 "Assasinate Aragorn" -assasinatearagorn_desc:0 "" -anewking:0 "A new King" -anewking_desc:0 "" -anallianceofmen:0 "An Alliance of Men" -anallianceofmen_desc:0 "" -betrayelrondscouncil:0 "Betray Elrond's Council" -betrayelrondscouncil_desc:0 "" -anallianceofmen:0 "An Alliance of Men" -anallianceofmen_desc:0 "" -crownaragornkingofgondor:0 "Crown Aragorn King of Gondor" -crownaragornkingofgondor_desc:0 "" -anewking:0 "A new King" -anewking_desc:0 "" -taketheringtogondor:0 "Take the Ring to Gondor" -taketheringtogondor_desc:0 "" -strikeadealwithsauron:0 "Strike a Deal with Sauron" -strikeadealwithsauron_desc:0 "" -formtheempireofgondor:0 "Form the Empire of Gondor" -formtheempireofgondor_desc:0 "" -totheskies:0 "To the Skies!" -totheskies_desc:0 "" -battleforthegondorsea:0 "Battle for the Gondor Sea" -battleforthegondorsea_desc:0 "" -militaryrearmament:0 "Military Rearmament" -militaryrearmament_desc:0 "" -totheskies:0 "To the Skies!" -totheskies_desc:0 "" -industrysector:0 "Industry Sector" -industrysector_desc:0 "" -militaryrearmament:0 "Military Rearmament" -militaryrearmament_desc:0 "" -battleforthegondorsea:0 "Battle for the Gondor Sea" -battleforthegondorsea_desc:0 "" -battleforthegondorsea:0 "Battle for the Gondor Sea" -battleforthegondorsea_desc:0 "" -militaryrearmament:0 "Military Rearmament" -militaryrearmament_desc:0 "" -totheskies:0 "To the Skies!" -totheskies_desc:0 "" -industrysector:0 "Industry Sector" -industrysector_desc:0 "" -improvedfighters:0 "Improved Fighters" -improvedfighters_desc:0 "" -submarineeffort:0 "Submarine Effort" -submarineeffort_desc:0 "" -coastaldefenseprogram:0 "Coastal Defense Program" -coastaldefenseprogram_desc:0 "" -counterharadwaithforces:0 "Counter Haradwaith Forces" -counterharadwaithforces_desc:0 "" -universityofminastirith:0 "University of Minas Tirith" -universityofminastirith_desc:0 "" -expandinfantry:0 "Expand Infantry" -expandinfantry_desc:0 "" -submarineeffort:0 "Submarine Effort" -submarineeffort_desc:0 "" -destroyereffort:0 "Destroyer Effort" -destroyereffort_desc:0 "" -submarineeffort:0 "Submarine Effort" -submarineeffort_desc:0 "" -destroyereffort:0 "Destroyer Effort" -destroyereffort_desc:0 "" -coastaldefenseprogram:0 "Coastal Defense Program" -coastaldefenseprogram_desc:0 "" -counterharadwaithforces:0 "Counter Haradwaith Forces" -counterharadwaithforces_desc:0 "" -expandinfantry:0 "Expand Infantry" -expandinfantry_desc:0 "" -expandcavalry:0 "Expand Cavalry" -expandcavalry_desc:0 "" -improvedfighters:0 "Improved Fighters" -improvedfighters_desc:0 "" -universityofminastirith:0 "University of Minas Tirith" -universityofminastirith_desc:0 "" -improvednavalstrategies:0 "Improved Naval Strategies" -improvednavalstrategies_desc:0 "" -antioliphantweapons:0 "Anti-Oliphant Weapons" -antioliphantweapons_desc:0 "" -antioliphantweapons:0 "Anti-Oliphant Weapons" -antioliphantweapons_desc:0 "" -artilleryimprovements:0 "Artillery Improvements" -artilleryimprovements_desc:0 "" -motirizationimprovements:0 "Motorization Improvements" -motirizationimprovements_desc:0 "" -improvednavalstrategies:0 "Improved Naval Strategies" -improvednavalstrategies_desc:0 "" -tacticalbombing:0 "Tactical Bombing" -tacticalbombing_desc:0 "" -improvednavalstrategies:0 "Improved Naval Strategies" -improvednavalstrategies_desc:0 "" -antioliphantweapons:0 "Anti-Oliphant Weapons" -antioliphantweapons_desc:0 "" -artilleryimprovements:0 "Artillery Improvements" -artilleryimprovements_desc:0 "" -motirizationimprovements:0 "Motorization Improvements" -motirizationimprovements_desc:0 "" -tacticalbombing:0 "Tactical Bombing" -tacticalbombing_desc:0 "" -strategicbombing:0 "Strategic Bombing" -strategicbombing_desc:0 "" -theendsjustifythemeans:0 "The Ends Justify the Means" -theendsjustifythemeans_desc:0 "" -deontologicalethics:0 "Deontological Ethics" -deontologicalethics_desc:0 "" -carriereffort:0 "Carrier Effort" -carriereffort_desc:0 "" -heavytankimprovements:0 "Heavy Tank Improvements" -heavytankimprovements_desc:0 "" -airinnovations:0 "Air Innovations" -airinnovations_desc:0 "" -heavytankimprovements:0 "Heavy Tank Improvements" -heavytankimprovements_desc:0 "" -lighttankimprovements:0 "Light Tank Improvements" -lighttankimprovements_desc:0 "" -carriereffort:0 "Carrier Effort" -carriereffort_desc:0 "" -navalbombers:0 "Naval Bombers" -navalbombers_desc:0 "" -carriereffort:0 "Carrier Effort" -carriereffort_desc:0 "" -heavytankimprovements:0 "Heavy Tank Improvements" -heavytankimprovements_desc:0 "" -lighttankimprovements:0 "Light Tank Improvements" -lighttankimprovements_desc:0 "" -navalbombers:0 "Naval Bombers" -navalbombers_desc:0 "" -airinnovations:0 "Air Innovations" -airinnovations_desc:0 "" -wartimemeasures:0 "Wartime Measures" -wartimemeasures_desc:0 "" -longtermeconomicplan:0 "Long Term Economic Plan" -longtermeconomicplan_desc:0 "" -thefaramirdoctrine:0 "The Faramir Doctrine" -thefaramirdoctrine_desc:0 "" -thegradstrategy:0 "The Grad Strategy" -thegradstrategy_desc:0 "" -thegradstrategy:0 "The Grad Strategy" -thegradstrategy_desc:0 "" -expandcivilindustry:0 "Expand Civil Industry" -expandcivilindustry_desc:0 "" -thegradstrategy:0 "The Grad Strategy" -thegradstrategy_desc:0 "" -thefaramirdoctrine:0 "The Faramir Doctrine" -thefaramirdoctrine_desc:0 "" -expandmilitaryindustry:0 "Expand Military Industry" -expandmilitaryindustry_desc:0 "" -expandcivilindustry:0 "Expand Civil Industry" -expandcivilindustry_desc:0 "" -invadebysea:0 "Invade by Sea" -invadebysea_desc:0 "" -invadebyland:0 "Invade by Land" -invadebyland_desc:0 "" -invadebyland:0 "Invade by Land" -invadebyland_desc:0 "" -infrastructureeffort:0 "Infrastructure Effort" -infrastructureeffort_desc:0 "" -invadebyair:0 "Invade by Air" -invadebyair_desc:0 "" -invadebysea:0 "Invade by Sea" -invadebysea_desc:0 "" -invadebyland:0 "Invade by Land" -invadebyland_desc:0 "" -invadebyair:0 "Invade by Air" -invadebyair_desc:0 "" -infrastructureeffort:0 "Infrastructure Effort" -infrastructureeffort_desc:0 "" -dedicatedinvasionforce:0 "Dedicated Invasion Force" -dedicatedinvasionforce_desc:0 "" -infrastructureeffort2:0 "Infrastructure Effort 2" -infrastructureeffort2_desc:0 "" -infrastructureeffort2:0 "Infrastructure Effort 2" -infrastructureeffort2_desc:0 "" -dedicatedinvasionforce:0 "Dedicated Invasion Force" -dedicatedinvasionforce_desc:0 "" -infrastructureeffort2:0 "Infrastructure Effort 2" -infrastructureeffort2_desc:0 "" -experimentalrocketry:0 "Experimental Rocketry" -experimentalrocketry_desc:0 "" -experimentalrocketry:0 "Experimental Rocketry" -experimentalrocketry_desc:0 "" -experimentalrocketry:0 "Experimental Rocketry" -experimentalrocketry_desc:0 "" -rocketresearchcompound:0 "Rocket Research Compound" -rocketresearchcompound_desc:0 "" -rocketresearchcompound:0 "Rocket Research Compound" -rocketresearchcompound_desc:0 "" -rocketresearchcompound:0 "Rocket Research Compound" -rocketresearchcompound_desc:0 "" -nucleareffort:0 "Nuclear Effort" -nucleareffort_desc:0 "" + ################################# #Other ################################# GON_trade_agremeent:0 "Angmar trade agremeent" GON_orthanc_payment:0 "Payment for Orthanc" -GON_faramir_doctrine:0 "Faramir doctrine" +GON_power_hunger:0 "Power hungery" GON_isildur_heir:0 "Isildur heir" GON_restored_monarchy:0 "Restored Monarchy" gondor_research_name:0 "Gondor Alliance Research Sharing Group" gondor_research_desc:0 "Reduced research time for technologies researched by other faction members." +fs_has_breakup:0 "Fellowship has brokenup" +fs_aragorn_in_fellowship:0 "Aragorn is in the fellowship" +fs_aragorn_isnt_in_fellowship:0 "Aragorn isnt in the fellowship" +GON_aragorn_leaves_the_fellowship:0 "§YAragorn§! leaves the fellowship" +GON_send_help_towards_aragorn_tooltip:0 "Heal §YAragorn§! to full health" \ No newline at end of file diff --git a/localisation/english/gundabad/gundabad_events_l_english.yml b/localisation/english/gundabad/gundabad_events_l_english.yml index 475db692a..fb62238da 100644 --- a/localisation/english/gundabad/gundabad_events_l_english.yml +++ b/localisation/english/gundabad/gundabad_events_l_english.yml @@ -4,7 +4,7 @@ gundabad.1.d:0 "[From.GetLeader] annouced today in a speech that they do not agr gundabad.1.a:0 "Change there will be" gundabad.1.b:0 "Its non of ther business" -gundabad.2.t:0 "[From.GetName] demands us to join there side" +gundabad.2.t:0 "[From.GetName] demands us to join their side" gundabad.2.d:0 "We have heard rumors of them wanting to expend for a while now. This might be our change to keep our independence. However, joining there side is a big decision and will shape the future of our nation." gundabad.2.a:0 "Independence is what we want" gundabad.2.b:0 "We are not afraid for them" diff --git a/localisation/english/harad/harad_events_l_english.yml b/localisation/english/harad/harad_events_l_english.yml index 48b694923..941807e2f 100644 --- a/localisation/english/harad/harad_events_l_english.yml +++ b/localisation/english/harad/harad_events_l_english.yml @@ -9,4 +9,9 @@ harad.2.d:0 "Khamul has declared himself the new Dark Lord and sole heir to Morg harad.2.a:0 "All hail the new Dark Lord!" harad.2.b:0 "Let's see what this pretender can do!" +harad.3.t:0 "[FROM.GetName] demands control over Harondor" +harad.3.d:0 "Gondor's emissaries have arrived in Haradwaith with a bold demand: the annexation of Harondor under Gondor's control. Citing historical precedents and emphasizing the necessity to secure their southern strategic flank, Gondor's representatives press their case, urging Haradwaith to relinquish sovereignty over the contested region." +harad.3.a:0 "It's not worth risking a war over." +harad.3.b:0 "These demands are absurd!" + HAR_eastern_faction_event_tooltip:0 "§YRhun is going down the 'Create own faction' path. Once you have joined that faction, the effects of the focus 'Go Solo' will change§!" \ No newline at end of file diff --git a/localisation/english/isengard_events_l_english.yml b/localisation/english/isengard_events_l_english.yml index 3ff3f5a7b..224c3a5d4 100644 --- a/localisation/english/isengard_events_l_english.yml +++ b/localisation/english/isengard_events_l_english.yml @@ -25,4 +25,9 @@ isengard.11.b.tt:0 "The fellowship will safely cross the Misty Mountains, bypass isengard.12.t:0 "[From.GetName] suggests a alliance" isengard.12.d:0 "[From.LeaderName] claims to have regained his power in Angmar. Saying that to conquer Middle-Earth once more they should work together. " isengard.12.a:0 "Agreed" -isengard.12.b:0 "We have other goals" \ No newline at end of file +isengard.12.b:0 "We have other goals" + +isengard.13.t:0 "Gondor requests hegemonic alliance" +isengard.13.d:0 ""A missive from Gondor reaches Isengard, proposing a significant alliance: to join the realm of Gondor as a vassal or fiefdom. The terms outline shared military cooperation and economic collaboration, promising stability and protection under the banner of Gondor." +isengard.13.a:0 "Agreed." +isengard.13.b:0 "Is this a joke?" \ No newline at end of file diff --git a/localisation/english/isengard_l_english.yml b/localisation/english/isengard_l_english.yml index 89b4e72c6..5f456c666 100644 --- a/localisation/english/isengard_l_english.yml +++ b/localisation/english/isengard_l_english.yml @@ -116,7 +116,7 @@ claimdominionoverenedwaith_desc:0 "The Dark Lord of Mordor must stand his armies quarrelwithrohan:0 "Quarrel with Rohan" quarrelwithrohan_desc:0 "it will begin in Rohan. They will step aside or be crushed under our heel." takethefordsofisen:0 "Take the Fords of Isen" -takethefordsofisen_desc:0 "With Rohan weakend and suffering from poor leadership, their lands are right for the taking." +takethefordsofisen_desc:0 "With Rohan weakened and suffering from poor leadership, their lands are right for the taking." establishorcbreedinggrounds:0 "Establish Orc Breeding Grounds" establishorcbreedinggrounds_desc:0 "" givetheringtosauron:0 "Give the Ring to Sauron" diff --git a/localisation/english/ithilien_crisis_l_english.yml b/localisation/english/ithilien_crisis_l_english.yml new file mode 100644 index 000000000..3b5d893ad --- /dev/null +++ b/localisation/english/ithilien_crisis_l_english.yml @@ -0,0 +1,123 @@ +l_english: +ithilien_crisis_decisions_category:0 "The Ithilien Crisis" + +encroach_on_ithilien:0 "Encroach on Ithilien" +encroach_on_ithilien_desc:0 "The realm of Gondor stands alone in a moment of weakness. By applying pressure to the territories of Ithilien, we may secure control over them without escalating things to an all-out conflict." +escalate_the_attacks:0 "Escalate the Attacks" +escalate_the_attacks_desc:0 "Gondor's grip on Ithilien is loosening. The time has come to turn up the heat." +second_wave:0 "The Second Wave" +second_wave_desc:0 "Under our unrelenting tenacity, the territories of Ithilien will fall." + +ithc_contest_state_MOR:0 "Contest [FROM.GetName]" +ithc_contest_state_MOR_desc:0 "The realm of Gondor stands alone in a moment of weakness. By applying pressure to the territories of Ithilien, we may secure control over them without escalating things to an all-out conflict." +ithc_contest_state_GON:0 "Mordor contesting [FROM.GetName]" +ithc_contest_state_GON_desc:0 "Mordor seeks to reap benefits at our expense. Their orcs will swarm the lands of [FROM.GetName] unless we stop them!" +ithc_is_contesting_state:0 "Mordor is currently contesting a state in Ithilien" +ithc_ithilien_crisis_commenced:0 "The Ithilien crisis is active" +ithc_pillage_enable_new_decision_tt:0 "Unlock §YRaiding§! decision in [FROM.GetName]\n" +ithc_contest_state_GON_tt:0 "Mordor will unlock a decision to §Rraid§! [FROM.GetName]." + +GON_ithilien_crisis:0 "The Ithilien Crisis" +GON_ithilien_crisis_desc:0 "A twilight has set over the state of Ithilien. The eye casts its dark gaze upon our lands and orc raids are disrupting the peace in the countryside." +GON_ithc_emergency_measures:0 "Enact Emergency Measures" +GON_ithc_emergency_measures_desc:0 "The situation in Ithilien has become untenable. Strong measures must be enacted to contain the growing threat looming from Mordor." +GON_ithc_hold_firm:0 "Hold Firm" +GON_ithc_hold_firm_desc:0 "We will not abandon Ithilien, but remain steadfast to the last!" +GON_ithc_evacuate:0 "Evacuate the Population" +GON_ithc_evacuate_desc:0 "It may be best to safeguard Ithilien's population and riches by relocating them somewhere safer." + +ithilien_crisis_tt:0 "Unlock decisions allowing us to decrease the §Yraid level§! of contested states in Ithilien." +ithc_evacuate_tt:0 "Unlock decisions allowing us to relocate population and industry from raided Ithilien states." + +ithc_commence_ithilien_crisis_tt:0 "Unlocks §YIthilien Crisis§! decisions that allow us to diminish Gondor's control over Ithilien." + +ithc_state_tt:0 "Mordor can §Rraid§! contested states if they have a higher §Ypower projection§! over it. If the §Rraid level§! of a state reaches 4, Mordor will annex it." + +ithc_spawn_divisions_onwar_tt:0 "§RMordor will spawn three divisions in this state when war breaks out.§!" + +ithc.1.t:0 "The Ithilien Crisis" +ithc.1.d:0 "The orcs of Mordor have set their sights on our territories east of the Anduin! They will launch powerful sorties and covert subversions from across the border. If these raids reach a critical point, our territories may fall into enemy hands!" +ithc.1.a:0 "Time is of the essence! These raids must seize at once!" +ithc.1.b:0 "We can endure minor harm. We should focus on the long-term well-being of Ithilien." + +ithc.2.t:0 "Ithilien Raids" +ithc.2.d:0 "Gondor quakes as the shadow of Mordor is cast over Ithilien. We may now launch powerful sorties or covert subversions into Gondor's territories east of the Anduin. If our raids reach critical mass, we may seize the territories for ourselves!" +ithc.2.a:0 "Bring them down with a whirlwind assault!" +ithc.2.b:0 "Let them bleed slowly. Wear them down over the long-term." + +ithc.3.t:0 "Escalating Ithilien Raids" +ithc.3.d:0 "The realm of Gondor trembles under our wrath. The time has come to escalate our raids into Ithilien. What shall be our strategy?" +ithc.3.a:0 "Focus on the northern territories." +ithc.3.c:0 "Focus on the southern territories." +ithc.3.b:0 "Focus on the territories in the center." +ithc.3.q:0 "Their doom is close at hand." + +ithc.4.t:0 "Ithilien Raids: Emergency Measures" +ithc.4.d:0 "Orc raids from Mordor have harassed and devastated our territories in Ithilien. The time has come to enact emergency measures to keep the peace. Where should be place our focus?" +ithc.4.a:0 "Focus on the northern territories." +ithc.4.b:0 "Focus on the territories in the center" +ithc.4.c:0 "Focus on the southern territories." +ithc.4.q:0 "We must try to hold what we still have." + +ithc_pillage_modifier_1:0 "Orc Raids (Level 1)" +ithc_pillage_modifier_1_desc:0 "Brutal orc raids are disrupting this country and devastating its villages." +ithc_pillage_modifier_2:0 "Orc Raids (Level 2)" +ithc_pillage_modifier_2_desc:0 "Brutal orc raids are disrupting this country and devastating its villages." +ithc_pillage_modifier_3:0 "Orc Raids (Level 3)" +ithc_pillage_modifier_3_desc:0 "Brutal orc raids are disrupting this country and devastating its villages." + +ithc_set_vars_short_term_tt:0 "Immediately gain §G+30§! §Ypower projection§! over all states in Ithilien, loose §R-1§! every month." +ithc_set_vars_long_term_tt:0 "Gain §G+1§! §Ypower projection§! over all states in Ithilien every month, up to a maximum of §G+30§!." + +ithc_pillage_state:0 "Raid [FROM.GetName]" +ithc_pillage_state_desc:0 "The bloodlust among our ranks is boiling. With sufficient power projection, we shall have all that is valuable in [FROM.GetName]!" +ithc_pillage_state_GON:0 "Mordor raiding [FROM.GetName]" +ithc_pillage_state_GON_desc:0 "A horde of orcs have streamed past the border into the lands of [FROM.GetName] and are causing havoc among our garrison!" +ithc_unpillage_state:0 "Restore Order in [FROM.GetName]" +ithc_unpillage_state_desc:0 "[FROM.GetName] has recently been devastated by a raid of Mordor orcs. With sufficient power projection over the state, we could restore our control over it." +ithc_unpillage_state_MOR:0 "Gondor restoring Order in [FROM.GetName]" +ithc_unpillage_state_MOR_desc:0 "Gondor is restoring order in [FROM.GetName] anhd undoing much of the damage our raids have done." +ithc_evacuate_state_GON:0 "Evacuate [FROM.GetName]" +ithc_evacuate_state_GON_desc:0 "[FROM.GetName] lies in peril. It may be best to safeguard the population and its riches by relocating them somewhere else." + +ithc_increase_pillage_tt:0 "Increase the §Rraid level§! of this state by §R+1§!.\n" +ithc_decrease_pillage_tt:0 "Decrease the §Rraid level§! of this state by §G-1§!.\n" + +mordor_gondor_war:0 "Mordor and Gondor have been at war with one another" +ithc_state_can_annex_tt:0 "This states §RPillage§! level is higher than 2." +ithc_contested:0 "Control over this state is contested by Mordor." + +ithc_state_1_tt:0 "[!state_1_tt_click]" +ithc_state_2_tt:0 "[!state_2_tt_click]" +ithc_state_3_tt:0 "[!state_3_tt_click]" +ithc_state_4_tt:0 "[!state_4_tt_click]" + +ithc_state_tt_gon:0 "§YGondor§! has full control over this state." +ithc_state_tt_mix:0 "Being contested by §YMordor§!.\nCurrent §ORaid Level:§! §R[?PREV.ithc_pillage_level]§!" +ithc_state_tt_mor:0 "§YMordor§! has full control over this state." + +ithc_state_1_tt_e:0 "[22.GetStateTooltip]\n\n$ithc_state_tt$" +ithc_state_2_tt_e:0 "[173.GetStateTooltip]\n\n$ithc_state_tt$" +ithc_state_3_tt_e:0 "[175.GetStateTooltip]\n\n$ithc_state_tt$" +ithc_state_4_tt_e:0 "[135.GetStateTooltip]\n\n$ithc_state_tt$" + +increase_power_projection_in_state_tt:0 "Increase §Ypower projection§! over state by §G+15§!." +increase_power_projection_overall_tt:0 "Increase §Ypower projection§! in all Ithlien states by §G+10§!." + +decrease_ithc_pp_cost_tt:0 "Decrease the cost of §YIthilien Crisis§! decisions by §G-50§! £pol_power£. " + +ithc_focus_cooldown:0 "§Y90§! days have passed since we completed our last §YIthilien Crisis§! focus." + +ithc_has_higher_power_projection_MOR_tt:0 "\nHas higher §Ypower projection§! over §Y[PREV.GetName]§! than §Y[GON.GetName]§!.\n\nCurrent power projection:" +ithc_has_higher_power_projection_GON_tt:0 "\nHas higher §Ypower projection§! over §Y[PREV.GetName]§! than §Y[MOR.GetName]§!.\n\nCurrent power projection:" + +ithc_pillage_operation:0 "A country is pillaging or restoring order in this state." +ithc_situation_critical_tt:0 "§RIf Mordor launches another raid on this state, it will be annexed.§!" + +ithc_power_projection_MOR_good_tt:0 " [?mtth:ithc_pp_total_MOR|0+]\n [?mtth:ithc_pp_war_support|0=+] from country war support\n [?mtth:ithc_pp_stability|0=+] from country stability\n [?mtth:ithc_pp_industry|0=+] from overall country industry\n [?mtth:ithc_pp_planes_nearby_mor|0=+] from fellbeasts stationed nearby\n [?mtth:ithc_manpower_deployed_nearby_mor|0=+] from divisions deployed in bordering states\n [?mtth:ithc_from_focus|0=+] from focuses and events" + +ithc_power_projection_GON_good_tt:0 " [?mtth:ithc_pp_total_GON|0+]\n \n [?mtth:ithc_pp_war_support|0=+] from country war support\n [?mtth:ithc_pp_stability|0=+] from country stability\n [?mtth:ithc_pp_industry|0=+] from overall country industry\n [?mtth:ithc_pp_pillage_level|0=+] from state raid level\n [?mtth:ithc_pp_forts|0=+] from forts in state\n [?mtth:ithc_pp_planes_in_region_gon|0=+] from eagles stationed in state\n [?mtth:ithc_manpower_deployed_in_state_gon|0=+] from divisions deployed in state\n [?mtth:ithc_from_focus|0=+] from focuses and events" + +ithc_power_projection_MOR_evil_tt:0 " [?mtth:ithc_pp_total_MOR|0-]\n [?mtth:ithc_pp_war_support|0=-] from country war support\n [?mtth:ithc_pp_stability|0=-] from country stability\n [?mtth:ithc_pp_industry|0=-] from overall country industry\n [?mtth:ithc_pp_planes_nearby_mor|0=-] from fellbeasts stationed nearby\n [?mtth:ithc_manpower_deployed_nearby_mor|0=-] from divisions deployed in bordering states\n [?mtth:ithc_from_focus|0=-] from focuses and events" + +ithc_power_projection_GON_evil_tt:0 " [?mtth:ithc_pp_total_GON|0-]\n [?mtth:ithc_pp_war_support|0=-] from country war support\n [?mtth:ithc_pp_stability|0=-] from country stability\n [?mtth:ithc_pp_industry|0=-] from overall country industry\n [?mtth:ithc_pp_pillage_level|0=-] from state raid level\n [?mtth:ithc_pp_forts|0=-] from forts in state\n [?mtth:ithc_pp_planes_in_region_gon|0=-] from eagles stationed in state\n [?mtth:ithc_manpower_deployed_in_state_gon|0=-] from divisions deployed in state\n [?mtth:ithc_from_focus|0=-] from focuses and events" diff --git a/localisation/english/lothlorien/celebration_events_l_english.yml b/localisation/english/lothlorien/celebration_events_l_english.yml new file mode 100644 index 000000000..66a535e2f --- /dev/null +++ b/localisation/english/lothlorien/celebration_events_l_english.yml @@ -0,0 +1,648 @@ +l_english: + +celebrations.1.t:0 "Public Celebrations Commence" +celebrations.1.d:0 "Amidst the encroaching darkness of the world around us, our people will enjoy several well-deserved weeks of public celebrations, mirth and unity. \n\nYet one question remains: What historic event should these celebrations be dedicated to?" +celebrations.1.a:0 "Let us commemorate the fall of Gondolin." +celebrations.1.b:0 "Let us commemorate the fall of Doriath." +celebrations.1.c:0 "Let us commemorate the years of the Tree and the first elves of Middle-Earth." +############# +celebrations.11.t:0 "Sindar demand to be represented in the celebrations" +celebrations.11.d:0 "The last days of festivities have brought much-needed joy to our weary population. The fall of Gondolin has been commemorated through a sublime display of commisioned artwork and historic recitations.\n\nUnfortunately, some members of our enclave have expressed dissatisfaction with the event being dedicated exclusively to Ñoldor legends and history.\n\nIn particular, members of the Sindar faction have requested to shift the celebration's focus away from Gondolin and onto elvendom as a whole." +celebrations.11.a:0 "They will get a separate festival... 'later'." +celebrations.11.b:0 "We should include Sindar legends as well." +celebrations.11.c:0 "We should ensure that *all* elven groups are appropriately celebrated." +############# +celebrations.111.t:0 "Members of the Ñoldor faction wish to hold a fencing tournament" +celebrations.111.d:0 "Despite the misgivings of thos dissatisfied with the event's Noldorin focus, the celebrations have proceeded well.\n\nFor the closing days of the festivities, certain influential Ñoldorins wish to organize a fencing tournament to highlight A Ñoldor's prowess in battle." +celebrations.111.a:0 "Just make sure nobody gets hurt." +celebrations.111.b:0 "Make sure the tournament isn't just for the Ñoldor." +celebrations.111.c:0 "The celebrations were not assembled to witness a violent display of this kind." +############# +celebrations.1111.t:0 "Celebrations coming to a close" +celebrations.1111.d:0 "After several weeks of fun and leisure, the public celebrations are finally coming to an end. To the annoyance of other groups, the festivities have been distinctly centered on the history an achievments of the Ñoldor, crowned by a great tournament between our best Ñoldorin warriors, which was won by the legendary Tarborn.\n\nIt is customary to conclude such an event with a speech by one of our public leaders. Who should it be?" +celebrations.1111.a:0 "Let lady Galadriel hold a speech." +celebrations.1111.b:0 "Celeborn. It is only sensible that the Lord of Lothlórien should speak to his people." +celebrations.1111.c:0 "Tarborn! Let the tournament champion speak." +############# +celebrations.1112.t:0 "Celebrations coming to a close" +celebrations.1112.d:0 "After several weeks of fun and leisure, the public celebrations are finally coming to an end. To the annoyance of other groups, the festivities have been distinctly centered on the history an achievments of the Ñoldor.\n\nThough the Nandor and Sindar warrior classes have expressed gratitude to be included into the great tournament, which was won by our beloved Nandor marchwarden, Orophin.\n\nIt is customary to conclude such an event with a speech by one of our public leaders. Who should it be?" +celebrations.1112.a:0 "Let lady Galadriel hold a speech." +celebrations.1112.b:0 "Celeborn. It is only sensible that the Lord of Lothlórien should speak to his people." +celebrations.1112.c:0 "Orophin! Let the tournament champion speak." +############# +celebrations.1113.t:0 "Celebrations coming to a close" +celebrations.1113.d:0 "After several weeks of fun and leisure, the public celebrations are finally coming to an end.\n\nUnfortunately, the consensus among our people is that they were distinctly underwhelming, due to the tournament being cancelled. The Sindar and Nandor in particular have voiced concerns with the festivities being centered around the small minory of Ñoldor in our enclave.\n\nWhat should be done to usher in a harmonious ending to these festive weeks?" +celebrations.1113.a:0 "We should have a great feast to bring everyone together." +celebrations.1113.b:0 "A public speech by our Ñoldor princess, Galadriel." +celebrations.1113.c:0 "The celebrations are about the fall of Gondolin. We will have a musical performance to commemorate this tragic event." +############# +celebrations.112.t:0 "Horse race" +celebrations.112.d:0 "The last weeks of festivities have proceeded smoothly. The Sindar are greatful to be included in this historic commemoration.\n\nOur stablemaster, Lainadan, has proposed holding a public horse-race between our best Sindar and Ñoldor jockeys. The common people appear excited at this idea." +celebrations.112.a:0 "Fine. (Just make sure the Ñoldor jockey wins...)" +celebrations.112.b:0 "This is a great idea. Let the best rider win." +celebrations.112.c:0 "There will be no race. This would only exasperate tensions." +############# +celebrations.1121.t:0 "Celebrations coming to a close" +celebrations.1121.d:0 "After several weeks of fun and leisure, the public celebrations are finally coming to an end.\n\nThe public horse-race was handily won by our finest Ñoldorin rider, leading to concerning rumors of race-fixing among the Sindar populus." +celebrations.1121.a:0 "Let's just bring these celebrations to an end. The Sindar will forget about this soon enough." +celebrations.1121.b:0 "Race-fixing? An absurd proposition! The Sindar just can't take loosing very well." +celebrations.1121.c:0 "We should come clean on our involvement." +############# +celebrations.1122.t:0 "Celebrations coming to a close" +celebrations.1122.d:0 "After several weeks of fun and leisure, the public celebrations are finally coming to an end.\n\nIn particular, the public horse-race proved to be highly popular. After a close contest, our best Sindar rider came out victorious.\n\nMany Ñoldor are miffed at being beaten at their own tournament on a celebration of Gondolin, but many Nandor are happy with seeing their arrogance tempered for once.\n\nIt is customary to conclude such an event with a speech by one of our public leaders. Who should it be?" +celebrations.1122.a:0 "The victorious Sindar rider should hold a speech!" +celebrations.1122.b:0 "Let lady Galadriel hold a speech." +celebrations.1122.c:0 "Celeborn. It is only sensible that the Lord of Lothlórien should speak to his people." +############# +celebrations.1123.t:0 "Celebrations coming to a close" +celebrations.1123.d:0 "After several weeks of fun and leisure, the public celebrations are finally coming to an end.\n\nUnfortunately, the cancellation of the horse-race has led to increased tensions among Sindar and Ñoldor. Several unofficial races have taken place with very mixed results, and many accusations of sabotage.\n\nAmidst this athomsphere of tension, what should be done on the closing days of the celebrations?" +celebrations.1123.a:0 "Let's calm things down with a great feast in the heart of Lothlórien." +celebrations.1123.b:0 "Our leaders should hold closing speeches, highlighting the imperatives of unity among our people." +celebrations.1123.c:0 "Blame this on the Sindar insisting on being included in festivitites celebrating a Ñoldorin tale." +############# +celebrations.113.t:0 "Dignitaries from Mirkwood and Rivendell expect invitations" +celebrations.113.d:0 "The last few weeks of celebrations have been proven to be a great moment of unity and leisure. Elves of all backgrounds coming together in these times of troubles to celebrate the historic glory of Gondolin.\n\nSo much so, that the festivities have cought the eye of our borthers and sisters in Mirkwood and Rivendell. Several influential elven figures have expressed interest in joining the celebrations." +celebrations.113.a:0 "This festival is for the people of Lothlórien, not Rivendell or Mirkwood." +celebrations.113.b:0 "They are very welcome to join us." +celebrations.113.c:0 "We should send out some invitations to Rohan and Erebor too!" +############# +celebrations.1132.t:0 "Celebrations coming to a close" +celebrations.1132.d:0 "After several weeks of fun and leisure, the public celebrations are finally coming to an end.\n\nAfter being joined by our peers from Mirkwood and Rivendell, the day has been heralded as a 'day of elven unity'.\n\nUnfortunately, the initially intended purpose of commemorating the fall of Gondolin was significantly neglected, leading to the Ñoldor voicing some dissatisfaction.\n\nIt is customary to conclude such an event with a speech by one of our public leaders. Who should it be?" +celebrations.1132.a:0 "We should hold a joint diction with our friends from Mirkwood and Rivendell." +celebrations.1132.b:0 "Placate the Ñoldor by having Galadriel hold a speech on Gondolin." +celebrations.1132.c:0 "Celeborn. It is only sensible that the Lord of Lothlórien should speak to his people." +############# +celebrations.1131.t:0 "Celebrations coming to a close" +celebrations.1131.d:0 "After several weeks of fun and leisure, the public celebrations are finally coming to an end.\n\nThe festivities have been very well received among our people, despite some complaints from Elrond and Thranduil.\n\nIt is customary to conclude such an event with a speech by one of our public leaders. Who should it be?" +celebrations.1131.a:0 "Let lady Galadriel hold a speech." +celebrations.1131.b:0 "Celeborn. It is only sensible that the Lord of Lothlórien should speak to his people." +celebrations.1131.c:0 "There's no need for a speech" +############# +celebrations.1133.t:0 "Celebrations coming to a close" +celebrations.1133.d:0 "After several weeks of fun and leisure, the public celebrations are finally coming to an end.\n\nUnfortunately, the Mirkwood elves and dwarves of Erebor have hijacked the festivities to jump at each other's throats and fight over their political differences." +celebrations.1133.a:0 "Kick the dwarves out. There is no place for violence here." +celebrations.1133.b:0 "The Mirkwood elves need to learn respect for outsiders." +celebrations.1133.c:0 "Try to keep them in separate places for the remainder of the celebrations." +############# +celebrations.12.t:0 "Celebrating Doriath: Choosing a themes for the Parade" +celebrations.12.d:0 "The opening days of the celebrations have brought jubilation and a sense of unity among our people. Now, as we plan for the grand parade with commissioned paintings and songs, a crucial decision awaits.\n\nWhat central message should we convey through this artistic spectacle?" +celebrations.12.a:0 "Highlight the Rising Darkness: Portray Mordor's shadow and its parallels to the fall of Doriath." +celebrations.12.b:0 "Reminisce Old Elven Glory: Celebrate the feats of our forebears and their legendary achievements." +celebrations.12.c:0 "No particular message. Let's focus on having fun." +############# +celebrations.121.t:0 "The people fearful of the rising power of Mordor" +celebrations.121.d:0 "The celebratory parade showcasing the shadow of Mordor alongside the fall of Doriath has sparked a mixture of emotions within our people.\n\nA sense of impending doom hovers over some, triggering fears that Lothlórien's fate might mirror that of Doriath.\n\nAs we gauge these sentiments, a decision must be made on how to address the underlying apprehensions." +celebrations.121.a:0 "Soothe their feary by redirecting focus towards the ongoing departures to Valinor." +celebrations.121.b:0 "Dark times lie ahead. Emphasize our need to fight this evil." +celebrations.121.c:0 "This is the time for party, not fear." +############# +celebrations.1211.t:0 "Celebrations coming to a close" +celebrations.1211.d:0 "As the celebrations draw to a close, the renewed focus on Valinor has inspired a decision to bid a grand farewell to a group of departing elves, symbolizing our commitment to the journey to the Undying Lands.\n\nThe question now arises: which of our esteemed elven kindreds should we send on their way, carrying the spirit of Lothlórien to Valinor?" +celebrations.1211.a:0 "Send Forth the Ñoldor" +celebrations.1211.b:0 "Bid Adieu to the Sindar" +celebrations.1211.c:0 "Embrace the Nandor in Farewell" +############# +celebrations.1212.t:0 "Celebrations coming to a close" +celebrations.1212.d:0 "As the celebrations near their conclusion, a disquieting sense of impending doom has lingered. So much so, that radical Ñoldor cliques advocating for remilitarization have emerged among the populance.\n\nIn this pivotal moment, we must choose a closing activity that addresses the prevailing uncertainty and channels our resolve to face the shadows." +celebrations.1212.a:0 "Arrange a parade featuring our finest warriors, showcasing their strength and unity as a testament to our readiness." +celebrations.1212.b:0 "Lord Celeborn has fought against Sauron before. He should hold an inspiring speech." +celebrations.1212.c:0 "A display of fireworks should lighten the mood." +############# +celebrations.1213.t:0 "Celebrations coming to a close" +celebrations.1213.d:0 "As the celebrations approach their conclusion, a palpable sense of euphoria envelops the attendees, evoking the feeling of a final celebration in the face of an uncertain future. \n\nWith this spirited atmosphere in mind, a decision must be made regarding the closing remarks that will leave a lasting impression." +celebrations.1213.a:0 "Have Galadriel's soothing voice calm them down." +celebrations.1213.b:0 "Celeborn will let assure them that everything is under control." +celebrations.1213.c:0 "Shoot out some fireworks! Let's enjoy this world while it lasts!" +############# +celebrations.122.t:0 "Rising tensions among factions" +celebrations.122.d:0 "The ongoing celebrations have been met with success, yet centering them around the idea of reminiscing past glories has inadvertently stirred tensions among the elven factions.\n\nSome factions contend that the intermingling of different elven groups has contributed to the end of our glorious past. " +celebrations.122.a:0 "Purity of heritage is important. Seggragate the factions and let them celebrate their distinct cultures separately." +celebrations.122.b:0 "We should embrace our diversity through a common dance." +celebrations.122.c:0 "Let them fight it out in a tournament! One chamption from each faction." +############# +celebrations.1221.t:0 "Celebrations coming to a close" +celebrations.1221.d:0 "As the celebrations reach their culmination, all factions find themselves content yet more segregated than before.\n\nTo honor the collective heritage while acknowledging the individual paths, it's been decided to organize a shared feast. \n\nHow should the seats be arranged?" +celebrations.1221.a:0 "A large round table to bring everyone together." +celebrations.1221.b:0 "The celebration is about Doriath. Put the Sindar at the head of the table." +celebrations.1221.c:0 "Separate tables for each group. We don't want any incidents occuring." +############# +celebrations.1222.t:0 "Celebrations coming to a close" +celebrations.1222.d:0 "As the celebrations near their conclusion, a sense of discontent has emerged among the Sindar, who feel that the original purpose of commemorating Doriath has been overshadowed by the commotion.\n\nIt is customary to conclude such an event with a speech by one of our public leaders. Who should it be?" +celebrations.1222.a:0 "Let lady Galadriel hold a speech." +celebrations.1222.b:0 "Celeborn. It is only sensible that the Lord of Lothlórien should speak to his people." +celebrations.1222.c:0 "No speeches, let the tensions ease up." +############# +celebrations.1223.t:0 "Celebrations coming to a close" +celebrations.1223.d:0 "The celebrations are reaching their conclusions.\n\nIn a massive upset, the tournament was won by a mostly unknown half-elf, defying all predictions.\n\nIn light of this surprising achievement, a decision must be made on how to wrap up the festivities." +celebrations.1223.a:0 "Bring all champions up to stage and honor their valor." +celebrations.1223.b:0 "The half-elf deserves praise. Give him a trophy." +celebrations.1223.c:0 "Half-Elf aside, the Ñoldorin came in second. Celebrate his victory over the Sindar." +############# +celebrations.123.t:0 "Sindar wish to perform a re-enactment" +celebrations.123.d:0 "With the celebrations having unfolded in high spirits, the Sindar have expressed a desire to hold a re-enactment or play depicting the fall of Doriath." +celebrations.123.a:0 "Re-enactment? I'll do you one better: Let's have a tournament!" +celebrations.123.b:0 "This is a great idea!" +celebrations.123.c:0 "Let's not do this." +############# +celebrations.1231.t:0 "Celebrations coming to a close" +celebrations.1231.d:0 "As the celebrations reach their conclusion, a Nandor fighter has emerged as the tournament champion, achieving an unexpected victory that has caught the attention of the Sindar. Several Sindar elves have expressed dissatisfaction with being overshadowed at a festival commemorating their history.\n\nWhich should be our final act to wrap up this festival?" +celebrations.1231.a:0 "The Nandor champion fought well. Give him a trophy." +celebrations.1231.b:0 "Try to liken the champion to the valiant defenders of Doriath." +celebrations.1231.c:0 "Let's pretend this tournament never happened..." +############# +celebrations.1232.t:0 "Celebrations coming to a close" +celebrations.1232.d:0 "As the celebrations draw to an end, the re-enactment play held by the Sindar has inadvertently cast shadows on the Noldor, portraying the Oath of Feanor in a negative light.\n\nIt is now time for the closing speech. Who should hold it?" +celebrations.1232.a:0 "Let lady Galadriel hold a speech." +celebrations.1232.b:0 "Celeborn. It is only sensible that the Lord of Lothlórien should speak to his people." +celebrations.1232.c:0 "Let a commoner from the crowd speak." +############# +celebrations.1233.t:0 "Celebrations coming to a close" +celebrations.1233.d:0 "As the celebrations conclude, a prevailing sentiment emerges that the festivities fell short of expectations. \n\nThe cancellation of the Sindar re-enactment in particular contributed to that group feeling disenfranchised with their leadership.\n\nWhat should be our closing remarks to wrap up this festival?" +celebrations.1233.a:0 "Have Celeborn speak on the history of Doriath." +celebrations.1233.b:0 "The Sindar must learn to be more humble. Let's have fun with a feast and fireworks!" +celebrations.1233.c:0 "Galadriel could offer an apology to the Sindar." +############# +celebrations.13.t:0 "Selecting a Musical Performance" +celebrations.13.d:0 "The celebrations have progressed harmoniously and the focus on commemorating the first elves of Middle-Earth has fostered new-found unity among our people.\n\nThe time has come for a musical performance to enrich the festivities. A decision must be made regarding the song that will be performed." +celebrations.13.a:0 "A Nandor ballad, The Song of Nimrodel." +celebrations.13.b:0 "A Sindarin classic, Elbereth Githoniel." +celebrations.13.c:0 "A Ñoldor song on the fall of Gil-Galad" +############# +celebrations.131.t:0 "Organizing an Uplifting Activity" +celebrations.131.d:0 "As the celebrations progress, the Song of Nimrodel's melancholic tones have inadvertently cast a somewhat somber atmosphere over the Golden Wood.\n\nTo counter this effect and restore the celebratory spirit, a decision must be made on how to organize an activity that will uplift the mood and renew the sense of unity and joy." +celebrations.131.a:0 "We should have a group pilgrimage through the Golden Wood." +celebrations.131.b:0 "How about an Archery tournament?" +celebrations.131.c:0 "Let's keep things calm and quiet." +############# +celebrations.1311.t:0 "Celebrations coming to a close" +celebrations.1311.d:0 "The celebrations are reaching their conclusion.\n\nThe pilgrimage through the Golden Wood proved to be a great success, aligned with the theme of commemorating the first elves and deepening the sense of unity among the participants. \n\nNow, a decision must be made on who should deliver the closing speech." +celebrations.1311.a:0 "Let lady Galadriel hold a speech." +celebrations.1311.b:0 "Celeborn. It is only sensible that the Lord of Lothlórien should speak to his people." +celebrations.1311.c:0 "Haldir, the marchwarden of Lothlórien." +############# +celebrations.1312.t:0 "Celebrations coming to a close" +celebrations.1312.d:0 "The celebrations are nearing their end.\n\nThe Archery tournament has garnered enthusiastic response, with the victorious Sindar longbow archer demonstrating remarkable accuracy by splitting four arrows on the bullseye. \n\nNow, the moment has arrived to determine the grand finale of the festivities." +celebrations.1312.a:0 "We should award the archery champion a specially crafted bow, and ephasize his battle-skill." +celebrations.1312.b:0 "That's enough on war, let's celebrate the theme of these festivities: the first elves." +celebrations.1312.c:0 "We should have another performance of the Song of Nimrodel." +############# +celebrations.1313.t:0 "Celebrations coming to a close" +celebrations.1313.d:0 "As the celebrations approach their conclusion, a melancholic mood has enveloped the air, stemming from a deep nostalgia for the bygone eras that can never be reclaimed.\n\nIn light of this atmosphere, a decision must be made on the theme of the final address, a speech that will provide attendees with a perspective that navigates the bittersweet emotions and ushers them towards the conclusion of the festivities." +celebrations.1313.a:0 "We should speak on our future in Valinor, and elven enternity." +celebrations.1313.b:0 "Focus on the unrelenting elven fighting spirit." +celebrations.1313.c:0 "Emphasize the greatness of our silver enclave, which has been our home for many centuries." +############# +celebrations.132.t:0 "Festivities interrupted by a fire!" +celebrations.132.d:0 "Amidst the successful festivities, a sudden fire has erupted, consuming the homes of many elves, primarily affecting the Nandor community.\n\nThe fires are under control now, but many homes have been destroyed. How shall we respond?" +celebrations.132.a:0 "It's time for solidarity. The rich Ñoldor should provide temporary housing to those affected." +celebrations.132.b:0 "Cancel the celebrations immediately. Let's deal with this crisis directly." +celebrations.132.c:0 "The Nandor can solve this problem themselves." +############# +celebrations.1321.t:0 "Celebrations coming to a close" +celebrations.1321.d:0 "As the festivities come to an end, the Nandor express gratitude for the assistance received during the crisis.\n\nHowever, the Ñoldor community seeks compensation for their generous efforts." +celebrations.1321.a:0 "We will make sure to publicly praise their efforts." +celebrations.1321.b:0 "They will be handsomely rewarded." +celebrations.1321.c:0 "They have it good enough already." +############# +celebrations.1322.t:0 "Rebuilding the Nandor homes" +celebrations.1322.d:0 "Rebuilding efforts progress successfully, but the general population has voiced discontent at the cancellation of the celebrations." +celebrations.1322.a:0 "Too bad." +celebrations.1322.b:0 "Once the houses are rebuilt, we shall have a great feast. At equally great cost." +celebrations.1322.c:0 "Dark times lie ahead of us. Let this be a taste." +############# +celebrations.1323.t:0 "Celebrations coming to a close" +celebrations.1323.d:0 "Despite the fire, the celebrations have moved ahead and are now nearing their conclusion.\n\nIt is apparent that the Nandor affected by the fire is highly discontent due to the apparent neglect. The festivities have predominantly been enjoyed by a small minority of Noldor and Sindar attendees. \n\nIn light of this situation, a decision must be made on how to wrap up the celebrations while addressing the feelings of discontented." +celebrations.1323.a:0 "Well, at least someone had fun." +celebrations.1323.b:0 "We should conclude the celebrations with a public charity drive to help those affected." +celebrations.1323.c:0 "The Sindar and Ñoldor should pay for some of the damage." +############# +celebrations.133.t:0 "The song of Gil-Galad deemed inappropriate" +celebrations.133.d:0 "As the celebrations proceed successfully, some elves, particularly Sindar, have raised concerns regarding the choice of the song 'Gil-Galad was an Elven King'.\n\nThey deem it inappropriate to celebrate a recently passed Ñoldor king in light of the focus on celebrating the first elves.\n\nA decision must be made on how to address this matter while ensuring that the festivities align with their intended theme." +celebrations.133.a:0 "Gil-Galad was the High King of the Eldar. It is not 'inappropriate'." +celebrations.133.b:0 "They are right. We should perform some historical recitations to connect Gil-Galad to the first elves." +celebrations.133.c:0 "We should honor other great elves as well. Such as Melian and Elu Thingol." +############# +celebrations.1331.t:0 "Celebrations coming to a close" +celebrations.1331.d:0 "The celebrations are drawing to a close.\n\nThere's a distinct Nandor majorty who has expressed complaints at the unnecessary inclusion of Ñoldor and Gil-Galad in a festival focused on the first elves. \n\nA decision must be made on how to conclude the festivities diplomatically." +celebrations.1331.a:0 "Let lady Galadriel hold a speech." +celebrations.1331.b:0 "Celeborn. It is only sensible that the Lord of Lothlórien should speak to his people." +celebrations.1331.c:0 "Haldir, the marchwarden of Lothlórien should speak to them." +############# +celebrations.1332.t:0 "Celebrations coming to a close" +celebrations.1332.d:0 "The celebrations are coming to a close and have been generally well received.\n\nHowever, the focus on elven history has inadvertently led to the resurgence of bickering related to modern political divides among the elven factions. \n\nNow it is time for the closing words. Who should hold a speech, and on what?" +celebrations.1332.a:0 "Galadriel should highlight the continuity between the first elves, Gil-Galad and our present enclave." +celebrations.1332.b:0 "Celeborn should speak on the relation between the first elves, the kingdom of Doriath and our present." +celebrations.1332.c:0 "Highlight the connection to the Nandor settlers that established our enclave. Let Haldir speak." +############# +celebrations.1333.t:0 "Celebrations coming to a close" +celebrations.1333.d:0 "As the celebrations reach their conclusion and the attendees express their satisfaction, a decision must be made on how to wrap up the festivities in a joyful and memorable manner. \n\nThe final activity will serve as a festive farewell, leaving a positive and lasting impression on all who attended." +celebrations.1333.a:0 "A costume parade showcasing all the great elven legends." +celebrations.1333.b:0 "A common elven dance." +celebrations.1333.c:0 "A great feast in the center of Caras Galadhon." + +############# +celebrations.11111.t:0 "Celebrations Debrief" +celebrations.11111.d:0 "The festival has come to an end and with new-found vitality, the attendees are slowly returning to their regular lives.\n\nThe Ñoldor have been very satisfied with the celebrations. The tournament has revived their warrior spirits and given them new faith into their military leaders.\n\nOn the other hand, the Nandor and Sindar have voiced dissatisfaction at the blatant favoritism given to the Ñoldor, despite constituting only a small minorty in Lothlórien." +celebrations.11111.a:0 "They'll get over it." + +############# +celebrations.11112.t:0 "Celebrations Debrief" +celebrations.11112.d:0 "The festival has come to an end and with new-found vitality, the attendees are slowly returning to their regular lives.\n\nThe Ñoldor have been very satisfied with the celebrations. The tournament has revived their warrior spirits and given them new faith into their military leaders.\n\nOn the other hand, the Nandor and Sindar have voiced dissatisfaction at the blatant favoritism given to the Ñoldor, although Celeborn's speech at the end helped placate the Sindar to some degree." +celebrations.11112.a:0 "Back to work." + +############# +celebrations.11113.t:0 "Celebrations Debrief" +celebrations.11113.d:0 "The festival has come to an end and with new-found vitality, the attendees are slowly returning to their regular lives.\n\nThe Ñoldor have been very satisfied with the celebrations. The tournament has revived their warrior spirits and given them new faith into their military leaders.\n\nOn the other hand, the Nandor and Sindar have voiced dissatisfaction at the blatant favoritism given to the Ñoldor. The tournament winner did at least improve the situation, by dedicating his vicotry to his Nandor wife." +celebrations.11113.a:0 "Back to work." + +############# +celebrations.11121.t:0 "Celebrations Debrief" +celebrations.11121.d:0 "The festival has come to an end and with new-found vitality, the attendees are slowly returning to their regular lives.\n\nThe Ñoldor in particular have been very satisfied, coming out vicotrious in the fencing tournament, and being represented by Galadriel in her finalizing speech.\n\nThe Nandor and Sindar were somewhat disilusioned by the strong focus on Ñoldor legends and warriors, but appreciate being included in the tournament." +celebrations.11121.a:0 "Alright, back to work." + +############# +celebrations.11122.t:0 "Celebrations Debrief" +celebrations.11122.d:0 "The festival has come to an end and with new-found vitality, the attendees are slowly returning to their regular lives.\n\nThe Ñoldor in particular have been very satisfied, coming out vicotrious in the fencing tournament.\n\nThe Nandor and Sindar were somewhat disilusioned by the strong focus on Ñoldor legends and warriors, but appreciate being included in the tournament, as well as the all-inclusive speech given by Lord Celeborn." +celebrations.11122.a:0 "Back to work." + +############# +celebrations.11123.t:0 "Celebrations Debrief" +celebrations.11123.d:0 "The festival has come to an end and with new-found vitality, the attendees are slowly returning to their regular lives.\n\nThe Ñoldor in particular have been very satisfied, coming out vicotrious in the fencing tournament.\n\nThe tournament champion dedicated his victory to his young Nandor wife in his closing speech.\n\nUnfortunately, that was not quite enough to satisfy the Sindar, who were somewhat disilusioned by the strong focus on Ñoldor legends and warriors." +celebrations.11123.a:0 "They'll get over it." + +############# +celebrations.11131.t:0 "Celebrations Debrief" +celebrations.11131.d:0 "The festival has come to an end and with new-found vitality, the attendees are slowly returning to their regular lives.\n\nThe general consensus is that the festival was distinctly underwhelming. The Ñoldor, expecting a celebration in the honor of Gondolin, were miffed when they learned that their tournament would not take place.\n\nLuckily, the final great feast brought a sense of unity back into the fold." +celebrations.11131.a:0 "It was good while it lasted." + +############# +celebrations.11132.t:0 "Celebrations Debrief" +celebrations.11132.d:0 "The festival has come to an end and with new-found vitality, the attendees are slowly returning to their regular lives.\n\nThe general consensus is that the festival was distinctly underwhelming. The Sindar in particular have voiced discontent at the fesitval being centered around Ñoldor legends and stories, with even the final speech being given by the Ñoldor princess, Galadriel.\n\nUnfortunately, the Ñoldor themselves weren't particularly satisfied either, with their tournament being cancelled.\n\nBoth sides primarily blame the organizers for misshandling this unique occasion." +celebrations.11132.a:0 "Mistakes were made." + +############# +celebrations.11133.t:0 "Celebrations Debrief" +celebrations.11133.d:0 "The festival has come to an end and with new-found vitality, the attendees are slowly returning to their regular lives.\n\nThe general consensus is that the festival was distinctly underwhelming. The Sindar in particular have voiced discontent at the fesitval being centered around Ñoldor legends and stories, with even the final musical carrying a Ñoldor-centric message.\n\nUnfortunately, the Ñoldor themselves weren't particularly satisfied either, with their tournament being cancelled.\n\nBoth sides primarily blame the organizers for misshandling this unique occasion." +celebrations.11133.a:0 "Mistakes were made." + +############# +celebrations.11211.t:0 "Celebrations Debrief" +celebrations.11211.d:0 "The festival has come to an end and with new-found vitality, the attendees are slowly returning to their regular lives.\n\nWhilst the Ñoldor were generally satisfied with the handling of the festivities, the Sindar still cling to rumors of race-fixing." +celebrations.11211.a:0 "It was good while it lasted." + +############# +celebrations.11212.t:0 "Celebrations Debrief" +celebrations.11212.d:0 "The festival has come to an end and with new-found vitality, the attendees are slowly returning to their regular lives.\n\nWhilst the Ñoldor and Nandor were generally satisfied, the Sindar have voiced major complaints on the handling of the festivities.\n\nDespite the celebrations being in honor of their history, their accusations of race-fixing were ridiculed. Many Sindar have lost faith in leaders entirely." +celebrations.11212.a:0 "They will get over it..." + +############# +celebrations.11213.t:0 "Celebrations Debrief" +celebrations.11213.d:0 "The festival has come to an end and with new-found vitality, the attendees are slowly returning to their regular lives.\n\nWhilst the festival brought much needed joy and leisure to our people, the mood was rather undermined by the race-fixing scandal that arose in the final days.\n\nMost elves appreciate the transparency provided by their leaders, but the Sindar and Ñoldor blame each other for the scandal." +celebrations.11213.a:0 "Not the ending we hoped for." + +############# +celebrations.11221.t:0 "Celebrations Debrief" +celebrations.11221.d:0 "The festival has come to an end and with new-found vitality, the attendees are slowly returning to their regular lives.\n\nA sense of discontent has emerged among the Ñoldor, who feel that the original purpose of commemorating Gondolin was overshadowed by the Sindar vicotry in the horse race.\n\nThe rider champion dedicated his triumph to his Nandor wife, which lead to widespread jubilation among the Nandor commoners." +celebrations.11221.a:0 "It was good while it lasted." + +############# +celebrations.11222.t:0 "Celebrations Debrief" +celebrations.11222.d:0 "The festival has come to an end and with new-found vitality, the attendees are slowly returning to their regular lives.\n\nAll sides have expressed a general sense of satisfaction.\n\nDespite having lost the horse-race, the Ñoldor were glad by the encouraging words spoken by Galadriel in the final hours of the festivities." +celebrations.11222.a:0 "It was good while it lasted." + +############# +celebrations.11223.t:0 "Celebrations Debrief" +celebrations.11223.d:0 "The festival has come to an end and with new-found vitality, the attendees are slowly returning to their regular lives.\n\nA sense of discontent has emerged among the Ñoldor, who feel that the original purpose of commemorating Gondolin was overshadowed by the Sindar vicotry in the horse race.\n\nFurthermore, handing the final words to Lord Celeborn, a Sindar, has been taken as a personal insult by many." +celebrations.11223.a:0 "They will get over it." + +############# +celebrations.11231.t:0 "Celebrations Debrief" +celebrations.11231.d:0 "The festival has come to an end and with new-found vitality, the attendees are slowly returning to their regular lives.\n\nWhilst most people were disappointed in the cancellation of the horse-race, the final feast was well received and helped bridge the gap between Sindar and Ñoldor." +celebrations.11231.a:0 "It was good while it lasted." + +############# +celebrations.11232.t:0 "Celebrations Debrief" +celebrations.11232.d:0 "The festival has come to an end and with new-found vitality, the attendees are slowly returning to their regular lives.\n\nMany people were disappointed in the cancellation of the horse-race, and the final speech on elven unity was not well received.\n\nOverall, the consensus is one of utter disappointment." +celebrations.11232.a:0 "Mistakes were made." + +############# +celebrations.11233.t:0 "Celebrations Debrief" +celebrations.11233.d:0 "The festival has come to an end and with new-found vitality, the attendees are slowly returning to their regular lives.\n\nWhilst the Ñoldor and Nandor were generally satisfied, the Sindar have voiced major complaints on the handling of the festivities.\n\nThe cancellation of the horse-race being blamed on their kind came as a particular insult." +celebrations.11233.a:0 "They'll get over it." + +############# +celebrations.11311.t:0 "Celebrations Debrief" +celebrations.11311.d:0 "The festival has come to an end and with new-found vitality, the attendees are slowly returning to their regular lives.\n\nThe population has received the festivities with applause. Ñoldor in particular were encouraged by the powerful speech given by Galadriel.\n\nUnfortunately, our friends in Rivendell and Mirkwood have voiced some disappointment in being excluded." +celebrations.11311.a:0 "It was good while it lasted." + +############# +celebrations.11312.t:0 "Celebrations Debrief" +celebrations.11312.d:0 "The festival has come to an end and with new-found vitality, the attendees are slowly returning to their regular lives.\n\nThe population has received the festivities with applause. Even the Sindar were satisfied, thanks to the powerful speech delivered by Lord Celeborn.\n\nUnfortunately, our friends in Rivendell and Mirkwood have voiced some disappointment in being excluded." +celebrations.11312.a:0 "It was good while it lasted." + +############# +celebrations.11313.t:0 "Celebrations Debrief" +celebrations.11313.d:0 "The festival has come to an end and with new-found vitality, the attendees are slowly returning to their regular lives.\n\nThe population has received the festivities with applause. Although the lack of a closing speech has left the Sindar disappointed.\n\nUnfortunately, our friends in Rivendell and Mirkwood have voiced some disappointment in being excluded." +celebrations.11313.a:0 "It was good while it lasted." + +############# +celebrations.11321.t:0 "Celebrations Debrief" +celebrations.11321.d:0 "The festival has come to an end and with new-found vitality, the attendees are slowly returning to their regular lives.\n\nOur friends from Mirkwood and Rivendell will carry kind words of our hospitality back home.\n\nUnfortunately, the Ñoldor were disappointed in the commemoration of Gondolin being hijacked by foreign diplomacy and turned into an 'elven unity day'." +celebrations.11321.a:0 "It was good while it lasted." + +############# +celebrations.11322.t:0 "Celebrations Debrief" +celebrations.11322.d:0 "The festival has come to an end and with new-found vitality, the attendees are slowly returning to their regular lives.\n\nThe population has received the festivities with applause. Despite the Ñoldor's initial misgivings on the idea of 'elven unity day', Galadriel's speech has brought them to reason.\n" +celebrations.11322.a:0 "It was good while it lasted." + +############# +celebrations.11323.t:0 "Celebrations Debrief" +celebrations.11323.d:0 "The festival has come to an end and with new-found vitality, the attendees are slowly returning to their regular lives.\n\nThe population has received the festivities with applause. Although certain Ñoldor figures have voiced dissatisfaction at the final speech being delivered by Celeborn instead of Galadriel." +celebrations.11323.a:0 "It was good while it lasted." + +############# +celebrations.11331.t:0 "Celebrations Debrief" +celebrations.11331.d:0 "The festival has come to an end and with new-found vitality, the attendees are slowly returning to their regular lives.\n\nTo Mirkwood's delight, the dwarves left in a fit of rage, promising diplomatic retaliations. \n\nThe shift of focus onto international diplomacy has brought disappointment to the Ñoldor, as it overshadowed the initial intent of a commemoration of Gondolin." +celebrations.11331.a:0 "The dwarves need to learn to behave." + +############# +celebrations.11332.t:0 "Celebrations Debrief" +celebrations.11332.d:0 "The festival has come to an end and with new-found vitality, the attendees are slowly returning to their regular lives.\n\nThe dwarves were satisfied at the prospect of Mirkwood dignitaries being put in their place, which will probably not carry positive words back home.\n\nThe shift of focus onto international diplomacy has brought disappointment to the Ñoldor, as it overshadowed the initial intent of a commemoration of Gondolin." +celebrations.11332.a:0 "It was good while it lasted." + +############# +celebrations.11333.t:0 "Celebrations Debrief" +celebrations.11333.d:0 "The festival has come to an end and with new-found vitality, the attendees are slowly returning to their regular lives.\n\nThe Mirkwood elves and dwarves have managed to behave for the remainder of the celebrations.\n\nThe shift of focus onto international diplomacy has brought disappointment to the Ñoldor, as it overshadowed the initial intent of a commemoration of Gondolin." +celebrations.11333.a:0 "It was good while it lasted." + +############# +celebrations.12111.t:0 "Celebrations Debrief" +celebrations.12111.d:0 "The festival has come to an end and with new-found vitality, the attendees are slowly returning to their regular lives.\n\nThe great farewell proved to be a moment of intense emotion, as several esteemed members of our enclave began their journey to Valinor.\n\nMany of our people now regard Mordor as an evil to be escaped from, not fought." +celebrations.12111.a:0 "We wish them a safe journey." + +############# +celebrations.12112.t:0 "Celebrations Debrief" +celebrations.12112.d:0 "The festival has come to an end and with new-found vitality, the attendees are slowly returning to their regular lives.\n\nThe great farewell proved to be a moment of intense emotion, as several esteemed members of our enclave began their journey to Valinor.\n\nMany of our people now regard Mordor as an evil to be escaped from, not fought." +celebrations.12112.a:0 "We wish them a safe journey." + +############# +celebrations.12113.t:0 "Celebrations Debrief" +celebrations.12113.d:0 "The festival has come to an end and with new-found vitality, the attendees are slowly returning to their regular lives.\n\nThe great farewell proved to be a moment of intense emotion, as several esteemed members of our enclave began their journey to Valinor.\n\nMany of our people now regard Mordor as an evil to be escaped from, not fought." +celebrations.12113.a:0 "We wish them a safe journey." + +############# +celebrations.12121.t:0 "Celebrations Debrief" +celebrations.12121.d:0 "The festival has come to an end and with new-found vitality, the attendees are slowly returning to their regular lives.\n\nThe military parade has rejuvenated our people's fighting spirit. Both Sindar and Ñoldor have expressed satisfaction with the celebrations." +celebrations.12121.a:0 "It was good while it lasted." + +############# +celebrations.12122.t:0 "Celebrations Debrief" +celebrations.12122.d:0 "The festival has come to an end and with new-found vitality, the attendees are slowly returning to their regular lives.\n\nThe Sindar held Celeborn's speech in high regard. The Lord's words reinvigorated their fighting spirits.\n\nThe Ñoldor, on the other hand, have expressed dissatisfaction with the celebrations' extrodinary focus on Sindar figures and stories." +celebrations.12122.a:0 "It was good while it lasted." + +############# +celebrations.12123.t:0 "Celebrations Debrief" +celebrations.12123.d:0 "The festival has come to an end and with new-found vitality, the attendees are slowly returning to their regular lives.\n\nUnfortunately, the emphasis on Mordor has swept a wave of unease and worrying across our people.\n\nMany elves question their leaders' capabilites to see them through the building calamity unharmed." +celebrations.12123.a:0 "Their concerns are unfounded." + +############# +celebrations.12131.t:0 "Celebrations Debrief" +celebrations.12131.d:0 "As the festival draws to a close, the prevailing mood has been one of euphoria and elation. \n\nDespite the organized events winding down, many elves have continued to celebrate in their own way, fostering an atmosphere of jubilation and unity\n\nNotably, Galadriel's efforts to assuage potential disturbances have had a positive impact, helping to ease the tensions that had previously existed among the various elven sub-groups." +celebrations.12131.a:0 "A harmonious conclusion." + +############# +celebrations.12132.t:0 "Celebrations Debrief" +celebrations.12132.d:0 "As the festival reaches its conclusion, the prevailing mood among the attendees has been one of euphoria and exuberance.\n\nNotably, Lord Celeborn's adept handling of concerns related to Mordor has played a significant role in quelling fears among the elven population.\n\nBy invoking images of Sauron's previous defeat and reminding the elves of their shared victories, Lord Celeborn has successfully managed to alleviate the anxieties that had arisen in relation to the growing darkness." +celebrations.12132.a:0 "A reassuring conclusion." + +############# +celebrations.12133.t:0 "Celebrations Debrief" +celebrations.12133.d:0 "As the festival nears its conclusion, the prevailing mood among the attendees remains one of euphoria and revelry. Surprisingly, the celebratory atmosphere has continued beyond the official end of the festivities, with many elves engaging in uncharacteristically hedonistic behavior.\n\nThe overall atmosphere is one of indulgence and merrymaking, reflecting a sense of decadence and the sentiment that these are the final days before the shadow of Mordor swallows all." +celebrations.12133.a:0 "This will hurt our productivity in the coming days." + +############# +celebrations.12211.t:0 "Celebrations Debrief" +celebrations.12211.d:0 "As the festival draws to a close, the overall assessment of the celebrations is one of satisfaction, though not without its challenges. \n\nTensions have simmered beneath the surface throughout the event, leading to a few unfortunate incidents.\n\nNotably, during the grand feast of the final days, several altercations erupted between Ñoldor and Sindar attendees, highlighting the persistent frictions among the elven sub-groups." +celebrations.12211.a:0 "Mixed success." + +############# +celebrations.12212.t:0 "Celebrations Debrief" +celebrations.12212.d:0 "As the celebrations reach their conclusion, it is evident that tensions have remained at a high level among the elven attendees.\n\nThe commemorations of the kingdom of Doriath have brought contrasting reactions from different sub-groups. The Sindar have expressed their satisfaction with the commemoration and their honored seat at the head of the table.\n\nHowever, this approach has also led to discontent among the Ñoldor, who perceive it as a form of blatant favoritism that has only exacerbated the existing tensions." +celebrations.12212.a:0 "Mixed reactions." + +############# +celebrations.12213.t:0 "Celebrations Debrief" +celebrations.12213.d:0 "As the festival comes to a close, it is apparent that the celebrations have been generally well-received by the Sindar attendees. The events proceeded without any significant incidents, and the focus on keeping the groups separated has contributed to this success.\n\nHowever, an unintended consequence of the separation has emerged as tensions between the elven sub-groups may have increased. The isolation from one another has potentially led to feelings of detachment and a lack of understanding among the different factions." +celebrations.12213.a:0 "A delicate balance." + +############# +celebrations.12221.t:0 "Celebrations Debrief" +celebrations.12221.d:0 "The festivities have reached their end on a positive note, with Celeborn's closing speech successfully addressing the earlier misgivings expressed by the Sindar attendees. His words have managed to assuage their concerns and contribute to the overall satisfaction of most attendees.\n\nThe inclusion of a common dance during the celebrations has further promoted social unity among the various elven groups. The positive interactions during the dance have led to increased camaraderie and a sense of togetherness." +celebrations.12221.a:0 "A harmonious conclusion." + +############# +celebrations.12222.t:0 "Celebrations Debrief" +celebrations.12222.d:0 "As the celebrations have drawn to a close, a mixed sentiment lingers among the attendees. \n\nThe Sindar faction, in particular, has expressed dissatisfaction with the shift in the celebration's central message. Originally intended as a commemoration of Doriath, the message seemed diluted to them.\n\nThe choice of having Galadriel deliver the final speech instead of Celeborn has further fueled their perception of being marginalized, although the Ñoldor attendees were pleased to hear from their esteemed Lady Galadriel." +celebrations.12222.a:0 "A delicate balance." + +############# +celebrations.12223.t:0 "Celebrations Debrief" +celebrations.12223.d:0 "With the festivities coming to a successful conclusion, a sense of relief and unity permeates the air.\n\nThe commemoration of Doriath through a common dance has been well-received, contributing to an overall easing of tensions among the various elven factions.\n\nHowever, some attendees expressed a degree of disappointment at the absence of a formal closing speech." +celebrations.12223.a:0 "A step towards unity." + +############# +celebrations.12231.t:0 "Celebrations Debrief" +celebrations.12231.d:0 "As the celebrations reach a successful conclusion, a sense of accomplishment and unity fills the air.\n\nThe inclusion of a tournament, in line with the commemoration of Doriath, has proven to be a fitting and enjoyable addition. All factions expressed their satisfaction as their champions received well-deserved honors. Among the Galadhrium, warrior spirits shine brighter than ever before.\n\nOnly among the half-elves, there is a subtle undertone of disappointment. Despite their impressive tournament victory, they feel their achievement has been somewhat diluted." +celebrations.12231.a:0 "A great success." + +############# +celebrations.12232.t:0 "Celebrations Debrief" +celebrations.12232.d:0 "With the festivities coming to a close, a sense of accomplishment and unity prevails.\n\nThe inclusion of a tournament, in harmony with the commemoration of Doriath, has been widely regarded as fitting and enjoyable.\n\nHowever, there is a subtle note of disappointment among the Sindar, who feel that the culmination of the event, featuring a half-elf champion, overshadowed their own contributions." +celebrations.12232.a:0 "Unity with undercurrents." + +############# +celebrations.12233.t:0 "Celebrations Debrief" +celebrations.12233.d:0 "The festival has come to an end and with new-found vitality, the attendees are slowly returning to their regular lives.\n\nThe tournament, integrated seamlessly into the commemoration of Doriath, but has been widely critisized among the Sindar, who view the acclaim given to the Ñoldorin runner-up as unjustified.\n\nSimilarly, the half-elves, despite their champion's victory, feel that his accomplishments have been insufficiently recognized." +celebrations.12233.a:0 "Too bad." + +############# +celebrations.12311.t:0 "Celebrations Debrief" +celebrations.12311.d:0 "The festival has come to an end and with new-found vitality, the attendees are slowly returning to their regular lives.\n\nThe successful celebrations have left a positive impact, fostering unity and camaraderie among the participants. The combined effort of the parade and the tournament, while greatly appreciated, has strained our resources, putting a considerable dent in our treasury.\n\nAmong the victors, the Nandor's champion has been rewarded with a trophy, bringing them great joy. However, the triumph has not come without criticism, particularly from the Sindar who perceive the champion's victory as overshadowing the originally intended commemoration of Doriath." +celebrations.12311.a:0 "A bittersweet success." + +############# +celebrations.12312.t:0 "Celebrations Debrief" +celebrations.12312.d:0 "The festival has come to an end and with new-found vitality, the attendees are slowly returning to their regular lives.\n\nThe successful celebrations have left a positive impact, fostering unity and camaraderie among the participants. The combination of the grand parade and the tournament has proven to be a costly endeavor, straining our resources.\n\nThe Nandor, pleased with the triumph of their champion, who has received a trophy, express their contentment. Similarly, the Sindar have found satisfaction in the comparison of the champion's battle skill to the valiant defenders of Doriath, seeing it as a fitting tribute." +celebrations.12312.a:0 "A victorious unity." + +############# +celebrations.12313.t:0 "Celebrations Debrief" +celebrations.12313.d:0 "The festival has come to an end and with new-found vitality, the attendees are slowly returning to their regular lives.\n\nWhile the celebrations have brought joy to many, they have also faced criticism from some quarters.\n\nThe Nandor express discontentment, believing that their tournament champion did not receive the recognition he deserved. Likewise, the Sindar have expressed their disappointment at the cancellation of the re-enactment play, which they had anticipated with excitement." +celebrations.12313.a:0 "Mistakes were made." + +############# +celebrations.12321.t:0 "Celebrations Debrief" +celebrations.12321.d:0 "The festival has come to an end and with new-found vitality, the attendees are slowly returning to their regular lives.\n\nThe overall sentiment is one of general enjoyment, however, tensions arose due to the heavily biased re-enactment by the Sindar, which portrayed the Ñoldor in a negative light.\n\nThe situation was somewhat alleviated by Galadriel's closing speech, which managed to provide a semblance of relief to the simmering tensions." +celebrations.12321.a:0 "A mixed but relieved atmosphere." + +############# +celebrations.12322.t:0 "Celebrations Debrief" +celebrations.12322.d:0 "The festival has come to an end and with new-found vitality, the attendees are slowly returning to their regular lives.\n\nThe overall sentiment is one of general enjoyment, but tensions flared due to the heavily biased re-enactment by the Sindar, which depicted the Ñoldor in a negative light.\n\nThe choice to have Celeborn deliver the closing speech was welcomed by the Sindar, but it has further exacerbated the anger of the Ñoldor faction." +celebrations.12322.a:0 "They'll get over it." + +############# +celebrations.12323.t:0 "Celebrations Debrief" +celebrations.12323.d:0 "The festival has come to an end and with new-found vitality, the attendees are slowly returning to their regular lives.\n\nThe overall sentiment is one of general enjoyment, but tensions flared due to the heavily biased re-enactment by the Sindar, which depicted the Ñoldor in a negative light.\n\nThe closing speech, delivered by a Nandor commoner, was poorly rehearsed and unintentionally provided some much-needed comedic relief." +celebrations.12323.a:0 "A mixed aftermath." + +############# +celebrations.12331.t:0 "Celebrations Debrief" +celebrations.12331.d:0 "The festival has come to an end and with new-found vitality, the attendees are slowly returning to their regular lives.\n\nThe celebrations have been generally seen as underwhelming, with the parade lacking a clear message and the cancellation of the anticipated re-enactment. \n\nThe Sindar, however, were pleased with Celeborn's final speech, while the Ñoldor expressed a sense of expected disappointment from what they saw as a predominantly Sindar-oriented festival." +celebrations.12331.a:0 "A subdued conclusion." + +############# +celebrations.12332.t:0 "Celebrations Debrief" +celebrations.12332.d:0 "The festival has come to an end and with new-found vitality, the attendees are slowly returning to their regular lives.\n\nThe celebrations have been generally seen as underwhelming, with the parade lacking a clear message and the cancellation of the anticipated re-enactment. \n\nHowever, the final days of feasts and celebrations were welcomed by most attendees. Unfortunately, the Sindar remained discontent." +celebrations.12332.a:0 "Mixed successes." + +############# +celebrations.12333.t:0 "Celebrations Debrief" +celebrations.12333.d:0 "The festival has come to an end and with new-found vitality, the attendees are slowly returning to their regular lives.\n\nThe celebrations have been generally seen as underwhelming, with the parade lacking a clear message and the cancellation of the anticipated re-enactment. \n\nHowever, many found solace in Galadriel's apology during the final days, which was seen as a moment of reflection and humility.\n\nDespite this, the Ñoldor remained angered by what they perceived as a sign of weakness." +celebrations.12333.a:0 "Mixed sentiments." + +############# +celebrations.13111.t:0 "Celebrations Debrief" +celebrations.13111.d:0 "The festival has come to an end and with new-found vitality, the attendees are slowly returning to their regular lives.\n\nThe celebrations have been generally well-received, with the group pilgrimage serving as a unifying experience that resonated with the underlying theme of the Years of the Trees.\n\nGaladriel's closing speech was well-received by most, particularly the Ñoldor." +celebrations.13111.a:0 "Unity and satisfaction." + +############# +celebrations.13112.t:0 "Celebrations Debrief" +celebrations.13112.d:0 "The festival has come to an end and with new-found vitality, the attendees are slowly returning to their regular lives.\n\nThe celebrations have been generally well-received, with the group pilgrimage serving as a unifying experience that resonated with the underlying theme of the Years of the Trees.\n\nCeleborn's closing speech was well-received by most, particularly the Sindar." +celebrations.13112.a:0 "Unity and satisfaction." + +############# +celebrations.13113.t:0 "Celebrations Debrief" +celebrations.13113.d:0 "The festival has come to an end and with new-found vitality, the attendees are slowly returning to their regular lives.\n\nThe celebrations have been generally well-received, with the group pilgrimage serving as a unifying experience that resonated with the underlying theme of the Years of the Trees.\n\nHaldir's closing speech was well-received by most, particularly the Nandor." +celebrations.13113.a:0 "Unity and satisfaction." + +############# +celebrations.13121.t:0 "Celebrations Debrief" +celebrations.13121.d:0 "The festival has come to an end and with new-found vitality, the attendees are slowly returning to their regular lives.\n\nThe archery tournament proved to be a highlight, particularly for the Sindar attendees. The victory of their champion, along with the specially crafted bow as a reward, has ignited a newfound enthusiasm for archery among the Sindar population.\n\nUnfortunately, the Ñoldor attendees felt somewhat overshadowed by the attention garnered by the Sindar's success." +celebrations.13121.a:0 "A successful tournament with divergent reactions." + +############# +celebrations.13122.t:0 "Celebrations Debrief" +celebrations.13122.d:0 "The festival has come to an end and with new-found vitality, the attendees are slowly returning to their regular lives.\n\nThe archery tournament proved to be a highlight, drawing mixed reactions from different elven factions.\n\nThe Sindar attendees expressed disappointment at their champion not receiving a reward or trophy, while the Nandor were pleased with the celebration of their history." +celebrations.13122.a:0 "A step towards unity." + +############# +celebrations.13123.t:0 "Celebrations Debrief" +celebrations.13123.d:0 "The festival has come to an end and with new-found vitality, the attendees are slowly returning to their regular lives.\n\nThe archery tournament proved to be a highlight, drawing mixed reactions from different elven factions, although the Sindar attendees expressed disappointment at their champion not receiving a reward or trophy.\n\nThe Nandor, on the other hand, found solace in the repeated performance of the Song of Nimrodel, even if it introduced a slightly melancholic atmosphere to the festivities." +celebrations.13123.a:0 "Tournament triumph and a bittersweet melody." + +############# +celebrations.13131.t:0 "Celebrations Debrief" +celebrations.13131.d:0 "The festival has come to an end and with new-found vitality, the attendees are slowly returning to their regular lives.\n\nHowever, the celebrations have left behind a distinctly melancholic mood. Despite the joyous atmosphere, a sense of decadence has taken hold, with many elves contemplating their future in Valinor." +celebrations.13131.a:0 "A bittersweet aftermath." + +############# +celebrations.13132.t:0 "Celebrations Debrief" +celebrations.13132.d:0 "The festival has come to an end and with new-found vitality, the attendees are slowly returning to their regular lives.\n\nHowever, the celebrations have left behind a distinctly melancholic mood. \n\nThe closing speech, focusing on warrior legends, has reignited fascination with battles of old, but it has also triggered contemplation among many elves about the meaning of their seemingly endless struggles." +celebrations.13132.a:0 "A somber reflection." + +############# +celebrations.13133.t:0 "Celebrations Debrief" +celebrations.13133.d:0 "The festival has come to an end and with new-found vitality, the attendees are slowly returning to their regular lives.\n\nHowever, the celebrations have left behind a distinctly melancholic mood.\n\nThe closing speech has stirred a deep sense of pride within the Golden Wood, reminding all of us that this ancient realm has been our cherished home for countless centuries." +celebrations.13133.a:0 "A somber reflection." + +############# +celebrations.13211.t:0 "Celebrations Debrief" +celebrations.13211.d:0 "The festival has come to an end and with new-found vitality, the attendees are slowly returning to their regular lives.\n\nDespite the unfortunate interruption caused by the fire, the celebrations managed to leave a positive impression overall.\n\nThe Nandor community expresses their heartfelt gratitude for the assistance rendered in rebuilding their homes, an effort led by the Ñoldor.\n\nHowever, this noble gesture has also triggered some discontent among the Sindar, who perceive it as further privileging the already advantaged Ñoldor." +celebrations.13211.a:0 "Mixed feelings linger." + +############# +celebrations.13212.t:0 "Celebrations Debrief" +celebrations.13212.d:0 "The festival has come to an end and with new-found vitality, the attendees are slowly returning to their regular lives.\n\nDespite the unfortunate interruption caused by the fire, the celebrations managed to leave a positive impression overall.\n\nThe Nandor community expresses their heartfelt gratitude for the assistance rendered in rebuilding their homes. In turn, the Ñoldor appreciate the compensation received for their efforts in aiding the restoration." +celebrations.13212.a:0 "Crisis averted." + +############# +celebrations.13213.t:0 "Celebrations Debrief" +celebrations.13213.d:0 "The festival has come to an end and with new-found vitality, the attendees are slowly returning to their regular lives.\n\nDespite the unfortunate interruption caused by the fire, the celebrations managed to leave a positive impression overall.\n\nThe Nandor community expresses their heartfelt gratitude for the assistance rendered in rebuilding their homes. The Ñoldor, despite being hailed as heroes by the Nandor, have voiced disappointment for not receiving any compensation for their efforts." +celebrations.13213.a:0 "Mixed emotions linger." + +############# +celebrations.13221.t:0 "Celebrations Debrief" +celebrations.13221.d:0 "The festival has come to an end and with new-found vitality, the attendees are slowly returning to their regular lives.\n\nUnfortunately, the celebrations had to be abruptly cancelled due to the fire that broke out.\n\nThe affected Nandor community expresses gratitude for the assistance provided in the aftermath, but many among them are saddened by the premature end of a festival with such historical significance." +celebrations.13221.a:0 "A bittersweet ending." + +############# +celebrations.13222.t:0 "Celebrations Debrief" +celebrations.13222.d:0 "The festival has come to an end and with new-found vitality, the attendees are slowly returning to their regular lives.\n\nUnfortunately, the celebrations had to be abruptly cancelled due to the fire that broke out.\n\nThe affected Nandor community expresses gratitude for the assistance provided in the aftermath, and the final feast was received well by many.\n\nHowever, the combined expenses of rebuilding efforts and the feast have proven to be quite significant." +celebrations.13222.a:0 "A costly outcome." + +############# +celebrations.13223.t:0 "Celebrations Debrief" +celebrations.13223.d:0 "The festival has come to an end and with new-found vitality, the attendees are slowly returning to their regular lives.\n\nUnfortunately, the celebrations had to be abruptly cancelled due to the fire that broke out. The affected Nandor community expresses gratitude for the assistance provided in the aftermath, but many were saddened by the premature end of a historic festival.\n\nThe message of darker times ahead, passed in the final days, combined with the demonstration of solidarity in the rebuilding effort, has brought about a mixture of fear and austerity among the attendees." +celebrations.13223.a:0 "A somber aftermath." + +############# +celebrations.13231.t:0 "Celebrations Debrief" +celebrations.13231.d:0 "The festival has come to an end and with new-found vitality, the attendees are slowly returning to their regular lives.\n\nUnfortunately, the celebrations were marred by a destructive fire that broke out, leaving a sense of disappointment and frustration in its wake.\n\nThe affected Nandor community is particularly dissatisfied with the lack of support they received during this crisis.\n\nHowever, a minority of Sindar and Ñoldor attendees managed to enjoy the festivities despite the challenges." +celebrations.13231.a:0 "A mixed outcome." + +############# +celebrations.13232.t:0 "Celebrations Debrief" +celebrations.13232.d:0 "The festival has come to an end and with new-found vitality, the attendees are slowly returning to their regular lives.\n\nHowever, the celebrations were overshadowed by a devastating fire that broke out, leaving a trail of dissatisfaction and disappointment.\n\nThe affected Nandor community was initially upset by the lack of aid they received, although a charity drive was organized to mitigate their anger, it yielded limited results.\n\nDespite these challenges, a minority of Sindar and Ñoldor attendees managed to find enjoyment in the festivities." +celebrations.13232.a:0 "A mix of discontent and limited relief." + +############# +celebrations.13233.t:0 "Celebrations Debrief" +celebrations.13233.d:0 "The festival has come to an end and with new-found vitality, the attendees are slowly returning to their regular lives.\n\nUnfortunately, the festivities were marred by a destructive fire that disrupted the celebrations.\n\nThe affected Nandor and their families expressed initial dissatisfaction with the response, but the later financial aid did provide some measure of relief.\n\nOn the other hand, the Ñoldor and Sindar were displeased at the prospect of having to pay for the damages, which strained their trust in the government. However, this decision did contribute to easing tensions between the two elven factions." +celebrations.13233.a:0 "Mixed success." + +############# +celebrations.13311.t:0 "Celebrations Debrief" +celebrations.13311.d:0 "The festival has come to an end and with new-found vitality, the attendees are slowly returning to their regular lives.\n\nThe celebrations were generally well-received, but not without tensions. The Nandor majority expressed anger at what they perceived as the Ñoldor's excessive glorification, particularly with the inclusion of Gil-Galad, during an event that was intended to commemorate the first elves in Middle Earth.\n\nThe decision to have Galadriel deliver the final speech intensified their discontent, though it significantly pleased the Ñoldor attendees." +celebrations.13311.a:0 "They'll get over it." + +############# +celebrations.13312.t:0 "Celebrations Debrief" +celebrations.13312.d:0 "The festival has come to an end and with new-found vitality, the attendees are slowly returning to their regular lives.\n\nThe celebrations were generally well-received, but not without tensions. The Nandor majority expressed anger at what they perceived as the Ñoldor's excessive glorification, particularly with the inclusion of Gil-Galad, during an event that was intended to commemorate the first elves in Middle Earth.\n\nThe decision to have Celeborn deliver the final speech seemed to provide a finer balance, as the Sindar were likewise included." +celebrations.13312.a:0 "This is fine." + +############# +celebrations.13313.t:0 "Celebrations Debrief" +celebrations.13313.d:0 "The festival has come to an end and with new-found vitality, the attendees are slowly returning to their regular lives.\n\nThe celebrations were generally well-received, but not without tensions. The Nandor majority expressed initial anger at what they perceived as the Ñoldor's excessive glorification, particularly with the inclusion of Gil-Galad, during an event that was intended to commemorate the first elves in Middle Earth.\n\nThe decision to have Haldir deliver the final speech helped to shift the focus back towards their perspective, bringing the festivities around to them." +celebrations.13313.a:0 "A balance struck with a shift in focus." + +############# +celebrations.13321.t:0 "Celebrations Debrief" +celebrations.13321.d:0 "The festival has come to an end and with new-found vitality, the attendees are slowly returning to their regular lives.\n\nThe celebrations were generally well-received, although the excessive focus on elven history did spark some debates on contemporary elven politics.\n\nThe final speech by Galadriel, which centered on Gil-Galad, was received warmly by the Ñoldor but was met with less enthusiasm by other factions." +celebrations.13321.a:0 "Mixed reactions with debates on history and politics." + +############# +celebrations.13322.t:0 "Celebrations Debrief" +celebrations.13322.d:0 "The festival has come to an end and with new-found vitality, the attendees are slowly returning to their regular lives.\n\nThe celebrations were generally well-received, although the excessive focus on elven history did spark some debates on contemporary elven politics.\n\nThe final speech by Celeborn, which centered on Doriath, was received warmly by the Sindar but was met with less enthusiasm by other factions." +celebrations.13322.a:0 "Mixed reactions with debates on history and politics." + +############# +celebrations.13323.t:0 "Celebrations Debrief" +celebrations.13323.d:0 "The festival has come to an end and with new-found vitality, the attendees are slowly returning to their regular lives.\n\nThe celebrations were generally well-received, although the excessive focus on elven history did spark some debates on contemporary elven politics.\n\nThe final speech by Haldir, which centered on the years of the Trees, was received as fitting the underlying theme of the festival.\n" +celebrations.13323.a:0 "A harmonious conclusion" + +############# +celebrations.13331.t:0 "Celebrations Debrief" +celebrations.13331.d:0 "The festival has come to an end and with new-found vitality, the attendees are slowly returning to their regular lives.\n\nThe celebrations were generally well-received, with the heroes of all factions receiving their due respects.\n\nThe final costume parade was a highlight of the festivities, leaving many attendees in high spirits." +celebrations.13331.a:0 "Successful and festive." + +############# +celebrations.13332.t:0 "Celebrations Debrief" +celebrations.13332.d:0 "The festival has come to an end and with new-found vitality, the attendees are slowly returning to their regular lives.\n\nThe celebrations were generally well-received, with the heroes of all factions receiving their due respects.\n\nThe final dance, while well-received by most, left some feeling that it was disconnected from the remainder of the celebration's themes." +celebrations.13332.a:0 "Successful and unifying." + +############# +celebrations.13333.t:0 "Celebrations Debrief" +celebrations.13333.d:0 "The festival has come to an end and with new-found vitality, the attendees are slowly returning to their regular lives.\n\nThe celebrations were generally well-received, with the heroes of all factions receiving their due respects.\n\nThe final feast was welcomed by all, although it did lead to some heated debates among the mingling factions." +celebrations.13333.a:0 "Successful and unifying." + +############# \ No newline at end of file diff --git a/localisation/english/lothlorien/lothlorien_events_l_english.yml b/localisation/english/lothlorien/lothlorien_events_l_english.yml new file mode 100644 index 000000000..8c2666d7c --- /dev/null +++ b/localisation/english/lothlorien/lothlorien_events_l_english.yml @@ -0,0 +1,320 @@ +l_english: +lothlorien.7.t:0 "Festivities come to a close" +lothlorien.7.d:0 "Amidst the encroaching darkness of the world around us, our people have enjoyed two well-deserved weeks of public celebrations, mirth and unity. We have kindled a fire of hope that shall endure as we face the trials ahead. As our people gather beneath the radiant Mallorn trees of Caras Galadhon, they expect a public speech by one of our leading figures." +lothlorien.7.a:0 "Lady Galadriel should give a speech!" +lothlorien.7.b:0 "Lord Celeborn should give a speech, as is tradition!" +lothlorien.7.c:0 "Let a commoner hold a speek! Let's hear the voice of the people!" +lothlorien.7.d:0 "There will be no speech tonight." +#==================== +lothlorien.8.t:0 "Lothlórien Divided" +lothlorien.8.d:0 "A troubling twist of events has fallen over the Golden Wood of Lothlórien. The once happily married couply of Lady Galadriel and Lord Celeborn have strayed onto divergent paths in world-views and plans for the enclave. A dramatic schism has taken hold, which now affects every elf in Lothlórien.\n\nGaladriel, with a gaze fixed upon the history of Gondolin and its strength, seeks to forge a fortified elven state capable of withstanding the encroaching threat of Mordor.\n\nCeleborn, with a different vision, advocates for a radical reimagining of elven society, driven by the fear of Dark Lords and the need to thwart their rise.\n\nAs a brethren nation of elves, we have been asked to chime into this divide. Shall we support Galadriel's call for strength or Celeborn's vision of radical change?" +lothlorien.8.a:0 "We have always trusted the judgement of Lady Galadriel." +lothlorien.8.b:0 "Lord Celeborn has the right idea. The old ways will always give way to old problems." +lothlorien.8.c:0 "We will support neither side of these troubling developments" +#==================== +lothlorien.9.t:0 "Lothlórien comes to our aid!" +lothlorien.9.d:0 "The shadows of Isengard gather around us and Helm's Deep may be put under siege. Luckily, a glimmer of hope arrives from the mystical realm of Lothlórien.\n\nThe Elves, under the guidance of Lady Galadriel, have heard our desperate plea for assistance. Swiftly and silently, they send a contingent of skilled archers and Marchwardens to reinforce the defense of Helm's Deep. Their arrival brings renewed courage to our hearts as we stand united against the forces of Isengard." +lothlorien.9.a:0 "They are most welcome!" +#==================== +lothlorien.10.t:0 "Lothlórien comes to our aid!" +lothlorien.10.d:0 "The shadows of Mordor gather around us and Minas Tirith may be put under siege. Luckily, a glimmer of hope arrives from the mystical realm of Lothlórien.\n\nThe Elves, under the guidance of Lady Galadriel, have heard our desperate plea for assistance. Swiftly and silently, they send a contingent of skilled archers and Marchwardens to reinforce the defense of Minas Tirith. Their arrival brings renewed courage to our hearts as we stand united against the forces of Mordor." +lothlorien.10.a:0 "They are most welcome!" +#==================== +lothlorien.11.t:0 "Commemorating the Fall of Gondolin" +lothlorien.11.d:0 "A solemn occasion approaches as the Noldor gather to remember the tragic fall of Gondolin, a city of beauty and lore. Parades, tournaments, and speeches will serve as tribute to the fallen.\n\nWhat message should the commemoration carry? One of an epic battle, or one of a tragic loss to be rebuilt?" +lothlorien.11.a:0 "Let's celebrate the valor of Gondolin's warriors!" +lothlorien.11.a_tt:0 "Add a §G+10.0%§! §HDivision Breakthrough§! bonus to the $noldor_faction$." +lothlorien.11.b:0 "The commemoration should be a somber remembrance of the greatness that once was." +lothlorien.11.b_tt:0 "Add a §G+15.0%§! §HFactory Output§! bonus to the $noldor_faction$." +#==================== +lothlorien.12.t:0 "A Call from the Enclave of Lothlórien" +lothlorien.12.d:0 "A message has arrived from our Sindar kin residing within the shimmering forests of Lothlórien. They seek closer bonds with their kin in the Havens of Lindon. The Sindar elves of Lothlórien humbly request to hear the wisdom of the revered Sindar Lord, Círdan the Shipwright, whose wisdom and experience are renowned throughout the ages.\n\nWhat wisdom shall we bequeath upon them?" +lothlorien.12.a:0 "Remind them that the Sindar owe their longevity to their hard work and dedication." +lothlorien.12.b:0 "Remind them of the humility of the elves of Doriath." +lothlorien.12.c:0 "Remind them of the great Wisdom of Elu Thingol and Melian." +#==================== +lothlorien.13.t:0 "Response from Lindon" +lothlorien.13.d:0 "We have recived a response from the venerable lord of the Havens of Lindon, Círdan the Shipwright. His words carry valuable wisdom, taken to heart by our Sindar brethren." +lothlorien.13.a:0 "Cíndar's words highlight the hard work and dedication of the Sindar." +lothlorien.13.a_tt:0 "The §YConstruction Speed§! bonus of the $sindar_faction$ is doubled." +lothlorien.13.b:0 "Cíndar's words highlight the humility and austerity of the Sindar." +lothlorien.13.b_tt:0 "The §YSupply Consumption§! bonus of the $sindar_faction$ is doubled." +lothlorien.13.c:0 "Cíndar's words highlight the importance of wisdom to the Sindar." +lothlorien.13.c_tt:0 "The §YResearch Speed§! bonus of the $sindar_faction$ is doubled." +#==================== +lothlorien.14.t:0 "A Call from the Enclave of Lothlórien" +lothlorien.14.d:0 "A message arrived from the tranquil enclave of Lothlórien. Their Half-Elven people, the Peredhil, seek to rekindle ties with their Númenórean kin of Gondor. Their hearts long to learn of the legendary Elros, founder of the line of kings in the western realm of Númenor." +lothlorien.14.a:0 "We should have an old tome on Elros' military victories in our library. Send it to them as a gift." +lothlorien.14.b:0 "Provide their representatives with common the curtesies, then send them back." +#==================== +lothlorien.15.t:0 "Response from Gondor" +lothlorien.15.d_a:0 "We have recived a response from the Stewarts of Gondor. They have sent us an ancient Tome on the military exploits of the lgegendary Elros of Númenór, containing much valuable knowledge." +lothlorien.15.d_b:0 "We have recived a response from the Stewarts of Gondor. They appreciate our fascination with the Númenóreans, but could offer little more than common diplomatic platitudes." +lothlorien.15.a:0 "This could come in handy." +lothlorien.15.a_tt:0 "The §YArmy Experience Gain§! bonus of the $halfelves_faction$ is doubled." +lothlorien.15.b:0 "Disappointing" +#==================== +lothlorien.16.t:0 "A Delegation from the Enclave of Lothlórien" +lothlorien.16.d:0 "A delegation of elves has arrives from the mystical enclave of Lothlórien. They seek the advice and counsel of our venerable lord, Elrond.\n\nWith a shared bloodline that binds them as kindred, the Half-Elves of Lothlórien humbly request the opportunity to speak with Elrond and learn his wisdom, so that they may carry them back to the Golden Wood." +lothlorien.16.a:0 "We are humbled. We shall speak with their delegation at length!" +lothlorien.16.b:0 "Lord Elrond is a busy man. But their delegates are welcome to speak to some of our esteemed warriors instead." +#==================== +lothlorien.17.t:0 "Delegation returns from Rivendell" +lothlorien.17.d_a:0 "A while ago we sent a delgation of elves to Rivendell to garner the wisdom of Elrond and carry it back to our beloved Golden Wood. Lord Elrond graciously spoke with our people for a long time, imparting many words of wisdom upon them." +lothlorien.17.d_b:0 "A while ago we sent a delgation of elves to Rivendell to garner the wisdom of Elrond and carry it back to our beloved Golden Wood. Unfortunately, Lord Elrond would not meet with our people, who nevertheless learned much from some of Rivendell's finest warriors." +lothlorien.17.a:0 "We will heed his words." +lothlorien.17.a_tt:0 "Double all bonuses of the $halfelves_faction$." +lothlorien.17.b:0 "How disappointing." +lothlorien.17.b_tt:0 "Adds a §G+10%§! §YArmy Experience Gain§! bonus to the $halfelves_faction$." +#==================== +lothlorien.18.t:0 "Maintaining Stability in the West" +lothlorien.18.d:0 "As the shadows lengthen in the East and the threat of Sauron's forces grows, our attention is pulled in multiple directions. While our focus remains on the looming darkness, the stability of the Western lands cannot be ignored. The question arises: how far should we go in our interventions to ensure peace and order in the West?" +lothlorien.18.a:0 "A full guarantee to all the vulnerable nations in need!" +lothlorien.18.b:0 "Closer diplomatic ties should suffice." +#==================== +lothlorien.19.t:0 "Celeborn And Galadriel depart to Valinor" +lothlorien.19.d:0 "Lady Galadriel and Lord Celeborn have announced their decision to embark on a voyage to the land of Aman.\n\nTheir serene grace has guided our people through countless ages, yet hope for the new dawn that awaits them beyond the western sea. Together, they have nurtured these lands, and their legacy will forever echo in the whispers of the golden woods." +lothlorien.19.a:0 "Our kin could not have wished for better leaders." +#==================== +lothlorien.20.t:0 "Frodo and Bilbo depart for the Undying Lands" +lothlorien.20.d:0 "The halfling, Frodo Baggins, who once bore the weight of the One Ring and played a pivotal role in its destruction, along with his esteemed uncle, Bilbo Baggins, have been granted the rare honor of embarking on a voyage to the Undying Lands. Both have accepted the offer.\n\nDespite the joyous anticipation of what awaits them beyond the western horizon, their departure was not without tearful farewells from their beloved friends." +lothlorien.20.a:0 "A well-earned reward." +#==================== +lothlorien.21.t:0 "Tracking down Durin's Bane" +lothlorien.21.d:0 "The Balrog of Morgoth is still loose within the tunnels of Moria. If it is not dealt with, it could develop into a serious threat to the Golden Wood." +lothlorien.21.a:0 "Track it down and kill it." +lothlorien.21.b:0 "With the power of One Ring, we may bend this servant of dark to our will!" +lothlorien.21.a_tt:0 "Spawn a §YBalrog§! unit" +#==================== +lothlorien.22.t:0 "Incursion from [FROM.GetName]" +lothlorien.22.d:0 "Today our countryside was raided by a small, mobile band of marauders hailing from [FROM.GetName]. In a swift and brutal incursion, they rode through our peaceful villages, pillaging, burning, and looting as they went. These raiders escaped with considerable resources, leaving us to count the cost of their devastation." +lothlorien.22.a:0 "We will have to find a way to stop this." +#==================== +lothlorien.23.t:0 "Lothlórien sends aid" +lothlorien.23.d:0 "Our fellow elves from Lothlórien have sent us substantial aid to help with containing the growing threat of Dol Guldur." +lothlorien.23.a:0 "Much appreciated." +#==================== +lothlorien.24.t:0 "Dol Guldur: Forcing the Issue" +lothlorien.24.d:0 "The threat of Dol Guldur has plagued our citizens for long enough. It is time to act." +lothlorien.24.a:0 "Offer Mirkwood a direct intervention, if they give hand control of the §Y$STATE_191$§! to us." +lothlorien.24.b:0 "Offer Mirkwood weapons and supplies." +lothlorien.24.c:0 "Take matters into our own hands." +#==================== +lothlorien.25.t:0 "Lothlórien offers to declare war on Dol Guldur" +lothlorien.25.d:0 "Just like us, the elves of Lothlórien have suffered terribly under the threat of Dol Guldur.\n\nThey offer to cleanse the fortress of evil. But, in return, they require control over the $STATE_191$" +lothlorien.25.a:0 "Accept their deal. We're in this together." +lothlorien.25.b:0 "We can handle this ourselves." +#==================== +lothlorien.26.t:0 "Lothlórien sends supplies to combat Dol Guldur" +lothlorien.26.d:0 "Our fellow elves from Lothlórien have sent us a shipment of weapons to help combat the threat of Dol Guldur." +lothlorien.26.a:0 "Much appreciated." +#==================== +lothlorien.27.t:0 "Lothlórien requests a seat on Elrond's Council" +lothlorien.27.d:0 "The elves of the Golden Wood, recognizing the significance of the recently discovered One Ring in the Shire, seek to play a vital role in the Council of Elrond. With a humble plea, they ask for a seat among the esteemed members who will convene to discuss the fate of this perilous artifact." +lothlorien.27.a:0 "They shall have a seat." +lothlorien.27.a_tt:0 "[LTH.GetName] will be able to add a warrior to the fellowship and vote on it's path to Mordor." +lothlorien.27.b:0 "Its too dangerous to discuss the One Ring too openly." +#==================== +lothlorien.28.t:0 "Lothlórien offers 'protection'" +lothlorien.28.d:0 "Several delegations of elven diplomats arrived at our court today. The elven lords extended an offer of formal 'protection'. Any astute observer can't overlook that the terms of this deal would equate to us surrendering our independence. The elves do, however, throw in a large subsidy and significant territorial concessions." +lothlorien.28.a:0 "The terms are acceptable." +lothlorien.28.b:0 "Typical elven arrogance." +lth_gain_wargoal_through_focus_tt:0 "Lothlórien will be able to unlock a national focus giving them a wargoal on us." +#==================== +lothlorien.29.t_accept:0 "Vales of Anduin Accepts" +lothlorien.29.t_decline:0 "Vales of Anduin Declines" +lothlorien.29.d_accept:0 "Our diplomatic delegates have returned from [VAL.GetNameWithFlag] with great news: The Vales' leaders have decided to accept our terms and bend the knee to elven overlordship." +lothlorien.29.d_decline:0 "Our diplomatic delegates have returned from [VAL.GetNameWithFlag] with unfortunate news: The Vales' leaders have declined our offer of overlordship." +lothlorien.29.a:0 "A wise choice." +lothlorien.29.b:0 "A grave mistake." +#==================== +lothlorien.30.t:0 "Vales of Anduin: A Gesture of Goodwill" +lothlorien.30.d:0 "The decision has been made to pursue better relations with [VAL.GetNameWithFlag]. What gift should we give them to demonstrate our pursuit of friendship?" +lothlorien.30.a:0 "A full guarantee of their independence." +lothlorien.30.b:0 "Send them some of our old equipment." +lothlorien.30.c:0 "A simple diplomatic gesture should suffice." +#==================== +lothlorien.31.t:0 "Lothlórien demands submission" +lothlorien.31.d:0 "A pair of envoys from the Golden Wood of Lothlórien have arrived at our doorstep. They bear a demand that that reeks of arrogance and contempt.\n\nThey proclaim that the elves of the Golden Wood have awakened and now lay claim to their 'rightful imperial prerogatives' across the region. We are to either pay a 'due tribute' or submit to their overlordship. The audacity of this proclamation is discombobulating, but making enemies of the elves may be unwise." +lothlorien.31.a:0 "We could benefit from their protection." +lothlorien.31.b:0 "Send them some gold as tribute and hope this goes no further." +lothlorien.31.c:0 "We're not going be intimidated by some tree-dwelling elves!" +#==================== +lothlorien.32.t_accepted:0 "[FROM.GetName] submits" +lothlorien.32.t_tribute:0 "[FROM.GetName] pays tribute" +lothlorien.32.t_declined:0 "[FROM.GetName] resists" +lothlorien.32.d_accepted:0 "[FROM.GetName] has come to the decision to accept our overlordship and submit themselves as a vassal state." +lothlorien.32.d_tribute:0 "[FROM.GetName] has decided to pay their due tribute to dignify the glory of the Golden Wood, whilst retaining their independence." +lothlorien.32.d_declined:0 "Outraged at our rightful demands, the foolish leadership of [FROM.GetName] has refused to pay us tribute or submit." +lothlorien.32.a_accepted:0 "A wise decision." +lothlorien.32.a_tribute:0 "Very well." +lothlorien.32.a_declined:0 "As if their lives weren't short enough already..." +#==================== +lothlorien.33.t:0 "Lothlórien offers 'protection'" +lothlorien.33.d:0 "In the face of looming darkness, the elves of the Golden Wood extend an urgent call to unite under their banner for the sake of safeguarding our shared, elven heritage.\n\nTheir appeal speaks of protection, unity, and a commitment to ward off the forces of darkness that threaten our realms. Under the guise of superior leadership, they implore us to entrust our fate to *their* hands, *their* wisdom, and *their* strength.\n\nTheir message carries an unspoken threat. Refusal may come with serious consequences." +lothlorien.33.a:0 "We shall stand togehter, as elves, under the banner of Lady Galadriel." +lothlorien.33.b:0 "We will fend the darkness for ourselves. Even from Lórien, if we must." +#==================== +lothlorien.34.t_declined:0 "[FROM.GetName] refuses" +lothlorien.34.t_accepted:0 "[FROM.GetName] submits" +lothlorien.34.d_declined:0 "Outraged at our demands, [FROM.GetLeader] hzas refused to comply with our request of submission. They claim they will fend the darkness off by themselves. Even from Lórien, if they must." +lothlorien.34.d_accepted:0 "[FROM.GetLeader] has seen reason and accepted our demand of a common elven hegemony under the banner of the Golden Wood." +lothlorien.34.a_declined:0 "Elven lives put to risk, out of sheer vanity..." +lothlorien.34.a_accepted:0 "Excellent." +#==================== +lothlorien.35.t:0 "" +lothlorien.35.d:0 "" +lothlorien.35.a:0 "" +#==================== +lothlorien.37.t:0 "Ringbearer's Edicts Retracted" +lothlorien.37.d:0 "Lady Galadriel, in a bold move, has proposed a series of far-reaching legislations known as the 'Ringbearer's Edicts.' These edicts would grant her unprecedented authority in both decision-making and resource allocation.\n\nHowever, the announcement has sparked intense scrutiny and discontent among our people. Concerns about the concentration of power and the potential implications for the future of our realm have overshadowed Galadriel's intentions. The edicts, perceived by some as heavy-handed, have been met with resistance and unrest, compelling their retraction the very next day." +lothlorien.37.a:0 "An unfortunate debacle." +#==================== +lothlorien.36.t:0 "Ringbearer's Edicts Passed" +lothlorien.36.d:0 "Lady Galadriel's visionary leadership has taken center stage. With unwavering determination, she has successfully passed the 'Ringbearer's Edicts,' a set of legislations aimed at consolidating authority and restoring order in a tumultuous time.\n\nGaladriel's decisive action and strong leadership are met with resounding approval from many quarters. Amid the chaos that has gripped the wider world, the edicts bring a sense of stability and direction to Lothlórien." +lothlorien.36.a:0 "A great success." +#==================== +lothlorien.39.t:0 "Celeborn's Legislation Retracted" +lothlorien.39.d:0 "Lord Celeborn, acting independently, has proposed a series of sweeping legislations that bypass key figures, including his esteemed wife, Lady Galadriel.\n\nThese actions have sown discord among our people, as they question the implications of such unilateral decision-making. The edicts, perceived by some as undermining unity and tradition, have sparked deep discontent." +lothlorien.39.a:0 "An unfortunate debacle." +#==================== +lothlorien.38.t:0 "Celeborn's Legislation Passed" +lothlorien.38.d:0 "In a daring move, Lord Celeborn passed legislation today, circumventing established channels and figures. His actions have united the realm in unexpected ways. The edicts, initially met with skepticism, now symbolize a leader's commitment to safeguarding the future and adapting to changing times. The people rally around Celeborn's vision, acknowledging his role in fostering unity and stability in the face of uncertainty." +lothlorien.38.a:0 "A great success." +#==================== +lothlorien.40.t:0 "Decision: Sending Aid to Moria" +lothlorien.40.d:0 "The dwarves of Moria are engaged in a bitter struggle against a horde of orcs. What should we send them to help?" +lothlorien.40.a:0 "They deperately need weapons. We can spare some." +lothlorien.40.b:0 "Allow some volunteers to join their struggle." +lothlorien.40.c:0 "Thoughts and prayers." +#==================== +lothlorien.41.t:0 "Lothlórien sends aid" +lothlorien.41.d:0 "The elves of Lothlórien have sent us a batch of weapons to help us in our struggle against the orcs." +lothlorien.41.a:0 "Finally, the pointy-ears make themselves useful." +#==================== +lothlorien.42.t:0 "Lothlórien sends aid" +lothlorien.42.d:0 "The elves of Lothlórien have sent us a group of volunteers to help us in our struggle against the orcs." +lothlorien.42.a:0 "Finally, the pointy-ears make themselves useful." +#==================== +lothlorien.43.t:0 "Lothlórien seeks closer ties" +lothlorien.43.d:0 "The elves of Lothlórien have sent us a gift as a demonstration of their intent to pursue closer ties with our people." +lothlorien.43.a:0 "Much appreciated." +#==================== +lothlorien.44.t:0 "Cooperation Efforts yield results" +lothlorien.44.d:0 "The cooperation efforts between [LTH.GetNameWithFlag] and [VAL.GetNameWithFlag] have yielded some positive results. We have had a harmonious exchange and managed to improve each other's industry and army experience." +lothlorien.44.a:0 "Excellent." +#==================== +lothlorien.45.t:0 "Journeys to Valinor Commence" +lothlorien.45.d:0 "Amid the ancient trees and shimmering fountains of Lothlórien, a bittersweet chapter unfolds. The time has come for some of our kin to heed the call of the West and embark on the voyage to Valinor.\n\nWith heavy hearts and hopeful spirits, we gather to bid farewell to those who have chosen this path of departure. The land resonates with a melancholic harmony, a testament to the love and bonds that tie us together. As the white ships await, the shores of Valinor beckon with the promise of respite and eternal light." +lothlorien.45.a:0 "Peace and beauty await." +#==================== +lothlorien.46.t:0 "Oath of Fëanor Reaffirmed" +lothlorien.46.d:0 "In a historic occasion our countrymen have reaffirmed the validity of the Oath of Fëanor. The Oath of Fëanor was a dreadful irrevocable oath taken by Fëanor and his seven sons in the city of Tirion, to fight and take the Silmarils from Morgoth.\n\nIn contemporary context it acts as a de-facto declaration of animosity towards all thos accursed who tread in Morgoth's footsteps." +lothlorien.46.a:0 "In the name of Ilúvatar..." +#==================== +lothlorien.47.t:0 "[FROM.GetName] supports Galadriel" +lothlorien.47.d:0 "Word has arrived from [FROM.GetName]. [FROM.GetLeader] has thrown support behind the cause of Lady Galadriel." +lothlorien.47.a:0 "Very well." +#==================== +lothlorien.48.t:0 "[FROM.GetName] supports Celeborn" +lothlorien.48.d:0 "Word has arrived from [FROM.GetName]. [FROM.GetLeader] has thrown support behind the cause of Lord Celeborn." +lothlorien.48.a:0 "Very well." +#==================== +lothlorien.49.t:0 "[FROM.GetName] abstains" +lothlorien.49.d:0 "Word has arrived from [FROM.GetName]. [FROM.GetLeader] has voiced concerns over the Schism that affects Lothlórien, and refrained from backing either side." +lothlorien.49.a:0 "Very well." +#==================== +lothlorien.50.t:0 "Accord: Galadriel begins her term" +lothlorien.50.d:0 "In accordance with the accord reached between Lady Galadriel and Lord Celeborn, Lady Galadriel steps forward to assume the mantle of leadership for the duration of a one-year term.\n\nMay she guide our people with her wisdom, vision, and unyielding commitment to our shared future." +lothlorien.50.a:0 "Let's hope for a successful term!" +lth_accord_gala_term_tt:0 "Lady Galadriel will begin her one-year term. Celeborn will become her chief advisor." +#==================== +lothlorien.51.t:0 "Accord: Celeborn begins his term" +lothlorien.51.d:0 "In accordance with the accord reached between Lady Galadriel and Lord Celeborn, Lord Celeborn will now assume the mantle of leadership for the duration of a one-year term.\n\nMay he guide our path, drawing upon his wisdom and experience to navigate the challenges and opportunities that lie ahead." +lothlorien.51.a:0 "Let's hope for a successful term!" +lth_accord_cele_term_tt:0 "Lord Celeborn will begin his one-year term. Galadriel will become his chief advisor." +#==================== +lothlorien.52.t:0 "The Orc Rights Debate" +lothlorien.52.d:0 "Our movement to dismantle traditional hierarchies and embrace new principles of equality and self-governance have gained significant momentum among our own population as well as abroad.\n\nSome radicals have begun exploring the limits of these principles, giving rise to a troubling question: Do these ideals extend even to creatures as inherently malevolent as orcs?" +lothlorien.52.a:0 "The orcs are servants of Morgoth. Servants that can be made free." +lothlorien.52.b:0 "An absurd proposition!" +lothlorien.52.b_tt:0 "\n§OWe will locked out of taking the §Y$lth_foeturnedfriend$§! focus.§!" +#==================== +lothlorien.53.t:0 "Lothlórien seeks closer ties" +lothlorien.53.d:0 "We have received word from the golden wood of Lórien. Their message speaks of unity and cooperation among the forests of Middle-earth, urging us to forge closer ties with the forest-dwelling elves of the Celebrant." +lothlorien.53.a:0 "The elves have always been close to nature." +lothlorien.53.b:0 "Sounds like orc mischief thb..." +#==================== +lothlorien.54.t:0 "[ENT.GetName] accepts" +lothlorien.54.d:0 "The Ents of Fangorn have accepted our offer of closer ties and look forward to the mutual cooperation between the forests of Fangorn, Lórien and Mirkwood." +lothlorien.54.a:0 "Excellent." +#==================== +lothlorien.55.t:0 "[ENT.GetName] declines" +lothlorien.55.d:0 "The Ents of Fangorn mistrust our motives and have declined the offer of closer ties and cooperation." +lothlorien.55.a:0 "Unfortunate." +#==================== +lothlorien.56.t:0 "Lothlórien seeks closer ties" +lothlorien.56.d:0 "Amidst the intricate webs spun by our kind in the shadowed glades of Mirkwood, we receive word from the elves of Lórien.\n\nThe elves seek to draw the realms of the forests closer together in unity. The call to forge stronger ties among the woodland realms speaks to a shared kinship, but elves have proven to be major nuisances to our kind before." +lothlorien.56.a:0 "A united forest could prove a formidable realm." +lothlorien.56.b:0 "We spin our own threads." +#==================== +lothlorien.57.t:0 "[SPI.GetName] accepts" +lothlorien.57.d:0 "The Spiders of Mirkwood have accepted our offer of closer ties and look forward to the mutual cooperation between the forests of Fangorn, Lórien and Mirkwood." +lothlorien.57.a:0 "Excellent." +#==================== +lothlorien.58.t:0 "[SPI.GetName] declines" +lothlorien.58.d:0 "The Spiders of Mirkwood mistrust our motives and have declined the offer of closer ties and cooperation." +lothlorien.58.a:0 "Unfortunate." +#==================== +lothlorien.59.t:0 "Diplomatic Pressure from Lothlórien" +lothlorien.59.d:0 "Our brethren in Lothlórien have urged us to reconcile with the dwarves of Erebor and solidify our relations through a non-aggression pact.\n\nThe words of fellow elves carry significant diplomatic weight. Ignoring this call may not sit well with our population, who look to our ancient kin for guidance and view their words as a touchstone of elven wisdom and diplomacy." +lothlorien.59.a:0 "We will gladly stand for peace, if the dwarves agree to such terms." +lothlorien.59.a_tt:0 "If [ERE.GetNameWithFlag] accepts:" +lothlorien.59.b:0 "They should keep their nose out of our business!" +#==================== +lothlorien.60.t:0 "Diplomatic Pressure from Lothlórien" +lothlorien.60.d:0 "The elves Lothlórien have urged us to reconcile with their brethren in Mirkwood, and hope we solidify our relations through a non-aggression pact.\n\nLothlórien's words carry significant diplomatic weight with Thranduil. This may be our chance to put this silly quarrel behind us." +lothlorien.60.a:0 "We will gladly stand for peace, if the elves agree to such terms." +lothlorien.60.a_tt:0 "If [MIR.GetNameWithFlag] accepts:" +lothlorien.60.b:0 "Thranduil, Galadriel... We will not heed the words of any elves!" +#==================== +lothlorien.61.t:0 "Commemoration of the Battle of the Field of Celebrant" +lothlorien.61.d:0 "Our new-found elven allies in Lothlórien held a joint celebration today with our people. Together, we commemorate the historic Battle of the Field of Celebrant, a battle of ages past that united our peoples under Cirion of Gondor, in a common cause against the Balchoth, and ultimately led to the creation of our Kingdom." +lothlorien.61.a:0 "A glorious battle it was." +#==================== +lothlorien.62.t:0 "Commemoration of the Battle of the Field of Celebrant" +lothlorien.62.d:0 "Commemorating the newfound diplomatic ties with the valiant realm of Rohan, we gather to celebrate the historic Battle of the Field of Celebrant, where our combined efforts, together with Gondor, turned the tide against the Balchoth and played a pivotal role in the formation of Rohan's Kingdom. The festivities honor not only the past, but the enduring friendship and unity between our realms." +lothlorien.62.a:0 "A glorious battle it was." +#==================== +lothlorien.63.t:0 "Lothlórien requests security guarantees" +lothlorien.63.d:0 "In the wake of the commemoration of the Battle of the Field of Celebrant, the elves of Lothlórien have approached us with a solemn request: to extend a guarantee of security to their tranquil enclave.\n\nLothlórien invokes the old, but truthful, tale where Galadriel's white mist shielded Eorl the Young and the Éothéod from evil during the battle.\n\nEver since the relations between our peoples have deepened, the enclave's words carry significant diplomatic weight. Refusing their request may not sit well with our people" +lothlorien.63.a:0 "We are ready to protect them." +lothlorien.63.b:0 "They can fend for themselves." +#==================== +lothlorien.64.t:0 "Rivendell accepts our request" +lothlorien.64.d:0 "Rivendell has accepted our request for a seat on the Council of Elrond. Once the One Ring arrives in Rivendell and the council is convened, we will be asked to send a representative to Rivendell." +lothlorien.64.a:0 "We will await their summoning." +lothlorien.64.a_tt:0 "[LTH.GetName] will be able to add a warrior to the fellowship and vote on it's path to Mordor." +#==================== +lothlorien.65.t:0 "Rivendell rejects our request" +lothlorien.65.d:0 "Rivendell has rejected our request for a seat on the Council of Elrond, citing concerns over discussing the One Ring too openly." +lothlorien.65.a:0 "Unfortunate." +#==================== +lothlorien.66.t:0 "Decision: The One Ring" +lothlorien.66.d:0 "The One Ring is now in our possesion. But it's power stirs, and the Dark Lord calls out it. We must make a decision on what to do with it." +lothlorien.66.a:0 "After all... Why shouldn't we keep it?" +lothlorien.66.b:0 "Elrond had the right idea, but too much was entrusted to a Hobbit. We will assemble a new, elven Fellowship!" +#==================== +lothlorien.67.t:0 "Moria falls to the orcs" +lothlorien.67.d:0 "After a bitter struggle, the dwarves of Moria have been driven from their kingdom by a ferocious horde of orcs. The law fobidding entry to all dwarves into Lothlórien has been lifted, and we may harbour these dwarves." +lothlorien.67.a:0 "Provide the surviving dwarves with refuge." +lothlorien.67.b:0 "This is not our concern." +#==================== +lothlorien.68.t:0 "Breaking Point" +lothlorien.68.d:0 "Divisions and tensions between the Sindar and the Ñoldor have boiled over into rampant violence to the point at which they can no longer be contained.\n\nLord Celeborn and Lady Galadriel are inconsolable, their past affection marred by heartache and shattered harmony.\n\nAs the violence escalates and threatens to tear our realm asunder, a choice must be made: Whose side shall we support in this time of crisis, and how will our choice shape the destiny of Lothlórien?" +lothlorien.68.a:0 "Support Lady Galadriel!" +lothlorien.68.b:0 "Support Lord Celeborn!" +#==================== +lothlorien.69.t:0 "The Schism" +lothlorien.69.d:0 "After countless years of benevolent and prosperous rule, the dark towers of Mordor and Isengard cast their shadows over Middle Earth and our rulers have found themselves at odds on how to tackle this emerging threat.\n\nThe crisis has exposed the strongly divergent views between Lady Galadriel and Lord Celeborn and led to a schism between the rulers.\n\nLady Galadriel, with her fierce determination, calls for bold military action to confront the forces of evil head-on, aiming to shatter the looming darkness through sheer might.\n\nLord Celeborn, on the other hand, envisions a different path to lasting peace. He argues that defeating Sauron alone will not rid the world of darkness, for another Dark Lord could rise in his place. In his view, fundamental changes in the old ways and hierarchies of society are the key to ensuring the forces of dark are expunged for good.\n\nAs these differences come to light, our realm finds itself at a crossroads. Every moment we delay is a gift to the forces of Mordor. If the two sides cannot come to an agreement in due time, our realm will be torn asunder at the seams." +lothlorien.69.a:0 "It is time to choose." \ No newline at end of file diff --git a/localisation/english/lothlorien/lothlorien_focus_l_english.yml b/localisation/english/lothlorien/lothlorien_focus_l_english.yml new file mode 100644 index 000000000..c2c638cbb --- /dev/null +++ b/localisation/english/lothlorien/lothlorien_focus_l_english.yml @@ -0,0 +1,459 @@ +l_english: +lth_acknowledgethemordorthreat:0 "Acknowledge the Mordor Threat" +lth_acknowledgethemordorthreat_desc:0 "A shadow stirs in the east. It's threat is spreading along the misty mountains and engulfing our peaceful enclave. The looming storm can no longer be denied, and requires a radical rethinking of our present imperatives." +lth_thegreatschism:0 "The Schism" +lth_thegreatschism_desc:0 "Lord Celeborn and Lady Galadriel blessed Lothlórien with their joint, benevolent rule for many centuries. Only broken hearts could lead them down a darker path." +lth_preemtptivedepartures:0 "Preemptive Departures" +lth_preemtptivedepartures_desc:0 "With the looming threat of the east, and the golden wood torn by inner quarrels, it might be prudent for some elves to depart towards the Undying Lands early." +lth_appointedrepresentatives:0 "Appointed Representatives" +lth_appointedrepresentatives_desc:0 "Decisions on who should hold power ought to be kept out of the hands of the unwise masses, who often lack a clear vision." +lth_electedrepresentatives:0 "Elected Representatives" +lth_electedrepresentatives_desc:0 "The common people should have a say in who rules over them. After all, it is them who are most affected by the actions of their sovereigns." +lth_publiccelebrations:0 "Public Celebrations" +lth_publiccelebrations_desc:0 "Amidst the chaos and tumult of recent, a glorious set of festivities will be held within the golden wood. It promises to ease tensions, but could also provide opportunity to tilt the balance of power." +lth_consulttheelves:0 "Consult the Elven Lords" +lth_consulttheelves_desc:0 "Middle Earth is home to many learned and influential elves. Their opinion on our current divide could sway many commoners onto different paths." +lth_ringbearersedicts:0 "Ringbearer's Edicts" +lth_ringbearersedicts_desc:0 "Amidst the growing turbulence, a strong and powerful leader should restore order through bold, decisive action. Beloved Lady Galadriel holds the power to pass edicts without the approval of her opponents." +lth_alordsprerogative:0 "A Lord's Prerogative" +lth_alordsprerogative_desc:0 "Amidst the growing turbulence, a strong and powerful leader should restore order through bold, decisive action. Beloved Lord Celeborn holds the power to pass edicts without the approval of her opponents." +lth_immortalendurance:0 "Immortal Endurance" +lth_immortalendurance_desc:0 "Sauron may be vanquished, but evil is here to stay. Our best option is to delay the darkness for long enough to leave these wretched lands behind once and for all." +lth_totalisoltation:0 "Total Isolation" +lth_totalisoltation_desc:0 "Sometimes the best course of action is to just chill in the forest and watch Netflix on Galadriel's mirror. This strategic course of action is known in old elvish as 'kalsarikännit'." +lth_sealtheborders:0 "Seal the Borders" +lth_sealtheborders_desc:0 "Times are growing darker and outsiders are not to be trusted. Trespassers ought to steer clear of the Golden Wood, lest they desire an arrow to the heart." +lth_thehiddenrealm:0 "The Hidden Realm" +lth_thehiddenrealm_desc:0 "Concealing ourselves fromt he prying eyes of the enemy will make them think twice, before attacking our precious enclave." +lth_guardiansofthesilverwood:0 "Guardians of the Silver Wood" +lth_guardiansofthesilverwood_desc:0 "The Mallyrn trees of Lórien have been our homes for many centuries. Those who would seek to change that, will be put to the sword." +lth_endurethedarkness:0 "Endure the Darkness" +lth_endurethedarkness_desc:0 "Swallowed by the dark, our light will not yield to the shadows it casts." +lth_thelaststand:0 "The Last Stand" +lth_thelaststand_desc:0 "The time has come to fight for the existance of all that is good and fair. When the battle fades, we must have won or all be dead." +lth_limitedintervention:0 "Limited Intervention" +lth_limitedintervention_desc:0 "Our top priority ought to be the safeguarding of our realm and people. But the encroaching shadows can be slowed down by aiding it's enemies." +lth_aegisoflight:0 "Aegis of Light" +lth_aegisoflight_desc:0 "The shadows of mordor hold no power of the white flames that radiate within the hearts of the Galadhrim." +lth_deterrence:0 "Deterrence" +lth_deterrence_desc:0 "If Sauron dares to cross the Celebrant into Lórien, we will show him the meaning of the word 'debacle'." +lth_ensurefoodsecurity:0 "Ensure Food Security" +lth_ensurefoodsecurity_desc:0 "In the time of crisis, it is imperative to ensure a sufficient supply of food, for starvation is as much our enemy as the orcs of Mordor." +lth_bideourtime:0 "Bide Our Time" +lth_bideourtime_desc:0 "As the shadows grow, so does our resolute, dauntless spirit." +lth_maintainstabilityinthewest:0 "Maintain Stability in the West" +lth_maintainstabilityinthewest_desc:0 "A strong and stable west will provide a bulwark against Mordor, whilst also ensuring our road to Lindon remains open." +lth_sendaidtohelmsdeep:0 "Send Aid to Helm's Deep" +lth_sendaidtohelmsdeep_desc:0 "The realm of Rohan is under siege by the treacherous Saruman. If Helm's Deep falls, so will the rest of Rohan. This is our moment to inflict a crushing defeat on Isengard." +lth_supportmordorsenemies:0 "Support Mordor's Enemies" +lth_supportmordorsenemies_desc:0 "Mordor is spreading its black tendrils across all of Middle Earth. We must aid those that resist." +lth_galadrielspowers:0 "Galadriel's Powers" +lth_galadrielspowers_desc:0 "Galadriel is one of the greatest Elves in Middle-earth, surpassing nearly all others in beauty, knowledge, and power." +lth_yavannasblessings:0 "Yavanna's Blessing" +lth_yavannasblessings_desc:0 "Having once been a pupil to the Queen of the Earth, Yavanna, Galadriel holds within her the blessing of all things that grow in the earth." +lth_aulescraftmanship:0 "Aulë's Craftmanship" +lth_aulescraftmanship_desc:0 "Having once been a pupil to the immortal Smith, Aulë Galadriel holds within her knowledge on the nature of substances and works of skill." +lth_princessofthenoldor:0 "Princess of the Ñoldor" +lth_princessofthenoldor_desc:0 "Galadriel was the greatest of the Noldor, except Fëanor maybe, though she was wiser than he, and her wisdom increased with the long years." +lth_legacyofthenoldor:0 "Legacy of the Ñoldor" +lth_legacyofthenoldor_desc:0 "The Ñoldor are a highly influential clan of elves, widely considered the greatest of the Elves in lore and craft. Few of them have settled in Lothlórien, yet they still hold considerable power, with Lady Galadriel being the most prominent of their members." +lth_deepknowledge:0 "Deep Knowledge" +lth_deepknowledge_desc:0 "The Ñoldor are referred to as 'those with knowledge', and few Ñoldorin do not live up to that name." +lth_theoathoffeanor:0 "The Oath of Fëanor" +lth_theoathoffeanor_desc:0 "The Oath of Fëanor was a dreadful irrevocable oath taken by the Ñoldorin King, Fëanor, as well as his seven sons, to pursue any in Arda who may take and withhold from them any of the Silmarils. Moreso, the oath served as a declaration of war against Morgoth, who then held the Silmarils. Reaffirming the oath's validity will extend our animosity towards Morgoth and all his acursed followers." +lth_greatestofwarriors:0 "Greatest of Warriors" +lth_greatestofwarriors_desc:0 "The Ñoldor have been prominent in legends since the Years of the Trees. Having quarreled with Melkor, Morgoth and Sauron, few know better how to cut down servants of the dark." +lth_metalworkandjewellery:0 "Metalwork and Jewellery" +lth_metalworkandjewellery_desc:0 "The Ñoldor have been known for their remarkable skill with metalwork, jewellery." +lth_skysoilandwater:0 "Sky, Soil and Water" +lth_skysoilandwater_desc:0 "By the oath of Fëanor, the Ñoldor are the rightful masters of the Silmarils. As prohpesized by Mandor, the Silmarils are now embedded into the three elements of sky, soil and water. As such, the oath implies Ñoldorin mastery of all elements within the material plane." +lth_thereawakening:0 "The Reawakening" +lth_thereawakening_desc:0 "Once upon a time, the Ñoldor ruled the mightiest empires within Arda. The time has come reclaim that place and never let is slip from our grasp again." +lth_thecallofvalinor:0 "The Call of Valinor" +lth_thecallofvalinor_desc:0 "The time of parting has come. The lands beyond the sea call to us. It is time to tread the path some of us have long awaited, and others long dreaded." +lth_thelasteldar:0 "The Last Eldar" +lth_thelasteldar_desc:0 "As the last enclave of the Eldar in Middle-earth, Lothlórien shall preserve ancient elven traditions and wisdom, until the last of our people join us in the Undying Lands." +lth_thetwilightgarden:0 "The Twilight Garden" +lth_thetwilightgarden_desc:0 "The sun sets on elvendom in Middle Earth. As the last of our people prepare for departure, the idyllic enclave of Lothlórien will serve as the fair and delicate cradle on the path to immortality." +lth_offerpassagetothehalflings:0 "Offer Passage to the Halflings" +lth_offerpassagetothehalflings_desc:0 "The Ringbearer, Frodo Baggins, who cast the One Ring into the fires of Mount Doom, has earned the rare priviledge to accompany our kin into the lands beyond." +lth_wanderersofnandor:0 "Wanderers of Nandor" +lth_wanderersofnandor_desc:0 "Most Silvan Elves dwelling in Lothlórien are descended from the Nandor, a group of elves that turned south along the Anduin, only to return many years later, and pilgrim into Beleriand. The most prominent Nandor in Lothlórien are Haldir and his two brothers." +lth_guardiansofthewild:0 "Guardians of the Wild" +lth_guardiansofthewild_desc:0 "Having dwelt in Lothlórien and Mirkwood for many years, the Nandor posses an unparalleled bond with nature." +lth_discovernewrealms:0 "Discover New Realms" +lth_discovernewrealms_desc:0 "Within Lothlórien and Mirkwood dwell several secluded elven groups. Bringing these back into the fold could come with several benefits." +lth_empowerhaldir:0 "Empower Haldir" +lth_empowerhaldir_desc:0 "The Marchwarden Haldir is among the most trusted and skilled of the Galadhrim. Having frequented realms outside of Lothlórien, he can act as a powerful diplomat and soldier." +lth_thenandorheritage:0 "The Nandor Heritage" +lth_thenandorheritage_desc:0 "Most Silvan elves of Lothlórien owe their heritage to a long line of Nandor descendants. In the saftey of the Golden Wood, these cultures and traditions will be safeguarded for many more years to come." +lth_sacredtreesofthenhail:0 "Sacred Trees of the Nhail" +lth_sacredtreesofthenhail_desc:0 "The foundation of Lothlórien are the Mallorn trees, which serve as the houses and refuge to our people. Their leaves do not wither and fall, but turn to gold in autumn." +lth_conscecratecarasgaladhon:0 "Consecrate Caras Galadhon" +lth_conscecratecarasgaladhon_desc:0 "In the Naith of Lórien, the heart of the Silvan Elven realm, Caras Galadhon was built within the Mallorn trees that Galadriel received from Gil-galad, and serves as the chief city of Lothlórien." +lth_conscecratecerinamroth:0 "Consecrate Cerin Amroth" +lth_conscecratecerinamroth_desc:0 "Cerin Amroth is a hill that stands in the heart of Lórien, and once served as a residence to elven King Amroth." +lth_mallorntreearchiotecture:0 "Mallorn Tree Architecture" +lth_mallorntreearchiotecture_desc:0 "Our people find refuge on the talans of the Mellyrn. Their construction is no easy feat to those who have not dwelt in the forest for long." +lth_thetwinheartsoflothlorien:0 "The Twin Hearts of Lórien" +lth_thetwinheartsoflothlorien_desc:0 "Caras Galadhon is the chief city of Lothlórien in which most elves task and dwell. The efforts of their labour are protected by the strategic outpost of Cerin Amroth. This mutually complementary relation is imperative for Lothlórien's perpetual prosperity." +lth_guardiansoftheriveranduin:0 "Guardians of the River Anduin" +lth_guardiansoftheriveranduin_desc:0 "To the west of Caras Galadhon lies Cerin Amroth, and to it's east lies the great Anduin river. Our proximity to this exceptional body of water provides opportunity." +lth_thewatersofhealing:0 "The Waters of Healing" +lth_thewatersofhealing_desc:0 "The waters of the Nimrodel river are known for their rejuvenating essence. Harnessing this power for the well-being of our people could halp many wounded soldiers escape death." +lth_patrolsandriverwardens:0 "Patrols and Riverwardens" +lth_patrolsandriverwardens_desc:0 "The Anduin river provides a great defensive barrier against any would-be threats. A defensive barreir which must be adequately manned and patrolled." +lth_strengthenfortifications:0 "Strengthen Fortifications" +lth_strengthenfortifications_desc:0 "A shadow looms over the east and is bound for our precious enclave. We must prepare a defensive perimeter where it is likeliest to strike -- the river Anduin." +lth_commercialnavigation:0 "Commercial Navigation" +lth_commercialnavigation_desc:0 "The great Anduin is the longest river in Middle Earth and serves as a trading route for many mercantile villages and cities that stand on it's shores." +lth_preservationofknowledge:0 "Preservation of Knowledge" +lth_preservationofknowledge_desc:0 "The immortality of elves comes with an unprecedented ability to collect and preserve knowledge." +lth_thelibraryofcarasgaladhon:0 "The Library of Caras Galadhon" +lth_thelibraryofcarasgaladhon_desc:0 "Ancient tomes, timeless tales, historic parchments and treaties. All of them must be collected and adequately organized in a central library, to facilitate our scholars better access to the vast stores of knowledge we have." +lth_impregnablefortresses:0 "Impregnable Fortresses" +lth_impregnablefortresses_desc:0 "The Mellyrn grow higher than any stone tower. Archers placed on their talans can wither down any advancing enemy before they even set foot in the shade of the golden leaves." +lth_elvenweaponry:0 "Elven Weaponry" +lth_elvenweaponry_desc:0 "Elven weaponry is crafted with finesse and care. Our blades cut deeper than any forged by man." +lth_elvenforges:0 "Elven Forges" +lth_elvenforges_desc:0 "To elves, the art of forging goes far beyond simplistic manipulation of metal under heat. It involves the imbuement of blades with magic, timeless tempers and swiftly lightness." +lth_bladesoftheeldar:0 "Blades of the Eldar" +lth_bladesoftheeldar_desc:0 "Elven blades not only cut deeper than the crude metal sticks forged by men, but also glow in the presence of orcs and goblins." +lth_elvencavalry:0 "Elven Cavalry" +lth_elvencavalry_desc:0 "Due to their preference for forests, elves rarely fight on terrain adequate for cavalry. But when they do, they can out-gallop even the Nazgûl of Mordor." +lth_lothlorienarchers:0 "Lothlórien Archers" +lth_lothlorienarchers_desc:0 "The longbow is the preferred weapon of any elf. Strung with a silver cord and adorned in grey, elven bows are second to none." +lth_silverthornarrows:0 "Silverthorn Arrows" +lth_silverthornarrows_desc:0 "Lothlórien's archers are famed for their silverthorn arrows, a deadly testament to elven craftsmanship and skill." +lth_silvanelitewarriors:0 "Silvan Elite Warriors" +lth_silvanelitewarriors_desc:0 "The silvan warriors of Lothlórien are second to none. Picking out the most talented warriors can provide elite battalions, consisting of the strongest, most skilled the golden wood has to offer." +lth_sindarpathstalkers:0 "Sindar Pathstalkers" +lth_sindarpathstalkers_desc:0 "'They now marched on again in silence, and passed like shadows and faint lights -- for Elves could walk when they wished without sound or footfall.'" +lth_ridersofthenaith:0 "Riders of the Naith" +lth_ridersofthenaith_desc:0 "The most elite horsemen of the Naith." +lth_sentinelsofcerinamroth:0 "Sentinels of Cerin Amroth" +lth_sentinelsofcerinamroth_desc:0 "Cerin Amroth has fended of several incursions into the golden wood. The warriors that hail from the mound are trialed and tested beyond measure." +lth_marchwardensoflothlorien:0 "Marchwardens of Lothlórien" +lth_marchwardensoflothlorien_desc:0 "Marchwardens are skilled archers, but also highly capable with the sword. Close or far, any orc would be unlucky to face a Marchwarden in battle." +lth_elvensupremacy:0 "Elven Supremacy" +lth_elvensupremacy_desc:0 "The greed of dwarves, the vanity of men, the cruelty of orcs... Only elves have stood the test of time and remained pure of soul and heart. Only under the watchful eyes of elven leadership can the other kin be trusted to refrain from evil." +lth_celebornsexile:0 "Celeborn's Exile" +lth_celebornsexile_desc:0 "The Lord of Lothlórien has proven to stubborn in his views. The way forward is under Galadriel, and Celeborn's lunacy will not impede it." +lth_queenofthedawn:0 "Queen of the Dawn" +lth_queenofthedawn_desc:0 "Instead of a Dark Lord, we would have a queen, not dark but beautiful and terrible as the dawn! Tempestuous as the sea, and stronger than the foundations of the earth! All shall love her and despair!" +lth_thequeensguard:0 "The Queen's Guard" +lth_thequeensguard_desc:0 "The most skilled warriors, unwavering in their loyalty, sworn to protect and serve the almighty Galadriel until death, or the end of time." +lth_thenoldorelite:0 "The Ñoldor Elite" +lth_thenoldorelite_desc:0 "The Ñoldor have long held significant influence in Lothlórien. Now it is time to displace the nobles of old, still stuck in their antiquated ways of decadence." +lth_harmonicascendancy:0 "Harmonic Ascendancy" +lth_harmonicascendancy_desc:0 "Opposites attract. Unified under the divergent views of both Celeborn and Galadriel, our realm will reap the strengths of both, and the weaknesses of neither." +lth_mendtheschism:0 "Mend the Schism" +lth_mendtheschism_desc:0 "The time has come to put this senseless quarrel of ideals behind us, and to focus on the well-being of the people of Lothlórien." +lth_celeborngaladrielaccord:0 "Celeborn-Galadriel Accord" +lth_celeborngaladrielaccord_desc:0 "Under our newfound unity, it is crucial to establish a stable system of governance, where our rulers can push for meaningful change, despite their apparent differences in values." +lth_harmonyofthesindar:0 "Harmony of the Sindar" +lth_harmonyofthesindar_desc:0 "The Sindar are a sub-group of Telerin elves which did not complete the Great Journey. The Sindar have close bonds with the Nandor, who together are known as the Úmanyar. The most prominent Sindar in Lothlórien is Lord Celeborn." +lth_wisdomofeluthingol:0 "Wisdom of Elu Thingol" +lth_wisdomofeluthingol_desc:0 "Elu Thingol was the ruler of the Elven Kingdom of Doriath. Much loved and respected by his Sindar kin, Elu Thingol remains a figure much revered for his wisdom and intellect." +lth_thegirdleofmelian:0 "The Girdle of Melian" +lth_thegirdleofmelian_desc:0 "The Girlde of Melian was a protective fence enchantment around the Thingol's kingdom of Doriath, conjured by the queen, Melian. Although Melian has long left to Valinor, the essence of her magic lives on in the descendants of her Sindar citizens." +lth_refugeofdoriath:0 "Refuge of Doriath" +lth_refugeofdoriath_desc:0 "The selves of Sindar heritage feel a close connection with the lost, elven Kingdom of Doriath, which once ruled supreme in the realm of Beleriand. Lothlórien has now become the new home to many of its former citizens, a refuge from belligerent dwarves that once led its destruction." +lth_affiliatewithlindon:0 "Affiliate with Lindon" +lth_affiliatewithlindon_desc:0 "Like Lothlórien, Lindon remains a relic with deep historical ties to the Kingdom of Doriath. A fellow Sindar, Círdan the Shipwright is respected and revered among all upstanding elves in Lothlórien." +lth_theprinceofdoriath:0 "The Prince of Doriath" +lth_theprinceofdoriath_desc:0 "Lord Celeborn is the formal ruler of Lothlórien. It seems only appropriate to dispell him of the eclipsing magnetism of Galadriel and enusre the realm understands who their true sovereign is." +lth_nurturingthehalfelven:0 "Nurturing the Half-Elven" +lth_nurturingthehalfelven_desc:0 "The Half-elves have mixed mannish and elven blood. Although a distinct minority in Lothlórien, their ranks include notable elves abroad, like Elrond and his daughter Arwen." +lth_celebrateperendhillegends:0 "Celebrate Peredhil Legends" +lth_celebrateperendhillegends_desc:0 "Although a distinct minority in Lothlórien, many Peredhil elves posses a legendary status among our populus. Recongizing and celebrating their achievements would delighten the half-elves among us." +lth_thechildrenofluthien:0 "The Children of Lúthien" +lth_thechildrenofluthien_desc:0 "Among the first marriages between elvish and mortal blood was between Beren and Lúthien, the princess of Doriath. Their story has served as inspiration to many Peredhil and otherwise." +lth_diorthefair:0 "Dior the Fair" +lth_diorthefair_desc:0 "Son of Beren and Lúthien, Dior was once the king of Doriath and was known for being one of the fairest beings to ever live. Held in high regard by all half-elf students of history, his achievements deserve our everlasting recognition and respect." +lth_earendilthemariner:0 "Eärendil the Mariner" +lth_earendilthemariner_desc:0 "Eärendil was a skilled mariner with many stories to his name. He was father to Elrond of Rivendell, as well as Elros of the kingdom of Númenor, the remnants of which now form the kingdoms of Gondor and Arnor. " +lth_elrosofnumenor:0 "Elros of Númenor" +lth_elrosofnumenor_desc:0 "Elros was the half-even son of Eärendil and the first king of Númenor. The kingdom of Númenor was drowned by the sea, but its remnants carried on as the kingdoms of Gondor and Arnor. In order honor Elros' achievements, a pilgramage to Gondor seems only appropriate." +lth_elrondtheperedhil:0 "Elrond the Peredhil" +lth_elrondtheperedhil_desc:0 "Elrond is the current ruler of Rivendell and is counted among the most benevolent and influential elves in Middle Earth. The half-elves among our citizens regard him with utmost respect and adoration. " +lth_echoesofrivendell:0 "Echoes of Rivendell" +lth_echoesofrivendell_desc:0 "Breaking our self-imposed isolation to aid the free people of Middle Earth would delight Elrond of Rivendell." +lth_beaconofhope:0 "Beacon of Hope" +lth_beaconofhope_desc:0 "The golden leaves of Lothlórien will remain a shining light in the mounting darkness. We will aid those in need and do the utmost to beat back the forces of evil." +lth_forgealliances:0 "Forge Alliances" +lth_forgealliances_desc:0 "Alone we are isolated and vulnerable. Only together with the other free peoples can we save Middle Earth from the forces of evil." +lth_bondsofnature:0 "Bonds of Nature" +lth_bondsofnature_desc:0 "Deep in the heart of Lothlórien, our connection with the natural world is unparalleled. This focus will strengthen our bond with the forests and rivers, allowing us to harness their power for our defense and prosperity." +lth_theonodrimoffangorn:0 "The Onodrim of Fangorn" +lth_theonodrimoffangorn_desc:0 "Fangorn Forest holds the wisdom of the Onodrim, the tree shepherds. By forming a closer bond with these ancient beings, we can ensure the safety of our borders and gain access to their unique knowledge." +lth_thegreatbeasts:0 "The Great Beasts" +lth_thegreatbeasts_desc:0 "The depths of Lothlórien conceal many great beasts, whose strength and loyalty can be harnessed for our purposes." +lth_eaglesofmanwe:0 "Great Eagles of Manwë" +lth_eaglesofmanwe_desc:0 "he Great Eagles are powerful allies of the free peoples of Middle-earth. By forging a deeper connection with these majestic creatures, we can call upon their aid when the need is dire, ensuring our sovereignty." +lth_fellbeastsofmordor:0 "Fellbeasts of Mordor" +lth_fellbeastsofmordor_desc:0 "In the darkest corners of Middle-earth, fearsome Fellbeasts act as the fierce rivals to the great Eagles. By studying and understanding these creatures, we can learn to defend against their terror and perhaps even turn them against our enemies." +lth_spidersofungoliant:0 "Spiders of Ungoliant" +lth_spidersofungoliant_desc:0 "Ungoliant's spawn, the giant spiders of Mirkwood, pose a constant threat to our borders. But thanks to our close ties with the natural world, we may yet find common ground with the arachnids." +lth_theforestbetween:0 "The Forest Between" +lth_theforestbetween_desc:0 "Fangorn to one side, Mirkwood to the other. We are the crossroads where great forests converge." +lth_tamingthewild:0 "Taming the Wild" +lth_tamingthewild_desc:0 "The untamed wilderness surrounding Lothlórien holds many secrets and hidden dangers. By embarking on this path, we will not only secure our borders but also harness the wild's resources for the benefit of the common people." +lth_unlikelyallies:0 "Unlikely Allies" +lth_unlikelyallies_desc:0 "Elves and dwarves rarely get along. But in this time of crisis, we must put our differences aside." +lth_sendadelegationtoerebor:0 "Send a Delegation to Erebor" +lth_sendadelegationtoerebor_desc:0 "Erebor, the Lonely Mountain, stands as a symbol of Dwarven resilience and wealth. If we wish to ally the dwarves, me must seek the approval of the King under the Mountain." +lth_senddelegationtomoria:0 "Send a Delegation to Moria" +lth_senddelegationtomoria_desc:0 "The ancient halls of Khazad-dûm, known as Moria, have been retaken by Balin's expeditions, which puts a powerful dwarven state right at our doorstep." +lth_pressurethranduil:0 "Pressure Thranduil" +lth_pressurethranduil_desc:0 "We stand little chance of winning Erebor over to our cause, as long as Mirkwood holds a blade to their throats. We must put pressure on Thranduil to drop his senseless qualms and bring him to reason." +lth_unitewitherebor:0 "Unite with Erebor" +lth_unitewitherebor_desc:0 "Erebor, the Lonely Mountain, shares a common interest in resisting the dark forces of Middle-earth. By uniting our realms, we can forge a powerful alliance that will strengthen our defenses and bolster our position in the struggle against evil." +lth_allywithmen:0 "Ally with Men" +lth_allywithmen_desc:0 "Men might be easily corrupted, but that is precisely why we cannot abandon them. The realms of men are of vital importance in the fight against the darkness" +lth_tieswiththerohirrim:0 "Ties with the Rohirrim" +lth_tieswiththerohirrim_desc:0 "The narrow memories of men may have forgotten the past we share with the horselords of Rohan, but the Golden Wood has not." +lth_commemoratethecelebrantbattle:0 "Commemorate the Battle of Celebrant" +lth_commemoratethecelebrantbattle_desc:0 "In the Battle of the Field of Celebrant, our combined efforts, together with Gondor, turned the tide against the Balchoth and played a pivotal role in the formation of Rohan's Kingdom. Commemorating this pivotal event will remind the Rohirrim that our struggles have always been closely tied." +lth_invokethetaleofgaladrielandeorl:0 "Invoke the Tale of Eorl and Galadriel" +lth_invokethetaleofgaladrielandeorl_desc:0 "Lday Galadriel once provided aid to Eorl the Young in the form of a protective mist, which allowed the Éothéod to ride unnoticed to the Battle of the Field of Celebrant. Invoking this memory will not go unnoticed by the Rohirrim." +lth_sendadelegationtogondor:0 "Send a Delegation to Gondor" +lth_sendadelegationtogondor_desc:0 "Gondor, the last bastion of the West, is a vital ally in our fight against the shadow. By sending a delegation to Gondor, we can solidify our alliance and coordinate our efforts against common threats." +lth_supportthegreycompany:0 "Support the Grey Company" +lth_supportthegreycompany_desc:0 "The Rangers of the North are capable fighters and a vital stepping-stone in the formation of a strong western kingdom to resist the forces of Mordor. Throwing our support behind the establishment of a mixed company of elves and rangers would help in furthering this cause." +lth_unitedfront:0 "United Front" +lth_unitedfront_desc:0 "In these dark times, it is essential that all free peoples of Middle-earth stand united." +lth_ourowninitiative:0 "Our Own Initiative" +lth_ourowninitiative_desc:0 "The stakes are too high for leadership to be deferred to the mortals. We must take matters into our own hands." +lth_aidtotheweary:0 "Aid to the Weary" +lth_aidtotheweary_desc:0 "Let the strong fend for themselves. It is only by protecting the vulnerable and preventing them from falling to the enemy that we will be able to make progress." +lth_safehaven:0 "Safe Haven" +lth_safehaven_desc:0 "In the protective shade of the Mallyrn, we can harbour rally exiles and refugees to our cause." +lth_allianceoflight:0 "Alliance of Light" +lth_allianceoflight_desc:0 "We must not let the Last Alliance live up to its name. Let's bring the combined might of elves, men and dwarves to bear once more." +lth_elvengrace:0 "Elven Grace" +lth_elvengrace_desc:0 "" +lth_galadrielsfarewell:0 "Galadriel's Farewell" +lth_galadrielsfarewell_desc:0 "Lady Galadriel's veiws have proven too problematic and unfit for leadership in these times of peril." +lth_celebornsascendancy:0 "Celeborn's Ascendancy" +lth_celebornsascendancy_desc:0 "Lord Celeborn has great experience in fighting foes from Mordor and beyond. Let him assume direct leadership and gide our troops to victory!" +lth_unityindivision:0 "Unity in Division" +lth_unityindivision_desc:0 "All groups residing the Golden Wood have unique skills to contribute. Let us not be torn apart by the seams, but embrace the differences of peoples, in unity." +lth_theorcrightsdebate:0 "The Orc Rights Debate" +lth_theorcrightsdebate_desc:0 "The orcs were elves once, victims of unthinkable torture. Perhaps there is room for something other than animostiy between our kin?" +lth_theuntreadedpath:0 "The Untreaded Path" +lth_theuntreadedpath_desc:0 "The way forward is not an easy one to take. Our new ways are hitherto unprecedented. Let us advance with care, but also boldness, for the enemy does not sleep." +lth_anewbeginning:0 "A New Beginning" +lth_anewbeginning_desc:0 "The old ways are at an end. We will surmount these perilous obstacles set before us and usher in a new age." +lth_theguidinghand:0 "The Guiding Hand" +lth_theguidinghand_desc:0 "Bold, meaningful change must come from above. Let the Lord of Lothórien invoke his executive powers to bring about a new order." +lth_thesupremeleader:0 "The Supreme Leader" +lth_thesupremeleader_desc:0 "Bold, meaningful change must come from above. Let the Lord of Lothórien invoke his executive powers to bring about a new order." +lth_culturalexchangeinitiatives:0 "Cultural Exchange Initiatives" +lth_culturalexchangeinitiatives_desc:0 "" +lth_thefestivalofunity:0 "The Festival of Unity" +lth_thefestivalofunity_desc:0 "" +lth_anewelvenlanguage:0 "A New Elven Language" +lth_anewelvenlanguage_desc:0 "There are many languages spoken by the elves. It is time to forge one befitting of our new ways, intended to te learned and mastered by anyone, elf or otherwise." +lth_atasteofempire:0 "A Taste of Empire" +lth_atasteofempire_desc:0 "The elen kings of old were revered and respected leaders with kingdoms tha spanned many lands and sujects. Rebuilding such glory will take time, so it is best to start early." +lth_reformmilitaryleadership:0 "Reform Military Leadership" +lth_reformmilitaryleadership_desc:0 "Our military leadership has been resting on its lorrels for far too long. We ought to mend these weaknesses before they make themselves known on the field of battle." +lth_thefateofmortals:0 "The Fate of Mortals" +lth_thefateofmortals_desc:0 "The fight against the forces of Morgoth is a timeless one. The fleeting lives of mortals can prove useful pawns in this battle, but little else." +lth_tacklethedwarves:0 "Tackle the Dwarves" +lth_tacklethedwarves_desc:0 "By a miracle, dwarven kingdoms still cling on desperatley to te north and west. Their positions are of strategic importance which cannot be gambled on the feeble minds of dwarves." +lth_burrythemintheirholes:0 "Already Burried" +lth_burrythemintheirholes_desc:0 "If the dwarves refuse to cooperate, we will be forced to take drastic action. Luckil for us, they already come pre-burried." +lth_tackletherealmsofmen:0 "Tackle the Realms of Men" +lth_tackletherealmsofmen_desc:0 "Weak kingdoms lead by equally weak peoples dot the countryside of Middle-Earth. We must bring them into our hold to prevent their inevitable corruption and fall to the forces of darkness." +lth_acceleratetheinevitable:0 "Accelerate the Inevitable" +lth_acceleratetheinevitable_desc:0 "The Men who will not cooperate are doomed to fall or doomed to join the enemy. Their already finite lives will have to be cut short to prevent this from happening." +lth_safeguardtheelves:0 "Safeguard the Elves" +lth_safeguardtheelves_desc:0 "Ensuring the eternal survival of as many elves as possible is our primordial purpose. Other elven realms may have forgotten, but we have not." +lth_turnrivendell:0 "Turn Rivendell" +lth_turnrivendell_desc:0 "As the most influential and renowned elven realms, Rivendell must be safeguarded from the forces of dark to ensure our line of retreat west remains open." +lth_turnmirkwood:0 "Turn Mirkwood" +lth_turnmirkwood_desc:0 "The elves of the Mirkwood guard are eastern and northern flanks. But, under pressure from the great spiders and other calamities, their strength is starting to buckle. We must move quickly to ensure no more elven lives are needlessly lost." +lth_turnlindon:0 "Turn Lindon" +lth_turnlindon_desc:0 "The elves that dwell in the Grey Havens ensure that our path to Valinor remains open. We must ensure their correct alignment, for no thought is more troubling that to be cut off from refuge in these troubled lands." +lth_atanycost:0 "At Any Price" +lth_atanycost_desc:0 "If our brethren will not willingly cooperate, then we will have to 'explain' the new realities of power to them." +lth_celebornsreforms:0 "Celeborn's Reforms" +lth_celebornsreforms_desc:0 "Under the guidance and wisdom of Celeborn, the weaknesses of the old system shall be replaced by new-found purpose and unity." +lth_migrationtreaties:0 "Migration Treaties" +lth_migrationtreaties_desc:0 "By pursuing migration treaties with neighbouring realms, we can open our borders to those who wish to seek refuge or share their knowledge, strengthening our realm and ensuring longevity. Together, we shall face the shadows that loom over our world, united in purpose and spirit." +lth_thedissolutionoftheelvennobility:0 "The Dissolution of the Elven Nobility" +lth_thedissolutionoftheelvennobility_desc:0 "The elven upper class has stood idle for too long. If they are not fit to take decisive action, then they have not earned their place in upper echelons of society." +lth_understandingtheracesofmen:0 "Understanding the Race of Men" +lth_thepeasantassembly:0 "The Peasant Assembly" +lth_thepeasantassembly_desc:0 "Empowering the common people of Lothlórien is essential for a just and prosperous society. By establishing the Peasant Assembly, we provide a platform for the voice of the common folk, allowing them to participate in decision-making and shaping the future of our realm." +lth_establishagraindole:0 "Establish a Grain Dole" +lth_establishagraindole_desc:0 "In times of need, it is our duty to ensure that our people are well-fed and cared for. By establishing a Grain Dole, we can provide a safety net for the vulnerable and ensure that no one goes hungry in our land."" +lth_meritbasedadvancement:0 "Merit-base Advancement" +lth_meritbasedadvancement_desc:0 "A society that rewards talent and hard work thrives. By implementing a merit-based system of advancement, we encourage our people to excel in their fields and contribute their best to the well-being of Lothlórien." +lth_leadbyexample:0 "Lead by Example" +lth_leadbyexample_desc:0 "Leadership is not just about authority; it's about setting an example for others to follow. By embracing the principles we preach, our people will be inspired to uphold the highest standards of integrity, ethics, and dedication to our realm." +lth_preemptivemeasures:0 "Pre-emptive Measures" +lth_preemptivemeasures_desc:0 "In times of peril we should not sit idly by whilst enemy moves. We should consider decisive action to ensure safety in out vicinity." +lth_valesofanduin:0 "The Vales of Anduin" +lth_valesofanduin_desc:0 "To our north lie the vales through which flows the great river. The proximity of its inhabitants could pose a serious threat should they side with the enemy." +lth_amostgenerousoffer:0 "A Most Generous Offer" +lth_amostgenerousoffer_desc:0 "The people of the vale should feel honored to be offered such sublime leadership as that of Lady Galadriel and Lord Celeborn." +lth_northboundinvasion:0 "Northbound Invasion" +lth_northboundinvasion_desc:0 "If the woodmen of the vale do not cooperate with our demands, then they must surely be conspiring with the enemy!" +lth_agestureofgoodwill:0 "A Gesture of Goodwill" +lth_agestureofgoodwill_desc:0 "The best way to secure our northern flank is not by making enemies, but by making friends. Let us make sure the people of the vales understand that they need not fear us." +lth_cooperationefforts:0 "Cooperation Efforts" +lth_cooperationefforts_desc:0 "Despite their flawed mortality, we have much to learn from the people to our north. Likewise, they have much to learn from us." +lth_theminesofmoria:0 "The Mines of Moria" +lth_theminesofmoria_desc:0 "The once glorious dwarven kingdom to our west has turned into a hotbed for all sorts of danger, from orcs to Balrogs. It would be best to be watchful of this strategically important passage." +lth_cleansethetunnels:0 "Cleanse the Tunnels" +lth_cleansethetunnels_desc:0 "The danger that lurks in the mines can no longer be tolerated. We must purge the tunnels of evil and ensure the road west is kept open." +lth_trackdowndurinsbane:0 "Track Down Durin's Bane" +lth_trackdowndurinsbane_desc:0 "A servant of Morgoth treads the stone halls of long dead dwarven kings. We must see to its destruction if the mines are ever to be inhabitable again." +lth_thefortressofdolguldur:0 "The Fortress of Dol Guldur" +lth_thefortressofdolguldur_desc:0 "The crumbing towers of Dol Guldur cast their shadows onto our beloved golden wood. We must keep an eye on this mounting threat to ensure our western flank remains secure." +lth_theonering:0 "The One Ring" +lth_theonering_desc:0 "The One Ring is the key to ensure the threat of Mordor is put down for good. We should keep an eye on its whereabouts at all times." +lth_requestaseatonelrondscouncil:0 "Request a Seat on Elrond's Council" +lth_requestaseatonelrondscouncil_desc:0 "Rivendell seeks to assemble a fellowship to take the ring to Mordor. It is imperative that we are given a seat on Elrond's council, in order to ensure the fellowship's success." +lth_seizetheonering:0 "Seize the One Ring" +lth_seizetheonering_desc:0 "Leaving the One Ring in the hands of a feeble hobbit is a recipe for disaster. Only in the hands of our powerful leaders can the ring truly be safe." +lth_supportthefellowship_desc:0 "The ring's destruction will bring an end to Sauron's unceasing cruelty. We must aid the fellowship with all means available to us and ensure the ring reaches the fires for Mount Doom." +lth_echoesoftheeldendays:0 "Echoes of the Elden Days" +lth_echoesoftheeldendays_desc:0 "The ancient artifacts and relics of our realm hold untold power and knowledge from the days of old. By delving into the Echoes of the Elden Days, we can unearth and harness the secrets of our ancestors, strengthening our people and our realm." +lth_ancientwisdom:0 "Ancient Wisdom" +lth_ancientwisdom_desc:0 "The wisdom of the ages lies dormant in the archives of Lothlórien. By rekindling our connection to this ancient knowledge, we can tap into the insights and lore of our forebears, guiding us toward a brighter future." +lth_galadrielsmirror:0 "Galadriel's Mirror" +lth_galadrielsmirror_desc:0 "Galadriel's Mirror is a sacred artifact with the power to reveal hidden truths and visions of the past and future. By studying and maintaining Galadriel's Mirror, we can seek guidance and uncover invaluable insights for the benefit of our realm." +lth_mirrorupgrade:0 "Mirror Enchantments" +lth_mirrorupgrade_desc:0 "To enhance the capabilities of Galadriel's Mirror, we must invest in its maintenance and upgrades. By improving the Mirror, we can access even deeper layers of wisdom and foresight, gaining a significant advantage in our endeavors." +lth_theenigmaofnenya:0 "The Powers of Nenya." +lth_theenigmaofnenya_desc:0 "Nenya, one of the Three Rings of the Elves, holds a mysterious power that has aided Lothlórien for ages. By unraveling the enigma of Nenya, we can harness its magic and use it to protect our realm from external threats." +lth_ringenchantments:0 "Nenya's Enchantments" +lth_ringenchantments_desc:0 "Few things are truly known about the Rings of Power. By delving deeper into ancient memories and texts, we may unearth ways of strenghtening a ring's capabilites." +lth_theeternaldominion:0 "The Eternal Dominion" +lth_theeternaldominion_desc:0 "Our vicotry is close at hand. The time is ripe for the formation of a new, prosperous empire, which will bring eternal peace and stability to the shaken realms of Middle-Earth." +lth_tworingsbecomethone:0 "Two Rings Becometh One" +lth_tworingsbecomethone_desc:0 "By forging Nenya and the One together, we may be able to exert an increased amount of control over the One Ring and harness more of its power." +lth_dismantlethenazgul:0 "Dismantle the Ringwraiths" +lth_dismantlethenazgul_desc:0 "The Nazgûl are Saurons servants, bound by the power of the One Ring. Having the ring in our posession will let us lift the curse that lies upon them and bring them back to the mortal path they once treaded." +lth_prisonervivisections:0 "Prisoner Vivisections" +lth_prisonervivisections_desc:0 "The orcs are twisted creatures created by Morgoth. There is much to learn from their physiology and way of being." +lth_sauronstoolsturned:0 "Sauron's Tools Turned" +lth_sauronstoolsturned_desc:0 "Sauron's tyrannical reign inspires no loyalty, but only obedience. What escapes his twisted mind is that slaves can follow other masters." +lth_thegiftofservitude:0 "The Gift of Servitude" +lth_thegiftofservitude_desc:0 "To the servants of evil, the benevolent, righteous and sublime leadership of Lady Galadriel ought to be a priviledge." +lth_theshadowswhisper:0 "The Shadow's Whisper" +lth_theshadowswhisper_desc:0 "The One Ring seeks with desperation to get back to its former master. It is imperative me maintain a tight grip on it." +lth_resistthedarkness:0 "Resist the Darkness" +lth_resistthedarkness_desc:0 "The Eye funnels its darkness through the One Ring into every fibre of our being. We must resist the creeping shadows like a ship withstanding the waves of sea." +lth_givesauronthering:0 "Succumb to the Ring" +lth_givesauronthering_desc:0 "The light has been extinguished, snuffed out by the ashes of death and destruction. All hail the Dark Lord." +lth_theunholyalliance:0 "The Unholy Alliance" +lth_theunholyalliance_desc:0 "All hail the Dark Lord and the Dark Lady. May they rule in the unholy name of cosmic chaos until all succumb to their grandeur." +lth_foeturnedfriend:0 "Foe Turned Friend" +lth_foeturnedfriend_desc:0 "In these troubled times, forging unlikely alliances is a necessity. This focus aims to mend old wounds and build bridges between the Galadhrim and the orcs of Morgoth, turning former foes into potential friends." +lth_anecessaryevil:0 "A Necessary Evil" +lth_anecessaryevil_desc:0 "Desperate times call for desperate measures. But the orcs are means to an end. A tool to be tolerated to confront the greater threats. Never will they be our equals." +lth_integrateorcsintothegaladhrim:0 "Integrate Orcs into the Galadhrim" +lth_integrateorcsintothegaladhrim_desc:0 "Orcs can be fearsome warriors. We will have to seek opportunities to merge them into our armed forces." +lth_forsaketheelves:0 "Forsake the Elves" +lth_forsaketheelves_desc:0 "The time of elves is over. The time of orcs has come." +lth_anewbreed:0 "A New Breed" +lth_anewbreed_desc:0 "Morgoth's creatures are far from complete. By employing our deep knowledge, we may create a new breed of beings who bridge the gap between Elves and orcs. These individuals, born from mixed heritage, may hold the key to a more united and resilient Lothlórien." +lth_theneworder:0 "The New Order" +lth_theneworder_desc:0 "The sun sets on our old ways. We must adapt to the new realities and make the best of it." +lth_territorialadministration:0 "Territorial Administration" +lth_territorialadministration_desc:0 "The Golden Wood holds significant influence int he surrounding vicinity. We should reach out and ensure our sphere of influence is adequately governed." +lth_organizetributaries:0 "Organize Tributaries" +lth_organizetributaries_desc:0 "The vassal states that benefit from our overlordship ought to pay their due tributes." +lth_labourtaxfornonelves:0 "Labour Tax for Non-Elves" +lth_labourtaxfornonelves_desc:0 "The mortals living among us benefit greatly from elven wisdom and leadership. They ought to adequately compensate for the priviledge of our protection." +lth_localautonomy:0 "Local Autonomy" +lth_localautonomy_desc:0 "By allowing them more control over their affairs, we can promote self-governance and better address the specific challenges each territory faces" +lth_territorialintegration:0 "Territorial Integration" +lth_territorialintegration_desc:0 "The territories bordering our precious Golden Wood have long benefited from their proximity to us. It is time to formally extend our borders to include these states and the people living in them." +lth_investingladdenfields:0 "Invest in Gladden Fields" +lth_investingladdenfields_desc:0 "The Gladden Fields are vital for our agricultural production and food security. By investing in these fertile lands, we can improve farming techniques, increase yields, and ensure a steady food supply for our people." +lth_investinparthcelebrant:0 "Invest in Parth Celebrant" +lth_investinparthcelebrant_desc:0 "Parth Celebrant is a strategic region on our western border. By investing in its defenses and infrastructure, we can secure this territory and enhance our ability to protect our realm from external threats." +lth_investindrimrilldale:0 "Invest in Drimrill Dale" +lth_investindrimrilldale_desc:0 "Drimrill Dale is rich in resources and potential. By investing in this region, we can tap into its economic opportunities, develop its industries, and strengthen our realm's economic foundation." +lth_lorekeepersguild:0 "Lorekeeper's Guild" +lth_lorekeepersguild_desc:0 "The Lorekeeper's Guild is dedicated to the preservation and study of knowledge in our realm. By establishing and supporting this guild, we can ensure that the wisdom and history of Lothlórien are passed down through the generations, safeguarding our heritage." +lth_cryptsofmemory:0 "Crypts of Memory" +lth_cryptsofmemory_desc:0 "The Crypts of Memory are sacred repositories of our history and wisdom. By investing in these crypts and expanding their collections, we can protect our most valuable knowledge and ensure that it endures the test of time, allowing future generations to benefit from our accumulated wisdom." +lth_supportthefellowship:0 "Support the Fellowship" +lth_supportthefellowship_desc:0 "The Fellowship of the Ring carries the burden of our world's fate. By providing unwavering support to this noble quest, we can aid their journey and ensure the success of their mission, which is vital for the preservation of Middle-earth." +lth_anelvenfellowship:0 "An Elven Fellowship" +lth_anelvenfellowship_desc:0 "Lord Elrond had the right idea, but entrusted too much to a feeble Hobbit. As a bastion of Elvendom, we shall assemble our own fellowship, with elves and... er, more elves!" +lth_keepthering:0 "Keep the Ring" +lth_keepthering_desc:0 "Why send the Ring to Mordor, if that is precisely where it wants to be? The best course of action is to keep the Ring within our realm, control its power and use it to vanquish our enemies." +lth_provincialcouncils:0 "Provincial Councils" +lth_provincialcouncils_desc:0 "To ensure local representation and effective governance, this focus advocates for the establishment of Provincial Councils. These councils will empower regions within Lothlórien, allowing them to participate in decision-making processes and contribute to the development of our realm." +lth_investintaurhith:0 "Invest in Taur Hith" +lth_investintaurhith_desc:0 "Taur Hith, a region of natural beauty and resources, holds great potential for our realm. By investing in Taur Hith, we can harness its resources, develop its infrastructure, and enhance its cultural significance, fostering growth and prosperity." +lth_investinparthcelebrant:0 "Invest in Parth Celebrant" +lth_investinparthcelebrant_desc:0 "Parth Celebrant is a region of strategic importance for our realm. By investing in its development, we can strengthen its defenses, improve trade routes, and enhance its economic potential, ensuring that it becomes a thriving hub for our realm." +lth_investinnanduhirion:0 "Invest in Nanduhirion" +lth_investinnanduhirion_desc:0 "Nanduhirion, a region known for its resources and craftsmanship, is essential for our economic growth. By investing in Nanduhirion, we can support local industries, promote trade, and encourage innovation, driving economic development and prosperity." +lth_reformtaxcollection:0 "Reform Tax-Collection" +lth_reformtaxcollection_desc:0 "The territories beyond the woods of Lórien benefit greatly from our protection. We should seek to bring these lands back into the fold and collect a fair amount of taxation." +lth_liftthelawofisolation:0 "Lift the Law of Isolation" +lth_liftthelawofisolation_desc:0 "By law, no dwarf can set foot in the Golden Wood. But with orcs ravaging the tunnels of Moria, it may be time to grant an exception to this antiquated law." +lth_helpmirkwoodwithcontainment:0 "Help Mirkwood with Containment" +lth_helpmirkwoodwithcontainment_desc:0 "Our brethren in Mirkwood struggle to contain the many threats that lurk in the Greenwood, not least of which is the fortress of Dol Guldur, which lies dangerously close to Caras Galadhon. We should help Thranduil with the containment of these dangers." +lth_forcetheissue:0 "Force the Issue" +lth_forcetheissue_desc:0 "The threat of Dol Guldur is too large to bear. If Mirkwood will not act, we must take matters into our own hands!" +lth_elvenknowledge:0 "Elven Knowledge" +lth_elvenknowledge_desc:0 "Elven knowledge encompasses millennia of wisdom, magic, and culture. By preserving and studying this ancient knowledge, we ensure the continuity of our heritage and the enrichment of our society." +lth_resilienceofnenya:0 "The Resilience of Nenya" +lth_resilienceofnenya_desc:0 "Nenya embodies the strength and resilience of Lothlórien. By harnessing the power of Nenya and understanding its mysteries, we can bolster the resilience of our realm, protecting it from external threats and ensuring its endurance through the ages." +lth_thearchivesofagespast:0 "The Archives of Ages Past" +lth_thearchivesofagespast_desc:0 "The Archives of Ages Past are repositories of ancient knowledge, artifacts, and lore. By expanding and preserving these archives, we can delve deeper into the history and wisdom of our forebears, uncovering secrets that may prove invaluable in the face of present challenges." +lth_sendaidtominastirith:0 "Send Aid to Minas Tirith" +lth_sendaidtominastirith_desc:0 "The Númenoreans face an all-out orc invasion. If the white tower falls, it may all be over. We cannot let that happen" +lth_thesongofnimrodel:0 "The Song of Nimrodel" +lth_thesongofnimrodel_desc:0 "The Song of Nimrodel, a haunting melody passed down through generations, speaks of love, loss, and the enduring beauty of Lothlórien. By preserving and promoting this enchanting song, we not only celebrate our cultural heritage but also inspire our people, reminding them of the timeless spirit that defines our realm." +lth_fairasthesunterribleasthestorm:0 "Fair as the Sun, Terrible as the Storm" +lth_fairasthesunterribleasthestorm_desc:0 "In place of a Dark Lord we shall have a Queen! Not dark but beautiful and terrible as the Dawn! Treacherous as the Seas! Stronger than the foundations of the Earth!" +lth_purityandbrilliance:0 "Purity and Brilliance" +lth_purityandbrilliance_desc:0 "By upholding the highest standards of moral integrity, ethics, and cultural excellence, we ensure that our realm shines brightly in a world dimmed by darkness." +lth_eternalwisdom:0 "Eternal Wisdom" +lth_eternalwisdom_desc:0 "Wisdom, like the ancient trees of Lothlórien, stands the test of time. By cherishing and perpetuating our realm's eternal wisdom, we strengthen the foundation of our society." +lth_ancestralechoesintandem:0 "Ancestral Echoes in Tandem" +lth_ancestralechoesintandem_desc:0 "The Ñoldor and Sindar, two distinguished Elven lineages, each carry unique strengths and wisdom. By honoring our shared heritage and embracing the strengths of both lineages, we unlock a synergy that makes Lothlórien stronger, wiser, and more resilient in the face of challenges." +lth_elvenhighereducation:0 "Elven Higher Education" +lth_elvenhighereducation_desc:0 "By establishing Elven Higher Education institutions, we can nurture the intellects of our people, encouraging the pursuit of arts, sciences, and magical studies." +lth_asharedcause:0 "A Shared Cause" +lth_asharedcause_desc:0 "The new paradigm we have forged is shared by many peoples across Middle-Earth. Locked in this struggle together, we shall benefit from one-another to usher in a new era." +lth_theentsoffangorn:0 "The Ents of Fangorn" +lth_theentsoffangorn_desc:0 "The Ents, ancient guardians of the forests, possess immense wisdom and power. By forming an alliance with the Ents of Fangorn, we can strengthen our realm's defenses, ensuring the protection of our forests and the preservation of our natural heritage." +lth_supportspiderindependence:0 "Support the Spiders of Mirkwood" +lth_supportspiderindependence_desc:0 "The Spiders of Mirkwood, though often feared, are a vital part of the forest ecosystem. By supporting their independence and cooperation, we can maintain the delicate balance of nature." +lth_watersofhealing:0 "Waters of Healing" +lth_watersofhealing_desc:0 "The Waters of the Nimrodel possess remarkable rejuvenation powers. By harnessing these waters and making them accessible to our people, we can enhance the well-being of our citizens." +lth_minglewiththemortals:0 "Mingle with the Mortals" +lth_minglewiththemortals_desc:0 "Elves, men dwarves, hobbits... Are we truly so different after all?" +lth_nonelvencitizenship:0 "Extend Citizenship to Non-Elves" +lth_nonelvencitizenship_desc:0 "The Golden Wood is a place for all beings that share our common vision. It is time to set our petty elitism aside and embrace the other races as our people" +lth_breakthechainsofisolation:0 "Break the Chains of Isolation" +lth_breakthechainsofisolation_desc:0 "We have been held back by our own decadence for far too long. The time to act is now, we will join the fight against the darkness and vanquish evil together with all those who share the same goal." +lth_alignthenobility:0 "Align the Nobility" +lth_alignthenobility_desc:0 "The priviledged among us will have to wake up and fight for the preservation of their own families." +lth_alignthearmy:0 "Align the Army" +lth_alignthearmy_desc:0 "The army, like a river flowing through the land, gains strength when it flows together. By aligning our military forces, we can create a powerful, coordinated defense against the forces of evil." +lth_unitethefactions:0 "Unite the Factions" +lth_unitethefactions_desc:0 "In the tapestry of Lothlórien, every faction is a thread, unique yet essential to the whole. By uniting these factions, we can weave a fabric of strength and resilience." +lth_territorialdefense:0 "Territorial Defense" +lth_territorialdefense_desc:0 "By investing in fortifications and strategic planning, we can ensure the security and sovereignty of our realm." +lth_defensiveperimeter:0 "Defensive Perimeter" +lth_defensiveperimeter_desc:0 "Establishing a Defensive Perimeter is crucial for safeguarding Lothlórien against external threats. By fortifying key points along our borders and maintaining a vigilant watch, we create a secure barrier that deters any potential aggressors." +lth_resourcestorage:0 "Resource Storage" +lth_resourcestorage_desc:0 "A long night looms over Middle Earth. We would be wise to prepare and establish large storage depots to ensure we can withstand any siege for however long required." +lth_commemorategondolin:0 "Commemorate Gondolin" +lth_commemorategondolin_desc:0 "By commemorating Gondolin, we pay tribute to the bravery, sacrifice, and heritage of our Elven kin, reinforcing our own resolve to stand firm against the forces of darkness, just as Gondolin once did." +lth_learnfromthestrongest:0 "Learn from the Strongest" +lth_learnfromthestrongest_desc:0 "As far-reaching as elven wisdom may be, there are always things we can learn from the strongest of our allies." \ No newline at end of file diff --git a/localisation/english/lothlorien_l_english.yml b/localisation/english/lothlorien/lothlorien_l_english.yml similarity index 100% rename from localisation/english/lothlorien_l_english.yml rename to localisation/english/lothlorien/lothlorien_l_english.yml diff --git a/localisation/english/lothlorien/lothlorien_misc_l_english.yml b/localisation/english/lothlorien/lothlorien_misc_l_english.yml new file mode 100644 index 000000000..c4ba605c1 --- /dev/null +++ b/localisation/english/lothlorien/lothlorien_misc_l_english.yml @@ -0,0 +1,604 @@ +l_english: +lthi_nandor_influence_percent:0 "[?LTH.lthi_nandor_influence_fraction|%Y0]" +lthi_noldor_influence_percent:0 "[?LTH.lthi_noldor_influence_fraction|%Y0]" +lthi_sindar_influence_percent:0 "[?LTH.lthi_sindar_influence_fraction|%Y0]" +lthi_halfelves_influence_percent:0 "[?LTH.lthi_halfelves_influence_fraction|%Y0]" +lthi_orcs_influence_percent:0 "[?LTH.lthi_orcs_influence_fraction|%Y0]" +lthi_nonelves_influence_percent:0 "[?LTH.lthi_nonelves_influence_fraction|%Y0]" + +lthi_nandor_influence:0 "[?modifier@nandor_influence|O0]" +lthi_noldor_influence:0 "[?modifier@noldor_influence|O0]" +lthi_sindar_influence:0 "[?modifier@sindar_influence|O0]" +lthi_halfelves_influence:0 "[?modifier@halfelves_influence|O0]" +lthi_orcs_influence:0 "[?modifier@orcs_influence|O0]" +lthi_nonelves_influence:0 "[?modifier@nonelves_influence|O0]" + +lthi_nandor_influence_both:0 "$lthi_nandor_influence_percent$ ($lthi_nandor_influence$)" +lthi_noldor_influence_both:0 "$lthi_noldor_influence_percent$ ($lthi_noldor_influence$)" +lthi_sindar_influence_both:0 "$lthi_sindar_influence_percent$ ($lthi_sindar_influence$)" +lthi_halfelves_influence_both:0 "$lthi_halfelves_influence_percent$ ($lthi_halfelves_influence$)" +lthi_orcs_influence_both:0 "$lthi_orcs_influence_percent$ ($lthi_orcs_influence$)" +lthi_nonelves_influence_both:0 "$lthi_nonelves_influence_percent$ ($lthi_nonelves_influence$)" + +lthi_nandor_title_and_influence:0 "NANDOR\n$lthi_nandor_influence$ ($lthi_nandor_influence_percent$)" +lthi_noldor_title_and_influence:0 "ÑOLDOR\n$lthi_noldor_influence$ ($lthi_noldor_influence_percent$)" +lthi_sindar_title_and_influence:0 "SINDAR\n$lthi_sindar_influence$ ($lthi_sindar_influence_percent$)" +lthi_halfelves_title_and_influence:0 "HALF-ELVES\n$lthi_halfelves_influence$ ($lthi_halfelves_influence_percent$)" +lthi_orcs_title_and_influence:0 "ORCS\n$lthi_orcs_influence$ ($lthi_orcs_influence_percent$)" +lthi_nonelves_title_and_influence:0 "NON-ELVES\n$lthi_nonelves_influence$ ($lthi_nonelves_influence_percent$)" + +nandor_influence:0 "£nandor_texticon §YNandor influence§!" +noldor_influence:0 "£noldor_texticon §YÑoldor influence§!" +sindar_influence:0 "£sindar_texticon §YSindar influence§!" +halfelves_influence:0 "£halfelves_texticon §YHalf-Elves influence§!" +orcs_influence:0 "£orcs_texticon §YOrcs influence§!" +nonelves_influence:0 "£nonelves_texticon §YNon-Elves influence§!" + +nandor_faction:0 "£nandor_texticon §YNandor Faction§!" +noldor_faction:0 "£noldor_texticon §YÑoldor Faction§!" +sindar_faction:0 "£sindar_texticon §YSindar Faction§!" +halfelves_faction:0 "£halfelves_texticon §YHalf-Elves Faction§!" +orcs_faction:0 "£orcs_texticon §YOrcs Faction§!" +nonelves_faction:0 "£nonelves_texticon §YNon-Elves Faction§!" + +lthi_orcs_tt:0 "The £orcs_texticon §YOrc Faction§! currently holds [?modifier@orcs_influence|O0] influence points, multiplying their bonuses by [?LTH.lthi_orcs_influence_fraction|%G0]." +lthi_nandor_tt:0 "The £nandor_texticon §YNandor Faction§! currently holds [?modifier@nandor_influence|O0] influence points, multiplying their bonuses by [?LTH.lthi_nandor_influence_fraction|%G0]." +lthi_noldor_tt:0 "The £noldor_texticon §YÑoldor Faction§! currently holds [?modifier@noldor_influence|O0] influence points, multiplying their bonuses by [?LTH.lthi_noldor_influence_fraction|%G0]." +lthi_sindar_tt:0 "The £sindar_texticon §YSindar Faction§! currently holds [?modifier@sindar_influence|O0] influence points, multiplying their bonuses by [?LTH.lthi_sindar_influence_fraction|%G0]." +lthi_halfelves_tt:0 "The £halfelves_texticon §YHalf-Elves Faction§! currently holds [?modifier@halfelves_influence|O0] influence points, multiplying their bonuses by [?LTH.lthi_halfelves_influence_fraction|%G0]." +lthi_nonelves_tt:0 "The £nonelves_texticon §YNon-Elves Faction§! currently holds [?modifier@nonelves_influence|O0] influence points, multiplying their bonuses by [?LTH.lthi_nonelves_influence_fraction|%G0]." + +lthi_bonuses_tt:0 "Every faction has one (or several) bonuses which are scaled to the percentage of total §Yinfluence§! that faction holds." + +nandor_minor:0 "£nandor_texticon " +nandor_intermediate:0 "£nandor_texticon " +nandor_major:0 "£nandor_texticon " +noldor_minor:0 "£noldor_texticon " +noldor_intermediate:0 "£noldor_texticon " +noldor_major:0 "£noldor_texticon " +sindar_minor:0 "£sindar_texticon " +sindar_intermediate:0 "£sindar_texticon " +sindar_major:0 "£sindar_texticon " +halfelves_minor:0 "£halfelves_texticon " +halfelves_intermediate:0 "£halfelves_texticon " +halfelves_major:0 "£halfelves_texticon " +orcs_minor:0 "£orcs_texticon " +orcs_intermediate:0 "£orcs_texticon " +orcs_major:0 "£orcs_texticon " +nonelves_minor:0 "£nonelves_texticon " +nonelves_intermediate:0 "£nonelves_texticon " +nonelves_major:0 "£nonelves_texticon " + +nandor_minor_hired:0 "£nandor_texticon " +nandor_intermediate_hired:0 "£nandor_texticon " +nandor_major_hired:0 "£nandor_texticon " +noldor_minor_hired:0 "£noldor_texticon " +noldor_intermediate_hired:0 "£noldor_texticon " +noldor_major_hired:0 "£noldor_texticon " +sindar_minor_hired:0 "£sindar_texticon " +sindar_intermediate_hired:0 "£sindar_texticon " +sindar_major_hired:0 "£sindar_texticon " +halfelves_minor_hired:0 "£halfelves_texticon " +halfelves_intermediate_hired:0 "£halfelves_texticon " +halfelves_major_hired:0 "£halfelves_texticon " +orcs_minor_hired:0 "£orcs_texticon " +orcs_intermediate_hired:0 "£orcs_texticon " +orcs_major_hired:0 "£orcs_texticon " +nonelves_minor_hired:0 "£nonelves_texticon " +nonelves_intermediate_hired:0 "£nonelves_texticon " +nonelves_major_hired:0 "£nonelves_texticon " + +lth_preemtptivedepartures_focus_tt:0 "Unlock §YPreemptive Departures§! decisions to send certain Elves to Valinor, decreasing their faction's influence." + + +lthi_bonuses_list:0 "$lthi_nandor_bonus_conscription$[Get_nandor_bonus_speed][Get_nandor_bonus_organization]$lthi_noldor_bonus_attack$[Get_noldor_bonus_breakthrough][Get_noldor_bonus_factoryoutput]$lthi_sindar_bonus_constructionspeed$[Get_sindar_bonus_supply][Get_sindar_bonus_research]$lthi_halfelves_bonus_experiencegain$[Get_lthi_halfelves_bonus_stability][Get_halfelves_bonus_consumergoods][Get_nonelves_bonus_monthlypop][Get_orcs_bonus_strength]" + + +lthi_nandor_bonus_conscription:0 "£nandor_texticon: [?lthi_nandor_bonus_conscription|%G.1=] Recruitable Population (max. [?lthi_nandor_bonus_conscription_base|%G0])\n" +lthi_nandor_bonus_speed:0 "£nandor_texticon: [?lthi_nandor_bonus_speed|%G.1=] Army Speed (max. [?lthi_nandor_bonus_speed_base|%G0])\n" +lthi_nandor_bonus_organization:0 "£nandor_texticon: [?lthi_nandor_bonus_organization|%G.1=] Army Organization (max. [?lthi_nandor_bonus_organization_base|%G0])\n" + +lthi_noldor_bonus_attack:0 "£noldor_texticon: [?lthi_noldor_bonus_attack|%G.1=] Army Attack (max. [?lthi_noldor_bonus_attack_base|%G0])\n" +lthi_noldor_bonus_breakthrough:0 "£noldor_texticon: [?lthi_noldor_bonus_breakthrough|%G.1=] Army Breakthrough (max. [?lthi_noldor_bonus_breakthrough_base|%G0])\n" +lthi_noldor_bonus_factoryoutput:0 "£noldor_texticon: [?lthi_noldor_bonus_factoryoutput|%G.1=] Military Factory Output (max. [?lthi_noldor_bonus_factoryoutput_base|%G0])\n" + +lthi_sindar_bonus_constructionspeed:0 "£sindar_texticon: [?lthi_sindar_bonus_constructionspeed|%G.1=] Construction Speed (max. [?lthi_sindar_bonus_constructionspeed_base|%G0])\n" +lthi_sindar_bonus_supply:0 "£sindar_texticon: [?lthi_sindar_bonus_supply|%G.1=] Supply Consumption (max. [?lthi_sindar_bonus_supply_base|%G0])\n" +lthi_sindar_bonus_research:0 "£sindar_texticon: [?lthi_sindar_bonus_research|%G.1=] Research Speed (max. [?lthi_sindar_bonus_research_base|%G0])\n" + +lthi_halfelves_bonus_experiencegain:0 "£halfelves_texticon: [?lthi_halfelves_bonus_experiencegain|%G.1=] Army Experience Gain (max. [?lthi_halfelves_bonus_experiencegain_base|%G0])\n" +lthi_halfelves_bonus_stability:0 "£halfelves_texticon: [?lthi_halfelves_bonus_stability|%G.1=] Stability (max. [?lthi_halfelves_bonus_stability_base|%G0])\n" +lthi_halfelves_bonus_consumergoods:0 "£halfelves_texticon: [?lthi_halfelves_bonus_consumergoods|%G.1=] Consumer Good Factories (max. [?lthi_halfelves_bonus_consumergoods_base|%G0])\n" + +lthi_nonelves_bonus_monthlypop:0 "£nonelves_texticon: [?lthi_nonelves_bonus_monthlypop|%G.1=] Monthly Population (max. [?lthi_nonelves_bonus_monthlypop_base|%G0])\n" +lthi_orcs_bonus_strength:0 "£orcs_texticon: [?lthi_orcs_bonus_strength|%G.1=] Division HP (max. [?lthi_orcs_bonus_strength_base|%G0])\n" + + + + + +lth_greatestofwarriors_tt:0 "Add a §G+10.0%§! §YArmy Breakthrough§! bonus to the $noldor_faction$." +lth_metalworkandjewellery_tt:0 "Add a §G+15.0%§! §YMilitary Factory Output§! bonus to the $noldor_faction$." +lth_thereawakening_tt:0 "All bonuses of the $noldor_faction$ grow by §G50.0%§! of their current amount." + +elven_imperial_rule:0 "Elven Imperial Rule" + +lthi_influence_bonuses:0 "Elven Faction Bonuses" +lthi_influence_bonuses_desc:0 "The people of Lothlórien are comprised of elves from many different backgrounds and heritages. Each faction contributes their unique skills and knowledge, based on how much influence they have over the silver enclave." + +lothlorien_influence_decisions_category:0 "Lothlórien's Elven Factions" +lth_immortal_endurance_modifier:0 "Immortal Endurance" +lth_immortal_endurance_modifier_desc:0 "The longevity of elven immortality comes with a mental tenacity that primitive mortals cannot even begin to comprehend." +lth_add_immortal_endurance_tt:0 "Add §Y$lth_immortal_endurance_modifier$§!, which grants §G+2.0%§! §Y$MODIFIER_LOCAL_RESOURCES_FACTOR$§!, §G+2.0%§! §Y$MODIFIER_PRODUCTION_SPEED_BUILDINGS_FACTOR$§!, §G+2.0%§! §Y$MODIFIER_GLOBAL_BUILDING_SLOTS_FACTOR$§!.\n These bonuses grow by an additional §G+2.0%§! §Yevery year§!, up to a maximum of §G+14.0%§!." + +lth_immortal_endurance_modifier_tt:0 "[GetImmortalEnduranceModifierTT]" +lth_immortal_endurance_modifier_tt_base:0 "\nThese bonuses grow by §G+2.0%§! every year up to maxmimum of §G+14.0%§!:\n\n" +lth_immortal_endurance_modifier_tt_enhanced:0 "\nThese bonuses grow by §G+4.0%§! every year up to maxmimum of §G+40.0%§!:\n\n" + +lth_endurethedarkness_tt:0 "Increases the growth-rate of the §YImmortal Endurance§! spirit to §G+4.0%§! per year and increases the maximum cap to §G+40.0%§!." + +LTH_total_isolation_idea:0 "Total Isolation" +LTH_total_isolation_idea_desc:0 "Enveloped in an aura of isolation, Lothlórien has chosen the path of self-sufficiency and fortification. Turning inward, the realm withdraws from the tumultuous world, focusing on unassailable defenses and enduring the storm of Middle-earth's conflicts in solitude." + +LTH_isolationist_reservations_total_isolation:0 "Isolationist Reservations" +LTH_isolationist_reservations_3:0 "Isolationist Reservations" +LTH_isolationist_reservations_2:0 "Isolationist Reservations" +LTH_isolationist_reservations_1:0 "Isolationist Reservations" + +LTH_isolationist_reservations_total_isolation_desc:0 "Rooted in a tradition of solitude, Lothlórien's inhabitants hold to a reserved stance, preferring the company of their own kind and the sanctuary of their enchanted realm. Diplomacy is approached with caution, as the elves of Lothlórien remain hesitant to venture beyond their borders, safeguarding their way of life from the uncertainties of the wider world." +LTH_isolationist_reservations_3_desc:0 "Rooted in a tradition of solitude, Lothlórien's inhabitants hold to a reserved stance, preferring the company of their own kind and the sanctuary of their enchanted realm. Diplomacy is approached with caution, as the elves of Lothlórien remain hesitant to venture beyond their borders, safeguarding their way of life from the uncertainties of the wider world." +LTH_isolationist_reservations_2_desc:0 "Rooted in a tradition of solitude, Lothlórien's inhabitants hold to a reserved stance, preferring the company of their own kind and the sanctuary of their enchanted realm. Diplomacy is approached with caution, as the elves of Lothlórien remain hesitant to venture beyond their borders, safeguarding their way of life from the uncertainties of the wider world." +LTH_isolationist_reservations_1_desc:0 "Rooted in a tradition of solitude, Lothlórien's inhabitants hold to a reserved stance, preferring the company of their own kind and the sanctuary of their enchanted realm. Diplomacy is approached with caution, as the elves of Lothlórien remain hesitant to venture beyond their borders, safeguarding their way of life from the uncertainties of the wider world." + +LTH_celeborn_and_galadriel:0 "Rule of Celeborn and Galadriel" +LTH_celeborn_and_galadriel_desc:0 "Celeborn and Galadriel are the joint, benevolent leaders of Lothlórien. Their wisdom and strength has guided the realm through previous perils. The populance has complete confidence in their leadership" + +LTH_great_schism:0 "The Schism" +LTH_great_schism_desc:0 "In the time of crisis, differences in world-view have led to unprecedented tensions between Celeborn and Galadriel. If these disagreements are not solved soon, it could have catastrophic consequences." + +LTH_celeborn_and_galadriel_mended:0 "Rule of Celeborn and Galadriel Mended" +LTH_celeborn_and_galadriel_mended_desc:0 "Celeborn and Galadriel, despite their opposing perspectives, have reconciled their differences to form an alliance that navigates the realms between egalitarianism and authority." + +LTH_sky_soil_and_water:0 "Sky, Soil and Water" +LTH_sky_soil_and_water_desc:0 "Lothlórien has reaffirmed the Ñoldorin oath of Fëanor, which lays claim to the infamous Silmarils. As prohpesized by Mandor, the Silmarils are now embedded into the three elements of sky, soil and water, but that does not nullify the Oath." + +LTH_the_last_eldar:0 "Last Eldar of Middle-Earth" +LTH_the_last_eldar_desc:0 "As the last enclave of the Eldar in Middle-Earth, Lothlórien preserves ancient elven traditions and wisdom. Acting as the solemn rear-guard of Elvendom, these prevailing elves are unrivaled in their prowess for war and wisdom." + +LTH_the_sacred_trees:0 "Magical Essence of the Mallorn Trees" +LTH_the_sacred_trees_desc:0 "The Mallorn trees, revered and magical, lend their guardianship to Lothlórien, bestowing the realm with both beauty and enchantment" + +LTH_the_sacred_trees_2:0 "Magical Essence of the Mallorn Trees" +LTH_the_sacred_trees_2_desc:0 "The Mallorn trees, revered and magical, lend their guardianship to Lothlórien, bestowing the realm with both beauty and enchantment" + +LTH_blades_of_the_eldar:0 "Blades of the Eldar" +LTH_blades_of_the_eldar_desc:0 "An elven warriors wield blades forged with the precision and artistry of the Eldar. Their enchanted blades glow in presence of orcs and goblins." + +LTH_silverthorn_arrows:0 "Silverthorn Arrows" +LTH_silverthorn_arrows_desc:0 "Lothlórien's archers are famed for their silverthorn arrows, a deadly testament to elven craftsmanship." + +LTH_silvan_elite_warriors:0 "Silvan Elite Warriors" +LTH_silvan_elite_warriors_desc:0 "Lothlórien's elite warriors are well-versed in silvan combat techniques, blending nature and martial prowess." + +LTH_decadent_nobility:0 "Decadent Nobility" +LTH_decadent_nobility_desc:0 "The wealthiest and most influential elves of the Golden Wood are primarily concerned with their departure to Valinor. If there were to be a Dark Lord in the need of stopping, it would be best if somebody else took care of it." + +LTH_decadent_nobility_coop:0 "Decadent Nobility" +LTH_decadent_nobility_coop_desc:0 "The wealthiest and most influential elves of the Golden Wood are primarily concerned with their departure to Valinor. If there were to be a Dark Lord in the need of stopping, it would be best if somebody else took care of it." + +LTH_noldor_elite:0 "Ñoldor Elite" +LTH_noldor_elite_desc:0 "Lothlórien's nobility is dominated by a powerful cabal of Ñoldrin aristocrats." + +LTH_borders_sealed:0 "Sealed Borders" +LTH_borders_sealed_desc:0 "Lothlórien's borders are sealed against outside influences. One would be wise not to enter the Golden Wood uninvited." + +LTH_hidden_realm:0 "The Hidden Realm" +LTH_hidden_realm_desc:0 "Through means of magical enchantments and relentless isolation, Lothlórien has become a hidden realm, preserving its ethereal beauty and enigmatic allure. To most, the elven enclave ruled by Galadriel is little more than a fairytale." + +LTH_the_last_stand:0 "The Last Stand" +LTH_the_last_stand_desc:0 "In the face of adversity, Lothlórien's inhabitants stand united, ready to defend their realm to the last." + +LTH_limited_intervention_idea:0 "Limited Intervention" +LTH_limited_intervention_idea_desc:0 "Lothlórien is committed to limited intervention in external conflicts, focusing on self-preservation and maintaining stabilty for long enough to facilitate their departure for Valinor." + +LTH_aegis_of_light:0 "Aegis of Light" +LTH_aegis_of_light_desc:0 "Whatever happens to rest of Middle Earth, the light of Lothlórien shall never be snuffed out." + +LTH_river_anduin_commerce:0 "River Anduin Commerce" +LTH_river_anduin_commerce_desc:0 "Lothlórien's commerce benefits from its location along the River Anduin, facilitating trade and cultural exchange." + +LTH_unflinching_defender:0 "Unflinching Defender" +LTH_unflinching_defender_desc:0 "The lands around the Nimrodel have been the home of elves since early history. The forces of darkness will surely attempt to change that. Let them try, if they dare." + +LTH_girdle_of_melian:0 "Girdle of Melian" +LTH_girdle_of_melian_desc:0 "A fence enchantment that prevents entry into this country's land without the will and consent of it's rulers." + +LTH_tha_fate_of_mortals:0 "The Fate of Mortals" +LTH_tha_fate_of_mortals_desc:0 "The sun sets on the pitiful, fleeting existence of the mortal races. How is the fading life of man to compare to the eternity of elvendom?" + +LTH_merit_based_advancement:0 "Merit-Based Advancement" +LTH_merit_based_advancement_desc:0 "Lothlórien's society values merit, offering advancement based on skill and contribution." + +LTH_peasant_assembly:0 "Peasant Assembly" +LTH_peasant_assembly_desc:0 "The peasants of this country have an active role in governance, participating in local assemblies to voice their opinions." + +LTH_fading_trees:0 "Fading Mallorn Trees" +LTH_fading_trees_desc:0 "The mighty Mallorn Trees of Lothlórien have begun to fade. The bond between the elves and trees is decaying." +LTH_fading_trees_2:0 "Mysterious Disease" +LTH_fading_trees_2_desc:0 "With the fading of the Mallorn trees, a dark rift has taken hold of Lothlórien. It's people are suffering under a mysterious illness." +LTH_fading_trees_protective_enchantment:0 "Dark Rift Enchantment" +LTH_fading_trees_protective_enchantment_desc:0 "With the dark rift expunged, Lothlórien enjoys the boons of newly created protective enchantment." + +investigate_the_giant:0 "Investigate the giant" +investigate_the_giant_desc:0 "The mystical mound we discovered appears to be a dormant giant. We should investigate it." +investigate_the_giant_2:0 "Attack the giant" +investigate_the_giant_2_desc:0 "The giant has defeated our forces before, but this time we come better prepared." +lothlorien_mirror_decisions_category:0 "Galadriel's Mirror" +LTH_giant_slayer:0 "Giant Slayer" +LTH_giant_slayer_desc:0 "This nation has slain a giant." +m_storyline_giant_arrows:0 "Has acquired giantslayer arrows" +m_storyline_giant_rod:0 "Has acquired a control rod" +LTH_loose_giant:0 "Loose Giant" +LTH_loose_giant_desc:0 "A giant wanders aimlessly through the forests of Lothlórien." +LTH_fortification_focus:0 "Fortification Focus" + +increase_noldor_bonus_20p_tt:0 "Increase all bonuses of the £noldor_texticon Ñoldor faction by §G20%§!." +increase_halfelves_bonus_20p_tt:0 "Increase all bonuses of the £halfelves_texticon Half-Elves faction by §G20%§!." +increase_nandor_bonus_20p_tt:0 "Increase all bonuses of the £nandor_texticon Nandor faction by §G20%§!." +increase_sindar_bonus_20p_tt:0 "Increase all bonuses of the £sindar_texticon Sindar faction by §G20%§!." + +increase_noldor_bonus_30p_tt:0 "Increase all bonuses of the £noldor_texticon Ñoldor faction by §G30%§!." +increase_halfelves_bonus_30p_tt:0 "Increase all bonuses of the £halfelves_texticon Half-Elves faction by §G30%§!." +increase_nandor_bonus_30p_tt:0 "Increase all bonuses of the £nandor_texticon Nandor faction by §G30%§!." +increase_sindar_bonus_30p_tt:0 "Increase all bonuses of the £sindar_texticon Sindar faction by §G30%§!." +stolen_tech_bonus:0 "Stolen tech bonus" + +lth_provincialcouncils_tt:0 "Unlock a political advisor with the §YProvincial Councilor§! trait, which grants:\n$provincial_councilor_tt$.\n\nIf an advisor slot is free, the advisor will be automatically hired." +lth_reformtaxcollection_tt:0 "Add 4 §Ycivilian factories§! to every state previously invested in." +lth_localautonomy_tt:0 "Disable resistance and add §G+25%§! compliance to every state previously invested in." +lth_territorialintegration_tt:0 "Gain a core on every state previously invested in." +lth_guardiansoftheriveranduin_tt:0 "All of our unit leaders gain §Y$river_specialist$§!, granting §G-30.0%§! $MODIFIER_RIVER_CROSSING_PENALTY_FACTOR$." +lth_patrolsandriverwardens_tt:0 "Significantly decreases the chance of raids from [DGU.GetFlag] Dol Guldur being successful." +lth_thefortressofdolguldur_tt:0 "Slightly decreases the chance of raids from [DGU.GetFlag] Dol Guldur being successful." +lth_strengthenfortifications_tt:0 "Add §G5§! §YLand Fort§! to each province in §Y$STATE_75$§! along the Anduin river." +lth_helpmirkwoodwithcontainment_tt:0 "We will help Mirkwood in gaining compliance and decreasing resistance in $STATE_87$." +lth_theminesofmoria_tt:0 "Slightly decreases the chance of raids from [MOC.GetFlag] Orc-Moria being successful." + +lth_forcetheissue_tt:0 "We will get §Ythree choices§! for dealing with the Dol Guldur issue once and for all." +lth_trackdowndurinsbane_tt:0 "Removes the §Y$moria_loose_balrog$§! modifiers from §Y$STATE_73$§! and §Y$STATE_134$§!.\n\nIf we possess the §YOne Ring§!, we can force the Balrog into our servitude." +lth_cooperationefforts_tt:0 "[LTH.GetNameWithFlag] and [VAL.GetNameWithFlag] will receive 25-100 £army_experience §Yarmy experience§! and 1-3 §Ycivilian factories§!, based on which gift we chose in the previous focus." +lth_amostgenerousoffer_tt:0 "We will offer [VAL.GetNameWithFlag] some territory and civilian factories in return for subjugation.\n\nIf they accept:\n" +lth_agestureofgoodwill_tt:0 "We will be given §Ythree options§! of possible gifts to give [VAL.GetNameWithFlag]." +lth_consecrated_land:0 "Consecrated Land" +lth_consecrated_land_desc:0 "This land is blessed by elven magic." +lth_thetwinheartsoflothlorien_tt:0 "§Y$STATE_222$§!: Add §Ycivilian factories§! equal to §G50%§! of civilian factories in §Y$STATE_75$§! (Currently: [?75.industrial_complex_level])\n\n§Y$STATE_75$§!: Add §Ymilitary factories§! equal to §G50%§! of military factories in §Y$STATE_222$§! (Currently: [?75.arms_factory_level])\n\nIf you have more than §Y50%§! $nandor_influence$, increase these values to §G80%§!." +lth_sendaidtohelmsdeep_tt:0 "[ROH.GetNameWithFlag] will spawn two divisions of 7 infantry battalions, 4 archer battalions and a standard bearer in Helm's Deep." +lth_sendaidtominastirith_tt:0 "[GON.GetNameWithFlag] will spawn two divisions of 7 infantry battalions, 4 archer battalions and a standard bearer in Minas Tirith." +lth_supportmordorsenemies_tt:0 "Unlocks additional decisions to help countries that at war with [MOR.GetNameWithFlag]." +lth_preservationofknowledge_tt:0 "Add §GResearch Speed§! to the bonuses given by the §YImmortal Endurance§! national spirit." +impregnable_fortress:0 "Impregnable Fortress" +lth_defensiveperimeter_tt:0 "Add §G5§! §Y$anti_air_building$§! to all of our core states.\nAdd §G4§! §Y$bunker$§! to each province on our starting borders." +lth_thecallofvalinor_tt:0 "The population of our core states will periodically decrease, as departures to Valinor proceed.\nOne year after completing this focus, §YCeleborn§! and §YGaladriel§! will leave." +lth_twilight_garden:0 "Twilight Garden" +lth_twilight_garden_desc:0 "The sun sets on elvendom in Middle Earth. As the last of our people prepare for departure, the idyllic enclave of Lothlórien will serve as the fair and delicate cradle on the path to immortality." +lth_galadrielspowers_tt:0 "All of our unit leaders gain §Y$galadriels_blessing_trait$§!\n -$MODIFIER_SICKNESS_CHANCE$: §G-100.0%§!\n -$MODIFIER_WOUNDED_CHANCE_FACTOR$: §G-100.0%§!" +yavannas_blessing:0 "Yavanna's Blessing" +aules_benison:0 "Aulë's Benison" +galadriels_blessing_trait:0 "Galadriel's Blessing" + +increase_influence_nandor_tt:0 "Increase $nandor_influence$ by §G+$RIGHT$§!." +increase_influence_noldor_tt:0 "Increase $noldor_influence$ by §G+$RIGHT$§!." +increase_influence_sindar_tt:0 "Increase $sindar_influence$ by §G+$RIGHT$§!." +increase_influence_halfelves_tt:0 "Increase $halfelves_influence$ by §G+$RIGHT$§!." +increase_influence_nonelves_tt:0 "Increase $nonelves_influence$ by §G+$RIGHT$§!." +increase_influence_orcs_tt:0 "Increase $orcs_influence$ by §G+$RIGHT$§!." + +decrease_influence_nandor_tt:0 "Decrease $nandor_influence$ by §R$RIGHT$§!." +decrease_influence_noldor_tt:0 "Decrease $noldor_influence$ by §R$RIGHT$§!." +decrease_influence_sindar_tt:0 "Decrease $sindar_influence$ by §R$RIGHT$§!." +decrease_influence_halfelves_tt:0 "Decrease $halfelves_influence$ by §R$RIGHT$§!." +decrease_influence_nonelves_tt:0 "Decrease $nonelves_influence$ by §R$RIGHT$§!." +decrease_influence_orcs_tt:0 "Decrease $orcs_influence$ by §R$RIGHT$§!." + +nandor_trait:0 "Nandor" +nandor_trait_desc:0 "An Elf of Nandor descent." +noldor_trait:0 "Ñoldor" +noldor_trait_desc:0 "An Elf of Ñoldorin descent" +sindar_trait:0 "Sindar" +sindar_trait_desc:0 "An Elf of Sindar descent" +halfelves_trait:0 "Half-Elf" +halfelves_trait_desc:0 "Mixed mannish and elven blood" +nonelves_trait:0 "Non-Elf" +nonelves_trait_desc:0 "Non elven blood" +orcs_trait:0 "Orc" +orcs_trait_desc:0 "A servant of darkness" +galadriels_blessing_trait:0 "Galadriel's Blessing" +galadriels_blessing_trait_desc:0 "This individual is protected by the divine veil of Lady Galadriel" +river_specialist:0 "River-Warfare Specialist" +river_specialist_desc:0 "Trained in the art of fighting around flowing streams of water" +mirrors_chosen:0 "The Mirror's Chosen" +mirrors_chosen_desc:0 "Galadriel's Mirror has prophesized great victories for this individual." +mirrors_doomed:0 "The Mirror's Doomed" +mirrors_doomed_desc:0 "Galadriel's Mirror has prophesized death and suffering for this individual." + +lth_thenandorheritage_tt:0 "Add a §G+15.0%§! §HDivision Organization§! bonus to the $nandor_faction$." +lthi_increase_bonuses_50percent:0 "All bonuses of the $nandor_faction$ grow by §G50.0%§! of their current amount." +lth_guardiansofthewild_tt:0 "Add a §G+15.0%§! §HDivision Speed§! bonus to the $nandor_faction$." +lth_discovernewrealms_tt:0 "Increase the §HRecruitable Population§! bonus of the $nandor_faction$ by §G+15.0%§!." +oath_of_feanor:0 "Oath of Fëanor" +lth_wisdomofeluthingol_tt:0 "Add a §G+15.0%§! §HResearch Speed§! bonus to the $sindar_faction$." +lth_affiliatewithlindon_tt:0 "[LIN.GetNameWithFlag] will choose one of the $sindar_faction$ bonuses, which will be doubled." +lth_refugeofdoriath_tt:0 "Add a §G$RIGHT%§! §HSupply Consumption§! bonus to the $sindar_faction$." +lth_celebrateperendhillegends_tt:0 "Add a §G+15.0%§! §HStability§! bonus to the $halfelves_faction$." +lth_diorthefair_tt:0 "Add a §G-16.0%§! §HConsumer Good Factories§! bonus to the $halfelves_faction$." +lth_earendilthemariner_tt:0 "Add a §G+15.0%§! §HArmy Experience Gain§! bonus to the $halfelves_faction$." + +lth_galadrielsmirror_tt:0 "Unlock §YGaladriel's Mirror§! decisions, letting us receive temporary bonuses, or gaze into the future of other countries." +lth_mirrorupgrade_tt:0 "Decrease the cooldown on the §Y$look_into_mirror$§! decision.\nSignificantly improve the chances of getting positive outcomes from the Mirror's visions.\nIncrease the amount of countries we can gaze into the future of.\n" + +LTH_silverthorn_arrows:0 "Silverthorn Arrows" +LTH_silverthorn_arrows_desc:0 "These enchanted arrows, tipped with silverthorn, are meticulously crafted by the skilled archers of Lothlórien. The silverthorn plant is rare and possesses magical properties that make it highly effective against unnatural creatures and beings of darkness." +LTH_blades_of_the_eldar:0 "Blades of the Eldar" +LTH_blades_of_the_eldar_desc:0 "Forged with unparalleled craftsmanship and infused with the essence of elven magic, the Blades of the Eldar are revered weapons wielded by skilled elven warriors." + +lth_sentinelsofcerinamroth_tt:0 "Spawn three elite divisions in §YCerin Amroth§!, consisting of Marchwardens, Archers and Pathstalkers." + +lth_nenya_enchantment:0 "Nenya's Protective Enchantment" +lth_nenya_enchantment_desc:0 "Galadriel's ring, Nenya, wields the power of preservation and concealment from evil." + +lth_consulttheelves_tt:0 "Send out a message to [RIV.GetNameWithFlag], [MIR.GetNameWithFlag] and [LIN.GetNameWithFlag]. Their reponses will increase the influence of their chosen faction." +lth_electedrepresentatives_tt:0 "Fill all slots on the §YSmall Council§! (except for §YChief Advisor§!) with random advisors (if empty)." +lth_appointedrepresentatives_tt:0 "The cost of the next hired §YTreasurer§!, §YSpymaster§! or §YPolitical Advisor§! is reduced by §G-66%§!." + +lth_thegreatschism_tt:0 "\n§RIf the schism is not resolved within 450 days, a civil war will break out.§!" + +mirror_predictable:0 "\n(The outcome of this event can be forecast with §YGaladriel's Mirror§!)" +lth_purityandbrilliance_tt:0 "Any faction with more than §Y80%§! influence automatically gets all their bonuses doubled." +fair_as_the_sea_and_sun:0 "Fair as the Sea and the Sun" +dreadful_as_storm_and_lightning:0 "Terrible as the Storm and the Lightning" +lth_atasteofempire_tt:0 "Unlocks the §Y$elven_imperial_rule$l§! occupation policy." +lth_reformmilitaryleadership_tt:0 "Every army leader of §Yskill level 1§! will be dismissed.\nEvery army leader of §Yskill level 2§! and above will receive one additional skill level." + +lth_thequeensguard_tt:0 "Spawn a single, elite division in §YCaras Galadhon§! consisting of large amounts of infantry and archers." + +lth_send_subjugation_demand_tt:0 "Demand [THIS.GetName] to either pay tribute, or submit to us." +lth_send_subjugation_demand_elves_tt:0 "Ask [THIS.GetName] to become our puppet." +lth_avenge_demand_refusal_tt:0 "Gain a wargoal on every country that refused our demands of tribute or submission." +lth_labourtaxfornonelves_tt:0 "Add §G2§! §Ycivilian factories§! and §G2§! §Ymilitary factories§! for every non-elven subject we have." + +unlock_ring_mechanic_tt:0 "Unlock access to the §YOne Ring§! decisions." +autocompleted_on_event_tt:0 "§OThis focus gets autocompleted when the conditions for it are met.§!" +lth_publiccelebrations_tt:0 "Commence the §YPublic Celebrations§! event-chain, giving us several choices which affect the final outcome of the focus." + +LTH_harmonic_ascendancy:0 "Harmonic Ascendancy" +LTH_harmonic_ascendancy_desc:0 "A new era dawns upon the enchanting realm of Lothlórien as Lady Galadriel and Lord Celeborn cast aside the fractures that once divided them, and agree to once more work together in the interests of the people of Lothlórien.\n\nTime must pass until the wounds of the schism heal and the two rulers bridge the gaps that once separated them. Once they do, the path will paved for a future where their combined strength and wisdom will usher in a new age for our realm." + +LTH_harmonic_ascendancy_2:0 "Harmonic Ascendancy" +LTH_harmonic_ascendancy_2_desc:0 "A new era dawns upon the enchanting realm of Lothlórien as Lady Galadriel and Lord Celeborn cast aside the fractures that once divided them, and agree to once more work together in the interests of the people of Lothlórien.\n\nTime must pass until the wounds of the schism heal and the two rulers bridge the gaps that once separated them. Once they do, the path will paved for a future where their combined strength and wisdom will usher in a new age for our realm." + +LTH_harmonic_ascendancy_3:0 "Harmonic Ascendancy" +LTH_harmonic_ascendancy_3_desc:0 "A new era dawns upon the enchanting realm of Lothlórien as Lady Galadriel and Lord Celeborn cast aside the fractures that once divided them, and agree to once more work together in the interests of the people of Lothlórien.\n\nTime must pass until the wounds of the schism heal and the two rulers bridge the gaps that once separated them. Once they do, the path will paved for a future where their combined strength and wisdom will usher in a new age for our realm." + +lth_harmonicascendancy_tt:0 "Add §Y$LTH_harmonic_ascendancy$§!, which grants different effects over time, as Galadriel's and Celeborn's Schism continues to heal.\n\nAfter one year:" +lth_harmonicascendancy_tt_2:0 "\nAfter two years:" +lth_harmonicascendancy_tt_3:0 "\nAfter three years:" + +lth_after_one_year:0 "\nAfter one year: " +lth_after_two_years:0 "\nAfter two years: " + +lth_ancestralechoesintandem_tt:0 "The $sindar_faction$ and $noldor_faction$ will share their influence-points." +LTH_celeborn_galadriel_accord_cele:0 "Galadriel-Celeborn Accord: Celeborn's Term" +LTH_celeborn_galadriel_accord_cele_desc:0 "Lothlórien has devised a new, unusual form of governance. The two rulers, Galadriel and Celeborn, take turns of leadership, alternating every year." +LTH_celeborn_galadriel_accord_gala:0 "Galadriel-Celeborn Accord: Galadriel's Term" +LTH_celeborn_galadriel_accord_gala_desc:0 "Lothlórien has devised a new, unusual form of governance. The two rulers, Galadriel and Celeborn, take turns of leadership, alternating every year." + +lth_celeborngaladrielaccord_tt:0 "Galadriel and Celeborn will take alternating turns in leading the country, changing leadership once every year. During one's term the other one will become their chief advisor." + +supreme_leader:0 "Supreme Leader of Lothlórien" + +no_high_taxes_tt:0 "The §YHigh Taxes§! policy will become unavailable." + +lthi_influence_bonuses_tt:0 "\n(These modifiers depend on the influence and bonuses of each elven faction)" +lth_unity_in_division_modifier_tt:0 "\n(These modifiers increase based on how evenly the influence of elven factions is spread out)" + +lth_unityindivision_tt:0 "Add §Y$lth_unity_in_division_modifier$§!, which grants §G0%§!-§G15%§! §YStability§!, §YConstruction Speed§! and §YResearch Speed§! based on how evenly the influence of our factions is spread out." + +lth_tamingthewild_tt:0 "All of our unit leaders with a §Yskill level§! of 2 or higher gain the §Y$forest_skirmisher$§! trait." + +forest_skirmisher:0 "Forest Skirmisher" +forest_skirmisher_desc:0 "A special bond with nature, forged by countless hours in the wild." + +LTH_great_beasts:0 "The Great Beasts" +LTH_great_beasts_desc:0 "Eagles and Fellbeasts are among the most fearsome creatures of Middle Earth. The people of this nation have formed a close bond these winged beasts, which they can bring down to bear on the field of battle." + +lth_supportspiderindependence_tt:0 "[SPI.GetNameWithFlag] will be more likely to become independent." + +lth_unity_in_division_modifier:0 "Unity in Division" +lth_unity_in_division_modifier_desc:0 "Through mutual cooperation, divisions from various elven realms gain enhanced organization and coordination, ensuring a harmonious synergy that maximizes their collective potential." + +LTH_lead_by_example:0 "Lead by Example" +LTH_lead_by_example_desc:0 "As we drive our people into a new, better future, it is imperative to abide by the principles we preach." + +lth_eaglesofmanwe_tt:0 "Gain §G80§! §YEagle Fighters§!." +lth_fellbeastsofmordor_tt:0 "Gain §G80§! §YFellbeast Fighters§!." + +lth_spider_cooperation_tt:0 "Whilst not at war with any spiders, [LTH.GetName] will periodically spawn two §YSpiderling§! divisions in §YCaras Galadhon§! every year." + +lth_orc_prisoners_tt:0 "Whilst we are not allied with [MOR.GetNameWithFlag], we will periodically spawn two §YOrc Prisoner§! divisions in §YCaras Galadhon§! every year. Spawn two immediately." + +lth_theforestbetween_tt:0 "Whilst we remain at peace with both Ents and Spiders, the periodically spawned §YSpiderling Divisions§! will also include a contingent of §YEnts§!. Spawn one such division immediately." + +lth_pressurethranduil_tt:0 "If both countries accept, [ERE.GetNameWithFlag] and [MIR.GetNameWithFlag] will sign a §YNon-agression pact§!." + +lth_supportthegreycompany_tt:0 "§Y[RIV.GetNameWithFlag]§!, §Y[ART.GetNameWithFlag]§! and §Y[RHD.GetNameWithFlag]§! will receive a request for support.\nIf at least §Y2§! countries accept, §Y[ART.GetNameWithFlag]§! and §Y[RHD.GetNameWithFlag]§! will each receive four divisions consisting of infantry and archers." + +lthi_activate_orcs_tt:0 "The $orcs_faction$ joins the influence system with §Y100§! influence points and a §G+10.0%§! §YDivision Strength§! bonus." +lthi_activate_nonelves_tt:0 "The $nonelves_faction$ joins the influence system with §Y50§! influence points and a §G+10.0%§! §YPopulation Growth§! bonus." + +lth_nonelvencitizenship_tt:0 "Unlock several dwarven an mannish advisors and generals." + +lth_anewbreed_tt:0 "Triple the bonus of the $orcs_faction$.\nThe influence of the $orcs_faction$ will grow by §G+3§! every week." + +lth_requestaseatonelrondscouncil_tt:0 "We will send a request to [RIV.GetNameWithFlag], asking for a seat on Elrond's Council, which will allows us to add a warrior to the fellowship and vote on it's path to Mordor." + +ring_start_elven_fellowship_tt:0 "We will assemble a new fellowship of the ring and send it to Mordor, with the mission to destroy the One Ring. The new fellowship will consist of §YHaldir§!, §YOrophin§!, §YRúmil§!, §YTarborn§! and §YLethsael§! (if available)." + +lth_dismantlethenazgul_tt:0 "Unlock decisions allowing us to destroy Mordor's Nazgûl." + +lth_thegiftofservitude_tt:0 "Increase the size of the periodically spawned §YOrc Prisoner§! divisions considerably. Spawn two of them immediately." + +lth_safehaven_tt:0 "Whenever a faction member of ours capitulates, we will be able to host their government in exile. Every time this happens, we gain §Y100k§! manpower." + +lth_alliance_of_light_group_name:0 "Alliance of Light Research" +lth_alliance_of_light_group_desc:0 "Exchange of knowledge inside Lothlórien's Alliance of Light" + +white_council_group_name:0 "White Council Research" +white_council_group_desc:0 "Exchange of knowledge inside the White Council" + +lthi_increase_bonus_nandor_tt:0 "Increase all bonuses of the $nandor_faction$ by §G+20%§! (multiplicative)." +lthi_increase_bonus_noldor_tt:0 "Increase all bonuses of the $noldor_faction$ by §G+20%§! (multiplicative)." +lthi_increase_bonus_sindar_tt:0 "Increase all bonuses of the $sindar_faction$ by §G+20%§! (multiplicative)." +lthi_increase_bonus_halfelves_tt:0 "Increase all bonuses of the $halfelves_faction$ by §G+20%§! (multiplicative)." +lthi_decrease_bonus_nandor_tt:0 "Decrease all bonuses of the $nandor_faction$ by §R-20%§! (multiplicative)." +lthi_decrease_bonus_noldor_tt:0 "Decrease all bonuses of the $noldor_faction$ by §R-20%§! (multiplicative)." +lthi_decrease_bonus_sindar_tt:0 "Decrease all bonuses of the $sindar_faction$ by §R-20%§! (multiplicative)." +lthi_decrease_bonus_halfelves_tt:0 "Decrease all bonuses of the $halfelves_faction$ by §R-20%§! (multiplicative)." +lthi_decrease_bonus_nandor_major_tt:0 "Decrease all bonuses of the $nandor_faction$ by §R-90%§! (multiplicative)." +lthi_decrease_bonus_noldor_major_tt:0 "Decrease all bonuses of the $noldor_faction$ by §R-90%§! (multiplicative)." +lthi_decrease_bonus_sindar_major_tt:0 "Decrease all bonuses of the $sindar_faction$ by §R-90%§! (multiplicative)." +lthi_decrease_bonus_halfelves_major_tt:0 "Decrease all bonuses of the $halfelves_faction$ by §R-90%§! (multiplicative)." + +nandor_trait_tt:0 "Promoting this leader to §YField Marshal§! adds §G+20§! $nandor_influence$\nEvery time this leader wins a battle, add §G+1§! $nandor_influence$." +noldor_trait_tt:0 "Promoting this leader to §YField Marshal§! adds §G+20§! $noldor_influence$\nEvery time this leader wins a battle, add §G+1§! $noldor_influence$." +sindar_trait_tt:0 "Promoting this leader to §YField Marshal§! adds §G+20§! $sindar_influence$\nEvery time this leader wins a battle, add §G+1§! $sindar_influence$." +halfelves_trait_tt:0 "Promoting this leader to §YField Marshal§! adds §G+20§! $halfelves_influence$\nEvery time this leader wins a battle, add §G+1§! $halfelves_influence$." +orcs_trait_tt:0 "Promoting this leader to §YField Marshal§! adds §G+20§! $orcs_influence$\nEvery time this leader wins a battle, add §G+1§! $orcs_influence$." +nonelves_trait_tt:0 "Promoting this leader to §YField Marshal§! adds §G+20§! $nonelves_influence$\nEvery time this leader wins a battle, add §G+1§! $nonelves_influence$." + +lth_add_sharedcause_mp_tt:0 "Add manpower for every other §Yrevolutionary§! country that exists. The amount is scaled by the country's communism support, with minor countries providing less. The gain is capped at §G+150k§!.\nEffects based on current state of the world:" + +lth_liftthelawofisolation_tt:0 "If [MOA.GetNameWithFlag] capitulates to [MOC.GetNameWithFlag], we will be given the option to host the dwarves as a §YGovernment in Exile§!." + +penal_infantry_buff_tt:0 "§YPenal Battalion§! soft attack: §G+15.0%§!\n§YPenal Battalion§! hard attack: §G+15.0%§!\n§YPenal Battalion§! defense: §G+15.0%§!\n§YPenal Battalion§! breakthrough: §G+15.0%§!" + +great_schism_civil_war:0 "The Schism: Breaking Point" +great_schism_civil_war_desc:0 "Political tensions in Lothlórien are rising. If the crisis is not settled in due time, it may boil over into an all-out conflict." +great_schism_civil_war_tt:0 "A §Rcivil war§! between the §YÑoldor§! and §YSindar§! will start." +great_schism_delay_civil_war:0 "The Schism: Ease Tensions" +great_schism_delay_civil_war_desc:0 "The tensions between out people are unprecedented. A public display of unity ought to calm things down." + +character_dies_tt:0 "§Y[THIS.GetName]§! §Rdies§!." + +lth_lorekeepersguild_tt:0 "Unlock the §YLorekeeper's Guild§!." + +lth_next_advisor_cheaper_0:0 "Appointed Representatives" +lth_next_advisor_cheaper_1:0 "Appointed Representatives" +lth_next_advisor_cheaper_2:0 "Appointed Representatives" +lth_next_advisor_cheaper_3:0 "Appointed Representatives" + +sindar_more_inflence_than:0 "The $sindar_faction$ has more than §Y$RIGHT$§! influence points. (Currently §Y$LEFT$§!)" +noldor_more_inflence_than:0 "The $noldor_faction$ has more than §Y$RIGHT$§! influence points. (Currently §Y$LEFT$§!)" +nandor_more_inflence_than:0 "The $nandor_faction$ has more than §Y$RIGHT$§! influence points. (Currently §Y$LEFT$§!)" +halfelves_more_inflence_than:0 "The $halfelves_faction$ has more than §Y$RIGHT$§! influence points. (Currently §Y$LEFT$§!)" +nonelves_more_inflence_than:0 "The $nonelves_faction$ has more than §Y$RIGHT$§! influence points. (Currently §Y$LEFT$§!)" +orcs_more_inflence_than:0 "The $orcs_faction$ has more than §Y$RIGHT$§! influence points. (Currently §Y$LEFT$§!)" + +lthi_has_25p_sindar_influence_tt:0 "The $sindar_faction$ holds at least §Y25.0%§! of influence points. (Currently $lthi_sindar_influence_percent$)" +lthi_has_50p_sindar_influence_tt:0 "The $sindar_faction$ holds at least §Y50.0%§! of influence points. (Currently $lthi_sindar_influence_percent$)" +lthi_has_80p_sindar_influence_tt:0 "The $sindar_faction$ holds at least §Y80.0%§! of influence points. (Currently $lthi_sindar_influence_percent$)" +lthi_has_25p_nandor_influence_tt:0 "The $nandor_faction$ holds at least §Y25.0%§! of influence points. (Currently $lthi_nandor_influence_percent$)" +lthi_has_50p_nandor_influence_tt:0 "The $nandor_faction$ holds at least §Y50.0%§! of influence points. (Currently $lthi_nandor_influence_percent$)" +lthi_has_80p_nandor_influence_tt:0 "The $nandor_faction$ holds at least §Y80.0%§! of influence points. (Currently $lthi_nandor_influence_percent$)" +lthi_has_25p_noldor_influence_tt:0 "The $noldor_faction$ holds at least §Y25.0%§! of influence points. (Currently $lthi_noldor_influence_percent$)" +lthi_has_50p_noldor_influence_tt:0 "The $noldor_faction$ holds at least §Y50.0%§! of influence points. (Currently $lthi_noldor_influence_percent$)" +lthi_has_80p_noldor_influence_tt:0 "The $noldor_faction$ holds at least §Y80.0%§! of influence points. (Currently $lthi_noldor_influence_percent$)" +lthi_has_25p_halfelves_influence_tt:0 "The $halfelves_faction$ holds at least §Y25.0%§! of influence points. (Currently $lthi_halfelves_influence_percent$)" +lthi_has_50p_halfelves_influence_tt:0 "The $halfelves_faction$ holds at least §Y50.0%§! of influence points. (Currently $lthi_halfelves_influence_percent$)" +lthi_has_80p_halfelves_influence_tt:0 "The $halfelves_faction$ holds at least §Y80.0%§! of influence points. (Currently $lthi_halfelves_influence_percent$)" + +princess_of_the_noldor:0 "Princess of the Ñoldor" + +noldor_more_inflence_than_sindar_tt:0 "The $noldor_faction$ has more §Yinfluence points§! than the $sindar_faction$ (Currently: §G$LEFT$§! - §R$RIGHT$§!)" +sindar_more_inflence_than_noldor_tt:0 "The $sindar_faction$ has more §Yinfluence points§! than the $noldor_faction$ (Currently: §G$LEFT$§! - §R$RIGHT$§!)" +sindar_and_noldor_influence_diff_under_tt:0 "The difference in §Yinfluence points§! between the $noldor_faction$ and the $sindar_faction$ is less than §Y$RIGHT$§! (Currently: §Y$LEFT$§!)" + +nostalgic_glory_seeker:0 "Nostalgic Glory-Seeker" +blinded_oracle:0 "Blinded Oracle" +inspiring_motivator:0 "Inspiring Motivator" +LTH_lead_by_example_tt:0 "\n(These modifiers are only applied whilst the tax policy is §YLow Taxes§! or §YNo Taxes§!)" + +lth_less_than_X_days_until_cw_tt:0 "Fewer than §Y$RIGHT$§! days remaining until §Ybreaking point§! (Currently §R$LEFT$§!)." + +lth_refused_subjugation:0 "Has refused our demands of subjugation" + +oath_of_feanor_diplo_tt:0 "Lothlórien has taken the Oath of Fëanor, which forbids them from joining a faction with belligerent Mordor." + +oath_of_feanor_effect_tt:0 "\n§RWe will be forbidden from joining a faction with belligerent Mordor§!" + +lth_ai_buff:0 "." + +fs_started:0 "The Ring has been discovered in the Shire." + +lth_harmoinic_ascendandy_year_one_tt:0 "Political Power: §G+50§!\n$random_state_add_building_slot_and_civ_tt$\n$random_state_add_building_slot_and_mil_tt$" +lth_harmoinic_ascendandy_year_two_tt:0 "Political Power: §G+100§!\nGain Base Stability: §G+10%§!\nGain Base War Support: §G+10%§!\n$random_state_add_building_slot_and_civ_x2_tt$\n$random_state_add_building_slot_and_mil_x2_tt$" +lth_harmoinic_ascendandy_year_three_tt:0 "Political Power: §G+150§!\nGain §G1§! Research Slot\n$random_state_add_building_slot_and_civ_x3_tt$\n$random_state_add_building_slot_and_mil_x3_tt$" + +lth_harmonic_ascendancy_1_modifier_tt:0 "Immediately:\n$lth_harmoinic_ascendandy_year_one_tt$\n\n$lth_after_one_year$\n$lth_harmoinic_ascendandy_year_two_tt$\n$lth_after_two_years$\n$lth_harmoinic_ascendandy_year_three_tt$" +lth_harmonic_ascendancy_2_modifier_tt:0 "Immediately:\n$lth_harmoinic_ascendandy_year_two_tt$\n$lth_after_one_year$\n$lth_harmoinic_ascendandy_year_three_tt$" +lth_harmonic_ascendancy_3_modifier_tt:0 "Immediately:\n$lth_harmoinic_ascendandy_year_three_tt$" + +leaving_for_valinor:0 "Leaving for Valinor" +leaving_for_valinor_desc:0 "The time to depart these troubled lands has come." + +foreign_support:0 "Foreign Support" + +support_mordor_enemy:0 "Support [FROM.GetName]" +support_mordor_enemy_desc:0 "[FROM.GetName] is engaged in a bitter struggle against the forces of Mordor. We should aid them in any way we can." + +lady_of_lorien:0 "Lady of Lórien" +lord_of_lorien:0 "Lord of Lórien" + +preemptivedepartures_nandor:0 "Send Nandor Elves to Valinor" +preemptivedepartures_noldor:0 "Send Ñoldor Elves to Valinor" +preemptivedepartures_sindar:0 "Send Sindar Elves to Valinor" +preemptivedepartures_halfelves:0 "Send Half-Elves to Valinor" + +lth_unity_in_division_modifier:0 "Unity in Division" + +orc_rights_debate_declined:0 "Has refused the Orc Rights Debate" + +enact_migration_treaty:0 "Enact Migration Treaty with [FROM.GetName]" + +lth_spider_cooperation:0 "The Spiders have accepted our request for cooperation." +lth_ent_cooperation:0 "The Ents have accepted our request for cooperation." + +LTH_beacon_of_hope:0 "Beacon of Hope" +LTH_beacon_of_hope_desc:0 "Lothlórien has positioned itself as the defender of freedom and peace. A dauntless bulwark that will fight the shadows tooth and nail." + +fs_ring_seized_in_lth:0 "The Ring was seized when the Fellowship arrived in Lothlórien." + +dismantle_nazgul:0 "Dismantle the Nazgûl" +dismantle_nazgul_desc:0 "With the One Ring in our hands we hold the leash to Sauron's lapdogs." +dismantle_nazgul_MOR:0 "Ringwraith being destroyed" +dismantle_nazgul_MOR_desc:0 "The elves if Lothlórien have found a way to use the One Ring to destroy our faithful servants!" + +LTH_prisoner_vivisections:0 "Prisoner Visvisections" +LTH_prisoner_vivisections_desc:0 "Lothlórien does not hold back when it comes to experimenting on their prisoners to learn their enemy's weaknesses." + +LTH_gift_of_servitude:0 "The Gift of Servitude" +LTH_gift_of_servitude_desc:0 "To the servants of evil, the benevolent, righteous and sublime leadership of Lady Galadriel is a priviledge." + +LTH_a_necessary_evil:0 "A Necessary Evil" +LTH_a_necessary_evil_desc:0 "Lothlórien regards the orcs as subervient tools with a purpose, not equals." + +LTH_a_necessary_evil_2:0 "A Necessary Evil" +LTH_a_necessary_evil_2_desc:0 "Lothlórien regards the orcs as subervient tools with a purpose, not equals." + +LTH_the_new_order:0 "A New Order" +LTH_the_new_order_desc:0 "The once peaceful and prosperous elves of the Golden Wood are a thing of the past. A legend to be told to the incredulous. The new Lothlórien is a very different place." + +lth_civil_war:0 "The Sindar and Ñoldor have fought a civil war" + +durins_bane_dead:0 "Durin's Bane is dead" + +raid_lothlorien:0 "Raid Lothlórien" diff --git a/localisation/english/lothlorien/mirror_events_l_english.yml b/localisation/english/lothlorien/mirror_events_l_english.yml new file mode 100644 index 000000000..b6d1399b6 --- /dev/null +++ b/localisation/english/lothlorien/mirror_events_l_english.yml @@ -0,0 +1,472 @@ +l_english: +mirror.1.t:0 "Whispers of the Enemy" +mirror.1.d:0 "You gaze into the mirror and it's ephemereal visions fall into the reality around you. You see peril and darkness. Evil forces lurking in the shadows, mounting for an all-out attack. Villages stand razed and elves slaughtered like animals.\nThe images etch a dire warning of an impeding a maelstrom of chaos." +mirror.1.a:0 "We construct additional fortifications!" +mirror.1.b:0 "Send diplomatic emissaries and ask for protection!" +mirror.1.c:0 "Let them try, if they dare." +############# +mirror.2.t:0 "The Fellowship of the Ring" +mirror.2.d:0 "As you fix your gaze upon the mirror, the veil between worlds shifts, and the fabric of time dances before your eyes.\n\nYou see before you a group of warriors and halflings, valiantly struggling through the mountain passes of Caradhras. The fellowship of the Ring.\n\nBut a palpable sense of tragedy hangs in the air, for these noble souls are fated to be consumed by the relentless darkness that surrounds them. Their sacrifice looms in the haunting images—fallen comrades, shattered hopes, and the impending doom of Middle-earth." +mirror.2.a:0 "An inspiring sight!" +mirror.2.b:0 "They may arrive in Lothlorien before long." +mirror.2.c:0 "Curse them!" +############# +mirror.3.t:0 "The Halfling and the Ring" +mirror.3.d:0 "Your focus narrows as the mirror's surface distills into a singular image.\n\nA lonely halfling, Frodo, grappling with the cruel ascent of a forbidding mountain range. His skin is bruised and muddy, his face twisted with the pains of his perilous journey.\n\nIn his hand, he clutches the One Ring. This vision is a reminder of the solitary trials that fate has chosen for him, and the heart-rending choice he carries—to stand steadfast as the Ring-bearer or succumb to its seductive power." +mirror.3.a:0 "The halfling's strength is an inspiration to us all!" +mirror.3.b:0 "Reach out to him through the veil. Channel into him the positive energy of hopefulness." +mirror.3.c:0 "Whisper a curse to him." +############# +mirror.4.t:0 "The Fall of the Fellowship" +mirror.4.d:0 "As your gaze pierces the mirror's veil, a haunting tableau unfolds.\n\nThe fellowship of the ring, once the hope of the free peoples, now in ruin. Swallowed by the gaping maw of darkness, their warriors fallen in battle, their halflings butchered.\n\nThe Ring has been taken. Lord Elrond has made a grave mistake." +mirror.4.a:0 "Tragic, but a stark reminder that our enemy is without mercy. Ring or not, we will not yield to Sauron!" +mirror.4.b:0 "Elrond's gamble has failed. Now the Ring will decide the fate of empires." +mirror.4.c:0 "An now it ours, at last!" +mirror.4.do:0 "The Ring has not yet reached Sauron. There may yet be hope." +############# +mirror.5.t:0 "Visions of the fallen city of Gondolin" +mirror.5.d:0 "Gently lowering your sight into the mirror's depths, an ancient city reveals itself.\n\nTowers that once kissed the sky now crumble like faded dreams, while whispers of valorous echoes seem to flutter through the ruins. It is the fallen city of Gondolin.\n\nIt is a powerful echo of times long past." +mirror.5.a:0 "A stirring sight for any proud Noldorin!" + +############# +mirror.6.t:0 "Visions of Beren and Lúthien" +mirror.6.d:0 "The mirror's ethereal dance draws forth an intimate scene—Beren and Lúthien, two souls bound by love and forged in defiance against insurmountable odds.\n\nYet, even as they stand united, a sense of sacrifice permeates the image, the inexorable toll of their quest to reclaim a Silmaril from the heart of Angband.\n\nIt is an inspiring story that weaves together valor and tragedy inextricably." +mirror.6.a:0 "A reminder that not all victories are without cost. Our peredhil compatriots be blessed!" + +############# +mirror.7.t:0 "Visions of the first settlers" +mirror.7.d:0 "The mirror's surface shimmers and unveils a forgotten chapter.\n\nBefore you glimpse a familiar sight. The dense forest of the Golden Wood, distinguished by its one-of-a-kind Mallorn trees. But this vision is not of the present. You see elves, the first Nandor, drawn by the call of enchanted woods, forging their settlement in Lothlórien.\n\nThe vision captures their transformation, from nomadic wanderers to guardians of the woods, embracing the ethereal magic and bearing the weight of its guardianship." +mirror.7.a:0 "It is a stirring sight, to glance upon the ancestors our people." + +############# +mirror.8.t:0 "Visions of the kingdom of Doriath" +mirror.8.d:0 "Amidst the ripples of the mirror's surface, the once-great kingdom of Doriath emerges—a realm of enchantment and shadow, graced by the rule of Thingol and Melian.\n\nIt is a realm of beauty and bewilderment, one that would invoke a sense of awe even in the eldest of elves." +mirror.8.a:0 "A depiction of the true potential held by the Sindar." + +############# +mirror.9.t:0 "Visions of the Eye" +mirror.9.d:0 "You gently ease your gaze into the mirror's tranquil depths.\n\nIt presents you a familiar sight: The sublime landscapes of the Lothlórien bathed in the golden light of a late sunset. Mallorn trees stand in eternal splendor, their leaves aglow with a radiant, golden hue.\n\nBut then, with a jarring shift, the scene transforms -- the sun swells, looming impossibly large and grotesque. The brilliance that once warmed your soul now bleeds into malevolence as the fiery orb distorts, morphing into the sinister eye of Sauron.\n\nThe black tongue of Mordor sings in the sounds of thunder. The Mallorn trees are set ablaze by the eye's roaring flames. Panic surges within you as you attempt to withdraw from the mirror's grasp, but it's as though Sauron himself has seized control. The One Ring echoes the eye's heat and burns your skin. \n\nThe eye, ablaze with malice, spreads its tendrils, swallowing the world around you until there is nothing left but its all-seeing gaze." +mirror.9.a:0 "It... it was just a vision, right?" + +############# +mirror.10.t:0 "Visions of the Eye" +mirror.10.d:0 "As you peer into the mirror, the beauty of the Golden Wood at sunset unfolds—an idyllic scene of peace and serenity. Mallorn trees stand bathed in golden light, the tranquility of Lothlórien palpable. \n\nYet, a shadow creeps, distorting the tranquility—a sun that swells impossibly, its brilliance warping into the glaring eye of Sauron. In horror, you watch as the landscape shifts, the trees consumed by flames as the voices of Mordor fill the air. The eye's malevolence spreads like a tide, consuming everything in its path, until you are ensnared in its all-seeing gaze. \n\nBut a spark within you ignites, and you raise your hand, invoking the Valar's intervention. The skies darken, rain falls in torrents. The flames are extinguished, the eye's gleam is suffocated." +mirror.10.a:0 "Nice try, Sauron." + +############# +mirror.11.t:0 "Visions of Mordor" +mirror.11.d:0 "Plunging your gaze into the mirror, the world shifts and molds around you.\n\nYou feel an ashen texture touching your feet. and the landscape around you opens into a vast plain of bleak malevolence. You are on the Plateau of Gorgoroth, the heart of Mordor.\n\nYou see large gatherings of orcs, marching, building, training.\n\nAnd then it happens—the all-seeing eye turns its gaze upon you, it's heat cast upon you from the distant horizon." +mirror.11.a:0 "The vision has provided useful insight into what is happening in Mordor." + +############# +mirror.12.t:0 "Visions of Gondor" +mirror.12.d:0 "The mirror ushers you into a realm of palpable tension—the white city of Minas Tirith.\n\nAn uneasy hush pervades the air as Gondor's citizens cast nervous glances toward the looming mountains of Mordor, where a storm gathers, a foreboding harbinger of darkness.\n\nBut amidst the unease, a flicker of resilience ignites—the people of Gondor, while beleaguered, have not surrendered to despair." +mirror.12.a:0 "The vision has provided useful insight into what is happening in Gondor." + +############# +mirror.13.t:0 "Visions of Erebor" +mirror.13.d:0 "The mirror shifts the reality around you and you find yourself in a great marble hall filled with enormous pillars of stone that reach up into occluded darkness.\n\nIt is the great halls of Erebor. The air rings lively with the clang of metal and the rhythmic cadence of arduous labor. Dwarves toil tirelessly, constructing and mining with relentless determination.\n\nOn some pillars, the faint scars of the past linger—an echo of the time when a dragon's fiery presence tainted the halls." +mirror.13.a:0 "The vision has provided useful insight into what the dwarves are up to." + +############# +mirror.14.t:0 "Visions of Angmar" +mirror.14.d:0 "The mirror's enigmatic depths draw you into a realm of frigid desolation.\n\nA biting wind howls through the expanse, its chill seeping into your very bones. You would have thought to be in Forodwaith, were it not for the group of orcs foraging around you.\n\nIt is the icy plains of Angmar, a harsh reminder of the darkness that clings to these northern reaches. The gust of cold air surges and mirror's image lifts." +mirror.14.a:0 "The vision provides a clear image of the situation in Angmar." + +############# +mirror.15.t:0 "Visions of confusion" +mirror.15.d:0 "Gazing intently into the mirror, you brace yourself for the visions that usually unfold with clarity and purpose.\n\nHowever, as the mirror's surface ripples and shifts, something is amiss. The images that materialize are a chaotic tapestry of confusion, a jumble of colors, shapes, and fragmented scenes that defy comprehension." +mirror.15.a:0 "There is nothing to be learned of these visions." + +############# +mirror.16.t:0 "Visions of knowledge" +mirror.16.d:0 "As your focus melds with the mirror's surface, a steady current of knowledge begins to flow—a stream of insights and revelations that awakens dormant understanding within you. Like pieces of a puzzle finally finding their place, the jigsaw of information takes shape, bestowing upon you newfound wisdom." +mirror.16.a:0 "This could be useful." + +############# +mirror.17.t:0 "Visions of triumph" +mirror.17.d:0 "As your gaze pierces the mirror's veil, a cascade of images unfurls.\n\nThe banners of Lothlórien flutter proudly in the wind, and the clash of steel reverberates through the air as your forces press onward. \n\nThe battlefield is littered with the corpses of your enemies. A crescendo of triumphant roars echoes as the enemy's lines crumble under the relentless assault, their resistance a mere footnote to your army's indomitable spirit." +mirror.17.a:0 "A testament to the unbreakable will of Lothlórien!" + +############# +mirror.18.t:0 "Visions of austerity" +mirror.18.d:0 "As your gaze penetrates the mirror's depths, a scene of solemn beauty emerges—the elves of Lothlórien toil tirelessly amidst the enchanting groves, their efforts marked by a steadfast dedication to their craft.\n\nEach thread they spin, each stroke of the chisel, is an embodiment of their unwavering commitment to preserving the magic of their realm." +mirror.18.a:0 "A testament to Lothlórien's tenacious spirit!" + +############# +mirror.19.t:0 "Visions of the fall of [FROM.GetName]" +mirror.19.d:0 "The mirror presents you with the harrowing images of the fall of [FROM.GetName].\n\nThe cities that once gleamed with vitality are now marred by the scars of war, their walls breached and their streets overrun by the advance of merciless invaders.\n\n[FROM.GetName] has been broken. Their glory and esteem scarred forever." +mirror.19.a:0 "A stirring sight, to glance upon the upturned faces of the dead..." +mirror.19.b:0 "Another enemy bites the dust." +mirror.19.c:0 "They will be avenged." +############# +mirror.20.t:0 "Visions of a magical mound" +mirror.20.d:0 "As your gaze is drawn into the mirror's depths, the forests of Lothlórien rise around you. Your steps are guided by an unseen force, leading you through a verdant tapestry of ancient trees and dancing light.\n\nYour journey takes an unexpected turn as you arrive at a serene glade, where a mystical mound stands as the heart of this enchanted domain. The mound emanates an iridescent, otherworldly energy—a dance of colors that seem to mirror the very soul of the forest. It pulses with an age-old magic, a resonance that tugs at your very being." +mirror.20.a:0 "Locate this mound immediately." +mirror.20.b:0 "This may be related to the missing scouts. Locate this mound immediately." +mirror.20.c:0 "It must be giant from the mirror's vision! We should locate it." +mirror.20.do:0 "We have more important things to attend to." +############# +mirror.21.t:0 "Visions of a giant" +mirror.21.d:0 "As your gaze delves into the mirror's surface, you find yourself amidst the serene beauty of Lothlórien—a tranquil realm where the whispers of the leaves and the gentle dance of light create an ethereal ambiance. \n\nThen, this tranquility is shattered as the ground beneath you begins to tremble and shake. The sun's radiance is suddenly eclipsed and you turn around.\n\nBefore your eyes stands a colossal stone giant, reaching a staggering height, striding through the heart of the forest as if it were but blades of grass. Trees are uprooted and cast aside like mere playthings in the giant's wake, their centuries-old majesty yielding to its unstoppable advance." +mirror.21.a:0 "The magical mound! It is burried giant, stirring to wake. We must prepare for this calamity." +mirror.21.b:0 "A harrowing sight. We will have to consult the mirror more closely on this." +mirror.21.c:0 "There are no giants in Lothlórien." +############# +mirror.22.t:0 "Visions of an elf" +mirror.22.d:0 "As you look into the mirror, you glimpse the vast, majestic mountain range of Caradhras.\n\nAtop one of the peaks sits a strange-looking elf, looking into the distance. He is keenly observing a fight between two giants, engaged in an otherworldly clash.\n\nAmidst the chaos, the elf's aura resonates with a profound connection to the world's mysteries—an understanding that transcends the surface spectacle." +mirror.22.a:0 "Locate this elf immediately. We may require his unique knowledge." + +############# +mirror.23.t:0 "Visions of a dark rift" +mirror.23.d:0 "The mirror conures up an vision of the imposing silhouette of Dol Guldur, a sinister monolith against the backdrop of the Mirkwood forest. Its very presence exudes an air of dread and maleficent power from within.\n\nBut it is not Dol Guldur alone that commands your attention; it is the all-seeing eye of Sauron that hovers above, the very symbol of an ancient and relentless evil that seeks dominion over all.\nThe vision shifts, showing the eye casting its shadow over the Mallorn trees of Lothlorien, cursing them with black tendrils.\n\nYou see a dark rift seeping malevolent energy into Lothlórien, weakening the bond between the elves and the trees." +mirror.23.a:0 "It is this rift what is causing the trees to fade. We must seal it as soon as possible." +mirror.23.b:0 "Ask the historian. He may know how to seal it." + +############# +mirror.24.t:0 "Visions of an elf" +mirror.24.d:0 "The mirror presents you a vision of Lothlórien unlike any you've known. \n\nThe once-vibrant mallorn trees stand as darkened sentinels, their once-lush leaves replaced by a sinister cloak of black tendrils that twist and writhe. \n\nTime's flow shifts, accelerating like a river in flood. The cursed tendrils that shroud the mallorn trees start to unravel, their malevolent grip loosening. In a breathtaking display of nature's resilience, the trees begin to bloom once more. \n\nAmid this resurgence, a lone figure emerges—an elf. You've seen him before. It is a reclusive elven historian, living in the outskirts of Caras Galadhon." +mirror.24.a:0 "Seek out this historian. He may be able to help us." + +############# +mirror.25.t:0 "Visions of an ancient ritual" +mirror.25.d:0 "As your gaze penetrates the mirror's depths, a vision unfolds—a hallowed glimpse into the sanctum of an ancient elven ritual. Elves draped in intricate robes gather beneath the canopy of a sacred glade. \n\nA great stone altar stands at the heart of the glade, adorned with symbols and runes that whisper of forgotten knowledge and cosmic connection. Elves bearing lanterns imbued with ethereal light encircle the altar and prepare to partake in the sacred ceremony.\n\nAs a single elf approaches the altar, he begins emmanating an aura of rejuvenation." +mirror.25.a:0 "This ritual might be useful. Search the archives for information." +mirror.25.b:0 "What a waste of time." +############# +mirror.26.t:0 "The mirror asks for a name" +mirror.26.d:0 "The mirror summons a haunting vision.\n\nA procession of ephemeral forms, like phantoms, traversing the sacred realm of Lothlórien. They move with a spectral grace, a whisper of countless lives that have graced this enchanted land. \n\nThe mirror seems to be asking for something. A name." +mirror.26.a:0 "[?m_storyline_ritual_spoken_name1.GetName]" +mirror.26.b:0 "[?m_storyline_ritual_spoken_name2.GetName]" +mirror.26.c:0 "[?m_storyline_ritual_spoken_name3.GetName]" +mirror.26.do:0 "We will name nobody." +############# +mirror.27.t:0 "Visions of a mysterious stanger" +mirror.27.d:0 "The mirror shows yourself, in the tranquil embrace of your chambers.\n\nYou look out into the moonlight, when you feel something stir. A presence, entering the room behind you. You don't see them, but the geometry of the room seems to shift and warp to accomodate the newcomer.\n\nSlowly, you turn and your gaze lands upon an elf cloaked in black. Their countenance is shrouded in mystery, their eyes reflecting the moonlight like distant stars." +mirror.27.a:0 "Curious." + +############# +mirror.28.t:0 "Visions of victory and death" +mirror.28.d:0 "The mirror's surface ripples, unveiling a vision of elven valor—the resolute figure of our general, [?m_storyline_pot_mirrors_chosen.GetName], leading their forces to triumph against the encroaching tide of darkness. Banners flutter in the wind as hope and unity surge through the ranks. \n\nThen, the image dissolves and another emerges. It is our general, [?m_storyline_pot_mirrors_doomed.GetName], gashed with wounds and clotted with blood. He falls to his knees with a face twisted in pain, then dies." +mirror.28.a:0 "The mirror appears to have chosen one of our generals, and doomed the other." + +############# +mirror.29.t:0 "Visions of a secret plot" +mirror.29.d:0 "The mirror summons an image of the royal quarter of Caras Galadhon at night.\n\nAs moonlight bathes the elven city in ethereal luminescence, a shadowy cabal of elves, draped in black hoods. With silver knifes drawn, they move through the corridors of the capital to converge onto the royal chambers. Your chambers.\n\n\n" +mirror.29.a:0 "A worrying vision. Could our fellow elves really be this treacherous?" + +############# +mirror.30.t:0 "Nothing happens" +mirror.30.d:0 "We speak the name, but the mirror's vision persists, then slowly fades. The world around us remains the same as before." +mirror.30.a:0 "Strange." + +############# +mirror.31.t:0 "[?m_storyline_ritual_chosen.GetName] turns up dead" +mirror.31.d:0 "[?m_storyline_ritual_chosen.GetName], whose name we whispered into the mirror not long ago, has turned up dead today.\n\nThere seemingly is no apparent cause for the death." +mirror.31.a:0 "It couldn't have been... the mirror?" + +############# +mirror.32.t:0 "[?m_storyline_ritual_chosen.GetName] revitalized" +mirror.32.d:0 "[?m_storyline_ritual_chosen.GetName], whose name we recently whispered into the mirror, appears to have found a new source of energy within himself. They have demonstrated to be stronger, faster and smarter than before." +mirror.32.a:0 "The mirror's blessing." + +############# +mirror.33.t:0 "Information on the ancient ritual found" +mirror.33.d:0 "Our scholars have searched every nook and cranny of the archives of Caras Galadhon. Inside of an old tome they found a description that fits what we saw in the mirror.\n\nIt appears, that the ritual requires an enigmatic rune, which we do not possess." +mirror.33.a:0 "Begin searching for this rune." +mirror.33.b:0 "We already have this rune. Let's start the ritual" +mirror.33.c:0 "We have no need of ancient rituals" +############# +mirror.34.t:0 "Visions of an enigmatic rune" +mirror.34.d:0 "The mirror's gaze unfurls, revealing an enigmatic scene—a venerable tree adorned with a single, intricate rune." +mirror.34.a:0 "That's the rune we've been looking for." +mirror.34.b:0 "We should retrieve this rune. It could be of use." +############# +mirror.35.t:0 "Rune found" +mirror.35.d:0 "Our scouts have searched long and hard, but have found the enigmatic rune required for the ancient ritual." +mirror.35.a:0 "Great! Let's begin, then." + +############# +mirror.36.t:0 "The ritual" +mirror.36.d:0 "We have gathered the knowledge and materials required to perform the ancient ritual we saw in the mirror.\n\nWho shall the ritual be performed on?" +mirror.36.a:0 "[?m_storyline_ritual_chosen.GetName]" +mirror.36.b:0 "Find someone else" +mirror.36.c:0 "Find a volunteer" +mirror.36.do:0 "On a second thought, this ritual is too dangerous." +############# +mirror.37.t:0 "Fading of the Mallorn Trees" +mirror.37.d:0 "An unsettling change has taken root within the majestic Mallorn trees.\n\nOnce vibrant and resplendent, they now show signs of fading, their leaves losing their luminous sheen and their magic diminishing. \n\nIt appears a shadow has begun to encroach upon Lothlóriens enchanting sanctity, heralding a challenge that demands investigation and resolution." +mirror.37.a:0 "We should consult the mirror on this." + +############# +mirror.38.t:0 "Sickness spreading among the elves" +mirror.38.d:0 "It is a worrying sign when elves, typically immune to common sicknesses, are plagued by a new affliction.\n\nWhispers of weakened health and disquieting malaise drift through the air, and concern ripples through the community as the once-resilient elves find themselves vulnerable to an unseen threat. \n\nAs the healing harmony of the land falters, the need for answers becomes dire, and the elves' strength and unity will be tested in the face of this malady." +mirror.38.a:0 "It's the fading of the Mallorn trees. We need to seal the rift soon." +mirror.38.b:0 "This is beginning to be very serious. We should consult the mirror on this matter." +############# +mirror.39.t:0 "The reclusive historian" +mirror.39.d:0 "An audience with the reclusive historian has revealed that there is a way to restore the Mallorn trees, seal the rift and cure the disease.\n\nWith some extra resources, he says, we may even be able to turn the rift into a protective enchantment." +mirror.39.a:0 "Sealing it is sufficient" +mirror.39.b:0 "We can never have enough protective enchantments." +############# +mirror.40.t:0 "Sealing the rift" +mirror.40.d:0 "Our scholars have studied the disease affecting our people and the Mallorn trees.\n\nThere appears to be a way to cure it, and to seal the rift. Unfortunately it requires a significant amount of Mithril." +mirror.40.a:0 "Send word to Moria. Ask them for help." +mirror.40.b:0 "We will find a different way." +############# +mirror.41.t:0 "Missing Scouts" +mirror.41.d:0 "Reports have reached us that several of our scouts have vanished without a trace.\n\nThe forest's tranquil harmony seems disturbed. Murmurs of concern spread among our people." +mirror.41.a:0 "Unusual. We should consult Galadriel's mirror on this." + +############# +mirror.42.t:0 "Unusual Wildlife Behaviour" +mirror.42.d:0 "Whispers among the elves speak of a growing disturbance in the golden wood. Normally harmonious creatures have been acting strangely, their behavior becoming erratic and unpredictable. Animals that once roamed peacefully now exhibit signs of restlessness and disarray." +mirror.42.a:0 "Something dangerous is stirring in the woods." + +############# +mirror.43.t:0 "Mound located" +mirror.43.d:0 "Our elven roamers have located the magical mound we saw in the mirror." +mirror.43.a:0 "Investigate it." + +############# +mirror.44.t:0 "Dormant giant located" +mirror.44.d:0 "Our scouts have located the mound which is in fact a dormant stone giant." +mirror.44.a:0 "Investigate it, carefully." +mirror.44.b:0 "It is too dangerous. We must wait for more information." +############# +mirror.45.t:0 "The giant stirs" +mirror.45.d:0 "Our scouts have unearthed the ancient guardian lying dormant underneath the mound.\n\nIt has stirred from its slumber, awakening in confusion and disorientation, causing chaos and destruction in its initial moments of awakening." +mirror.45.a:0 "Attack it with everything we have!" +mirror.45.b:0 "The Giantslayer arrows! Use them!" +mirror.45.c:0 "The control rod! Use it now!" +############# +mirror.46.t:0 "A giant stirs" +mirror.46.d:0 "The magical mound appears to have been a stone giant, lying dormant underneath the earth.\n\nOur scouts have unearthed the ancient guardian. It has stirred from its slumber, awakening in confusion and disorientation, causing chaos and destruction in its initial moments of awakening.\n" +mirror.46.a:0 "Attack it with everything we have!" +mirror.46.b:0 "Retreat!" +mirror.46.c:0 "The control rod! Use it now!" +mirror.46.do:0 "The giantslayer arrows! Use them!" +############# +mirror.47.t:0 "Elf located" +mirror.47.d:0 "We have located the elf researching the giants of Caradhras. He has expressed interest in working with us.\n\nHe has offered to begin researching the construction of giantslayer arrows, gigantic ballista-fired projectiles of immense stopping power.\n\nAlternatively, he claims that diverting sufficient research resources may yield the construction of a 'control rod'. An artefact that may be used to control a stone giant." +mirror.47.a:0 "The giantslayer arrows will be useful either way." +mirror.47.b:0 "The control rod could prove useful." +############# +mirror.48.t:0 "The giant tears through our forces" +mirror.48.d:0 "Our forces have been unable to stop the awakened stone giant.\nWe will have to find a different way to stop it." +mirror.48.a:0 "Unfortunate. We will have to find a different way." + +############# +mirror.49.t:0 "The giant falls" +mirror.49.d:0 "The stone giant that ravaged our forest has succumbed to our forces." +mirror.49.a:0 "A testament to the skill of our soldiers." + +############# +mirror.50.t:0 "The giant under our control" +mirror.50.d:0 "The control rod has worked it's magic. The stone giant is now under our complete control." +mirror.50.a:0 "Fascinating." + +############# +mirror.51.t:0 "Caladion asks for permission to look into Galadriel's mirror" +mirror.51.d:0 "The mysterious newcomer, Caladion, has requested permission to glimpse into the mirror." +mirror.51.a:0 "We shall allow this." +mirror.51.b:0 "Not happening." +############# +mirror.52.t:0 "Caladion's vision" +mirror.52.d:0 "Caladion has looked into the mirror. He seems disturbed at what he saw, but doesn't want to elaborate." +mirror.52.a:0 "Mysterious." + +############# +mirror.53.t:0 "A mysterious group of warriors arrive" +mirror.53.d:0 "A mysterious group of warriors has assembled itself. A cult of some sort.\nThey seem to be personally loyal to the Mirror's chosen, [?m_storyline_pot_mirrors_chosen.GetName]." +mirror.53.a:0 "So long as they fight for our side..." + +############# +mirror.54.t:0 "The mirror's cult demand the execution of [?m_storyline_pot_mirrors_doomed.GetName]" +mirror.54.d:0 "The so-called 'Mirror's Chosen', [?m_storyline_pot_mirrors_chosen.GetName], and his group of devout followers have demanded that the mirror's vision be turned into reality. They've demanded that the 'Mirror's Doomed', [?m_storyline_pot_mirrors_doomed.GetName], be executed." +mirror.54.a:0 "They are in no place to make demands of this sort." +mirror.54.b:0 "It is his fate, after all..." +############# +mirror.55.t:0 "Mysterious elf arrives" +mirror.55.d:0 "We have been informed that elf known as Caladion recently arrived in the golden wood.\n\nHe is, without doubt, the same elf we saw in the mirror." +mirror.55.a:0 "Put him to work." +mirror.55.b:0 "Keep an eye on him." +############# +mirror.56.t:0 "Secret plot thwarted by Caladion" +mirror.56.d:0 "Just as we saw in the mirror, a cabal of elves tried to seize the royal quarters and assasinate our beloved leader, [ROOT.GetLeader]. The group was lead by the Mirror's Chosen and his enigmatic cult.\n\nFortunately, the mysterious Caladion was there to stop this coup in its tracks." +mirror.56.a:0 "A close shave. Caladion has earned our gratitude." + +############# +mirror.57.t:0 "Secret plot thwarted by the Mirror's Chosen" +mirror.57.d:0 "Just as we saw in the mirror, a cabal of elves tried to seize the royal quarters and assasinate our beloved leader, [ROOT.GetLeader]. The group was led by the enigmatic Caladion, who only recently arrived in our enclave.\n\nFortunately, the Mirror's Chosen and his devotees were there to stop this coup in its tracks.\n" +mirror.57.a:0 "A close shave. [?m_storyline_pot_mirrors_chosen.GetName] deserves our gratitude." + +############# +mirror.58.t:0 "Secret plot thwarted by the Mirror's Doomed" +mirror.58.d:0 "Just as we saw in the mirror, a cabal of elves tried to seize the royal quarters and assasinate our beloved leader, [ROOT.GetLeader]. The group was led by the enigmatic Caladion, who only recently arrived in our enclave.\n\nFortunately, the Mirror's Doomed, [?m_storyline_pot_mirrors_doomed.GetName], was there to fend the assasins off. The struggle cost him his life, but the plot failed." +mirror.58.a:0 "[?m_storyline_pot_mirrors_doomed.GetName] died a hero." + +############# +mirror.59.t:0 "Secret plot thwarted by the Mirror's Doomed" +mirror.59.d:0 "Just as we saw in the mirror, a cabal of elves tried to seize the royal quarters and assasinate our beloved leader, [ROOT.GetLeader]. The group was led by the Mirror's Chosen and his bizarre cult.\n\nFortunately, the Mirror's Doomed, [?m_storyline_pot_mirrors_doomed.GetName], was there to fend the assasins off. The struggle cost him his life, but the plot failed.\n" +mirror.59.a:0 "[?m_storyline_pot_mirrors_doomed.GetName] died a hero." + +############# + +mirror.33.a_tt:0 "We will begin searching for the enigmatic rune" +mirror.25.a_tt:0 "We will search the archives for mentions of ancient rituals" + +consult_mirror_fellowship_path_tt:0 "We will consult the mirror on which path the fellowship of the ring will take." + +investigate_the_giant:0 "Investigate the Giant" +investigate_the_giant_desc:0 "We have concluded that the magical mound seen in the mirror, is indeed a dormant giant of Caradhras. We should investigate the mound and determine what could be done about it." +investigate_the_giant_2:0 "Investigate the Giant" +investigate_the_giant_2_desc:0 "We have researched new ways of dealing with a stone giant. It is time to put an end to this calamity once and for all." +look_into_mirror:0 "Look into the Mirror" +look_into_mirror_desc:0 "The mirror shows things that were, and things that are, and things that yet may be. But which is it that he sees, even the wisest cannot always tell." +look_into_mirror_2:0 "Look into the Mirror" +look_into_mirror_2_desc:0 "The mirror shows things that were, and things that are, and things that yet may be. But which is it that he sees, even the wisest cannot always tell." +consult_mirror_fellowship_path:0 "Consult the mirror on the fellowship's path" +consult_mirror_fellowship_path_desc:0 "The fellowship of the ring is of vital importance to all of Middle Earth. Knowledge on their fate may allow us to plan accordingly." +look_into_mirror_tt:0 "We will gaze into the mirror and try to learn what we can of its visions." + +mirror.84.t:0 "The fellowship's path" +mirror.84.d:0 "As you peer into the mirror, the colors of life fade, leaving you enveloped in a desolate expanse of bleak grey. The vast plane is shrouded in knee-deep snow, and amidst its icy grasp, figures emerge—the Fellowship of the Ring, their determined march guided by the presence of the wizard Mithrandir. Torrential blizzards whip through the air, their howling force echoing the harshness of a realm you recognize as the very visage of the kingdom of Angmar." +mirror.84.a:0 "They may try to bypass the Misty Mountains to the north." + +############# +mirror.60.t:0 "The fellowship's path" +mirror.60.d:0 "The mirror's embrace transports you to a realm of urgency and motion—the rhythmic gallop of horses against the backdrop of a grand horizon.\n\nThe Fellowship of the Ring rides with haste across fields of grey dirt and dried grass. On the horizon you gaze upon the peaks of the Tower of Orthanc." +mirror.60.a:0 "Orthanc? They will likely try to bypass the Misty Mountains to the south." + +############# +mirror.61.t:0 "The fellowship's path" +mirror.61.d:0 "As your focus melds with the mirror's surface, the peaks of enormous mountains rise around you. The snow-covered crests of Caradhras stretch as far as the eye can see.\n\nThrough the icy gusts, figures emerge. Among them is the halfling Frodo, and the wizard Mithrandir." +mirror.61.a:0 "They will move through the Redhorn Pass. That will bring them into our territory." + +############# +mirror.62.t:0 "The fellowship's path is uncertain" +mirror.62.d:0 "As your gaze delves into the mirror's depths, reality becomes an elusive construct—the world twists and warps, shifting the Fellowship's location with each ephemeral moment. One instance, they traverse a desolate snowy landscape reminiscent of Angmar, and the next, they navigate a labyrinthine forest obscured by ancient shadows." +mirror.62.a:0 "The fellowship's fate remains uncertain." + +############# +mirror.63.t:0 "Ringbearer's Edicts likely unpopular" +mirror.63.d:0 "The mirror paints a clear picture: Amidst the whispers of Lothlórien's lush beauty, a somber undercurrent takes shape—a realm once unified now grapples with division. \n\nGaladriel's name is tinged with tension as her perceived needless meddling and extreme demeanor sow discord among her people.\n\nIf Galadriel were to pass Rinbearer's Edicts, she would likely become unpopular with the common people." +mirror.63.a:0 "The people don't like needless meddling." + +############# +mirror.64.t:0 "Ringbearer's Edicts likely popular" +mirror.64.d:0 "The mirror's surface paints a clear picture: a realm that sings Galadriel's praises as her wisdom and leadership assert stability in turbulent times. \n\nLothlórien thrives under her guidance, the air humming with approval as she takes bold political measures to secure the realm's safety. Her popularity soars, akin to a beacon of hope amidst the chaos.\n\nIf Galadriel were to pass Rinbearer's Edicts, she would likely become even more popular with the common people." +mirror.64.a:0 "The people like an assertive leader." + +############# +mirror.65.t:0 "Celeborn's edicts likely unpopular" +mirror.65.d:0 "The mirror paints a clear picture: Amidst the whispers of Lothlórien's lush beauty, a somber undercurrent takes shape—a realm once unified now grapples with division. \n\nCeleborn's name is tinged with tension as his perceived needless meddling and extreme demeanor sow discord among her people.\n\nIf Celeborn were to pass edicts, he would likely become unpopular with the common people." +mirror.65.a:0 "The people don't like needless meddling." + +############# +mirror.66.t:0 "Ringbearer's Edicts likely popular" +mirror.66.d:0 "The mirror's surface paints a clear picture: a realm that sings Celeborn's praises as his wisdom and leadership assert stability in turbulent times. \n\nLothlórien thrives under his guidance, the air humming with approval as he takes bold political measures to secure the realm's safety. His popularity soars, akin to a beacon of hope amidst the chaos.\n\nIf Celeborn were to pass edicts, he would likely become even more popular with the common people." +mirror.66.a:0 "The people like an assertive leader." + +############# +consult_mirror_cele_edicts_tt:0 "We will consult the mirror on the outcome of the §YA Lord's Perogative§! focus." +consult_mirror_gala_edicts_tt:0 "We will consult the mirror on the outcome of the §YRingbearer's Edicts§! focus." +consult_mirror_cele_edicts:0 "Consult the mirror on Celeborn's Edicts" +consult_mirror_cgala_edicts:0 "Consult the mirror on Galadriel's Edicts" + +mirror.67.t:0 "The dark future of [?event_target:mirror_future_target.GetName]" +mirror.67.d:0 "The mirror's depths reveal the destiny of [?event_target:mirror_future_target.GetName] as marred and stained in crimson blood.\n\nTheir leadership, driven by the relentless ambitions of dominance will tread a path of unrelenting conquest, their eyes fixed on power at any cost. In their wake will remain the echoes of battles, the cries of the fallen, and the march of armies." +mirror.67.a:0 "A worrying prospect." + +############# +mirror.68.t:0 "The dark future of [?event_target:mirror_future_target.GetName]" +mirror.68.d:0 "The mirror offers a worrying glimpse into the future of [?event_target:mirror_future_target.GetName]. \n\nA dark cloud is setting on their fate. The pursuit of wealth will fuel their ruthless desires, and the lands will echo with the cries of those who suffer in the name of unchecked ambition." +mirror.68.a:0 "[?event_target:mirror_future_target.GetName] will stop at nothing." + +############# +mirror.69.t:0 "The dark future of [?event_target:mirror_future_target.GetName]" +mirror.69.d:0 "The future of [?event_target:mirror_future_target.GetName] is bathed in the dark hues of conflict.\n\nGuided by a desire to dominate, its leadership propels the realm toward an inexorable abyss of turmoil and strife. The tendrils of greed intertwine with the pursuit of power, armies will march and grounds will carry the colours of dried blood." +mirror.69.a:0 "[?event_target:mirror_future_target.GetName] treads a dangerous path." + +############# +mirror.70.t:0 "The chaotic future of [?event_target:mirror_future_target.GetName]" +mirror.70.d:0 "The future of [?event_target:mirror_future_target.GetName] is enmeshed in its own internal turmoil. Peasants will rise, their fervor ignited by generations of discontent, and storm the very foundations of power. Kings, once resolute in their rule, now crumble as a tide of rebellion threatens to upend the old order. The vision captures the birth of a defiant spirit—an insurgent force driven by an unyielding desire for a new dawn." +mirror.70.a:0 "The people of [?event_target:mirror_future_target.GetName] have a precarious future ahead of themselves." + +############# +mirror.71.t:0 "The chaotic future of [?event_target:mirror_future_target.GetName]" +mirror.71.d:0 "The future of [?event_target:mirror_future_target.GetName] seems underlined by a newfound defiance as the populace rallies, weary of the oppressive status quo. Castles once impenetrable now face the surge of peasant insurgency, and monarchs who once held sway tremble beneath the weight of change." +mirror.71.a:0 "The people of [?event_target:mirror_future_target.GetName] seem to want change above all." + +############# +mirror.72.t:0 "The chaotic future of [?event_target:mirror_future_target.GetName]" +mirror.72.d:0 "The future of [?event_target:mirror_future_target.GetName] seems driven by a spirited insurgency, surging as the country's people unite with a shared vision of a future unburdened by oppression. In this era of transformation, the land is charged with the energy of defiance, a spirited uprising that seeks to sculpt a destiny more just and equitable than the past." +mirror.72.a:0 "Such change rarely comes without bloodshed." + +############# +mirror.73.t:0 "The future of [?event_target:mirror_future_target.GetName]" +mirror.73.d:0 "The mirror shows [?event_target:mirror_future_target.GetName], standing firm against encroaching darkness—a resolute defiance that casts aside fear in favor of hope. The people, though tremulous, stand unyielding against the tide of despair, their spirits dauntless in the face of overwhelming malice." +mirror.73.a:0 "[?event_target:mirror_future_target.GetName] will fight for their freedom." + +############# +mirror.74.t:0 "The future of [?event_target:mirror_future_target.GetName]" +mirror.74.d:0 "The mirror depicts [?event_target:mirror_future_target.GetName] as a beacon of hope amidst the shadows—a land that refuses to succumb to fear despite the looming darkness. The people, though frightened, stand by their faith in a vision of a world cleansed of evil." +mirror.74.a:0 "[?event_target:mirror_future_target.GetName] will not succumb to tyranny without a fight." + +############# +mirror.75.t:0 "The future of [?event_target:mirror_future_target.GetName]" +mirror.75.d:0 "Within the mirror's embrace, [?event_target:mirror_future_target.GetName]'s valor shines—a radiant beacon of resistance against the encircling darkness. Their faith extends beyond their leaders, intertwining with the unwavering solidarity of nations who share their dream—a world unburdened by the weight of evil." +mirror.75.a:0 "The people of [?event_target:mirror_future_target.GetName] are determined to keep their freedom." + +############# +mirror.76.t:0 "The future of [?event_target:mirror_future_target.GetName]" +mirror.76.d:0 "The mirror depicts [?event_target:mirror_future_target.GetName] as aloof and detached—a realm indifferent to the currents that shape the world around them. Like a drifting raft, their gaze remains fixed solely remaining afloat, regardless of the tides that may beckon elsewhere." +mirror.76.a:0 "[?event_target:mirror_future_target.GetName] will try to avoid getting involved." + +############# +mirror.77.t:0 "The future of [?event_target:mirror_future_target.GetName]" +mirror.77.d:0 "The disposition of [?event_target:mirror_future_target.GetName] appears distanced and isolated, an island unto itself amidst the tumultuous sea of events. Like a solitary beacon, they stand apart [?event_target:mirror_future_target.GetName] the currents that shape the world, their focus solely directed inward." +mirror.77.a:0 "[?event_target:mirror_future_target.GetName] is hoping to sit this one out" + +############# +mirror.78.t:0 "The future of [?event_target:mirror_future_target.GetName]" +mirror.78.d:0 "The mirror shows the lands of [?event_target:mirror_future_target.GetName] as safe havens, sheltered ?event_target:mirror_future_target the world's tempestuous tides, a reflection of their unwavering aloofness. " +mirror.78.a:0 "[?event_target:mirror_future_target.GetName] will trend towards neutrality." + +############# +mirror.79.t:0 "The future of [?event_target:mirror_future_target.GetName] uncertain" +mirror.79.d:0 "The mirror's depths remain shrouded, refusing to unveil the future of [?event_target:mirror_future_target.GetName] —- a veiled enigma that leaves uncertainty in its wake." +mirror.79.a:0 "The fate of [?event_target:mirror_future_target.GetName] yet remains to be decided" + +############# +mirror.80.t:0 "The future of [?event_target:mirror_future_target.GetName] uncertain" +mirror.80.d:0 "As you peer into the mirror, the realm of [?event_target:mirror_future_target.GetName]'s destiny remains elusive, an undefined canvas where the brushstrokes of the future refuse to materialize." +mirror.80.a:0 "Who knows what fate has in store for the people of [?event_target:mirror_future_target.GetName]..." + +############# +mirror.81.t:0 "The future of [?event_target:mirror_future_target.GetName] uncertain" +mirror.81.d:0 "The mirror's gaze offers no clarity—a canvas of nebulous potential where the fate of [?event_target:mirror_future_target.GetName] remains an enigmatic whisper, waiting to be deciphered." +mirror.81.a:0 "These visions offer nothing of value." + +############# + +consult_mirror_on_country_path_tt:0 "We will look into the mirror and try to see what the future has in store for [FROM.GetName].\n\n§OThe targets of this decision re-randomizes every month.§!" +consult_mirror_on_country_path:0 "Consult the mirror on the future of [FROM.GetNameWithFlag]" +consult_mirror_on_country_path_desc:0 "The mirror's visions transcend time and space. Through its magical veil we can gaze into the fate of peoples and their empires." + +consult_mirror_intel:0 "Gain intelligence on our enemies" +consult_mirror_intel_desc:0 "The mirror's visions can offer useful information on the current happenings in far away lands." + +consult_mirror_anduin_offer:0 "Consult the mirror on the Vales' response" +consult_mirror_anduin_offer_desc:0 "The mirror can tell us if [VAL.GetNameWithFlag] would accept an offer of subordination." +mirror.82.t:0 "The Vales of Anduin likely to accept elven leadership" +mirror.82.d:0 "The mirror unveils an image of unity—the people of the Vales of Anduin bowing in deference to the benevolence and wisdom of the elves of Lothlórien. " +mirror.82.a:0 "It would be the right choice" + +############# +mirror.83.t:0 "The Vales of Anduin likely to reject elven leadership" +mirror.83.d:0 "Through the mirror's enchantment emerges a troubling image—the people of the Vales of Anduin standing resolute in their independence." +mirror.83.a:0 "Let's see how well it serves them." + +############# \ No newline at end of file diff --git a/localisation/english/lotr_advisors_l_english.yml b/localisation/english/lotr_advisors_l_english.yml index b76add252..1cb269d1c 100644 --- a/localisation/english/lotr_advisors_l_english.yml +++ b/localisation/english/lotr_advisors_l_english.yml @@ -57,6 +57,12 @@ military_architect:0 "Military Architect" repair_architect:0 "Repair Architect" explosives_specialist:0 "Explosives Specialist" + reclusive_historian:0 "Reclusive Historian" + reclusive_historian_idea:0 "Ranaeril" + giants_researcher:0 "Giants Researcher" + giants_researcher_idea:0 "Delsaran" + mysterious_stranger:0 "Mysterious Stranger" + mysterious_stranger_idea:0 "Caladion" beastmaster:0 "Beastmaster" humble_farmer:0 "Humble Farmer" construction_engineer:0 "Construction Engineer" @@ -101,6 +107,7 @@ master_of_surprise:0 "Master of Surprise" lesson_learner:0 "Lesson Learner" leader_of_rangers:0 "Leader of Rangers" + marchwarden:0 "Marchwarden" naval_invader:0 "Naval Invader" independence_advocate:0 "Independence Advocate" despotic_oppressor:0 "Despotice Oppressor" @@ -193,6 +200,8 @@ loquacious_healer:0 "Loquacious Healer" rohan_ambassador:0 "Ambassador to Rohan" noble_shieldmaiden:0 "Noble Shieldmaiden" + provincial_councilor:0 "Provincial Councilor" + provincial_councilor_tt:0 "Every §Y180 days§!, grant a random non-core state the §YProvincial Council§! modifier, giving §G+20%§! $MODIFIER_LOCAL_SUPPLIES_FOR_CONTROLLER$, §G+20%§! $MODIFIER_MOBILIZATION_SPEED$, §G+20%§! $MODIFIER_LOCAL_NON_CORE_MANPOWER$" tender_of_beasts:0 "Tender of Beasts" lord_of_the_nazgul:0 "Lord of the Nazgûl" shadow_of_the_east:0 "Shadow of the East" @@ -224,6 +233,7 @@ port_constructor:0 "Trading Port Architect" celestial_navigation_expert:0 "Celestial Navigation Expert" courting_rumormonger:0 "Courting Rumor-Monger" + river_specialist:0 "River-warfare specialist" # DECISION CATEGORY advisor_decisions_category:0 "Laws and Government" @@ -276,21 +286,26 @@ longterm_planner_improvement:0 "Long-term Economic Planning" longterm_planner_improvement_desc:0 "Our treasurer is unfolding an economic plan with great potential for growth. \n\nCurrent bonus: [?THIS.longterm_planner_factor|.1%-] Consumer Good Factories." longterm_planner_improvement_timeout:0 "Will grant an additional §Y-2%§! consumer goods. (Repeated each year up to a total of §Y-12%§!)" + longterm_planner_improvement_timeout_improved:0 "Will grant an additional §Y-4%§! consumer goods. (Repeated each year up to a total of §Y-12%§!)" longterm_planner_modifier:0 "Long-term Planner as Treasurer" + provincial_councilor_organization:0 "Setting up provincial councils" + provincial_councilor_organization_desc:0 "Our provincial councilor is setting up a provincial council." + ruthless_pillager_advisor_effect_tooltip:0 "Unlocks decisions that allow us to relocate civilian factories from states we occupy to our core-states." ruthless_pillager_relocate_civs:0 "Pillage [?FROM.GetName]" ruthless_pillager_relocate_civs_desc:0 "[?FROM.GetName] holds riches ripe for the taking." paying_tribute:0 "Paying Tribute to Overlord" - demand_tribute:0 "Collect Tribute from [?FROM.GetName]" - demand_tribute_desc:0 "[?FROM.GetName] must pay their dues to us." - tribute_collector_advisor_effect_tooltip:0 "Unlocks decisions allowing us to collect 50% of our subject's civilian economy." + collect_tribute:0 "Collect Tribute from [?FROM.GetName]" + collect_tribute_desc:0 "[?FROM.GetName] must pay their dues to us." + tribute_collector_advisor_effect_tooltip:0 "Unlocks a diplomatic action, allowing us to collect §Y50%§! of our subject's §Ycivilian economy§!." pedantic_organizer_advisor_effect_tooltip:0 "Will grant §G2.0%§! research speed §Yevery year§! stacking up to a maximum of §G12.0%§!." pedantic_organizer_improvement:0 "Pedantic Research Organization Improvement" - pedantic_organizer_improvement_desc:0 "Our chief researcher is carefully protocoling and oragnizing our research division, slowly driving up efficiency. \n\nCurrent bonus: [?THIS.pedantic_organizer_factor|.1%] Research Speed." + pedantic_organizer_improvement_desc:0 "Our chief researcher is carefully protocoling and oragnizing our research division, slowly driving up efficiency. \n\nCurrent bonus: [?THIS.pedantic_organizer_factor|.1%+] Research Speed." pedantic_organizer_improvement_timeout:0 "Will grant an additional §Y2%§! research speed. (Repeated each year up to a total of §Y12%§!)" + pedantic_organizer_improvement_timeout_improved:0 "Will grant an additional §Y4%§! research speed. (Repeated each year up to a total of §Y12%§!)" pedantic_organizer_modifier:0 "Pedantic Organizer as Chief Researcher" serial_indeptor_advisor_effect_tooltip:0 "Will immediately grant offmap §YCivilian Factories§! equal to §Y20%§! of our civilian economy.\nAfter two years, these factories are removed and repayment is taken in the form of §Y20%§! consumer goods for two years.\n\nGrants additional decisions to incurr additional debt up to §Y30%§!." @@ -392,6 +407,8 @@ peaceful_builder_effect_tooltip:0 "Grants §Y15%§! construction speed if world tension is under 30%, otherwise §Y5%§!." peaceful_builder_modifier:0 "Peaceful Builder Bonus" + provincial_council_modifier:0 "Provincial Council" + rohan_ambassador_effect_tooltip:0 "Makes it significantly likelier that Rohan comes to our aid when we light the beacons." captain_of_the_ithilien_rangers_effect_tooltip:0 "Also grants §R-10%§! stability if Denethor II is the country leader." @@ -409,9 +426,14 @@ mirkwood_expat_effect_tooltip:0 "Mirkwood will be likelier to accept an alliance invitation and send Legolas to our council." spark_of_genius_effect_tooltip:0 "Every year: grants a single-use §G50%§! research bonus on a random tech category." - spark_of_genius_timeout_tooltip:0 "Grants a one-time §G50%§! research bonus on a random technology category, then restarts the mission." + spark_of_genius_timeout_tooltip:0 "Grants a one-time §G50%§! research bonus on a random technology category." spark_of_genius_spark:0 "Spark of Genius Progress" spark_of_genius_spark_desc:0 "The best ideas come at the most unexpected times." + +lotr_advisors_improve_long_term_planner_tt:0 "Treasurers with the §YLong-Term-Planner§! trait will build up their bonus twice as fast." +long_term_planner_improved:0 "Long-Term-Planner Advisor's has been improved" +lotr_advisors_improve_pedantic_organizer_tt:0 "Chief Researchers with the §YPedantic Organizer§! trait will build up their bonus twice as fast." +pedantic_organizer_improved:0 "Pedantic Organizer Advisor's has been improved" # IDEA NAMES resultdriven_overseer_idea_elves:0 "Lanthiron" diff --git a/localisation/english/lotr_generic_events_l_english.yml b/localisation/english/lotr_generic_events_l_english.yml index 268080e72..bdd9c244f 100644 --- a/localisation/english/lotr_generic_events_l_english.yml +++ b/localisation/english/lotr_generic_events_l_english.yml @@ -3,7 +3,7 @@ lotr_generic.1.t:0 "[FROM.GetName] claims our state of [?event_target:target_claimed_state.GetName]" lotr_generic.1.d:0 "[FROM.GetName] says that our state of [?event_target:target_claimed_state.GetName] belongs to them." lotr_generic.1.a:0 "Outrageous!" - lotr_generic.1.b:0 "Perhaps we can we work out a deal?" + lotr_generic.1.b:0 "Perhaps we can work out a deal?" lotr_generic.1.b_tooltip:0 "Propose to give [FROM.GetName] full resource rights in [?event_target:target_claimed_state.GetName]. In return [FROM.GetName] will withdraw their claim and enact a non-aggression pact with us." lotr_generic.1.c:0 "Give it up. This is not worth fighting over." ###################################### @@ -21,7 +21,7 @@ lotr_generic.4.a:0 "If they can't be reasoned with, let's do it the hard way..." ###################################### lotr_generic.5.t:0 "[FROM.GetName] hands over [?event_target:target_claimed_state.GetName]" - lotr_generic.5.d:0 "[FROM.GetName] aknowledges our claim to their territory and, hoping to avoid conflict, hand it over in return for a pact of non-aggression." + lotr_generic.5.d:0 "[FROM.GetName] acknowledges our claim to their territory and, hoping to avoid conflict, hand it over in return for a pact of non-aggression." lotr_generic.5.a:0 "They reek of fear." ###################################### lotr_gambler.1.t:0 "Our treasurer makes a masterful investment" @@ -35,4 +35,57 @@ lotr_gambler.2.b:0 "Attempt to mitigate the situation immediately!" lotr_gambler.2.b.tooltip:0 "Reduces the consumer goods debuff by §Y2%§!." lotr_gambler.2.c:0 "That fool! Off with his head!" - ###################################### \ No newline at end of file + ###################################### + lotr_generic.6.t:0 "Diplomatic delegation arrives from [FROM.GetName]" + lotr_generic.6.d:0 "A distinguished delegation of diplomats has arrived from [FROM.GetName]. Their presence at our court marks a moment of potential alliance and diplomacy. With formal greetings exchanged and envoys donned in their traditional attire, the meeting holds the promise of forging new relationships." + lotr_generic.6.a:0 "Shower them with gifts and banquets." + lotr_generic.6.b:0 "Provide them the common courtesies." + lotr_generic.6.c:0 "They're not welcome here." + ###################################### + lotr_generic.7.t:0 "[FROM.GetName] seeks exile" + lotr_generic.7.d:0 "Our ally, [FROM.GetName], has recently fallen to the enemy. Their leadership now turns to us, hoping to continue the fight from the safety of our realm." + lotr_generic.7.a:0 "We will harbour them in these dark times." + lotr_generic.7.b:0 "Turn them away." + ###################################### + lotr_generic.8.t:0 "[From.GetName] seeks to join the [Root.GetFactionName]" + lotr_generic.8.d.a:0 "In the face of increasing threats to liberty and cooperative values, the [alliance_applicant.GetAdjective] look to us as the defenders of freedom. They now wish to be admitted into our alliance, both to enjoy our protection and to stand with us against the forces that would threaten freedom." + lotr_generic.8.d.b:0 "Our plight to overturn the current world order has not escaped the notice of like-minded nations. The [alliance_applicant.GetAdjective] recognize that their best chance to carve out a prosperous future for themselves is to align with us in the coming conflict, and they have therefore offered to formally join us against our enemies." + lotr_generic.8.d.c:0 "[alliance_applicant.GetName] has recognized that she must band together with fellow-minded people to strengthen the place of the common people in the world. Accepting our leading role in the international plight of the worker, the [alliance_applicant.GetAdjective] now request to formally enter into an alliance with us." + lotr_generic.8.d.e:0 "As the current upheavals in international politics continue to reverberate through the world, the [alliance_applicant.GetAdjective] have deemed us to be their greatest chance of surviving these tumultuous times. They therefore request to be admitted into our alliance, so that we may weather the coming storm together." + lotr_generic.8.a:0 "All who stand for liberty may stand with us." + lotr_generic.8.b:0 "The world belongs to all who are strong!" + lotr_generic.8.c:0 "We stand together." + lotr_generic.8.e:0 "And weather it, we shall!" + lotr_generic.8.f:0 "We are better off without them." + lotr_generic.8.g:0 "We already have the allies we need." + ###################################### + lotr_generic.9.t:0 "[alliance_inviter.GetName] welcomes us to the [alliance_inviter.GetFactionName]" + lotr_generic.9.d:0 "[alliance_inviter.GetName] has decided to accept our request to join the [alliance_inviter.GetFactionName]. Henceforth we shall stand or fall together." + lotr_generic.9.a:0 "Together we shall defend liberty." + lotr_generic.9.b:0 "None can stand against us!" + lotr_generic.9.c:0 "The workers' plight could not ask for finer champions!" + lotr_generic.9.e:0 "We shall set our differences aside, for now." + ###################################### + lotr_generic.10.t:0 "[alliance_inviter.GetName] denies request to join the [alliance_inviter.GetFactionName]" + lotr_generic.10.d:0 "[alliance_inviter.GetName] has decided to reject our request to join the [alliance_inviter.GetFactionName]. We will have to make do without their help." + lotr_generic.10.a:0 "They call themselves defenders of liberty?" + lotr_generic.10.b:0 "Then we will crush them, too!" + lotr_generic.10.c:0 "Unfortunate!" + lotr_generic.10.e:0 "Our differences were too great." + ###################################### + lotr_generic.11.t:0 "[From.GetName] invites [Root.GetName] to the [From.GetFactionName]" + lotr_generic.11.d.a:0 "With a suspicious eye on recent developments in world politics, [alliance_inviter.GetName] extends us their hand of friendship, offering us their protection and urging us to stand with them in defence of the principles of liberty and democracy. As a member of the [alliance_inviter.GetFactionName], our people's freedom may well be safeguarded." + lotr_generic.11.d.b:0 "Recognizing that sometimes even the strong need allies, the [alliance_inviter.GetAdjective] have invited us to join the [alliance_inviter.GetFactionName]. If we choose to accept, this may well provide ample opportunity for us to find our place in the sun." + lotr_generic.11.d.c:0 "Our ideological allies in [alliance_inviter.GetName] have made note of our valuable contributions to the workers' cause, and this morning we received an invitation us to join the [alliance_inviter.GetFactionName]. Standing together with other socialist republics, we could spread the revolution with renewed strength." + lotr_generic.11.d.e:0 "It appears the [alliance_inviter.GetAdjective] consider us to be of strategic interest to them, and that they deem it more profitable that we work together than that we should let ourselves be divided by our ideological differences. This morning, the [alliance_inviter.GetAdjective] Ambassador delivered an invitation for us to become a member state of the [alliance_inviter.GetFactionName]." + lotr_generic.11.a:0 "We will make our stand with them." + lotr_generic.11.b:0 "We only need a few thousand dead..." + lotr_generic.11.c:0 "We will fight alongside our comrades!" + lotr_generic.11.e:0 "It is the profitable choice." + ###################################### + lotr_generic.12.t:0 "[alliance_applicant.GetName] accepts invitation to the [alliance_inviter.GetFactionName]" + lotr_generic.12.d:0 "[alliance_applicant.GetName] has decided to accept our offer to join the [alliance_inviter.GetFactionName]. Henceforth we shall stand or fall together." + ###################################### + lotr_generic.13.t:0 "[alliance_applicant.GetName] rejects offer to join the [alliance_inviter.GetFactionName]" + lotr_generic.13.d:0 "[alliance_applicant.GetName] has decided to reject our offer to join the [alliance_inviter.GetFactionName]. We will have to make do without their help." + lotr_generic.13.a:0 "Our help is not wanted." \ No newline at end of file diff --git a/localisation/english/lotr_mios_l_english.yml b/localisation/english/lotr_mios_l_english.yml new file mode 100644 index 000000000..d30273473 --- /dev/null +++ b/localisation/english/lotr_mios_l_english.yml @@ -0,0 +1,25 @@ +l_english: + +# POLICIES +mio_policy_carrying_capacity_eagle:0 "Train for Carrying Capacity" +mio_policy_agility_eagle:0 "Train for Agility" +mio_policy_strength_eagle:0 "Train for Strength" +mio_policy_carrying_capacity_fellbeast:0 "Train for Carrying Capacity" +mio_policy_agility_fellbeast:0 "Train for Agility" +mio_policy_strength_fellbeast:0 "Train for Strength" +mio_policy_inflated_funds:0 "Inflated Funds" +mio_policy_casting_specialists:0 "Casting Specialists" +mio_policy_pedantic_perfectionism:0 "Pedantic Perfectionism" +mio_policy_raw_materials_management:0 "Raw Materials Management" +mio_policy_technological_edge:0 "Technological Edge" +mio_policy_for_the_people_by_the_people:0 "For the People, By the People" +mio_policy_harsh_labour_quotas:0 "Harsh Labour Quotas" +mio_policy_prosperous_exchange:0 "Prosperous Exchange" +mio_policy_offensive_focus:0 "Offensive Focus" +mio_policy_defensive_focus:0 "Defensive Focus" +mio_policy_lightweight_materials:0 "Lightweight Materials" +mio_policy_land_cutting_corners:0 "Cutting Corners" +mio_policy_navy_raiding_fleet:0 "Raiding Fleet Focus" +mio_policy_coastal_battle:0 "Coastal Fleet Focus" +mio_policy_bare_minimum:0 "Bare Minimum Seaworthiness" +mio_policy_navy_great_seas_fleet:0 "Great Seas Fleet Focus" \ No newline at end of file diff --git a/localisation/english/lotr_misc_l_english.yml b/localisation/english/lotr_misc_l_english.yml new file mode 100644 index 000000000..038269683 --- /dev/null +++ b/localisation/english/lotr_misc_l_english.yml @@ -0,0 +1,26 @@ +l_english: +kill_character_tt:0 "[THIS.GetName] §Rdies§!." +submittothebalrog_tt:0 "Spawn a §YBalrog§! unit. If this unit dies, Durin's Bane dies as well." +random_state_add_building_slot_and_civ_tt:0 "Add §G1§! §Ycivilian factories§! to a random controlled state." +random_state_add_building_slot_and_mil_tt:0 "Add §G1§! §Ymilitary factories§! to a random controlled state." +random_state_add_building_slot_and_doc_tt:0 "Add §G1§! §Ydockyards§! to a random controlled state." +random_state_add_building_slot_and_civ_x2_tt:0 "Add §G2§! §Ycivilian factories§! to a random controlled state." +random_state_add_building_slot_and_mil_x2_tt:0 "Add §G2§! §Ymilitary factories§! to a random controlled state." +random_state_add_building_slot_and_doc_x2_tt:0 "Add §G2§! §Ydockyards§! to a random controlled state." +random_state_add_building_slot_and_civ_x3_tt:0 "Add §G3§! §Ycivilian factories§! to a random controlled state." +random_state_add_building_slot_and_mil_x3_tt:0 "Add §G3§! §Ymilitary factories§! to a random controlled state." +random_state_add_building_slot_and_doc_x3_tt:0 "Add §G3§! §Ydockyards§! to a random controlled state." +random_state_add_building_slot_and_civ_x4_tt:0 "Add §G4§! §Ycivilian factories§! to a random controlled state." +random_state_add_building_slot_and_mil_x4_tt:0 "Add §G4§! §Ymilitary factories§! to a random controlled state." +random_state_add_building_slot_and_doc_x4_tt:0 "Add §G4§! §Ydockyards§! to a random controlled state." +manage_guilds:0 "£guilds_texticon£ Manage Guilds" + +COLLECT_TRIBUTE_TITLE:0 "Collect Tribute" +COLLECT_TRIBUTE_ACTION_DESC:0 "For 300 days they will pay us §G50%§! of their civilian economy as tribute." + +FOCUS_FILTER_UNALIGNED:0 "Unaligned" +FOCUS_FILTER_RING:0 "The One Ring" +FOCUS_FILTER_REVOLUTIONARY:0 "Revolutionary" +FOCUS_FILTER_ELVEN_FACTIONS:0 "Elven Factions" +FOCUS_FILTER_COOPERATIVE:0 "Cooperative" +FOCUS_FILTER_BELLIGERENT:0 "Belligerent" diff --git a/localisation/english/lotr_races_l_english.yml b/localisation/english/lotr_races_l_english.yml index f6a9897d7..be71a0070 100644 --- a/localisation/english/lotr_races_l_english.yml +++ b/localisation/english/lotr_races_l_english.yml @@ -4,13 +4,13 @@ race_tooltip_delayed:0 "[GetCountryRaceModifier]" race_elves:0 "Elves" - race_elves_desc:0 "Elves are immortal and graceful poeple, known for their heightened senses, beauty, and close connection to nature." + race_elves_desc:0 "Elves are immortal and graceful people, known for their heightened senses, beauty, and close connection to nature." idea_race_elves_modifier:0 "Elves Modifier" - race_elves_modifier:0 "§L$race_elves_desc$§! \n\n§W$MODIFIER_GLOBAL_MONTHLY_POPULATION$:§! §R-25.0%§! \n§W$MODIFIER_ARMY_ORG_FACTOR$:§! §G+10.0%§! \n" + race_elves_modifier:0 "§L$race_elves_desc$§! \n\n§W$MODIFIER_GLOBAL_MONTHLY_POPULATION$:§! §R-90.0%§! \n§W$MODIFIER_ARMY_ORG_FACTOR$:§! §G+10.0%§! \n" race_dwarves:0 "Dwarves" race_dwarves_desc:0 "Dwarves are a strong and sturdy people, known for their skill in mining, crafting, and their love of treasure." - idea_race_dwarves_modifier:0 "Dwarves Modifer" + idea_race_dwarves_modifier:0 "Dwarves Modifier" race_dwarves_modifier:0 "§L$race_dwarves_desc$§! \n\n§W$MODIFIER_LOCAL_RESOURCES_FACTOR$:§! §G+08.0%§! \n§W$MODIFIER_ARMY_SPEED_FACTOR$:§! §R-10.0%§! \n" race_orcs:0 "Orcs" @@ -25,20 +25,27 @@ race_spiders:0 "Spiders" race_spiders_desc:0 "The Great Spiders (or Ungoliant-Spawn) are a race of giant spider-like creatures, known for their colossal size and ability to capture prey through their intricate webs." - idea_race_spiders_modifier:0 "Spiders Modifer" + idea_race_spiders_modifier:0 "Spiders Modifier" race_spiders_modifier:0 "§L$race_spiders_desc$§! \n\n§W$MODIFIER_ARMY_SPEED_FACTOR$:§! §G+10.0%§! \n§W$MODIFIERS_ARMY_ATTACK_FACTOR$:§! §G+10.0%§! \n§W$MODIFIERS_ARMY_DEFENCE_FACTOR$:§! §R-10.0%§! \n§W$MODIFIER_COMBAT_WIDTH_FACTOR$:§! §R+10.0%§! \n" race_men:0 "Men" race_men_desc:0 "Men are foremost known for their susceptibility to corruption and burden of mortality, but also their courage, determination and the ability to unite in times of peril." - idea_race_men_modifier:0 "Men Modifer" + idea_race_men_modifier:0 "Men Modifier" race_men_modifier:0 "§L$race_men_desc$§! \n\n§W$MODIFIER_INITIATIVE_FACTOR$:§! §G+10.0%§! \n§W$MODIFIER_DRIFT_DEFENCE_FACTOR$:§! §R-15.0%§! \n" race_ents:0 "Ents" race_ents_desc:0 "Ents are a race of giant tree-like beings, known for their wisdom, slow speech, and stewardship of the forests." - idea_race_ents_modifier:0 "Ents Modifer" + idea_race_ents_modifier:0 "Ents Modifier" race_ents_modifier:0 "§L$race_ents_desc$§! \n\n§W$MODIFIER_ARMY_SPEED_FACTOR$:§! §R-20.0%§! \n§W$MODIFIER_COMBAT_WIDTH_FACTOR$:§! §R+10.0%§! \n§W$MODIFIERS_ARMY_ATTACK_FACTOR$:§! §G+15.0%§! \n§W$MODIFIERS_ARMY_DEFENCE_FACTOR$:§! §G+15.0%§! \n" race_other:0 "Other" race_other_desc:0 "" idea_race_other_modifier:0 "Other (Race) Modifier" race_other_modifier:0 "§L$race_other_desc$§! \n\n" + + races_map_mode: "Races" + MAPMODE_RACES_MAP_MODE: "Races" + MAPMODE_RACES_MAP_MODE_NAME: "Races" + MAPMODE_RACES_MAP_MODE_DESCRIPTION: "The Races of Middle Earth" + races_map_mode_tooltip: "[FROM.controller.GetCountryRace]" + races_map_mode_tooltip_delayed: "[FROM.controller.GetCountryRaceModifier]" \ No newline at end of file diff --git a/localisation/english/mordor/mordor_decisions_l_english.yml b/localisation/english/mordor/mordor_decisions_l_english.yml index 8ef54266c..59d9605ab 100644 --- a/localisation/english/mordor/mordor_decisions_l_english.yml +++ b/localisation/english/mordor/mordor_decisions_l_english.yml @@ -37,7 +37,7 @@ MOR_send_supplies_to_rebels_gon:0 "Send supplies to the rebels" MOR_send_supplies_to_rebels_gon_desc:0 "" MOR_support_the_rebels_in_spreading_gon:0 "Support the rebels" MOR_support_the_rebels_in_spreading_gon_desc:0 "" -MOR_contact_with_rebels_gon:0 "Made contact with rebels in Gondor" +MOR_contact_with_rebels_gon:0 "Make contact with rebels in Gondor" MOR_create_unrest_roh:0 "Create unrest" MOR_create_unrest_roh_desc:0 "" diff --git a/localisation/english/mordor/mordor_events_l_english.yml b/localisation/english/mordor/mordor_events_l_english.yml index 13e8cae9f..89de95ae3 100644 --- a/localisation/english/mordor/mordor_events_l_english.yml +++ b/localisation/english/mordor/mordor_events_l_english.yml @@ -6,7 +6,7 @@ mordor.44.a:0 "The orc horde cannot be contained." mordor.44.b:0 "Submit to that rabble? Never." mordor.45.t:0 "[From.GetName] invites us to join their faction" -mordor.45.d:0 "[From.GetName] have also been succesful in their revolution. They now suggest us to join their alliance and spread our ideals to the rest of Middle-Earth." +mordor.45.d:0 "[From.GetName] have also been successful in their revolution. They now suggest us to join their alliance and spread our ideals to the rest of Middle-Earth." mordor.45.a:0 "We stand together." mordor.45.b:0 "We have other plans." diff --git a/localisation/english/mordor/mordor_focuses_l_english.yml b/localisation/english/mordor/mordor_focuses_l_english.yml index 66f6862b1..845b6ef8c 100644 --- a/localisation/english/mordor/mordor_focuses_l_english.yml +++ b/localisation/english/mordor/mordor_focuses_l_english.yml @@ -28,7 +28,7 @@ mor_extraresearchslot2:0 "Extra Research Slot II" orcstrategists:0 "Orc Strategists" wrathofthefellbeasts:0 "Wrath of the Fellbeasts" ferociousfellbeasts:0 "Ferocious Fellbeasts" -fellbeasts_supremecy:0 "Fellbeasts supremecy" +fellbeasts_supremecy:0 "Fellbeasts supremacy" firebreathingfellbeasts:0 "Firebreathing Fellbeasts" thefateofmordor:0 "The Fate of Mordor" thefateofmordor_desc:0 "" diff --git a/localisation/english/moria_events_l_english.yml b/localisation/english/moria_events_l_english.yml index 873038a15..e13b08554 100644 --- a/localisation/english/moria_events_l_english.yml +++ b/localisation/english/moria_events_l_english.yml @@ -3,8 +3,8 @@ moria.4.t:0 "[From.GetName] requests our help" moria.4.d:0 "In there fight against the dark lord Sauron they have requested our assistance" moria.4.a:0 "We will give no help" -moria.4.b:0 "Let us sent equipment" -moria.4.c:0 "Sent dwarfs to help them" +moria.4.b:0 "Let us send equipment" +moria.4.c:0 "Send dwarfs to help them" moria.5.t:0 "[From.GetName] suggests a alliance" moria.5.d:0 "After the recent civil war in mordor, orcs have taken control. They believe together we are stronger. They have come with the suggestion to join there alliance and spread to revolution to the rest of Middle-Earth. However Mordor still has many enemies. Do we really want to make those enemies our enemies?" @@ -34,4 +34,9 @@ moria.8.a.tt:0 "The members of the fellowship will recover all their health." moria.8.b:0 "Wish them the best of luck going forward." moria.8.c:0 "Gimli is with them! Ask him to stay with us and help defend dwarven Moria!" moria.8.c.gimli_stays:0 "Gimli will leave the fellowship and join our cause." -moria.8.c.gimli_leaves:0 "Gimli will stay with the fellowship." \ No newline at end of file +moria.8.c.gimli_leaves:0 "Gimli will stay with the fellowship." + +moria.9.t:0 "Balrog Attack" +moria.9.d:0 "As we continue our struggle to bring Moria under our control, another great threat makes its presence known once more. A Balrog of Morgoth, known as 'Durin's Bane' has been roaming the lower tunnels, leaving nothing but terror and destruction in its wake.\n\nToday, this dark servant of Morgoth happened upon one of our outposts and left behind nothing but a pile of ashes." +moria.9.a:0 "A grim predicament." +moria.9.a_tt:0 "\nReminder: The states $STATE_73$ and $STATE_134$ have a severely crippling state-modifier §Y$moria_loose_balrog$§!." \ No newline at end of file diff --git a/localisation/english/moria_l_english.yml b/localisation/english/moria_l_english.yml index b83b94243..498d44078 100644 --- a/localisation/english/moria_l_english.yml +++ b/localisation/english/moria_l_english.yml @@ -137,4 +137,6 @@ initiatetradereforms_desc:0 "" ##Ideas MOA_help_mordor:0 "We will help our comrades" MOA_help_mordor_desc:0 "'And Moria will answer'" -MOA_surprise_attack:0 "Surprise Attack" \ No newline at end of file +MOA_surprise_attack:0 "Surprise Attack" +moria_loose_balrog:0 "Loose Balrog" +moria_loose_balrog_desc:0 "A Balrog of Morgoth is roaming these environs." \ No newline at end of file diff --git a/localisation/english/parties_l_english.yml b/localisation/english/parties_l_english.yml index cb20ff843..05f43a517 100644 --- a/localisation/english/parties_l_english.yml +++ b/localisation/english/parties_l_english.yml @@ -52,7 +52,7 @@ devouring_swarm:0 "Hunger" idea_devouring_swarm_ideology_modifier:0 "Hunger Ideology Modifier" - devouring_swarm_desc:0 "This longs to feed on the flesh of their enemies." + devouring_swarm_desc:0 "This nation longs to feed on the flesh of their enemies." devouring_swarm_modifier:0 "§L$devouring_swarm_desc$§! \n\n§W$MODIFIER_AI_FOCUS_AGGRESSIVE_FACTOR$:§! §Y+80.0%§! \n§W$MODIFIER_AI_GET_ALLY_DESIRE_FACTOR$:§! §Y-80.0%§! \n§W$MODIFIER_AI_JOIN_ALLY_DESIRE_FACTOR$:§! §Y-50.0%§! \n" mutinous:0 "Mutinous" @@ -128,6 +128,7 @@ MOR_belligerent_party:0 "Black Council" HAR_belligerent_party:0 "Black Council" GON_belligerent_party:0 "Black Council" + DAM_belligerent_party:0 "Black Council" DOR_unaligned_party:0 "Senate of Dorwinion" DGU_unaligned_party:0 "Dol Guldur Cabinet" @@ -162,6 +163,7 @@ MOR_unaligned_party:0 "Assembly of Mordor" HAR_unaligned_party:0 "Haradrim Palace" GON_unaligned_party:0 "Stewards of Gondor" + DAM_unaligned_party:0 "Stewards of Dol Amroth" DOR_cooperative_party:0 "Senate of Dorwinion" DGU_cooperative_party:0 "Dol Guldur Cabinet" @@ -189,13 +191,14 @@ ROH_cooperative_party:0 "House of Eorl" UMB_cooperative_party:0 "Sealords of Umbar" RHU_cooperative_party:0 "Council of Blue Wizards" - LTH_cooperative_party:0 "House of Elves" + LTH_cooperative_party:0 "House of Galadriel and Celeborn" PEL_cooperative_party:0 "Sealords of Pellardur" MIR_cooperative_party:0 "Elves of the Mirkwood" NEP_cooperative_party:0 "Forodwaith Tribes" MOR_cooperative_party:0 "Assembly of Mordor" HAR_cooperative_party:0 "Haradrim Palace" - GON_cooperative_party:0 "Stewards of Gondor" + GON_cooperative_party:0 "Isildurs Loyalists" + DAM_cooperative_party:0 "Stewards of Dol Amroth" DOR_revolutionary_party:0 "People's Senate of Dorwinion" DGU_revolutionary_party:0 "Free Orcs of Dol Guldur" @@ -229,6 +232,7 @@ NEP_revolutionary_party:0 "Forodwaith Tribes" MOR_revolutionary_party_long:0 "Free Orcs of Mordor" HAR_revolutionary_party:0 "Harad Slave Revolt" - GON_revolutionary_party:0 "United Syndicates of Gondor" + GON_revolutionary_party:0 "Gondor Peasant Council" + DAM_revolutionary_party:0 "Peasant Council of Dol Amroth" diff --git a/localisation/english/autonomy_l_english.yml b/localisation/english/replace/autonomy_l_english.yml similarity index 93% rename from localisation/english/autonomy_l_english.yml rename to localisation/english/replace/autonomy_l_english.yml index f564f2e4a..6f96d7780 100644 --- a/localisation/english/autonomy_l_english.yml +++ b/localisation/english/replace/autonomy_l_english.yml @@ -3,19 +3,13 @@ SHI_question_arthedain_strength:0 "Question Arthedains Strength" SHI_abandon_arthedain:0 "Abandon Arthedain" ###################################### - autonomy_dominion:0 "Dominion" autonomy_supervised_state:0 "Supervised State" autonomy_colony:0 "Colony" + autonomy_fiefdom:0 "Fiefdom" autonomy_puppet:0 "Puppet" autonomy_integrated_puppet:0 "Integrated Puppet" autonomy_annex:0 "Annexed" autonomy_free:0 "Free" - autonomy_reichskommissariat:0 "Reichskommissariat" - autonomy_reichsprotectorate:0 "Reichsprotectorate" - autonomy_satellite:0 "Satellite" - autonomy_wtt_imperial_associate:0 "Imperial Associate" - autonomy_wtt_imperial_protectorate:0 "Imperial Protectorate" - autonomy_wtt_imperial_subject:1 "Imperial Subject" autonomy_collaboration_government:0 "Collaboration Government" autonomy_personal_union:0 "Personal Union" AUTONOMY_CAN_TAKE_DESC:1 "$OWNER|UH$ can become a $NEXTLEVEL|H$" diff --git a/localisation/english/buildings_l_english.yml b/localisation/english/replace/buildings_l_english.yml similarity index 100% rename from localisation/english/buildings_l_english.yml rename to localisation/english/replace/buildings_l_english.yml diff --git a/localisation/english/core_l_english.yml b/localisation/english/replace/core_l_english.yml similarity index 99% rename from localisation/english/core_l_english.yml rename to localisation/english/replace/core_l_english.yml index 7714e7a60..906d32b7d 100644 --- a/localisation/english/core_l_english.yml +++ b/localisation/english/replace/core_l_english.yml @@ -1782,7 +1782,7 @@ OUT_OF_FUEL_INFO:0 "With current consumption rates, you will be out of food in $ SUPPLY_TRUCKS:0 "Supply Trucks" SUPPLY_TRUCKS_DESC:2 "§YSupply Trucks§!\nCurrent Truck Usage: $CURRENT_USAGE|H$\n" SUPPLY_TRUCKS_EMPTY:0 "" - SUPPLY_TRUCKS_DESC_DETAILED:1 "#TODO Trucks are used for delivering supply from supply hubs to armies." + SUPPLY_TRUCKS_DESC_DETAILED:1 "Trade Caravans are used for delivering supply from supply hubs to armies." MOVE_SUPPLY_CAPITAL_POPUP_TITLE:0 "Move Supply Capital" MOVE_SUPPLY_CAPITAL_POPUP_DESC:0 "Are you sure you want to move your supply capital? You won't be able to get full supply until $NUM|R$ days." CANT_MOVE_SUPPLY_CAPITAL_SURRENDER_LIMIT:1 "§RYou can't move your supply capital when your country is above $VALUE|%.0H$ surrender limit.§!" diff --git a/localisation/english/equipment_l_english.yml b/localisation/english/replace/equipment_l_english.yml similarity index 98% rename from localisation/english/equipment_l_english.yml rename to localisation/english/replace/equipment_l_english.yml index 39b57271e..27eb9a950 100644 --- a/localisation/english/equipment_l_english.yml +++ b/localisation/english/replace/equipment_l_english.yml @@ -462,16 +462,16 @@ MANPOWER_REINFORCEMENT_NOT_POSSIBLE:0 "§RManpower reinforcement is not possible at the current location.§!" ARCHETYPE_DESC_ENTRY:0 " - $COUNT|0$ $NAME|H$" OUTDATED_EQ:1 "Show §Houtdated equipment§!" - guided_missile_equipment:0 "Guided Missile" - guided_missile_equipment_1:0 "Basic Guided Missile" - guided_missile_equipment_1_short:0 "Guided Missile I" - guided_missile_equipment_1_desc:0 "Unmanned flying bomb" - guided_missile_equipment_2:0 "Improved Guided Missile" - guided_missile_equipment_2_short:0 "Guided Missile II" - guided_missile_equipment_2_desc:0 "Better unmanned flying bomb" - guided_missile_equipment_3:0 "Advanced Guided Missile" - guided_missile_equipment_3_short:0 "Guided Missile III" - guided_missile_equipment_3_desc:0 "Best unmanned flying bomb" + guided_missile_equipment:0 "Long-Distance Spells" + guided_missile_equipment_1:0 "Long-Distance Spells" + guided_missile_equipment_1_short:0 "Long-Distance Spells" + guided_missile_equipment_1_desc:0 "Long-Distance Spells" + guided_missile_equipment_2:0 "Improved Long-Distance Spells" + guided_missile_equipment_2_short:0 "Long-Distance Spells II" + guided_missile_equipment_2_desc:0 "Long-Distance Spells" + guided_missile_equipment_3:0 "Advanced Long-Distance Spells" + guided_missile_equipment_3_short:0 "Long-Distance Spells III" + guided_missile_equipment_3_desc:0 "Long-Distance Spells" artillery_equipment_2:0 "Improved Bow" artillery_equipment_2_desc:0 "New howitzer designs, taking advantage of new hydraulic recoil devices and longer barrels." artillery_equipment_3:0 "Advanced Bow" diff --git a/localisation/english/ideas_l_english.yml b/localisation/english/replace/ideas_l_english.yml similarity index 95% rename from localisation/english/ideas_l_english.yml rename to localisation/english/replace/ideas_l_english.yml index ab7b762d1..50ebcb2c8 100644 --- a/localisation/english/ideas_l_english.yml +++ b/localisation/english/replace/ideas_l_english.yml @@ -1,6 +1,8 @@ l_english: one_true_ring:0 "A Ring to rule them all" - one_true_ring_desc:0 "" + one_true_ring_desc:0 "One Ring to rule them all, One Ring to find them, One Ring to bring them all and in the darkness bind them." + one_true_ring_2:0 "A Ring to rule them all" + one_true_ring_2_desc:0 "One Ring to rule them all, One Ring to find them, One Ring to bring them all and in the darkness bind them. (Merged with Nenya)" not_of_me:0 "Not of Middle Earth" not_of_me:0 "This Nation belongs to a different time and universe." MOR_intel:0 "Secret Intel" @@ -73,11 +75,9 @@ ERE_maceration_techniques:0 "Advanced Maceration Techniques" ERE_induction_furnaces:0 "Induction Furnaces" ####################### - GON_dedicated_invaders:0 "Dedicated Invaders" GON_long_term_economic_plan:0 "Long Term Economic Plan" - GON_wartime_measures:0 "Wartime Measures" - GON_tech_sharing:0 "Technology Sharing" - GON_kingdom_without_king:0 "Kingdom without a King" + GON_kingdom_without_king_0:0 "Kingdom without a King" + GON_kingdom_without_king_1:0 "Kingdom without a King" ####################### MOA_civil_war:0 "Battle for the mines of Moria" MOA_loose_balrog:0 "Loose Balrog" @@ -164,6 +164,18 @@ ART_revolutionary_banned:0 "Communism Banned" ART_belligerent_banned:0 "Nationalism Banned" ####################### + diplomacy_focus:0 "Diplomacy Focus" + dockyard_focus:0 "Dockyard Focus" + defense_focus:0 "Defense Focus" + fortification_focus:0 "Fortification Focus" + increased_morale:0 "Increased Morale" + melancholic_mood:0 "Melancholic Mood" + euphoric_mood:0 "Euphoric Mood" + decreased_morale:0 "Decreased Morale" + bracing_for_war:0 "Bracing for War" + increased_attack:0 "Increased Attack" + increased_austerity:0 "Increased Austerity" + ####################### fascist_influence:0 "Fascist Influence" fascist_influence_desc:0 "Fascist pressure has made belligerent very popular, and the country is susceptible to align with other fascists." communist_influence:0 "Communist Influence" @@ -295,6 +307,7 @@ export_focus:0 "Export Focus" limited_exports:0 "Limited Exports" closed_economy:0 "Closed Economy" + lth_special_closed_economy:0 "Closed Economy (Total Isolation)" ENROUTE:0 "We have sent a diplomatic request. We cannot bother them with another until §Y$DATE$§!." fascist_assault_divisions:0 "Fascist Assault Divisions" communist_partisans_recruiting:0 "Communist Partisans Recruiting" @@ -400,3 +413,8 @@ SPIRIT_ADD_IDEA:0 "§GClick to add $GROUP|H$§!" CHANGE_ADVISOR:1 "\nYou can replace this advisor by clicking here and selecting a replacement." minor_expense:0 "Minor Expense" + minor_research_expense:0 "Diverted Research" + three_civs_cost:0 "3 §YCivilian Factories§! (Cost)" + three_civs_gain:0 "3 §YCivilian Factories§! (Gain)" + six_civs_cost:0 "6 §YCivilian Factories§! (Cost)" + six_civs_gain:0 "6 §YCivilian Factories§! (Gain)" \ No newline at end of file diff --git a/localisation/english/logistics_l_english.yml b/localisation/english/replace/logistics_l_english.yml similarity index 100% rename from localisation/english/logistics_l_english.yml rename to localisation/english/replace/logistics_l_english.yml diff --git a/localisation/english/replace/lotr_misc_replace_l_english.yml b/localisation/english/replace/lotr_misc_replace_l_english.yml new file mode 100644 index 000000000..f71883768 --- /dev/null +++ b/localisation/english/replace/lotr_misc_replace_l_english.yml @@ -0,0 +1,9 @@ +l_english: +INDUSTRIAL_ORG_LIST_WINDOW_TITLE:0 "Guilds" +INDUSTRIAL_ORG_LIST_WINDOW_FILTER_CATEGORY_TANK: "Cavalry and War Machines" +INDUSTRIAL_ORG_LIST_WINDOW_FILTER_CATEGORY_SHIP: "Ships" +INDUSTRIAL_ORG_LIST_WINDOW_FILTER_CATEGORY_PLANE: "Eagles and Fellbeases" +INDUSTRIAL_ORG_LIST_WINDOW_FILTER_CATEGORY_MATERIEL: "Melee and Archer Equipment" +INDUSTRIAL_ORG_LIST_WINDOW_FILTER_CATEGORY_TOOLTIP: "Show only Guilds for $CATEGORY|Y$" +INDUSTRIAL_ORG_POLITICAL_SCREEN_OPEN_ROSTER_WITH_FILTER: "§GClick to show Guilds for§! $CATEGORY|Y$" +INDUSTRIAL_ORG_LIST_WINDOW_FILTER_CAN_UNLOCK_TOOLTIP: "Show only Guilds with Trait points to spend " \ No newline at end of file diff --git a/localisation/english/replace/lotr_technologies_l_english.yml b/localisation/english/replace/lotr_technologies_l_english.yml index f31cb1087..56425282f 100644 --- a/localisation/english/replace/lotr_technologies_l_english.yml +++ b/localisation/english/replace/lotr_technologies_l_english.yml @@ -826,11 +826,11 @@ men_society3:0 "Political Prudence" men_society3_desc:0 "" - rangers:0 "Rangers" - rangers_desc:0 "" + rangers_units:0 "Rangers" + rangers_units_desc:0 "" - rangers2:0 "Rangers II" - rangers2_desc:0 "" + rangers2_units:0 "Rangers II" + rangers2_units_desc:0 "" mumakil_equipment_1:0 "Mumakil" mumakil_equipment_1_short:0 "Mumakil" @@ -1001,3 +1001,51 @@ lotr_orcs_secrets_research:0 "Orc Secrets Research" lotr_orcs_secrets_trolls_research:0 "Trolls Research" lotr_orcs_secrets_grond_research:0 "GROND Research" + + +lotr_equipment_infantry_equipment:0 "Infantry Equipment" +lotr_equipment_bow:0 "Bow" +lotr_equipment_crossbow:0 "Crossbow" +lotr_equipment_ballista:0 "Ballista" +lotr_equipment_windlance:0 "Windlance" +lotr_equipment_all_ballistae:0 "Ballista & Windlance" +lotr_equipment_light_cavalry:0 "Light Cavalry" +lotr_equipment_cavalry_archers:0 "Cavalry Archers" +lotr_equipment_cavalry_lancers:0 "Lancers" +lotr_equipment_cavalry_heavy:0 "Heavy Cavalry" +lotr_equipment_all_light_cavalry:0 "Light Cavalry, Cavalry Archers & Lancers" +lotr_equipment_all_cavalry:0 "All Cavalry Types" +lotr_equipment_trade_caravans:0 "Trade Caravans" +lotr_equipment_chariots:0 "Chariots" +lotr_equipment_chariot_archers:0 "Chariot Archers" +lotr_equipment_catapult:0 "Catapult" +lotr_equipment_siege_tower:0 "Siege Tower" +lotr_equipment_siege_trebuchet:0 "Siege Trebuchet" +lotr_equipment_all_siege_machines:0 "All Siege Machines" +lotr_equipment_eagle_fighters:0 "Fighter Eagles/Fellbeasts" +lotr_equipment_eagle_scouts:0 "Scout Eagles/Fellbeasts" +lotr_equipment_eagle_bomber:0 "Support Eagles/Fellbeasts" +lotr_equipment_all_eagles:0 "All Eagles/Fellbeasts" +lotr_equipment_magic:0 "Magic" +lotr_equipment_convoy:0 "Trading Vessel" +lotr_equipment_longship:0 "Longship" +lotr_equipment_galley:0 "Galley" +lotr_equipment_sailing_ship:0 "Sailing Ship" +lotr_equipment_ship_of_the_line:0 "Ship of the Line" +lotr_equipment_multideck_ships:0 "Multideck Ships" +lotr_equipment_sail_ships:0 "All Sailing Ship" +lotr_equipment_all_ships:0 "All Ships" +lotr_equipment_all_siege_artillery:0 "Catapults and Trebuchets" + +better_tools:0 "Improved Tools" +better_mining:0 "Improved Mining" +better_magic:0 "Improved Magic" + +eagle_domestication:0 "Scout Eagle" +eagle_domestication_men:0 "Scout Eagle" +fighter_eagle:0 "Fighter Eagle" +fighter_eagle_men:0 "Fighter Eagle" +scout_eagle:0 "Scout Eagle" +scout_eagle_men:0 "Scout Eagle" +fellbeast_domestication:0 "Scout Fellbeast" +fighter_fellbeast:0 "Fighter Fellbeast" \ No newline at end of file diff --git a/localisation/english/modifiers_l_english.yml b/localisation/english/replace/modifiers_l_english.yml similarity index 100% rename from localisation/english/modifiers_l_english.yml rename to localisation/english/replace/modifiers_l_english.yml diff --git a/localisation/english/production_l_english.yml b/localisation/english/replace/production_l_english.yml similarity index 100% rename from localisation/english/production_l_english.yml rename to localisation/english/replace/production_l_english.yml diff --git a/localisation/english/traits_l_english.yml b/localisation/english/replace/traits_l_english.yml similarity index 99% rename from localisation/english/traits_l_english.yml rename to localisation/english/replace/traits_l_english.yml index 915be19fd..7d81be38e 100644 --- a/localisation/english/traits_l_english.yml +++ b/localisation/english/replace/traits_l_english.yml @@ -2,6 +2,8 @@ dislikes_mirkwood:0 "Dislikes Elves" dislikes_erebor:0 "Dislikes Erebor" ringbearer:0 "Ringbearer" + ringbearer_2:0 "Ringbearer" + ringbearer_2_desc:0 "One of the few individuals to posses a magical ring." ringbearer_desc:0 "One of the few individuals to posses a magical ring." legacyofmorgoth:0 "Legacy of Morgoth" legacyofmorgoth_desc:0 "Most trusted advisor and heir to the first Dark Lord, Morgoth." diff --git a/localisation/english/unit_l_english.yml b/localisation/english/replace/unit_l_english.yml similarity index 98% rename from localisation/english/unit_l_english.yml rename to localisation/english/replace/unit_l_english.yml index 842928468..2ebebb01d 100644 --- a/localisation/english/unit_l_english.yml +++ b/localisation/english/replace/unit_l_english.yml @@ -346,6 +346,16 @@ penal_battalion_desc:0 "The ultimate meat for the meat grinder." irregular_infantry:0 "Irregular Infantry" irregular_infantry_desc:0 "Armed local militia" + giant:0 "Giant" + giant_desc:0 "A stone giant of the Misty Mountains" + balrog:0 "Balrog" + balrog:0 "A Balrog of Morgoth" + riders_of_the_naith:0 "Riders of the Naith" + riders_of_the_naith_desc:0 "Some of the best elven horsemen of the Naith" + sindar_pathstalkers:0 "Sindar Pathstalkers" + sindar_pathstalkers_desc:0 "Highly skilled Sindar scouts that can remain undetected almost anywhere." + marchwardens_of_lothlorien:0 "Marchwardens" + marchwardens_of_lothlorien_desc:0 "Superb warriors of Lothlórien. Comprised of a heathly mix of swordsmen and archers." militia:0 "Militia" militia_desc:0 "All-volunteer militias." blackshirt_assault_battalion:1 "Assault Battalion" diff --git a/localisation/english/research_l_english.yml b/localisation/english/research_l_english.yml index a80d85354..661718838 100644 --- a/localisation/english/research_l_english.yml +++ b/localisation/english/research_l_english.yml @@ -1,14 +1,14 @@ l_english: RESEARCH_BONUSES_TOOLTIP:0 "Limited technology bonuses we have:" RESEARCH_BONUSES_EMPTY_TOOLTIP:0 "Limited technology bonuses will be listed here." - RESEARCH_BONUS_SPEED_DESC:0 "§Y$COUNT$x§! $VALUE|G%0$ research speed $NAME$" - RESEARCH_BONUS_AHEAD_DESC:1 "§Y$COUNT$x§! $VALUE|G.1$ years of ahead of time reduction $NAME$" - RESEARCH_BONUS_SPEED_AHEAD_DESC:1 "§Y$COUNT$x§! $VALUE1|G%0$ research speed and $VALUE2|G.1$ years of ahead of time reduction $NAME$" + RESEARCH_BONUS_SPEED_DESC:1 "§Y$COUNT$x§! $VALUE|G%0$ research speed from $NAME$" + RESEARCH_BONUS_AHEAD_DESC:2 "§Y$COUNT$x§! $VALUE|G.1$ years of ahead of time reduction from $NAME$" + RESEARCH_BONUS_SPEED_AHEAD_DESC:2 "§Y$COUNT$x§! $VALUE1|G%0$ research speed and $VALUE2|G.1$ years of ahead of time reduction from $NAME$" RESEARCH_BONUS_SPEED_NO_COUNT_DESC:1 "Research speed will be increased by $VALUE|G%0$" RESEARCH_BONUS_AHEAD_NO_COUNT_DESC:1 "Ahead of time penalty will be reduced by $VALUE|.1G$ years" RESEARCH_BONUS_SPEED_AHEAD_NO_COUNT_DESC:2 "Research speed will be increased by $VALUE|G%0$ and ahead of time penalty reduced by $VALUE2|.1G$ years" RESEARCH_BONUS_VALUE_DESC:0 "Research bonus: $VALUE|Y%0$" - RESEARCH_BONUS_COST_REDUCTION:0 "Cost Reduction bonus: $NAME$: -$VALUE|G%0$" + RESEARCH_BONUS_COST_REDUCTION:0 "Cost Reduction bonus: $NAME$: -$VALUE|G%0$" TECH_BASE_COST:0 "Base Cost: $BASE|Y0$ days\n" TECH_ALREADY_RESEARCHED_COST:0 "Already researched: $POINTS|0Y$ days\n" RESEARCH_NO_RESEARCH:0 "Unused" @@ -23,7 +23,7 @@ RESEARCH_REPLACE_EXCLUSIVE_TITLE:0 "Replace Mutually Exclusive Research" RESEARCH_REPLACE_EXCLUSIVE_DESC:0 "Are you sure you want to research §Y$NEW_TECH$§! instead of §Y$OLD_TECH$§! and all its sub technologies?" RESEARCH_EXCLUSIVE_INFO_TITLE_TOOLTIP:0 "§RThe technology is mutually exclusive with:§!" - RESEARCH_DOCTRINE_EXCLUSIVE_INFO_TITLE_TOOLTIP:0 "§RThe doctrine is mutually exclusive with:§!" + RESEARCH_DOCTRINE_EXCLUSIVE_INFO_TITLE_TOOLTIP:0 "§RThe doctrine is mutually exclusive with:§!" RESEARCH_EXCLUSIVE_INFO_DESC:0 "Mutually exclusive with" RESEARCH_EXCLUSIVE_INFO_ENTRY:0 "$TECH|Y$" RESEARCH_YEAR_AHEAD_PENALTY_NO_VALUE:0 "§RTechnology is $YEARS|2$ years ahead of time. The more ahead it is, the bigger the time penalty.§!" @@ -35,7 +35,7 @@ RESEARCH_UPGRADES_HEADER:0 "Upgrades" RESEARCH_UNLOCKS_HEADER:0 "Unlocks" RESEARCH_UNLOCKS_EQUIPMENT_HEADER:0 "§TEnables $EQUIPMENTS$§!" - RESEARCH_UNLOCKS_EQUIPMENT_MODULES_HEADER:0 "§TEnables $MODULES$§!" + RESEARCH_UNLOCKS_EQUIPMENT_MODULES_HEADER:0 "§TEnables $MODULES$§!" RESEARCH_UNLOCKS_BUILDINGS_HEADER:0 "§TEnables Building: $BUILDINGS$§!" RESEARCH_UNLOCKS_SUBUNITS_HEADER:0 "§TEnables $SUBUNITS$§!" RESEARCH_UNLOCKS_TACTICS_HEADER:0 "§TEnables Tactic: $TACTICS$§!" @@ -217,12 +217,12 @@ support_weapons3_desc:0 "While maintaining and improving reliability of machine guns, we can also experiment with higher firing rates to ensure lethality of the constant stream of bullets." support_weapons4:0 "Support Weapons IV" support_weapons4_desc:0 "With the increased use of assault rifles, developing reliable automatic weapons that can be used in any environment by all soldiers is a priority for a modern army." - paratroopers:0 "Paratroopers I" - paratroopers_desc:0 "By incorporating airborne forces into our army, we can make forced entries and position key troops in previously inaccessible areas, allowing for new tactical opportunities." - paratroopers2:0 "Paratroopers II" - paratroopers2_desc:0 "Transitioning from small operations with only a few paratroopers to larger airborne divisions paves way for massive airborne landings, taking these forces beyond a novelty to a natural part of warfare." - paratroopers3:0 "Paratroopers III" - paratroopers3_desc:0 "Learning to adapt paradrop operations according to weather, standardizing equipment such as jump boots and extended specialized training will minimize the confusion and risks involved in these dangerous missions." + paratroopers:0 "Heavy Infantry I" + paratroopers_desc:0 "Armored militia accompanied by armored knights can prove a devastating force on the battlefield." + paratroopers2:0 "Heavy Infantry II" + paratroopers2_desc:0 "Armored militia accompanied by armored knights can prove a devastating force on the battlefield." + paratroopers3:0 "Heavy Infantry III" + paratroopers3_desc:0 "Armored militia accompanied by armored knights can prove a devastating force on the battlefield." marines:0 "Marines I" marines_desc:0 "Troops specializing in amphibious warfare are growing ever more indispensable. Improvised methods and equipment become things of the past as our naval infantry is supported by specialized landing craft and training." marines2:0 "Marines II" @@ -690,9 +690,13 @@ interwar_antiair:0 "Anti-Air" escort_patrols_desc:0 "Improving detection makes our convoy escorts far deadlier to submarines. With nowhere to hide they pose no real threat." RESEARCH_PROGRESS_DONE:0 "§TResearched time: $WEEKS|H$§!" RESEARCH_PROGRESS_COMPACT:0 "§T$DAYS|H$ day(s)§!" - RESEARCH_PROGRESS_COMPACT_WITH_XP:0 "§T$DAYS|H$ day(s) ($XP_TEXT$)§!" + RESEARCH_PROGRESS_COMPACT_WITH_XP:0 "§T$DAYS|H$ day(s) ($XP_TEXT$)§!" + RESEARCH_PROGRESS_DAYS: "$NUM|H$" + RESEARCH_PROGRESS_DAYS_GOOD: "$NUM|G$ £increase_reversed_texticon " + RESEARCH_PROGRESS_DAYS_BAD: "$NUM|R$ £decrease_reversed_texticon " RESEARCH_PROGRESS_INSTANT:0 "§TInstantly§!" already_researching:0 "§GYou are already researching this technology.§!" + RESEARCH_DESIGN_TEAM_IS_BUSY: "$NAME|H$ is currently busy:" AIR_TITLE_CAS:0 "Close Air\nSupport" AIR_TITLE_FIGHTER:0 "Fighter" AIR_TITLE_NAV:0 "Naval\nBomber" @@ -706,19 +710,20 @@ interwar_antiair:0 "Anti-Air" TITLE_BATTLEFIELD_SUPPORT:0 "Battlefield Support" TITLE_OPERATIONAL_INTEGRITY:0 "Operational Integrity" TITLE_STRATEGIC_DESTRUCTION:0 "Strategic Destruction" - MOBILE_WARFARE_DOCTRINE_LABEL:0 "MOBILE WARFARE DOCTRINE" + MOBILE_WARFARE_DOCTRINE_LABEL:1 "Mobile Warfare Doctrine" MOBILE_WARFARE_DOCTRINE_DESC:0 "Mobile Warfare is a focus on speed and maneuver to cut off and disorganize enemy forces." - SUPERIOR_FIREPOWER_DOCTRINE_LABEL:0 "SUPERIOR FIREPOWER DOCTRINE" + SUPERIOR_FIREPOWER_DOCTRINE_LABEL:1 "Superior Firepower Doctrine" SUPERIOR_FIREPOWER_DOCTRINE_DESC:0 "This doctrine focuses on throwing shells, not men, at the enemy. Our manpower is precious, bullets are cheap." - GRAND_BATTLEPLAN_DOCTRINE_LABEL:0 "GRAND BATTLEPLAN DOCTRINE" + GRAND_BATTLEPLAN_DOCTRINE_LABEL:1 "Grand Battleplan Doctrine" GRAND_BATTLEPLAN_DOCTRINE_DESC:0 "Extensive planning and preparation before engaging in battle is the key to success." - MASS_ASSAULT_DOCTRINE_LABEL:0 "MASS ASSAULT DOCTRINE" + MASS_ASSAULT_DOCTRINE_LABEL:1 "Mass Assault Doctrine" MOBILE_WARFARE_DOCTRINE:0 "Mobile Warfare" SUPERIOR_FIREPOWER_DOCTRINE:0 "Superior Firepower" GRAND_BATTLEPLAN_DOCTRINE:0 "Grand Battleplan" MASS_ASSAULT_DOCTRINE:0 "Mass Assault" + MASS_ASSAULT_DOCTRINE_DESC:0 ""Perfect" weapons are overrated, a large number of "good enough" weapons is the path to victory!" MOBILE_INFANTRY_LABEL:0 "MOBILE INFANTRY" MOBILE_INFANTRY_LABEL_TT:0 "Improve speed and organization of horse drawn infantry." @@ -757,7 +762,7 @@ interwar_antiair:0 "Anti-Air" research_requirements_or:0 "Requires one of the following technologies:" research_requirements_and:0 "Requires the following technologies:" RESEARCH_REQUIREMENTS_SINGLE:0 "§RRequires Technology ($TECH$)§!" - RESEARCH_DOCTRINE_REQUIREMENTS_SINGLE:0 "§RRequires Doctrine ($TECH$)§!" + RESEARCH_DOCTRINE_REQUIREMENTS_SINGLE:0 "§RRequires Doctrine ($TECH$)§!" UNUSED_SLOT:0 "Select a technology to research" ETA_SHORT_D:0 "§T$DAYS|H$ day(s)§!" ETA_SHORT_W:0 "§T$WEEKS|H$ weeks§!" @@ -772,10 +777,10 @@ interwar_antiair:0 "Anti-Air" DAYS_SAVED_RESEARCH_DESC:0 "Days saved: $DAYS|0G$\n" NO_RESEARCH_PENALTY:0 "§GTech is current - no research penalty§!" FINISHED_RESEARCH_POPUP_DESC:0 "...and $NUM|H$ additional effects. See Details." - ship_modules_tech:0 "Ship modules" + ship_modules_tech:0 "Ship modules" dd_tech:0 "Destroyer models" - cl_tech:0 "Light Cruiser models" - ca_tech:0 "Heavy Cruiser models" + cl_tech:1 "Light Cruiser models" + ca_tech:1 "Heavy Cruiser models" cv_tech:0 "Carrier models" bc_tech:0 "Battlecruiser models " bb_tech:0 "Battleship models" @@ -784,7 +789,7 @@ interwar_antiair:0 "Anti-Air" tp_tech:0 "Transport models" asw_tech:0 "Anti-Submarine Warfare Technology" naval_minesweeping:0 "Naval Minesweeping Technology" - naval_minelaying:0 "Naval Minelaying Technology" + naval_minelaying:0 "Naval Minelaying Technology" synth_resources:0 "Synthetic resources" light_fighter:0 "Fighter models" cat_heavy_fighter:0 "Heavy Fighter models" @@ -802,13 +807,15 @@ interwar_antiair:0 "Anti-Air" marine_tech:0 "Marine technology" mountaineers_tech:0 "Mountaineers Technology" engineers_tech:0 "Engineers Technology" + military_police_tech:0 "Military Police Technology" + signal_company_tech:0 "Signal Company Technology" construction_tech:0 "Construction technology" nuclear:0 "Nuclear Technology" rocketry:0 "Rocketry technology" land_doctrine:0 "Land Doctrine" air_doctrine:0 "Air Doctrine" naval_doctrine:0 "Naval Doctrine" - no_doctrine_chosen:0 "No Doctrine Selected" + no_doctrine_chosen:0 "No Doctrine Selected" battlefield_support_tree:0 "Battlefield Support Doctrine" battlefield_support_tree_research:0 "Battlefield Support Doctrine" operational_integrity_tree:0 "Operational Integrity Doctrine" @@ -929,19 +936,26 @@ interwar_antiair:0 "Anti-Air" improved_submarine_mine_laying_desc:0 "Redesigning mines to fit into torpedo tubes allows any submarine to become a minelayer, albeit at the expense of torpedoes carried." airdrop_mines:0 "Aerial Minelaying" airdrop_mines_desc:0 "By fitting the mines with a small parachute, they can be safely dropped from airplanes, allowing quick and efficient creation of minefields." + airdrop_mines_bba:0 "$airdrop_mines$" + airdrop_mines_bba_desc:0 "$airdrop_mines_desc$" airsweep_mines:0 "Aerial Minesweeping" airsweep_mines_desc:0 "Airplanes can be fitted with special equipment to detect and safely detonate naval mines from the air." + airsweep_mines_bba:0 "$airsweep_mines$" + airsweep_mines_bba_desc:0 "$airsweep_mines_desc$" naval_mines:0 "Mine Warfare Technologies" concentrated_industry_category:0 "Concentrated Industry Technologies" dispersed_industry_category:0 "Dispersed Industry Technologies" NAVAL_TITLE_ARMAMENT:0 "ARMAMENTS" + NAVAL_TITLE_TORPEDOES:0 "TORPEDOES" NAVAL_TITLE_DAMAGE_CONTROL:0 "DAMAGE CONTROL" NAVAL_TITLE_FIRE_CONTROL:0 "FIRE CONTROL METHODS" early_ship_hull_carrier:0 "Deck Conversions" early_ship_hull_carrier_short:0 "Deck Conversions" early_ship_hull_carrier_desc:0 "Conversions of old hulls allow for cheap experiments with naval aviation to gain experience in building and operating carriers. These ships will be less capable than a purpose-built carrier, but far quicker to create." cruiser_submarines:0 "Cruiser Submarine Hull" + midget_submarines:0 "Midget Submarine Hull" coastal_defense_ships:0 "Coastal Defense Ships" + pre_dreadnoughts:0 "Pre-Dreadnought Ships" basic_ship_hull_heavy:0 "1936 Heavy Ship Hull" basic_ship_hull_heavy_short:0 "1936 Heavy Ship Hull" basic_ship_hull_cruiser:0 "1936 Cruiser Hull" @@ -1042,8 +1056,6 @@ interwar_antiair:0 "Anti-Air" basic_secondary_battery_desc:1 "Placed in openings along the hull, these smaller guns give the ship some defense against smaller ships, but have a limited field of fire.\n\nMounting a §YSecondary Battery§! Module gives a §YCruiser§!, §YCarrier§!, or §YHeavy Ship§! a small amount of §YLight Gun Attack§! and allows it to engage a second target." improved_secondary_battery:0 "Turreted Secondary Battery" improved_secondary_battery_desc:1 "By placing the secondary guns in powered turrets, they gain a much wider field of fire at the expense of heavier weight and reduced stability in heavy seas.\n\nMounting a §YSecondary Battery§! Module gives a §YCruiser§!, §YCarrier§!, or §YHeavy Ship§! a small amount of §YLight Gun Attack§! and allows it to engage a second target." - dp_secondary_battery:0 "Dual-Purpose Secondary Battery" - dp_secondary_battery_desc:1 "Combining anti-ship and anti-air guns in a single mount allows for more flexibility and saves weight.\n\nMounting a §YSecondary Battery§! Module gives a §YCruiser§!, §YCarrier§!, or §YHeavy Ship§! a small amount of §YLight Gun Attack§! and allows it to engage a second target. This module also increases §YAnti-Air Attack§!." damage_control_1:0 "Fire Fighting Drills" damage_control_1_desc:0 "Every member of a ship's crew, from the Captain down to the simple sailor, must be able to help in containing and fighting fires onboard the ship." damage_control_2:0 "Separate Fire Mains" @@ -1084,6 +1096,99 @@ interwar_antiair:0 "Anti-Air" masterful_blitz_desc:0 "We may not have invented the Blitzkrieg, but we will develop and refine this strategy so that even the most fortified enemy defense lines will not be able to stop the advance of our glorious army." penal_infantry:0 "Penal Battalions" penal_infantry_desc:0 "Penal battalions provide an opportunity for convicted soldiers and officers of the Red Army to bleed for the motherland and redeem themselves for the shameful or dishonorable actions committed in the past." + camicie_nere_security_militias:0 "$ITA_camicie_nere$" + blackshirt_assault_battalion_tech:0 "$blackshirt_assault_battalion$" + mountain_warfare_militias_tech:0 "$ITA_grande_rivolta_rurale$" #Non-MTG naval techs that require loc (they may be granted via effects) basic_heavy_cruiser:0 "Basic Heavy Cruiser (Heavy Cruiser II)" - early_carrier:0 "Early Carrier (Carrier I)" + basic_ship_hull_carrier:0 "1936 Carrier Hull" + early_carrier:0 "Early Carrier (Carrier I)" + basic_carrier:0 "Basic Carrier (Carrier II)" + improved_destroyer:0 "Improved Destroyer (Destroyer III)" + basic_dp_light_battery:0 "Basic Dual-Purpose Battery" + basic_dp_light_battery_desc:0 "Combining anti-ship and anti-air guns in a single mount allows for more flexibility and saves weight.\n\nMounting this module increases §Y$EQUIPMENT_DESIGNER_LG_ATTACK_ICON_TOOLTIP$§!, which helps in engaging enemy §YScreening Ships§!. These modules also increase §Y$EQUIPMENT_DESIGNER_ANTI_AIR_ATTACK_ICON_TOOLTIP$§!.\nMounting a §YSecondary Battery§! Module gives a §Y$ship_hull_cruiser$§!, §Y$ship_hull_carrier$§!, or §Y$ship_hull_heavy$§! a small amount of §Y$EQUIPMENT_DESIGNER_LG_ATTACK_ICON_TOOLTIP$§! and allows it to engage a second target." + improved_dp_light_battery:0 "Improved Dual-Purpose Battery" + improved_dp_light_battery_desc:0 "Powered fully enclosed Twin gun mounts greatly increase firepower and protection while saving weight.\n\nMounting this module increases §Y$EQUIPMENT_DESIGNER_LG_ATTACK_ICON_TOOLTIP$§!, which helps in engaging enemy §YScreening Ships§!. These modules also increase §Y$EQUIPMENT_DESIGNER_ANTI_AIR_ATTACK_ICON_TOOLTIP$§!. \nMounting a §YSecondary Battery§! Module gives a §Y$ship_hull_cruiser$§!, §Y$ship_hull_carrier$§!, or §Y$ship_hull_heavy$§! a small amount of §Y$EQUIPMENT_DESIGNER_LG_ATTACK_ICON_TOOLTIP$§! and allows it to engage a second target." + advanced_dp_light_battery:0 "Advanced Dual-Purpose Battery" + advanced_dp_light_battery_desc:0 "Automated Rapid fire enclosed gun mounts greatly increase firepower.\n\nMounting this module increases §Y$EQUIPMENT_DESIGNER_LG_ATTACK_ICON_TOOLTIP$§!, which helps in engaging enemy §YScreening Ships§!. These modules also increase §Y$EQUIPMENT_DESIGNER_ANTI_AIR_ATTACK_ICON_TOOLTIP$§!. \nMounting a §YSecondary Battery§! Module gives a §Y$ship_hull_cruiser$§!, §Y$ship_hull_carrier$§!, or §Y$ship_hull_heavy$§! a small amount of §Y$EQUIPMENT_DESIGNER_LG_ATTACK_ICON_TOOLTIP$§! and allows it to engage a second target." + basic_dp_medium_battery:0 "Advanced Medium Dual-Purpose Battery" + basic_dp_medium_battery_desc:0 "Automatic loading Rapid fire Medium enclosed gun Batteries greatly increase firepower.\n\nMounting a §YLight Medium Battery§! module increases §Y$EQUIPMENT_DESIGNER_LG_ATTACK_ICON_TOOLTIP$§!, which helps in engaging enemy §YScreening Ships§!. This module also increase §Y$EQUIPMENT_DESIGNER_ANTI_AIR_ATTACK_ICON_TOOLTIP$§!." + armored_train:0 "$train_equipment_3$" + railway_gun:0 "$railway_gun_equipment_1$" + basic_train:0 "$train_equipment_1$" + special_forces_doctrine: "Special Forces Doctrine" + special_forces_doctrine_folder: "Special Forces Doctrine" + special_forces_doctrine_folder_desc: "How our special forces are trained." + MOUNTAINEERS_DOCTRINE_LABEL: "Mountaineers" + MARINES_DOCTRINE_LABEL: "Marines" + PARATROOPERS_DOCTRINE_LABEL: "Paratroopers" + MOUNTAINEERS_DOCTRINE_DESC: "A strong military focus on regiments accustomed to adverse terrain will give us the edge in outmaneuvering and denying our opponents." + MARINES_DOCTRINE_DESC: "An elevated Marine Corps ensures that no enemy coastline will be safe. Our elite Marines excel at operating under fire in the most hostile situations." + PARATROOPERS_DOCTRINE_DESC: "Airborne assault is the future of warfare. Elevating the paratroopers brings us the perfect synergy between air power and ground assault." + special_forces_mountaineers: "Elevate the Mountaineers" + special_forces_mountaineers_desc: "Inhospitable environments and bitter conflicts attract the toughest soldiers to our elite forces. Enshrining their primacy in our doctrinal philosophy ensures we will continue to benefit from the recruitment of the very best." + special_forces_paratroopers: "Elevate the Paratroopers" + special_forces_paratroopers_desc: "There's nothing quite as terrifying as the skies going dark with the sight of a thousand troop-filled transport planes. Our doctrinal philosophy must take advantage of the shock and awe that the airborne instills." + special_forces_marines: "Elevate the Marine Corps" + special_forces_marines_desc: "The Marine Corps serves where no other dare go. From home shore to foreign clime, these experts excel at infiltration and amphibious combat. A wide reach and flexible philosophy should be made core to our military doctrine." + ski_troops: "Cold Weather Specialists" + ski_troops_desc: "Cold weather specialists are vital to our battlefield tactics. By formally recognizing these experts in our military constitution, we can free up resources and training to elevate them even further." + special_forces_recon: "Battlefield Intelligence" + special_forces_recon_desc: "Our elite regiments benefit from counter-intelligence and battlefield awareness second to none. Additional training is sure to benefit us further." + gwtank:0 "Great War Tank" + basic_light_tank:0 "L. Tank I" + armored_car1:0 "$gw_armored_car_equipment$" + armored_car2:0 "$armored_car_equipment_1$" + armored_car3:0 "$armored_car_equipment_2$" + mountaineers_combat_1: "Holding the Line" + mountaineers_combat_1_desc: "Our elite forces must focus their efforts on holding the areas in which they specialize. A combination of ambush tactics and improved regimental organization ensure that our special forces present a significant defense-in-depth against invading forces." + mountaineers_combat_2: "Mountain Artillery" + mountaineers_combat_2_desc: "Mountain Artillery regiments are specialized forces designed for the rapid long range support of our elite divisions, having trained and operated in difficult terrain. Their presence significantly enhances the combat capabilities of our special forces." + mountaineers_combat_3: "Combined Arms Training" + mountaineers_combat_3_desc: "Though our elite regiments operate on a highly independent basis, augmenting their training regimen with a focus on combined arms operations increases their utility on the field." + mountaineers_keystone_1: "Backbone of the Armed Forces" + mountaineers_keystone_1_desc: "The success of our elite special forces mandates a reorganization of our military philosophy around their presence." + mountaineers_keystone_2: "Shared Instructors" + mountaineers_keystone_2_desc: "With the knowledge our mountain forces have acquired, it would be foolish not to put this to good use within the other branches of our special forces. We shall institute a programme of instructor rotation in the hope of improving our overall institutional knowledge." + paras_dispersed_drop: "Reconnaissance and Sabotage" + paras_dispersed_drop_desc: "The nature of our operations mandates that our airborne troops specialize in highly dispersed airdrops, allowing for significant sabotage to take place before the enemy are even aware of our presence." + paras_combat_drop: "Combat Insertion" + paras_combat_drop_desc: "While dangerous, training our elite forces in direct forced entry techniques can give us significant combat advantages in combination with conventional assault." + SF_PARAS_combat_effect_tt: "Enemy divisions in states we §HParadrop§! into will have their current §HOrganization§! reduced.\n\n$PARA_EFFECT_TIMER$" + SF_PARAS_sabotage_effect_tt: "Enemy controlled states we §HParadrop§! into will receive damage to §HMilitary Factories§!, §HCivilian Factories§!, and §HInfrastructure§!.\n\n$PARA_EFFECT_TIMER$" + PARA_EFFECT_TIMER: "This effect can occur once per state every §H30§! days." + paras_airborne_light_armor: "Airborne Armor" + paras_airborne_light_armor_desc: "Certain light tanks can be adapted for airborne drop via heavy glider. This novel method of combat insertion may be niche, but provides us with new opportunities." + paras_bonus_2: "Strategic Air Lift Corps" + paras_bonus_2_desc: "Instituting the creation of a dedicated air lift administration means we can better outfit our cargo planes for the specific purpose of airborne insertion." + paras_combat_1: "Airborne Signals" + paras_combat_1_desc: "Nothing can compare to a perfect line of communication with our troops behind the lines. Training signal companies for airborne insertion will keep these critical communications going, even in the worst conditions." + paras_combat_2: "Airborne Medical Detail" + paras_combat_2_desc: "The scale of our airborne operations has increased to such a degree that even essential medical equipment must be prepared for airborne insertion." + paras_bonus_1: "Enhanced Navigational Training" + paras_bonus_1_desc: "Even the best drop can go awry. We must ensure that our troops are trained well in improvised navigation." + paras_keystone_1: "Best of the Best" + paras_keystone_1_desc: "Only the most battle-hardened veterans should be considered for our airborne battalions. While this may reduce our field of recruits, it is bound to pay dividends on the battlefield." + paras_keystone_2: "Backbone of the Armed Forces" + paras_keystone_2_desc: "Our armed forces will henceforth be built upon the skill and training of our airborne troops. The skies will darken at their coming, and our enemy shall know fear." + RESEARCH_SPEED: "Research speed:" + LIMITED_RESEARCH_BONUS: "Limited bonuses:" + cat_scout_plane: "Scout Plane models" + cat_maritime_patrol: "Maritime Patrol Plane models" + + mio_cat_tech_light_armor_and_modules: "Light Armor Technologies" #Cannot talk about modules because of DLC lock tack + mio_cat_tech_medium_armor_and_modules: "Medium Armor Technologies" #Cannot talk about modules because of DLC lock tack + mio_cat_tech_heavy_armor_and_modules: "Heavy Armor Technologies" #Cannot talk about modules because of DLC lock tack + mio_cat_all_artillery_equipment: "All Artillery technologies" + mio_cat_all_light_fighter_and_modules: "All Fighter Technologies" #Cannot talk about modules because of DLC lock tack + mio_cat_all_cas_and_modules: "All CAS Technologies" #Cannot talk about modules because of DLC lock tack + mio_cat_all_naval_bomber_and_modules: "All Naval Bomber Technologies" #Cannot talk about modules because of DLC lock tack + mio_cat_all_light_aircraft_and_modules: "All Light Aircraft Technologies" #Cannot talk about modules because of DLC lock tack + mio_cat_all_medium_aircraft_and_modules: "All Medium Aircraft Technologies" #Cannot talk about modules because of DLC lock tack + mio_cat_all_heavy_aircraft_and_modules: "All Heavy Aircraft Technologies" #Cannot talk about modules because of DLC lock tack + mio_cat_tech_all_capital_ship_and_modules: "All Capital Ship Technologies" #Cannot talk about modules because of DLC lock tack + mio_cat_tech_all_screen_ship_and_modules: "All Screen Ship Technologies" #Cannot talk about modules because of DLC lock tack + mio_cat_tech_all_submarine_and_modules: "All Submarine Technologies" #Cannot talk about modules because of DLC lock tack + mio_cat_tech_all_carrier_and_modules: "All Carrier Technologies" #Cannot talk about modules because of DLC lock tack + mio_cat_tech_all_cruiser_and_modules: "All Cruiser Technologies" #Cannot talk about modules because of DLC lock tack + mio_cat_tech_all_destroyer_and_modules: "All Destroyer Technologies" #Cannot talk about modules because of DLC lock tack \ No newline at end of file diff --git a/localisation/english/rhun/rhun_events_l_english.yml b/localisation/english/rhun/rhun_events_l_english.yml index 11cd695b1..054bfaa10 100644 --- a/localisation/english/rhun/rhun_events_l_english.yml +++ b/localisation/english/rhun/rhun_events_l_english.yml @@ -28,13 +28,13 @@ rhun.6.b:0 "They are in no position to demand anything!" rhun.7.t:0 "Invitation to the easterling's faction" rhun.7.d:0 "" -rhun.7.a:0 "" -rhun.7.b:0 "" +rhun.7.a:0 "We accept." +rhun.7.b:0 "There's no need." rhun.8.t:0 "[From.GetName] agrees" rhun.8.d:0 "[From.GetLeader] has said that we should indeed strengthen our bonds. Saying that a embassy is a good step in the right direction." rhun.8.a:0 "Excellent" rhun.9.t:0 "The free people of Harad have arrived" -rhun.9.d:0 "The people in Harad have seen our resistance of Mordors infleunces. Seeking to be free from the infleunces themself they have come to help fight in this battle." +rhun.9.d:0 "The people in Harad have seen our resistance of Mordors influences. Seeking to be free from the influences themself they have come to help fight in this battle." rhun.9.a:0 "That is good news!" \ No newline at end of file diff --git a/localisation/english/ring_l_english.yml b/localisation/english/ring_l_english.yml index 0071033a5..93a0e142a 100644 --- a/localisation/english/ring_l_english.yml +++ b/localisation/english/ring_l_english.yml @@ -33,6 +33,7 @@ gondor_has_fallen:0 "Gondor has fallen to the forces of evil." ring_aragorn_is_alive_tt:0 "Aragorn is not dead" + ring_aragorn_is_dead_tt:0 "Aragorn is dead" ring_aragorn_not_in_fellowship_tt:0 "Aragorn is not with the fellowship" ROH_gandalf_tt:0 "§OGandalf will arrive in Rohan a while after being 'killed', or separated from the fellowship.§!" @@ -43,9 +44,11 @@ RIV_fs_deal_payment_sender:0 "Fellowship Deal Payment" RIV_fs_deal_payment_receiver:0 "Fellowship Deal Payment" add_three_civs_tt:0 "§Y3 offmap civilian factories§!" + add_six_civs_tt:0 "§Y6 offmap civilian factories§!" ring_heal_fellowship_tt:0 "The fellowship regains all their health." ring_gear_up_random_member_tt:0 "A random member of the fellowship gains an additional level of attack ($fs_ad_symbol$ ) and defense ($fs_hp_symbol$ )." + ring_curse_random_fellowship_member_tt:0 "A random member of the fellowship is afflicted by a terrible curse, permanently lowering his health ($fs_hp_symbol$ ) and dexterity ($fs_dex_symbol$ )." fs_has_used_action:0 "Has either helped the fellowship or tried to intercept the ring." fs_ring_seized:0 "The Ring has been seized by a country" @@ -58,6 +61,7 @@ ring_hunting_party_25_cr_tt:0 "Our hunting party will disengage combat the moment more than §Y25%§! of its members are killed." ring_hunting_party_50_cr_tt:0 "Our hunting party will disengage combat the moment more than §Y50%§! of its members are killed." ring_hunting_party_100_cr_tt:0 "Our hunting party will fight to the death, never disengaging." + ring_bless_ringbearer_tt:0 "The ringbearer will be healed by 1 health ($fs_hp_symbol$ )." ring_interception_form_7_day_left:0 "Days left before auto-aborting: §R7+§!" ring_interception_form_6_day_left:0 "Days left before auto-aborting: §R6§!" @@ -70,7 +74,7 @@ ring_has_the_ring_tt:0 "[ROOT.GetName] has the One Ring" - launch_intercept_tt:0 "Our hunting party will attempt to locate the fellowship and engage them in combat. If §YFrodo§! dies, we receive the ring." + launch_intercept_tt:0 "Our hunting party will attempt to locate the fellowship and engage them in combat. If the §YRingbearer§! dies, we receive the ring." abort_intercept_tt:0 "Abort interception attempt." ring_event_log_recruse:0 "[DisplayRingEvent] \n[DisplayRingEventLog]" @@ -132,8 +136,8 @@ corrupt_ring_owner:0 "Corrupt [?global.fs_ring_owner.GetNameWithFlag]" corrupt_ring_owner_desc:0 "[?global.fs_ring_owner.GetNameWithFlag] holds the One Ring, allowing us to exert influence over them." - - ring_execute_weathertop_encounter_tooltip:0 "The Nazgûl will attack the fellowship and try to kill Frodo." + + ring_execute_weathertop_encounter_tooltip:0 "The Nazgûl will attack the fellowship and try to kill the §YRingbearer§!." chain_test:0 "chain Test Title" chain_test_desc:0 "chain Test description" @@ -145,7 +149,7 @@ fs_event_member_joins:0 " joins the fellowship" fs_event_member_leaves:0 " leaves the fellowship" - + fs_event_arrive_in_new_state:0 "The fellowship arrives in " fs_event_tries_to_intercept:0 "sends out a hunting party to intercept the ring, lead by " @@ -164,8 +168,8 @@ fs_event_fellowship_escapes:0 "The fellowship escapes from the onsetting forces of " fs_event_fellowship_kills_all_enemies:0 "'s entire hunting party has been killed" - fs_event_start:0 "As instructed by Gandalf, Frodo and Sam leave the Shire towards Bree" - fs_event_start_nazgul:0 "Frodo and Sam leave the Shire towards Bree, just in time, before Sauron's Ringwraiths arrive" + fs_event_start:0 "As instructed by Gandalf, Frodo and Sam leave the Shire towards Rivendell" + fs_event_start_nazgul:0 "Frodo and Sam leave the Shire towards Rivendell, just in time, before Sauron's Ringwraiths arrive" fs_event_gandalf_goes_to_saruman:0 "Gandalf leaves for Isengard, seeking Saruman's help" fs_event_aragorn_in_bree:0 "A ranger known as 'Strider' joins the group, promising to escort them to Rivendell" fs_event_gandalf_in_bree:0 "Gandalf, having secured Saruman's friendship, rejoins the fellowship" @@ -179,6 +183,7 @@ fs_event_gandalf_arrives_in_rivendell:0 "Gandalf the Grey, having escaped Saruman's imprisonment, arrives in Rivendell" fs_event_bilbo_gifts:0 "Bilbo gifts Frodo an elven short-sword and a mithril coat, increasing his attack ($fs_ad_symbol$ ) by 1 and health ($fs_hp_symbol$ ) by 2" fs_event_rivendell_council_invoked:0 "Rivendell prepares a council, sending invitations for representatives to Mirkwood, Erebor and Gondor" + fs_event_rivendell_council_invoked_with_lth:0 "Rivendell prepares a council, sending invitations for representatives to Mirkwood, Erebor, Gondor and Lothlórien" fs_event_rivendell_council_concluded:0 "The Council of Elrond concludes and the fellowship departs for Mordor" fs_event_path_choice_mountains:0 "The fellowship decides it will try to §1cross the Misty Mountains through the Redhorn Pass§!" fs_event_path_choice_angmar:0 "The fellowship decides it will §1bypass the Misty Mountains to the north, past Mount Gundabad§!" @@ -211,7 +216,15 @@ fs_event_fellowship_troll_keeps_fighting:0 "forces are all either killed or routed, but the cave-troll keeps fighting" fs_event_boromir_takes_ring_back_down:0 "Boromir attempts to take the Ring from Frodo, but quickly comes to his senses and decides to stand with the fellowship against the impeding attack" fs_event_interception_aborted:0 "seeks to seize the ring for themselves, but reconsiders in the last moment, an lets the fellowship escape" - + fs_event_aragorn_leaves_for_gondor:0 "Persuaded by his countrymen, Aragorn leaves the fellowship to return to Gondor" + fs_event_country_curse_fellowship_member:0 "suffers from a mysterious affliction, lowering their health ($fs_hp_symbol$ ) and dexterity ($fs_dex_symbol$ ) by one" + fs_event_country_ringbearer_blessed_member:0 "is blessed by a sudden surge in energy, increasing his health ($fs_hp_symbol$ ) by one" + fs_event_frodo_bilbo_to_valinor:0 "Frodo and Bilbo depart on a ship from the Grey Havens towards Valinor. Beyond the horizon, the promise of rest, healing, and eternal peace await them." + fs_event_lth_haldir_betrays_fellowship:0 "Ever loyal to the rulers of Lothlórien, Haldir turns on the fellowship" + fs_event_lth_orophin_betrays_fellowship:0 "Ever loyal to the rulers of Lothlórien, Orophin turns on the fellowship" + fs_event_lth_orophin_asked_to_stay_behind:0 "At the request of his country, Orophin stays behind in Lothlórien" + fs_event_lth_haldir_asked_to_stay_behind:0 "At the request of his country, Haldir stays behind in Lothlórien" + fs_event_elven_fellowship:0 "Lothlórien assembles a new fellowship, consisting exclusively of elves, and sends them on the way to Mordor" fs_stats_tooltip:0 "Character Stats:\n\n£fs_statsymbols|2 §7Health: The damage this character can take before dying. Maximum health is equal to a general's defense skill.§!\n\n£fs_statsymbols|1 §9Attack Damage: The damage this character deals when striking an enemy. For generals, this is derived from their attack skill.§!\n\n£fs_statsymbols|3 §3Dexterity: Increases the likelihood of dodging an incoming attack. For generals, this is derived from their logistics skill.§!\n\n£fs_statsymbols|4 §1Stealth: The higher the average stealth skill of the fellowship is over a hunting party's, the likelier it is them to avoid combat entirely. For generals, this is derived from their planning skill.§!" @@ -220,3 +233,52 @@ fs_dex_symbol:0 "£fs_statsymbols|3" fs_stealth_symbol:0 "£fs_statsymbols|4" + ring_corruption_balance:0 "The One Ring Corruption" + ring_corruption_good:0 "Control the One Ring" + ring_corruption_bad:0 "Sauron's Corruption" + corruption_neutral:0 "Low corruption" + corruption_bad_low:0 "Significant corruption" + corruption_bad_high:0 "High corruption" + corruption_bad_corrupted:0 "Corrupted" + corruption_good_low:0 "In control" + corruption_good_high:0 "In complete control" + + corruption_good_high_tt:0 "[MOR.GetNameWithFlag] will no longer be able to use the §YCorrupt Ring Owner§! decision." + corruption_good_high_off_tt:0 "[MOR.GetNameWithFlag] will be able to use the §YCorrupt Ring Owner§! decision again." + corruption_bad_high_tt:0 "[?global.fs_ring_owner.GetNameWithFlag] will no longer be able to destroy the ring." + corruption_bad_high_off_tt:0 "[?global.fs_ring_owner.GetNameWithFlag] will be able to destroy the ring again." + corruption_bad_corrupted_tt:0 "Transfer the One Ring to [MOR.GetNameWithFlag]" + + fs_disable_corruption_decision:0 "The Ring's owner has too much control over it." + fs_disable_ring_destruction:0 "Our ring corruption is too high." + + ring_bop_casualties_MOR:0 "Corrupt [?global.fs_ring_owner.GetNameWithFlag] (Casualties)" + ring_bop_casualties_MOR_desc:0 "[?global.fs_ring_owner.GetNameWithFlag] has taken significant casualties in battle. In this moment of weakness, the temptations of the ring will triumph!" + ring_bop_casualties_mor_trigger_tt:0 "[THIS.GetNameAndFlag] has taken at least §Y15k§! casualties since we last used this decision. (Currently: [?THIS.ring_bop_casualties_diff]k)" + + ring_bop_stability_MOR:0 "Corrupt [?global.fs_ring_owner.GetNameWithFlag] (Stability)" + ring_bop_stability_MOR_desc:0 "[?global.fs_ring_owner.GetNameWithFlag] has taken a significant hit to stability. In this moment of weakness, the temptations of the ring will triumph!" + ring_bop_stability_mor_trigger_tt:0 "[THIS.GetNameAndFlag] has taken a loss of at least §R-10%§! stability since we last used this decision. (Currently: [?THIS.ring_bop_stability_diff|0+%])" + + ring_bop_warsupport_MOR:0 "Corrupt [?global.fs_ring_owner.GetNameWithFlag] (War-Support)" + ring_bop_warsupport_MOR_desc:0 "[?global.fs_ring_owner.GetNameWithFlag] has taken a significant hit to war-support. In this moment of weakness, the temptations of the ring will triumph!" + ring_bop_warsupport_mor_trigger_tt:0 "[THIS.GetNameAndFlag] has taken a loss of at least §R-10%§! war-support since we last used this decision. (Currently: [?THIS.ring_bop_warsupport_diff|0+%])" + + ring_bop_casualties:0 "Triumph over the Ring (Casualties)" + ring_bop_casualties_desc:0 "[MOR.GetNameWithFlag] has taken significant casualties in battle. In this moment of weakness, the temptations of the ring will triumph!" + ring_bop_casualties_trigger_tt:0 "[MOR.GetNameWithFlag] has taken at least §Y20k§! casualties since we last used this decision. (Currently: [?MOR.ring_bop_casualties_diff]k)" + + ring_bop_stability:0 "Triumph over the Ring (Stability)" + ring_bop_stability_desc:0 "[MOR.GetNameWithFlag] has taken a significant hit to stability. In this moment of weakness, the temptations of the ring will triumph!" + ring_bop_stability_trigger_tt:0 "[MOR.GetNameWithFlag] has taken a loss of at least §R-10%§! stability since we last used this decision. (Currently: [?MOR.ring_bop_stability_diff|0+%])" + + ring_bop_warsupport:0 "Triumph over the Ring (War-Support)" + ring_bop_warsupport_desc:0 "[MOR.GetNameWithFlag]] has taken a significant hit to war-support. In this moment of weakness, the temptations of the ring will triumph!" + ring_bop_warsupport_trigger_tt:0 "[MOR.GetNameWithFlag] has taken a loss of at least §R-10%§! war-support since we last used this decision. (Currently: [?MOR.ring_bop_warsupport_diff|0+%])" + + ring_corruption_decisions:0 "The One Ring" + ring_corruption_tt:0 "Current Ring owner is [GetRingCorruption] corrupted. At §R100%§!, they will transfer the ring to Mordor." + ring_corruption_status:0 "Owner Corruption: [GetRingCorruption]" + ring_corruption_good_t:0 "§G-[?global.fs_ring_owner:power_balance_value|0%]§!" + ring_corruption_bad_t:0 "[?global.fs_ring_owner:power_balance_value|-0%]" + ring_corruption_decisions_bop:0 "The One Ring" diff --git a/localisation/english/state_names_l_english.yml b/localisation/english/state_names_l_english.yml index fe6451559..c720d9fea 100644 --- a/localisation/english/state_names_l_english.yml +++ b/localisation/english/state_names_l_english.yml @@ -1,6 +1,6 @@ l_english: STATE_1:0 "Empty" - STATE_10:0 "Orodriun" + STATE_10:0 "Orodruin" STATE_100:0 "Brown Lands" STATE_101:0 "Dead Marshes" STATE_102:0 "North Rhun" @@ -47,7 +47,7 @@ STATE_14:0 "Tolfalas" STATE_140:0 "Gulf of Lhun" STATE_141:0 "Blue Mountains" - STATE_142:0 "North Ered Lui" + STATE_142:0 "North Ered Luin" STATE_143:0 "Lhun Fork" STATE_144:0 "South Downs" STATE_145:0 "Weather Hills" @@ -66,8 +66,8 @@ STATE_157:0 "Swanfleet" STATE_158:0 "Fords of Isen" STATE_159:0 "Isengard Outskirts" - STATE_16:0 "Anfalas" - STATE_160:0 "Southern Drimrill Dale" + STATE_16:0 "North Pinnath Gelin" + STATE_160:0 "Nanduhirion" STATE_161:0 "North Entwood" STATE_162:0 "East Anfalas" STATE_163:0 "East Anorien" @@ -76,7 +76,7 @@ STATE_166:0 "West Anfalas" STATE_167:0 "West Anorien" STATE_168:0 "West Ered Nimrais" - STATE_169:0 "Dol Amroth" + STATE_169:0 "North Belfalas" STATE_17:0 "Lamedon" STATE_170:0 "Dor en-Ernil" STATE_171:0 "East Ered Nimrais" @@ -105,10 +105,10 @@ STATE_192:0 "Girion" STATE_193:0 "North Mirkwood Outskirts" STATE_194:0 "West Iron Hills" - STATE_195:0 "Drimrill Dale" + STATE_195:0 "Fanuidhol" STATE_196:0 "Greylin Approach" STATE_197:0 "High Pass" - STATE_198:0 "Ningloron" + STATE_198:0 "Eastern Lower Anduin" STATE_199:0 "Old Ford" STATE_2:0 "Udun" STATE_20:0 "Druwaith laur" @@ -130,7 +130,7 @@ STATE_214:0 "Tol Fuin" STATE_215:0 "East Haradwaith" STATE_216:0 "West Chelkar" - STATE_22:0 "Ithilien" + STATE_22:0 "North Ithilien" STATE_23:0 "West march" STATE_24:0 "Rohan Gap" STATE_25:0 "Eastfold" @@ -183,13 +183,13 @@ STATE_68:0 "Greylin" STATE_69:0 "Northern Fells" STATE_7:0 "Ephel Duath" - STATE_70:0 "Upper Anduin Vale" + STATE_70:0 "Ninglor" STATE_71:0 "Carrock Vale" STATE_72:0 "Lower Anduin Vale" STATE_73:0 "Moria" STATE_74:0 "Parth Celebrant" - STATE_75:0 "Lorien" - STATE_76:0 "Gladden Fields" + STATE_75:0 "Caras Galadhon" + STATE_76:0 "Taur Hith" STATE_77:0 "South Enedwaith" STATE_78:0 "Dunland" STATE_79:0 "North Enedwaith" @@ -220,3 +220,6 @@ STATE_219:0 "Grey Mountains" STATE_220:0 "Ered Mithrin" STATE_221:0 "Far Ered Nimrais" + STATE_222:0 "Cerin Amroth" + STATE_223:0 "Dol Amroth" + STATE_224:0 "Dol Amroth Fortress" diff --git a/localisation/english/strategic_region_names_l_english.yml b/localisation/english/strategic_region_names_l_english.yml index 2c8c31dd1..8d8afe75f 100644 --- a/localisation/english/strategic_region_names_l_english.yml +++ b/localisation/english/strategic_region_names_l_english.yml @@ -94,7 +94,7 @@ STRATEGICREGION_55:0 "Evendium" STRATEGICREGION_56:0 "Grimaz Norn" STRATEGICREGION_57:0 "North Cardolan" - STRATEGICREGION_58:0 "Northeast Arthedaiu" + STRATEGICREGION_58:0 "Northeast Arthedain" STRATEGICREGION_59:0 "Northwest Arthedain" STRATEGICREGION_6:0 "Anorien" STRATEGICREGION_60:0 "Rohan Gap" @@ -141,3 +141,4 @@ STRATEGICREGION_98:0 "Angmar Coast" STRATEGICREGION_99:0 "Bay of Mithlond" STRATEGICREGION_142:0 "Sea of Rhûn" + STRATEGICREGION_143:0 "Dol Amroth" diff --git a/localisation/english/victory_points_l_english.yml b/localisation/english/victory_points_l_english.yml index 11cdbaa97..580d5e8fc 100644 --- a/localisation/english/victory_points_l_english.yml +++ b/localisation/english/victory_points_l_english.yml @@ -95,16 +95,18 @@ VICTORY_POINTS_3404:0 "Kyzilkum" VICTORY_POINTS_7338:0 "Ammu Khand" VICTORY_POINTS_430:0 "Emyn Arnen" - VICTORY_POINTS_1778:0 "Osgiliath" + VICTORY_POINTS_1778:0 "West Osgiliath" + VICTORY_POINTS_9062:0 "East Osgiliath" VICTORY_POINTS_6980:0 "Minas Tirith" VICTORY_POINTS_7230:0 "Pelargir" VICTORY_POINTS_4363:0 "Hyarpende" VICTORY_POINTS_4726:0 "Tolfarion" - VICTORY_POINTS_7245:0 "Serni" + VICTORY_POINTS_7245:0 "Linhir" + VICTORY_POINTS_1293:0 "Ethring" VICTORY_POINTS_7286:0 "Dor-en-Ernil" VICTORY_POINTS_7201:0 "Dol Amroth" VICTORY_POINTS_5038:0 "Edhellond" - VICTORY_POINTS_3010:0 "Calembel" + VICTORY_POINTS_7011:0 "Calembel" VICTORY_POINTS_6913:0 "Erech" VICTORY_POINTS_7081:0 "Pinnath Gelin" VICTORY_POINTS_5041:0 "Panth Laun" @@ -147,3 +149,7 @@ VICTORY_POINTS_7371:0 "Chelkar Pass" VICTORY_POINTS_4828:0 "Khurvasagh Pass" VICTORY_POINTS_2367:0 "Celduin-Carnen" + VICTORY_POINTS_4948:0 "Tarnost" + VICTORY_POINTS_4948:0 "Tarnost" + VICTORY_POINTS_3570:0 "Dol Amroth" + VICTORY_POINTS_4079:0 "Dol Amroth Citadel" \ No newline at end of file diff --git a/localisation/english/whitecouncil_l_english.yml b/localisation/english/whitecouncil_l_english.yml new file mode 100644 index 000000000..69dbe571f --- /dev/null +++ b/localisation/english/whitecouncil_l_english.yml @@ -0,0 +1,87 @@ +l_english: +###################################### +whitecouncil.1.t:0 "Invitation: White Council" +whitecouncil.1.d:0 "[FROM.GetName] has convened the White Council, a group of elves and wizards originally formed to counterbalance the growing darkness in Dol Guldur. With Sauron stirring in Mordor once more, the White Council has been summoned once again. As a former member, we are coridally invited to join." +whitecouncil.1.a:0 "We shall join it once more." +whitecouncil.1.b:0 "There are more important matters to attend to." +###################################### +whitecouncil.2.t:0 "White Council faction created" +whitecouncil.2.d:0 "The esteemed members of the White Council have agreed to combine their forces and form a formal faction to act as a bulwark against the darkness. With this newly formed alliance, the free people of middle earth will hpefully prevail." +whitecouncil.2.a:0 "To victory!" +###################################### +whitecouncil.3.t:0 "[FROM.GetName] expelled from the White Council" +whitecouncil.3.d_ideology:0 "The recent shift in tune from [FROM.GetName] have been conerning. Their new [FROM.GetRulingIdeology] leadership is not in line with what the White Council stands for. As such, they no longer hold a seat." +whitecouncil.3.d_war:0 "The recent shift in tune from [FROM.GetName] have been conerning. Their newly launched war of aggression against another esteemed council member is unacceptable. As such, they no longer hold a seat." +whitecouncil.3.a:0 "An unfortunate turn of events." +###################################### +whitecouncil.4.t:0 "Expelled from the White Council" +whitecouncil.4.d_ideology:0 "Due to our new [ROOT.GetRulingIdeology] ideology, the White Council have expelled us." +whitecouncil.4.d_war:0 "Due to our war of aggression with a White Council member, we have been expelled from the White Council." +whitecouncil.4.a:0 "Their loss." +###################################### +whitecouncil.5.t:0 "White Council: Oath to the Fellowship" +whitecouncil.5.d:0 "The esteemed members of the White Council have convened to swear not to harm the Fellowship of the Ring. Refusing this oath would result in us being expelled from the White Council." +whitecouncil.5.a:0 "They have our full support." +whitecouncil.5.a_tt:0 "We will be unable to seize the ring from the Fellowship." +whitecouncil.5.b:0 "This 'fellowship' is a foolish, reckless idea!" +###################################### +whitecouncil.6.t:0 "[FROM.GetName] joins the White Council" +whitecouncil.6.d:0 "[FROM.GetName] has accepted our invitation to join the White Council." +whitecouncil.6.a:0 "Excellent." +###################################### +whitecouncil.7.t:0 "[FROM.GetName] declines invitation" +whitecouncil.7.d:0 "[FROM.GetName] has declined our invitation to join the White Council." +whitecouncil.7.a:0 "Unfortunate." +###################################### +whitecouncil.8.t:0 "[FROM.GetName] joins the White Council" +whitecouncil.8.d:0 "[FROM.GetName] has decided to join the White Council." +whitecouncil.8.a:0 "Excellent." +###################################### +whitecouncil.9.t:0 "[FROM.GetName] leaves the White Council" +whitecouncil.9.d:0 "[FROM.GetName] has left the White Council." +whitecouncil.9.a:0 "Unfortunate." + +whc_theinfluenceofrivendell_o_tt:0 "Add §G2§! §Ycivilian factories§! for every member of the White Council." +whc_theinfluenceofrivendell_m_tt:0 "Add §G1§! §Ycivilian factory§! for every member of the White Council." + +whc_white_council_member:0 "Is White Council member" + +whc_coordinatedresistance_o_tt:0 "Add §G50§! §Y£army_experience army experience§! for every member of the White Council." +whc_coordinatedresistance_m_tt:0 "Add §G25§! §Y£army_experience army experience§! for every member of the White Council." + +protective_enchantments:0 "Protective Enchantments" +improved_feanorian_lamps:0 "Improved Fëanorian Lamps" + +whc_supportofthegreateagles_o_tt:0 "Gain §G80§! §YEagle Fighters§!." +whc_supportofthegreateagles_m_tt:0 "Gain §G25§! §YEagle Fighters§!." + +remove_from_white_council_tt:0 "[THIS.GetNameWithFlag] leaves the §YWhite Council§!." + +whc_rekindlewhitecouncil:0 "Rekindle the White Council" +whc_rekindlewhitecouncil_desc:0 "The White Council, a coalition of elves and wizards, once stood as a beacon of hope against the dark forces. By rekindling this council, we can pool our collective wisdom and power to face the looming threat." +whc_sarumanthewise:0 "Saruman the Wise" +whc_sarumanthewise_desc:0 "Saruman, the head of the White Council, is a source of great knowledge and magical prowess. His support is essential in the formation of the White Council." +whc_thewizardswisdom:0 "The Wizard's Wisdom" +whc_thewizardswisdom_desc:0 "Saruman has access to knowledge and powers some would consider to be unnatural. His seat on the council extends this knowledge onto other council members." +whc_elrondofrivendell:0 "Elrond of Rivendell" +whc_elrondofrivendell_desc:0 "Elrond, the Lord of Rivendell, is a wise and knowledgeable leader." +whc_theinfluenceofrivendell:0 "The Influence of Rivendell" +whc_theinfluenceofrivendell_desc:0 "The voice of Lord Elrond holds significant sway in many realms of Middle Earth. His seat on the council extends some of that influence onto other council members." +whc_gandalfthegrey:0 "Gandalf the Grey" +whc_gandalfthegrey_desc:0 "Gandalf, a member of the White Council, is a powerful wizard and a key figure in the fight against evil." +whc_supportofthegreateagles:0 "Support of the Great Eagles" +whc_supportofthegreateagles_desc:0 "Gandalf has long enjoyed close ties tith the Great Eagles. His seat on the council will extend these ties to other council members." +whc_galadrieloflorien:0 "Galadriel of Lórien" +whc_galadrieloflorien_desc:0 "Galadriel, the Lady of Lórien, possesses great wisdom and mystical powers." +whc_theladysmight:0 "The Powers of Nenya" +whc_theladysmight_desc:0 "The elves of Lórien are knowledgable and wise. Galadriel's seat ont he council extends this wisdom onto other members." +whc_oathtothefellowship:0 "Oath to the Fellowship" +whc_oathtothefellowship_desc:0 "The Fellowship of the Ring is our best hope at destroying the Ring and bringing an end to Sauron's machinations. We must stand together and swear our everlasting support to its members and, above all, it's Ringbearer." +whc_coordinatedresistance:0 "Coordinate Resistance" +whc_coordinatedresistance_desc:0 "United under the Council's banner, we may share our battle tactics and strategies." +whc_unitethecause:0 "Unite the Cause" +whc_unitethecause_desc:0 "The White Council shall stand together as it did int he days of old." + +whc_oathtothefellowship_tt:0 "Every white council member will promise not to harm the fellowship or be removed from the council." + +at_least_three_white_council_members_tt:0 "The White Council has at least §Ythree§! members." diff --git a/map/airports.txt b/map/airports.txt index fcf37cce0..bdab61def 100644 --- a/map/airports.txt +++ b/map/airports.txt @@ -10,7 +10,7 @@ 10={6923 } 11={66 } 12={6899 } -13={7359 } +13={7211 } 14={902 } 15={7156 } 16={1269 } @@ -72,7 +72,7 @@ 72={5072 } 73={2092 } 74={6400 } -75={2892 } +75={6419 } 76={4619 } 77={6633 } 78={6565 } @@ -166,11 +166,11 @@ 166={3546 } 167={1299 } 168={1788 } -169={4397 } -170={1049 } +169={4795 } +170={5231 } 171={3037 } 172={7086 } -173={6966 } +173={1600 } 174={4623 } 175={3001 } 176={4381 } @@ -219,3 +219,6 @@ 219={4836 } 220={5118 } 221={6696 } +222={3125 } +223={7206 } +224={3570 } diff --git a/map/ambient_object.txt b/map/ambient_object.txt index 527609043..6359cfe28 100644 --- a/map/ambient_object.txt +++ b/map/ambient_object.txt @@ -203,6 +203,22 @@ type={ } } } +# We create this one in on_actions/create_entities +#type={ +# type="caras_entity" +# use_animation=no +# scale=5.000000 +# always_visible=yes +# object={ +# name="caras_entity" +# position={ +# 1250.000 11.000 1239.000 +# } +# rotation={ +# 0.000 0.000 0.000 +# } +# } +#} type={ type="baradur_entity" use_animation=no diff --git a/map/buildings.txt b/map/buildings.txt index 5252e63e4..9ce8b4036 100644 --- a/map/buildings.txt +++ b/map/buildings.txt @@ -6120,142 +6120,6 @@ 12;radar_station;1704.00;9.50;902.00;5.43;0 12;rocket_site;1682.00;9.50;885.00;0.55;0 12;nuclear_reactor;1707.00;10.10;907.00;3.22;0 -13;arms_factory;1163.00;18.35;706.00;5.51;0 -13;arms_factory;1188.00;15.35;717.00;1.90;0 -13;arms_factory;1191.00;17.88;708.00;6.02;0 -13;arms_factory;1161.00;16.58;707.00;6.12;0 -13;arms_factory;1206.00;10.00;625.00;3.96;0 -13;arms_factory;1198.00;10.15;646.00;1.80;0 -13;industrial_complex;1200.00;10.60;635.00;4.46;0 -13;industrial_complex;1200.00;17.43;690.00;6.03;0 -13;industrial_complex;1198.00;17.90;678.00;2.41;0 -13;industrial_complex;1221.00;12.65;673.00;0.25;0 -13;industrial_complex;1225.00;11.35;665.00;1.45;0 -13;industrial_complex;1180.00;12.90;697.00;4.47;0 -13;air_base;1213.00;11.45;614.00;0.85;0 -13;supply_node;1174.00;12.23;698.00;4.98;0 -13;supply_node;1223.00;10.98;667.00;1.63;0 -13;supply_node;1216.00;20.33;702.00;4.21;0 -13;supply_node;1200.00;18.52;685.00;0.87;0 -13;supply_node;1192.00;11.43;640.00;2.34;0 -13;supply_node;1209.00;11.00;628.00;0.10;0 -13;supply_node;1161.00;12.40;711.00;3.04;0 -13;supply_node;1231.00;9.80;657.00;4.52;0 -13;supply_node;1191.00;17.23;714.00;2.27;0 -13;supply_node;1160.00;18.40;698.00;3.75;0 -13;supply_node;1184.00;9.57;666.00;0.41;0 -13;supply_node;1138.00;9.50;700.00;4.45;0 -13;supply_node;1211.00;9.80;649.00;5.93;0 -13;supply_node;1206.00;15.18;669.00;2.58;0 -13;supply_node;1180.00;11.60;709.00;5.16;0 -13;supply_node;1205.00;21.30;705.00;1.82;0 -13;supply_node;1190.00;16.27;699.00;3.29;0 -13;supply_node;1225.00;19.68;692.00;1.05;0 -13;supply_node;1183.00;11.18;684.00;3.99;0 -13;supply_node;1215.00;16.10;683.00;5.47;0 -13;supply_node;1173.00;10.95;675.00;2.12;0 -13;supply_node;1234.00;10.90;677.00;4.71;0 -13;supply_node;1248.00;9.50;667.00;1.36;0 -13;supply_node;1169.00;9.85;663.00;4.29;0 -13;supply_node;1197.00;11.18;658.00;0.59;0 -13;supply_node;1179.00;10.62;654.00;3.53;0 -13;supply_node;1221.00;10.90;642.00;5.01;0 -13;supply_node;1221.00;11.62;626.00;2.76;0 -13;supply_node;1213.00;11.35;613.00;5.70;0 -13;supply_node;1174.00;9.50;645.00;0.90;0 -13;naval_base;1206.00;9.50;618.00;-0.90;8312 -13;naval_base;1156.00;9.50;691.00;-0.59;8045 -13;naval_base;1181.00;9.50;645.00;-1.67;8280 -13;naval_base;1215.00;9.50;606.00;-0.46;8312 -13;naval_base;1140.00;9.68;699.00;-1.57;8045 -13;naval_base;1173.00;10.07;692.00;-0.46;8045 -13;naval_base;1225.00;9.50;635.00;1.57;8598 -13;naval_base;1247.00;9.50;665.00;0.20;8598 -13;naval_base;1164.00;10.18;714.00;-3.46;8428 -13;naval_base;1175.00;9.50;661.00;-1.57;8280 -13;naval_base;1235.00;9.50;663.00;1.11;8598 -13;naval_base;1173.00;9.50;709.00;-2.36;8428 -13;naval_base;1166.00;9.50;660.00;-1.11;8280 -13;naval_base;1168.00;9.50;672.00;-2.16;8045 -13;naval_base;1223.00;10.15;623.00;1.57;8598 -13;naval_base;1173.00;9.50;644.00;-3.14;8280 -13;naval_base;1182.00;9.50;719.00;-2.36;8428 -13;naval_base;1173.00;10.28;686.00;-1.75;8045 -13;bunker;1183.00;9.73;663.00;1.16;0 -13;bunker;1207.00;15.57;676.00;5.28;0 -13;bunker;1179.00;12.65;697.00;0.55;0 -13;bunker;1242.00;9.50;666.00;3.22;0 -13;bunker;1235.00;10.68;676.00;5.88;0 -13;bunker;1218.00;16.02;682.00;3.73;0 -13;bunker;1193.00;11.35;641.00;3.83;0 -13;bunker;1173.00;11.32;683.00;1.67;0 -13;bunker;1221.00;21.73;700.00;4.33;0 -13;bunker;1208.00;21.02;684.00;0.71;0 -13;bunker;1157.00;11.70;694.00;3.73;0 -13;bunker;1166.00;9.50;661.00;0.11;0 -13;bunker;1195.00;10.68;655.00;2.78;0 -13;bunker;1210.00;9.95;646.00;5.44;0 -13;bunker;1216.00;20.35;706.00;2.17;0 -13;bunker;1202.00;18.38;699.00;4.84;0 -13;bunker;1221.00;11.20;663.00;1.23;0 -13;bunker;1194.00;16.62;697.00;2.78;0 -13;bunker;1186.00;10.28;680.00;0.62;0 -13;bunker;1213.00;11.05;611.00;1.83;0 -13;bunker;1214.00;10.30;633.00;5.95;0 -13;bunker;1158.00;10.53;713.00;2.68;0 -13;bunker;1231.00;9.50;651.00;3.90;0 -13;bunker;1220.00;11.95;625.00;1.73;0 -13;bunker;1194.00;17.48;714.00;4.40;0 -13;bunker;1178.00;11.30;708.00;5.96;0 -13;bunker;1219.00;11.10;634.00;2.34;0 -13;bunker;1183.00;10.65;649.00;0.18;0 -13;bunker;1139.00;9.80;698.00;1.39;0 -13;bunker;1175.00;10.62;646.00;4.40;0 -13;coastal_bunker;1174.00;9.50;710.00;-2.36;0 -13;coastal_bunker;1225.00;9.50;638.00;1.57;0 -13;coastal_bunker;1207.00;9.50;610.00;-0.46;0 -13;coastal_bunker;1183.00;9.50;640.00;-1.67;0 -13;coastal_bunker;1258.00;9.50;672.00;1.46;0 -13;coastal_bunker;1154.00;9.50;695.00;-0.59;0 -13;coastal_bunker;1138.00;9.50;695.00;-1.57;0 -13;coastal_bunker;1202.00;9.50;630.00;-0.90;0 -13;coastal_bunker;1175.00;9.50;644.00;-3.14;0 -13;coastal_bunker;1224.00;9.50;623.00;1.57;0 -13;coastal_bunker;1164.00;9.50;660.00;-1.11;0 -13;coastal_bunker;1165.00;9.50;714.00;-3.46;0 -13;coastal_bunker;1235.00;9.50;652.00;1.11;0 -13;coastal_bunker;1168.00;9.50;672.00;-2.16;0 -13;coastal_bunker;1183.00;10.93;722.00;-2.36;0 -13;coastal_bunker;1169.00;10.48;695.00;-0.46;0 -13;coastal_bunker;1179.00;9.50;652.00;-1.57;0 -13;coastal_bunker;1172.00;9.50;686.00;-1.75;0 -13;dockyard;1176.00;9.50;658.00;-1.57;0 -13;anti_air_building;1176.00;10.95;673.00;2.92;0 -13;anti_air_building;1219.00;16.12;684.00;5.58;0 -13;anti_air_building;1189.00;13.62;687.00;0.86;0 -13;synthetic_refinery;1188.00;11.48;678.00;3.52;0 -13;fuel_silo;1223.00;16.90;688.00;1.36;0 -13;radar_station;1197.00;15.60;664.00;4.71;0 -13;rocket_site;1207.00;20.90;709.00;5.59;0 -13;nuclear_reactor;1184.00;12.80;712.00;3.42;0 -13;floating_harbor;1167.87;9.50;685.74;-3.61;162 -13;floating_harbor;1188.48;9.50;624.17;-3.36;1460 -13;floating_harbor;1198.53;9.50;619.63;-4.04;1527 -13;floating_harbor;1150.74;9.50;705.87;-4.25;1782 -13;floating_harbor;1241.26;9.50;651.87;-2.03;1868 -13;floating_harbor;1178.05;9.50;726.95;0.79;2935 -13;floating_harbor;1154.12;9.50;689.18;-3.73;3570 -13;floating_harbor;1148.00;9.50;684.00;-2.58;4079 -13;floating_harbor;1172.05;9.50;716.95;0.79;7201 -13;floating_harbor;1165.11;9.50;687.25;1.39;7249 -13;floating_harbor;1164.18;9.50;680.88;0.98;7266 -13;floating_harbor;1250.37;9.50;655.14;-2.94;7286 -13;floating_harbor;1160.74;9.50;658.87;-4.25;7291 -13;floating_harbor;1169.00;9.50;654.00;1.57;7306 -13;floating_harbor;1232.00;9.50;642.00;-1.57;7320 -13;floating_harbor;1231.00;9.50;626.00;-1.57;7341 -13;floating_harbor;1226.93;9.50;614.99;-1.43;7359 -13;floating_harbor;1161.00;9.50;634.00;-3.97;7827 14;arms_factory;1269.00;10.82;605.00;6.02;0 14;arms_factory;1255.00;16.83;606.00;6.12;0 14;arms_factory;1269.00;14.65;622.00;3.96;0 @@ -10838,65 +10702,6 @@ 74;radar_station;1129.00;11.98;1264.00;2.37;0 74;rocket_site;1072.00;20.20;1269.00;3.52;0 74;nuclear_reactor;1081.00;20.88;1283.00;1.36;0 -75;arms_factory;1237.00;10.20;1187.00;5.15;0 -75;arms_factory;1213.00;11.85;1240.00;2.98;0 -75;arms_factory;1249.00;11.62;1238.00;4.54;0 -75;arms_factory;1190.00;11.65;1208.00;0.92;0 -75;arms_factory;1194.00;9.82;1256.00;3.59;0 -75;arms_factory;1255.00;12.10;1225.00;1.43;0 -75;industrial_complex;1227.00;11.30;1248.00;1.53;0 -75;industrial_complex;1236.00;10.10;1208.00;5.65;0 -75;industrial_complex;1241.00;11.60;1242.00;2.04;0 -75;industrial_complex;1238.00;10.55;1273.00;4.70;0 -75;industrial_complex;1199.00;11.30;1212.00;6.26;0 -75;industrial_complex;1214.00;10.15;1272.00;4.10;0 -75;air_base;1184.00;9.98;1236.00;0.48;0 -75;supply_node;1249.00;11.80;1222.00;3.67;0 -75;supply_node;1223.00;10.85;1250.00;0.32;0 -75;supply_node;1205.00;11.48;1272.00;2.91;0 -75;supply_node;1191.00;9.90;1240.00;5.84;0 -75;supply_node;1203.00;10.15;1255.00;2.49;0 -75;supply_node;1265.00;11.73;1202.00;5.08;0 -75;supply_node;1222.00;10.15;1203.00;1.73;0 -75;supply_node;1201.00;10.43;1215.00;3.21;0 -75;supply_node;1255.00;13.45;1245.00;0.97;0 -75;supply_node;1186.00;10.28;1221.00;3.91;0 -75;supply_node;1238.00;10.90;1237.00;5.38;0 -75;supply_node;1228.00;11.55;1268.00;3.14;0 -75;supply_node;1209.00;11.73;1233.00;4.62;0 -75;supply_node;1244.00;10.75;1259.00;1.28;0 -75;supply_node;1224.00;10.43;1223.00;3.86;0 -75;supply_node;1238.00;10.12;1209.00;0.51;0 -75;supply_node;1206.00;11.75;1200.00;3.44;0 -75;supply_node;1251.00;10.65;1198.00;6.03;0 -75;supply_node;1234.00;10.10;1190.00;2.68;0 -75;bunker;1212.00;10.40;1264.00;2.71;0 -75;bunker;1252.00;12.95;1248.00;0.55;0 -75;bunker;1243.00;10.65;1226.00;4.68;0 -75;bunker;1230.00;10.98;1236.00;5.89;0 -75;bunker;1249.00;10.30;1265.00;2.62;0 -75;bunker;1228.00;10.30;1199.00;5.28;0 -75;bunker;1264.00;11.82;1206.00;1.67;0 -75;bunker;1204.00;11.35;1240.00;4.33;0 -75;bunker;1192.00;10.03;1230.00;1.07;0 -75;bunker;1224.00;10.20;1256.00;2.27;0 -75;bunker;1222.00;11.65;1234.00;0.11;0 -75;bunker;1249.00;11.45;1207.00;2.78;0 -75;bunker;1220.00;10.43;1205.00;4.34;0 -75;bunker;1201.00;10.05;1255.00;2.17;0 -75;bunker;1203.00;10.07;1225.00;4.84;0 -75;bunker;1234.00;11.18;1218.00;0.12;0 -75;bunker;1211.00;11.90;1200.00;2.78;0 -75;bunker;1202.00;10.78;1241.00;0.62;0 -75;bunker;1235.00;11.45;1268.00;1.83;0 -75;anti_air_building;1207.00;10.60;1256.00;4.85;0 -75;anti_air_building;1257.00;11.60;1207.00;1.23;0 -75;anti_air_building;1216.00;11.73;1249.00;5.35;0 -75;synthetic_refinery;1249.00;11.53;1208.00;0.28;0 -75;fuel_silo;1199.00;11.10;1205.00;3.29;0 -75;radar_station;1229.00;10.45;1231.00;1.24;0 -75;rocket_site;1213.00;11.40;1212.00;2.34;0 -75;nuclear_reactor;1260.00;12.70;1235.00;0.18;0 76;arms_factory;1202.00;12.15;1318.00;4.54;0 76;arms_factory;1214.00;11.80;1295.00;0.92;0 76;arms_factory;1231.00;12.30;1288.00;3.59;0 @@ -19431,174 +19236,6 @@ 168;radar_station;1016.00;13.75;854.00;0.11;0 168;rocket_site;1069.00;19.70;888.00;2.35;0 168;nuclear_reactor;982.00;12.45;852.00;0.19;0 -169;arms_factory;1263.00;21.38;732.00;0.43;0 -169;arms_factory;1212.00;10.40;739.00;4.55;0 -169;arms_factory;1223.00;11.45;771.00;0.93;0 -169;arms_factory;1253.00;18.25;723.00;2.49;0 -169;arms_factory;1204.00;13.48;726.00;5.15;0 -169;arms_factory;1250.00;15.32;741.00;2.99;0 -169;industrial_complex;1233.00;11.62;763.00;4.20;0 -169;industrial_complex;1256.00;19.02;735.00;0.94;0 -169;industrial_complex;1189.00;11.40;740.00;3.60;0 -169;industrial_complex;1239.00;12.20;776.00;6.26;0 -169;industrial_complex;1225.00;11.65;755.00;4.10;0 -169;industrial_complex;1227.00;17.85;720.00;5.66;0 -169;air_base;1257.00;19.27;728.00;2.05;0 -169;supply_node;1247.00;17.60;732.00;0.35;0 -169;supply_node;1225.00;11.65;755.00;1.83;0 -169;supply_node;1195.00;15.43;728.00;4.76;0 -169;supply_node;1224.00;11.18;735.00;1.07;0 -169;supply_node;1204.00;12.03;750.00;4.00;0 -169;supply_node;1256.00;9.73;776.00;0.65;0 -169;supply_node;1240.00;11.30;766.00;3.24;0 -169;supply_node;1236.00;10.88;745.00;6.18;0 -169;supply_node;1261.00;20.83;733.00;1.37;0 -169;supply_node;1240.00;20.23;721.00;5.41;0 -169;supply_node;1266.00;14.88;749.00;2.07;0 -169;supply_node;1224.00;17.70;718.00;3.54;0 -169;supply_node;1220.00;11.75;767.00;1.30;0 -169;supply_node;1257.00;10.40;761.00;2.78;0 -169;supply_node;1250.00;12.80;748.00;5.72;0 -169;supply_node;1190.00;11.88;743.00;2.02;0 -169;supply_node;1209.00;10.60;736.00;4.95;0 -169;supply_node;1209.00;15.23;721.00;1.60;0 -169;naval_base;1187.00;9.50;732.00;-1.57;8428 -169;naval_base;1187.00;9.50;746.00;-2.03;8428 -169;naval_base;1197.00;9.50;756.00;-2.36;8428 -169;bunker;1201.00;11.90;748.00;6.24;0 -169;bunker;1197.00;13.88;733.00;1.17;0 -169;bunker;1230.00;21.73;713.00;5.29;0 -169;bunker;1264.00;12.82;755.00;0.57;0 -169;bunker;1236.00;11.62;761.00;3.23;0 -169;bunker;1252.00;10.75;760.00;5.89;0 -169;bunker;1250.00;16.38;734.00;3.73;0 -169;bunker;1212.00;13.70;720.00;3.84;0 -169;bunker;1225.00;11.60;753.00;1.68;0 -169;bunker;1231.00;13.40;734.00;5.80;0 -169;bunker;1233.00;15.57;727.00;0.72;0 -169;bunker;1231.00;11.60;743.00;3.74;0 -169;bunker;1213.00;10.10;737.00;0.12;0 -169;bunker;1254.00;9.70;773.00;4.25;0 -169;bunker;1246.00;10.15;753.00;4.35;0 -169;bunker;1263.00;21.20;735.00;2.19;0 -169;bunker;1219.00;11.78;766.00;4.85;0 -169;bunker;1190.00;11.82;739.00;1.23;0 -169;coastal_bunker;1195.00;9.50;755.00;-2.36;0 -169;coastal_bunker;1187.00;9.50;739.00;-2.03;0 -169;coastal_bunker;1187.00;14.18;725.00;-1.57;0 -169;dockyard;1188.00;14.43;727.00;-1.57;0 -169;anti_air_building;1256.00;13.93;748.00;2.70;0 -169;anti_air_building;1219.00;18.88;713.00;3.90;0 -169;anti_air_building;1198.00;11.85;745.00;1.74;0 -169;synthetic_refinery;1213.00;11.53;729.00;4.41;0 -169;fuel_silo;1240.00;12.12;744.00;5.97;0 -169;radar_station;1233.00;11.30;747.00;3.05;0 -169;rocket_site;1212.00;16.27;716.00;0.19;0 -169;nuclear_reactor;1257.00;18.25;739.00;1.39;0 -169;floating_harbor;1180.00;9.50;728.00;1.57;2511 -169;floating_harbor;1193.05;9.50;760.95;0.79;3536 -169;floating_harbor;1181.74;9.50;747.13;1.11;7142 -170;arms_factory;1259.00;10.28;707.00;0.93;0 -170;arms_factory;1248.00;11.78;691.00;2.49;0 -170;arms_factory;1350.00;10.18;724.00;5.15;0 -170;arms_factory;1308.00;12.00;732.00;2.99;0 -170;arms_factory;1314.00;11.75;748.00;4.20;0 -170;arms_factory;1285.00;9.98;704.00;0.94;0 -170;industrial_complex;1325.00;10.68;707.00;3.60;0 -170;industrial_complex;1332.00;10.85;710.00;6.26;0 -170;industrial_complex;1354.00;11.48;748.00;4.10;0 -170;industrial_complex;1256.00;10.48;703.00;5.66;0 -170;industrial_complex;1351.00;10.10;734.00;2.05;0 -170;industrial_complex;1273.00;20.33;735.00;4.71;0 -170;air_base;1308.00;10.43;700.00;2.55;0 -170;supply_node;1303.00;10.65;703.00;4.76;0 -170;supply_node;1289.00;19.02;748.00;1.07;0 -170;supply_node;1254.00;11.60;680.00;4.00;0 -170;supply_node;1325.00;10.10;718.00;0.65;0 -170;supply_node;1309.00;9.70;717.00;3.24;0 -170;supply_node;1305.00;13.55;736.00;6.18;0 -170;supply_node;1352.00;10.10;733.00;1.37;0 -170;supply_node;1247.00;12.75;705.00;5.41;0 -170;supply_node;1338.00;10.73;760.00;2.07;0 -170;supply_node;1318.00;10.15;764.00;3.54;0 -170;supply_node;1339.00;9.75;727.00;1.30;0 -170;supply_node;1240.00;11.82;690.00;2.78;0 -170;supply_node;1267.00;10.10;706.00;5.72;0 -170;supply_node;1339.00;10.53;708.00;2.02;0 -170;supply_node;1277.00;19.75;738.00;4.95;0 -170;supply_node;1362.00;10.70;746.00;1.60;0 -170;supply_node;1281.00;9.82;712.00;3.09;0 -170;supply_node;1273.00;11.18;690.00;0.84;0 -170;supply_node;1331.00;10.25;741.00;2.32;0 -170;supply_node;1353.00;12.85;758.00;5.25;0 -170;supply_node;1304.00;17.08;755.00;3.02;0 -170;supply_node;1317.00;11.80;748.00;4.49;0 -170;supply_node;1346.00;10.50;745.00;1.14;0 -170;supply_node;1319.00;10.05;732.00;3.73;0 -170;supply_node;1291.00;16.80;731.00;0.38;0 -170;supply_node;1273.00;13.80;724.00;3.32;0 -170;supply_node;1257.00;14.82;716.00;5.90;0 -170;supply_node;1295.00;10.18;717.00;2.56;0 -170;supply_node;1233.00;18.98;705.00;4.03;0 -170;supply_node;1319.00;11.35;703.00;1.79;0 -170;supply_node;1287.00;9.78;699.00;4.72;0 -170;supply_node;1259.00;10.03;693.00;6.21;0 -170;naval_base;1263.00;9.50;679.00;1.17;8300 -170;naval_base;1306.00;9.50;698.00;0.17;8300 -170;naval_base;1277.00;9.50;687.00;0.46;8300 -170;naval_base;1315.00;9.62;698.00;-0.79;8300 -170;naval_base;1293.00;9.50;695.00;0.67;8300 -170;bunker;1346.00;11.03;753.00;2.79;0 -170;bunker;1334.00;11.35;704.00;0.63;0 -170;bunker;1311.00;11.30;764.00;3.30;0 -170;bunker;1304.00;10.10;718.00;5.96;0 -170;bunker;1254.00;11.88;707.00;2.70;0 -170;bunker;1306.00;14.28;743.00;3.90;0 -170;bunker;1334.00;10.55;764.00;1.74;0 -170;bunker;1279.00;10.32;715.00;4.41;0 -170;bunker;1311.00;11.73;754.00;5.97;0 -170;bunker;1276.00;15.78;729.00;2.35;0 -170;bunker;1331.00;10.57;720.00;0.19;0 -170;bunker;1354.00;11.20;745.00;1.39;0 -170;bunker;1295.00;9.93;699.00;4.42;0 -170;bunker;1240.00;14.40;701.00;2.26;0 -170;bunker;1297.00;10.20;702.00;4.92;0 -170;bunker;1350.00;11.82;753.00;0.19;0 -170;bunker;1325.00;10.80;743.00;2.86;0 -170;bunker;1351.00;10.75;722.00;0.70;0 -170;bunker;1313.00;9.90;725.00;1.91;0 -170;bunker;1268.00;10.05;688.00;4.93;0 -170;bunker;1265.00;15.78;721.00;1.31;0 -170;bunker;1245.00;11.35;682.00;3.97;0 -170;bunker;1278.00;19.55;738.00;0.35;0 -170;bunker;1274.00;10.03;710.00;3.37;0 -170;bunker;1319.00;11.35;703.00;6.04;0 -170;bunker;1291.00;11.80;722.00;2.42;0 -170;bunker;1239.00;12.20;691.00;0.26;0 -170;bunker;1295.00;18.73;753.00;0.36;0 -170;bunker;1293.00;18.88;735.00;4.48;0 -170;bunker;1344.00;9.75;727.00;0.86;0 -170;bunker;1319.00;11.68;746.00;3.88;0 -170;bunker;1261.00;9.70;700.00;5.09;0 -170;coastal_bunker;1310.00;9.50;699.00;0.17;0 -170;coastal_bunker;1273.00;9.50;685.00;0.46;0 -170;coastal_bunker;1290.00;9.50;694.00;0.67;0 -170;coastal_bunker;1262.00;9.50;679.00;1.17;0 -170;coastal_bunker;1313.00;9.50;699.00;-0.79;0 -170;dockyard;1286.00;9.50;692.00;0.67;0 -170;anti_air_building;1316.00;10.62;759.00;5.60;0 -170;anti_air_building;1329.00;11.25;759.00;3.44;0 -170;anti_air_building;1321.00;9.90;716.00;4.64;0 -170;synthetic_refinery;1254.00;11.65;681.00;2.48;0 -170;fuel_silo;1287.00;18.40;748.00;4.05;0 -170;radar_station;1297.00;11.80;724.00;0.38;0 -170;rocket_site;1249.00;17.33;713.00;3.09;0 -170;nuclear_reactor;1346.00;9.73;727.00;6.11;0 -170;floating_harbor;1275.00;9.50;675.00;-4.06;1049 -170;floating_harbor;1267.43;9.50;674.24;-1.98;1361 -170;floating_harbor;1278.13;9.50;679.74;-2.68;5309 -170;floating_harbor;1275.00;9.50;675.00;-4.18;7216 -170;floating_harbor;1275.00;9.50;675.00;-3.84;7227 172;arms_factory;1278.00;10.55;782.00;4.20;0 172;arms_factory;1350.00;20.65;832.00;0.94;0 172;arms_factory;1323.00;14.10;821.00;3.60;0 @@ -19680,45 +19317,6 @@ 172;radar_station;1329.00;20.18;798.00;3.47;0 172;rocket_site;1346.00;19.93;817.00;5.59;0 172;nuclear_reactor;1367.00;12.73;783.00;0.87;0 -173;arms_factory;1518.00;14.40;792.00;3.60;0 -173;arms_factory;1499.00;20.15;790.00;6.26;0 -173;arms_factory;1505.00;14.05;804.00;4.10;0 -173;arms_factory;1515.00;12.80;812.00;5.66;0 -173;arms_factory;1514.00;12.45;840.00;2.05;0 -173;arms_factory;1499.00;10.90;826.00;4.71;0 -173;industrial_complex;1507.00;12.20;836.00;2.55;0 -173;industrial_complex;1489.00;11.85;800.00;4.11;0 -173;industrial_complex;1489.00;11.85;794.00;0.49;0 -173;industrial_complex;1502.00;15.93;801.00;3.15;0 -173;industrial_complex;1518.00;12.32;825.00;6.18;0 -173;industrial_complex;1525.00;13.03;819.00;1.10;0 -173;air_base;1503.00;11.50;822.00;5.22;0 -173;supply_node;1501.00;17.95;798.00;1.37;0 -173;supply_node;1511.00;13.07;813.00;5.41;0 -173;supply_node;1522.00;12.45;826.00;2.07;0 -173;supply_node;1517.00;12.40;840.00;3.54;0 -173;supply_node;1504.00;11.35;828.00;1.30;0 -173;supply_node;1524.00;13.60;809.00;2.78;0 -173;supply_node;1496.00;11.57;814.00;5.72;0 -173;supply_node;1488.00;11.62;796.00;2.02;0 -173;supply_node;1517.00;13.40;797.00;4.95;0 -173;bunker;1516.00;13.60;796.00;0.06;0 -173;bunker;1495.00;11.35;809.00;4.18;0 -173;bunker;1501.00;17.30;799.00;0.56;0 -173;bunker;1516.00;12.60;844.00;2.12;0 -173;bunker;1532.00;16.30;805.00;6.24;0 -173;bunker;1506.00;11.78;831.00;1.17;0 -173;bunker;1510.00;13.10;820.00;5.29;0 -173;bunker;1527.00;13.20;823.00;0.57;0 -173;bunker;1489.00;11.62;801.00;3.23;0 -173;anti_air_building;1501.00;14.48;803.00;5.89;0 -173;anti_air_building;1517.00;12.30;828.00;3.73;0 -173;anti_air_building;1522.00;12.45;823.00;3.84;0 -173;synthetic_refinery;1512.00;13.12;824.00;1.68;0 -173;fuel_silo;1511.00;12.88;834.00;5.80;0 -173;radar_station;1510.00;12.30;818.00;1.79;0 -173;rocket_site;1518.00;12.62;802.00;3.74;0 -173;nuclear_reactor;1497.00;16.02;800.00;0.12;0 175;arms_factory;1515.00;14.32;785.00;2.05;0 175;arms_factory;1493.00;11.20;739.00;4.71;0 175;arms_factory;1497.00;12.10;747.00;2.55;0 @@ -23312,4 +22910,473 @@ 28;fuel_silo;1222.00;13.45;1042.00;2.85;0 28;radar_station;1195.00;14.95;1069.00;1.28;0 28;rocket_site;1182.00;14.95;1047.00;1.90;0 -28;nuclear_reactor;1188.00;15.03;1084.00;4.91;0 \ No newline at end of file +28;nuclear_reactor;1188.00;15.03;1084.00;4.91;0 +222;arms_factory;1194.00;9.95;1235.00;3.67;0 +222;arms_factory;1224.00;10.30;1254.00;0.05;0 +222;arms_factory;1193.00;10.00;1236.00;1.61;0 +222;arms_factory;1209.00;12.10;1197.00;5.73;0 +222;arms_factory;1192.00;10.00;1237.00;0.65;0 +222;arms_factory;1206.00;11.82;1198.00;4.78;0 +222;industrial_complex;1197.00;10.48;1218.00;0.06;0 +222;industrial_complex;1229.00;11.65;1275.00;4.18;0 +222;industrial_complex;1211.00;11.10;1218.00;0.56;0 +222;industrial_complex;1226.00;11.15;1276.00;2.12;0 +222;industrial_complex;1196.00;10.05;1252.00;6.24;0 +222;industrial_complex;1196.00;11.45;1271.00;1.17;0 +222;air_base;1210.00;11.70;1252.00;5.29;0 +222;supply_node;1223.00;10.85;1250.00;1.14;0 +222;supply_node;1205.00;11.48;1272.00;3.73;0 +222;supply_node;1191.00;9.90;1240.00;0.38;0 +222;supply_node;1203.00;10.15;1255.00;3.32;0 +222;supply_node;1201.00;10.43;1215.00;5.90;0 +222;supply_node;1186.00;10.28;1221.00;2.56;0 +222;supply_node;1228.00;11.55;1268.00;4.03;0 +222;supply_node;1209.00;11.73;1233.00;1.79;0 +222;supply_node;1206.00;11.75;1200.00;4.72;0 +222;bunker;1195.00;11.73;1213.00;0.12;0 +222;bunker;1227.00;11.60;1272.00;4.25;0 +222;bunker;1204.00;11.60;1275.00;4.35;0 +222;bunker;1204.00;10.25;1255.00;2.19;0 +222;bunker;1217.00;11.57;1249.00;4.85;0 +222;bunker;1186.00;10.10;1230.00;1.23;0 +222;bunker;1197.00;9.75;1230.00;2.79;0 +222;bunker;1196.00;10.05;1239.00;0.63;0 +222;bunker;1206.00;11.65;1203.00;3.30;0 +222;anti_air_building;1218.00;11.35;1243.00;5.96;0 +222;anti_air_building;1228.00;11.50;1276.00;2.70;0 +222;anti_air_building;1199.00;10.10;1252.00;3.90;0 +222;synthetic_refinery;1193.00;10.45;1220.00;1.74;0 +222;fuel_silo;1212.00;11.82;1252.00;4.41;0 +222;radar_station;1209.00;11.98;1238.00;0.11;0 +222;rocket_site;1205.00;11.55;1279.00;2.35;0 +222;nuclear_reactor;1216.00;11.73;1249.00;0.19;0 +75;arms_factory;1247.00;11.00;1260.00;3.66;0 +75;arms_factory;1259.00;13.45;1244.00;0.04;0 +75;arms_factory;1223.00;10.40;1194.00;1.60;0 +75;arms_factory;1237.00;11.45;1221.00;5.72;0 +75;arms_factory;1250.00;11.78;1226.00;0.65;0 +75;arms_factory;1219.00;11.43;1227.00;4.77;0 +75;industrial_complex;1233.00;10.95;1237.00;0.04;0 +75;industrial_complex;1240.00;11.30;1252.00;4.17;0 +75;industrial_complex;1264.00;11.80;1198.00;5.37;0 +75;industrial_complex;1268.00;12.18;1208.00;3.21;0 +75;industrial_complex;1248.00;11.80;1215.00;6.23;0 +75;industrial_complex;1245.00;10.10;1201.00;1.16;0 +75;air_base;1233.00;11.03;1220.00;5.28;0 +75;supply_node;1249.00;11.80;1222.00;2.08;0 +75;supply_node;1265.00;11.73;1202.00;4.67;0 +75;supply_node;1222.00;10.15;1203.00;1.32;0 +75;supply_node;1255.00;13.45;1245.00;2.80;0 +75;supply_node;1238.00;10.90;1237.00;0.55;0 +75;supply_node;1244.00;10.75;1259.00;3.49;0 +75;supply_node;1224.00;10.43;1223.00;4.97;0 +75;supply_node;1238.00;10.12;1209.00;2.73;0 +75;supply_node;1251.00;10.65;1198.00;4.20;0 +75;supply_node;1234.00;10.10;1190.00;0.86;0 +75;bunker;1219.00;11.30;1226.00;2.78;0 +75;bunker;1233.00;11.55;1241.00;5.44;0 +75;bunker;1260.00;12.40;1220.00;2.17;0 +75;bunker;1233.00;10.10;1189.00;4.84;0 +75;bunker;1244.00;10.80;1209.00;1.23;0 +75;bunker;1242.00;10.85;1255.00;2.78;0 +75;bunker;1259.00;12.98;1239.00;0.62;0 +75;bunker;1217.00;11.25;1207.00;1.83;0 +75;bunker;1244.00;10.32;1191.00;5.95;0 +75;bunker;1271.00;11.90;1198.00;2.68;0 +75;anti_air_building;1251.00;11.80;1229.00;3.90;0 +75;anti_air_building;1268.00;11.80;1199.00;1.73;0 +75;anti_air_building;1239.00;10.28;1210.00;4.40;0 +75;synthetic_refinery;1251.00;10.35;1193.00;5.96;0 +75;fuel_silo;1244.00;10.40;1266.00;2.34;0 +75;radar_station;1247.00;11.53;1224.00;1.74;0 +75;rocket_site;1224.00;10.10;1205.00;1.39;0 +75;nuclear_reactor;1245.00;11.10;1225.00;4.40;0 +13;arms_factory;1248.00;11.60;703.00;3.86;0 +13;arms_factory;1250.00;16.48;713.00;5.07;0 +13;arms_factory;1246.00;12.05;703.00;2.91;0 +13;arms_factory;1222.00;14.18;678.00;5.57;0 +13;arms_factory;1243.00;12.03;694.00;0.85;0 +13;arms_factory;1261.00;10.18;687.00;4.97;0 +13;industrial_complex;1229.00;11.78;681.00;1.36;0 +13;industrial_complex;1229.00;10.60;663.00;4.02;0 +13;industrial_complex;1279.00;10.95;691.00;5.58;0 +13;industrial_complex;1224.00;20.15;692.00;3.42;0 +13;industrial_complex;1239.00;16.35;703.00;4.62;0 +13;industrial_complex;1240.00;11.78;688.00;2.46;0 +13;air_base;1238.00;16.08;703.00;4.03;0 +13;supply_node;1223.00;10.98;667.00;3.73;0 +13;supply_node;1254.00;11.60;680.00;1.49;0 +13;supply_node;1231.00;9.80;657.00;2.97;0 +13;supply_node;1247.00;12.75;705.00;5.91;0 +13;supply_node;1240.00;11.82;690.00;3.66;0 +13;supply_node;1267.00;10.10;706.00;5.15;0 +13;supply_node;1273.00;11.18;690.00;1.80;0 +13;supply_node;1257.00;14.82;716.00;4.38;0 +13;supply_node;1233.00;18.98;705.00;1.03;0 +13;supply_node;1259.00;10.03;693.00;3.97;0 +13;supply_node;1225.00;19.68;692.00;0.27;0 +13;supply_node;1215.00;16.10;683.00;3.20;0 +13;supply_node;1234.00;10.90;677.00;4.68;0 +13;supply_node;1248.00;9.50;667.00;2.44;0 +13;naval_base;1257.00;9.50;664.00;1.46;8300 +13;naval_base;1259.00;9.50;674.00;1.17;8300 +13;naval_base;1236.00;9.50;663.00;1.11;8598 +13;naval_base;1265.00;9.50;681.00;0.46;8300 +13;bunker;1220.00;11.68;667.00;6.16;0 +13;bunker;1252.00;10.68;674.00;2.54;0 +13;bunker;1241.00;10.40;672.00;5.20;0 +13;bunker;1241.00;11.30;681.00;0.48;0 +13;bunker;1271.00;10.23;711.00;4.61;0 +13;bunker;1263.00;13.45;716.00;5.81;0 +13;bunker;1246.00;20.30;715.00;3.65;0 +13;bunker;1238.00;12.10;690.00;0.38;0 +13;bunker;1231.00;19.48;707.00;1.59;0 +13;bunker;1232.00;9.95;655.00;5.71;0 +13;bunker;1216.00;17.18;688.00;2.10;0 +13;bunker;1275.00;11.30;695.00;3.66;0 +13;bunker;1256.00;10.28;701.00;0.04;0 +13;bunker;1229.00;16.33;696.00;4.16;0 +13;coastal_bunker;1256.00;9.50;660.00;0.79;0 +13;coastal_bunker;1269.00;9.50;683.00;0.46;0 +13;coastal_bunker;1260.00;9.50;677.00;1.17;0 +13;coastal_bunker;1230.00;9.50;651.00;1.11;0 +13;dockyard;1236.00;9.50;652.00;1.11;0 +13;anti_air_building;1275.00;10.98;689.00;0.55;0 +13;anti_air_building;1229.00;10.25;661.00;4.67;0 +13;anti_air_building;1230.00;10.68;666.00;5.87;0 +13;synthetic_refinery;1237.00;11.93;686.00;2.61;0 +13;fuel_silo;1228.00;11.00;666.00;5.28;0 +13;radar_station;1247.00;11.62;688.00;4.64;0 +13;rocket_site;1257.00;11.35;685.00;4.32;0 +13;nuclear_reactor;1271.00;10.10;709.00;1.06;0 +13;floating_harbor;1267.43;9.50;674.24;-1.98;1361 +13;floating_harbor;1241.26;9.50;651.87;-2.03;1868 +13;floating_harbor;1278.13;9.50;679.74;-2.68;5309 +13;floating_harbor;1250.37;9.50;655.14;-2.94;7286 +169;arms_factory;1269.00;14.75;754.00;4.00;0 +169;arms_factory;1218.00;10.70;744.00;5.56;0 +169;arms_factory;1228.00;11.70;751.00;1.94;0 +169;arms_factory;1231.00;11.75;740.00;4.61;0 +169;arms_factory;1205.00;12.00;752.00;2.45;0 +169;arms_factory;1227.00;11.80;764.00;4.01;0 +169;industrial_complex;1264.00;21.75;732.00;0.39;0 +169;industrial_complex;1256.00;9.68;775.00;3.05;0 +169;industrial_complex;1215.00;13.73;719.00;0.89;0 +169;industrial_complex;1233.00;17.43;724.00;0.99;0 +169;industrial_complex;1220.00;11.98;727.00;5.12;0 +169;industrial_complex;1251.00;17.45;730.00;2.96;0 +169;air_base;1274.00;17.95;752.00;3.06;0 +169;supply_node;1247.00;17.60;732.00;4.68;0 +169;supply_node;1225.00;11.65;755.00;1.33;0 +169;supply_node;1195.00;15.43;728.00;3.91;0 +169;supply_node;1224.00;11.18;735.00;0.57;0 +169;supply_node;1204.00;12.03;750.00;3.51;0 +169;supply_node;1256.00;9.73;776.00;6.09;0 +169;supply_node;1240.00;11.30;766.00;2.74;0 +169;supply_node;1236.00;10.88;745.00;4.22;0 +169;supply_node;1261.00;20.83;733.00;1.98;0 +169;supply_node;1240.00;20.23;721.00;4.91;0 +169;supply_node;1266.00;14.88;749.00;0.11;0 +169;supply_node;1224.00;17.70;718.00;4.15;0 +169;supply_node;1220.00;11.75;767.00;5.63;0 +169;supply_node;1257.00;10.40;761.00;2.28;0 +169;supply_node;1250.00;12.80;748.00;0.04;0 +169;supply_node;1190.00;11.88;743.00;1.52;0 +169;supply_node;1209.00;10.60;736.00;4.45;0 +169;supply_node;1209.00;15.23;721.00;0.75;0 +169;naval_base;1188.00;9.50;748.00;-2.03;8428 +169;naval_base;1187.00;9.85;731.00;-1.57;8428 +169;naval_base;1197.00;9.50;756.00;-2.36;8428 +169;bunker;1239.00;11.23;759.00;0.62;0 +169;bunker;1218.00;11.45;769.00;3.64;0 +169;bunker;1259.00;9.50;775.00;0.02;0 +169;bunker;1215.00;10.45;734.00;2.68;0 +169;bunker;1263.00;21.02;738.00;5.35;0 +169;bunker;1223.00;20.23;712.00;2.09;0 +169;bunker;1236.00;12.40;738.00;4.75;0 +169;bunker;1220.00;10.07;737.00;1.13;0 +169;bunker;1193.00;11.93;740.00;3.80;0 +169;bunker;1248.00;11.12;750.00;0.53;0 +169;bunker;1195.00;15.48;726.00;3.19;0 +169;bunker;1264.00;13.38;751.00;5.86;0 +169;bunker;1235.00;11.80;759.00;2.59;0 +169;bunker;1245.00;20.55;720.00;3.80;0 +169;bunker;1254.00;17.95;725.00;1.64;0 +169;bunker;1195.00;10.93;753.00;4.30;0 +169;bunker;1211.00;14.05;721.00;5.86;0 +169;bunker;1258.00;9.78;767.00;2.25;0 +169;coastal_bunker;1186.00;9.50;743.00;-2.03;0 +169;coastal_bunker;1186.00;13.70;724.00;-1.57;0 +169;coastal_bunker;1198.00;9.80;756.00;-2.36;0 +169;dockyard;1186.00;9.50;745.00;-2.03;0 +169;anti_air_building;1191.00;15.40;729.00;4.81;0 +169;anti_air_building;1220.00;11.50;771.00;1.20;0 +169;anti_air_building;1254.00;11.15;781.00;2.76;0 +169;synthetic_refinery;1235.00;14.15;733.00;0.60;0 +169;fuel_silo;1255.00;16.50;740.00;1.80;0 +169;radar_station;1233.00;11.30;747.00;3.65;0 +169;rocket_site;1254.00;17.88;735.00;1.21;0 +169;nuclear_reactor;1195.00;11.85;739.00;3.87;0 +169;floating_harbor;1180.00;9.50;728.00;1.57;2511 +169;floating_harbor;1193.05;9.50;760.95;0.79;3536 +169;floating_harbor;1181.74;9.50;747.13;1.11;7142 +170;arms_factory;1353.00;10.40;740.00;0.52;0 +170;arms_factory;1323.00;11.28;756.00;4.64;0 +170;arms_factory;1296.00;18.08;739.00;4.74;0 +170;arms_factory;1323.00;9.90;714.00;2.58;0 +170;arms_factory;1304.00;9.82;716.00;5.25;0 +170;arms_factory;1288.00;19.18;743.00;0.53;0 +170;industrial_complex;1298.00;9.95;715.00;3.19;0 +170;industrial_complex;1284.00;10.12;701.00;1.03;0 +170;industrial_complex;1283.00;13.32;725.00;3.69;0 +170;industrial_complex;1345.00;10.10;739.00;5.25;0 +170;industrial_complex;1291.00;15.10;728.00;3.10;0 +170;industrial_complex;1305.00;15.95;756.00;4.30;0 +170;air_base;1283.00;11.32;720.00;2.14;0 +170;supply_node;1303.00;10.65;703.00;5.15;0 +170;supply_node;1289.00;19.02;748.00;0.35;0 +170;supply_node;1325.00;10.10;718.00;3.28;0 +170;supply_node;1309.00;9.70;717.00;5.87;0 +170;supply_node;1305.00;13.55;736.00;2.52;0 +170;supply_node;1352.00;10.10;733.00;4.00;0 +170;supply_node;1338.00;10.73;760.00;1.76;0 +170;supply_node;1318.00;10.15;764.00;4.69;0 +170;supply_node;1339.00;9.75;727.00;6.17;0 +170;supply_node;1339.00;10.53;708.00;3.93;0 +170;supply_node;1277.00;19.75;738.00;5.41;0 +170;supply_node;1362.00;10.70;746.00;2.06;0 +170;supply_node;1281.00;9.82;712.00;6.10;0 +170;supply_node;1331.00;10.25;741.00;1.29;0 +170;supply_node;1353.00;12.85;758.00;4.23;0 +170;supply_node;1304.00;17.08;755.00;0.53;0 +170;supply_node;1317.00;11.80;748.00;3.47;0 +170;supply_node;1346.00;10.50;745.00;0.12;0 +170;supply_node;1319.00;10.05;732.00;2.71;0 +170;supply_node;1291.00;16.80;731.00;5.64;0 +170;supply_node;1273.00;13.80;724.00;0.84;0 +170;supply_node;1295.00;10.18;717.00;4.88;0 +170;supply_node;1319.00;11.35;703.00;1.53;0 +170;supply_node;1287.00;9.78;699.00;3.01;0 +170;naval_base;1300.00;9.50;696.00;0.17;8300 +170;naval_base;1285.00;9.50;692.00;0.67;8300 +170;naval_base;1315.00;9.62;698.00;-0.79;8300 +170;bunker;1324.00;10.03;712.00;1.27;0 +170;bunker;1289.00;11.20;720.00;5.39;0 +170;bunker;1306.00;14.95;760.00;1.77;0 +170;bunker;1276.00;15.78;729.00;3.33;0 +170;bunker;1347.00;9.65;729.00;5.99;0 +170;bunker;1317.00;10.03;730.00;3.84;0 +170;bunker;1324.00;11.00;746.00;5.05;0 +170;bunker;1322.00;10.12;765.00;1.78;0 +170;bunker;1338.00;11.03;715.00;4.44;0 +170;bunker;1286.00;9.78;712.00;0.82;0 +170;bunker;1294.00;18.02;741.00;2.38;0 +170;bunker;1336.00;10.62;761.00;0.23;0 +170;bunker;1324.00;11.07;749.00;4.35;0 +170;bunker;1362.00;12.57;752.00;5.55;0 +170;bunker;1342.00;10.32;751.00;2.29;0 +170;bunker;1308.00;10.48;726.00;4.95;0 +170;bunker;1305.00;11.05;701.00;1.34;0 +170;bunker;1355.00;10.45;737.00;4.00;0 +170;bunker;1277.00;18.48;733.00;0.74;0 +170;bunker;1307.00;13.65;735.00;1.94;0 +170;bunker;1290.00;17.98;737.00;6.06;0 +170;bunker;1291.00;9.60;698.00;2.44;0 +170;bunker;1348.00;12.30;766.00;4.01;0 +170;bunker;1326.00;11.18;702.00;1.85;0 +170;coastal_bunker;1312.00;9.50;699.00;-0.79;0 +170;coastal_bunker;1303.00;9.50;697.00;0.17;0 +170;coastal_bunker;1295.00;9.50;696.00;0.67;0 +170;dockyard;1301.00;9.50;697.00;0.17;0 +170;anti_air_building;1342.00;9.60;732.00;1.50;0 +170;anti_air_building;1337.00;10.62;756.00;4.52;0 +170;anti_air_building;1316.00;9.93;712.00;0.90;0 +170;synthetic_refinery;1299.00;17.90;745.00;5.02;0 +170;fuel_silo;1324.00;10.10;720.00;6.23;0 +170;radar_station;1317.00;10.23;733.00;2.51;0 +170;rocket_site;1293.00;18.90;748.00;0.80;0 +170;nuclear_reactor;1299.00;11.15;721.00;2.01;0 +170;floating_harbor;1275.00;9.50;675.00;-4.06;1049 +170;floating_harbor;1275.00;9.50;675.00;-4.18;7216 +170;floating_harbor;1275.00;9.50;675.00;-3.84;7227 +223;arms_factory;1214.00;10.48;653.00;3.91;0 +223;arms_factory;1173.00;11.40;679.00;0.29;0 +223;arms_factory;1213.00;20.25;700.00;2.95;0 +223;arms_factory;1205.00;19.93;701.00;5.97;0 +223;arms_factory;1223.00;10.55;641.00;0.89;0 +223;arms_factory;1201.00;10.12;638.00;5.02;0 +223;industrial_complex;1187.00;10.45;681.00;1.40;0 +223;industrial_complex;1226.00;10.65;650.00;2.96;0 +223;industrial_complex;1214.00;10.15;637.00;5.62;0 +223;industrial_complex;1208.00;12.53;659.00;3.46;0 +223;industrial_complex;1194.00;16.98;685.00;0.19;0 +223;industrial_complex;1211.00;10.10;638.00;1.41;0 +223;air_base;1209.00;21.18;707.00;5.53;0 +223;supply_node;1216.00;20.33;702.00;6.02;0 +223;supply_node;1200.00;18.52;685.00;2.68;0 +223;supply_node;1192.00;11.43;640.00;4.15;0 +223;supply_node;1209.00;11.00;628.00;1.91;0 +223;supply_node;1191.00;17.23;714.00;3.39;0 +223;supply_node;1184.00;9.57;666.00;0.04;0 +223;supply_node;1211.00;9.80;649.00;4.08;0 +223;supply_node;1206.00;15.18;669.00;5.56;0 +223;supply_node;1180.00;11.60;709.00;2.21;0 +223;supply_node;1205.00;21.30;705.00;4.80;0 +223;supply_node;1190.00;16.27;699.00;1.45;0 +223;supply_node;1183.00;11.18;684.00;2.93;0 +223;supply_node;1173.00;10.95;675.00;0.69;0 +223;supply_node;1169.00;9.85;663.00;3.63;0 +223;supply_node;1197.00;11.18;658.00;5.10;0 +223;supply_node;1179.00;10.62;654.00;2.86;0 +223;supply_node;1221.00;10.90;642.00;4.34;0 +223;supply_node;1221.00;11.62;626.00;0.99;0 +223;supply_node;1213.00;11.35;613.00;5.03;0 +223;supply_node;1174.00;9.50;645.00;0.23;0 +223;naval_base;1174.00;9.50;644.00;-3.14;8280 +223;naval_base;1227.00;9.50;648.00;1.57;8598 +223;naval_base;1169.00;9.50;678.00;-2.16;8045 +223;naval_base;1223.00;9.80;622.00;1.57;8598 +223;naval_base;1173.00;9.50;708.00;-2.36;8428 +223;naval_base;1213.00;9.50;605.00;-0.46;8312 +223;naval_base;1203.00;9.50;626.00;-0.90;8312 +223;naval_base;1174.00;9.50;654.00;-1.57;8280 +223;naval_base;1183.00;10.82;723.00;-2.36;8428 +223;naval_base;1189.00;9.50;630.00;-0.22;8312 +223;naval_base;1171.00;9.50;662.00;-1.11;8280 +223;naval_base;1172.00;9.50;686.00;-1.75;8045 +223;bunker;1199.00;9.93;652.00;0.94;0 +223;bunker;1198.00;17.35;677.00;2.15;0 +223;bunker;1210.00;10.65;656.00;6.27;0 +223;bunker;1190.00;16.27;700.00;1.55;0 +223;bunker;1182.00;10.53;654.00;4.21;0 +223;bunker;1204.00;10.18;635.00;0.59;0 +223;bunker;1201.00;19.90;708.00;4.71;0 +223;bunker;1181.00;11.45;711.00;4.82;0 +223;bunker;1220.00;10.75;640.00;2.66;0 +223;bunker;1201.00;10.00;644.00;0.50;0 +223;bunker;1208.00;15.82;676.00;0.60;0 +223;bunker;1190.00;12.35;675.00;4.72;0 +223;bunker;1174.00;11.10;672.00;1.10;0 +223;bunker;1221.00;11.30;621.00;3.77;0 +223;bunker;1218.00;10.98;615.00;5.33;0 +223;bunker;1187.00;11.10;674.00;3.17;0 +223;bunker;1218.00;20.52;707.00;5.83;0 +223;bunker;1188.00;15.75;712.00;2.21;0 +223;bunker;1166.00;9.50;661.00;3.77;0 +223;bunker;1175.00;10.03;645.00;1.61;0 +223;coastal_bunker;1181.00;9.50;649.00;-1.57;0 +223;coastal_bunker;1197.00;9.50;631.00;-0.22;0 +223;coastal_bunker;1170.00;9.50;676.00;-2.16;0 +223;coastal_bunker;1171.00;9.50;662.00;-1.11;0 +223;coastal_bunker;1186.00;14.20;723.00;-2.36;0 +223;coastal_bunker;1204.00;9.50;624.00;-0.90;0 +223;coastal_bunker;1176.00;9.50;645.00;-3.14;0 +223;coastal_bunker;1212.00;9.50;605.00;-0.46;0 +223;coastal_bunker;1223.00;9.80;622.00;1.57;0 +223;coastal_bunker;1179.00;9.55;712.00;-2.36;0 +223;coastal_bunker;1224.00;9.93;641.00;1.57;0 +223;coastal_bunker;1172.00;9.50;686.00;-1.75;0 +223;dockyard;1189.00;9.50;631.00;-0.22;0 +223;anti_air_building;1194.00;14.70;675.00;1.17;0 +223;anti_air_building;1217.00;11.20;631.00;3.84;0 +223;anti_air_building;1199.00;9.88;654.00;1.68;0 +223;synthetic_refinery;1200.00;18.10;679.00;2.89;0 +223;fuel_silo;1191.00;12.38;669.00;5.91;0 +223;radar_station;1196.00;15.12;664.00;1.38;0 +223;rocket_site;1186.00;11.60;645.00;4.95;0 +223;nuclear_reactor;1214.00;17.15;667.00;1.33;0 +223;floating_harbor;1188.48;9.50;624.17;-3.36;1460 +223;floating_harbor;1198.53;9.50;619.63;-4.04;1527 +223;floating_harbor;1178.05;9.50;726.95;0.79;2935 +223;floating_harbor;1172.05;9.50;716.95;0.79;7201 +223;floating_harbor;1165.11;9.50;687.25;1.39;7249 +223;floating_harbor;1164.18;9.50;680.88;0.98;7266 +223;floating_harbor;1160.74;9.50;658.87;-4.25;7291 +223;floating_harbor;1169.00;9.50;654.00;1.57;7306 +223;floating_harbor;1232.00;9.50;642.00;-1.57;7320 +223;floating_harbor;1231.00;9.50;626.00;-1.57;7341 +223;floating_harbor;1226.93;9.50;614.99;-1.43;7359 +223;floating_harbor;1161.00;9.50;634.00;-3.97;7827 +224;arms_factory;1179.00;12.68;694.00;5.86;0 +224;arms_factory;1174.00;10.85;691.00;2.24;0 +224;arms_factory;1174.00;11.95;703.00;5.26;0 +224;arms_factory;1166.00;19.43;700.00;0.18;0 +224;arms_factory;1170.00;12.75;697.00;4.30;0 +224;arms_factory;1176.00;12.50;695.00;5.86;0 +224;industrial_complex;1177.00;12.60;692.00;2.24;0 +224;industrial_complex;1157.00;14.95;703.00;4.91;0 +224;industrial_complex;1161.00;20.35;701.00;2.75;0 +224;industrial_complex;1176.00;12.38;697.00;5.77;0 +224;industrial_complex;1158.00;12.70;694.00;0.69;0 +224;industrial_complex;1161.00;11.03;715.00;4.81;0 +224;air_base;1164.00;20.45;703.00;1.19;0 +224;supply_node;1174.00;12.23;698.00;0.38;0 +224;supply_node;1161.00;12.40;711.00;1.85;0 +224;supply_node;1160.00;18.40;698.00;4.79;0 +224;supply_node;1138.00;9.50;700.00;2.55;0 +224;naval_base;1140.00;9.68;699.00;-1.57;8045 +224;naval_base;1160.00;9.50;717.00;-3.46;8428 +224;naval_base;1165.00;11.93;694.00;-0.59;8045 +224;naval_base;1170.00;9.50;693.00;-0.46;8045 +224;bunker;1170.00;11.80;696.00;5.93;0 +224;bunker;1162.00;11.25;714.00;2.31;0 +224;bunker;1164.00;20.02;704.00;4.98;0 +224;bunker;1139.00;9.57;705.00;1.71;0 +224;coastal_bunker;1157.00;9.60;710.00;-1.11;0 +224;coastal_bunker;1135.00;9.50;695.00;-1.57;0 +224;coastal_bunker;1155.00;10.23;703.00;-0.59;0 +224;coastal_bunker;1171.00;11.25;706.00;-2.68;0 +224;dockyard;1173.00;9.50;690.00;-0.46;0 +224;anti_air_building;1159.00;16.43;697.00;5.49;0 +224;anti_air_building;1176.00;12.38;697.00;3.33;0 +224;anti_air_building;1158.00;10.93;711.00;3.43;0 +224;synthetic_refinery;1164.00;15.43;708.00;1.27;0 +224;fuel_silo;1168.00;17.55;701.00;3.93;0 +224;radar_station;1159.00;18.68;702.00;3.04;0 +224;rocket_site;1162.00;11.25;714.00;1.87;0 +224;nuclear_reactor;1139.00;9.57;705.00;6.00;0 +224;floating_harbor;1167.87;9.50;685.74;-3.61;162 +224;floating_harbor;1150.74;9.50;705.87;-4.25;1782 +224;floating_harbor;1154.12;9.50;689.18;-3.73;3570 +224;floating_harbor;1148.00;9.50;684.00;-2.58;4079 +173;arms_factory;1524.00;13.60;809.00;2.48;0 +173;arms_factory;1503.00;12.57;810.00;3.69;0 +173;arms_factory;1517.00;14.35;792.00;1.53;0 +173;arms_factory;1503.00;15.73;801.00;3.09;0 +173;arms_factory;1514.00;12.95;811.00;5.75;0 +173;arms_factory;1521.00;12.40;823.00;3.59;0 +173;industrial_complex;1518.00;12.20;835.00;6.26;0 +173;industrial_complex;1521.00;13.10;805.00;2.99;0 +173;industrial_complex;1503.00;13.05;809.00;4.20;0 +173;industrial_complex;1492.00;13.70;798.00;2.04;0 +173;industrial_complex;1497.00;17.77;798.00;4.70;0 +173;industrial_complex;1499.00;20.15;794.00;6.26;0 +173;air_base;1505.00;12.10;822.00;2.65;0 +173;supply_node;1501.00;18.60;797.00;2.04;0 +173;supply_node;1511.00;13.07;813.00;4.62;0 +173;supply_node;1522.00;12.45;826.00;1.28;0 +173;supply_node;1517.00;12.40;840.00;2.76;0 +173;supply_node;1505.00;11.35;830.00;0.52;0 +173;supply_node;1524.00;13.60;809.00;3.45;0 +173;supply_node;1496.00;11.23;809.00;4.93;0 +173;supply_node;1488.00;11.43;795.00;2.69;0 +173;supply_node;1517.00;13.40;797.00;4.17;0 +173;supply_node;1498.00;10.78;820.00;0.82;0 +173;bunker;1490.00;14.32;791.00;0.14;0 +173;bunker;1512.00;12.57;842.00;4.27;0 +173;bunker;1521.00;13.03;809.00;0.65;0 +173;bunker;1511.00;13.15;812.00;3.66;0 +173;bunker;1498.00;19.70;795.00;0.04;0 +173;bunker;1505.00;11.45;828.00;2.71;0 +173;bunker;1516.00;12.43;802.00;0.55;0 +173;bunker;1494.00;11.38;809.00;0.65;0 +173;bunker;1500.00;11.35;820.00;4.78;0 +173;bunker;1521.00;12.38;824.00;1.16;0 +173;anti_air_building;1508.00;14.25;796.00;3.82;0 +173;anti_air_building;1521.00;12.48;821.00;5.38;0 +173;anti_air_building;1506.00;12.05;827.00;3.22;0 +173;synthetic_refinery;1522.00;14.12;847.00;4.43;0 +173;fuel_silo;1493.00;11.10;808.00;1.16;0 +173;radar_station;1510.00;12.30;818.00;5.42;0 +173;rocket_site;1518.00;12.62;802.00;0.21;0 +173;nuclear_reactor;1506.00;13.78;809.00;4.34;0 \ No newline at end of file diff --git a/map/definition.csv b/map/definition.csv index 45390448e..c36f3a238 100644 --- a/map/definition.csv +++ b/map/definition.csv @@ -3568,7 +3568,7 @@ 3567;160;227;211;land;false;plains;6 3568;123;253;179;land;false;mountain;12 3569;232;231;105;land;false;plains;6 -3570;219;219;68;land;true;mountain;11 +3570;219;219;68;land;true;urban;11 3571;204;192;229;land;false;mountain;8 3572;145;134;249;land;false;mountain;8 3573;90;220;192;land;true;hills;9 @@ -9060,3 +9060,4 @@ 9059;135;12;1;lake;false;lakes;0 9060;26;58;42;lake;false;lakes;0 9061;4;27;100;lake;false;lakes;0 +9062;111;247;162;land;false;urban;11 diff --git a/map/provinces.bmp b/map/provinces.bmp index c576a5f4c..fd412479b 100644 Binary files a/map/provinces.bmp and b/map/provinces.bmp differ diff --git a/map/railways.txt b/map/railways.txt index a2cf8e3d4..b144fa3aa 100644 --- a/map/railways.txt +++ b/map/railways.txt @@ -1,5 +1,3 @@ -3 22 4323 616 6785 6802 6818 3124 6861 6889 358 3515 792 6966 1600 7030 7062 3798 7101 5453 1152 4157 7233 4617 -5 4 6966 1778 4700 6980 4 5 4984 2739 76 6043 4297 2 7 4297 6021 5997 5983 3533 3361 1863 4 9 4297 4931 200 3432 4010 2945 4039 6058 1100 @@ -17,7 +15,6 @@ 3 6 5853 5858 3732 1440 5872 3861 3 7 1088 6022 2169 1888 6024 3292 4468 1 2 4468 1100 -5 5 6966 3773 6967 5362 5428 3 4 7233 3387 7241 7230 3 6 7230 4991 7284 1338 7318 7323 2 5 7230 7238 4347 1143 4994 @@ -43,7 +40,7 @@ 2 10 502 3667 1370 4426 5634 2559 5616 636 5080 3300 1 4 3300 2724 2041 4434 2 5 4434 2447 2261 2294 306 -1 8 2261 2393 2592 3207 1294 3917 5625 3631 +1 8 2261 2393 2592 3207 1294 3917 5625 3631 3 6 306 5438 2121 4055 2020 3468 3 6 4055 5660 4500 1350 3279 4824 3 10 4330 5762 2470 5713 2953 3270 1918 2777 5400 306 @@ -82,7 +79,7 @@ 3 8 5046 6694 4307 4227 3576 4311 1840 2147 2 8 4476 6874 2373 6825 4208 2983 6771 3517 2 18 3517 2066 6697 2888 848 6642 3923 591 1910 2370 6538 2436 6499 6481 6469 3335 2202 5094 -2 13 6481 3658 1819 6460 4314 1146 4266 6373 3949 650 5365 5549 3985 +2 13 6481 3658 1819 6460 4314 1146 4266 6373 3949 650 5365 5549 3985 1 11 4704 6251 3919 6305 2021 2738 6386 3091 6431 1209 1203 1 5 5046 825 6639 6626 3923 1 16 495 4796 3594 2700 3260 4591 58 869 4066 3203 292 4614 6653 6672 1604 6720 @@ -96,8 +93,8 @@ 3 8 3622 2550 5434 7089 2529 7042 3837 6996 3 5 6996 2615 3023 7059 5038 2 5 6996 4086 594 6935 6913 -3 10 5038 7090 3991 3769 7085 7082 7093 3284 3226 7111 -3 5 7111 7138 3357 4678 7245 +3 10 5038 7090 3991 3769 1293 7082 7093 3284 3226 7111 +3 6 7111 7138 3357 4678 7216 7245 3 6 7111 7107 7094 4172 7071 620 3 6 620 7067 681 2878 7003 6980 2 7 620 4392 7139 826 4752 1516 7230 @@ -174,7 +171,6 @@ 2 11 4429 2007 6079 5166 4262 5927 2795 5908 1318 1359 5824 2 12 1926 1979 6737 4519 2247 4558 4245 6595 1756 3830 3762 4669 1 7 605 2002 6547 2285 2929 4354 1873 -2 3 1600 430 7062 1 6 1452 2509 4866 5876 2628 4506 1 7 4506 3800 4593 5807 3430 2243 5763 1 4 1391 5330 2986 1880 @@ -204,3 +200,6 @@ 1 7 3622 7047 4438 6991 581 6939 2864 1 10 4105 5237 6520 6496 6475 2122 412 3528 1982 6433 1 6 1544 2737 4746 5643 644 1161 +5 6 5428 5362 6967 3773 1600 9062 +5 4 9062 1778 4700 6980 +3 21 5523 4617 7233 3575 7180 5453 7101 2025 430 7008 9062 6966 792 3515 358 4602 564 6802 6785 616 4323 diff --git a/map/rocketsites.txt b/map/rocketsites.txt index 3f6b6578a..9e591af88 100644 --- a/map/rocketsites.txt +++ b/map/rocketsites.txt @@ -10,7 +10,7 @@ 10={3399 } 11={7350 } 12={6900 } -13={7206 } +13={1361 } 14={7356 } 15={4732 } 16={1860 } @@ -72,7 +72,7 @@ 72={4581 } 73={6235 } 74={6371 } -75={3438 } +75={3414 } 76={2089 } 77={2034 } 78={2674 } @@ -166,8 +166,8 @@ 166={7210 } 167={5031 } 168={5459 } -169={7183 } -170={7184 } +169={1711 } +170={1281 } 171={3037 } 172={6979 } 173={7030 } @@ -219,3 +219,6 @@ 219={2668 } 220={4858 } 221={6719 } +222={2375 } +223={1460 } +224={1782 } diff --git a/map/strategicregions/143-Dol Amroth.txt b/map/strategicregions/143-Dol Amroth.txt new file mode 100644 index 000000000..c99e99eba --- /dev/null +++ b/map/strategicregions/143-Dol Amroth.txt @@ -0,0 +1,166 @@ + +strategic_region={ + id=143 + name="STRATEGICREGION_143" + provinces={ + 162 908 1226 1460 1527 1782 2935 3570 3888 4079 4712 4969 7201 7206 7226 7249 7266 7291 7298 7306 7320 7341 7359 7827 + } + weather={ + period={ + between={ 0.0 30.0 } + temperature={ 1.0 11.0 } + no_phenomenon=0.700 + rain_light=0.200 + rain_heavy=0.080 + snow=0.020 + blizzard=0.000 + arctic_water=0.000 + mud=1.000 + sandstorm=0.000 + min_snow_level=0.000 + } + period={ + between={ 0.1 27.1 } + temperature={ 2.0 13.0 } + no_phenomenon=0.700 + rain_light=0.200 + rain_heavy=0.080 + snow=0.020 + blizzard=0.000 + arctic_water=0.000 + mud=1.000 + sandstorm=0.000 + min_snow_level=0.000 + } + period={ + between={ 0.2 30.2 } + temperature={ 4.0 17.0 } + no_phenomenon=0.700 + rain_light=0.200 + rain_heavy=0.100 + snow=0.000 + blizzard=0.000 + arctic_water=0.000 + mud=1.000 + sandstorm=0.000 + min_snow_level=0.000 + } + period={ + between={ 0.3 29.3 } + temperature={ 6.0 18.0 } + no_phenomenon=0.650 + rain_light=0.250 + rain_heavy=0.100 + snow=0.000 + blizzard=0.000 + arctic_water=0.000 + mud=1.000 + sandstorm=0.000 + min_snow_level=0.000 + } + period={ + between={ 0.4 30.4 } + temperature={ 10.0 23.0 } + no_phenomenon=0.650 + rain_light=0.250 + rain_heavy=0.100 + snow=0.000 + blizzard=0.000 + arctic_water=0.000 + mud=1.000 + sandstorm=0.000 + min_snow_level=0.000 + } + period={ + between={ 0.5 29.5 } + temperature={ 14.0 29.0 } + no_phenomenon=0.700 + rain_light=0.200 + rain_heavy=0.100 + snow=0.000 + blizzard=0.000 + arctic_water=0.000 + mud=1.000 + sandstorm=0.000 + min_snow_level=0.000 + } + period={ + between={ 0.6 30.6 } + temperature={ 17.0 34.0 } + no_phenomenon=0.800 + rain_light=0.150 + rain_heavy=0.050 + snow=0.000 + blizzard=0.000 + arctic_water=0.000 + mud=1.000 + sandstorm=0.000 + min_snow_level=0.000 + } + period={ + between={ 0.7 30.7 } + temperature={ 17.0 33.0 } + no_phenomenon=0.850 + rain_light=0.100 + rain_heavy=0.050 + snow=0.000 + blizzard=0.000 + arctic_water=0.000 + mud=1.000 + sandstorm=0.000 + min_snow_level=0.000 + } + period={ + between={ 0.8 29.8 } + temperature={ 13.0 27.0 } + no_phenomenon=0.850 + rain_light=0.100 + rain_heavy=0.050 + snow=0.000 + blizzard=0.000 + arctic_water=0.000 + mud=1.000 + sandstorm=0.000 + min_snow_level=0.000 + } + period={ + between={ 0.9 30.9 } + temperature={ 9.0 21.0 } + no_phenomenon=0.750 + rain_light=0.150 + rain_heavy=0.100 + snow=0.000 + blizzard=0.000 + arctic_water=0.000 + mud=1.000 + sandstorm=0.000 + min_snow_level=0.000 + } + period={ + between={ 0.10 29.10 } + temperature={ 4.0 14.0 } + no_phenomenon=0.650 + rain_light=0.250 + rain_heavy=0.100 + snow=0.000 + blizzard=0.000 + arctic_water=0.000 + mud=1.000 + sandstorm=0.000 + min_snow_level=0.000 + } + period={ + between={ 0.11 30.11 } + temperature={ 2.0 11.0 } + no_phenomenon=0.650 + rain_light=0.250 + rain_heavy=0.800 + snow=0.020 + blizzard=0.000 + arctic_water=0.000 + mud=1.000 + sandstorm=0.000 + min_snow_level=0.000 + } + } +} diff --git a/map/strategicregions/16-Lothlorien.txt b/map/strategicregions/16-Lothlorien.txt index 5625a771d..001069fcb 100644 --- a/map/strategicregions/16-Lothlorien.txt +++ b/map/strategicregions/16-Lothlorien.txt @@ -1,44 +1,45 @@ + strategic_region={ id=16 name="STRATEGICREGION_16" provinces={ - 678 923 1247 1406 1708 1753 2089 2191 2202 2211 2227 2353 2365 2375 2607 2616 2736 2885 2892 3125 3149 3198 3246 3285 3335 3414 3438 3440 3538 3929 4051 4061 4080 4082 4220 4411 4413 4439 4619 4655 4656 4812 4844 4963 5083 5094 5248 5416 5422 5439 6227 6252 6265 6276 6338 6353 6354 6357 6366 6371 6383 6387 6396 6400 6410 6417 6419 6435 6445 6451 6455 + 678 923 1247 1406 1708 1753 2089 2191 2202 2211 2227 2353 2365 2375 2607 2616 2736 2885 2892 3125 3149 3198 3246 3285 3335 3414 3438 3440 3538 3929 4051 4061 4080 4082 4220 4411 4413 4439 4619 4655 4656 4812 4844 4963 5083 5094 5248 5416 5422 5439 6227 6252 6265 6276 6338 6353 6354 6357 6366 6371 6383 6387 6396 6400 6410 6417 6419 6435 6445 6451 6455 } weather={ period={ between={ 0.0 30.0 } - temperature={ -8.0 7.0 } - temperature_day_night={ 10.0 -10.0 } - no_phenomenon=0.4 + temperature={ 4.0 8.0 } + temperature_day_night={ 8.0 -8.0 } + no_phenomenon=0.5 rain_light=0.3 - rain_heavy=0.05 - snow=0.25 - blizzard=0.05 + rain_heavy=0.1 + snow=0.1 + blizzard=0 mud=1 sandstorm=0 min_snow_level=0 } period={ between={ 0.1 27.1 } - temperature={ -8.0 8.0 } - temperature_day_night={ 10.0 -10.0 } - no_phenomenon=0.35 + temperature={ 3.0 8.0 } + temperature_day_night={ 8.0 -10.0 } + no_phenomenon=0.5 rain_light=0.3 - rain_heavy=0.05 - snow=0.15 - blizzard=0.05 + rain_heavy=0.1 + snow=0.1 + blizzard=0 mud=1 sandstorm=0 min_snow_level=0 } period={ between={ 0.2 30.2 } - temperature={ -5.0 10.0 } - temperature_day_night={ 10.0 -10.0 } - no_phenomenon=0.4 + temperature={ 5.0 10.0 } + temperature_day_night={ 9.0 -5.0 } + no_phenomenon=0.5 rain_light=0.3 rain_heavy=0.1 - snow=0.1 + snow=0.05 blizzard=0 mud=1 sandstorm=0 @@ -46,11 +47,11 @@ strategic_region={ } period={ between={ 0.3 29.3 } - temperature={ 7.0 12.0 } - temperature_day_night={ 10.0 -10.0 } - no_phenomenon=0.5 - rain_light=0.2 - rain_heavy=0.05 + temperature={ 7.0 13.0 } + temperature_day_night={ 11.0 -6.0 } + no_phenomenon=0.6 + rain_light=0.4 + rain_heavy=0.1 snow=0 blizzard=0 mud=1 @@ -59,11 +60,11 @@ strategic_region={ } period={ between={ 0.4 30.4 } - temperature={ 10.0 20.0 } - temperature_day_night={ 10.0 -10.0 } - no_phenomenon=0.5 - rain_light=0.15 - rain_heavy=0.05 + temperature={ 10.0 16.0 } + temperature_day_night={ 9.0 -6.0 } + no_phenomenon=0.6 + rain_light=0.35 + rain_heavy=0.1 snow=0 blizzard=0 mud=1 @@ -72,11 +73,11 @@ strategic_region={ } period={ between={ 0.5 29.5 } - temperature={ 13.0 23.0 } - temperature_day_night={ 10.0 -10.0 } - no_phenomenon=0.5 - rain_light=0.3 - rain_heavy=0.15 + temperature={ 13.0 19.0 } + temperature_day_night={ 10.0 -4.0 } + no_phenomenon=0.7 + rain_light=0.25 + rain_heavy=0.05 snow=0 blizzard=0 mud=1 @@ -85,11 +86,11 @@ strategic_region={ } period={ between={ 0.6 30.6 } - temperature={ 16.0 26.0 } - temperature_day_night={ 10.0 -10.0 } - no_phenomenon=0.4 - rain_light=0.3 - rain_heavy=0.15 + temperature={ 15.0 21.0 } + temperature_day_night={ 10.0 -4.0 } + no_phenomenon=0.7 + rain_light=0.25 + rain_heavy=0.05 snow=0 blizzard=0 mud=1 @@ -98,11 +99,11 @@ strategic_region={ } period={ between={ 0.7 30.7 } - temperature={ 15.0 23.0 } - temperature_day_night={ 10.0 -10.0 } - no_phenomenon=0.4 - rain_light=0.3 - rain_heavy=0.1 + temperature={ 16.0 20.0 } + temperature_day_night={ 10.0 -4.0 } + no_phenomenon=0.7 + rain_light=0.25 + rain_heavy=0.05 snow=0 blizzard=0 mud=1 @@ -111,11 +112,11 @@ strategic_region={ } period={ between={ 0.8 29.8 } - temperature={ 12.0 20.0 } - temperature_day_night={ 10.0 -10.0 } - no_phenomenon=0.5 + temperature={ 14.0 19.0 } + temperature_day_night={ 10.0 -4.0 } + no_phenomenon=0.7 rain_light=0.25 - rain_heavy=0.05 + rain_heavy=0.15 snow=0 blizzard=0 mud=1 @@ -124,11 +125,11 @@ strategic_region={ } period={ between={ 0.9 30.9 } - temperature={ 7.0 13.0 } - temperature_day_night={ 10.0 -10.0 } - no_phenomenon=0.5 - rain_light=0.4 - rain_heavy=0 + temperature={ 11.0 15.0 } + temperature_day_night={ 9.0 -9.0 } + no_phenomenon=0.6 + rain_light=0.35 + rain_heavy=0.1 snow=0 blizzard=0 mud=1 @@ -137,26 +138,26 @@ strategic_region={ } period={ between={ 0.10 29.10 } - temperature={ -2.0 8.0 } - temperature_day_night={ 10.0 -10.0 } - no_phenomenon=0.3 - rain_light=0.3 - rain_heavy=0 - snow=0.2 - blizzard=0.05 + temperature={ 7.0 11.0 } + temperature_day_night={ 6.0 -8.0 } + no_phenomenon=0.5 + rain_light=0.35 + rain_heavy=0.15 + snow=0 + blizzard=0 mud=1 sandstorm=0 min_snow_level=0 } period={ between={ 0.11 30.11 } - temperature={ -8.0 4.0 } - temperature_day_night={ 10.0 -10.0 } - no_phenomenon=0.4 - rain_light=0.35 - rain_heavy=0.05 - snow=0.3 - blizzard=0.05 + temperature={ 4.0 8.0 } + temperature_day_night={ 7.0 -7.0 } + no_phenomenon=0.5 + rain_light=0.3 + rain_heavy=0.15 + snow=0.05 + blizzard=0 mud=1 sandstorm=0 min_snow_level=0 diff --git a/map/strategicregions/33-Belfalas.txt b/map/strategicregions/33-Belfalas.txt index 606c6ef0d..4c452e687 100644 --- a/map/strategicregions/33-Belfalas.txt +++ b/map/strategicregions/33-Belfalas.txt @@ -1,165 +1,166 @@ + strategic_region={ id=33 name="STRATEGICREGION_33" provinces={ - 162 888 908 1049 1226 1281 1361 1460 1489 1527 1594 1711 1782 1868 2003 2189 2219 2511 2730 2935 3141 3226 3284 3357 3536 3570 3769 3888 3921 3991 4079 4156 4397 4474 4559 4678 4712 4786 4795 4948 4969 5161 5231 5309 5371 7090 7105 7111 7115 7129 7134 7138 7142 7158 7164 7169 7179 7183 7184 7190 7201 7206 7211 7216 7226 7227 7232 7244 7249 7256 7266 7269 7286 7291 7298 7306 7320 7341 7359 7827 + 888 1049 1281 1361 1489 1594 1711 1868 2003 2189 2219 2511 2730 3141 3226 3284 3357 3536 3769 3921 3991 4156 4397 4474 4559 4678 4786 4795 4948 5161 5231 5309 5371 7090 7105 7111 7115 7129 7134 7138 7142 7158 7164 7169 7179 7183 7184 7190 7211 7216 7227 7232 7244 7256 7269 7286 } weather={ period={ between={ 0.0 30.0 } temperature={ 1.0 11.0 } - temperature_day_night={ 8.0 -9.0 } - no_phenomenon=0.7 - rain_light=0.2 - rain_heavy=0.08 - snow=0.02 - blizzard=0 - mud=1 - sandstorm=0 - min_snow_level=0 + no_phenomenon=0.700 + rain_light=0.200 + rain_heavy=0.080 + snow=0.020 + blizzard=0.000 + arctic_water=0.000 + mud=1.000 + sandstorm=0.000 + min_snow_level=0.000 } period={ between={ 0.1 27.1 } temperature={ 2.0 13.0 } - temperature_day_night={ 9.0 -9.0 } - no_phenomenon=0.7 - rain_light=0.2 - rain_heavy=0.08 - snow=0.02 - blizzard=0 - mud=1 - sandstorm=0 - min_snow_level=0 + no_phenomenon=0.700 + rain_light=0.200 + rain_heavy=0.080 + snow=0.020 + blizzard=0.000 + arctic_water=0.000 + mud=1.000 + sandstorm=0.000 + min_snow_level=0.000 } period={ between={ 0.2 30.2 } temperature={ 4.0 17.0 } - temperature_day_night={ 7.0 -7.0 } - no_phenomenon=0.7 - rain_light=0.2 - rain_heavy=0.1 - snow=0 - blizzard=0 - mud=1 - sandstorm=0 - min_snow_level=0 + no_phenomenon=0.700 + rain_light=0.200 + rain_heavy=0.100 + snow=0.000 + blizzard=0.000 + arctic_water=0.000 + mud=1.000 + sandstorm=0.000 + min_snow_level=0.000 } period={ between={ 0.3 29.3 } temperature={ 6.0 18.0 } - temperature_day_night={ 7.0 -7.0 } - no_phenomenon=0.65 - rain_light=0.25 - rain_heavy=0.1 - snow=0 - blizzard=0 - mud=1 - sandstorm=0 - min_snow_level=0 + no_phenomenon=0.650 + rain_light=0.250 + rain_heavy=0.100 + snow=0.000 + blizzard=0.000 + arctic_water=0.000 + mud=1.000 + sandstorm=0.000 + min_snow_level=0.000 } period={ between={ 0.4 30.4 } temperature={ 10.0 23.0 } - temperature_day_night={ 7.0 -7.0 } - no_phenomenon=0.65 - rain_light=0.25 - rain_heavy=0.1 - snow=0 - blizzard=0 - mud=1 - sandstorm=0 - min_snow_level=0 + no_phenomenon=0.650 + rain_light=0.250 + rain_heavy=0.100 + snow=0.000 + blizzard=0.000 + arctic_water=0.000 + mud=1.000 + sandstorm=0.000 + min_snow_level=0.000 } period={ between={ 0.5 29.5 } temperature={ 14.0 29.0 } - temperature_day_night={ 8.0 -8.0 } - no_phenomenon=0.7 - rain_light=0.2 - rain_heavy=0.1 - snow=0 - blizzard=0 - mud=1 - sandstorm=0 - min_snow_level=0 + no_phenomenon=0.700 + rain_light=0.200 + rain_heavy=0.100 + snow=0.000 + blizzard=0.000 + arctic_water=0.000 + mud=1.000 + sandstorm=0.000 + min_snow_level=0.000 } period={ between={ 0.6 30.6 } temperature={ 17.0 34.0 } - temperature_day_night={ 8.0 -8.0 } - no_phenomenon=0.8 - rain_light=0.15 - rain_heavy=0.05 - snow=0 - blizzard=0 - mud=1 - sandstorm=0 - min_snow_level=0 + no_phenomenon=0.800 + rain_light=0.150 + rain_heavy=0.050 + snow=0.000 + blizzard=0.000 + arctic_water=0.000 + mud=1.000 + sandstorm=0.000 + min_snow_level=0.000 } period={ between={ 0.7 30.7 } temperature={ 17.0 33.0 } - temperature_day_night={ 7.0 -6.0 } - no_phenomenon=0.85 - rain_light=0.1 - rain_heavy=0.05 - snow=0 - blizzard=0 - mud=1 - sandstorm=0 - min_snow_level=0 + no_phenomenon=0.850 + rain_light=0.100 + rain_heavy=0.050 + snow=0.000 + blizzard=0.000 + arctic_water=0.000 + mud=1.000 + sandstorm=0.000 + min_snow_level=0.000 } period={ between={ 0.8 29.8 } temperature={ 13.0 27.0 } - temperature_day_night={ 8.0 -6.0 } - no_phenomenon=0.85 - rain_light=0.1 - rain_heavy=0.05 - snow=0 - blizzard=0 - mud=1 - sandstorm=0 - min_snow_level=0 + no_phenomenon=0.850 + rain_light=0.100 + rain_heavy=0.050 + snow=0.000 + blizzard=0.000 + arctic_water=0.000 + mud=1.000 + sandstorm=0.000 + min_snow_level=0.000 } period={ between={ 0.9 30.9 } temperature={ 9.0 21.0 } - temperature_day_night={ 8.0 -6.0 } - no_phenomenon=0.75 - rain_light=0.15 - rain_heavy=0.1 - snow=0 - blizzard=0 - mud=1 - sandstorm=0 - min_snow_level=0 + no_phenomenon=0.750 + rain_light=0.150 + rain_heavy=0.100 + snow=0.000 + blizzard=0.000 + arctic_water=0.000 + mud=1.000 + sandstorm=0.000 + min_snow_level=0.000 } period={ between={ 0.10 29.10 } temperature={ 4.0 14.0 } - temperature_day_night={ 8.0 -8.0 } - no_phenomenon=0.65 - rain_light=0.25 - rain_heavy=0.1 - snow=0 - blizzard=0 - mud=1 - sandstorm=0 - min_snow_level=0 + no_phenomenon=0.650 + rain_light=0.250 + rain_heavy=0.100 + snow=0.000 + blizzard=0.000 + arctic_water=0.000 + mud=1.000 + sandstorm=0.000 + min_snow_level=0.000 } period={ between={ 0.11 30.11 } temperature={ 2.0 11.0 } - temperature_day_night={ 8.0 -8.0 } - no_phenomenon=0.65 - rain_light=0.25 - rain_heavy=0.8 - snow=0.02 - blizzard=0 - mud=1 - sandstorm=0 - min_snow_level=0 + no_phenomenon=0.650 + rain_light=0.250 + rain_heavy=0.800 + snow=0.020 + blizzard=0.000 + arctic_water=0.000 + mud=1.000 + sandstorm=0.000 + min_snow_level=0.000 } } } diff --git a/map/strategicregions/73-North Ithilien.txt b/map/strategicregions/73-North Ithilien.txt index 11753271a..3f62adb21 100644 --- a/map/strategicregions/73-North Ithilien.txt +++ b/map/strategicregions/73-North Ithilien.txt @@ -2,7 +2,7 @@ strategic_region={ id=73 name="STRATEGICREGION_73" provinces={ - 358 430 792 1600 2430 3515 3773 4479 4602 6861 6889 6910 6929 6930 6952 6966 7007 7008 7029 7030 + 358 430 792 1600 2430 3515 3773 4479 4602 6861 6889 6910 6929 6930 6952 6966 7007 7008 7029 7030 9062 } weather={ period={ diff --git a/map/supply_nodes.txt b/map/supply_nodes.txt index d6b4f8b0d..cc85265e4 100644 --- a/map/supply_nodes.txt +++ b/map/supply_nodes.txt @@ -20,7 +20,7 @@ 1 1124 1 1161 1 1203 -1 1242 +1 1242 1 1248 1 1304 1 1391 @@ -28,6 +28,7 @@ 1 1422 1 1544 1 1622 +1 1641 1 1719 1 1781 1 1840 @@ -61,7 +62,7 @@ 1 3180 1 3186 1 3270 -1 3446 +1 3446 1 3468 1 3517 1 3631 @@ -86,7 +87,6 @@ 1 4297 1 4323 1 4330 -1 1641 1 4404 1 4426 1 4468 @@ -124,7 +124,6 @@ 1 6209 1 6215 1 6251 -1 6252 1 6260 1 6348 1 6374 @@ -138,7 +137,6 @@ 1 6898 1 6913 1 6916 -1 6966 1 6967 1 6980 1 6996 @@ -146,7 +144,6 @@ 1 7081 1 7111 1 7230 -1 7233 1 7250 1 7286 1 7302 @@ -156,3 +153,4 @@ 1 7525 1 7600 1 7623 +1 9062 diff --git a/map/terrain.bmp b/map/terrain.bmp index d789c1d81..4e6fb8735 100644 Binary files a/map/terrain.bmp and b/map/terrain.bmp differ diff --git a/map/terrain/colormap_water_0.dds b/map/terrain/colormap_water_0.dds index b4c53298d..946619421 100644 Binary files a/map/terrain/colormap_water_0.dds and b/map/terrain/colormap_water_0.dds differ diff --git a/map/terrain/colormap_water_1.dds b/map/terrain/colormap_water_1.dds index c4771d586..9d827c37a 100644 Binary files a/map/terrain/colormap_water_1.dds and b/map/terrain/colormap_water_1.dds differ diff --git a/map/terrain/colormap_water_2.dds b/map/terrain/colormap_water_2.dds index 01dc36ec5..8f3ff65b1 100644 Binary files a/map/terrain/colormap_water_2.dds and b/map/terrain/colormap_water_2.dds differ diff --git a/map/unitstacks.txt b/map/unitstacks.txt index fafc64f23..2c965e242 100644 --- a/map/unitstacks.txt +++ b/map/unitstacks.txt @@ -9038,6 +9038,7 @@ 9038;0;3611.00;9.50;12.00;0.00;0.72 9039;0;4538.00;9.50;20.00;0.00;1.16 9040;0;3587.00;9.50;347.00;0.00;0.36 +9062;0;1498.00;10.77;820.00;0.00;0.32 1;1;1748.00;12.67;236.00;-0.72;1.16 2;1;2607.50;9.80;185.50;-0.41;1.76 3;1;2054.00;16.20;233.00;0.00;1.52 @@ -18078,6 +18079,7 @@ 9038;1;3591.50;9.50;6.50;-1.29;0.72 9039;1;4504.50;9.50;18.00;-1.51;1.16 9040;1;3589.00;9.50;340.00;0.27;0.36 +9062;1;1494.50;10.20;817.50;-0.95;0.32 1;2;1763.00;11.70;239.00;0.86;1.16 2;2;2628.00;12.20;190.50;0.69;1.76 3;2;2036.00;14.35;234.50;-0.92;1.52 @@ -27111,6 +27113,7 @@ 9038;2;3621.50;9.50;15.00;1.84;0.72 9039;2;4563.00;9.50;24.50;1.74;1.16 9040;2;3583.50;9.50;345.00;-1.05;0.36 +9062;2;1498.00;11.05;817.50;0.00;0.32 1;3;1742.00;11.75;244.50;-1.53;1.16 2;3;2602.50;10.70;216.00;4.02;1.76 3;3;2070.00;14.70;249.50;1.66;1.52 @@ -36123,6 +36126,7 @@ 9038;3;3603.00;9.50;16.50;4.20;0.72 9039;3;4529.50;9.50;31.50;3.77;1.16 9040;3;3590.00;9.50;354.50;2.76;0.36 +9062;3;1495.50;10.05;821.00;4.33;0.32 1;4;1774.00;12.85;245.50;1.59;1.16 2;4;2631.50;12.20;215.50;2.16;1.76 3;4;2035.00;14.15;240.00;-1.17;1.52 @@ -45052,6 +45056,7 @@ 9035;4;985.50;9.50;107.50;0.13;1.00 9036;4;3578.00;9.50;90.00;3.38;0.96 9040;4;3585.50;9.50;356.50;3.29;0.36 +9062;4;1501.50;11.50;819.50;1.42;0.32 1;5;1748.00;12.25;253.00;3.92;1.16 2;5;2616.50;11.60;231.50;3.12;1.76 3;5;2042.50;14.00;256.50;4.07;1.52 @@ -53567,6 +53572,7 @@ 9033;5;4732.00;9.50;144.50;2.10;2.68 9034;5;3513.50;9.50;138.00;4.62;0.84 9035;5;987.50;9.50;112.00;0.46;1.00 +9062;5;1500.00;11.80;823.50;2.62;0.32 1;6;1769.00;12.00;251.00;2.00;1.16 3;6;2064.00;14.97;267.00;2.65;1.52 4;6;3901.00;10.90;854.00;3.50;0.76 @@ -71669,6 +71675,7 @@ 9038;9;3597.32;9.50;12.00;1.57;0.72 9039;9;4511.36;9.50;20.00;1.57;1.16 9040;9;3583.76;9.50;347.00;1.57;0.36 +9062;9;1495.12;9.94;820.00;1.57;0.32 1;10;1768.24;12.73;245.00;-1.57;1.16 2;10;2631.84;12.66;205.00;-1.57;1.76 3;10;2067.68;14.75;248.00;-1.57;1.52 @@ -80709,6 +80716,7 @@ 9038;10;3624.68;9.50;12.00;-1.57;0.72 9039;10;4564.64;9.50;20.00;-1.57;1.16 9040;10;3590.24;9.50;347.00;-1.57;0.36 +9062;10;1500.88;11.43;820.00;-1.57;0.32 7831;11;3440.80;9.50;1631.00;-0.51;1.16 7832;11;4525.00;9.50;1956.60;0.33;2.12 7833;11;1143.80;9.50;716.40;-0.23;0.76 @@ -99241,6 +99249,7 @@ 9038;21;3611.00;9.50;12.00;0.00;0.72 9039;21;4538.00;9.50;20.00;0.00;1.16 9040;21;3587.00;9.50;347.00;0.00;0.36 +9062;21;1495.00;9.90;820.00;0.00;0.32 1;22;1748.00;12.67;236.00;-0.72;1.16 2;22;2607.50;9.80;185.50;-0.41;1.76 3;22;2054.00;16.20;233.00;0.00;1.52 @@ -108281,6 +108290,7 @@ 9038;22;3591.50;9.50;6.50;-1.29;0.72 9039;22;4504.50;9.50;18.00;-1.51;1.16 9040;22;3589.00;9.50;340.00;0.27;0.36 +9062;22;1494.50;10.20;817.50;-0.95;0.32 1;23;1763.00;11.70;239.00;0.86;1.16 2;23;2628.00;12.20;190.50;0.69;1.76 3;23;2036.00;14.35;234.50;-0.92;1.52 @@ -117314,6 +117324,7 @@ 9038;23;3621.50;9.50;15.00;1.84;0.72 9039;23;4563.00;9.50;24.50;1.74;1.16 9040;23;3583.50;9.50;345.00;-1.05;0.36 +9062;23;1498.00;11.05;817.50;0.00;0.32 1;24;1742.00;11.75;244.50;-1.53;1.16 2;24;2602.50;10.70;216.00;4.02;1.76 3;24;2070.00;14.70;249.50;1.66;1.52 @@ -126326,6 +126337,7 @@ 9038;24;3603.00;9.50;16.50;4.20;0.72 9039;24;4529.50;9.50;31.50;3.77;1.16 9040;24;3590.00;9.50;354.50;2.76;0.36 +9062;24;1495.50;10.05;821.00;4.33;0.32 1;25;1774.00;12.85;245.50;1.59;1.16 2;25;2631.50;12.20;215.50;2.16;1.76 3;25;2035.00;14.15;240.00;-1.17;1.52 @@ -135255,6 +135267,7 @@ 9035;25;985.50;9.50;107.50;0.13;1.00 9036;25;3578.00;9.50;90.00;3.38;0.96 9040;25;3585.50;9.50;356.50;3.29;0.36 +9062;25;1501.50;11.50;819.50;1.42;0.32 1;26;1748.00;12.25;253.00;3.92;1.16 2;26;2616.50;11.60;231.50;3.12;1.76 3;26;2042.50;14.00;256.50;4.07;1.52 @@ -143770,6 +143783,7 @@ 9033;26;4732.00;9.50;144.50;2.10;2.68 9034;26;3513.50;9.50;138.00;4.62;0.84 9035;26;987.50;9.50;112.00;0.46;1.00 +9062;26;1500.00;11.80;823.50;2.62;0.32 1;27;1769.00;12.00;251.00;2.00;1.16 3;27;2064.00;14.97;267.00;2.65;1.52 4;27;3901.00;10.90;854.00;3.50;0.76 @@ -169374,3 +169388,4 @@ 9038;38;3624.68;9.50;12.00;-1.57;0.72 9039;38;4564.64;9.50;20.00;-1.57;1.16 9040;38;3590.24;9.50;347.00;-1.57;0.36 +9062;38;1500.88;11.43;820.00;-1.57;0.32 diff --git a/map/weatherpositions.txt b/map/weatherpositions.txt index d14ab96ac..710861fa0 100644 --- a/map/weatherpositions.txt +++ b/map/weatherpositions.txt @@ -280,3 +280,5 @@ 140;508.00;18.73;1282.00;big 141;370.00;9.50;637.00;big 141;56.00;9.50;657.00;big +143;1174.00;12.23;698.00;big +143;1197.00;11.18;658.00;big diff --git a/portraits/00_portraits.txt b/portraits/00_portraits.txt index 475162ed4..cee138594 100644 --- a/portraits/00_portraits.txt +++ b/portraits/00_portraits.txt @@ -56,6 +56,7 @@ continent = { "GFX_portrait_elves_generic_92" "GFX_portrait_elves_generic_93" "GFX_portrait_elves_generic_94" + "GFX_portrait_elves_generic_103" } } @@ -75,6 +76,10 @@ continent = { "GFX_portrait_elves_generic_63" "GFX_portrait_elves_generic_64" "GFX_portrait_elves_generic_65" + "GFX_portrait_elves_generic_99" + "GFX_portrait_elves_generic_100" + "GFX_portrait_elves_generic_101" + "GFX_portrait_elves_generic_102" } female = { @@ -82,6 +87,7 @@ continent = { "GFX_portrait_elves_generic_50" "GFX_portrait_elves_generic_52" "GFX_portrait_elves_generic_87" + "GFX_portrait_elves_generic_93" } } @@ -226,6 +232,7 @@ continent = { "GFX_portrait_elves_generic_92" "GFX_portrait_elves_generic_93" "GFX_portrait_elves_generic_94" + "GFX_portrait_elves_generic_103" } } @@ -245,6 +252,10 @@ continent = { "GFX_portrait_elves_generic_63" "GFX_portrait_elves_generic_64" "GFX_portrait_elves_generic_65" + "GFX_portrait_elves_generic_99" + "GFX_portrait_elves_generic_100" + "GFX_portrait_elves_generic_101" + "GFX_portrait_elves_generic_102" } female = { @@ -252,6 +263,7 @@ continent = { "GFX_portrait_elves_generic_50" "GFX_portrait_elves_generic_52" "GFX_portrait_elves_generic_87" + "GFX_portrait_elves_generic_93" } } @@ -396,6 +408,7 @@ continent = { "GFX_portrait_elves_generic_92" "GFX_portrait_elves_generic_93" "GFX_portrait_elves_generic_94" + "GFX_portrait_elves_generic_103" } } @@ -415,6 +428,10 @@ continent = { "GFX_portrait_elves_generic_63" "GFX_portrait_elves_generic_64" "GFX_portrait_elves_generic_65" + "GFX_portrait_elves_generic_99" + "GFX_portrait_elves_generic_100" + "GFX_portrait_elves_generic_101" + "GFX_portrait_elves_generic_102" } female = { @@ -422,6 +439,7 @@ continent = { "GFX_portrait_elves_generic_50" "GFX_portrait_elves_generic_52" "GFX_portrait_elves_generic_87" + "GFX_portrait_elves_generic_93" } } @@ -564,6 +582,7 @@ LIN = { "GFX_portrait_elves_generic_92" "GFX_portrait_elves_generic_93" "GFX_portrait_elves_generic_94" + "GFX_portrait_elves_generic_103" } } @@ -583,6 +602,10 @@ LIN = { "GFX_portrait_elves_generic_63" "GFX_portrait_elves_generic_64" "GFX_portrait_elves_generic_65" + "GFX_portrait_elves_generic_99" + "GFX_portrait_elves_generic_100" + "GFX_portrait_elves_generic_101" + "GFX_portrait_elves_generic_102" } female = { @@ -590,6 +613,7 @@ LIN = { "GFX_portrait_elves_generic_50" "GFX_portrait_elves_generic_52" "GFX_portrait_elves_generic_87" + "GFX_portrait_elves_generic_93" } } @@ -732,6 +756,7 @@ HLI = { "GFX_portrait_elves_generic_92" "GFX_portrait_elves_generic_93" "GFX_portrait_elves_generic_94" + "GFX_portrait_elves_generic_103" } } @@ -751,6 +776,10 @@ HLI = { "GFX_portrait_elves_generic_63" "GFX_portrait_elves_generic_64" "GFX_portrait_elves_generic_65" + "GFX_portrait_elves_generic_99" + "GFX_portrait_elves_generic_100" + "GFX_portrait_elves_generic_101" + "GFX_portrait_elves_generic_102" } female = { @@ -758,6 +787,7 @@ HLI = { "GFX_portrait_elves_generic_50" "GFX_portrait_elves_generic_52" "GFX_portrait_elves_generic_87" + "GFX_portrait_elves_generic_93" } } @@ -900,6 +930,7 @@ RIV = { "GFX_portrait_elves_generic_92" "GFX_portrait_elves_generic_93" "GFX_portrait_elves_generic_94" + "GFX_portrait_elves_generic_103" } } @@ -919,6 +950,10 @@ RIV = { "GFX_portrait_elves_generic_63" "GFX_portrait_elves_generic_64" "GFX_portrait_elves_generic_65" + "GFX_portrait_elves_generic_99" + "GFX_portrait_elves_generic_100" + "GFX_portrait_elves_generic_101" + "GFX_portrait_elves_generic_102" } female = { @@ -926,6 +961,181 @@ RIV = { "GFX_portrait_elves_generic_50" "GFX_portrait_elves_generic_52" "GFX_portrait_elves_generic_87" + "GFX_portrait_elves_generic_93" + } + } + + navy = { + male = { + + "GFX_portrait_elves_generic_12" + "GFX_portrait_elves_generic_46" + "GFX_portrait_elves_generic_66" + "GFX_portrait_elves_generic_67" + "GFX_portrait_elves_generic_68" + "GFX_portrait_elves_generic_89" + } + female = { + + "GFX_portrait_elves_generic_50" + "GFX_portrait_elves_generic_52" + "GFX_portrait_elves_generic_84" + } + } + + political = { + revolutionary = { + male = { + + "GFX_portrait_elves_generic_20" + "GFX_portrait_elves_generic_24" + "GFX_portrait_elves_generic_44" + "GFX_portrait_elves_generic_46" + "GFX_portrait_elves_generic_51" + "GFX_portrait_elves_generic_66" + "GFX_portrait_elves_generic_81" + "GFX_portrait_elves_generic_83" + "GFX_portrait_elves_generic_89" + } + female = { + + "GFX_portrait_elves_generic_52" + "GFX_portrait_elves_generic_87" + } + } + cooperative = { + male = { + + "GFX_portrait_elves_generic_12" + "GFX_portrait_elves_generic_17" + "GFX_portrait_elves_generic_20" + "GFX_portrait_elves_generic_46" + "GFX_portrait_elves_generic_70" + "GFX_portrait_elves_generic_72" + "GFX_portrait_elves_generic_75" + "GFX_portrait_elves_generic_80" + "GFX_portrait_elves_generic_82" + "GFX_portrait_elves_generic_83" + "GFX_portrait_elves_generic_86" + "GFX_portrait_elves_generic_88" + "GFX_portrait_elves_generic_89" + } + female = { + + "GFX_portrait_elves_generic_30" + "GFX_portrait_elves_generic_49" + "GFX_portrait_elves_generic_90" + } + } + belligerent = { + male = { + + "GFX_portrait_elves_generic_12" + "GFX_portrait_elves_generic_13" + "GFX_portrait_elves_generic_19" + "GFX_portrait_elves_generic_23" + "GFX_portrait_elves_generic_51" + "GFX_portrait_elves_generic_71" + "GFX_portrait_elves_generic_76" + "GFX_portrait_elves_generic_78" + "GFX_portrait_elves_generic_81" + "GFX_portrait_elves_generic_82" + "GFX_portrait_elves_generic_9" + } + female = { + + "GFX_portrait_elves_generic_25" + "GFX_portrait_elves_generic_26" + "GFX_portrait_elves_generic_52" + } + } + unaligned = { + male = { + + "GFX_portrait_elves_generic_12" + "GFX_portrait_elves_generic_17" + "GFX_portrait_elves_generic_2" + "GFX_portrait_elves_generic_3" + "GFX_portrait_elves_generic_35" + "GFX_portrait_elves_generic_46" + "GFX_portrait_elves_generic_70" + "GFX_portrait_elves_generic_80" + "GFX_portrait_elves_generic_82" + "GFX_portrait_elves_generic_83" + "GFX_portrait_elves_generic_91" + } + female = { + + "GFX_portrait_elves_generic_26" + "GFX_portrait_elves_generic_52" + "GFX_portrait_elves_generic_90" + } + } + } +} +NDH = { + operative = { + male = { + "GFX_portrait_elves_generic_12" + "GFX_portrait_elves_generic_14" + "GFX_portrait_elves_generic_19" + "GFX_portrait_elves_generic_22" + "GFX_portrait_elves_generic_28" + "GFX_portrait_elves_generic_35" + "GFX_portrait_elves_generic_46" + "GFX_portrait_elves_generic_66" + "GFX_portrait_elves_generic_70" + "GFX_portrait_elves_generic_74" + "GFX_portrait_elves_generic_75" + "GFX_portrait_elves_generic_76" + "GFX_portrait_elves_generic_77" + "GFX_portrait_elves_generic_78" + "GFX_portrait_elves_generic_80" + "GFX_portrait_elves_generic_82" + "GFX_portrait_elves_generic_89" + "GFX_portrait_elves_generic_91" + } + female = { + "GFX_portrait_elves_generic_26" + "GFX_portrait_elves_generic_6" + "GFX_portrait_elves_generic_69" + "GFX_portrait_elves_generic_87" + "GFX_portrait_elves_generic_90" + "GFX_portrait_elves_generic_92" + "GFX_portrait_elves_generic_93" + "GFX_portrait_elves_generic_94" + "GFX_portrait_elves_generic_103" + } + } + + army = { + male = { + + "GFX_portrait_elves_generic_12" + "GFX_portrait_elves_generic_13" + "GFX_portrait_elves_generic_27" + "GFX_portrait_elves_generic_51" + "GFX_portrait_elves_generic_56" + "GFX_portrait_elves_generic_57" + "GFX_portrait_elves_generic_58" + "GFX_portrait_elves_generic_59" + "GFX_portrait_elves_generic_61" + "GFX_portrait_elves_generic_62" + "GFX_portrait_elves_generic_63" + "GFX_portrait_elves_generic_64" + "GFX_portrait_elves_generic_65" + "GFX_portrait_elves_generic_99" + "GFX_portrait_elves_generic_100" + "GFX_portrait_elves_generic_101" + "GFX_portrait_elves_generic_102" + } + female = { + + "GFX_portrait_elves_generic_49" + "GFX_portrait_elves_generic_50" + "GFX_portrait_elves_generic_52" + "GFX_portrait_elves_generic_87" + "GFX_portrait_elves_generic_93" } } @@ -1068,6 +1278,7 @@ LTH = { "GFX_portrait_elves_generic_92" "GFX_portrait_elves_generic_93" "GFX_portrait_elves_generic_94" + "GFX_portrait_elves_generic_103" } } @@ -1087,6 +1298,10 @@ LTH = { "GFX_portrait_elves_generic_63" "GFX_portrait_elves_generic_64" "GFX_portrait_elves_generic_65" + "GFX_portrait_elves_generic_99" + "GFX_portrait_elves_generic_100" + "GFX_portrait_elves_generic_101" + "GFX_portrait_elves_generic_102" } female = { @@ -1094,6 +1309,7 @@ LTH = { "GFX_portrait_elves_generic_50" "GFX_portrait_elves_generic_52" "GFX_portrait_elves_generic_87" + "GFX_portrait_elves_generic_93" } } @@ -1236,6 +1452,7 @@ MIR = { "GFX_portrait_elves_generic_92" "GFX_portrait_elves_generic_93" "GFX_portrait_elves_generic_94" + "GFX_portrait_elves_generic_103" } } @@ -1255,6 +1472,10 @@ MIR = { "GFX_portrait_elves_generic_63" "GFX_portrait_elves_generic_64" "GFX_portrait_elves_generic_65" + "GFX_portrait_elves_generic_99" + "GFX_portrait_elves_generic_100" + "GFX_portrait_elves_generic_101" + "GFX_portrait_elves_generic_102" } female = { @@ -1262,6 +1483,7 @@ MIR = { "GFX_portrait_elves_generic_50" "GFX_portrait_elves_generic_52" "GFX_portrait_elves_generic_87" + "GFX_portrait_elves_generic_93" } } diff --git a/scenario_tests/effects/tests.txt b/scenario_tests/effects/tests.txt new file mode 100644 index 000000000..e00fd8f8e --- /dev/null +++ b/scenario_tests/effects/tests.txt @@ -0,0 +1,3 @@ + + +# Nothing here yet. We should probably put some tests here. (See vanilla files) \ No newline at end of file diff --git a/scenario_tests/tests/tests.txt b/scenario_tests/tests/tests.txt new file mode 100644 index 000000000..75a9c4027 --- /dev/null +++ b/scenario_tests/tests/tests.txt @@ -0,0 +1,4 @@ + + + +# Nothing here yet. We should probably put some tests here. (See vanilla files) \ No newline at end of file diff --git a/scenario_tests/triggers/tests.txt b/scenario_tests/triggers/tests.txt new file mode 100644 index 000000000..e00fd8f8e --- /dev/null +++ b/scenario_tests/triggers/tests.txt @@ -0,0 +1,3 @@ + + +# Nothing here yet. We should probably put some tests here. (See vanilla files) \ No newline at end of file diff --git a/tools/decisions.bat b/tools/decisions.bat new file mode 100644 index 000000000..74729e0c9 --- /dev/null +++ b/tools/decisions.bat @@ -0,0 +1,2 @@ +python.exe .\make_gfx.py -s decisions -o decisions +pause \ No newline at end of file diff --git a/tools/eventpictures.bat b/tools/eventpictures.bat new file mode 100644 index 000000000..ccc2a8808 --- /dev/null +++ b/tools/eventpictures.bat @@ -0,0 +1,2 @@ +python.exe .\make_gfx.py -s report_eventpictures -o reporteventpictures +pause \ No newline at end of file diff --git a/tools/focus_filters.bat b/tools/focus_filters.bat new file mode 100644 index 000000000..639bc626a --- /dev/null +++ b/tools/focus_filters.bat @@ -0,0 +1,2 @@ +python.exe .\make_gfx.py -s focus_filters -o lotr_focus_filters +pause \ No newline at end of file diff --git a/tools/goals.bat b/tools/goals.bat new file mode 100644 index 000000000..e5ce2c1e2 --- /dev/null +++ b/tools/goals.bat @@ -0,0 +1,2 @@ +python.exe .\make_gfx.py -s goals -o lotr_goals +pause \ No newline at end of file diff --git a/tools/leaders.bat b/tools/leaders.bat new file mode 100644 index 000000000..c1b69b756 --- /dev/null +++ b/tools/leaders.bat @@ -0,0 +1,11 @@ +@echo off +set /p input_string="Enter the folder in gfx/leaders to process: " + +rem Construct the Python command +set "python_command=python.exe .\make_gfx.py -s leaders -o leaders/lotr_leaders_%input_string% %input_string%" + +rem Execute the Python command +%python_command% + +echo Task completed. +pause \ No newline at end of file diff --git a/tools/make_gfx.py b/tools/make_gfx.py new file mode 100644 index 000000000..9cb1400e4 --- /dev/null +++ b/tools/make_gfx.py @@ -0,0 +1,69 @@ +import argparse +import subprocess +import os +import sys +import time + +# Get the available subscripts in the /subscripts folder +def get_available_subscripts(): + script_files = [file[:-3] for file in os.listdir("subscripts") if file.endswith(".py")] + return script_files + +# Run the given subscript +def run_subscript(subscript_name, output_file, args): + loading_chars = ["|", "/", "-", "\\"] + + print("Running the subscript...") + + script_dir = os.path.dirname(os.path.abspath(f"subscripts/{subscript_name}.py")) + + # Temporarily change the working directory to the subscript's directory + original_cwd = os.getcwd() + os.chdir(script_dir) + + subprocess.run(["python", f"{subscript_name}.py", *args], stdout=output_file, text=True) + + # Change back to the original working directory + os.chdir(original_cwd) + +# main program +def main(): + parser = argparse.ArgumentParser(description="LOTR Mod GFX-Maker script.") + parser.add_argument("-s", "--subscript", nargs="?", help="Name of the subscript to run (without .py extension)") + parser.add_argument("-o", "--outputfile", nargs="?", help="Output file to save the output of the subscript") + parser.add_argument("args", nargs="*", help="Additional arguments to pass to the subscript") + + args = parser.parse_args() + + available_subscripts = get_available_subscripts() + + used_args = True + if args.subscript is None: + used_args = False + print("Welcome to the LOTR Mod GFX-Maker script!") + print("Available subscripts:", ", ".join(available_subscripts)) + args.subscript = input("Please enter the subscript you want to run: ") + + if args.subscript not in available_subscripts: + used_args = False + print(f"Error: '{args.subscript}' is not a valid subscript.") + return + + if args.outputfile is None: + args.outputfile = input("Enter the name of the output .gfx file you want to write to (inside of /interface): ") + + # Ensure that the output file ends with ".gfx" + if not args.outputfile.endswith(".gfx"): + args.outputfile += ".gfx" + output_path = f"../interface/auto_generated/{args.outputfile}" + + with open(output_path, "w") as output_file: + run_subscript(args.subscript, output_file, args.args) + + print(f"Output written to {output_path}") + + if(used_args is False): + print("\nNote: You can provide arguments directly like this: \npython make_gfx.py -s [subscript] -o [outputfile] [other args]") + +if __name__ == "__main__": + main() diff --git a/tools/mios.bat b/tools/mios.bat new file mode 100644 index 000000000..12c87690a --- /dev/null +++ b/tools/mios.bat @@ -0,0 +1,2 @@ +python.exe .\make_gfx.py -s mios -o lotr_mios +pause \ No newline at end of file diff --git a/tools/newseventpictures.bat b/tools/newseventpictures.bat new file mode 100644 index 000000000..2d233f215 --- /dev/null +++ b/tools/newseventpictures.bat @@ -0,0 +1,2 @@ +python.exe .\make_gfx.py -s news_eventpictures -o newseventpictures +pause \ No newline at end of file diff --git a/tools/readme.txt b/tools/readme.txt new file mode 100644 index 000000000..a31d4a951 --- /dev/null +++ b/tools/readme.txt @@ -0,0 +1,51 @@ +Don't know what you're doing here? Read this: https://github.com/Helliaca/HoI4-LotrMod/wiki/Python-GFX-Scripts + + + + +For decisions: + +python.exe .\make_gfx.py -s decisions -o decisions + + + +For focus icons + shine: + +python.exe .\make_gfx.py -s goals -o lotr_goals + + + +For leader portraits: + +python.exe .\make_gfx.py -s leaders -o leaders/lotr_leaders_dwarves 0_generic_Dwarves + + + +For spirits aka ideas + +python.exe .\make_gfx.py -s spirits -o spirits + + + + +For event-pictures: + +python.exe .\make_gfx.py -s report_eventpictures -o reporteventpictures + + + +For traits: + +python.exe .\make_gfx.py -s traits -o lotr_traits + + + +For state modifiers: + +python.exe .\make_gfx.py -s state_modifiers -o lotr_state_modifiers + + + +For mios: + +python.exe .\make_gfx.py -s mios -o lotr_mios \ No newline at end of file diff --git a/tools/spirits.bat b/tools/spirits.bat new file mode 100644 index 000000000..4cece2fcc --- /dev/null +++ b/tools/spirits.bat @@ -0,0 +1,2 @@ +python.exe .\make_gfx.py -s spirits -o spirits +pause \ No newline at end of file diff --git a/tools/statemodifiers.bat b/tools/statemodifiers.bat new file mode 100644 index 000000000..4bfd48aa9 --- /dev/null +++ b/tools/statemodifiers.bat @@ -0,0 +1,2 @@ +python.exe .\make_gfx.py -s state_modifiers -o lotr_state_modifiers +pause \ No newline at end of file diff --git a/tools/subscripts/decisions.py b/tools/subscripts/decisions.py new file mode 100644 index 000000000..d352c4fbf --- /dev/null +++ b/tools/subscripts/decisions.py @@ -0,0 +1,37 @@ +import sys +import glob +import os +from wand import image + +def apply_mask(img, mask): + img.alpha_channel = True + + with image.Image(width=img.width, height=img.height, background=image.Color("transparent")) as alpha_image: + #alpha_image.composite_channel("alpha", mask, "copy_alpha") + img.composite_channel("alpha", mask, "dst_in") + +def convert_image(img_file, out_path): + mask = image.Image(filename='res/decisions_mask.dds') + img = image.Image(filename=img_file) + + # Apply alpha mask + apply_mask(img, mask) + + with img as op: + op.compression = 'dxt5' + op.save(filename=out_path) + + +print("spriteTypes = {") +print("\t# This file was auto-generated by the GFX-Maker") + +for file in glob.glob("../../gfx/interface/decisions/unmasked/*.dds"): + filename = os.path.basename(file) + newfile = "../../gfx/interface/decisions/" + filename + convert_image(file, newfile) + + gfx_id = str.lower(filename[0:len(filename)-4]) + print("\tspriteType = { name = \"GFX_"+gfx_id+"\" texturefile = \"gfx/interface/decisions/"+filename+"\" }") + +print("}") +exit(0) \ No newline at end of file diff --git a/tools/subscripts/focus_filters.py b/tools/subscripts/focus_filters.py new file mode 100644 index 000000000..665fdb953 --- /dev/null +++ b/tools/subscripts/focus_filters.py @@ -0,0 +1,31 @@ +import sys +import glob +import os + + + + +str = """ spriteType = { + name = "GFX_FILE_ID" + texturefile = "FILE_PATH" + } +""" + + + + +print("spriteTypes = {") +print("\t# This file was auto-generated by GFX-Maker.py") + + +for root, dirs, files in os.walk("../../gfx/interface/focus_filters"): + for file in files: + if file.endswith(".dds"): + file_id = file[0:len(file)-4] + file_path = os.path.join(root[6:], file).replace('\\', '/') + + print(str.replace("FILE_ID", file_id).replace("FILE_PATH", file_path)) + + +print("}") +exit(0) \ No newline at end of file diff --git a/tools/subscripts/goals.py b/tools/subscripts/goals.py new file mode 100644 index 000000000..863d57ca9 --- /dev/null +++ b/tools/subscripts/goals.py @@ -0,0 +1,61 @@ +import sys +import glob +import os + + + + +str = """ spriteType = { + name = GFX_goal_FILE_ID + texturefile = FILE_PATH + } + spriteType = { + name = GFX_goal_FILE_ID_shine + texturefile = FILE_PATH + effectFile = gfx/FX/buttonstate.lua + animation = { + animationmaskfile = FILE_PATH + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = -90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + animation = { + animationmaskfile = FILE_PATH + animationtexturefile = gfx/interface/goals/shine_overlay.dds + animationrotation = 90.0 + animationlooping = no + animationtime = 0.75 + animationdelay = 0 + animationblendmode = "add" + animationtype = "scrolling" + animationrotationoffset = { x = 0.0 y = 0.0 } + animationtexturescale = { x = 1.0 y = 1.0 } + } + legacy_lazy_load = no + } +""" + + + + +print("spriteTypes = {") +print("\t# This file was auto-generated by the GFX-Maker.py") + + +for root, dirs, files in os.walk("../../gfx/interface/goals"): + for file in files: + if file.endswith(".dds"): + file_id = file[0:len(file)-4] + file_path = os.path.join(root[6:], file).replace('\\', '/') + + print(str.replace("FILE_ID", file_id).replace("FILE_PATH", file_path)) + + +print("}") +exit(0) \ No newline at end of file diff --git a/tools/subscripts/leaders.py b/tools/subscripts/leaders.py new file mode 100644 index 000000000..58432988a --- /dev/null +++ b/tools/subscripts/leaders.py @@ -0,0 +1,51 @@ +import sys +import glob +import os +from wand import image + +def apply_mask(img, mask): + img.alpha_channel = True + + with image.Image(width=img.width, height=img.height, background=image.Color("transparent")) as alpha_image: + #alpha_image.composite_channel("alpha", mask, "copy_alpha") + img.composite_channel("alpha", mask, "copy_alpha") + +def convert_image(img_file, out_path): + frame = image.Image(filename='res/leader_frame.png') + mask = image.Image(filename='res/leader_mask.png') + img = image.Image(filename=img_file) + + # resize target image + img.resize(width=mask.width, height=mask.height, filter='lanczos2', blur=1) + + # Apply alpha mask + apply_mask(img, mask) + + # Add it ontop of the frame + frame.composite(img, top=7, left=3) + + with frame as op: + op.compression = 'dxt5' + op.save(filename=out_path) + + +print("spriteTypes = {") +print("\t# This file was auto-generated by the GFX-Maker.py") +if(len(sys.argv) > 1): + old_path = "../../gfx/leaders/"+sys.argv[1] + for file in glob.glob(old_path+"/*.dds"): + filename = os.path.basename(file) + #print("File:" + filename) + newpath = "../../gfx/leaders/"+sys.argv[1]+"/small" + newfile = newpath + "/" + filename + if not os.path.exists(newpath): + os.makedirs(newpath) + convert_image(file, newfile) + + gfx_id = str.lower(filename[0:len(filename)-4]) + print("\tspriteType = { name = \"GFX_"+gfx_id+"\" texturefile = \"gfx/leaders/"+sys.argv[1]+"/"+filename+"\" }") + #print("\tspriteType = { name = \"GFX_"+gfx_id+"_small\" texturefile = \"gfx/leaders/"+sys.argv[1]+"/small/"+filename+"\" }") + print("\tspriteType = { name = \"GFX_idea_"+gfx_id+"\" texturefile = \"gfx/leaders/"+sys.argv[1]+"/small/"+filename+"\" }") + +print("}") +exit(0) \ No newline at end of file diff --git a/tools/subscripts/mios.py b/tools/subscripts/mios.py new file mode 100644 index 000000000..1fbede6f5 --- /dev/null +++ b/tools/subscripts/mios.py @@ -0,0 +1,48 @@ +import sys +import glob +import os + + + + +str = """ spriteType = { + name = "GFX_FILE_ID" + texturefile = "FILE_PATH" + } +""" + + + + + +print("spriteTypes = {") +print("\t# This file was auto-generated by GFX-Maker.py") + + +for root, dirs, files in os.walk("../../gfx/interface/military_industrial_organization/emblems"): + for file in files: + if file.endswith(".dds"): + file_id = file[0:len(file)-4] + file_path = os.path.join(root[6:], file).replace('\\', '/') + + print(str.replace("FILE_ID", file_id).replace("FILE_PATH", file_path)) + +for root, dirs, files in os.walk("../../gfx/interface/military_industrial_organization/policies"): + for file in files: + if file.endswith(".dds"): + file_id = file[0:len(file)-4] + file_path = os.path.join(root[6:], file).replace('\\', '/') + + print(str.replace("FILE_ID", file_id).replace("FILE_PATH", file_path)) + +for root, dirs, files in os.walk("../../gfx/interface/military_industrial_organization/traits"): + for file in files: + if file.endswith(".dds"): + file_id = file[0:len(file)-4] + file_path = os.path.join(root[6:], file).replace('\\', '/') + + print(str.replace("FILE_ID", file_id).replace("FILE_PATH", file_path)) + + +print("}") +exit(0) \ No newline at end of file diff --git a/tools/subscripts/news_eventpictures.py b/tools/subscripts/news_eventpictures.py new file mode 100644 index 000000000..3753a93a0 --- /dev/null +++ b/tools/subscripts/news_eventpictures.py @@ -0,0 +1,40 @@ +import sys +import glob +import os +from wand import image + +def apply_mask(img, mask): + img.alpha_channel = True + + with image.Image(width=img.width, height=img.height, background=image.Color("transparent")) as alpha_image: + #alpha_image.composite_channel("alpha", mask, "copy_alpha") + img.composite_channel("alpha", mask, "dst_in") + +def convert_image(img_file, out_path): + mask = image.Image(filename='res/newsevents_mask.dds') + img = image.Image(filename=img_file) + + # Apply alpha mask + apply_mask(img, mask) + + saturation_factor = 0.6 + img.modulate(100, saturation_factor * 100, 100) + + with img as op: + op.compression = 'dxt5' + op.save(filename=out_path) + + +print("spriteTypes = {") +print("\t# This file was auto-generated by the GFX-Maker.py") + +for file in glob.glob("../../gfx/event_pictures/news_events/unmasked/*.dds"): + filename = os.path.basename(file) + newfile = "../../gfx/event_pictures/news_events/" + filename + convert_image(file, newfile) + + gfx_id = str.lower(filename[0:len(filename)-4]) + print("\tspriteType = { name = \"GFX_"+gfx_id+"\" texturefile = \"gfx/event_pictures/news_events/"+filename+"\" }") + +print("}") +exit(0) \ No newline at end of file diff --git a/tools/subscripts/report_eventpictures.py b/tools/subscripts/report_eventpictures.py new file mode 100644 index 000000000..c6785b272 --- /dev/null +++ b/tools/subscripts/report_eventpictures.py @@ -0,0 +1,62 @@ +import sys +import glob +import os +from wand import image +from wand.color import Color + +def apply_mask(img, mask): + img.alpha_channel = True + + with image.Image(width=img.width, height=img.height, background=image.Color("transparent")) as alpha_image: + #alpha_image.composite_channel("alpha", mask, "copy_alpha") + img.composite_channel("alpha", mask, "dst_in") + +def apply_dropshadow(img): + # Hard-coded parameters for drop-shadow effect + shadow_color = Color('#000000') # Black color + shadow_opacity = Color('#808080') # Opacity (0 to 1) for each color + shadow_offset = (3, 3) # Offset in (x, y) coordinates + shadow_blur_radius = 2 # Radius of Gaussian blur + + # Create a new image with transparent background for shadow + with image.Image(width=img.width, height=img.height, background=Color('transparent')) as shadow: + # Draw the original image onto the shadow canvas with an offset + shadow.composite(img)#, left=shadow_offset[0], top=shadow_offset[1]) + + # Apply Gaussian blur to the shadow + shadow.gaussian_blur(shadow_blur_radius, shadow_blur_radius) + + # Set shadow color and opacity + shadow.colorize(shadow_color, shadow_opacity) + + # Composite the shadow and original image + img.composite(shadow, left=shadow_offset[0], top=shadow_offset[1], operator='lighten') + +def convert_image(img_file, out_path): + mask = image.Image(filename='res/reportevents_mask.dds') + img = image.Image(filename=img_file) + + # Apply alpha mask + apply_mask(img, mask) + + # Apply drop shadow effect + apply_dropshadow(img) + + with img as op: + op.compression = 'dxt5' + op.save(filename=out_path) + + +print("spriteTypes = {") +print("\t# This file was auto-generated by the GFX-Maker.py") + +for file in glob.glob("../../gfx/event_pictures/report_events/unmasked/*.dds"): + filename = os.path.basename(file) + newfile = "../../gfx/event_pictures/report_events/" + filename + convert_image(file, newfile) + + gfx_id = str.lower(filename[0:len(filename)-4]) + print("\tspriteType = { name = \"GFX_"+gfx_id+"\" texturefile = \"gfx/event_pictures/report_events/"+filename+"\" }") + +print("}") +exit(0) \ No newline at end of file diff --git a/tools/subscripts/res/decisions_mask.dds b/tools/subscripts/res/decisions_mask.dds new file mode 100644 index 000000000..c7e89ced4 Binary files /dev/null and b/tools/subscripts/res/decisions_mask.dds differ diff --git a/gfx/leaders/_small_portrait_gen/empty_frame.png b/tools/subscripts/res/leader_frame.png similarity index 100% rename from gfx/leaders/_small_portrait_gen/empty_frame.png rename to tools/subscripts/res/leader_frame.png diff --git a/gfx/leaders/_small_portrait_gen/mask.png b/tools/subscripts/res/leader_mask.png similarity index 100% rename from gfx/leaders/_small_portrait_gen/mask.png rename to tools/subscripts/res/leader_mask.png diff --git a/tools/subscripts/res/newsevents_mask.dds b/tools/subscripts/res/newsevents_mask.dds new file mode 100644 index 000000000..0180f60d5 Binary files /dev/null and b/tools/subscripts/res/newsevents_mask.dds differ diff --git a/tools/subscripts/res/reportevents_mask.dds b/tools/subscripts/res/reportevents_mask.dds new file mode 100644 index 000000000..7ccbd4036 Binary files /dev/null and b/tools/subscripts/res/reportevents_mask.dds differ diff --git a/tools/subscripts/spirits.py b/tools/subscripts/spirits.py new file mode 100644 index 000000000..559e1bfe3 --- /dev/null +++ b/tools/subscripts/spirits.py @@ -0,0 +1,31 @@ +import sys +import glob +import os + + + + +str = """ spriteType = { + name = "GFX_idea_FILE_ID" + texturefile = "FILE_PATH" + } +""" + + + + +print("spriteTypes = {") +print("\t# This file was auto-generated by GFX-Maker.py") + + +for root, dirs, files in os.walk("../../gfx/interface/ideas/national_spirits"): + for file in files: + if file.endswith(".dds"): + file_id = file[0:len(file)-4] + file_path = os.path.join(root[6:], file).replace('\\', '/') + + print(str.replace("FILE_ID", file_id).replace("FILE_PATH", file_path)) + + +print("}") +exit(0) \ No newline at end of file diff --git a/tools/subscripts/state_modifiers.py b/tools/subscripts/state_modifiers.py new file mode 100644 index 000000000..c45169535 --- /dev/null +++ b/tools/subscripts/state_modifiers.py @@ -0,0 +1,31 @@ +import sys +import glob +import os + + + + +str = """ spriteType = { + name = "GFX_FILE_ID" + texturefile = "FILE_PATH" + } +""" + + + + +print("spriteTypes = {") +print("\t# This file was auto-generated by GFX-Maker.py") + + +for root, dirs, files in os.walk("../../gfx/interface/state_modifiers"): + for file in files: + if file.endswith(".dds"): + file_id = file[0:len(file)-4] + file_path = os.path.join(root[6:], file).replace('\\', '/') + + print(str.replace("FILE_ID", file_id).replace("FILE_PATH", file_path)) + + +print("}") +exit(0) \ No newline at end of file diff --git a/tools/subscripts/traits.py b/tools/subscripts/traits.py new file mode 100644 index 000000000..4cc98483e --- /dev/null +++ b/tools/subscripts/traits.py @@ -0,0 +1,31 @@ +import sys +import glob +import os + + + + +str = """ spriteType = { + name = "GFX_trait_FILE_ID" + texturefile = "FILE_PATH" + } +""" + + + + +print("spriteTypes = {") +print("\t# This file was auto-generated by GFX-Maker.py") + + +for root, dirs, files in os.walk("../../gfx/interface/traits"): + for file in files: + if file.endswith(".dds"): + file_id = file[0:len(file)-4] + file_path = os.path.join(root[6:], file).replace('\\', '/') + + print(str.replace("FILE_ID", file_id).replace("FILE_PATH", file_path)) + + +print("}") +exit(0) \ No newline at end of file diff --git a/tools/traits.bat b/tools/traits.bat new file mode 100644 index 000000000..d092b8e33 --- /dev/null +++ b/tools/traits.bat @@ -0,0 +1,2 @@ +python.exe .\make_gfx.py -s traits -o lotr_traits +pause \ No newline at end of file